summary refs log tree commit diff
diff options
context:
space:
mode:
-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/default.nix8
-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-24/default.nix4
-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/graphics/rapcad/default.nix26
-rw-r--r--pkgs/applications/misc/mathblog/default.nix21
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix13
-rw-r--r--pkgs/applications/networking/browsers/chromium/enable_seccomp22.patch20
-rw-r--r--pkgs/applications/networking/browsers/chromium/sources.nix18
-rwxr-xr-xpkgs/applications/networking/browsers/chromium/update.sh4
-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/office/calligra/default.nix8
-rw-r--r--pkgs/applications/office/openoffice/generate-libreoffice-srcs.sh22
-rw-r--r--pkgs/applications/office/openoffice/libreoffice-srcs.nix588
-rw-r--r--pkgs/applications/office/openoffice/libreoffice.nix152
-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/build-support/fetchhg/default.nix2
-rw-r--r--pkgs/build-support/vm/deb/deb-closure.pl13
-rw-r--r--pkgs/build-support/vm/default.nix194
-rw-r--r--pkgs/data/misc/shared-desktop-ontologies/default.nix4
-rw-r--r--pkgs/desktops/kde-4.8/support/akonadi/default.nix4
-rw-r--r--pkgs/development/compilers/dev86/default.nix6
-rw-r--r--pkgs/development/compilers/go/default.nix14
-rw-r--r--pkgs/development/compilers/openjdk/default.nix17
-rw-r--r--pkgs/development/compilers/openjdk/make-bootstrap.nix2
-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/dxflib/default.nix17
-rw-r--r--pkgs/development/libraries/gnutls/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/CouchDB/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/Graphalyze/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/HsOpenSSL/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/MonadRandom/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/blaze-textual/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/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/derive/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/double-conversion/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/fclabels/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/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/largeword/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/postgresql-simple/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/reactive-banana-wx/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/reactive-banana/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/resource-pool/default.nix4
-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/statistics/default.nix4
-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/test-framework/0.5.nix22
-rw-r--r--pkgs/development/libraries/haskell/test-framework/default.nix (renamed from pkgs/development/libraries/haskell/test-framework/0.6.nix)4
-rw-r--r--pkgs/development/libraries/haskell/texmath/0.4.nix17
-rw-r--r--pkgs/development/libraries/haskell/unix-compat/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/libical/default.nix15
-rw-r--r--pkgs/development/libraries/libical/respect-env-tzdir.patch32
-rw-r--r--pkgs/development/libraries/libjpeg/default.nix6
-rw-r--r--pkgs/development/libraries/libktorrent/default.nix6
-rw-r--r--pkgs/development/libraries/libspectre/0001-Fix-a-crash-with-documents-containing-an-invalid-Pag.patch29
-rw-r--r--pkgs/development/libraries/libspectre/0002-Allocate-at-least-1-page-in-doc-pages.patch38
-rw-r--r--pkgs/development/libraries/libspectre/default.nix2
-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/qoauth/default.nix25
-rw-r--r--pkgs/development/libraries/soprano/default.nix4
-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/haskell/SourceGraph/default.nix4
-rw-r--r--pkgs/development/tools/node/npm2nix/default.nix26
-rw-r--r--pkgs/development/tools/parsing/Ebnf2ps/default.nix4
-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/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/os-specific/linux/xf86-input-wacom/default.nix8
-rw-r--r--pkgs/servers/mail/postfix/default.nix63
-rw-r--r--pkgs/servers/sql/postgresql/jdbc/default.nix16
-rw-r--r--pkgs/tools/misc/gnokii/src-for-default.nix2
-rw-r--r--pkgs/tools/networking/network-manager/pptp-purity.patch26
-rw-r--r--pkgs/tools/networking/network-manager/pptp.nix13
-rw-r--r--pkgs/tools/networking/networkmanagement/default.nix4
-rw-r--r--pkgs/tools/networking/pptp/default.nix3
-rw-r--r--pkgs/tools/networking/surfraw/default.nix22
-rw-r--r--pkgs/top-level/all-packages.nix58
-rw-r--r--pkgs/top-level/haskell-packages.nix43
-rw-r--r--pkgs/top-level/node-packages.nix338
-rw-r--r--pkgs/top-level/python-packages.nix15
128 files changed, 2046 insertions, 1093 deletions
diff --git a/pkgs/applications/audio/amarok/default.nix b/pkgs/applications/audio/amarok/default.nix
index ad553c9db34..a60ecdcb866 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 00000000000..57a5ec46b84
--- /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/default.nix b/pkgs/applications/audio/espeak/default.nix
index e86177bb53c..e1cf5fee1cc 100644
--- a/pkgs/applications/audio/espeak/default.nix
+++ b/pkgs/applications/audio/espeak/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, unzip, portaudio }:
 
 stdenv.mkDerivation {
-  name = "espeak-1.44.03";
+  name = "espeak-1.46.02";
   src = fetchurl {
-    url = mirror://sourceforge/espeak/espeak-1.44.03-source.zip;
-    sha256 = "0lnv89xmsq3bax0qpabd0z2adaag7mdl973bkw3gdszidafmfyx4";
+    url = mirror://sourceforge/espeak/espeak-1.46.02-source.zip;
+    sha256 = "1fjlv5fm0gzvr5wzy1dp4nspw04k0bqv3jymha2p2qfjbfifp2zg";
   };
 
   buildInputs = [ unzip portaudio ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
 
   configurePhase = ''
     cd src
-    makeFlags="PREFIX=$out"
+    makeFlags="PREFIX=$out DATADIR=$out/share/espeak-data"
   '';
 
   meta = {
diff --git a/pkgs/applications/audio/espeak/edit.nix b/pkgs/applications/audio/espeak/edit.nix
new file mode 100644
index 00000000000..eb34335721f
--- /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 1ef081c84d0..c74cd2b0d7d 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 00000000000..114726db19d
--- /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 b9d30409711..3af9bc7690f 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 00000000000..f2f196acdd8
--- /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-24/default.nix b/pkgs/applications/editors/emacs-24/default.nix
index 388972abd01..82238a55d1c 100644
--- a/pkgs/applications/editors/emacs-24/default.nix
+++ b/pkgs/applications/editors/emacs-24/default.nix
@@ -9,13 +9,13 @@ assert (libXft != null) -> libpng != null;	# probably a bug
 assert stdenv.isDarwin -> libXaw != null;	# fails to link otherwise
 
 stdenv.mkDerivation rec {
-  name = "emacs-24.1";
+  name = "emacs-24.2";
 
   builder = ./builder.sh;
 
   src = fetchurl {
     url = "mirror://gnu/emacs/${name}.tar.bz2";
-    sha256 = "eeea272732146e2be9aee2f8d71d6cf07b8654c0282da62a26b921d433f02b7c";
+    sha256 = "13wbjfjmz13qpjwssy44nw2230lllmkkgjsy0rqfm6am2cf87n3k";
   };
 
   buildInputs =
diff --git a/pkgs/applications/editors/emacs-modes/sunrise-commander/default.nix b/pkgs/applications/editors/emacs-modes/sunrise-commander/default.nix
index c15ff6afcb2..a253e25cad4 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 92b4da5280a..249ede5ebd0 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 9b39d8e8f1f..a811d759f7e 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/graphics/rapcad/default.nix b/pkgs/applications/graphics/rapcad/default.nix
new file mode 100644
index 00000000000..e83824bd685
--- /dev/null
+++ b/pkgs/applications/graphics/rapcad/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchgit, qt4, cgal, boost, gmp, mpfr, flex, bison, dxflib}: 
+
+stdenv.mkDerivation rec {
+  version = "0.8.0";
+  name = "rapcad-${version}";
+
+  src = fetchgit {
+    url = "git://git.rapcad.org/rapcad";
+    rev = "refs/tags/v${version}";
+    sha256 = "37c7107dc4fcf8942a4ad35377c4e42e6aedfa35296e5fcf8d84882ae35087c7";
+  };
+  
+  buildInputs = [qt4 cgal boost gmp mpfr flex bison dxflib];
+
+  configurePhase = ''
+    qmake;
+    sed -e "s@/usr/@$out/@g" -i $(find . -name Makefile)
+  '';
+
+  meta = {
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [raskin];
+    platforms = stdenv.lib.platforms.linux;
+    description = ''Constructive solid geometry package'';
+  };
+}
diff --git a/pkgs/applications/misc/mathblog/default.nix b/pkgs/applications/misc/mathblog/default.nix
deleted file mode 100644
index e5ed53a56a0..00000000000
--- a/pkgs/applications/misc/mathblog/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ cabal, ConfigFile, filepath, HStringTemplate, HUnit, pandoc
-, pandocTypes, SHA, testFramework, testFrameworkHunit, time
-}:
-
-cabal.mkDerivation (self: {
-  pname = "mathblog";
-  version = "0.5";
-  sha256 = "01iyzrwscqirhcr4622d0n16mr4p54qbvg5m2a0ns36j59xfd79g";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [
-    ConfigFile filepath HStringTemplate HUnit pandoc pandocTypes SHA
-    testFramework testFrameworkHunit time
-  ];
-  meta = {
-    description = "A program for creating and managing a static weblog with LaTeX math and function graphs";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 84cdf556d02..e9e9961d1cd 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -1,8 +1,5 @@
 { stdenv, getConfig, fetchurl, makeWrapper, which
 
-# this is needed in order to build the versions older than 21.x
-, subversion
-
 # default dependencies
 , bzip2, flac, speex
 , libevent, expat, libjpeg
@@ -73,14 +70,16 @@ let
     use_system_v8 = false;
   };
 
-  needsSubversion = stdenv.lib.versionOlder sourceInfo.version "21.0.0.0";
-
   defaultDependencies = [
     bzip2 flac speex
     libevent expat libjpeg
     libpng libxml2 libxslt
     xdg_utils yasm zlib
-  ] ++ stdenv.lib.optional needsSubversion subversion;
+  ];
+
+  seccompPatch = let
+    pre22 = stdenv.lib.versionOlder sourceInfo.version "22.0.0.0";
+  in if pre22 then ./enable_seccomp.patch else ./enable_seccomp22.patch;
 
 in stdenv.mkDerivation rec {
   name = "${packageName}-${version}";
@@ -113,7 +112,7 @@ in stdenv.mkDerivation rec {
 
   prePatch = "patchShebangs .";
 
-  patches = stdenv.lib.optional (!config.selinux) ./enable_seccomp.patch
+  patches = stdenv.lib.optional (!config.selinux) seccompPatch
          ++ stdenv.lib.optional config.cups ./cups_allow_deprecated.patch
          ++ stdenv.lib.optional config.pulseaudio ./pulseaudio_array_bounds.patch;
 
diff --git a/pkgs/applications/networking/browsers/chromium/enable_seccomp22.patch b/pkgs/applications/networking/browsers/chromium/enable_seccomp22.patch
new file mode 100644
index 00000000000..f947d796f18
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/enable_seccomp22.patch
@@ -0,0 +1,20 @@
+diff --git a/content/common/sandbox_linux.cc b/content/common/sandbox_linux.cc
+index d4618e5..108f846 100644
+--- a/content/common/sandbox_linux.cc
++++ b/content/common/sandbox_linux.cc
+@@ -38,15 +38,9 @@ void LogSandboxStarted(const std::string& sandbox_name) {
+ // Implement the command line enabling logic for seccomp-legacy.
+ bool IsSeccompLegacyDesired() {
+ #if defined(SECCOMP_SANDBOX)
+-#if defined(NDEBUG)
+-  // Off by default; allow turning on with a switch.
+-  return CommandLine::ForCurrentProcess()->HasSwitch(
+-      switches::kEnableSeccompSandbox);
+-#else
+   // On by default; allow turning off with a switch.
+   return !CommandLine::ForCurrentProcess()->HasSwitch(
+       switches::kDisableSeccompSandbox);
+-#endif  // NDEBUG
+ #endif  // SECCOMP_SANDBOX
+   return false;
+ }
diff --git a/pkgs/applications/networking/browsers/chromium/sources.nix b/pkgs/applications/networking/browsers/chromium/sources.nix
index a250cda7610..8ae373438f5 100644
--- a/pkgs/applications/networking/browsers/chromium/sources.nix
+++ b/pkgs/applications/networking/browsers/chromium/sources.nix
@@ -1,18 +1,18 @@
 # This file is autogenerated from update.sh in the same directory.
 {
   dev = {
-    version = "22.0.1229.8";
-    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-22.0.1229.8.tar.bz2";
-    sha256 = "0gaa4mqvd0v4y587y6mri2f3b0rc8npmcbs9bfs4wwb8n1cp8kw0";
+    version = "23.0.1243.2";
+    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-23.0.1243.2.tar.bz2";
+    sha256 = "1idsc1k0c392mvh2rhfv0sr50rmzdab18ilh9p90mab5a6fk32rh";
   };
   beta = {
-    version = "21.0.1180.79";
-    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-21.0.1180.79.tar.bz2";
-    sha256 = "1jscpibv02pyqpcj6djcx0d1qwq8hcxampfqbsz8dicgjprp22c8";
+    version = "22.0.1229.14";
+    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-22.0.1229.14.tar.bz2";
+    sha256 = "11z5wc1m5443bsassq3np79yqr2bwr06ph672by3saikl2xkadn5";
   };
   stable = {
-    version = "21.0.1180.79";
-    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-21.0.1180.79.tar.bz2";
-    sha256 = "1jscpibv02pyqpcj6djcx0d1qwq8hcxampfqbsz8dicgjprp22c8";
+    version = "21.0.1180.81";
+    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-21.0.1180.81.tar.bz2";
+    sha256 = "1b5svzg7xxx46bz9s5ayai2ig9b7s0x4s1yl7r42p9g27qwf0dpl";
   };
 }
diff --git a/pkgs/applications/networking/browsers/chromium/update.sh b/pkgs/applications/networking/browsers/chromium/update.sh
index 4721ded385a..c978ee4adf3 100755
--- a/pkgs/applications/networking/browsers/chromium/update.sh
+++ b/pkgs/applications/networking/browsers/chromium/update.sh
@@ -83,9 +83,9 @@ get_channel_exprs()
         echo -n "Checking if sha256 of version $version is cached..." >&2;
         if sha256="$(sha_lookup "$version")";
         then
-            echo "yes: $sha256" >&2;
+            echo " yes: $sha256" >&2;
         else
-            echo "no." >&2;
+            echo " no." >&2;
             sha256="$(get_sha256 "$channel" "$version" "$url")";
         fi;
 
diff --git a/pkgs/applications/networking/browsers/rekonq/default.nix b/pkgs/applications/networking/browsers/rekonq/default.nix
index 791b73c9c78..4a46de14f9b 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 938a26fd785..c4d2f4b3782 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 5f15cbc495f..b408f20b711 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 2998b392679..00000000000
--- 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/office/calligra/default.nix b/pkgs/applications/office/calligra/default.nix
index b64338adaf1..152246ee58f 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 1d751ec7049..fb8cc816114 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 6b98e32e46f..8cbaa37553e 100644
--- a/pkgs/applications/office/openoffice/libreoffice-srcs.nix
+++ b/pkgs/applications/office/openoffice/libreoffice-srcs.nix
@@ -1,370 +1,370 @@
-{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";
+}
 ]
diff --git a/pkgs/applications/office/openoffice/libreoffice.nix b/pkgs/applications/office/openoffice/libreoffice.nix
index da786c23c33..6df0c3a7d25 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 = "0";
+  tweak = "4";
+  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 = "e1603dbaa90ef027ea73e81a9ffa1ec86d311a40fd7aee6b08edd3fa86a19edb";
+    };
+
+    help = fetchSrc {
+      name = "help";
+      sha256 = "30b79e3b4cb5b2167d1f3c17b8781e8940665f861197ee9021a6ac8c64d508f8";
+    };
+
+    core = fetchSrc {
+      name = "core";
+      sha256 = "b301eac605830ed6423cbab49d99ff5ca3999ed8ad53f51766c715d49d09cd4d";
+    };
   };
+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,42 @@ 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;
+
+  preConfigure = ''
     # Needed to find genccode
     PATH=$PATH:${icu}/sbin
 
     configureFlagsArray=("--with-lang=${langsSpaces}")
   '';
 
+  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 +116,30 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [
-    "--enable-verbose"
+    #"--enable-verbose"
+    "--with-max-jobs=1" "--with-num-cpus=1"
 
     # 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 +151,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 9b27a3e2379..44ffdf57db5 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 ca272504517..9e8024d7b19 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 2fe4b4d0bdc..0bc7476dc82 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 d8620eb33cd..b518e9c7456 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/build-support/fetchhg/default.nix b/pkgs/build-support/fetchhg/default.nix
index bc27516f46d..537867f215b 100644
--- a/pkgs/build-support/fetchhg/default.nix
+++ b/pkgs/build-support/fetchhg/default.nix
@@ -4,7 +4,7 @@
 stdenv.mkDerivation {
   name = "hg-archive" + (if (name != null) then "-${name}" else "");
   builder = ./builder.sh;
-  buildInputs = [mercurial nix];
+  buildInputs = [mercurial];
 
   # Nix <= 0.7 compatibility.
   id = md5;
diff --git a/pkgs/build-support/vm/deb/deb-closure.pl b/pkgs/build-support/vm/deb/deb-closure.pl
index 5e4ea54c43f..1d41f89218b 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 777cc72aa0b..8781fbf2d10 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/data/misc/shared-desktop-ontologies/default.nix b/pkgs/data/misc/shared-desktop-ontologies/default.nix
index 39fcc6d1a68..23a800f6ae0 100644
--- a/pkgs/data/misc/shared-desktop-ontologies/default.nix
+++ b/pkgs/data/misc/shared-desktop-ontologies/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "shared-desktop-ontologies-0.8.1";
+  name = "shared-desktop-ontologies-0.10.0";
   
   src = fetchurl {
     url = "mirror://sourceforge/oscaf/${name}.tar.bz2";
-    sha256 = "0w6rhhfjl5r6gv2jw3nc1sj5l4fxz4s1wv0iclcrak3wa5vyy6h3";
+    sha256 = "00y55bjmxrwiiw8q0n0jcv95l945hp7nglbwj408sk5m2vq026di";
   };
   
   buildInputs = [ cmake ];
diff --git a/pkgs/desktops/kde-4.8/support/akonadi/default.nix b/pkgs/desktops/kde-4.8/support/akonadi/default.nix
index db0608ead3f..b939eb19b5e 100644
--- a/pkgs/desktops/kde-4.8/support/akonadi/default.nix
+++ b/pkgs/desktops/kde-4.8/support/akonadi/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cmake, qt4, shared_mime_info, libxslt, boost, automoc4, soprano }:
 
 stdenv.mkDerivation rec {
-  name = "akonadi-1.7.0";
+  name = "akonadi-1.7.2";
   
   src = fetchurl {
     url = "mirror://kde/stable/akonadi/src/${name}.tar.bz2";
-    sha256 = "105mjr6n1g6kl0djp2l8jr8b7j4s9gy2ls43g1wf3py1hf6j5fdz";
+    sha256 = "07rbhc8aa3d896j2r64ljv3amd6s4xhlbgq7kx99m1f68yl1fwjb";
   };
 
   buildInputs = [ qt4 soprano libxslt boost ];
diff --git a/pkgs/development/compilers/dev86/default.nix b/pkgs/development/compilers/dev86/default.nix
index 0dfb0be96f9..539588ac3ad 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/go/default.nix b/pkgs/development/compilers/go/default.nix
index 459ce6310bf..1d9765539bf 100644
--- a/pkgs/development/compilers/go/default.nix
+++ b/pkgs/development/compilers/go/default.nix
@@ -3,12 +3,12 @@
 let
   loader386 = "${glibc}/lib/ld-linux.so.2";
   loaderAmd64 = "${glibc}/lib/ld-linux-x86-64.so.2";
+  loaderArm = "${glibc}/lib/ld-linux.so.3";
 in
 
 stdenv.mkDerivation {
   name = "go-1.0.2";
 
-  # No tarball yet.
   src = fetchurl {
     url = http://go.googlecode.com/files/go1.0.2.src.tar.gz;
     sha256 = "1a4mpkb3bd9dwp0r3fgrfcyk5lgw0f0cfrbskg2lrhc7a12zpz3h";
@@ -24,10 +24,17 @@ stdenv.mkDerivation {
   '';
 
   prePatch = ''
+    cd ..
+    if [ ! -d go ]; then
+      mv * go
+    fi
+    cd go
+
     patchShebangs ./ # replace /bin/bash
     # !!! substituteInPlace does not seems to be effective.
     sed -i 's,/lib/ld-linux.so.2,${loader386},' src/cmd/8l/asm.c
     sed -i 's,/lib64/ld-linux-x86-64.so.2,${loaderAmd64},' src/cmd/6l/asm.c
+    sed -i 's,/lib64/ld-linux-x86-64.so.3,${loaderArm},' src/cmd/5l/asm.c
     sed -i 's,/usr/share/zoneinfo/,${glibc}/share/zoneinfo/,' src/pkg/time/zoneinfo_unix.go
 
     #sed -i -e 's,/bin/cat,${coreutils}/bin/cat,' \
@@ -49,7 +56,9 @@ stdenv.mkDerivation {
   GOOS = "linux";
   GOARCH = if (stdenv.system == "i686-linux") then "386"
           else if (stdenv.system == "x86_64-linux") then "amd64"
+          else if (stdenv.system == "armv5tel-linux") then "arm"
           else throw "Unsupported system";
+  GOARM = stdenv.lib.optionalString (stdenv.system == "armv5tel-linux") "5";
 
   installPhase = ''
     mkdir -p "$out/bin"
@@ -64,7 +73,8 @@ stdenv.mkDerivation {
     # libraries.
     for a in go gofmt godoc; do
 	    wrapProgram "$out/bin/$a" \
-	      --set "GOROOT" "$out/share/go/"
+	      --set "GOROOT" $out/share/go \
+        ${if (stdenv.system == "armv5tel-linux") then "--set GOARM $GOARM" else ""}
     done
 
     # Copy the emacs configuration for Go files.
diff --git a/pkgs/development/compilers/openjdk/default.nix b/pkgs/development/compilers/openjdk/default.nix
index 5f5148911ec..f243baab591 100644
--- a/pkgs/development/compilers/openjdk/default.nix
+++ b/pkgs/development/compilers/openjdk/default.nix
@@ -21,6 +21,21 @@
 , jreOnly ? false
 }:
 
+let
+
+  /**
+   * The JRE libraries are in directories that depend on the CPU.
+   */
+  architecture =
+    if stdenv.system == "i686-linux" then
+      "i386"
+    else if stdenv.system == "x86_64-linux" then
+      "amd64"
+    else
+      throw "openjdk requires i686-linux or x86_64 linux";
+
+in
+
 stdenv.mkDerivation rec {
   name = "openj${if jreOnly then "re" else "dk"}-7b127";
 
@@ -137,5 +152,7 @@ stdenv.mkDerivation rec {
 
     platforms = stdenv.lib.platforms.linux;
   };
+
+  passthru = { inherit architecture; };
 }
 
diff --git a/pkgs/development/compilers/openjdk/make-bootstrap.nix b/pkgs/development/compilers/openjdk/make-bootstrap.nix
index aa5b8ad39f5..090a1479741 100644
--- a/pkgs/development/compilers/openjdk/make-bootstrap.nix
+++ b/pkgs/development/compilers/openjdk/make-bootstrap.nix
@@ -1,6 +1,6 @@
 { runCommand, openjdk, nukeReferences }:
 
-let arch = if openjdk.system == "x86_64-linux" then "amd64" else "i386"; in
+let arch = openjdk.architecture; in
 
 runCommand "${openjdk.name}-bootstrap.tar.xz" {} ''
   mkdir -p openjdk-bootstrap/bin
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 00000000000..0f42e7cd040
--- /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 00000000000..72460184df2
--- /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 00000000000..80e49a8e712
--- /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 00000000000..f5f44a7fa2c
--- /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 00000000000..899411fe02b
--- /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/dxflib/default.nix b/pkgs/development/libraries/dxflib/default.nix
new file mode 100644
index 00000000000..f9c58857731
--- /dev/null
+++ b/pkgs/development/libraries/dxflib/default.nix
@@ -0,0 +1,17 @@
+{stdenv, fetchurl}: 
+
+stdenv.mkDerivation rec {
+  version = "2.5.0.0-1";
+  name = "dxflib-${version}";
+  src = fetchurl {
+    url = "http://www.qcad.org/archives/dxflib/${name}.src.tar.gz";
+    sha256 = "20ad9991eec6b0f7a3cc7c500c044481a32110cdc01b65efa7b20d5ff9caefa9";
+  };
+
+  meta = {
+    maintainers = with stdenv.lib.maintainers; [raskin];
+    platforms = stdenv.lib.platforms.linux;
+    description = ''DXF file format library'';
+  };
+}
+
diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix
index b8f88c6f5b8..93f5dab537e 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/CouchDB/default.nix b/pkgs/development/libraries/haskell/CouchDB/default.nix
index 3642d402615..705a0a5fdea 100644
--- a/pkgs/development/libraries/haskell/CouchDB/default.nix
+++ b/pkgs/development/libraries/haskell/CouchDB/default.nix
@@ -1,10 +1,10 @@
-{ cabal, HTTP, json, mtl, network }:
+{ cabal, HTTP, json, mtl, network, utf8String }:
 
 cabal.mkDerivation (self: {
   pname = "CouchDB";
-  version = "0.10.1";
-  sha256 = "1ny62ab0sjrkh7mpxj0ahqrv7c8dh0n5s1g8xl0mq3yiwlrjdsim";
-  buildDepends = [ HTTP json mtl network ];
+  version = "1.2";
+  sha256 = "0a9g0iblfyqppcy1ni3ac8f3yv5km95bfblhwqlsk6khydi5ka98";
+  buildDepends = [ HTTP json mtl network utf8String ];
   meta = {
     homepage = "http://github.com/arjunguha/haskell-couchdb/";
     description = "CouchDB interface";
diff --git a/pkgs/development/libraries/haskell/Graphalyze/default.nix b/pkgs/development/libraries/haskell/Graphalyze/default.nix
index d0258fd2698..90bcb9f8605 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/HsOpenSSL/default.nix b/pkgs/development/libraries/haskell/HsOpenSSL/default.nix
index 3a4c94e33a2..9eefaaef84a 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/MonadRandom/default.nix b/pkgs/development/libraries/haskell/MonadRandom/default.nix
index da343a527ce..d8c492f23b6 100644
--- a/pkgs/development/libraries/haskell/MonadRandom/default.nix
+++ b/pkgs/development/libraries/haskell/MonadRandom/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "MonadRandom";
-  version = "0.1.7";
-  sha256 = "0y4fsb3j0babq388rw3y1kbxbjz6plfgbg4g1y27hdf7jf5c8x33";
+  version = "0.1.8";
+  sha256 = "1zin7qyv86gza60q6a6r8az2dwxm80wh23idvmjapgbjn2kfvfim";
   buildDepends = [ mtl random ];
   meta = {
     description = "Random-number generation monad";
diff --git a/pkgs/development/libraries/haskell/abstract-deque/default.nix b/pkgs/development/libraries/haskell/abstract-deque/default.nix
index 90d6f4c274e..a6219a4b2a0 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 60e795f6e2e..a90e8e769e2 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 5fd552d6272..bc3eca3050d 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/blaze-textual/default.nix b/pkgs/development/libraries/haskell/blaze-textual/default.nix
index f673f708707..65f39c8cc08 100644
--- a/pkgs/development/libraries/haskell/blaze-textual/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-textual/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "blaze-textual";
-  version = "0.2.0.6";
-  sha256 = "1699fj9zig6ids9bdjn5v0gqhnyx5dkzi542gkx1gs8943c94737";
+  version = "0.2.0.8";
+  sha256 = "0zzqh53ywzz8ss58glp3i8is8gry5yqzvdjw4xh95fbbzcz4cgc7";
   buildDepends = [ blazeBuilder text time vector ];
   meta = {
     homepage = "http://github.com/bos/blaze-textual";
diff --git a/pkgs/development/libraries/haskell/certificate/default.nix b/pkgs/development/libraries/haskell/certificate/default.nix
index 6581ddf0e1a..d79f6faa3ef 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 00000000000..e89fc1d6faf
--- /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/comonad-transformers/2.1.2.nix b/pkgs/development/libraries/haskell/comonad-transformers/2.1.2.nix
deleted file mode 100644
index 1dd7c212c71..00000000000
--- 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 bc378235b91..bc378235b91 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 53e014fb8ac..00000000000
--- 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 3394de01206..3394de01206 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 0c4c610106e..3618f598055 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 881d4519a53..1feb21a8b63 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/derive/default.nix b/pkgs/development/libraries/haskell/derive/default.nix
index ff65518e7f9..906c51fc072 100644
--- a/pkgs/development/libraries/haskell/derive/default.nix
+++ b/pkgs/development/libraries/haskell/derive/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "derive";
-  version = "2.5.10";
-  sha256 = "0r5qcchs6kw080pw95r442yk1ld48lk2imn7apk0ibkx53i4mqls";
+  version = "2.5.11";
+  sha256 = "0934k49kpp32wffpvpk2sia7frd9ik56k6ghy6d6j31cabxf9m8r";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/double-conversion/default.nix b/pkgs/development/libraries/haskell/double-conversion/default.nix
index 82a1e4d4c39..5d92b8178c1 100644
--- a/pkgs/development/libraries/haskell/double-conversion/default.nix
+++ b/pkgs/development/libraries/haskell/double-conversion/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "double-conversion";
-  version = "0.2.0.4";
-  sha256 = "00rb8n2ky20ah9ry398jagi9gb0gz40yjfalh35cpckmg30z199x";
+  version = "0.2.0.5";
+  sha256 = "1z23a8sfnq5lady8n2kcina9a7df8lmsliscf85x84dxkd3a1ahf";
   buildDepends = [ text ];
   meta = {
     homepage = "https://github.com/bos/double-conversion";
diff --git a/pkgs/development/libraries/haskell/fclabels/default.nix b/pkgs/development/libraries/haskell/fclabels/default.nix
index 82a96856ab8..85fe25f7d18 100644
--- a/pkgs/development/libraries/haskell/fclabels/default.nix
+++ b/pkgs/development/libraries/haskell/fclabels/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "fclabels";
-  version = "1.1.4.1";
-  sha256 = "09k601kijdflazmrxygwwd8lmxr9vx2bzc25qiwcc9id2rp43asm";
+  version = "1.1.4.2";
+  sha256 = "0abw6vfl5ff8d4cv5s3mfvzhylba5ajnvd5pgmx540i38lcq9wi6";
   buildDepends = [ mtl transformers ];
   meta = {
     description = "First class accessor labels";
diff --git a/pkgs/development/libraries/haskell/gitit/default.nix b/pkgs/development/libraries/haskell/gitit/default.nix
index 148750e9ddc..41d521805ce 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 77867472d66..7986ef07c1e 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.13.0.3";
-  sha256 = "0rwjlwfa3s1vgh5mwzwmzq4s153iq338zy7jqi0qyxcs52illqq8";
+  version = "2999.14.1.0";
+  sha256 = "13fni5sf6cdfvgyh7kqjjdhmjxkhbgl3gbi0cbq90n8blzg4q1ql";
   buildDepends = [
     colour dlist fgl filepath polyparse text transformers wlPprintText
   ];
diff --git a/pkgs/development/libraries/haskell/hoauth/default.nix b/pkgs/development/libraries/haskell/hoauth/default.nix
index e118f765097..c568b292c3c 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 9c0efe3f05c..eef0a2b5259 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 14d347f39f5..242f73e9b21 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/largeword/default.nix b/pkgs/development/libraries/haskell/largeword/default.nix
index 7f01336f281..67159c2bcbf 100644
--- a/pkgs/development/libraries/haskell/largeword/default.nix
+++ b/pkgs/development/libraries/haskell/largeword/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "largeword";
-  version = "1.0.2";
-  sha256 = "0ylbl9rffhqw9ahasn23n00h7v5yqmghmqkrq446zdr72bq23hk2";
+  version = "1.0.3";
+  sha256 = "18b6nhq1cww4wdbrfq0cb828kncxzcsibgs5dbgxa66y6iw93vkg";
   meta = {
     homepage = "http://trac.haskell.org/largeword/wiki";
     description = "Provides Word128, Word192 and Word256 and a way of producing other large words if required";
diff --git a/pkgs/development/libraries/haskell/postgresql-simple/default.nix b/pkgs/development/libraries/haskell/postgresql-simple/default.nix
index 28b5c0dec85..3e3a1b7dbfd 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-wx/default.nix b/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix
index 702e3383d34..2d46992ddab 100644
--- a/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix
+++ b/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "reactive-banana-wx";
-  version = "0.6.0.1";
-  sha256 = "1i674jy8fwirq267vwwdyqa4whxfx3r689rxjbrh9hyicqwcrl24";
+  version = "0.7.0.0";
+  sha256 = "06qln09d57l084nvh1js3k6074vl8yzih5kwfpp43gsy8in2dspx";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ cabalMacosx reactiveBanana wx wxcore ];
diff --git a/pkgs/development/libraries/haskell/reactive-banana/default.nix b/pkgs/development/libraries/haskell/reactive-banana/default.nix
index 1c5cb92d47b..a80e911eefa 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.6.0.0";
-  sha256 = "1s0ymkqrjnzylxdwqfslf87g7sjqk135hnvgdkzy4dbvvpplq113";
+  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/resource-pool/default.nix b/pkgs/development/libraries/haskell/resource-pool/default.nix
index 7ed81b8d986..77bc9105193 100644
--- a/pkgs/development/libraries/haskell/resource-pool/default.nix
+++ b/pkgs/development/libraries/haskell/resource-pool/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "resource-pool";
-  version = "0.2.1.0";
-  sha256 = "12akfi906l1nm7h3wvjkzl9bxn74dbv17xw2c1mqgl6sg470d587";
+  version = "0.2.1.1";
+  sha256 = "1ypyzy7mkmpab6rghsizrx6raam3l2acwxm56x7jmcv8s2algi1g";
   buildDepends = [
     hashable monadControl stm time transformers transformersBase vector
   ];
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 776e452eafe..00000000000
--- 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 4ffc3c2badc..4ffc3c2badc 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 ad0df5c2cb0..00000000000
--- 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/statistics/default.nix b/pkgs/development/libraries/haskell/statistics/default.nix
index d977fabb92c..de1fd4533ef 100644
--- a/pkgs/development/libraries/haskell/statistics/default.nix
+++ b/pkgs/development/libraries/haskell/statistics/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "statistics";
-  version = "0.10.1.0";
-  sha256 = "0fnpwnhcwxjcm81b9daqdy07cw5qgqa7m2bj6fxxwicpvawcyabc";
+  version = "0.10.2.0";
+  sha256 = "1sv0fhbi52maq9c4ni109m0051a1nndi3ncz9v29mkxqzyckrp9x";
   buildDepends = [
     deepseq erf mathFunctions monadPar mwcRandom primitive vector
     vectorAlgorithms
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 00000000000..eca99a8c440
--- /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 462ee658fd2..00000000000
--- 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 1f1a45d4245..e0615469ab7 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/test-framework/0.5.nix b/pkgs/development/libraries/haskell/test-framework/0.5.nix
deleted file mode 100644
index d69bd131774..00000000000
--- a/pkgs/development/libraries/haskell/test-framework/0.5.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ cabal, ansiTerminal, ansiWlPprint, extensibleExceptions, hostname
-, random, regexPosix, time, xml
-}:
-
-cabal.mkDerivation (self: {
-  pname = "test-framework";
-  version = "0.5";
-  sha256 = "19zm9xdhyjhqi2ryd2gkwi7m92s88mmiw1b6b91hjfhfw3c1qlzz";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [
-    ansiTerminal ansiWlPprint extensibleExceptions hostname random
-    regexPosix time xml
-  ];
-  meta = {
-    homepage = "http://batterseapower.github.com/test-framework/";
-    description = "Framework for running and organising tests, with HUnit and QuickCheck support";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/test-framework/0.6.nix b/pkgs/development/libraries/haskell/test-framework/default.nix
index 94054894568..14fb53a5a09 100644
--- a/pkgs/development/libraries/haskell/test-framework/0.6.nix
+++ b/pkgs/development/libraries/haskell/test-framework/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "test-framework";
-  version = "0.6";
-  sha256 = "1ah5q3fwd5dmh2zb4rphdpz7hs39m4g1khvxjjwfzwyd9pxiz723";
+  version = "0.6.1";
+  sha256 = "1rx2c3yckw50vrydswb61ngvp27yxcimm5q6jcyqpn16fpkvxijw";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
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 9d9a4f07586..00000000000
--- 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/unix-compat/default.nix b/pkgs/development/libraries/haskell/unix-compat/default.nix
index 85e6bb81533..df329ba1d90 100644
--- a/pkgs/development/libraries/haskell/unix-compat/default.nix
+++ b/pkgs/development/libraries/haskell/unix-compat/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "unix-compat";
-  version = "0.3.0.1";
-  sha256 = "09y2iih741l4jpi83c15zap94phfms4mavzg04r9rjgbav0ns2c4";
+  version = "0.3.0.2";
+  sha256 = "0rikix2l8d0n948pzri2rdis9k5q0m73h7vxsxjz1vh24ryjj59f";
   meta = {
     homepage = "http://github.com/jystic/unix-compat";
     description = "Portable POSIX-compatibility layer";
diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix
index 219a83e1e96..66432d02f59 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 d7e9498c968..8fffccd649a 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 10aa4c02028..367987d5dee 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 00000000000..823a4839e80
--- /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 00000000000..a75fada7484
--- /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 00000000000..0be4ffdc93a
--- /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/libical/default.nix b/pkgs/development/libraries/libical/default.nix
index 54dfc1aecc6..80f3a1b8e71 100644
--- a/pkgs/development/libraries/libical/default.nix
+++ b/pkgs/development/libraries/libical/default.nix
@@ -1,10 +1,13 @@
-{stdenv, fetchurl, perl}:
+{stdenv, fetchsvn, perl, cmake}:
 
 stdenv.mkDerivation rec {
-  name = "libical-0.48";
-  src = fetchurl {
-    url = "mirror://sourceforge/freeassociation/${name}.tar.gz";
-    sha256 = "1w6znkh0xxhbcm717mbzfva9ycrqs2lajhng391i7pghaw3qprra";
+  name = "libical-0.48-p20120623";
+  src = fetchsvn {
+    url = "https://freeassociation.svn.sourceforge.net/svnroot/freeassociation/trunk/libical";
+    rev = "1130";
+    sha256 = "56caf19abdf44807fda75a67ef0886319551e53c4e4ece4da4fc862e34c64e1a";
   };
-  buildNativeInputs = [ perl ];
+  buildNativeInputs = [ perl cmake ];
+
+  patches = [ ./respect-env-tzdir.patch ];
 }
diff --git a/pkgs/development/libraries/libical/respect-env-tzdir.patch b/pkgs/development/libraries/libical/respect-env-tzdir.patch
new file mode 100644
index 00000000000..12da8d41c7b
--- /dev/null
+++ b/pkgs/development/libraries/libical/respect-env-tzdir.patch
@@ -0,0 +1,32 @@
+* Remove /usr/*/zoneinfo from the default search path
+* Respect $TZDIR
+diff --git a/src/libical/icaltz-util.c b/src/libical/icaltz-util.c
+index adf7598..d2fd5c8 100644
+--- a/src/libical/icaltz-util.c
++++ b/src/libical/icaltz-util.c
+@@ -108,7 +108,7 @@ typedef struct
+ 
+ static int r_pos [] = {1, 2, 3, -2, -1};
+ 
+-static char *search_paths [] = {"/usr/share/zoneinfo","/usr/lib/zoneinfo","/etc/zoneinfo","/usr/share/lib/zoneinfo"};
++static char *search_paths [] = {"/etc/zoneinfo"};
+ static char *zdir = NULL;
+ 
+ #define NUM_SEARCH_PATHS (sizeof (search_paths)/ sizeof (search_paths [0]))
+@@ -195,6 +195,16 @@ set_zonedir (void)
+ 	const char *fname = ZONES_TAB_SYSTEM_FILENAME;
+ 	int i;	
+ 
++	const char *env_tzdir = strdup (getenv ("TZDIR"));
++	if (env_tzdir) {
++		sprintf (file_path, "%s/%s", env_tzdir, fname);
++		if (!access (file_path, F_OK|R_OK)) {
++			zdir = env_tzdir;
++			return;
++		}
++		free (env_tzdir);
++	}
++
+ 	for (i = 0;i < NUM_SEARCH_PATHS; i++) {
+ 		sprintf (file_path, "%s/%s", search_paths [i], fname);
+ 		if (!access (file_path, F_OK|R_OK)) {
diff --git a/pkgs/development/libraries/libjpeg/default.nix b/pkgs/development/libraries/libjpeg/default.nix
index f598482f830..63d698dda18 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 1f50f1b976b..083fbf13c81 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/libspectre/0001-Fix-a-crash-with-documents-containing-an-invalid-Pag.patch b/pkgs/development/libraries/libspectre/0001-Fix-a-crash-with-documents-containing-an-invalid-Pag.patch
new file mode 100644
index 00000000000..3e232ee5ac5
--- /dev/null
+++ b/pkgs/development/libraries/libspectre/0001-Fix-a-crash-with-documents-containing-an-invalid-Pag.patch
@@ -0,0 +1,29 @@
+From 7500e4d1ae85ecf9f61b1446e07ebb887118757c Mon Sep 17 00:00:00 2001
+From: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Sat, 30 Oct 2010 15:55:18 +0200
+Subject: [PATCH 1/2] Fix a crash with documents containing an invalid
+ %%Pages: comment
+
+When failed to allocate memory for pages because of invalid %%Pages:
+comment, set maxpages to 0 to ignore the comment. Problem spotted
+by Marek Kasik. Fixes bug #30867.
+---
+ libspectre/ps.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/libspectre/ps.c b/libspectre/ps.c
+index 6c7cfce..4578cec 100644
+--- a/libspectre/ps.c
++++ b/libspectre/ps.c
+@@ -597,6 +597,8 @@ psscan(const char *filename, int scanstyle)
+ 			if (maxpages > 0) {
+ 			    doc->pages = (struct page *) PS_calloc(maxpages,
+ 							   sizeof(struct page));
++                            if (!doc->pages)
++                                maxpages = 0;
+                             CHECK_MALLOCED(doc->pages);
+ 			}
+ 		}
+-- 
+1.7.11
+
diff --git a/pkgs/development/libraries/libspectre/0002-Allocate-at-least-1-page-in-doc-pages.patch b/pkgs/development/libraries/libspectre/0002-Allocate-at-least-1-page-in-doc-pages.patch
new file mode 100644
index 00000000000..09ab9e11c16
--- /dev/null
+++ b/pkgs/development/libraries/libspectre/0002-Allocate-at-least-1-page-in-doc-pages.patch
@@ -0,0 +1,38 @@
+From 8ffd9185f81cb8337cece4c8e3672d0e6a97e935 Mon Sep 17 00:00:00 2001
+From: Marek Kasik <mkasik@redhat.com>
+Date: Wed, 24 Nov 2010 15:54:14 +0100
+Subject: [PATCH 2/2] Allocate at least 1 page in doc->pages
+
+Allocate at least 1 page if there are no %%Pages: or %%Page: comments
+in the PS file (#31512).
+---
+ libspectre/ps.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/libspectre/ps.c b/libspectre/ps.c
+index 4578cec..0130fb4 100644
+--- a/libspectre/ps.c
++++ b/libspectre/ps.c
+@@ -1004,14 +1004,14 @@ psscan(const char *filename, int scanstyle)
+ 	section_len += line_len;
+     }
+ 
++    if (maxpages == 0) {
++	maxpages = 1;
++	doc->pages = (struct page *) PS_calloc(maxpages, sizeof(struct page));
++	CHECK_MALLOCED(doc->pages);
++    }
+ 
+ newpage:
+     while (DSCcomment(line) && iscomment(line+2, "Page:")) {
+-	if (maxpages == 0) {
+-	    maxpages = 1;
+-	    doc->pages = (struct page *) PS_calloc(maxpages, sizeof(struct page));
+-            CHECK_MALLOCED(doc->pages);
+-	}
+ 	label = ps_gettext(line+length("%%Page:"), &next_char);
+ 	if (sscanf(next_char, "%u", &thispage) != 1) thispage = 0;
+ 	if (nextpage == 1) {
+-- 
+1.7.11
+
diff --git a/pkgs/development/libraries/libspectre/default.nix b/pkgs/development/libraries/libspectre/default.nix
index 0be6ac5f4ef..379727aec5c 100644
--- a/pkgs/development/libraries/libspectre/default.nix
+++ b/pkgs/development/libraries/libspectre/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
     ghostscript
   ];
 
+  patches = [ ./0001-Fix-a-crash-with-documents-containing-an-invalid-Pag.patch ./0002-Allocate-at-least-1-page-in-doc-pages.patch ];
+
   doCheck = true;
 
   meta = {
diff --git a/pkgs/development/libraries/libvisio/default.nix b/pkgs/development/libraries/libvisio/default.nix
new file mode 100644
index 00000000000..99146cd02cc
--- /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 00000000000..484f878a55e
--- /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 00000000000..ff06f2a0050
--- /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/qoauth/default.nix b/pkgs/development/libraries/qoauth/default.nix
new file mode 100644
index 00000000000..f93e4479e71
--- /dev/null
+++ b/pkgs/development/libraries/qoauth/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, qt4, qca2 }:
+
+stdenv.mkDerivation {
+  name = "qoauth-1.0.1";
+
+  src = fetchurl {
+    url = https://github.com/ayoy/qoauth/tarball/v1.0.1;
+    name = "qoauth-1.0.1.tar.gz";
+    sha256 = "1ax0g4dd49a3a1699ams13bkhz690xfwqg8rxp1capbdpf2aa8cp";
+  };
+
+  configurePhase = "qmake PREFIX=$prefix";
+  patchPhase = "sed -e 's/lib64/lib/g' -i src/src.pro";
+
+  buildInputs = [ qt4 qca2 ];
+
+  NIX_CFLAGS_COMPILE="-I${qca2}/include/QtCrypto";
+  NIX_LDFLAGS = "-lqca";
+
+  meta = {
+    description = "Qt library for OAuth authentication";
+    inherit (qt4.meta) platforms;
+    maintainers = [ stdenv.lib.maintainers.urkud ];
+  };
+}
diff --git a/pkgs/development/libraries/soprano/default.nix b/pkgs/development/libraries/soprano/default.nix
index 54e40efe65e..7705ee1893d 100644
--- a/pkgs/development/libraries/soprano/default.nix
+++ b/pkgs/development/libraries/soprano/default.nix
@@ -2,11 +2,11 @@
 , pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "soprano-2.7.6";
+  name = "soprano-2.8.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/soprano/${name}.tar.bz2";
-    sha256 = "0cnprxc8wykl96aphsh2d3711h7cals7gnibbxpsmsqyqbnhbp98";
+    sha256 = "1israssklrb4mhx2dgkfnabh21ll1jyis1c5c42rc9gi23mkb7ah";
   };
 
   patches = [ ./find-virtuoso.patch ];
diff --git a/pkgs/development/libraries/spice-protocol/default.nix b/pkgs/development/libraries/spice-protocol/default.nix
new file mode 100644
index 00000000000..c1b6d0e67e7
--- /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 00000000000..cba5d910783
--- /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/haskell/SourceGraph/default.nix b/pkgs/development/tools/haskell/SourceGraph/default.nix
index 731722126ca..382a940408f 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/node/npm2nix/default.nix b/pkgs/development/tools/node/npm2nix/default.nix
deleted file mode 100644
index 8300a7e2bc3..00000000000
--- a/pkgs/development/tools/node/npm2nix/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, fetchurl, coffeescript }:
-
-let version = "0.1"; in
-
-stdenv.mkDerivation rec {
-  name = "npm2nix-${version}";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/shlevy/npm2nix/get/${version}.tar.bz2";
-    sha256 = "14rfs114k02yc9gx0bcjqy67f9cqgkrr1dccwlzl09q9b6qs1k3k";
-  };
-
-  phases = [ "unpackPhase" "installPhase" ];
-
-  installPhase = ''
-    mkdir -p $out/bin
-    sed 's|#!/usr/bin/env coffee|#!${coffeescript}/bin/coffee|' npm2nix.coffee \
-      > $out/bin/npm2nix
-    chmod +x $out/bin/npm2nix
-  '';
-
-  meta = {
-    description = "A tool to generate nix expressions from npm packages";
-    maintainer = stdenv.lib.maintainers.shlevy;
-  };
-}
diff --git a/pkgs/development/tools/parsing/Ebnf2ps/default.nix b/pkgs/development/tools/parsing/Ebnf2ps/default.nix
index 81815500c61..f1964e815f6 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/lib/attrsets.nix b/pkgs/lib/attrsets.nix
index de6eccbec1f..63448847a15 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 835298ddb9e..04acb7632ea 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 63eafb93e30..9e761b90a05 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/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix
index 7d421af4917..8b0e3e0d8a2 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 8e347595f22..61d6b0aeba5 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 f6709bb439f..39b7074e299 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/os-specific/linux/xf86-input-wacom/default.nix b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
index 98446c70867..4bcf82a7052 100644
--- a/pkgs/os-specific/linux/xf86-input-wacom/default.nix
+++ b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchurl
-, file, inputproto, libX11, libXext, libXi, libXrandr, libXrender
+, file, inputproto, libX11, libXext, libXi, libXrandr, libXrender, libXinerama
 , ncurses, pkgconfig, randrproto, xorgserver, xproto, udev }:
 
 stdenv.mkDerivation rec {
-  name = "xf86-input-wacom-0.11.1";
+  name = "xf86-input-wacom-0.16.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/linuxwacom/${name}.tar.bz2";
-    sha256 = "1jmnrkf89a3jjbpn17gyndlv9lqc0n7qwyi22hraxypq213gjclx";
+    sha256 = "0sc0hmbs3l3ad68iwglbwjv9lg1vd333n1lv72j4nqmk7g57yrii";
   };
 
-  buildInputs = [ inputproto libX11 libXext libXi libXrandr libXrender
+  buildInputs = [ inputproto libX11 libXext libXi libXrandr libXrender libXinerama
     ncurses pkgconfig randrproto xorgserver xproto udev ];
 
   preConfigure = ''
diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix
index 16d9127e556..a435eea8663 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/sql/postgresql/jdbc/default.nix b/pkgs/servers/sql/postgresql/jdbc/default.nix
index e173a270e88..e490a14bea6 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/misc/gnokii/src-for-default.nix b/pkgs/tools/misc/gnokii/src-for-default.nix
index 360f98de758..3ea6f1a3b66 100644
--- a/pkgs/tools/misc/gnokii/src-for-default.nix
+++ b/pkgs/tools/misc/gnokii/src-for-default.nix
@@ -2,7 +2,7 @@ rec {
    version="0.6.30";
    name="gnokii-0.6.30";
    hash="0k14dymifk7dx3z58cqrc4mgxrm17s4jk12chwdfjhjarz390x8p";
-   url="http://www.gnokii.org/download/gnokii/gnokii-${version}.tar.gz";
+   url="http://www.gnokii.org/download/gnokii/0.6.x/gnokii-${version}.tar.gz";
    advertisedUrl="http://www.gnokii.org/download/gnokii/gnokii-0.6.30.tar.gz";
   
   
diff --git a/pkgs/tools/networking/network-manager/pptp-purity.patch b/pkgs/tools/networking/network-manager/pptp-purity.patch
new file mode 100644
index 00000000000..55ade68dd41
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/pptp-purity.patch
@@ -0,0 +1,26 @@
+diff --git a/src/nm-pptp-service.c b/src/nm-pptp-service.c
+index 68a5759..568bbfe 100644
+--- a/src/nm-pptp-service.c
++++ b/src/nm-pptp-service.c
+@@ -729,9 +729,7 @@ nm_find_pppd (void)
+ {
+ 	static const char *pppd_binary_paths[] =
+ 		{
+-			"/sbin/pppd",
+-			"/usr/sbin/pppd",
+-			"/usr/local/sbin/pppd",
++			"@ppp@/sbin/pppd",
+ 			NULL
+ 		};
+ 
+@@ -751,9 +749,7 @@ nm_find_pptp (void)
+ {
+ 	static const char *pptp_binary_paths[] =
+ 		{
+-			"/sbin/pptp",
+-			"/usr/sbin/pptp",
+-			"/usr/local/sbin/pptp",
++			"@pptp@/sbin/pptp",
+ 			NULL
+ 		};
+ 
diff --git a/pkgs/tools/networking/network-manager/pptp.nix b/pkgs/tools/networking/network-manager/pptp.nix
index dc3c1643ebc..8d2acfe9b31 100644
--- a/pkgs/tools/networking/network-manager/pptp.nix
+++ b/pkgs/tools/networking/network-manager/pptp.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, networkmanager, pptp, ppp, intltool, pkgconfig
+{ stdenv, fetchurl, networkmanager, pptp, ppp, intltool, pkgconfig, substituteAll
 , withGnome ? false, gtk, libgnome_keyring }:
 
 stdenv.mkDerivation rec {
   name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
   pname = "NetworkManager-pptp";
-  version = "0.9.2.0";
+  version = "0.9.4.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/0.9/${pname}-${version}.tar.xz";
-    sha256 = "1fj2v8pjc17m9calckgc2jm8wbimwga8if4r21walf9xysvhsd1b";
+    sha256 = "0p93in5dn8m6dp9qs2ppfmazwqlklp5hwp9pjqr7jwvjbac75dvg";
   };
 
   buildInputs = [ networkmanager pptp ppp ]
@@ -19,6 +19,13 @@ stdenv.mkDerivation rec {
   configureFlags =
     if withGnome then "--with-gnome --with-gtkver=2" else "--without-gnome";
 
+  patches =
+    [ ( substituteAll {
+        src = ./pptp-purity.patch;
+        inherit ppp pptp;
+      })
+    ];
+
   meta = {
     description = "PPtP plugin for NetworkManager";
     inherit (networkmanager.meta) maintainers platforms;
diff --git a/pkgs/tools/networking/networkmanagement/default.nix b/pkgs/tools/networking/networkmanagement/default.nix
index 682b78f2bae..1919186586a 100644
--- a/pkgs/tools/networking/networkmanagement/default.nix
+++ b/pkgs/tools/networking/networkmanagement/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "networkmanagement";
-  version = "0.9.0";
+  version = "0.9.0.4";
   name = "${pname}-${version}";
 in
 stdenv.mkDerivation {
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://kde/unstable/${pname}/${version}/src/${name}.tar.bz2";
-    sha256 = "0bxb5hzygf4szv01903zirzxjb3r2nzza9ya3rag4lkxxpwaynpd";
+    sha256 = "0mp2jai6f2qpywjwgvxcl1nh27idgy740vwiahfamq8w2y90a3aj";
   };
 
   buildInputs = [ kdelibs kde_workspace networkmanager ];
diff --git a/pkgs/tools/networking/pptp/default.nix b/pkgs/tools/networking/pptp/default.nix
index adb22a8d9c6..88f1a86a2ed 100644
--- a/pkgs/tools/networking/pptp/default.nix
+++ b/pkgs/tools/networking/pptp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl, ppp }:
+{ stdenv, fetchurl, perl, ppp, iproute }:
 
 stdenv.mkDerivation rec {
   name = "pptp-1.7.2";
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
   patchPhase =
     ''
       sed -e 's/install -o root/install/' -i Makefile
+      sed -e 's,/bin/ip,${iproute}/sbin/ip,' -i routing.c
     '';
   preConfigure =
     ''
diff --git a/pkgs/tools/networking/surfraw/default.nix b/pkgs/tools/networking/surfraw/default.nix
new file mode 100644
index 00000000000..6fcc031aab4
--- /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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index a9b9587c5ea..5a027d3dffe 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
@@ -986,10 +988,6 @@ let
     inherit pkgs stdenv nodejs fetchurl;
   });
 
-  npm2nix = callPackage ../development/tools/node/npm2nix {
-    coffeescript = nodePackages."coffee-script";
-  };
-
   ldns = callPackage ../development/libraries/ldns { };
 
   lftp = callPackage ../tools/networking/lftp { };
@@ -1499,6 +1497,8 @@ let
 
   su = shadow;
 
+  surfraw = callPackage ../tools/networking/surfraw { };
+
   swec = callPackage ../tools/networking/swec {
     inherit (perlPackages) LWP URI HTMLParser HTTPServerSimple Parent;
   };
@@ -2365,8 +2365,16 @@ let
     jreOnly = true;
   };
 
-  jdk = if stdenv.isDarwin then openjdk else jdkdistro true false;
-  jre = jdkdistro false false;
+  jdk = if (stdenv.isDarwin || stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
+    then openjdk
+    else jdkdistro true false;
+  jre = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
+    then openjre
+    else jdkdistro false false;
+
+  oraclejdk = jdkdistro true false;
+
+  oraclejre = jdkdistro false false;
 
   jrePlugin = lowPrio (jdkdistro false true);
 
@@ -3329,6 +3337,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 {};
 
@@ -3365,6 +3374,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
@@ -3440,6 +3451,8 @@ let
 
   dragonegg = callPackage ../development/compilers/llvm/dragonegg.nix { };
 
+  dxflib = callPackage ../development/libraries/dxflib {};
+
   eigen = callPackage ../development/libraries/eigen {};
 
   enchant = callPackage ../development/libraries/enchant { };
@@ -3985,6 +3998,8 @@ let
 
   libcdio = callPackage ../development/libraries/libcdio { };
 
+  libcdr = callPackage ../development/libraries/libcdr { };
+
   libchamplain = callPackage ../development/libraries/libchamplain {
     inherit (gnome) libsoup;
   };
@@ -4088,6 +4103,8 @@ let
     libmpeg2 = mpeg2dec;
   };
 
+  libexttextcat = callPackage ../development/libraries/libexttextcat {};
+
   libf2c = callPackage ../development/libraries/libf2c {};
 
   libfixposix = callPackage ../development/libraries/libfixposix {};
@@ -4330,6 +4347,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 +4435,8 @@ let
 
   lzo = callPackage ../development/libraries/lzo { };
 
+  mdds = callPackage ../development/libraries/mdds { };
+
   # failed to build
   mediastreamer = callPackage ../development/libraries/mediastreamer { };
 
@@ -4472,6 +4493,8 @@ let
 
   mysocketw = callPackage ../development/libraries/mysocketw { };
 
+  mythes = callPackage ../development/libraries/mythes { };
+
   ncurses = makeOverridable (import ../development/libraries/ncurses) {
     inherit fetchurl;
     unicode = system != "i686-cygwin";
@@ -4653,6 +4676,8 @@ let
 
   qjson = callPackage ../development/libraries/qjson { };
 
+  qoauth = callPackage ../development/libraries/qoauth { };
+
   qt3 = callPackage ../development/libraries/qt-3 {
     openglSupport = mesaSupported;
   };
@@ -4788,6 +4813,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 {};
@@ -6785,6 +6817,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 {
@@ -6952,6 +6986,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 { };
@@ -7493,6 +7529,8 @@ let
     fltk = fltk13;
   };
 
+  rapcad = callPackage ../applications/graphics/rapcad {};
+
   rapidsvn = callPackage ../applications/version-management/rapidsvn { };
 
   ratpoison = callPackage ../applications/window-managers/ratpoison { };
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index f2d6e28de4b..908d6857794 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -130,7 +130,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
     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
@@ -522,6 +522,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 +534,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 +598,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 {};
 
@@ -1327,11 +1319,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 +1357,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 +1400,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,17 +1437,13 @@ 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 {};
 
   terminfo = callPackage ../development/libraries/haskell/terminfo {};
 
-  testFramework_0_6 = callPackage ../development/libraries/haskell/test-framework/0.6.nix {};
-  testFramework_0_5 = callPackage ../development/libraries/haskell/test-framework/0.5.nix {};
-  testFramework = self.testFramework_0_6;
+  testFramework = callPackage ../development/libraries/haskell/test-framework {};
 
   testFrameworkHunit = callPackage ../development/libraries/haskell/test-framework-hunit {};
 
@@ -1760,13 +1745,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
     QuickCheck = self.QuickCheck2;
   };
 
-  mathblog = callPackage ../applications/misc/mathblog {
-    testFramework = self.testFramework_0_5;
-    testFrameworkHunit = self.testFrameworkHunit.override {
-      testFramework = self.testFramework_0_5;
-    };
-  };
-
   xmobar = callPackage ../applications/misc/xmobar {
     stm = self.stm_2_3;
   };
@@ -1782,7 +1760,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 c16c53d4a05..0ab4306cca0 100644
--- a/pkgs/top-level/node-packages.nix
+++ b/pkgs/top-level/node-packages.nix
@@ -17,6 +17,344 @@ let self = {
 
     ];
   };
+
+  "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 = [
+
+    ];
+  };
+
+  "npm2nix" = self."npm2nix-0.1.2";
+
+  "npm2nix-0.1.2" = self.buildNodePackage rec {
+    name = "npm2nix-0.1.2";
+    src = fetchurl {
+      url = https://bitbucket.org/shlevy/npm2nix/get/0.1.2.tar.gz;
+      sha256 = "0wmgdbjvvwqv47113xdipzkmdafsca9av1s0fq605jf97wrpvbw3";
+      name = "${name}.tgz";
+    };
+    deps = [
+      self."semver-1"
+    ];
+  };
+
+  "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 = [
+
+    ];
+  };
+
+  "nopt" = self."nopt-2";
+
+  "nopt-2" = self.buildNodePackage rec {
+    name = "nopt-2.0.0";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nopt/-/${name}.tgz";
+      sha256 = "112e9bea8b745a2e5a59d239e6f6f02e720e080ab8cdca89b6b8f0143ae718b5";
+    };
+    deps = [
+      self."abbrev-1"
+    ];
+  };
+
+  "graceful-fs" = self."graceful-fs-1";
+
+  "graceful-fs-1" = self.buildNodePackage rec {
+    name = "graceful-fs-1.1.10";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/graceful-fs/-/${name}.tgz";
+      sha256 = "1f9b7da8b0c75db49e0e5d2aaecc6f1dd3fca2bdbb2aecf95d1dbdec7f0cee24";
+    };
+    deps = [
+
+    ];
+  };
+
+  "fstream" = self."fstream-~0.1.13";
+
+  "fstream-~0.1.13" = self.buildNodePackage rec {
+    name = "fstream-0.1.18";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fstream/-/${name}.tgz";
+      sha256 = "fd5791dd0ce8d7b707fa171ac5bd482e09f80cd09ec8176b45d547416893372d";
+    };
+    deps = [
+      self."rimraf-2"
+      self."mkdirp-0.3"
+      self."graceful-fs-~1.1.2"
+      self."inherits-~1.0.0"
+    ];
+  };
+
+  "npmlog" = self."npmlog-0";
+
+  "npmlog-0" = self.buildNodePackage rec {
+    name = "npmlog-0.0.2";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/npmlog/-/${name}.tgz";
+      sha256 = "ce98d4d3380390c0259695cce407e2e96d2970c5caee1461a62ecbd38e8caed4";
+    };
+    deps = [
+      self."ansi-~0.1.2"
+    ];
+  };
+
+  "osenv" = self."osenv-0";
+
+  "osenv-0" = self.buildNodePackage rec {
+    name = "osenv-0.0.3";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/osenv/-/${name}.tgz";
+      sha256 = "aafbb23637b7338c9025f9da336f31f96674d7926c30f209e4d93ce16d5251c4";
+    };
+    deps = [
+
+    ];
+  };
+
+  "node-gyp" = self."node-gyp-*";
+
+  "node-gyp-*" = self.buildNodePackage rec {
+    name = "node-gyp-0.6.8";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-gyp/-/${name}.tgz";
+      sha256 = "b40064d825c492c544389812ecea2089606c31cbe4f3ee9e68048ea56a9aed4d";
+    };
+    deps = [
+      self."glob-3"
+      self."graceful-fs-1"
+      self."fstream-~0.1.13"
+      self."minimatch-0.2"
+      self."mkdirp-0.3"
+      self."nopt-2"
+      self."npmlog-0"
+      self."osenv-0"
+      self."request-2.9"
+      self."rimraf-2"
+      self."semver-1"
+      self."tar-~0.1.12"
+      self."which-1"
+    ];
+  };
+
+  "rimraf" = self."rimraf-2";
+
+  "rimraf-2" = self.buildNodePackage rec {
+    name = "rimraf-2.0.2";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/rimraf/-/${name}.tgz";
+      sha256 = "3efcc60c9f6715a8746f3e0b82770468247f3e256778ef20733f334377392ab0";
+    };
+    deps = [
+      self."graceful-fs-~1.1"
+    ];
+  };
+
+  "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"
+    ];
+  };
+
+  "glob" = self."glob-3";
+
+  "glob-3" = self.buildNodePackage rec {
+    name = "glob-3.1.12";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/glob/-/${name}.tgz";
+      sha256 = "a37c02e9a91915fe4e3232229676e842803151dde831d1046620ec96118f6036";
+    };
+    deps = [
+      self."minimatch-0.2"
+      self."graceful-fs-~1.1.2"
+      self."inherits-1"
+    ];
+  };
+
+  "tar" = self."tar-~0.1.12";
+
+  "tar-~0.1.12" = self.buildNodePackage rec {
+    name = "tar-0.1.13";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tar/-/${name}.tgz";
+      sha256 = "fdf79b5e172badf924a12b501686e5cbf33c3ec7631eccc29c0e3e9fdcbb5ffe";
+    };
+    deps = [
+      self."inherits-1.x"
+      self."block-stream"
+      self."fstream-~0.1.8"
+    ];
+  };
+
+  "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 = [
+
+    ];
+  };
+
+  "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 = [
+
+    ];
+  };
+
+  "graceful-fs-~1.1.2" = self.buildNodePackage rec {
+    name = "graceful-fs-1.1.10";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/graceful-fs/-/${name}.tgz";
+      sha256 = "1f9b7da8b0c75db49e0e5d2aaecc6f1dd3fca2bdbb2aecf95d1dbdec7f0cee24";
+    };
+    deps = [
+
+    ];
+  };
+
+  "request" = self."request-2.9";
+
+  "request-2.9" = self.buildNodePackage rec {
+    name = "request-2.9.203";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/${name}.tgz";
+      sha256 = "2af8f83a63c7227383fbdd6114e470e0921af86a037c4e82f42883120f35f836";
+    };
+    deps = [
+
+    ];
+  };
+
+  "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 = [
+
+    ];
+  };
+
+  "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 = [
+
+    ];
+  };
+
+  "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"
+    ];
+  };
+
+  "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 = [
+
+    ];
+  };
+
+  "graceful-fs-~1.1" = self.buildNodePackage rec {
+    name = "graceful-fs-1.1.10";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/graceful-fs/-/${name}.tgz";
+      sha256 = "1f9b7da8b0c75db49e0e5d2aaecc6f1dd3fca2bdbb2aecf95d1dbdec7f0cee24";
+    };
+    deps = [
+
+    ];
+  };
+
+  "inherits" = self."inherits-1";
+
+  "inherits-1" = self.buildNodePackage rec {
+    name = "inherits-1.0.0";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/inherits/-/${name}.tgz";
+      sha256 = "2be196fa6bc6a0c65fecd737af457589ef88b22a95d5dc31aab01d92ace48186";
+    };
+    deps = [
+
+    ];
+  };
+
+  "inherits-1.x" = self.buildNodePackage rec {
+    name = "inherits-1.0.0";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/inherits/-/${name}.tgz";
+      sha256 = "2be196fa6bc6a0c65fecd737af457589ef88b22a95d5dc31aab01d92ace48186";
+    };
+    deps = [
+
+    ];
+  };
+
+  "fstream-~0.1.8" = self.buildNodePackage rec {
+    name = "fstream-0.1.18";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fstream/-/${name}.tgz";
+      sha256 = "fd5791dd0ce8d7b707fa171ac5bd482e09f80cd09ec8176b45d547416893372d";
+    };
+    deps = [
+      self."rimraf-2"
+      self."mkdirp-0.3"
+      self."graceful-fs-~1.1.2"
+      self."inherits-~1.0.0"
+    ];
+  };
 };
 
 in self
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 637d53b06f7..d76215961f2 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";