about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-12-17 20:39:58 +0000
committerLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-12-17 20:39:58 +0000
commitb48b2a7bb4add41c33f680df0117e3c92cc0515b (patch)
tree2f7451135e2dd9619e142529c4672d0317b12312
parente60ba9135a90808a3443d09fbd92f2259e9deea8 (diff)
parenta6f1f87697768e39c5ed7f1e475b3002e1418d46 (diff)
downloadnixlib-b48b2a7bb4add41c33f680df0117e3c92cc0515b.tar
nixlib-b48b2a7bb4add41c33f680df0117e3c92cc0515b.tar.gz
nixlib-b48b2a7bb4add41c33f680df0117e3c92cc0515b.tar.bz2
nixlib-b48b2a7bb4add41c33f680df0117e3c92cc0515b.tar.lz
nixlib-b48b2a7bb4add41c33f680df0117e3c92cc0515b.tar.xz
nixlib-b48b2a7bb4add41c33f680df0117e3c92cc0515b.tar.zst
nixlib-b48b2a7bb4add41c33f680df0117e3c92cc0515b.zip
Merging from trunk. I solved some trivial merge conflicts.
svn path=/nixpkgs/branches/stdenv-updates/; revision=25188
-rwxr-xr-xmaintainers/scripts/nix-call-package5
-rw-r--r--pkgs/applications/editors/nvi/default.nix6
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix4
-rw-r--r--pkgs/applications/misc/evopedia/default.nix25
-rw-r--r--pkgs/applications/networking/browsers/firefox/3.6.nix10
-rw-r--r--pkgs/applications/networking/browsers/firefox/symlinks-bug551152.patch139
-rw-r--r--pkgs/applications/networking/browsers/opera/builder.sh8
-rw-r--r--pkgs/applications/networking/browsers/opera/default.nix15
-rw-r--r--pkgs/applications/version-management/fossil/default.nix4
-rw-r--r--pkgs/applications/version-management/veracity/src-for-default.nix8
-rw-r--r--pkgs/data/misc/xkeyboard-config/level3-deadkeys-us-intl8
-rw-r--r--pkgs/desktops/kde-4.5/accessibility/color-schemes.nix2
-rw-r--r--pkgs/desktops/kde-4.5/accessibility/icon-themes.nix2
-rw-r--r--pkgs/desktops/kde-4.5/accessibility/jovie.nix2
-rw-r--r--pkgs/desktops/kde-4.5/accessibility/kmag.nix2
-rw-r--r--pkgs/desktops/kde-4.5/accessibility/kmousetool.nix2
-rw-r--r--pkgs/desktops/kde-4.5/accessibility/kmouth.nix2
-rw-r--r--pkgs/desktops/kde-4.5/admin/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/artwork/aurorae.nix2
-rw-r--r--pkgs/desktops/kde-4.5/artwork/color-schemes.nix2
-rw-r--r--pkgs/desktops/kde-4.5/artwork/desktop-themes.nix2
-rw-r--r--pkgs/desktops/kde-4.5/artwork/emoticons.nix2
-rw-r--r--pkgs/desktops/kde-4.5/artwork/high-resolution-wallpapers.nix2
-rw-r--r--pkgs/desktops/kde-4.5/artwork/kscreensaver.nix2
-rw-r--r--pkgs/desktops/kde-4.5/artwork/nuvola-icon-theme.nix2
-rw-r--r--pkgs/desktops/kde-4.5/artwork/phase-style.nix2
-rw-r--r--pkgs/desktops/kde-4.5/artwork/sounds.nix2
-rw-r--r--pkgs/desktops/kde-4.5/artwork/wallpapers.nix2
-rw-r--r--pkgs/desktops/kde-4.5/artwork/weather-wallpapers.nix2
-rw-r--r--pkgs/desktops/kde-4.5/base-runtime/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/base-workspace/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/base/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/bindings/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/edu/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/games/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/graphics/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/kde-package/default.nix24
-rwxr-xr-xpkgs/desktops/kde-4.5/kde-package/kde-manifest.sh30
-rw-r--r--pkgs/desktops/kde-4.5/kde-package/manifest-4.5.4.nix82
-rw-r--r--pkgs/desktops/kde-4.5/kde-package/manifest.nix94
-rw-r--r--pkgs/desktops/kde-4.5/l10n/default.nix4
-rw-r--r--pkgs/desktops/kde-4.5/l10n/manifest-4.5.4.nix222
-rw-r--r--pkgs/desktops/kde-4.5/libs/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/multimedia/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/network/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/pim-runtime/default.nix15
-rw-r--r--pkgs/desktops/kde-4.5/pim/default.nix15
-rw-r--r--pkgs/desktops/kde-4.5/pimlibs/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/plasma-addons/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/sdk/cervisia.nix2
-rw-r--r--pkgs/desktops/kde-4.5/sdk/dolphin-plugins.nix2
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kapptemplate.nix2
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kate.nix2
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kbugbuster.nix2
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kcachegrind.nix2
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kdeaccounts-plugin.nix2
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kioslave-perldoc.nix2
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kioslave-svn.nix2
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kmtrace.nix2
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kompare.nix2
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kpartloader.nix2
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kprofilemethod.nix2
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kstartperf.nix2
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kuiviewer.nix2
-rw-r--r--pkgs/desktops/kde-4.5/sdk/lokalize.nix2
-rw-r--r--pkgs/desktops/kde-4.5/sdk/poxml.nix2
-rw-r--r--pkgs/desktops/kde-4.5/sdk/scripts.nix2
-rw-r--r--pkgs/desktops/kde-4.5/sdk/strigi-analyzer.nix2
-rw-r--r--pkgs/desktops/kde-4.5/sdk/umbrello.nix2
-rw-r--r--pkgs/desktops/kde-4.5/support/oxygen-icons/default.nix4
-rw-r--r--pkgs/desktops/kde-4.5/support/polkit-qt-1/default.nix12
-rw-r--r--pkgs/desktops/kde-4.5/toys/amor.nix2
-rw-r--r--pkgs/desktops/kde-4.5/toys/kteatime.nix2
-rw-r--r--pkgs/desktops/kde-4.5/toys/ktux.nix2
-rw-r--r--pkgs/desktops/kde-4.5/utils/ark.nix2
-rw-r--r--pkgs/desktops/kde-4.5/utils/kcalc.nix2
-rw-r--r--pkgs/desktops/kde-4.5/utils/kcharselect.nix2
-rw-r--r--pkgs/desktops/kde-4.5/utils/kdf.nix2
-rw-r--r--pkgs/desktops/kde-4.5/utils/kfloppy.nix2
-rw-r--r--pkgs/desktops/kde-4.5/utils/kgpg.nix2
-rw-r--r--pkgs/desktops/kde-4.5/utils/kremotecontrol.nix2
-rw-r--r--pkgs/desktops/kde-4.5/utils/ktimer.nix2
-rw-r--r--pkgs/desktops/kde-4.5/utils/kwallet.nix2
-rw-r--r--pkgs/desktops/kde-4.5/utils/okteta.nix2
-rw-r--r--pkgs/desktops/kde-4.5/utils/printer-applet.nix2
-rw-r--r--pkgs/desktops/kde-4.5/utils/superkaramba.nix2
-rw-r--r--pkgs/desktops/kde-4.5/utils/sweeper.nix2
-rw-r--r--pkgs/desktops/kde-4.5/webdev/kfilereplace.nix2
-rw-r--r--pkgs/desktops/kde-4.5/webdev/kimagemapeditor.nix2
-rw-r--r--pkgs/desktops/kde-4.5/webdev/klinkstatus.nix2
-rw-r--r--pkgs/desktops/kde-4.5/webdev/kommander.nix2
-rw-r--r--pkgs/development/compilers/eql/default.nix1
-rw-r--r--pkgs/development/compilers/ocaml/3.11.1.nix2
-rw-r--r--pkgs/development/interpreters/php/5.3.nix4
-rw-r--r--pkgs/development/libraries/box2d/2.0.1.nix82
-rw-r--r--pkgs/development/libraries/box2d/default.nix59
-rw-r--r--pkgs/development/libraries/enchant/default.nix12
-rw-r--r--pkgs/development/libraries/exiv2/default.nix13
-rw-r--r--pkgs/development/libraries/hunspell/default.nix4
-rw-r--r--pkgs/development/libraries/icu/default.nix6
-rw-r--r--pkgs/development/libraries/iso-codes/default.nix15
-rw-r--r--pkgs/development/libraries/poppler/default.nix35
-rw-r--r--pkgs/development/ocaml-modules/batteries/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/camlzip/META27
-rw-r--r--pkgs/development/ocaml-modules/camlzip/default.nix21
-rw-r--r--pkgs/development/ocaml-modules/camlzip/makefile.patch50
-rw-r--r--pkgs/development/ocaml-modules/camomile/0.7.3.nix4
-rw-r--r--pkgs/development/ocaml-modules/camomile/0.8.1.nix4
-rw-r--r--pkgs/development/ocaml-modules/cryptgps/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/cryptokit/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/lwt/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/menhir/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ocamlnet/default.nix43
-rw-r--r--pkgs/development/ocaml-modules/ounit/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/pcre/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/react/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/sqlite3/default.nix35
-rw-r--r--pkgs/development/ocaml-modules/ssl/default.nix4
-rw-r--r--pkgs/games/the-butterfly-effect/default.nix65
-rw-r--r--pkgs/misc/cups/default.nix10
-rw-r--r--pkgs/misc/cups/pdf-filter.nix43
-rw-r--r--pkgs/os-specific/linux/kernel/linux-2.6.36.nix4
-rw-r--r--pkgs/servers/games/ghost-one/default.nix53
-rw-r--r--pkgs/servers/sql/mysql/jdbc/default.nix6
-rw-r--r--pkgs/servers/sql/postgresql/8.3.x.nix4
-rw-r--r--pkgs/servers/sql/postgresql/8.4.x.nix4
-rw-r--r--pkgs/servers/sql/postgresql/9.0.x.nix27
-rw-r--r--pkgs/tools/misc/hdf5/default.nix4
-rw-r--r--pkgs/tools/misc/rlwrap/default.nix5
-rw-r--r--pkgs/tools/package-management/disnix/DisnixWebService/default.nix4
-rw-r--r--pkgs/tools/package-management/disnix/activation-scripts/default.nix4
-rw-r--r--pkgs/tools/package-management/disnix/default.nix6
-rw-r--r--pkgs/tools/package-management/disnix/disnixos/default.nix12
-rw-r--r--pkgs/tools/package-management/nix/sqlite.nix6
-rw-r--r--pkgs/top-level/all-packages.nix23
-rw-r--r--pkgs/top-level/perl-packages.nix24
137 files changed, 1155 insertions, 478 deletions
diff --git a/maintainers/scripts/nix-call-package b/maintainers/scripts/nix-call-package
new file mode 100755
index 000000000000..76f09e9ddeb8
--- /dev/null
+++ b/maintainers/scripts/nix-call-package
@@ -0,0 +1,5 @@
+#! /bin/sh
+
+echo "let pkgs = import /etc/nixos/nixpkgs$2 {}; x = pkgs.callPackage $1 { $3 }; in ${4:-x}" |
+nix-instantiate --show-trace - |
+xargs nix-store -r -K
diff --git a/pkgs/applications/editors/nvi/default.nix b/pkgs/applications/editors/nvi/default.nix
index ca4c0cba644b..c759f977b0d4 100644
--- a/pkgs/applications/editors/nvi/default.nix
+++ b/pkgs/applications/editors/nvi/default.nix
@@ -4,7 +4,11 @@ stdenv.mkDerivation rec {
   name = "nvi-1.79";
 
   src = fetchurl {
-    url = http://www.cpan.org/src/misc/nvi-1.79.tar.gz;
+    urls =
+      [ "ftp://ftp.eenet.ee/pub/cpan/src/misc/nvi-1.79.tar.gz"
+        "ftp://ftp.saintjoe.edu/pub/CPAN/src/misc/nvi-1.79.tar.gz"
+        "ftp://ftp.free.fr/.mirrors1/ftp.netbsd.org/packages/distfiles/nvi-1.79.tar.gz"
+      ];
     sha256 = "0cvf56rbylz7ksny6g2256sjg8yrsxrmbpk82r64rhi53sm8fnvm";
   };
 
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index 01b72599fb14..08adb7902dae 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, perl, perlXMLParser, gtk, libXft
 , libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm
 , glibmm, libsigcxx, lcms, boost, gettext, makeWrapper, intltool
-, gsl, python, pyxml, lxml }:
+, gsl, python, pyxml, lxml, poppler }:
 
 stdenv.mkDerivation rec {
   name = "inkscape-0.48.0";
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     pkgconfig perl perlXMLParser gtk libXft libpng zlib popt boehmgc
     libxml2 libxslt glib gtkmm glibmm libsigcxx lcms boost gettext
-    makeWrapper intltool gsl
+    makeWrapper intltool gsl poppler
   ];
 
   configureFlags = "--with-python";
diff --git a/pkgs/applications/misc/evopedia/default.nix b/pkgs/applications/misc/evopedia/default.nix
new file mode 100644
index 000000000000..b070b629282c
--- /dev/null
+++ b/pkgs/applications/misc/evopedia/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchgit, bzip2, qt4, libX11}:
+
+stdenv.mkDerivation rec {
+  name = "evopedia-0.4.2";
+
+  src = fetchgit {
+    url = git://gitorious.org/evopedia/evopedia.git;
+    rev = "v0.4.2" ;
+    md5 = "a2f19ed6e4d936c28cee28d44387b682";
+  };
+
+  configurePhase = ''
+    qmake PREFIX=$out
+  '';
+
+  buildInputs = [ bzip2 qt4 libX11 ];
+
+  meta = {
+    description = "Offline Wikipedia Viewer";
+    homepage = http://www.evopedia.info;
+    license = "GPLv3+";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/applications/networking/browsers/firefox/3.6.nix b/pkgs/applications/networking/browsers/firefox/3.6.nix
index 633d0ef78ae3..1aa9ba437d76 100644
--- a/pkgs/applications/networking/browsers/firefox/3.6.nix
+++ b/pkgs/applications/networking/browsers/firefox/3.6.nix
@@ -12,14 +12,14 @@
 
 rec {
 
-  firefoxVersion = "3.6.12";
+  firefoxVersion = "3.6.13";
   
-  xulVersion = "1.9.2.12"; # this attribute is used by other packages
+  xulVersion = "1.9.2.13"; # 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";
-    sha1 = "1cc3885687dd5ad21167d9d45f76eb1458f46bdd";
+    sha1 = "1d1bc70d651bce4006687f5762638563c0494267";
   };
 
 
@@ -46,10 +46,6 @@ rec {
     inherit src;
 
     patches = [
-      # To be removed when the change gets upstream. I don't know if the patch
-      # affects xulrunner or firefox.
-      ./symlinks-bug551152.patch
-
       # Loongson2f related patches:
       ./xulrunner-chromium-mips.patch
       ./xulrunner-mips-n32.patch
diff --git a/pkgs/applications/networking/browsers/firefox/symlinks-bug551152.patch b/pkgs/applications/networking/browsers/firefox/symlinks-bug551152.patch
deleted file mode 100644
index c3c1c541fa0c..000000000000
--- a/pkgs/applications/networking/browsers/firefox/symlinks-bug551152.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-The firefox people has not applied this patch along all the 3.6 releases so in 3.6.4 it is still not there.
-https://bugzilla.mozilla.org/show_bug.cgi?id=551152
-https://bugzilla.mozilla.org/attachment.cgi?id=431403
-
-diff --git a/xpcom/reflect/xptinfo/src/xptiInterfaceInfoManager.cpp b/xpcom/reflect/xptinfo/src/xptiInterfaceInfoManager.cpp
-index 57f6df9..e9909a7 100644
---- a/xpcom/reflect/xptinfo/src/xptiInterfaceInfoManager.cpp
-+++ b/xpcom/reflect/xptinfo/src/xptiInterfaceInfoManager.cpp
-@@ -633,10 +633,6 @@ IndexOfDirectoryOfFile(nsISupportsArray* aSearchPath, nsILocalFile* aFile)
-             aSearchPath->QueryElementAt(i, NS_GET_IID(nsIFile), 
-                                         getter_AddRefs(current));
-             NS_ASSERTION(current, "broken search path! bad element");
--            // nsIFile::Equals basically compares path strings so normalize
--            // before the comparison.
--            parent->Normalize();
--            current->Normalize();
-             PRBool same;
-             if (NS_SUCCEEDED(parent->Equals(current, &same)) && same)
-                 return (int) i;
-diff --git a/xpcom/tests/unit/test_file_equality.js b/xpcom/tests/unit/test_file_equality.js
-index 4f424fe..14ba5a8 100644
---- a/xpcom/tests/unit/test_file_equality.js
-+++ b/xpcom/tests/unit/test_file_equality.js
-@@ -63,7 +63,7 @@ function test_normalized_vs_non_normalized()
- 
-   // this is a non-normalized version of tmp1, it should not equal tmp1
-   tmp2.appendRelativePath(".");
--  do_check_false(tmp1.equals(tmp2));
-+  do_check_true(tmp1.equals(tmp2));
- 
-   // normalize and make sure they are equivalent again
-   tmp2.normalize();
-diff --git a/xulrunner/stub/nsXULStub.cpp b/xulrunner/stub/nsXULStub.cpp
-index dc3a592..b270175 100644
---- a/xulrunner/stub/nsXULStub.cpp
-+++ b/xulrunner/stub/nsXULStub.cpp
-@@ -490,14 +490,6 @@ main(int argc, char **argv)
-              range.lower, range.upper);
-       return 1;
-     }
--#ifdef XP_UNIX
--    // Using a symlinked greDir will fail during startup. Not sure why, but if
--    // we resolve the symlink, everything works as expected.
--    char resolved_greDir[MAXPATHLEN] = "";  
--    if (realpath(greDir, resolved_greDir) && *resolved_greDir) {
--      strncpy(greDir, resolved_greDir, MAXPATHLEN);
--    }
--#endif
-   }
- 
- #ifdef XP_OS2
-diff --git a/xpcom/io/nsLocalFileOSX.mm b/xpcom/io/nsLocalFileOSX.mm
-index bbe2b26..6f51638 100644
---- a/xpcom/io/nsLocalFileOSX.mm
-+++ b/xpcom/io/nsLocalFileOSX.mm
-@@ -1068,6 +1068,9 @@ NS_IMETHODIMP nsLocalFile::Clone(nsIFile **_retval)
- 
- NS_IMETHODIMP nsLocalFile::Equals(nsIFile *inFile, PRBool *_retval)
- {
-+  struct STAT st, inst;
-+  PRBool exists = PR_TRUE;
-+
-   NS_ENSURE_ARG(inFile);
-   NS_ENSURE_ARG_POINTER(_retval);
-   *_retval = PR_FALSE;
-@@ -1077,7 +1080,27 @@ NS_IMETHODIMP nsLocalFile::Equals(nsIFile *inFile, PRBool *_retval)
-   if (NS_FAILED(rv))
-     return rv;
- 
--  *_retval = !strcmp(mPath, inPath.get());
-+  if (STAT(mPath.get(), &st) == -1) {
-+    // try lstat it may be a symlink
-+    if (LSTAT(mPath.get(), &st) == -1)
-+      exists = PR_FALSE;
-+  }
-+
-+  if (exists && (STAT(inPath.get(), &inst) == -1)) {
-+    // try lstat it may be a symlink
-+    if (LSTAT(inPath.get(), &inst) == -1)
-+      exists = PR_FALSE;
-+  }
-+
-+  if (!exists) {
-+    // We don't need to worry about "/foo/" vs. "/foo" here
-+    // because trailing slashes are stripped on init.
-+    *_retval = !strcmp(inPath.get(), mPath.get());
-+    return NS_OK;
-+  }
-+
-+  *_retval = (st.st_ino == inst.st_ino) &&
-+             (st.st_dev == inst.st_dev);
-   return NS_OK;
- }
- 
-diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
-index 289600a..bdf0f81 100644
---- a/xpcom/io/nsLocalFileUnix.cpp
-+++ b/xpcom/io/nsLocalFileUnix.cpp
-@@ -1400,6 +1400,9 @@ nsLocalFile::IsSpecial(PRBool *_retval)
- NS_IMETHODIMP
- nsLocalFile::Equals(nsIFile *inFile, PRBool *_retval)
- {
-+    struct STAT st, inst;
-+    PRBool exists = PR_TRUE;
-+
-     NS_ENSURE_ARG(inFile);
-     NS_ENSURE_ARG_POINTER(_retval);
-     *_retval = PR_FALSE;
-@@ -1409,9 +1412,27 @@ nsLocalFile::Equals(nsIFile *inFile, PRBool *_retval)
-     if (NS_FAILED(rv))
-         return rv;
- 
--    // We don't need to worry about "/foo/" vs. "/foo" here
--    // because trailing slashes are stripped on init.
--    *_retval = !strcmp(inPath.get(), mPath.get());
-+    if (STAT(mPath.get(), &st) == -1) {
-+        // try lstat it may be a symlink
-+        if (LSTAT(mPath.get(), &st) == -1)
-+            exists = PR_FALSE;
-+    }
-+
-+    if (exists && (STAT(inPath.get(), &inst) == -1)) {
-+        // try lstat it may be a symlink
-+        if (LSTAT(inPath.get(), &inst) == -1)
-+            exists = PR_FALSE;
-+    }
-+
-+    if (!exists) {
-+        // We don't need to worry about "/foo/" vs. "/foo" here
-+        // because trailing slashes are stripped on init.
-+        *_retval = !strcmp(inPath.get(), mPath.get());
-+        return NS_OK;
-+    }
-+
-+    *_retval = (st.st_ino == inst.st_ino) &&
-+               (st.st_dev == inst.st_dev);
-     return NS_OK;
- }
- 
diff --git a/pkgs/applications/networking/browsers/opera/builder.sh b/pkgs/applications/networking/browsers/opera/builder.sh
index 66a3388bc88d..de4a413e4ac8 100644
--- a/pkgs/applications/networking/browsers/opera/builder.sh
+++ b/pkgs/applications/networking/browsers/opera/builder.sh
@@ -5,11 +5,15 @@ buildPhase() {
 }
 
 installPhase() {
-    substituteInPlace install.sh --replace /bin/pwd pwd
+    substituteInPlace install --replace /bin/pwd pwd
+    substituteInPlace install --replace /usr/local "$out"
     
     # Note: the "no" is because the install scripts asks whether we
     # want to install icons in some system-wide directories.
-    echo no | ./install.sh --prefix=$out
+    
+    ensureDir "$out"
+
+    ./install --text --system
 
     [ -z ${system##*64*} ] && suf=64
 
diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix
index 8e81005b9439..8b7ef628044f 100644
--- a/pkgs/applications/networking/browsers/opera/default.nix
+++ b/pkgs/applications/networking/browsers/opera/default.nix
@@ -1,24 +1,24 @@
 { stdenv, fetchurl, qt, zlib, libX11, libXext, libSM, libICE, libXt, glibc
-, makeDesktopItem
+, makeDesktopItem, freetype, fontconfig, libXft, libXrender
 }:
 
 assert stdenv.isLinux && stdenv.gcc.gcc != null;
 
 stdenv.mkDerivation rec {
-  name = "opera-10.10";
+  name = "opera-10.63";
 
   builder = ./builder.sh;
   
   src =
     if stdenv.system == "i686-linux" then
       fetchurl {
-        url = "http://mirror.liteserver.nl/pub/opera/linux/1010/final/en/i386/shared/opera-10.10.gcc4-shared-qt3.i386.tar.bz2";
-        sha256 = "0y8xahwgx5jw83ky4zkw8ixyfgnd2xg9k0zq15yivhimi60fsppc";
+        url = "http://mirror.liteserver.nl/pub/opera/linux/1063/opera-10.63-6450.i386.linux.tar.bz2";
+        sha256 = "dd105d602a4b8897749a4cb9610f8bfe2d07d4f4cc9bf3905930c65592737259";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
-        url = "http://mirror.liteserver.nl/pub/opera/linux/1010/final/en/x86_64/opera-10.10.gcc4-shared-qt3.x86_64.tar.bz2";
-        sha256 = "1z0zgalqv9lnf1jsg3zg9diqfyszh75r7m1dbkifkdawn4zv4q3s";
+        url = "http://mirror.liteserver.nl/pub/opera/linux/1063/opera-10.63-6450.x86_64.linux.tar.bz2";
+        sha256 = "da8ae14cf317364ab0295102220246b205bf30c59c00cadb571395c90dda7c74";
       }
     else throw "Opera is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)";
 
@@ -27,7 +27,8 @@ stdenv.mkDerivation rec {
   # `operapluginwrapper' requires libXt. Adding it makes startup faster
   # and omits error messages (on x86).
   libPath =
-    let list = [ stdenv.gcc.gcc glibc qt zlib libX11 libXt libXext libSM libICE];
+    let list = [ stdenv.gcc.gcc glibc qt zlib libX11 libXt libXext libSM libICE libXft freetype fontconfig
+       libXrender];
     in stdenv.lib.makeLibraryPath list
         + ":" + (if stdenv.system == "x86_64-linux" then stdenv.lib.makeSearchPath "lib64" list else "");
 
diff --git a/pkgs/applications/version-management/fossil/default.nix b/pkgs/applications/version-management/fossil/default.nix
index 291ab9206797..5feb8a429e33 100644
--- a/pkgs/applications/version-management/fossil/default.nix
+++ b/pkgs/applications/version-management/fossil/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, zlib, openssl, tcl}:
 
 let
-  version = "20101117133825";
+  version = "20101207133137";
 in
 
 stdenv.mkDerivation {
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://www.fossil-scm.org/download/fossil-src-${version}.tar.gz";
-    sha256 = "0h4g7qsbz5vyd3zxywcc2pf6vf3gavxqznpx8gn47j8y6mjp4byn";
+    sha256 = "1yx35gq9ialvnvjn1r5yar4zxgy0rkxzyz9paxwy8qan3qb53mwz";
   };
 
   buildInputs = [ zlib openssl ];
diff --git a/pkgs/applications/version-management/veracity/src-for-default.nix b/pkgs/applications/version-management/veracity/src-for-default.nix
index 1b50c0c3bd10..06a3ad3a2f42 100644
--- a/pkgs/applications/version-management/veracity/src-for-default.nix
+++ b/pkgs/applications/version-management/veracity/src-for-default.nix
@@ -1,9 +1,9 @@
 rec {
-   version="0.5.0.10325";
-   name="veracity-0.5.0.10325";
-   hash="07lbfdfbjnd0xmbaw799dphb7i8f6w176afwaw0sd65ksjkbfc39";
+   version="0.5.5.10349";
+   name="veracity-0.5.5.10349";
+   hash="1059cf0p0kpmylk9228an1kvz49s3d6sd3ncz6dw804z79q16s66";
    url="http://download-us.sourcegear.com/Veracity/nightly/veracity-source-${version}.tar.gz";
-   advertisedUrl="http://download-us.sourcegear.com/Veracity/nightly/veracity-source-0.5.0.10325.tar.gz";
+   advertisedUrl="http://download-us.sourcegear.com/Veracity/nightly/veracity-source-0.5.5.10349.tar.gz";
   
   
 }
diff --git a/pkgs/data/misc/xkeyboard-config/level3-deadkeys-us-intl b/pkgs/data/misc/xkeyboard-config/level3-deadkeys-us-intl
index a2b5ab607a7e..76905b7b77be 100644
--- a/pkgs/data/misc/xkeyboard-config/level3-deadkeys-us-intl
+++ b/pkgs/data/misc/xkeyboard-config/level3-deadkeys-us-intl
@@ -46,7 +46,7 @@ xkb_symbols "altgr-intl-rich" {
     key <AE05> { [	  5,	percent,	EuroSign,	approxeq	] };
     key <AE06> { [	  6,	asciicircum,	dead_circumflex, dead_stroke	] };
     key <AE07> { [	  7,	ampersand,		dead_horn		] };
-    key <AE08> { [	  8,	asterisk,		dead_ogonek		] };
+    key <AE08> { [	  8,	asterisk,	dead_ogonek,	infinity	] };
     key <AE09> { [	  9,	parenleft,  leftsinglequotemark,dead_breve	] };
     key <AE10> { [	  0,	parenright,rightsinglequotemark,dead_abovering	] };
     key <AE11> { [    minus,	underscore,	yen,		dead_belowdot	] };
@@ -68,8 +68,8 @@ xkb_symbols "altgr-intl-rich" {
     key <AC01> { [	  a,	A,		aacute,		Aacute		] };
     key <AC02> { [	  s,	S,		ssharp,		section		] };
     key <AC03> { [	  d,	D,		eth,		ETH		] };
-    key <AC04> { [	  f,	F						] };
-    key <AC05> { [	  g,	G						] };
+    key <AC04> { [	  f,	F,		union,		intersection	] };
+    key <AC05> { [	  g,	G,		eng,		ENG		] };
     key <AC06> { [	  h,	H,		hyphen,		nobreakspace	] };
     key <AC07> { [	  j,	J,		idiaeresis,	Idiaeresis	] };
     key <AC08> { [	  k,	K						] };
@@ -80,7 +80,7 @@ xkb_symbols "altgr-intl-rich" {
     key <AB01> { [	  z,	Z,		ae,		AE		] };
     key <AB02> { [	  x,	X,		oe,		OE		] };
     key <AB03> { [	  c,	C,		copyright,	cent		] };
-    key <AB04> { [	  v,	V,		registered,	registered	] };
+    key <AB04> { [	  v,	V,		registered,	trademark	] };
     key <AB05> { [	  b,	B,		emdash,		endash		] };
     key <AB06> { [	  n,	N,		nu,		numerosign	] };
     key <AB07> { [	  m,	M,		mu,		plusminus	] };
diff --git a/pkgs/desktops/kde-4.5/accessibility/color-schemes.nix b/pkgs/desktops/kde-4.5/accessibility/color-schemes.nix
index ff82529fded9..1fdc02daaf8f 100644
--- a/pkgs/desktops/kde-4.5/accessibility/color-schemes.nix
+++ b/pkgs/desktops/kde-4.5/accessibility/color-schemes.nix
@@ -8,7 +8,7 @@ kde.package {
     kde = {
       name = "ColorSchemes";
       module = "kdeaccessibility";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/accessibility/icon-themes.nix b/pkgs/desktops/kde-4.5/accessibility/icon-themes.nix
index 85280f9abbe9..7fc795b595bd 100644
--- a/pkgs/desktops/kde-4.5/accessibility/icon-themes.nix
+++ b/pkgs/desktops/kde-4.5/accessibility/icon-themes.nix
@@ -8,7 +8,7 @@ kde.package {
     kde = {
       name = "IconThemes";
       module = "kdeaccessibility";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/accessibility/jovie.nix b/pkgs/desktops/kde-4.5/accessibility/jovie.nix
index f86f047811bf..139895ff3cdb 100644
--- a/pkgs/desktops/kde-4.5/accessibility/jovie.nix
+++ b/pkgs/desktops/kde-4.5/accessibility/jovie.nix
@@ -10,7 +10,7 @@ kde.package {
       name = "jovie";
       module = "kdeaccessibility";
       version = "0.6.0";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "jovie/jovie/main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/accessibility/kmag.nix b/pkgs/desktops/kde-4.5/accessibility/kmag.nix
index 4800cb4d702d..960958837168 100644
--- a/pkgs/desktops/kde-4.5/accessibility/kmag.nix
+++ b/pkgs/desktops/kde-4.5/accessibility/kmag.nix
@@ -9,7 +9,7 @@ kde.package {
       name = "kmag";
       module = "kdeaccessibility";
       version = "1.0";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "kmag/version.h";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/accessibility/kmousetool.nix b/pkgs/desktops/kde-4.5/accessibility/kmousetool.nix
index 1c7f97304b07..7c6fb234a17d 100644
--- a/pkgs/desktops/kde-4.5/accessibility/kmousetool.nix
+++ b/pkgs/desktops/kde-4.5/accessibility/kmousetool.nix
@@ -9,7 +9,7 @@ kde.package {
       name = "kmousetool";
       module = "kdeaccessibility";
       version = "1.12";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "kmousetool/kmousetool/version.h";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/accessibility/kmouth.nix b/pkgs/desktops/kde-4.5/accessibility/kmouth.nix
index c8d5aa2b4e89..3626c63e1435 100644
--- a/pkgs/desktops/kde-4.5/accessibility/kmouth.nix
+++ b/pkgs/desktops/kde-4.5/accessibility/kmouth.nix
@@ -9,7 +9,7 @@ kde.package {
       name = "kmouth";
       module = "kdeaccessibility";
       version = "1.1.1";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "kmouth/version.h";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/admin/default.nix b/pkgs/desktops/kde-4.5/admin/default.nix
index 316505477454..6e0793f4df49 100644
--- a/pkgs/desktops/kde-4.5/admin/default.nix
+++ b/pkgs/desktops/kde-4.5/admin/default.nix
@@ -20,7 +20,7 @@ kde.package {
     license = "GPL";
     kde = {
       name = "kdeadmin";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/aurorae.nix b/pkgs/desktops/kde-4.5/artwork/aurorae.nix
index 84f821c3a785..fc79a54c352f 100644
--- a/pkgs/desktops/kde-4.5/artwork/aurorae.nix
+++ b/pkgs/desktops/kde-4.5/artwork/aurorae.nix
@@ -8,7 +8,7 @@ kde.package rec {
     kde = {
       name = "aurorae";
       module = "kdeartwork";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/color-schemes.nix b/pkgs/desktops/kde-4.5/artwork/color-schemes.nix
index cbd78971fba6..8643c22a33ac 100644
--- a/pkgs/desktops/kde-4.5/artwork/color-schemes.nix
+++ b/pkgs/desktops/kde-4.5/artwork/color-schemes.nix
@@ -9,7 +9,7 @@ kde.package rec {
     kde = {
       name = "ColorSchemes";
       module = "kdeartwork";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/desktop-themes.nix b/pkgs/desktops/kde-4.5/artwork/desktop-themes.nix
index 6bf44984bf03..417f96ecc1cd 100644
--- a/pkgs/desktops/kde-4.5/artwork/desktop-themes.nix
+++ b/pkgs/desktops/kde-4.5/artwork/desktop-themes.nix
@@ -9,7 +9,7 @@ kde.package rec {
     kde = {
       name = "desktopthemes";
       module = "kdeartwork";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/emoticons.nix b/pkgs/desktops/kde-4.5/artwork/emoticons.nix
index 63f1500a05a2..64dc90a95c6a 100644
--- a/pkgs/desktops/kde-4.5/artwork/emoticons.nix
+++ b/pkgs/desktops/kde-4.5/artwork/emoticons.nix
@@ -9,7 +9,7 @@ kde.package rec {
     kde = {
       name = "emoticons";
       module = "kdeartwork";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/high-resolution-wallpapers.nix b/pkgs/desktops/kde-4.5/artwork/high-resolution-wallpapers.nix
index e8ab8037ff82..0f1b782c9394 100644
--- a/pkgs/desktops/kde-4.5/artwork/high-resolution-wallpapers.nix
+++ b/pkgs/desktops/kde-4.5/artwork/high-resolution-wallpapers.nix
@@ -9,7 +9,7 @@ kde.package rec {
     kde = {
       name = "HighResolutionWallpapers";
       module = "kdeartwork";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/kscreensaver.nix b/pkgs/desktops/kde-4.5/artwork/kscreensaver.nix
index 791364b236f6..0390231a816a 100644
--- a/pkgs/desktops/kde-4.5/artwork/kscreensaver.nix
+++ b/pkgs/desktops/kde-4.5/artwork/kscreensaver.nix
@@ -9,7 +9,7 @@ kde.package rec {
       name = "kscreensaver";
       module = "kdeartwork";
       version = "1.0";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "kscreensaver/kpartsaver/kpartsaver.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/artwork/nuvola-icon-theme.nix b/pkgs/desktops/kde-4.5/artwork/nuvola-icon-theme.nix
index 05148567ea7d..a105148845df 100644
--- a/pkgs/desktops/kde-4.5/artwork/nuvola-icon-theme.nix
+++ b/pkgs/desktops/kde-4.5/artwork/nuvola-icon-theme.nix
@@ -10,7 +10,7 @@ kde.package rec {
     kde = {
       name = "IconThemes";
       module = "kdeartwork";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/phase-style.nix b/pkgs/desktops/kde-4.5/artwork/phase-style.nix
index 64ad1e4a983a..0c05c263c30d 100644
--- a/pkgs/desktops/kde-4.5/artwork/phase-style.nix
+++ b/pkgs/desktops/kde-4.5/artwork/phase-style.nix
@@ -9,7 +9,7 @@ kde.package rec {
     kde = {
       name = "styles";
       module = "kdeartwork";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/sounds.nix b/pkgs/desktops/kde-4.5/artwork/sounds.nix
index 29622bf5bc6d..ca708d98f81f 100644
--- a/pkgs/desktops/kde-4.5/artwork/sounds.nix
+++ b/pkgs/desktops/kde-4.5/artwork/sounds.nix
@@ -9,7 +9,7 @@ kde.package rec {
     kde = {
       name = "sounds";
       module = "kdeartwork";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/wallpapers.nix b/pkgs/desktops/kde-4.5/artwork/wallpapers.nix
index 923814f6ca8d..705ff5762b5b 100644
--- a/pkgs/desktops/kde-4.5/artwork/wallpapers.nix
+++ b/pkgs/desktops/kde-4.5/artwork/wallpapers.nix
@@ -9,7 +9,7 @@ kde.package rec {
     kde = {
       name = "wallpapers";
       module = "kdeartwork";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/weather-wallpapers.nix b/pkgs/desktops/kde-4.5/artwork/weather-wallpapers.nix
index bfee1a86e789..bc495d2a8ff5 100644
--- a/pkgs/desktops/kde-4.5/artwork/weather-wallpapers.nix
+++ b/pkgs/desktops/kde-4.5/artwork/weather-wallpapers.nix
@@ -9,7 +9,7 @@ kde.package rec {
     kde = {
       name = "WeatherWallpapers";
       module = "kdeartwork";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/base-runtime/default.nix b/pkgs/desktops/kde-4.5/base-runtime/default.nix
index aa44b9d2e8c9..8cc432be6956 100644
--- a/pkgs/desktops/kde-4.5/base-runtime/default.nix
+++ b/pkgs/desktops/kde-4.5/base-runtime/default.nix
@@ -21,7 +21,7 @@ kde.package {
     license = "LGPL";
     kde = {
       name = "kdebase-runtime";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/base-workspace/default.nix b/pkgs/desktops/kde-4.5/base-workspace/default.nix
index 916e302acdf1..9c4c5ead3602 100644
--- a/pkgs/desktops/kde-4.5/base-workspace/default.nix
+++ b/pkgs/desktops/kde-4.5/base-workspace/default.nix
@@ -21,7 +21,7 @@ kde.package {
     license = "GPL";
     kde = {
       name = "kdebase-workspace";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/base/default.nix b/pkgs/desktops/kde-4.5/base/default.nix
index f06bf0033085..545621b5ed9f 100644
--- a/pkgs/desktops/kde-4.5/base/default.nix
+++ b/pkgs/desktops/kde-4.5/base/default.nix
@@ -13,7 +13,7 @@ kde.package {
     license = "GPL";
     kde = {
       name = "kdebase";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/bindings/default.nix b/pkgs/desktops/kde-4.5/bindings/default.nix
index 03a2051321e0..4928e883e6c9 100644
--- a/pkgs/desktops/kde-4.5/bindings/default.nix
+++ b/pkgs/desktops/kde-4.5/bindings/default.nix
@@ -30,7 +30,7 @@ kde.package rec {
     license = "LGPL";
     kde = {
       name = "kdebindings";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/default.nix b/pkgs/desktops/kde-4.5/default.nix
index 23be3c981298..7702dbc89805 100644
--- a/pkgs/desktops/kde-4.5/default.nix
+++ b/pkgs/desktops/kde-4.5/default.nix
@@ -2,7 +2,7 @@
 
 let
 
-  version = "4.5.2";
+  version = "4.5.4";
 
   # Various packages (e.g. kdesdk) have been split up into many
   # smaller packages.  Some people may want to install the entire
diff --git a/pkgs/desktops/kde-4.5/edu/default.nix b/pkgs/desktops/kde-4.5/edu/default.nix
index 883bf1a22734..852453df4c37 100644
--- a/pkgs/desktops/kde-4.5/edu/default.nix
+++ b/pkgs/desktops/kde-4.5/edu/default.nix
@@ -23,7 +23,7 @@ kde.package {
     license = "GPL";
     kde = {
       name = "kdeedu";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/games/default.nix b/pkgs/desktops/kde-4.5/games/default.nix
index c8f90d134123..02c7b9bf5b96 100644
--- a/pkgs/desktops/kde-4.5/games/default.nix
+++ b/pkgs/desktops/kde-4.5/games/default.nix
@@ -16,7 +16,7 @@ kde.package {
     license = "GPL";
     kde = {
       name = "kdegames";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/graphics/default.nix b/pkgs/desktops/kde-4.5/graphics/default.nix
index b9c2d8955d94..45b588af25e2 100644
--- a/pkgs/desktops/kde-4.5/graphics/default.nix
+++ b/pkgs/desktops/kde-4.5/graphics/default.nix
@@ -17,7 +17,7 @@ kde.package {
     license = "GPL";
     kde = {
       name = "kdegraphics";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/kde-package/default.nix b/pkgs/desktops/kde-4.5/kde-package/default.nix
index 9e20b983e194..433e12f45399 100644
--- a/pkgs/desktops/kde-4.5/kde-package/default.nix
+++ b/pkgs/desktops/kde-4.5/kde-package/default.nix
@@ -1,19 +1,7 @@
 { stdenv, fetchurl }:
 
 rec {
-  manifest = import ./manifest.nix;
-
-  kdeSrc = { stable ? true, subdir ? null, module, release, sha256 ? null } :
-    fetchurl {
-      url = "mirror://kde/" + (if stable then "" else "un") + "stable/"
-        + (if subdir == null then "${release}/src" else subdir)
-        + "/${module}-${release}.tar.bz2";
-      sha256 =
-        if sha256 != null then sha256
-        else builtins.getAttr "${module}-${release}.tar.bz2" manifest;
-    };
-
-  defaultArgs = {name, stable ? true, subdir ? null, version,
+  defaultArgs = {name, stable ? true, version,
     module ? name, release ? version, ... }:
 
     assert (name == module) -> (release == version);
@@ -22,7 +10,15 @@ rec {
       {
         name = "${name}-${version}";
 
-        src = kdeSrc { inherit stable subdir module release; };
+        src = fetchurl {
+          url = "mirror://kde/" + (if stable then "" else "un")
+            + "stable/${release}/src/${module}-${release}.tar.bz2";
+          sha256 = (stdenv.lib.findFirst
+              (x: x.module == module)
+              (throw "No module ${module} in release ${release}!")
+              (import (./manifest + "-${release}.nix"))
+            ).sha256;
+        };
 
         meta = {
           maintainers = with stdenv.lib.maintainers; [ sander urkud ];
diff --git a/pkgs/desktops/kde-4.5/kde-package/kde-manifest.sh b/pkgs/desktops/kde-4.5/kde-package/kde-manifest.sh
new file mode 100755
index 000000000000..3811769c57ae
--- /dev/null
+++ b/pkgs/desktops/kde-4.5/kde-package/kde-manifest.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+# Usage: download kde release to $dir, then run
+# $0 $dir
+
+dir=$1
+
+if [[ ! -d "${dir}" ]]; then
+  echo "${dir} is not a directory (or doesn't exist)!" >&2
+  exit 1
+fi
+
+release=$(ls "${dir}"/kdelibs-*.tar.bz2 | \
+	sed -e 's/.*kdelibs-//' -e 's/\.tar\.bz2//')
+
+echo "Detected release ${release}" >&2
+
+exec > "manifest-${release}.nix"
+echo "["
+for i in `cd "${dir}"; ls *-${release}.tar.bz2`; do
+  module=${i%-${release}.tar.bz2}
+  echo -n "${module}.. " >&2
+  hash=$(nix-hash --type sha256 --flat --base32 "${dir}/${i}")
+  echo "{"
+  echo "  module = \"${module}\";"
+  echo "  sha256 = \"${hash}\";"
+  echo "}"
+  echo $hash >&2
+done
+echo "]"
diff --git a/pkgs/desktops/kde-4.5/kde-package/manifest-4.5.4.nix b/pkgs/desktops/kde-4.5/kde-package/manifest-4.5.4.nix
new file mode 100644
index 000000000000..b00a5025fa7f
--- /dev/null
+++ b/pkgs/desktops/kde-4.5/kde-package/manifest-4.5.4.nix
@@ -0,0 +1,82 @@
+[
+{
+  module = "kdeaccessibility";
+  sha256 = "0jd07n143r2610a261xx193zkigs30a4p645pzyw3dsi6la8ms0r";
+}
+{
+  module = "kdeadmin";
+  sha256 = "0frf4clljqnynxv67hqypsfaifdrgbgc0zb9lcckjialc03f2kfm";
+}
+{
+  module = "kdeartwork";
+  sha256 = "08260bml12y3xwr61q2qxrp0aqcshi14h7n93b12q0m9fs8n87x0";
+}
+{
+  module = "kdebase";
+  sha256 = "1k9hla4qwrgz12g4n72c46w6b1srjnwf95zxhj2axqdw4k4hfj6z";
+}
+{
+  module = "kdebase-runtime";
+  sha256 = "0rqrx9hz266dc9l7sn2pakqy36w5919gchwc4ghb5qzira3jjg1h";
+}
+{
+  module = "kdebase-workspace";
+  sha256 = "09a4jsa3w4v4ldsh244isbbrsv350xcmd2py0sb3lvja7gf9wqhw";
+}
+{
+  module = "kdebindings";
+  sha256 = "0vx7fhg74g0b2xcaxjybxci34kyc10h1i29qsdqr1005j01cdvj0";
+}
+{
+  module = "kdeedu";
+  sha256 = "080pw86l55jfhdxm3a18qh4h1p7k6w3cb37g8ymfsyx3k3diil6x";
+}
+{
+  module = "kdegames";
+  sha256 = "12p209n673fxnm9wsgc7by46z4hs3d7b3hzwgcxggzag0kyhx3s5";
+}
+{
+  module = "kdegraphics";
+  sha256 = "1b4n1ss5pg213blqrkbk0pqchfr336rybqfkcb8scv1blx0w83qs";
+}
+{
+  module = "kdelibs";
+  sha256 = "0c4ybrpdw3dblv68mj6sa7q13kx1z64f8lpakxf6f7vw1ish2dph";
+}
+{
+  module = "kdemultimedia";
+  sha256 = "16k8l5h4m2wjpzpzflk2agmg48m1gj4fyzjp67z446lmb1m8jap7";
+}
+{
+  module = "kdenetwork";
+  sha256 = "1g0hy92ixh2nzvasjm4ms8n8jyy777d909gjv16ph8g5w2pxj61w";
+}
+{
+  module = "kdepimlibs";
+  sha256 = "1yc615qf3qihlj69glm4amdrbck33vagp5xmgnp6mny5vhvdc85b";
+}
+{
+  module = "kdeplasma-addons";
+  sha256 = "0q9r8lafc3aa15smaj1r5kcyz2jw7lpbnp6qxanllfbv7c4b37nb";
+}
+{
+  module = "kdesdk";
+  sha256 = "1ia336cfs42h8b3jahd9hb2ynahyiccx6y8dfk420xvyy024i2ra";
+}
+{
+  module = "kdetoys";
+  sha256 = "12755p77r5fv2lfr78jrvcx8vg1mnsfsb1g8hpr6b59w5hh2k2mm";
+}
+{
+  module = "kdeutils";
+  sha256 = "07g96bwy8h4ydj8gdnm1cs7vgm96s3m9c2d36d8r3w6apvh5pjkc";
+}
+{
+  module = "kdewebdev";
+  sha256 = "1ng0rbrizqmqm4l0j9xahf0dwh5674cimzkzrlgj09dl4a603xar";
+}
+{
+  module = "oxygen-icons";
+  sha256 = "0j9d4h3nl3vqwh4fi1zysahgvwd0xswqa25p8jl6hl86rnawhjcy";
+}
+]
diff --git a/pkgs/desktops/kde-4.5/kde-package/manifest.nix b/pkgs/desktops/kde-4.5/kde-package/manifest.nix
deleted file mode 100644
index 230533aaeb7c..000000000000
--- a/pkgs/desktops/kde-4.5/kde-package/manifest.nix
+++ /dev/null
@@ -1,94 +0,0 @@
-builtins.listToAttrs
-[
-{
-  name = "polkit-qt-1-0.96.1.tar.bz2";
-  value = "1ng5bi1gmr5lg49c5kyqyjzbjhs4w90c2zlnfcyviv9p3wzfgzbr";
-}
-{
-  name = "kdeaccessibility-4.5.2.tar.bz2";
-  value = "1iv94vvngxs94vl3ssjq1y2sd50wcc7s7gvngwqj534qjd1fj3a2";
-}
-{
-  name = "kdeadmin-4.5.2.tar.bz2";
-  value = "1gy0p9vfx8k1ni92n6p8fhq32i7dazs2vls7f5na8hc6s5wsn861";
-}
-{
-  name = "kdeartwork-4.5.2.tar.bz2";
-  value = "0y7rj70x861a07r80skldzkkbqhh41gsv2vh8cg1n4hqq4l5nj5y";
-}
-{
-  name = "kdebase-4.5.2.tar.bz2";
-  value = "1hwcd3k25bhi73hps4rqc3rh87sdf8syvv0jx4prc6qd2cpjxvp6";
-}
-{
-  name = "kdebase-runtime-4.5.2.tar.bz2";
-  value = "04dbjhkl1zfys6rhjrk3dmqqwzw4hh0hyrm6rn8f1gbiqfcgrkfy";
-}
-{
-  name = "kdebase-workspace-4.5.2.tar.bz2";
-  value = "17jd2ixvsk9f0z30ksmjaasdfza39c80d0ylzkpdjf9nkiiv1pn8";
-}
-{
-  name = "kdebindings-4.5.2.tar.bz2";
-  value = "077n2g4mmfkg7xvz7v8f0m79sp2f72f56ari14j4x073vgf51hfs";
-}
-{
-  name = "kdeedu-4.5.2.tar.bz2";
-  value = "1ljp5jm5iml2s1jdi1n5h8hzqsl7pq98vcdj9bi1pjq3l87gh4i5";
-}
-{
-  name = "kdegames-4.5.2.tar.bz2";
-  value = "0vld69dz2src7ya92a5nqi0739whldxvgphyxm9bavk69x6g129c";
-}
-{
-  name = "kdegraphics-4.5.2.tar.bz2";
-  value = "0zl1df2srnf7xsivyws3zicrj6bginjn6rgi0iq6hx3q9l5lah2d";
-}
-{
-  name = "kdelibs-4.5.2.tar.bz2";
-  value = "1hxlqvcwys1snhahrv1lryv95sh042jikscqmm6vind03pcqrq09";
-}
-{
-  name = "kdemultimedia-4.5.2.tar.bz2";
-  value = "1gxmal28m83r9imasv3nw4c091kllpkivfws8aal63r0dg5n5fy2";
-}
-{
-  name = "kdenetwork-4.5.2.tar.bz2";
-  value = "0k59zf8m34b7xp4h9mj328gjnr73l2d7vf4b4aikv0m2damryp7a";
-}
-{
-  name = "kdepimlibs-4.5.2.tar.bz2";
-  value = "0bag9jhr1azadcz01rfdhdl8nfk6w4cjw3w2zxardar5ri129v2b";
-}
-{
-  name = "kdeplasma-addons-4.5.2.tar.bz2";
-  value = "1pdlwbadk3qyh9rxj4j2b2wjfn7dmi9jcargahc7p7pb8mf0pizw";
-}
-{
-  name = "kdesdk-4.5.2.tar.bz2";
-  value = "0ii7gmshw4207i0hlzz3fl5kc21i4vx2v29jw10ri1vz7pmv9v9q";
-}
-{
-  name = "kdetoys-4.5.2.tar.bz2";
-  value = "01kn14lh00ig33r98xjly37ad7w1cwvc4l02hswbqr99smksxn33";
-}
-{
-  name = "kdeutils-4.5.2.tar.bz2";
-  value = "1rh4s60wx253adw7z1j0sp29l43y7xvd2516bwxq0sn8bmp3w7nr";
-}
-{
-  name = "kdewebdev-4.5.2.tar.bz2";
-  value = "02baf8h4v688x03hxr8kliglia1chlarnmzc0gbpnpry9zhwpp5p";
-}
-{
-  name = "oxygen-icons-4.5.2.tar.bz2";
-  value = "0c8hy3vsqpm6n52v6w3igj78s0qy6cb3m6fm8qh795rpw495d5yj";
-}
-{
-  name = "kdepim-4.4.7.tar.bz2";
-  value = "0jjv1y23hwlkwdvqf3pcs37hzcnnxz5baa4vw1wznj4v816ixj1s";
-}
-{
-  name = "kdepim-runtime-4.4.7.tar.bz2";
-  value = "196gkz2jbphw4r9i91jaz6wd4wnyxavc1na2kpp9s9cvmiafcp7m";
-}]
diff --git a/pkgs/desktops/kde-4.5/l10n/default.nix b/pkgs/desktops/kde-4.5/l10n/default.nix
index 6e561726c08c..03c10cb4b8eb 100644
--- a/pkgs/desktops/kde-4.5/l10n/default.nix
+++ b/pkgs/desktops/kde-4.5/l10n/default.nix
@@ -3,8 +3,8 @@
 let
   overrides = { };
 
-  defaultRelease = "4.5.3";
-  releases = [ "4.5.1" "4.5.2" "4.5.3" ];
+  defaultRelease = "4.5.4";
+  releases = [ "4.5.1" "4.5.2" "4.5.3" "4.5.4" ];
 
   sanitizeString = replaceChars [ "@" "." ] [ "_" "_" ];
   getOverride = name: attrByPath [name] {} overrides;
diff --git a/pkgs/desktops/kde-4.5/l10n/manifest-4.5.4.nix b/pkgs/desktops/kde-4.5/l10n/manifest-4.5.4.nix
new file mode 100644
index 000000000000..99d4e4b0d86d
--- /dev/null
+++ b/pkgs/desktops/kde-4.5/l10n/manifest-4.5.4.nix
@@ -0,0 +1,222 @@
+[
+{
+  lang = "ar";
+  sha256 = "1yn5dvd2d6wk12434x7v463ywz0sn1d9z2fhsbhclwzns3p07brn";
+}
+{
+  lang = "bg";
+  sha256 = "0dnhywbld5ll4wvpl42kn6bnffjr72d4wp36446ffnwkqvhwg0bm";
+}
+{
+  lang = "ca";
+  sha256 = "0i6cplf7fsr4q6yyv2y4sj1d44zd4d81h3mh6fbc0icq42im4pyq";
+}
+{
+  lang = "ca@valencia";
+  sha256 = "1p55xn6k47ag4ph8byaasp27sczh6asqj0x8677hacmm01vps4xy";
+}
+{
+  lang = "cs";
+  sha256 = "16yz0yc8b0g2kzpywi4a0xys6rkj47n45l3i4f39ycypxavqya0v";
+}
+{
+  lang = "da";
+  sha256 = "0pc4im8rd4n6wn65gwyiyl4c414kp1gspw45xzj3mssbpghhn0ic";
+}
+{
+  lang = "de";
+  sha256 = "1apdjmyb3f07rjld43yabr3bvvb8xikhlzr0zmv37y43bzbvlk9x";
+}
+{
+  lang = "el";
+  sha256 = "1irh0pjaxfx893792s3wl0k8m9cy6c428isdlnij1mdbpyg4pw9d";
+}
+{
+  lang = "en_GB";
+  sha256 = "08248znhd1pxgx6izi8pfrccm31fm083bq4i9d9f4m3b9svxj63i";
+}
+{
+  lang = "eo";
+  sha256 = "1ydizv2sggfdwlh9vlf9dzf7pwjvqj3aa1vx1wdb1qzp913kixy9";
+}
+{
+  lang = "es";
+  sha256 = "11545n83bknw6a1h1dw3sxlswhqj8mm0nm9nricrmjwxhi2r2gma";
+}
+{
+  lang = "et";
+  sha256 = "1dpk4h5yfg5ljf5l6yg5i8r4v4k5cq4dq8bdir883lwlkvzmql5j";
+}
+{
+  lang = "eu";
+  sha256 = "1qfhqbpxh1mgxbzh7l8gb0xsm9pi50mq48ya32s8a502khwwxh41";
+}
+{
+  lang = "fi";
+  sha256 = "11a03s37sd1fn0s0yx8lf369l8da3qmf6aqagrlsn3cj9rwa3pn6";
+}
+{
+  lang = "fr";
+  sha256 = "0f739jlpxfqyd41y0l5ydmdjwmn3ihvcxihl3v2cmwyaxfhvapbj";
+}
+{
+  lang = "fy";
+  sha256 = "057n58mnryjxqh3v9vyf5qysf6xilmiw1p6gnsdnmqvznccmx7j7";
+}
+{
+  lang = "ga";
+  sha256 = "1wbc9mxj7yf630x3dqabv783dv012k6xna362a7cy3pzbdr49kl2";
+}
+{
+  lang = "gl";
+  sha256 = "0vg248wbmfmcdskq60nafnkly9l3i32yz21xbwjmnvs2drwphayz";
+}
+{
+  lang = "gu";
+  sha256 = "14misxmdi5v26fql40vqwjci93l5jrjqrwd049pj5i0jnrjhy5rd";
+}
+{
+  lang = "he";
+  sha256 = "19h2ca93kqr293qjg0gy5mpgw0x3cgdmjs70k42781zl4xz1prjp";
+}
+{
+  lang = "hi";
+  sha256 = "0qhp5ml6jindbxds8mllnsyi5c0mlnmwppfdxjapg0m229f6dgh6";
+}
+{
+  lang = "hr";
+  sha256 = "08i7lg3rii1lciy42ny65k43sn4lv85jl3464rn7a91yvbk18iym";
+}
+{
+  lang = "hu";
+  sha256 = "0wfxqcjpi0yl7xsnpb5k25jl0c7haf9dr2f85wmw6iv2iamdkfmh";
+}
+{
+  lang = "ia";
+  sha256 = "1ixqr026g4fi7fbrr7wi49h3662b3jdb8nsfqs5dd41mjchk20c8";
+}
+{
+  lang = "id";
+  sha256 = "079n7q5nx5mass01dqqngvajjfs4qdcdl9d9jdzkn4fzhffpgdap";
+}
+{
+  lang = "is";
+  sha256 = "150snwlbyv7461bh6yfl8cq5dv5alxf37grdgq2zynkpnx9i3s8k";
+}
+{
+  lang = "it";
+  sha256 = "07bza0by629gywqxkxchzvlw8fs1swg7ivpr3zn48lm8ka9xqx3s";
+}
+{
+  lang = "ja";
+  sha256 = "0bpjahc276wm0fscnlffqq2m838jkir17s4v12q0zr0dmryxd7lc";
+}
+{
+  lang = "kk";
+  sha256 = "11cyklk2j6igmq71j7fcr9gg8jn99lq6z9yi77p7hn4rid7dflgp";
+}
+{
+  lang = "km";
+  sha256 = "0d7f7zz6ys3yfq3wlbk621yy7zzblzb3zv8g849mbpb5m5rl6bsg";
+}
+{
+  lang = "kn";
+  sha256 = "0hcri8am13sy7qnl0459b7cphb0jw4fc40nqw3crrdrsr8677abj";
+}
+{
+  lang = "ko";
+  sha256 = "0zz6k2xgfvb80031dinsyp6crgr1iy0iv1d0m2bq1985aa98rrih";
+}
+{
+  lang = "lt";
+  sha256 = "1knzjdhl98h8jdad5dwkqkiqs7wwib57jvs3jf0zacvqbcpchwb7";
+}
+{
+  lang = "lv";
+  sha256 = "0pm9k4ww10dnyvkgkm6n8cddwlj5431k17sbshgmgjnw9bszk798";
+}
+{
+  lang = "ml";
+  sha256 = "06j6124q2mmpjs5y3gqy7fxgldwnvq5683394s3m23n8q81yg0wj";
+}
+{
+  lang = "nb";
+  sha256 = "180vsfx87ynizzga878757qjnj1k91qad57iisw5hqcxk2fg3v22";
+}
+{
+  lang = "nds";
+  sha256 = "16i9wz1lzkqij61raffm8h4l6fjri4h9ybbgxy7nlqiqaj67jghl";
+}
+{
+  lang = "nl";
+  sha256 = "1clrmccm2vdvi9v7f2yqhhf69iln57m7hpw2638is6fs31ivyr1v";
+}
+{
+  lang = "nn";
+  sha256 = "0447v1wzbb7bvmpbcyav3gv45vv4zl9p9nj3sk45c8md1by82hc3";
+}
+{
+  lang = "pa";
+  sha256 = "1fbrfczjp2yliz13swha2f4767jwzy9bi1hb1dqi2yjhyqhj7k6p";
+}
+{
+  lang = "pl";
+  sha256 = "1xzsfrxwgf6kmfa1j5dy699rxaxmc3vpcv8zgqi96kwwhqmmwn9p";
+}
+{
+  lang = "pt";
+  sha256 = "08gdvkbqfshbgf6zwyg05g05kc7hm81s01z7p67jc2q80vkl7ahz";
+}
+{
+  lang = "pt_BR";
+  sha256 = "05x600wzp7x1hx262pmb27js146j6sv9c3mbw748q1l3c7cdp0xs";
+}
+{
+  lang = "ro";
+  sha256 = "13r08mka2j6zyz4a3ycs57zaj4ipjdv12sbag0bjwk9dx5x45xs5";
+}
+{
+  lang = "ru";
+  sha256 = "0yw8aax09yl89ab15rlc66lmx4x552hkg5fd89vnhlbk2h9v1rms";
+}
+{
+  lang = "sk";
+  sha256 = "1k905nmvbig7qmbq83y9jbgp72vg9l1mj2iahqz4r726zpqz4fxq";
+}
+{
+  lang = "sl";
+  sha256 = "1ywy35wj8aa17q7hf692dwi7s0xi8ns9p0pmfm13nz8214rbmc4q";
+}
+{
+  lang = "sr";
+  sha256 = "0rqycg08wgrcvphd4mxjsk460nflpv78r0wil4bsqfa8i774v8r0";
+}
+{
+  lang = "sv";
+  sha256 = "0rl2hdnhn9r5yk4zp1sxbxhqchs411kffs5krdym19a3kl83zp36";
+}
+{
+  lang = "th";
+  sha256 = "0n62zs6sjfdkyxs7n6hmji8bzl9y2r4gsqs0jysmjkz23y6160bh";
+}
+{
+  lang = "tr";
+  sha256 = "0phc1cbp98bilvscxnxnbzwgk85ilws5l3n3bsgbkqrh5rqz9fyn";
+}
+{
+  lang = "uk";
+  sha256 = "1hy7hriikvmpjgmxf1zw2j0hkv6f8ig8v20damcivkid3maj307g";
+}
+{
+  lang = "wa";
+  sha256 = "11zwqkv1qpqgxxqvq0y92xyq88czzyx76krx1qbc0d50mv5zk91r";
+}
+{
+  lang = "zh_CN";
+  sha256 = "0pn3xd91ka20mf35rsdyf9sp3cwf9dpxn7lradz2380mkira6mp0";
+}
+{
+  lang = "zh_TW";
+  sha256 = "0zx879d0fkgblfq6574kq4wdhip729ni8v1cjhg0v97l7pnridzk";
+}
+]
diff --git a/pkgs/desktops/kde-4.5/libs/default.nix b/pkgs/desktops/kde-4.5/libs/default.nix
index 91afbf826fe7..a0b4681769f1 100644
--- a/pkgs/desktops/kde-4.5/libs/default.nix
+++ b/pkgs/desktops/kde-4.5/libs/default.nix
@@ -36,7 +36,7 @@ kde.package {
     license = "LGPL";
     kde = {
       name = "kdelibs";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/multimedia/default.nix b/pkgs/desktops/kde-4.5/multimedia/default.nix
index 192a85efa761..eb0574a8fc55 100644
--- a/pkgs/desktops/kde-4.5/multimedia/default.nix
+++ b/pkgs/desktops/kde-4.5/multimedia/default.nix
@@ -14,7 +14,7 @@ kde.package {
     license = "GPL";
     kde = {
       name = "kdemultimedia";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/network/default.nix b/pkgs/desktops/kde-4.5/network/default.nix
index 42feaacefdb1..244935ec397e 100644
--- a/pkgs/desktops/kde-4.5/network/default.nix
+++ b/pkgs/desktops/kde-4.5/network/default.nix
@@ -30,7 +30,7 @@ kde.package {
     license = "GPL";
     kde = {
       name = "kdenetwork";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/pim-runtime/default.nix b/pkgs/desktops/kde-4.5/pim-runtime/default.nix
index 98a04d00f1c6..d92f1eecc73b 100644
--- a/pkgs/desktops/kde-4.5/pim-runtime/default.nix
+++ b/pkgs/desktops/kde-4.5/pim-runtime/default.nix
@@ -1,22 +1,27 @@
-{ kde, cmake, qt4, perl, libxml2, libxslt, boost, shared_mime_info
+{ kde, fetchurl, cmake, qt4, perl, libxml2, libxslt, boost, shared_mime_info
 , kdelibs, kdepimlibs
 , automoc4, phonon, akonadi, soprano, strigi}:
 
-kde.package {
+kde.package rec {
   buildInputs = [ cmake qt4 perl libxml2 libxslt boost shared_mime_info
                   kdelibs kdepimlibs
 		  automoc4 phonon akonadi soprano strigi ];
   prePatch = ''
       find .. -name CMakeLists.txt | xargs sed -i -e "s@DESTINATION \''${KDE4_DBUS_INTERFACES_DIR}@DESTINATION \''${CMAKE_INSTALL_PREFIX}/share/dbus-1/interfaces/@"
   '';
+
+  src = fetchurl {
+    url = "mirror://kde/stable/kdepim-${meta.kde.version}/src/${meta.kde.name}-${meta.kde.version}.tar.bz2";
+    sha256 = "029a0i83b2yrc1xn9as7gc9rakpxjh5cjmqcmhrrj0xwalqz490n";
+  };
+
   meta = {
     description = "KDE PIM runtime";
     homepage = http://www.kde.org;
     license = "GPL";
-    kde = rec {
+    kde = {
       name = "kdepim-runtime";
-      version = "4.4.7";
-      subdir = "kdepim-${version}/src";
+      version = "4.4.8";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/pim/default.nix b/pkgs/desktops/kde-4.5/pim/default.nix
index 360719a8b437..cdcc3dc023db 100644
--- a/pkgs/desktops/kde-4.5/pim/default.nix
+++ b/pkgs/desktops/kde-4.5/pim/default.nix
@@ -1,8 +1,8 @@
-{ kde, cmake, perl, boost, gpgme, libassuan, libgpgerror, libxslt
+{ kde, fetchurl, cmake, perl, boost, gpgme, libassuan, libgpgerror, libxslt
 , shared_mime_info, libXScrnSaver, kdelibs, kdepimlibs, kdepim_runtime
 , automoc4, akonadi, qca2}:
 
-kde.package {
+kde.package rec {
 
   buildInputs = [ cmake boost gpgme libassuan libgpgerror libxslt
     shared_mime_info libXScrnSaver kdelibs kdepimlibs automoc4 akonadi ];
@@ -13,6 +13,12 @@ kde.package {
       mkdir -p $out/nix-support/
       echo ${akonadi} ${kdepimlibs} ${kdepim_runtime} > $out/nix-support/propagated-user-env-packages
   '';
+
+  src = fetchurl {
+    url = "mirror://kde/stable/kdepim-${meta.kde.version}/src/${meta.kde.name}-${meta.kde.version}.tar.bz2";
+    sha256 = "02nbdn8s4504ljqz0qylm1jyw4hpg5fjw3vi6sbzm522xvkax4wh";
+  };
+
   meta = {
     description = "KDE PIM tools";
     longDescription = ''
@@ -20,10 +26,9 @@ kde.package {
     '';
     license = "GPL";
     homepage = http://pim.kde.org;
-    kde = rec {
+    kde = {
       name = "kdepim";
-      version = "4.4.7";
-      subdir = "kdepim-${version}/src";
+      version = "4.4.8";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/pimlibs/default.nix b/pkgs/desktops/kde-4.5/pimlibs/default.nix
index cb375faad7ac..cbda200c607f 100644
--- a/pkgs/desktops/kde-4.5/pimlibs/default.nix
+++ b/pkgs/desktops/kde-4.5/pimlibs/default.nix
@@ -12,7 +12,7 @@ kde.package {
     license = "LGPL";
     kde = {
       name = "kdepimlibs";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/plasma-addons/default.nix b/pkgs/desktops/kde-4.5/plasma-addons/default.nix
index 2071c18ba0bb..e0a31d499b0d 100644
--- a/pkgs/desktops/kde-4.5/plasma-addons/default.nix
+++ b/pkgs/desktops/kde-4.5/plasma-addons/default.nix
@@ -17,7 +17,7 @@ kde.package {
     license = "GPL";
     kde = {
       name = "kdeplasma-addons";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/cervisia.nix b/pkgs/desktops/kde-4.5/sdk/cervisia.nix
index afaeb39ef793..7a7ef2767d1c 100644
--- a/pkgs/desktops/kde-4.5/sdk/cervisia.nix
+++ b/pkgs/desktops/kde-4.5/sdk/cervisia.nix
@@ -9,7 +9,7 @@ kde.package {
       name = "cervisia";
       module = "kdesdk";
       version = "3.5.0";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "cervisia/version.h";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/sdk/dolphin-plugins.nix b/pkgs/desktops/kde-4.5/sdk/dolphin-plugins.nix
index 0710dfdc5239..d0753c8f2958 100644
--- a/pkgs/desktops/kde-4.5/sdk/dolphin-plugins.nix
+++ b/pkgs/desktops/kde-4.5/sdk/dolphin-plugins.nix
@@ -10,7 +10,7 @@ kde.package {
     kde = {
       name = "dolphin-plugins";
       module = "kdesdk";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kapptemplate.nix b/pkgs/desktops/kde-4.5/sdk/kapptemplate.nix
index 33fcd31d256d..c4ea482d78d2 100644
--- a/pkgs/desktops/kde-4.5/sdk/kapptemplate.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kapptemplate.nix
@@ -10,7 +10,7 @@ kde.package {
       name = "kapptemplate";
       module = "kdesdk";
       version = "0.1";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "kapptemplate/main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/sdk/kate.nix b/pkgs/desktops/kde-4.5/sdk/kate.nix
index 7519811c545f..336781a44ca9 100644
--- a/pkgs/desktops/kde-4.5/sdk/kate.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kate.nix
@@ -10,7 +10,7 @@ kde.package {
       name = "kate";
       module = "kdesdk";
       version = "3.5.2"; # (release.major-1).(release.minor).(release.patch)
-      release = "4.5.2";
+      release = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kbugbuster.nix b/pkgs/desktops/kde-4.5/sdk/kbugbuster.nix
index f8c4e200524b..d02d2bf7ce77 100644
--- a/pkgs/desktops/kde-4.5/sdk/kbugbuster.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kbugbuster.nix
@@ -10,7 +10,7 @@ kde.package {
       name = "kbugbuster";
       module = "kdesdk";
       version = "3.80.3";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "version.h";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/sdk/kcachegrind.nix b/pkgs/desktops/kde-4.5/sdk/kcachegrind.nix
index 7fbd7b75a929..e4f1381e8cad 100644
--- a/pkgs/desktops/kde-4.5/sdk/kcachegrind.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kcachegrind.nix
@@ -10,7 +10,7 @@ kde.package {
       name = "kcachegrind";
       module = "kdesdk";
       version = "0.6";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "CMakeLists.txt";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/sdk/kdeaccounts-plugin.nix b/pkgs/desktops/kde-4.5/sdk/kdeaccounts-plugin.nix
index fcc83ae6bbce..dab7becac274 100644
--- a/pkgs/desktops/kde-4.5/sdk/kdeaccounts-plugin.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kdeaccounts-plugin.nix
@@ -9,7 +9,7 @@ kde.package {
     kde = {
       name = "kdeaccounts-plugin";
       module = "kdesdk";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kioslave-perldoc.nix b/pkgs/desktops/kde-4.5/sdk/kioslave-perldoc.nix
index bf5a1428b2a1..0b6f262a2c7a 100644
--- a/pkgs/desktops/kde-4.5/sdk/kioslave-perldoc.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kioslave-perldoc.nix
@@ -11,7 +11,7 @@ kde.package {
       name = "kioslave-perldoc";
       module = "kdesdk";
       version = "0.9.1";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "kioslave/perldoc/perldoc.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/sdk/kioslave-svn.nix b/pkgs/desktops/kde-4.5/sdk/kioslave-svn.nix
index b88631a03290..3a9bc48faf6d 100644
--- a/pkgs/desktops/kde-4.5/sdk/kioslave-svn.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kioslave-svn.nix
@@ -11,7 +11,7 @@ kde.package {
     kde = {
       name = "kioslave-svn";
       module = "kdesdk";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kmtrace.nix b/pkgs/desktops/kde-4.5/sdk/kmtrace.nix
index 9128d905925b..89927e67b80c 100644
--- a/pkgs/desktops/kde-4.5/sdk/kmtrace.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kmtrace.nix
@@ -10,7 +10,7 @@ kde.package {
     kde = {
       name = "kmtrace";
       module = "kdesdk";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kompare.nix b/pkgs/desktops/kde-4.5/sdk/kompare.nix
index b7f8e581572b..4d74d182b5c9 100644
--- a/pkgs/desktops/kde-4.5/sdk/kompare.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kompare.nix
@@ -10,7 +10,7 @@ kde.package {
       name = "kompare";
       module = "kdesdk";
       version = "4.0.0";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/sdk/kpartloader.nix b/pkgs/desktops/kde-4.5/sdk/kpartloader.nix
index 4b5938cbac1e..e48166617e58 100644
--- a/pkgs/desktops/kde-4.5/sdk/kpartloader.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kpartloader.nix
@@ -10,7 +10,7 @@ kde.package {
       name = "kpartloader";
       module = "kdesdk";
       version = "1.0";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "kpartloader.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/sdk/kprofilemethod.nix b/pkgs/desktops/kde-4.5/sdk/kprofilemethod.nix
index 008ea1487931..a85f30345ea2 100644
--- a/pkgs/desktops/kde-4.5/sdk/kprofilemethod.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kprofilemethod.nix
@@ -10,7 +10,7 @@ kde.package {
     kde = {
       name = "kprofilemethod";
       module = "kdesdk";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kstartperf.nix b/pkgs/desktops/kde-4.5/sdk/kstartperf.nix
index bf7bc9c62e42..23fa4f80cfb3 100644
--- a/pkgs/desktops/kde-4.5/sdk/kstartperf.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kstartperf.nix
@@ -10,7 +10,7 @@ kde.package {
       name = "kstartperf";
       module = "kdesdk";
       version = "1.0";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "kstartperf.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/sdk/kuiviewer.nix b/pkgs/desktops/kde-4.5/sdk/kuiviewer.nix
index 5631e79a5c96..c75f1be1a740 100644
--- a/pkgs/desktops/kde-4.5/sdk/kuiviewer.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kuiviewer.nix
@@ -10,7 +10,7 @@ kde.package {
       name = "kuiviewer";
       module = "kdesdk";
       version = "0.1";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/sdk/lokalize.nix b/pkgs/desktops/kde-4.5/sdk/lokalize.nix
index af0fbd212261..671e5c10bf7e 100644
--- a/pkgs/desktops/kde-4.5/sdk/lokalize.nix
+++ b/pkgs/desktops/kde-4.5/sdk/lokalize.nix
@@ -13,7 +13,7 @@ kde.package {
       name = "lokalize";
       module = "kdesdk";
       version = "1.1";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "src/version.h";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/sdk/poxml.nix b/pkgs/desktops/kde-4.5/sdk/poxml.nix
index 677d960fa61e..72e929c2bbf5 100644
--- a/pkgs/desktops/kde-4.5/sdk/poxml.nix
+++ b/pkgs/desktops/kde-4.5/sdk/poxml.nix
@@ -9,7 +9,7 @@ kde.package {
     kde = {
       name = "poxml";
       module = "kdesdk";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/scripts.nix b/pkgs/desktops/kde-4.5/sdk/scripts.nix
index 1e6550186511..36bdb778b58d 100644
--- a/pkgs/desktops/kde-4.5/sdk/scripts.nix
+++ b/pkgs/desktops/kde-4.5/sdk/scripts.nix
@@ -9,7 +9,7 @@ kde.package {
     kde = {
       name = "scripts";
       module = "kdesdk";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/strigi-analyzer.nix b/pkgs/desktops/kde-4.5/sdk/strigi-analyzer.nix
index b4d5ea5d22a7..20d484f561e8 100644
--- a/pkgs/desktops/kde-4.5/sdk/strigi-analyzer.nix
+++ b/pkgs/desktops/kde-4.5/sdk/strigi-analyzer.nix
@@ -9,7 +9,7 @@ kde.package {
     kde = {
       name = "strigi-analyzer";
       module = "kdesdk";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/umbrello.nix b/pkgs/desktops/kde-4.5/sdk/umbrello.nix
index c4d877277204..48a9d0fdfbd4 100644
--- a/pkgs/desktops/kde-4.5/sdk/umbrello.nix
+++ b/pkgs/desktops/kde-4.5/sdk/umbrello.nix
@@ -10,7 +10,7 @@ kde.package {
       name = "umbrello";
       module = "kdesdk";
       version = "2.5.2"; # release - 200
-      release = "4.5.2";
+      release = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/support/oxygen-icons/default.nix b/pkgs/desktops/kde-4.5/support/oxygen-icons/default.nix
index 4a65999a3472..47f532ed2039 100644
--- a/pkgs/desktops/kde-4.5/support/oxygen-icons/default.nix
+++ b/pkgs/desktops/kde-4.5/support/oxygen-icons/default.nix
@@ -3,7 +3,7 @@
 kde.package {
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
-  outputHash = "1mjiim7r88bdsrmf6palx125ig9dn0jp6h3mw35557mx0b0qjbka";
+  outputHash = "1hn65n4nznbp2ikbvyrp9ncasc6y3nxhi33x927vg01pp8frn4q1";
 
   buildInputs = [ cmake ];
   meta = {
@@ -12,7 +12,7 @@ kde.package {
     license = "GPL";
     kde = {
       name = "oxygen-icons";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/support/polkit-qt-1/default.nix b/pkgs/desktops/kde-4.5/support/polkit-qt-1/default.nix
index f01eac882ef1..9ff43ef5f9b1 100644
--- a/pkgs/desktops/kde-4.5/support/polkit-qt-1/default.nix
+++ b/pkgs/desktops/kde-4.5/support/polkit-qt-1/default.nix
@@ -1,11 +1,17 @@
-{ kde, cmake, qt4, pkgconfig, polkit, automoc4, glib }:
+{ kde, fetchurl, cmake, qt4, pkgconfig, polkit, automoc4, glib }:
 
-kde.package {
+kde.package rec {
   buildInputs = [ cmake qt4 automoc4 ];
   propagatedBuildInputs = [ polkit glib ];
+
+  src = fetchurl {
+    url = with meta.kde;
+      "mirror://kde/stable/apps/KDE4.x/admin/${name}-${version}.tar.bz2";
+    sha256 = "1ng5bi1gmr5lg49c5kyqyjzbjhs4w90c2zlnfcyviv9p3wzfgzbr";
+  };
+
   meta.kde = {
     name = "polkit-qt-1";
     version = "0.96.1";
-    subdir = "apps/KDE4.x/admin";
   };
 }
diff --git a/pkgs/desktops/kde-4.5/toys/amor.nix b/pkgs/desktops/kde-4.5/toys/amor.nix
index e7e3ad821082..e994dea08846 100644
--- a/pkgs/desktops/kde-4.5/toys/amor.nix
+++ b/pkgs/desktops/kde-4.5/toys/amor.nix
@@ -9,7 +9,7 @@ kde.package {
       name = "amor";
       module = "kdetoys";
       version = "2.4.0";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "src/version.h";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/toys/kteatime.nix b/pkgs/desktops/kde-4.5/toys/kteatime.nix
index 90ce0fa71c1e..601de020a6c5 100644
--- a/pkgs/desktops/kde-4.5/toys/kteatime.nix
+++ b/pkgs/desktops/kde-4.5/toys/kteatime.nix
@@ -9,7 +9,7 @@ kde.package {
       name = "kteatime";
       module = "kdetoys";
       version = "1.2.1";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "src/main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/toys/ktux.nix b/pkgs/desktops/kde-4.5/toys/ktux.nix
index ae1b407a4301..0a2deec43e58 100644
--- a/pkgs/desktops/kde-4.5/toys/ktux.nix
+++ b/pkgs/desktops/kde-4.5/toys/ktux.nix
@@ -9,7 +9,7 @@ kde.package {
       name = "ktux";
       module = "kdetoys";
       version = "1.0.1";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "src/sprite.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/utils/ark.nix b/pkgs/desktops/kde-4.5/utils/ark.nix
index 32ff0440862b..0437406f72f8 100644
--- a/pkgs/desktops/kde-4.5/utils/ark.nix
+++ b/pkgs/desktops/kde-4.5/utils/ark.nix
@@ -14,7 +14,7 @@ kde.package {
       name = "ark";
       module = "kdeutils";
       version = "2.15";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "app/main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/utils/kcalc.nix b/pkgs/desktops/kde-4.5/utils/kcalc.nix
index e35aee61862c..05aa5f752e4e 100644
--- a/pkgs/desktops/kde-4.5/utils/kcalc.nix
+++ b/pkgs/desktops/kde-4.5/utils/kcalc.nix
@@ -9,7 +9,7 @@ kde.package {
       name = "kcalc";
       module = "kdeutils";
       version = "2.7";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "version.h";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/utils/kcharselect.nix b/pkgs/desktops/kde-4.5/utils/kcharselect.nix
index 10e038fe3a30..069ab67669c3 100644
--- a/pkgs/desktops/kde-4.5/utils/kcharselect.nix
+++ b/pkgs/desktops/kde-4.5/utils/kcharselect.nix
@@ -9,7 +9,7 @@ kde.package {
       name = "kcharselect";
       module = "kdeutils";
       version = "1.7";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "main.cc";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/utils/kdf.nix b/pkgs/desktops/kde-4.5/utils/kdf.nix
index efe735486f01..23a9bfa68959 100644
--- a/pkgs/desktops/kde-4.5/utils/kdf.nix
+++ b/pkgs/desktops/kde-4.5/utils/kdf.nix
@@ -9,7 +9,7 @@ kde.package {
       name = "kdf";
       module = "kdeutils";
       version = "0.11";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "kdf.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/utils/kfloppy.nix b/pkgs/desktops/kde-4.5/utils/kfloppy.nix
index faafcfc06299..f7ff38b85106 100644
--- a/pkgs/desktops/kde-4.5/utils/kfloppy.nix
+++ b/pkgs/desktops/kde-4.5/utils/kfloppy.nix
@@ -8,7 +8,7 @@ kde.package {
     kde = {
       name = "kfloppy";
       module = "kdeutils";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/kgpg.nix b/pkgs/desktops/kde-4.5/utils/kgpg.nix
index 8f41e5472f10..62cf26df915e 100644
--- a/pkgs/desktops/kde-4.5/utils/kgpg.nix
+++ b/pkgs/desktops/kde-4.5/utils/kgpg.nix
@@ -9,7 +9,7 @@ kde.package {
       name = "kgpg";
       module = "kdeutils";
       version = "2.4.1";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/utils/kremotecontrol.nix b/pkgs/desktops/kde-4.5/utils/kremotecontrol.nix
index 7dcf4bb5789f..b353bdba53cf 100644
--- a/pkgs/desktops/kde-4.5/utils/kremotecontrol.nix
+++ b/pkgs/desktops/kde-4.5/utils/kremotecontrol.nix
@@ -8,7 +8,7 @@ kde.package {
     kde = {
       name = "kremotecontrol";
       module = "kdeutils";
-      version = "4.5.2";
+      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/ktimer.nix b/pkgs/desktops/kde-4.5/utils/ktimer.nix
index 6595e625b125..a2193d283b1a 100644
--- a/pkgs/desktops/kde-4.5/utils/ktimer.nix
+++ b/pkgs/desktops/kde-4.5/utils/ktimer.nix
@@ -9,7 +9,7 @@ kde.package {
       name = "ktimer";
       module = "kdeutils";
       version = "0.6";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/utils/kwallet.nix b/pkgs/desktops/kde-4.5/utils/kwallet.nix
index d5f048ba57f7..d8ee32ff7948 100644
--- a/pkgs/desktops/kde-4.5/utils/kwallet.nix
+++ b/pkgs/desktops/kde-4.5/utils/kwallet.nix
@@ -9,7 +9,7 @@ kde.package {
       name = "kwallet";
       module = "kdeutils";
       version = "1.6";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/utils/okteta.nix b/pkgs/desktops/kde-4.5/utils/okteta.nix
index ecff1942dcd3..1390960aefe9 100644
--- a/pkgs/desktops/kde-4.5/utils/okteta.nix
+++ b/pkgs/desktops/kde-4.5/utils/okteta.nix
@@ -9,7 +9,7 @@ kde.package {
       name = "okteta";
       module = "kdeutils";
       version = "0.5.2";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "program/about.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/utils/printer-applet.nix b/pkgs/desktops/kde-4.5/utils/printer-applet.nix
index a7e7938320f4..6b2a297a2654 100644
--- a/pkgs/desktops/kde-4.5/utils/printer-applet.nix
+++ b/pkgs/desktops/kde-4.5/utils/printer-applet.nix
@@ -15,7 +15,7 @@ kde.package {
       name = "printer-applet";
       module = "kdeutils";
       version = "1.5";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "printer-applet.py";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/utils/superkaramba.nix b/pkgs/desktops/kde-4.5/utils/superkaramba.nix
index 75460935e277..407f924e241e 100644
--- a/pkgs/desktops/kde-4.5/utils/superkaramba.nix
+++ b/pkgs/desktops/kde-4.5/utils/superkaramba.nix
@@ -11,7 +11,7 @@ kde.package {
       name = "superkaramba";
       module = "kdeutils";
       version = "0.55";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "src/main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/utils/sweeper.nix b/pkgs/desktops/kde-4.5/utils/sweeper.nix
index 7a10910ced1d..feef23c75524 100644
--- a/pkgs/desktops/kde-4.5/utils/sweeper.nix
+++ b/pkgs/desktops/kde-4.5/utils/sweeper.nix
@@ -9,7 +9,7 @@ kde.package {
       name = "sweeper";
       module = "kdeutils";
       version = "1.5";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/webdev/kfilereplace.nix b/pkgs/desktops/kde-4.5/webdev/kfilereplace.nix
index bd3518f9c9d3..c90c151b3bff 100644
--- a/pkgs/desktops/kde-4.5/webdev/kfilereplace.nix
+++ b/pkgs/desktops/kde-4.5/webdev/kfilereplace.nix
@@ -10,7 +10,7 @@ kde.package {
       name = "kfilereplace";
       module = "kdewebdev";
       version = "0.1";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/webdev/kimagemapeditor.nix b/pkgs/desktops/kde-4.5/webdev/kimagemapeditor.nix
index ecc1f845b8f7..93a06b21ae58 100644
--- a/pkgs/desktops/kde-4.5/webdev/kimagemapeditor.nix
+++ b/pkgs/desktops/kde-4.5/webdev/kimagemapeditor.nix
@@ -10,7 +10,7 @@ kde.package {
       name = "kimagemapeditor";
       module = "kdewebdev";
       version = "3.9.0";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "version.h";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/webdev/klinkstatus.nix b/pkgs/desktops/kde-4.5/webdev/klinkstatus.nix
index e87832ee62f8..8c27fbf41865 100644
--- a/pkgs/desktops/kde-4.5/webdev/klinkstatus.nix
+++ b/pkgs/desktops/kde-4.5/webdev/klinkstatus.nix
@@ -12,7 +12,7 @@ kde.package {
       name = "klinkstatus";
       module = "kdewebdev";
       version = "0.7.0";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "src/main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/webdev/kommander.nix b/pkgs/desktops/kde-4.5/webdev/kommander.nix
index 00d238c76939..0dc23b2152d2 100644
--- a/pkgs/desktops/kde-4.5/webdev/kommander.nix
+++ b/pkgs/desktops/kde-4.5/webdev/kommander.nix
@@ -9,7 +9,7 @@ kde.package {
       name = "kommander";
       module = "kdewebdev";
       version = "1.91";
-      release = "4.5.2";
+      release = "4.5.4";
       versionFile = "lib/kommanderversion.h";
     };
   };
diff --git a/pkgs/development/compilers/eql/default.nix b/pkgs/development/compilers/eql/default.nix
index c4ed06a00eaf..70d309472243 100644
--- a/pkgs/development/compilers/eql/default.nix
+++ b/pkgs/development/compilers/eql/default.nix
@@ -47,6 +47,7 @@ rec {
     TMP=.
     TMPDIR=.
     XKB_BINDIR="${xkbcomp}/bin" Xvfb -once -reset -terminate :2 -xkbdir ${xkeyboard_config}/etc/X11/xkb &
+    sleep 10;
     DISPLAY=:2 ./first_metatype_id
   '') ["doUnpack" "addInputs"];
 
diff --git a/pkgs/development/compilers/ocaml/3.11.1.nix b/pkgs/development/compilers/ocaml/3.11.1.nix
index a1d03b7cdf87..60dc51575016 100644
--- a/pkgs/development/compilers/ocaml/3.11.1.nix
+++ b/pkgs/development/compilers/ocaml/3.11.1.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
          documentation generator (ocamldoc).
        '';
 
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     maintainers = [
       stdenv.lib.maintainers.z77z
     ];
diff --git a/pkgs/development/interpreters/php/5.3.nix b/pkgs/development/interpreters/php/5.3.nix
index 8277021b0dc3..3080a2c24cda 100644
--- a/pkgs/development/interpreters/php/5.3.nix
+++ b/pkgs/development/interpreters/php/5.3.nix
@@ -8,7 +8,7 @@ in
 
 composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
 
-  version = "5.3.3";
+  version = "5.3.4";
 
   name = "php_configurable-${version}";
 
@@ -151,7 +151,7 @@ composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
 
   src = args.fetchurl {
     url = "http://nl.php.net/get/php-${version}.tar.bz2/from/this/mirror";
-    sha256 = "16iz1cprpjw60nf6n5z6isdziyzj56i3r8161si58j65yd86g1zj";
+    sha256 = "1391yibyc7kcrnprv6g57s2m6ld6n9j2iybzvwd2srdihl8q6cm8";
     name = "php-${version}.tar.bz2";
   };
 
diff --git a/pkgs/development/libraries/box2d/2.0.1.nix b/pkgs/development/libraries/box2d/2.0.1.nix
new file mode 100644
index 000000000000..9aa08caf00f4
--- /dev/null
+++ b/pkgs/development/libraries/box2d/2.0.1.nix
@@ -0,0 +1,82 @@
+x@{builderDefsPackage
+  , unzip, cmake, mesa, freeglut, libX11, xproto
+  , inputproto, libXi
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="box2d";
+    version="2.0.1";
+    name="${baseName}-${version}";
+    url="http://box2d.googlecode.com/files/Box2D_v${version}.zip";
+    hash="62857048aa089b558561074154430883cee491eedd71247f75f488cba859e21f";
+  };
+in
+rec {
+  src = a.fetchurl {
+    url = sourceInfo.url;
+    sha256 = sourceInfo.hash;
+  };
+
+  inherit (sourceInfo) name version;
+  inherit buildInputs;
+
+  phaseNames = ["fixIncludes" "setVars" "changeSettings" "doMake" "doDeploy"];
+
+  goSrcDir = ''cd Box2D'';
+
+  fixIncludes = a.fullDepEntry ''
+    sed -i Source/Dynamics/Contacts/b2PolyContact.cpp \
+        -i Source/Dynamics/Contacts/b2CircleContact.cpp \
+        -i Source/Dynamics/Contacts/b2PolyAndCircleContact.cpp \
+        -i Source/Common/b2BlockAllocator.cpp \
+        -i Source/Collision/b2BroadPhase.cpp \
+        -i Examples/TestBed/Framework/Render.cpp \
+        -i Examples/TestBed/Tests/BroadPhaseTest.cpp \
+        -i Examples/TestBed/Tests/TestEntries.cpp \
+        -e '1i#include <string.h>'
+  '' ["minInit" "addInputs" "doUnpack"];
+
+  setVars = a.noDepEntry ''
+    export NIX_LDFLAGS="$NIX_LDFLAGS -lX11 -lXi"
+  '';
+
+  doDeploy = a.fullDepEntry ''
+    ensureDir "$out"/lib
+    ensureDir "$out"/include/Box2D
+    cp Library/* Source/Gen/float/lib*.{a,so} "$out"/lib
+    cp -r Source "$out"/include/Box2D/Source
+    find "$out"/include/Box2D/Source ! -name '*.h' -exec rm '{}' ';'
+    sed -e s@../Source@Box2D/Source@ -i Include/Box2D.h
+    cp Include/Box2D.h "$out"/include/Box2D
+    ensureDir "$out/share"
+    cp -r Examples "$out/share"
+  '' ["minInit" "addInputs" "doMake" "defEnsureDir"];
+
+  changeSettings = a.fullDepEntry ''
+    sed -i Source/Common/b2Settings.h -e 's@b2_maxPolygonVertices .*@b2_maxPolygonVertices = 15;@'
+  '' ["minInit" "addInputs" "doUnpack"];
+      
+  meta = {
+    description = "2D physics engine";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+    license = "bsd";
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "http://code.google.com/p/box2d/downloads/list";
+    };
+  };
+}) x
+
diff --git a/pkgs/development/libraries/box2d/default.nix b/pkgs/development/libraries/box2d/default.nix
new file mode 100644
index 000000000000..9d261191fbba
--- /dev/null
+++ b/pkgs/development/libraries/box2d/default.nix
@@ -0,0 +1,59 @@
+x@{builderDefsPackage
+  , unzip, cmake, mesa, freeglut, libX11, xproto
+  , inputproto, libXi
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="box2d";
+    version="2.1.2";
+    name="${baseName}-${version}";
+    url="http://box2d.googlecode.com/files/Box2D_v${version}.zip";
+    hash="0m5szd74ig8yqazwk2g3zl4z7wwp08k52awawk1pigy6a4z1qd9v";
+  };
+in
+rec {
+  src = a.fetchurl {
+    url = sourceInfo.url;
+    sha256 = sourceInfo.hash;
+  };
+
+  inherit (sourceInfo) name version;
+  inherit buildInputs;
+
+  phaseNames = ["changeSettings" "doCmake" "doMakeInstall"];
+
+  changeSettings = a.fullDepEntry ''
+    sed -i Box2D/Common/b2Settings.h -e 's@b2_maxPolygonVertices .*@b2_maxPolygonVertices 15@'
+  '' ["minInit" "addInputs" "doUnpack"];
+      
+  goSrcDir = ''cd Box2D'';
+
+  doCmake = a.fullDepEntry ''
+    cd Build; 
+    cmake -DBOX2D_INSTALL=ON -DBOX2D_BUILD_SHARED=ON -DCMAKE_INSTALL_PREFIX=$out ..
+  '' ["minInit" "addInputs" "doUnpack"];
+      
+  meta = {
+    description = "2D physics engine";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+    license = "bsd";
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "http://code.google.com/p/box2d/downloads/list";
+    };
+  };
+}) x
+
diff --git a/pkgs/development/libraries/enchant/default.nix b/pkgs/development/libraries/enchant/default.nix
index 388d042d3aca..78756deb55ea 100644
--- a/pkgs/development/libraries/enchant/default.nix
+++ b/pkgs/development/libraries/enchant/default.nix
@@ -1,14 +1,16 @@
-{ stdenv, fetchurl, aspell, pkgconfig, glib }:
+{ stdenv, fetchurl, aspell, pkgconfig, glib, hunspell, hspell }:
 
 stdenv.mkDerivation rec {
-  name = "enchant-1.3.0";
+  name = "${pname}-${version}";
+  version = "1.6.0";
+  pname = "enchant";
   
   src = fetchurl {
-    url = "http://www.abisource.com/downloads/enchant/1.3.0/${name}.tar.gz";
-    sha256 = "1vwqwsadnp4rf8wj7d4rglvszjzlcli0jyxh06h8inka1sm1al76";
+    url = "http://www.abisource.com/downloads/${pname}/${version}/${name}.tar.gz";
+    sha256 = "0zq9yw1xzk8k9s6x83n1f9srzcwdavzazn3haln4nhp9wxxrxb1g";
   };
   
-  buildInputs = [aspell pkgconfig glib];
+  buildInputs = [aspell pkgconfig glib hunspell hspell];
   
   meta = {
     homepage = http://www.abisource.com/enchant;
diff --git a/pkgs/development/libraries/exiv2/default.nix b/pkgs/development/libraries/exiv2/default.nix
index 676f021a7209..5cb04c80a45e 100644
--- a/pkgs/development/libraries/exiv2/default.nix
+++ b/pkgs/development/libraries/exiv2/default.nix
@@ -1,19 +1,22 @@
-{stdenv, fetchurl, zlib}:
+{stdenv, fetchurl, zlib, expat}:
 
 stdenv.mkDerivation rec {
-  name = "exiv2-0.18";
+  name = "exiv2-0.21";
   
   src = fetchurl {
     url = "http://www.exiv2.org/${name}.tar.gz";
-    sha256 = "1kg4bdlcqqhw9gcfs68i55sz4hvlf94xxxmqb255hhvhfj692rz5";
+    sha256 = "1r9phzb1h9v8smw1pix2k9lyr44n4nyba15x7qh45c0pwsjdf9yq";
   };
   
-  buildInputs = [zlib];
+  propagatedBuildInputs = [zlib expat];
   
-  configureFlags = "--with-zlib=${zlib} --disable-xmp";
+# configure script finds zlib&expat but it thinks that they're in /usr
+  configureFlags = "--with-zlib=${zlib} --with-expat=${expat}";
 
   meta = {
     homepage = http://www.exiv2.org/;
     description = "A library and command-line utility to manage image metadata";
+    maintainers = [stdenv.lib.maintainers.urkud];
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/hunspell/default.nix b/pkgs/development/libraries/hunspell/default.nix
index 1eb9b9c13382..9f3650c21558 100644
--- a/pkgs/development/libraries/hunspell/default.nix
+++ b/pkgs/development/libraries/hunspell/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ncurses, readline }:
 
 stdenv.mkDerivation rec {
-  name = "hunspell-1.2.11";
+  name = "hunspell-1.2.12";
 
   src = fetchurl {
     url = "mirror://sf/hunspell/${name}.tar.gz";
-    sha256 = "14vfs1qb01hq30ss1bsiv6lkx673695g0xdyisrq720fdq2mr5rz";
+    sha256 = "0s8fh8zanhks6bgkb7dzwscy97fb6wl4ymvjqz7188fz29qjlnaz";
   };
 
   propagatedBuildInputs = [ ncurses readline ];
diff --git a/pkgs/development/libraries/icu/default.nix b/pkgs/development/libraries/icu/default.nix
index 6323d7d146a4..c15bbe2491c3 100644
--- a/pkgs/development/libraries/icu/default.nix
+++ b/pkgs/development/libraries/icu/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "icu4c";
-  version = "4.4.1";
+  version = "4.6";
 in
 
 stdenv.mkDerivation {
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
   src = fetchurl {
     url = "http://download.icu-project.org/files/${pname}/${version}/${pname}-"
       + (stdenv.lib.replaceChars ["."] ["_"] version) + "-src.tgz";
-    sha256 = "0qrhf9gsj38saxfzpzvlwp1jwdsxr06npdds5dbsc86shg0lz69l";
+    sha256 = "1z6zklqdf6pq7fckk8ar4vmfrnw79bih6yc8gwc7k2vx2alav8dm";
   };
 
   postUnpack = "
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Unicode and globalization support library";
     homepage = http://site.icu-project.org/;
-    maintainers = [stdenv.lib.maintainers.raskin];
+    maintainers = with stdenv.lib.maintainers; [raskin urkud];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/iso-codes/default.nix b/pkgs/development/libraries/iso-codes/default.nix
index 836831594768..a0119866df0c 100644
--- a/pkgs/development/libraries/iso-codes/default.nix
+++ b/pkgs/development/libraries/iso-codes/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, gettext, python}:
 
-stdenv.mkDerivation {
-  name = "iso-codes-3.5";
+stdenv.mkDerivation rec {
+  name = "iso-codes-3.23";
   src = fetchurl {
-    url = ftp://pkg-isocodes.alioth.debian.org/pub/pkg-isocodes/iso-codes-3.5.tar.bz2;
-    sha256 = "2aac5f37a9ebb5af9c5d186ba1428f05ad779c7760e279cd8b86897a5d434807";
+    url = "ftp://pkg-isocodes.alioth.debian.org/pub/pkg-isocodes/${name}.tar.bz2";
+    sha256 = "0lf9phrdr10biihqswq1qmwk5cz954nwavgbnpm7a5r6vzfzkfbq";
   };
   patchPhase = ''
     for i in `find . -name \*.py`
@@ -13,4 +13,11 @@ stdenv.mkDerivation {
     done
   '';
   buildInputs = [ gettext ];
+
+  meta = {
+    homepage = http://pkg-isocodes.alioth.debian.org/;
+    description = "Various ISO codes packaged as XML files";
+    maintainers = [ stdenv.lib.maintainers.urkud ];
+    platforms = stdenv.lib.platforms.all;
+  };
 }
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 7c9223a91fd7..918f84e3b748 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -1,34 +1,27 @@
-{ fetchurl, stdenv, qt4Support ? false, qt4 ? null
-, cairo, freetype, fontconfig, zlib, libjpeg
-, pkgconfig, glib, gtk }:
-
-assert qt4Support -> (qt4 != null);
+{ fetchurl, stdenv, qt4Support ? false, qt4, cairo, freetype, fontconfig, zlib,
+  libjpeg, pixman, curl, libpthreadstubs, libXau, libXdmcp, openjpeg,
+  libxml2, pkgconfig, glib, gtk, cmake, lcms }:
 
 stdenv.mkDerivation rec {
-  name = "poppler-0.12.3";
+  name = "poppler-0.14.5";
 
   src = fetchurl {
-    url = "http://poppler.freedesktop.org/${name}.tar.gz";
-    sha256 = "1k7vilpz0ipnmw9dfpb3rqkhlm4rqcnkn3bhhp14di2h55nzwkvs";
+    url = "${meta.homepage}${name}.tar.gz";
+    sha256 = "0k41cj0yp3l7854y1hlghn2cgqmqq6hw5iz8i84q0w0s9iy321f8";
   };
 
-  buildInputs = [pkgconfig zlib glib cairo freetype fontconfig libjpeg gtk]
+  propagatedBuildInputs = [zlib glib cairo freetype fontconfig libjpeg gtk lcms
+    pixman curl libpthreadstubs libXau libXdmcp openjpeg libxml2 stdenv.gcc.libc]
     ++ (if qt4Support then [qt4] else []);
 
-  configureFlags =
-    ''
-      --enable-exceptions --enable-cairo --enable-splash
-      --enable-poppler-glib --enable-zlib --enable-xpdf-headers
-    ''
-    + (if qt4Support then "--enable-qt-poppler" else "--disable-qt-poppler");
-
-  patches = [ ./GDir-const.patch ];
+  buildInputs = [ pkgconfig cmake ];
 
-  preConfigure = "sed -e '/jpeg_incdirs/s@/usr@${libjpeg}@' -i configure";
+  cmakeFlags = "-DENABLE_XPDF_HEADERS=ON -DENABLE_LIBCURL=ON -DENABLE_ZLIB=ON";
 
   # XXX: The Poppler/Qt4 test suite refers to non-existent PDF files
   # such as `../../../test/unittestcases/UseNone.pdf'.
-  doCheck = !qt4Support;
+#doCheck = !qt4Support;
+  checkTarget = "test";
 
   meta = {
     homepage = http://poppler.freedesktop.org/;
@@ -38,6 +31,10 @@ stdenv.mkDerivation rec {
       Poppler is a PDF rendering library based on the xpdf-3.0 code base.
     '';
 
+    platforms = if qt4Support
+      then qt4.meta.platforms
+      else stdenv.lib.platforms.all;
+
     license = "GPLv2";
   };
 }
diff --git a/pkgs/development/ocaml-modules/batteries/default.nix b/pkgs/development/ocaml-modules/batteries/default.nix
index 9aef1f446fe9..ce946c3d31fc 100644
--- a/pkgs/development/ocaml-modules/batteries/default.nix
+++ b/pkgs/development/ocaml-modules/batteries/default.nix
@@ -30,5 +30,9 @@ stdenv.mkDerivation {
       language.
     '';
     license = "LGPL";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.z77z
+    ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/camlzip/META b/pkgs/development/ocaml-modules/camlzip/META
index 85456166101e..72f5a3b8bd02 100644
--- a/pkgs/development/ocaml-modules/camlzip/META
+++ b/pkgs/development/ocaml-modules/camlzip/META
@@ -1,23 +1,6 @@
-# Specifications for the "camlzip" library:
-
-name="zip"
-version="1.04"
-description="A library for handling ZIP and GZIP files in OCaml"
-directory="@INSTALLDIR@"
-
+version="@VERSION@"
+description="reading and writing ZIP, JAR and GZIP files"
 requires="unix"
-requires(byte)="unix"
-requires(native)="unix"
-requires(toploop)="unix"
-
-requires(byte,mt)="unix"
-requires(native,mt)="unix"
-requires(toploop,mt)="unix"
-
-archive(byte)="zip.cma"
-archive(native)="zip.cmxa"
-archive(toploop)="zip.cma"
-
-archive(byte,mt)="zip.cma"
-archive(native,mt)="zip.cmxa"
-archive(toploop,mt)="zip.cma"
+archive(byte)="camlzip.cma"
+archive(native)="camlzip.cmxa"
+linkopts = ""
diff --git a/pkgs/development/ocaml-modules/camlzip/default.nix b/pkgs/development/ocaml-modules/camlzip/default.nix
index 4e5df2cd75d9..9e991a811e6b 100644
--- a/pkgs/development/ocaml-modules/camlzip/default.nix
+++ b/pkgs/development/ocaml-modules/camlzip/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, zlib, ocaml}:
+{stdenv, fetchurl, zlib, ocaml, findlib}:
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
@@ -14,25 +14,20 @@ stdenv.mkDerivation {
     sha256 = "1zpchmp199x7f4mzmapvfywgy7f6wy9yynd9nd8yh8l78s5gixbn";
   };
 
-  buildInputs = [zlib ocaml];
+  buildInputs = [zlib ocaml findlib];
 
   patches = [ ./makefile.patch ];
 
-  configurePhase = ''
-    export INSTALLDIR="$out/lib/ocaml/${ocaml_version}/site-lib/zip"
+  postPatch = ''
+    substitute ${./META} META --subst-var-by VERSION "${version}"
     substituteInPlace Makefile \
       --subst-var-by ZLIB_LIBDIR "${zlib}/lib" \
-      --subst-var-by ZLIB_INCLUDE "${zlib}/include" \
-      --subst-var INSTALLDIR
+      --subst-var-by ZLIB_INCLUDE "${zlib}/include"
   '';
 
   buildFlags = "all allopt";
 
-  installTargets = "install installopt";
-
-  postInstall = ''
-    substitute ${./META} $INSTALLDIR/META --subst-var INSTALLDIR
-  '';
+  installTargets = "install";
 
   meta = {
     homepage = "http://cristal.inria.fr/~xleroy/software.html#camlzip";
@@ -43,5 +38,9 @@ stdenv.mkDerivation {
       for reading from and writing to compressed files in these formats.
     '';
     license = "LGPL+linking exceptions";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.z77z
+    ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/camlzip/makefile.patch b/pkgs/development/ocaml-modules/camlzip/makefile.patch
index 10adcd6687b0..07637100d036 100644
--- a/pkgs/development/ocaml-modules/camlzip/makefile.patch
+++ b/pkgs/development/ocaml-modules/camlzip/makefile.patch
@@ -1,7 +1,7 @@
-diff -Naur camlzip-1.04/Makefile camlzip-1.04.nixos/Makefile
+diff -Nuar camlzip-1.04/Makefile camlzip-1.04.nixpkgs/Makefile
 --- camlzip-1.04/Makefile	2002-04-22 17:28:57.000000000 +0200
-+++ camlzip-1.04.nixos/Makefile	2010-08-17 14:40:07.000000000 +0200
-@@ -4,14 +4,14 @@
++++ camlzip-1.04.nixpkgs/Makefile	2010-12-12 18:30:49.000000000 +0100
+@@ -4,14 +4,10 @@
  ZLIB_LIB=-lz
  
  # The directory containing the Zlib library (libz.a or libz.so)
@@ -10,23 +10,45 @@ diff -Naur camlzip-1.04/Makefile camlzip-1.04.nixos/Makefile
  
  # The directory containing the Zlib header file (zlib.h)
 -ZLIB_INCLUDE=/usr/local/include
-+ZLIB_INCLUDE=@ZLIB_INCLUDE@
- 
- # Where to install the library.  By default: sub-directory 'zip' of
- # OCaml's standard library directory.
+-
+-# Where to install the library.  By default: sub-directory 'zip' of
+-# OCaml's standard library directory.
 -INSTALLDIR=`$(OCAMLC) -where`/zip
-+INSTALLDIR=@INSTALLDIR@
++ZLIB_INCLUDE=@ZLIB_INCLUDE@
  
  ### End of configuration section
  
-@@ -59,10 +59,6 @@
- 	cp zip.cma zip.cmi gzip.cmi zip.mli gzip.mli libcamlzip.a $(INSTALLDIR)
- 	if test -f dllcamlzip.so; then \
- 	  cp dllcamlzip.so $(INSTALLDIR); \
+@@ -19,10 +15,13 @@
+ OCAMLOPT=ocamlopt
+ OCAMLDEP=ocamldep
+ OCAMLMKLIB=ocamlmklib
++OCAMLFIND=ocamlfind 
+ 
+ OBJS=zlib.cmo zip.cmo gzip.cmo
+ C_OBJS=zlibstubs.o
+ 
++LIBINSTALL_FILES = $(wildcard *.mli *.cmi *.cma *.cmxa *.a *.so)
++
+ all: libcamlzip.a zip.cma
+ 
+ allopt: libcamlzip.a zip.cmxa
+@@ -55,18 +54,7 @@
+ 	rm -f *.o *.a
+ 
+ install:
+-	mkdir -p $(INSTALLDIR)
+-	cp zip.cma zip.cmi gzip.cmi zip.mli gzip.mli libcamlzip.a $(INSTALLDIR)
+-	if test -f dllcamlzip.so; then \
+-	  cp dllcamlzip.so $(INSTALLDIR); \
 -          ldconf=`$(OCAMLC) -where`/ld.conf; \
 -          installdir=$(INSTALLDIR); \
 -          if test `grep -s -c $$installdir'$$' $$ldconf || :` = 0; \
 -          then echo $$installdir >> $$ldconf; fi \
-         fi
+-        fi
+-
+-installopt:
+-	cp zip.cmxa zip.a zip.cmx gzip.cmx $(INSTALLDIR)
++	$(OCAMLFIND) install camlzip META $(LIBINSTALL_FILES)
  
- installopt:
+ depend:
+ 	gcc -MM -I$(ZLIB_INCLUDE) *.c > .depend
diff --git a/pkgs/development/ocaml-modules/camomile/0.7.3.nix b/pkgs/development/ocaml-modules/camomile/0.7.3.nix
index 4cc214042587..b770b36abf66 100644
--- a/pkgs/development/ocaml-modules/camomile/0.7.3.nix
+++ b/pkgs/development/ocaml-modules/camomile/0.7.3.nix
@@ -21,5 +21,9 @@ stdenv.mkDerivation {
     homepage = http://camomile.sourceforge.net/;
     description = "A comprehensive Unicode library for OCaml";
     license = "LGPL";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.z77z
+    ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/camomile/0.8.1.nix b/pkgs/development/ocaml-modules/camomile/0.8.1.nix
index 1c32bca58b13..8d9ab69dfc65 100644
--- a/pkgs/development/ocaml-modules/camomile/0.8.1.nix
+++ b/pkgs/development/ocaml-modules/camomile/0.8.1.nix
@@ -21,5 +21,9 @@ stdenv.mkDerivation {
     homepage = http://camomile.sourceforge.net/;
     description = "A comprehensive Unicode library for OCaml";
     license = "LGPL";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.z77z
+    ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/cryptgps/default.nix b/pkgs/development/ocaml-modules/cryptgps/default.nix
index a9116c09ee76..63a25dd0b471 100644
--- a/pkgs/development/ocaml-modules/cryptgps/default.nix
+++ b/pkgs/development/ocaml-modules/cryptgps/default.nix
@@ -27,5 +27,9 @@ stdenv.mkDerivation {
       itself.
     '';
     license = "MIT/X11";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.z77z
+    ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/cryptokit/default.nix b/pkgs/development/ocaml-modules/cryptokit/default.nix
index 1c7e361f3fc3..f4ba9a8d7d7f 100644
--- a/pkgs/development/ocaml-modules/cryptokit/default.nix
+++ b/pkgs/development/ocaml-modules/cryptokit/default.nix
@@ -39,5 +39,9 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://pauillac.inria.fr/~xleroy/software.html";
     description = "A library of cryptographic primitives for OCaml";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.z77z
+    ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/lwt/default.nix b/pkgs/development/ocaml-modules/lwt/default.nix
index 766419aada7c..9ef109063655 100644
--- a/pkgs/development/ocaml-modules/lwt/default.nix
+++ b/pkgs/development/ocaml-modules/lwt/default.nix
@@ -21,5 +21,9 @@ stdenv.mkDerivation {
     homepage = http://ocsigen.org/lwt;
     description = "Lightweight thread library for Objective Caml";
     license = "LGPL";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.z77z
+    ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/menhir/default.nix b/pkgs/development/ocaml-modules/menhir/default.nix
index 7c1a2bfe829a..4d92cda5553d 100644
--- a/pkgs/development/ocaml-modules/menhir/default.nix
+++ b/pkgs/development/ocaml-modules/menhir/default.nix
@@ -43,5 +43,9 @@ stdenv.mkDerivation {
       and Yann Régis-Gianas.
     '';
     license = "QPL,LGPL+linking exceptions";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.z77z
+    ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/ocamlnet/default.nix b/pkgs/development/ocaml-modules/ocamlnet/default.nix
new file mode 100644
index 000000000000..07a781657b3f
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocamlnet/default.nix
@@ -0,0 +1,43 @@
+{stdenv, fetchurl, ncurses, ocaml, findlib, ocaml_pcre, camlzip, openssl, ocaml_ssl}:
+
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+  version = "3.1";
+in
+
+stdenv.mkDerivation {
+  name = "ocamlnet-${version}";
+
+  src = fetchurl {
+    url = "http://download.camlcity.org/download/ocamlnet-${version}.tar.gz";
+    sha256 = "0kdc2540ad84j6haj9jxlwryz9cb8q8kjdr48f2wgvcaii38v9f5";
+  };
+
+  buildInputs = [ncurses ocaml findlib ocaml_pcre camlzip openssl ocaml_ssl];
+
+  dontAddPrefix = true;
+
+  preConfigure = ''
+    configureFlagsArray=(
+      -bindir $out/bin
+      -enable-ssl
+      -enable-zip
+      -datadir $out/lib/ocaml/${ocaml_version}/ocamlnet
+    )
+  '';
+
+  buildPhase = ''
+    make all
+    make opt
+  '';
+
+  meta = {
+    homepage = http://projects.camlcity.org/projects/ocamlnet.html;
+    description = "A library implementing Internet protocols (http, cgi, email, etc.) for OCaml";
+    license = "Most Ocamlnet modules are released under the zlib/png license. The HTTP server module Nethttpd is, however, under the GPL.";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.z77z
+    ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ounit/default.nix b/pkgs/development/ocaml-modules/ounit/default.nix
index af208dc5651c..62bf7f89c491 100644
--- a/pkgs/development/ocaml-modules/ounit/default.nix
+++ b/pkgs/development/ocaml-modules/ounit/default.nix
@@ -27,5 +27,9 @@ stdenv.mkDerivation {
     homepage = http://www.xs4all.nl/~mmzeeman/ocaml/;
     description = "Unit test framework for OCaml";
     license = "MIT/X11";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.z77z
+    ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/pcre/default.nix b/pkgs/development/ocaml-modules/pcre/default.nix
index d1287425625c..d16093a6feb9 100644
--- a/pkgs/development/ocaml-modules/pcre/default.nix
+++ b/pkgs/development/ocaml-modules/pcre/default.nix
@@ -22,5 +22,9 @@ stdenv.mkDerivation {
     homepage = "http://www.ocaml.info/home/ocaml_sources.html#pcre-ocaml";
     description = "An efficient C-library for pattern matching with Perl-style regular expressions in OCaml";
     license = "LGPL";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.z77z
+    ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/react/default.nix b/pkgs/development/ocaml-modules/react/default.nix
index b1757d84b7b6..02420204dbfa 100644
--- a/pkgs/development/ocaml-modules/react/default.nix
+++ b/pkgs/development/ocaml-modules/react/default.nix
@@ -29,5 +29,9 @@ stdenv.mkDerivation {
     homepage = http://erratique.ch/software/react;
     description = "Applicative events and signals for OCaml";
     license = "BSD";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.z77z
+    ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/sqlite3/default.nix b/pkgs/development/ocaml-modules/sqlite3/default.nix
new file mode 100644
index 000000000000..d542cfe14f62
--- /dev/null
+++ b/pkgs/development/ocaml-modules/sqlite3/default.nix
@@ -0,0 +1,35 @@
+{stdenv, fetchurl, sqlite, ocaml, findlib}:
+
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+  version = "1.5.8";
+in
+
+stdenv.mkDerivation {
+  name = "ocaml-sqlite3-${version}";
+
+  src = fetchurl {
+    url = "http://hg.ocaml.info/release/ocaml-sqlite3/archive/" +
+          "release-${version}.tar.bz2";
+    sha256 = "0ccy9b4pl9586vlzdkk3kvkz8xqc023ih1aw4nndyjnabkvgl832";
+  };
+
+  buildInputs = [ocaml findlib];
+
+  configureFlags = "--with-sqlite3=${sqlite}";
+
+  preConfigure = ''
+    export OCAMLPATH=$OCAMLPATH:$OCAMLFIND_DESTDIR
+    ensureDir $out/bin
+  '';
+
+  meta = {
+    homepage = "http://ocaml.info/home/ocaml_sources.html#ocaml-sqlite3";
+    description = "OCaml bindings to the SQLite 3 database access library";
+    license = "MIT/X11";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.z77z
+    ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ssl/default.nix b/pkgs/development/ocaml-modules/ssl/default.nix
index 6d57bd3bbf51..56ac189b7ba4 100644
--- a/pkgs/development/ocaml-modules/ssl/default.nix
+++ b/pkgs/development/ocaml-modules/ssl/default.nix
@@ -23,5 +23,9 @@ stdenv.mkDerivation {
     homepage = http://savonet.rastageeks.org/;
     description = "OCaml bindings for libssl ";
     license = "LGPL+link exception";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.z77z
+    ];
   };
 }
diff --git a/pkgs/games/the-butterfly-effect/default.nix b/pkgs/games/the-butterfly-effect/default.nix
new file mode 100644
index 000000000000..bcc10ab83962
--- /dev/null
+++ b/pkgs/games/the-butterfly-effect/default.nix
@@ -0,0 +1,65 @@
+x@{builderDefsPackage
+  , qt4, box2d_2_0_1
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="tbe";
+    version="8.2";
+    name="${baseName}-${version}";
+    url="mirror://sourceforge/project/${baseName}/Milestone%20${version}/TheButterflyEffect-m${version}.src.tgz";
+    hash="1s6xxvhw5rplpfmrhvfp4kb5z89lhcnrhawam8v7i51rk5hmjkd0";
+  };
+in
+rec {
+  src = a.fetchurl {
+    url = sourceInfo.url;
+    sha256 = sourceInfo.hash;
+  };
+
+  inherit (sourceInfo) name version;
+  inherit buildInputs;
+
+  phaseNames = ["setVars" /*"patchBox2d"*/ "doConfigure" "doMakeInstall" "doDeploy"];
+  configureCommand = "sh configure";
+
+  setVars = a.noDepEntry ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${a.box2d_2_0_1}/include/Box2D"
+  '';
+
+  doDeploy = a.fullDepEntry ''
+    ensureDir "$out/share/tbe"
+    cp -r . "$out/share/tbe/build-dir"
+    ensureDir "$out/bin"
+    echo '#! /bin/sh' >> "$out/bin/tbe"
+    echo "$out/share/tbe/build-dir/tbe \"\$@\"" >> "$out/bin/tbe"
+    chmod a+x "$out/bin/tbe"
+  '' ["minInit" "doMake" "defEnsureDir"];
+
+  patchBox2d = a.fullDepEntry ''
+    find . -exec sed -i '{}' -e s@b2XForm@b2Transform@g ';'
+  '' ["minInit" "doUnpack"];
+      
+  meta = {
+    description = "A physics-based game vaguely similar to Incredible Machine";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+    license = "GPLv2";
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "http://sourceforge.net/projects/tbe/files/";
+    };
+  };
+}) x
+
diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix
index 2c363ed80d5c..73fa3c37f39a 100644
--- a/pkgs/misc/cups/default.nix
+++ b/pkgs/misc/cups/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl, pkgconfig, zlib, libjpeg, libpng, libtiff, pam, openssl
-, dbus, libusb }:
+, dbus, libusb, acl }:
 
-let version = "1.4.4"; in
+let version = "1.4.5"; in
 
 stdenv.mkDerivation {
   name = "cups-${version}";
 
   src = fetchurl {
     url = "http://ftp.easysw.com/pub/cups/${version}/cups-${version}-source.tar.bz2";
-    md5 = "8776403ad60fea9e85eab9c04d88560d";
+    sha256 = "1zhf3hvx11i0qnbwyybmdhx4fxkxfd4ch69k59fj5bz8wvcdcl04";
   };
 
-  buildInputs = [ pkgconfig zlib libjpeg libpng libtiff pam dbus libusb ];
+  buildInputs = [ pkgconfig zlib libjpeg libpng libtiff pam dbus libusb acl ];
 
   propagatedBuildInputs = [ openssl ];
 
@@ -39,5 +39,7 @@ stdenv.mkDerivation {
     homepage = http://www.cups.org/;
     description = "A standards-based printing system for UNIX";
     license = "GPLv2"; # actually LGPL for the library and GPL for the rest
+    maintainers = [ stdenv.lib.maintainers.urkud ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/misc/cups/pdf-filter.nix b/pkgs/misc/cups/pdf-filter.nix
new file mode 100644
index 000000000000..ab978068e175
--- /dev/null
+++ b/pkgs/misc/cups/pdf-filter.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, pkgconfig, cups, poppler }:
+
+let version = "1.4.5"; in
+
+stdenv.mkDerivation {
+  name = "cups-pdf-filter-${version}";
+
+  src = fetchurl {
+    url = "http://ftp.easysw.com/pub/cups/${version}/cups-${version}-source.tar.bz2";
+    sha256 = "1zhf3hvx11i0qnbwyybmdhx4fxkxfd4ch69k59fj5bz8wvcdcl04";
+  };
+
+  buildInputs = [ pkgconfig cups poppler ];
+
+  preConfigure = ''
+    sed -e 's@\.\./cups/$(LIBCUPS)@@' -e 's@$(LIBCUPSIMAGE)@@' -i filter/Makefile
+    ''; 
+
+  NIX_LDFLAGS="-L${cups}/lib";
+
+  configureFlags = ''
+    --localstatedir=/var --enable-dbus
+    --enable-image --with-pdftops=pdftops'';
+
+  buildPhase = ''
+    cd filter
+    make pdftops
+    '';
+
+  installPhase = ''
+    mkdir -pv $out/lib/cups/filter
+    cp -v pdftops $out/lib/cups/filter
+    '';
+
+
+  meta = {
+    homepage = http://www.cups.org/;
+    description = "Image and pdf filters for CUPS";
+    license = "GPLv2";
+    maintainers = [ stdenv.lib.maintainers.urkud ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.36.nix b/pkgs/os-specific/linux/kernel/linux-2.6.36.nix
index a85ef2ecee14..84d5e1a29329 100644
--- a/pkgs/os-specific/linux/kernel/linux-2.6.36.nix
+++ b/pkgs/os-specific/linux/kernel/linux-2.6.36.nix
@@ -192,11 +192,11 @@ in
 import ./generic.nix (
 
   rec {
-    version = "2.6.36";
+    version = "2.6.36.2";
   
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2";
-      sha256 = "15a076d1a435a6bf8e92834eba4b390b4ec094ce06d47f89d071ca9e5788ce04";
+      sha256 = "06wshmpgwfswdfqx5cc5nsqaa8vjyg3wab2zpzmvmc1gw564b8ll";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/servers/games/ghost-one/default.nix b/pkgs/servers/games/ghost-one/default.nix
new file mode 100644
index 000000000000..2fd9a45dfc0e
--- /dev/null
+++ b/pkgs/servers/games/ghost-one/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchurl, unzip, gmp, zlib, bzip2, boost, mysql }:
+stdenv.mkDerivation rec {
+
+  name = "ghost-one-${version}";
+  version = "1.7.265";
+
+  src = fetchurl {
+    url = "http://www.maxdevlon.com/ghost/ghostone${version}.zip";
+    sha256 = "1sm2ca3lcdr4vjg7v94d8zhqz8cdp44rg8yinzzwkgsr0hj74fv2";
+  };
+
+  buildInputs = [ unzip gmp zlib bzip2 boost mysql ];
+
+  patchPhase = ''
+    substituteInPlace ghost/Makefile --replace "/usr/local/lib/mysql" "${mysql}/lib/mysql"
+  '';
+
+  buildPhase = ''
+    cd bncsutil/src/bncsutil
+    make
+    cd ../../../StormLib/stormlib/
+    make
+    ensureDir $out/lib
+    cd ../..
+#    cp bncsutil/src/bncsutil/libbncutil.so $out/lib
+#    cp StormLib/stormlib/libStorm.so $out/lib
+    cd ghost
+    make
+    cd ..
+  '';
+
+  installPhase = ''
+    ensureDir $out/lib
+    cp bncsutil/src/bncsutil/libbncsutil.so $out/lib
+    cp StormLib/stormlib/libStorm.so $out/lib
+
+    ensureDir $out/bin
+    cp ghost/ghost++ $out/bin
+
+    ensureDir $out/share/ghost-one/languages
+    cp -r mapcfgs $out/share/ghost-one
+    cp Languages/*.cfg $out/share/ghost-one/languages
+    cp language.cfg $out/share/ghost-one/languages/English.cfg
+    cp ip-to-country.csv $out/share/ghost-one/
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.codelain.com/forum/;
+    description = "A Warcraft III: Reign of Chaos and Warcraft III: The Frozen Throne game hosting bot";
+    license = licenses.asl20;
+    maintainers = [ maintainers.phreedom ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/servers/sql/mysql/jdbc/default.nix b/pkgs/servers/sql/mysql/jdbc/default.nix
index 3a2fc55dfc0c..0e2b38e100a1 100644
--- a/pkgs/servers/sql/mysql/jdbc/default.nix
+++ b/pkgs/servers/sql/mysql/jdbc/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, ant}:
 
 stdenv.mkDerivation {
-  name = "mysql-connector-java-5.1.13";
+  name = "mysql-connector-java-5.1.14";
   builder = ./builder.sh;
 
   src = fetchurl {
-    url = http://mirror.hostfuss.com/mysql/Downloads/Connector-J/mysql-connector-java-5.1.13.tar.gz;
-    sha256 = "1y0x9a7d0qfn9bb2114v65407wnjwhz1ylxk0fn997gvwy43schi";
+    url = ftp://mirror.leaseweb.com/mysql/Downloads/Connector-J/mysql-connector-java-5.1.14.tar.gz;
+    sha256 = "1l1jgaf498pvmvls3ilwyxpcafywfabf5kjc8qgzx7559lx8fvya";
   };
 
   buildInputs = [ant];
diff --git a/pkgs/servers/sql/postgresql/8.3.x.nix b/pkgs/servers/sql/postgresql/8.3.x.nix
index 973df7b5d580..2c7b1808d455 100644
--- a/pkgs/servers/sql/postgresql/8.3.x.nix
+++ b/pkgs/servers/sql/postgresql/8.3.x.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, ncurses, readline }:
 
-let version = "8.3.11"; in
+let version = "8.3.12"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
   
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "1nvjcsa0218849r2913mxia58cjgcw6rikkf1g7kmjb902lv3aw1";
+    sha256 = "0w7h09nx8pkpzznmz4wd1zv8dg3f6jv366rr8bf3s5g6vrvxcssr";
   };
 
   buildInputs = [ zlib ncurses readline ];
diff --git a/pkgs/servers/sql/postgresql/8.4.x.nix b/pkgs/servers/sql/postgresql/8.4.x.nix
index aaade4d1b561..416f4846fd52 100644
--- a/pkgs/servers/sql/postgresql/8.4.x.nix
+++ b/pkgs/servers/sql/postgresql/8.4.x.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, ncurses, readline }:
 
-let version = "8.4.4"; in
+let version = "8.4.5"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
   
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "0zp35f0q84id3jz2nlwgp2qxplywh4lfg2p5i9nv2zszas6kjsz6";
+    sha256 = "1grjazzhk0piwpb0bjmgi71wkzb8hk27h6g9l68h52lr5np2401h";
   };
 
   buildInputs = [ zlib ncurses readline ];
diff --git a/pkgs/servers/sql/postgresql/9.0.x.nix b/pkgs/servers/sql/postgresql/9.0.x.nix
new file mode 100644
index 000000000000..53d2f572e314
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/9.0.x.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, zlib, readline }:
+
+let version = "9.0.1"; in
+
+stdenv.mkDerivation rec {
+  name = "postgresql-${version}";
+  
+  src = fetchurl {
+    url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
+    sha256 = "15iid8l7hgpa2zzdsd0msn0ps9qq1mxkzxx0fca5z117054ws42k";
+  };
+
+  buildInputs = [ zlib readline ];
+
+  LC_ALL = "C";
+
+  passthru = {
+    inherit readline;
+    psqlSchema = "9.0";
+  };
+
+  meta = {
+    homepage = http://www.postgresql.org/;
+    description = "A powerful, open source object-relational database system";
+    license = "bsd";
+  };
+}
diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix
index e21b3945552a..0df4e0d7d4da 100644
--- a/pkgs/tools/misc/hdf5/default.nix
+++ b/pkgs/tools/misc/hdf5/default.nix
@@ -5,8 +5,8 @@
 stdenv.mkDerivation {
   name = "hdf5";
   src = fetchurl {
-    url = http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-1.8.5.tar.gz ;
-    sha256 = "0nykbpxg154akgp6va6fkab7kjvybbvpsr7n7i1l8xxmv3h3hbsa";  			
+    url = http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-1.8.5-patch1.tar.gz ;
+    sha256 = "919bb52a08fc5560c49fdc5ebd693b10b1e03eebbf44ad2e142c2e6cfd81f2b0";  			
   };
   buildInputs = [] ;
   
diff --git a/pkgs/tools/misc/rlwrap/default.nix b/pkgs/tools/misc/rlwrap/default.nix
index 7402209960d5..5c53d885e6f7 100644
--- a/pkgs/tools/misc/rlwrap/default.nix
+++ b/pkgs/tools/misc/rlwrap/default.nix
@@ -10,6 +10,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ readline ];
 
+  # Be high-bit-friendly
+  preBuild = ''
+    sed -i src/readline.c -e "s@[*]p [<] ' '@(*p >= 0) \\&\\& (*p < ' ')@"
+  '';
+
   meta = {
     description = "Readline wrapper for console programs";
     homepage = http://utopia.knoware.nl/~hlub/uck/rlwrap/;
diff --git a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
index ef6f9300c425..e129d9e29ec8 100644
--- a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
+++ b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
@@ -3,8 +3,8 @@
 stdenv.mkDerivation {
   name = "DisnixWebService-0.2";
   src = fetchurl {
-    url = http://hydra.nixos.org/build/716007/download/1/DisnixWebService-0.2.tar.bz2;
-    sha256 = "0a6l9dhi20d67bddzgqi15i00xvrxacpmfbn5a0nscp2izzbvmdr";
+    url = http://hydra.nixos.org/build/792274/download/3/DisnixWebService-0.2.tar.bz2;
+    sha256 = "1ccgrab896cs7bg5m99iam4cyvdj9q3gkmjkg9awqb710l9168sh";
   };
   buildInputs = [ apacheAnt ];
   PREFIX = ''''${env.out}'';
diff --git a/pkgs/tools/package-management/disnix/activation-scripts/default.nix b/pkgs/tools/package-management/disnix/activation-scripts/default.nix
index e214206d891b..c19c6a406a97 100644
--- a/pkgs/tools/package-management/disnix/activation-scripts/default.nix
+++ b/pkgs/tools/package-management/disnix/activation-scripts/default.nix
@@ -14,8 +14,8 @@ assert enableEjabberdDump -> ejabberd != null;
 stdenv.mkDerivation {
   name = "disnix-activation-scripts-0.2pre24557";
   src = fetchurl {
-    url = http://hydra.nixos.org/build/727573/download/1/disnix-activation-scripts-0.2pre24557.tar.gz;
-    sha256 = "089bp700rjdxfa0wzf81420i5iphs78kkz41506ibsfnbm8k3axj";
+    url = http://hydra.nixos.org/build/774785/download/1/disnix-activation-scripts-0.2pre24557.tar.gz;
+    sha256 = "16allbni0hwcj9qyg67n4ly4bl09wp32rrds3s1hvq6a2p3a3fg7";
   };
   
   preConfigure = if enableEjabberdDump then "export PATH=$PATH:${ejabberd}/sbin" else "";
diff --git a/pkgs/tools/package-management/disnix/default.nix b/pkgs/tools/package-management/disnix/default.nix
index adb1dcc0dd63..732ba2ad1811 100644
--- a/pkgs/tools/package-management/disnix/default.nix
+++ b/pkgs/tools/package-management/disnix/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, pkgconfig, dbus_glib, libxml2, libxslt, getopt, nixUnstable, gettext, libiconv}:
 
 stdenv.mkDerivation {
-  name = "disnix-0.2pre24517";
+  name = "disnix-0.2pre25135";
   src = fetchurl {
-    url = http://hydra.nixos.org/build/720966/download/3/disnix-0.2pre24517.tar.gz;
-    sha256 = "03d2w9kckk8hy2xrywb5mk5qiyd9kjxabihv1rjnc3grlzi053k4";
+    url = http://hydra.nixos.org/build/811133/download/4/disnix-0.2pre25135.tar.gz;
+    sha256 = "0ivblsgbl6fc4vqhs8zjw2qn463qlhnlzb5h34zyl0lya6wggcsd";
   };
   buildInputs = [ pkgconfig dbus_glib libxml2 libxslt getopt nixUnstable ]
                 ++ stdenv.lib.optional (!stdenv.isLinux) libiconv
diff --git a/pkgs/tools/package-management/disnix/disnixos/default.nix b/pkgs/tools/package-management/disnix/disnixos/default.nix
new file mode 100644
index 000000000000..5572ffe67975
--- /dev/null
+++ b/pkgs/tools/package-management/disnix/disnixos/default.nix
@@ -0,0 +1,12 @@
+{stdenv, fetchurl, disnix, socat, pkgconfig}:
+
+stdenv.mkDerivation {
+  name = "disnixos";
+  src = fetchurl {
+    url = http://hydra.nixos.org/build/811135/download/1/disnixos-0.1pre25150.tar.gz;
+    sha256 = "004i4k0c9lfvfmmv5iqwnqk3h2lip166dp8vpn3k3mvmpl17cn3j";
+  };
+  buildInputs = [ socat pkgconfig disnix ];
+  dontStrip = true;
+  NIX_STRIP_DEBUG = true;
+}
diff --git a/pkgs/tools/package-management/nix/sqlite.nix b/pkgs/tools/package-management/nix/sqlite.nix
index 0a69564c539f..4f4cf91af1fe 100644
--- a/pkgs/tools/package-management/nix/sqlite.nix
+++ b/pkgs/tools/package-management/nix/sqlite.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "nix-1.0pre25036";
+  name = "nix-1.0pre25121";
 
   src = fetchurl {
-    url = "http://hydra.nixos.org/build/787041/download/4/${name}.tar.bz2";
-    sha256 = "ccba5f44b75801187b766d4b98a53bccf335df35cde32aeab71630bfca7882f6";
+    url = "http://hydra.nixos.org/build/805927/download/4/${name}.tar.bz2";
+    sha256 = "94e619e8b44f1172e71dc86d0aec1a557e76d49609e9a1fccbcea752360e3e97";
   };
 
   buildInputs = [ perl curl openssl pkgconfig boehmgc ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index e2b982e13398..6d893629c40c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2021,7 +2021,7 @@ let
 
   ocaml_3_11_1 = callPackage ../development/compilers/ocaml/3.11.1.nix { };
 
-  ocaml_3_12_0 = callPackage ../development/compilers/ocaml/3.12.0.nix { };
+  ocaml_3_12_0 = lowPrio (callPackage ../development/compilers/ocaml/3.12.0.nix { });
 
   mkOcamlPackages = ocaml: self: let callPackage = newScope self; in rec {
     inherit ocaml;
@@ -2044,12 +2044,16 @@ let
 
     ocaml_lwt = callPackage ../development/ocaml-modules/lwt { };
 
+    ocamlnet = callPackage ../development/ocaml-modules/ocamlnet { };
+
     ocaml_pcre = callPackage ../development/ocaml-modules/pcre {
       inherit pcre;
     };
 
     ocaml_react = callPackage ../development/ocaml-modules/react { };
 
+    ocaml_sqlite3 = callPackage ../development/ocaml-modules/sqlite3 { };
+
     ocaml_ssl = callPackage ../development/ocaml-modules/ssl { };
 
     ounit = callPackage ../development/ocaml-modules/ounit { };
@@ -2733,6 +2737,9 @@ let
 
   botan = callPackage ../development/libraries/botan { };
 
+  box2d = callPackage ../development/libraries/box2d { };
+  box2d_2_0_1 = callPackage ../development/libraries/box2d/2.0.1.nix { };
+
   buddy = callPackage ../development/libraries/buddy { };
 
   cairo = callPackage ../development/libraries/cairo { };
@@ -4322,6 +4329,10 @@ let
 
   firebird = callPackage ../servers/firebird { };
 
+  ghostOne = callPackage ../servers/games/ghost-one {
+    boost = boostFull;
+  };
+
   ircdHybrid = callPackage ../servers/irc/ircd-hybrid { };
 
   jboss = callPackage ../servers/http/jboss { };
@@ -4393,6 +4404,8 @@ let
 
   postgresql84 = callPackage ../servers/sql/postgresql/8.4.x.nix { };
 
+  postgresql90 = callPackage ../servers/sql/postgresql/9.0.x.nix { };
+
   postgresql_jdbc = callPackage ../servers/sql/postgresql/jdbc { };
 
   pyIRCt = builderDefsPackage (import ../servers/xmpp/pyIRCt) {
@@ -5735,6 +5748,8 @@ let
 
   espeak = callPackage ../applications/audio/espeak { };
 
+  evopedia = callPackage ../applications/misc/evopedia { };
+
   # FIXME: Evince and other GNOME/GTK+ apps (e.g., Viking) provide
   # `share/icons/hicolor/icon-theme.cache'.  Arbitrarily give this one a
   # higher priority.
@@ -6873,6 +6888,8 @@ let
     stdenv = overrideInStdenv stdenv [ gnumake381 ];
   };
 
+  tbe = callPackage ../games/the-butterfly-effect {};
+
   teeworlds = callPackage ../games/teeworlds { };
 
   tennix = callPackage ../games/tennix { };
@@ -7185,6 +7202,8 @@ let
 
   cups = callPackage ../misc/cups { };
 
+  cups_pdf_filter = callPackage ../misc/cups/pdf-filter.nix { };
+
   gutenprint = callPackage ../misc/drivers/gutenprint { };
 
   gutenprintBin = callPackage ../misc/drivers/gutenprint/bin.nix { };
@@ -7296,6 +7315,8 @@ let
     enableTomcatWebApplication = getConfig ["disnix" "enableTomcatWebApplication"] false;
   };
 
+  disnixos = callPackage ../tools/package-management/disnix/disnixos { };
+  
   DisnixWebService = callPackage ../tools/package-management/disnix/DisnixWebService { };
 
   latex2html = callPackage ../misc/tex/latex2html/default.nix {
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 234439b1c43c..9655bc2d8bf8 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -2544,6 +2544,30 @@ rec {
     };
   };
 
+  TermReadLineGnu = buildPerlPackage rec {
+    name = "Term-ReadLine-Gnu-1.20";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/H/HA/HAYASHI/${name}.tar.gz";
+      sha256 = "00fvkqbnpmyld59jv2vbfw1szr5d0xxmbgl59gr7qijp9c497ni5";
+    };
+    buildInputs = [ pkgs.readline pkgs.ncurses ];
+    NIX_CFLAGS_LINK = "-lreadline";
+
+    # For some crazy reason Makefile.PL doesn't generate a Makefile if
+    # AUTOMATED_TESTING is set.
+    AUTOMATED_TESTING = false;
+
+    # Makefile.PL looks for ncurses in Glibc's prefix.
+    preConfigure =
+      ''
+        substituteInPlace Makefile.PL --replace '$Config{libpth}' \
+          "'${pkgs.ncurses}/lib'"
+      '';
+
+    # Tests don't work because they require /dev/tty.
+    doCheck = false;
+  };
+
   TestDeep = buildPerlPackage rec {
     name = "Test-Deep-0.106";
     src = fetchurl {