summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/audio/amarok/default.nix10
-rw-r--r--pkgs/applications/audio/amarok/find-mysql.patch46
-rw-r--r--pkgs/applications/audio/espeak/edit.nix31
-rw-r--r--pkgs/applications/audio/linuxsampler/default.nix10
-rw-r--r--pkgs/applications/audio/linuxsampler/linuxsampler_lv2_sfz_fix.diff50
-rw-r--r--pkgs/applications/audio/ncmpcpp/default.nix2
-rw-r--r--pkgs/applications/audio/praat/default.nix26
-rw-r--r--pkgs/applications/editors/emacs-modes/org/default.nix26
-rw-r--r--pkgs/applications/editors/emacs-modes/sunrise-commander/default.nix20
-rw-r--r--pkgs/applications/editors/kdevelop/default.nix12
-rw-r--r--pkgs/applications/graphics/meshlab/default.nix13
-rw-r--r--pkgs/applications/misc/girara/default.nix26
-rw-r--r--pkgs/applications/misc/zathura/builder.sh11
-rw-r--r--pkgs/applications/misc/zathura/core/default.nix29
-rw-r--r--pkgs/applications/misc/zathura/default.nix64
-rw-r--r--pkgs/applications/misc/zathura/djvu/default.nix28
-rw-r--r--pkgs/applications/misc/zathura/djvu/gtkflags.patch23
-rw-r--r--pkgs/applications/misc/zathura/pdf-poppler/default.nix25
-rw-r--r--pkgs/applications/misc/zathura/ps/default.nix28
-rw-r--r--pkgs/applications/misc/zathura/ps/gtkflags.patch25
-rw-r--r--pkgs/applications/networking/browsers/firefox/15.0.nix179
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix10
-rw-r--r--pkgs/applications/networking/browsers/rekonq/default.nix12
-rw-r--r--pkgs/applications/networking/irc/konversation/default.nix6
-rw-r--r--pkgs/applications/networking/p2p/ktorrent/default.nix6
-rw-r--r--pkgs/applications/networking/p2p/ktorrent/drop-taskmanager-dependency.patch175
-rw-r--r--pkgs/applications/networking/vnstat/default.nix8
-rw-r--r--pkgs/applications/office/calligra/default.nix8
-rw-r--r--pkgs/applications/office/openoffice/generate-libreoffice-srcs.sh22
-rw-r--r--pkgs/applications/office/openoffice/libreoffice-srcs.nix592
-rw-r--r--pkgs/applications/office/openoffice/libreoffice.nix155
-rw-r--r--pkgs/applications/office/skrooge/default.nix4
-rw-r--r--pkgs/applications/version-management/mr/default.nix21
-rw-r--r--pkgs/applications/video/bangarang/default.nix9
-rw-r--r--pkgs/applications/video/kdenlive/default.nix4
-rw-r--r--pkgs/applications/virtualization/xen/default.nix22
-rw-r--r--pkgs/applications/virtualization/xen/gcc-4.5.patch39
37 files changed, 1106 insertions, 671 deletions
diff --git a/pkgs/applications/audio/amarok/default.nix b/pkgs/applications/audio/amarok/default.nix
index ad553c9db346..a60ecdcb866f 100644
--- a/pkgs/applications/audio/amarok/default.nix
+++ b/pkgs/applications/audio/amarok/default.nix
@@ -1,28 +1,30 @@
 { stdenv, fetchurl, lib, qtscriptgenerator, perl, gettext, curl
 , libxml2, mysql, taglib, taglib_extras, loudmouth , kdelibs
 , qca2, libmtp, liblastfm, libgpod, pkgconfig, automoc4, phonon
-, strigi, soprano }:
+, strigi, soprano, qjson, ffmpeg, libofa }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   pname = "amarok";
-  version = "2.5.0";
+  version = "2.6.0";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.bz2";
-    sha256 = "0jc8fsrhshgfv441b2dgqk0wz3ms5bzjqchcj5ydxphg57dr3l8y";
+    sha256 = "1h6jzl0jnn8g05pz4mw01kz20wjjxwwz6iki7lvgj70qi3jq04m9";
   };
 
   QT_PLUGIN_PATH="${qtscriptgenerator}/lib/qt4/plugins";
+  patches = ./find-mysql.patch;
   buildInputs = [ qtscriptgenerator stdenv.gcc.libc gettext curl
     libxml2 mysql taglib taglib_extras loudmouth kdelibs automoc4 phonon strigi
-    soprano qca2 libmtp liblastfm libgpod pkgconfig ];
+    soprano qca2 libmtp liblastfm libgpod pkgconfig qjson ffmpeg libofa ];
 
   postInstall = ''
     mkdir -p $out/nix-support
     echo ${qtscriptgenerator} > $out/nix-support/propagated-user-env-packages
   '';
+
   meta = {
     description = "Popular music player for KDE";
     license = "GPL";
diff --git a/pkgs/applications/audio/amarok/find-mysql.patch b/pkgs/applications/audio/amarok/find-mysql.patch
new file mode 100644
index 000000000000..57a5ec46b84f
--- /dev/null
+++ b/pkgs/applications/audio/amarok/find-mysql.patch
@@ -0,0 +1,46 @@
+commit 9979970f05f25329100168d85a5c4cdc8c084b7a
+Author: Yury G. Kudryashov <urkud.urkud@gmail.com>
+Date:   Thu Aug 30 12:32:53 2012 +0400
+
+    FindMySQLAmarok.cmake: use PATH_SUFFIXES
+
+diff --git a/cmake/modules/FindMySQLAmarok.cmake b/cmake/modules/FindMySQLAmarok.cmake
+index 910b434..4c8b8e8 100644
+--- a/cmake/modules/FindMySQLAmarok.cmake
++++ b/cmake/modules/FindMySQLAmarok.cmake
+@@ -13,18 +13,17 @@
+ # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+ 
+ if(NOT WIN32)
+-    find_program(MYSQLCONFIG_EXECUTABLE NAMES mysql_config mysql_config5 PATHS ${BIN_INSTALL_DIR} ~/usr/bin /usr/local/bin)
++    find_program(MYSQLCONFIG_EXECUTABLE NAMES mysql_config mysql_config5 HINTS ${BIN_INSTALL_DIR})
+ endif(NOT WIN32)
+ 
+ find_path(MYSQL_INCLUDE_DIR mysql.h
+-    /opt/local/include/mysql5/mysql
++    PATHS
++    /opt/local/include
+     /opt/mysql/mysql/include
+-    /opt/mysqle/include/mysql
+-    /opt/ports/include/mysql5/mysql
+-    /usr/include/mysql
+-    /usr/local/include/mysql
+-    /usr/mysql/include/mysql
+-    ~/usr/include/mysql
++    /opt/mysqle/include
++    /opt/ports/include
++    /usr/mysql/include
++    PATH_SUFFIXES mysql mysql5/mysql
+ )
+ 
+ if(MYSQLCONFIG_EXECUTABLE)
+@@ -40,8 +39,7 @@ if(MYSQLCONFIG_EXECUTABLE)
+ 
+     find_library(MYSQLD_PIC_SEPARATE
+         mysqld_pic
+-        PATHS
+-        /usr/lib/mysql
++        PATH_SUFFIXES mysql
+     )
+ 
+     if(MYSQLD_PIC_SEPARATE)
diff --git a/pkgs/applications/audio/espeak/edit.nix b/pkgs/applications/audio/espeak/edit.nix
new file mode 100644
index 000000000000..eb34335721f0
--- /dev/null
+++ b/pkgs/applications/audio/espeak/edit.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchurl, unzip, portaudio, wxGTK}:
+
+stdenv.mkDerivation {
+  name = "espeakedit-1.46.02";
+  src = fetchurl {
+    url = mirror://sourceforge/espeak/espeakedit-1.46.02.zip;
+    sha256 = "1cc5r89sn8zz7b8wj4grx9xb7aqyi0ybj0li9hpy7hd67r56kqkl";
+  };
+
+  buildInputs = [ unzip portaudio wxGTK ];
+
+  patchPhase = if portaudio.api_version == 19 then ''
+    cp src/portaudio19.h src/portaudio.h
+  '' else "";
+
+  buildPhase = ''
+    cd src
+    gcc -o espeakedit *.cpp `wx-config --cxxflags --libs`
+  '';
+
+  installPhase = ''
+    ensureDir $out/bin
+    cp espeakedit $out/bin
+  '';
+
+  meta = {
+    description = "Phoneme editor for espeak";
+    homepage = http://espeak.sourceforge.net/;
+    license = "GPLv3+";
+  };
+}
diff --git a/pkgs/applications/audio/linuxsampler/default.nix b/pkgs/applications/audio/linuxsampler/default.nix
index 1ef081c84d07..c74cd2b0d7d4 100644
--- a/pkgs/applications/audio/linuxsampler/default.nix
+++ b/pkgs/applications/audio/linuxsampler/default.nix
@@ -11,9 +11,12 @@ stdenv.mkDerivation rec {
     sha256 = "0zsrvs9dwwhjx733m45vfi11yjkqv33z8qxn2i9qriq5zs1f0kd7";
   };
 
-  patchPhase = "sed -e 's/which/type -P/g' -i scripts/generate_parser.sh";
+  patches = ./linuxsampler_lv2_sfz_fix.diff;
 
-  preConfigure = "make -f Makefile.cvs";
+  preConfigure = ''
+    sed -e 's/which/type -P/g' -i scripts/generate_parser.sh
+    make -f Makefile.cvs
+  '';
 
   buildInputs = [ 
    alsaLib asio autoconf automake bison jackaudio libgig libsndfile
@@ -34,7 +37,8 @@ stdenv.mkDerivation rec {
       have questions on the subject, that are not yet covered by the
       FAQ, please contact us.
     ''; 
-    license = licenses.gpl2;
+    license = licenses.proprietary;
     maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/linuxsampler/linuxsampler_lv2_sfz_fix.diff b/pkgs/applications/audio/linuxsampler/linuxsampler_lv2_sfz_fix.diff
new file mode 100644
index 000000000000..114726db19d6
--- /dev/null
+++ b/pkgs/applications/audio/linuxsampler/linuxsampler_lv2_sfz_fix.diff
@@ -0,0 +1,50 @@
+Index: linuxsampler-r2359/src/hostplugins/lv2/PluginLv2.cpp
+===================================================================
+--- linuxsampler-r2359/src/hostplugins/lv2/PluginLv2.cpp	(revision 2359)
++++ linuxsampler-r2359/src/hostplugins/lv2/PluginLv2.cpp	(working copy)
+@@ -18,6 +18,8 @@
+  *   MA  02110-1301  USA                                                   *
+  ***************************************************************************/
+ 
++#define _BSD_SOURCE 1  /* for realpath() */
++
+ #include <algorithm>
+ #include <cassert>
+ #include <cstdio>
+@@ -118,6 +120,23 @@
+         dmsg(2, ("linuxsampler: Deactivate\n"));
+     }
+ 
++    static String RealPath(const String& path)
++    {
++        String out   = path;
++        char*  cpath = NULL;
++#ifdef _WIN32
++        cpath = (char*)malloc(MAX_PATH);
++        GetFullPathName(path.c_str(), MAX_PATH, cpath, NULL);
++#else
++        cpath = realpath(path.c_str(), NULL);
++#endif
++        if (cpath) {
++            out = cpath;
++            free(cpath);
++        }
++        return out;
++    }
++
+     String PluginLv2::PathToState(const String& path) {
+         if (MapPath) {
+             char* cstr = MapPath->abstract_path(MapPath->handle, path.c_str());
+@@ -131,9 +150,10 @@
+     String PluginLv2::PathFromState(const String& path) {
+         if (MapPath) {
+             char* cstr = MapPath->absolute_path(MapPath->handle, path.c_str());
+-            const String abstract_path(cstr);
++            // Resolve symbolic links so SFZ sample paths load correctly
++            const String absolute_path(RealPath(cstr));
+             free(cstr);
+-            return abstract_path;
++            return absolute_path;
+         }
+         return path;
+     }
diff --git a/pkgs/applications/audio/ncmpcpp/default.nix b/pkgs/applications/audio/ncmpcpp/default.nix
index b9d304097111..3af9bc7690ff 100644
--- a/pkgs/applications/audio/ncmpcpp/default.nix
+++ b/pkgs/applications/audio/ncmpcpp/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "ncmpcpp-${version}";
 
   src = fetchurl {
-    url = "http://unkart.ovh.org/ncmpcpp/ncmpcpp-${version}.tar.bz2";
+    url = "http://ncmpcpp.rybczak.net/stable/ncmpcpp-${version}.tar.bz2";
     sha256 = "1kbkngs4fhf9z53awskqiwdl94i5slvxmjiajkrayi99373fallx";
   };
 
diff --git a/pkgs/applications/audio/praat/default.nix b/pkgs/applications/audio/praat/default.nix
new file mode 100644
index 000000000000..f2f196acdd85
--- /dev/null
+++ b/pkgs/applications/audio/praat/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl, alsaLib, gtk, pkgconfig }:
+
+stdenv.mkDerivation {
+  name = "praat-5323";
+  src = fetchurl {
+    url = http://www.fon.hum.uva.nl/praat/praat5323_sources.tar.gz;
+    sha256 = "1m0m5165h74mw5xhmnnyzh5ans3cn78w5rs9572sa1512cams203";
+  };
+
+  configurePhase = ''
+    cp makefiles/makefile.defs.linux makefile.defs
+  '';
+
+  installPhase = ''
+    ensureDir $out/bin
+    cp praat $out/bin
+  '';
+
+  buildInputs = [ alsaLib gtk pkgconfig ];
+
+  meta = {
+    description = "Doing phonetics by computer";
+    homepage = http://www.fon.hum.uva.nl/praat/;
+    license = "GPLv2+"; # Has some 3rd-party code in it though
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/org/default.nix b/pkgs/applications/editors/emacs-modes/org/default.nix
index fb4de650ee01..d3829bc9d115 100644
--- a/pkgs/applications/editors/emacs-modes/org/default.nix
+++ b/pkgs/applications/editors/emacs-modes/org/default.nix
@@ -1,30 +1,24 @@
-{ fetchurl, stdenv, emacs, texinfo, which }:
+{ fetchurl, stdenv, emacs, texinfo, which, texLive }:
 
 stdenv.mkDerivation rec {
-  name = "org-7.8.03";
+  name = "org-7.9.1";
 
   src = fetchurl {
     url = "http://orgmode.org/${name}.tar.gz";
-    sha256 = "49357cca7d892e70cd2dfcc0b5d96d9fd164ef5a1f251ace3865ecb27dc1e958";
+    sha256 = "0kz1dnzfpmmslwal150z9rxrnddjpaw2glx26qihpxzs0zzpw201";
   };
 
-  buildInputs = [ emacs texinfo ];
-
-  patchPhase =
-    '' sed -i "lisp/org-clock.el" -e's|"which"|"${which}/bin/which"|g'
-    '';
+  buildInputs = [ emacs ];
+  buildNativeInputs = [ texinfo texLive ];
 
   configurePhase =
-    '' sed -i Makefile \
-           -e "s|^prefix=.*$|prefix=$out|g"
+    '' sed -i mk/default.mk \
+           -e "s|^prefix\t=.*$|prefix=$out|g"
     '';
 
-  #XXX: fails because of missing UTILITIES/manfull.pl, currently not
-  # included in the release tarball, but git.
-
-  #postBuild =
-  #  '' make doc
-  #  '';
+  postBuild =
+    '' make doc
+    '';
 
   installPhase =
     '' make install install-info
diff --git a/pkgs/applications/editors/emacs-modes/sunrise-commander/default.nix b/pkgs/applications/editors/emacs-modes/sunrise-commander/default.nix
index c15ff6afcb20..a253e25cad45 100644
--- a/pkgs/applications/editors/emacs-modes/sunrise-commander/default.nix
+++ b/pkgs/applications/editors/emacs-modes/sunrise-commander/default.nix
@@ -1,25 +1,23 @@
-{stdenv, fetchurl, emacs}:
+{stdenv, fetchgit, emacs}:
 
 stdenv.mkDerivation rec {
-  name = "sunrise-commander-6";
+  name = "sunrise-commander-6r435";
 
-  src = fetchurl {
-    url = "http://www.emacswiki.org/emacs/download/sunrise-commander.el";
-    sha256 = "1bbpm00nc7ry0f2k4zaqbvp6w9py31asfcr9hddggc138pnfajvq";
+  src = fetchgit {
+    url = https://github.com/escherdragon/sunrise-commander.git;
+    rev = "7a44ca7abd9fe79f87934c78d00dc2a91419a4f1";
+    sha256 = "2909beccc9daaa79e70876ac6547088c2459b624c364dda1886fe4d7adc7708b";
   };
 
-  phases = [ "buildPhase" "installPhase"];
-
   buildInputs = [ emacs ];
 
   buildPhase = ''
-    cp $src sunrise-commander.el
-    emacs --batch -f batch-byte-compile sunrise-commander.el
+    emacs -L . --batch -f batch-byte-compile *.el
   '';
 
   installPhase = ''
-    install -d $out/share/emacs/site-lisp
-    install sunrise-commander.el* $out/share/emacs/site-lisp
+    mkdir -p $out/share/emacs/site-lisp
+    install *.el* $out/share/emacs/site-lisp
   '';
 
   meta = {
diff --git a/pkgs/applications/editors/kdevelop/default.nix b/pkgs/applications/editors/kdevelop/default.nix
index 92b4da5280ac..249ede5ebd0e 100644
--- a/pkgs/applications/editors/kdevelop/default.nix
+++ b/pkgs/applications/editors/kdevelop/default.nix
@@ -3,18 +3,26 @@
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "4.3.0";
+  version = "4.3.1";
   pname = "kdevelop";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.bz2";
-    sha256 = "0vb2f5922r1da4va8sx2qn2i1lf2gqg7nfg594kncy98a9b1avnr";
+    sha256 = "0015hv39rqhyq1w6jw65lx7ls4l5pc3a2asvd5zsd65831vrfxxs";
   };
 
   buildInputs = [ kdevplatform kdebase_workspace okteta ];
 
   buildNativeInputs = [ cmake pkgconfig automoc4 shared_mime_info gettext perl ];
 
+  patches =
+    [ ( fetchurl {
+        url = https://git.reviewboard.kde.org/r/105211/diff/raw/;
+        name = "okteta-0.9.patch"; # fixes build with KDE-4.9.x
+        sha256 = "1mvqhw7jr1vi66l3jgam3slyfafcvwy4g3iapfi69dpfnzhmcxl0";
+      } )
+    ];
+
   NIX_CFLAGS_COMPILE = "-I${okteta}/include/KDE";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/graphics/meshlab/default.nix b/pkgs/applications/graphics/meshlab/default.nix
index 9b39d8e8f1f7..a811d759f7eb 100644
--- a/pkgs/applications/graphics/meshlab/default.nix
+++ b/pkgs/applications/graphics/meshlab/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, qt, bzip2, lib3ds, levmar, muparser, unzip}:
 
 stdenv.mkDerivation rec {
-  name = "meshlab-1.2.3a";
+  name = "meshlab-1.3.2";
 
   src = fetchurl {
-    url = mirror://sourceforge/meshlab/MeshLabSrc_AllInc_v123a.tgz;
-    sha256 = "09w42q0x1yjr7l9ng952lic7vkb1arsvqg1fld5s297zwzfmsl9v";
+    url = "mirror://sourceforge/meshlab/meshlab/MeshLab%20v1.3.2/MeshLabSrc_AllInc_v132.tgz";
+    sha256 = "d57f0a99a55421aac54a66e2475d48f00f7b1752f9587cd69cf9b5b9c1a519b1";
   };
 
   # I don't know why I need this; without this, the rpath set at the beginning of the
@@ -13,13 +13,16 @@ stdenv.mkDerivation rec {
   dontPatchELF = true;
 
   buildPhase = ''
+    mkdir -p "$out/include"
+    cp -r vcglib "$out/include"
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$out/include/vcglib"
     export NIX_LDFLAGS="-rpath $out/opt/meshlab $NIX_LDFLAGS"
     cd meshlab/src
     pushd external
     qmake -recursive external.pro
     make
     popd
-    qmake -recursive meshlabv12.pro
+    qmake -recursive meshlab_full.pro
     make
   '';
 
@@ -31,6 +34,8 @@ stdenv.mkDerivation rec {
     ln -s $out/opt/meshlab/meshlab $out/bin/meshlab
   '';
 
+  sourceRoot = ".";
+
   buildInputs = [ qt unzip ];
 
   meta = {
diff --git a/pkgs/applications/misc/girara/default.nix b/pkgs/applications/misc/girara/default.nix
new file mode 100644
index 000000000000..2fa36b33eb06
--- /dev/null
+++ b/pkgs/applications/misc/girara/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, pkgconfig, gtk, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "girara-0.1.2";
+
+  src = fetchurl {
+    url = "http://pwmt.org/projects/girara/download/${name}.tar.gz";
+    sha256 = "89231d0da3c790e0765ad85d74f64cf50051b8bafe6065882e34e378ab14ec99";
+  };
+
+  buildInputs = [ pkgconfig gtk gettext ];
+
+  makeFlags = "PREFIX=$(out)";
+
+  meta = {
+    homepage = http://pwmt.org/projects/girara/;
+    description = "User interface library";
+    longDescription = ''
+      girara is a library that implements a GTK+ based VIM-like user interface
+      that focuses on simplicity and minimalism.
+    '';
+    license = "free";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
+
diff --git a/pkgs/applications/misc/zathura/builder.sh b/pkgs/applications/misc/zathura/builder.sh
new file mode 100644
index 000000000000..9ca45b2cc992
--- /dev/null
+++ b/pkgs/applications/misc/zathura/builder.sh
@@ -0,0 +1,11 @@
+source $stdenv/setup
+
+mkdir -pv $out/bin/
+
+cat > $out/bin/zathura <<EOF
+#!/bin/sh
+exec $zathura --plugins-dir=$plugins_path "\$@"
+EOF
+
+chmod 755 $out/bin/zathura
+
diff --git a/pkgs/applications/misc/zathura/core/default.nix b/pkgs/applications/misc/zathura/core/default.nix
new file mode 100644
index 000000000000..0c58965fc19f
--- /dev/null
+++ b/pkgs/applications/misc/zathura/core/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, pkgconfig, gtk, girara, gettext }:
+
+stdenv.mkDerivation rec {
+
+  version = "0.1.2";
+
+  name = "zathura-core-${version}";
+
+  src = fetchurl {
+    url = "http://pwmt.org/projects/zathura/download/zathura-${version}.tar.gz";
+    sha256 = "a496c25071e54f675b65ee5eab02fd002c04c2d7d5cf4aa8a1cb517cc13beaef";
+  };
+
+  buildInputs = [ pkgconfig gtk girara gettext ];
+
+  makeFlags = "PREFIX=$(out)";
+
+  meta = {
+    homepage = http://pwmt.org/projects/zathura/;
+    description = "A core component for zathura PDF viewer";
+    license = "free";
+    platforms = stdenv.lib.platforms.linux;
+
+    # Set lower priority in order to provide user with a wrapper script called
+    # 'zathura' instead of real zathura executable. The wrapper will build
+    # plugin path argument before executing the original.
+    priority = 1;
+  };
+}
diff --git a/pkgs/applications/misc/zathura/default.nix b/pkgs/applications/misc/zathura/default.nix
index 2e58a028a30f..b5ba4f9ada75 100644
--- a/pkgs/applications/misc/zathura/default.nix
+++ b/pkgs/applications/misc/zathura/default.nix
@@ -1,27 +1,41 @@
-{ stdenv, fetchurl, pkgconfig, gtk, poppler }:
-
-stdenv.mkDerivation rec {
-  name = "zathura-0.0.8.4";
-  
-  src = fetchurl {
-    url = "http://pwmt.org/download/${name}.tar.gz";
-    sha256 = "03iq6n7bpgrkq3l8b2ab3flcfxrqpxc1f3ycn31xr2b6bjwi72qn";
-  };
-  
-  buildInputs = [ pkgconfig gtk poppler ];
-
-  makeFlags = "PREFIX=$(out)";
-  
-  meta = {
-    homepage = https://pwmt.org/zathura/;
-    description = "A highly customizable and functional PDF viewer";
-    longDescription = ''
-      Zathura is a highly customizable and functional PDF viewer based on the
-      poppler rendering library and the gtk+ toolkit. The idea behind zathura
-      is an application that provides a minimalistic and space saving interface
-      as well as an easy usage that mainly focuses on keyboard interaction.
-    '';
-    license = "free";
-    platforms = stdenv.lib.platforms.linux;
+{ callPackage, pkgs }:
+
+rec {
+  inherit (pkgs) stdenv;
+
+  zathura_core = callPackage ./core { };
+
+  zathura_pdf_poppler = callPackage ./pdf-poppler { };
+
+  zathura_djvu = callPackage ./djvu { };
+
+  zathura_ps = callPackage ./ps { };
+
+  zathuraWrapper = stdenv.mkDerivation rec {
+
+    name = "zathura-0.1.2";
+
+    plugins_path = stdenv.lib.makeSearchPath "lib" [
+      zathura_pdf_poppler
+      zathura_djvu
+      zathura_ps
+    ];
+
+    zathura = "${zathura_core}/bin/zathura";
+
+    builder = ./builder.sh;
+
+    meta = {
+      homepage = http://pwmt.org/projects/zathura/;
+      description = "A highly customizable and functional PDF viewer";
+      longDescription = ''
+        Zathura is a highly customizable and functional PDF viewer based on the
+        poppler rendering library and the gtk+ toolkit. The idea behind zathura
+        is an application that provides a minimalistic and space saving interface
+        as well as an easy usage that mainly focuses on keyboard interaction.
+      '';
+      license = "free";
+    };
   };
 }
+
diff --git a/pkgs/applications/misc/zathura/djvu/default.nix b/pkgs/applications/misc/zathura/djvu/default.nix
new file mode 100644
index 000000000000..c4656e732364
--- /dev/null
+++ b/pkgs/applications/misc/zathura/djvu/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, pkgconfig, gtk, zathura_core, girara, djvulibre, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "zathura-djvu-0.1.1";
+
+  src = fetchurl {
+    url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz";
+    sha256 = "04adad7bf1bb392eae4b7b856fe7d40a137f8185ac274289df922758ae827172";
+  };
+
+  buildInputs = [ pkgconfig djvulibre gettext zathura_core gtk girara ];
+
+  patches = [ ./gtkflags.patch ];
+
+  makeFlags = "PREFIX=$(out) PLUGINDIR=$(out)/lib";
+
+  meta = {
+    homepage = http://pwmt.org/projects/zathura/;
+    description = "A zathura DJVU plugin";
+    longDescription = ''
+	  The zathura-djvu plugin adds DjVu support to zathura by using the
+	  djvulibre library.
+    '';
+    license = "free";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
+
diff --git a/pkgs/applications/misc/zathura/djvu/gtkflags.patch b/pkgs/applications/misc/zathura/djvu/gtkflags.patch
new file mode 100644
index 000000000000..2a2fe298a7b9
--- /dev/null
+++ b/pkgs/applications/misc/zathura/djvu/gtkflags.patch
@@ -0,0 +1,23 @@
+--- a/config.mk	2012-05-14 01:13:09.009740082 +0400
++++ b/config.mk	2012-05-14 01:13:50.400525700 +0400
+@@ -11,6 +11,9 @@
+ LIBDIR ?= ${PREFIX}/lib
+ 
+ # libs
++GTK_INC ?= $(shell pkg-config --cflags gtk+-2.0)
++GTK_LIB ?= $(shell pkg-config --libs gtk+-2.0)
++
+ CAIRO_INC ?= $(shell pkg-config --cflags cairo)
+ CAIRO_LIB ?= $(shell pkg-config --libs cairo)
+ 
+@@ -29,8 +32,8 @@
+ PLUGINDIR = ${LIBDIR}/zathura
+ endif
+ 
+-INCS = ${GIRARA_INC} ${GLIB_INC} ${DJVU_INC} ${ZATHURA_INC}
+-LIBS = ${GIRARA_LIB} ${GLIB_LIB} ${DJVU_LIB}
++INCS = ${GIRARA_INC} ${GLIB_INC} ${DJVU_INC} ${ZATHURA_INC} ${GTK_INC}
++LIBS = ${GIRARA_LIB} ${GLIB_LIB} ${DJVU_LIB} ${GTK_LIB}
+ 
+ # flags
+ CFLAGS += -std=c99 -fPIC -pedantic -Wall -Wno-format-zero-length $(INCS)
diff --git a/pkgs/applications/misc/zathura/pdf-poppler/default.nix b/pkgs/applications/misc/zathura/pdf-poppler/default.nix
new file mode 100644
index 000000000000..17e00b4e6220
--- /dev/null
+++ b/pkgs/applications/misc/zathura/pdf-poppler/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, zathura_core, girara, poppler, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "zathura-pdf-poppler-0.1.1";
+
+  src = fetchurl {
+    url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz";
+    sha256 = "bec5fee721fcaee9f4b53d3882908b19efa82815393aa8c3619ff948b909d4a7";
+  };
+
+  buildInputs = [ pkgconfig poppler gettext zathura_core girara ];
+
+  makeFlags = "PREFIX=$(out) PLUGINDIR=$(out)/lib";
+
+  meta = {
+    homepage = http://pwmt.org/projects/zathura/;
+    description = "A zathura PDF plugin";
+    longDescription = ''
+      The zathura-pdf-poppler plugin adds PDF support to zathura by 
+      using the poppler rendering engine.
+    '';
+    license = "free";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/zathura/ps/default.nix b/pkgs/applications/misc/zathura/ps/default.nix
new file mode 100644
index 000000000000..ae9aeee7715e
--- /dev/null
+++ b/pkgs/applications/misc/zathura/ps/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, pkgconfig, gtk, zathura_core, girara, libspectre, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "zathura-ps-0.1.0";
+
+  src = fetchurl {
+    url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz";
+    sha256 = "1669fd11e436636cdedb2cde206b562f4f9c666cea9773f6f2014e765fd62789";
+  };
+
+  buildInputs = [ pkgconfig libspectre gettext zathura_core gtk girara ];
+
+  patches = [ ./gtkflags.patch ];
+
+  makeFlags = "PREFIX=$(out) PLUGINDIR=$(out)/lib";
+
+  meta = {
+    homepage = http://pwmt.org/projects/zathura/;
+    description = "A zathura PS plugin";
+    longDescription = ''
+      The zathura-ps plugin adds PS support to zathura by using the
+      libspectre library.
+      '';
+    license = "free";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
+
diff --git a/pkgs/applications/misc/zathura/ps/gtkflags.patch b/pkgs/applications/misc/zathura/ps/gtkflags.patch
new file mode 100644
index 000000000000..7c944a12f0ef
--- /dev/null
+++ b/pkgs/applications/misc/zathura/ps/gtkflags.patch
@@ -0,0 +1,25 @@
+diff --git a/config.mk b/config.mk.new
+index c3a7b37..0cbce67 100644
+--- a/config.mk
++++ b/config.mk
+@@ -10,6 +10,9 @@ ZATHURA_VERSION_CHECK ?= $(shell pkg-config --atleast-version=$(ZATHURA_MIN_VERS
+ PREFIX ?= /usr
+ 
+ # libs
++GTK_INC ?= $(shell pkg-config --cflags gtk+-2.0)
++GTK_LIB ?= $(shell pkg-config --libs gtk+-2.0)
++
+ CAIRO_INC ?= $(shell pkg-config --cflags cairo)
+ CAIRO_LIB ?= $(shell pkg-config --libs cairo)
+ 
+@@ -26,8 +29,8 @@ ZATHURA_INC ?= $(shell pkg-config --cflags zathura)
+ PLUGINDIR ?= $(shell pkg-config --variable=plugindir zathura)
+ PLUGINDIR ?= ${PREFIX}/lib/zathura
+ 
+-INCS = ${GLIB_INC} ${SPECTRE_INC} ${GIRARA_INC} ${ZATHURA_INC}
+-LIBS = ${GLIB_LIB} ${SPECTRE_LIB} ${GIRARA_LIB}
++INCS = ${GLIB_INC} ${SPECTRE_INC} ${GIRARA_INC} ${ZATHURA_INC} ${GTK_INC}
++LIBS = ${GLIB_LIB} ${SPECTRE_LIB} ${GIRARA_LIB} ${GTK_LIB}
+ 
+ # flags
+ CFLAGS += -std=c99 -fPIC -pedantic -Wall -Wno-format-zero-length $(INCS)
diff --git a/pkgs/applications/networking/browsers/firefox/15.0.nix b/pkgs/applications/networking/browsers/firefox/15.0.nix
new file mode 100644
index 000000000000..549034963914
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox/15.0.nix
@@ -0,0 +1,179 @@
+{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
+, libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs
+, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
+, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
+
+, # If you want the resulting program to call itself "Firefox" instead
+  # of "Shiretoko" or whatever, enable this option.  However, those
+  # binaries may not be distributed without permission from the
+  # Mozilla Foundation, see
+  # http://www.mozilla.org/foundation/trademarks/.
+  enableOfficialBranding ? false
+}:
+
+assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
+
+rec {
+
+  firefoxVersion = "15.0";
+  
+  xulVersion = "15.0"; # this attribute is used by other packages
+
+  
+  src = fetchurl {
+    url = "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
+    sha256 = "12f7dgcksb9d79hj0a8lxn3s81id6l2gd1pb7ls4d60kmgbg05jl";
+  };
+  
+  commonConfigureFlags =
+    [ "--enable-optimize"
+      "--disable-debug"
+      "--enable-strip"
+      "--with-system-jpeg"
+      "--with-system-zlib"
+      "--with-system-bz2"
+      "--with-system-nspr"
+      "--with-system-nss"
+      # "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support"
+      # "--enable-system-cairo" # disabled for the moment because our Cairo is too old
+      "--enable-system-sqlite"
+      "--disable-crashreporter"
+      "--disable-tests"
+      "--disable-necko-wifi" # maybe we want to enable this at some point
+      "--disable-installer" 
+      "--disable-updater"
+    ];
+
+
+  xulrunner = stdenv.mkDerivation rec {
+    name = "xulrunner-${xulVersion}";
+    
+    inherit src;
+
+    buildInputs =
+      [ pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2
+        python dbus dbus_glib pango freetype fontconfig xlibs.libXi
+        xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
+        alsaLib nspr nss libnotify xlibs.pixman yasm mesa
+        xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite
+        xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
+      ];
+
+    configureFlags =
+      [ "--enable-application=xulrunner"
+        "--disable-javaxpcom"
+      ] ++ commonConfigureFlags;
+
+    enableParallelBuilding = true;
+      
+    preConfigure =
+      ''
+        export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib/xulrunner-${xulVersion}"
+
+        mkdir ../objdir
+        cd ../objdir
+        configureScript=../mozilla-release/configure
+      ''; # */
+
+    #installFlags = "SKIP_GRE_REGISTRATION=1";
+
+    postInstall = ''
+      # Fix run-mozilla.sh search
+      libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*)
+      echo libDir: $libDir
+      test -n "$libDir"
+      cd $out/bin
+      rm xulrunner
+
+      for i in $out/lib/$libDir/*; do 
+          file $i;
+          if file $i | grep executable &>/dev/null; then 
+              echo -e '#! /bin/sh\n"'"$i"'" "$@"' > "$out/bin/$(basename "$i")";
+              chmod a+x "$out/bin/$(basename "$i")";
+          fi;
+      done
+      for i in $out/lib/$libDir/*.so; do
+          patchelf --set-rpath "$(patchelf --print-rpath "$i"):$out/lib/$libDir" $i || true
+      done
+      for i in $out/lib/$libDir/{plugin-container,xulrunner,xulrunner-stub}; do
+          wrapProgram $i --prefix LD_LIBRARY_PATH ':' "$out/lib/$libDir"
+      done
+      rm -f $out/bin/run-mozilla.sh
+    ''; # */
+
+    meta = {
+      description = "Mozilla Firefox XUL runner";
+      homepage = http://www.mozilla.com/en-US/firefox/;
+    };
+
+    passthru = { inherit gtk; version = xulVersion; };
+  };
+
+
+  firefox = stdenv.mkDerivation rec {
+    name = "firefox-${firefoxVersion}";
+
+    inherit src;
+
+    enableParallelBuilding = true;
+      
+    buildInputs =
+      [ pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2 python
+        dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
+        xlibs.pixman yasm mesa sqlite file unzip pysqlite
+      ];
+
+    propagatedBuildInputs = [xulrunner];
+
+    configureFlags =
+      [ "--enable-application=browser"
+        "--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
+        "--enable-chrome-format=jar"
+        "--disable-elf-hack"
+      ]
+      ++ commonConfigureFlags
+      ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
+
+    makeFlags = [
+      "SYSTEM_LIBXUL=1"
+    ];
+
+    # Hack to work around make's idea of -lbz2 dependency
+    preConfigure =
+      ''
+        find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${
+          stdenv.lib.concatStringsSep ":" 
+            (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
+        }' ';'
+      '';
+
+    postInstall =
+      ''
+        ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $(echo $out/lib/firefox-*)/xulrunner
+        for j in $out/bin/*; do 
+	    i="$(readlink "$j")";
+            file $i;
+            if file $i | grep executable &>/dev/null; then 
+	        rm "$out/bin/$(basename "$i")"
+                echo -e '#! /bin/sh\nexec "'"$i"'" "$@"' > "$out/bin/$(basename "$i")"
+                chmod a+x "$out/bin/$(basename "$i")"
+            fi;
+        done;
+	cd "$out/lib/"firefox-*
+	rm firefox
+	echo -e '#!${stdenv.shell}\n${xulrunner}/bin/xulrunner "'"$PWD"'/application.ini" "$@"' > firefox
+	chmod a+x firefox
+      ''; # */
+
+    meta = {
+      description = "Mozilla Firefox - the browser, reloaded";
+      homepage = http://www.mozilla.com/en-US/firefox/;
+      maintainers = [ stdenv.lib.maintainers.eelco ];
+    };
+
+    passthru = {
+      inherit gtk xulrunner nspr;
+      isFirefox3Like = true;
+    };
+  };
+}
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
index ff199791bba8..a3f255b5d3e5 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, rpm, cpio, mesa, xorg, cairo
 , libpng12, gtk, glib, gdk_pixbuf, fontconfig, freetype, curl
-, dbus_glib, alsaLib, pulseaudio, udev
+, dbus_glib, alsaLib, pulseaudio, udev, pango
 }:
 
 with stdenv.lib;
@@ -37,24 +37,26 @@ let
       dbus_glib
       udev
       curl
+      pango
+      cairo
     ];
 
 in
 
 stdenv.mkDerivation rec {
   name = "google-talk-plugin-${version}";
-  version = "3.2.4.0";
+  version = "3.5.1.0";
 
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "${baseURL}/google-talkplugin_${version}-1_amd64.deb";
-        sha256 = "0hd8iyv092fr4bz760xjawiad581hphddv608d0dvzy2bhnl17g1";
+        sha256 = "0ml4yirzdcladw11fq5d8lwqfqgb1fh9vpbzbzmhplvyj6mvkqrj";
       }
     else if stdenv.system == "i686-linux" then
       fetchurl {
         url = "${baseURL}/google-talkplugin_${version}-1_i386.deb";
-        sha256 = "13vqs4k16a6bzc5i4zpnakh31nkdqp7m9cv7p16r1sq5smv1331i";
+        sha256 = "1kfd26zygb76iqnr8n3f7k7n9h5bz0rf716n80crqzyasv51mn57";
       }
     else throw "Google Talk does not support your platform.";
 
diff --git a/pkgs/applications/networking/browsers/rekonq/default.nix b/pkgs/applications/networking/browsers/rekonq/default.nix
index 791b73c9c78c..4a46de14f9bc 100644
--- a/pkgs/applications/networking/browsers/rekonq/default.nix
+++ b/pkgs/applications/networking/browsers/rekonq/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, kdelibs, gettext, pkgconfig }:
+{ stdenv, fetchurl, kdelibs, gettext, pkgconfig, shared_desktop_ontologies, qca2, qoauth }:
 
 stdenv.mkDerivation rec {
-  name = "rekonq-0.9.0-1";
+  name = "rekonq-1.1";
 
   src = fetchurl {
-    url = "mirror://sf/rekonq/${name}.tar.bz2";
-    sha256 = "0vri6wdxxi7qkcjpgvscwa7m3ysy62jns924d07arvy8bmg5whc5";
+    url = "mirror://sourceforge/rekonq/${name}.tar.bz2";
+    sha256 = "1bs733mwyfb7bxnial8n49b82ip04sark2mxwlq7ixxsbgq7972l";
   };
 
-  buildInputs = [ kdelibs ];
+  buildInputs = [ kdelibs qca2 qoauth ];
 
-  buildNativeInputs = [ gettext pkgconfig ];
+  buildNativeInputs = [ gettext pkgconfig shared_desktop_ontologies ];
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
diff --git a/pkgs/applications/networking/irc/konversation/default.nix b/pkgs/applications/networking/irc/konversation/default.nix
index 938a26fd785b..c4d2f4b3782b 100644
--- a/pkgs/applications/networking/irc/konversation/default.nix
+++ b/pkgs/applications/networking/irc/konversation/default.nix
@@ -3,15 +3,15 @@
 
 let
   pn = "konversation";
-  v = "1.3.1";
+  v = "1.4";
 in
 
 stdenv.mkDerivation rec {
   name = "${pn}-${v}";
 
   src = fetchurl {
-    url = "mirror://kde/stable/${pn}/${v}/src/${name}.tar.bz2";
-    sha256 = "0wigcvi6lscy14dhm5nh1mkhfx7xxdq9g163pwpd0xndvybrfhfl";
+    url = "mirror://kde/stable/${pn}/${v}/src/${name}.tar.xz";
+    sha256 = "030vsbb18dlzsnjl3fzyd1m9wvvksiyc1lm45abi4q6x4xd60knv";
   };
 
   buildInputs = [ cmake qt4 perl gettext libXScrnSaver kdelibs kdepimlibs
diff --git a/pkgs/applications/networking/p2p/ktorrent/default.nix b/pkgs/applications/networking/p2p/ktorrent/default.nix
index 5f15cbc495f0..b408f20b7110 100644
--- a/pkgs/applications/networking/p2p/ktorrent/default.nix
+++ b/pkgs/applications/networking/p2p/ktorrent/default.nix
@@ -5,14 +5,14 @@ stdenv.mkDerivation rec {
   name = pname + "-" + version;
 
   pname = "ktorrent";
-  version = "4.1.3";
+  version = "4.2.1";
 
   src = fetchurl {
     url = "${meta.homepage}/downloads/${version}/${name}.tar.bz2";
-    sha256 = "0ih68bml6ic3mxk5l4ypgmxwyg9mglp57gw5igrnm5yszm7jz19g";
+    sha256 = "1b6w7i1vvq8mlw9yrlxvb51hvaj6rpl8lv9b9zagyl3wcanz73zd";
   };
 
-  patches = [ ./find-workspace.diff ./drop-taskmanager-dependency.patch ];
+  patches = [ ./find-workspace.diff ];
 
   KDEDIRS = libktorrent;
 
diff --git a/pkgs/applications/networking/p2p/ktorrent/drop-taskmanager-dependency.patch b/pkgs/applications/networking/p2p/ktorrent/drop-taskmanager-dependency.patch
deleted file mode 100644
index 2998b3926798..000000000000
--- a/pkgs/applications/networking/p2p/ktorrent/drop-taskmanager-dependency.patch
+++ /dev/null
@@ -1,175 +0,0 @@
-commit 6d4a6ae51692966862ccb20d17cb217717519d40
-Author: Joris Guisson <joris.guisson@gmail.com>
-Date:   Wed Nov 23 20:17:08 2011 +0100
-
-    Use dbus to show ktorrent window from plasma applet. This removes the dependency on libtaskmanager.
-    
-    BUG: 287309
-Changelog removed by Yury G. Kudryashov
-
-diff --git a/plasma/applet/CMakeLists.txt b/plasma/applet/CMakeLists.txt
-index 3a72241..4307cf2 100644
---- a/plasma/applet/CMakeLists.txt
-+++ b/plasma/applet/CMakeLists.txt
-@@ -5,25 +5,15 @@ if(NOT QT_VERSION_OK)
- 
- else(NOT QT_VERSION_OK)
- 	
--	set(TASKMANAGER_FOUND FALSE)
--	FIND_PATH(TASKMANAGER_INCLUDE_DIR NAMES taskmanager.h  PATHS ${KDE4_INCLUDE_DIR}/taskmanager ${INCLUDE_INSTALL_DIR}/taskmanager.h)
--	FIND_LIBRARY(TASKMANAGER_LIBRARY NAMES taskmanager PATHS ${KDE4_LIB_DIR} ${LIB_INSTALL_DIR})
--
--	if(TASKMANAGER_INCLUDE_DIR AND TASKMANAGER_LIBRARY)
--		set(TASKMANAGER_FOUND TRUE)
--		message(STATUS "Found libtaskmanager: ${TASKMANAGER_LIBRARY} ")
--		include_directories(${TASKMANAGER_INCLUDE_DIR})
--		set(ktapplet_SRCS applet.cpp chunkbar.cpp fadingitem.cpp fadingnavigationwidget.cpp)
--		
--		kde4_add_ui_files(ktapplet_SRCS appletconfig.ui)
--		
--		kde4_add_plugin(plasma_applet_ktorrent ${ktapplet_SRCS})
--		target_link_libraries(plasma_applet_ktorrent  ${KDE4_PLASMA_LIBS} ${KDE4_KIO_LIBS} ${TASKMANAGER_LIBRARY} ${LIBKTORRENT_LIBRARIES} ktcore)
--		
--		install(TARGETS plasma_applet_ktorrent DESTINATION ${PLUGIN_INSTALL_DIR})
--		install(FILES plasma-applet-ktorrent.desktop DESTINATION ${SERVICES_INSTALL_DIR})
--	endif(TASKMANAGER_INCLUDE_DIR AND TASKMANAGER_LIBRARY)
--
--	macro_log_feature(TASKMANAGER_FOUND "libtaskmanager" "libtaskmanager library and header files" "http://www.kde.org/" FALSE "" "libtaskmanager is needed for KTorrent Plasmoid")
-+	
-+	set(ktapplet_SRCS applet.cpp chunkbar.cpp fadingitem.cpp fadingnavigationwidget.cpp)
-+	
-+	kde4_add_ui_files(ktapplet_SRCS appletconfig.ui)
-+	
-+	kde4_add_plugin(plasma_applet_ktorrent ${ktapplet_SRCS})
-+	target_link_libraries(plasma_applet_ktorrent  ${KDE4_PLASMA_LIBS} ${KDE4_KIO_LIBS} ${LIBKTORRENT_LIBRARIES} ktcore)
-+	
-+	install(TARGETS plasma_applet_ktorrent DESTINATION ${PLUGIN_INSTALL_DIR})
-+	install(FILES plasma-applet-ktorrent.desktop DESTINATION ${SERVICES_INSTALL_DIR})
- 
- endif(NOT QT_VERSION_OK)
-diff --git a/plasma/applet/applet.cpp b/plasma/applet/applet.cpp
-index 59e7191..bf09479 100644
---- a/plasma/applet/applet.cpp
-+++ b/plasma/applet/applet.cpp
-@@ -21,6 +21,9 @@
- #include "applet.h"
- #include <QFile>
- #include <QGraphicsLinearLayout>
-+#include <QDBusConnection>
-+#include <QDBusConnectionInterface>
-+#include <QDBusMessage>
- #include <KConfigDialog>
- #include <KLocale>
- #include <KRun>
-@@ -31,12 +34,11 @@
- #include <Plasma/IconWidget>
- #endif
- #include <Plasma/Label>
--#include <taskmanager/taskmanager.h>
--#include <taskmanager/task.h>
- #include <util/functions.h>
- #include "chunkbar.h"
- #include "fadingnavigationwidget.h"
- 
-+
- using namespace bt;
- 
- namespace ktplasma
-@@ -174,7 +176,8 @@ namespace ktplasma
- 		}
- 	}
- 
--	void Applet::updateNavigation() {
-+	void Applet::updateNavigation() 
-+	{
- 		navigation->setEnabled(connected_to_app && !sources.empty()
- 			&& (sources.count() > 1 || !sources.contains(current_source)));
- 	}
-@@ -193,12 +196,14 @@ namespace ktplasma
- 		}
- 	}
- 	
--	void Applet::updateSources() {
-+	void Applet::updateSources() 
-+	{
- 		sources = engine->sources();
- 		sources.removeOne("core");
- 	}
- 
--	void Applet::setSource(QString source) {
-+	void Applet::setSource(QString source) 
-+	{
- 		if (!current_source.isEmpty())
- 			engine->disconnectSource(current_source,this);
- 		clearData();
-@@ -340,20 +345,39 @@ namespace ktplasma
- 
- 	void Applet::iconClicked()
- 	{
--		TaskManager::TaskDict tasks = TaskManager::TaskManager::self()->tasks();
--		for (TaskManager::TaskDict::iterator i = tasks.begin();i != tasks.end();i ++)
-+		QDBusConnection session_bus = QDBusConnection::sessionBus();
-+		QDBusConnectionInterface* dbus_service = session_bus.interface();
-+		if (!session_bus.isConnected() || !dbus_service || !dbus_service->isServiceRegistered("org.ktorrent.ktorrent"))
- 		{
--			if (i.value()->className() == "ktorrent")
--			{
--				KWindowSystem::activateWindow(i.key());
--				return;
--			}
-+			// can't find the window, try launching it
-+			KUrl::List empty;
-+			KRun::run("ktorrent", empty, 0);
-+		}
-+		else
-+		{
-+			QDBusMessage msg = QDBusMessage::createMethodCall("org.ktorrent.ktorrent", "/ktorrent/MainWindow_1", "org.kde.KMainWindow", "winId");
-+			QDBusPendingCall call = session_bus.asyncCall(msg, 5000);
-+			QDBusPendingCallWatcher* watcher = new QDBusPendingCallWatcher(call ,this);
-+			connect(watcher, SIGNAL(finished(QDBusPendingCallWatcher*)), this, SLOT(dbusCallFinished(QDBusPendingCallWatcher*)));
- 		}
--
--		// can't find the window, try launching it
--		KUrl::List empty;
--		KRun::run("ktorrent", empty, 0);
- 	}
-+	
-+	void Applet::dbusCallFinished(QDBusPendingCallWatcher* self)
-+	{
-+		if (self->isError())
-+		{
-+			// call failed, try launching it
-+			KUrl::List empty;
-+			KRun::run("ktorrent", empty, 0);
-+		}
-+		else
-+		{
-+			QDBusPendingReply<qlonglong> reply = *self;
-+			KWindowSystem::activateWindow(reply.value());		
-+		}
-+		self->deleteLater();
-+	}
-+
- 
- 	void Applet::clearData()
- 	{		
-diff --git a/plasma/applet/applet.h b/plasma/applet/applet.h
-index 29b3265..d396118 100644
---- a/plasma/applet/applet.h
-+++ b/plasma/applet/applet.h
-@@ -27,6 +27,7 @@
- #include "fadingnavigationwidget.h"
- 
- class QGraphicsLinearLayout;
-+class QDBusPendingCallWatcher;
- 
- namespace Plasma
- {
-@@ -68,6 +69,7 @@ namespace ktplasma
- 		void iconClicked();
- 		void selectPrev();
- 		void selectNext();
-+		void dbusCallFinished(QDBusPendingCallWatcher* self);
- 		
- 	private:
- 		void updateTorrentCombo();
diff --git a/pkgs/applications/networking/vnstat/default.nix b/pkgs/applications/networking/vnstat/default.nix
index 69a0a7efde83..57afefd7dcdd 100644
--- a/pkgs/applications/networking/vnstat/default.nix
+++ b/pkgs/applications/networking/vnstat/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, ncurses}:
 
 stdenv.mkDerivation rec {
-  name = "vnstat-1.9";
-  
+  name = "vnstat-1.11";
+
   src = fetchurl {
-    url = http://humdi.net/vnstat/vnstat-1.9.tar.gz;
-    sha256 = "1migym0wig1s3b7d22ipxkd1p78sqc89dwx82qbf5hsb5q2fk4q1";
+    url = "http://humdi.net/vnstat/${name}.tar.gz";
+    sha256 = "09p0mlf49zzmh6jzwyvzd9k3jv7bl8i6w8xl65ns3dmv2zc7c65p";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/office/calligra/default.nix b/pkgs/applications/office/calligra/default.nix
index b64338adaf18..152246ee58f2 100644
--- a/pkgs/applications/office/calligra/default.nix
+++ b/pkgs/applications/office/calligra/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, cmake, kdelibs, attica, perl, zlib, libpng, boost, mesa
 , kdepimlibs, createresources ? null, eigen, qca2, exiv2, soprano, marble, lcms2
 , fontconfig, freetype, sqlite, icu, libwpd, libwpg, pkgconfig, popplerQt4
-, libkdcraw, libxslt, fftw, glew, gsl, shared_desktop_ontologies }:
+, libkdcraw, libxslt, fftw, glew, gsl, shared_desktop_ontologies, okular }:
 
 stdenv.mkDerivation rec {
-  name = "calligra-2.4.2";
+  name = "calligra-2.5.0";
 
   src = fetchurl {
     url = "mirror://kde/stable/${name}/${name}.tar.bz2";
-    sha256 = "14wi8mr87aas12f75qi6p8x0pij365sbz4c737qhh4302fh8fsqg";
+    sha256 = "0q6ydi7hzrzwqzb38gikdh1l2zf8qp4i3nkgyb01148bjwrhvf21";
   };
 
   buildNativeInputs = [ cmake perl pkgconfig ];
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ kdelibs attica zlib libpng boost mesa kdepimlibs
     createresources eigen qca2 exiv2 soprano marble lcms2 fontconfig freetype
     sqlite icu libwpd libwpg popplerQt4 libkdcraw libxslt fftw glew gsl
-    shared_desktop_ontologies ];
+    shared_desktop_ontologies okular ];
 
   meta = {
     description = "A Qt/KDE office suite, formely known as koffice";
diff --git a/pkgs/applications/office/openoffice/generate-libreoffice-srcs.sh b/pkgs/applications/office/openoffice/generate-libreoffice-srcs.sh
index 1d751ec7049e..fb8cc8161145 100644
--- a/pkgs/applications/office/openoffice/generate-libreoffice-srcs.sh
+++ b/pkgs/applications/office/openoffice/generate-libreoffice-srcs.sh
@@ -2,17 +2,19 @@
 
 # Take the list of files from the main package, ooo.lst.in
 
-echo '{fetchurl} : ['
+cat <<EOF
+[
+EOF
 
-while read a; do
-
-  URL=http://dev-www.libreoffice.org/src/$a
-
-  MD5=${a::32}
-  echo '(fetchurl {'
-  echo "  url = \"$URL\";"
-  echo "  md5 = \"$MD5\";"
-  echo '})'
+read file
+while read file; do
+  if [[ "$file" == @* ]]; then
+    break
+  fi
+  echo '{'
+  echo "  name = \"${file:33}\";"
+  echo "  md5 = \"${file:0:32}\";"
+  echo '}'
 done
 
 echo ']'
diff --git a/pkgs/applications/office/openoffice/libreoffice-srcs.nix b/pkgs/applications/office/openoffice/libreoffice-srcs.nix
index 6b98e32e46fd..47630e5cfdf3 100644
--- a/pkgs/applications/office/openoffice/libreoffice-srcs.nix
+++ b/pkgs/applications/office/openoffice/libreoffice-srcs.nix
@@ -1,370 +1,374 @@
-{fetchurl} : [
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/48a9f787f43a09c0a9b7b00cd1fddbbf-hyphen-2.7.1.tar.gz";
-  md5 = "48a9f787f43a09c0a9b7b00cd1fddbbf";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/63ddc5116488985e820075e65fbe6aa4-openssl-0.9.8o.tar.gz";
-  md5 = "63ddc5116488985e820075e65fbe6aa4";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/db5ffcd50064421176e8afb7b85fd1a7-pixman-0.24.0.tar.bz2";
-  md5 = "db5ffcd50064421176e8afb7b85fd1a7";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/0b49ede71c21c0599b0cc19b353a6cb3-README_apache-commons.txt";
+[
+{
+  name = "hyphen-2.8.3.tar.gz";
+  md5 = "86261f06c097d3e425a2f6d0b0635380";
+}
+{
+  name = "openssl-0.9.8v.tar.gz";
+  md5 = "51a40a81b3b7abe8a5c33670bd3da0ce";
+}
+{
+  name = "pixman-0.24.4.tar.bz2";
+  md5 = "c63f411b3ad147db2bcce1bf262a0e02";
+}
+{
+  name = "README_apache-commons.txt";
   md5 = "0b49ede71c21c0599b0cc19b353a6cb3";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/e1c178b18f130b40494561f02bc1a948-libexttextcat-3.2.0.tar.bz2";
-  md5 = "e1c178b18f130b40494561f02bc1a948";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip";
+}
+{
+  name = "libexttextcat-3.3.1.tar.bz2";
+  md5 = "6097739c841f671cb21332b9cc593ae7";
+}
+{
+  name = "hsqldb_1_8_0.zip";
   md5 = "17410483b5b5f267aa18b7e00b65e6e0";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/1756c4fa6c616ae15973c104cd8cb256-Adobe-Core35_AFMs-314.tar.gz";
+}
+{
+  name = "Adobe-Core35_AFMs-314.tar.gz";
   md5 = "1756c4fa6c616ae15973c104cd8cb256";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/18f577b374d60b3c760a3a3350407632-STLport-4.5.tar.gz";
+}
+{
+  name = "STLport-4.5.tar.gz";
   md5 = "18f577b374d60b3c760a3a3350407632";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz";
+}
+{
+  name = "xmlsec1-1.2.14.tar.gz";
   md5 = "1f24ab1d39f4a51faf22244c94a6203f";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/24be19595acad0a2cae931af77a0148a-LICENSE_source-9.0.0.7-bj.html";
+}
+{
+  name = "LICENSE_source-9.0.0.7-bj.html";
   md5 = "24be19595acad0a2cae931af77a0148a";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz";
+}
+{
+  name = "lp_solve_5.5.tar.gz";
   md5 = "26b3e95ddf3d9c077c480ea45874b3b8";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/284e768eeda0e2898b0d5bf7e26a016e-raptor-1.4.18.tar.gz";
+}
+{
+  name = "raptor-1.4.18.tar.gz";
   md5 = "284e768eeda0e2898b0d5bf7e26a016e";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/2a177023f9ea8ec8bd00837605c5df1b-jakarta-tomcat-5.0.30-src.tar.gz";
+}
+{
+  name = "jakarta-tomcat-5.0.30-src.tar.gz";
   md5 = "2a177023f9ea8ec8bd00837605c5df1b";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/2ae988b339daec234019a7066f96733e-commons-lang-2.3-src.tar.gz";
+}
+{
+  name = "commons-lang-2.3-src.tar.gz";
   md5 = "2ae988b339daec234019a7066f96733e";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/2c9b0f83ed5890af02c0df1c1776f39b-commons-httpclient-3.1-src.tar.gz";
+}
+{
+  name = "commons-httpclient-3.1-src.tar.gz";
   md5 = "2c9b0f83ed5890af02c0df1c1776f39b";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/0be45d54cc5e1c2e3102e32b8c190346-liberation-fonts-ttf-1.07.1.tar.gz";
+}
+{
+  name = "liberation-fonts-ttf-1.07.1.tar.gz";
   md5 = "0be45d54cc5e1c2e3102e32b8c190346";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip";
+}
+{
+  name = "swingExSrc.zip";
   md5 = "35c94d2df8893241173de1d16b6034c0";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/35efabc239af896dfb79be7ebdd6e6b9-gentiumbasic-fonts-1.10.zip";
+}
+{
+  name = "gentiumbasic-fonts-1.10.zip";
   md5 = "35efabc239af896dfb79be7ebdd6e6b9";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip";
+}
+{
+  name = "sacjava-1.3.zip";
   md5 = "39bb3fcea1514f1369fcfc87542390fd";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz";
+}
+{
+  name = "epm-3.7.tar.gz";
   md5 = "3ade8cfe7e59ca8e65052644fed9fca4";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/3c219630e4302863a9a83d0efde889db-commons-logging-1.1.1-src.tar.gz";
+}
+{
+  name = "commons-logging-1.1.1-src.tar.gz";
   md5 = "3c219630e4302863a9a83d0efde889db";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/48470d662650c3c074e1c3fabbc67bbd-README_source-9.0.0.7-bj.txt";
+}
+{
+  name = "README_source-9.0.0.7-bj.txt";
   md5 = "48470d662650c3c074e1c3fabbc67bbd";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/48d8169acc35f97e05d8dcdfd45be7f2-lucene-2.3.2.tar.gz";
-  md5 = "48d8169acc35f97e05d8dcdfd45be7f2";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/4a660ce8466c9df01f19036435425c3a-glibc-2.1.3-stub.tar.gz";
+}
+{
+  name = "clucene-core-2.3.3.4.tar.gz";
+  md5 = "48d647fbd8ef8889e5a7f422c1bfda94";
+}
+{
+  name = "glibc-2.1.3-stub.tar.gz";
   md5 = "4a660ce8466c9df01f19036435425c3a";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/f101a9e88b783337b20b2e26dfd26d5f-cairo-1.10.2.tar.gz";
+}
+{
+  name = "cairo-1.10.2.tar.gz";
   md5 = "f101a9e88b783337b20b2e26dfd26d5f";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/599dc4cc65a07ee868cf92a667a913d2-xpdf-3.02.tar.gz";
+}
+{
+  name = "xpdf-3.02.tar.gz";
   md5 = "599dc4cc65a07ee868cf92a667a913d2";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/7740a8ec23878a2f50120e1faa2730f2-libxml2-2.7.6.tar.gz";
+}
+{
+  name = "libxml2-2.7.6.tar.gz";
   md5 = "7740a8ec23878a2f50120e1faa2730f2";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/7376930b0d3f3d77a685d94c4a3acda8-STLport-4.5-0119.tar.gz";
+}
+{
+  name = "STLport-4.5-0119.tar.gz";
   md5 = "7376930b0d3f3d77a685d94c4a3acda8";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip";
+}
+{
+  name = "rhino1_5R5.zip";
   md5 = "798b2ffdc8bcfe7bca2cf92b62caf685";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/ecb2e37e45c9933e2a963cabe03670ab-curl-7.19.7.tar.gz";
+}
+{
+  name = "curl-7.19.7.tar.gz";
   md5 = "ecb2e37e45c9933e2a963cabe03670ab";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/8294d6c42e3553229af9934c5c0ed997-stax-api-1.0-2-sources.jar";
+}
+{
+  name = "stax-api-1.0-2-sources.jar";
   md5 = "8294d6c42e3553229af9934c5c0ed997";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/bd30e9cf5523cdfc019b94f5e1d7fd19-cppunit-1.12.1.tar.gz";
+}
+{
+  name = "cppunit-1.12.1.tar.gz";
   md5 = "bd30e9cf5523cdfc019b94f5e1d7fd19";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/a169ab152209200a7bad29a275cb0333-seamonkey-1.1.14.source.tar.gz";
+}
+{
+  name = "seamonkey-1.1.14.source.tar.gz";
   md5 = "a169ab152209200a7bad29a275cb0333";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/a4d9b30810a434a3ed39fc0003bbd637-LICENSE_stax-api-1.0-2-sources.html";
+}
+{
+  name = "LICENSE_stax-api-1.0-2-sources.html";
   md5 = "a4d9b30810a434a3ed39fc0003bbd637";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip";
+}
+{
+  name = "xsltml_2.1.2.zip";
   md5 = "a7983f859eafb2677d7ff386a023bc40";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip";
+}
+{
+  name = "source-9.0.0.7-bj.zip";
   md5 = "ada24d37d8d638b3d8a9985e80bc2978";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/af3c3acf618de6108d65fcdc92b492e1-commons-codec-1.3-src.tar.gz";
+}
+{
+  name = "commons-codec-1.3-src.tar.gz";
   md5 = "af3c3acf618de6108d65fcdc92b492e1";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/bc702168a2af16869201dbe91e46ae48-LICENSE_Python-2.6.1";
+}
+{
+  name = "LICENSE_Python-2.6.1";
   md5 = "bc702168a2af16869201dbe91e46ae48";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/c441926f3a552ed3e5b274b62e86af16-STLport-4.0.tar.gz";
+}
+{
+  name = "STLport-4.0.tar.gz";
   md5 = "c441926f3a552ed3e5b274b62e86af16";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/ca66e26082cab8bb817185a116db809b-redland-1.0.8.tar.gz";
+}
+{
+  name = "redland-1.0.8.tar.gz";
   md5 = "ca66e26082cab8bb817185a116db809b";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/d4c4d91ab3a8e52a2e69d48d34ef4df4-core.zip";
+}
+{
+  name = "core.zip";
   md5 = "d4c4d91ab3a8e52a2e69d48d34ef4df4";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/d70951c80dabecc2892c919ff5d07172-db-4.7.25.NC-custom.tar.gz";
+}
+{
+  name = "db-4.7.25.NC-custom.tar.gz";
   md5 = "d70951c80dabecc2892c919ff5d07172";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/e0707ff896045731ff99e99799606441-README_db-4.7.25.NC-custom.txt";
+}
+{
+  name = "README_db-4.7.25.NC-custom.txt";
   md5 = "e0707ff896045731ff99e99799606441";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/e81c2f0953aa60f8062c05a4673f2be0-Python-2.6.1.tar.bz2";
+}
+{
+  name = "Python-2.6.1.tar.bz2";
   md5 = "e81c2f0953aa60f8062c05a4673f2be0";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/e61d0364a30146aaa3001296f853b2b9-libxslt-1.1.26.tar.gz";
+}
+{
+  name = "libxslt-1.1.26.tar.gz";
   md5 = "e61d0364a30146aaa3001296f853b2b9";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/ea570af93c284aa9e5621cd563f54f4d-bsh-2.0b1-src.tar.gz";
+}
+{
+  name = "bsh-2.0b1-src.tar.gz";
   md5 = "ea570af93c284aa9e5621cd563f54f4d";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/ea91f2fb4212a21d708aced277e6e85a-vigra1.4.0.tar.gz";
+}
+{
+  name = "vigra1.4.0.tar.gz";
   md5 = "ea91f2fb4212a21d708aced277e6e85a";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/ee8b492592568805593f81f8cdf2a04c-expat-2.0.1.tar.gz";
-  md5 = "ee8b492592568805593f81f8cdf2a04c";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/fb7ba5c2182be4e73748859967455455-README_stax-api-1.0-2-sources.txt";
+}
+{
+  name = "expat-2.1.0.tar.gz";
+  md5 = "dd7dab7a5fea97d2a6a43f511449b7cd";
+}
+{
+  name = "README_stax-api-1.0-2-sources.txt";
   md5 = "fb7ba5c2182be4e73748859967455455";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/fca8706f2c4619e2fa3f8f42f8fc1e9d-rasqal-0.9.16.tar.gz";
+}
+{
+  name = "rasqal-0.9.16.tar.gz";
   md5 = "fca8706f2c4619e2fa3f8f42f8fc1e9d";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/fdb27bfe2dbe2e7b57ae194d9bf36bab-SampleICC-1.3.2.tar.gz";
-  md5 = "fdb27bfe2dbe2e7b57ae194d9bf36bab";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/f872f4ac066433d8ff92f5e316b36ff9-dejavu-fonts-ttf-2.33.zip";
+}
+{
+  name = "dejavu-fonts-ttf-2.33.zip";
   md5 = "f872f4ac066433d8ff92f5e316b36ff9";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/0981bda6548a8c8233ffce2b6e4b2a23-mysql-connector-c++-1.1.0.tar.gz";
+}
+{
+  name = "mysql-connector-c++-1.1.0.tar.gz";
   md5 = "0981bda6548a8c8233ffce2b6e4b2a23";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/061a9f17323117c9358ed60f33ecff78-postgresql-9.1.1.tar.bz2";
+}
+{
+  name = "postgresql-9.1.1.tar.bz2";
   md5 = "061a9f17323117c9358ed60f33ecff78";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/067201ea8b126597670b5eff72e1f66c-mythes-1.2.0.tar.gz";
-  md5 = "067201ea8b126597670b5eff72e1f66c";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip";
+}
+{
+  name = "mythes-1.2.2.tar.gz";
+  md5 = "e1e255dc43dbcbb34cb19e8a0eba90ae";
+}
+{
+  name = "libformula-1.1.7.zip";
   md5 = "3404ab6b1792ae5f16bbd603bd1e1d03";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip";
+}
+{
+  name = "libfonts-1.1.6.zip";
   md5 = "3bdf40c0d199af31923e900d082ca2dd";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip";
+}
+{
+  name = "librepository-1.1.6.zip";
   md5 = "8ce2fcd72becf06c41f7201d15373ed9";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip";
+}
+{
+  name = "libloader-1.1.6.zip";
   md5 = "97b2d4dba862397f446b217e2b623e71";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip";
+}
+{
+  name = "libxml-1.1.7.zip";
   md5 = "ace6ab49184e329db254e454a010f56d";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip";
+}
+{
+  name = "flute-1.1.6.zip";
   md5 = "d8bd5eed178db6e2b18eeed243f85aa8";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip";
+}
+{
+  name = "liblayout-0.2.10.zip";
   md5 = "db60e4fde8dd6d6807523deb71ee34dc";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip";
+}
+{
+  name = "libbase-1.1.6.zip";
   md5 = "eeb2c7ddf0d302fba4bfc6e97eac9624";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip";
+}
+{
+  name = "libserializer-1.1.6.zip";
   md5 = "f94d9870737518e3b597f9265f4e9803";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip";
+}
+{
+  name = "flow-engine-0.9.4.zip";
   md5 = "ba2930200c9f019c2d93a8c88c651a0f";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/ff369e69ef0f0143beb5626164e87ae2-neon-0.29.5.tar.gz";
+}
+{
+  name = "neon-0.29.5.tar.gz";
   md5 = "ff369e69ef0f0143beb5626164e87ae2";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/3dd55b952826d2b32f51308f2f91aa89-gettext-0.18.1.1.tar.gz";
+}
+{
+  name = "gettext-0.18.1.1.tar.gz";
   md5 = "3dd55b952826d2b32f51308f2f91aa89";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/9f6e85e1e38490c3956f4415bcd33e6e-glib-2.28.1.tar.gz";
+}
+{
+  name = "glib-2.28.1.tar.gz";
   md5 = "9f6e85e1e38490c3956f4415bcd33e6e";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/a7d6c5f2fe2d481149ed3ba807b5c043-gdk-pixbuf-2.23.0.tar.gz";
+}
+{
+  name = "gdk-pixbuf-2.23.0.tar.gz";
   md5 = "a7d6c5f2fe2d481149ed3ba807b5c043";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/3a84ac2da37cae5bf7ce616228c6fbde-libgsf-1.14.19.tar.gz";
+}
+{
+  name = "libgsf-1.14.19.tar.gz";
   md5 = "3a84ac2da37cae5bf7ce616228c6fbde";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/22ad1c8d3fda7e73b0798035f3dd96bc-pango-1.28.3.tar.gz";
+}
+{
+  name = "pango-1.28.3.tar.gz";
   md5 = "22ad1c8d3fda7e73b0798035f3dd96bc";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/0611e099e807210cf738dcb41425d104-libcroco-0.6.2.tar.gz";
+}
+{
+  name = "libcroco-0.6.2.tar.gz";
   md5 = "0611e099e807210cf738dcb41425d104";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/d7a242ca43e33e1b63d3073f9d46a6a8-librsvg-2.32.1.tar.gz";
+}
+{
+  name = "librsvg-2.32.1.tar.gz";
   md5 = "d7a242ca43e33e1b63d3073f9d46a6a8";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/220035f111ea045a51e290906025e8b5-libpng-1.5.1.tar.gz";
-  md5 = "220035f111ea045a51e290906025e8b5";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/a2c10c04f396a9ce72894beb18b4e1f9-jpeg-8c.tar.gz";
+}
+{
+  name = "libpng-1.5.10.tar.gz";
+  md5 = "9e5d864bce8f06751bbd99962ecf4aad";
+}
+{
+  name = "jpeg-8c.tar.gz";
   md5 = "a2c10c04f396a9ce72894beb18b4e1f9";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/c735eab2d659a96e5a594c9e8541ad63-zlib-1.2.5.tar.gz";
-  md5 = "c735eab2d659a96e5a594c9e8541ad63";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/314e582264c36b3735466c522899aa07-icu4c-4_4_2-src.tgz";
-  md5 = "314e582264c36b3735466c522899aa07";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/451ccf439a36a568653b024534669971-ConvertTextToNumber-1.3.2.oxt";
+}
+{
+  name = "zlib-1.2.7.tar.bz2";
+  md5 = "2ab442d169156f34c379c968f3f482dd";
+}
+{
+  name = "icu4c-49_1_1-src.tgz";
+  md5 = "7c53f83e0327343f4060c0eb83842daf";
+}
+{
+  name = "ConvertTextToNumber-1.3.2.oxt";
   md5 = "451ccf439a36a568653b024534669971";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/b99fb620b1324b4ce79ee6998b507146-JLanguageTool-1.4.0.tar.bz2";
-  md5 = "b99fb620b1324b4ce79ee6998b507146";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/debc62758716a169df9f62e6ab2bc634-zlib-1.2.3.tar.gz";
-  md5 = "debc62758716a169df9f62e6ab2bc634";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/0f63ee487fda8f21fafa767b3c447ac9-ixion-0.2.0.tar.gz";
+}
+{
+  name = "JLanguageTool-1.7.0.tar.bz2";
+  md5 = "b63e6340a02ff1cacfeadb2c42286161";
+}
+{
+  name = "ixion-0.2.0.tar.gz";
   md5 = "0f63ee487fda8f21fafa767b3c447ac9";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/71474203939fafbe271e1263e61d083e-nss-3.12.8-with-nspr-4.8.6.tar.gz";
-  md5 = "71474203939fafbe271e1263e61d083e";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/9d283e02441d8cebdcd1e5d9df227d67-libwpg-0.2.1.tar.bz2";
+}
+{
+  name = "nss-3.13.5-with-nspr-4.9.1.tar.gz";
+  md5 = "a0a861f539f0e7a91d05e6b9457e4db1";
+}
+{
+  name = "libwpg-0.2.1.tar.bz2";
   md5 = "9d283e02441d8cebdcd1e5d9df227d67";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/c01351d7db2b205de755d58769288224-libwpd-0.9.4.tar.bz2";
+}
+{
+  name = "libwpd-0.9.4.tar.bz2";
   md5 = "c01351d7db2b205de755d58769288224";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/34dd7951abbda99b7a75a09993a37965-libwps-0.2.4.tar.bz2";
-  md5 = "34dd7951abbda99b7a75a09993a37965";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/0ff7d225d087793c8c2c680d77aac3e7-mdds_0.5.3.tar.bz2";
+}
+{
+  name = "libwps-0.2.7.tar.bz2";
+  md5 = "d197bd6211669a2fa4ca648faf04bcb1";
+}
+{
+  name = "mdds_0.5.3.tar.bz2";
   md5 = "0ff7d225d087793c8c2c680d77aac3e7";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2";
+}
+{
+  name = "boost_1_44_0.tar.bz2";
   md5 = "f02578f5218f217a9f20e9c30e119c6a";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/3121aaf3e13e5d88dfff13fb4a5f1ab8-hunspell-1.3.2.tar.gz";
+}
+{
+  name = "hunspell-1.3.2.tar.gz";
   md5 = "3121aaf3e13e5d88dfff13fb4a5f1ab8";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/3bf481ca95109b14435125c0dd1f2217-graphite2-1.0.3.tgz";
+}
+{
+  name = "graphite2-1.0.3.tgz";
   md5 = "3bf481ca95109b14435125c0dd1f2217";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/d28864eb2b59bb57b034c0d4662a3cee-libvisio-0.0.15.tar.bz2";
-  md5 = "d28864eb2b59bb57b034c0d4662a3cee";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip";
+}
+{
+  name = "libvisio-0.0.18.tar.bz2";
+  md5 = "a9a1db27688bad49418667b434d29c1f";
+}
+{
+  name = "LinLibertineG-20120116.zip";
   md5 = "e7a384790b13c29113e22e596ade9687";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/7c2549f6b0a8bb604e6c4c729ffdcfe6-libcmis-0.1.0.tar.gz";
-  md5 = "7c2549f6b0a8bb604e6c4c729ffdcfe6";
-})
+}
+{
+  name = "libcmis-0.2.3.tar.gz";
+  md5 = "0d2dcdfbf28d6208751b33057f5361f0";
+}
+{
+  name = "libcdr-0.0.8.tar.bz2";
+  md5 = "ce5a1def34578b75959ac31210f031f6";
+}
+{
+  name = "lcms2-2.3.tar.gz";
+  md5 = "327348d67c979c88c2dec59a23a17d85";
+}
+{
+  name = "libvisio-0.0.19.tar.bz2";
+  md5 = "94e7f271e38c976462558b4278590178";
+}
 ]
diff --git a/pkgs/applications/office/openoffice/libreoffice.nix b/pkgs/applications/office/openoffice/libreoffice.nix
index da786c23c33e..d336266ccaf1 100644
--- a/pkgs/applications/office/openoffice/libreoffice.nix
+++ b/pkgs/applications/office/openoffice/libreoffice.nix
@@ -1,37 +1,59 @@
 { stdenv, fetchurl, pam, python, tcsh, libxslt, perl, ArchiveZip
-, CompressZlib, zlib, libjpeg, expat, pkgconfig, freetype, libwpd
+, CompressZlib, zlib, libjpeg, expat, pkgconfigUpstream, freetype, libwpd
 , libxml2, db4, sablotron, curl, libXaw, fontconfig, libsndfile, neon
 , bison, flex, zip, unzip, gtk, libmspack, getopt, file, cairo, which
 , icu, boost, jdk, ant, libXext, libX11, libXtst, libXi, cups
 , libXinerama, openssl, gperf, cppunit, GConf, ORBit2, poppler
 , librsvg, gnome_vfs, gstreamer, gst_plugins_base, mesa
-, autoconf, automake, openldap, bash
+, autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
+, libwpg, dbus_glib, qt4, kde4, clucene_core_2, libcdr, lcms2, vigra
+, libiodbc, mdds, saneBackends, mythes, libexttextcat, libvisio
 , fontsConf
 , langs ? [ "en-US" "en-GB" "ca" "ru" "eo" "fr" "nl" "de" ]
 }:
 
 let
   langsSpaces = stdenv.lib.concatStringsSep " " langs;
-in
-stdenv.mkDerivation rec {
-  name = "libreoffice-3.5.1.2";
-
-  srcs_download = import ./libreoffice-srcs.nix { inherit fetchurl; };
-
-  src_translation = fetchurl {
-    url = "http://download.documentfoundation.org/libreoffice/src/3.5.1/libreoffice-translations-3.5.1.2.tar.xz";
-    sha256 = "cf8ed662f7d0a679bd3a242a7f88cf445b769afdcd8a3d3df655d774f296972a";
+  major = "3";
+  minor = "6";
+  patch = "1";
+  tweak = "2";
+  subdir = "${major}.${minor}.${patch}";
+  version = "${subdir}.${tweak}";
+  fetchThirdParty = {name, md5}: fetchurl {
+    inherit name md5;
+    url = "http://dev-www.libreoffice.org/src/${md5}-${name}";
   };
-
-  src_help = fetchurl {
-    url = "http://download.documentfoundation.org/libreoffice/src/3.5.1/libreoffice-help-3.5.1.2.tar.xz";
-    sha256 = "43b07225854b1c8b3195b252453b8e97d2d58d83909bf4b5f920cb08b7f33e30";
+  fetchSrc = {name, sha256}: fetchurl {
+    url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${name}-${version}.tar.xz";
+    inherit sha256;
   };
-
-  src = fetchurl {
-    url = "http://download.documentfoundation.org/libreoffice/src/3.5.1/libreoffice-core-3.5.1.2.tar.xz";
-    sha256 = "61cd12e20fb9460178fc6f08100a9a189c2390c21e2e47eb66e07a5b0ce5cd94";
+  srcs = {
+    third_party = [ (fetchurl rec {
+        url = "http://dev-www.libreoffice.org/extern/${md5}-${name}";
+        md5 = "185d60944ea767075d27247c3162b3bc";
+        name = "unowinreg.dll";
+      }) ] ++ (map fetchThirdParty (import ./libreoffice-srcs.nix));
+    translations = fetchSrc {
+      name = "translations";
+      sha256 = "0id4ad8h3fl4s2ax6r4w4af74xvagkv0qwy50f483lqq3a3pl7fl";
+    };
+
+    help = fetchSrc {
+      name = "help";
+      sha256 = "0jd3l3rkhmdvrvgklkmrh9zsg9hlv3vhy6s97fnzhpzr90sjqrs1";
+    };
+
+    core = fetchSrc {
+      name = "core";
+      sha256 = "12zc0zviy1p3gk1v5nm4ks4rzscn68lpnl3kis4q693zhsk8jyh3";
+    };
   };
+in
+stdenv.mkDerivation rec {
+  name = "libreoffice-${version}";
+
+  src = srcs.core;
 
   # Openoffice will open libcups dynamically, so we link it directly
   # to make its dlopen work.
@@ -40,47 +62,44 @@ stdenv.mkDerivation rec {
   # If we call 'configure', 'make' will then call configure again without parameters.
   # It's their system.
   configureScript = "./autogen.sh";
+  dontUseCmakeConfigure = true;
+
+  postUnpack = ''
+    mkdir -v $sourceRoot/src
+  '' + (stdenv.lib.concatMapStrings (f: "ln -sv ${f} $sourceRoot/src/${f.outputHash}-${f.name}\n") srcs.third_party)
+  + ''
+    ln -sv ${srcs.help} $sourceRoot/src/${srcs.help.name}
+    ln -sv ${srcs.translations} $sourceRoot/src/${srcs.translations.name}
+  '';
 
-  preConfigure = ''
-    tar xf $src_translation
-    # Libreoffice expects by default the translations in ./translations
-    mv libreoffice-translations-3.5.1.2/translations .
-    tar xf $src_help
-    # Libreoffice expects by default the help in ./helpcontent2
-    mv libreoffice-help-3.5.1.2/helpcontent2 .
-
-    sed -i 's,/bin/bash,${bash}/bin/bash,' sysui/desktop/share/makefile.mk solenv/bin/localize
-    sed -i 's,/usr/bin/env bash,${bash}/bin/bash,' bin/unpack-sources \
-      solenv/bin/install-gdb-printers solenv/bin/striplanguagetags.sh
-
-    sed -i 's,/usr/bin/env perl,${perl}/bin/perl,' solenv/bin/concat-deps.pl solenv/bin/ooinstall
+  patchPhase = ''
+    find . -type f -print0 | xargs -0 sed -i \
+      -e 's,! */bin/bash,!${bash}/bin/bash,' -e 's,\(!\|SHELL=\) */usr/bin/env bash,\1${bash}/bin/bash,' \
+      -e 's,! */usr/bin/perl,!${perl}/bin/perl,' -e 's,! */usr/bin/env perl,!${perl}/bin/perl,' \
+      -e 's,! */usr/bin/python,!${python}/bin/python,' -e 's,! */usr/bin/env python,!${python}/bin/python,'
     sed -i 's,ANT_OPTS+="\(.*\)",ANT_OPTS+=\1,' apache-commons/java/*/makefile.mk
+  '';
 
+  QT4DIR = qt4;
+  KDE4DIR = kde4.kdelibs;
+
+  # I set --with-num-cpus=$NIX_BUILD_CORES, as it's the equivalent of
+  # enableParallelBuilding=true in this build system.
+  preConfigure = ''
     # Needed to find genccode
     PATH=$PATH:${icu}/sbin
 
-    configureFlagsArray=("--with-lang=${langsSpaces}")
+    configureFlagsArray=("--with-lang=${langsSpaces}" "--with-num-cpus=$NIX_BUILD_CORES")
   '';
 
+  makeFlags = "SHELL=${bash}/bin/bash";
+
   buildPhase = ''
     # This is required as some cppunittests require fontconfig configured
     export FONTCONFIG_FILE=${fontsConf}
-    mkdir src
-    for a in $srcs_download; do
-      FILE=$(basename $a)
-      # take out the hash
-      cp -v $a src/$(echo $FILE | sed 's/[^-]*-//')
-    done
-
-    # Remove an exit 1, ignoring the lack of wget or curl
-    sed '/wget nor curl/{n;d}' -i download
-    ./download
 
     # Fix sysui: wants to create a tar for root
     sed -i -e 's,--own.*root,,' sysui/desktop/slackware/makefile.mk
-    # Fix redland: wants to set rpath to /usr/local/lib
-    sed -i -e 's,^CONFIGURE_FLAGS.*,& --prefix='$TMPDIR, redland/redland/makefile.mk \
-      redland/raptor/makefile.mk redland/rasqal/makefile.mk
 
     # This to aovid using /lib:/usr/lib at linking
     sed -i '/gb_LinkTarget_LDFLAGS/{ n; /rpath-link/d;}' solenv/gbuild/platform/unxgcc.mk
@@ -99,27 +118,29 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [
-    "--enable-verbose"
+    #"--enable-verbose"
 
     # Without these, configure does not finish
     "--without-junit"
-    "--without-system-mythes"
 
     # Without this, it wants to download
+    "--enable-python=system"
+    "--enable-dbus"
+    "--enable-kde4"
+    "--disable-odk"
     "--with-system-cairo"
     "--with-system-libs"
-    "--enable-python=system"
-    "--with-system-boost"
+    "--with-boost-libdir=${boost}/lib"
     "--with-system-db"
+    "--with-openldap" "--enable-ldap"
+    "--without-system-libwps"
+    "--without-doxygen"
 
     # I imagine this helps. Copied from go-oo.
     "--disable-epm"
     "--disable-mathmldtd"
     "--disable-mozilla"
-    "--disable-odk"
-    "--disable-dbus"
     "--disable-kde"
-    "--disable-kde4"
     "--disable-postgresql-sdbc"
     "--with-package-format=native"
     "--with-jdk-home=${jdk}"
@@ -131,31 +152,25 @@ stdenv.mkDerivation rec {
     "--without-system-beanshell"
     "--without-system-hsqldb"
     "--without-system-jars"
-    "--without-system-hunspell"
     "--without-system-altlinuxhyph"
     "--without-system-lpsolve"
     "--without-system-graphite"
-    "--without-system-mozilla"
-    "--without-system-libwps"
-    "--without-system-libwpg"
-    "--without-system-redland"
-    "--without-system-libvisio"
+    "--without-system-mozilla-headers"
     "--without-system-libcmis"
-    "--without-system-nss"
-    "--without-system-sampleicc"
-    "--without-system-libexttextcat"
 
     "--with-java-target-version=1.6" # The default 1.7 not supported
   ];
 
-  buildInputs = [
-    pam python tcsh libxslt perl ArchiveZip CompressZlib zlib 
-    libjpeg expat pkgconfig freetype libwpd libxml2 db4 sablotron curl 
-    libXaw fontconfig libsndfile neon bison flex zip unzip gtk libmspack 
-    getopt file jdk cairo which icu boost libXext libX11 libXtst libXi mesa
-    cups libXinerama openssl gperf GConf ORBit2 gnome_vfs gstreamer gst_plugins_base
-    ant autoconf openldap cppunit poppler librsvg automake
-  ];
+  buildInputs =
+    [ ant ArchiveZip autoconf automake bison boost cairo clucene_core_2
+      CompressZlib cppunit cups curl db4 dbus_glib expat file flex fontconfig
+      freetype GConf getopt gnome_vfs gperf gst_plugins_base gstreamer gtk
+      hunspell icu jdk kde4.kdelibs lcms2 libcdr libexttextcat libiodbc libjpeg
+      libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11
+      libXaw libXext libXi libXinerama libxml2 libxslt libXtst mdds mesa mythes
+      neon nspr nss openldap openssl ORBit2 pam perl pkgconfigUpstream poppler
+      python sablotron saneBackends tcsh unzip vigra which zip zlib
+    ];
 
   meta = {
     description = "Libre-office, variant of openoffice.org";
diff --git a/pkgs/applications/office/skrooge/default.nix b/pkgs/applications/office/skrooge/default.nix
index 9b27a3e23797..44ffdf57db58 100644
--- a/pkgs/applications/office/skrooge/default.nix
+++ b/pkgs/applications/office/skrooge/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, kdelibs, grantlee, qca2, libofx, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "skrooge-1.3.0";
+  name = "skrooge-1.3.2";
 
   src = fetchurl {
     url = "http://skrooge.org/files/${name}.tar.bz2";
-    sha256 = "1sfzzn9xz01c0095w4scckiiwv2gfbaxx05h7ds5n02a113w53kz";
+    sha256 = "18j36yamxzfwpnnnjiach22q9088c2nlcilzh2p24gjhgnnd0v6r";
   };
 
   buildInputs = [ kdelibs grantlee qca2 libofx ];
diff --git a/pkgs/applications/version-management/mr/default.nix b/pkgs/applications/version-management/mr/default.nix
index ca272504517a..9e8024d7b191 100644
--- a/pkgs/applications/version-management/mr/default.nix
+++ b/pkgs/applications/version-management/mr/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchgit, fetchgitrevision, perl }:
+{ stdenv, fetchurl, perl }:
 
 stdenv.mkDerivation rec {
 
-  version = "1.12";
+  version = "1.13";
   name = "mr-" + version;
 
-  src = fetchgit {
-    url = "git://git.kitenet.net/mr.git";
-    rev = "353f63c968368edea9b14261f510c34ce4e0c97f";
+  src = fetchurl {
+    url = "http://ftp.de.debian.org/debian/pool/main/m/mr/mr_${version}.tar.gz";
+    sha256 = "1q3qxk8dwbv30v2xxh852wnwl1msgkvk5cgxyicpqj8kh5b96zlz";
   };
 
   buildInputs = [perl];
@@ -17,12 +17,11 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    ensureDir $out/bin
-    ensureDir $out/share/man/man1
-    cp mr $out/bin
-    cp webcheckout $out/bin
-    cp mr.1 $out/share/man/man1
-    cp webcheckout.1 $out/share/man/man1
+    mkdir -pv $out/bin $out/share/man/man1
+    cp -v mr $out/bin
+    cp -v webcheckout $out/bin
+    cp -v mr.1 $out/share/man/man1
+    cp -v webcheckout.1 $out/share/man/man1
   '';
       
   meta = {
diff --git a/pkgs/applications/video/bangarang/default.nix b/pkgs/applications/video/bangarang/default.nix
index 2fe4b4d0bdc2..0bc7476dc820 100644
--- a/pkgs/applications/video/bangarang/default.nix
+++ b/pkgs/applications/video/bangarang/default.nix
@@ -1,13 +1,14 @@
 { stdenv, fetchurl, cmake, qt4, kdelibs, automoc4, phonon, soprano, shared_desktop_ontologies, kdemultimedia, taglib, glibc, gettext }:
 stdenv.mkDerivation rec {
-  name = "bangarang-2.0";
+  name = "bangarang-2.1";
 
   src = fetchurl {
     url = "http://bangarangissuetracking.googlecode.com/files/${name}.tar.gz";
-    sha256 = "1fixqx56k0mk0faz35rzpdg6zaa0mvm4548rg0g7fhafl35fxzlz";
+    sha256 = "1g4pap79k8qaqi0py34xqvisxln1nc5hbvph692ah3af06n6cly1";
   };
 
-  buildInputs = [ cmake qt4 kdelibs automoc4 phonon soprano shared_desktop_ontologies kdemultimedia taglib glibc gettext ];
+  buildInputs = [ kdelibs phonon soprano shared_desktop_ontologies kdemultimedia taglib gettext ];
+  buildNativeInputs = [ cmake ];
 
   meta = with stdenv.lib; {
     description = "A media player for KDE based on Nepomuk and Phonon";
@@ -17,7 +18,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://bangarangkde.wordpress.com/;
     license = "GPLv3";
-    maintainers = [ maintainers.phreedom ];
+    maintainers = [ maintainers.phreedom maintainers.urkud ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/video/kdenlive/default.nix b/pkgs/applications/video/kdenlive/default.nix
index d8620eb33cdd..b518e9c7456a 100644
--- a/pkgs/applications/video/kdenlive/default.nix
+++ b/pkgs/applications/video/kdenlive/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, lib, cmake, qt4, perl, kdelibs, automoc4, phonon
 , mlt, gettext , qimageblitz, qjson, shared_mime_info, soprano
-, pkgconfig }:
+, pkgconfig, shared_desktop_ontologies }:
 
 stdenv.mkDerivation rec {
   name = "kdenlive-${version}";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = 
     [ cmake qt4 perl kdelibs automoc4 phonon mlt gettext qimageblitz
-      qjson shared_mime_info soprano pkgconfig 
+      qjson shared_mime_info soprano pkgconfig shared_desktop_ontologies
     ];
 
   meta = {
diff --git a/pkgs/applications/virtualization/xen/default.nix b/pkgs/applications/virtualization/xen/default.nix
index d898daad2a77..3cb16a6b4425 100644
--- a/pkgs/applications/virtualization/xen/default.nix
+++ b/pkgs/applications/virtualization/xen/default.nix
@@ -6,7 +6,7 @@ with stdenv.lib;
 
 let
 
-  version = "4.1.2";
+  version = "4.0.3";
 
   libDir = if stdenv.is64bit then "lib64" else "lib";
 
@@ -30,24 +30,23 @@ let
       }
     ];
 
-  ipxeSrc =
-      { url = http://xenbits.xensource.com/xen-extfiles/ipxe-git-v1.0.0.tar.gz;
-        sha256 = "d3128bfda9a1542049c278755f85bbcbb8441da7bfd702d511ce237fcf86a723";
-      };
-in
+in 
 
 stdenv.mkDerivation {
   name = "xen-${version}";
 
   src = fetchurl {
     url = "http://bits.xensource.com/oss-xen/release/${version}/xen-${version}.tar.gz";
-    sha256 = "7d9c93057cf480d3f1efa792b19285a84fa3c06060ea5c5c453be00887389b0d";
+    sha256 = "0p4i7mm8cdsr8i9z3dij6nriyvz6la2rhm7jkyk2n8h62nnxi1b5";
   };
 
   patches =
     [ # Xen looks for headers in /usr/include and for libraries using
       # ldconfig.  Don't do that.
       ./has-header.patch
+
+      # GCC 4.5 compatibility.
+      ./gcc-4.5.patch
     ];
 
   buildInputs =
@@ -80,6 +79,9 @@ stdenv.mkDerivation {
       substituteInPlace tools/xenstat/Makefile \
         --replace /usr/include/curses.h ${ncurses}/include/curses.h
 
+      substituteInPlace tools/ioemu-qemu-xen/xen-hooks.mak \
+        --replace /usr/include/pci ${pciutils}/include/pci
+
       # Work around a bug in our GCC wrapper: `gcc -MF foo -v' doesn't
       # print the GCC version number properly.
       substituteInPlace xen/Makefile \
@@ -103,18 +105,12 @@ stdenv.mkDerivation {
         --replace 'XENDOM_CONFIG=/etc/sysconfig/xendomains' "" \
         --replace /bin/ls ls
 
-      grep -rl /etc/xen * | xargs sed -i 's|/etc/xen|$out/etc/xen|g'
-
       # Xen's stubdoms need various sources that it usually fetches at
       # build time using wget.  We can't have that.
       ${flip concatMapStrings stubdomSrcs (x: let src = fetchurl x; in ''
         cp ${src} stubdom/${src.name}
       '')}
 
-      ${let src = fetchurl ipxeSrc; in ''
-        cp ${src} tools/firmware/etherboot/ipxe.tar.gz
-      ''}
-
       # Hack to get `gcc -m32' to work without having 32-bit Glibc headers.
       mkdir -p tools/include/gnu
       touch tools/include/gnu/stubs-32.h
diff --git a/pkgs/applications/virtualization/xen/gcc-4.5.patch b/pkgs/applications/virtualization/xen/gcc-4.5.patch
new file mode 100644
index 000000000000..a8412d69fd3f
--- /dev/null
+++ b/pkgs/applications/virtualization/xen/gcc-4.5.patch
@@ -0,0 +1,39 @@
+http://lists.xensource.com/archives/html/xen-devel/2010-07/msg01276.html
+
+diff -ru -x '*~' xen-4.0.1-orig//extras/mini-os/arch/x86/mm.c xen-4.0.1//extras/mini-os/arch/x86/mm.c
+--- xen-4.0.1-orig//extras/mini-os/arch/x86/mm.c	2010-08-25 12:22:07.000000000 +0200
++++ xen-4.0.1//extras/mini-os/arch/x86/mm.c	2010-12-22 20:10:05.000000000 +0100
+@@ -281,7 +281,7 @@
+ /*
+  * Mark portion of the address space read only.
+  */
+-extern void shared_info;
++extern char shared_info[PAGE_SIZE]; 
+ static void set_readonly(void *text, void *etext)
+ {
+     unsigned long start_address =
+diff -ru -x '*~' xen-4.0.1-orig//extras/mini-os/minios.mk xen-4.0.1//extras/mini-os/minios.mk
+--- xen-4.0.1-orig//extras/mini-os/minios.mk	2010-08-25 12:22:07.000000000 +0200
++++ xen-4.0.1//extras/mini-os/minios.mk	2010-12-22 20:03:11.000000000 +0100
+@@ -10,6 +10,7 @@
+ DEF_CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
+ DEF_CFLAGS += $(call cc-option,$(CC),-fgnu89-inline)
+ DEF_CFLAGS += -Wstrict-prototypes -Wnested-externs -Wpointer-arith -Winline
++DEF_CFLAGS += -Wno-uninitialized
+ DEF_CPPFLAGS += -D__XEN_INTERFACE_VERSION__=$(XEN_INTERFACE_VERSION)
+ 
+ DEF_ASFLAGS += -D__ASSEMBLY__
+diff -ru -x '*~' xen-4.0.1-orig//extras/mini-os/netfront.c xen-4.0.1//extras/mini-os/netfront.c
+--- xen-4.0.1-orig//extras/mini-os/netfront.c	2010-08-25 12:22:07.000000000 +0200
++++ xen-4.0.1//extras/mini-os/netfront.c	2010-12-22 19:56:59.000000000 +0100
+@@ -25,8 +25,8 @@
+ 
+ 
+ 
+-#define NET_TX_RING_SIZE __RING_SIZE((struct netif_tx_sring *)0, PAGE_SIZE)
+-#define NET_RX_RING_SIZE __RING_SIZE((struct netif_rx_sring *)0, PAGE_SIZE)
++#define NET_TX_RING_SIZE __CONST_RING_SIZE(netif_tx, PAGE_SIZE)
++#define NET_RX_RING_SIZE __CONST_RING_SIZE(netif_rx, PAGE_SIZE)
+ #define GRANT_INVALID_REF 0
+ 
+