summary refs log tree commit diff
path: root/pkgs/desktops/kde-4-old
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2009-03-16 12:45:27 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2009-03-16 12:45:27 +0000
commit3593b97d631d554cfec9a5eec8966fadb3192de8 (patch)
treec1a1f0bbb9270c83c803f501e14ea451e8f9fc74 /pkgs/desktops/kde-4-old
parentd574d882ccade3b159b16e7ea2b8aeffd9d13bcd (diff)
parent808f12e36961b15c9662bb6e890f9045cdab43ce (diff)
downloadnixlib-3593b97d631d554cfec9a5eec8966fadb3192de8.tar
nixlib-3593b97d631d554cfec9a5eec8966fadb3192de8.tar.gz
nixlib-3593b97d631d554cfec9a5eec8966fadb3192de8.tar.bz2
nixlib-3593b97d631d554cfec9a5eec8966fadb3192de8.tar.lz
nixlib-3593b97d631d554cfec9a5eec8966fadb3192de8.tar.xz
nixlib-3593b97d631d554cfec9a5eec8966fadb3192de8.tar.zst
nixlib-3593b97d631d554cfec9a5eec8966fadb3192de8.zip
* Sync with the trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=14557
Diffstat (limited to 'pkgs/desktops/kde-4-old')
-rwxr-xr-xpkgs/desktops/kde-4-old/base/builder.sh12
-rw-r--r--pkgs/desktops/kde-4-old/base/default.nix14
-rw-r--r--pkgs/desktops/kde-4-old/decibel/default.nix11
-rw-r--r--pkgs/desktops/kde-4-old/default.nix35
-rw-r--r--pkgs/desktops/kde-4-old/edu/default.nix25
-rw-r--r--pkgs/desktops/kde-4-old/edu/myCmakeFiles/CheckBoostAndPythonCompatible.cmake38
-rw-r--r--pkgs/desktops/kde-4-old/edu/myCmakeFiles/FindBoostPython.cmake90
-rw-r--r--pkgs/desktops/kde-4-old/edu/myCmakeFiles/FindLibfacile.cmake45
-rw-r--r--pkgs/desktops/kde-4-old/edu/myCmakeFiles/PythonLibsUtils.cmake46
-rw-r--r--pkgs/desktops/kde-4-old/extragear/default.nix14
-rw-r--r--pkgs/desktops/kde-4-old/games/default.nix12
-rw-r--r--pkgs/desktops/kde-4-old/graphics/default.nix13
-rw-r--r--pkgs/desktops/kde-4-old/libs/FindIlmBase.cmake74
-rw-r--r--pkgs/desktops/kde-4-old/libs/FindOpenEXR.cmake68
-rw-r--r--pkgs/desktops/kde-4-old/libs/default.nix27
-rwxr-xr-xpkgs/desktops/kde-4-old/libs/setup.sh5
-rw-r--r--pkgs/desktops/kde-4-old/multimedia/default.nix13
-rw-r--r--pkgs/desktops/kde-4-old/network/default.nix12
-rwxr-xr-xpkgs/desktops/kde-4-old/pim/builder.sh10
-rw-r--r--pkgs/desktops/kde-4-old/pim/default.nix15
-rw-r--r--pkgs/desktops/kde-4-old/pimlibs/default.nix12
-rwxr-xr-xpkgs/desktops/kde-4-old/runtime/builder.sh12
-rw-r--r--pkgs/desktops/kde-4-old/runtime/default.nix15
-rw-r--r--pkgs/desktops/kde-4-old/support/akode.nix7
-rw-r--r--pkgs/desktops/kde-4-old/support/default.nix22
-rw-r--r--pkgs/desktops/kde-4-old/support/eigen.nix7
-rw-r--r--pkgs/desktops/kde-4-old/support/gmm.nix7
-rw-r--r--pkgs/desktops/kde-4-old/support/qca.nix8
-rw-r--r--pkgs/desktops/kde-4-old/support/qimageblitz.nix7
-rw-r--r--pkgs/desktops/kde-4-old/support/soprano.nix8
-rw-r--r--pkgs/desktops/kde-4-old/support/strigi.nix9
-rw-r--r--pkgs/desktops/kde-4-old/support/taglib.nix7
-rw-r--r--pkgs/desktops/kde-4-old/toys/default.nix12
-rw-r--r--pkgs/desktops/kde-4-old/utils/default.nix13
-rwxr-xr-xpkgs/desktops/kde-4-old/workspace/builder.sh12
-rw-r--r--pkgs/desktops/kde-4-old/workspace/default.nix15
36 files changed, 752 insertions, 0 deletions
diff --git a/pkgs/desktops/kde-4-old/base/builder.sh b/pkgs/desktops/kde-4-old/base/builder.sh
new file mode 100755
index 000000000000..99b357fcf167
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/base/builder.sh
@@ -0,0 +1,12 @@
+source ${stdenv}/setup
+
+myPatchPhase()
+{
+	echo "Fixing dbus calls in CMakeLists.txt files"
+# Trailing slash in sed is essential
+	find .. -name CMakeLists.txt \
+	| xargs sed -e "s@\${DBUS_INTERFACES_INSTALL_DIR}/@${kdelibs}/share/dbus-1/interfaces/@" -i
+	#sed -e '/^#define HAS_RANDR_1_2 1$/d' -i ../workspace/kcontrol/randr/randr.h
+}
+patchPhase=myPatchPhase
+genericBuild
diff --git a/pkgs/desktops/kde-4-old/base/default.nix b/pkgs/desktops/kde-4-old/base/default.nix
new file mode 100644
index 000000000000..ea4ee603c025
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/base/default.nix
@@ -0,0 +1,14 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "kdebase-4.0.0";
+  #builder = ./builder.sh;
+
+  src = fetchurl {
+    url = mirror://kde/stable/4.0.0/src/kdebase-4.0.0.tar.bz2;
+    md5 = "01d8f2f16cbd4e225efc996b0dd39769";
+  };
+
+  propagatedBuildInputs = [kdepimlibs libusb];
+  inherit kdelibs;
+}
diff --git a/pkgs/desktops/kde-4-old/decibel/default.nix b/pkgs/desktops/kde-4-old/decibel/default.nix
new file mode 100644
index 000000000000..ff98b48ee6fc
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/decibel/default.nix
@@ -0,0 +1,11 @@
+args: with args;
+stdenv.mkDerivation {
+	name = "decibel-0.5.0";
+
+	src = fetchurl {
+		url = http://decibel.kde.org/fileadmin/downloads/decibel/releases/decibel-0.5.0.tar.gz;
+		sha256 = "07visasid4mpzm0ba5j9qy0lxxb6451lvbr2gnc1vzfvjagffqz4";
+	};
+
+	buildInputs = [kdelibs kdebase ];
+}
diff --git a/pkgs/desktops/kde-4-old/default.nix b/pkgs/desktops/kde-4-old/default.nix
new file mode 100644
index 000000000000..9732d9e2b2b7
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/default.nix
@@ -0,0 +1,35 @@
+args:
+rec {
+  fullargs = args // { kdelibs = libs; kdepimlibs = pimlibs; kdebase = base; kderuntime = runtime; };
+  libs = import ./libs (args // { kdesupport = support; });
+  pimlibs = import ./pimlibs (args // { kdelibs = libs; });
+  graphics = import ./graphics (fullargs // { kdeworkspace = workspace; } );
+  multimedia = import ./multimedia (fullargs // { kdeworkspace = workspace; } );
+  toys = import ./toys (fullargs // { kdeworkspace = workspace; } );
+  network = import ./network (fullargs // { kdeworkspace = workspace; } );
+  utils = import ./utils (fullargs // { kdeworkspace = workspace; } );
+  games = import ./games (fullargs // { kdeworkspace = workspace; } );
+  edu = import ./edu (fullargs // { kdeworkspace = workspace; } );
+  base = import ./base fullargs;
+  runtime = import ./runtime fullargs;
+  workspace = import ./workspace fullargs;
+  extragear_plasma = import ./extragear (fullargs // { kdeworkspace = workspace; });
+  support = import ./support args;
+  decibel = import ./decibel fullargs;
+  pim = import ./pim (fullargs // {kdeworkspace = workspace; });
+
+  env = with args; runCommand "kde-env"
+  {
+	  KDEDIRS = lib.concatStringsSep ":" ([ libs pimlibs graphics multimedia
+	  toys network utils games edu base runtime workspace extragear_plasma pim] ++
+	  support.all);
+	  scriptName = "echo-kde-dirs";
+  }
+  "
+  ensureDir \${out}/bin
+  scriptPath=\${out}/bin/\${scriptName}
+  echo \"#!/bin/sh\" > \${scriptPath}
+  echo \"echo -n export KDEDIRS=\${KDEDIRS}\" >> \${scriptPath}
+  chmod +x \${scriptPath}
+  ";
+}
diff --git a/pkgs/desktops/kde-4-old/edu/default.nix b/pkgs/desktops/kde-4-old/edu/default.nix
new file mode 100644
index 000000000000..4ee00d765279
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/edu/default.nix
@@ -0,0 +1,25 @@
+args: with args;
+
+stdenv.mkDerivation rec {
+  name = "kdeedu-4.0.0";
+
+  src = fetchurl {
+    url = mirror://kde/stable/4.0.0/src/kdeedu-4.0.0.tar.bz2;
+    md5 = "73924e158e4a2de2107be441c808251f";
+  };
+
+  buildInputs = [kdelibs kdepimlibs kdeworkspace boost readline openbabel ocaml
+  libusb facile python];
+
+  # !!! shouldn't include directories, since that can lead to inconsistent hashing
+  # between different machines/users due to .svn directories.  Either use filterSource
+  # or include the files separately.
+  myCmakeFiles = ./myCmakeFiles;
+
+  patchPhase = "
+  cp ${myCmakeFiles}/* ../cmake/modules
+  sed -e 's@+facile@\${LIBFACILE_INCLUDE_DIR}@' -i \\
+  ../kalzium/src/CMakeOCamlInstructions.cmake
+  ";
+  configureFlags = "--debug-trycompile";
+}
diff --git a/pkgs/desktops/kde-4-old/edu/myCmakeFiles/CheckBoostAndPythonCompatible.cmake b/pkgs/desktops/kde-4-old/edu/myCmakeFiles/CheckBoostAndPythonCompatible.cmake
new file mode 100644
index 000000000000..35701ecf5c68
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/edu/myCmakeFiles/CheckBoostAndPythonCompatible.cmake
@@ -0,0 +1,38 @@
+include(CheckCXXSourceCompiles)
+include(CheckIncludeFileCXX)
+include(CheckLibraryExists)
+
+MACRO(check_boost_and_python_compatible
+	_bo_inc _bo_ld _bo_py_lib
+	_py_inc _py_ld _py_lib)
+
+	set(_save_CXX_FLAGS ${CMAKE_CXX_FLAGS})
+	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}")
+
+	set(CMAKE_REQUIRED_FLAGS "-L${_bo_ld} -L${_py_ld}")
+	set(CMAKE_REQUIRED_INCLUDES ${_py_inc} ${_bo_inc})
+	set(CMAKE_REQUIRED_LIBRARIES ${_bo_py_lib} ${_py_lib})
+
+	check_cxx_source_compiles("
+#include <boost/python.hpp>
+const char* greet() { return \"Hello world!\"; }
+BOOST_PYTHON_MODULE(hello) { boost::python::def(\"greet\", greet); }
+
+int main() { return 0; }
+
+// some vars, in case of the compilation fail...
+// python include dir: ${_py_inc}
+// python lib: ${_py_lib}
+// 
+// boost python lib: ${_bo_py_lib}
+// boost include dir: ${_bo_inc}
+// boost lib dir: ${_bo_ld}
+// 
+"
+BOOST_PYTHON_${_bo_inc}_${_bo_ld}_${_bo_py_lib}_${_py_inc}_${_py_ld}_${_py_lib}_COMPATIBLE )
+
+	set(CMAKE_REQUIRED_FLAGS)
+	set(CMAKE_REQUIRED_INCLUDES)
+	set(CMAKE_REQUIRED_LIBRARIES)
+	set(CMAKE_CXX_FLAGS ${_save_CXX_FLAGS})
+ENDMACRO(check_boost_and_python_compatible)
diff --git a/pkgs/desktops/kde-4-old/edu/myCmakeFiles/FindBoostPython.cmake b/pkgs/desktops/kde-4-old/edu/myCmakeFiles/FindBoostPython.cmake
new file mode 100644
index 000000000000..b68959d8a9c9
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/edu/myCmakeFiles/FindBoostPython.cmake
@@ -0,0 +1,90 @@
+# - Try to find the a valid boost+python combination
+# Once done this will define
+#
+#  Boost_PYTHON_FOUND - system has a valid boost+python combination
+#  BOOST_PYTHON_INCLUDES - the include directory for boost+python
+#  BOOST_PYTHON_LIBS - the needed libs for boost+python
+
+# Copyright (c) 2006, Pino Toscano, <toscano.pino@tiscali.it>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+if(BOOST_PYTHON_INCLUDES AND BOOST_PYTHON_LIBS)
+	# Already in cache, be silent
+	set(Boost_PYTHON_FIND_QUIETLY TRUE)
+endif(BOOST_PYTHON_INCLUDES AND BOOST_PYTHON_LIBS)
+
+SET(Boost_PYTHON_LIB_SUFFIXES "-mt" "-gcc-mt")
+SET(Boost_KNOWN_VERSIONS "-1_34_1" "-1_34_0" "-1_33_1" "-1_33_0")
+
+FIND_PACKAGE(Boost)
+INCLUDE(PythonLibsUtils)
+INCLUDE(CheckBoostAndPythonCompatible)
+
+IF(Boost_FOUND AND Boost_LIBRARY_DIRS)
+
+	SET(Boost_PYTHON_LIB_NAMES boost_python)
+	FOREACH(_suffix ${Boost_PYTHON_LIB_SUFFIXES})
+		set(Boost_PYTHON_LIB_NAMES ${Boost_PYTHON_LIB_NAMES}
+			boost_python${_suffix})
+		FOREACH(_bo_ver ${Boost_KNOWN_VERSIONS})
+			set(Boost_PYTHON_LIB_NAMES ${Boost_PYTHON_LIB_NAMES}
+				boost_python${_suffix}${_bo_ver})
+		ENDFOREACH(_bo_ver)
+	ENDFOREACH(_suffix)
+
+	SET(_found FALSE)
+	FOREACH(_boost_python_lib ${Boost_PYTHON_LIB_NAMES})
+		IF(NOT _found)
+			FIND_LIBRARY(Boost_PYTHON_LIB_FULLPATH
+				NAME ${_boost_python_lib}
+				PATHS ${Boost_LIBRARY_DIRS}
+				NO_DEFAULT_PATH
+				)
+			IF(Boost_PYTHON_LIB_FULLPATH)
+				SET(Boost_PYTHON_LIB ${_boost_python_lib})
+				SET(_found TRUE)
+			ENDIF(Boost_PYTHON_LIB_FULLPATH)
+		ENDIF(NOT _found)
+	ENDFOREACH(_boost_python_lib)
+
+	IF(Boost_PYTHON_LIB)
+		SET(_found FALSE)
+		FOREACH(_py_ver ${PYTHON_KNOWN_VERSIONS})
+			if (NOT _found)
+				python_find_version(${_py_ver} _py_inc _py_ld _py_lib)
+				IF(PYTHON_REQ_VERSION_FOUND)
+					MESSAGE(STATUS " ${Boost_INCLUDE_DIRS} ${Boost_LIBRARY_DIRS} ${Boost_PYTHON_LIB} ${_py_inc} ${_py_ld} ${_py_lib}")
+					check_boost_and_python_compatible(
+						"${Boost_INCLUDE_DIRS}" "${Boost_LIBRARY_DIRS}"
+						"${Boost_PYTHON_LIB}" "${_py_inc}" "${_py_ld}"
+						"${_py_lib}")
+					SET(_found
+						BOOST_PYTHON_${Boost_INCLUDE_DIRS}_${Boost_LIBRARY_DIRS}_${Boost_PYTHON_LIB}_${_py_inc}_${_py_ld}_${_py_lib}_COMPATIBLE)
+
+					IF(BOOST_PYTHON_${Boost_INCLUDE_DIRS}_${Boost_LIBRARY_DIRS}_${Boost_PYTHON_LIB}_${_py_inc}_${_py_ld}_${_py_lib}_COMPATIBLE)
+						SET(BOOST_PYTHON_INCLUDES ${Boost_INCLUDE_DIRS} ${_py_inc})
+						SET(BOOST_PYTHON_LIBS "-l${_py_lib} -L${_py_ld} -l${Boost_PYTHON_LIB}")
+						SET(BOOST_PYTHON_FOUND TRUE)
+						SET(_found TRUE)
+					ENDIF(BOOST_PYTHON_${Boost_INCLUDE_DIRS}_${Boost_LIBRARY_DIRS}_${Boost_PYTHON_LIB}_${_py_inc}_${_py_ld}_${_py_lib}_COMPATIBLE)
+				ENDIF(PYTHON_REQ_VERSION_FOUND)
+			ENDIF(NOT _found)
+		ENDFOREACH(_py_ver)
+	ENDIF(Boost_PYTHON_LIB)
+ENDIF(Boost_FOUND AND Boost_LIBRARY_DIRS)
+
+if(BOOST_PYTHON_FOUND)
+	if(NOT BoostPython_FIND_QUIETLY)
+		message(STATUS "Found Boost+Python: ${BOOST_PYTHON_INCLUDES} ${BOOST_PYTHON_LIBS}")
+	endif(NOT BoostPython_FIND_QUIETLY)
+	set(KIG_ENABLE_PYTHON_SCRIPTING 1)
+else (BOOST_PYTHON_FOUND)
+	if (BoostPython_FIND_REQUIRED)
+		message(FATAL_ERROR "Could NOT find Boost+Python")
+	endif(BoostPython_FIND_REQUIRED)
+	set(KIG_ENABLE_PYTHON_SCRIPTING 0)
+endif(BOOST_PYTHON_FOUND)
+
+mark_as_advanced(BOOST_PYTHON_INCLUDES BOOST_PYTHON_LIBS)
diff --git a/pkgs/desktops/kde-4-old/edu/myCmakeFiles/FindLibfacile.cmake b/pkgs/desktops/kde-4-old/edu/myCmakeFiles/FindLibfacile.cmake
new file mode 100644
index 000000000000..154531dabc11
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/edu/myCmakeFiles/FindLibfacile.cmake
@@ -0,0 +1,45 @@
+# - Try to find Libfacile
+# Once done this will define
+#
+#  LIBFACILE_FOUND - system has Libfacile
+#  LIBFACILE_INCLUDE_DIR - the Libfacile include directory
+#  LIBFACILE_LIBRARIES - Link these to use Libfacile
+#  LIBFACILE_DEFINITIONS - Compiler switches required for using Libfacile
+#
+# Copyright (c) 2006, Carsten Niehaus, <cniehaus@gmx.de>
+# Copyright (c) 2006, Montel Laurent, <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.
+
+
+find_package(OCaml)
+
+set(LIBFACILE_FOUND FALSE)
+
+if( OCAML_FOUND )
+   find_file(LIBFACILE_LIBRARIES NAME facile.a
+       PATHS ${OCAMLC_DIR} ENV CMAKE_LIBRARY_PATH
+	   PATH_SUFFIXES facile ocaml/facile
+   )
+   message(STATUS "LIBFACILE_LIBRARIES :<${LIBFACILE_LIBRARIES}>") 
+   if (LIBFACILE_LIBRARIES)
+	   get_filename_component(LIBFACILE_INCLUDE_DIR ${LIBFACILE_LIBRARIES} PATH)
+	   message(STATUS "LIBFACILE_INCLUDE_DIR <${LIBFACILE_INCLUDE_DIR}>")
+       set(LIBFACILE_FOUND TRUE)
+   endif(LIBFACILE_LIBRARIES)
+endif(OCAML_FOUND)
+
+
+if(LIBFACILE_FOUND)
+   if(NOT Libfacile_FIND_QUIETLY)
+      message(STATUS "Found Libfacile: ${LIBFACILE_LIBRARIES}")
+   endif(NOT Libfacile_FIND_QUIETLY)
+else(LIBFACILE_FOUND)
+   if(Libfacile_FIND_REQUIRED)
+      message(FATAL_ERROR "Could not find Libfacile")
+   endif(Libfacile_FIND_REQUIRED)
+endif(LIBFACILE_FOUND)
+
+# show the LIBFACILE_INCLUDE_DIR and LIBFACILE_LIBRARIES variables only in the advanced view
+mark_as_advanced(LIBFACILE_INCLUDE_DIR LIBFACILE_LIBRARIES )
+ 
diff --git a/pkgs/desktops/kde-4-old/edu/myCmakeFiles/PythonLibsUtils.cmake b/pkgs/desktops/kde-4-old/edu/myCmakeFiles/PythonLibsUtils.cmake
new file mode 100644
index 000000000000..df54324712a1
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/edu/myCmakeFiles/PythonLibsUtils.cmake
@@ -0,0 +1,46 @@
+SET(PYTHON_KNOWN_VERSIONS "2.5" "2.4" "2.3" "2.2" "2.1" "2.0" "1.6" "1.5")
+
+MACRO(python_find_version _py_ver _py_inc _py_ld _py_lib)
+	STRING(REPLACE "." "" _py_ver_nd "${_py_ver}")
+
+	SET(PY_INSTALL_PATH
+		[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_py_ver}\\InstallPath])
+
+	SET(_py_libnames "python${_py_ver}" "python${_py_ver_nd}")
+
+	SET(_py_found FALSE)
+	FOREACH(_py_libname ${_py_libnames})
+		IF (NOT _py_found)
+			SET(_py_lib_full _py_lib_full-NOTFOUND)
+
+			FIND_LIBRARY(_py_lib_full
+				NAMES "${_py_libname}"
+				PATHS "${PY_INSTALL_PATH}/libs"
+				NO_SYSTEM_ENVIRONMENT_PATH
+			)
+			FIND_LIBRARY(_py_lib_full
+				NAMES "${_py_libname}"
+				PATHS "${PY_INSTALL_PATH}/libs"
+				PATH_SUFFIXES "python${_py_ver}/config"
+				NO_SYSTEM_ENVIRONMENT_PATH
+			)
+			IF(_py_lib_full)
+				SET(_py_lib "${_py_libname}")
+				GET_FILENAME_COMPONENT(_py_ld "${_py_lib_full}" PATH)
+				SET(_py_found TRUE)
+			ENDIF(_py_lib_full)
+		ENDIF(NOT _py_found)
+	ENDFOREACH(_py_libname)
+
+	IF(_py_found)
+		FIND_PATH(_py_inc
+			NAMES Python.h
+			PATHS
+				${PY_INSTALL_PATH}/include
+			PATH_SUFFIXES
+				"python${_py_ver}"
+		)
+	ENDIF(_py_found)
+
+	SET(PYTHON_REQ_VERSION_FOUND ${_py_found})
+ENDMACRO(python_find_version)
diff --git a/pkgs/desktops/kde-4-old/extragear/default.nix b/pkgs/desktops/kde-4-old/extragear/default.nix
new file mode 100644
index 000000000000..c67d4b8682cb
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/extragear/default.nix
@@ -0,0 +1,14 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "extragear-plasma-4.0beta4";
+  
+  src = fetchurl {
+    url = mirror://kde/unstable/3.95/src/extragear-plasma-3.95.0.tar.bz2;
+    sha256 = "1nzfy34ig66gfpgv6kbcmcap13axcy7kvj43srbd0ic6a0giv283";
+  };
+
+  buildInputs = [ kdeworkspace kdebase ];
+  patchPhase = "
+  sed -e 's@<Plasma@<KDE/Plasma@' -i ../applets/*/*.h";
+}
diff --git a/pkgs/desktops/kde-4-old/games/default.nix b/pkgs/desktops/kde-4-old/games/default.nix
new file mode 100644
index 000000000000..4c3c1c115f0f
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/games/default.nix
@@ -0,0 +1,12 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "kdegames-4.0.0";
+
+  src = fetchurl {
+    url = mirror://kde/stable/4.0.0/src/kdegames-4.0.0.tar.bz2;
+    md5 = "6264c0034f6389a2807a4e1723ba1c81";
+  };
+
+  buildInputs = [kdelibs kdepimlibs kdeworkspace];
+}
diff --git a/pkgs/desktops/kde-4-old/graphics/default.nix b/pkgs/desktops/kde-4-old/graphics/default.nix
new file mode 100644
index 000000000000..e67551fddb7f
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/graphics/default.nix
@@ -0,0 +1,13 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "kdegraphics-4.0.0";
+
+  src = fetchurl {
+    url = mirror://kde/stable/4.0.0/src/kdegraphics-4.0.0.tar.bz2;
+    md5 = "6cad7b165d99c43d1a19a0350598821c";
+  };
+
+  buildInputs = [kdelibs kdepimlibs kdeworkspace libgphoto2 saneBackends
+  djvulibre exiv2 poppler chmlib];
+}
diff --git a/pkgs/desktops/kde-4-old/libs/FindIlmBase.cmake b/pkgs/desktops/kde-4-old/libs/FindIlmBase.cmake
new file mode 100644
index 000000000000..1511e9509cee
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/libs/FindIlmBase.cmake
@@ -0,0 +1,74 @@
+# Try to find the IlmBase libraries
+# This check defines:
+#
+#  ILMBASE_FOUND - system has IlmBase
+#  ILMBASE_INCLUDE_DIR - IlmBase include directory
+#  ILMBASE_LIBRARIES - Libraries needed to use IlmBase
+#
+# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
+# Copyright (c) 2007, Yury G. Kudryashov, <urkud.urkud@gmail.com>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+if (ILMBASE_INCLUDE_DIR AND ILMBASE_LIBRARIES)
+  # in cache already
+  SET(ILMBASE_FOUND TRUE)
+
+else (ILMBASE_INCLUDE_DIR AND ILMBASE_LIBRARIES)
+IF (NOT WIN32)
+  # use pkg-config to get the directories and then use these values
+  # in the FIND_PATH() and FIND_LIBRARY() calls
+  INCLUDE(UsePkgConfig)
+  
+  PKGCONFIG(IlmBase _IlmBaseIncDir _IlmBaseLinkDir _IlmBaseLinkFlags _IlmBaseCflags)
+ENDIF (NOT WIN32)  
+  FIND_PATH(ILMBASE_INCLUDE_DIR ImathBox.h
+     ${_IlmBaseIncDir}
+     ${_IlmBaseIncDir}/OpenEXR/
+  )
+
+  FIND_LIBRARY(ILMBASE_HALF_LIBRARY NAMES Half
+    PATHS
+    ${_IlmBaseLinkDir}
+    NO_DEFAULT_PATH
+  )
+  FIND_LIBRARY(ILMBASE_HALF_LIBRARY NAMES Half )
+  
+  FIND_LIBRARY(ILMBASE_IEX_LIBRARY NAMES Iex
+    PATHS
+    ${_IlmBaseLinkDir}
+    NO_DEFAULT_PATH
+  )
+  FIND_LIBRARY(ILMBASE_IEX_LIBRARY NAMES Iex )
+  
+  FIND_LIBRARY(ILMBASE_IMATH_LIBRARY NAMES Imath
+    PATHS
+    ${_IlmBaseLinkDir}
+    NO_DEFAULT_PATH
+  )
+  FIND_LIBRARY(ILMBASE_IMATH_LIBRARY NAMES Imath )  
+  
+  if (ILMBASE_INCLUDE_DIR AND ILMBASE_IMATH_LIBRARY AND ILMBASE_IEX_LIBRARY AND ILMBASE_HALF_LIBRARY)
+     set(ILMBASE_FOUND TRUE)
+     set(ILMBASE_LIBRARIES ${ILMBASE_IMATH_LIBRARY} ${ILMBASE_IEX_LIBRARY} ${ILMBASE_HALF_LIBRARY} CACHE STRING "The libraries needed to use IlmBase")
+  endif (ILMBASE_INCLUDE_DIR AND ILMBASE_IMATH_LIBRARY AND ILMBASE_IEX_LIBRARY AND ILMBASE_HALF_LIBRARY)
+  
+  if (ILMBASE_FOUND)
+    if (NOT IlmBase_FIND_QUIETLY)
+      message(STATUS "Found ILMBASE: ${ILMBASE_LIBRARIES}")
+    endif (NOT IlmBase_FIND_QUIETLY)
+  else (ILMBASE_FOUND)
+    if (IlmBase_FIND_REQUIRED)
+      message(FATAL_ERROR "Could NOT find ILMBASE")
+    endif (IlmBase_FIND_REQUIRED)
+  endif (ILMBASE_FOUND)
+  
+  MARK_AS_ADVANCED(
+     ILMBASE_INCLUDE_DIR 
+     ILMBASE_LIBRARIES 
+     ILMBASE_IMATH_LIBRARY 
+     ILMBASE_IEX_LIBRARY 
+     ILMBASE_HALF_LIBRARY )
+  
+endif (ILMBASE_INCLUDE_DIR AND ILMBASE_LIBRARIES)
diff --git a/pkgs/desktops/kde-4-old/libs/FindOpenEXR.cmake b/pkgs/desktops/kde-4-old/libs/FindOpenEXR.cmake
new file mode 100644
index 000000000000..b1f590544fa8
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/libs/FindOpenEXR.cmake
@@ -0,0 +1,68 @@
+# Try to find the OpenEXR libraries
+# This check defines:
+#
+#  OPENEXR_FOUND - system has OpenEXR
+#  OPENEXR_INCLUDE_DIR - OpenEXR include directory
+#  OPENEXR_LIBRARIES - Libraries needed to use OpenEXR
+#
+# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
+# Copyright (c) 2007, Yury G. Kudryashov, <urkud.urkud@gmail.com>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+
+if (OPENEXR_INCLUDE_DIR AND OPENEXR_LIBRARIES)
+  # in cache already
+  SET(OPENEXR_FOUND TRUE)
+
+else (OPENEXR_INCLUDE_DIR AND OPENEXR_LIBRARIES)
+FIND_PACKAGE(IlmBase)
+IF (NOT ILMBASE_FOUND)
+	SET(OPENEXR_FOUND FALSE)
+ELSE (NOT ILMBASE_FOUND)
+IF (NOT WIN32)
+  # use pkg-config to get the directories and then use these values
+  # in the FIND_PATH() and FIND_LIBRARY() calls
+  INCLUDE(UsePkgConfig)
+  
+  PKGCONFIG(OpenEXR _OpenEXRIncDir _OpenEXRLinkDir _OpenEXRLinkFlags _OpenEXRCflags)
+ENDIF (NOT WIN32)  
+  FIND_PATH(OPENEXR_INCLUDE_DIR ImfRgbaFile.h
+     ${_OpenEXRIncDir}
+     ${_OpenEXRIncDir}/OpenEXR/
+  )
+
+  FIND_LIBRARY(OPENEXR_ILMIMF_LIBRARY NAMES IlmImf 
+    PATHS
+    ${_OpenEXRLinkDir}
+    NO_DEFAULT_PATH
+  )
+  FIND_LIBRARY(OPENEXR_ILMIMF_LIBRARY NAMES IlmImf )  
+  
+  if (OPENEXR_INCLUDE_DIR AND OPENEXR_ILMIMF_LIBRARY)
+     set(OPENEXR_FOUND TRUE)
+     set(OPENEXR_LIBRARIES ${ILMBASE_LIBRARIES} ${OPENEXR_ILMIMF_LIBRARY} CACHE STRING "The libraries needed to use OpenEXR")
+	 set(OPENEXR_INCLUDE_DIR ${OPENEXR_INCLUDE_DIR} ${ILMBASE_INCLUDE_DIR})
+  endif (OPENEXR_INCLUDE_DIR AND OPENEXR_ILMIMF_LIBRARY)
+ENDIF (NOT ILMBASE_FOUND)
+  
+  if (OPENEXR_FOUND)
+    if (NOT OpenEXR_FIND_QUIETLY)
+      message(STATUS "Found OPENEXR: ${OPENEXR_LIBRARIES}")
+    endif (NOT OpenEXR_FIND_QUIETLY)
+  else (OPENEXR_FOUND)
+    if (OpenEXR_FIND_REQUIRED)
+      message(FATAL_ERROR "Could NOT find OPENEXR")
+    endif (OpenEXR_FIND_REQUIRED)
+  endif (OPENEXR_FOUND)
+  
+  MARK_AS_ADVANCED(
+     OPENEXR_INCLUDE_DIR 
+     OPENEXR_LIBRARIES 
+     OPENEXR_ILMIMF_LIBRARY 
+     OPENEXR_IMATH_LIBRARY 
+     OPENEXR_IEX_LIBRARY 
+     OPENEXR_HALF_LIBRARY )
+  
+endif (OPENEXR_INCLUDE_DIR AND OPENEXR_LIBRARIES)
diff --git a/pkgs/desktops/kde-4-old/libs/default.nix b/pkgs/desktops/kde-4-old/libs/default.nix
new file mode 100644
index 000000000000..d0995429afe6
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/libs/default.nix
@@ -0,0 +1,27 @@
+args: with args;
+
+stdenv.mkDerivation rec {
+  name = "kdelibs-4.0.0";
+
+  src = fetchurl {
+    url = mirror://kde/stable/4.0.0/src/kdelibs-4.0.0.tar.bz2;
+    md5 = "79d0f83ca81fc4a135663943340c0b8f";
+  };
+
+  propagatedBuildInputs = [
+	cmake inputproto kbproto scrnsaverproto xextproto xf86miscproto xf86vidmodeproto
+	xineramaproto xproto libICE libX11 libXau libXcomposite libXcursor
+	libXdamage libXdmcp libXext libXfixes libXft libXi libXpm libXrandr
+	libXrender libXScrnSaver libXt libXtst libXv libXxf86misc libxkbfile zlib
+	perl qt openssl pcre pkgconfig libjpeg libpng libtiff libxml2 libxslt expat
+    libtool freetype bzip2 shared_mime_info alsaLib libungif cups
+	gettext enchant openexr aspell stdenv.gcc.libc
+  ] ++ kdesupport.all;
+  patchPhase = "cp ${findIlmBase} ../cmake/modules/FindIlmBase.cmake;
+  cp $findOpenEXR ../cmake/modules/FindOpenEXR.cmake;
+  sed -e 's@Soprano/DummyModel@Soprano/Util/DummyModel@' -i ../nepomuk/core/resourcemanager.cpp;";
+
+  findIlmBase = ./FindIlmBase.cmake;
+  findOpenEXR = ./FindOpenEXR.cmake;
+  setupHook=./setup.sh;
+}
diff --git a/pkgs/desktops/kde-4-old/libs/setup.sh b/pkgs/desktops/kde-4-old/libs/setup.sh
new file mode 100755
index 000000000000..6f899442d27a
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/libs/setup.sh
@@ -0,0 +1,5 @@
+addKDEDIRS()
+{
+	addToSearchPath KDEDIRS /share/kde4 /. $1
+}
+envHooks=(${envHooks[@]} addKDEDIRS)
diff --git a/pkgs/desktops/kde-4-old/multimedia/default.nix b/pkgs/desktops/kde-4-old/multimedia/default.nix
new file mode 100644
index 000000000000..c23439b5fc01
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/multimedia/default.nix
@@ -0,0 +1,13 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "kdemultimedia-4.0.0";
+
+  src = fetchurl {
+    url = mirror://kde/stable/4.0.0/src/kdemultimedia-4.0.0.tar.bz2;
+    md5 = "0bf1cd18a23017a37324d9f8c4902e19";
+  };
+
+  buildInputs = [kdelibs kdepimlibs kdeworkspace libogg flac cdparanoia lame
+  libvorbis];
+}
diff --git a/pkgs/desktops/kde-4-old/network/default.nix b/pkgs/desktops/kde-4-old/network/default.nix
new file mode 100644
index 000000000000..f006c4c5921e
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/network/default.nix
@@ -0,0 +1,12 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "kdenetwork-4.0.0";
+
+  src = fetchurl {
+    url = mirror://kde/stable/4.0.0/src/kdenetwork-4.0.0.tar.bz2;
+    md5 = "f362bd34b589800845abfb99589d4cfc";
+  };
+
+  buildInputs = [kdelibs kdepimlibs kdeworkspace sqlite libidn];
+}
diff --git a/pkgs/desktops/kde-4-old/pim/builder.sh b/pkgs/desktops/kde-4-old/pim/builder.sh
new file mode 100755
index 000000000000..8963fae048ca
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/pim/builder.sh
@@ -0,0 +1,10 @@
+source ${stdenv}/setup
+
+myPatchPhase()
+{
+# They reset CMAKE_MODULE_PATH, not adding to the existing
+	sed -e '3s/)/ ${CMAKE_MODULE_PATH})/' -i ../CMakeLists.txt
+}
+patchPhase=myPatchPhase
+
+genericBuild
diff --git a/pkgs/desktops/kde-4-old/pim/default.nix b/pkgs/desktops/kde-4-old/pim/default.nix
new file mode 100644
index 000000000000..f0f4184d391f
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/pim/default.nix
@@ -0,0 +1,15 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "kdepim-4.0beta4";
+  
+  src = fetchurl {
+    url = mirror://kde/unstable/3.95/src/kdepim-3.95.0.tar.bz2;
+    sha256 = "0gzvm4h6ij7i119apmh9w82raygahr18bl0i9m3ynf2mcca0aq94";
+  };
+
+  buildInputs = [libXinerama mesa stdenv.gcc.libc alsaLib kdelibs kdepimlibs
+  kdeworkspace libusb glib];
+  qt4BadIncludes = true;
+  inherit qt kdelibs;
+}
diff --git a/pkgs/desktops/kde-4-old/pimlibs/default.nix b/pkgs/desktops/kde-4-old/pimlibs/default.nix
new file mode 100644
index 000000000000..6a61374a774c
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/pimlibs/default.nix
@@ -0,0 +1,12 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "kdepimlibs-4.0.0";
+
+  src = fetchurl {
+    url = mirror://kde/stable/4.0.0/src/kdepimlibs-4.0.0.tar.bz2;
+    md5 = "1a68662230fcd4ec8cea90bb780f920e";
+  };
+
+  propagatedBuildInputs = [kdelibs boost gpgme cyrus_sasl openldap];
+}
diff --git a/pkgs/desktops/kde-4-old/runtime/builder.sh b/pkgs/desktops/kde-4-old/runtime/builder.sh
new file mode 100755
index 000000000000..99b357fcf167
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/runtime/builder.sh
@@ -0,0 +1,12 @@
+source ${stdenv}/setup
+
+myPatchPhase()
+{
+	echo "Fixing dbus calls in CMakeLists.txt files"
+# Trailing slash in sed is essential
+	find .. -name CMakeLists.txt \
+	| xargs sed -e "s@\${DBUS_INTERFACES_INSTALL_DIR}/@${kdelibs}/share/dbus-1/interfaces/@" -i
+	#sed -e '/^#define HAS_RANDR_1_2 1$/d' -i ../workspace/kcontrol/randr/randr.h
+}
+patchPhase=myPatchPhase
+genericBuild
diff --git a/pkgs/desktops/kde-4-old/runtime/default.nix b/pkgs/desktops/kde-4-old/runtime/default.nix
new file mode 100644
index 000000000000..8e31bce32fdb
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/runtime/default.nix
@@ -0,0 +1,15 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "kdebase-runtime-4.0.0";
+  builder = ./builder.sh;
+
+  src = fetchurl {
+    url = mirror://kde/stable/4.0.0/src/kdebase-runtime-4.0.0.tar.bz2;
+    md5 = "da93f59497ff90ad01bd4ab9b458f6cb";
+  };
+
+  propagatedBuildInputs = [kdepimlibs libusb kdebase xineLib];
+  inherit kdelibs;
+}
+
diff --git a/pkgs/desktops/kde-4-old/support/akode.nix b/pkgs/desktops/kde-4-old/support/akode.nix
new file mode 100644
index 000000000000..8fdf6736572e
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/support/akode.nix
@@ -0,0 +1,7 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "akode-2.0.0dev";
+  src = svnSrc "akode" "0xkzv386wvh16njjv8z84mg3czp7j7n60lwhwns5fwqhx1s30h5y";
+  buildInputs = [ cmake qt openssl gettext cyrus_sasl alsaLib ];
+}
diff --git a/pkgs/desktops/kde-4-old/support/default.nix b/pkgs/desktops/kde-4-old/support/default.nix
new file mode 100644
index 000000000000..426a5811bd79
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/support/default.nix
@@ -0,0 +1,22 @@
+oldArgs:
+let
+	args = oldArgs // {
+	svnSrc = name: hash:
+	oldArgs.fetchsvn {
+		url = "svn://anonsvn.kde.org/home/kde/trunk/kdesupport/${name}";
+		rev = 747269;
+		sha256 = hash;
+	};
+	};
+in
+rec {
+	akode = (import ./akode.nix) args;
+	eigen = (import ./eigen.nix) args;
+	gmm = (import ./gmm.nix) args;
+	qca = (import ./qca.nix) args;
+	qimageblitz = (import ./qimageblitz.nix) args;
+	soprano = (import ./soprano.nix) args;
+	strigi = (import ./strigi.nix) args;
+	taglib = (import ./taglib.nix) args;
+	all = [qca gmm eigen taglib soprano strigi qimageblitz];
+}
diff --git a/pkgs/desktops/kde-4-old/support/eigen.nix b/pkgs/desktops/kde-4-old/support/eigen.nix
new file mode 100644
index 000000000000..163683a29215
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/support/eigen.nix
@@ -0,0 +1,7 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "eigen-1.0.5";
+  src = svnSrc "eigen" "0dr2gzrf17bdgxj4f9ibk7x5j7fqwwjsl800dzfvrhgj6v1mxm4x";
+  buildInputs = [ cmake ];
+}
diff --git a/pkgs/desktops/kde-4-old/support/gmm.nix b/pkgs/desktops/kde-4-old/support/gmm.nix
new file mode 100644
index 000000000000..843f9f6aaed5
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/support/gmm.nix
@@ -0,0 +1,7 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "gmm-svn";
+  src = svnSrc "gmm" "0qvx9jf17z0mpwy8k6w6bla94gkkslkiv5w98aajfcq34n0zxcpc";
+  buildInputs = [ cmake ];
+}
diff --git a/pkgs/desktops/kde-4-old/support/qca.nix b/pkgs/desktops/kde-4-old/support/qca.nix
new file mode 100644
index 000000000000..fda435c7bffe
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/support/qca.nix
@@ -0,0 +1,8 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "qca-2.0.0dev";
+  src = svnSrc "qca" "0dycmk8fn57mz2pfxck6d0g833fqg9zrw17789vxb4ks0xz0p3zp";
+  buildInputs = [ cmake qt openssl gettext cyrus_sasl libgcrypt gnupg ];
+  patchPhase = "sed -e '/set(qca_PLUGINSDIR/s@\${QT_PLUGINS_DIR}@\${CMAKE_INSTALL_PREFIX}/plugins@' -i ../CMakeLists.txt";
+}
diff --git a/pkgs/desktops/kde-4-old/support/qimageblitz.nix b/pkgs/desktops/kde-4-old/support/qimageblitz.nix
new file mode 100644
index 000000000000..3364b4eac5da
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/support/qimageblitz.nix
@@ -0,0 +1,7 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "qimageblitz-4.0.0svn";
+  src = svnSrc "qimageblitz" "0gi78bald70bc540jqcpa70x23hycywibn4raf5602hv4d5n8mnx";
+  buildInputs = [cmake qt];
+}
diff --git a/pkgs/desktops/kde-4-old/support/soprano.nix b/pkgs/desktops/kde-4-old/support/soprano.nix
new file mode 100644
index 000000000000..0cb490b9db7e
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/support/soprano.nix
@@ -0,0 +1,8 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "soprano-1.9.0svn";
+  src = svnSrc "soprano" "02xfp7g41ahxwczkxipyi13rav6akhwgspxdhgk5gm94rg10hq2l";
+  CLUCENE_HOME=cluceneCore;
+  buildInputs = [ cmake qt cluceneCore redland ];
+}
diff --git a/pkgs/desktops/kde-4-old/support/strigi.nix b/pkgs/desktops/kde-4-old/support/strigi.nix
new file mode 100644
index 000000000000..d1ec98ea25f9
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/support/strigi.nix
@@ -0,0 +1,9 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "strigi-svn";
+  src = svnSrc "strigi" "0dp145n93bqp91lvk2n10mghppyhdm3anh1l3a18d20hrvsm42z5";
+  CLUCENE_HOME=cluceneCore;
+  buildInputs = [ cmake zlib cluceneCore bzip2 libxml2 qt dbus
+  log4cxx stdenv.gcc.libc exiv2 bison cppunit perl ];
+}
diff --git a/pkgs/desktops/kde-4-old/support/taglib.nix b/pkgs/desktops/kde-4-old/support/taglib.nix
new file mode 100644
index 000000000000..9a2acc96636b
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/support/taglib.nix
@@ -0,0 +1,7 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "taglib-1.4svn";
+  src = svnSrc "taglib" "1myfgykflbs3l1mrzg4iv8rb1mbd0vpmzl5dnnslfi9b0xg6ydip";
+  buildInputs = [ cmake zlib ];
+}
diff --git a/pkgs/desktops/kde-4-old/toys/default.nix b/pkgs/desktops/kde-4-old/toys/default.nix
new file mode 100644
index 000000000000..b88afded4113
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/toys/default.nix
@@ -0,0 +1,12 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "kdetoys-4.0.0";
+
+  src = fetchurl {
+    url = mirror://kde/stable/4.0.0/src/kdetoys-4.0.0.tar.bz2;
+    md5 = "6e4e2eea3d87718f48716f975b48ada2";
+  };
+
+  buildInputs = [kdelibs kdepimlibs kdeworkspace];
+}
diff --git a/pkgs/desktops/kde-4-old/utils/default.nix b/pkgs/desktops/kde-4-old/utils/default.nix
new file mode 100644
index 000000000000..4372bac8758c
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/utils/default.nix
@@ -0,0 +1,13 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "kdeutils-4.0.0";
+
+  src = fetchurl {
+    url = mirror://kde/stable/4.0.0/src/kdeutils-4.0.0.tar.bz2;
+    md5 = "5815625f215ff3be47a21074d2c047a0";
+  };
+
+  buildInputs = [kdelibs kdepimlibs kdeworkspace gmp libzip python ];
+# TODO : tpctl
+}
diff --git a/pkgs/desktops/kde-4-old/workspace/builder.sh b/pkgs/desktops/kde-4-old/workspace/builder.sh
new file mode 100755
index 000000000000..648d6175f35a
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/workspace/builder.sh
@@ -0,0 +1,12 @@
+source ${stdenv}/setup
+
+myPatchPhase()
+{
+	echo "Fixing dbus calls in CMakeLists.txt files"
+# Trailing slash in sed is essential
+	find .. -name CMakeLists.txt \
+	| xargs sed -e "s@\${DBUS_INTERFACES_INSTALL_DIR}/@${kdelibs}/share/dbus-1/interfaces/@" -i
+	sed -e '/^#define HAS_RANDR_1_2 1$/d' -i ../kcontrol/randr/randr.h
+}
+patchPhase=myPatchPhase
+genericBuild
diff --git a/pkgs/desktops/kde-4-old/workspace/default.nix b/pkgs/desktops/kde-4-old/workspace/default.nix
new file mode 100644
index 000000000000..041cd8977653
--- /dev/null
+++ b/pkgs/desktops/kde-4-old/workspace/default.nix
@@ -0,0 +1,15 @@
+args: with args;
+
+stdenv.mkDerivation {
+  name = "kdebase-workspace-4.0.0";
+  builder = ./builder.sh;
+
+  src = fetchurl {
+    url = mirror://kde/stable/4.0.0/src/kdebase-workspace-4.0.0.tar.bz2;
+    md5 = "f3d2155ff5ff7472a8884bd3f31bff16";
+  };
+
+  buildInputs = [kdelibs kdepimlibs kdebase kderuntime stdenv.gcc.libc];
+  inherit kdelibs;
+}
+