about summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops')
-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.nix3
-rw-r--r--pkgs/desktops/kde-4.5/accessibility/kmag.nix3
-rw-r--r--pkgs/desktops/kde-4.5/accessibility/kmousetool.nix3
-rw-r--r--pkgs/desktops/kde-4.5/accessibility/kmouth.nix3
-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.nix3
-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.nix50
-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/manifest.nix83
-rw-r--r--pkgs/desktops/kde-4.5/l10n/default.nix51
-rwxr-xr-xpkgs/desktops/kde-4.5/l10n/l10n-manifest.sh34
-rw-r--r--pkgs/desktops/kde-4.5/l10n/manifest-4.5.1.nix (renamed from pkgs/desktops/kde-4.5/l10n/manifest.nix)54
-rw-r--r--pkgs/desktops/kde-4.5/l10n/manifest-4.5.2.nix222
-rw-r--r--pkgs/desktops/kde-4.5/libs/default.nix11
-rw-r--r--pkgs/desktops/kde-4.5/libs/polkit-install.patch1
-rw-r--r--pkgs/desktops/kde-4.5/multimedia/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/network/default.nix4
-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.nix5
-rw-r--r--pkgs/desktops/kde-4.5/sdk/dolphin-plugins.nix4
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kapptemplate.nix4
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kate.nix5
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kbugbuster.nix4
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kcachegrind.nix4
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kdeaccounts-plugin.nix3
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kioslave-perldoc.nix4
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kioslave-svn.nix4
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kmtrace.nix3
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kompare.nix4
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kpartloader.nix4
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kprofilemethod.nix3
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kstartperf.nix4
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kuiviewer.nix4
-rw-r--r--pkgs/desktops/kde-4.5/sdk/lokalize.nix4
-rw-r--r--pkgs/desktops/kde-4.5/sdk/poxml.nix3
-rw-r--r--pkgs/desktops/kde-4.5/sdk/scripts.nix3
-rw-r--r--pkgs/desktops/kde-4.5/sdk/strigi-analyzer.nix3
-rw-r--r--pkgs/desktops/kde-4.5/sdk/umbrello.nix5
-rw-r--r--pkgs/desktops/kde-4.5/support/oxygen-icons/default.nix4
-rw-r--r--pkgs/desktops/kde-4.5/support/phonon/default.nix26
-rw-r--r--pkgs/desktops/kde-4.5/support/polkit-qt-1/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/toys/amor.nix3
-rw-r--r--pkgs/desktops/kde-4.5/toys/kteatime.nix3
-rw-r--r--pkgs/desktops/kde-4.5/toys/ktux.nix3
-rw-r--r--pkgs/desktops/kde-4.5/utils/ark.nix3
-rw-r--r--pkgs/desktops/kde-4.5/utils/kcalc.nix3
-rw-r--r--pkgs/desktops/kde-4.5/utils/kcharselect.nix3
-rw-r--r--pkgs/desktops/kde-4.5/utils/kdf.nix3
-rw-r--r--pkgs/desktops/kde-4.5/utils/kfloppy.nix2
-rw-r--r--pkgs/desktops/kde-4.5/utils/kgpg.nix3
-rw-r--r--pkgs/desktops/kde-4.5/utils/kremotecontrol.nix4
-rw-r--r--pkgs/desktops/kde-4.5/utils/ktimer.nix3
-rw-r--r--pkgs/desktops/kde-4.5/utils/kwallet.nix3
-rw-r--r--pkgs/desktops/kde-4.5/utils/okteta.nix5
-rw-r--r--pkgs/desktops/kde-4.5/utils/printer-applet.nix3
-rw-r--r--pkgs/desktops/kde-4.5/utils/superkaramba.nix3
-rw-r--r--pkgs/desktops/kde-4.5/utils/sweeper.nix3
-rw-r--r--pkgs/desktops/kde-4.5/webdev/kfilereplace.nix3
-rw-r--r--pkgs/desktops/kde-4.5/webdev/kimagemapeditor.nix3
-rw-r--r--pkgs/desktops/kde-4.5/webdev/klinkstatus.nix3
-rw-r--r--pkgs/desktops/kde-4.5/webdev/kommander.nix3
-rw-r--r--pkgs/desktops/xfce-4/applications/xfce4-mixer.nix38
-rw-r--r--pkgs/desktops/xfce-4/default.nix2
82 files changed, 562 insertions, 220 deletions
diff --git a/pkgs/desktops/kde-4.5/accessibility/color-schemes.nix b/pkgs/desktops/kde-4.5/accessibility/color-schemes.nix
index b82ac5624a32..ff82529fded9 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.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/accessibility/icon-themes.nix b/pkgs/desktops/kde-4.5/accessibility/icon-themes.nix
index d9f4b64baadf..85280f9abbe9 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.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/accessibility/jovie.nix b/pkgs/desktops/kde-4.5/accessibility/jovie.nix
index 194532365b31..f86f047811bf 100644
--- a/pkgs/desktops/kde-4.5/accessibility/jovie.nix
+++ b/pkgs/desktops/kde-4.5/accessibility/jovie.nix
@@ -10,7 +10,8 @@ kde.package {
       name = "jovie";
       module = "kdeaccessibility";
       version = "0.6.0";
-      release = "4.5.1";
+      release = "4.5.2";
+      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 f97799a178e1..4800cb4d702d 100644
--- a/pkgs/desktops/kde-4.5/accessibility/kmag.nix
+++ b/pkgs/desktops/kde-4.5/accessibility/kmag.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "kmag";
       module = "kdeaccessibility";
       version = "1.0";
-      release = "4.5.1";
+      release = "4.5.2";
+      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 df978c37e3bf..1c7f97304b07 100644
--- a/pkgs/desktops/kde-4.5/accessibility/kmousetool.nix
+++ b/pkgs/desktops/kde-4.5/accessibility/kmousetool.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "kmousetool";
       module = "kdeaccessibility";
       version = "1.12";
-      release = "4.5.1";
+      release = "4.5.2";
+      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 8677f8020342..c8d5aa2b4e89 100644
--- a/pkgs/desktops/kde-4.5/accessibility/kmouth.nix
+++ b/pkgs/desktops/kde-4.5/accessibility/kmouth.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "kmouth";
       module = "kdeaccessibility";
       version = "1.1.1";
-      release = "4.5.1";
+      release = "4.5.2";
+      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 e758c3e2eaee..316505477454 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.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/aurorae.nix b/pkgs/desktops/kde-4.5/artwork/aurorae.nix
index 6727a0fda5a8..84f821c3a785 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.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/color-schemes.nix b/pkgs/desktops/kde-4.5/artwork/color-schemes.nix
index b4cf5d0f07b6..cbd78971fba6 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.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/desktop-themes.nix b/pkgs/desktops/kde-4.5/artwork/desktop-themes.nix
index b762dec1f1ca..6bf44984bf03 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.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/emoticons.nix b/pkgs/desktops/kde-4.5/artwork/emoticons.nix
index a9d2a2268353..63f1500a05a2 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.1";
+      version = "4.5.2";
     };
   };
 }
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 ad6353d1b026..e8ab8037ff82 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.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/kscreensaver.nix b/pkgs/desktops/kde-4.5/artwork/kscreensaver.nix
index f87527e71ab0..791364b236f6 100644
--- a/pkgs/desktops/kde-4.5/artwork/kscreensaver.nix
+++ b/pkgs/desktops/kde-4.5/artwork/kscreensaver.nix
@@ -9,7 +9,8 @@ kde.package rec {
       name = "kscreensaver";
       module = "kdeartwork";
       version = "1.0";
-      release = "4.5.1";
+      release = "4.5.2";
+      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 34f50b90269a..05148567ea7d 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.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/phase-style.nix b/pkgs/desktops/kde-4.5/artwork/phase-style.nix
index 5443d808ce98..64ad1e4a983a 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.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/sounds.nix b/pkgs/desktops/kde-4.5/artwork/sounds.nix
index 02cbf00c0277..29622bf5bc6d 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.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/wallpapers.nix b/pkgs/desktops/kde-4.5/artwork/wallpapers.nix
index 54f0165e1ad1..923814f6ca8d 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.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/weather-wallpapers.nix b/pkgs/desktops/kde-4.5/artwork/weather-wallpapers.nix
index 98f68a7cfdb3..bfee1a86e789 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.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/base-runtime/default.nix b/pkgs/desktops/kde-4.5/base-runtime/default.nix
index 02fa06e2961f..aa44b9d2e8c9 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.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/base-workspace/default.nix b/pkgs/desktops/kde-4.5/base-workspace/default.nix
index 6bd2393753cd..916e302acdf1 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.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/base/default.nix b/pkgs/desktops/kde-4.5/base/default.nix
index 6c60bbcebbbb..f06bf0033085 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.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/bindings/default.nix b/pkgs/desktops/kde-4.5/bindings/default.nix
index 678bef352f14..17dd970898bb 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.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/default.nix b/pkgs/desktops/kde-4.5/default.nix
index 7630d136a8f5..8ff7e9701990 100644
--- a/pkgs/desktops/kde-4.5/default.nix
+++ b/pkgs/desktops/kde-4.5/default.nix
@@ -1,6 +1,23 @@
-{ callPackage, stdenv, fetchurl, qt47 } :
+{ callPackage, recurseIntoAttrs, runCommand, stdenv, fetchurl, qt47 } :
 
-{
+let
+
+  version = "4.5.2";
+
+  # Various packages (e.g. kdesdk) have been split up into many
+  # smaller packages.  Some people may want to install the entire
+  # package, so provide a wrapper package that recombines them.
+  combinePkgs = name: pkgs:
+    let pkgs' = stdenv.lib.attrValues pkgs; in
+    runCommand "${name}-${version}" ({ passthru = pkgs // { inherit pkgs; }; })
+      ''
+        mkdir -p $out/nix-support
+        echo ${toString pkgs'} > $out/nix-support/propagated-user-env-packages
+      '';
+
+in
+
+recurseIntoAttrs rec {
   recurseForRelease = true;
 
   inherit callPackage stdenv;
@@ -47,8 +64,8 @@
   kdebase_runtime = callPackage ./base-runtime { };
 
 ### OTHER MODULES
-  kdeaccessibility = {
-    recurseForDerivations = true;
+
+  kdeaccessibility = combinePkgs "kdeaccessibility" {
     colorSchemes = callPackage ./accessibility/color-schemes.nix { };
     iconThemes = callPackage ./accessibility/icon-themes.nix { };
     jovie = callPackage ./accessibility/jovie.nix { };
@@ -58,8 +75,8 @@
   };
 
   kdeadmin = callPackage ./admin { };
-  kdeartwork = {
-    recurseForDerivations = true;
+  
+  kdeartwork = combinePkgs "kdeartwork" {
     aurorae = callPackage ./artwork/aurorae.nix { };
     colorSchemes = callPackage ./artwork/color-schemes.nix { };
     desktop_themes = callPackage ./artwork/desktop-themes.nix { };
@@ -72,14 +89,15 @@
     phase_style = callPackage ./artwork/phase-style.nix { };
     kscreensaver = callPackage ./artwork/kscreensaver.nix { };
   };
+  
   kdeedu = callPackage ./edu { };
   kdegames = callPackage ./games { };
   kdegraphics = callPackage ./graphics { };
   kdemultimedia = callPackage ./multimedia { };
   kdenetwork = callPackage ./network { };
   kdeplasma_addons = callPackage ./plasma-addons { };
-  kdesdk = {
-    recurseForDerivations = true;
+  
+  kdesdk = combinePkgs "kdesdk" {
     cervisia = callPackage ./sdk/cervisia.nix { };
     kapptemplate = callPackage ./sdk/kapptemplate.nix { };
     kate = callPackage ./sdk/kate.nix { };
@@ -101,14 +119,14 @@
     scripts = callPackage ./sdk/scripts.nix { };
     umbrello = callPackage ./sdk/umbrello.nix { };
   };
-  kdetoys = {
-    recurseForDerivations = true;
+  
+  kdetoys = combinePkgs "kdetoys" {
     amor = callPackage ./toys/amor.nix { };
     kteatime = callPackage ./toys/kteatime.nix { };
     ktux = callPackage ./toys/ktux.nix { };
   };
 
-  kdeutils = {
+  kdeutils = combinePkgs "kdeutils" {
     ark = callPackage ./utils/ark.nix { };
     kcalc = callPackage ./utils/kcalc.nix { };
     kcharselect = callPackage ./utils/kcharselect.nix { };
@@ -122,11 +140,9 @@
     printer_applet = callPackage ./utils/printer-applet.nix { };
     superkaramba = callPackage ./utils/superkaramba.nix { };
     sweeper = callPackage ./utils/sweeper.nix { };
-    recurseForRelease = true;
   };
 
-  kdewebdev = {
-    recurseForDerivations = true;
+  kdewebdev = combinePkgs "kdewebdev" {
     klinkstatus = callPackage ./webdev/klinkstatus.nix { };
     kommander = callPackage ./webdev/kommander.nix { };
     kfilereplace = callPackage ./webdev/kfilereplace.nix { };
@@ -139,9 +155,15 @@
   # Experimental 4.5 versions
   kdepim_runtime45 = callPackage ./pim-runtime45 { };
   kdepim45 = callPackage ./pim45 { };
+  
 ### DEVELOPMENT
 
   kdebindings = callPackage ./bindings { };
 
   l10n = callPackage ./l10n { };
+
+  # Make the split packages visible to `nix-env -q'.
+  misc = recurseIntoAttrs
+    (kdeaccessibility.pkgs // kdeartwork.pkgs // kdesdk.pkgs // kdetoys.pkgs // kdeutils.pkgs // kdewebdev.pkgs);
+
 }
diff --git a/pkgs/desktops/kde-4.5/edu/default.nix b/pkgs/desktops/kde-4.5/edu/default.nix
index ac8e37e79f58..883bf1a22734 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.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/games/default.nix b/pkgs/desktops/kde-4.5/games/default.nix
index 88d5e1ce33b9..c8f90d134123 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.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/graphics/default.nix b/pkgs/desktops/kde-4.5/graphics/default.nix
index c8de3c616336..b9c2d8955d94 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.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/kde-package/manifest.nix b/pkgs/desktops/kde-4.5/kde-package/manifest.nix
index 688f25819504..7a6a8f128c47 100644
--- a/pkgs/desktops/kde-4.5/kde-package/manifest.nix
+++ b/pkgs/desktops/kde-4.5/kde-package/manifest.nix
@@ -99,4 +99,85 @@ builtins.listToAttrs
 {
   name = "kdepim-runtime-4.4.6.tar.bz2";
   value = "1y0xxwsq9wlwbkd661i4f1iqvpzg3sbi3lq9dir45fjx406chgmd";
-}]
+}
+{
+  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";
+}
+]
diff --git a/pkgs/desktops/kde-4.5/l10n/default.nix b/pkgs/desktops/kde-4.5/l10n/default.nix
index b29df0f59378..18b234b28bc3 100644
--- a/pkgs/desktops/kde-4.5/l10n/default.nix
+++ b/pkgs/desktops/kde-4.5/l10n/default.nix
@@ -3,18 +3,24 @@
 let
   overrides = { };
 
-  defaultVersion = "4.5.1";
+  defaultRelease = "4.5.2";
+  releases = [ "4.5.1" "4.5.2" ];
 
-  getOverride = name: stdenv.lib.attrByPath [name] {} overrides;
+  sanitizeString = replaceChars [ "@" "." ] [ "_" "_" ];
+  getOverride = name: attrByPath [name] {} overrides;
 
-  kdeL10nDerivation = {lang, sha256, version} :
+  inherit (stdenv.lib) replaceChars attrByPath singleton;
+
+  kdeL10nDerivation = {lang, sha256, release} :
     let
-      name = "kde-l10n-${lang}-${version}";
+      name = "kde-l10n-${lang}-${release}";
+      saneName = "kde-l10n-${sanitizeString lang}-${release}";
     in
     stdenv.mkDerivation ({
-      inherit name;
+      name = saneName;
       src = fetchurl {
-        url = "mirror://kde/stable/${version}/src/kde-l10n/${name}.tar.bz2";
+        url = "mirror://kde/stable/${release}/src/kde-l10n/${name}.tar.bz2";
+        name = "${saneName}.tar.bz2";
         inherit sha256;
       };
 
@@ -28,24 +34,25 @@ let
     }
     // (getOverride lang) // (getOverride name)
   );
+
+  kdeL10nRelease = release:
+    let
+      releaseStr = sanitizeString release;
+    in
+    builtins.listToAttrs (
+      map ({lang, sha256}:
+        {
+          name = "${sanitizeString lang}";
+          value = kdeL10nDerivation { inherit lang release sha256;};
+        }
+      ) (import (./manifest + "-${release}.nix"))
+    );
+
 in
 {
   inherit kdeL10nDerivation;
   recurseForDerivations = true;
 }
-// (builtins.listToAttrs (
-  map (a@{lang, version, sha256} :
-      {
-        name = stdenv.lib.replaceChars ["." "@"] ["_" "_"] "${lang}_${version}";
-        value = kdeL10nDerivation a;
-      }
-    ) (import ./manifest.nix)
-))
-// (builtins.listToAttrs (
-  map (a@{lang, version, sha256} :
-      {
-        name = stdenv.lib.replaceChars ["." "@"] ["_" "_"] "${lang}";
-        value = kdeL10nDerivation a;
-      }
-    ) (stdenv.lib.filter (x : x.version == defaultVersion) (import ./manifest.nix))
-))
+// builtins.listToAttrs (map (r : { name = sanitizeString r; value =
+kdeL10nRelease r; }) releases)
+// (kdeL10nRelease defaultRelease)
diff --git a/pkgs/desktops/kde-4.5/l10n/l10n-manifest.sh b/pkgs/desktops/kde-4.5/l10n/l10n-manifest.sh
new file mode 100755
index 000000000000..aa41ccd4278b
--- /dev/null
+++ b/pkgs/desktops/kde-4.5/l10n/l10n-manifest.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+# Usage: download kde-l10n 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}"/kde-l10n-en_GB-*.tar.bz2 | \
+	sed -e 's/.*en_GB-//' -e 's/\.tar\.bz2//')
+
+echo "Detected release ${release}" >&2
+
+exec > "manifest-${release}.nix"
+echo "["
+for i in `cd "${dir}"; ls kde-l10n-*-${release}.tar.bz2`; do
+  lang=${i%-${release}.tar.bz2}
+  lang=${lang#kde-l10n-}
+  echo -n "${lang}.. " >&2
+  hash=$(nix-hash --type sha256 --flat --base32 "${dir}/${i}")
+  echo "{"
+  echo "  lang = \"${lang}\";"
+  if [[ "${lang}" =~ "@" ]]; then
+    echo "  langStripped = \"${lang/@/_}\";"
+  fi
+  echo "  sha256 = \"${hash}\";"
+  echo "}"
+  echo $hash >&2
+done
+echo "]"
diff --git a/pkgs/desktops/kde-4.5/l10n/manifest.nix b/pkgs/desktops/kde-4.5/l10n/manifest-4.5.1.nix
index 8f8aa3b98170..3f7e0ffc8ab4 100644
--- a/pkgs/desktops/kde-4.5/l10n/manifest.nix
+++ b/pkgs/desktops/kde-4.5/l10n/manifest-4.5.1.nix
@@ -1,272 +1,218 @@
 [
 {
   lang = "ar";
-  version = "4.5.1";
   sha256 = "0xgmrwlza3p2fvj66y4vc4r81r5y2n2igjaj2xmgvb2pvh4zx0ws";
 }
 {
   lang = "bg";
-  version = "4.5.1";
   sha256 = "1npa9y8i7j68c8sa9cd96gy4n65bkl474agibax8rdk2mniyqrn9";
 }
 {
   lang = "ca";
-  version = "4.5.1";
   sha256 = "0097sk50cf1cq6wnah3kiab8vkh68snzahcng2blk63gw908yfvx";
 }
 {
   lang = "cs";
-  version = "4.5.1";
   sha256 = "077424cbqn68rf9wb026ip1n0rq5lz1iwp4k7ih15j87ymbrd03f";
 }
 {
   lang = "da";
-  version = "4.5.1";
   sha256 = "0p80a2pn9hgih2y5s27z8ir8jkyz68i87sdw439c8z3pjww5dy2h";
 }
 {
   lang = "de";
-  version = "4.5.1";
   sha256 = "007r6wf0in22y2jc1nr1msazv6bd48136kc4q0633gn1igdhb03h";
 }
 {
   lang = "el";
-  version = "4.5.1";
   sha256 = "1ffgqjxgdfsjx0nwhj5yl2pn2kmc92s01wfxzdvb6kss9r53v95k";
 }
 {
   lang = "en_GB";
-  version = "4.5.1";
   sha256 = "1bmg1aygaarnpka9dfvxgnzwqphqaly8rfps63g03ncls7ml8ilb";
 }
 {
   lang = "eo";
-  version = "4.5.1";
   sha256 = "0bqrarah2pc6kjcfla117rwc0k1m23ndp4nm4ac2sygmanz1j6bk";
 }
 {
   lang = "es";
-  version = "4.5.1";
   sha256 = "0hr3halsjjdzlmx2rfxycacm26pxs1f3m8awahmr1dp5ngid42wn";
 }
 {
   lang = "et";
-  version = "4.5.1";
   sha256 = "1pj1wjnjjj052csn0ajql2i3ynpd4fc9l53zj4j3vsd177gypdjw";
 }
 {
   lang = "eu";
-  version = "4.5.1";
   sha256 = "0zhrqy8b7wn8vdq75dlafc91mhvqpn3cw7hn90jj99c1aazdhjpd";
 }
 {
   lang = "fi";
-  version = "4.5.1";
   sha256 = "0x0dhy1c7wn5wxqx2v7jyv10rc6gi6klmw0q80vp3xpfma9l16yg";
 }
 {
   lang = "fr";
-  version = "4.5.1";
   sha256 = "1yvzpvxdzznrj61hdbi9jgpxdb9l0i8g24q1xkswpnp87jrncpaq";
 }
 {
   lang = "fy";
-  version = "4.5.1";
   sha256 = "14c740yfw5v043rmqmwnb3ic0s7l2kcjy57qdqhfpmr75m4rjrvl";
 }
 {
   lang = "ga";
-  version = "4.5.1";
   sha256 = "0w5cj0bgyy2pna8hqcpx82n3pwzr9vzshzknz86azb8c0pwkcjdw";
 }
 {
   lang = "gl";
-  version = "4.5.1";
   sha256 = "00kwqzypkw0bi8nhz75a367h2filwkmc1kiiv66l2s3d4vrkdgjz";
 }
 {
   lang = "gu";
-  version = "4.5.1";
   sha256 = "0as072rz4k4h8b0ix8jipn6bfck8van024sz1gd6xj1bhs83wk0m";
 }
 {
   lang = "he";
-  version = "4.5.1";
   sha256 = "1f5j1qgkmzjagmyjxa00xmfxk5zgfms77gidg88hycrvgrxm6g59";
 }
 {
   lang = "hi";
-  version = "4.5.1";
   sha256 = "0sy6cis0hkddmq4jw43a7rpxjadmzrgbgyhnnhyp9m6n225rh54g";
 }
 {
   lang = "hr";
-  version = "4.5.1";
   sha256 = "016h7iqfkarl6p20gqcajknw3bsbqvby824fsdyrrhan82vsqd0k";
 }
 {
   lang = "hu";
-  version = "4.5.1";
   sha256 = "1ck6vrrvvwlcxlgmmjq4hk5dh38clqvf3fwc7ndgr4wrxlr4c94m";
 }
 {
   lang = "ia";
-  version = "4.5.1";
   sha256 = "13mnd7ndkfdq591da3cwj64wchq86qk265i6r7xir87gxn5m86xr";
 }
 {
   lang = "id";
-  version = "4.5.1";
   sha256 = "0a1rw0mx1fdmps5vfx7m8mrmsqvqkpdbpbwys9sxbxy1zcbinasr";
 }
 {
   lang = "is";
-  version = "4.5.1";
   sha256 = "0hinhxsq4nm4g97gcdfyx8fzx6d0syg9llww9spwpqp26myad69r";
 }
 {
   lang = "it";
-  version = "4.5.1";
   sha256 = "0z4kdlmyliqa6qgdxbimifp535p6nvvydpa504i9klxcywc382y5";
 }
 {
   lang = "ja";
-  version = "4.5.1";
   sha256 = "1vsyjgwh69wwadn27ncxmr85d1qn91xvrbfxxl8x9gqa44dzrs7k";
 }
 {
   lang = "kk";
-  version = "4.5.1";
   sha256 = "1nzx2djxav6hga6ha473xkqiqgv8ikh3iq3b7i20zqcsjp3lhynq";
 }
 {
   lang = "km";
-  version = "4.5.1";
   sha256 = "0rd36apjlgq3qvhbdq0a289hbn1hff1qbnphaisy1p1dsh3bbnw9";
 }
 {
   lang = "kn";
-  version = "4.5.1";
   sha256 = "0al7whnmcpiq50b56xhzxpd6zmwv79s5j62m6z537kl3ldq9is5l";
 }
 {
   lang = "ko";
-  version = "4.5.1";
   sha256 = "0s5y6h8nx4xp5vd39qpby303zsvi67yrbdzsgvig98gbw61szkd7";
 }
 {
   lang = "lt";
-  version = "4.5.1";
   sha256 = "0wmwfn7w6z1lvjgn283rcpxv8j6lh8yzkvgjmhdg2r4ys948gzz0";
 }
 {
   lang = "lv";
-  version = "4.5.1";
   sha256 = "1w4k7rr06m0ynl52gdikqw45754pj7z9n65pxyv88gxj5sjkzlw8";
 }
 {
   lang = "ml";
-  version = "4.5.1";
   sha256 = "1qgs6xwyx1sc496ybq1m1mm0wyl9fz6317p4m5jvwiicldrcx3hq";
 }
 {
   lang = "nb";
-  version = "4.5.1";
   sha256 = "0frnnxang8k491cnmn9lc2kbqkqr5m40c53d75l07j97jndv98y1";
 }
 {
   lang = "nds";
-  version = "4.5.1";
   sha256 = "1p3h86qzrrhxrvl4qryizm3j6lnq3lm1vpnnapkk04y7msz0fdpr";
 }
 {
   lang = "nl";
-  version = "4.5.1";
   sha256 = "0lphl2j0faalaj3mkkqv5806bg2fd6s1478cprrrkw788hvvlmzl";
 }
 {
   lang = "nn";
-  version = "4.5.1";
   sha256 = "06pj24zfsgbkk1jxjjs5by8czv0llfz90iq6rq4lxnc0s195isjg";
 }
 {
   lang = "pa";
-  version = "4.5.1";
   sha256 = "1sqqanvxzw63bdlkgvi6jlngvrshqrfl8d0jac103wvy4y4f6l5r";
 }
 {
   lang = "pl";
-  version = "4.5.1";
   sha256 = "13n278n3p32bphch54x7qgba268m95kmql3qgxsx8ziy8riir9mm";
 }
 {
   lang = "pt";
-  version = "4.5.1";
   sha256 = "12mkprpk9imda0iyi65mg4rs3w2qnyq8iszg0k7yqf7537zpv4x1";
 }
 {
   lang = "pt_BR";
-  version = "4.5.1";
   sha256 = "1ipn6kvc3nq84fvpb9xrpwkqjaj2sya3y1cr2ai51909yfjk5r35";
 }
 {
   lang = "ro";
-  version = "4.5.1";
   sha256 = "1kfyjlpkjnmv7fryr1w2a9d1dijkmhs3mqpqg0hi7316qy2z10jy";
 }
 {
   lang = "ru";
-  version = "4.5.1";
   sha256 = "0m62rszff2k4rffmy3h9hxhs8bf523cfinlyay663zq3bh35i6h9";
 }
 {
   lang = "sk";
-  version = "4.5.1";
   sha256 = "07pzslmln8yh0s8ik0bj86rhyy4w21w13pvf9z6ifapqigklw33c";
 }
 {
   lang = "sl";
-  version = "4.5.1";
   sha256 = "1vrdzbl5ii6paaick88dkr5fabjpi36gjwwz67kqy6d9nm44jjp1";
 }
 {
   lang = "sr";
-  version = "4.5.1";
   sha256 = "186ncq0hr0lrn1l6xhqwjwqrmd9xw9qa0kf9cqvj0x3j6qk4mjqf";
 }
 {
   lang = "sv";
-  version = "4.5.1";
   sha256 = "0r62fs75a1kfr2dsfg1zrzh0c2wgbv6jq4c1w05wcbmqvpq16ks6";
 }
 {
   lang = "th";
-  version = "4.5.1";
   sha256 = "1apvlcmbwhnjc3dlfjzah1ckwwhjn2rcrvgmv1rwvn9py7yfzhf5";
 }
 {
   lang = "tr";
-  version = "4.5.1";
   sha256 = "0zci2fqcnlj9y23sy7v8yb1nc37dfqbpj1xrfs7sfvhj12048sb0";
 }
 {
   lang = "uk";
-  version = "4.5.1";
   sha256 = "0p9jdz8w8xiiqhbsj90gkshcpijh2l8hfbvvqy12d1nx5wb1glp3";
 }
 {
   lang = "wa";
-  version = "4.5.1";
   sha256 = "06hybn2l2jlibxr6lg91p0p7nnc6lyisx0w64zar52h958mqa9p8";
 }
 {
   lang = "zh_CN";
-  version = "4.5.1";
   sha256 = "1f786n41yqfi02gd0n9lf30xn9djgbm26c8kqx8p7fm2b5vw28jh";
 }
 {
   lang = "zh_TW";
-  version = "4.5.1";
   sha256 = "065d2ggahphsffk7p8xb9p5xzm12azz84s9jll447sawwks0jgsg";
 }
 ]
diff --git a/pkgs/desktops/kde-4.5/l10n/manifest-4.5.2.nix b/pkgs/desktops/kde-4.5/l10n/manifest-4.5.2.nix
new file mode 100644
index 000000000000..cb9a45065550
--- /dev/null
+++ b/pkgs/desktops/kde-4.5/l10n/manifest-4.5.2.nix
@@ -0,0 +1,222 @@
+[
+{
+  lang = "ar";
+  sha256 = "1wlg38gfv77d4rfzr6ba8mcrbq1lsgvqpd1zgcfgv9m6c5i32rh0";
+}
+{
+  lang = "bg";
+  sha256 = "0dy2zirfs2aan445862srfrxkvmv9l6dk1qzk2mis8lmq7qnvv4x";
+}
+{
+  lang = "ca";
+  sha256 = "0ay15k75d44ggr6s5qxip7cwyddl91zlqgwnp71iw720iq49d4c1";
+}
+{
+  lang = "ca@valencia";
+  sha256 = "0fmcmpm3wi1qfd0lvd10d0crn7jfzf9n184x45fvqw4dkn62phdc";
+}
+{
+  lang = "cs";
+  sha256 = "0r06qh0i3il2n07bbp70gsr5p7y5gb9gd1gzy5m5g33mmnhgf2af";
+}
+{
+  lang = "da";
+  sha256 = "1dz2ixm42ndyqwjs6h3900ycq9j50l0nzahxmjfm76b9r2cbph6g";
+}
+{
+  lang = "de";
+  sha256 = "1729hhfwszairx08x0s5rbidrbxqqvlh1m6rww2j1bqv5krgadns";
+}
+{
+  lang = "el";
+  sha256 = "1is7vy7m0y3x6n5llcg4fz8qd6ddjvfxriyggw9kx1g661z25gny";
+}
+{
+  lang = "en_GB";
+  sha256 = "0nwgj99y13h3fc6ljmnmrxaj3aiwg031p4nrb49ngmh66r1c3n2r";
+}
+{
+  lang = "eo";
+  sha256 = "0w78f6n2nhalgj7i997hrkka9i252mrny8mgnq8bfwsr03lfjs9h";
+}
+{
+  lang = "es";
+  sha256 = "18cqvjw7f9kj0inhhw00b6jxgsikamr0iik7pbblra2shimpr9hh";
+}
+{
+  lang = "et";
+  sha256 = "1zrdywhc34kj09141ybr5g98bf1zqrxzazsdi51ln07pcmbrn7fd";
+}
+{
+  lang = "eu";
+  sha256 = "03ff2narllyjyl7ddqq80i88m10ma1g9l0k970vpakw2bk3qd90c";
+}
+{
+  lang = "fi";
+  sha256 = "0kpzsngspxgfgy2fdghb7syksrs4h3392xngl7g1ndr6m9wfrl33";
+}
+{
+  lang = "fr";
+  sha256 = "042jbsr7agkikyj4f3wz6vbwgalmkq75sxm9mr0hspaxqw0rdww5";
+}
+{
+  lang = "fy";
+  sha256 = "0yvqi4z98aql596pa77blrj34mxhv3q04nbp4mdiss9i6wkqxa56";
+}
+{
+  lang = "ga";
+  sha256 = "14s90f9nlk2knkf8lsxklkval39gb77ca70hcs4n571hl3hdvpd7";
+}
+{
+  lang = "gl";
+  sha256 = "0xh409ydzqzsbwq7727i5yj6irb2y75maa7kkvm9bmhpb5whn0k6";
+}
+{
+  lang = "gu";
+  sha256 = "1agly26l4z5lc0s1b4j5rdpdk9sf0ffw9zp8j4mvaz501aifq777";
+}
+{
+  lang = "he";
+  sha256 = "0z2czis29bqga9jzgrdzqf85f6k14gr1rcyawhc6ddffmb5is8pj";
+}
+{
+  lang = "hi";
+  sha256 = "0f1j6682pfajg7dlf2rqqif5s8w00wpjr688kchqdsld7byax4wf";
+}
+{
+  lang = "hr";
+  sha256 = "126f04zgnha153yzmq5263chwiz2lv910sgrh23a07k6piip20wi";
+}
+{
+  lang = "hu";
+  sha256 = "10cwzpsq42vkyb4x7sc406pjf3ryr5api0cr9vwhnnqprwr82yw3";
+}
+{
+  lang = "ia";
+  sha256 = "0gd6li2iy1l0bg9kvs19hsxlrqzfa92if7j9g90l8qml1xg0d916";
+}
+{
+  lang = "id";
+  sha256 = "1rz8h2yna7hyvv2bynf0q5zz42qs74y6z4y2ca92b0qfc4a1ai1d";
+}
+{
+  lang = "is";
+  sha256 = "1lkr67dlpskj141y7wihxdgnmkag1dalb8s0r1xixf051ax2wd2y";
+}
+{
+  lang = "it";
+  sha256 = "1pz0mlg1p9mrqb79m7dsm6lk8iicyc8jwbrvrhlsji6ahr81pybk";
+}
+{
+  lang = "ja";
+  sha256 = "12333ilhd67y8gkddpx7jzdvs10h66qi8qi4nrqb6ici6spxmb3i";
+}
+{
+  lang = "kk";
+  sha256 = "0q845ix7kadfsphvfdkz7fawh3zqmainsw321mn90n6izf8y893j";
+}
+{
+  lang = "km";
+  sha256 = "0ahmw632kqclplq5d65inglhvn5jzxdjhhpkqx32rq7sxk3qhhrf";
+}
+{
+  lang = "kn";
+  sha256 = "12lp3rbcxbqm27clm71vli2pdwyp8r2bk3a2mmvnv016pjn0vphn";
+}
+{
+  lang = "ko";
+  sha256 = "12fb0wqms571xp9mnyiv61khby71cwsf9sg05w0gjci7avwxv6w0";
+}
+{
+  lang = "lt";
+  sha256 = "1p2rg1w3b6qgzjhsmi8dsj3mh7n8wbkgp9hrwbsl8dj7l6yz9799";
+}
+{
+  lang = "lv";
+  sha256 = "0zm48nl504dwwsrn8b44ldh0dzj7j42v6r54bsfsqajzq7f857yi";
+}
+{
+  lang = "ml";
+  sha256 = "0wxsfykvsg1iz0az1jngdl26sgs73pv0si30n0835xzclcv4dflx";
+}
+{
+  lang = "nb";
+  sha256 = "1040i62nh9ldv2v5ps483r6ccp2jy6w94kijv5h01k2p82iv8f85";
+}
+{
+  lang = "nds";
+  sha256 = "1ljgdlrqwb966xpxg2fpjcqzmplhdbmd566q7k69x5fmmyxw7vn9";
+}
+{
+  lang = "nl";
+  sha256 = "08vwq4xy392bqln31lvbdgzhx50sj44mrnw920j6k2a0f1qmkar7";
+}
+{
+  lang = "nn";
+  sha256 = "1da0xrbx8p72lp6r4nrhh6q5sgfm08vak6dk9g3kssjgnjarg785";
+}
+{
+  lang = "pa";
+  sha256 = "05jkc60csj16gxxh6z5n15g65yqf2nd77sa8f00vjhx58iisvvb2";
+}
+{
+  lang = "pl";
+  sha256 = "0hi7dsrg7dln9nkfc1wichmn334303qxdkihv13fybw43xp3gznv";
+}
+{
+  lang = "pt";
+  sha256 = "17j0angzvv2mxj12jb7vv3dlmljrfhyki5clmj040z64siam0w4k";
+}
+{
+  lang = "pt_BR";
+  sha256 = "1c6i79bslyzz0skfh05152jxn5hqlbas2l9fgzh58amn5bgy6afg";
+}
+{
+  lang = "ro";
+  sha256 = "1yljfz3b7lnnlnwvqf71b22ss99an759hg3xky1nzq11kpp9a5y0";
+}
+{
+  lang = "ru";
+  sha256 = "0p1zp2bgz3afxq4r6cbr1sv56ymq0xvn249vi048knsa2sclq8bk";
+}
+{
+  lang = "sk";
+  sha256 = "1v6lx4jb78k44xgfdxih1mf1817piw1igmvkc39l7r8ci0drvdjx";
+}
+{
+  lang = "sl";
+  sha256 = "1xqyafbzas460p7vxvydw8k8gzsgaxsidy19hzanvdb5ns4j8fs2";
+}
+{
+  lang = "sr";
+  sha256 = "1yznci299164l89dq9k5wfahk5aw3y61i4bf08qn6zi5hmzsfv66";
+}
+{
+  lang = "sv";
+  sha256 = "1k5b9f9i5zn8j5nkafw4cl42rvigssz5fqmy0nv1awj87r9vd3x6";
+}
+{
+  lang = "th";
+  sha256 = "0l25jags9kfhnr0v8k5id2pl85rlxly5a74i94wzvnf0abkmy6hi";
+}
+{
+  lang = "tr";
+  sha256 = "166rw0znk906zikdxg573xykfxmwdnld2ps9c0y758n6mvl107xz";
+}
+{
+  lang = "uk";
+  sha256 = "1hlx3dnf3avcnfs55v0vq9knmf001hs00fd4rqigx8y09i8947jc";
+}
+{
+  lang = "wa";
+  sha256 = "17i73mmc1vwvjwrvz9sq45q0ax43xq3agi2d95s772kpbrf4l8qj";
+}
+{
+  lang = "zh_CN";
+  sha256 = "1xqi0rn36dm7f4j5x9gdk6ml8y3vzzm009qp8algqrzy46j864cz";
+}
+{
+  lang = "zh_TW";
+  sha256 = "1qh3vnpk6ickdqa8n9h1na16s6q7kr61f44b0qymxz2lw79ihhgz";
+}
+]
diff --git a/pkgs/desktops/kde-4.5/libs/default.nix b/pkgs/desktops/kde-4.5/libs/default.nix
index f5ab788492e6..91afbf826fe7 100644
--- a/pkgs/desktops/kde-4.5/libs/default.nix
+++ b/pkgs/desktops/kde-4.5/libs/default.nix
@@ -2,7 +2,7 @@
 , qt4, bzip2, pcre, fam, libxml2, libxslt, shared_mime_info, giflib, jasper
 , xz, flex, bison, openexr, aspell, avahi, kerberos, acl, attr, shared_desktop_ontologies, libXScrnSaver
 , automoc4, strigi, soprano, qca2, attica, enchant, libdbusmenu_qt
-, docbook_xml_dtd_42, docbook_xsl, polkit_qt_1
+, docbook_xml_dtd_42, docbook_xsl, polkit_qt_1, hspell
 }:
 
 kde.package {
@@ -10,9 +10,14 @@ kde.package {
   buildInputs = [
     cmake perl xz flex bison bzip2 pcre fam libxml2 libxslt shared_mime_info
     giflib jasper /*openexr*/ aspell avahi kerberos acl attr libXScrnSaver
-    enchant libdbusmenu_qt polkit_qt_1 automoc4
+    enchant libdbusmenu_qt polkit_qt_1 automoc4 hspell
   ];
 
+# TODO: make sonnet plugins (dictionaries) really work.
+# There are a few hardcoded paths.
+# Let kdelibs find openexr
+# Split plugins from libs?
+
   propagatedBuildInputs = [ qt4 gcc.libc strigi soprano attica qca2
     shared_desktop_ontologies ];
 
@@ -31,7 +36,7 @@ kde.package {
     license = "LGPL";
     kde = {
       name = "kdelibs";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/libs/polkit-install.patch b/pkgs/desktops/kde-4.5/libs/polkit-install.patch
index 68bf55487963..6633ef1209b4 100644
--- a/pkgs/desktops/kde-4.5/libs/polkit-install.patch
+++ b/pkgs/desktops/kde-4.5/libs/polkit-install.patch
@@ -1,6 +1,7 @@
 Author: Yury Kudryashov
 Reason: other KDE modules try to install polkit action files into
 $kdelibs/share/polkit-1/actions
+Upstream: rejected, they propose to set install dir in each package
 --- a/cmake/modules/FindPolkitQt-1.cmake.old	2010-08-12 16:13:45.000000000 +0400
 +++ b/cmake/modules/FindPolkitQt-1.cmake	2010-08-12 16:13:56.000000000 +0400
 @@ -101,4 +101,4 @@
diff --git a/pkgs/desktops/kde-4.5/multimedia/default.nix b/pkgs/desktops/kde-4.5/multimedia/default.nix
index f18839f6d51b..192a85efa761 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.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/network/default.nix b/pkgs/desktops/kde-4.5/network/default.nix
index e2a1a468eacc..42feaacefdb1 100644
--- a/pkgs/desktops/kde-4.5/network/default.nix
+++ b/pkgs/desktops/kde-4.5/network/default.nix
@@ -21,7 +21,7 @@ kde.package {
 # * libmeanwhile  <http://meanwhile.sf.net>
 # * libgadu (1.8.0 or higher)  <http://toxygen.net/libgadu/>
 
-# Let cmake find libktorrent. Waiting for upstream fix in 4.5.1
+# Let cmake find libktorrent. Waiting for upstream fix
   KDEDIRS="${libktorrent}";
 
   meta = {
@@ -30,7 +30,7 @@ kde.package {
     license = "GPL";
     kde = {
       name = "kdenetwork";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/pimlibs/default.nix b/pkgs/desktops/kde-4.5/pimlibs/default.nix
index a46b3431e373..cb375faad7ac 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.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/plasma-addons/default.nix b/pkgs/desktops/kde-4.5/plasma-addons/default.nix
index cb3dbdf2cc79..2071c18ba0bb 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.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/cervisia.nix b/pkgs/desktops/kde-4.5/sdk/cervisia.nix
index bad00d3e5078..afaeb39ef793 100644
--- a/pkgs/desktops/kde-4.5/sdk/cervisia.nix
+++ b/pkgs/desktops/kde-4.5/sdk/cervisia.nix
@@ -3,15 +3,14 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-  patches = [ ./optional-docs.diff ];
-
   meta = {
     description = "A KDE CVS frontend";
     kde = {
       name = "cervisia";
       module = "kdesdk";
       version = "3.5.0";
-      release = "4.5.1";
+      release = "4.5.2";
+      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 249cf580b6f2..0710dfdc5239 100644
--- a/pkgs/desktops/kde-4.5/sdk/dolphin-plugins.nix
+++ b/pkgs/desktops/kde-4.5/sdk/dolphin-plugins.nix
@@ -4,15 +4,13 @@ kde.package {
   # Needs kdebase for libkonq
   buildInputs = [ cmake kdelibs automoc4 kdebase ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "Git and Svn plugins for dolphin";
     kde = {
       name = "dolphin-plugins";
       module = "kdesdk";
-      version = "3.5.0";
-      release = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kapptemplate.nix b/pkgs/desktops/kde-4.5/sdk/kapptemplate.nix
index 5ab82dd4293d..33fcd31d256d 100644
--- a/pkgs/desktops/kde-4.5/sdk/kapptemplate.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kapptemplate.nix
@@ -3,7 +3,6 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "A KDE 4 project template generator";
@@ -11,7 +10,8 @@ kde.package {
       name = "kapptemplate";
       module = "kdesdk";
       version = "0.1";
-      release = "4.5.1";
+      release = "4.5.2";
+      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 8ede3f0780a6..7519811c545f 100644
--- a/pkgs/desktops/kde-4.5/sdk/kate.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kate.nix
@@ -3,15 +3,14 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 shared_mime_info ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "Kate - Advanced Text Editor";
     kde = {
       name = "kate";
       module = "kdesdk";
-      version = "3.5.1";
-      release = "4.5.1";
+      version = "3.5.2"; # (release.major-1).(release.minor).(release.patch)
+      release = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kbugbuster.nix b/pkgs/desktops/kde-4.5/sdk/kbugbuster.nix
index e82a58ee9422..f8c4e200524b 100644
--- a/pkgs/desktops/kde-4.5/sdk/kbugbuster.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kbugbuster.nix
@@ -3,7 +3,6 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 kdepimlibs ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "KDE bugzilla client";
@@ -11,7 +10,8 @@ kde.package {
       name = "kbugbuster";
       module = "kdesdk";
       version = "3.80.3";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "version.h";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kcachegrind.nix b/pkgs/desktops/kde-4.5/sdk/kcachegrind.nix
index c5095343f747..7fbd7b75a929 100644
--- a/pkgs/desktops/kde-4.5/sdk/kcachegrind.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kcachegrind.nix
@@ -3,7 +3,6 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "KDE Frontend for Callgrind/Cachegrind";
@@ -11,7 +10,8 @@ kde.package {
       name = "kcachegrind";
       module = "kdesdk";
       version = "0.6";
-      release = "4.5.1";
+      release = "4.5.2";
+      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 eedccffc1da5..fcc83ae6bbce 100644
--- a/pkgs/desktops/kde-4.5/sdk/kdeaccounts-plugin.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kdeaccounts-plugin.nix
@@ -3,14 +3,13 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 kdepimlibs ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "KDE accounts akonadi agent";
     kde = {
       name = "kdeaccounts-plugin";
       module = "kdesdk";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kioslave-perldoc.nix b/pkgs/desktops/kde-4.5/sdk/kioslave-perldoc.nix
index 10b1db77d9e6..bf5a1428b2a1 100644
--- a/pkgs/desktops/kde-4.5/sdk/kioslave-perldoc.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kioslave-perldoc.nix
@@ -3,7 +3,6 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 perl ];
 
-  patches = [ ./optional-docs.diff ];
   cmakeFlags = "-DBUILD_kioslave=ON -DBUILD_perldoc=ON";
 
   meta = {
@@ -12,7 +11,8 @@ kde.package {
       name = "kioslave-perldoc";
       module = "kdesdk";
       version = "0.9.1";
-      release = "4.5.1";
+      release = "4.5.2";
+      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 29668ba889d9..b88631a03290 100644
--- a/pkgs/desktops/kde-4.5/sdk/kioslave-svn.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kioslave-svn.nix
@@ -3,7 +3,7 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 subversion apr aprutil ];
 
-  patches = [ ./optional-docs.diff ./find-svn.patch ];
+  patches = [ ./find-svn.patch ];
   cmakeFlags = "-DBUILD_kioslave=ON";
 
   meta = {
@@ -11,7 +11,7 @@ kde.package {
     kde = {
       name = "kioslave-svn";
       module = "kdesdk";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kmtrace.nix b/pkgs/desktops/kde-4.5/sdk/kmtrace.nix
index 4ef3b3e932b5..9128d905925b 100644
--- a/pkgs/desktops/kde-4.5/sdk/kmtrace.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kmtrace.nix
@@ -4,14 +4,13 @@ kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
   preConfigure="export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:${gcc}:${gcc.gcc}";
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "KDE mtrace-based malloc debuger";
     kde = {
       name = "kmtrace";
       module = "kdesdk";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kompare.nix b/pkgs/desktops/kde-4.5/sdk/kompare.nix
index d51149074fde..b7f8e581572b 100644
--- a/pkgs/desktops/kde-4.5/sdk/kompare.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kompare.nix
@@ -3,7 +3,6 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "A program to view the differences between files and optionally generate a diff";
@@ -11,7 +10,8 @@ kde.package {
       name = "kompare";
       module = "kdesdk";
       version = "4.0.0";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "main.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kpartloader.nix b/pkgs/desktops/kde-4.5/sdk/kpartloader.nix
index 14ccfe2860fa..4b5938cbac1e 100644
--- a/pkgs/desktops/kde-4.5/sdk/kpartloader.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kpartloader.nix
@@ -3,7 +3,6 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "A test application for KParts";
@@ -11,7 +10,8 @@ kde.package {
       name = "kpartloader";
       module = "kdesdk";
       version = "1.0";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "kpartloader.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kprofilemethod.nix b/pkgs/desktops/kde-4.5/sdk/kprofilemethod.nix
index 87fa775b0e0c..008ea1487931 100644
--- a/pkgs/desktops/kde-4.5/sdk/kprofilemethod.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kprofilemethod.nix
@@ -3,7 +3,6 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "A macros for profiling using QTime";
@@ -11,7 +10,7 @@ kde.package {
     kde = {
       name = "kprofilemethod";
       module = "kdesdk";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kstartperf.nix b/pkgs/desktops/kde-4.5/sdk/kstartperf.nix
index c5c4352a0974..bf7bc9c62e42 100644
--- a/pkgs/desktops/kde-4.5/sdk/kstartperf.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kstartperf.nix
@@ -3,7 +3,6 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 libtool ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "Measures start up time of a KDE application";
@@ -11,7 +10,8 @@ kde.package {
       name = "kstartperf";
       module = "kdesdk";
       version = "1.0";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "kstartperf.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kuiviewer.nix b/pkgs/desktops/kde-4.5/sdk/kuiviewer.nix
index cf6edbed023d..5631e79a5c96 100644
--- a/pkgs/desktops/kde-4.5/sdk/kuiviewer.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kuiviewer.nix
@@ -3,7 +3,6 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "Displays Qt Designer's UI files";
@@ -11,7 +10,8 @@ kde.package {
       name = "kuiviewer";
       module = "kdesdk";
       version = "0.1";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "main.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/lokalize.nix b/pkgs/desktops/kde-4.5/sdk/lokalize.nix
index f1d1462f42a1..af0fbd212261 100644
--- a/pkgs/desktops/kde-4.5/sdk/lokalize.nix
+++ b/pkgs/desktops/kde-4.5/sdk/lokalize.nix
@@ -3,7 +3,6 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 hunspell ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "KDE 4 Computer-aided translation system";
@@ -14,7 +13,8 @@ kde.package {
       name = "lokalize";
       module = "kdesdk";
       version = "1.1";
-      release = "4.5.1";
+      release = "4.5.2";
+      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 f6f55be25fcb..677d960fa61e 100644
--- a/pkgs/desktops/kde-4.5/sdk/poxml.nix
+++ b/pkgs/desktops/kde-4.5/sdk/poxml.nix
@@ -3,14 +3,13 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 antlr ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "Po<->xml tools";
     kde = {
       name = "poxml";
       module = "kdesdk";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/scripts.nix b/pkgs/desktops/kde-4.5/sdk/scripts.nix
index ab98c08dd3f2..1e6550186511 100644
--- a/pkgs/desktops/kde-4.5/sdk/scripts.nix
+++ b/pkgs/desktops/kde-4.5/sdk/scripts.nix
@@ -3,14 +3,13 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "Various scripts to ease KDE development";
     kde = {
       name = "scripts";
       module = "kdesdk";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/strigi-analyzer.nix b/pkgs/desktops/kde-4.5/sdk/strigi-analyzer.nix
index c05d25a82937..b4d5ea5d22a7 100644
--- a/pkgs/desktops/kde-4.5/sdk/strigi-analyzer.nix
+++ b/pkgs/desktops/kde-4.5/sdk/strigi-analyzer.nix
@@ -3,14 +3,13 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "Strigi analyzers for diff, po and ts";
     kde = {
       name = "strigi-analyzer";
       module = "kdesdk";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/umbrello.nix b/pkgs/desktops/kde-4.5/sdk/umbrello.nix
index 5cb77e0a0526..c4d877277204 100644
--- a/pkgs/desktops/kde-4.5/sdk/umbrello.nix
+++ b/pkgs/desktops/kde-4.5/sdk/umbrello.nix
@@ -3,15 +3,14 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 libxml2 libxslt boost ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "Umbrello UML modeller";
     kde = {
       name = "umbrello";
       module = "kdesdk";
-      version = "2.5.1";
-      release = "4.5.1";
+      version = "2.5.2"; # release - 200
+      release = "4.5.2";
     };
   };
 }
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 5719d2c2084d..4a65999a3472 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 = "04j1csjjji5ffahbcjkcv17agjq5z84czmlpbicv4hnj3rby11nx";
+  outputHash = "1mjiim7r88bdsrmf6palx125ig9dn0jp6h3mw35557mx0b0qjbka";
 
   buildInputs = [ cmake ];
   meta = {
@@ -12,7 +12,7 @@ kde.package {
     license = "GPL";
     kde = {
       name = "oxygen-icons";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/support/phonon/default.nix b/pkgs/desktops/kde-4.5/support/phonon/default.nix
deleted file mode 100644
index 7023e4ca490d..000000000000
--- a/pkgs/desktops/kde-4.5/support/phonon/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, fetchurl, cmake, qt4, automoc4, pkgconfig
-, libXau, libXdmcp, libpthreadstubs
-, gstreamer, gstPluginsBase, xineLib, pulseaudio}:
-
-let
-  v = "4.4.2";
-  stable = true;
-in
-
-stdenv.mkDerivation rec {
-  name = "phonon-${v}";
-  src = fetchurl {
-    url = "mirror://kde/${if stable then "" else "un"}stable/phonon/${v}/${name}.tar.bz2";
-    sha256 = "11ilv692yqzvk93y3n2zp9qvqc2xi0npz8vbqa1b60b268zlqh7i";
-  };
-  buildInputs = [ cmake qt4 libXau libXdmcp libpthreadstubs gstreamer
-    gstPluginsBase xineLib automoc4 pulseaudio pkgconfig ];
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-    description = "KDE Multimedia API";
-    longDescription = "KDE Multimedia API which abstracts over various backends such as GStreamer and Xine";
-    license = "LGPL";
-    homepage = http://phonon.kde.org;
-    maintainers = [ maintainers.sander maintainers.urkud ];
-  };
-}
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 17d8b1363ace..f01eac882ef1 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
@@ -5,9 +5,7 @@ kde.package {
   propagatedBuildInputs = [ polkit glib ];
   meta.kde = {
     name = "polkit-qt-1";
-    module = "polkit-qt-1";
     version = "0.96.1";
-    release = "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 966953269e90..e7e3ad821082 100644
--- a/pkgs/desktops/kde-4.5/toys/amor.nix
+++ b/pkgs/desktops/kde-4.5/toys/amor.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "amor";
       module = "kdetoys";
       version = "2.4.0";
-      release = "4.5.1";
+      release = "4.5.2";
+      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 5883d50b2b30..90ce0fa71c1e 100644
--- a/pkgs/desktops/kde-4.5/toys/kteatime.nix
+++ b/pkgs/desktops/kde-4.5/toys/kteatime.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "kteatime";
       module = "kdetoys";
       version = "1.2.1";
-      release = "4.5.1";
+      release = "4.5.2";
+      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 d1193181a89e..ae1b407a4301 100644
--- a/pkgs/desktops/kde-4.5/toys/ktux.nix
+++ b/pkgs/desktops/kde-4.5/toys/ktux.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "ktux";
       module = "kdetoys";
       version = "1.0.1";
-      release = "4.5.1";
+      release = "4.5.2";
+      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 55b87f802b16..32ff0440862b 100644
--- a/pkgs/desktops/kde-4.5/utils/ark.nix
+++ b/pkgs/desktops/kde-4.5/utils/ark.nix
@@ -14,7 +14,8 @@ kde.package {
       name = "ark";
       module = "kdeutils";
       version = "2.15";
-      release = "4.5.1";
+      release = "4.5.2";
+      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 b405b59ac828..e35aee61862c 100644
--- a/pkgs/desktops/kde-4.5/utils/kcalc.nix
+++ b/pkgs/desktops/kde-4.5/utils/kcalc.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "kcalc";
       module = "kdeutils";
       version = "2.7";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "version.h";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/kcharselect.nix b/pkgs/desktops/kde-4.5/utils/kcharselect.nix
index 3caef9a31ef8..10e038fe3a30 100644
--- a/pkgs/desktops/kde-4.5/utils/kcharselect.nix
+++ b/pkgs/desktops/kde-4.5/utils/kcharselect.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "kcharselect";
       module = "kdeutils";
       version = "1.7";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "main.cc";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/kdf.nix b/pkgs/desktops/kde-4.5/utils/kdf.nix
index 7f76a62a7bad..efe735486f01 100644
--- a/pkgs/desktops/kde-4.5/utils/kdf.nix
+++ b/pkgs/desktops/kde-4.5/utils/kdf.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "kdf";
       module = "kdeutils";
       version = "0.11";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "kdf.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/kfloppy.nix b/pkgs/desktops/kde-4.5/utils/kfloppy.nix
index cabc445b9bd7..faafcfc06299 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.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/kgpg.nix b/pkgs/desktops/kde-4.5/utils/kgpg.nix
index 28c8bafe99d5..8f41e5472f10 100644
--- a/pkgs/desktops/kde-4.5/utils/kgpg.nix
+++ b/pkgs/desktops/kde-4.5/utils/kgpg.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "kgpg";
       module = "kdeutils";
       version = "2.4.1";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "main.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/kremotecontrol.nix b/pkgs/desktops/kde-4.5/utils/kremotecontrol.nix
index 6962578ab54b..7dcf4bb5789f 100644
--- a/pkgs/desktops/kde-4.5/utils/kremotecontrol.nix
+++ b/pkgs/desktops/kde-4.5/utils/kremotecontrol.nix
@@ -4,11 +4,11 @@ kde.package {
   buildInputs = [ cmake qt4 perl kdelibs automoc4 kdebase_workspace ];
 
   meta = {
-    description = "";
+    description = "KDE remote control";
     kde = {
       name = "kremotecontrol";
       module = "kdeutils";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/ktimer.nix b/pkgs/desktops/kde-4.5/utils/ktimer.nix
index d7eaefaa2652..6595e625b125 100644
--- a/pkgs/desktops/kde-4.5/utils/ktimer.nix
+++ b/pkgs/desktops/kde-4.5/utils/ktimer.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "ktimer";
       module = "kdeutils";
       version = "0.6";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "main.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/kwallet.nix b/pkgs/desktops/kde-4.5/utils/kwallet.nix
index 64d37a3f5c09..d5f048ba57f7 100644
--- a/pkgs/desktops/kde-4.5/utils/kwallet.nix
+++ b/pkgs/desktops/kde-4.5/utils/kwallet.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "kwallet";
       module = "kdeutils";
       version = "1.6";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "main.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/okteta.nix b/pkgs/desktops/kde-4.5/utils/okteta.nix
index 6cafc21c4f8d..ecff1942dcd3 100644
--- a/pkgs/desktops/kde-4.5/utils/okteta.nix
+++ b/pkgs/desktops/kde-4.5/utils/okteta.nix
@@ -8,8 +8,9 @@ kde.package {
     kde = {
       name = "okteta";
       module = "kdeutils";
-      version = "0.5.1";
-      release = "4.5.1";
+      version = "0.5.2";
+      release = "4.5.2";
+      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 22b351da7784..a7e7938320f4 100644
--- a/pkgs/desktops/kde-4.5/utils/printer-applet.nix
+++ b/pkgs/desktops/kde-4.5/utils/printer-applet.nix
@@ -15,7 +15,8 @@ kde.package {
       name = "printer-applet";
       module = "kdeutils";
       version = "1.5";
-      release = "4.5.1";
+      release = "4.5.2";
+      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 db47d26fcef9..75460935e277 100644
--- a/pkgs/desktops/kde-4.5/utils/superkaramba.nix
+++ b/pkgs/desktops/kde-4.5/utils/superkaramba.nix
@@ -11,7 +11,8 @@ kde.package {
       name = "superkaramba";
       module = "kdeutils";
       version = "0.55";
-      release = "4.5.1";
+      release = "4.5.2";
+      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 a0a979666435..7a10910ced1d 100644
--- a/pkgs/desktops/kde-4.5/utils/sweeper.nix
+++ b/pkgs/desktops/kde-4.5/utils/sweeper.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "sweeper";
       module = "kdeutils";
       version = "1.5";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "main.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/webdev/kfilereplace.nix b/pkgs/desktops/kde-4.5/webdev/kfilereplace.nix
index 99434987b059..bd3518f9c9d3 100644
--- a/pkgs/desktops/kde-4.5/webdev/kfilereplace.nix
+++ b/pkgs/desktops/kde-4.5/webdev/kfilereplace.nix
@@ -10,7 +10,8 @@ kde.package {
       name = "kfilereplace";
       module = "kdewebdev";
       version = "0.1";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "main.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/webdev/kimagemapeditor.nix b/pkgs/desktops/kde-4.5/webdev/kimagemapeditor.nix
index 4337706ea9a2..ecc1f845b8f7 100644
--- a/pkgs/desktops/kde-4.5/webdev/kimagemapeditor.nix
+++ b/pkgs/desktops/kde-4.5/webdev/kimagemapeditor.nix
@@ -10,7 +10,8 @@ kde.package {
       name = "kimagemapeditor";
       module = "kdewebdev";
       version = "3.9.0";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "version.h";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/webdev/klinkstatus.nix b/pkgs/desktops/kde-4.5/webdev/klinkstatus.nix
index 2f55bc3a5be5..e87832ee62f8 100644
--- a/pkgs/desktops/kde-4.5/webdev/klinkstatus.nix
+++ b/pkgs/desktops/kde-4.5/webdev/klinkstatus.nix
@@ -12,7 +12,8 @@ kde.package {
       name = "klinkstatus";
       module = "kdewebdev";
       version = "0.7.0";
-      release = "4.5.1";
+      release = "4.5.2";
+      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 e1ea1b333065..00d238c76939 100644
--- a/pkgs/desktops/kde-4.5/webdev/kommander.nix
+++ b/pkgs/desktops/kde-4.5/webdev/kommander.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "kommander";
       module = "kdewebdev";
       version = "1.91";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "lib/kommanderversion.h";
     };
   };
 }
diff --git a/pkgs/desktops/xfce-4/applications/xfce4-mixer.nix b/pkgs/desktops/xfce-4/applications/xfce4-mixer.nix
new file mode 100644
index 000000000000..db28274be072
--- /dev/null
+++ b/pkgs/desktops/xfce-4/applications/xfce4-mixer.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, pkgconfig, intltool, glib, gst_all, gtk
+, libxfce4util, libxfcegui4, xfce4panel, xfconf, makeWrapper }:
+
+let
+
+  # The usual Gstreamer plugins package has a zillion dependencies
+  # that we don't need for a simple mixer, so build a minimal package.
+  gstPluginsBase = gst_all.gstPluginsBase.override {
+    minimalDeps = true;
+  };
+
+in
+
+stdenv.mkDerivation rec {
+  name = "xfce4-mixer-4.6.1";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/apps/xfce4-mixer/4.6/${name}.tar.bz2";
+    sha1 = "e86163782fc4fc31671c7cb212d23d34106ad3af";
+  };
+
+  buildInputs =
+    [ pkgconfig intltool glib gst_all.gstreamer gstPluginsBase gtk
+      libxfce4util libxfcegui4 xfce4panel xfconf makeWrapper
+    ];
+
+  postInstall =
+    ''
+      mkdir -p $out/nix-support
+      echo ${gstPluginsBase} > $out/nix-support/propagated-user-env-packages
+    '';
+
+  meta = {
+    homepage = http://www.xfce.org/projects/xfce4-mixer;
+    description = "A volume control application for the Xfce desktop environment";
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/desktops/xfce-4/default.nix b/pkgs/desktops/xfce-4/default.nix
index 3d4abf9b3582..6f2eaf1b4bfe 100644
--- a/pkgs/desktops/xfce-4/default.nix
+++ b/pkgs/desktops/xfce-4/default.nix
@@ -57,6 +57,8 @@ rec {
 
   xfce4_power_manager = callPackage ./applications/xfce4-power-manager.nix { };
 
+  xfce4mixer = callPackage ./applications/xfce4-mixer.nix { };
+
   #### ART
 
   xfce4icontheme = callPackage ./art/xfce4-icon-theme.nix { };