summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2010-12-28 16:42:00 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2010-12-28 16:42:00 +0000
commitaa6f43149a7b5772fe9f0b3699261be28c16ad3b (patch)
tree5dfdce610aa30bf6918d29f53aab8db041ac0d51 /pkgs/desktops
parent9d617d90d0a16d70ef46b67d0e3312f75f4f220d (diff)
parent7df337558a622da0c7077ec7fabb8301f18d0402 (diff)
downloadnixpkgs-aa6f43149a7b5772fe9f0b3699261be28c16ad3b.tar
nixpkgs-aa6f43149a7b5772fe9f0b3699261be28c16ad3b.tar.gz
nixpkgs-aa6f43149a7b5772fe9f0b3699261be28c16ad3b.tar.bz2
nixpkgs-aa6f43149a7b5772fe9f0b3699261be28c16ad3b.tar.lz
nixpkgs-aa6f43149a7b5772fe9f0b3699261be28c16ad3b.tar.xz
nixpkgs-aa6f43149a7b5772fe9f0b3699261be28c16ad3b.tar.zst
nixpkgs-aa6f43149a7b5772fe9f0b3699261be28c16ad3b.zip
* Sync with the trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=25308
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/kde-4.6/accessibility/color-schemes.nix14
-rw-r--r--pkgs/desktops/kde-4.6/accessibility/icon-themes.nix15
-rw-r--r--pkgs/desktops/kde-4.6/accessibility/jovie.nix18
-rw-r--r--pkgs/desktops/kde-4.6/accessibility/kmag.nix17
-rw-r--r--pkgs/desktops/kde-4.6/accessibility/kmousetool.nix17
-rw-r--r--pkgs/desktops/kde-4.6/accessibility/kmouth.nix17
-rw-r--r--pkgs/desktops/kde-4.6/admin/builder.sh13
-rw-r--r--pkgs/desktops/kde-4.6/admin/default.nix26
-rw-r--r--pkgs/desktops/kde-4.6/artwork/FindXscreensaver.cmake73
-rw-r--r--pkgs/desktops/kde-4.6/artwork/aurorae.nix14
-rw-r--r--pkgs/desktops/kde-4.6/artwork/color-schemes.nix15
-rw-r--r--pkgs/desktops/kde-4.6/artwork/desktop-themes.nix15
-rw-r--r--pkgs/desktops/kde-4.6/artwork/emoticons.nix15
-rw-r--r--pkgs/desktops/kde-4.6/artwork/high-resolution-wallpapers.nix15
-rw-r--r--pkgs/desktops/kde-4.6/artwork/kscreensaver.nix16
-rw-r--r--pkgs/desktops/kde-4.6/artwork/nuvola-icon-theme.nix16
-rw-r--r--pkgs/desktops/kde-4.6/artwork/phase-style.nix15
-rw-r--r--pkgs/desktops/kde-4.6/artwork/sounds.nix15
-rw-r--r--pkgs/desktops/kde-4.6/artwork/wallpapers.nix15
-rw-r--r--pkgs/desktops/kde-4.6/artwork/weather-wallpapers.nix15
-rw-r--r--pkgs/desktops/kde-4.6/base-runtime/default.nix27
-rw-r--r--pkgs/desktops/kde-4.6/base-workspace/default.nix27
-rw-r--r--pkgs/desktops/kde-4.6/base/default.nix19
-rw-r--r--pkgs/desktops/kde-4.6/bindings/default.nix37
-rw-r--r--pkgs/desktops/kde-4.6/bindings/python-site-packages-install-dir.diff54
-rw-r--r--pkgs/desktops/kde-4.6/bindings/sip-4.11.patch67
-rw-r--r--pkgs/desktops/kde-4.6/default.nix163
-rw-r--r--pkgs/desktops/kde-4.6/edu/default.nix29
-rw-r--r--pkgs/desktops/kde-4.6/games/default.nix22
-rw-r--r--pkgs/desktops/kde-4.6/graphics/default.nix23
-rw-r--r--pkgs/desktops/kde-4.6/kde-package/default.nix64
-rwxr-xr-xpkgs/desktops/kde-4.6/kde-package/kde-manifest.sh39
-rw-r--r--pkgs/desktops/kde-4.6/kde-package/manifest-4.5.90.nix85
-rw-r--r--pkgs/desktops/kde-4.6/l10n/default.nix58
-rwxr-xr-xpkgs/desktops/kde-4.6/l10n/l10n-manifest.sh31
-rw-r--r--pkgs/desktops/kde-4.6/l10n/manifest-4.5.90.nix222
-rw-r--r--pkgs/desktops/kde-4.6/libs/default.nix42
-rw-r--r--pkgs/desktops/kde-4.6/multimedia/default.nix20
-rw-r--r--pkgs/desktops/kde-4.6/network/default.nix36
-rw-r--r--pkgs/desktops/kde-4.6/network/log-feature.diff60
-rw-r--r--pkgs/desktops/kde-4.6/pim-runtime/default.nix27
-rw-r--r--pkgs/desktops/kde-4.6/pim/default.nix34
-rw-r--r--pkgs/desktops/kde-4.6/pimlibs/default.nix18
-rw-r--r--pkgs/desktops/kde-4.6/plasma-addons/default.nix23
-rw-r--r--pkgs/desktops/kde-4.6/sdk/cervisia.nix16
-rw-r--r--pkgs/desktops/kde-4.6/sdk/dolphin-plugins.nix16
-rw-r--r--pkgs/desktops/kde-4.6/sdk/find-svn.patch59
-rw-r--r--pkgs/desktops/kde-4.6/sdk/kapptemplate.nix17
-rw-r--r--pkgs/desktops/kde-4.6/sdk/kate.nix16
-rw-r--r--pkgs/desktops/kde-4.6/sdk/kbugbuster.nix17
-rw-r--r--pkgs/desktops/kde-4.6/sdk/kcachegrind.nix17
-rw-r--r--pkgs/desktops/kde-4.6/sdk/kdeaccounts-plugin.nix15
-rw-r--r--pkgs/desktops/kde-4.6/sdk/kioslave-perldoc.nix18
-rw-r--r--pkgs/desktops/kde-4.6/sdk/kioslave-svn.nix17
-rw-r--r--pkgs/desktops/kde-4.6/sdk/kmtrace.nix16
-rw-r--r--pkgs/desktops/kde-4.6/sdk/kompare.nix17
-rw-r--r--pkgs/desktops/kde-4.6/sdk/kpartloader.nix17
-rw-r--r--pkgs/desktops/kde-4.6/sdk/kprofilemethod.nix16
-rw-r--r--pkgs/desktops/kde-4.6/sdk/kstartperf.nix17
-rw-r--r--pkgs/desktops/kde-4.6/sdk/kuiviewer.nix17
-rw-r--r--pkgs/desktops/kde-4.6/sdk/lokalize.nix20
-rw-r--r--pkgs/desktops/kde-4.6/sdk/optional-docs.diff39
-rw-r--r--pkgs/desktops/kde-4.6/sdk/poxml.nix15
-rw-r--r--pkgs/desktops/kde-4.6/sdk/scripts.nix15
-rw-r--r--pkgs/desktops/kde-4.6/sdk/strigi-analyzer.nix15
-rw-r--r--pkgs/desktops/kde-4.6/sdk/umbrello.nix16
-rw-r--r--pkgs/desktops/kde-4.6/support/akonadi/default.nix17
-rw-r--r--pkgs/desktops/kde-4.6/support/attica/default.nix16
-rw-r--r--pkgs/desktops/kde-4.6/support/automoc4/default.nix15
-rw-r--r--pkgs/desktops/kde-4.6/support/eigen/default.nix20
-rw-r--r--pkgs/desktops/kde-4.6/support/oxygen-icons/default.nix18
-rw-r--r--pkgs/desktops/kde-4.6/support/polkit-qt-1/default.nix19
-rw-r--r--pkgs/desktops/kde-4.6/support/polkit-qt-1/policy-files.patch25
-rw-r--r--pkgs/desktops/kde-4.6/support/qca2/default.nix23
-rw-r--r--pkgs/desktops/kde-4.6/support/qca2/ossl.nix32
-rw-r--r--pkgs/desktops/kde-4.6/support/qimageblitz/default.nix21
-rw-r--r--pkgs/desktops/kde-4.6/support/soprano/default.nix21
-rw-r--r--pkgs/desktops/kde-4.6/support/strigi/default.nix29
-rw-r--r--pkgs/desktops/kde-4.6/toys/amor.nix16
-rw-r--r--pkgs/desktops/kde-4.6/toys/kteatime.nix16
-rw-r--r--pkgs/desktops/kde-4.6/toys/ktux.nix16
-rw-r--r--pkgs/desktops/kde-4.6/utils/ark.nix21
-rw-r--r--pkgs/desktops/kde-4.6/utils/kcalc.nix16
-rw-r--r--pkgs/desktops/kde-4.6/utils/kcharselect.nix16
-rw-r--r--pkgs/desktops/kde-4.6/utils/kdf.nix16
-rw-r--r--pkgs/desktops/kde-4.6/utils/kfloppy.nix14
-rw-r--r--pkgs/desktops/kde-4.6/utils/kgpg.nix16
-rw-r--r--pkgs/desktops/kde-4.6/utils/kremotecontrol.nix14
-rw-r--r--pkgs/desktops/kde-4.6/utils/ktimer.nix16
-rw-r--r--pkgs/desktops/kde-4.6/utils/kwallet.nix16
-rw-r--r--pkgs/desktops/kde-4.6/utils/okteta.nix16
-rw-r--r--pkgs/desktops/kde-4.6/utils/printer-applet.nix22
-rw-r--r--pkgs/desktops/kde-4.6/utils/superkaramba.nix18
-rw-r--r--pkgs/desktops/kde-4.6/utils/sweeper.nix16
-rw-r--r--pkgs/desktops/kde-4.6/webdev/kfilereplace.nix17
-rw-r--r--pkgs/desktops/kde-4.6/webdev/kimagemapeditor.nix17
-rw-r--r--pkgs/desktops/kde-4.6/webdev/klinkstatus.nix19
-rw-r--r--pkgs/desktops/kde-4.6/webdev/kommander.nix16
98 files changed, 2621 insertions, 0 deletions
diff --git a/pkgs/desktops/kde-4.6/accessibility/color-schemes.nix b/pkgs/desktops/kde-4.6/accessibility/color-schemes.nix
new file mode 100644
index 00000000000..997ad8ff4f4
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/accessibility/color-schemes.nix
@@ -0,0 +1,14 @@
+{ kde, cmake, qt4, perl, automoc4, kdelibs }:
+
+kde.package {
+  buildInputs = [ cmake qt4 perl kdelibs automoc4 ];
+
+  meta = {
+    description = "KDE Accessibility color schemes";
+    kde = {
+      name = "ColorSchemes";
+      module = "kdeaccessibility";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/accessibility/icon-themes.nix b/pkgs/desktops/kde-4.6/accessibility/icon-themes.nix
new file mode 100644
index 00000000000..2f18298f227
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/accessibility/icon-themes.nix
@@ -0,0 +1,15 @@
+{ kde, cmake, qt4, perl, automoc4, kdelibs }:
+
+kde.package {
+  buildInputs = [ cmake qt4 perl kdelibs automoc4 ];
+
+  meta = {
+    description = "KDE mono icon theme";
+    kde = {
+      name = "IconThemes";
+      module = "kdeaccessibility";
+      version = "4.5.90";
+    };
+  };
+}
+
diff --git a/pkgs/desktops/kde-4.6/accessibility/jovie.nix b/pkgs/desktops/kde-4.6/accessibility/jovie.nix
new file mode 100644
index 00000000000..9270d5fb177
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/accessibility/jovie.nix
@@ -0,0 +1,18 @@
+{ kde, cmake, qt4, perl, automoc4, kdelibs }:
+
+kde.package {
+  buildInputs = [ cmake qt4 perl kdelibs automoc4 ];
+
+#TODO: working backend: speechd or opentts
+  meta = {
+    description = "Text-to-speech synthesis daemon";
+    kde = {
+      name = "jovie";
+      module = "kdeaccessibility";
+      version = "0.6.0";
+      release = "4.5.90";
+      versionFile = "jovie/jovie/main.cpp";
+    };
+  };
+}
+
diff --git a/pkgs/desktops/kde-4.6/accessibility/kmag.nix b/pkgs/desktops/kde-4.6/accessibility/kmag.nix
new file mode 100644
index 00000000000..207f1d0b3cb
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/accessibility/kmag.nix
@@ -0,0 +1,17 @@
+{ kde, cmake, qt4, perl, automoc4, kdelibs }:
+
+kde.package {
+  buildInputs = [ cmake qt4 perl kdelibs automoc4 ];
+
+  meta = {
+    description = "Screen magnifier for KDE";
+    kde = {
+      name = "kmag";
+      module = "kdeaccessibility";
+      version = "1.0";
+      release = "4.5.90";
+      versionFile = "kmag/version.h";
+    };
+  };
+}
+
diff --git a/pkgs/desktops/kde-4.6/accessibility/kmousetool.nix b/pkgs/desktops/kde-4.6/accessibility/kmousetool.nix
new file mode 100644
index 00000000000..bb10de6e3ce
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/accessibility/kmousetool.nix
@@ -0,0 +1,17 @@
+{ kde, cmake, qt4, perl, automoc4, kdelibs, libXtst }:
+
+kde.package {
+  buildInputs = [ cmake qt4 perl kdelibs automoc4 libXtst ];
+
+  meta = {
+    description = "A program that clicks the mouse for you";
+    kde = {
+      name = "kmousetool";
+      module = "kdeaccessibility";
+      version = "1.12";
+      release = "4.5.90";
+      versionFile = "kmousetool/kmousetool/version.h";
+    };
+  };
+}
+
diff --git a/pkgs/desktops/kde-4.6/accessibility/kmouth.nix b/pkgs/desktops/kde-4.6/accessibility/kmouth.nix
new file mode 100644
index 00000000000..6bbee6106fd
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/accessibility/kmouth.nix
@@ -0,0 +1,17 @@
+{ kde, cmake, qt4, perl, automoc4, kdelibs }:
+
+kde.package {
+  buildInputs = [ cmake qt4 perl kdelibs automoc4 ];
+
+  meta = {
+    description = "A type-and-say front end for speech synthesizers";
+    kde = {
+      name = "kmouth";
+      module = "kdeaccessibility";
+      version = "1.1.1";
+      release = "4.5.90";
+      versionFile = "kmouth/version.h";
+    };
+  };
+}
+
diff --git a/pkgs/desktops/kde-4.6/admin/builder.sh b/pkgs/desktops/kde-4.6/admin/builder.sh
new file mode 100644
index 00000000000..78e29543c1f
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/admin/builder.sh
@@ -0,0 +1,13 @@
+source $stdenv/setup
+
+myPatchPhase()
+{
+    for i in system-config-printer-kde/cmake-modules/FindSystemConfigPrinter.py system-config-printer-kde/system-config-printer-kde.py
+    do
+	sed -i -e "s|/usr/share/system-config-printer|$system_config_printer/share/system-config-printer|" $i
+    done
+
+	sed -i -e "s|import cupshelpers.ppds, cupshelpers.cupshelpers|import ppds, cupshelpers|" system-config-printer-kde/cmake-modules/FindSystemConfigPrinter.py
+}
+patchPhase=myPatchPhase
+genericBuild
diff --git a/pkgs/desktops/kde-4.6/admin/default.nix b/pkgs/desktops/kde-4.6/admin/default.nix
new file mode 100644
index 00000000000..c4b30643ea0
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/admin/default.nix
@@ -0,0 +1,26 @@
+{ kde, cmake, qt4, pkgconfig, perl, python
+, sip, pyqt4, pycups, rhpl, system_config_printer
+, kdelibs, kdepimlibs, kdebindings, automoc4}:
+
+kde.package {
+
+  builder = ./builder.sh;
+
+  inherit system_config_printer;
+
+  # TODO: split, check which packages work on nixos
+
+  PYTHONPATH = "${pycups}/lib/python${python.majorVersion}/site-packages";
+
+  buildInputs = [ cmake qt4 pkgconfig perl python sip pyqt4 pycups rhpl system_config_printer
+                  kdelibs kdepimlibs kdebindings automoc4 ];
+
+  meta = {
+    description = "KDE Administration Utilities";
+    license = "GPL";
+    kde = {
+      name = "kdeadmin";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/artwork/FindXscreensaver.cmake b/pkgs/desktops/kde-4.6/artwork/FindXscreensaver.cmake
new file mode 100644
index 00000000000..499ed75268e
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/artwork/FindXscreensaver.cmake
@@ -0,0 +1,73 @@
+#Macro to find xscreensaver directory
+
+# Copyright (c) 2006, Laurent Montel, <montel@kde.org>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+if (NOT XSCREENSAVER_FOUND)
+  FIND_PATH(XSCREENSAVER_DIR deco
+    HINTS
+      ${KDE4_INCLUDE_DIR}
+    PATHS
+      /usr
+      /usr/local
+      /opt/local
+      /usr/X11R6
+      /opt/kde
+      /opt/kde3
+      /usr/kde
+      /usr/local/kde
+      /usr/local/xscreensaver
+      /usr/openwin/lib/xscreensaver
+      /etc
+    PATH_SUFFIXES
+      lib${LIB_SUFFIX}/xscreensaver
+      lib${LIB_SUFFIX}/misc/xscreensaver
+      lib/xscreensaver
+      lib64/xscreensaver
+      lib/misc/xscreensaver
+      libexec/xscreensaver
+      bin/xscreensaver-hacks
+      hacks)
+  message(STATUS "XSCREENSAVER_DIR <${XSCREENSAVER_DIR}>")
+
+  FIND_PATH(XSCREENSAVER_CONFIG_DIR deco.xml
+    PATHS
+    ${KDE4_INCLUDE_DIR}
+    /usr/
+    /usr/local/
+    /opt/local/
+    /usr/X11R6/
+    /opt/kde/
+    /opt/kde3/
+    /usr/kde/
+    /usr/local/kde/
+    /usr/openwin/lib/xscreensaver/
+    /etc/
+    PATH_SUFFIXES xscreensaver xscreensaver/config share/xscreensaver/config
+  )
+  MESSAGE(STATUS "XSCREENSAVER_CONFIG_DIR :<${XSCREENSAVER_CONFIG_DIR}>")
+
+endif(NOT XSCREENSAVER_FOUND)
+
+#MESSAGE(STATUS "XSCREENSAVER_CONFIG_DIR :<${XSCREENSAVER_CONFIG_DIR}>")
+#MESSAGE(STATUS "XSCREENSAVER_DIR :<${XSCREENSAVER_DIR}>")
+
+# Need to fix hack
+if(XSCREENSAVER_DIR AND XSCREENSAVER_CONFIG_DIR)
+    set(XSCREENSAVER_FOUND TRUE)
+endif(XSCREENSAVER_DIR AND XSCREENSAVER_CONFIG_DIR)
+
+if (XSCREENSAVER_FOUND)
+  if (NOT Xscreensaver_FIND_QUIETLY)
+    message(STATUS "Found XSCREENSAVER_CONFIG_DIR <${XSCREENSAVER_CONFIG_DIR}>")
+  endif (NOT Xscreensaver_FIND_QUIETLY)
+else (XSCREENSAVER_FOUND)
+  if (Xscreensaver_FIND_REQUIRED)
+    message(FATAL_ERROR "XScreenSaver not found")
+  endif (Xscreensaver_FIND_REQUIRED)
+endif (XSCREENSAVER_FOUND)
+
+
+MARK_AS_ADVANCED(XSCREENSAVER_DIR XSCREENSAVER_CONFIG_DIR)
diff --git a/pkgs/desktops/kde-4.6/artwork/aurorae.nix b/pkgs/desktops/kde-4.6/artwork/aurorae.nix
new file mode 100644
index 00000000000..307cdf92ba0
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/artwork/aurorae.nix
@@ -0,0 +1,14 @@
+{ cmake, kde, automoc4, kdelibs }:
+
+kde.package rec {
+  name = "aurorae-themes-${meta.kde.version}";
+
+  buildInputs = [ cmake automoc4 kdelibs ];
+  meta = {
+    kde = {
+      name = "aurorae";
+      module = "kdeartwork";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/artwork/color-schemes.nix b/pkgs/desktops/kde-4.6/artwork/color-schemes.nix
new file mode 100644
index 00000000000..ddf1cb77657
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/artwork/color-schemes.nix
@@ -0,0 +1,15 @@
+{ cmake, kde, automoc4, kdelibs }:
+
+kde.package rec {
+  name = "kde-color-schemes-${meta.kde.version}";
+
+  buildInputs = [ cmake automoc4 kdelibs ];
+  meta = {
+    description = "Additional KDE color schemes";
+    kde = {
+      name = "ColorSchemes";
+      module = "kdeartwork";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/artwork/desktop-themes.nix b/pkgs/desktops/kde-4.6/artwork/desktop-themes.nix
new file mode 100644
index 00000000000..4bca474f254
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/artwork/desktop-themes.nix
@@ -0,0 +1,15 @@
+{ cmake, kde, automoc4, kdelibs }:
+
+kde.package rec {
+  name = "kde-desktop-themes-${meta.kde.version}";
+
+  buildInputs = [ cmake automoc4 kdelibs ];
+  meta = {
+    description = "Additional KDE desktop themes";
+    kde = {
+      name = "desktopthemes";
+      module = "kdeartwork";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/artwork/emoticons.nix b/pkgs/desktops/kde-4.6/artwork/emoticons.nix
new file mode 100644
index 00000000000..5ec584d4d0c
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/artwork/emoticons.nix
@@ -0,0 +1,15 @@
+{ cmake, kde, automoc4, kdelibs }:
+
+kde.package rec {
+  name = "kde-emotion-icons-${meta.kde.version}";
+
+  buildInputs = [ cmake automoc4 kdelibs ];
+  meta = {
+    description = "Additional KDE emotion icons (smiles)";
+    kde = {
+      name = "emoticons";
+      module = "kdeartwork";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/artwork/high-resolution-wallpapers.nix b/pkgs/desktops/kde-4.6/artwork/high-resolution-wallpapers.nix
new file mode 100644
index 00000000000..56202288659
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/artwork/high-resolution-wallpapers.nix
@@ -0,0 +1,15 @@
+{ cmake, kde, automoc4, kdelibs }:
+
+kde.package rec {
+  name = "kde-wallpapers-high-resolution-${meta.kde.version}";
+
+  buildInputs = [ cmake automoc4 kdelibs ];
+  meta = {
+    description = "KDE wallpapers in high resolution";
+    kde = {
+      name = "HighResolutionWallpapers";
+      module = "kdeartwork";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/artwork/kscreensaver.nix b/pkgs/desktops/kde-4.6/artwork/kscreensaver.nix
new file mode 100644
index 00000000000..b7020c0e4f8
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/artwork/kscreensaver.nix
@@ -0,0 +1,16 @@
+{ cmake, kde, automoc4, kdelibs, xscreensaver, kdebase_workspace, eigen }:
+
+kde.package rec {
+  buildInputs = [ cmake automoc4 kdelibs xscreensaver kdebase_workspace eigen ];
+  preConfigure = "cp -v ${./FindXscreensaver.cmake} cmake/modules/FindXscreensaver.cmake";
+  meta = {
+    description = "KDE screen saver and savers";
+    kde = {
+      name = "kscreensaver";
+      module = "kdeartwork";
+      version = "1.0";
+      release = "4.5.90";
+      versionFile = "kscreensaver/kpartsaver/kpartsaver.cpp";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/artwork/nuvola-icon-theme.nix b/pkgs/desktops/kde-4.6/artwork/nuvola-icon-theme.nix
new file mode 100644
index 00000000000..9719fefc33f
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/artwork/nuvola-icon-theme.nix
@@ -0,0 +1,16 @@
+{ cmake, kde, automoc4, kdelibs }:
+
+kde.package rec {
+  name = "nuvola-icon-theme-${meta.kde.version}";
+# Sources contain primary and kdeclassic as well but they're not installed
+
+  buildInputs = [ cmake automoc4 kdelibs ];
+  meta = {
+    description = "KDE nuvola icon theme";
+    kde = {
+      name = "IconThemes";
+      module = "kdeartwork";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/artwork/phase-style.nix b/pkgs/desktops/kde-4.6/artwork/phase-style.nix
new file mode 100644
index 00000000000..068bc458a1a
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/artwork/phase-style.nix
@@ -0,0 +1,15 @@
+{ cmake, kde, automoc4, kdelibs }:
+
+kde.package rec {
+  name = "kde-style-phase-${meta.kde.version}";
+
+  buildInputs = [ cmake automoc4 kdelibs ];
+  meta = {
+    description = "KDE phase style. Clean classical look";
+    kde = {
+      name = "styles";
+      module = "kdeartwork";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/artwork/sounds.nix b/pkgs/desktops/kde-4.6/artwork/sounds.nix
new file mode 100644
index 00000000000..612bf1613f9
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/artwork/sounds.nix
@@ -0,0 +1,15 @@
+{ cmake, kde, automoc4, kdelibs }:
+
+kde.package rec {
+  name = "kde-sounds-${meta.kde.version}";
+
+  buildInputs = [ cmake automoc4 kdelibs ];
+  meta = {
+    description = "New login/logout sounds";
+    kde = {
+      name = "sounds";
+      module = "kdeartwork";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/artwork/wallpapers.nix b/pkgs/desktops/kde-4.6/artwork/wallpapers.nix
new file mode 100644
index 00000000000..b46d65aa550
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/artwork/wallpapers.nix
@@ -0,0 +1,15 @@
+{ cmake, kde, automoc4, kdelibs }:
+
+kde.package rec {
+  name = "kde-wallpapers-${meta.kde.version}";
+
+  buildInputs = [ cmake automoc4 kdelibs ];
+  meta = {
+    description = "Additional KDE wallpapers";
+    kde = {
+      name = "wallpapers";
+      module = "kdeartwork";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/artwork/weather-wallpapers.nix b/pkgs/desktops/kde-4.6/artwork/weather-wallpapers.nix
new file mode 100644
index 00000000000..d4f7d1d2a2f
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/artwork/weather-wallpapers.nix
@@ -0,0 +1,15 @@
+{ cmake, kde, automoc4, kdelibs }:
+
+kde.package rec {
+  name = "kde-weather-wallpapers-${meta.kde.version}";
+
+  buildInputs = [ cmake automoc4 kdelibs ];
+  meta = {
+    description = "Additional KDE wallpapers (weather)";
+    kde = {
+      name = "WeatherWallpapers";
+      module = "kdeartwork";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/base-runtime/default.nix b/pkgs/desktops/kde-4.6/base-runtime/default.nix
new file mode 100644
index 00000000000..15f065f09d3
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/base-runtime/default.nix
@@ -0,0 +1,27 @@
+{ kde, cmake, perl, bzip2, xz, qt4, alsaLib, xineLib, samba,
+  shared_mime_info, exiv2, libssh , kdelibs, automoc4, strigi, soprano,
+  cluceneCore, attica, virtuoso, makeWrapper, oxygen_icons }:
+
+kde.package {
+
+  buildInputs = [ cmake perl bzip2 xz qt4 alsaLib xineLib samba shared_mime_info
+    exiv2 libssh kdelibs automoc4 strigi soprano cluceneCore attica
+    makeWrapper];
+
+# TODO: OpenSLP, OpenEXR
+  postInstall = ''
+    rm -v $out/share/icons/default.kde4
+    wrapProgram "$out/bin/nepomukservicestub" --prefix LD_LIBRARY_PATH : "${virtuoso}/lib" \
+        --prefix PATH : "${virtuoso}/bin"
+  '';
+
+  meta = {
+    description = "KDE runtime";
+    longDescription = "Libraries and tools which supports running KDE desktop applications";
+    license = "LGPL";
+    kde = {
+      name = "kdebase-runtime";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/base-workspace/default.nix b/pkgs/desktops/kde-4.6/base-workspace/default.nix
new file mode 100644
index 00000000000..b7f3dd47488
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/base-workspace/default.nix
@@ -0,0 +1,27 @@
+{ kde, cmake, perl, python, pam, consolekit
+, qt4, sip, pyqt4, kdelibs, kdepimlibs, kdebindings
+, libXi, libXau, libXdmcp, libXtst, libXcomposite, libXdamage, libXScrnSaver
+, lm_sensors, libxklavier, libusb, libpthreadstubs, boost
+, automoc4, strigi, soprano, qimageblitz, akonadi
+, libdbusmenu_qt, libqalculate, pciutils, libraw1394, bluez
+}:
+
+kde.package {
+
+# TODO: qedje, qzion, ggadgets, libgps
+  buildInputs = [ cmake perl python qt4 pam consolekit sip pyqt4 kdelibs libXtst
+    kdepimlibs kdebindings boost libusb libXi libXau libXdmcp libraw1394
+    libXcomposite libXdamage libXScrnSaver lm_sensors libxklavier automoc4
+    strigi soprano qimageblitz akonadi libpthreadstubs libdbusmenu_qt libqalculate
+    pciutils bluez ];
+
+  meta = {
+    description = "KDE base platform-specific components";
+    longDescription = "KDE base components that are only required to work with X11 such KDM and KWin";
+    license = "GPL";
+    kde = {
+      name = "kdebase-workspace";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/base/default.nix b/pkgs/desktops/kde-4.6/base/default.nix
new file mode 100644
index 00000000000..973d2cf562d
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/base/default.nix
@@ -0,0 +1,19 @@
+{ kde, cmake, perl, qt4, kdelibs, pciutils, libraw1394 , automoc4, strigi
+, qimageblitz, soprano}:
+
+kde.package {
+  preConfigure = "cd apps";
+
+  buildInputs = [ cmake perl qt4 kdelibs pciutils libraw1394 automoc4
+    strigi qimageblitz ];
+
+  meta = {
+    description = "KDE Base components";
+    longDescription = "Applications that form the KDE desktop, like Plasma, System Settings, Konqueror, Dolphin, Kate, and Konsole";
+    license = "GPL";
+    kde = {
+      name = "kdebase";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/bindings/default.nix b/pkgs/desktops/kde-4.6/bindings/default.nix
new file mode 100644
index 00000000000..74b59926cf7
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/bindings/default.nix
@@ -0,0 +1,37 @@
+{ kde, lib, cmake, perl, python, sip, pyqt4, zlib, libpng, freetype, fontconfig, qt4, boost
+, kdelibs, kdepimlibs, automoc4, soprano, akonadi, attica, polkit_qt_1, ruby
+}:
+
+# This function will only build the pykde4 module. I don't need the other bindings and
+# some bindings are even broken.
+
+kde.package rec {
+  patches = [ ./python-site-packages-install-dir.diff ./sip-4.11.patch ];
+
+  preConfigure = ''
+    CUSTOM_RUBY_SITE_ARCH_DIR=$(ruby -r rbconfig -e "print Config::CONFIG['sitearchdir']" | sed -e "s@${ruby}@$out@")
+    CUSTOM_RUBY_SITE_LIB_DIR=$(ruby -r rbconfig -e "print Config::CONFIG['sitelibdir']" | sed -e "s@${ruby}@$out@")
+    CUSTOM_PERL_SITE_ARCH_DIR=$(perl -MConfig -e 'print $Config{sitearch}' | sed -e "s@${perl}@$out@")
+    cmakeFlagsArray+=(
+      -DSIP_DEFAULT_SIP_DIR=$out/share/sip
+      -DCUSTOM_RUBY_SITE_ARCH_DIR=$CUSTOM_RUBY_SITE_ARCH_DIR
+      -DCUSTOM_RUBY_SITE_LIB_DIR=$CUSTOM_RUBY_SITE_LIB_DIR
+      -DCUSTOM_PERL_SITE_ARCH_DIR=$CUSTOM_PERL_SITE_ARCH_DIR
+    )
+  '';
+  
+  # TODO: okular, qimageblitz, qwt5, qscintilla2, c#
+  buildInputs = [ cmake perl python sip pyqt4 zlib libpng freetype fontconfig qt4 boost
+          kdelibs kdepimlibs automoc4 soprano akonadi attica polkit_qt_1 ruby ];
+
+  meta = {
+    description = "KDE bindings";
+    longDescription = "Provides KDE bindings for several languages such as Java, Smoke and Python";
+    license = "LGPL";
+    kde = {
+      name = "kdebindings";
+      version = "4.5.90";
+    };
+  };
+}
+
diff --git a/pkgs/desktops/kde-4.6/bindings/python-site-packages-install-dir.diff b/pkgs/desktops/kde-4.6/bindings/python-site-packages-install-dir.diff
new file mode 100644
index 00000000000..7fe64e7eff5
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/bindings/python-site-packages-install-dir.diff
@@ -0,0 +1,54 @@
+diff --git a/python/pykde4/CMakeLists.txt b/python/pykde4/CMakeLists.txt
+index 01b69dc..375661d 100644
+--- a/python/pykde4/CMakeLists.txt
++++ b/python/pykde4/CMakeLists.txt
+@@ -188,12 +188,12 @@ IF(POLKITQT_FOUND)
+     SET(PYKDE_MODULES "${PYKDE_MODULES} polkitqt")
+ ENDIF(POLKITQT_FOUND)
+ 
+-PYTHON_INSTALL(__init__.py ${PYTHON_SITE_PACKAGES_DIR}/PyKDE4)
++PYTHON_INSTALL(__init__.py ${PYTHON_SITE_PACKAGES_INSTALL_DIR}/PyKDE4)
+ 
+ MESSAGE(STATUS "KDE_VERSION: ${KDE_VERSION}")
+ MESSAGE(STATUS "KDE4_INCLUDE_DIR: ${KDE4_INCLUDE_DIR}")
+ MESSAGE(STATUS "KDE4_LIB_DIR: ${KDE4_LIB_DIR}")
+-MESSAGE(STATUS "PYTHON_SITE_PACKAGES_DIR: ${PYTHON_SITE_PACKAGES_DIR}")
++MESSAGE(STATUS "PYTHON_SITE_PACKAGES_INSTALL_DIR: ${PYTHON_SITE_PACKAGES_INSTALL_DIR}")
+ 
+ # Setup and install pykdeconfig.py
+ 
+@@ -225,7 +225,7 @@ _pkg_config = {
+     'konsolepart':          'False',
+     'libdir':               '${LIB_DIR}',
+     'pykde_kde_sip_flags':  '${_SIP_TAGS} ${_SIP_X} ${SIP_EXTRA_OPTIONS}',
+-    'pykde_mod_dir':        '${PYTHON_SITE_PACKAGES_DIR}/PyKDE4',
++    'pykde_mod_dir':        '${PYTHON_SITE_PACKAGES_INSTALL_DIR}/PyKDE4',
+     'pykde_modules':        '${PYKDE_MODULES}',
+     'pykde_sip_dir':        '${SIP_DEFAULT_SIP_DIR}/PyKDE4',
+     'pykde_version':        kde_version_hex,
+@@ -235,7 +235,7 @@ _pkg_config = {
+ _default_macros = None")
+ 
+ CONFIGURE_FILE(pykdeconfig.py.in ${CMAKE_CURRENT_BINARY_DIR}/pykdeconfig.py)
+-PYTHON_INSTALL(${CMAKE_CURRENT_BINARY_DIR}/pykdeconfig.py ${PYTHON_SITE_PACKAGES_DIR}/PyKDE4)
++PYTHON_INSTALL(${CMAKE_CURRENT_BINARY_DIR}/pykdeconfig.py ${PYTHON_SITE_PACKAGES_INSTALL_DIR}/PyKDE4)
+ 
+ # Install the .sip files for anyone that wants to build bindings on top of PyKDE4.
+ # (Don't forget the / at the end of sip/.)
+diff --git a/python/pykde4/tools/pykdeuic4/CMakeLists.txt b/python/pykde4/tools/pykdeuic4/CMakeLists.txt
+index ea711ba..115c777 100644
+--- a/python/pykde4/tools/pykdeuic4/CMakeLists.txt
++++ b/python/pykde4/tools/pykdeuic4/CMakeLists.txt
+@@ -1,5 +1,9 @@
+ 
+-PYTHON_INSTALL(kde4.py ${PYTHON_SITE_PACKAGES_DIR}/PyQt4/uic/widget-plugins/)
+-PYTHON_INSTALL(pykdeuic4.py ${PYTHON_SITE_PACKAGES_DIR}/PyQt4/uic/)
++PYTHON_INSTALL(kde4.py ${PYTHON_SITE_PACKAGES_INSTALL_DIR}/PyQt4/uic/widget-plugins/)
++PYTHON_INSTALL(pykdeuic4.py ${PYTHON_SITE_PACKAGES_INSTALL_DIR}/PyQt4/uic/)
+ find_path(cmake_module_dir create_exe_symlink.cmake ${CMAKE_MODULE_PATH})
+-INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -DTARGET=${PYTHON_SITE_PACKAGES_DIR}/PyQt4/uic/pykdeuic4.py -DLINK_NAME=${BIN_INSTALL_DIR}/pykdeuic4 -P ${cmake_module_dir}/create_exe_symlink.cmake)" )
++IF(IS_ABSOLUTE ${PYTHON_SITE_PACKAGES_INSTALL_DIR})
++  INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -DTARGET=${PYTHON_SITE_PACKAGES_INSTALL_DIR}/PyQt4/uic/pykdeuic4.py -DLINK_NAME=${BIN_INSTALL_DIR}/pykdeuic4 -P ${cmake_module_dir}/create_exe_symlink.cmake)" )
++ELSE(IS_ABSOLUTE ${PYTHON_SITE_PACKAGES_INSTALL_DIR})
++  INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -DTARGET=${CMAKE_INSTALL_PREFIX}/${PYTHON_SITE_PACKAGES_INSTALL_DIR}/PyQt4/uic/pykdeuic4.py -DLINK_NAME=${BIN_INSTALL_DIR}/pykdeuic4 -P ${cmake_module_dir}/create_exe_symlink.cmake)" )
++ENDIF(IS_ABSOLUTE ${PYTHON_SITE_PACKAGES_INSTALL_DIR})
diff --git a/pkgs/desktops/kde-4.6/bindings/sip-4.11.patch b/pkgs/desktops/kde-4.6/bindings/sip-4.11.patch
new file mode 100644
index 00000000000..15059e2526d
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/bindings/sip-4.11.patch
@@ -0,0 +1,67 @@
+Make kdebindings compile against sip-4.11, from KDE svn
+Index: kdebindings/python/pykde4/sip/kdecore/typedefs.sip
+===================================================================
+--- kdebindings/python/pykde4/sip/kdecore/typedefs.sip	(revision 1170601)
++++ kdebindings/python/pykde4/sip/kdecore/typedefs.sip	(revision 1170602)
+@@ -733,61 +733,6 @@
+ };
+ 
+ 
+-%MappedType QList<uint>
+-{
+-%TypeHeaderCode
+-#include <qlist.h>
+-%End
+-
+-%ConvertFromTypeCode
+-    // Create the list.
+-    PyObject *l;
+-
+-    if ((l = PyList_New(sipCpp->size())) == NULL)
+-        return NULL;
+-
+-    // Set the list elements.
+-    for (int i = 0; i < sipCpp->size(); ++i) {
+-        PyObject *pobj;
+-
+-#if PY_MAJOR_VERSION >= 3
+-        if ((pobj = PyLong_FromLong(sipCpp->value(i))) == NULL) {
+-#else
+-        if ((pobj = PyInt_FromLong(sipCpp->value(i))) == NULL) {
+-#endif
+-            Py_DECREF(l);
+-
+-            return NULL;
+-        }
+-
+-        PyList_SET_ITEM(l, i, pobj);
+-    }
+-
+-    return l;
+-%End
+-
+-%ConvertToTypeCode
+-    // Check the type if that is all that is required.
+-    if (sipIsErr == NULL)
+-        return PyList_Check(sipPy);
+-
+-    QList<uint> *ql = new QList<uint>;
+- 
+-    for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) {
+-#if PY_MAJOR_VERSION >= 3
+-        ql->append(PyLong_AsLong(PyList_GET_ITEM(sipPy, i)));
+-#else
+-        ql->append(PyInt_AsLong(PyList_GET_ITEM(sipPy, i)));
+-#endif        
+-    }
+-    
+-    *sipCppPtr = ql;
+- 
+-    return sipGetState(sipTransferObj);
+-%End
+-};
+-
+-
+ template <TYPE*>
+ %MappedType QStack<TYPE*>
+ {
diff --git a/pkgs/desktops/kde-4.6/default.nix b/pkgs/desktops/kde-4.6/default.nix
new file mode 100644
index 00000000000..3335584a7ef
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/default.nix
@@ -0,0 +1,163 @@
+{ callPackage, recurseIntoAttrs, runCommand, stdenv, fetchurl, qt47 } :
+
+let
+
+  version = "4.5.90";
+
+  # 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
+
+rec {
+  inherit callPackage stdenv;
+
+  qt4 = qt47;
+
+  phonon = null;
+
+  kde = callPackage ./kde-package { };
+
+### SUPPORT
+  akonadi = callPackage ./support/akonadi { };
+
+  attica = callPackage ./support/attica { };
+
+  automoc4 = callPackage ./support/automoc4 { };
+
+  eigen = callPackage ./support/eigen { };
+
+  oxygen_icons = callPackage ./support/oxygen-icons { };
+
+  polkit_qt_1 = callPackage ./support/polkit-qt-1 { };
+
+  strigi = callPackage ./support/strigi { };
+
+  soprano = callPackage ./support/soprano { };
+
+  qca2 = callPackage ./support/qca2 { };
+
+  qca2_ossl = callPackage ./support/qca2/ossl.nix { };
+
+  qimageblitz = callPackage ./support/qimageblitz { };
+
+### LIBS
+  kdelibs = callPackage ./libs { };
+
+  kdepimlibs = callPackage ./pimlibs { };
+
+### BASE
+  kdebase = callPackage ./base { };
+
+  kdebase_workspace = callPackage ./base-workspace { };
+
+  kdebase_runtime = callPackage ./base-runtime { };
+
+### OTHER MODULES
+
+  kdeaccessibility = combinePkgs "kdeaccessibility" {
+    colorSchemes = callPackage ./accessibility/color-schemes.nix { };
+    iconThemes = callPackage ./accessibility/icon-themes.nix { };
+    jovie = callPackage ./accessibility/jovie.nix { };
+    kmag = callPackage ./accessibility/kmag.nix { };
+    kmousetool = callPackage ./accessibility/kmousetool.nix { };
+    kmouth = callPackage ./accessibility/kmouth.nix { };
+  };
+
+  kdeadmin = callPackage ./admin { };
+  
+  kdeartwork = combinePkgs "kdeartwork" {
+    aurorae = callPackage ./artwork/aurorae.nix { };
+    colorSchemes = callPackage ./artwork/color-schemes.nix { };
+    desktop_themes = callPackage ./artwork/desktop-themes.nix { };
+    emoticons = callPackage ./artwork/emoticons.nix { };
+    high_resolution_wallpapers = callPackage ./artwork/high-resolution-wallpapers.nix { };
+    wallpapers = callPackage ./artwork/wallpapers.nix { };
+    nuvola_icon_theme = callPackage ./artwork/nuvola-icon-theme.nix { };
+    sounds = callPackage ./artwork/sounds.nix { };
+    weather_wallpapers = callPackage ./artwork/weather-wallpapers.nix { };
+    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 = combinePkgs "kdesdk" {
+    cervisia = callPackage ./sdk/cervisia.nix { };
+    kapptemplate = callPackage ./sdk/kapptemplate.nix { };
+    kate = callPackage ./sdk/kate.nix { };
+    kcachegrind = callPackage ./sdk/kcachegrind.nix { };
+    kdeaccounts_plugin = callPackage ./sdk/kdeaccounts-plugin.nix { };
+    dolphin_plugins = callPackage ./sdk/dolphin-plugins.nix { };
+    kioslave_perldoc = callPackage ./sdk/kioslave-perldoc.nix { };
+    kioslave_svn = callPackage ./sdk/kioslave-svn.nix { };
+    strigi_analyzer = callPackage ./sdk/strigi-analyzer.nix { };
+    kbugbuster = callPackage ./sdk/kbugbuster.nix { };
+    kmtrace = callPackage ./sdk/kmtrace.nix { };
+    kompare = callPackage ./sdk/kompare.nix { };
+    kpartloader = callPackage ./sdk/kpartloader.nix { };
+    kprofilemethod = callPackage ./sdk/kprofilemethod.nix { };
+    kstartperf = callPackage ./sdk/kstartperf.nix { };
+    kuiviewer = callPackage ./sdk/kuiviewer.nix { };
+    lokalize = callPackage ./sdk/lokalize.nix { };
+    poxml = callPackage ./sdk/poxml.nix { };
+    scripts = callPackage ./sdk/scripts.nix { };
+    umbrello = callPackage ./sdk/umbrello.nix { };
+  };
+  
+  kdetoys = combinePkgs "kdetoys" {
+    amor = callPackage ./toys/amor.nix { };
+    kteatime = callPackage ./toys/kteatime.nix { };
+    ktux = callPackage ./toys/ktux.nix { };
+  };
+
+  kdeutils = combinePkgs "kdeutils" {
+    ark = callPackage ./utils/ark.nix { };
+    kcalc = callPackage ./utils/kcalc.nix { };
+    kcharselect = callPackage ./utils/kcharselect.nix { };
+    kdf = callPackage ./utils/kdf.nix { };
+    kfloppy = callPackage ./utils/kfloppy.nix { };
+    kgpg = callPackage ./utils/kgpg.nix { };
+    kremotecontrol = callPackage ./utils/kremotecontrol.nix { };
+    ktimer = callPackage ./utils/ktimer.nix { };
+    kwallet = callPackage ./utils/kwallet.nix { };
+    okteta = callPackage ./utils/okteta.nix { };
+    printer_applet = callPackage ./utils/printer-applet.nix { };
+    superkaramba = callPackage ./utils/superkaramba.nix { };
+    sweeper = callPackage ./utils/sweeper.nix { };
+  };
+
+  kdewebdev = combinePkgs "kdewebdev" {
+    klinkstatus = callPackage ./webdev/klinkstatus.nix { };
+    kommander = callPackage ./webdev/kommander.nix { };
+    kfilereplace = callPackage ./webdev/kfilereplace.nix { };
+    kimagemapeditor = callPackage ./webdev/kimagemapeditor.nix { };
+  };
+
+  kdepim_runtime = callPackage ./pim-runtime { };
+  kdepim = callPackage ./pim { };
+
+### 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.6/edu/default.nix b/pkgs/desktops/kde-4.6/edu/default.nix
new file mode 100644
index 00000000000..e011d2cd522
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/edu/default.nix
@@ -0,0 +1,29 @@
+{ kde, cmake, qt4, perl, libxml2, libxslt, openbabel, boost, readline, gmm, gsl
+, xplanet, libspectre, pkgconfig, libqalculate
+, kdelibs, automoc4, eigen, attica}:
+
+kde.package {
+
+#TODO:
+#* Boost.Python (1.31 or higher)  <http://www.boost.org/> - fails to find
+# * libcfitsio0 (3.09 or higher)  <http://indi.sf.net>
+# * libindi (0.6.1 or higher)  <http://indi.sf.net>
+# * R  <http://www.r-project.org/>
+# * OCaml  <http://caml.inria.fr/>
+# * LibFacile  <http://www.recherche.enac.fr/log/facile/>
+# * Avogadro (1.0 or higher)  <http://avogadro.openmolecules.net>
+# * libgps
+
+  buildInputs = [ cmake qt4 perl libxml2 libxslt openbabel boost readline gmm
+    gsl xplanet kdelibs automoc4 eigen attica libspectre pkgconfig
+    libqalculate ];
+
+  meta = {
+    description = "KDE Educative software";
+    license = "GPL";
+    kde = {
+      name = "kdeedu";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/games/default.nix b/pkgs/desktops/kde-4.6/games/default.nix
new file mode 100644
index 00000000000..d3836ccf507
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/games/default.nix
@@ -0,0 +1,22 @@
+{kde, cmake, qt4, perl, shared_mime_info, kdelibs, automoc4, qca2
+, kdebindings, twisted, python, pyqt4, sip, makeWrapper }:
+
+kde.package {
+
+# TODO: ggz
+  buildInputs = [ cmake qt4 perl shared_mime_info kdelibs automoc4 qca2
+    kdebindings twisted python pyqt4 sip makeWrapper ];
+
+  postInstall = ''
+    wrapProgram $out/bin/kajongg --set PYTHONPATH $PYTHONPATH
+    wrapProgram $out/bin/kajonggserver --set PYTHONPATH $PYTHONPATH'';
+
+  meta = {
+    description = "KDE Games";
+    license = "GPL";
+    kde = {
+      name = "kdegames";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/graphics/default.nix b/pkgs/desktops/kde-4.6/graphics/default.nix
new file mode 100644
index 00000000000..78442145c9f
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/graphics/default.nix
@@ -0,0 +1,23 @@
+{ kde, cmake, lib, perl, qt4, exiv2, lcms, saneBackends, libgphoto2
+, libspectre, popplerQt4, djvulibre, chmlib, shared_mime_info, libXxf86vm
+, kdelibs, automoc4, strigi, qimageblitz, soprano, qca2, ebook_tools }:
+
+kde.package {
+
+  buildInputs = [ cmake perl qt4 exiv2 lcms saneBackends libgphoto2 libspectre
+    (popplerQt4.override { inherit qt4; }) chmlib shared_mime_info libXxf86vm
+    kdelibs automoc4 strigi qimageblitz soprano qca2 djvulibre ebook_tools ];
+
+  meta = {
+    description = "KDE graphics utilities";
+    longDescription = ''
+      Contains various graphics utilities such as Gwenview image viewer and
+      Okular  document reader.
+    '';
+    license = "GPL";
+    kde = {
+      name = "kdegraphics";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/kde-package/default.nix b/pkgs/desktops/kde-4.6/kde-package/default.nix
new file mode 100644
index 00000000000..81fd75e8f44
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/kde-package/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchurl }:
+
+rec {
+  defaultArgs = {name, stable ? null, version,
+    module ? name, release ? version, ... }:
+
+    assert (name == module) -> (release == version);
+
+    (
+      {
+        name = "${name}-${version}";
+
+        src =
+          let
+            manifest = (import (./manifest + "-${release}.nix"));
+            _stable = if stable == null then manifest.stable else stable;
+            stableString = if _stable then "stable" else "unstable";
+          in
+          fetchurl {
+            url = "mirror://kde/${stableString}/${release}/src/${module}-${release}.tar.bz2";
+            sha256 = stdenv.lib.maybeAttr
+              module
+              (throw "No module ${module} in release ${release}!")
+              manifest.packages;
+          };
+
+        meta = {
+          maintainers = with stdenv.lib.maintainers; [ sander urkud ];
+          platforms = stdenv.lib.platforms.linux;
+          homepage = if name == module
+            then http://www.kde.org
+            else assert builtins.substring 0 3 module == "kde";
+              "http://"
+              + builtins.substring 3
+                (builtins.sub (builtins.stringLength module) 3) module
+              + ".kde.org/projects/${name}";
+        };
+      } // (if module == name then { } else {
+        cmakeFlags = ''
+          -DDISABLE_ALL_OPTIONAL_SUBDIRECTORIES=TRUE
+          -DBUILD_doc=TRUE -DBUILD_${name}=TRUE'';
+      })
+    );
+
+  package = a@{meta, ...}:
+    assert a.meta ? kde;
+    let
+      default = defaultArgs a.meta.kde;
+    in
+# hand-written merge
+    stdenv.mkDerivation (
+      default
+        // removeAttrs a [ "meta" "cmakeFlags" ]
+        // {
+          meta = default.meta // a.meta;
+        }
+        // (if default ? cmakeFlags || a ? cmakeFlags then {
+          cmakeFlags =
+            (if default ? cmakeFlags then "${default.cmakeFlags}" else "")
+            + (if default ? cmakeFlags && a ? cmakeFlags then " " else "")
+            + (if a ? cmakeFlags then a.cmakeFlags else "");
+        } else { }
+      ));
+}
diff --git a/pkgs/desktops/kde-4.6/kde-package/kde-manifest.sh b/pkgs/desktops/kde-4.6/kde-package/kde-manifest.sh
new file mode 100755
index 00000000000..fbaf490e8be
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/kde-package/kde-manifest.sh
@@ -0,0 +1,39 @@
+#!/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//')
+
+if [[ ${release##*.} -gt 50 ]]; then
+	stable="false"
+else
+	stable="true"
+fi
+
+echo "Detected release ${release}" >&2
+
+exec > "manifest-${release}.nix"
+echo "{"
+echo "  stable = ${stable};"
+echo "  packages = builtins.listToAttrs ["
+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 "      name = \"${module}\";"
+  echo "      value = \"${hash}\";"
+  echo "    }"
+  echo $hash >&2
+done
+echo "  ];"
+echo "}"
diff --git a/pkgs/desktops/kde-4.6/kde-package/manifest-4.5.90.nix b/pkgs/desktops/kde-4.6/kde-package/manifest-4.5.90.nix
new file mode 100644
index 00000000000..34ef033e4cb
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/kde-package/manifest-4.5.90.nix
@@ -0,0 +1,85 @@
+{
+  stable = false;
+  packages = builtins.listToAttrs [
+    {
+      name = "kdeaccessibility";
+      value = "0jqfyzy3jvzyv1b6n1r589vk7qs8phng6az5jgsknhjjrhsn40hy";
+    }
+    {
+      name = "kdeadmin";
+      value = "1kk0xzf6mrhm946rsrpizzpkx59rf8xzxfj5h5lkcrajmq4xr0q8";
+    }
+    {
+      name = "kdeartwork";
+      value = "0f531rzz5ryq9irkijlb2anxm9zl933yq7q9h9im30s2w4fx31j6";
+    }
+    {
+      name = "kdebase";
+      value = "0aj5w84clbwhckpfryhcfwjnqamdmjm6mf0nf9g1qdaa2k2sfiqm";
+    }
+    {
+      name = "kdebase-runtime";
+      value = "0fhzxhj6p8nam4zi9wz998q06j70wvk1zgrb95lblfcjvs5f8ggb";
+    }
+    {
+      name = "kdebase-workspace";
+      value = "02s2bfid02js0r9400jfk6g74b0m8y7qi95ag7pj3ynn59fz9fv7";
+    }
+    {
+      name = "kdebindings";
+      value = "0ggq2djhcf74zb3wr2g1i2a72ncxs9h787sf4136ys0frxc4h898";
+    }
+    {
+      name = "kdeedu";
+      value = "172ix71977i2rm8r2fqdwrs954d0q82xf97hzpvqmjia3hp823iv";
+    }
+    {
+      name = "kdegames";
+      value = "1srk4vh9n1wh71hamzzvsgwml2j6yi959w61wbqrx9hd0vh3nfcz";
+    }
+    {
+      name = "kdegraphics";
+      value = "0d93kg8bhg2qwbpjnkgygbc8i6qc3wmdy419h15zafy6v66hfnqi";
+    }
+    {
+      name = "kdelibs";
+      value = "04n0whn0srfnqb3gr4w4g92s2vwhxhsmik5bkja4zzkkyylpg76b";
+    }
+    {
+      name = "kdemultimedia";
+      value = "1wclpg44fips943l0yiydr8bg0r0gw1j1ji8jvivcwl8mhq2qxf1";
+    }
+    {
+      name = "kdenetwork";
+      value = "13r9fpbcsl5a12rlg1cifvply4shmvsmm8c1h6bkgyw55k6m652v";
+    }
+    {
+      name = "kdepimlibs";
+      value = "1zc07iw6f78zbbnywplavjb4vdvhr14262wfx35zw3w34x3s0czb";
+    }
+    {
+      name = "kdeplasma-addons";
+      value = "0x46l5840iy6nlfzbgi711rdrrjwaxzglsd9hjs90sswqyiid1zg";
+    }
+    {
+      name = "kdesdk";
+      value = "0dgvg0pzdwk4cg0v4rmjid0lb25r0gbhciywb2whr0l4g8rnsriz";
+    }
+    {
+      name = "kdetoys";
+      value = "1kzzwz8gbd0j9758vxb0cpklgcb9szl49lpyv98bb94378syvn87";
+    }
+    {
+      name = "kdeutils";
+      value = "1c2k8vh7vyjlvq32grs32iwfgg9q9jblm2lwhlkmrl391b38fc0d";
+    }
+    {
+      name = "kdewebdev";
+      value = "15zj9jwrqfkz94hhjcic8k58d6fwrxa6xacmxpmps80j7qgik0d9";
+    }
+    {
+      name = "oxygen-icons";
+      value = "15m08kkxyqw00zhi07mqwwkghw2knf9djw2sw32rpiicg7ppfjgx";
+    }
+  ];
+}
diff --git a/pkgs/desktops/kde-4.6/l10n/default.nix b/pkgs/desktops/kde-4.6/l10n/default.nix
new file mode 100644
index 00000000000..f3b384ad91d
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/l10n/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchurl, cmake, kdelibs, gettext, perl, automoc4 }:
+
+let
+  overrides = { };
+
+  defaultRelease = "4.5.90";
+  releases = [ "4.5.90" ];
+
+  sanitizeString = replaceChars [ "@" "." ] [ "_" "_" ];
+  getOverride = name: attrByPath [name] {} overrides;
+
+  inherit (stdenv.lib) replaceChars attrByPath singleton;
+
+  kdeL10nDerivation = {lang, sha256, release} :
+    let
+      name = "kde-l10n-${lang}-${release}";
+      saneName = "kde-l10n-${sanitizeString lang}-${release}";
+    in
+    stdenv.mkDerivation ({
+      name = saneName;
+      src = fetchurl {
+        url = "mirror://kde/unstable/${release}/src/kde-l10n/${name}.tar.bz2";
+        name = "${saneName}.tar.bz2";
+        inherit sha256;
+      };
+
+      buildInputs = [ cmake perl gettext kdelibs automoc4 ];
+
+      meta = {
+        description = "KDE translation for ${lang}";
+        license = "GPL";
+        inherit (kdelibs.meta) maintainers platforms homepage;
+      };
+    }
+    // (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 (r : { name = sanitizeString r; value =
+kdeL10nRelease r; }) releases)
+// (kdeL10nRelease defaultRelease)
diff --git a/pkgs/desktops/kde-4.6/l10n/l10n-manifest.sh b/pkgs/desktops/kde-4.6/l10n/l10n-manifest.sh
new file mode 100755
index 00000000000..baa235e0f75
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/l10n/l10n-manifest.sh
@@ -0,0 +1,31 @@
+#!/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}\";"
+  echo "  sha256 = \"${hash}\";"
+  echo "}"
+  echo $hash >&2
+done
+echo "]"
diff --git a/pkgs/desktops/kde-4.6/l10n/manifest-4.5.90.nix b/pkgs/desktops/kde-4.6/l10n/manifest-4.5.90.nix
new file mode 100644
index 00000000000..33f7abff71c
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/l10n/manifest-4.5.90.nix
@@ -0,0 +1,222 @@
+[
+{
+  lang = "ar";
+  sha256 = "19mfcq1ms0k6msir8q1g70myvqiapcf6a2r8wq47achxnpkicia9";
+}
+{
+  lang = "bg";
+  sha256 = "1njbxf5y3pl9nmyj913qinaa3qr4q4v8gvwmg7mfidddrr60yniz";
+}
+{
+  lang = "ca";
+  sha256 = "1yv5220q1d3w4nmix9jzz98fhyk0516v3mr5j4pczf407mrggh3l";
+}
+{
+  lang = "ca@valencia";
+  sha256 = "047rq1g0a7dy0kdna9gd4x906dk6inb61vw0xl6kkb3kzxxp3das";
+}
+{
+  lang = "cs";
+  sha256 = "1cazhfrh9nagxi2grlwldwl4j92xhgj8lmyaxkhb893nj845z108";
+}
+{
+  lang = "da";
+  sha256 = "1cm19gp0qiq6yqdzwpv14swj8g7rkvspqgnn5b2i5f3qqr25d29g";
+}
+{
+  lang = "de";
+  sha256 = "0sr51gpyfdgai8frrr0dw7qyssc39kl3fqkjg8w8zjlsp5x6ddx5";
+}
+{
+  lang = "el";
+  sha256 = "0s6mg2diy84my66zgcs5z8xk13j2a8q71xkrvw4d1z8pbnbw4i66";
+}
+{
+  lang = "en_GB";
+  sha256 = "1n461w69gs9q86kp6xy0980ziry61idr0bk614mv58ip1myzwhgm";
+}
+{
+  lang = "eo";
+  sha256 = "1s7p0d45f30871rikx74rc238z9w239pdb4ay9nfx2618wnsrhkr";
+}
+{
+  lang = "es";
+  sha256 = "1583gkwac4ys2sz8a93km0fabqpasslas5jzkavbz1bn8ps1q0w3";
+}
+{
+  lang = "et";
+  sha256 = "00sbnyqhvsdy9y1f59ir0mpxbj6h5x7gc8hiigfzsymlm14fhf26";
+}
+{
+  lang = "eu";
+  sha256 = "1pk6dmakxzj3qqq506flyipcc1sc954lsf4zsy82ii8ki06zvrvw";
+}
+{
+  lang = "fi";
+  sha256 = "1xcdmmvf8x723ngw5xw714x86xpn66qb3pw6h0x01mlh28lprq7j";
+}
+{
+  lang = "fr";
+  sha256 = "18wbz82cnxk51vj4qpw54xcrplga7vpm7p0cw19cjwph2xs62bjl";
+}
+{
+  lang = "fy";
+  sha256 = "1n3ix81jz9716ai9xm99r2v3n64w0kqvr8iz58zlrns5k9cig1nw";
+}
+{
+  lang = "ga";
+  sha256 = "0gm5ylr0dw6slilf1xdsksx17f7kqxmagdywl3dp2fry2h6z3xrn";
+}
+{
+  lang = "gl";
+  sha256 = "132bchxzm4qkbjcf5ljwniyjiahfwkd3i01sqm57l9ssgkq88f1r";
+}
+{
+  lang = "gu";
+  sha256 = "1sg4c0ijap8aird7fwflzw2w7yhx08b8baw4453nkk28s3l0wbl8";
+}
+{
+  lang = "he";
+  sha256 = "1gjngdh6qwmwfhyxcad1xsyq0l25v88bdg4yl1m5iw5a44rvn9br";
+}
+{
+  lang = "hi";
+  sha256 = "1q5rhiwn5fp8sgdrlqh2gh1f4q60x0s5x79q31fnw4kdk5akkrbs";
+}
+{
+  lang = "hr";
+  sha256 = "0hsdh8pnir8ykdsakbii7jj2nd9g1h03s29bmbg6w4r7q39xif7i";
+}
+{
+  lang = "hu";
+  sha256 = "0zpmndlb0vp3sp7z8g233335kak3ms8gzzgn1dhqch0rs03dx9cb";
+}
+{
+  lang = "ia";
+  sha256 = "01jrkfs4jp8z4554sia73vk4js1sd32a3swhal664vdwnf62cw70";
+}
+{
+  lang = "id";
+  sha256 = "0nylab5ncqdx5s3nnq7lx3fd70crjwihkgp9hv689vz4l8g1si4z";
+}
+{
+  lang = "is";
+  sha256 = "1rj8m2qsfhrv4k99mf5sydz5mhq0anhcfi4na04l1hi7icypbz9d";
+}
+{
+  lang = "it";
+  sha256 = "1f1kd82f3pc4szbfwsyxpn115rp2fbkx98gzxpnaggb3j88vq2k9";
+}
+{
+  lang = "ja";
+  sha256 = "0axl759bpv18dl0pw52hlksgdza1y8f7jfw5zgv6rc9qks1f1f9q";
+}
+{
+  lang = "kk";
+  sha256 = "14xvnj21kqp41ayi6n1a8qbph5llf9izs5qql82lcvph3a7zdjxv";
+}
+{
+  lang = "km";
+  sha256 = "0fywr8c6cz0wp4kx56xfd93mjbgwmnmh6zv0kdq8lr9xzjfjbbvq";
+}
+{
+  lang = "kn";
+  sha256 = "13isz33r2wkir2n53fxvmadk5fp4178rxm3nlr8c0l4fqic5pj1a";
+}
+{
+  lang = "ko";
+  sha256 = "1l18crb73cg5an8isgv0iih1mc3j4ghqnfrx39bbrl5ljym78xfx";
+}
+{
+  lang = "lt";
+  sha256 = "01b50dzhxlczmjqc07ph40bz86020ll1ddzcr0285dqqxcl466hg";
+}
+{
+  lang = "lv";
+  sha256 = "0vcbl1laf0vnpks3mfghxffvnyyl4av4lgkgx9annw625aybwc5w";
+}
+{
+  lang = "ml";
+  sha256 = "06z3ihbd3mjzmr68h5bxnp2zhkfnjx7a4ldkv9hj1m4miwpa9af6";
+}
+{
+  lang = "nb";
+  sha256 = "1zp7803s50y750i59cpfq5n4m4yq7xjyqzrrajk4k2cp3kv7prv0";
+}
+{
+  lang = "nds";
+  sha256 = "1f71gl6v9nasrci17glbllyc1h8iaw69j1vf36pyzzp3jwi6y6pg";
+}
+{
+  lang = "nl";
+  sha256 = "18x4dfffyc11acl90bj5d86xvbjiq9bkszdgnmninaa6zjmmvng9";
+}
+{
+  lang = "nn";
+  sha256 = "0syb3x2mlz7lf6awa1h0lchj7qmwmdmxai2cy0h0ja3jvbh6hrsw";
+}
+{
+  lang = "pa";
+  sha256 = "1dd5bpn409b839blb5zj27gc0mg13r3d36ap80lybivqpga0c5bw";
+}
+{
+  lang = "pl";
+  sha256 = "0cmqh4f846s910jlhgc1vpzwlbry0vc4wwpx5misiybh2didhly9";
+}
+{
+  lang = "pt";
+  sha256 = "01z1bz56r1jpfwl2vhfkb8w667layv2hm163y6x4i940qfiig167";
+}
+{
+  lang = "pt_BR";
+  sha256 = "0swilj7qvsrg66xccjmyzlj4l6k88qghvdcs6m9nha3rv199p35k";
+}
+{
+  lang = "ro";
+  sha256 = "08c8ikxfmxgiwchdhayjflk4773rfan2jmjnbrixmam21x2py5ys";
+}
+{
+  lang = "ru";
+  sha256 = "01nskj9mi28xbg77shnmhc46ilx9qrnsv1rsmpblphqxs3wczpqy";
+}
+{
+  lang = "sk";
+  sha256 = "12ja66s0v85d8w5nk1c0xwfs04wq0ngxmpypc5igky90qxhg3f75";
+}
+{
+  lang = "sl";
+  sha256 = "0qqass959xcc7gg1q76w10alrj1ypxc5hg43hlbjagxy8x1nkd99";
+}
+{
+  lang = "sr";
+  sha256 = "16cq9iz2njvwm4d57f07ay4rzw66pwphblxrdrlk22fvkli1hmps";
+}
+{
+  lang = "sv";
+  sha256 = "05hskmbmr9gzfk7i3xlh6a56inmjgl26cvbkcm967mayfigxcaqp";
+}
+{
+  lang = "th";
+  sha256 = "0n9jbngj3l1crqgqv9am8bl3l3sa3x2ccna4p9ccbjyvl4xgryij";
+}
+{
+  lang = "tr";
+  sha256 = "14lfp80r9vwr4kbway2kzff3qr9dgywal6n68adam7jhagfmxifc";
+}
+{
+  lang = "uk";
+  sha256 = "1ygac3jnjw4y4jfk4r8hba1d9ppb41sq50szbh4s4cw0p77kwi91";
+}
+{
+  lang = "wa";
+  sha256 = "1pg37wyyc2fbjy1pmmk8vchk3jl0x9qahqa8bka3w24piq8k2bal";
+}
+{
+  lang = "zh_CN";
+  sha256 = "1664vjjs2nfldmzwda5p2qv9gayx1jpnr0glm87whgak1yyhwjsb";
+}
+{
+  lang = "zh_TW";
+  sha256 = "05c3m128c92gj6n0jr6d6wwbs142nwyxxj6bf0rq24pdl1m5fdn8";
+}
+]
diff --git a/pkgs/desktops/kde-4.6/libs/default.nix b/pkgs/desktops/kde-4.6/libs/default.nix
new file mode 100644
index 00000000000..88d7391def2
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/libs/default.nix
@@ -0,0 +1,42 @@
+{ kde, gcc, cmake, perl
+, 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, hspell, udev, grantlee
+}:
+
+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 hspell udev grantlee
+  ];
+
+# TODO:
+#   * make sonnet plugins (dictionaries) really work.
+#      There are a few hardcoded paths.
+#   * Let kdelibs find openexr
+#   * Split plugins from libs?
+#   * herqq: kdelibs tries to include HDeviceProxy which was never released
+
+  propagatedBuildInputs = [ qt4 gcc.libc strigi soprano attica qca2
+    shared_desktop_ontologies ];
+
+  # cmake fails to find acl.h because of C++-style comment
+  # TODO: OpenEXR, hspell
+  cmakeFlags = ''
+    -DHAVE_ACL_LIBACL_H=ON -DHAVE_SYS_ACL_H=ON
+    -DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook
+    -DDOCBOOKXSL_DIR=${docbook_xsl}/xml/xsl/docbook
+    '';
+
+  meta = {
+    description = "KDE libraries";
+    license = "LGPL";
+    kde = {
+      name = "kdelibs";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/multimedia/default.nix b/pkgs/desktops/kde-4.6/multimedia/default.nix
new file mode 100644
index 00000000000..d3bb8a99a66
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/multimedia/default.nix
@@ -0,0 +1,20 @@
+{ kde, cmake, perl, qt4, alsaLib, libvorbis, xineLib, taglib, flac,
+cdparanoia, lame , kdelibs, automoc4, ffmpeg, libmusicbrainz2, libtunepimp }:
+
+kde.package {
+
+  buildInputs = [ cmake perl qt4 alsaLib libvorbis xineLib flac taglib
+    cdparanoia lame kdelibs automoc4 ffmpeg libmusicbrainz2 libtunepimp ];
+
+  meta = {
+    description = "KDE Multimedia";
+    longDescription = ''
+      Contains various Multimedia utilties for KDE such as a movie player and sound volume mixer.
+    '';
+    license = "GPL";
+    kde = {
+      name = "kdemultimedia";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/network/default.nix b/pkgs/desktops/kde-4.6/network/default.nix
new file mode 100644
index 00000000000..48ce55eed6f
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/network/default.nix
@@ -0,0 +1,36 @@
+{ kde, cmake, qt4, perl, speex, gmp, libxml2, libxslt, sqlite, alsaLib, libidn
+, libvncserver, libmsn, giflib, gpgme, boost, libv4l, libotr
+, libXi, libXtst, libXdamage, libXxf86vm, libktorrent, kdebase
+, kdebase_workspace
+, kdelibs, kdepimlibs, automoc4, qca2, soprano, qimageblitz, strigi}:
+
+kde.package {
+
+  buildInputs = [ cmake qt4 perl speex gmp libxml2 libxslt sqlite alsaLib libidn
+    libvncserver libmsn giflib gpgme boost libv4l libotr libXi libXtst
+    libXdamage libXxf86vm kdelibs kdepimlibs automoc4 qca2 soprano
+    qimageblitz strigi libktorrent kdebase kdebase_workspace ];
+
+  patches = [ ./log-feature.diff ];
+#TODO
+# * telepathy-qt4 (0.18 or higher)  <http://telepathy.freedesktop.org>
+# * KWebKitPart  <https://svn.kde.org/home/kde/trunk/extragear/base/kwebkitpart>
+# * libortp (0.13 or higher)  <http://www.linphone.org/index.php/eng/code_review/ortp>
+# * XMMS  <http://www.xmms.org>
+# * mediastreamer (2.3.0 or higher)  <http://www.linphone.org/index.php/eng/code_review/mediastreamer2>
+# * libmeanwhile  <http://meanwhile.sf.net>
+# * libgadu (1.8.0 or higher)  <http://toxygen.net/libgadu/>
+
+# Let cmake find libktorrent. Waiting for upstream fix
+  KDEDIRS="${libktorrent}";
+
+  meta = {
+    description = "KDE network utilities";
+    longDescription = "Various network utilities for KDE such as a messenger client and network configuration interface";
+    license = "GPL";
+    kde = {
+      name = "kdenetwork";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/network/log-feature.diff b/pkgs/desktops/kde-4.6/network/log-feature.diff
new file mode 100644
index 00000000000..6770dd399e3
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/network/log-feature.diff
@@ -0,0 +1,60 @@
+--- a/kget/CMakeLists.txt	2010-08-16 19:08:36.000000000 +0400
++++ b/kget/CMakeLists.txt	2010-08-16 22:04:24.000000000 +0400
+@@ -53,21 +53,20 @@
+ add_subdirectory(desktop)
+ add_subdirectory(plasma)
+ 
+-# find kworkspace library to allow the shutdown after downloads completed option
+-find_library(KDE4_KWORKSPACE_LIBRARY NAMES kworkspace PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+-if(KDE4_KWORKSPACE_LIBRARY)
+-    set(KDE4_KWORKSPACE_LIBS ${kworkspace_LIB_DEPENDS} ${KDE4_KWORKSPACE_LIBRARY})
++macro_optional_find_package(KDE4Workspace)
++macro_log_feature(KDE4WORKSPACE_FOUND "KDE4Workspace" "KDE4 workspace libraries, part of kdebase-workspace" "http://www.kde.org" FALSE "" "Allows 'shutdown after downloads completed' in kget")
++if(KDE4WORKSPACE_FOUND)
+     add_definitions(-DHAVE_KWORKSPACE)
+-    set(KWORKSPACE_FOUND true)
+-endif(KDE4_KWORKSPACE_LIBRARY)
++	include_directories(${KDE4WORKSPACE_INCLUDE_DIR})
++endif(KDE4WORKSPACE_FOUND)
+ 
+ # find libkonq to allow actions and open with options in the context menu of a transfer
+-find_library(KDE4_KONQUEROR_LIBRARY NAMES konq PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
+-if(KDE4_KONQUEROR_LIBRARY)
+-    set(KDE4_KONQUEROR_LIBS ${konq_LIB_DEPENDS} ${KDE4_KONQUEROR_LIBRARY})
++macro_optional_find_package(LibKonq)
++macro_log_feature(LIBKONQ_FOUND "libkonq" "KDE4 Konqueror library" "http://www.kde.org" FALSE "" "Needed to build actions and open with options in the context menu of a transfer")
++if(LIBKONQ_FOUND)
+     add_definitions(-DHAVE_KONQUEROR)
+-    set(KONQUEROR_FOUND true)
+-endif(KDE4_KONQUEROR_LIBRARY)
++	include_directories(${LIBKONQ_INCLUDE_DIR})
++endif(LIBKONQ_FOUND)
+ 
+ 
+ include_directories(
+@@ -142,9 +141,9 @@
+ 
+ target_link_libraries(kgetcore ${KDE4_KIO_LIBS})
+ 
+-if (KWORKSPACE_FOUND)
+-    target_link_libraries(kgetcore ${KDE4_KWORKSPACE_LIBS})
+-endif (KWORKSPACE_FOUND)
++if (KDE4WORKSPACE_FOUND)
++    target_link_libraries(kgetcore ${KDE4WORKSPACE_KWORKSPACE_LIBS})
++endif (KDE4WORKSPACE_FOUND)
+ 
+ if (HAVE_NEPOMUK)
+   target_link_libraries(kgetcore ${SOPRANO_LIBRARIES} ${NEPOMUK_LIBRARIES})
+@@ -294,9 +293,9 @@
+   target_link_libraries(kget ${SOPRANO_LIBRARIES} ${NEPOMUK_LIBRARIES})
+ endif (HAVE_NEPOMUK)
+ 
+-if (KONQUEROR_FOUND)
+-  target_link_libraries(kget ${KDE4_KONQUEROR_LIBS})
+-endif (KONQUEROR_FOUND)
++if (LIBKONQ_FOUND)
++  target_link_libraries(kget ${LIBKONQ_LIBRARY})
++endif (LIBKONQ_FOUND)
+ 
+ if (QGPGME_FOUND)
+   target_link_libraries(kget ${QGPGME_LIBRARIES})
diff --git a/pkgs/desktops/kde-4.6/pim-runtime/default.nix b/pkgs/desktops/kde-4.6/pim-runtime/default.nix
new file mode 100644
index 00000000000..d92f1eecc73
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/pim-runtime/default.nix
@@ -0,0 +1,27 @@
+{ kde, fetchurl, cmake, qt4, perl, libxml2, libxslt, boost, shared_mime_info
+, kdelibs, kdepimlibs
+, automoc4, phonon, akonadi, soprano, strigi}:
+
+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 = {
+      name = "kdepim-runtime";
+      version = "4.4.8";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/pim/default.nix b/pkgs/desktops/kde-4.6/pim/default.nix
new file mode 100644
index 00000000000..cdcc3dc023d
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/pim/default.nix
@@ -0,0 +1,34 @@
+{ kde, fetchurl, cmake, perl, boost, gpgme, libassuan, libgpgerror, libxslt
+, shared_mime_info, libXScrnSaver, kdelibs, kdepimlibs, kdepim_runtime
+, automoc4, akonadi, qca2}:
+
+kde.package rec {
+
+  buildInputs = [ cmake boost gpgme libassuan libgpgerror libxslt
+    shared_mime_info libXScrnSaver kdelibs kdepimlibs automoc4 akonadi ];
+  prePatch = ''
+      find .. -name CMakeLists.txt | xargs sed -i -e "s@DESTINATION \''${KDE4_DBUS_INTERFACES_DIR}@DESTINATION \''${CMAKE_INSTALL_PREFIX}/share/dbus-1/interfaces/@"
+  '';
+  postInstall = ''
+      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 = ''
+      Contains various personal information management tools for KDE, such as an organizer
+    '';
+    license = "GPL";
+    homepage = http://pim.kde.org;
+    kde = {
+      name = "kdepim";
+      version = "4.4.8";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/pimlibs/default.nix b/pkgs/desktops/kde-4.6/pimlibs/default.nix
new file mode 100644
index 00000000000..7de75e9425b
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/pimlibs/default.nix
@@ -0,0 +1,18 @@
+{ kde, cmake, qt4, perl, boost, cyrus_sasl, gpgme, libical, openldap, shared_mime_info
+, kdelibs, automoc4, akonadi, soprano}:
+
+kde.package {
+
+  buildInputs = [ cmake automoc4 perl shared_mime_info ];
+  propagatedBuildInputs = [ qt4 boost cyrus_sasl gpgme libical openldap kdelibs
+    akonadi soprano ];
+
+  meta = {
+    description = "KDE PIM libraries";
+    license = "LGPL";
+    kde = {
+      name = "kdepimlibs";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/plasma-addons/default.nix b/pkgs/desktops/kde-4.6/plasma-addons/default.nix
new file mode 100644
index 00000000000..4b478e8f2e1
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/plasma-addons/default.nix
@@ -0,0 +1,23 @@
+{ kde, cmake, qt4, perl, automoc4, kdelibs, soprano, kdeedu
+, boost, eigen, kdebase_workspace, attica, python, qca2, qimageblitz
+, shared_mime_info, kdepimlibs, kdegraphics, libqalculate, libXtst }:
+# TODO: qwt, scim, MARBLE!!
+
+kde.package {
+
+  preConfigure =
+    "cp -v ${kdeedu}/share/apps/cmake/modules/FindMarble.cmake cmake";
+
+  buildInputs = [ cmake qt4 perl automoc4 kdelibs boost eigen kdebase_workspace
+    attica python qca2 qimageblitz shared_mime_info kdepimlibs kdegraphics
+    libqalculate soprano libXtst kdeedu ];
+
+  meta = {
+    description = "KDE Plasma Addons";
+    license = "GPL";
+    kde = {
+      name = "kdeplasma-addons";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/sdk/cervisia.nix b/pkgs/desktops/kde-4.6/sdk/cervisia.nix
new file mode 100644
index 00000000000..e0ff5c30597
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/sdk/cervisia.nix
@@ -0,0 +1,16 @@
+{ kde, cmake, kdelibs, automoc4 }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 ];
+
+  meta = {
+    description = "A KDE CVS frontend";
+    kde = {
+      name = "cervisia";
+      module = "kdesdk";
+      version = "3.5.0";
+      release = "4.5.90";
+      versionFile = "cervisia/version.h";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/sdk/dolphin-plugins.nix b/pkgs/desktops/kde-4.6/sdk/dolphin-plugins.nix
new file mode 100644
index 00000000000..023d36e47e3
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/sdk/dolphin-plugins.nix
@@ -0,0 +1,16 @@
+{ kde, cmake, kdelibs, automoc4, kdebase }:
+
+kde.package {
+  # Needs kdebase for libkonq
+  buildInputs = [ cmake kdelibs automoc4 kdebase ];
+
+
+  meta = {
+    description = "Git and Svn plugins for dolphin";
+    kde = {
+      name = "dolphin-plugins";
+      module = "kdesdk";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/sdk/find-svn.patch b/pkgs/desktops/kde-4.6/sdk/find-svn.patch
new file mode 100644
index 00000000000..61cb49b308f
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/sdk/find-svn.patch
@@ -0,0 +1,59 @@
+diff --git a/cmake/modules/FindSVN.cmake b/cmake/modules/FindSVN.cmake
+index 59bcb96..2eac05d 100644
+--- a/cmake/modules/FindSVN.cmake
++++ b/cmake/modules/FindSVN.cmake
+@@ -17,6 +17,9 @@ FIND_PROGRAM(SVNCONFIG_EXECUTABLE NAMES svn-config PATHS
+ FIND_PROGRAM(APRCONFIG_EXECUTABLE NAMES apr-1-config apr-config PATHS
+    /usr/local/apr/bin
+ )
++find_program(APUCONFIG_EXECUTABLE NAMES apu-1-config apu-config PATHS
++   /usr/local/apr/bin
++)
+ 
+ if(SVNCONFIG_EXECUTABLE)
+ 
+@@ -56,15 +59,9 @@ else(SVNCONFIG_EXECUTABLE)
+       set(SVN_INCLUDES ${SVN_INCLUDES} ${_INCLUDES})
+    else(APRCONFIG_EXECUTABLE)
+       FIND_PATH(_INCLUDES apr_pools.h
+-         ${SVN_INCLUDES}/apr-0/
+-         ${SVN_INCLUDES}/apr-1/
+-         ${SVN_INCLUDES}/apr-1.0/
+-         /usr/include/apr-0/
+-         /usr/include/apr-1/
+-         /usr/include/apr-1.0/
+-         /usr/local/include/apr-0/
+-         /usr/local/include/apr-1/
+-         /usr/local/include/apr-1.0/
++         HINTS ${SVN_INCLUDES}
++         PATHS /usr /usr/local
++         SUFFIXES apr-0 apr-1 apr-1.0
+       )
+       if(_INCLUDES)
+          set(SVN_INCLUDES ${SVN_INCLUDES} ${_INCLUDES})
+@@ -72,6 +69,25 @@ else(SVNCONFIG_EXECUTABLE)
+          set(SVN_FOUND FALSE) # no apr == can't compile!
+       endif(_INCLUDES)
+    endif(APRCONFIG_EXECUTABLE)
++
++   # Use apu-config if it exists
++   if(APUCONFIG_EXECUTABLE)
++      EXEC_PROGRAM(${APUCONFIG_EXECUTABLE} ARGS --includes RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _INCLUDES)
++      string(REPLACE "-I" "" _INCLUDES ${_INCLUDES})
++      string(REPLACE " " ";" _INCLUDES ${_INCLUDES})
++      set(SVN_INCLUDES ${SVN_INCLUDES} ${_INCLUDES})
++   else(APUCONFIG_EXECUTABLE)
++      FIND_PATH(_INCLUDES apu.h
++         HINTS ${SVN_INCLUDES}
++         PATHS /usr /usr/local
++         SUFFIXES apr-0 apr-1 apr-1.0
++      )
++      if(_INCLUDES)
++         set(SVN_INCLUDES ${SVN_INCLUDES} ${_INCLUDES})
++      else(_INCLUDES)
++         set(SVN_FOUND FALSE) # no apr == can't compile!
++      endif(_INCLUDES)
++   endif(APUCONFIG_EXECUTABLE)
+    FIND_LIBRARY(SVN_LIBRARIES NAMES svn_client-1)
+    if(SVN_LIBRARIES)
+       FIND_LIBRARY(_LIBRARIES NAMES svn_subr-1)
diff --git a/pkgs/desktops/kde-4.6/sdk/kapptemplate.nix b/pkgs/desktops/kde-4.6/sdk/kapptemplate.nix
new file mode 100644
index 00000000000..daf75993bdb
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/sdk/kapptemplate.nix
@@ -0,0 +1,17 @@
+{ kde, cmake, kdelibs, automoc4 }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 ];
+
+
+  meta = {
+    description = "A KDE 4 project template generator";
+    kde = {
+      name = "kapptemplate";
+      module = "kdesdk";
+      version = "0.1";
+      release = "4.5.90";
+      versionFile = "kapptemplate/main.cpp";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/sdk/kate.nix b/pkgs/desktops/kde-4.6/sdk/kate.nix
new file mode 100644
index 00000000000..b588a0ea1bc
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/sdk/kate.nix
@@ -0,0 +1,16 @@
+{ kde, cmake, kdelibs, automoc4, shared_mime_info }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 shared_mime_info ];
+
+
+  meta = {
+    description = "Kate - Advanced Text Editor";
+    kde = {
+      name = "kate";
+      module = "kdesdk";
+      version = "3.5.2"; # (release.major-1).(release.minor).(release.patch)
+      release = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/sdk/kbugbuster.nix b/pkgs/desktops/kde-4.6/sdk/kbugbuster.nix
new file mode 100644
index 00000000000..5001ee944bb
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/sdk/kbugbuster.nix
@@ -0,0 +1,17 @@
+{ kde, cmake, kdelibs, automoc4, kdepimlibs }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 kdepimlibs ];
+
+
+  meta = {
+    description = "KDE bugzilla client";
+    kde = {
+      name = "kbugbuster";
+      module = "kdesdk";
+      version = "3.80.3";
+      release = "4.5.90";
+      versionFile = "version.h";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/sdk/kcachegrind.nix b/pkgs/desktops/kde-4.6/sdk/kcachegrind.nix
new file mode 100644
index 00000000000..103e2dc071c
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/sdk/kcachegrind.nix
@@ -0,0 +1,17 @@
+{ kde, cmake, kdelibs, automoc4 }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 ];
+
+
+  meta = {
+    description = "KDE Frontend for Callgrind/Cachegrind";
+    kde = {
+      name = "kcachegrind";
+      module = "kdesdk";
+      version = "0.6";
+      release = "4.5.90";
+      versionFile = "CMakeLists.txt";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/sdk/kdeaccounts-plugin.nix b/pkgs/desktops/kde-4.6/sdk/kdeaccounts-plugin.nix
new file mode 100644
index 00000000000..4cfa3eb2a0c
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/sdk/kdeaccounts-plugin.nix
@@ -0,0 +1,15 @@
+{ kde, cmake, kdelibs, automoc4, kdepimlibs }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 kdepimlibs ];
+
+
+  meta = {
+    description = "KDE accounts akonadi agent";
+    kde = {
+      name = "kdeaccounts-plugin";
+      module = "kdesdk";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/sdk/kioslave-perldoc.nix b/pkgs/desktops/kde-4.6/sdk/kioslave-perldoc.nix
new file mode 100644
index 00000000000..c5a5f2b5b61
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/sdk/kioslave-perldoc.nix
@@ -0,0 +1,18 @@
+{ kde, cmake, kdelibs, automoc4, perl }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 perl ];
+
+  cmakeFlags = "-DBUILD_kioslave=ON -DBUILD_perldoc=ON";
+
+  meta = {
+    description = "perldoc: kioslave";
+    kde = {
+      name = "kioslave-perldoc";
+      module = "kdesdk";
+      version = "0.9.1";
+      release = "4.5.90";
+      versionFile = "kioslave/perldoc/perldoc.cpp";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/sdk/kioslave-svn.nix b/pkgs/desktops/kde-4.6/sdk/kioslave-svn.nix
new file mode 100644
index 00000000000..1ca05eb5f42
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/sdk/kioslave-svn.nix
@@ -0,0 +1,17 @@
+{ kde, cmake, kdelibs, automoc4, subversion, apr, aprutil }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 subversion apr aprutil ];
+
+  patches = [ ./find-svn.patch ];
+  cmakeFlags = "-DBUILD_kioslave=ON";
+
+  meta = {
+    description = "svn:/ kioslave";
+    kde = {
+      name = "kioslave-svn";
+      module = "kdesdk";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/sdk/kmtrace.nix b/pkgs/desktops/kde-4.6/sdk/kmtrace.nix
new file mode 100644
index 00000000000..2429a07f400
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/sdk/kmtrace.nix
@@ -0,0 +1,16 @@
+{ kde, cmake, kdelibs, automoc4, gcc }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 ];
+
+  preConfigure="export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:${gcc}:${gcc.gcc}";
+
+  meta = {
+    description = "KDE mtrace-based malloc debuger";
+    kde = {
+      name = "kmtrace";
+      module = "kdesdk";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/sdk/kompare.nix b/pkgs/desktops/kde-4.6/sdk/kompare.nix
new file mode 100644
index 00000000000..5366edfa855
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/sdk/kompare.nix
@@ -0,0 +1,17 @@
+{ kde, cmake, kdelibs, automoc4 }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 ];
+
+
+  meta = {
+    description = "A program to view the differences between files and optionally generate a diff";
+    kde = {
+      name = "kompare";
+      module = "kdesdk";
+      version = "4.0.0";
+      release = "4.5.90";
+      versionFile = "main.cpp";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/sdk/kpartloader.nix b/pkgs/desktops/kde-4.6/sdk/kpartloader.nix
new file mode 100644
index 00000000000..8702a7f7328
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/sdk/kpartloader.nix
@@ -0,0 +1,17 @@
+{ kde, cmake, kdelibs, automoc4 }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 ];
+
+
+  meta = {
+    description = "A test application for KParts";
+    kde = {
+      name = "kpartloader";
+      module = "kdesdk";
+      version = "1.0";
+      release = "4.5.90";
+      versionFile = "kpartloader.cpp";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/sdk/kprofilemethod.nix b/pkgs/desktops/kde-4.6/sdk/kprofilemethod.nix
new file mode 100644
index 00000000000..360a71948ac
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/sdk/kprofilemethod.nix
@@ -0,0 +1,16 @@
+{ kde, cmake, kdelibs, automoc4 }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 ];
+
+
+  meta = {
+    description = "A macros for profiling using QTime";
+    longDescription = "Don't commit any code using kprofilemethod.h to KDE repositories.";
+    kde = {
+      name = "kprofilemethod";
+      module = "kdesdk";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/sdk/kstartperf.nix b/pkgs/desktops/kde-4.6/sdk/kstartperf.nix
new file mode 100644
index 00000000000..cd43be1cece
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/sdk/kstartperf.nix
@@ -0,0 +1,17 @@
+{ kde, cmake, kdelibs, automoc4, libtool }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 libtool ];
+
+
+  meta = {
+    description = "Measures start up time of a KDE application";
+    kde = {
+      name = "kstartperf";
+      module = "kdesdk";
+      version = "1.0";
+      release = "4.5.90";
+      versionFile = "kstartperf.cpp";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/sdk/kuiviewer.nix b/pkgs/desktops/kde-4.6/sdk/kuiviewer.nix
new file mode 100644
index 00000000000..e8ea5b5b36c
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/sdk/kuiviewer.nix
@@ -0,0 +1,17 @@
+{ kde, cmake, kdelibs, automoc4 }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 ];
+
+
+  meta = {
+    description = "Displays Qt Designer's UI files";
+    kde = {
+      name = "kuiviewer";
+      module = "kdesdk";
+      version = "0.1";
+      release = "4.5.90";
+      versionFile = "main.cpp";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/sdk/lokalize.nix b/pkgs/desktops/kde-4.6/sdk/lokalize.nix
new file mode 100644
index 00000000000..4911cb22ae4
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/sdk/lokalize.nix
@@ -0,0 +1,20 @@
+{ kde, cmake, kdelibs, automoc4, hunspell }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 hunspell ];
+
+
+  meta = {
+    description = "KDE 4 Computer-aided translation system";
+    longDescription = ''
+      Computer-aided translation system.
+      Do not translate what had already been translated.'';
+    kde = {
+      name = "lokalize";
+      module = "kdesdk";
+      version = "1.1";
+      release = "4.5.90";
+      versionFile = "src/version.h";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/sdk/optional-docs.diff b/pkgs/desktops/kde-4.6/sdk/optional-docs.diff
new file mode 100644
index 00000000000..f67e1f4cdd8
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/sdk/optional-docs.diff
@@ -0,0 +1,39 @@
+diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
+index 63cdef8..0c5b50a 100644
+--- a/doc/CMakeLists.txt
++++ b/doc/CMakeLists.txt
+@@ -3,22 +3,30 @@ if( UNIX )
+     add_subdirectory(cervisia)
+   endif()
+ endif( UNIX )
+-add_subdirectory(kapptemplate)
++if(BUILD_kapptemplate)
++  add_subdirectory(kapptemplate)
++endif()
+ if(BUILD_kbugbuster)
+   add_subdirectory(kbugbuster)
+ endif()
+ if(BUILD_kcachegrind)
+   add_subdirectory(kcachegrind)
+ endif()
+-add_subdirectory(kmtrace)
++if(BUILD_kmtrace)
++  add_subdirectory(kmtrace)
++endif()
+ if(BUILD_kompare)
+   add_subdirectory(kompare)
+ endif()
+ if(BUILD_lokalize)
+   add_subdirectory(lokalize)
+ endif()
+-add_subdirectory(poxml)
+-add_subdirectory(scripts)
++if(BUILD_poxml)
++  add_subdirectory(poxml)
++endif()
++if(BUILD_scripts)
++  add_subdirectory(scripts)
++endif()
+ 
+ if(LIBXSLT_FOUND AND LIBXML2_FOUND)
+   if(BUILD_umbrello)
diff --git a/pkgs/desktops/kde-4.6/sdk/poxml.nix b/pkgs/desktops/kde-4.6/sdk/poxml.nix
new file mode 100644
index 00000000000..652110b38ff
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/sdk/poxml.nix
@@ -0,0 +1,15 @@
+{ kde, cmake, kdelibs, automoc4, antlr }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 antlr ];
+
+
+  meta = {
+    description = "Po<->xml tools";
+    kde = {
+      name = "poxml";
+      module = "kdesdk";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/sdk/scripts.nix b/pkgs/desktops/kde-4.6/sdk/scripts.nix
new file mode 100644
index 00000000000..204c24cfba5
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/sdk/scripts.nix
@@ -0,0 +1,15 @@
+{ kde, cmake, kdelibs, automoc4 }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 ];
+
+
+  meta = {
+    description = "Various scripts to ease KDE development";
+    kde = {
+      name = "scripts";
+      module = "kdesdk";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/sdk/strigi-analyzer.nix b/pkgs/desktops/kde-4.6/sdk/strigi-analyzer.nix
new file mode 100644
index 00000000000..88c935ade4a
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/sdk/strigi-analyzer.nix
@@ -0,0 +1,15 @@
+{ kde, cmake, kdelibs, automoc4 }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 ];
+
+
+  meta = {
+    description = "Strigi analyzers for diff, po and ts";
+    kde = {
+      name = "strigi-analyzer";
+      module = "kdesdk";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/sdk/umbrello.nix b/pkgs/desktops/kde-4.6/sdk/umbrello.nix
new file mode 100644
index 00000000000..d465e97012b
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/sdk/umbrello.nix
@@ -0,0 +1,16 @@
+{ kde, cmake, kdelibs, automoc4, libxml2, libxslt, boost }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 libxml2 libxslt boost ];
+
+
+  meta = {
+    description = "Umbrello UML modeller";
+    kde = {
+      name = "umbrello";
+      module = "kdesdk";
+      version = "2.5.2"; # release - 200
+      release = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/support/akonadi/default.nix b/pkgs/desktops/kde-4.6/support/akonadi/default.nix
new file mode 100644
index 00000000000..ff4f1c15d59
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/support/akonadi/default.nix
@@ -0,0 +1,17 @@
+{stdenv, fetchurl, cmake, qt4, shared_mime_info, libxslt, boost, mysql, automoc4, soprano}:
+
+stdenv.mkDerivation rec {
+  name = "akonadi-1.4.90";
+  src = fetchurl {
+    url = "http://download.akonadi-project.org/${name}.tar.bz2";
+    sha256 = "0am4m81zhq343a42s1ig5jxx47i6g1d97r546qqzdm5w542r6c00";
+  };
+  buildInputs = [ cmake qt4 shared_mime_info libxslt boost mysql automoc4 soprano ];
+  meta = with stdenv.lib; {
+    description = "KDE PIM Storage Service";
+    license = "LGPL";
+    homepage = http://pim.kde.org/akonadi;
+    maintainers = [ maintainers.sander maintainers.urkud ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/support/attica/default.nix b/pkgs/desktops/kde-4.6/support/attica/default.nix
new file mode 100644
index 00000000000..0eff2cbb4eb
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/support/attica/default.nix
@@ -0,0 +1,16 @@
+{stdenv, fetchurl, cmake, qt4}:
+
+stdenv.mkDerivation rec {
+  name = "attica-0.2.0";
+  src = fetchurl {
+    url = "mirror://kde/stable/attica/${name}.tar.bz2";
+    sha256 = "0g2la91fgdr185ah15vc91plvdwvbm6kpsyz0vk0da7ggiyg3y9a";
+  };
+  buildInputs = [ cmake qt4 ];
+  meta = with stdenv.lib; {
+    description = "A library to access Open Collaboration Service providers";
+    license = "LGPL";
+    maintainers = [ maintainers.sander maintainers.urkud ];
+    platforms = qt4.meta.platforms;
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/support/automoc4/default.nix b/pkgs/desktops/kde-4.6/support/automoc4/default.nix
new file mode 100644
index 00000000000..be50867cbe7
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/support/automoc4/default.nix
@@ -0,0 +1,15 @@
+{stdenv, fetchurl, cmake, qt4}:
+
+stdenv.mkDerivation rec {
+  name = "automoc4-0.9.88";
+  src = fetchurl {
+    url = "mirror://kde/stable/automoc4/0.9.88/${name}.tar.bz2";
+    sha256 = "0jackvg0bdjg797qlbbyf9syylm0qjs55mllhn11vqjsq3s1ch93";
+  };
+  buildInputs = [ cmake qt4 ];
+  meta = {
+    description = "KDE Meta Object Compiler";
+    license = "BSD";
+    maintainers = [ stdenv.lib.maintainers.sander ];
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/support/eigen/default.nix b/pkgs/desktops/kde-4.6/support/eigen/default.nix
new file mode 100644
index 00000000000..e72de6c1b25
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/support/eigen/default.nix
@@ -0,0 +1,20 @@
+{stdenv, fetchurl, cmake}:
+
+let
+  v = "2.0.15";
+in
+stdenv.mkDerivation {
+  name = "eigen-${v}";
+  src = fetchurl {
+    url = "http://bitbucket.org/eigen/eigen/get/${v}.tar.bz2";
+    name = "eigen-${v}.tar.bz2";
+    sha256 = "1a00hqyig4rc7nkz97xv23q7k0vdkzvgd0jkayk61fn9aqcrky79";
+  };
+  buildInputs = [ cmake ];
+  meta = {
+    description = "C++ template library for linear algebra: vectors, matrices, and related algorithms";
+    license = "LGPL";
+    homepage = http://eigen.tuxfamily.org ;
+    maintainers = with stdenv.lib.maintainers; [ sander urkud ];
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/support/oxygen-icons/default.nix b/pkgs/desktops/kde-4.6/support/oxygen-icons/default.nix
new file mode 100644
index 00000000000..fdd3786077e
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/support/oxygen-icons/default.nix
@@ -0,0 +1,18 @@
+{kde, cmake}:
+
+kde.package {
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = "0yl5clp4dyxk6pg8lp3w3z44ayjhn7i47ww8n952mam5il6mlfl1";
+
+  buildInputs = [ cmake ];
+  meta = {
+    description = "KDE Oxygen theme icons";
+    longDescription = "Contains icons for the KDE Oxygen theme, which is the default icon theme since KDE 4.3";
+    license = "GPL";
+    kde = {
+      name = "oxygen-icons";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/support/polkit-qt-1/default.nix b/pkgs/desktops/kde-4.6/support/polkit-qt-1/default.nix
new file mode 100644
index 00000000000..2d528c84542
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/support/polkit-qt-1/default.nix
@@ -0,0 +1,19 @@
+{ kde, fetchurl, cmake, qt4, pkgconfig, polkit, automoc4, glib }:
+
+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 = "02m710q34aapbmnz1p6qwgkk5xjmm239zdl3lvjg77dh3j0w5i3r";
+  };
+
+  patches = [ ./policy-files.patch ];
+
+  meta.kde = {
+    name = "polkit-qt-1";
+    version = "0.99.0";
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/support/polkit-qt-1/policy-files.patch b/pkgs/desktops/kde-4.6/support/polkit-qt-1/policy-files.patch
new file mode 100644
index 00000000000..f179c962a58
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/support/polkit-qt-1/policy-files.patch
@@ -0,0 +1,25 @@
+From 2791059a4c930c7eb5e4a3233ef997e69187c4d1 Mon Sep 17 00:00:00 2001
+From: Yury G. Kudryashov <urkud.urkud@gmail.com>
+Date: Fri, 24 Dec 2010 16:00:04 +0300
+Subject: [PATCH] Don't let packages install policy files outside of their installation prefix
+
+---
+ PolkitQt-1Config.cmake.in |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/PolkitQt-1Config.cmake.in b/PolkitQt-1Config.cmake.in
+index 1356de7..4c55719 100644
+--- a/PolkitQt-1Config.cmake.in
++++ b/PolkitQt-1Config.cmake.in
+@@ -15,7 +15,7 @@ endif(NOT POLKITQT-1_INSTALL_DIR)
+ 
+ set(POLKITQT-1_INCLUDE_DIR              "@INCLUDE_INSTALL_DIR@/polkit-qt-1")
+ set(POLKITQT-1_LIB_DIR                  "@LIB_INSTALL_DIR@")
+-set(POLKITQT-1_POLICY_FILES_INSTALL_DIR "${POLKITQT-1_INSTALL_DIR}/share/polkit-1/actions")
++set(POLKITQT-1_POLICY_FILES_INSTALL_DIR "share/polkit-1/actions")
+ 
+ # Compatibility
+ if(WIN32)
+-- 
+1.7.3.2
+
diff --git a/pkgs/desktops/kde-4.6/support/qca2/default.nix b/pkgs/desktops/kde-4.6/support/qca2/default.nix
new file mode 100644
index 00000000000..a55f7c8cb43
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/support/qca2/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, which, qt4}:
+
+stdenv.mkDerivation {
+  name = "qca-2.0.2";
+  src = fetchurl {
+    url = http://delta.affinix.com/download/qca/2.0/qca-2.0.2.tar.bz2;
+    sha256 = "49b5474450104a2298747c243de1451ab7a6aeed4bf7df43ffa4b7128a2837b8";
+  };
+  buildInputs = [ which qt4 ];
+  preBuild = ''
+    sed -i include/QtCrypto/qca_publickey.h -e '/EMSA3_Raw/a,\
+            EMSA3_SHA224,     ///< SHA224, with EMSA3 (ie PKCS#1 Version 1.5) encoding\
+            EMSA3_SHA256,     ///< SHA256, with EMSA3 (ie PKCS#1 Version 1.5) encoding\
+            EMSA3_SHA384,     ///< SHA384, with EMSA3 (ie PKCS#1 Version 1.5) encoding\
+            EMSA3_SHA512      ///< SHA512, with EMSA3 (ie PKCS#1 Version 1.5) encoding'
+  '';
+  meta = with stdenv.lib; {
+    description = "Qt Cryptographic Architecture";
+    license = "LGPL";
+    homepage = http://delta.affinix.com/qca;
+    maintainers = [ maintainers.sander maintainers.urkud ];
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/support/qca2/ossl.nix b/pkgs/desktops/kde-4.6/support/qca2/ossl.nix
new file mode 100644
index 00000000000..bfaa320618c
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/support/qca2/ossl.nix
@@ -0,0 +1,32 @@
+{stdenv, fetchurl, fetchsvn, qt4, qca2, openssl}:
+
+stdenv.mkDerivation rec {
+  version = "2.0.0-beta3";
+  name = "qca-ossl-${version}";
+  src = fetchurl {
+    url = "http://delta.affinix.com/download/qca/2.0/plugins/${name}.tar.bz2";
+    sha256 = "0yy68racvx3clybry2i1bw5bz9yhxr40p3xqagxxb15ihvsrzq08";
+  };
+  # SVN version has stabilized and has a lot of fixes for fresh OpenSSL
+  # Take the main source from there
+  svn_src = fetchsvn {
+    url = svn://anonsvn.kde.org/home/kde/trunk/kdesupport/qca/plugins/qca-ossl ; 
+    rev = 1115936;
+    sha256 =  "ef2c0307e8834e1e7cb23b6fea1cc22486328a37186301a6c11161b1c93d834b";
+  };
+  buildInputs = [ qt4 qca2 openssl ];
+  dontAddPrefix = true;
+  configureFlags="--no-separate-debug-info --with-qca=${qca2}
+    --with-openssl-inc=${openssl}/include --with-openssl-lib=${openssl}/lib";
+  preConfigure=''
+    cp ${svn_src}/qca-ossl.cpp .
+
+    configureFlags="$configureFlags --plugins-path=$out/lib/qt4/plugins"
+  '';
+  meta = with stdenv.lib; {
+    description = "Qt Cryptographic Architecture OpenSSL plugin";
+    license = "LGPL";
+    homepage = http://delta.affinix.com/qca;
+    maintainers = [ maintainers.urkud ];
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/support/qimageblitz/default.nix b/pkgs/desktops/kde-4.6/support/qimageblitz/default.nix
new file mode 100644
index 00000000000..bb3d0220b43
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/support/qimageblitz/default.nix
@@ -0,0 +1,21 @@
+{stdenv, fetchurl, lib, cmake, qt4}:
+
+let
+  pn = "qimageblitz";
+  v = "0.0.4";
+in
+
+stdenv.mkDerivation {
+  name = "${pn}-${v}";
+  src = fetchurl {
+    url = "mirror://sf/${pn}/${pn}-${v}.tar.bz2";
+    sha256 = "0pnaf3qi7rgkxzs2mssmslb3f9ya4cyx09wzwlis3ppyvf72j0p9";
+  };
+  buildInputs = [ cmake qt4 ];
+
+  meta = {
+    description = "Graphical effect and filter library for KDE4";
+    license = "BSD";
+    homepage = "http://${pn}.sourceforge.net";
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/support/soprano/default.nix b/pkgs/desktops/kde-4.6/support/soprano/default.nix
new file mode 100644
index 00000000000..dc23762f2b5
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/support/soprano/default.nix
@@ -0,0 +1,21 @@
+{stdenv, fetchurl, cmake, qt4, cluceneCore, redland, libiodbc}:
+
+stdenv.mkDerivation rec {
+  name = "soprano-2.5.63";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/soprano/${name}.tar.bz2";
+    sha256 = "1i69pbfykgn2bp36hn1qk9sbw1yx4fnaa31bfxfdssfxli7ik6c4";
+  };
+
+  # We disable the Java backend, since we do not need them and they make the closure size much bigger
+  buildInputs = [ cmake qt4 cluceneCore redland libiodbc ];
+
+  meta = {
+    homepage = http://soprano.sourceforge.net/;
+    description = "An object-oriented C++/Qt4 framework for RDF data";
+    license = "LGPL";
+    maintainers = with stdenv.lib.maintainers; [ sander urkud ];
+    inherit (qt4.meta) platforms;
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/support/strigi/default.nix b/pkgs/desktops/kde-4.6/support/strigi/default.nix
new file mode 100644
index 00000000000..7a4cb3b664c
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/support/strigi/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, cmake, qt4, perl, bzip2, libxml2, expat, exiv2
+, cluceneCore
+}:
+
+stdenv.mkDerivation rec {
+  name = "strigi-${version}";
+  version = "0.7.2";
+
+  src = fetchurl {
+    url = "http://www.vandenoever.info/software/strigi/${name}.tar.bz2";
+    sha256 = "1f1ac27cjm5m4iwsgvd7nylr0md0a95przkbpsdq7l90wjxj390w";
+  };
+  includeAllQtDirs=true;
+  
+  CLUCENE_HOME = cluceneCore;
+  
+  # Dependencies such as SQLite and FAM are unreliable in this release
+  buildInputs = [
+    cmake perl qt4 bzip2 stdenv.gcc.libc libxml2 expat exiv2 cluceneCore
+  ];
+
+  meta = {
+    homepage = http://strigi.sourceforge.net;
+    description = "A very fast and efficient crawler to index data on your harddrive";
+    license = "LGPL";
+    maintainers = with stdenv.lib.maintainers; [ sander urkud ];
+    inherit (qt4.meta) platforms;
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/toys/amor.nix b/pkgs/desktops/kde-4.6/toys/amor.nix
new file mode 100644
index 00000000000..2c68ffe6fa8
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/toys/amor.nix
@@ -0,0 +1,16 @@
+{ kde, cmake, kdelibs, automoc4 }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 ];
+
+  meta = {
+    description = "KDE creature for your desktop";
+    kde = {
+      name = "amor";
+      module = "kdetoys";
+      version = "2.4.0";
+      release = "4.5.90";
+      versionFile = "src/version.h";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/toys/kteatime.nix b/pkgs/desktops/kde-4.6/toys/kteatime.nix
new file mode 100644
index 00000000000..14cfcd07f58
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/toys/kteatime.nix
@@ -0,0 +1,16 @@
+{ kde, cmake, kdelibs, automoc4 }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 ];
+
+  meta = {
+    description = "KDE utility for making a fine cup of tea";
+    kde = {
+      name = "kteatime";
+      module = "kdetoys";
+      version = "1.2.1";
+      release = "4.5.90";
+      versionFile = "src/main.cpp";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/toys/ktux.nix b/pkgs/desktops/kde-4.6/toys/ktux.nix
new file mode 100644
index 00000000000..af280761865
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/toys/ktux.nix
@@ -0,0 +1,16 @@
+{ kde, cmake, kdelibs, automoc4, kdebase_workspace }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 kdebase_workspace ];
+
+  meta = {
+    description = "Tux Screen Saver";
+    kde = {
+      name = "ktux";
+      module = "kdetoys";
+      version = "1.0.1";
+      release = "4.5.90";
+      versionFile = "src/sprite.cpp";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/utils/ark.nix b/pkgs/desktops/kde-4.6/utils/ark.nix
new file mode 100644
index 00000000000..eb78b2fe010
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/utils/ark.nix
@@ -0,0 +1,21 @@
+{ kde, cmake, kdelibs, qt4, perl, libarchive, xz, automoc4, qjson,
+  kdebase }:
+
+kde.package {
+  patchPhase = "cp -vn ${qjson}/share/apps/cmake/modules/FindQJSON.cmake cmake/modules";
+
+  buildInputs = [ cmake qt4 perl libarchive xz kdelibs automoc4 qjson
+    kdebase # for libkonq
+    ];
+
+  meta = {
+    description = "KDE Archiving Tool";
+    kde = {
+      name = "ark";
+      module = "kdeutils";
+      version = "2.15";
+      release = "4.5.90";
+      versionFile = "app/main.cpp";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/utils/kcalc.nix b/pkgs/desktops/kde-4.6/utils/kcalc.nix
new file mode 100644
index 00000000000..dd8e6f47cdc
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/utils/kcalc.nix
@@ -0,0 +1,16 @@
+{ kde, cmake, perl, kdelibs, qt4, automoc4, gmp }:
+
+kde.package {
+  buildInputs = [ cmake qt4 perl kdelibs automoc4 gmp ];
+
+  meta = {
+    description = "KDE Calculator";
+    kde = {
+      name = "kcalc";
+      module = "kdeutils";
+      version = "2.7";
+      release = "4.5.90";
+      versionFile = "version.h";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/utils/kcharselect.nix b/pkgs/desktops/kde-4.6/utils/kcharselect.nix
new file mode 100644
index 00000000000..9952a5fa018
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/utils/kcharselect.nix
@@ -0,0 +1,16 @@
+{ kde, cmake, kdelibs, qt4, perl, automoc4 }:
+
+kde.package {
+  buildInputs = [ cmake qt4 perl kdelibs automoc4 ];
+
+  meta = {
+    description = "KDE character selection utility";
+    kde = {
+      name = "kcharselect";
+      module = "kdeutils";
+      version = "1.7";
+      release = "4.5.90";
+      versionFile = "main.cc";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/utils/kdf.nix b/pkgs/desktops/kde-4.6/utils/kdf.nix
new file mode 100644
index 00000000000..9e07ac65a76
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/utils/kdf.nix
@@ -0,0 +1,16 @@
+{ kde, cmake, kdelibs, qt4, perl, automoc4 }:
+
+kde.package {
+  buildInputs = [ cmake qt4 perl kdelibs automoc4 ];
+
+  meta = {
+    description = "KDE free disk space utility";
+    kde = {
+      name = "kdf";
+      module = "kdeutils";
+      version = "0.11";
+      release = "4.5.90";
+      versionFile = "kdf.cpp";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/utils/kfloppy.nix b/pkgs/desktops/kde-4.6/utils/kfloppy.nix
new file mode 100644
index 00000000000..e4d32387a99
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/utils/kfloppy.nix
@@ -0,0 +1,14 @@
+{ kde, cmake, kdelibs, qt4, perl, automoc4 }:
+
+kde.package {
+  buildInputs = [ cmake qt4 perl kdelibs automoc4 ];
+
+  meta = {
+    description = "Helps you format floppies with the filesystem of your choice";
+    kde = {
+      name = "kfloppy";
+      module = "kdeutils";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/utils/kgpg.nix b/pkgs/desktops/kde-4.6/utils/kgpg.nix
new file mode 100644
index 00000000000..317bc384723
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/utils/kgpg.nix
@@ -0,0 +1,16 @@
+{ kde, cmake, kdelibs, qt4, perl, automoc4, kdepimlibs }:
+
+kde.package {
+  buildInputs = [ cmake qt4 perl kdelibs automoc4 kdepimlibs ];
+
+  meta = {
+    description = "Simple KDE GUI for gpg";
+    kde = {
+      name = "kgpg";
+      module = "kdeutils";
+      version = "2.4.1";
+      release = "4.5.90";
+      versionFile = "main.cpp";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/utils/kremotecontrol.nix b/pkgs/desktops/kde-4.6/utils/kremotecontrol.nix
new file mode 100644
index 00000000000..9d6cd6ed61e
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/utils/kremotecontrol.nix
@@ -0,0 +1,14 @@
+{ kde, cmake, kdelibs, qt4, perl, automoc4, kdebase_workspace }:
+
+kde.package {
+  buildInputs = [ cmake qt4 perl kdelibs automoc4 kdebase_workspace ];
+
+  meta = {
+    description = "KDE remote control";
+    kde = {
+      name = "kremotecontrol";
+      module = "kdeutils";
+      version = "4.5.90";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/utils/ktimer.nix b/pkgs/desktops/kde-4.6/utils/ktimer.nix
new file mode 100644
index 00000000000..069985d7025
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/utils/ktimer.nix
@@ -0,0 +1,16 @@
+{ kde, cmake, kdelibs, qt4, perl, automoc4 }:
+
+kde.package {
+  buildInputs = [ cmake qt4 perl kdelibs automoc4 ];
+
+  meta = {
+    description = "KDE Timer";
+    kde = {
+      name = "ktimer";
+      module = "kdeutils";
+      version = "0.6";
+      release = "4.5.90";
+      versionFile = "main.cpp";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/utils/kwallet.nix b/pkgs/desktops/kde-4.6/utils/kwallet.nix
new file mode 100644
index 00000000000..395fe1da448
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/utils/kwallet.nix
@@ -0,0 +1,16 @@
+{ kde, cmake, kdelibs, qt4, perl, automoc4 }:
+
+kde.package {
+  buildInputs = [ cmake qt4 perl kdelibs automoc4 ];
+
+  meta = {
+    description = "KDE Wallet (password storage) management tool";
+    kde = {
+      name = "kwallet";
+      module = "kdeutils";
+      version = "1.6";
+      release = "4.5.90";
+      versionFile = "main.cpp";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/utils/okteta.nix b/pkgs/desktops/kde-4.6/utils/okteta.nix
new file mode 100644
index 00000000000..06343e7c0af
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/utils/okteta.nix
@@ -0,0 +1,16 @@
+{ kde, cmake, kdelibs, qt4, perl, automoc4, shared_mime_info, qca2 }:
+
+kde.package {
+  buildInputs = [ cmake qt4 perl kdelibs automoc4 shared_mime_info qca2 ];
+
+  meta = {
+    description = "KDE byte editor";
+    kde = {
+      name = "okteta";
+      module = "kdeutils";
+      version = "0.5.2";
+      release = "4.5.90";
+      versionFile = "program/about.cpp";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/utils/printer-applet.nix b/pkgs/desktops/kde-4.6/utils/printer-applet.nix
new file mode 100644
index 00000000000..92f6308b623
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/utils/printer-applet.nix
@@ -0,0 +1,22 @@
+{ kde, cmake, kdelibs, qt4, perl, automoc4
+, python, sip, pyqt4, pycups, rhpl, system_config_printer, kdebindings,
+  pythonDBus, makeWrapper }:
+
+kde.package {
+  buildInputs = [ cmake qt4 perl kdelibs automoc4 python sip pyqt4 pycups rhpl
+    system_config_printer kdebindings makeWrapper pythonDBus ];
+
+  postInstall="wrapProgram $out/bin/printer-applet --set PYTHONPATH $PYTHONPATH";
+
+  meta = {
+    description = "KDE printer applet";
+    longDescription = "Applet to view current print jobs and configure new printers";
+    kde = {
+      name = "printer-applet";
+      module = "kdeutils";
+      version = "1.5";
+      release = "4.5.90";
+      versionFile = "printer-applet.py";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/utils/superkaramba.nix b/pkgs/desktops/kde-4.6/utils/superkaramba.nix
new file mode 100644
index 00000000000..75ed3bc0eed
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/utils/superkaramba.nix
@@ -0,0 +1,18 @@
+{ kde, cmake, perl, kdelibs, qt4, automoc4, qimageblitz, python }:
+
+kde.package {
+  buildInputs = [ cmake qt4 perl kdelibs automoc4 qimageblitz python ];
+
+  cmakeFlags = "-DBUILD_icons=TRUE -DBULD_plasma=TRUE";
+
+  meta = {
+    description = "A KDE Eye-candy Application";
+    kde = {
+      name = "superkaramba";
+      module = "kdeutils";
+      version = "0.55";
+      release = "4.5.90";
+      versionFile = "src/main.cpp";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/utils/sweeper.nix b/pkgs/desktops/kde-4.6/utils/sweeper.nix
new file mode 100644
index 00000000000..9e702ff708c
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/utils/sweeper.nix
@@ -0,0 +1,16 @@
+{ kde, cmake, perl, kdelibs, qt4, automoc4 }:
+
+kde.package {
+  buildInputs = [ cmake qt4 perl kdelibs automoc4 ];
+
+  meta = {
+    description = "Helps clean unwanted traces the user leaves on the system";
+    kde = {
+      name = "sweeper";
+      module = "kdeutils";
+      version = "1.5";
+      release = "4.5.90";
+      versionFile = "main.cpp";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/webdev/kfilereplace.nix b/pkgs/desktops/kde-4.6/webdev/kfilereplace.nix
new file mode 100644
index 00000000000..e428f359783
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/webdev/kfilereplace.nix
@@ -0,0 +1,17 @@
+{ kde, cmake, kdelibs, automoc4, libxml2, libxslt }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 libxml2 libxslt ];
+
+  meta = {
+    description = "Batch search and replace tool";
+    homepage = http://www.kdewebdev.org;
+    kde = {
+      name = "kfilereplace";
+      module = "kdewebdev";
+      version = "0.1";
+      release = "4.5.90";
+      versionFile = "main.cpp";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/webdev/kimagemapeditor.nix b/pkgs/desktops/kde-4.6/webdev/kimagemapeditor.nix
new file mode 100644
index 00000000000..a3ae85a8f16
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/webdev/kimagemapeditor.nix
@@ -0,0 +1,17 @@
+{ kde, cmake, kdelibs, automoc4, libxml2, libxslt }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 libxml2 libxslt ];
+
+  meta = {
+    description = "An HTML imagemap editor";
+    homepage = http://www.nongnu.org/kimagemap/;
+    kde = {
+      name = "kimagemapeditor";
+      module = "kdewebdev";
+      version = "3.9.0";
+      release = "4.5.90";
+      versionFile = "version.h";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/webdev/klinkstatus.nix b/pkgs/desktops/kde-4.6/webdev/klinkstatus.nix
new file mode 100644
index 00000000000..7c419a572d3
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/webdev/klinkstatus.nix
@@ -0,0 +1,19 @@
+{ kde, cmake, kdelibs, automoc4, libxml2, libxslt, kdepimlibs, boost, htmlTidy,
+  ruby }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 libxml2 libxslt kdepimlibs boost
+    htmlTidy ruby ];
+
+  meta = {
+    description = "A KDE link checker";
+    homepage = http://klinkstatus.kdewebdev.org;
+    kde = {
+      name = "klinkstatus";
+      module = "kdewebdev";
+      version = "0.7.0";
+      release = "4.5.90";
+      versionFile = "src/main.cpp";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.6/webdev/kommander.nix b/pkgs/desktops/kde-4.6/webdev/kommander.nix
new file mode 100644
index 00000000000..c450e1d7810
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/webdev/kommander.nix
@@ -0,0 +1,16 @@
+{ kde, cmake, kdelibs, automoc4, libxml2, libxslt }:
+
+kde.package {
+  buildInputs = [ cmake kdelibs automoc4 libxml2 libxslt ];
+
+  meta = {
+    description = "A graphical editor of scripted dialogs";
+    kde = {
+      name = "kommander";
+      module = "kdewebdev";
+      version = "1.91";
+      release = "4.5.90";
+      versionFile = "lib/kommanderversion.h";
+    };
+  };
+}