summary refs log tree commit diff
diff options
context:
space:
mode:
-rwxr-xr-xmaintainers/scripts/hydra_eval_check13
-rw-r--r--pkgs/applications/audio/mp3info/default.nix42
-rw-r--r--pkgs/applications/editors/emacs-modes/emms/default.nix14
-rw-r--r--pkgs/applications/editors/zile/default.nix4
-rw-r--r--pkgs/applications/graphics/digikam/default.nix8
-rw-r--r--pkgs/applications/graphics/digikam/include.diff12
-rw-r--r--pkgs/applications/graphics/kipi-plugins/default.nix4
-rw-r--r--pkgs/applications/misc/googleearth/default.nix7
-rw-r--r--pkgs/applications/misc/k3b/1.0.nix19
-rw-r--r--pkgs/applications/misc/k3b/default.nix34
-rw-r--r--pkgs/applications/misc/krusader/default.nix15
-rw-r--r--pkgs/applications/misc/xneur/default.nix6
-rw-r--r--pkgs/applications/misc/xneur/src-for-default.nix8
-rw-r--r--pkgs/applications/networking/browsers/arora/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix10
-rw-r--r--pkgs/applications/networking/browsers/firefox/3.6.nix6
-rw-r--r--pkgs/applications/networking/browsers/firefox/4.0.nix6
-rw-r--r--pkgs/applications/networking/browsers/konq-plugins/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/konq-plugins/qt47.patch11
-rw-r--r--pkgs/applications/networking/browsers/rekonq/default.nix9
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/vacuum/default.nix7
-rw-r--r--pkgs/applications/version-management/subversion/default.nix4
-rw-r--r--pkgs/applications/version-management/veracity/src-for-default.nix8
-rw-r--r--pkgs/applications/video/xawtv/default.nix7
-rw-r--r--pkgs/applications/video/xawtv/xawtv-3.95-page-mask.patch44
-rw-r--r--pkgs/applications/window-managers/compiz-fusion/bcop/0.7.8.nix34
-rw-r--r--pkgs/applications/window-managers/compiz-fusion/ccsm-simple/0.7.8.nix29
-rw-r--r--pkgs/applications/window-managers/compiz-fusion/ccsm/0.7.8.nix29
-rw-r--r--pkgs/applications/window-managers/compiz-fusion/compizconfig-python/0.7.8.nix23
-rw-r--r--pkgs/applications/window-managers/compiz-fusion/config-backend/0.7.8.nix24
-rw-r--r--pkgs/applications/window-managers/compiz-fusion/default.nix15
-rw-r--r--pkgs/applications/window-managers/compiz-fusion/extra/0.7.8.nix32
-rw-r--r--pkgs/applications/window-managers/compiz-fusion/general-dependencies.nix10
-rw-r--r--pkgs/applications/window-managers/compiz-fusion/libcompizconfig/0.7.8.nix23
-rw-r--r--pkgs/applications/window-managers/compiz-fusion/main/0.7.8.nix29
-rw-r--r--pkgs/applications/window-managers/compiz/0.8.0.nix44
-rw-r--r--pkgs/applications/window-managers/compiz/bcop.nix17
-rw-r--r--pkgs/applications/window-managers/compiz/ccsm.nix31
-rw-r--r--pkgs/applications/window-managers/compiz/config-python.nix20
-rw-r--r--pkgs/applications/window-managers/compiz/core.nix37
-rw-r--r--pkgs/applications/window-managers/compiz/extra.nix17
-rw-r--r--pkgs/applications/window-managers/compiz/libcompizconfig.nix22
-rw-r--r--pkgs/applications/window-managers/compiz/plugindir-core.patch39
-rw-r--r--pkgs/applications/window-managers/compiz/plugindir-libcompizconfig.patch39
-rw-r--r--pkgs/applications/window-managers/compiz/plugins-extra.nix30
-rw-r--r--pkgs/applications/window-managers/compiz/plugins-main.nix22
-rw-r--r--pkgs/applications/window-managers/compiz/wallpaper-maxpect.patch58
-rw-r--r--pkgs/build-support/release/ant-build.nix22
-rw-r--r--pkgs/build-support/release/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/accessibility/color-schemes.nix2
-rw-r--r--pkgs/desktops/kde-4.5/accessibility/icon-themes.nix2
-rw-r--r--pkgs/desktops/kde-4.5/accessibility/jovie.nix3
-rw-r--r--pkgs/desktops/kde-4.5/accessibility/kmag.nix3
-rw-r--r--pkgs/desktops/kde-4.5/accessibility/kmousetool.nix3
-rw-r--r--pkgs/desktops/kde-4.5/accessibility/kmouth.nix3
-rw-r--r--pkgs/desktops/kde-4.5/admin/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/artwork/aurorae.nix2
-rw-r--r--pkgs/desktops/kde-4.5/artwork/color-schemes.nix2
-rw-r--r--pkgs/desktops/kde-4.5/artwork/desktop-themes.nix2
-rw-r--r--pkgs/desktops/kde-4.5/artwork/emoticons.nix2
-rw-r--r--pkgs/desktops/kde-4.5/artwork/high-resolution-wallpapers.nix2
-rw-r--r--pkgs/desktops/kde-4.5/artwork/kscreensaver.nix3
-rw-r--r--pkgs/desktops/kde-4.5/artwork/nuvola-icon-theme.nix2
-rw-r--r--pkgs/desktops/kde-4.5/artwork/phase-style.nix2
-rw-r--r--pkgs/desktops/kde-4.5/artwork/sounds.nix2
-rw-r--r--pkgs/desktops/kde-4.5/artwork/wallpapers.nix2
-rw-r--r--pkgs/desktops/kde-4.5/artwork/weather-wallpapers.nix2
-rw-r--r--pkgs/desktops/kde-4.5/base-runtime/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/base-workspace/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/base/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/bindings/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/default.nix50
-rw-r--r--pkgs/desktops/kde-4.5/edu/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/games/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/graphics/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/kde-package/manifest.nix83
-rw-r--r--pkgs/desktops/kde-4.5/l10n/default.nix51
-rwxr-xr-xpkgs/desktops/kde-4.5/l10n/l10n-manifest.sh34
-rw-r--r--pkgs/desktops/kde-4.5/l10n/manifest-4.5.1.nix (renamed from pkgs/desktops/kde-4.5/l10n/manifest.nix)54
-rw-r--r--pkgs/desktops/kde-4.5/l10n/manifest-4.5.2.nix222
-rw-r--r--pkgs/desktops/kde-4.5/libs/default.nix11
-rw-r--r--pkgs/desktops/kde-4.5/libs/polkit-install.patch1
-rw-r--r--pkgs/desktops/kde-4.5/multimedia/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/network/default.nix4
-rw-r--r--pkgs/desktops/kde-4.5/pimlibs/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/plasma-addons/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/sdk/cervisia.nix5
-rw-r--r--pkgs/desktops/kde-4.5/sdk/dolphin-plugins.nix4
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kapptemplate.nix4
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kate.nix5
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kbugbuster.nix4
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kcachegrind.nix4
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kdeaccounts-plugin.nix3
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kioslave-perldoc.nix4
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kioslave-svn.nix4
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kmtrace.nix3
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kompare.nix4
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kpartloader.nix4
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kprofilemethod.nix3
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kstartperf.nix4
-rw-r--r--pkgs/desktops/kde-4.5/sdk/kuiviewer.nix4
-rw-r--r--pkgs/desktops/kde-4.5/sdk/lokalize.nix4
-rw-r--r--pkgs/desktops/kde-4.5/sdk/poxml.nix3
-rw-r--r--pkgs/desktops/kde-4.5/sdk/scripts.nix3
-rw-r--r--pkgs/desktops/kde-4.5/sdk/strigi-analyzer.nix3
-rw-r--r--pkgs/desktops/kde-4.5/sdk/umbrello.nix5
-rw-r--r--pkgs/desktops/kde-4.5/support/oxygen-icons/default.nix4
-rw-r--r--pkgs/desktops/kde-4.5/support/phonon/default.nix26
-rw-r--r--pkgs/desktops/kde-4.5/support/polkit-qt-1/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/toys/amor.nix3
-rw-r--r--pkgs/desktops/kde-4.5/toys/kteatime.nix3
-rw-r--r--pkgs/desktops/kde-4.5/toys/ktux.nix3
-rw-r--r--pkgs/desktops/kde-4.5/utils/ark.nix3
-rw-r--r--pkgs/desktops/kde-4.5/utils/kcalc.nix3
-rw-r--r--pkgs/desktops/kde-4.5/utils/kcharselect.nix3
-rw-r--r--pkgs/desktops/kde-4.5/utils/kdf.nix3
-rw-r--r--pkgs/desktops/kde-4.5/utils/kfloppy.nix2
-rw-r--r--pkgs/desktops/kde-4.5/utils/kgpg.nix3
-rw-r--r--pkgs/desktops/kde-4.5/utils/kremotecontrol.nix4
-rw-r--r--pkgs/desktops/kde-4.5/utils/ktimer.nix3
-rw-r--r--pkgs/desktops/kde-4.5/utils/kwallet.nix3
-rw-r--r--pkgs/desktops/kde-4.5/utils/okteta.nix5
-rw-r--r--pkgs/desktops/kde-4.5/utils/printer-applet.nix3
-rw-r--r--pkgs/desktops/kde-4.5/utils/superkaramba.nix3
-rw-r--r--pkgs/desktops/kde-4.5/utils/sweeper.nix3
-rw-r--r--pkgs/desktops/kde-4.5/webdev/kfilereplace.nix3
-rw-r--r--pkgs/desktops/kde-4.5/webdev/kimagemapeditor.nix3
-rw-r--r--pkgs/desktops/kde-4.5/webdev/klinkstatus.nix3
-rw-r--r--pkgs/desktops/kde-4.5/webdev/kommander.nix3
-rw-r--r--pkgs/desktops/xfce-4/applications/xfce4-mixer.nix38
-rw-r--r--pkgs/desktops/xfce-4/default.nix2
-rw-r--r--pkgs/development/compilers/strategoxt/0.18.nix6
-rw-r--r--pkgs/development/compilers/tinycc/default.nix68
-rw-r--r--pkgs/development/interpreters/guile/1.9.nix12
-rw-r--r--pkgs/development/libraries/dbus-glib/default.nix3
-rw-r--r--pkgs/development/libraries/ftgl/default.nix13
-rw-r--r--pkgs/development/libraries/glib/2.22.x.nix5
-rw-r--r--pkgs/development/libraries/glib/2.24.x.nix5
-rw-r--r--pkgs/development/libraries/grantlee/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/default.nix31
-rw-r--r--pkgs/development/libraries/gstreamer/gnonlin/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/gst-ffmpeg/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix24
-rw-r--r--pkgs/development/libraries/gstreamer/gst-plugins-good/default.nix8
-rw-r--r--pkgs/development/libraries/gstreamer/gstreamer/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/Boolean/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/Graphalyze/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/MemoTrie/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/bktrees/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/cabal/cabal.nix9
-rw-r--r--pkgs/development/libraries/haskell/colour/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/graphviz/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/vector-space/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/vty/default.nix9
-rw-r--r--pkgs/development/libraries/hspell/default.nix28
-rw-r--r--pkgs/development/libraries/hspell/dicts.nix43
-rw-r--r--pkgs/development/libraries/incrtcl/default.nix29
-rw-r--r--pkgs/development/libraries/jama/default.nix28
-rw-r--r--pkgs/development/libraries/java/icedtea/default.nix112
-rw-r--r--pkgs/development/libraries/java/icedtea/nixos-slash-bin.patch20
-rw-r--r--pkgs/development/libraries/libcv/default.nix33
-rw-r--r--pkgs/development/libraries/libdrm/default.nix4
-rw-r--r--pkgs/development/libraries/libjpeg-turbo/default.nix6
-rw-r--r--pkgs/development/libraries/libsamplerate/default.nix2
-rw-r--r--pkgs/development/libraries/libspectre/default.nix4
-rw-r--r--pkgs/development/libraries/tnt/default.nix23
-rw-r--r--pkgs/development/libraries/unicap/default.nix55
-rw-r--r--pkgs/development/libraries/urt/default.nix61
-rw-r--r--pkgs/development/libraries/urt/gentoo-config52
-rw-r--r--pkgs/development/libraries/urt/urt-3.1b-build-fixes.patch151
-rw-r--r--pkgs/development/libraries/urt/urt-3.1b-compile-updates.patch141
-rw-r--r--pkgs/development/libraries/urt/urt-3.1b-make.patch75
-rw-r--r--pkgs/development/libraries/urt/urt-3.1b-rle-fixes.patch203
-rw-r--r--pkgs/development/libraries/urt/urt-3.1b-tempfile.patch19
-rw-r--r--pkgs/development/libraries/webkit/default.nix2
-rw-r--r--pkgs/development/libraries/webkit/src-for-default.nix10
-rw-r--r--pkgs/development/python-modules/pygobject/default.nix20
-rw-r--r--pkgs/development/python-modules/pygtk/default.nix23
-rw-r--r--pkgs/development/tools/build-managers/scons/default.nix7
-rw-r--r--pkgs/games/scummvm/default.nix6
-rw-r--r--pkgs/lib/modules.nix2
-rw-r--r--pkgs/misc/emulators/wine/wine-warcraft.nix13
-rw-r--r--pkgs/misc/sane-backends/default.nix9
-rw-r--r--pkgs/os-specific/linux/firmware/ipw2100/default.nix25
-rw-r--r--pkgs/os-specific/linux/hal/default.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/linux-2.6.36.nix207
-rw-r--r--pkgs/os-specific/linux/qemu-kvm/default.nix6
-rw-r--r--pkgs/os-specific/linux/qemu-kvm/unix-domain.patch175
-rw-r--r--pkgs/servers/http/apache-httpd/default.nix3
-rw-r--r--pkgs/servers/http/apache-modules/mod_fastcgi/default.nix33
-rw-r--r--pkgs/servers/http/apache-modules/mod_wsgi/default.nix22
-rw-r--r--pkgs/servers/http/myserver/default.nix15
-rw-r--r--pkgs/servers/http/myserver/disable-dns-lookup-in-chroot.patch12
-rw-r--r--pkgs/servers/http/myserver/tests-in-chroot.patch35
-rw-r--r--pkgs/servers/sql/mysql51/default.nix6
-rw-r--r--pkgs/servers/x11/xorg/default.nix72
-rw-r--r--pkgs/servers/x11/xorg/tarballs-7.5.list19
-rw-r--r--pkgs/tools/bluetooth/obexftp/default.nix1
-rw-r--r--pkgs/tools/bluetooth/openobex/default.nix1
-rw-r--r--pkgs/tools/filesystems/mtools/default.nix11
-rw-r--r--pkgs/tools/filesystems/sshfs-fuse/default.nix1
-rw-r--r--pkgs/tools/graphics/qrdecode/default.nix5
-rw-r--r--pkgs/tools/misc/gource/default.nix13
-rw-r--r--pkgs/tools/misc/screen/default.nix40
-rw-r--r--pkgs/tools/networking/altermime/default.nix50
-rw-r--r--pkgs/tools/networking/dnsmasq/default.nix12
-rw-r--r--pkgs/tools/networking/fdm/default.nix53
-rw-r--r--pkgs/tools/networking/getmail/default.nix48
-rw-r--r--pkgs/tools/networking/philter/default.nix57
-rw-r--r--pkgs/tools/networking/ripmime/default.nix51
-rw-r--r--pkgs/tools/security/gnupg1/default.nix12
-rw-r--r--pkgs/tools/text/ebook-tools/default.nix4
-rw-r--r--pkgs/tools/text/kdiff3/adjust-docbook-xml-version-to-4.2.patch45
-rw-r--r--pkgs/tools/text/kdiff3/default.nix11
-rw-r--r--pkgs/tools/text/recode/default.nix46
-rw-r--r--pkgs/tools/text/recode/recode-3.6-as-if.patch19
-rw-r--r--pkgs/tools/text/recode/recode-3.6-gettextfix.diff23
-rw-r--r--pkgs/top-level/all-packages.nix186
-rw-r--r--pkgs/top-level/haskell-packages.nix22
-rw-r--r--pkgs/top-level/release.nix8
221 files changed, 3452 insertions, 1129 deletions
diff --git a/maintainers/scripts/hydra_eval_check b/maintainers/scripts/hydra_eval_check
new file mode 100755
index 0000000000000..07bf576df4b3d
--- /dev/null
+++ b/maintainers/scripts/hydra_eval_check
@@ -0,0 +1,13 @@
+#! /bin/sh
+
+# give absolute path of release.nix as argument
+hydra_eval_jobs \
+  --argstr system x86_64-linux \
+  --argstr system i686-linux \
+  --argstr system x86_64-darwin \
+  --argstr system i686-darwin \
+  --argstr system i686-cygwin \
+  --argstr system i686-freebsd \
+  --arg officialRelease false \
+  --arg nixpkgs "{ outPath = builtins.storePath ./. ; rev = 1234; }" \
+  $@
diff --git a/pkgs/applications/audio/mp3info/default.nix b/pkgs/applications/audio/mp3info/default.nix
new file mode 100644
index 0000000000000..86ffca4242fa2
--- /dev/null
+++ b/pkgs/applications/audio/mp3info/default.nix
@@ -0,0 +1,42 @@
+{ fetchurl, stdenv, ncurses, pkgconfig, gtk }:
+
+stdenv.mkDerivation rec {
+  name = "mp3info-0.8.5a";
+
+  src = fetchurl {
+    url = "ftp://ftp.ibiblio.org/pub/linux/apps/sound/mp3-utils/mp3info/${name}.tgz";
+    sha256 = "042f1czcs9n2sbqvg4rsvfwlqib2gk976mfa2kxlfjghx5laqf04";
+  };
+
+  buildInputs = [ ncurses pkgconfig gtk ];
+
+  configurePhase =
+    '' sed -i Makefile \
+           -e "s|^prefix=.*$|prefix=$out|g ;
+               s|/bin/rm|rm|g ;
+               s|/usr/bin/install|install|g"
+    '';
+
+  preInstall =
+    '' ensureDir "$out/bin"
+       ensureDir "$out/man/man1"
+    '';
+
+  meta = {
+    description = "MP3Info, an MP3 technical info viewer and ID3 1.x tag editor";
+
+    longDescription =
+      '' MP3Info is a little utility used to read and modify the ID3 tags of
+         MP3 files.  MP3Info can also display various techincal aspects of an
+         MP3 file including playing time, bit-rate, sampling frequency and
+         other attributes in a pre-defined or user-specifiable output format.
+      '';
+
+    homepage = http://www.ibiblio.org/mp3info/;
+
+    license = "GPLv2+";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/emms/default.nix b/pkgs/applications/editors/emacs-modes/emms/default.nix
index 4dbf8663f15da..3a97703143663 100644
--- a/pkgs/applications/editors/emacs-modes/emms/default.nix
+++ b/pkgs/applications/editors/emacs-modes/emms/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, emacs, texinfo
-, mpg321, vorbisTools, taglib, alsaUtils }:
+, mpg321, vorbisTools, taglib, mp3info, alsaUtils }:
 
 # XXX: EMMS also supports Xine, MPlayer, Jack, etc.
 
@@ -36,12 +36,18 @@ stdenv.mkDerivation rec {
     # Use the libtag info back-end for MP3s since we're building it.
     sed -i "emms-setup.el" \
         -e 's|emms-info-mp3info|emms-info-libtag|g'
+
+    # But use mp3info for the tag editor.
+    sed -i "emms-info-mp3info.el" \
+        -e 's|emms-info-mp3info-program-name[[:blank:]]\+"mp3info"|emms-info-mp3info-program-name "${mp3info}/bin/mp3info"|g'
+    sed -i "emms-tag-editor.el" \
+        -e 's|"mp3info"|"${mp3info}/bin/mp3info"|g'
   '';
 
   postInstall = ''
     ensureDir "$out/bin" && cp emms-print-metadata "$out/bin"
   '';
-  
+
   meta = {
     description = "GNU EMMS, The Emacs Multimedia System";
 
@@ -57,6 +63,10 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://www.gnu.org/software/emms/;
+
     license = "GPLv3+";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.gnu;
   };
 }
diff --git a/pkgs/applications/editors/zile/default.nix b/pkgs/applications/editors/zile/default.nix
index 3d7fef640ca46..c9d3cf7b7ef77 100644
--- a/pkgs/applications/editors/zile/default.nix
+++ b/pkgs/applications/editors/zile/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, ncurses, help2man }:
 
 stdenv.mkDerivation rec {
-  name = "zile-2.3.19";
+  name = "zile-2.3.20";
 
   src = fetchurl {
     url = "mirror://gnu/zile/${name}.tar.gz";
-    sha256 = "1c2by5d5d1nmap3wc55giscsj47xx16viv7b07c6c4nssnlniszs";
+    sha256 = "0y07bkb7ypvsnz8ly7w274489icxw5z5hy6z50mx1nywkv2whd3q";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix
index a126402cadf27..6d4431516f8e1 100644
--- a/pkgs/applications/graphics/digikam/default.nix
+++ b/pkgs/applications/graphics/digikam/default.nix
@@ -3,17 +3,21 @@ kdegraphics, lcms, jasper, libgphoto2, kdepimlibs, gettext, soprano, kdeedu,
 liblqr1, lensfun, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "digikam-1.4.0";
+  name = "digikam-1.5.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/digikam/${name}.tar.bz2";
-    sha256 = "1fky4jkji9fkhzzvw7wic6xy7vkj9g39hx1xm76qxxq8i2nzlynk";
+    sha256 = "1vvzw132aw2c1z2v1zc3aqa99kvg501krr2law35ri12zkqjsvaz";
   };
 
   buildInputs = [ cmake qt4 kdelibs kdegraphics automoc4 phonon qimageblitz qca2 eigen
     lcms jasper libgphoto2 kdepimlibs gettext soprano kdeedu liblqr1 lensfun
     pkgconfig ];
 
+  KDEDIRS=kdeedu;
+
+  patches = [ ./include.diff ];
+
   meta = {
     description = "Photo Management Program";
     license = "GPL";
diff --git a/pkgs/applications/graphics/digikam/include.diff b/pkgs/applications/graphics/digikam/include.diff
new file mode 100644
index 0000000000000..0762ce04d2631
--- /dev/null
+++ b/pkgs/applications/graphics/digikam/include.diff
@@ -0,0 +1,12 @@
+diff --git a/libs/imageproperties/markerclusterholderplugin/CMakeLists.txt b/libs/imageproperties/markerclusterholderplugin/CMakeLists.txt
+index 9ee36cc..c6e5c00 100644
+--- a/libs/imageproperties/markerclusterholderplugin/CMakeLists.txt
++++ b/libs/imageproperties/markerclusterholderplugin/CMakeLists.txt
+@@ -18,6 +18,7 @@ IF(MARBLEWIDGET_SUPPORTS_PLUGINS)
+ 
+     INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}/libs/imageproperties/markerclusterholderplugin/
+                          ${CMAKE_BINARY_DIR}/libs/imageproperties/markerclusterholderplugin/
++						 ${LIBMARBLEWIDGET_INCLUDE_DIR}/..
+                          ${QT_INCLUDE_DIR}
+                        )
+ 
diff --git a/pkgs/applications/graphics/kipi-plugins/default.nix b/pkgs/applications/graphics/kipi-plugins/default.nix
index 22174333a4d02..c3fe93a77ea89 100644
--- a/pkgs/applications/graphics/kipi-plugins/default.nix
+++ b/pkgs/applications/graphics/kipi-plugins/default.nix
@@ -2,11 +2,11 @@
 kdegraphics, kdepimlibs, libxml2, libxslt, gettext, opencv, libgpod, gtk }:
 
 stdenv.mkDerivation rec {
-  name = "kipi-plugins-1.4.0";
+  name = "kipi-plugins-1.5.0";
 
   src = fetchurl { 
     url = "mirror://sourceforge/kipi/${name}.tar.bz2";
-    sha256 = "1ybxhp4rs6c5xlrs0q765vrx4mvw4k0kq6n42dyk3kxvmcb9iq34";
+    sha256 = "1wsqh0lbsqyzdfmb9f53bmmypw00n80p62ym4pnxb8w0zwlhbkbw";
   };
 
   buildInputs = [ cmake qt4 kdelibs kdegraphics automoc4 phonon qimageblitz qca2 kdepimlibs 
diff --git a/pkgs/applications/misc/googleearth/default.nix b/pkgs/applications/misc/googleearth/default.nix
index 77120a838f503..7e2a12adb0184 100644
--- a/pkgs/applications/misc/googleearth/default.nix
+++ b/pkgs/applications/misc/googleearth/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchurl, glibc, mesa, freetype, glib, libSM, libICE, libXi, libXv,
-libXrender, libXrandr, libXfixes, libXcursor, libXinerama, libXext, libX11,
+libXrender, libXrandr, libXfixes, libXcursor, libXinerama, libXext, libX11, qt4,
 zlib }:
 
 /* I haven't found any x86_64 package from them */
 assert stdenv.system == "i686-linux";
 
 stdenv.mkDerivation {
-  name = "googleearth-5.1.3535.3218";
+  name = "googleearth-5.2.0001";
 
   src = fetchurl {
     url = http://dl.google.com/earth/client/current/GoogleEarthLinux.bin;
-    sha256 = "f721e4e8db3a7351c77a8aea425ec334ff01e163481cbcf6cdda9dbb0ad422ac";
+    sha256 = "2e6fcbd2384446e2a6eed8ca23173e32c5f3f9ae4d1168e2e348c3924fd2bf30";
   };
 
   buildNativeInputs = [
@@ -30,6 +30,7 @@ stdenv.mkDerivation {
     freetype 
     libXext 
     libX11 
+    qt4
     zlib
   ];
 
diff --git a/pkgs/applications/misc/k3b/1.0.nix b/pkgs/applications/misc/k3b/1.0.nix
new file mode 100644
index 0000000000000..7ac483cedea7a
--- /dev/null
+++ b/pkgs/applications/misc/k3b/1.0.nix
@@ -0,0 +1,19 @@
+{stdenv, fetchurl, kdelibs, x11, zlib, libpng, libjpeg, perl, qt3}:
+
+stdenv.mkDerivation {
+  name = "k3b-1.0.5";
+
+  src = fetchurl {
+    url = mirror://sourceforge/k3b/k3b-1.0.5.tar.bz2;
+    sha256 = "1pshv8na1sr9xcmkr0byjgyl8jmxwcylkl8pwjvripja4fgpkyfl";
+  };
+
+  buildInputs = [kdelibs x11 zlib libpng libjpeg perl qt3];
+
+  configureFlags = "--without-arts";
+
+  meta = {
+    description = "A CD and DVD authoring application for KDE";
+    homepage = http://www.k3b.org/;
+  };
+}
diff --git a/pkgs/applications/misc/k3b/default.nix b/pkgs/applications/misc/k3b/default.nix
index 9f6f4d14c1114..756adb03f75d3 100644
--- a/pkgs/applications/misc/k3b/default.nix
+++ b/pkgs/applications/misc/k3b/default.nix
@@ -1,19 +1,29 @@
-{stdenv, fetchurl, kdelibs, x11, zlib, libpng, libjpeg, perl, qt3}:
+{ stdenv, fetchurl, cmake, qt4, perl, shared_mime_info, libvorbis, taglib
+, ffmpeg, flac, libsamplerate, libdvdread, lame, libsndfile, libmad, gettext
+, kdelibs, kdemultimedia, cdrdao, cdrtools, dvdplusrwtools
+, automoc4, phonon, makeWrapper
+}:
 
-stdenv.mkDerivation {
-  name = "k3b-1.0.5";
-  
+stdenv.mkDerivation rec {
+  name = "k3b-2.0.1";
   src = fetchurl {
-    url = mirror://sourceforge/k3b/k3b-1.0.5.tar.bz2;
-    sha256 = "1pshv8na1sr9xcmkr0byjgyl8jmxwcylkl8pwjvripja4fgpkyfl";
+    url = "mirror://sourceforge/k3b/${name}.tar.bz2";
+    sha256 = "1dyd3i2hqd5xs9rz4f8k74zca91j9sp72lhl0zws2cvqc474ccc6";
   };
-  
-  buildInputs = [kdelibs x11 zlib libpng libjpeg perl qt3];
 
-  configureFlags = "--without-arts";
+  buildInputs = [ cmake qt4 perl shared_mime_info libvorbis taglib
+                  ffmpeg flac libsamplerate libdvdread lame libsndfile
+                  libmad gettext stdenv.gcc.libc cdrdao cdrtools
+                  kdelibs kdemultimedia automoc4 phonon dvdplusrwtools
+                  makeWrapper ];
 
-  meta = {
-    description = "A CD and DVD authoring application for KDE";
-    homepage = http://www.k3b.org/;
+  postInstall = ''
+    wrapProgram $out/bin/k3b --suffix PATH : "${cdrdao}/bin:${dvdplusrwtools}/bin:${cdrtools}/bin"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "CD/DVD Burning Application for KDE";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.sander maintainers.urkud ];
   };
 }
diff --git a/pkgs/applications/misc/krusader/default.nix b/pkgs/applications/misc/krusader/default.nix
index 9e9c04acab296..3286c8addb3b4 100644
--- a/pkgs/applications/misc/krusader/default.nix
+++ b/pkgs/applications/misc/krusader/default.nix
@@ -1,17 +1,16 @@
-{stdenv, fetchurl, lib, cmake, qt4, perl, gettext, kdelibs, automoc4, phonon}:
+{stdenv, fetchurl, cmake, qt4, perl, gettext, kdelibs, kdebase, automoc4, phonon}:
 
-stdenv.mkDerivation {
-  name = "krusader-2.0.0";
+stdenv.mkDerivation rec {
+  name = "krusader-2.2.0-beta1";
   src = fetchurl {
-    url = mirror://sourceforge/krusader/krusader-2.0.0.tar.gz;
-    sha256 = "dc74c47d6eaf1c28165a74750e5a1b0341fa1c0d436658d0d5f85a6149f4852c";
+    url = "mirror://sourceforge/krusader/${name}.tar.bz2";
+    sha256 = "0rbk0hw8p1bb03w74gspljbzhvpbs3dcr6ckp38gh5r80mcmqfbs";
   };
-  buildInputs = [ cmake qt4 perl gettext kdelibs automoc4 phonon ];
-  patches = [./krusader-gcc44.patch];
+  buildInputs = [ cmake qt4 perl gettext kdelibs automoc4 phonon kdebase ];
   meta = {
     description = "Norton/Total Commander clone for KDE";
     license = "GPL";
     homepage = http://www.krusader.org;
-    maintainers = [ lib.maintainers.sander ];
+    maintainers = with stdenv.lib.maintainers; [ sander urkud ];
   };
 }
diff --git a/pkgs/applications/misc/xneur/default.nix b/pkgs/applications/misc/xneur/default.nix
index e341ae6cd055e..5a0c5fc12734a 100644
--- a/pkgs/applications/misc/xneur/default.nix
+++ b/pkgs/applications/misc/xneur/default.nix
@@ -18,9 +18,9 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
     sed -e 's/-Werror//' -i configure
-    sed -e 's/for aspell_dir in/for aspell_dir in ${aspell} /' -i configure
-    sed -e 's/for imlib2_dir in/for imlib2_dir in ${imlib2} /' -i configure
-    sed -e 's/for xosd_dir in/for xosd_dir in ${xosd} /' -i configure
+    sed -e 's@for aspell_dir in@for aspell_dir in ${aspell} @' -i configure
+    sed -e 's@for imlib2_dir in@for imlib2_dir in ${imlib2} @' -i configure
+    sed -e 's@for xosd_dir in@for xosd_dir in ${xosd} @' -i configure
 
     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${gtk}/include/gtk-2.0"
     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${gtk}/lib/gtk-2.0/include"
diff --git a/pkgs/applications/misc/xneur/src-for-default.nix b/pkgs/applications/misc/xneur/src-for-default.nix
index 9a778a6f6937b..497d2adfd2c29 100644
--- a/pkgs/applications/misc/xneur/src-for-default.nix
+++ b/pkgs/applications/misc/xneur/src-for-default.nix
@@ -1,9 +1,9 @@
 rec {
-   version="0.9.9";
-   name="xneur-0.9.9";
-   hash="07ircm7ngc84h6fpy8q01444vy9cm08q4mbl3q3ya0dg00cq64z4";
+   version="0.10.0";
+   name="xneur-0.10.0";
+   hash="1jh40awnc5bvdj07jv99ymiln8nzr5ac5ahz9v4w0m560b7qq48f";
    url="http://dists.xneur.ru/release-${version}/tgz/xneur-${version}.tar.bz2";
-   advertisedUrl="http://dists.xneur.ru/release-0.9.9/tgz/xneur-0.9.9.tar.bz2";
+   advertisedUrl="http://dists.xneur.ru/release-0.10.0/tgz/xneur-0.10.0.tar.bz2";
   
   
 }
diff --git a/pkgs/applications/networking/browsers/arora/default.nix b/pkgs/applications/networking/browsers/arora/default.nix
index 1e22e263c86a3..d812078b6aad5 100644
--- a/pkgs/applications/networking/browsers/arora/default.nix
+++ b/pkgs/applications/networking/browsers/arora/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "arora-${version}";
-  version = "0.10.2";
+  version = "0.11.0";
 
   src = fetchurl {
     url = "http://arora.googlecode.com/files/${name}.tar.gz";
-    sha256 = "1np9xiy7vkpz4dar6ka90wxw4nkwapjafyjzqrv7ghnc3nqdnnvv";
+    sha256 = "1ffkranxi93lrg5r7a90pix9j8xqmf0z1mb1m8579v9m34cyypvg";
   };
 
   buildInputs = [ qt4 ];
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 1a74135c10416..5899386e8813f 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -34,20 +34,18 @@
 assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" ;
 
 stdenv.mkDerivation rec {
-  name = "chrome-${version}"; # !!! Shouldn't this be "chromium"?
-  version = "61624";
-
-  # TODO: Use a stable release that doesn't disappear every few days.  
+  name = "chrome-${version}";
+  version = "62263";
   src = 
     if stdenv.system == "x86_64-linux" then 
       fetchurl {
         url = "http://build.chromium.org/buildbot/snapshots/chromium-rel-linux-64/${version}/chrome-linux.zip";
-        sha256 = "16kv1zbs3ypb2b00dpg2s4nn8zqdnv8jdvgxknp3s0xcq02w2asl";
+        sha256 = "0yn52bqxadwnzi04gfg0ginrvwz18wchqgcl701s7n4i5xzdnmv8";
       } 
     else if stdenv.system == "i686-linux" then 
       fetchurl {
         url = "http://build.chromium.org/buildbot/snapshots/chromium-rel-linux/${version}/chrome-linux.zip";
-        sha256 = "081pvwzpys98m3arj3qagyhrrphz7rjwn7yy4mk6bcrds6mwdxiz";
+        sha256 = "1cbzd4k9m1hf08462him8jqxw13k0wy0q1rpq84niifsqnq4z8nx";
       } 
     else throw "Chromium is not supported on this platform.";
 
diff --git a/pkgs/applications/networking/browsers/firefox/3.6.nix b/pkgs/applications/networking/browsers/firefox/3.6.nix
index fe393c428d18b..4776419c80699 100644
--- a/pkgs/applications/networking/browsers/firefox/3.6.nix
+++ b/pkgs/applications/networking/browsers/firefox/3.6.nix
@@ -12,14 +12,14 @@
 
 rec {
 
-  firefoxVersion = "3.6.10";
+  firefoxVersion = "3.6.11";
   
-  xulVersion = "1.9.2.10"; # this attribute is used by other packages
+  xulVersion = "1.9.2.11"; # this attribute is used by other packages
 
   
   src = fetchurl {
     url = "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
-    sha1 = "0fa17f4ebd4bafe18c789961bdfe064d1b521ac6";
+    sha1 = "d5443a07243a771fb4c69c08cd6a0f5320a888c4";
   };
 
 
diff --git a/pkgs/applications/networking/browsers/firefox/4.0.nix b/pkgs/applications/networking/browsers/firefox/4.0.nix
index 3a441193811aa..af62244755555 100644
--- a/pkgs/applications/networking/browsers/firefox/4.0.nix
+++ b/pkgs/applications/networking/browsers/firefox/4.0.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
 , libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs
 , freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
-, libvpx, yasm, mesa
+, libvpx, yasm, mesa, wirelesstools
 
 , # If you want the resulting program to call itself "Firefox" instead
   # of "Shiretoko" or whatever, enable this option.  However, those
@@ -52,6 +52,8 @@ rec {
         python dbus dbus_glib pango freetype fontconfig xlibs.libXi
         xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
         alsaLib nspr /* nss */ libnotify xlibs.pixman libvpx yasm mesa
+	wirelesstools xlibs.libXscrnsaver xlibs.scrnsaverproto
+	xlibs.libXext xlibs.xextproto
       ];
 
     configureFlags =
@@ -105,7 +107,7 @@ rec {
     buildInputs =
       [ pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2 python
         dbus dbus_glib pango freetype fontconfig alsaLib nspr libnotify
-        xlibs.pixman libvpx yasm mesa
+        xlibs.pixman libvpx yasm mesa wirelesstools
       ];
 
     propagatedBuildInputs = [xulrunner];
diff --git a/pkgs/applications/networking/browsers/konq-plugins/default.nix b/pkgs/applications/networking/browsers/konq-plugins/default.nix
index 7b2a585e46536..815e1a16964cc 100644
--- a/pkgs/applications/networking/browsers/konq-plugins/default.nix
+++ b/pkgs/applications/networking/browsers/konq-plugins/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ cmake kdelibs qt4 automoc4 phonon kdebase gettext ];
 
+  patches = [ ./qt47.patch ];
+
   meta = with stdenv.lib; {
     description = "Various plugins for Konqueror";
     license = "GPL";
diff --git a/pkgs/applications/networking/browsers/konq-plugins/qt47.patch b/pkgs/applications/networking/browsers/konq-plugins/qt47.patch
new file mode 100644
index 0000000000000..2039d293eb322
--- /dev/null
+++ b/pkgs/applications/networking/browsers/konq-plugins/qt47.patch
@@ -0,0 +1,11 @@
+--- konq-plugins/adblock/adblock.cpp	2010-02-11 22:12:41.000000000 +0000
++++ konq-plugins/adblock/adblock.cpp	2010-07-26 17:12:20.639786002 +0100
+@@ -300,7 +300,7 @@
+ // ----------------------------------------------------------------------------
+ 
+ AdElement::AdElement() :
+-  m_url(0), m_category(0), m_type(0), m_blocked(false) {}
++  m_url(QString()), m_category(QString()), m_type(QString()), m_blocked(false) {}
+ 
+ AdElement::AdElement(const QString &url, const QString &category,
+ 		     const QString &type, bool blocked, const DOM::Node&node) :
diff --git a/pkgs/applications/networking/browsers/rekonq/default.nix b/pkgs/applications/networking/browsers/rekonq/default.nix
index 60f2162a26a39..f9b8061d5ebd6 100644
--- a/pkgs/applications/networking/browsers/rekonq/default.nix
+++ b/pkgs/applications/networking/browsers/rekonq/default.nix
@@ -1,15 +1,16 @@
 { stdenv, fetchurl, cmake, qt4, kdelibs, automoc4, phonon, perl
-, gtk, gettext, pixman}:
+, gettext}:
 
 stdenv.mkDerivation rec {
-  name = "rekonq-0.5.0";
+  name = "rekonq-0.6.1";
+  passthru = { inherit stdenv; };
 
   src = fetchurl {
     url = "mirror://sf/rekonq/${name}.tar.bz2";
-    sha256 = "0qm16ivxlh3pj7v39z3ajf90sgm5q5xq6a8s2x1a0ipsh7fgkp58";
+    sha256 = "1hgy8ph4k4ngdy1kr4w3qwkfdylapsj7rjpk8wxn97yc4qnk57by";
   };
 
-  buildInputs = [ cmake qt4 kdelibs automoc4 phonon perl gtk gettext pixman ];
+  buildInputs = [ cmake qt4 kdelibs automoc4 phonon perl gettext ];
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
index 9d290224c42ef..691a6d0973460 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
@@ -21,10 +21,10 @@
 } :
 
 stdenv.mkDerivation {
-  name = "pidgin-2.7.3";
+  name = "pidgin-2.7.4";
   src = fetchurl {
-    url = mirror://sourceforge/pidgin/pidgin-2.7.3.tar.bz2;
-    sha256 = "1wi3wckn3gkbrgx0kk1b690nxj1i4xcp3xn5wrra6gwcgfm8hmwb";
+    url = mirror://sourceforge/pidgin/pidgin-2.7.4.tar.bz2;
+    sha256 = "0mpqh77g5wgi39bqi4hma4z7r3piz3wi8x49s3dy5gc2220s4vvw";
   };
 
   inherit nss ncurses;
diff --git a/pkgs/applications/networking/instant-messengers/vacuum/default.nix b/pkgs/applications/networking/instant-messengers/vacuum/default.nix
index 5d5aed592fd5b..a08cc2795bbb7 100644
--- a/pkgs/applications/networking/instant-messengers/vacuum/default.nix
+++ b/pkgs/applications/networking/instant-messengers/vacuum/default.nix
@@ -28,7 +28,12 @@ rec {
   inherit buildInputs;
 
   /* doConfigure should be removed if not needed */
-  phaseNames = ["doQMake" "doMakeInstall"];
+  phaseNames = ["preBuild" "doQMake" "doMakeInstall"];
+
+  preBuild = a.fullDepEntry (''
+    echo "Fixing a name collision with a function added in Qt 4.7"
+    sed -re 's/qHash[(][a-z ]*QUrl/vacuum_obsolete_&/' -i src/plugins/dataforms/dataforms.cpp
+  '') ["minInit" "doUnpack"];
 
   goSrcDir = ''cd vacuum-*/'';
 
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix
index fc0638b62e473..9478ad74c989b 100644
--- a/pkgs/applications/version-management/subversion/default.nix
+++ b/pkgs/applications/version-management/subversion/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     ensureDir $out/share/emacs/site-lisp
-    cp contrib/client-side/emacs/*.el $out/share/emacs/site-lisp/
+    cp contrib/client-side/emacs/[dp]svn*.el $out/share/emacs/site-lisp/
 
     if test -n "$pythonBindings"; then
         make swig-py swig_pydir=$(toPythonPath $out)/libsvn swig_pydir_extra=$(toPythonPath $out)/svn
@@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
         make install
         cd -
     fi
-  ''; # */
+  '';
 
   inherit perlBindings pythonBindings;
 
diff --git a/pkgs/applications/version-management/veracity/src-for-default.nix b/pkgs/applications/version-management/veracity/src-for-default.nix
index 097bb5974aa47..67fafdee75135 100644
--- a/pkgs/applications/version-management/veracity/src-for-default.nix
+++ b/pkgs/applications/version-management/veracity/src-for-default.nix
@@ -1,9 +1,9 @@
 rec {
-   version="0.3.1.10304";
-   name="veracity-0.3.1.10304";
-   hash="0izbs3v7incy9799sh6idfy7r2mchq2v152k8qc1k5l2r1jq4vik";
+   version="0.5.0.10311";
+   name="veracity-0.5.0.10311";
+   hash="0ad30x8dbxrqz6d9jmq40rzkhx4z4mgbqb37zszh8bcf9v69kv6z";
    url="http://download-us.sourcegear.com/Veracity/nightly/veracity-source-${version}.tar.gz";
-   advertisedUrl="http://download-us.sourcegear.com/Veracity/nightly/veracity-source-0.3.1.10304.tar.gz";
+   advertisedUrl="http://download-us.sourcegear.com/Veracity/nightly/veracity-source-0.5.0.10311.tar.gz";
   
   
 }
diff --git a/pkgs/applications/video/xawtv/default.nix b/pkgs/applications/video/xawtv/default.nix
index aaa83ccc14490..5f2e905efa092 100644
--- a/pkgs/applications/video/xawtv/default.nix
+++ b/pkgs/applications/video/xawtv/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ncurses, libjpeg, libX11, libXt, libXft, xproto, libFS, fontsproto, libXaw, libXpm, libXext, libSM, libICE, perl, xextproto}:
+{stdenv, fetchurl, ncurses, libjpeg, libX11, libXt, libXft, xproto, libFS, fontsproto, libXaw, libXpm, libXext, libSM, libICE, perl, xextproto, linux}:
 
 stdenv.mkDerivation {
   name = "xawtv-3.95";
@@ -6,7 +6,10 @@ stdenv.mkDerivation {
     url = http://dl.bytesex.org/releases/xawtv/xawtv-3.95.tar.gz;
     md5 = "ad25e03f7e128b318e392cb09f52207d";
   };
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${linux}/lib/modules/*/build/include)"
+  '';
   buildInputs = [ncurses libjpeg libX11 libXt libXft xproto libFS fontsproto libXaw libXpm libXext libSM libICE perl xextproto];
-  patches = [./xawtv-3.95-libfs.patch ./xawtv-3.95-makefile.patch];
+  patches = [./xawtv-3.95-libfs.patch ./xawtv-3.95-makefile.patch ./xawtv-3.95-page-mask.patch ];
   
 }
diff --git a/pkgs/applications/video/xawtv/xawtv-3.95-page-mask.patch b/pkgs/applications/video/xawtv/xawtv-3.95-page-mask.patch
new file mode 100644
index 0000000000000..5714e8238e671
--- /dev/null
+++ b/pkgs/applications/video/xawtv/xawtv-3.95-page-mask.patch
@@ -0,0 +1,44 @@
+Fix problems with fbtv and kernel headers
+
+diff -urN ../tmp-orig/xawtv-3.95/console/fbtools.c ./console/fbtools.c
+--- xawtv-3.95/console/fbtools.c	2003-02-14 14:14:04.000000000 +0000
++++ xawtv-3.95/console/fbtools.c	2006-08-23 10:57:40.000000000 +0000
+@@ -21,8 +21,6 @@
+ #include <linux/vt.h>
+ #include <linux/fb.h>
+ 
+-#include <asm/page.h>
+-
+ #include "fbtools.h"
+ 
+ /* -------------------------------------------------------------------- */
+@@ -424,7 +422,7 @@
+ 	goto err;
+     }
+ #endif
+-    fb_mem_offset = (unsigned long)(fb_fix.smem_start) & (~PAGE_MASK);
++    fb_mem_offset = (unsigned long)(fb_fix.smem_start) & ~(sysconf(_SC_PAGE_SIZE)-1);
+     fb_mem = mmap(NULL,fb_fix.smem_len+fb_mem_offset,
+ 		  PROT_READ|PROT_WRITE,MAP_SHARED,fb,0);
+     if (-1L == (long)fb_mem) {
+diff -urN ../tmp-orig/xawtv-3.95/console/matrox.c ./console/matrox.c
+--- xawtv-3.95/console/matrox.c	2005-02-03 10:40:41.000000000 +0000
++++ xawtv-3.95/console/matrox.c	2006-08-23 11:09:51.000000000 +0000
+@@ -9,7 +9,6 @@
+ #include <sys/ioctl.h>
+ #include <sys/mman.h>
+ 
+-#include <asm/page.h> /* PAGE_SIZE */
+ #include <linux/fb.h>
+ 
+ #include "byteswap.h"
+@@ -226,7 +225,7 @@
+ 	return -1;
+     }
+     off = (unsigned long)fb_fix.mmio_start -
+-	((unsigned long)fb_fix.mmio_start & ~(PAGE_SIZE-1));
++	((unsigned long)fb_fix.mmio_start & ~(sysconf(_SC_PAGE_SIZE)-1));
+     bmmio += off;
+     mmio = (uint32_t*)bmmio;
+     return 0;
+
diff --git a/pkgs/applications/window-managers/compiz-fusion/bcop/0.7.8.nix b/pkgs/applications/window-managers/compiz-fusion/bcop/0.7.8.nix
deleted file mode 100644
index 07ba60cd8333b..0000000000000
--- a/pkgs/applications/window-managers/compiz-fusion/bcop/0.7.8.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-args : with args;
-	let localDefs = builderDefs.passthru.function {
-		src = /* put a fetchurl here */
-	fetchurl {
-		url = http://releases.compiz-fusion.org/0.7.8/compiz-bcop-0.7.8.tar.bz2;
-		sha256 ="1rs5r5b6rl39vlw68i8bwm5izs5dm666kygmg1c8dy2dab0xsnkq";
-	};
-		buildInputs = (import ../general-dependencies.nix args);
-		propagatedBuildInputs = [getopt libxslt];
-		configureFlags = [];
-	} ;
-	in with localDefs;
-let 
-	fixPkgconfig = fullDepEntry ("
-		ensureDir \$out/lib
-		ln -fs \$out/share/pkgconfig \$out/lib/pkgconfig
-	") [minInit doMakeInstall defEnsureDir];
-	fixInterpreter = fullDepEntry ("
-		sed -e 's@^#!/bin/bash@#! ${stdenv.bash}/bin/bash@' -i \$out/bin/bcop
-	") [minInit doMakeInstall];
-in
-stdenv.mkDerivation rec {
-	name = "compiz-bcop-"+version;
-	builder = writeScript (name + "-builder")
-		(textClosure localDefs [doAutotools doConfigure doMakeInstall fixPkgconfig fixInterpreter doForceShare 
-			doPropagate]);
-	inherit propagatedBuildInputs;
-	meta = {
-		description = "
-	Compiz BCOP.
-";
-		inherit src;
-	};
-}
diff --git a/pkgs/applications/window-managers/compiz-fusion/ccsm-simple/0.7.8.nix b/pkgs/applications/window-managers/compiz-fusion/ccsm-simple/0.7.8.nix
deleted file mode 100644
index d739b54a5341d..0000000000000
--- a/pkgs/applications/window-managers/compiz-fusion/ccsm-simple/0.7.8.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-args : with args;
-	let localDefs = builderDefs.passthru.function {
-		src = /* put a fetchurl here */
-	fetchurl {
-		url = http://releases.compiz-fusion.org/0.7.8/simple-ccsm-0.7.8.tar.bz2;
-		sha256 ="0djdzz1m9nvwzxfaywdm90bi816nig2ybfynf48394a5hpsng3l9";
-	};
-		buildInputs = (import ../general-dependencies.nix args) ++
-			[libcompizconfig bcop compizConfigPython python gettext pygtk 
-			pycairo configBackendGConf];
-		configureFlags = [];
-		wrappedEnv = [
-			"PYTHONPATH" "$(toPythonPath \$out)"
-			"PYTHONPATH" "\$PYTHONPATH"
-			"PYTHONPATH" "$(toPythonPath ${pygtk})/gtk-2.0"
-		];
-	} ;
-	in with localDefs;
-stdenv.mkDerivation rec {
-	name = "compizconfig-settings-"+args.version;
-	builder = writeScript (name + "-builder")
-		(textClosure localDefs [installPythonPackage (doWrap "\$out/bin/simple-ccsm")]);
-	meta = {
-		description = "
-	Compiz Settings Manager (simplified)
-";
-		inherit src;
-	};
-}
diff --git a/pkgs/applications/window-managers/compiz-fusion/ccsm/0.7.8.nix b/pkgs/applications/window-managers/compiz-fusion/ccsm/0.7.8.nix
deleted file mode 100644
index 385819afd4c32..0000000000000
--- a/pkgs/applications/window-managers/compiz-fusion/ccsm/0.7.8.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-args : with args;
-	let localDefs = builderDefs.passthru.function {
-		src = /* put a fetchurl here */
-	fetchurl {
-		url = http://releases.compiz-fusion.org/0.7.8/ccsm-0.7.8.tar.bz2;
-		sha256 ="0s8difywj0ghc8c5xjxihfp8qhlhv5kyh00c2br1jh2ap5rrdfgc";
-	};
-		buildInputs = (import ../general-dependencies.nix args) ++
-			[libcompizconfig bcop compizConfigPython python gettext pygtk 
-			pycairo configBackendGConf];
-		configureFlags = [];
-		wrappedEnv = [
-			"PYTHONPATH" "$(toPythonPath \$out)"
-			"PYTHONPATH" "\$PYTHONPATH"
-			"PYTHONPATH" "$(toPythonPath ${pygtk})/gtk-2.0"
-		];
-	} ;
-	in with localDefs;
-stdenv.mkDerivation rec {
-	name = "compizconfig-settings-"+args.version;
-	builder = writeScript (name + "-builder")
-		(textClosure localDefs [installPythonPackage (doWrap "\$out/bin/ccsm")]);
-	meta = {
-		description = "
-	Compiz Settings Manager
-";
-		inherit src;
-	};
-}
diff --git a/pkgs/applications/window-managers/compiz-fusion/compizconfig-python/0.7.8.nix b/pkgs/applications/window-managers/compiz-fusion/compizconfig-python/0.7.8.nix
deleted file mode 100644
index d92349e238b2b..0000000000000
--- a/pkgs/applications/window-managers/compiz-fusion/compizconfig-python/0.7.8.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-args : with args;
-	let localDefs = builderDefs.passthru.function {
-		src = /* put a fetchurl here */
-	fetchurl {
-		url = http://releases.compiz-fusion.org/0.7.8/compizconfig-python-0.7.8.tar.bz2;
-		sha256 ="13g8vpgkimrbp19pd475ijiwbqx3zin0nzq8636l71yaqb0kjfjn";
-	};
-		buildInputs = (import ../general-dependencies.nix args) ++
-			[libcompizconfig bcop python pyrex configBackendGConf];
-		configureFlags = [];
-	} ;
-	in with localDefs;
-stdenv.mkDerivation rec {
-	name = "compizconfig-python-"+args.version;
-	builder = writeScript (name + "-builder")
-		(textClosure localDefs [doAutotools doConfigure doMakeInstall doForceShare]);
-	meta = {
-		description = "
-	Compiz configuration - Python part.
-";
-		inherit src;
-	};
-}
diff --git a/pkgs/applications/window-managers/compiz-fusion/config-backend/0.7.8.nix b/pkgs/applications/window-managers/compiz-fusion/config-backend/0.7.8.nix
deleted file mode 100644
index f6f1f1545b039..0000000000000
--- a/pkgs/applications/window-managers/compiz-fusion/config-backend/0.7.8.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-args : with args;
-	let localDefs = builderDefs.passthru.function {
-		src = /* put a fetchurl here */
-	fetchurl {
-		url = http://releases.compiz-fusion.org/0.7.8/compizconfig-backend-gconf-0.7.8.tar.bz2;
-		sha256 ="18bcfx3c2ipj3spfr8dg07h98pw77jh28w91w6n2fd5ffr6ja9q5";
-	};
-		buildInputs = (import ../general-dependencies.nix args) ++
-			[bcop libcompizconfig];
-		configureFlags = [];
-		forceShare = ["man" "doc" "info" "lib/compizconfig"];
-	} ;
-	in with localDefs;
-stdenv.mkDerivation rec {
-	name = "compizconfig-backend-GConf-"+version;
-	builder = writeScript (name + "-builder")
-		(textClosure localDefs [doAutotools doConfigure doMakeInstall doForceShare doPropagate]);
-	meta = {
-		description = "
-	Compiz configuration backend (GConf).
-";
-		inherit src;
-	};
-}
diff --git a/pkgs/applications/window-managers/compiz-fusion/default.nix b/pkgs/applications/window-managers/compiz-fusion/default.nix
deleted file mode 100644
index bfd0810facf01..0000000000000
--- a/pkgs/applications/window-managers/compiz-fusion/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-args : with args;
-rec
-{
-        selectVersion = dir: import (dir + "/${args.version}.nix");
-	bcop = selectVersion ./bcop args;
-	libcompizconfig = selectVersion ./libcompizconfig (args // {inherit bcop;});
-	configBackendGConf = selectVersion ./config-backend (args // {inherit bcop libcompizconfig;});
-	compizConfigPython = selectVersion ./compizconfig-python (args // {inherit libcompizconfig 
-		bcop pyrex configBackendGConf;});
-	ccsm = selectVersion ./ccsm (args // {inherit libcompizconfig bcop compizConfigPython configBackendGConf;});
-	pluginsMain = selectVersion ./main (args //{inherit bcop ;});
-	pluginsExtra = selectVersion ./extra (args //{inherit bcop pluginsMain;});
-	compizManager = (import ./compiz-manager/0.6.0.nix) (args // {inherit bcop ccsm;});
-	ccsmSimple = selectVersion ./ccsm-simple (args // {inherit libcompizconfig bcop compizConfigPython configBackendGConf;});
-}
diff --git a/pkgs/applications/window-managers/compiz-fusion/extra/0.7.8.nix b/pkgs/applications/window-managers/compiz-fusion/extra/0.7.8.nix
deleted file mode 100644
index 7ea173e156115..0000000000000
--- a/pkgs/applications/window-managers/compiz-fusion/extra/0.7.8.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-args : with args;
-	let localDefs = builderDefs.passthru.function {
-		src = /* put a fetchurl here */
-	fetchurl {
-		url = http://releases.compiz-fusion.org/0.7.8/compiz-fusion-plugins-extra-0.7.8.tar.bz2;
-		sha256 ="0hdnabq1bxln5cf6k9532iszj5qbhwkyl3b5d1gwfr80i01qxzy9";
-	};
-		buildInputs = (import ../general-dependencies.nix args)++
-		[bcop libjpeg gettext pluginsMain];
-		configureFlags = [];
-	} ;
-	in with localDefs;
-let
-	sharePlugins = fullDepEntry ("
-		ensureDir \$out/share/compiz-plugins
-		ln -vsf \$out/lib/compiz \$out/share/compiz-plugins
-	") [minInit doMakeInstall defEnsureDir];
-	fixIncludes = fullDepEntry (''
-		export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${pluginsMain}/include/compiz"
-	'') [minInit doUnpack];
-in
-stdenv.mkDerivation rec {
-	name = "compiz-fusion-plugins-extra-"+version;
-	builder = writeScript (name + "-builder")
-		(textClosure localDefs [fixIncludes doConfigure doMakeInstall sharePlugins doForceShare]);
-	meta = {
-		description = "
-	Extra Compiz Fusion plugins.
-";
-		inherit src;
-	};
-}
diff --git a/pkgs/applications/window-managers/compiz-fusion/general-dependencies.nix b/pkgs/applications/window-managers/compiz-fusion/general-dependencies.nix
deleted file mode 100644
index f83ae7d1c8bfd..0000000000000
--- a/pkgs/applications/window-managers/compiz-fusion/general-dependencies.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Ubuntu dependencies
-build-essential libxcomposite-dev libpng12-dev libsm-dev libxrandr-dev libxdamage-dev libxinerama-dev libstartup-notification0-dev libgconf2-dev libgl1-mesa-dev libglu1-mesa-dev libmetacity-dev librsvg2-dev libdbus-1-dev libdbus-glib-1-dev libgnome-desktop-dev libgnome-window-settings-dev gitweb curl autoconf automake automake1.9 libtool intltool libxslt1-dev xsltproc libwnck-dev
-*/
-args: with args;
-[
-	libpng 
-	GConf mesa metacity librsvg dbus.libs dbus_glib gnomedesktop git autoconf automake
-	libtool libxslt libwnck intltool perl perlXMLParser compiz pkgconfig libxml2
-	gettext 
-]
diff --git a/pkgs/applications/window-managers/compiz-fusion/libcompizconfig/0.7.8.nix b/pkgs/applications/window-managers/compiz-fusion/libcompizconfig/0.7.8.nix
deleted file mode 100644
index 0ea38bd45202c..0000000000000
--- a/pkgs/applications/window-managers/compiz-fusion/libcompizconfig/0.7.8.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-args : with args;
-	let localDefs = builderDefs.passthru.function {
-		src = /* put a fetchurl here */
-	fetchurl {
-		url = http://releases.compiz-fusion.org/0.7.8/libcompizconfig-0.7.8.tar.bz2;
-		sha256 ="1026icgzyjxnn68gbkd85n9p8pxlwbc3h0dqqvpqmr93q1nhdmjr";
-	};
-		buildInputs = (import ../general-dependencies.nix args)++
-			[bcop];
-		configureFlags = [];
-	} ;
-	in with localDefs;
-stdenv.mkDerivation rec {
-	name = "libcompizconfig-"+version;
-	builder = writeScript (name + "-builder")
-		(textClosure localDefs [doIntltool doAutotools doConfigure doMakeInstall doForceShare]);
-	meta = {
-		description = "
-	Compiz configuration backend library.
-";
-		inherit src;
-	};
-}
diff --git a/pkgs/applications/window-managers/compiz-fusion/main/0.7.8.nix b/pkgs/applications/window-managers/compiz-fusion/main/0.7.8.nix
deleted file mode 100644
index fd4bb896c0cec..0000000000000
--- a/pkgs/applications/window-managers/compiz-fusion/main/0.7.8.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-args : with args;
-	let localDefs = builderDefs.passthru.function {
-		src = /* put a fetchurl here */
-	fetchurl {
-		url = http://releases.compiz-fusion.org/0.7.8/compiz-fusion-plugins-main-0.7.8.tar.bz2;
-		sha256 ="0lrvqi8kc8m6yap8pqbdg0wksckd3v3rp3k48q82pyvcwhaaf817";
-	};
-		buildInputs = (import ../general-dependencies.nix args)++
-		[bcop libjpeg gettext];
-		configureFlags = [];
-	} ;
-	in with localDefs;
-let
-	sharePlugins = fullDepEntry ("
-		ensureDir \$out/share/compiz-plugins
-		ln -vsf \$out/lib/compiz \$out/share/compiz-plugins
-	") [minInit doMakeInstall defEnsureDir];
-in
-stdenv.mkDerivation rec {
-	name = "compiz-fusion-plugins-main-"+version;
-	builder = writeScript (name + "-builder")
-		(textClosure localDefs [doConfigure doMakeInstall sharePlugins doForceShare]);
-	meta = {
-		description = "
-	Main Compiz Fusion plugins.
-";
-		inherit src;
-	};
-}
diff --git a/pkgs/applications/window-managers/compiz/0.8.0.nix b/pkgs/applications/window-managers/compiz/0.8.0.nix
deleted file mode 100644
index 40215b2b54955..0000000000000
--- a/pkgs/applications/window-managers/compiz/0.8.0.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-args : with args;
-rec {
-  src = fetchurl {
-      url = "http://releases.compiz-fusion.org/core/compiz-0.8.0.tar.gz";
-      sha256 = "0xhyilfz2cfbdwni774b54171addjqw7hda6j6snzxb1igny7iry";
-    };
-
-  buildInputs = [
-    pkgconfig gtk libwnck GConf libgnome
-    libgnomeui metacity gnomegtk glib pango libglade libgtkhtml
-    gtkhtml libgnomecanvas libgnomeprint libgnomeprintui gnomepanel
-    librsvg fuse gettext intltool binutils
-  ];
-  propagatedBuildInputs = [
-    libpng libXcomposite libXfixes libXdamage libXrandr libXinerama
-    libICE libSM startupnotification mesa GConf perl perlXMLParser libxslt
-    dbus.libs dbus_glib compositeproto fixesproto damageproto randrproto
-    xineramaproto renderproto kbproto xextproto libXrender xproto libX11
-    libxcb
-  ];
-
-  postAll = fullDepEntry ("
-    for i in $out/bin/*; do
-     patchelf --set-rpath /var/run/opengl-driver/lib:$(patchelf --print-rpath $i) $i
-    done
-    ensureDir \$out/share/compiz-plugins/
-    ln -sfv \$out/lib/compiz \$out/share/compiz-plugins/
-  ") ["minInit" "doMakeInstall" "defEnsureDir"];
-
-  configureFlags = ["--enable-gtk" "--enable-fuse"
-          "--enable-annotate" "--enable-librsvg"] ++
-          (if args ? extraConfigureFlags then args.extraConfigureFlags else []);
-
-  /* doConfigure should be specified separately */
-  phaseNames = [ "doPatch" "doConfigure" "doMakeInstall" "doPropagate"
-			"doForceShare" "postAll" ];
-
-  name = "compiz-0.8.0";
-
-  meta = {
-          description = "Compiz window manager";
-          inherit src;
-  };
-}
diff --git a/pkgs/applications/window-managers/compiz/bcop.nix b/pkgs/applications/window-managers/compiz/bcop.nix
new file mode 100644
index 0000000000000..254393d4c7fcf
--- /dev/null
+++ b/pkgs/applications/window-managers/compiz/bcop.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, pkgconfig, libxslt }:
+
+stdenv.mkDerivation rec {
+  name = "compiz-bcop-0.8.4";
+
+  src = fetchurl {
+    url = "http://releases.compiz.org/components/compiz-bcop/${name}.tar.bz2";
+    sha256 = "0kwcvalmx2aab7j3x7s0xqm102i3kr5gh1z8mfws9q4qkqdclnfk";
+  };
+
+  buildInputs = [ pkgconfig libxslt ];
+    
+  meta = {
+    homepage = http://www.compiz.org/;
+    description = "Code generator for Compiz plugins";
+  };
+}
diff --git a/pkgs/applications/window-managers/compiz/ccsm.nix b/pkgs/applications/window-managers/compiz/ccsm.nix
new file mode 100644
index 0000000000000..0406a170d1900
--- /dev/null
+++ b/pkgs/applications/window-managers/compiz/ccsm.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, makeWrapper, intltool, gtk
+, python, pygtk, pygobject, pycairo, compizconfig_python }:
+
+stdenv.mkDerivation rec {
+  name = "ccsm-0.8.4";
+
+  src = fetchurl {
+    url = "http://releases.compiz.org/components/ccsm/${name}.tar.bz2";
+    sha256 = "0vf16a2nmb0qwwxymvgl86nkfscj3n39jdw2q2p737pj5h1xmfa6";
+  };
+
+  buildInputs = [ makeWrapper python intltool gtk ];
+
+  buildPhase = "python setup.py build --prefix=$out";
+
+  pythonDeps = [ pygtk pygobject pycairo compizconfig_python ];
+
+  installPhase =
+    ''
+      python setup.py install --prefix=$out
+
+      wrapProgram $out/bin/ccsm --prefix PYTHONPATH ":" \
+          "$(toPythonPath "$pythonDeps $out")"
+    '';
+    
+  meta = {
+    homepage = http://www.compiz.org/;
+    description = "Compiz settings manager";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/compiz/config-python.nix b/pkgs/applications/window-managers/compiz/config-python.nix
new file mode 100644
index 0000000000000..4de7fb41a4886
--- /dev/null
+++ b/pkgs/applications/window-managers/compiz/config-python.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, xlibs, libcompizconfig, glib
+, python, pyrex }:
+
+stdenv.mkDerivation rec {
+  name = "compizconfig-python-0.8.4";
+
+  src = fetchurl {
+    url = "http://releases.compiz.org/components/compizconfig-python/${name}.tar.bz2";
+    sha256 = "0nkgqxddjw324aymzcy5nx6ilhfbpk9rra4qbzrq3l39xqsswd37";
+  };
+
+  buildInputs = [ pkgconfig libcompizconfig glib python pyrex xlibs.xlibs ];
+
+  NIX_LDFLAGS = "-lcompizconfig";
+
+  meta = {
+    homepage = http://www.compiz.org/;
+    description = "Python interface to the Compiz configuration";
+  };
+}
diff --git a/pkgs/applications/window-managers/compiz/core.nix b/pkgs/applications/window-managers/compiz/core.nix
new file mode 100644
index 0000000000000..ef5279613d093
--- /dev/null
+++ b/pkgs/applications/window-managers/compiz/core.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, intltool, pkgconfig, xlibs, mesa, libxml2, libxslt
+, libstartup_notification, libpng, glib, gtk, gnome, dbus_glib, librsvg, bzip2 }:
+
+let version = "0.8.6"; in
+
+stdenv.mkDerivation {
+  name = "compiz-${version}";
+
+  src = fetchurl {
+    url = "http://releases.compiz.org/${version}/compiz-${version}.tar.bz2";
+    sha256 = "132gmdawjmrmvazm31h3r3wwq97h58hz17yyc9sa6q2nkfsnkpy4";
+  };
+
+  patches =
+    [ # Allow the path to the Compiz plugin library and metadata
+      # directories to be overriden through $COMPIZ_PLUGINDIR and
+      # $COMPIZ_METADATADIR, respectively.
+      ./plugindir-core.patch
+    ];
+
+  buildInputs =
+    [ intltool pkgconfig libpng glib
+      gtk gnome.libwnck gnome.GConf dbus_glib librsvg bzip2
+    ];
+
+  propagatedBuildInputs =
+    [ xlibs.xlibs xlibs.libXfixes xlibs.libXrandr xlibs.libXrender
+      xlibs.libXdamage xlibs.libXcomposite xlibs.libXinerama
+      libstartup_notification mesa libxml2 libxslt 
+    ];
+
+  meta = {
+    homepage = http://www.compiz.org/;
+    description = "A compositing window manager";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/compiz/extra.nix b/pkgs/applications/window-managers/compiz/extra.nix
deleted file mode 100644
index 70f4e5dd8c383..0000000000000
--- a/pkgs/applications/window-managers/compiz/extra.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, compiz, perl, perlXMLParser, GConf, dbus, gtk
-}:
-
-stdenv.mkDerivation {
-  name = "compiz-extra-20070305";
-  src = fetchurl {
-    url = http://gandalfn.club.fr/ubuntu/compiz-extra/compiz-extra-latest.tar.bz2;
-    sha256 = "7fc7faafccfdf22dea7ac1de6629dcb55ec63d84fcb57a14559309cf284fa94f";
-  };
-  buildInputs = [
-    pkgconfig compiz perl perlXMLParser GConf dbus.libs gtk
-  ];
-  preBuild = "
-    makeFlagsArray=(moduledir=$out/lib/compiz)
-  ";
-  preConfigure = "touch m4/Makefile.in";
-}
diff --git a/pkgs/applications/window-managers/compiz/libcompizconfig.nix b/pkgs/applications/window-managers/compiz/libcompizconfig.nix
new file mode 100644
index 0000000000000..51d459e7a3663
--- /dev/null
+++ b/pkgs/applications/window-managers/compiz/libcompizconfig.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl,intltool, pkgconfig, xlibs, libxml2, libxslt, compiz }:
+
+stdenv.mkDerivation rec {
+  name = "libcompizconfig-0.8.4";
+
+  src = fetchurl {
+    url = "http://releases.compiz.org/components/libcompizconfig/${name}.tar.bz2";
+    sha256 = "0adhl2nc2zrswl5n4a8ipymffq6yjwnxgpkv6rsk7sqvby9kwca1";
+  };
+
+  patches =
+    [ # See ./core.nix.
+      ./plugindir-libcompizconfig.patch
+    ];
+
+  buildInputs = [ pkgconfig intltool xlibs.libX11 compiz libxml2 libxslt ];
+
+  meta = {
+    homepage = http://www.compiz.org/;
+    description = "Compiz configuration library";
+  };
+}
diff --git a/pkgs/applications/window-managers/compiz/plugindir-core.patch b/pkgs/applications/window-managers/compiz/plugindir-core.patch
new file mode 100644
index 0000000000000..5a242e66088f5
--- /dev/null
+++ b/pkgs/applications/window-managers/compiz/plugindir-core.patch
@@ -0,0 +1,39 @@
+diff -ru -x '*~' compiz-0.8.6-orig/src/metadata.c compiz-0.8.6/src/metadata.c
+--- compiz-0.8.6-orig/src/metadata.c	2010-03-28 14:15:35.000000000 +0200
++++ compiz-0.8.6/src/metadata.c	2010-10-20 00:22:47.000000000 +0200
+@@ -146,7 +146,7 @@
+ compAddMetadataFromFile (CompMetadata *metadata,
+ 			 const char   *file)
+ {
+-    char *home;
++    char *home, *metadatadir;
+     Bool status = FALSE;
+ 
+     home = getenv ("HOME");
+@@ -163,7 +163,10 @@
+ 	}
+     }
+ 
+-    status |= addMetadataFromFilename (metadata, METADATADIR, file);
++    metadatadir = getenv("COMPIZ_METADATADIR");
++    if (!metadatadir) metadatadir = METADATADIR;
++
++    status |= addMetadataFromFilename (metadata, metadatadir, file);
+     if (!status)
+     {
+ 	compLogMessage ("core", CompLogLevelWarn,
+diff -ru -x '*~' compiz-0.8.6-orig/src/plugin.c compiz-0.8.6/src/plugin.c
+--- compiz-0.8.6-orig/src/plugin.c	2010-03-28 14:15:35.000000000 +0200
++++ compiz-0.8.6/src/plugin.c	2010-10-20 00:25:16.000000000 +0200
+@@ -579,7 +579,10 @@
+ 	}
+     }
+ 
+-    status = (*loaderLoadPlugin) (p, PLUGINDIR, name);
++    plugindir = getenv("COMPIZ_PLUGINDIR");
++    if (!plugindir) plugindir = PLUGINDIR;
++
++    status = (*loaderLoadPlugin) (p, plugindir, name);
+     if (status)
+ 	return p;
+ 
diff --git a/pkgs/applications/window-managers/compiz/plugindir-libcompizconfig.patch b/pkgs/applications/window-managers/compiz/plugindir-libcompizconfig.patch
new file mode 100644
index 0000000000000..207816a3c518e
--- /dev/null
+++ b/pkgs/applications/window-managers/compiz/plugindir-libcompizconfig.patch
@@ -0,0 +1,39 @@
+diff -ru -x '*~' libcompizconfig-0.8.4-orig/src/compiz.cpp libcompizconfig-0.8.4/src/compiz.cpp
+--- libcompizconfig-0.8.4-orig/src/compiz.cpp	2009-10-14 02:36:04.000000000 +0200
++++ libcompizconfig-0.8.4/src/compiz.cpp	2010-10-20 00:35:28.000000000 +0200
+@@ -3004,7 +3004,10 @@
+ 	    }
+ 	}
+ 
+-	loadPluginFromXMLFile (context, xmlName, (char *) METADATADIR);
++        char *metadatadir = getenv("COMPIZ_METADATADIR");
++        if (!metadatadir) metadatadir = METADATADIR;
++
++	loadPluginFromXMLFile (context, xmlName, metadatadir);
+ 	free (xmlName);
+     }
+ 
+@@ -3031,7 +3034,10 @@
+ 	    free (homeplugins);
+ 	}
+     }
+-    loadPluginsFromXMLFiles (context, (char *)METADATADIR);
++    
++    char *metadatadir = getenv("COMPIZ_METADATADIR");
++    if (!metadatadir) metadatadir = METADATADIR;
++    loadPluginsFromXMLFiles (context, metadatadir);
+ 
+     if (home && strlen (home))
+     {
+@@ -3043,7 +3049,10 @@
+ 	    free (homeplugins);
+ 	}
+     }
+-    loadPluginsFromName (context, (char *)PLUGINDIR);
++
++    char *plugindir = getenv("COMPIZ_PLUGINDIR");
++    if (!plugindir) plugindir = PLUGINDIR;
++    loadPluginsFromName (context, plugindir);
+ }
+ 
+ static void
diff --git a/pkgs/applications/window-managers/compiz/plugins-extra.nix b/pkgs/applications/window-managers/compiz/plugins-extra.nix
new file mode 100644
index 0000000000000..8852ebd474ed7
--- /dev/null
+++ b/pkgs/applications/window-managers/compiz/plugins-extra.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, intltool, pkgconfig, compiz, compiz_bcop
+, compiz_plugins_main, getopt, libjpeg, cairo, pango, gnome }:
+
+let version = "0.8.6"; in
+
+stdenv.mkDerivation rec {
+  name = "compiz-plugins-extra-${version}";
+
+  src = fetchurl {
+    url = "http://releases.compiz.org/${version}/${name}.tar.bz2";
+    sha256 = "1qbxfi332bbadm0ah48frnrl9dkczl111s5a91a0cqz5v7nbw4g1";
+  };
+
+  patches =
+    [ # Support scaling wallpapers to the maximum size while still
+      # respecting the aspect ratio.
+      ./wallpaper-maxpect.patch
+    ];
+
+  NIX_CFLAGS_COMPILE = "-I${compiz_plugins_main}/include/compiz";
+
+  buildInputs =
+    [ intltool pkgconfig compiz compiz_bcop compiz_plugins_main getopt gnome.GConf ];
+
+  meta = {
+    homepage = http://www.compiz.org/;
+    description = "Extra plugins for Compiz";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/compiz/plugins-main.nix b/pkgs/applications/window-managers/compiz/plugins-main.nix
new file mode 100644
index 0000000000000..ea1c01e7414bb
--- /dev/null
+++ b/pkgs/applications/window-managers/compiz/plugins-main.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, intltool, pkgconfig, compiz, compiz_bcop
+, getopt, libjpeg, cairo, pango, gnome }:
+
+let version = "0.8.6"; in
+
+stdenv.mkDerivation rec {
+  name = "compiz-plugins-main-${version}";
+
+  src = fetchurl {
+    url = "http://releases.compiz.org/${version}/${name}.tar.bz2";
+    sha256 = "1nfn3r4q7wvzfkdh9hrm5zc816xa8cs2s7cliz0fmnqikcs4zp36";
+  };
+
+  buildInputs =
+    [ intltool pkgconfig compiz compiz_bcop getopt libjpeg cairo pango gnome.GConf ];
+
+  meta = {
+    homepage = http://www.compiz.org/;
+    description = "Main plugins for Compiz";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/compiz/wallpaper-maxpect.patch b/pkgs/applications/window-managers/compiz/wallpaper-maxpect.patch
new file mode 100644
index 0000000000000..8130dff1dba44
--- /dev/null
+++ b/pkgs/applications/window-managers/compiz/wallpaper-maxpect.patch
@@ -0,0 +1,58 @@
+diff -x '*~' -ru compiz-plugins-extra-0.8.6-orig/metadata/wallpaper.xml.in compiz-plugins-extra-0.8.6/metadata/wallpaper.xml.in
+--- compiz-plugins-extra-0.8.6-orig/metadata/wallpaper.xml.in	2010-03-29 16:09:17.000000000 +0200
++++ compiz-plugins-extra-0.8.6/metadata/wallpaper.xml.in	2010-10-21 00:23:18.000000000 +0200
+@@ -24,7 +24,7 @@
+ 					<_long>Image position.</_long>
+ 					<type>int</type>
+ 					<min>0</min>
+-					<max>4</max>
++					<max>5</max>
+ 					<desc>
+ 						<value>0</value>
+ 						<_name>Scale and Crop</_name>
+@@ -45,6 +45,10 @@
+ 						<value>4</value>
+ 						<_name>Center Tiled</_name>
+ 					</desc>
++					<desc>
++						<value>5</value>
++						<_name>Centered Maxpect</_name>
++					</desc>
+ 				</option>
+ 				<option name="bg_fill_type" type="list">
+ 					<_short>Fill type</_short>
+diff -x '*~' -ru compiz-plugins-extra-0.8.6-orig/src/wallpaper/wallpaper.c compiz-plugins-extra-0.8.6/src/wallpaper/wallpaper.c
+--- compiz-plugins-extra-0.8.6-orig/src/wallpaper/wallpaper.c	2010-03-29 16:09:18.000000000 +0200
++++ compiz-plugins-extra-0.8.6/src/wallpaper/wallpaper.c	2010-10-21 01:09:10.000000000 +0200
+@@ -697,12 +697,12 @@
+ 	    tmpMatrix = back->imgTex.matrix;
+ 
+ 
+-	    if (back->imagePos == BgImagePosScaleAndCrop)
++	    if ((back->imagePos == BgImagePosScaleAndCrop) || (back->imagePos == BgImagePosCenteredMaxpect))
+ 	    {
+ 		s1 = (float) s->width / back->width;
+ 		s2 = (float) s->height / back->height;
+ 		
+-		s1 = MAX (s1, s2);
++		s1 = back->imagePos == BgImagePosScaleAndCrop ? MAX (s1, s2) : MIN (s1, s2);
+ 
+ 		tmpMatrix.xx /= s1;
+ 		tmpMatrix.yy /= s1;
+@@ -711,6 +711,16 @@
+ 		tmpMatrix.x0 -= x * tmpMatrix.xx;
+ 		y = (s->height - ((int)back->height * s1)) / 2.0;
+ 		tmpMatrix.y0 -= y * tmpMatrix.yy;
++
++                if (back->imagePos == BgImagePosCenteredMaxpect)
++                {
++                    reg = &tmpRegion;
++		
++                    tmpRegion.extents.x1 = MAX (0, x);
++                    tmpRegion.extents.y1 = MAX (0, y);
++                    tmpRegion.extents.x2 = MIN (s->width, x + ((int) back->width * s1));
++                    tmpRegion.extents.y2 = MIN (s->height, y + ((int) back->height * s1));
++                }
+ 	    }
+ 	    else if (back->imagePos == BgImagePosScaled)
+ 	    {
diff --git a/pkgs/build-support/release/ant-build.nix b/pkgs/build-support/release/ant-build.nix
index e761205f663fd..779841aec6acf 100644
--- a/pkgs/build-support/release/ant-build.nix
+++ b/pkgs/build-support/release/ant-build.nix
@@ -1,5 +1,6 @@
 { src
-, stdenv
+, pkgs
+, stdenv ? pkgs.stdenv
 , name
 , antTargets ? []
 , jars ? []
@@ -7,14 +8,19 @@
 , antProperties ? []
 , antBuildInputs ? []
 , buildfile ? "build.xml"
+, ant ? pkgs.ant
+, jre ? pkgs.jre
+, hydraAntLogger ? pkgs.hydraAntLogger
 , ... } @ args:
 
 let
-  antFlags = "-f ${buildfile} " + stdenv.lib.concatMapStrings ({name, value}: "-D${name}=${value}" ) antProperties ;
+  antFlags = "-f ${buildfile} " + stdenv.lib.concatMapStrings ({name, value}: "-D${name}=${value} " ) antProperties ;
+  lib = stdenv.lib;
 in
 stdenv.mkDerivation (
 
   {
+    inherit jre ant;
     showBuildStats = true;
 
     postPhases =
@@ -44,14 +50,18 @@ stdenv.mkDerivation (
       done
     '';
 
-    generateWrappersPhase = '' 
+    generateWrappersPhase = 
+      let 
+        cp = w: "-cp ${lib.optionalString (w ? classPath) w.classPath}${lib.optionalString (w ? mainClass) ":$out/lib/java/${w.jar}"}";
+      in
+      '' 
       header "Generating jar wrappers"
     '' + (stdenv.lib.concatMapStrings (w: ''
 
       cat >> $out/bin/${w.name} <<EOF
       #! /bin/sh
       export JAVA_HOME=$jre
-      $jre/bin/java ${if w ? mainClass then "-cp $out/lib/java/${w.jar} ${w.mainClass}" else "-jar $out/lib/java/${w.jar}"} \$@
+      $jre/bin/java ${cp w} ${if w ? mainClass then w.mainClass else "-jar ${w.jar}"} \$@
       EOF
 
       chmod a+x $out/bin/${w.name} || exit 1
@@ -79,11 +89,13 @@ stdenv.mkDerivation (
       '';
   }
 
-  // removeAttrs args ["antProperties"] // 
+  // removeAttrs args ["antProperties" "buildInputs" "pkgs" "jarWrappers"] // 
 
   {
     name = name + (if src ? version then "-" + src.version else "");
   
+    buildInputs = [ant jre] ++ stdenv.lib.optional (args ? buildInputs) args.buildInputs ;
+
     postHook = ''
       ensureDir $out/nix-support
       echo "$system" > $out/nix-support/system
diff --git a/pkgs/build-support/release/default.nix b/pkgs/build-support/release/default.nix
index b7a362aa9f921..2cf2b1f8d6d90 100644
--- a/pkgs/build-support/release/default.nix
+++ b/pkgs/build-support/release/default.nix
@@ -15,7 +15,7 @@ rec {
     } // args);
 
   antBuild = args: import ./ant-build.nix (
-    { inherit stdenv;
+    { inherit pkgs;
     } // args);
 
   mvnBuild = args: import ./maven-build.nix (
diff --git a/pkgs/desktops/kde-4.5/accessibility/color-schemes.nix b/pkgs/desktops/kde-4.5/accessibility/color-schemes.nix
index b82ac5624a321..ff82529fded9c 100644
--- a/pkgs/desktops/kde-4.5/accessibility/color-schemes.nix
+++ b/pkgs/desktops/kde-4.5/accessibility/color-schemes.nix
@@ -8,7 +8,7 @@ kde.package {
     kde = {
       name = "ColorSchemes";
       module = "kdeaccessibility";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/accessibility/icon-themes.nix b/pkgs/desktops/kde-4.5/accessibility/icon-themes.nix
index d9f4b64baadf0..85280f9abbe94 100644
--- a/pkgs/desktops/kde-4.5/accessibility/icon-themes.nix
+++ b/pkgs/desktops/kde-4.5/accessibility/icon-themes.nix
@@ -8,7 +8,7 @@ kde.package {
     kde = {
       name = "IconThemes";
       module = "kdeaccessibility";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/accessibility/jovie.nix b/pkgs/desktops/kde-4.5/accessibility/jovie.nix
index 194532365b310..f86f047811bfa 100644
--- a/pkgs/desktops/kde-4.5/accessibility/jovie.nix
+++ b/pkgs/desktops/kde-4.5/accessibility/jovie.nix
@@ -10,7 +10,8 @@ kde.package {
       name = "jovie";
       module = "kdeaccessibility";
       version = "0.6.0";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "jovie/jovie/main.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/accessibility/kmag.nix b/pkgs/desktops/kde-4.5/accessibility/kmag.nix
index f97799a178e17..4800cb4d702d7 100644
--- a/pkgs/desktops/kde-4.5/accessibility/kmag.nix
+++ b/pkgs/desktops/kde-4.5/accessibility/kmag.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "kmag";
       module = "kdeaccessibility";
       version = "1.0";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "kmag/version.h";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/accessibility/kmousetool.nix b/pkgs/desktops/kde-4.5/accessibility/kmousetool.nix
index df978c37e3bfb..1c7f97304b07a 100644
--- a/pkgs/desktops/kde-4.5/accessibility/kmousetool.nix
+++ b/pkgs/desktops/kde-4.5/accessibility/kmousetool.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "kmousetool";
       module = "kdeaccessibility";
       version = "1.12";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "kmousetool/kmousetool/version.h";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/accessibility/kmouth.nix b/pkgs/desktops/kde-4.5/accessibility/kmouth.nix
index 8677f80203420..c8d5aa2b4e89d 100644
--- a/pkgs/desktops/kde-4.5/accessibility/kmouth.nix
+++ b/pkgs/desktops/kde-4.5/accessibility/kmouth.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "kmouth";
       module = "kdeaccessibility";
       version = "1.1.1";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "kmouth/version.h";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/admin/default.nix b/pkgs/desktops/kde-4.5/admin/default.nix
index e758c3e2eaee6..3165054774548 100644
--- a/pkgs/desktops/kde-4.5/admin/default.nix
+++ b/pkgs/desktops/kde-4.5/admin/default.nix
@@ -20,7 +20,7 @@ kde.package {
     license = "GPL";
     kde = {
       name = "kdeadmin";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/aurorae.nix b/pkgs/desktops/kde-4.5/artwork/aurorae.nix
index 6727a0fda5a8d..84f821c3a785e 100644
--- a/pkgs/desktops/kde-4.5/artwork/aurorae.nix
+++ b/pkgs/desktops/kde-4.5/artwork/aurorae.nix
@@ -8,7 +8,7 @@ kde.package rec {
     kde = {
       name = "aurorae";
       module = "kdeartwork";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/color-schemes.nix b/pkgs/desktops/kde-4.5/artwork/color-schemes.nix
index b4cf5d0f07b68..cbd78971fba6c 100644
--- a/pkgs/desktops/kde-4.5/artwork/color-schemes.nix
+++ b/pkgs/desktops/kde-4.5/artwork/color-schemes.nix
@@ -9,7 +9,7 @@ kde.package rec {
     kde = {
       name = "ColorSchemes";
       module = "kdeartwork";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/desktop-themes.nix b/pkgs/desktops/kde-4.5/artwork/desktop-themes.nix
index b762dec1f1ca5..6bf44984bf03c 100644
--- a/pkgs/desktops/kde-4.5/artwork/desktop-themes.nix
+++ b/pkgs/desktops/kde-4.5/artwork/desktop-themes.nix
@@ -9,7 +9,7 @@ kde.package rec {
     kde = {
       name = "desktopthemes";
       module = "kdeartwork";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/emoticons.nix b/pkgs/desktops/kde-4.5/artwork/emoticons.nix
index a9d2a2268353b..63f1500a05a20 100644
--- a/pkgs/desktops/kde-4.5/artwork/emoticons.nix
+++ b/pkgs/desktops/kde-4.5/artwork/emoticons.nix
@@ -9,7 +9,7 @@ kde.package rec {
     kde = {
       name = "emoticons";
       module = "kdeartwork";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/high-resolution-wallpapers.nix b/pkgs/desktops/kde-4.5/artwork/high-resolution-wallpapers.nix
index ad6353d1b0261..e8ab8037ff820 100644
--- a/pkgs/desktops/kde-4.5/artwork/high-resolution-wallpapers.nix
+++ b/pkgs/desktops/kde-4.5/artwork/high-resolution-wallpapers.nix
@@ -9,7 +9,7 @@ kde.package rec {
     kde = {
       name = "HighResolutionWallpapers";
       module = "kdeartwork";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/kscreensaver.nix b/pkgs/desktops/kde-4.5/artwork/kscreensaver.nix
index f87527e71ab0f..791364b236f6c 100644
--- a/pkgs/desktops/kde-4.5/artwork/kscreensaver.nix
+++ b/pkgs/desktops/kde-4.5/artwork/kscreensaver.nix
@@ -9,7 +9,8 @@ kde.package rec {
       name = "kscreensaver";
       module = "kdeartwork";
       version = "1.0";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "kscreensaver/kpartsaver/kpartsaver.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/nuvola-icon-theme.nix b/pkgs/desktops/kde-4.5/artwork/nuvola-icon-theme.nix
index 34f50b90269a7..05148567ea7d9 100644
--- a/pkgs/desktops/kde-4.5/artwork/nuvola-icon-theme.nix
+++ b/pkgs/desktops/kde-4.5/artwork/nuvola-icon-theme.nix
@@ -10,7 +10,7 @@ kde.package rec {
     kde = {
       name = "IconThemes";
       module = "kdeartwork";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/phase-style.nix b/pkgs/desktops/kde-4.5/artwork/phase-style.nix
index 5443d808ce986..64ad1e4a983a2 100644
--- a/pkgs/desktops/kde-4.5/artwork/phase-style.nix
+++ b/pkgs/desktops/kde-4.5/artwork/phase-style.nix
@@ -9,7 +9,7 @@ kde.package rec {
     kde = {
       name = "styles";
       module = "kdeartwork";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/sounds.nix b/pkgs/desktops/kde-4.5/artwork/sounds.nix
index 02cbf00c02770..29622bf5bc6dd 100644
--- a/pkgs/desktops/kde-4.5/artwork/sounds.nix
+++ b/pkgs/desktops/kde-4.5/artwork/sounds.nix
@@ -9,7 +9,7 @@ kde.package rec {
     kde = {
       name = "sounds";
       module = "kdeartwork";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/wallpapers.nix b/pkgs/desktops/kde-4.5/artwork/wallpapers.nix
index 54f0165e1ad18..923814f6ca8d3 100644
--- a/pkgs/desktops/kde-4.5/artwork/wallpapers.nix
+++ b/pkgs/desktops/kde-4.5/artwork/wallpapers.nix
@@ -9,7 +9,7 @@ kde.package rec {
     kde = {
       name = "wallpapers";
       module = "kdeartwork";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/weather-wallpapers.nix b/pkgs/desktops/kde-4.5/artwork/weather-wallpapers.nix
index 98f68a7cfdb3f..bfee1a86e789d 100644
--- a/pkgs/desktops/kde-4.5/artwork/weather-wallpapers.nix
+++ b/pkgs/desktops/kde-4.5/artwork/weather-wallpapers.nix
@@ -9,7 +9,7 @@ kde.package rec {
     kde = {
       name = "WeatherWallpapers";
       module = "kdeartwork";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/base-runtime/default.nix b/pkgs/desktops/kde-4.5/base-runtime/default.nix
index 02fa06e2961f2..aa44b9d2e8c91 100644
--- a/pkgs/desktops/kde-4.5/base-runtime/default.nix
+++ b/pkgs/desktops/kde-4.5/base-runtime/default.nix
@@ -21,7 +21,7 @@ kde.package {
     license = "LGPL";
     kde = {
       name = "kdebase-runtime";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/base-workspace/default.nix b/pkgs/desktops/kde-4.5/base-workspace/default.nix
index 6bd2393753cd7..916e302acdf1b 100644
--- a/pkgs/desktops/kde-4.5/base-workspace/default.nix
+++ b/pkgs/desktops/kde-4.5/base-workspace/default.nix
@@ -21,7 +21,7 @@ kde.package {
     license = "GPL";
     kde = {
       name = "kdebase-workspace";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/base/default.nix b/pkgs/desktops/kde-4.5/base/default.nix
index 6c60bbcebbbb0..f06bf0033085c 100644
--- a/pkgs/desktops/kde-4.5/base/default.nix
+++ b/pkgs/desktops/kde-4.5/base/default.nix
@@ -13,7 +13,7 @@ kde.package {
     license = "GPL";
     kde = {
       name = "kdebase";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/bindings/default.nix b/pkgs/desktops/kde-4.5/bindings/default.nix
index 678bef352f140..17dd970898bb6 100644
--- a/pkgs/desktops/kde-4.5/bindings/default.nix
+++ b/pkgs/desktops/kde-4.5/bindings/default.nix
@@ -30,7 +30,7 @@ kde.package rec {
     license = "LGPL";
     kde = {
       name = "kdebindings";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/default.nix b/pkgs/desktops/kde-4.5/default.nix
index 7630d136a8f5c..8ff7e97019908 100644
--- a/pkgs/desktops/kde-4.5/default.nix
+++ b/pkgs/desktops/kde-4.5/default.nix
@@ -1,6 +1,23 @@
-{ callPackage, stdenv, fetchurl, qt47 } :
+{ callPackage, recurseIntoAttrs, runCommand, stdenv, fetchurl, qt47 } :
 
-{
+let
+
+  version = "4.5.2";
+
+  # Various packages (e.g. kdesdk) have been split up into many
+  # smaller packages.  Some people may want to install the entire
+  # package, so provide a wrapper package that recombines them.
+  combinePkgs = name: pkgs:
+    let pkgs' = stdenv.lib.attrValues pkgs; in
+    runCommand "${name}-${version}" ({ passthru = pkgs // { inherit pkgs; }; })
+      ''
+        mkdir -p $out/nix-support
+        echo ${toString pkgs'} > $out/nix-support/propagated-user-env-packages
+      '';
+
+in
+
+recurseIntoAttrs rec {
   recurseForRelease = true;
 
   inherit callPackage stdenv;
@@ -47,8 +64,8 @@
   kdebase_runtime = callPackage ./base-runtime { };
 
 ### OTHER MODULES
-  kdeaccessibility = {
-    recurseForDerivations = true;
+
+  kdeaccessibility = combinePkgs "kdeaccessibility" {
     colorSchemes = callPackage ./accessibility/color-schemes.nix { };
     iconThemes = callPackage ./accessibility/icon-themes.nix { };
     jovie = callPackage ./accessibility/jovie.nix { };
@@ -58,8 +75,8 @@
   };
 
   kdeadmin = callPackage ./admin { };
-  kdeartwork = {
-    recurseForDerivations = true;
+  
+  kdeartwork = combinePkgs "kdeartwork" {
     aurorae = callPackage ./artwork/aurorae.nix { };
     colorSchemes = callPackage ./artwork/color-schemes.nix { };
     desktop_themes = callPackage ./artwork/desktop-themes.nix { };
@@ -72,14 +89,15 @@
     phase_style = callPackage ./artwork/phase-style.nix { };
     kscreensaver = callPackage ./artwork/kscreensaver.nix { };
   };
+  
   kdeedu = callPackage ./edu { };
   kdegames = callPackage ./games { };
   kdegraphics = callPackage ./graphics { };
   kdemultimedia = callPackage ./multimedia { };
   kdenetwork = callPackage ./network { };
   kdeplasma_addons = callPackage ./plasma-addons { };
-  kdesdk = {
-    recurseForDerivations = true;
+  
+  kdesdk = combinePkgs "kdesdk" {
     cervisia = callPackage ./sdk/cervisia.nix { };
     kapptemplate = callPackage ./sdk/kapptemplate.nix { };
     kate = callPackage ./sdk/kate.nix { };
@@ -101,14 +119,14 @@
     scripts = callPackage ./sdk/scripts.nix { };
     umbrello = callPackage ./sdk/umbrello.nix { };
   };
-  kdetoys = {
-    recurseForDerivations = true;
+  
+  kdetoys = combinePkgs "kdetoys" {
     amor = callPackage ./toys/amor.nix { };
     kteatime = callPackage ./toys/kteatime.nix { };
     ktux = callPackage ./toys/ktux.nix { };
   };
 
-  kdeutils = {
+  kdeutils = combinePkgs "kdeutils" {
     ark = callPackage ./utils/ark.nix { };
     kcalc = callPackage ./utils/kcalc.nix { };
     kcharselect = callPackage ./utils/kcharselect.nix { };
@@ -122,11 +140,9 @@
     printer_applet = callPackage ./utils/printer-applet.nix { };
     superkaramba = callPackage ./utils/superkaramba.nix { };
     sweeper = callPackage ./utils/sweeper.nix { };
-    recurseForRelease = true;
   };
 
-  kdewebdev = {
-    recurseForDerivations = true;
+  kdewebdev = combinePkgs "kdewebdev" {
     klinkstatus = callPackage ./webdev/klinkstatus.nix { };
     kommander = callPackage ./webdev/kommander.nix { };
     kfilereplace = callPackage ./webdev/kfilereplace.nix { };
@@ -139,9 +155,15 @@
   # Experimental 4.5 versions
   kdepim_runtime45 = callPackage ./pim-runtime45 { };
   kdepim45 = callPackage ./pim45 { };
+  
 ### DEVELOPMENT
 
   kdebindings = callPackage ./bindings { };
 
   l10n = callPackage ./l10n { };
+
+  # Make the split packages visible to `nix-env -q'.
+  misc = recurseIntoAttrs
+    (kdeaccessibility.pkgs // kdeartwork.pkgs // kdesdk.pkgs // kdetoys.pkgs // kdeutils.pkgs // kdewebdev.pkgs);
+
 }
diff --git a/pkgs/desktops/kde-4.5/edu/default.nix b/pkgs/desktops/kde-4.5/edu/default.nix
index ac8e37e79f584..883bf1a22734c 100644
--- a/pkgs/desktops/kde-4.5/edu/default.nix
+++ b/pkgs/desktops/kde-4.5/edu/default.nix
@@ -23,7 +23,7 @@ kde.package {
     license = "GPL";
     kde = {
       name = "kdeedu";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/games/default.nix b/pkgs/desktops/kde-4.5/games/default.nix
index 88d5e1ce33b90..c8f90d134123c 100644
--- a/pkgs/desktops/kde-4.5/games/default.nix
+++ b/pkgs/desktops/kde-4.5/games/default.nix
@@ -16,7 +16,7 @@ kde.package {
     license = "GPL";
     kde = {
       name = "kdegames";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/graphics/default.nix b/pkgs/desktops/kde-4.5/graphics/default.nix
index c8de3c6163362..b9c2d8955d943 100644
--- a/pkgs/desktops/kde-4.5/graphics/default.nix
+++ b/pkgs/desktops/kde-4.5/graphics/default.nix
@@ -17,7 +17,7 @@ kde.package {
     license = "GPL";
     kde = {
       name = "kdegraphics";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/kde-package/manifest.nix b/pkgs/desktops/kde-4.5/kde-package/manifest.nix
index 688f258195049..7a6a8f128c47e 100644
--- a/pkgs/desktops/kde-4.5/kde-package/manifest.nix
+++ b/pkgs/desktops/kde-4.5/kde-package/manifest.nix
@@ -99,4 +99,85 @@ builtins.listToAttrs
 {
   name = "kdepim-runtime-4.4.6.tar.bz2";
   value = "1y0xxwsq9wlwbkd661i4f1iqvpzg3sbi3lq9dir45fjx406chgmd";
-}]
+}
+{
+  name = "kdeaccessibility-4.5.2.tar.bz2";
+  value = "1iv94vvngxs94vl3ssjq1y2sd50wcc7s7gvngwqj534qjd1fj3a2";
+}
+{
+  name = "kdeadmin-4.5.2.tar.bz2";
+  value = "1gy0p9vfx8k1ni92n6p8fhq32i7dazs2vls7f5na8hc6s5wsn861";
+}
+{
+  name = "kdeartwork-4.5.2.tar.bz2";
+  value = "0y7rj70x861a07r80skldzkkbqhh41gsv2vh8cg1n4hqq4l5nj5y";
+}
+{
+  name = "kdebase-4.5.2.tar.bz2";
+  value = "1hwcd3k25bhi73hps4rqc3rh87sdf8syvv0jx4prc6qd2cpjxvp6";
+}
+{
+  name = "kdebase-runtime-4.5.2.tar.bz2";
+  value = "04dbjhkl1zfys6rhjrk3dmqqwzw4hh0hyrm6rn8f1gbiqfcgrkfy";
+}
+{
+  name = "kdebase-workspace-4.5.2.tar.bz2";
+  value = "17jd2ixvsk9f0z30ksmjaasdfza39c80d0ylzkpdjf9nkiiv1pn8";
+}
+{
+  name = "kdebindings-4.5.2.tar.bz2";
+  value = "077n2g4mmfkg7xvz7v8f0m79sp2f72f56ari14j4x073vgf51hfs";
+}
+{
+  name = "kdeedu-4.5.2.tar.bz2";
+  value = "1ljp5jm5iml2s1jdi1n5h8hzqsl7pq98vcdj9bi1pjq3l87gh4i5";
+}
+{
+  name = "kdegames-4.5.2.tar.bz2";
+  value = "0vld69dz2src7ya92a5nqi0739whldxvgphyxm9bavk69x6g129c";
+}
+{
+  name = "kdegraphics-4.5.2.tar.bz2";
+  value = "0zl1df2srnf7xsivyws3zicrj6bginjn6rgi0iq6hx3q9l5lah2d";
+}
+{
+  name = "kdelibs-4.5.2.tar.bz2";
+  value = "1hxlqvcwys1snhahrv1lryv95sh042jikscqmm6vind03pcqrq09";
+}
+{
+  name = "kdemultimedia-4.5.2.tar.bz2";
+  value = "1gxmal28m83r9imasv3nw4c091kllpkivfws8aal63r0dg5n5fy2";
+}
+{
+  name = "kdenetwork-4.5.2.tar.bz2";
+  value = "0k59zf8m34b7xp4h9mj328gjnr73l2d7vf4b4aikv0m2damryp7a";
+}
+{
+  name = "kdepimlibs-4.5.2.tar.bz2";
+  value = "0bag9jhr1azadcz01rfdhdl8nfk6w4cjw3w2zxardar5ri129v2b";
+}
+{
+  name = "kdeplasma-addons-4.5.2.tar.bz2";
+  value = "1pdlwbadk3qyh9rxj4j2b2wjfn7dmi9jcargahc7p7pb8mf0pizw";
+}
+{
+  name = "kdesdk-4.5.2.tar.bz2";
+  value = "0ii7gmshw4207i0hlzz3fl5kc21i4vx2v29jw10ri1vz7pmv9v9q";
+}
+{
+  name = "kdetoys-4.5.2.tar.bz2";
+  value = "01kn14lh00ig33r98xjly37ad7w1cwvc4l02hswbqr99smksxn33";
+}
+{
+  name = "kdeutils-4.5.2.tar.bz2";
+  value = "1rh4s60wx253adw7z1j0sp29l43y7xvd2516bwxq0sn8bmp3w7nr";
+}
+{
+  name = "kdewebdev-4.5.2.tar.bz2";
+  value = "02baf8h4v688x03hxr8kliglia1chlarnmzc0gbpnpry9zhwpp5p";
+}
+{
+  name = "oxygen-icons-4.5.2.tar.bz2";
+  value = "0c8hy3vsqpm6n52v6w3igj78s0qy6cb3m6fm8qh795rpw495d5yj";
+}
+]
diff --git a/pkgs/desktops/kde-4.5/l10n/default.nix b/pkgs/desktops/kde-4.5/l10n/default.nix
index b29df0f59378a..18b234b28bc3e 100644
--- a/pkgs/desktops/kde-4.5/l10n/default.nix
+++ b/pkgs/desktops/kde-4.5/l10n/default.nix
@@ -3,18 +3,24 @@
 let
   overrides = { };
 
-  defaultVersion = "4.5.1";
+  defaultRelease = "4.5.2";
+  releases = [ "4.5.1" "4.5.2" ];
 
-  getOverride = name: stdenv.lib.attrByPath [name] {} overrides;
+  sanitizeString = replaceChars [ "@" "." ] [ "_" "_" ];
+  getOverride = name: attrByPath [name] {} overrides;
 
-  kdeL10nDerivation = {lang, sha256, version} :
+  inherit (stdenv.lib) replaceChars attrByPath singleton;
+
+  kdeL10nDerivation = {lang, sha256, release} :
     let
-      name = "kde-l10n-${lang}-${version}";
+      name = "kde-l10n-${lang}-${release}";
+      saneName = "kde-l10n-${sanitizeString lang}-${release}";
     in
     stdenv.mkDerivation ({
-      inherit name;
+      name = saneName;
       src = fetchurl {
-        url = "mirror://kde/stable/${version}/src/kde-l10n/${name}.tar.bz2";
+        url = "mirror://kde/stable/${release}/src/kde-l10n/${name}.tar.bz2";
+        name = "${saneName}.tar.bz2";
         inherit sha256;
       };
 
@@ -28,24 +34,25 @@ let
     }
     // (getOverride lang) // (getOverride name)
   );
+
+  kdeL10nRelease = release:
+    let
+      releaseStr = sanitizeString release;
+    in
+    builtins.listToAttrs (
+      map ({lang, sha256}:
+        {
+          name = "${sanitizeString lang}";
+          value = kdeL10nDerivation { inherit lang release sha256;};
+        }
+      ) (import (./manifest + "-${release}.nix"))
+    );
+
 in
 {
   inherit kdeL10nDerivation;
   recurseForDerivations = true;
 }
-// (builtins.listToAttrs (
-  map (a@{lang, version, sha256} :
-      {
-        name = stdenv.lib.replaceChars ["." "@"] ["_" "_"] "${lang}_${version}";
-        value = kdeL10nDerivation a;
-      }
-    ) (import ./manifest.nix)
-))
-// (builtins.listToAttrs (
-  map (a@{lang, version, sha256} :
-      {
-        name = stdenv.lib.replaceChars ["." "@"] ["_" "_"] "${lang}";
-        value = kdeL10nDerivation a;
-      }
-    ) (stdenv.lib.filter (x : x.version == defaultVersion) (import ./manifest.nix))
-))
+// builtins.listToAttrs (map (r : { name = sanitizeString r; value =
+kdeL10nRelease r; }) releases)
+// (kdeL10nRelease defaultRelease)
diff --git a/pkgs/desktops/kde-4.5/l10n/l10n-manifest.sh b/pkgs/desktops/kde-4.5/l10n/l10n-manifest.sh
new file mode 100755
index 0000000000000..aa41ccd4278b7
--- /dev/null
+++ b/pkgs/desktops/kde-4.5/l10n/l10n-manifest.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+# Usage: download kde-l10n to $dir, then run
+# $0 $dir
+
+dir=$1
+
+if [[ ! -d "${dir}" ]]; then
+  echo "${dir} is not a directory (or doesn't exist)!" >&2
+  exit 1
+fi
+
+release=$(ls "${dir}"/kde-l10n-en_GB-*.tar.bz2 | \
+	sed -e 's/.*en_GB-//' -e 's/\.tar\.bz2//')
+
+echo "Detected release ${release}" >&2
+
+exec > "manifest-${release}.nix"
+echo "["
+for i in `cd "${dir}"; ls kde-l10n-*-${release}.tar.bz2`; do
+  lang=${i%-${release}.tar.bz2}
+  lang=${lang#kde-l10n-}
+  echo -n "${lang}.. " >&2
+  hash=$(nix-hash --type sha256 --flat --base32 "${dir}/${i}")
+  echo "{"
+  echo "  lang = \"${lang}\";"
+  if [[ "${lang}" =~ "@" ]]; then
+    echo "  langStripped = \"${lang/@/_}\";"
+  fi
+  echo "  sha256 = \"${hash}\";"
+  echo "}"
+  echo $hash >&2
+done
+echo "]"
diff --git a/pkgs/desktops/kde-4.5/l10n/manifest.nix b/pkgs/desktops/kde-4.5/l10n/manifest-4.5.1.nix
index 8f8aa3b98170b..3f7e0ffc8ab41 100644
--- a/pkgs/desktops/kde-4.5/l10n/manifest.nix
+++ b/pkgs/desktops/kde-4.5/l10n/manifest-4.5.1.nix
@@ -1,272 +1,218 @@
 [
 {
   lang = "ar";
-  version = "4.5.1";
   sha256 = "0xgmrwlza3p2fvj66y4vc4r81r5y2n2igjaj2xmgvb2pvh4zx0ws";
 }
 {
   lang = "bg";
-  version = "4.5.1";
   sha256 = "1npa9y8i7j68c8sa9cd96gy4n65bkl474agibax8rdk2mniyqrn9";
 }
 {
   lang = "ca";
-  version = "4.5.1";
   sha256 = "0097sk50cf1cq6wnah3kiab8vkh68snzahcng2blk63gw908yfvx";
 }
 {
   lang = "cs";
-  version = "4.5.1";
   sha256 = "077424cbqn68rf9wb026ip1n0rq5lz1iwp4k7ih15j87ymbrd03f";
 }
 {
   lang = "da";
-  version = "4.5.1";
   sha256 = "0p80a2pn9hgih2y5s27z8ir8jkyz68i87sdw439c8z3pjww5dy2h";
 }
 {
   lang = "de";
-  version = "4.5.1";
   sha256 = "007r6wf0in22y2jc1nr1msazv6bd48136kc4q0633gn1igdhb03h";
 }
 {
   lang = "el";
-  version = "4.5.1";
   sha256 = "1ffgqjxgdfsjx0nwhj5yl2pn2kmc92s01wfxzdvb6kss9r53v95k";
 }
 {
   lang = "en_GB";
-  version = "4.5.1";
   sha256 = "1bmg1aygaarnpka9dfvxgnzwqphqaly8rfps63g03ncls7ml8ilb";
 }
 {
   lang = "eo";
-  version = "4.5.1";
   sha256 = "0bqrarah2pc6kjcfla117rwc0k1m23ndp4nm4ac2sygmanz1j6bk";
 }
 {
   lang = "es";
-  version = "4.5.1";
   sha256 = "0hr3halsjjdzlmx2rfxycacm26pxs1f3m8awahmr1dp5ngid42wn";
 }
 {
   lang = "et";
-  version = "4.5.1";
   sha256 = "1pj1wjnjjj052csn0ajql2i3ynpd4fc9l53zj4j3vsd177gypdjw";
 }
 {
   lang = "eu";
-  version = "4.5.1";
   sha256 = "0zhrqy8b7wn8vdq75dlafc91mhvqpn3cw7hn90jj99c1aazdhjpd";
 }
 {
   lang = "fi";
-  version = "4.5.1";
   sha256 = "0x0dhy1c7wn5wxqx2v7jyv10rc6gi6klmw0q80vp3xpfma9l16yg";
 }
 {
   lang = "fr";
-  version = "4.5.1";
   sha256 = "1yvzpvxdzznrj61hdbi9jgpxdb9l0i8g24q1xkswpnp87jrncpaq";
 }
 {
   lang = "fy";
-  version = "4.5.1";
   sha256 = "14c740yfw5v043rmqmwnb3ic0s7l2kcjy57qdqhfpmr75m4rjrvl";
 }
 {
   lang = "ga";
-  version = "4.5.1";
   sha256 = "0w5cj0bgyy2pna8hqcpx82n3pwzr9vzshzknz86azb8c0pwkcjdw";
 }
 {
   lang = "gl";
-  version = "4.5.1";
   sha256 = "00kwqzypkw0bi8nhz75a367h2filwkmc1kiiv66l2s3d4vrkdgjz";
 }
 {
   lang = "gu";
-  version = "4.5.1";
   sha256 = "0as072rz4k4h8b0ix8jipn6bfck8van024sz1gd6xj1bhs83wk0m";
 }
 {
   lang = "he";
-  version = "4.5.1";
   sha256 = "1f5j1qgkmzjagmyjxa00xmfxk5zgfms77gidg88hycrvgrxm6g59";
 }
 {
   lang = "hi";
-  version = "4.5.1";
   sha256 = "0sy6cis0hkddmq4jw43a7rpxjadmzrgbgyhnnhyp9m6n225rh54g";
 }
 {
   lang = "hr";
-  version = "4.5.1";
   sha256 = "016h7iqfkarl6p20gqcajknw3bsbqvby824fsdyrrhan82vsqd0k";
 }
 {
   lang = "hu";
-  version = "4.5.1";
   sha256 = "1ck6vrrvvwlcxlgmmjq4hk5dh38clqvf3fwc7ndgr4wrxlr4c94m";
 }
 {
   lang = "ia";
-  version = "4.5.1";
   sha256 = "13mnd7ndkfdq591da3cwj64wchq86qk265i6r7xir87gxn5m86xr";
 }
 {
   lang = "id";
-  version = "4.5.1";
   sha256 = "0a1rw0mx1fdmps5vfx7m8mrmsqvqkpdbpbwys9sxbxy1zcbinasr";
 }
 {
   lang = "is";
-  version = "4.5.1";
   sha256 = "0hinhxsq4nm4g97gcdfyx8fzx6d0syg9llww9spwpqp26myad69r";
 }
 {
   lang = "it";
-  version = "4.5.1";
   sha256 = "0z4kdlmyliqa6qgdxbimifp535p6nvvydpa504i9klxcywc382y5";
 }
 {
   lang = "ja";
-  version = "4.5.1";
   sha256 = "1vsyjgwh69wwadn27ncxmr85d1qn91xvrbfxxl8x9gqa44dzrs7k";
 }
 {
   lang = "kk";
-  version = "4.5.1";
   sha256 = "1nzx2djxav6hga6ha473xkqiqgv8ikh3iq3b7i20zqcsjp3lhynq";
 }
 {
   lang = "km";
-  version = "4.5.1";
   sha256 = "0rd36apjlgq3qvhbdq0a289hbn1hff1qbnphaisy1p1dsh3bbnw9";
 }
 {
   lang = "kn";
-  version = "4.5.1";
   sha256 = "0al7whnmcpiq50b56xhzxpd6zmwv79s5j62m6z537kl3ldq9is5l";
 }
 {
   lang = "ko";
-  version = "4.5.1";
   sha256 = "0s5y6h8nx4xp5vd39qpby303zsvi67yrbdzsgvig98gbw61szkd7";
 }
 {
   lang = "lt";
-  version = "4.5.1";
   sha256 = "0wmwfn7w6z1lvjgn283rcpxv8j6lh8yzkvgjmhdg2r4ys948gzz0";
 }
 {
   lang = "lv";
-  version = "4.5.1";
   sha256 = "1w4k7rr06m0ynl52gdikqw45754pj7z9n65pxyv88gxj5sjkzlw8";
 }
 {
   lang = "ml";
-  version = "4.5.1";
   sha256 = "1qgs6xwyx1sc496ybq1m1mm0wyl9fz6317p4m5jvwiicldrcx3hq";
 }
 {
   lang = "nb";
-  version = "4.5.1";
   sha256 = "0frnnxang8k491cnmn9lc2kbqkqr5m40c53d75l07j97jndv98y1";
 }
 {
   lang = "nds";
-  version = "4.5.1";
   sha256 = "1p3h86qzrrhxrvl4qryizm3j6lnq3lm1vpnnapkk04y7msz0fdpr";
 }
 {
   lang = "nl";
-  version = "4.5.1";
   sha256 = "0lphl2j0faalaj3mkkqv5806bg2fd6s1478cprrrkw788hvvlmzl";
 }
 {
   lang = "nn";
-  version = "4.5.1";
   sha256 = "06pj24zfsgbkk1jxjjs5by8czv0llfz90iq6rq4lxnc0s195isjg";
 }
 {
   lang = "pa";
-  version = "4.5.1";
   sha256 = "1sqqanvxzw63bdlkgvi6jlngvrshqrfl8d0jac103wvy4y4f6l5r";
 }
 {
   lang = "pl";
-  version = "4.5.1";
   sha256 = "13n278n3p32bphch54x7qgba268m95kmql3qgxsx8ziy8riir9mm";
 }
 {
   lang = "pt";
-  version = "4.5.1";
   sha256 = "12mkprpk9imda0iyi65mg4rs3w2qnyq8iszg0k7yqf7537zpv4x1";
 }
 {
   lang = "pt_BR";
-  version = "4.5.1";
   sha256 = "1ipn6kvc3nq84fvpb9xrpwkqjaj2sya3y1cr2ai51909yfjk5r35";
 }
 {
   lang = "ro";
-  version = "4.5.1";
   sha256 = "1kfyjlpkjnmv7fryr1w2a9d1dijkmhs3mqpqg0hi7316qy2z10jy";
 }
 {
   lang = "ru";
-  version = "4.5.1";
   sha256 = "0m62rszff2k4rffmy3h9hxhs8bf523cfinlyay663zq3bh35i6h9";
 }
 {
   lang = "sk";
-  version = "4.5.1";
   sha256 = "07pzslmln8yh0s8ik0bj86rhyy4w21w13pvf9z6ifapqigklw33c";
 }
 {
   lang = "sl";
-  version = "4.5.1";
   sha256 = "1vrdzbl5ii6paaick88dkr5fabjpi36gjwwz67kqy6d9nm44jjp1";
 }
 {
   lang = "sr";
-  version = "4.5.1";
   sha256 = "186ncq0hr0lrn1l6xhqwjwqrmd9xw9qa0kf9cqvj0x3j6qk4mjqf";
 }
 {
   lang = "sv";
-  version = "4.5.1";
   sha256 = "0r62fs75a1kfr2dsfg1zrzh0c2wgbv6jq4c1w05wcbmqvpq16ks6";
 }
 {
   lang = "th";
-  version = "4.5.1";
   sha256 = "1apvlcmbwhnjc3dlfjzah1ckwwhjn2rcrvgmv1rwvn9py7yfzhf5";
 }
 {
   lang = "tr";
-  version = "4.5.1";
   sha256 = "0zci2fqcnlj9y23sy7v8yb1nc37dfqbpj1xrfs7sfvhj12048sb0";
 }
 {
   lang = "uk";
-  version = "4.5.1";
   sha256 = "0p9jdz8w8xiiqhbsj90gkshcpijh2l8hfbvvqy12d1nx5wb1glp3";
 }
 {
   lang = "wa";
-  version = "4.5.1";
   sha256 = "06hybn2l2jlibxr6lg91p0p7nnc6lyisx0w64zar52h958mqa9p8";
 }
 {
   lang = "zh_CN";
-  version = "4.5.1";
   sha256 = "1f786n41yqfi02gd0n9lf30xn9djgbm26c8kqx8p7fm2b5vw28jh";
 }
 {
   lang = "zh_TW";
-  version = "4.5.1";
   sha256 = "065d2ggahphsffk7p8xb9p5xzm12azz84s9jll447sawwks0jgsg";
 }
 ]
diff --git a/pkgs/desktops/kde-4.5/l10n/manifest-4.5.2.nix b/pkgs/desktops/kde-4.5/l10n/manifest-4.5.2.nix
new file mode 100644
index 0000000000000..cb9a450655502
--- /dev/null
+++ b/pkgs/desktops/kde-4.5/l10n/manifest-4.5.2.nix
@@ -0,0 +1,222 @@
+[
+{
+  lang = "ar";
+  sha256 = "1wlg38gfv77d4rfzr6ba8mcrbq1lsgvqpd1zgcfgv9m6c5i32rh0";
+}
+{
+  lang = "bg";
+  sha256 = "0dy2zirfs2aan445862srfrxkvmv9l6dk1qzk2mis8lmq7qnvv4x";
+}
+{
+  lang = "ca";
+  sha256 = "0ay15k75d44ggr6s5qxip7cwyddl91zlqgwnp71iw720iq49d4c1";
+}
+{
+  lang = "ca@valencia";
+  sha256 = "0fmcmpm3wi1qfd0lvd10d0crn7jfzf9n184x45fvqw4dkn62phdc";
+}
+{
+  lang = "cs";
+  sha256 = "0r06qh0i3il2n07bbp70gsr5p7y5gb9gd1gzy5m5g33mmnhgf2af";
+}
+{
+  lang = "da";
+  sha256 = "1dz2ixm42ndyqwjs6h3900ycq9j50l0nzahxmjfm76b9r2cbph6g";
+}
+{
+  lang = "de";
+  sha256 = "1729hhfwszairx08x0s5rbidrbxqqvlh1m6rww2j1bqv5krgadns";
+}
+{
+  lang = "el";
+  sha256 = "1is7vy7m0y3x6n5llcg4fz8qd6ddjvfxriyggw9kx1g661z25gny";
+}
+{
+  lang = "en_GB";
+  sha256 = "0nwgj99y13h3fc6ljmnmrxaj3aiwg031p4nrb49ngmh66r1c3n2r";
+}
+{
+  lang = "eo";
+  sha256 = "0w78f6n2nhalgj7i997hrkka9i252mrny8mgnq8bfwsr03lfjs9h";
+}
+{
+  lang = "es";
+  sha256 = "18cqvjw7f9kj0inhhw00b6jxgsikamr0iik7pbblra2shimpr9hh";
+}
+{
+  lang = "et";
+  sha256 = "1zrdywhc34kj09141ybr5g98bf1zqrxzazsdi51ln07pcmbrn7fd";
+}
+{
+  lang = "eu";
+  sha256 = "03ff2narllyjyl7ddqq80i88m10ma1g9l0k970vpakw2bk3qd90c";
+}
+{
+  lang = "fi";
+  sha256 = "0kpzsngspxgfgy2fdghb7syksrs4h3392xngl7g1ndr6m9wfrl33";
+}
+{
+  lang = "fr";
+  sha256 = "042jbsr7agkikyj4f3wz6vbwgalmkq75sxm9mr0hspaxqw0rdww5";
+}
+{
+  lang = "fy";
+  sha256 = "0yvqi4z98aql596pa77blrj34mxhv3q04nbp4mdiss9i6wkqxa56";
+}
+{
+  lang = "ga";
+  sha256 = "14s90f9nlk2knkf8lsxklkval39gb77ca70hcs4n571hl3hdvpd7";
+}
+{
+  lang = "gl";
+  sha256 = "0xh409ydzqzsbwq7727i5yj6irb2y75maa7kkvm9bmhpb5whn0k6";
+}
+{
+  lang = "gu";
+  sha256 = "1agly26l4z5lc0s1b4j5rdpdk9sf0ffw9zp8j4mvaz501aifq777";
+}
+{
+  lang = "he";
+  sha256 = "0z2czis29bqga9jzgrdzqf85f6k14gr1rcyawhc6ddffmb5is8pj";
+}
+{
+  lang = "hi";
+  sha256 = "0f1j6682pfajg7dlf2rqqif5s8w00wpjr688kchqdsld7byax4wf";
+}
+{
+  lang = "hr";
+  sha256 = "126f04zgnha153yzmq5263chwiz2lv910sgrh23a07k6piip20wi";
+}
+{
+  lang = "hu";
+  sha256 = "10cwzpsq42vkyb4x7sc406pjf3ryr5api0cr9vwhnnqprwr82yw3";
+}
+{
+  lang = "ia";
+  sha256 = "0gd6li2iy1l0bg9kvs19hsxlrqzfa92if7j9g90l8qml1xg0d916";
+}
+{
+  lang = "id";
+  sha256 = "1rz8h2yna7hyvv2bynf0q5zz42qs74y6z4y2ca92b0qfc4a1ai1d";
+}
+{
+  lang = "is";
+  sha256 = "1lkr67dlpskj141y7wihxdgnmkag1dalb8s0r1xixf051ax2wd2y";
+}
+{
+  lang = "it";
+  sha256 = "1pz0mlg1p9mrqb79m7dsm6lk8iicyc8jwbrvrhlsji6ahr81pybk";
+}
+{
+  lang = "ja";
+  sha256 = "12333ilhd67y8gkddpx7jzdvs10h66qi8qi4nrqb6ici6spxmb3i";
+}
+{
+  lang = "kk";
+  sha256 = "0q845ix7kadfsphvfdkz7fawh3zqmainsw321mn90n6izf8y893j";
+}
+{
+  lang = "km";
+  sha256 = "0ahmw632kqclplq5d65inglhvn5jzxdjhhpkqx32rq7sxk3qhhrf";
+}
+{
+  lang = "kn";
+  sha256 = "12lp3rbcxbqm27clm71vli2pdwyp8r2bk3a2mmvnv016pjn0vphn";
+}
+{
+  lang = "ko";
+  sha256 = "12fb0wqms571xp9mnyiv61khby71cwsf9sg05w0gjci7avwxv6w0";
+}
+{
+  lang = "lt";
+  sha256 = "1p2rg1w3b6qgzjhsmi8dsj3mh7n8wbkgp9hrwbsl8dj7l6yz9799";
+}
+{
+  lang = "lv";
+  sha256 = "0zm48nl504dwwsrn8b44ldh0dzj7j42v6r54bsfsqajzq7f857yi";
+}
+{
+  lang = "ml";
+  sha256 = "0wxsfykvsg1iz0az1jngdl26sgs73pv0si30n0835xzclcv4dflx";
+}
+{
+  lang = "nb";
+  sha256 = "1040i62nh9ldv2v5ps483r6ccp2jy6w94kijv5h01k2p82iv8f85";
+}
+{
+  lang = "nds";
+  sha256 = "1ljgdlrqwb966xpxg2fpjcqzmplhdbmd566q7k69x5fmmyxw7vn9";
+}
+{
+  lang = "nl";
+  sha256 = "08vwq4xy392bqln31lvbdgzhx50sj44mrnw920j6k2a0f1qmkar7";
+}
+{
+  lang = "nn";
+  sha256 = "1da0xrbx8p72lp6r4nrhh6q5sgfm08vak6dk9g3kssjgnjarg785";
+}
+{
+  lang = "pa";
+  sha256 = "05jkc60csj16gxxh6z5n15g65yqf2nd77sa8f00vjhx58iisvvb2";
+}
+{
+  lang = "pl";
+  sha256 = "0hi7dsrg7dln9nkfc1wichmn334303qxdkihv13fybw43xp3gznv";
+}
+{
+  lang = "pt";
+  sha256 = "17j0angzvv2mxj12jb7vv3dlmljrfhyki5clmj040z64siam0w4k";
+}
+{
+  lang = "pt_BR";
+  sha256 = "1c6i79bslyzz0skfh05152jxn5hqlbas2l9fgzh58amn5bgy6afg";
+}
+{
+  lang = "ro";
+  sha256 = "1yljfz3b7lnnlnwvqf71b22ss99an759hg3xky1nzq11kpp9a5y0";
+}
+{
+  lang = "ru";
+  sha256 = "0p1zp2bgz3afxq4r6cbr1sv56ymq0xvn249vi048knsa2sclq8bk";
+}
+{
+  lang = "sk";
+  sha256 = "1v6lx4jb78k44xgfdxih1mf1817piw1igmvkc39l7r8ci0drvdjx";
+}
+{
+  lang = "sl";
+  sha256 = "1xqyafbzas460p7vxvydw8k8gzsgaxsidy19hzanvdb5ns4j8fs2";
+}
+{
+  lang = "sr";
+  sha256 = "1yznci299164l89dq9k5wfahk5aw3y61i4bf08qn6zi5hmzsfv66";
+}
+{
+  lang = "sv";
+  sha256 = "1k5b9f9i5zn8j5nkafw4cl42rvigssz5fqmy0nv1awj87r9vd3x6";
+}
+{
+  lang = "th";
+  sha256 = "0l25jags9kfhnr0v8k5id2pl85rlxly5a74i94wzvnf0abkmy6hi";
+}
+{
+  lang = "tr";
+  sha256 = "166rw0znk906zikdxg573xykfxmwdnld2ps9c0y758n6mvl107xz";
+}
+{
+  lang = "uk";
+  sha256 = "1hlx3dnf3avcnfs55v0vq9knmf001hs00fd4rqigx8y09i8947jc";
+}
+{
+  lang = "wa";
+  sha256 = "17i73mmc1vwvjwrvz9sq45q0ax43xq3agi2d95s772kpbrf4l8qj";
+}
+{
+  lang = "zh_CN";
+  sha256 = "1xqi0rn36dm7f4j5x9gdk6ml8y3vzzm009qp8algqrzy46j864cz";
+}
+{
+  lang = "zh_TW";
+  sha256 = "1qh3vnpk6ickdqa8n9h1na16s6q7kr61f44b0qymxz2lw79ihhgz";
+}
+]
diff --git a/pkgs/desktops/kde-4.5/libs/default.nix b/pkgs/desktops/kde-4.5/libs/default.nix
index f5ab788492e67..91afbf826fe7f 100644
--- a/pkgs/desktops/kde-4.5/libs/default.nix
+++ b/pkgs/desktops/kde-4.5/libs/default.nix
@@ -2,7 +2,7 @@
 , qt4, bzip2, pcre, fam, libxml2, libxslt, shared_mime_info, giflib, jasper
 , xz, flex, bison, openexr, aspell, avahi, kerberos, acl, attr, shared_desktop_ontologies, libXScrnSaver
 , automoc4, strigi, soprano, qca2, attica, enchant, libdbusmenu_qt
-, docbook_xml_dtd_42, docbook_xsl, polkit_qt_1
+, docbook_xml_dtd_42, docbook_xsl, polkit_qt_1, hspell
 }:
 
 kde.package {
@@ -10,9 +10,14 @@ kde.package {
   buildInputs = [
     cmake perl xz flex bison bzip2 pcre fam libxml2 libxslt shared_mime_info
     giflib jasper /*openexr*/ aspell avahi kerberos acl attr libXScrnSaver
-    enchant libdbusmenu_qt polkit_qt_1 automoc4
+    enchant libdbusmenu_qt polkit_qt_1 automoc4 hspell
   ];
 
+# TODO: make sonnet plugins (dictionaries) really work.
+# There are a few hardcoded paths.
+# Let kdelibs find openexr
+# Split plugins from libs?
+
   propagatedBuildInputs = [ qt4 gcc.libc strigi soprano attica qca2
     shared_desktop_ontologies ];
 
@@ -31,7 +36,7 @@ kde.package {
     license = "LGPL";
     kde = {
       name = "kdelibs";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/libs/polkit-install.patch b/pkgs/desktops/kde-4.5/libs/polkit-install.patch
index 68bf554879635..6633ef1209b4f 100644
--- a/pkgs/desktops/kde-4.5/libs/polkit-install.patch
+++ b/pkgs/desktops/kde-4.5/libs/polkit-install.patch
@@ -1,6 +1,7 @@
 Author: Yury Kudryashov
 Reason: other KDE modules try to install polkit action files into
 $kdelibs/share/polkit-1/actions
+Upstream: rejected, they propose to set install dir in each package
 --- a/cmake/modules/FindPolkitQt-1.cmake.old	2010-08-12 16:13:45.000000000 +0400
 +++ b/cmake/modules/FindPolkitQt-1.cmake	2010-08-12 16:13:56.000000000 +0400
 @@ -101,4 +101,4 @@
diff --git a/pkgs/desktops/kde-4.5/multimedia/default.nix b/pkgs/desktops/kde-4.5/multimedia/default.nix
index f18839f6d51b3..192a85efa7618 100644
--- a/pkgs/desktops/kde-4.5/multimedia/default.nix
+++ b/pkgs/desktops/kde-4.5/multimedia/default.nix
@@ -14,7 +14,7 @@ kde.package {
     license = "GPL";
     kde = {
       name = "kdemultimedia";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/network/default.nix b/pkgs/desktops/kde-4.5/network/default.nix
index e2a1a468eaccf..42feaacefdb12 100644
--- a/pkgs/desktops/kde-4.5/network/default.nix
+++ b/pkgs/desktops/kde-4.5/network/default.nix
@@ -21,7 +21,7 @@ kde.package {
 # * libmeanwhile  <http://meanwhile.sf.net>
 # * libgadu (1.8.0 or higher)  <http://toxygen.net/libgadu/>
 
-# Let cmake find libktorrent. Waiting for upstream fix in 4.5.1
+# Let cmake find libktorrent. Waiting for upstream fix
   KDEDIRS="${libktorrent}";
 
   meta = {
@@ -30,7 +30,7 @@ kde.package {
     license = "GPL";
     kde = {
       name = "kdenetwork";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/pimlibs/default.nix b/pkgs/desktops/kde-4.5/pimlibs/default.nix
index a46b3431e3737..cb375faad7ac6 100644
--- a/pkgs/desktops/kde-4.5/pimlibs/default.nix
+++ b/pkgs/desktops/kde-4.5/pimlibs/default.nix
@@ -12,7 +12,7 @@ kde.package {
     license = "LGPL";
     kde = {
       name = "kdepimlibs";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/plasma-addons/default.nix b/pkgs/desktops/kde-4.5/plasma-addons/default.nix
index cb3dbdf2cc794..2071c18ba0bb5 100644
--- a/pkgs/desktops/kde-4.5/plasma-addons/default.nix
+++ b/pkgs/desktops/kde-4.5/plasma-addons/default.nix
@@ -17,7 +17,7 @@ kde.package {
     license = "GPL";
     kde = {
       name = "kdeplasma-addons";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/cervisia.nix b/pkgs/desktops/kde-4.5/sdk/cervisia.nix
index bad00d3e5078b..afaeb39ef7934 100644
--- a/pkgs/desktops/kde-4.5/sdk/cervisia.nix
+++ b/pkgs/desktops/kde-4.5/sdk/cervisia.nix
@@ -3,15 +3,14 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-  patches = [ ./optional-docs.diff ];
-
   meta = {
     description = "A KDE CVS frontend";
     kde = {
       name = "cervisia";
       module = "kdesdk";
       version = "3.5.0";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "cervisia/version.h";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/dolphin-plugins.nix b/pkgs/desktops/kde-4.5/sdk/dolphin-plugins.nix
index 249cf580b6f20..0710dfdc5239c 100644
--- a/pkgs/desktops/kde-4.5/sdk/dolphin-plugins.nix
+++ b/pkgs/desktops/kde-4.5/sdk/dolphin-plugins.nix
@@ -4,15 +4,13 @@ kde.package {
   # Needs kdebase for libkonq
   buildInputs = [ cmake kdelibs automoc4 kdebase ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "Git and Svn plugins for dolphin";
     kde = {
       name = "dolphin-plugins";
       module = "kdesdk";
-      version = "3.5.0";
-      release = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kapptemplate.nix b/pkgs/desktops/kde-4.5/sdk/kapptemplate.nix
index 5ab82dd4293da..33fcd31d256db 100644
--- a/pkgs/desktops/kde-4.5/sdk/kapptemplate.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kapptemplate.nix
@@ -3,7 +3,6 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "A KDE 4 project template generator";
@@ -11,7 +10,8 @@ kde.package {
       name = "kapptemplate";
       module = "kdesdk";
       version = "0.1";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "kapptemplate/main.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kate.nix b/pkgs/desktops/kde-4.5/sdk/kate.nix
index 8ede3f0780a6a..7519811c545f2 100644
--- a/pkgs/desktops/kde-4.5/sdk/kate.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kate.nix
@@ -3,15 +3,14 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 shared_mime_info ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "Kate - Advanced Text Editor";
     kde = {
       name = "kate";
       module = "kdesdk";
-      version = "3.5.1";
-      release = "4.5.1";
+      version = "3.5.2"; # (release.major-1).(release.minor).(release.patch)
+      release = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kbugbuster.nix b/pkgs/desktops/kde-4.5/sdk/kbugbuster.nix
index e82a58ee94228..f8c4e200524b3 100644
--- a/pkgs/desktops/kde-4.5/sdk/kbugbuster.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kbugbuster.nix
@@ -3,7 +3,6 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 kdepimlibs ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "KDE bugzilla client";
@@ -11,7 +10,8 @@ kde.package {
       name = "kbugbuster";
       module = "kdesdk";
       version = "3.80.3";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "version.h";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kcachegrind.nix b/pkgs/desktops/kde-4.5/sdk/kcachegrind.nix
index c5095343f7479..7fbd7b75a9294 100644
--- a/pkgs/desktops/kde-4.5/sdk/kcachegrind.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kcachegrind.nix
@@ -3,7 +3,6 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "KDE Frontend for Callgrind/Cachegrind";
@@ -11,7 +10,8 @@ kde.package {
       name = "kcachegrind";
       module = "kdesdk";
       version = "0.6";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "CMakeLists.txt";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kdeaccounts-plugin.nix b/pkgs/desktops/kde-4.5/sdk/kdeaccounts-plugin.nix
index eedccffc1da59..fcc83ae6bbce0 100644
--- a/pkgs/desktops/kde-4.5/sdk/kdeaccounts-plugin.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kdeaccounts-plugin.nix
@@ -3,14 +3,13 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 kdepimlibs ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "KDE accounts akonadi agent";
     kde = {
       name = "kdeaccounts-plugin";
       module = "kdesdk";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kioslave-perldoc.nix b/pkgs/desktops/kde-4.5/sdk/kioslave-perldoc.nix
index 10b1db77d9e62..bf5a1428b2a12 100644
--- a/pkgs/desktops/kde-4.5/sdk/kioslave-perldoc.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kioslave-perldoc.nix
@@ -3,7 +3,6 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 perl ];
 
-  patches = [ ./optional-docs.diff ];
   cmakeFlags = "-DBUILD_kioslave=ON -DBUILD_perldoc=ON";
 
   meta = {
@@ -12,7 +11,8 @@ kde.package {
       name = "kioslave-perldoc";
       module = "kdesdk";
       version = "0.9.1";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "kioslave/perldoc/perldoc.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kioslave-svn.nix b/pkgs/desktops/kde-4.5/sdk/kioslave-svn.nix
index 29668ba889d97..b88631a032902 100644
--- a/pkgs/desktops/kde-4.5/sdk/kioslave-svn.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kioslave-svn.nix
@@ -3,7 +3,7 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 subversion apr aprutil ];
 
-  patches = [ ./optional-docs.diff ./find-svn.patch ];
+  patches = [ ./find-svn.patch ];
   cmakeFlags = "-DBUILD_kioslave=ON";
 
   meta = {
@@ -11,7 +11,7 @@ kde.package {
     kde = {
       name = "kioslave-svn";
       module = "kdesdk";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kmtrace.nix b/pkgs/desktops/kde-4.5/sdk/kmtrace.nix
index 4ef3b3e932b5a..9128d905925b9 100644
--- a/pkgs/desktops/kde-4.5/sdk/kmtrace.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kmtrace.nix
@@ -4,14 +4,13 @@ kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
   preConfigure="export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:${gcc}:${gcc.gcc}";
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "KDE mtrace-based malloc debuger";
     kde = {
       name = "kmtrace";
       module = "kdesdk";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kompare.nix b/pkgs/desktops/kde-4.5/sdk/kompare.nix
index d51149074fde7..b7f8e581572b7 100644
--- a/pkgs/desktops/kde-4.5/sdk/kompare.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kompare.nix
@@ -3,7 +3,6 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "A program to view the differences between files and optionally generate a diff";
@@ -11,7 +10,8 @@ kde.package {
       name = "kompare";
       module = "kdesdk";
       version = "4.0.0";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "main.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kpartloader.nix b/pkgs/desktops/kde-4.5/sdk/kpartloader.nix
index 14ccfe2860faa..4b5938cbac1ec 100644
--- a/pkgs/desktops/kde-4.5/sdk/kpartloader.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kpartloader.nix
@@ -3,7 +3,6 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "A test application for KParts";
@@ -11,7 +10,8 @@ kde.package {
       name = "kpartloader";
       module = "kdesdk";
       version = "1.0";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "kpartloader.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kprofilemethod.nix b/pkgs/desktops/kde-4.5/sdk/kprofilemethod.nix
index 87fa775b0e0c4..008ea14879315 100644
--- a/pkgs/desktops/kde-4.5/sdk/kprofilemethod.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kprofilemethod.nix
@@ -3,7 +3,6 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "A macros for profiling using QTime";
@@ -11,7 +10,7 @@ kde.package {
     kde = {
       name = "kprofilemethod";
       module = "kdesdk";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kstartperf.nix b/pkgs/desktops/kde-4.5/sdk/kstartperf.nix
index c5c4352a0974a..bf7bc9c62e429 100644
--- a/pkgs/desktops/kde-4.5/sdk/kstartperf.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kstartperf.nix
@@ -3,7 +3,6 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 libtool ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "Measures start up time of a KDE application";
@@ -11,7 +10,8 @@ kde.package {
       name = "kstartperf";
       module = "kdesdk";
       version = "1.0";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "kstartperf.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kuiviewer.nix b/pkgs/desktops/kde-4.5/sdk/kuiviewer.nix
index cf6edbed023d6..5631e79a5c962 100644
--- a/pkgs/desktops/kde-4.5/sdk/kuiviewer.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kuiviewer.nix
@@ -3,7 +3,6 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "Displays Qt Designer's UI files";
@@ -11,7 +10,8 @@ kde.package {
       name = "kuiviewer";
       module = "kdesdk";
       version = "0.1";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "main.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/lokalize.nix b/pkgs/desktops/kde-4.5/sdk/lokalize.nix
index f1d1462f42a1c..af0fbd2122615 100644
--- a/pkgs/desktops/kde-4.5/sdk/lokalize.nix
+++ b/pkgs/desktops/kde-4.5/sdk/lokalize.nix
@@ -3,7 +3,6 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 hunspell ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "KDE 4 Computer-aided translation system";
@@ -14,7 +13,8 @@ kde.package {
       name = "lokalize";
       module = "kdesdk";
       version = "1.1";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "src/version.h";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/poxml.nix b/pkgs/desktops/kde-4.5/sdk/poxml.nix
index f6f55be25fcb0..677d960fa61eb 100644
--- a/pkgs/desktops/kde-4.5/sdk/poxml.nix
+++ b/pkgs/desktops/kde-4.5/sdk/poxml.nix
@@ -3,14 +3,13 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 antlr ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "Po<->xml tools";
     kde = {
       name = "poxml";
       module = "kdesdk";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/scripts.nix b/pkgs/desktops/kde-4.5/sdk/scripts.nix
index ab98c08dd3f2f..1e65501865112 100644
--- a/pkgs/desktops/kde-4.5/sdk/scripts.nix
+++ b/pkgs/desktops/kde-4.5/sdk/scripts.nix
@@ -3,14 +3,13 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "Various scripts to ease KDE development";
     kde = {
       name = "scripts";
       module = "kdesdk";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/strigi-analyzer.nix b/pkgs/desktops/kde-4.5/sdk/strigi-analyzer.nix
index c05d25a82937c..b4d5ea5d22a7f 100644
--- a/pkgs/desktops/kde-4.5/sdk/strigi-analyzer.nix
+++ b/pkgs/desktops/kde-4.5/sdk/strigi-analyzer.nix
@@ -3,14 +3,13 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "Strigi analyzers for diff, po and ts";
     kde = {
       name = "strigi-analyzer";
       module = "kdesdk";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/umbrello.nix b/pkgs/desktops/kde-4.5/sdk/umbrello.nix
index 5cb77e0a05266..c4d877277204e 100644
--- a/pkgs/desktops/kde-4.5/sdk/umbrello.nix
+++ b/pkgs/desktops/kde-4.5/sdk/umbrello.nix
@@ -3,15 +3,14 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 libxml2 libxslt boost ];
 
-  patches = [ ./optional-docs.diff ];
 
   meta = {
     description = "Umbrello UML modeller";
     kde = {
       name = "umbrello";
       module = "kdesdk";
-      version = "2.5.1";
-      release = "4.5.1";
+      version = "2.5.2"; # release - 200
+      release = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/support/oxygen-icons/default.nix b/pkgs/desktops/kde-4.5/support/oxygen-icons/default.nix
index 5719d2c2084df..4a65999a3472c 100644
--- a/pkgs/desktops/kde-4.5/support/oxygen-icons/default.nix
+++ b/pkgs/desktops/kde-4.5/support/oxygen-icons/default.nix
@@ -3,7 +3,7 @@
 kde.package {
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
-  outputHash = "04j1csjjji5ffahbcjkcv17agjq5z84czmlpbicv4hnj3rby11nx";
+  outputHash = "1mjiim7r88bdsrmf6palx125ig9dn0jp6h3mw35557mx0b0qjbka";
 
   buildInputs = [ cmake ];
   meta = {
@@ -12,7 +12,7 @@ kde.package {
     license = "GPL";
     kde = {
       name = "oxygen-icons";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/support/phonon/default.nix b/pkgs/desktops/kde-4.5/support/phonon/default.nix
deleted file mode 100644
index 7023e4ca490d7..0000000000000
--- a/pkgs/desktops/kde-4.5/support/phonon/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, fetchurl, cmake, qt4, automoc4, pkgconfig
-, libXau, libXdmcp, libpthreadstubs
-, gstreamer, gstPluginsBase, xineLib, pulseaudio}:
-
-let
-  v = "4.4.2";
-  stable = true;
-in
-
-stdenv.mkDerivation rec {
-  name = "phonon-${v}";
-  src = fetchurl {
-    url = "mirror://kde/${if stable then "" else "un"}stable/phonon/${v}/${name}.tar.bz2";
-    sha256 = "11ilv692yqzvk93y3n2zp9qvqc2xi0npz8vbqa1b60b268zlqh7i";
-  };
-  buildInputs = [ cmake qt4 libXau libXdmcp libpthreadstubs gstreamer
-    gstPluginsBase xineLib automoc4 pulseaudio pkgconfig ];
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-    description = "KDE Multimedia API";
-    longDescription = "KDE Multimedia API which abstracts over various backends such as GStreamer and Xine";
-    license = "LGPL";
-    homepage = http://phonon.kde.org;
-    maintainers = [ maintainers.sander maintainers.urkud ];
-  };
-}
diff --git a/pkgs/desktops/kde-4.5/support/polkit-qt-1/default.nix b/pkgs/desktops/kde-4.5/support/polkit-qt-1/default.nix
index 17d8b1363ace8..f01eac882ef1e 100644
--- a/pkgs/desktops/kde-4.5/support/polkit-qt-1/default.nix
+++ b/pkgs/desktops/kde-4.5/support/polkit-qt-1/default.nix
@@ -5,9 +5,7 @@ kde.package {
   propagatedBuildInputs = [ polkit glib ];
   meta.kde = {
     name = "polkit-qt-1";
-    module = "polkit-qt-1";
     version = "0.96.1";
-    release = "0.96.1";
     subdir = "apps/KDE4.x/admin";
   };
 }
diff --git a/pkgs/desktops/kde-4.5/toys/amor.nix b/pkgs/desktops/kde-4.5/toys/amor.nix
index 966953269e90b..e7e3ad8210829 100644
--- a/pkgs/desktops/kde-4.5/toys/amor.nix
+++ b/pkgs/desktops/kde-4.5/toys/amor.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "amor";
       module = "kdetoys";
       version = "2.4.0";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "src/version.h";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/toys/kteatime.nix b/pkgs/desktops/kde-4.5/toys/kteatime.nix
index 5883d50b2b30e..90ce0fa71c1e6 100644
--- a/pkgs/desktops/kde-4.5/toys/kteatime.nix
+++ b/pkgs/desktops/kde-4.5/toys/kteatime.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "kteatime";
       module = "kdetoys";
       version = "1.2.1";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "src/main.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/toys/ktux.nix b/pkgs/desktops/kde-4.5/toys/ktux.nix
index d1193181a89ea..ae1b407a43013 100644
--- a/pkgs/desktops/kde-4.5/toys/ktux.nix
+++ b/pkgs/desktops/kde-4.5/toys/ktux.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "ktux";
       module = "kdetoys";
       version = "1.0.1";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "src/sprite.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/ark.nix b/pkgs/desktops/kde-4.5/utils/ark.nix
index 55b87f802b16c..32ff0440862b1 100644
--- a/pkgs/desktops/kde-4.5/utils/ark.nix
+++ b/pkgs/desktops/kde-4.5/utils/ark.nix
@@ -14,7 +14,8 @@ kde.package {
       name = "ark";
       module = "kdeutils";
       version = "2.15";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "app/main.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/kcalc.nix b/pkgs/desktops/kde-4.5/utils/kcalc.nix
index b405b59ac828f..e35aee61862ca 100644
--- a/pkgs/desktops/kde-4.5/utils/kcalc.nix
+++ b/pkgs/desktops/kde-4.5/utils/kcalc.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "kcalc";
       module = "kdeutils";
       version = "2.7";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "version.h";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/kcharselect.nix b/pkgs/desktops/kde-4.5/utils/kcharselect.nix
index 3caef9a31ef8b..10e038fe3a302 100644
--- a/pkgs/desktops/kde-4.5/utils/kcharselect.nix
+++ b/pkgs/desktops/kde-4.5/utils/kcharselect.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "kcharselect";
       module = "kdeutils";
       version = "1.7";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "main.cc";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/kdf.nix b/pkgs/desktops/kde-4.5/utils/kdf.nix
index 7f76a62a7bade..efe735486f013 100644
--- a/pkgs/desktops/kde-4.5/utils/kdf.nix
+++ b/pkgs/desktops/kde-4.5/utils/kdf.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "kdf";
       module = "kdeutils";
       version = "0.11";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "kdf.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/kfloppy.nix b/pkgs/desktops/kde-4.5/utils/kfloppy.nix
index cabc445b9bd76..faafcfc062999 100644
--- a/pkgs/desktops/kde-4.5/utils/kfloppy.nix
+++ b/pkgs/desktops/kde-4.5/utils/kfloppy.nix
@@ -8,7 +8,7 @@ kde.package {
     kde = {
       name = "kfloppy";
       module = "kdeutils";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/kgpg.nix b/pkgs/desktops/kde-4.5/utils/kgpg.nix
index 28c8bafe99d50..8f41e5472f102 100644
--- a/pkgs/desktops/kde-4.5/utils/kgpg.nix
+++ b/pkgs/desktops/kde-4.5/utils/kgpg.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "kgpg";
       module = "kdeutils";
       version = "2.4.1";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "main.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/kremotecontrol.nix b/pkgs/desktops/kde-4.5/utils/kremotecontrol.nix
index 6962578ab54ba..7dcf4bb5789fb 100644
--- a/pkgs/desktops/kde-4.5/utils/kremotecontrol.nix
+++ b/pkgs/desktops/kde-4.5/utils/kremotecontrol.nix
@@ -4,11 +4,11 @@ kde.package {
   buildInputs = [ cmake qt4 perl kdelibs automoc4 kdebase_workspace ];
 
   meta = {
-    description = "";
+    description = "KDE remote control";
     kde = {
       name = "kremotecontrol";
       module = "kdeutils";
-      version = "4.5.1";
+      version = "4.5.2";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/ktimer.nix b/pkgs/desktops/kde-4.5/utils/ktimer.nix
index d7eaefaa26524..6595e625b1254 100644
--- a/pkgs/desktops/kde-4.5/utils/ktimer.nix
+++ b/pkgs/desktops/kde-4.5/utils/ktimer.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "ktimer";
       module = "kdeutils";
       version = "0.6";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "main.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/kwallet.nix b/pkgs/desktops/kde-4.5/utils/kwallet.nix
index 64d37a3f5c09c..d5f048ba57f76 100644
--- a/pkgs/desktops/kde-4.5/utils/kwallet.nix
+++ b/pkgs/desktops/kde-4.5/utils/kwallet.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "kwallet";
       module = "kdeutils";
       version = "1.6";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "main.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/okteta.nix b/pkgs/desktops/kde-4.5/utils/okteta.nix
index 6cafc21c4f8d5..ecff1942dcd32 100644
--- a/pkgs/desktops/kde-4.5/utils/okteta.nix
+++ b/pkgs/desktops/kde-4.5/utils/okteta.nix
@@ -8,8 +8,9 @@ kde.package {
     kde = {
       name = "okteta";
       module = "kdeutils";
-      version = "0.5.1";
-      release = "4.5.1";
+      version = "0.5.2";
+      release = "4.5.2";
+      versionFile = "program/about.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/printer-applet.nix b/pkgs/desktops/kde-4.5/utils/printer-applet.nix
index 22b351da77843..a7e7938320f44 100644
--- a/pkgs/desktops/kde-4.5/utils/printer-applet.nix
+++ b/pkgs/desktops/kde-4.5/utils/printer-applet.nix
@@ -15,7 +15,8 @@ kde.package {
       name = "printer-applet";
       module = "kdeutils";
       version = "1.5";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "printer-applet.py";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/superkaramba.nix b/pkgs/desktops/kde-4.5/utils/superkaramba.nix
index db47d26fcef92..75460935e2775 100644
--- a/pkgs/desktops/kde-4.5/utils/superkaramba.nix
+++ b/pkgs/desktops/kde-4.5/utils/superkaramba.nix
@@ -11,7 +11,8 @@ kde.package {
       name = "superkaramba";
       module = "kdeutils";
       version = "0.55";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "src/main.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/sweeper.nix b/pkgs/desktops/kde-4.5/utils/sweeper.nix
index a0a9796664352..7a10910ced1d0 100644
--- a/pkgs/desktops/kde-4.5/utils/sweeper.nix
+++ b/pkgs/desktops/kde-4.5/utils/sweeper.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "sweeper";
       module = "kdeutils";
       version = "1.5";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "main.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/webdev/kfilereplace.nix b/pkgs/desktops/kde-4.5/webdev/kfilereplace.nix
index 99434987b0593..bd3518f9c9d36 100644
--- a/pkgs/desktops/kde-4.5/webdev/kfilereplace.nix
+++ b/pkgs/desktops/kde-4.5/webdev/kfilereplace.nix
@@ -10,7 +10,8 @@ kde.package {
       name = "kfilereplace";
       module = "kdewebdev";
       version = "0.1";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "main.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/webdev/kimagemapeditor.nix b/pkgs/desktops/kde-4.5/webdev/kimagemapeditor.nix
index 4337706ea9a2a..ecc1f845b8f7d 100644
--- a/pkgs/desktops/kde-4.5/webdev/kimagemapeditor.nix
+++ b/pkgs/desktops/kde-4.5/webdev/kimagemapeditor.nix
@@ -10,7 +10,8 @@ kde.package {
       name = "kimagemapeditor";
       module = "kdewebdev";
       version = "3.9.0";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "version.h";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/webdev/klinkstatus.nix b/pkgs/desktops/kde-4.5/webdev/klinkstatus.nix
index 2f55bc3a5be5d..e87832ee62f8e 100644
--- a/pkgs/desktops/kde-4.5/webdev/klinkstatus.nix
+++ b/pkgs/desktops/kde-4.5/webdev/klinkstatus.nix
@@ -12,7 +12,8 @@ kde.package {
       name = "klinkstatus";
       module = "kdewebdev";
       version = "0.7.0";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "src/main.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/webdev/kommander.nix b/pkgs/desktops/kde-4.5/webdev/kommander.nix
index e1ea1b3330651..00d238c769397 100644
--- a/pkgs/desktops/kde-4.5/webdev/kommander.nix
+++ b/pkgs/desktops/kde-4.5/webdev/kommander.nix
@@ -9,7 +9,8 @@ kde.package {
       name = "kommander";
       module = "kdewebdev";
       version = "1.91";
-      release = "4.5.1";
+      release = "4.5.2";
+      versionFile = "lib/kommanderversion.h";
     };
   };
 }
diff --git a/pkgs/desktops/xfce-4/applications/xfce4-mixer.nix b/pkgs/desktops/xfce-4/applications/xfce4-mixer.nix
new file mode 100644
index 0000000000000..db28274be0722
--- /dev/null
+++ b/pkgs/desktops/xfce-4/applications/xfce4-mixer.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, pkgconfig, intltool, glib, gst_all, gtk
+, libxfce4util, libxfcegui4, xfce4panel, xfconf, makeWrapper }:
+
+let
+
+  # The usual Gstreamer plugins package has a zillion dependencies
+  # that we don't need for a simple mixer, so build a minimal package.
+  gstPluginsBase = gst_all.gstPluginsBase.override {
+    minimalDeps = true;
+  };
+
+in
+
+stdenv.mkDerivation rec {
+  name = "xfce4-mixer-4.6.1";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/apps/xfce4-mixer/4.6/${name}.tar.bz2";
+    sha1 = "e86163782fc4fc31671c7cb212d23d34106ad3af";
+  };
+
+  buildInputs =
+    [ pkgconfig intltool glib gst_all.gstreamer gstPluginsBase gtk
+      libxfce4util libxfcegui4 xfce4panel xfconf makeWrapper
+    ];
+
+  postInstall =
+    ''
+      mkdir -p $out/nix-support
+      echo ${gstPluginsBase} > $out/nix-support/propagated-user-env-packages
+    '';
+
+  meta = {
+    homepage = http://www.xfce.org/projects/xfce4-mixer;
+    description = "A volume control application for the Xfce desktop environment";
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/desktops/xfce-4/default.nix b/pkgs/desktops/xfce-4/default.nix
index 3d4abf9b3582a..6f2eaf1b4bfe8 100644
--- a/pkgs/desktops/xfce-4/default.nix
+++ b/pkgs/desktops/xfce-4/default.nix
@@ -57,6 +57,8 @@ rec {
 
   xfce4_power_manager = callPackage ./applications/xfce4-power-manager.nix { };
 
+  xfce4mixer = callPackage ./applications/xfce4-mixer.nix { };
+
   #### ART
 
   xfce4icontheme = callPackage ./art/xfce4-icon-theme.nix { };
diff --git a/pkgs/development/compilers/strategoxt/0.18.nix b/pkgs/development/compilers/strategoxt/0.18.nix
index 54c7ebcefaf11..dd2620cfc4c10 100644
--- a/pkgs/development/compilers/strategoxt/0.18.nix
+++ b/pkgs/development/compilers/strategoxt/0.18.nix
@@ -41,11 +41,11 @@ rec {
 
   
   strategoxt = stdenv.mkDerivation rec {
-    name = "strategoxt-0.18pre20635";
+    name = "strategoxt-0.18pre21134";
 
     src = fetchurl {
-      url = http://hydra.nixos.org/build/301917/download/1/strategoxt-0.18pre20635.tar.gz;
-      sha256 = "963bf8e6ab2c46e98ee81311de723e7ee7573568d1c78d7b66e047d8d8d283b9";
+      url = http://hydra.nixos.org/build/665485/download/1/strategoxt-1.8pre21134.tar.gz;
+      sha256 = "105ce9a424551cf007e354eac181aafb352713e79cf1735a73564984c3635e53";
     };
 
     buildInputs = [pkgconfig aterm sdf getopt];
diff --git a/pkgs/development/compilers/tinycc/default.nix b/pkgs/development/compilers/tinycc/default.nix
index 435747e124867..1b24b7008f61b 100644
--- a/pkgs/development/compilers/tinycc/default.nix
+++ b/pkgs/development/compilers/tinycc/default.nix
@@ -2,41 +2,95 @@
 
 assert stdenv ? glibc;
 
-let version = "0.9.24"; in
+let version = "0.9.25"; in
   stdenv.mkDerivation {
     name = "tinycc-${version}";
 
     src = fetchurl {
       url = "mirror://savannah/tinycc/tcc-${version}.tar.bz2";
-      sha256 = "0yafz627ky0lhppa6g1mfmisnis745m39l15aixmmv5n383x9bi7";
+      sha256 = "0dfycf80x73dz67c97j1ry29wrv35393ai5ry46i1x1fzfq6rv8v";
     };
 
     buildInputs = [ perl texinfo ];
 
-    patchPhase = ''
+    patches =
+      [ (fetchurl {
+           # Add support for `alloca' on x86-64.
+           url = "http://repo.or.cz/w/tinycc.git/patch/8ea8305199496ba29b6d0da2de07aea4441844aa";
+           sha256 = "0dz1cm9zihk533hszqql4gxpzbp8c4g9dnvkkh9vs4js6fnz1fl2";
+           name = "x86-64-alloca.patch";
+         })
+
+        (fetchurl {
+           # Fix alignment of the return value of `alloca'.
+           url = "http://repo.or.cz/w/tinycc.git/patch/dca2b15df42c1341794dd412917708416da25594";
+           sha256 = "0617a69gnfdmv8pr6dj3szv97v3zh57439dsbklxrnipx2jv6pq7";
+           name = "x86-64-alloca-align.patch";
+         })
+      ];
+
+    postPatch = ''
       substituteInPlace "texi2pod.pl" \
         --replace "/usr/bin/perl" "${perl}/bin/perl"
 
       # To produce executables, `tcc' needs to know where `crt*.o' are.
-      sed -i "tcc.c" \
-        -e's|define CONFIG_TCC_CRT_PREFIX.*$|define CONFIG_TCC_CRT_PREFIX "${stdenv.glibc}/lib"|g ;
-           s|tcc_add_library_path(s, "/usr/lib");|tcc_add_library_path(s, "${stdenv.glibc}/lib");|g'
+      sed -i "tcc.h" \
+        -e's|define CONFIG_TCC_CRT_PREFIX.*$|define CONFIG_TCC_CRT_PREFIX "${stdenv.glibc}/lib"|g'
+
+      sed -i "libtcc.c" \
+        -e's|tcc_add_library_path(s, CONFIG_SYSROOT "/lib");|tcc_add_library_path(s, "${stdenv.glibc}/lib");|g;
+           s|tcc_add_sysinclude_path(s, CONFIG_SYSROOT "/usr/include");|tcc_add_library_path(s, "${stdenv.glibc}/include");|g ;
+           s|tcc_add_sysinclude_path(s, buf);|tcc_add_sysinclude_path(s, buf); tcc_add_sysinclude_path(s, "${stdenv.glibc}/include");|g'
 
       # Tell it about the loader's location.
       sed -i "tccelf.c" \
         -e's|".*/ld-linux\([^"]\+\)"|"${stdenv.glibc}/lib/ld-linux\1"|g'
-    '';
+    ''; # "
 
     postInstall = ''
       makeinfo --force tcc-doc.texi || true
 
       ensureDir "$out/share/info"
       mv tcc-doc.info* "$out/share/info"
+
+      echo 'int main () { printf ("it works!\n"); exit(0); }' | \
+         "$out/bin/tcc" -run -
     '';
 
+    doCheck = true;
+    checkTarget = "test";
+
     meta = {
       description = "TinyCC, a small, fast, and embeddable C compiler and interpreter";
+
+      longDescription =
+        '' TinyCC (aka TCC) is a small but hyper fast C compiler.  Unlike
+           other C compilers, it is meant to be self-sufficient: you do not
+           need an external assembler or linker because TCC does that for
+           you.
+
+           TCC compiles so fast that even for big projects Makefiles may not
+           be necessary.
+
+           TCC not only supports ANSI C, but also most of the new ISO C99
+           standard and many GNU C extensions.
+
+           TCC can also be used to make C scripts, i.e. pieces of C source
+           that you run as a Perl or Python script.  Compilation is so fast
+           that your script will be as fast as if it was an executable.
+
+           TCC can also automatically generate memory and bound checks while
+           allowing all C pointers operations.  TCC can do these checks even
+           if non patched libraries are used.
+
+           With libtcc, you can use TCC as a backend for dynamic code
+           generation.
+        '';
+
       homepage = http://www.tinycc.org/;
       license = "LGPLv2+";
+
+      platforms = stdenv.lib.platforms.unix;
+      maintainers = [ stdenv.lib.maintainers.ludo ];
     };
   }
diff --git a/pkgs/development/interpreters/guile/1.9.nix b/pkgs/development/interpreters/guile/1.9.nix
index 97650c554ce9e..70c2e44c62831 100644
--- a/pkgs/development/interpreters/guile/1.9.nix
+++ b/pkgs/development/interpreters/guile/1.9.nix
@@ -7,18 +7,24 @@
  else stdenv.mkDerivation)
 
 rec {
-  name = "guile-1.9.12";  # This is a beta release!
+  name = "guile-1.9.13";  # This is a beta release!
 
   src = fetchurl {
     url = "ftp://alpha.gnu.org/gnu/guile/${name}.tar.gz";
-    sha256 = "098p940fs6jmjpdp4jb2wjqrr0l2cgf8yhy3nf9s444pxwlyvn2g";
+    sha256 = "1idrp39lnqyiw68k1mmbfrd46zqdn19crwqbg3b064p6hljypdl4";
   };
 
   buildInputs =
     [ makeWrapper gawk readline libtool libunistring
       libffi pkgconfig
     ];
-  propagatedBuildInputs = [ gmp boehmgc ];
+  propagatedBuildInputs = [ gmp boehmgc ]
+
+    # XXX: These ones aren't normally needed here, but since
+    # `libguile-2.0.la' reads `-lltdl -lunistring', adding them here will add
+    # the needed `-L' flags.  As for why the `.la' file lacks the `-L' flags,
+    # see below.
+    ++ [ libtool libunistring ];
 
   patches =
     stdenv.lib.optionals (coverageAnalysis != null)
diff --git a/pkgs/development/libraries/dbus-glib/default.nix b/pkgs/development/libraries/dbus-glib/default.nix
index e21a5d66a0e2d..4a2cd6f4cf957 100644
--- a/pkgs/development/libraries/dbus-glib/default.nix
+++ b/pkgs/development/libraries/dbus-glib/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "1p0bm5p8g8h0mimhj0d58dqdrhfipvcwv95l6hf69z4gygksclak";
   };
   
-  buildInputs = [ pkgconfig expat gettext libiconv ];
+  buildInputs = [ pkgconfig expat gettext ]
+                ++ stdenv.lib.optional (!stdenv.isLinux) libiconv;
   
   propagatedBuildInputs = [ dbus.libs glib ];
   
diff --git a/pkgs/development/libraries/ftgl/default.nix b/pkgs/development/libraries/ftgl/default.nix
new file mode 100644
index 0000000000000..7d10298ad3eed
--- /dev/null
+++ b/pkgs/development/libraries/ftgl/default.nix
@@ -0,0 +1,13 @@
+{stdenv, fetchurl, freetype, mesa}:
+ 
+stdenv.mkDerivation {
+  name = "ftgl-2.1.3-rc5";
+  
+  src = fetchurl {
+    url = mirror://sourceforge/ftgl/files/FTGL%20Source/2.1.3%7Erc5/ftgl-2.1.3-rc5.tar.gz ;
+    sha256 = "0nsn4s6vnv5xcgxcw6q031amvh2zfj2smy1r5mbnjj2548hxcn2l";
+  };
+  
+  buildInputs = [freetype mesa];
+
+}
diff --git a/pkgs/development/libraries/glib/2.22.x.nix b/pkgs/development/libraries/glib/2.22.x.nix
index 9148639c2d0ed..f9129f7ae4a5c 100644
--- a/pkgs/development/libraries/glib/2.22.x.nix
+++ b/pkgs/development/libraries/glib/2.22.x.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gettext, perl, libiconv ? null}:
+{ stdenv, fetchurl, pkgconfig, gettext, perl, libiconv}:
 
 stdenv.mkDerivation rec {
   name = "glib-2.22.5";
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "802be9c9ffeb631725ffd6ed35af0af309776729a7fab4fcb48f2b0b8fe7245b";
   };
 
-  buildInputs = [pkgconfig gettext perl libiconv];
+  buildInputs = [pkgconfig gettext perl]
+                ++ stdenv.lib.optional (!stdenv.isLinux) libiconv;
 
   # The nbd package depends on a static version of this library; hence
   # the default configure flag --disable-static is switched off.
diff --git a/pkgs/development/libraries/glib/2.24.x.nix b/pkgs/development/libraries/glib/2.24.x.nix
index 0cdff4254b0fd..941697875b0cd 100644
--- a/pkgs/development/libraries/glib/2.24.x.nix
+++ b/pkgs/development/libraries/glib/2.24.x.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gettext, perl, libiconv ? null, zlib }:
+{ stdenv, fetchurl, pkgconfig, gettext, perl, libiconv, zlib }:
 
 stdenv.mkDerivation rec {
   name = "glib-2.24.1";
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "014c3da960bf17117371075c16495f05f36501db990851ceea658f15d2ea6d04";
   };
 
-  buildInputs = [ pkgconfig gettext libiconv ];
+  buildInputs = [ pkgconfig gettext ]
+                ++ stdenv.lib.optional (!stdenv.isLinux) libiconv;
   buildNativeInputs = [ perl ];
 
   propagatedBuildInputs = [ zlib ];
diff --git a/pkgs/development/libraries/grantlee/default.nix b/pkgs/development/libraries/grantlee/default.nix
index dea6a7e6f3cde..85697aba87fc9 100644
--- a/pkgs/development/libraries/grantlee/default.nix
+++ b/pkgs/development/libraries/grantlee/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, qt4, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "grantlee-0.1.5";
+  name = "grantlee-0.1.7";
 
 # Upstream download server has country code firewall, so I made a mirror. The
 # URL of the mirror may change in the future, so don't publish it yet.
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
       "http://downloads.grantlee.org/${name}.tar.gz"
       "http://www.loegria.net/grantlee/${name}.tar.gz"
     ];
-    sha256 = "040slr4kpi62vwkwnsxhvnq2m15wqn40knh69ci6kskmb3i8iv1a";
+    sha256 = "0gv6filg5a10kqs286bv79fpjff9qjq6czvysgci7mrk4lknra72";
   };
 
   buildInputs = [ cmake qt4 ];
diff --git a/pkgs/development/libraries/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/default.nix
index a41e694889214..37c88580a8ac8 100644
--- a/pkgs/development/libraries/gstreamer/default.nix
+++ b/pkgs/development/libraries/gstreamer/default.nix
@@ -1,32 +1,17 @@
-args: with args;
+{ callPackage, pkgs }:
+
 rec {
-  gstreamer = makeOverridable (import ./gstreamer) {
-    inherit (args) fetchurl stdenv perl bison flex
-       pkgconfig python which glib libxml2;
+  gstreamer = callPackage ./gstreamer {
+    flex = pkgs.flex2535;
   };
 
-  gstPluginsBase = makeOverridable (import ./gst-plugins-base) {
-    inherit gstreamer;
-    inherit (args) fetchurl stdenv pkgconfig python
-      libX11 libXv libXext alsaLib cdparanoia libogg libtheora
-      libvorbis freetype pango liboil gtk which gtkdoc;
-  };
+  gstPluginsBase = callPackage ./gst-plugins-base { };
 
-  gstPluginsGood = makeOverridable (import ./gst-plugins-good) {
-    inherit gstPluginsBase;
-    inherit (args) fetchurl stdenv pkgconfig aalib cairo flac hal
-      libjpeg zlib speex libpng libdv libcaca dbus libiec61883
-      libavc1394 ladspaH taglib gdbm pulseaudio libsoup libcap 
-      libtasn1;
-  };
+  gstPluginsGood = callPackage ./gst-plugins-good { };
 
-  gstFfmpeg = makeOverridable (import ./gst-ffmpeg) {
-    inherit fetchurl stdenv pkgconfig gstPluginsBase bzip2;
-  };
+  gstFfmpeg = callPackage ./gst-ffmpeg { };
 
-  gnonlin = makeOverridable (import ./gnonlin) {
-    inherit fetchurl stdenv pkgconfig gstreamer gstPluginsBase;
-  };
+  gnonlin = callPackage ./gnonlin { };
 
   # Header files are in include/${prefix}/
   prefix = "gstreamer-0.10";
diff --git a/pkgs/development/libraries/gstreamer/gnonlin/default.nix b/pkgs/development/libraries/gstreamer/gnonlin/default.nix
index aac3889ecd712..1ba33f07b1eae 100644
--- a/pkgs/development/libraries/gstreamer/gnonlin/default.nix
+++ b/pkgs/development/libraries/gstreamer/gnonlin/default.nix
@@ -1,4 +1,4 @@
-args: with args;
+{ stdenv, fetchurl, pkgconfig, gstPluginsBase, gstreamer }:
 
 stdenv.mkDerivation rec {
   name = "gnonlin-0.10.15";
diff --git a/pkgs/development/libraries/gstreamer/gst-ffmpeg/default.nix b/pkgs/development/libraries/gstreamer/gst-ffmpeg/default.nix
index 65eb2bb034f70..9132e6b0a8f33 100644
--- a/pkgs/development/libraries/gstreamer/gst-ffmpeg/default.nix
+++ b/pkgs/development/libraries/gstreamer/gst-ffmpeg/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, pkgconfig, gstPluginsBase, bzip2 }:
+{ fetchurl, stdenv, pkgconfig, gstPluginsBase, bzip2, liboil }:
 
 stdenv.mkDerivation rec {
   name = "gst-ffmpeg-0.10.11";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ gstPluginsBase ];
   
-  buildInputs = [ pkgconfig bzip2 ];
+  buildInputs = [ pkgconfig bzip2 liboil ];
 
   configureFlags = "--enable-ladspa";
 
diff --git a/pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix b/pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix
index db817918e0212..4a1a2de4dace4 100644
--- a/pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix
+++ b/pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix
@@ -1,7 +1,11 @@
 { fetchurl, stdenv, pkgconfig, python, gstreamer
-, libX11, libXv, libXext, alsaLib, cdparanoia , libogg
+, xlibs, alsaLib, cdparanoia, libogg
 , libtheora, libvorbis, freetype, pango
-, liboil, gtk, which, gtkdoc }:
+, liboil, glib
+, # Whether to build no plugins that have external dependencies
+  # (except the ALSA plugin).
+  minimalDeps ? false
+}:
 
 stdenv.mkDerivation rec {
   name = "gst-plugins-base-0.10.30";
@@ -19,12 +23,18 @@ stdenv.mkDerivation rec {
     sed -i -e 's/^   /\t/' docs/{libs,plugins}/Makefile.in
   '';
 
-# TODO : v4l, libvisual
-  propagatedBuildInputs = [gstreamer libX11 libXv libXext alsaLib cdparanoia
-    libogg libtheora libvorbis freetype pango liboil gtk which gtkdoc];
-
-  buildInputs = [pkgconfig python];
+  # TODO : v4l, libvisual
+  buildInputs =
+    [ pkgconfig glib alsaLib ]
+    ++ stdenv.lib.optionals (!minimalDeps)
+      [ xlibs.xlibs xlibs.libXv cdparanoia libogg libtheora libvorbis
+        freetype pango liboil
+      ];
 
+  propagatedBuildInputs = [ gstreamer ];
+ 
+  postInstall = "rm -rf $out/share/gtk-doc";
+  
   meta = {
     homepage = http://gstreamer.freedesktop.org;
 
diff --git a/pkgs/development/libraries/gstreamer/gst-plugins-good/default.nix b/pkgs/development/libraries/gstreamer/gst-plugins-good/default.nix
index 8256a0afd45a2..65f32e44cc2a9 100644
--- a/pkgs/development/libraries/gstreamer/gst-plugins-good/default.nix
+++ b/pkgs/development/libraries/gstreamer/gst-plugins-good/default.nix
@@ -1,23 +1,23 @@
 { fetchurl, stdenv, pkgconfig, gstPluginsBase, aalib, cairo
 , flac , hal, libjpeg, zlib, speex, libpng, libdv, libcaca, dbus
 , libiec61883, libavc1394, ladspaH, taglib, gdbm, pulseaudio
-, libsoup, libcap, libtasn1
+, gnome, libcap, libtasn1, liboil
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-good-0.10.24";
+  name = "gst-plugins-good-0.10.25";
 
   src = fetchurl {
     urls = [
       "${meta.homepage}/src/gst-plugins-good/${name}.tar.bz2"
       "mirror://gentoo/distfiles/${name}.tar.bz2"
       ];
-    sha256 = "1gnhw86yx0362hvmnihiq5d7i710ag9zlg636dlcdvxqqp4slx7j";
+    sha256 = "1xlr8rzb6pxi91g6jxhqa7cwl0kg5y21qfd9bgc4fb212867bmdm";
   };
 
   propagatedBuildInputs = [gstPluginsBase aalib cairo flac hal libjpeg
     zlib speex libpng libdv libcaca dbus.libs libiec61883 libavc1394 ladspaH
-    taglib gdbm pulseaudio libsoup libcap libtasn1];
+    taglib gdbm pulseaudio gnome.libsoup libcap libtasn1 liboil];
   buildInputs = [pkgconfig];
 
   configureFlags = "--enable-ladspa";
diff --git a/pkgs/development/libraries/gstreamer/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/gstreamer/default.nix
index abb445b57a388..7edf0325b2ad8 100644
--- a/pkgs/development/libraries/gstreamer/gstreamer/default.nix
+++ b/pkgs/development/libraries/gstreamer/gstreamer/default.nix
@@ -1,9 +1,7 @@
-{ fetchurl, stdenv, perl, bison, flex, pkgconfig, python
-, which, glib, libxml2 }:
+{ fetchurl, stdenv, perl, bison, flex, pkgconfig, glib, libxml2 }:
 
 stdenv.mkDerivation rec {
   name = "gstreamer-0.10.30";
-  # TODO: Remove gtkdoc dependency on next upgrade
 
   src = fetchurl {
     urls = [
@@ -13,17 +11,20 @@ stdenv.mkDerivation rec {
     sha256 = "0ajkfkchwpk5zlcis19laqbv84mi61cn3cqbdbrpyy93whdk1vz8";
   };
 
-  buildInputs = [perl bison flex pkgconfig python which ];
-  propagatedBuildInputs = [glib libxml2];
+  buildInputs = [ perl bison flex pkgconfig ];
+  propagatedBuildInputs = [ glib libxml2 ];
 
   patchPhase = ''
     sed -i -e 's/^   /\t/' docs/gst/Makefile.in docs/libs/Makefile.in docs/plugins/Makefile.in
   '';
 
   configureFlags = ''
-    --enable-failing-tests --localstatedir=/var --disable-gtk-doc --disable-docbook
+    --disable-examples --enable-failing-tests --localstatedir=/var --disable-gtk-doc --disable-docbook
   '';
 
+  # Hm, apparently --disable-gtk-doc is ignored...
+  postInstall = "rm -rf $out/share/gtk-doc";
+
   meta = {
     homepage = http://gstreamer.freedesktop.org;
 
diff --git a/pkgs/development/libraries/haskell/Boolean/default.nix b/pkgs/development/libraries/haskell/Boolean/default.nix
new file mode 100644
index 0000000000000..664ea60399514
--- /dev/null
+++ b/pkgs/development/libraries/haskell/Boolean/default.nix
@@ -0,0 +1,13 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "Boolean";
+  version = "0.0.1";
+  sha256 = "dafcfb2e9d7f7aa24a3d3ceb385424176297cdf6f6044028d42d0fea1cae7765";
+  meta = {
+    description = "Generalized booleans";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/Graphalyze/default.nix b/pkgs/development/libraries/haskell/Graphalyze/default.nix
new file mode 100644
index 0000000000000..0eca1c7edfc12
--- /dev/null
+++ b/pkgs/development/libraries/haskell/Graphalyze/default.nix
@@ -0,0 +1,13 @@
+{cabal, bktrees, fgl, graphviz, pandoc}:
+
+cabal.mkDerivation (self : {
+  pname = "Graphalyze";
+  version = "0.10.0.1";
+  sha256 = "8f273de41c7c340d2c7c8b4797d30535e4038616055099cc52bc5d21c10d9f22";
+  propagatedBuildInputs = [bktrees fgl graphviz pandoc ];
+  meta = {
+    description = "A library to use graph theory analysis";
+    license = "OtherLicene";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/MemoTrie/default.nix b/pkgs/development/libraries/haskell/MemoTrie/default.nix
new file mode 100644
index 0000000000000..f826d0b13e082
--- /dev/null
+++ b/pkgs/development/libraries/haskell/MemoTrie/default.nix
@@ -0,0 +1,13 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "MemoTrie";
+  version = "0.4.9";
+  sha256 = "f17dd0b73c1a11a6edb38fb6f457b9687f2e93aa4677e90f7ec482a528ac02e7";
+  meta = {
+    description = "Trie-based memo functions";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/bktrees/default.nix b/pkgs/development/libraries/haskell/bktrees/default.nix
new file mode 100644
index 0000000000000..03452a99f2bbb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bktrees/default.nix
@@ -0,0 +1,12 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "bktrees";
+  version = "0.3";
+  sha256 = "ddef9fbf5114175cefe2908cd4360a4b94cbc91daac6d5194a8911bacaa1a5da";
+  meta = {
+    description = "Burkhard-Keller trees sets implementation";
+    license = "BSD3";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/cabal/cabal.nix b/pkgs/development/libraries/haskell/cabal/cabal.nix
index 87e2563bc7b46..d46b2580918f2 100644
--- a/pkgs/development/libraries/haskell/cabal/cabal.nix
+++ b/pkgs/development/libraries/haskell/cabal/cabal.nix
@@ -102,12 +102,15 @@
                 GHC_PACKAGE_PATH=$installedPkgConf ghc-pkg --global register $pkgConf --force
               fi
 
-              ensureDir $out/nix-support
-              ln -s $out/nix-support/propagated-build-native-inputs $out/nix-support/propagated-user-env-packages
-
               eval "$postInstall"
             '';
 
+            postFixup = ''
+              if test -f $out/nix-support/propagated-build-native-inputs; then
+                ln -s $out/nix-support/propagated-build-native-inputs $out/nix-support/propagated-user-env-packages
+              fi
+            '';
+
             # We inherit stdenv and ghc so that they can be used
             # in Cabal derivations.
             inherit stdenv ghc;
diff --git a/pkgs/development/libraries/haskell/colour/default.nix b/pkgs/development/libraries/haskell/colour/default.nix
new file mode 100644
index 0000000000000..661f1507ab182
--- /dev/null
+++ b/pkgs/development/libraries/haskell/colour/default.nix
@@ -0,0 +1,12 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "colour";
+  version = "2.3.1";
+  sha256 = "58cf12b8abf7d01a752b1b778b64cc406903874702e3475d65c2aa35689fa49b";
+  meta = {
+    description = "Data type, conversion and composition of colours";
+    license = "OtherLicense";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/graphviz/default.nix b/pkgs/development/libraries/haskell/graphviz/default.nix
new file mode 100644
index 0000000000000..f747d81e6c6d5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/graphviz/default.nix
@@ -0,0 +1,13 @@
+{cabal, colour, fgl, polyparse, transformers, QuickCheck}:
+
+cabal.mkDerivation (self : {
+  pname = "graphviz";
+  version = "2999.10.0.1";
+  sha256 = "5a3aebd3874303dcf554aef3bf511dd22e72053a9672c823d1d820d2b90ca076";
+  propagatedBuildInputs = [colour fgl polyparse transformers QuickCheck];
+  meta = {
+    description = "Bindings for the Dot language (Graphviz)";
+    license = "BSD3";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/vector-space/default.nix b/pkgs/development/libraries/haskell/vector-space/default.nix
new file mode 100644
index 0000000000000..d502bfcbf8a7e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/vector-space/default.nix
@@ -0,0 +1,14 @@
+{cabal, Boolean, MemoTrie}:
+
+cabal.mkDerivation (self : {
+  pname = "vector-space";
+  version = "0.5.9";
+  sha256 = "39045384ee1f37f92fc8a84b75eb63091d083298f7be5f51f81112dd42a553b0";
+  propagatedBuildInputs = [Boolean MemoTrie];
+  meta = {
+    description = "Vector & affine spaces, linear maps, and derivatives";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/vty/default.nix b/pkgs/development/libraries/haskell/vty/default.nix
index a38ee70ce34b7..46f39d1e0a69f 100644
--- a/pkgs/development/libraries/haskell/vty/default.nix
+++ b/pkgs/development/libraries/haskell/vty/default.nix
@@ -1,10 +1,11 @@
-{cabal, utf8String, terminfo}:
+{cabal, utf8String, terminfo, deepseq, mtl, parallel, parsec, vectorSpace}:
 
 cabal.mkDerivation (self : {
   pname = "vty";
-  version = "3.1.8.4";
-  sha256 = "9a006e77bb4f032613e059eea7bc4d92cbc7943449fb9c7269a061ddd9b3d82b";
-  propagatedBuildInputs = [utf8String terminfo];
+  version = "4.4.0.0";
+  sha256 = "bf032022a72831e263d2d48d0a7a3191fb1174554cd714902a60cb0f39afe312";
+  propagatedBuildInputs =
+    [utf8String terminfo deepseq mtl parallel parsec vectorSpace];
   meta = {
     description = "A simple terminal access library";
   };
diff --git a/pkgs/development/libraries/hspell/default.nix b/pkgs/development/libraries/hspell/default.nix
new file mode 100644
index 0000000000000..9b44d12c29347
--- /dev/null
+++ b/pkgs/development/libraries/hspell/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, perl, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "${passthru.pname}-${passthru.version}";
+
+  passthru = {
+    pname = "hspell";
+    version = "1.1";
+  };
+
+  src = fetchurl {
+    url = "${meta.homepage}${name}.tar.gz";
+    sha256 = "08x7rigq5pa1pfpl30qp353hbdkpadr1zc49slpczhsn0sg36pd6";
+  };
+
+  patchPhase = ''patchShebangs .'';
+  buildInputs = [ perl zlib ];
+
+  makeFlags = "CFLAGS=-fPIC";
+
+  meta = {
+    description = "Hebrew spell checker";
+    homepage = http://hspell.ivrix.org.il/;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.urkud ];
+# Note that I don't speak hebrew, so I can only fix compile problems
+  };
+}
diff --git a/pkgs/development/libraries/hspell/dicts.nix b/pkgs/development/libraries/hspell/dicts.nix
new file mode 100644
index 0000000000000..a7f0d19865cfc
--- /dev/null
+++ b/pkgs/development/libraries/hspell/dicts.nix
@@ -0,0 +1,43 @@
+{ stdenv, hspell }:
+
+let
+  dict = a: stdenv.mkDerivation ({
+    inherit (hspell) src patchPhase buildNativeInputs;
+    meta = hspell.meta // {
+      description = "${a.buildFlags} Hebrew dictionary";
+    } // (if a ? meta then a.meta else {});
+  } // (removeAttrs a ["meta"]));
+in
+{
+  recurseForDerivations = true;
+
+  aspell = dict {
+    name = "aspell-dict-he-${hspell.version}";
+
+    buildFlags = "aspell";
+
+    installPhase = ''
+      mkdir -p $out/lib/aspell
+      cp -v he_affix.dat he.wl $out/lib/aspell'';
+  };
+
+  myspell = dict {
+    name = "myspell-dict-he-${hspell.version}";
+
+    buildFlags = "myspell";
+
+    installPhase = ''
+      mkdir -p $out/lib/myspell
+      cp -v he.dic he.aff $out/lib/myspell'';
+  };
+
+  hunspell = dict {
+    name = "hunspell-dict-he-${hspell.version}";
+
+    buildFlags = "hunspell";
+
+    installPhase = ''
+      mkdir -p $out/lib
+      cp -rv hunspell $out/lib'';
+  };
+}
diff --git a/pkgs/development/libraries/incrtcl/default.nix b/pkgs/development/libraries/incrtcl/default.nix
new file mode 100644
index 0000000000000..0263e98f587c4
--- /dev/null
+++ b/pkgs/development/libraries/incrtcl/default.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchurl, tcl}:
+
+stdenv.mkDerivation rec {
+  name = "incrtcl-${version}";
+  version = "3.4b1";
+  
+  src = fetchurl {
+    url = mirror://sourceforge/incrtcl/%5BIncr%20Tcl_Tk%5D-source/3.4/itcl3.4b1.tar.gz;
+    sha256 = "0226vf7vmb7qmk9bcic635d33rm3gr1wqk5rpx6pf00bq3vgr6fw";
+  };
+
+  buildInputs = [ tcl ];
+  configureFlags = [ "--with-tcl=${tcl}/lib" ];
+  patchPhase = ''
+      substituteInPlace configure --replace "\''${TCL_SRC_DIR}/generic" "${tcl}/include"
+  '';
+  preConfigure = ''
+      configureFlags="--exec_prefix=$prefix $configureFlags"
+  '';
+
+  passthru = {
+    libPrefix = "itcl3.4";
+  };
+
+  meta = {
+    homepage = http://incrtcl.sourceforge.net/;
+    description = "Object Oriented Enhancements for Tcl/Tk";
+  };
+}
diff --git a/pkgs/development/libraries/jama/default.nix b/pkgs/development/libraries/jama/default.nix
new file mode 100644
index 0000000000000..6e775d5cef2f9
--- /dev/null
+++ b/pkgs/development/libraries/jama/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchurl, unzip, tnt}:
+
+stdenv.mkDerivation rec {
+  name = "jama-${version}";
+  version = "1.2.5";
+  
+  src = fetchurl {
+    url = http://math.nist.gov/tnt/jama125.zip;
+    sha256 = "031ns526fvi2nv7jzzv02i7i5sjcyr0gj884i3an67qhsx8vyckl";
+  };
+
+  buildInputs = [ unzip ];
+  propagatedBuildInputs = [ tnt ];
+
+  unpackPhase = ''
+      mkdir "${name}"
+      unzip "$src"
+  '';
+  installPhase = ''
+      mkdir -p $out/include
+      cp *.h $out/include
+  '';
+
+  meta = {
+    homepage = http://math.nist.gov/tnt/;
+    description = "JAMA/C++ Linear Algebra Package: Java-like matrix C++ templates";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/java/icedtea/default.nix b/pkgs/development/libraries/java/icedtea/default.nix
new file mode 100644
index 0000000000000..bdaa32a78d2c6
--- /dev/null
+++ b/pkgs/development/libraries/java/icedtea/default.nix
@@ -0,0 +1,112 @@
+/* XXX: This is work in progress and it needs your help!  */
+
+/* See http://icedtea.classpath.org/wiki/BuildRequirements for a
+   list of dependencies.  */
+
+{ fetchurl, stdenv, which
+, wget, cpio, file, ecj, gcj, ant, gawk, procps, inetutils, zip, unzip, zlib
+, alsaLib, cups, lesstif, freetype, classpath, libjpeg, libpng, giflib
+, xalanj, xerces, rhino
+, libX11, libXp, libXtst, libXinerama, libXt, libXrender, xproto
+, pkgconfig, xulrunner, pulseaudio }:
+
+let
+  # These variables must match those in the top-level `Makefile.am'.
+  openjdkVersion   = "b16";
+  openjdkDate      = "24_apr_2009";
+  openjdkURL       =
+    "http://download.java.net/openjdk/jdk6/promoted/${openjdkVersion}/";
+  openjdkSourceZip = "openjdk-6-src-${openjdkVersion}-${openjdkDate}.tar.gz";
+
+  openjdk          = fetchurl {
+    url = "${openjdkURL}${openjdkSourceZip}";
+    sha256 = "084lkhsnj29finb6pmvrh83nqbliwv32gdi5q5sv43dpv24r85cn";
+  };
+
+  hotspot          = fetchurl {
+    url = "http://hg.openjdk.java.net/hsx/hsx14/master/archive/09f7962b8b44.tar.gz";
+    sha256 = "1jbd9ki5ip96293mv1qil20yqcgvkmcrhs302j0n8i8f3v1j70bf";
+  };
+
+in
+
+stdenv.mkDerivation rec {
+  name = "icedtea6-1.6.1";
+
+  src = fetchurl {
+    url = "http://icedtea.classpath.org/download/source/${name}.tar.gz";
+    sha256 = "11vaanfmz842x576wrw5qldpkksi8wqjmh9wikn5gxyjk87qq3k5";
+  };
+
+  buildInputs = [
+    wget  # Not actually used, thanks to `--with-openjdk-src-zip' et al.
+    which cpio file ecj gcj ant gawk procps inetutils zip unzip zlib
+    alsaLib cups lesstif freetype classpath libjpeg libpng giflib
+    xalanj xerces
+    libX11 libXp libXtst libXinerama libXt libXrender xproto
+    pkgconfig /* xulrunner */ pulseaudio
+  ];
+
+  preConfigure =
+    '' # Use the Sun-compatible tools (`jar', etc.).
+       export PATH="${gcj.gcc}/lib/jvm/bin:$PATH"
+
+       # Copy patches.
+       cp -v "${./nixos-slash-bin.patch}" patches/nixos-slash-bin.patch
+    '';
+
+  configureFlags =
+    stdenv.lib.concatStringsSep " "
+      [ "--with-gcj-home=${gcj}"
+        "--with-ecj" "--with-ecj-jar=${ecj}/lib/java/ecj.jar"
+        "--with-openjdk-src-zip=${openjdk}"
+        "--with-hotspot-src-zip=${hotspot}"
+        "--with-ant-home=${ant}/lib/java"
+        "--with-xalan2-jar=${xalanj}/lib/java/xalan.jar"
+        "--with-xalan2-serializer-jar=${xalanj}/lib/java/xalan.jar"
+        "--with-xerces2-jar=${xerces}/lib/java/xercesImpl.jar"
+        "--with-rhino=${rhino}/lib/java/js.jar"
+        "--disable-plugin" # FIXME: Enable it someday.
+
+        "--with-parallel-job"
+      ];
+
+  makeFlags =
+    [ # Have OpenCDK use tools from $PATH.
+      "ALT_UNIXCCS_PATH=" "ALT_UNIXCOMMAND_PATH=" "ALT_USRBIN_PATH="
+      "ALT_COMPILER_PATH=" "ALT_DEVTOOLS_PATH="
+
+      # Libraries.
+      "ALT_MOTIF_DIR="
+      "ALT_FREETYPE_HEADERS_PATH=${freetype}/include"
+      "ALT_FREETYPE_LIB_PATH=${freetype}/lib"
+      "ALT_CUPS_HEADERS_PATH=${cups}/include"
+      "ALT_CUPS_LIB_PATH=${cups}/lib"
+
+      # Tell IcedTea about our patches.
+      "DISTRIBUTION_PATCHES=patches/nixos-slash-bin.patch"
+    ];
+
+  meta = {
+    description = "IcedTea, a libre Java development kit based on OpenJDK";
+
+    longDescription =
+      '' The IcedTea project provides a harness to build the source code from
+         http://openjdk.java.net using Free Software build tools and adds a
+         number of key features to the upstream OpenJDK codebase: a Free
+         64-bit plugin with LiveConnect and Java Web Start support, support
+         for additional platforms via a pure interpreted mode in HotSpot
+         (Zero) or the alternative CACAO virtual machine.  Experimental JIT
+         support for Zero is also available via Shark.
+      '';
+
+    license = "GPLv2"; /* and multiple-licensing, e.g., for the plug-ins */
+
+    homepage = http://icedtea.classpath.org/;
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+
+    # Restrict to GNU systems for now.
+    platforms = stdenv.lib.platforms.gnu;
+  };
+}
diff --git a/pkgs/development/libraries/java/icedtea/nixos-slash-bin.patch b/pkgs/development/libraries/java/icedtea/nixos-slash-bin.patch
new file mode 100644
index 0000000000000..df4d1f4d03f9d
--- /dev/null
+++ b/pkgs/development/libraries/java/icedtea/nixos-slash-bin.patch
@@ -0,0 +1,20 @@
+Remove references to /bin/echo to allow NixOS builds.
+
+--- openjdk/jdk/make/common/shared/Defs-utils.gmk	2009-04-24 09:33:55.000000000 +0200
++++ openjdk/jdk/make/common/shared/Defs-utils.gmk	2010-01-19 15:39:29.000000000 +0100
+@@ -177,7 +177,7 @@ ifeq ($(PLATFORM),linux)
+ 
+   NAWK           = $(USRBIN_PATH)gawk
+   # Intrinsic unix command, with backslash-escaped character interpretation
+-  ECHO           = /bin/echo -e
++  ECHO           = echo -e
+   # These are really in UTILS_USR_BIN_PATH on Linux (only sccs is not)
+   AR             = $(UTILS_USR_BIN_PATH)ar
+   AS             = $(UTILS_USR_BIN_PATH)as
+@@ -195,6 +195,6 @@ ifeq ($(PLATFORM),solaris)
+   # Intrinsic unix command, with backslash-escaped character interpretation
+   #   (not using -e  will cause build failure when using /bin/bash)
+   #   (using -e breaks something else)
+-  ECHO           = /usr/bin/echo
++  ECHO           = echo
+ endif
diff --git a/pkgs/development/libraries/libcv/default.nix b/pkgs/development/libraries/libcv/default.nix
deleted file mode 100644
index a2035b4cb4069..0000000000000
--- a/pkgs/development/libraries/libcv/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-args :  
-let 
-  lib = args.lib;
-  fetchurl = args.fetchurl;
-  fullDepEntry = args.fullDepEntry;
-
-  version = lib.attrByPath ["version"] "" args; 
-  buildInputs = with args; [
-    libtiff libpng libjpeg pkgconfig 
-    gtk glib
-  ];
-in
-rec {
-  src = fetchurl {
-    url = ftp://ftp.debian.org/debian/pool/main/o/opencv/opencv_0.9.7.orig.tar.gz;
-    sha256 = "14qnm59gn518gjxwjb9hm3ij0b1awlxa76qdvnn5ygxsx713lf2j";
-  };
-
-  inherit buildInputs;
-  configureFlags = [];
-
-  /* doConfigure should be specified separately */
-  phaseNames = ["doConfigure" "doMakeInstall" "postInstall"];
-
-  postInstall = fullDepEntry (''
-    ln -s $out/include/opencv/* $out/include
-  '') ["doMakeInstall" "minInit"];
-      
-  name = "libcv-0.9.7";
-  meta = {
-    description = "libcv - computer vision library";
-  };
-}
diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix
index 94fb7f96986ef..aff6372d61138 100644
--- a/pkgs/development/libraries/libdrm/default.nix
+++ b/pkgs/development/libraries/libdrm/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, pkgconfig, libpthreadstubs}:
 
 stdenv.mkDerivation rec {
-  name = "libdrm-2.4.21";
+  name = "libdrm-2.4.22";
   
   src = fetchurl {
     url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
-    sha256 = "0jx1idd2ycglx81b0nlawh07lgi8k5h9854c9apdxcdnlcmn26sf";
+    sha256 = "0gbb7i282i6gf2wzbzkcz5j662v4ixpfjf0gv0090k89wjafbc0b";
   };
 
   buildInputs = [ pkgconfig libpthreadstubs ];
diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix
index e2904560e37ef..63a8c53afb782 100644
--- a/pkgs/development/libraries/libjpeg-turbo/default.nix
+++ b/pkgs/development/libraries/libjpeg-turbo/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, nasm }: 
 
 stdenv.mkDerivation {
-  name = "libjpeg-turbo-1.0.0";
+  name = "libjpeg-turbo-1.0.1";
   
   src = fetchurl {
-    url = mirror://sourceforge/libjpeg-turbo/libjpeg-turbo-1.0.0.tar.gz;
-    sha256 = "17zvyckjbscrr9b8i43g6g0960q5ammf4r93hkkx7s4hzjxvmkfj";
+    url = mirror://sourceforge/libjpeg-turbo/libjpeg-turbo-1.0.1.tar.gz;
+    sha256 = "094jvqzibqbzmhh7mz3xi76lzlilxzb4j1x8rpdcdkzyig9dizqf";
   };
 
   buildInputs = [ nasm ];
diff --git a/pkgs/development/libraries/libsamplerate/default.nix b/pkgs/development/libraries/libsamplerate/default.nix
index 8c132407d06c0..17f06e46711ca 100644
--- a/pkgs/development/libraries/libsamplerate/default.nix
+++ b/pkgs/development/libraries/libsamplerate/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://www.mega-nerd.com/SRC/${name}.tar.gz";
-    sha256 = "1m1iwzpcny42kcqv5as2nyb0ggrb56wzckpximqpp2y74dipdf4q";
+    sha256 = "1k3z09b13c0z10mqfn6w48pxsdx569s3wslg0x52q5mzy6gmvvbq";
   };
 
   buildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libspectre/default.nix b/pkgs/development/libraries/libspectre/default.nix
index 6b69540d2b968..0be6ac5f4efe0 100644
--- a/pkgs/development/libraries/libspectre/default.nix
+++ b/pkgs/development/libraries/libspectre/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, ghostscript }:
 
 stdenv.mkDerivation rec {
-  name = "libspectre-0.2.0";
+  name = "libspectre-0.2.6";
 
   src = fetchurl {
     url = "http://libspectre.freedesktop.org/releases/${name}.tar.gz";
-    sha256 = "0j75c84gqmfr6hbhiydri4msrxns8293lfxi7hkcnfa15v8qa0i0";
+    sha256 = "1lqdmi7vx497pbigpp77064a4463lmihzh44898l101c69i7qqrg";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/tnt/default.nix b/pkgs/development/libraries/tnt/default.nix
new file mode 100644
index 0000000000000..51e3ac452674c
--- /dev/null
+++ b/pkgs/development/libraries/tnt/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation rec {
+  name = "tnt-${version}";
+  version = "3.0.12";
+  
+  src = fetchurl {
+    url = http://math.nist.gov/tnt/tnt_3_0_12.zip;
+    sha256 = "1bzkfdb598584qlc058n8wqq9vbz714gr5r57401rsa9qaxhk5j7";
+  };
+
+  buildInputs = [ unzip ];
+
+  installPhase = ''
+      mkdir -p $out/include
+      cp *.h $out/include
+  '';
+
+  meta = {
+    homepage = http://math.nist.gov/tnt/;
+    description = "Template Numerical Toolkit: C++ headers for array and matrices";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/unicap/default.nix b/pkgs/development/libraries/unicap/default.nix
new file mode 100644
index 0000000000000..7a64017ca8ba7
--- /dev/null
+++ b/pkgs/development/libraries/unicap/default.nix
@@ -0,0 +1,55 @@
+x@{builderDefsPackage
+  , libusb, libraw1394, dcraw, intltool, perl
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="libunicap";
+    version="0.9.12";
+    name="${baseName}-${version}";
+    url="http://www.unicap-imaging.org/downloads/${name}.tar.gz";
+    hash="05zcnnm4dfc6idihfi0fq5xka6x86zi89wip2ca19yz768sd33s9";
+  };
+in
+rec {
+  src = a.fetchurl {
+    url = sourceInfo.url;
+    sha256 = sourceInfo.hash;
+  };
+
+  inherit (sourceInfo) name version;
+  inherit buildInputs;
+
+  /* doConfigure should be removed if not needed */
+  phaseNames = ["fixIncludes" "fixMakefiles" "doConfigure" "doMakeInstall"];
+
+  fixIncludes = a.fullDepEntry (''
+    find . -type f -exec sed -e '/linux\/types\.h/d' -i '{}' ';'
+  '') ["minInit" "doUnpack"];
+
+  fixMakefiles = a.fullDepEntry (''
+    sed -e 's@/etc/udev@'"$out"'/&@' -i data/Makefile.*
+  '') ["minInit" "doUnpack"];
+
+  meta = {
+    description = "Universal video capture API";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "http://unicap-imaging.org/download.htm";
+    };
+  };
+}) x
+
diff --git a/pkgs/development/libraries/urt/default.nix b/pkgs/development/libraries/urt/default.nix
new file mode 100644
index 0000000000000..8570af2b28349
--- /dev/null
+++ b/pkgs/development/libraries/urt/default.nix
@@ -0,0 +1,61 @@
+{stdenv, fetchurl, ncompress}:
+
+stdenv.mkDerivation rec {
+  name = "urt-${version}";
+  version = "3.1b";
+  
+  src = fetchurl {
+    url = ftp://ftp.iastate.edu/pub/utah-raster/urt-3.1b.tar.Z;
+    sha256 = "0hbb3avgvkfb2cksqn6cmmgcr0278nb2qd1srayqx0876pq6g2vd";
+  };
+
+  buildInputs = [ ncompress ];
+
+  unpackPhase = ''
+      mkdir urt
+      tar xvf "$src" -C urt
+  '';
+  patchFlags = "-p0 -d urt";
+  patches = [ ./urt-3.1b-build-fixes.patch ./urt-3.1b-compile-updates.patch
+              ./urt-3.1b-make.patch ./urt-3.1b-rle-fixes.patch ./urt-3.1b-tempfile.patch ];
+  postPatch = ''
+      cd urt
+
+      rm bin/README
+      rm man/man1/template.1
+
+      # stupid OS X declares a stack_t type already 
+      sed -i -e 's:stack_t:_urt_stack:g' tools/clock/rleClock.c
+
+      sed -i -e '/^CFLAGS/s: -O : :' makefile.hdr
+
+      cp "${./gentoo-config}" config/gentoo
+  '';
+  configurePhase = ''
+      ./Configure config/gentoo
+  '';
+  postInstall = ''
+      mkdir -p $out/bin
+      cp bin/* $out/bin
+
+      mkdir -p $out/lib
+      cp lib/librle.a $out/lib
+
+      mkdir -p $out/include
+      cp include/rle*.h $out/include
+
+      mkdir -p $out/share/man/man1
+      cp man/man1/*.1 $out/share/man/man1
+
+      mkdir -p $out/share/man/man3
+      cp man/man3/*.3 $out/share/man/man3
+
+      mkdir -p $out/share/man/man5
+      cp man/man5/*.5 $out/share/man/man5
+  '';
+
+  meta = {
+    homepage = http://www.cs.utah.edu/gdc/projects/urt/;
+    description = "The Utah Raster Toolkit is a library for dealing with raster images";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/urt/gentoo-config b/pkgs/development/libraries/urt/gentoo-config
new file mode 100644
index 0000000000000..a2d9ec3faf2f3
--- /dev/null
+++ b/pkgs/development/libraries/urt/gentoo-config
@@ -0,0 +1,52 @@
+#define ABEKASA60
+#define ABEKASA62
+#define ALIAS
+##define CGM
+#define CUBICOMP
+##define DVIRLE
+#define GRAYFILES
+#define MACPAINT
+##define PBMPLUS
+##define SUNRASTER
+#define TARGA
+#define VICAR
+#define WASATCH
+#define WAVEFRONT
+
+#define GCC
+
+#define CONST_DECL
+#define NO_MAKE_MAKEFILE
+#define USE_TIME_H
+#define SYS_V_SETPGRP
+#define USE_PROTOTYPES
+#define USE_RANDOM
+#define USE_STDARG
+#define USE_STDLIB_H
+#define USE_UNISTD_H
+#define USE_STRING_H
+#define VOID_STAR
+#define USE_XLIBINT_H
+#define X_SHARED_MEMORY
+
+#defpath DEST bin
+#defpath RI include
+#defpath RL lib
+
+ROFF = nroff
+ROFFOPT = -man
+ROFFPIPE = | lpr
+
+INCTIFF = 
+LIBTIFF = -ltiff
+INCX11 =
+LIBX11 = -lX11
+
+# Most people have migrated X11 to /usr/lib, but just in case ...
+check_x11=$(shell \
+	echo 'int main(){}' > test.c ; \
+	if ! $(CC) test.c -lX11 -o .urt-x11-test 2>/dev/null ; then \
+		echo "-L/usr/X11R6/lib" ; \
+	fi ; \
+	rm -f .urt-x11-test test.c)
+LIBX11 += $(call check_x11)
diff --git a/pkgs/development/libraries/urt/urt-3.1b-build-fixes.patch b/pkgs/development/libraries/urt/urt-3.1b-build-fixes.patch
new file mode 100644
index 0000000000000..fc2bacddb30ce
--- /dev/null
+++ b/pkgs/development/libraries/urt/urt-3.1b-build-fixes.patch
@@ -0,0 +1,151 @@
+some hosts are more anal about ar usage than others
+http://bugs.gentoo.org/107428
+
+respect user LDFLAGS
+http://bugs.gentoo.org/126872
+
+--- lib/makefile.src
++++ lib/makefile.src
+@@ -181,8 +181,7 @@
+ # Rebuild the library from all the .o files.
+ buildlib: $(OBJS)
+ 	-rm -f $(LIBNAME)
+-	ar rc $(LIBNAME)
+-	ar q $(LIBNAME) $(OBJS)
++	ar rc $(LIBNAME) $(OBJS)
+ #ifndef NO_RANLIB
+ 	ranlib $(LIBNAME)
+ #endif
+--- tools/clock/makefile.src
++++ tools/clock/makefile.src
+@@ -6,7 +6,7 @@ install: rleClock
+ 	mv rleClock ../rleClock.out
+ 
+ rleClock:rleClock.o font.o
+-	${CC} ${CFLAGS} rleClock.o font.o -lm ${LIBS} -o rleClock
++	${CC} ${CFLAGS} ${LDFLAGS} rleClock.o font.o ${LIBS} -o rleClock -lm
+ 
+ font.c:font.src makeFont
+ 	chmod +x makeFont
+--- tools/makefile.src
++++ tools/makefile.src
+@@ -62,21 +62,21 @@ applymap.out rlebg.out: $(RI)/rle_raw.h
+ pyrlib.o: pyrlib.c $(RI)/pyramid.h $(RI)/rle.h $(RI)/rle_config.h
+ 	$(CC) $(CFLAGS) pyrlib.c -c
+ pyrmask.out: pyrlib.o pyrmask.c $(RI)/pyramid.h
+-	$(CC) $(CFLAGS) -I$(RI) pyrmask.c pyrlib.o $(LIBS) -lm -o pyrmask.new
++	$(CC) $(LDFLAGS) $(CFLAGS) -I$(RI) pyrmask.c pyrlib.o $(LIBS) -lm -o pyrmask.new
+ 	mv pyrmask.new pyrmask.out
+ 
+ fant.out: fant.o mallocNd.o
+-	$(CC) $(CFLAGS) -I$(RI) fant.o mallocNd.o $(LIBS) -lm -o fant.new
++	$(CC) $(LDFLAGS) $(CFLAGS) -I$(RI) fant.o mallocNd.o $(LIBS) -lm -o fant.new
+ 	mv fant.new fant.out
+ 	
+ # rlebox and crop use some common code.
+ rle_box.o: $(RI)/rle.h $(RI)/rle_config.h $(RI)/rle_raw.h
+ 
+ crop.out: crop.c rle_box.o
+-	${CC} ${CFLAGS} crop.c rle_box.o ${LIBS} -o crop.new
++	${CC} ${LDFLAGS} ${CFLAGS} crop.c rle_box.o ${LIBS} -o crop.new
+ 	mv crop.new crop.out
+ rlebox.out: rlebox.c rle_box.o
+-	${CC} ${CFLAGS} rlebox.c rle_box.o ${LIBS} -o rlebox.new
++	${CC} ${LDFLAGS} ${CFLAGS} rlebox.c rle_box.o ${LIBS} -o rlebox.new
+ 	mv rlebox.new rlebox.out
+ 
+ # rleClock has it's own directory, must be built special
+@@ -100,7 +100,7 @@ clean:	clean-pgm
+ .SUFFIXES:
+ .SUFFIXES: .out .c .o
+ .c.out:
+-	$(CC) $(CFLAGS) $< $(LIBS) -lm -o $*.new
++	$(CC) $(LDFLAGS) $(CFLAGS) $< $(LIBS) -lm -o $*.new
+ 	mv $*.new $@
+ 
+ .c.o:
+--- cnv/makefile.src
++++ cnv/makefile.src
+@@ -76,13 +76,13 @@ PBMDIR = 
+ # ppmtorle - ppm format to RLE
+ # rletoppm - RLE to ppm format
+ pgmtorle.out: pgmtorle.c
+-	$(CC) $(CFLAGS) $(INCPBMPLUS) $*.c $(LIBS) $(LIBPBMPLUS) -o $*.new
++	$(CC) $(CFLAGS) $(LDFLAGS) $(INCPBMPLUS) $*.c $(LIBS) $(LIBPBMPLUS) -o $*.new
+ 	mv $*.new $@
+ ppmtorle.out: ppmtorle.c
+-	$(CC) $(CFLAGS) $(INCPBMPLUS) $*.c $(LIBS) $(LIBPBMPLUS) -o $*.new
++	$(CC) $(CFLAGS) $(LDFLAGS) $(INCPBMPLUS) $*.c $(LIBS) $(LIBPBMPLUS) -o $*.new
+ 	mv $*.new $@
+ rletoppm.out: rletoppm.c
+-	$(CC) $(CFLAGS) $(INCPBMPLUS) $*.c $(LIBS) $(LIBPBMPLUS) -o $*.new
++	$(CC) $(CFLAGS) $(LDFLAGS) $(INCPBMPLUS) $*.c $(LIBS) $(LIBPBMPLUS) -o $*.new
+ 	mv $*.new $@
+ #endif
+ 
+@@ -95,10 +95,10 @@ rletoppm.out: rletoppm.c
+ # iristorle/rletoiris - Convert between RLE and SGI image format.
+ #
+ iristorle.out: iristorle.c
+-	$(CC) $(CFLAGS) -I/usr/include/gl $*.c $(LIBS) -limage -o $*.new
++	$(CC) $(CFLAGS) $(LDFLAGS) -I/usr/include/gl $*.c $(LIBS) -limage -o $*.new
+ 	mv $*.new $@
+ rletoiris.out: rletoiris.c
+-	$(CC) $(CFLAGS) -I/usr/include/gl $*.c $(LIBS) -limage -o $*.new
++	$(CC) $(CFLAGS) $(LDFLAGS) -I/usr/include/gl $*.c $(LIBS) -limage -o $*.new
+ 	mv $*.new $@
+ #endif
+ 
+@@ -108,10 +108,10 @@ TIFFDIR =
+ # tifftorle - Convert TIFF images to RLE
+ # rletotiff - Convert RLE images to TIFF
+ rletotiff.out: rletotiff.c
+-	$(CC) $(CFLAGS) $(INCTIFF) $*.c $(LIBS) $(LIBTIFF) -lm -o $*.new
++	$(CC) $(CFLAGS) $(LDFLAGS) $(INCTIFF) $*.c $(LIBS) $(LIBTIFF) -lm -o $*.new
+ 	mv $*.new $@
+ tifftorle.out: tifftorle.c
+-	$(CC) $(CFLAGS) $(INCTIFF) $*.c $(LIBS) $(LIBTIFF) -lm -o $*.new
++	$(CC) $(CFLAGS) $(LDFLAGS) $(INCTIFF) $*.c $(LIBS) $(LIBTIFF) -lm -o $*.new
+ 	mv $*.new $@
+ #endif
+ 
+@@ -125,7 +125,7 @@ tifftorle.out: tifftorle.c
+ # Will build with the default rule.
+ # rletorla - RLE to Wavefront RLA
+ rletorla.out: rletorla.c
+-	$(CC) $(CFLAGS) $*.c $(LIBS) $(LIBWAVEFRONT) -lm -o $*.new
++	$(CC) $(CFLAGS) $(LDFLAGS) $*.c $(LIBS) $(LIBWAVEFRONT) -lm -o $*.new
+ 	mv $*.new $@
+ #endif WAVEFRONT
+ 
+@@ -144,7 +144,7 @@ pristine: pristine-pgm
+ .SUFFIXES:
+ .SUFFIXES: .out .c
+ .c.out:
+-	$(CC) $(CFLAGS) $*.c $(LIBS) -lm -o $*.new
++	$(CC) $(CFLAGS) $(LDFLAGS) $*.c $(LIBS) -lm -o $*.new
+ 	mv $*.new $@
+ 
+ # Dependency lines.  Make sure to #ifdef them.
+--- cnv/rletoabA62/makefile.src
++++ cnv/rletoabA62/makefile.src
+@@ -15,7 +15,7 @@ all		:	$(PGMS)
+ # Executables.  The .out will be stripped off in the install action.
+ 
+ rletoabA62.out	:	rletoabA62.o rle.o
+-			$(CC) $(CFLAGS) -o rletoabA62.new \
++			$(CC) $(CFLAGS) $(LDFLAGS) -o rletoabA62.new \
+ 			  rletoabA62.o rle.o $(LIBS)
+ 			mv rletoabA62.new rletoabA62.out
+ 
+--- cnv/rletogif/makefile.src
++++ cnv/rletogif/makefile.src
+@@ -15,7 +15,7 @@ all:	$(PGMS)
+ # The executable.  The ".out" will be stripped off in the install action.
+ 
+ rletogif.out: ${OBJ}
+-	${CC} ${CFLAGS} ${OBJ} ${LIBS} -o rletogif.new
++	${CC} ${CFLAGS} ${LDFLAGS} ${OBJ} ${LIBS} -o rletogif.new
+ 	mv rletogif.new rletogif.out
+ 
+ # Incremental install, copies executable to DEST dir.
diff --git a/pkgs/development/libraries/urt/urt-3.1b-compile-updates.patch b/pkgs/development/libraries/urt/urt-3.1b-compile-updates.patch
new file mode 100644
index 0000000000000..105f7c41f6a79
--- /dev/null
+++ b/pkgs/development/libraries/urt/urt-3.1b-compile-updates.patch
@@ -0,0 +1,141 @@
+--- get/getx11/XGetHClrs.c
++++ get/getx11/XGetHClrs.c
+@@ -1,5 +1,4 @@
+ #ifndef XLIBINT_H_NOT_AVAILABLE
+-#include <X11/copyright.h>
+ 
+ /* $XConsortium: XGetHClrs.c,v 11.10 88/09/06 16:07:50 martin Exp $ */
+ /* Copyright    Massachusetts Institute of Technology    1986	*/
+--- tools/mallocNd.c
++++ tools/mallocNd.c
+@@ -67,7 +67,7 @@
+ 
+ /* Imports */
+ #include <stdio.h>
+-extern char *malloc();
++#include <string.h>
+ 
+ /* Forward declarations */
+ char *BuildIndirectionTable();
+--- tools/into.c
++++ tools/into.c
+@@ -40,8 +40,8 @@
+ static char buf[MAXPATHLEN+1];
+ short forceflg;				/* overwrite an unwritable file? */
+ 
+-extern int errno;
+-extern char *sys_errlist[];
++#include <errno.h>
++#include <string.h>
+ 
+ void
+ main(argc, argv)
+@@ -103,7 +103,7 @@
+     if (ferror(outf))
+     {
+ 	fprintf(stderr, "into: %s, \"%s\" not modified\n",
+-	    sys_errlist[errno], argv[1]);
++	    strerror(errno), argv[1]);
+ 	unlink(buf);
+ 	exit(1);
+     }
+--- cnv/tex/dvirle2.c
++++ cnv/tex/dvirle2.c
+@@ -55,7 +55,6 @@
+ void DumpTopOfBand(), MoveDown(), WriteBuf(), WriteBlanks();
+ 
+ char	*ProgName;
+-extern int errno;
+ extern char *optarg;
+ extern int optind;
+ 
+--- cnv/wasatchrle.c
++++ cnv/wasatchrle.c
+@@ -32,7 +32,6 @@
+ #include <errno.h>
+ #include "rle.h"
+ 
+-extern int errno;
+ 
+ /* "short" in our world is 16 bits.  Beware of swyte-bopping. */
+ 
+--- get/getx11/x11_stuff.c
++++ get/getx11/x11_stuff.c
+@@ -155,7 +155,6 @@
+ 			IPC_CREAT|0777 );
+ 	    if ( img->shm_img.shmid < 0 )
+ 	    {
+-		extern int errno;
+ 		if ( errno == ENOSPC )
+ 		{
+ 		    if ( !no_shared_space )
+@@ -361,7 +360,6 @@ Boolean reallocate;
+ 	    XDestroyImage( image );
+ 	    if ( img->shm_pix.shmid < 0 )
+ 	    {
+-		extern int errno;
+ 		if ( errno == ENOSPC )
+ 		{
+ 		    if ( !no_shared_space )
+--- get/qcr/qcr.h
++++ get/qcr/qcr.h
+@@ -6,8 +6,6 @@
+ #define GREEN 1
+ #define BLUE 2
+ 
+-extern int errno;
+-
+ /* Command defs for QCR-Z Film Recorder */
+ 
+ /* These are for 8 bit Look Up Tables */
+--- get/gettaac.c
++++ get/gettaac.c
+@@ -24,6 +24,7 @@
+  * Send bug fixes and improvements to:  ksp@maxwell.nde.swri.edu
+  */
+ 
++#include <errno.h>
+ #include <stdio.h>
+ #include <strings.h>
+ #include <signal.h>
+@@ -459,7 +460,6 @@ char    *template;
+      char    nonUnique;
+      char    twiddleUserCompletion;
+ 
+-     extern  int         errno;
+      struct  direct     *nameEntry;
+      DIR                *dirChan;
+      struct  passwd     *pwdEntry;
+--- tools/clock/rleClock.c
++++ tools/clock/rleClock.c
+@@ -598,7 +598,7 @@
+     { TRUE,  "-tf", STRING, "Text area format string", 	          (char *)&FormatString }, 
+     { FALSE, "-Xm", BOOL,   "Output the alpha channel on RGB",    (char *)&DebugAlpha },
+     { FALSE, "-D",  BOOL,   "Turn on debugging",	          (char *)&Debug },
+-    NULL
++    { FALSE, NULL }
+ };
+ 
+ void
+--- tools/to8.c
++++ tools/to8.c
+@@ -175,7 +175,7 @@
+ 	 * Give it a background color of black, since the real background
+ 	 * will be dithered anyway.
+ 	 */
+-	if ( in_hdr.background != NULL )
++	if ( in_hdr.background != 0 )
+ 	{
+ 	    out_hdr.bg_color = (int *)malloc( sizeof( int ) );
+ 	    RLE_CHECK_ALLOC( cmd_name( argv ), out_hdr.bg_color, 0 );
+--- cnv/rletoabA62/rletoabA62.c
++++ cnv/rletoabA62/rletoabA62.c
+@@ -157,7 +157,7 @@
+ 	exit(1);
+     }
+     if (optind < argc) {
+-	if ((file = open(argv[optind], 0)) == NULL) {
++	if ((file = open(argv[optind], 0)) == -1) {
+ 	    perror(argv[optind]);
+ 	    exit(1);
+ 	}
diff --git a/pkgs/development/libraries/urt/urt-3.1b-make.patch b/pkgs/development/libraries/urt/urt-3.1b-make.patch
new file mode 100644
index 0000000000000..310675dd395db
--- /dev/null
+++ b/pkgs/development/libraries/urt/urt-3.1b-make.patch
@@ -0,0 +1,75 @@
+Index: makefile.src
+===================================================================
+--- makefile.src
++++ makefile.src
+@@ -17,7 +17,7 @@ all: default
+ # clean deletes all but source, pristine (below) deletes installed stuff, too
+ default clean: doit
+ 	@for d in $(DIRS) ; do \
+-		( cd $$d ; echo make $@ on $$d ; make $(MFLAGS) $@ ) ; \
++		( cd $$d ; echo $(MAKE) $@ on $$d ; $(MAKE) $(MFLAGS) $@ ) ; \
+ 	done
+ 
+ # install puts library, binaries and documentation into global location
+@@ -29,7 +29,7 @@ MAKE_TARGET =
+ 
+ install $(MAKE_TARGET) pristine depend:: doit
+ 	@for d in $(ALLDIRS) ; do \
+-		( cd $$d ; echo make $@ on $$d ; make $(MFLAGS) $@ ) ; \
++		( cd $$d ; echo $(MAKE) $@ on $$d ; $(MAKE) $(MFLAGS) $@ ) ; \
+ 	done
+ 
+ 
+Index: tools/makefile.src
+===================================================================
+--- tools/makefile.src
++++ tools/makefile.src
+@@ -82,7 +82,7 @@ rlebox.out: rlebox.c rle_box.o
+ # rleClock has it's own directory, must be built special
+ 
+ rleClock.out: clock/font.c clock/font.h clock/font.src clock/rleClock.c
+-	(cd clock ; make)
++	(cd clock ; $(MAKE))
+ 
+ # Incremental install, copies everything ("$?") since last install to DEST dir.
+ install: $(PGMS) install-pgm
+Index: makefile.tlr
+===================================================================
+--- makefile.tlr
++++ makefile.tlr
+@@ -7,7 +7,7 @@ subdirs:
+ 	@sh -c "if test 'x$(DIRS)' != x ; then eval \
+ 		'set -e ; for dir in $(DIRS) ; do \
+ 			(cd \$$dir ; echo Make ${HERE}\$$dir ; \
+-			 	make $(MFLAGS) $(DIRMFLAGS) ) ; \
++			 	$(MAKE) $(MFLAGS) $(DIRMFLAGS) ) ; \
+ 		done' ; \
+ 	  else \
+ 		true ; \
+@@ -46,7 +46,7 @@ install-subdirs: subdirs
+ 	@sh -c "if test 'x$(DIRS)' != x  ; then eval \
+ 		'for dir in $(DIRS) ; do \
+ 			(cd \$$dir ; echo Install ${HERE}\$$dir ; \
+-			 make $(MFLAGS) $(DIRMFLAGS) install) ; \
++			 $(MAKE) $(MFLAGS) $(DIRMFLAGS) install) ; \
+ 		done' ; \
+ 	  else \
+ 		true ; \
+@@ -105,7 +105,7 @@ pristine-pgm: clean-pgm
+ 	    'for dir in $(ALLDIRS); do \
+ 		if test -d $$dir ; then \
+ 			(cd $$dir; echo Make ${HERE}$$dir pristine ; \
+-			 make $(MFLAGS) pristine); \
++			 $(MAKE) $(MFLAGS) pristine); \
+ 		else \
+ 			true; \
+ 		fi; \
+@@ -124,7 +124,7 @@ clean-pgm:
+ 	    'for dir in $(ALLDIRS); do \
+ 		if test -d $$dir ; then \
+ 			(cd $$dir; echo Clean ${HERE}$$dir ; \
+-			 make $(MFLAGS) clean); \
++			 $(MAKE) $(MFLAGS) clean); \
+ 		else \
+ 			true; \
+ 		fi; \
diff --git a/pkgs/development/libraries/urt/urt-3.1b-rle-fixes.patch b/pkgs/development/libraries/urt/urt-3.1b-rle-fixes.patch
new file mode 100644
index 0000000000000..3720806960fe8
--- /dev/null
+++ b/pkgs/development/libraries/urt/urt-3.1b-rle-fixes.patch
@@ -0,0 +1,203 @@
+Fixes taken from netpbm
+
+--- lib/rle_global.c
++++ lib/rle_global.c
+@@ -76,7 +76,7 @@ rle_hdr rle_dflt_hdr = {
+     8,				/* cmaplen (log2 of length of color map) */
+     NULL,			/* pointer to color map */
+     NULL,			/* pointer to comment strings */
+-    stdout,			/* output file */
++    NULL,			/* output file -- must be set dynamically */
+     { 7 },			/* RGB channels only */
+     0L,				/* Can't free name and file fields. */
+     "Urt",			/* Default "program name". */
+--- lib/rle_hdr.c
++++ lib/rle_hdr.c
+@@ -269,6 +273,9 @@
+ {
+     rle_hdr *ret_hdr;
+ 
++    rle_dflt_hdr.rle_file = stdout;
++    /* The rest of rle_dflt_hdr is set by the loader's data initialization */
++
+     if ( the_hdr == &rle_dflt_hdr )
+ 	return the_hdr;
+ 
+--- lib/dither.c
++++ lib/dither.c
+@@ -38,10 +38,10 @@ void	make_square();
+ #endif
+ 
+ static int magic4x4[4][4] =  {
+- 	 0, 14,  3, 13,
+-	11,  5,  8,  6,
+-	12,  2, 15,  1,
+-	 7,  9,  4, 10
++{	 0, 14,  3, 13},
++{	11,  5,  8,  6},
++{	12,  2, 15,  1},
++{	 7,  9,  4, 10}
+ };
+ 
+ /* basic dithering macro */
+--- lib/rle_open_f.c
++++ lib/rle_open_f.c
+@@ -9,7 +9,11 @@
+  */
+ 
+ #include "rle_config.h"
++#define _XOPEN_SOURCE  /* Make sure fdopen() is in stdio.h */
++
+ #include <stdio.h>
++#include <unistd.h>
++#include <fcntl.h>
+ 
+ #ifndef NO_OPEN_PIPES
+ /* Need to have a SIGCLD signal catcher. */
+@@ -260,7 +260,6 @@
+     int pipefd[2];
+     int i;
+     char *argv[4];
+-    extern int errno;
+ 
+     /* Check args. */
+     if ( *mode != 'r' && *mode != 'w' )
+--- lib/rle_getcom.c
++++ lib/rle_getcom.c
+@@ -53,11 +53,12 @@
+ {
+     for ( ; *n != '\0' && *n != '=' && *n == *v; n++, v++ )
+ 	;
+-    if (*n == '\0' || *n == '=')
++    if (*n == '\0' || *n == '=') {
+ 	if ( *v == '\0' )
+ 	    return v;
+ 	else if ( *v == '=' )
+ 	    return ++v;
++    }
+ 
+     return NULL;
+ }
+--- lib/scanargs.c
++++ lib/scanargs.c
+@@ -128,10 +130,10 @@
+ va_list argl;
+ {
+ 
+-    register    check;			/* check counter to be sure all argvs
++    int    check;			/* check counter to be sure all argvs
+ 					   are processed */
+     register CONST_DECL char  *cp;
+-    register    cnt;
++    int    cnt;
+     int	    optarg = 0;			/* where optional args start */
+     int	    nopt = 0;
+     char    tmpflg,			/* temp flag */
+@@ -375,11 +377,12 @@
+ 				if ( optarg > 0 ) /* end optional args? */
+ 				{
+ 				    /* Eat the arg, too, if necessary */
+-				    if ( list_cnt == 0 )
++				    if ( list_cnt == 0 ) {
+ 					if ( typchr == 's' )
+ 					    (void)va_arg( argl, char * );
+ 					else
+ 					    (void)va_arg( argl, ptr );
++                    }
+ 				    break;
+ 				}
+ 				else
+@@ -567,7 +570,7 @@
+ 				     * Do conversion for n and N types
+ 				     */
+ 				    tmpflg = typchr;
+-				    if (typchr == 'n' || typchr == 'N' )
++				    if (typchr == 'n' || typchr == 'N' ) {
+ 					if (*argp != '0')
+ 					    tmpflg = 'd';
+ 					else if (*(argp+1) == 'x' ||
+@@ -578,6 +581,7 @@
+ 					}
+ 					else
+ 					    tmpflg = 'o';
++                    }
+ 				    if (typchr == 'N')
+ 					tmpflg = toupper( tmpflg );
+ 
+--- lib/inv_cmap.c
++++ lib/inv_cmap.c
+@@ -42,7 +42,7 @@
+ static long cbinc, cginc, crinc;
+ static unsigned long *gdp, *rdp, *cdp;
+ static unsigned char *grgbp, *rrgbp, *crgbp;
+-static gstride, rstride;
++static long gstride, rstride;
+ static long x, xsqr, colormax;
+ static int cindex;
+ #ifdef INSTRUMENT_IT
+--- lib/rle_getrow.c
++++ lib/rle_getrow.c
+@@ -351,7 +351,7 @@
+ 	    bzero( (char *)scanline[-1] + the_hdr->xmin,
+ 		   the_hdr->xmax - the_hdr->xmin + 1 );
+ 	for ( nc = 0; nc < the_hdr->ncolors; nc++ )
+-	    if ( RLE_BIT( *the_hdr, nc ) )
++	    if ( RLE_BIT( *the_hdr, nc ) ) {
+ 		/* Unless bg color given explicitly, use 0. */
+ 		if ( the_hdr->background != 2 || the_hdr->bg_color[nc] == 0 )
+ 		    bzero( (char *)scanline[nc] + the_hdr->xmin,
+@@ -360,6 +360,7 @@
+ 		    bfill( (char *)scanline[nc] + the_hdr->xmin,
+ 			   the_hdr->xmax - the_hdr->xmin + 1,
+ 			   the_hdr->bg_color[nc] );
++	    }
+     }
+ 
+     /* If skipping, then just return */
+@@ -367,7 +368,7 @@
+     {
+ 	the_hdr->priv.get.vert_skip--;
+ 	the_hdr->priv.get.scan_y++;
+-	if ( the_hdr->priv.get.vert_skip > 0 )
++	if ( the_hdr->priv.get.vert_skip > 0 ) {
+ 	    if ( the_hdr->priv.get.scan_y >= the_hdr->ymax )
+ 	    {
+ 		int y = the_hdr->priv.get.scan_y;
+@@ -377,6 +378,7 @@
+ 	    }
+ 	    else
+ 		return the_hdr->priv.get.scan_y;
++	}
+     }
+ 
+     /* If EOF has been encountered, return also */
+@@ -457,11 +459,12 @@
+ 	    else
+ 		nc = DATUM(inst);
+ 	    nc++;
+-	    if ( debug_f )
++	    if ( debug_f ) {
+ 		if ( RLE_BIT( *the_hdr, channel ) )
+ 		    fprintf( stderr, "Pixel data %d (to %d):", nc, scan_x+nc );
+ 		else
+ 		    fprintf( stderr, "Pixel data %d (to %d)\n", nc, scan_x+nc);
++	    }
+ 	    if ( RLE_BIT( *the_hdr, channel ) )
+ 	    {
+ 		/* Don't fill past end of scanline! */
+--- lib/rle_putcom.c
++++ lib/rle_putcom.c
+@@ -53,11 +53,12 @@
+ {
+     for ( ; *n != '\0' && *n != '=' && *n == *v; n++, v++ )
+ 	;
+-    if (*n == '\0' || *n == '=')
++    if (*n == '\0' || *n == '=') {
+ 	if ( *v == '\0' )
+ 	    return v;
+ 	else if ( *v == '=' )
+ 	    return ++v;
++    }
+ 
+     return NULL;
+ }
diff --git a/pkgs/development/libraries/urt/urt-3.1b-tempfile.patch b/pkgs/development/libraries/urt/urt-3.1b-tempfile.patch
new file mode 100644
index 0000000000000..12acce151b5df
--- /dev/null
+++ b/pkgs/development/libraries/urt/urt-3.1b-tempfile.patch
@@ -0,0 +1,19 @@
+--- tools/rlecat.c
++++ tools/rlecat.c
+@@ -110,8 +110,14 @@
+ 	    nflag = 0;		/* Not really repeating! */
+ 	else
+ 	{
+-	    mktemp( temp );	/* Make a temporary file name */
+-	    tmpfile = rle_open_f( cmd_name( argv ), temp, "w+" );
++	    /* we dont have to use rle_open_f() because all it does in
++	     * this case is run fopen() ... we're creating a file so all
++	     * the checks for opening an existing file aren't needed */
++	    int fd = mkstemp(temp);
++	    if (fd == -1 || (tmpfile = fdopen(fd, "w+")) == NULL) {
++		perror("Unable to open tempfile");
++		exit(-1);
++	    }
+ 	}
+     }
+ 
diff --git a/pkgs/development/libraries/webkit/default.nix b/pkgs/development/libraries/webkit/default.nix
index 31e96bd535a34..262b0c2e9ced5 100644
--- a/pkgs/development/libraries/webkit/default.nix
+++ b/pkgs/development/libraries/webkit/default.nix
@@ -13,7 +13,7 @@ rec {
     gettext libjpeg libpng libtiff libxml2 libxslt pango
     sqlite icu gperf bison flex autoconf automake libtool 
     perl intltool pkgconfig libsoup gtkdoc libXt libproxy
-    enchant python ruby
+    enchant python ruby which renderproto libXrender
     ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/libraries/webkit/src-for-default.nix b/pkgs/development/libraries/webkit/src-for-default.nix
index 8e7a37299d889..727bc993b3654 100644
--- a/pkgs/development/libraries/webkit/src-for-default.nix
+++ b/pkgs/development/libraries/webkit/src-for-default.nix
@@ -1,9 +1,9 @@
 rec {
-   version="r67838";
-   name="webkit-r67838";
-   hash="0njncks7n9a1zmdpsbv9dm2iszdkgnd8an0dbg4fvy05ykmvfcms";
-   url="http://builds.nightly.webkit.org/files/trunk/src/WebKit-r67838.tar.bz2";
-   advertisedUrl="http://builds.nightly.webkit.org/files/trunk/src/WebKit-r67838.tar.bz2";
+   version="r69611";
+   name="webkit-r69611";
+   hash="1429hz86w4c2lzl32mpfxcim25d3xvqgx2as1c5ghdhiv0q9d76p";
+   url="http://builds.nightly.webkit.org/files/trunk/src/WebKit-r69611.tar.bz2";
+   advertisedUrl="http://builds.nightly.webkit.org/files/trunk/src/WebKit-r69611.tar.bz2";
   
   
 }
diff --git a/pkgs/development/python-modules/pygobject/default.nix b/pkgs/development/python-modules/pygobject/default.nix
index bb60ec66291c9..303bb36a3a87a 100644
--- a/pkgs/development/python-modules/pygobject/default.nix
+++ b/pkgs/development/python-modules/pygobject/default.nix
@@ -1,13 +1,16 @@
-{stdenv, fetchurl, python, pkgconfig, glib}:
+{ stdenv, fetchurl, python, pkgconfig, glib }:
 
-stdenv.mkDerivation {
-  name = "pygobject-2.20.0";
+stdenv.mkDerivation rec {
+  name = "pygobject-2.26.0";
+  
   src = fetchurl {
-    url = http://ftp.gnome.org/pub/GNOME/sources/pygobject/2.20/pygobject-2.20.0.tar.bz2;
-    sha256 = "10gsf3i2q9y659hayxyaxyfz7inswcjc8m6iyqckwsj2yjij7sa1";
+    url = "http://ftp.gnome.org/pub/GNOME/sources/pygobject/2.26/${name}.tar.bz2";
+    sha256 = "5554acff9c27b647144143b0459359864e4a6f2ff62c7ba21cf310ad755cf7c7";
   };
 
-  buildInputs = [python pkgconfig glib];
+  configureFlags = "--disable-introspection";
+
+  buildInputs = [ python pkgconfig glib ];
 
   postInstall = ''
     # All python code is installed into a "gtk-2.0" sub-directory. That
@@ -20,4 +23,9 @@ stdenv.mkDerivation {
       ln -s "gtk-2.0/$n" "../$n"
     done
   '';
+
+  meta = {
+    homepage = http://live.gnome.org/PyGObject;
+    description = "Python bindings for Glib";
+  };
 }
diff --git a/pkgs/development/python-modules/pygtk/default.nix b/pkgs/development/python-modules/pygtk/default.nix
index 48c8ebfa87a4c..81147fff17dcc 100644
--- a/pkgs/development/python-modules/pygtk/default.nix
+++ b/pkgs/development/python-modules/pygtk/default.nix
@@ -1,19 +1,19 @@
-{stdenv, fetchurl, python, pkgconfig, glib, gtk, pygobject, pycairo
-  , libglade ? null}:
+{ stdenv, fetchurl, makeWrapper, python, pkgconfig, glib, gtk, pygobject, pycairo
+, libglade ? null }:
 
-stdenv.mkDerivation {
-  name = "pygtk-2.17.0";
+stdenv.mkDerivation rec {
+  name = "pygtk-2.22.0";
 
   src = fetchurl {
-    url = http://ftp.gnome.org/pub/GNOME/sources/pygtk/2.17/pygtk-2.17.0.tar.bz2;
-    sha256 = "000l3wrcj0ghid045n6ipqg4q4zci51z9k9fqw4n4p3n5rx82qba";
+    url = "http://ftp.gnome.org/pub/GNOME/sources/pygtk/2.22/${name}.tar.bz2";
+    sha256 = "4acf0ef2bde8574913c40ee4a43d9c4f43bb77b577b67147271b534501a54cc8";
   };
 
-  buildInputs = [python pkgconfig glib gtk]
-    ++ (if libglade != null then [libglade] else [])
-  ;
+  buildInputs =
+    [ makeWrapper python pkgconfig glib gtk ]
+    ++ stdenv.lib.optional (libglade != null) libglade;
 
-  propagatedBuildInputs = [pygobject pycairo];
+  propagatedBuildInputs = [ pygobject pycairo ];
 
   postInstall = ''
     rm $out/bin/pygtk-codegen-2.0
@@ -28,5 +28,8 @@ stdenv.mkDerivation {
     for n in *; do
       ln -s "gtk-2.0/$n" "../$n"
     done
+
+    wrapProgram $out/bin/pygtk-demo --prefix PYTHONPATH ":" \
+        $(toPythonPath "${pygobject} ${pycairo} $out")
   '';
 }
diff --git a/pkgs/development/tools/build-managers/scons/default.nix b/pkgs/development/tools/build-managers/scons/default.nix
index fc9e4e2497d8a..d23940dda945c 100644
--- a/pkgs/development/tools/build-managers/scons/default.nix
+++ b/pkgs/development/tools/build-managers/scons/default.nix
@@ -13,6 +13,13 @@ stdenv.mkDerivation {
     sha256 = "0qk74nrnm9qlijrq6gmy8cyhjgp0gis4zx44divnr8n487d5308a";
   };
 
+  preConfigure = ''
+    for i in script/* 
+    do 
+     substituteInPlace $i --replace "/usr/bin/env python" "${python}/bin/python"
+    done
+  '';
+
   propagatedBuildInputs = [python makeWrapper];
   buildPhase = "python setup.py install --prefix=$out --install-lib=$(toPythonPath $out) --hardlink-scons -O1";
   installPhase = "for n in $out/bin/*; do wrapProgram $n --suffix PYTHONPATH ':' \"$(toPythonPath $out)\"; done";
diff --git a/pkgs/games/scummvm/default.nix b/pkgs/games/scummvm/default.nix
index ad03906888c03..c1ae54c01bd46 100644
--- a/pkgs/games/scummvm/default.nix
+++ b/pkgs/games/scummvm/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, SDL, zlib, mpeg2dec}:
 
 stdenv.mkDerivation {
-  name = "scummvm-1.1.1";
+  name = "scummvm-1.2.0";
   
   src = fetchurl {
-    url = mirror://sourceforge/scummvm/scummvm-1.1.1.tar.bz2;
-    sha256 = "0jlxwd8rzk4dn221v9w024w6f503am29hd8djzs1vz0bd72nbj4w";
+    url = mirror://sourceforge/scummvm/scummvm-1.2.0.tar.bz2;
+    sha256 = "1h6sskqjg0cqyan1xkw1vbdqnfpqg42cgbmzpgclmhg3gi6mkz1z";
   };
   
   buildInputs = [SDL zlib mpeg2dec];
diff --git a/pkgs/lib/modules.nix b/pkgs/lib/modules.nix
index 4af87ec684489..08c26e72f72ea 100644
--- a/pkgs/lib/modules.nix
+++ b/pkgs/lib/modules.nix
@@ -341,7 +341,7 @@ rec {
     else if isAttrs options && lib.attrNames m.options != [] then
       all (name:
         lib.addErrorContext "${eol
-          }while checking the attribute '${addName name}'.${eol
+          }while checking the attribute `${addName name}':${eol
         }" (checkModule (addName name) (selectModule name m))
       ) (lib.attrNames m.config)
     else
diff --git a/pkgs/misc/emulators/wine/wine-warcraft.nix b/pkgs/misc/emulators/wine/wine-warcraft.nix
index e4ba8c7d72d42..b45ea75c28f69 100644
--- a/pkgs/misc/emulators/wine/wine-warcraft.nix
+++ b/pkgs/misc/emulators/wine/wine-warcraft.nix
@@ -6,12 +6,9 @@
 assert stdenv.isLinux;
 assert stdenv.gcc.gcc != null;
 
-let 
-  s = import ./src-for-default.nix;
-in
-
 stdenv.mkDerivation rec {
-  name = "wine-warcraft-${s.version}";
+  name = "wine-warcraft-${version}";
+  version = "1.1.19";
 
   src = fetchgit {
     url = git://repo.or.cz/wine/warcraft3.git;
@@ -40,11 +37,11 @@ stdenv.mkDerivation rec {
   # elements specified above.
   dontPatchELF = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = "http://www.winehq.org/";
     license = "LGPL";
-    description = "An Open Source implementation of the Windows API on top of X, OpenGL, and Unix";
-    maintainers = [ stdenv.lib.maintainers.raskin ];
+    description = "An Open Source implementation of the Windows API on top of X, OpenGL, and Unix with patches for Warcraft 3";
+    maintainers = [ maintainers.phreedom ];
     platforms = [ "i686-linux" ];
   };
 }
diff --git a/pkgs/misc/sane-backends/default.nix b/pkgs/misc/sane-backends/default.nix
index 63fb29a7eb35d..65e748b68fcf2 100644
--- a/pkgs/misc/sane-backends/default.nix
+++ b/pkgs/misc/sane-backends/default.nix
@@ -1,6 +1,8 @@
 { stdenv, fetchurl, hotplugSupport ? false, libusb ? null
 , gt68xxFirmware ? null }:
-
+let
+  firmware = gt68xxFirmware {inherit fetchurl;};
+in
 assert hotplugSupport -> stdenv.system == "i686-linux";
 
 stdenv.mkDerivation {
@@ -24,8 +26,7 @@ stdenv.mkDerivation {
 
   preInstall =
     if gt68xxFirmware != null then 
-      "mkdir -p \${out}/share/sane/gt68xx ; ln -s " +  
-      (gt68xxFirmware {inherit fetchurl;}) +
-      "  \${out}/share/sane/gt68xx/PS1fw.usb "
+      "mkdir -p \${out}/share/sane/gt68xx ; ln -s " + firmware.fw +
+      " \${out}/share/sane/gt68xx/" + firmware.name
     else "";
 }
diff --git a/pkgs/os-specific/linux/firmware/ipw2100/default.nix b/pkgs/os-specific/linux/firmware/ipw2100/default.nix
new file mode 100644
index 0000000000000..2ffa8c3e83757
--- /dev/null
+++ b/pkgs/os-specific/linux/firmware/ipw2100/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+  name = "ipw2100-fw-1.3";
+  src = fetchurl {
+    url = http://bughost.org/firmware/ipw2100-fw-1.3.tgz;
+    sha256 = "18m7wgd062qwfdr6y0kjrvf1715wjcjn4yml2sk29ls8br2pq471";
+  };
+
+  unpackPhase = "tar xvzf $src";
+
+  # Installation copies the firmware AND the license.  The license
+  # says: "Your rights to redistribute the Software shall be
+  # contingent upon your installation of this Agreement in its
+  # entirety in the same directory as the Software."
+  installPhase = "ensureDir $out; cp * $out";
+  
+  meta = {
+    # "... you may transfer a copy of the Software ... provided such
+    # recipient agrees to be fully bound by the terms hereof."
+    description = "Firmware for the Intel 2100BG wireless card (requires acceptance of license, see http://ipw2100.sourceforge.net/firmware.php?fid=2)";
+    homepage = http://ipw2100.sourceforge.net/firmware.php;
+    license = http://ipw2100.sourceforge.net/firmware.php?fid=2;
+  };
+}
diff --git a/pkgs/os-specific/linux/hal/default.nix b/pkgs/os-specific/linux/hal/default.nix
index 45a3efbfce534..718d54f3106e2 100644
--- a/pkgs/os-specific/linux/hal/default.nix
+++ b/pkgs/os-specific/linux/hal/default.nix
@@ -2,7 +2,7 @@
 , libusb, dbus, dbus_glib, glib, libuuid, perl
 , perlXMLParser, gettext, zlib, gperf, consolekit, policykit
 , libsmbios, dmidecode, udev, utillinuxng, pmutils, usbutils
-, eject
+, eject, upstart
 }:
 
 assert stdenv ? glibc;
@@ -54,7 +54,8 @@ stdenv.mkDerivation rec {
         --replace /bin/mount ${utillinuxng}/bin/mount \
         --replace /bin/umount ${utillinuxng}/bin/umount \
         --replace /usr/bin/pm-is-supported ${pmutils}/bin/pm-is-supported \
-        --replace /usr/sbin/pm ${pmutils}/sbin/pm
+        --replace /usr/sbin/pm ${pmutils}/sbin/pm \
+        --replace /sbin/shutdown ${upstart}/sbin/shutdown
     done
   '';
 
diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.36.nix b/pkgs/os-specific/linux/kernel/linux-2.6.36.nix
new file mode 100644
index 0000000000000..dbc036bec3721
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-2.6.36.nix
@@ -0,0 +1,207 @@
+args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? ""
+, ... }:
+
+let
+  configWithPlatform = kernelPlatform :
+    ''
+      # Don't include any debug features.
+      DEBUG_KERNEL n
+
+      # Support drivers that need external firmware.
+      STANDALONE n
+
+      # Make /proc/config.gz available.
+      IKCONFIG_PROC y
+
+      # Optimize with -O2, not -Os.
+      CC_OPTIMIZE_FOR_SIZE n
+
+      # Enable the kernel's built-in memory tester.
+      MEMTEST y
+
+      # Disable some expensive (?) features.
+      FTRACE n
+      KPROBES n
+      NUMA? n
+      PM_TRACE_RTC n
+
+      # Enable various subsystems.
+      ACCESSIBILITY y # Accessibility support
+      AUXDISPLAY y # Auxiliary Display support
+      DONGLE y # Serial dongle support
+      HIPPI y
+      MTD_COMPLEX_MAPPINGS y # needed for many devices
+      NET_POCKET y # enable pocket and portable adapters
+      SCSI_LOWLEVEL y # enable lots of SCSI devices
+      SCSI_LOWLEVEL_PCMCIA y
+      SPI y # needed for many devices
+      SPI_MASTER y
+      WAN y
+
+      # Networking options.
+      IP_PNP n
+      IPV6_PRIVACY y
+      NETFILTER_ADVANCED y
+      IP_VS_PROTO_TCP y
+      IP_VS_PROTO_UDP y
+      IP_VS_PROTO_ESP y
+      IP_VS_PROTO_AH y
+      IP_DCCP_CCID3 n # experimental
+      CLS_U32_PERF y
+      CLS_U32_MARK y
+
+      # Wireless networking.
+      IPW2100_MONITOR y # support promiscuous mode
+      IPW2200_MONITOR y # support promiscuous mode
+      IWL4965 y # Intel Wireless WiFi 4965AGN
+      IWL5000 y # Intel Wireless WiFi 5000AGN
+      HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver
+      HOSTAP_FIRMWARE_NVRAM y
+
+      # Some settings to make sure that fbcondecor works - in particular,
+      # disable tileblitting and the drivers that need it.
+
+      # Enable various FB devices.
+      FB y
+      FB_EFI y
+      FB_NVIDIA_I2C y # Enable DDC Support
+      FB_RIVA_I2C y
+      FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support
+      FB_ATY_GX y # Mach64 GX support
+      FB_SAVAGE_I2C y
+      FB_SAVAGE_ACCEL y
+      FB_SIS_300 y
+      FB_SIS_315 y
+      FB_3DFX_ACCEL y
+      FB_GEODE y
+
+      # Video configuration
+      # The intel drivers already require KMS
+      DRM_I915_KMS y
+
+      # Sound.
+      SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode
+      SND_HDA_INPUT_BEEP y # Support digital beep via input layer
+      SND_USB_CAIAQ_INPUT y
+      PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible)
+
+      # USB serial devices.
+      USB_SERIAL_GENERIC y # USB Generic Serial Driver
+      USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices
+      USB_SERIAL_KEYSPAN_USA28 y
+      USB_SERIAL_KEYSPAN_USA28X y
+      USB_SERIAL_KEYSPAN_USA28XA y
+      USB_SERIAL_KEYSPAN_USA28XB y
+      USB_SERIAL_KEYSPAN_USA19 y
+      USB_SERIAL_KEYSPAN_USA18X y
+      USB_SERIAL_KEYSPAN_USA19W y
+      USB_SERIAL_KEYSPAN_USA19QW y
+      USB_SERIAL_KEYSPAN_USA19QI y
+      USB_SERIAL_KEYSPAN_USA49W y
+      USB_SERIAL_KEYSPAN_USA49WLC y
+
+      # Filesystem options - in particular, enable extended attributes and
+      # ACLs for all filesystems that support them.
+      EXT2_FS_XATTR y # Ext2 extended attributes
+      EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists
+      EXT2_FS_SECURITY y # Ext2 Security Labels
+      EXT2_FS_XIP y # Ext2 execute in place support
+      EXT4_FS_POSIX_ACL y
+      EXT4_FS_SECURITY y
+      REISERFS_FS_XATTR y
+      REISERFS_FS_POSIX_ACL y
+      REISERFS_FS_SECURITY y
+      JFS_POSIX_ACL y
+      JFS_SECURITY y
+      XFS_QUOTA y
+      XFS_POSIX_ACL y
+      XFS_RT y # XFS Realtime subvolume support
+      OCFS2_DEBUG_MASKLOG n
+      BTRFS_FS_POSIX_ACL y
+      UBIFS_FS_XATTR y
+      UBIFS_FS_ADVANCED_COMPR y
+      NFSD_V2_ACL y
+      NFSD_V3 y
+      NFSD_V3_ACL y
+      NFSD_V4 y
+      CIFS_XATTR y
+      CIFS_POSIX y
+
+      # Security related features.
+      STRICT_DEVMEM y # Filter access to /dev/mem
+      SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default
+
+      # Misc. options.
+      8139TOO_8129 y
+      8139TOO_PIO n # PIO is slower
+      AIC79XX_DEBUG_ENABLE n
+      AIC7XXX_DEBUG_ENABLE n
+      AIC94XX_DEBUG n
+      B43_PCMCIA y
+      BLK_DEV_BSG n
+      BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support
+      BLK_DEV_IDEACPI y # IDE ACPI support
+      BLK_DEV_INTEGRITY y
+      BSD_PROCESS_ACCT_V3 y
+      BT_HCIUART_BCSP y
+      BT_HCIUART_H4 y # UART (H4) protocol support
+      BT_HCIUART_LL y
+      BT_RFCOMM_TTY y # RFCOMM TTY support
+      CPU_FREQ_DEBUG n
+      CRASH_DUMP n
+      DMAR? n # experimental
+      DVB_DYNAMIC_MINORS y # we use udev
+      FUSION y # Fusion MPT device support
+      IDE_GD_ATAPI y # ATAPI floppy support
+      IRDA_ULTRA y # Ultra (connectionless) protocol
+      JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels
+      JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels
+      JOYSTICK_XPAD_FF y # X-Box gamepad rumble support
+      JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED
+      KALLSYMS_EXTRA_PASS n
+      LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support
+      LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger
+      LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback
+      LOGO n # not needed
+      MEDIA_ATTACH y
+      MEGARAID_NEWGEN y
+      MICROCODE_AMD y
+      MODVERSIONS y
+      MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension
+      MTRR_SANITIZER y
+      NET_FC y # Fibre Channel driver support
+      PPP_MULTILINK y # PPP multilink support
+      REGULATOR y # Voltage and Current Regulator Support
+      SCSI_LOGGING y # SCSI logging facility
+      SERIAL_8250 y # 8250/16550 and compatible serial support
+      SLIP_COMPRESSED y # CSLIP compressed headers
+      SLIP_SMART y
+      THERMAL_HWMON y # Hardware monitoring support
+      USB_DEBUG n
+      USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators
+      X86_CHECK_BIOS_CORRUPTION y
+      X86_MCE y
+
+      ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
+      ${extraConfig}
+    '';
+in
+
+import ./generic.nix (
+
+  rec {
+    version = "2.6.36";
+  
+    src = fetchurl {
+      url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2";
+      sha256 = "15a076d1a435a6bf8e92834eba4b390b4ec094ce06d47f89d071ca9e5788ce04";
+    };
+
+    config = configWithPlatform stdenv.platform;
+    configCross = configWithPlatform stdenv.cross.platform;
+
+    features.iwlwifi = true;
+  }
+
+  // removeAttrs args ["extraConfig"]
+)
diff --git a/pkgs/os-specific/linux/qemu-kvm/default.nix b/pkgs/os-specific/linux/qemu-kvm/default.nix
index 69222d5a24d06..ef7153871fd2b 100644
--- a/pkgs/os-specific/linux/qemu-kvm/default.nix
+++ b/pkgs/os-specific/linux/qemu-kvm/default.nix
@@ -3,14 +3,14 @@
 assert stdenv.isLinux;
    
 stdenv.mkDerivation rec {
-  name = "qemu-kvm-0.12.5";
+  name = "qemu-kvm-0.13.0";
    
   src = fetchurl {
     url = "mirror://sourceforge/kvm/${name}.tar.gz";
-    sha256 = "0gsqmws24s96g1h0z2m8r28pyv08wnzh5jip925ym167rfp8bh14";
+    sha256 = "0lxym4p2bvqcb37h3wbjd81w4jrj4dn5kivdxcpx27iwgq6n1ckd";
   };
 
-  patches = [ ./unix-domain.patch ./smb-tmpdir.patch ];
+  patches = [ ./smb-tmpdir.patch ];
 
   buildInputs = [ zlib SDL alsaLib pkgconfig pciutils libuuid ];
 
diff --git a/pkgs/os-specific/linux/qemu-kvm/unix-domain.patch b/pkgs/os-specific/linux/qemu-kvm/unix-domain.patch
deleted file mode 100644
index 86815a06cd213..0000000000000
--- a/pkgs/os-specific/linux/qemu-kvm/unix-domain.patch
+++ /dev/null
@@ -1,175 +0,0 @@
-diff -rc --exclude '*~' qemu-kvm-0.12.1.2-orig/slirp/socket.c qemu-kvm-0.12.1.2/slirp/socket.c
-*** qemu-kvm-0.12.1.2-orig/slirp/socket.c	2009-12-29 21:46:34.000000000 +0100
---- qemu-kvm-0.12.1.2/slirp/socket.c	2010-01-03 20:24:11.000000000 +0100
-***************
-*** 588,593 ****
---- 588,594 ----
-             u_int lport, int flags)
-  {
-  	struct sockaddr_in addr;
-+ 	struct sockaddr_un addr_un;
-  	struct socket *so;
-  	int s, opt = 1;
-  	socklen_t addrlen = sizeof(addr);
-***************
-*** 622,634 ****
-  	so->so_lport = lport; /* Kept in network format */
-  	so->so_laddr.s_addr = laddr; /* Ditto */
-  
-! 	addr.sin_family = AF_INET;
-! 	addr.sin_addr.s_addr = haddr;
-! 	addr.sin_port = hport;
-  
-! 	if (((s = qemu_socket(AF_INET,SOCK_STREAM,0)) < 0) ||
-  	    (setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)&opt,sizeof(int)) < 0) ||
-! 	    (bind(s,(struct sockaddr *)&addr, sizeof(addr)) < 0) ||
-  	    (listen(s,1) < 0)) {
-  		int tmperrno = errno; /* Don't clobber the real reason we failed */
-  
---- 623,644 ----
-  	so->so_lport = lport; /* Kept in network format */
-  	so->so_laddr.s_addr = laddr; /* Ditto */
-  
-! 	so->so_uds = ntohs(hport) >= 0xff00;
-! 	
-! 	if (so->so_uds) {
-! 	    addr_un.sun_family = AF_UNIX;
-! 	    sprintf(addr_un.sun_path, "./%d.socket", ntohs(hport));
-! 	    unlink(addr_un.sun_path);
-! 	} else {
-! 	    addr.sin_family = AF_INET;
-! 	    addr.sin_addr.s_addr = haddr;
-! 	    addr.sin_port = hport;
-! 	}
-  
-!  	if (((s = qemu_socket(so->so_uds ? PF_UNIX : AF_INET, SOCK_STREAM, 0)) < 0) ||
-  	    (setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)&opt,sizeof(int)) < 0) ||
-! 	    (bind(s, so->so_uds ? (struct sockaddr *) &addr_un : (struct sockaddr *) &addr,
-! 		so->so_uds ? sizeof(addr_un) : sizeof(addr)) < 0) ||
-  	    (listen(s,1) < 0)) {
-  		int tmperrno = errno; /* Don't clobber the real reason we failed */
-  
-***************
-*** 644,655 ****
-  	}
-  	setsockopt(s,SOL_SOCKET,SO_OOBINLINE,(char *)&opt,sizeof(int));
-  
-! 	getsockname(s,(struct sockaddr *)&addr,&addrlen);
-! 	so->so_fport = addr.sin_port;
-! 	if (addr.sin_addr.s_addr == 0 || addr.sin_addr.s_addr == loopback_addr.s_addr)
-! 	   so->so_faddr = slirp->vhost_addr;
-! 	else
-! 	   so->so_faddr = addr.sin_addr;
-  
-  	so->s = s;
-  	return so;
---- 654,670 ----
-  	}
-  	setsockopt(s,SOL_SOCKET,SO_OOBINLINE,(char *)&opt,sizeof(int));
-  
-!         if (so->so_uds) {
-!             so->so_fport = hport;
-!             so->so_faddr = slirp->vhost_addr;
-!         } else {
-!             getsockname(s,(struct sockaddr *)&addr,&addrlen);
-!             so->so_fport = addr.sin_port;
-!             if (addr.sin_addr.s_addr == 0 || addr.sin_addr.s_addr == loopback_addr.s_addr)
-!                 so->so_faddr = slirp->vhost_addr;
-!             else
-!                 so->so_faddr = addr.sin_addr;
-!         }
-  
-  	so->s = s;
-  	return so;
-diff -rc --exclude '*~' qemu-kvm-0.12.1.2-orig/slirp/socket.h qemu-kvm-0.12.1.2/slirp/socket.h
-*** qemu-kvm-0.12.1.2-orig/slirp/socket.h	2009-12-29 21:46:34.000000000 +0100
---- qemu-kvm-0.12.1.2/slirp/socket.h	2010-01-03 20:20:50.000000000 +0100
-***************
-*** 33,39 ****
-    struct in_addr so_laddr;	   /* local host table entry */
-    u_int16_t so_fport;		   /* foreign port */
-    u_int16_t so_lport;		   /* local port */
-! 
-    u_int8_t	so_iptos;	/* Type of service */
-    u_int8_t	so_emu;		/* Is the socket emulated? */
-  
---- 33,40 ----
-    struct in_addr so_laddr;	   /* local host table entry */
-    u_int16_t so_fport;		   /* foreign port */
-    u_int16_t so_lport;		   /* local port */
-!   int so_uds;                      /* foreign "port" is a unix domain socket */
-!     
-    u_int8_t	so_iptos;	/* Type of service */
-    u_int8_t	so_emu;		/* Is the socket emulated? */
-  
-diff -rc --exclude '*~' qemu-kvm-0.12.1.2-orig/slirp/tcp_subr.c qemu-kvm-0.12.1.2/slirp/tcp_subr.c
-*** qemu-kvm-0.12.1.2-orig/slirp/tcp_subr.c	2009-12-29 21:46:34.000000000 +0100
---- qemu-kvm-0.12.1.2/slirp/tcp_subr.c	2010-01-03 20:20:50.000000000 +0100
-***************
-*** 383,389 ****
-  	Slirp *slirp = inso->slirp;
-  	struct socket *so;
-  	struct sockaddr_in addr;
-! 	socklen_t addrlen = sizeof(struct sockaddr_in);
-  	struct tcpcb *tp;
-  	int s, opt;
-  
---- 383,390 ----
-  	Slirp *slirp = inso->slirp;
-  	struct socket *so;
-  	struct sockaddr_in addr;
-! 	struct sockaddr_un addr_un;
-! 	socklen_t addrlen;
-  	struct tcpcb *tp;
-  	int s, opt;
-  
-***************
-*** 413,419 ****
-  
-  	(void) tcp_mss(sototcpcb(so), 0);
-  
-! 	if ((s = accept(inso->s,(struct sockaddr *)&addr,&addrlen)) < 0) {
-  		tcp_close(sototcpcb(so)); /* This will sofree() as well */
-  		return;
-  	}
---- 414,423 ----
-  
-  	(void) tcp_mss(sototcpcb(so), 0);
-  
-!         addrlen = inso->so_uds ? sizeof(struct sockaddr_un) : sizeof(struct sockaddr_in);
-! 
-! 	if ((inso->so_uds && (s = accept(inso->s, (struct sockaddr *) &addr_un, &addrlen)) < 0) ||
-!             (!inso->so_uds && (s = accept(inso->s, (struct sockaddr *) &addr, &addrlen)) < 0)) {
-  		tcp_close(sototcpcb(so)); /* This will sofree() as well */
-  		return;
-  	}
-***************
-*** 425,435 ****
-  	opt = 1;
-  	setsockopt(s,IPPROTO_TCP,TCP_NODELAY,(char *)&opt,sizeof(int));
-  
-! 	so->so_fport = addr.sin_port;
-! 	so->so_faddr = addr.sin_addr;
-! 	/* Translate connections from localhost to the real hostname */
-! 	if (so->so_faddr.s_addr == 0 || so->so_faddr.s_addr == loopback_addr.s_addr)
-! 	   so->so_faddr = slirp->vhost_addr;
-  
-  	/* Close the accept() socket, set right state */
-  	if (inso->so_state & SS_FACCEPTONCE) {
---- 429,444 ----
-  	opt = 1;
-  	setsockopt(s,IPPROTO_TCP,TCP_NODELAY,(char *)&opt,sizeof(int));
-  
-!         if (inso->so_uds) {
-!             so->so_fport = htons(s); /* use the fd number as the foreign port */
-!             so->so_faddr = slirp->vhost_addr;
-!         } else {
-!             so->so_fport = addr.sin_port;
-!             so->so_faddr = addr.sin_addr;
-!             /* Translate connections from localhost to the real hostname */
-!             if (so->so_faddr.s_addr == 0 || so->so_faddr.s_addr == loopback_addr.s_addr)
-!                 so->so_faddr = slirp->vhost_addr;
-!         }
-  
-  	/* Close the accept() socket, set right state */
-  	if (inso->so_state & SS_FACCEPTONCE) {
diff --git a/pkgs/servers/http/apache-httpd/default.nix b/pkgs/servers/http/apache-httpd/default.nix
index 962cefd097409..ce71d92483925 100644
--- a/pkgs/servers/http/apache-httpd/default.nix
+++ b/pkgs/servers/http/apache-httpd/default.nix
@@ -41,9 +41,10 @@ stdenv.mkDerivation rec {
   passthru = {
     inherit apr aprutil sslSupport proxySupport;
   };
-  
+
   meta = {
     description = "Apache HTTPD, the world's most popular web server";
     homepage = http://httpd.apache.org/;
+    license = "ASL2.0";
   };
 }
diff --git a/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix b/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix
new file mode 100644
index 0000000000000..5c32b2c4572fc
--- /dev/null
+++ b/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, apacheHttpd }:
+
+stdenv.mkDerivation {
+  name = "mod_fastcgi-2.4.6";
+
+  src = fetchurl {
+    url = "http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz";
+    sha256 = "12g6vcfl9jl8rqf8lzrkdxg2ngca310d3d6an563xqcgrkp8ga55";
+  };
+
+  buildInputs = [ apacheHttpd ];
+
+  preBuild = ''
+    cp Makefile.AP2 Makefile
+    makeFlags="top_dir=${apacheHttpd} prefix=$out"
+  '';
+
+  meta = {
+    homepage = "http://www.fastcgi.com/";
+    description = "Provide support for the FastCGI protocol";
+
+    longDescription = ''
+      mod_fastcgi is a module for the Apache web server that enables
+      FastCGI - a standards based protocol for communicating with
+      applications that generate dynamic content for web pages. FastCGI
+      provides a superset of CGI functionality, but a subset of the
+      functionality of programming for a particular web server API.
+      Nonetheless, the feature set is rich enough for programming
+      virtually any type of web application, but the result is generally
+      more scalable.
+    '';
+  };
+}
diff --git a/pkgs/servers/http/apache-modules/mod_wsgi/default.nix b/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
new file mode 100644
index 0000000000000..c866c79e10d89
--- /dev/null
+++ b/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, apacheHttpd, python }:
+
+stdenv.mkDerivation {
+  name = "mod_wsgi-3.3";
+
+  src = fetchurl {
+    url = "http://modwsgi.googlecode.com/files/mod_wsgi-3.3.tar.gz";
+    sha256 = "0hrjksym0dlqn1ka1yf3x6ar801zqxfykwcxazjwz104k5w10vnr";
+  };
+
+  buildInputs = [ apacheHttpd python ];
+
+  patchPhase = ''
+    sed -r -i "s|^LIBEXECDIR=.*$|LIBEXECDIR=$out/modules|" configure
+  '';
+
+  meta = {
+    homepage = "http://code.google.com/p/modwsgi/";
+    description = "Host Python applications in Apache through the WSGI interface";
+    license = "ASL2.0";
+  };
+}
diff --git a/pkgs/servers/http/myserver/default.nix b/pkgs/servers/http/myserver/default.nix
index 45e7f33681f06..776c121399e22 100644
--- a/pkgs/servers/http/myserver/default.nix
+++ b/pkgs/servers/http/myserver/default.nix
@@ -1,22 +1,27 @@
 { fetchurl, stdenv, libgcrypt, libevent, libidn, gnutls
-, libxml2, zlib, texinfo, cppunit, xz }:
+, libxml2, zlib, guile, texinfo, cppunit, xz }:
 
-let version = "0.9.2"; in
+let version = "0.10"; in
   stdenv.mkDerivation rec {
     name = "myserver-${version}";
 
     src = fetchurl {
       url = "mirror://gnu/myserver/${version}/${name}.tar.xz";
-      sha256 = "110001ssyrvmvqrkxbz09a5m945ahh478v1l7aq31gh1l9j0cf6n";
+      sha256 = "0w8njgka54if8ycd9cyxgmqa0ivv7r0rka7gda3x2rfr2z4nxvpb";
     };
 
-    patches = [ ./tests-in-chroot.patch ];
+    patches = [ ./disable-dns-lookup-in-chroot.patch ];
 
-    buildInputs = [ libgcrypt libevent libidn gnutls libxml2 zlib texinfo xz ]
+    buildInputs =
+      [ libgcrypt libevent libidn gnutls libxml2 zlib guile texinfo xz ]
       ++ stdenv.lib.optional doCheck cppunit;
 
+    makeFlags = [ "V=1" ];
+
     doCheck = true;
 
+    enableParallelBuilding = true;
+
     meta = {
       description = "GNU MyServer, a powerful and easy to configure web server";
 
diff --git a/pkgs/servers/http/myserver/disable-dns-lookup-in-chroot.patch b/pkgs/servers/http/myserver/disable-dns-lookup-in-chroot.patch
new file mode 100644
index 0000000000000..31b24915c4daa
--- /dev/null
+++ b/pkgs/servers/http/myserver/disable-dns-lookup-in-chroot.patch
@@ -0,0 +1,12 @@
+Disable this test because it attempts to do a DNS lookup, which fails
+in a chroot.
+
+--- myserver-0.10/tests/test_socket.cpp	2010-10-19 00:12:59.000000000 +0200
++++ myserver-0.10/tests/test_socket.cpp	2010-10-19 00:13:07.000000000 +0200
+@@ -56,7 +56,6 @@ class TestSocket : public CppUnit::TestF
+ 
+   CPPUNIT_TEST (testGethostname);
+   CPPUNIT_TEST (testRecv);
+-  CPPUNIT_TEST (testGetLocalIPsList);
+ 
+   CPPUNIT_TEST_SUITE_END ();
diff --git a/pkgs/servers/http/myserver/tests-in-chroot.patch b/pkgs/servers/http/myserver/tests-in-chroot.patch
deleted file mode 100644
index 83d1adf7c5b6a..0000000000000
--- a/pkgs/servers/http/myserver/tests-in-chroot.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Some of the tests can't be run in a chroot:
-
-  - `test_homedir' wants to access /etc/passwd.
-  - `test_socket' would want /etc/hosts.
-
---- myserver-0.9.2/tests/test_homedir.cpp	2010-02-14 21:04:14.000000000 +0100
-+++ myserver-0.9.2/tests/test_homedir.cpp	2010-02-16 11:22:23.000000000 +0100
-@@ -58,6 +58,7 @@ public:
-      * if it doesn't handle this differently.  */
-     username.assign ("root");
- #endif
-+#if 0
-     string dir;
- 
-     CPPUNIT_ASSERT_EQUAL (homeDir->getHomeDir (username, dir), 0);
-@@ -65,6 +66,7 @@ public:
-     CPPUNIT_ASSERT (dir.length ());
- 
-     homeDir->clear ();
-+#endif
-   }
- 
- };
-
---- myserver-0.9.2/tests/test_socket.cpp	2010-02-14 21:04:14.000000000 +0100
-+++ myserver-0.9.2/tests/test_socket.cpp	2010-02-16 11:31:00.000000000 +0100
-@@ -178,7 +178,7 @@ static DEFINE_THREAD (testRecvClient, pP
-     {
-       int ret;
-       Socket *obj2 = new Socket;
--      char host[] = "localhost";
-+      char host[] = "127.0.0.1";
- 
-       ret = obj2->socket (AF_INET, SOCK_STREAM, 0);
-       CPPUNIT_ASSERT (ret != -1);
diff --git a/pkgs/servers/sql/mysql51/default.nix b/pkgs/servers/sql/mysql51/default.nix
index 64ffac0439b11..b1dda007fef81 100644
--- a/pkgs/servers/sql/mysql51/default.nix
+++ b/pkgs/servers/sql/mysql51/default.nix
@@ -3,11 +3,11 @@
 # Note: zlib is not required; MySQL can use an internal zlib.
 
 stdenv.mkDerivation {
-  name = "mysql-5.1.41";
+  name = "mysql-5.1.51";
 
   src = fetchurl {
-    url = ftp://mirror.leaseweb.com/mysql/Downloads/MySQL-5.1/mysql-5.1.41.tar.gz;
-    sha256 = "05mwinpq35iaglylw5n772vv2p1kxyni6f2hv081gxm58gdj3dsw";
+    url = ftp://mirror.leaseweb.com/mysql/Downloads/MySQL-5.1/mysql-5.1.51.tar.gz;
+    sha256 = "10i8ljsv7j1ggbqjmi7h6ahlgnaihh70z58n8rnl53065wi65n9r";
   };
 
   buildInputs = [ps ncurses zlib perl openssl];
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index b0c4b325dfbc9..14be8c440a114 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -98,51 +98,51 @@ let
   })) // {inherit xextproto ;};
     
   fontadobe100dpi = (stdenv.mkDerivation ((if overrides ? fontadobe100dpi then overrides.fontadobe100dpi else x: x) {
-    name = "font-adobe-100dpi-1.0.1";
+    name = "font-adobe-100dpi-1.0.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-adobe-100dpi-1.0.1.tar.bz2;
-      sha256 = "0b5m5iwc6925ysf0ljghx5znh9nkl792l77i26spdyzqsslbqhm7";
+      url = mirror://xorg/individual/font/font-adobe-100dpi-1.0.2.tar.bz2;
+      sha256 = "0xb767577698d9ribv4p4lgi7f8sjb8y6nvd357i5g23404nw0bi";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf fontutil mkfontdir ;};
     
   fontadobe75dpi = (stdenv.mkDerivation ((if overrides ? fontadobe75dpi then overrides.fontadobe75dpi else x: x) {
-    name = "font-adobe-75dpi-1.0.1";
+    name = "font-adobe-75dpi-1.0.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-adobe-75dpi-1.0.1.tar.bz2;
-      sha256 = "0wczvzn5pc3c46xxp4328s207giisy4vwwv5if574w3bs9jigrad";
+      url = mirror://xorg/individual/font/font-adobe-75dpi-1.0.2.tar.bz2;
+      sha256 = "1z8h2gq7r553lf1fphk3pya6g4n8rs5f00kffyqdy284j77wlj9d";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf fontutil mkfontdir ;};
     
   fontadobeutopia100dpi = (stdenv.mkDerivation ((if overrides ? fontadobeutopia100dpi then overrides.fontadobeutopia100dpi else x: x) {
-    name = "font-adobe-utopia-100dpi-1.0.2";
+    name = "font-adobe-utopia-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-adobe-utopia-100dpi-1.0.2.tar.bz2;
-      sha256 = "0plmfm3x5lsaa27slslw0sxx4jv9wb6zwwv2n8r957sq15akz36x";
+      url = mirror://xorg/individual/font/font-adobe-utopia-100dpi-1.0.3.tar.bz2;
+      sha256 = "1b4cdjynwzrlsnqfi930gpvbs2mvjrawak801385pf0hfb9x2j70";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf fontutil mkfontdir ;};
     
   fontadobeutopia75dpi = (stdenv.mkDerivation ((if overrides ? fontadobeutopia75dpi then overrides.fontadobeutopia75dpi else x: x) {
-    name = "font-adobe-utopia-75dpi-1.0.2";
+    name = "font-adobe-utopia-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-adobe-utopia-75dpi-1.0.2.tar.bz2;
-      sha256 = "0mv5pa2x7xvz8cjkcfihnfnl98ljx8bbxdb26qxy2wsvbfxa8g1v";
+      url = mirror://xorg/individual/font/font-adobe-utopia-75dpi-1.0.3.tar.bz2;
+      sha256 = "1qs2jp6vw9j07qk38f0ambjd9g6d3ph4ichfgjjkaymmvd5bwk97";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf fontutil mkfontdir ;};
     
   fontadobeutopiatype1 = (stdenv.mkDerivation ((if overrides ? fontadobeutopiatype1 then overrides.fontadobeutopiatype1 else x: x) {
-    name = "font-adobe-utopia-type1-1.0.2";
+    name = "font-adobe-utopia-type1-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-adobe-utopia-type1-1.0.2.tar.bz2;
-      sha256 = "0cz2aqknq4r923v77s9r61bxvxi1jy7igz2c3ff23xjawi92fpwc";
+      url = mirror://xorg/individual/font/font-adobe-utopia-type1-1.0.3.tar.bz2;
+      sha256 = "1y8h0v15m3j0d83c3rp14bg5shx7kpg34vjaky8gvwndjdr4dyjh";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit mkfontdir mkfontscale ;};
@@ -1318,11 +1318,11 @@ let
   })) // {inherit inputproto randrproto xorgserver xproto ;};
     
   xf86inputevdev = (stdenv.mkDerivation ((if overrides ? xf86inputevdev then overrides.xf86inputevdev else x: x) {
-    name = "xf86-input-evdev-2.4.0";
+    name = "xf86-input-evdev-2.5.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-input-evdev-2.4.0.tar.bz2;
-      sha256 = "0sl02sx755j5kg9sd762sgqk2gnvkhj3pm76l47qhw0a2jvqmx4f";
+      url = mirror://xorg/individual/driver/xf86-input-evdev-2.5.0.tar.bz2;
+      sha256 = "0cq34rk3fqlbjnakwzw2138xvwzmf52ffy9grgsrxl6qr4x1gv4x";
     };
     buildInputs = [pkgconfig inputproto xorgserver xproto ];
   })) // {inherit inputproto xorgserver xproto ;};
@@ -1358,21 +1358,25 @@ let
   })) // {inherit inputproto randrproto xorgserver xproto ;};
     
   xf86inputsynaptics = (stdenv.mkDerivation ((if overrides ? xf86inputsynaptics then overrides.xf86inputsynaptics else x: x) {
-    name = "xf86-input-synaptics-1.2.2";
+    name = "xf86-input-synaptics-1.3.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-input-synaptics-1.2.2.tar.bz2;
-      sha256 = "1a1dvdc1g8fgkhr3fn3rnly1bz3f6kz1qjxyrmm22qmsair4w2yj";
+      url = mirror://xorg/individual/driver/xf86-input-synaptics-1.3.0.tar.bz2;
+      sha256 = "1mwgb85qjyzx2yfi7jhgvd435zdyqxyq9aqwlsldmlpkqi8358rh";
     };
-    buildInputs = [pkgconfig inputproto recordproto libX11 libXi xorgserver xproto libXtst ];
-  })) // {inherit inputproto recordproto libX11 libXi xorgserver xproto libXtst ;};
+    preConfigure = ''
+      export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${xorgserver}/include/xorg"
+    '';
+    configureFlags = [ "--with-xorg-conf-dir=$out/share/X11/xorg.conf.d" ];
+    buildInputs = [pkgconfig inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ];
+  })) // {inherit inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ;};
     
   xf86inputvmmouse = (stdenv.mkDerivation ((if overrides ? xf86inputvmmouse then overrides.xf86inputvmmouse else x: x) {
-    name = "xf86-input-vmmouse-12.6.5";
+    name = "xf86-input-vmmouse-12.6.10";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-input-vmmouse-12.6.5.tar.bz2;
-      sha256 = "03ccsqs5hyrjspfaww8dwia01iz98nczqj27bd1bpxs7vjww66iq";
+      url = mirror://xorg/individual/driver/xf86-input-vmmouse-12.6.10.tar.bz2;
+      sha256 = "0409lkwk1ws8vw4axxilwmcs8qxj8lq5dma2i2iz49q6hrd9sdm6";
     };
     buildInputs = [pkgconfig inputproto randrproto xorgserver xproto ];
   })) // {inherit inputproto randrproto xorgserver xproto ;};
@@ -1528,14 +1532,14 @@ let
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
     
   xf86videointel = (stdenv.mkDerivation ((if overrides ? xf86videointel then overrides.xf86videointel else x: x) {
-    name = "xf86-video-intel-2.12.0";
+    name = "xf86-video-intel-2.13.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-intel-2.12.0.tar.bz2;
-      sha256 = "1pzzzpw0i55m6s48ac8c3a0453rskqrdb4v6s9dq5bvj3ywpysz1";
+      url = mirror://xorg/individual/driver/xf86-video-intel-2.13.0.tar.bz2;
+      sha256 = "11y85xsm21zaadn7di8vkglbi5d9ibgghzfbjhlkgbn4s3lgmcnq";
     };
-    buildInputs = [pkgconfig dri2proto fontsproto glproto libdrm libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto libXfixes xorgserver xproto libXvMC ];
-  })) // {inherit dri2proto fontsproto glproto libdrm libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto libXfixes xorgserver xproto libXvMC ;};
+    buildInputs = [pkgconfig dri2proto fontsproto libdrm libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto libXfixes xorgserver xproto libXvMC ];
+  })) // {inherit dri2proto fontsproto libdrm libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto libXfixes xorgserver xproto libXvMC ;};
     
   xf86videomach64 = (stdenv.mkDerivation ((if overrides ? xf86videomach64 then overrides.xf86videomach64 else x: x) {
     name = "xf86-video-mach64-6.8.2";
@@ -1798,11 +1802,11 @@ let
   })) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;};
     
   xf86videovmware = (stdenv.mkDerivation ((if overrides ? xf86videovmware then overrides.xf86videovmware else x: x) {
-    name = "xf86-video-vmware-11.0.1";
+    name = "xf86-video-vmware-11.0.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-vmware-11.0.1.tar.bz2;
-      sha256 = "1gp7gj1a1jdcqr8qa9z57h1zjf0wjhr78b7fyxbl9fl1rdd1sdx6";
+      url = mirror://xorg/individual/driver/xf86-video-vmware-11.0.2.tar.bz2;
+      sha256 = "1lkmyichry4kz4mhj35ry482rflz622gq8j788iq8j5rcjjrvcga";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xineramaproto xorgserver xproto ];
   })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xineramaproto xorgserver xproto ;};
diff --git a/pkgs/servers/x11/xorg/tarballs-7.5.list b/pkgs/servers/x11/xorg/tarballs-7.5.list
index c542576d900a6..7c0748893ee48 100644
--- a/pkgs/servers/x11/xorg/tarballs-7.5.list
+++ b/pkgs/servers/x11/xorg/tarballs-7.5.list
@@ -7,11 +7,11 @@ mirror://xorg/X11R7.5/src/everything/dmxproto-2.3.tar.bz2
 mirror://xorg/individual/proto/dri2proto-2.3.tar.bz2
 mirror://xorg/X11R7.5/src/everything/encodings-1.0.3.tar.bz2
 mirror://xorg/X11R7.5/src/everything/fixesproto-4.1.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-adobe-100dpi-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-adobe-75dpi-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-adobe-utopia-100dpi-1.0.2.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-adobe-utopia-75dpi-1.0.2.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-adobe-utopia-type1-1.0.2.tar.bz2
+mirror://xorg/individual/font/font-adobe-100dpi-1.0.2.tar.bz2
+mirror://xorg/individual/font/font-adobe-75dpi-1.0.2.tar.bz2
+mirror://xorg/individual/font/font-adobe-utopia-100dpi-1.0.3.tar.bz2
+mirror://xorg/individual/font/font-adobe-utopia-75dpi-1.0.3.tar.bz2
+mirror://xorg/individual/font/font-adobe-utopia-type1-1.0.3.tar.bz2
 mirror://xorg/X11R7.5/src/everything/font-alias-1.0.2.tar.bz2
 mirror://xorg/X11R7.5/src/everything/font-arabic-misc-1.0.1.tar.bz2
 mirror://xorg/X11R7.5/src/everything/font-bh-100dpi-1.0.1.tar.bz2
@@ -114,11 +114,12 @@ mirror://xorg/X11R7.5/src/everything/xf86dgaproto-2.1.tar.bz2
 mirror://xorg/X11R7.5/src/everything/xf86driproto-2.1.0.tar.bz2
 mirror://xorg/X11R7.5/src/everything/xf86-input-acecad-1.4.0.tar.bz2
 mirror://xorg/X11R7.5/src/everything/xf86-input-aiptek-1.3.0.tar.bz2
-mirror://xorg/individual/driver/xf86-input-evdev-2.4.0.tar.bz2
+mirror://xorg/individual/driver/xf86-input-evdev-2.5.0.tar.bz2
 mirror://xorg/X11R7.5/src/everything/xf86-input-joystick-1.4.99.2.tar.bz2
 mirror://xorg/X11R7.5/src/everything/xf86-input-keyboard-1.4.0.tar.bz2
 mirror://xorg/X11R7.5/src/everything/xf86-input-mouse-1.5.0.tar.bz2
-mirror://xorg/individual/driver/xf86-input-synaptics-1.2.2.tar.bz2
+mirror://xorg/individual/driver/xf86-input-synaptics-1.3.0.tar.bz2
+mirror://xorg/individual/driver/xf86-input-vmmouse-12.6.10.tar.bz2
 mirror://xorg/X11R7.5/src/everything/xf86-input-vmmouse-12.6.5.tar.bz2
 mirror://xorg/X11R7.5/src/everything/xf86-input-void-1.3.0.tar.bz2
 mirror://xorg/X11R7.5/src/everything/xf86-video-apm-1.2.2.tar.bz2
@@ -134,7 +135,7 @@ mirror://xorg/X11R7.5/src/everything/xf86-video-glide-1.0.3.tar.bz2
 mirror://xorg/X11R7.5/src/everything/xf86-video-glint-1.2.4.tar.bz2
 mirror://xorg/X11R7.5/src/everything/xf86-video-i128-1.3.3.tar.bz2
 mirror://xorg/X11R7.5/src/everything/xf86-video-i740-1.3.2.tar.bz2
-mirror://xorg/individual/driver/xf86-video-intel-2.12.0.tar.bz2
+mirror://xorg/individual/driver/xf86-video-intel-2.13.0.tar.bz2
 mirror://xorg/X11R7.5/src/everything/xf86-video-mach64-6.8.2.tar.bz2
 mirror://xorg/X11R7.5/src/everything/xf86-video-mga-1.4.11.tar.bz2
 mirror://xorg/X11R7.5/src/everything/xf86-video-neomagic-1.2.4.tar.bz2
@@ -161,7 +162,7 @@ mirror://xorg/X11R7.5/src/everything/xf86-video-trident-1.3.3.tar.bz2
 mirror://xorg/X11R7.5/src/everything/xf86-video-tseng-1.2.3.tar.bz2
 mirror://xorg/X11R7.5/src/everything/xf86-video-v4l-0.2.0.tar.bz2
 mirror://xorg/individual/driver/xf86-video-vesa-2.3.0.tar.bz2
-mirror://xorg/individual/driver/xf86-video-vmware-11.0.1.tar.bz2
+mirror://xorg/individual/driver/xf86-video-vmware-11.0.2.tar.bz2
 mirror://xorg/X11R7.5/src/everything/xf86-video-voodoo-1.2.3.tar.bz2
 mirror://xorg/X11R7.5/src/everything/xf86-video-wsfb-0.3.0.tar.bz2
 mirror://xorg/X11R7.5/src/everything/xf86-video-xgi-1.5.1.tar.bz2
diff --git a/pkgs/tools/bluetooth/obexftp/default.nix b/pkgs/tools/bluetooth/obexftp/default.nix
index c1531b1ce162a..7326b1b407528 100644
--- a/pkgs/tools/bluetooth/obexftp/default.nix
+++ b/pkgs/tools/bluetooth/obexftp/default.nix
@@ -15,5 +15,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://dev.zuckschwerdt.org/openobex/wiki/ObexFtp;
     description = "A library and tool to access files on OBEX-based devices (such as Bluetooth phones)";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/bluetooth/openobex/default.nix b/pkgs/tools/bluetooth/openobex/default.nix
index 21c0c119c4cb4..97ed96371c8f4 100644
--- a/pkgs/tools/bluetooth/openobex/default.nix
+++ b/pkgs/tools/bluetooth/openobex/default.nix
@@ -15,5 +15,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://dev.zuckschwerdt.org/openobex/;
     description = "An open source implementation of the Object Exchange (OBEX) protocol";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/filesystems/mtools/default.nix b/pkgs/tools/filesystems/mtools/default.nix
index 5bb5bbc6d9ade..19ec65e4fca06 100644
--- a/pkgs/tools/filesystems/mtools/default.nix
+++ b/pkgs/tools/filesystems/mtools/default.nix
@@ -1,17 +1,18 @@
-{ stdenv, fetchurl, texinfo }:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "mtools-4.0.13";
+  name = "mtools-4.0.15";
 
   src = fetchurl {
     url = "mirror://gnu/mtools/${name}.tar.bz2";
-    sha256 = "1nj7lc2q1g66l3ma8z1c95nglf9himnr6k85b5rry99f9za7npbg";
+    sha256 = "169qjy3fmmhxiy0jljh84jvjh8mh1p8gglwqgjhq7hbw235fy399";
   };
 
-  buildInputs = [ texinfo ];
+  doCheck = true;
 
   meta = {
     homepage = http://www.gnu.org/software/mtools/;
-    description = "Utilities to access MS-DOS disks without mounting them";
+    description = "GNU mtools, utilities to access MS-DOS disks";
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
   };
 }
diff --git a/pkgs/tools/filesystems/sshfs-fuse/default.nix b/pkgs/tools/filesystems/sshfs-fuse/default.nix
index 74a367e852250..92e7d854fd886 100644
--- a/pkgs/tools/filesystems/sshfs-fuse/default.nix
+++ b/pkgs/tools/filesystems/sshfs-fuse/default.nix
@@ -13,5 +13,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://fuse.sourceforge.net/sshfs.html;
     description = "FUSE-based filesystem that allows remote filesystems to be mounted over SSH";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/graphics/qrdecode/default.nix b/pkgs/tools/graphics/qrdecode/default.nix
index 39e61aba6670b..16c91720964a5 100644
--- a/pkgs/tools/graphics/qrdecode/default.nix
+++ b/pkgs/tools/graphics/qrdecode/default.nix
@@ -6,7 +6,7 @@ let
 
   version = lib.attrByPath ["version"] "0.9.3" args; 
   buildInputs = with args; [
-    libpng libcv
+    libpng opencv
   ];
 in
 rec {
@@ -25,6 +25,9 @@ rec {
   preConfigure = fullDepEntry ''
     cd src
     sed -e /LDCONFIG/d -i libdecodeqr/Makefile.in
+    sed -e '/#include <cv.h>/a#include <ml.h>' -i libdecodeqr/imagereader.h
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${args.opencv}/include/opencv"
+    export NIX_LDFLAGS="$NIX_LDFLAGS -lcxcore"
   '' ["doUnpack"];
   postInstall = fullDepEntry ''
     cp sample/simple/simpletest $out/bin/qrdecode 
diff --git a/pkgs/tools/misc/gource/default.nix b/pkgs/tools/misc/gource/default.nix
new file mode 100644
index 0000000000000..30e5a73685e69
--- /dev/null
+++ b/pkgs/tools/misc/gource/default.nix
@@ -0,0 +1,13 @@
+{stdenv, fetchurl, SDL, ftgl, pkgconfig, libpng, libjpeg, pcre, SDL_image, glew, mesa}:
+ 
+stdenv.mkDerivation {
+  name = "gource-0.28";
+  
+  src = fetchurl {
+    url = http://gource.googlecode.com/files/gource-0.28.tar.gz;
+    sha256 = "09538vcf9n21qx4cmcjrki6ilayvm4x6s0zdf00mrd1h0bklhxn3";
+  };
+  
+  buildInputs = [glew SDL ftgl pkgconfig libpng libjpeg pcre SDL_image mesa];
+
+}
diff --git a/pkgs/tools/misc/screen/default.nix b/pkgs/tools/misc/screen/default.nix
index f31a28c221a2c..ee3a79b7aa02e 100644
--- a/pkgs/tools/misc/screen/default.nix
+++ b/pkgs/tools/misc/screen/default.nix
@@ -1,19 +1,47 @@
 {stdenv, fetchurl, ncurses}:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "screen-4.0.3";
+
   src = fetchurl {
-    url = mirror://gnu/screen/screen-4.0.3.tar.gz;
+    url = "mirror://gnu/screen/${name}.tar.gz";
     sha256 = "0xvckv1ia5pjxk7fs4za6gz2njwmfd54sc464n8ab13096qxbw3q";
   };
 
-  buildInputs = [ncurses];
+  configureFlags = [ "--enable-telnet" ];
+  buildInputs = [ ncurses ];
+
+  doCheck = true;
 
   meta = {
-    homepage = "http://www.gnu.org/software/screen/";
-    description = "Full-screen window manager that multiplexes a physical terminal";
+    homepage = http://www.gnu.org/software/screen/;
+    description = "GNU Screen, a window manager that multiplexes a physical terminal";
+
+    longDescription =
+      '' GNU Screen is a full-screen window manager that multiplexes a physical
+         terminal between several processes, typically interactive shells.
+         Each virtual terminal provides the functions of the DEC VT100
+         terminal and, in addition, several control functions from the ANSI
+         X3.64 (ISO 6429) and ISO 2022 standards (e.g., insert/delete line
+         and support for multiple character sets).  There is a scrollback
+         history buffer for each virtual terminal and a copy-and-paste
+         mechanism that allows the user to move text regions between windows.
+         When screen is called, it creates a single window with a shell in it
+         (or the specified command) and then gets out of your way so that you
+         can use the program as you normally would.  Then, at any time, you
+         can create new (full-screen) windows with other programs in them
+         (including more shells), kill the current window, view a list of the
+         active windows, turn output logging on and off, copy text between
+         windows, view the scrollback history, switch between windows, etc.
+         All windows run their programs completely independent of each other.
+         Programs continue to run when their window is currently not visible
+         and even when the whole screen session is detached from the users
+         terminal.
+      '';
+
+    license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = stdenv.lib.platforms.unix;
-    maintainers = [];
+    maintainers = [ stdenv.lib.maintainers.ludo ];
   };
 }
diff --git a/pkgs/tools/networking/altermime/default.nix b/pkgs/tools/networking/altermime/default.nix
new file mode 100644
index 0000000000000..3b0de2805be11
--- /dev/null
+++ b/pkgs/tools/networking/altermime/default.nix
@@ -0,0 +1,50 @@
+x@{builderDefsPackage
+  
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="altermime";
+    version="0.3.10";
+    name="${baseName}-${version}";
+    url="http://www.pldaniels.com/${baseName}/${name}.tar.gz";
+    hash="0vn3vmbcimv0n14khxr1782m76983zz9sf4j2kz5v86lammxld43";
+  };
+in
+rec {
+  src = a.fetchurl {
+    url = sourceInfo.url;
+    sha256 = sourceInfo.hash;
+  };
+
+  inherit (sourceInfo) name version;
+  inherit buildInputs;
+
+  phaseNames = ["fixTarget" "doMakeInstall"];
+  fixTarget = a.fullDepEntry (''
+    sed -i Makefile -e "s@/usr/local@$out@"
+    ensureDir "$out/bin"
+  '') ["doUnpack" "minInit" "defEnsureDir"];
+      
+  meta = {
+    description = "MIME alteration tool";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "http://www.pldaniels.com/altermime/";
+    };
+  };
+}) x
+
diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix
index f7c881b1859ba..c88ce3522d52a 100644
--- a/pkgs/tools/networking/dnsmasq/default.nix
+++ b/pkgs/tools/networking/dnsmasq/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "dnsmasq-2.40";
+stdenv.mkDerivation rec {
+  name = "dnsmasq-2.55";
 
   src = fetchurl {
-    url = http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.40.tar.gz;
-    sha256 = "1q346l403rvvmvr14fk2l201p8fl3p5417vkp95zlx00jdb7hl8n";
+    url = "http://www.thekelleys.org.uk/dnsmasq/${name}.tar.gz";
+    sha256 = "0agrz7lvqdvh7ps173nr5yl00dblv2lpd0x9pm64f03zjzsyqqyg";
   };
 
-  installPhase = "ensureDir \$out/bin; make DESTDIR= BINDIR=\$out/bin MANDIR=\$out/man LOCALEDIR=\$out/share/locale install"; 
+  makeFlags = "DESTDIR= BINDIR=$(out)/bin MANDIR=$(out)/man LOCALEDIR=$(out)/share/locale";
 
   meta = { 
-    description = "DNS forwarder and DHCP server";
+    description = "An integrated DNS, DHCP and TFTP server for small networks";
     homepage = http://www.thekelleys.org.uk/dnsmasq/doc.html;
     license = "GPL";
   };
diff --git a/pkgs/tools/networking/fdm/default.nix b/pkgs/tools/networking/fdm/default.nix
new file mode 100644
index 0000000000000..b9e4558bc8fd9
--- /dev/null
+++ b/pkgs/tools/networking/fdm/default.nix
@@ -0,0 +1,53 @@
+x@{builderDefsPackage
+  , openssl, tdb, zlib, flex, bison
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="fdm";
+    version="1.6";
+    name="${baseName}-${version}";
+    url="http://downloads.sourceforge.net/${baseName}/${name}.tar.gz";
+    hash="01ipxay4rv52ra2zzybf92x6n1hyklib94ncsg04k3rp4w5a8sbj";
+  };
+in
+rec {
+  src = a.fetchurl {
+    url = sourceInfo.url;
+    sha256 = sourceInfo.hash;
+  };
+
+  inherit (sourceInfo) name version;
+  inherit buildInputs;
+
+  phaseNames = ["fixInstall" "doMakeInstall"];
+  makeFlags = ["PREFIX=$out"];
+  fixInstall = a.fullDepEntry (''
+    sed -i */Makefile -i Makefile -e 's@ -g bin @ @'
+    sed -i */Makefile -i Makefile -e 's@ -o root @ @'
+    sed -i GNUmakefile -e 's@ -g $(BIN_OWNER) @ @'
+    sed -i GNUmakefile -e 's@ -o $(BIN_GROUP) @ @'
+  '') ["minInit" "doUnpack"];
+      
+  meta = {
+    description = "Mail fetching and delivery tool - should do the job of getmail and procmail";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "http://fdm.sourceforge.net/";
+    };
+  };
+}) x
+
diff --git a/pkgs/tools/networking/getmail/default.nix b/pkgs/tools/networking/getmail/default.nix
new file mode 100644
index 0000000000000..4e10a2b3be1e9
--- /dev/null
+++ b/pkgs/tools/networking/getmail/default.nix
@@ -0,0 +1,48 @@
+x@{builderDefsPackage
+  , python, makeWrapper
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="getmail";
+    version="4.20.0";
+    name="${baseName}-${version}";
+    url="http://pyropus.ca/software/${baseName}/old-versions/${name}.tar.gz";
+    hash="17cpyra61virk1d223w8pdwhv2qzhbwdbnrr1ab1znf4cv9m3knn";
+  };
+in
+rec {
+  src = a.fetchurl {
+    url = sourceInfo.url;
+    sha256 = sourceInfo.hash;
+  };
+
+  inherit (sourceInfo) name version;
+  inherit buildInputs;
+
+  /* doConfigure should be removed if not needed */
+  phaseNames = ["installPythonPackage" "patchShebangs" "wrapBinContentsPython"];
+  patchShebangs = (a.doPatchShebangs "$out/bin");
+      
+  meta = {
+    description = "A program for retrieval of mail";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "http://pyropus.ca/software/getmail/";
+    };
+  };
+}) x
+
diff --git a/pkgs/tools/networking/philter/default.nix b/pkgs/tools/networking/philter/default.nix
new file mode 100644
index 0000000000000..8ade37976b6a8
--- /dev/null
+++ b/pkgs/tools/networking/philter/default.nix
@@ -0,0 +1,57 @@
+x@{builderDefsPackage
+  , python, makeWrapper
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="philter";
+    version="1.1";
+    name="${baseName}-${version}";
+    url="http://prdownloads.sourceforge.net/${baseName}/${name}.tar.gz";
+    hash="177pqfflhdn2mw9lc1wv9ik32ji69rjqr6dw83hfndwlsva5151l";
+  };
+in
+rec {
+  src = a.fetchurl {
+    url = sourceInfo.url;
+    sha256 = sourceInfo.hash;
+  };
+
+  inherit (sourceInfo) name version;
+  inherit buildInputs;
+
+  /* doConfigure should be removed if not needed */
+  phaseNames = ["installProgram" "patchShebangs" "wrapBinContentsPython"];
+  patchShebangs = (a.doPatchShebangs "$out/bin");
+
+  installProgram = a.fullDepEntry(''
+    mv "$out/share/philter/".*rc "$out/share/philter/philterrc"
+    ensureDir "$out/bin"
+    cp "$out/share/philter/src/philter.py" "$out/bin/philter"
+    chmod a+x "$out/bin/philter"
+  '') ["addInputs" "copyToShare" "minInit"];
+
+  copyToShare = (a.simplyShare "philter");
+      
+  meta = {
+    description = "Mail sorter for Maildirs";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "http://philter.sourceforge.net/";
+    };
+  };
+}) x
+
diff --git a/pkgs/tools/networking/ripmime/default.nix b/pkgs/tools/networking/ripmime/default.nix
new file mode 100644
index 0000000000000..895b2c4be4fd3
--- /dev/null
+++ b/pkgs/tools/networking/ripmime/default.nix
@@ -0,0 +1,51 @@
+x@{builderDefsPackage
+  
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="ripmime";
+    version="1.4.0.9";
+    name="${baseName}-${version}";
+    url="http://www.pldaniels.com/${baseName}/${name}.tar.gz";
+    hash="15c48n8n8qavdigw5qycnwp6gys9dv3mgk18ylf5hd4491nnnrhz";
+  };
+in
+rec {
+  src = a.fetchurl {
+    url = sourceInfo.url;
+    sha256 = sourceInfo.hash;
+  };
+
+  inherit (sourceInfo) name version;
+  inherit buildInputs;
+
+  /* doConfigure should be removed if not needed */
+  phaseNames = ["fixTarget" "doMakeInstall"];
+  fixTarget = a.fullDepEntry (''
+    sed -i Makefile -e "s@LOCATION=.*@LOCATION=$out@"
+    ensureDir "$out/bin" "$out/man/man1"
+  '') ["doUnpack" "minInit" "defEnsureDir"];
+      
+  meta = {
+    description = "Attachment extractor for MIME messages";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "http://www.pldaniels.com/ripmime/";
+    };
+  };
+}) x
+
diff --git a/pkgs/tools/security/gnupg1/default.nix b/pkgs/tools/security/gnupg1/default.nix
index dc396d9f35b35..0674fc4e48036 100644
--- a/pkgs/tools/security/gnupg1/default.nix
+++ b/pkgs/tools/security/gnupg1/default.nix
@@ -15,11 +15,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "gnupg-1.4.10";
+  name = "gnupg-1.4.11";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha256 = "0f5v8c8fkxcnrlmnijaq2sqfqq6xhmbyi2p44pj98y6n6927z452";
+    sha256 = "1xkfxr4z2fy9d5d6hj4lzv854lk227kgv6qb2w0sam752snfx36i";
   };
 
   buildInputs = [ readline bzip2 ];
@@ -28,9 +28,13 @@ stdenv.mkDerivation rec {
     ''
       gunzip < ${idea} > ./cipher/idea.c
     '';
-  
+
+  doCheck = true;
+
   meta = {
-    description = "A free implementation of the OpenPGP standard for encrypting and signing data";
+    description = "GnuPG, a free implementation of the OpenPGP standard for encrypting and signing data";
     homepage = http://www.gnupg.org/;
+    license = "GPLv3+";
+    platforms = stdenv.lib.platforms.gnu; # arbitrary choice
   };
 }
diff --git a/pkgs/tools/text/ebook-tools/default.nix b/pkgs/tools/text/ebook-tools/default.nix
index 2ced27edc2a7f..87a75b2559bba 100644
--- a/pkgs/tools/text/ebook-tools/default.nix
+++ b/pkgs/tools/text/ebook-tools/default.nix
@@ -5,11 +5,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "${pn}-0.2.0";
+  name = "${pn}-0.2.1";
 
   src = fetchurl {
     url = "mirror://sf/${pn}/${name}.tar.gz";
-    sha256 = "18jb6v20pzk0kxv2dgjqgzzrcg7qid569apr63phfq1as1h09x67";
+    sha256 = "0wgwdsd3jwwfg36jyr5j0wayqjli3ia80lxzk10byd4cmkywnhy2";
   };
 
   buildInputs = [ cmake libxml2 libzip ];
diff --git a/pkgs/tools/text/kdiff3/adjust-docbook-xml-version-to-4.2.patch b/pkgs/tools/text/kdiff3/adjust-docbook-xml-version-to-4.2.patch
new file mode 100644
index 0000000000000..fdb96176abd3b
--- /dev/null
+++ b/pkgs/tools/text/kdiff3/adjust-docbook-xml-version-to-4.2.patch
@@ -0,0 +1,45 @@
+The DocBook DTD must be 4.2 to validate with KDE 4.5.2.  In the upstream release 0.9.95
+of kdiff3 some languages have index.docbook with the 4.1.2 DTD.  This patch changes
+the version number in the DOCTYPE to 4.2 for these languages.
+
+
+diff -Naur kdiff3-upstream-0.9.95/doc/de/index.docbook kdiff3-0.9.95/doc/de/index.docbook
+--- kdiff3-upstream-0.9.95/doc/de/index.docbook	2010-10-18 22:38:40.043252907 -0430
++++ kdiff3-0.9.95/doc/de/index.docbook	2010-10-18 22:41:05.954329524 -0430
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" ?>
+-<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
++<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
+   <!ENTITY kdiff3 "<application
+ >KDiff3</application
+ >">
+diff -Naur kdiff3-upstream-0.9.95/doc/fr/index.docbook kdiff3-0.9.95/doc/fr/index.docbook
+--- kdiff3-upstream-0.9.95/doc/fr/index.docbook	2010-10-18 22:38:40.043252907 -0430
++++ kdiff3-0.9.95/doc/fr/index.docbook	2010-10-18 22:41:05.965408604 -0430
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" ?>
+-<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
++<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
+   <!ENTITY kdiff3 "<application
+ >KDiff3</application
+ >">
+diff -Naur kdiff3-upstream-0.9.95/doc/it/index.docbook kdiff3-0.9.95/doc/it/index.docbook
+--- kdiff3-upstream-0.9.95/doc/it/index.docbook	2010-10-18 22:38:40.044252773 -0430
++++ kdiff3-0.9.95/doc/it/index.docbook	2010-10-18 22:41:05.976408528 -0430
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" ?>
+-<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
++<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
+   <!ENTITY kdiff3 "<application
+ >KDiff3</application
+ >">
+diff -Naur kdiff3-upstream-0.9.95/doc/nl/index.docbook kdiff3-0.9.95/doc/nl/index.docbook
+--- kdiff3-upstream-0.9.95/doc/nl/index.docbook	2010-10-18 22:38:40.043252907 -0430
++++ kdiff3-0.9.95/doc/nl/index.docbook	2010-10-18 22:41:05.986408860 -0430
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" ?>
+-<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
++<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
+   <!ENTITY kdiff3 "<application
+ >KDiff3</application
+ >">
diff --git a/pkgs/tools/text/kdiff3/default.nix b/pkgs/tools/text/kdiff3/default.nix
index 1a313ca215bee..63956a6303541 100644
--- a/pkgs/tools/text/kdiff3/default.nix
+++ b/pkgs/tools/text/kdiff3/default.nix
@@ -1,17 +1,18 @@
 { stdenv, fetchurl, cmake, qt4, perl, kdelibs, kdebase, automoc4, phonon, gettext}:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "kdiff3-0.9.95";
   src = fetchurl {
-    url = http://downloads.sourceforge.net/project/kdiff3/kdiff3/0.9.95/kdiff3-0.9.95.tar.gz;
-    sha256 = "0372cebc8957f256a98501a4ac3c3634c7ecffb486ece7e7819c90d876202f0f";   
+    url = "mirror://sourceforge/kdiff3/${name}.tar.gz";
+    sha256 = "03rg41vdi44wh7kygv46nkzyrirl6qyar901hnlmdwjpi6ycwwh3";
   };
 
-  cmakeFlags = [ "-DGETTEXT_INCLUDE_DIR=${gettext}/include" ];
-
   # kdebase allows having a konqueror plugin built
   buildInputs = [ cmake qt4 perl kdelibs automoc4 phonon gettext kdebase ];
 
+  # Adjust the version of the DocBook XML to 4.2 ( so that it validates ).
+  patches = [ ./adjust-docbook-xml-version-to-4.2.patch ];
+
   meta = {
     homepage = http://kdiff3.sourceforge.net/;
     license = "GPLv2+";
diff --git a/pkgs/tools/text/recode/default.nix b/pkgs/tools/text/recode/default.nix
new file mode 100644
index 0000000000000..e7c5997021db1
--- /dev/null
+++ b/pkgs/tools/text/recode/default.nix
@@ -0,0 +1,46 @@
+{stdenv, fetchurl, autoconf, automake, libtool, gettext, perl}:
+
+let
+  asIfPatch = ./recode-3.6-as-if.patch;
+
+  gettextPatch = ./recode-3.6-gettextfix.diff;
+
+  debianPatch = fetchurl {
+    url = "http://ftp.de.debian.org/debian/pool/main/r/recode/recode_3.6-15.diff.gz";
+    sha256 = "114qxm29wk95w5760bswgd46d5p00g5kbfai5wchjvcbi722p5qf";
+  };
+in
+stdenv.mkDerivation {
+  name = "recode-3.6";
+
+  src = fetchurl {
+    url = "ftp://ftp.halifax.rwth-aachen.de/gnu/recode/recode-3.6.tar.gz";
+    sha256 = "1krgjqfhsxcls4qvxhagc45sm1sd0w69jm81nwm0bip5z3rs9rp3";
+  };
+
+  buildInputs = [ autoconf automake libtool gettext perl ];
+
+  patchPhase = ''
+    patch -Np1 -i ${asIfPatch}
+    patch -Np1 -i ${gettextPatch}
+    gunzip <${debianPatch} | patch -Np1 -i -
+    sed -i '1i#include <stdlib.h>' src/argmatch.c
+    rm -f acinclude.m4
+    autoreconf -fi
+    libtoolize
+  '';
+
+  configureFlags = "--without-included-gettext";
+
+  doCheck = true;
+
+  meta = {
+    homepage = "http://www.gnu.org/software/recode/";
+    description = "Converts files between various character sets and usages";
+
+    license = "GPLv2+";
+
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [];
+  };
+}
diff --git a/pkgs/tools/text/recode/recode-3.6-as-if.patch b/pkgs/tools/text/recode/recode-3.6-as-if.patch
new file mode 100644
index 0000000000000..c7bcc27c87501
--- /dev/null
+++ b/pkgs/tools/text/recode/recode-3.6-as-if.patch
@@ -0,0 +1,19 @@
+http://bugs.gentoo.org/283029
+
+--- a/m4/flex.m4
++++ b/m4/flex.m4
+@@ -8,11 +8,11 @@ dnl ad_AC_PROG_FLEX
+ dnl Look for flex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT
+ AC_DEFUN(ad_AC_PROG_FLEX,
+ [AC_CHECK_PROGS(LEX, flex, missing)
+-if test "$LEX" = missing; then
++AS_IF([test "$LEX" = missing], [dnl
+   LEX="\$(top_srcdir)/$ac_aux_dir/missing flex"
+   LEX_OUTPUT_ROOT=lex.yy
+   AC_SUBST(LEX_OUTPUT_ROOT)dnl
+-else
++], [:
+   AC_PROG_LEX
+   AC_DECL_YYTEXT
+-fi])
++])])
diff --git a/pkgs/tools/text/recode/recode-3.6-gettextfix.diff b/pkgs/tools/text/recode/recode-3.6-gettextfix.diff
new file mode 100644
index 0000000000000..3b7eb8ba20e6c
--- /dev/null
+++ b/pkgs/tools/text/recode/recode-3.6-gettextfix.diff
@@ -0,0 +1,23 @@
+http://bugs.gentoo.org/239372
+
+patch by Dmitry Karasik
+
+--- recode-3.6/m4/gettext.m4
++++ recode-3.6/m4/gettext.m4
+@@ -109,12 +109,12 @@
+     else
+       ac_items="$LINGUAS"
+       for ac_item in $ac_items; do
+-	case "$ALL_LINGUAS" in
+-	  *$ac_item*)
++        for supported_item in $ALL_LINGUAS; do
++          if test "$ac_item" = "$supported_item"; then
+ 	    ac_print="$ac_print $ac_item"
+ 	    MOFILES="$MOFILES $ac_item.mo"
+-	    ;;
+-	esac
++          fi
++        done
+       done
+     fi
+     AC_SUBST(MOFILES)
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index acc81541c56a3..fc2219f4ad519 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -367,6 +367,8 @@ let
 
   ec2amitools = callPackage ../tools/virtualization/amazon-ec2-ami-tools { };
 
+  altermime = callPackage ../tools/networking/altermime {};
+
   amule = callPackage ../tools/networking/p2p/amule { };
 
   amuleDaemon = amule.override {
@@ -600,6 +602,8 @@ let
 
   fdisk = callPackage ../tools/system/fdisk { };
 
+  fdm = callPackage ../tools/networking/fdm {};
+
   figlet = callPackage ../tools/misc/figlet { };
 
   file = callPackage ../tools/misc/file { };
@@ -619,6 +623,8 @@ let
     withX11 = true;
   };
 
+  ftgl = callPackage ../development/libraries/ftgl { };
+
   dos2unix = callPackage ../tools/text/dos2unix { };
 
   unix2dos = callPackage ../tools/text/unix2dos { };
@@ -635,6 +641,10 @@ let
 
   gengetopt = callPackage ../development/tools/misc/gengetopt { };
 
+  getmail = callPackage ../tools/networking/getmail {
+    python = pythonFull;
+  };
+
   getopt = callPackage ../tools/misc/getopt { };
 
   gftp = callPackage ../tools/networking/gftp { };
@@ -683,6 +693,8 @@ let
 
   gnuvd = callPackage ../tools/misc/gnuvd { };
 
+  gource = callPackage ../tools/misc/gource { };
+
   graphviz = callPackage ../tools/graphics/graphviz {
     inherit (gtkLibs) pango;
   };
@@ -1011,6 +1023,8 @@ let
     qt = qt3;
   };
 
+  philter = callPackage ../tools/networking/philter { };
+
   pinentry = callPackage ../tools/misc/pinentry {
     inherit (gnome) glib gtk;
   };
@@ -1094,6 +1108,8 @@ let
     python=python;  };
   */
 
+  ripmime = callPackage ../tools/networking/ripmime {};
+
   rsnapshot = callPackage ../tools/backup/rsnapshot {
 
     # For the `logger' command, we can use either `utillinux' or
@@ -2120,7 +2136,7 @@ let
 
   pythonWrapper = callPackage ../development/interpreters/python/wrapper.nix { };
 
-  python24 = lowPrio (callPackage ../development/interpreters/python/2.4 { });
+  python24 = callPackage ../development/interpreters/python/2.4 { };
 
   python26Base = lowPrio (makeOverridable (import ../development/interpreters/python/2.6) {
     inherit (pkgs) fetchurl stdenv zlib bzip2 gdbm;
@@ -2277,7 +2293,7 @@ let
 
   autoconf213 = callPackage ../development/tools/misc/autoconf/2.13.nix { };
 
-  automake = automake110x;
+  automake = automake111x;
 
   automake17x = callPackage ../development/tools/misc/automake/automake-1.7.x.nix { };
 
@@ -2703,8 +2719,7 @@ let
   };
 
   dbus_glib = makeOverridable (import ../development/libraries/dbus-glib) {
-    inherit fetchurl stdenv pkgconfig gettext dbus expat glib;
-    libiconv = if (stdenv.system == "i686-freebsd") then libiconv else null;
+    inherit fetchurl stdenv pkgconfig gettext dbus expat glib libiconv;
   };
 
   dbus_java = callPackage ../development/libraries/java/dbus-java { };
@@ -2866,6 +2881,14 @@ let
     gccCross = null;
   };
 
+  glibc212x = callPackage ../development/libraries/x {
+    kernelHeaders = linuxHeaders;
+    installLocales = getPkgConfig "glibc" "locales" false;
+    machHeaders = null;
+    hurdHeaders = null;
+    gccCross = null;
+  };
+
   glibc212Cross = forceBuildDrv (makeOverridable (import ../development/libraries/glibc-2.12)
     (let crossGNU = (crossSystem != null && crossSystem.config == "i586-pc-gnu");
      in ({
@@ -2968,19 +2991,9 @@ let
   #GMP ex-satellite, so better keep it near gmp
   mpfr = callPackage ../development/libraries/mpfr { };
 
-  gst_all = recurseIntoAttrs (import ../development/libraries/gstreamer {
-    inherit lib stdenv fetchurl perl bison pkgconfig libxml2
-      python alsaLib cdparanoia libogg libvorbis libtheora freetype liboil
-      libjpeg zlib speex libpng libdv aalib cairo libcaca flac hal libiec61883
-      dbus libavc1394 ladspaH taglib pulseaudio gdbm bzip2 which makeOverridable
-      libcap libtasn1;
-    flex = flex2535;
-    inherit (xorg) libX11 libXv libXext;
-    inherit (gtkLibs) glib pango gtk;
-    inherit (gnome) gnomevfs /* <- only passed for the no longer used older versions
-             it is deprecated and didn't build on amd64 due to samba dependency */ gtkdoc
-      libsoup;
-  });
+  gst_all = recurseIntoAttrs
+    (let callPackage = newScope pkgs.gst_all; in
+     import ../development/libraries/gstreamer { inherit callPackage pkgs; });
 
   gnet = callPackage ../development/libraries/gnet { };
 
@@ -3008,6 +3021,7 @@ let
 
   glib = gtkLibs.glib;
   gtk = gtkLibs.gtk;
+  pango = gtkLibs.pango;
 
   gtkLibs1x = recurseIntoAttrs (let callPackage = newScope pkgs.gtkLibs1x; in rec {
 
@@ -3037,9 +3051,7 @@ let
 
   gtkLibs218 = recurseIntoAttrs (let callPackage = newScope pkgs.gtkLibs218; in rec {
 
-    glib = callPackage ../development/libraries/glib/2.22.x.nix {
-      libiconv = if stdenv.system == "i686-freebsd" then libiconv else null;
-    };
+    glib = callPackage ../development/libraries/glib/2.22.x.nix { };
 
     glibmm = callPackage ../development/libraries/glibmm/2.22.x.nix { };
 
@@ -3057,9 +3069,7 @@ let
 
   gtkLibs220 = recurseIntoAttrs (let callPackage = newScope pkgs.gtkLibs220; in rec {
 
-    glib = callPackage ../development/libraries/glib/2.24.x.nix {
-      libiconv = if stdenv.system == "i686-freebsd" then libiconv else null;
-    };
+    glib = callPackage ../development/libraries/glib/2.24.x.nix { };
 
     glibmm = callPackage ../development/libraries/glibmm/2.22.x.nix { };
 
@@ -3104,6 +3114,10 @@ let
 
   heimdal = callPackage ../development/libraries/kerberos/heimdal.nix { };
 
+  hspell = callPackage ../development/libraries/hspell { };
+
+  hspellDicts = callPackage ../development/libraries/hspell/dicts.nix { };
+
   hsqldb = callPackage ../development/libraries/java/hsqldb { };
 
   hunspell = callPackage ../development/libraries/hunspell { };
@@ -3112,6 +3126,14 @@ let
 
   hydraAntLogger = callPackage ../development/libraries/java/hydra-ant-logger { };
 
+  icedtea = callPackage ../development/libraries/java/icedtea {
+    ant = apacheAntGcj;
+    xerces = xercesJava;
+    xulrunner = icecatXulrunner3;
+    inherit (xlibs) libX11 libXp libXtst libXinerama libXt
+      libXrender xproto;
+  };
+
   icu = callPackage ../development/libraries/icu { };
 
   id3lib = callPackage ../development/libraries/id3lib { };
@@ -3124,6 +3146,8 @@ let
 
   imlib2 = callPackage ../development/libraries/imlib2 { };
 
+  incrtcl = callPackage ../development/libraries/incrtcl { };
+
   indilib = callPackage ../development/libraries/indilib { };
 
   iniparser = callPackage ../development/libraries/iniparser { };
@@ -3140,6 +3164,8 @@ let
 
   jasper = callPackage ../development/libraries/jasper { };
 
+  jama = callPackage ../development/libraries/jama { };
+
   jbig2dec = callPackage ../development/libraries/jbig2dec { };
 
   jetty_gwt = callPackage ../development/libraries/java/jetty-gwt { };
@@ -3212,11 +3238,6 @@ let
 
   libcue = callPackage ../development/libraries/libcue { };
 
-  libcv = builderDefsPackage (import ../development/libraries/libcv) {
-    inherit libtiff libjpeg libpng pkgconfig;
-    inherit (gtkLibs) gtk glib;
-  };
-
   libdaemon = callPackage ../development/libraries/libdaemon { };
 
   libdbi = callPackage ../development/libraries/libdbi { };
@@ -3868,6 +3889,10 @@ let
 
   tk = callPackage ../development/libraries/tk { };
 
+  tnt = callPackage ../development/libraries/tnt { };
+
+  unicap = callPackage ../development/libraries/unicap {};
+
   unixODBC = callPackage ../development/libraries/unixODBC { };
 
   unixODBCDrivers = recurseIntoAttrs (import ../development/libraries/unixODBCDrivers {
@@ -3875,6 +3900,8 @@ let
     inherit postgresql mysql sqlite;
   });
 
+  urt = callPackage ../development/libraries/urt { };
+
   vamp = callPackage ../development/libraries/audio/vamp { };
 
   vigra = callPackage ../development/libraries/vigra { };
@@ -3890,11 +3917,11 @@ let
       libjpeg libtiff libpng libxml2 libxslt sqlite
       icu cairo perl intltool automake libtool
       pkgconfig autoconf bison libproxy enchant
-      python ruby;
+      python ruby which;
     inherit (gst_all) gstreamer gstPluginsBase gstFfmpeg
       gstPluginsGood;
     flex = flex2535;
-    inherit (xlibs) libXt;
+    inherit (xlibs) libXt renderproto libXrender;
   }).deepOverride {libsoup = gnome28.libsoup_2_31;});
 
   wvstreams = callPackage ../development/libraries/wvstreams { };
@@ -4194,6 +4221,10 @@ let
 
   mod_python = callPackage ../servers/http/apache-modules/mod_python { };
 
+  mod_fastcgi = callPackage ../servers/http/apache-modules/mod_fastcgi { };
+
+  mod_wsgi = callPackage ../servers/http/apache-modules/mod_wsgi { };
+
   mpd = callPackage ../servers/mpd { };
 
   myserver = callPackage ../servers/http/myserver { };
@@ -4288,7 +4319,11 @@ let
     inherit fetchurl fetchsvn stdenv pkgconfig freetype fontconfig
       libxslt expat libdrm libpng zlib perl mesa
       xkeyboard_config dbus hal libuuid openssl gperf m4
-      automake autoconf libtool xmlto asciidoc udev;
+      autoconf libtool xmlto asciidoc udev;
+
+    # XXX: Update to newer Automake on the next big rebuild; better yet:
+    # remove the dependency on Automake.
+    automake = automake110x;
 
     # !!! pythonBase is used instead of python because this causes an
     # infinite recursion when the flag python.full is set to true.
@@ -4482,6 +4517,8 @@ let
 
   iptables = callPackage ../os-specific/linux/iptables { };
 
+  ipw2100fw = callPackage ../os-specific/linux/firmware/ipw2100 { };
+
   ipw2200fw = callPackage ../os-specific/linux/firmware/ipw2200 { };
 
   iwlwifi1000ucode = callPackage ../os-specific/linux/firmware/iwlwifi-1000-ucode { };
@@ -4687,6 +4724,15 @@ let
       };
   };
 
+  linux_2_6_36 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.36.nix) {
+    inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
+    kernelPatches =
+      [ #kernelPatches.fbcondecor_2_6_35
+        kernelPatches.sec_perm_2_6_24
+        #kernelPatches.aufs2_2_6_35
+      ];
+  };
+
   /* Linux kernel modules are inherently tied to a specific kernel.  So
      rather than provide specific instances of those packages for a
      specific kernel, we have a function that builds those packages
@@ -4796,6 +4842,7 @@ let
   linuxPackages_2_6_33 = recurseIntoAttrs (linuxPackagesFor linux_2_6_33 pkgs.linuxPackages_2_6_33);
   linuxPackages_2_6_34 = recurseIntoAttrs (linuxPackagesFor linux_2_6_34 pkgs.linuxPackages_2_6_34);
   linuxPackages_2_6_35 = recurseIntoAttrs (linuxPackagesFor linux_2_6_35 pkgs.linuxPackages_2_6_35);
+  linuxPackages_2_6_36 = recurseIntoAttrs (linuxPackagesFor linux_2_6_36 pkgs.linuxPackages_2_6_36);
   linuxPackages_nanonote_jz_2_6_34 = recurseIntoAttrs (linuxPackagesFor linux_nanonote_jz_2_6_34 pkgs.linuxPackages_nanonote_jz_2_6_34); 
   linuxPackages_nanonote_jz_2_6_35 = recurseIntoAttrs (linuxPackagesFor linux_nanonote_jz_2_6_35 pkgs.linuxPackages_nanonote_jz_2_6_35); 
 
@@ -5348,43 +5395,19 @@ let
     inherit (gnome) esound;
   };
 
-  compizBase = (builderDefsPackage (import ../applications/window-managers/compiz/0.8.0.nix)) {
-    inherit lib stringsWithDeps builderDefs;
-    inherit fetchurl stdenv pkgconfig libpng mesa perl perlXMLParser libxslt gettext
-      intltool binutils;
-    inherit (xorg) libXcomposite libXfixes libXdamage libXrandr
-      libXinerama libICE libSM libXrender xextproto compositeproto fixesproto
-      damageproto randrproto xineramaproto renderproto kbproto xproto libX11
-      libxcb;
-    inherit (gnome) startupnotification libwnck GConf;
-    inherit (gtkLibs) gtk;
-    inherit (gnome) libgnome libgnomeui metacity
-      glib pango libglade libgtkhtml gtkhtml
-      libgnomecanvas libgnomeprint
-      libgnomeprintui gnomepanel;
-    gnomegtk = gnome.gtk;
-    inherit librsvg fuse;
-    inherit dbus dbus_glib;
-  };
+  compiz = callPackage ../applications/window-managers/compiz/core.nix { };
 
-  compiz = compizBase.passthru.function (x : x // {
-    extraConfigureFlags = getConfig ["compiz" "extraConfigureFlags"] [];
-  });
+  compiz_ccsm = callPackage ../applications/window-managers/compiz/ccsm.nix { };
 
-  compizFusion = callPackage ../applications/window-managers/compiz-fusion {
-    version = getConfig ["compizFusion" "version"] "0.7.8";
-    inherit (gnome) startupnotification libwnck GConf;
-    inherit (gnome) libgnome libgnomeui metacity
-      glib pango libglade libgtkhtml gtkhtml
-      libgnomecanvas libgnomeprint
-      libgnomeprintui gnomepanel gnomedesktop;
-    inherit pyrex;
-    gnomegtk = gnome.gtk;
-  };
+  compizconfig_python = callPackage ../applications/window-managers/compiz/config-python.nix { };
 
-  compizExtra = callPackage ../applications/window-managers/compiz/extra.nix {
-    inherit (gnome) GConf;
-  };
+  libcompizconfig = callPackage ../applications/window-managers/compiz/libcompizconfig.nix { };
+
+  compiz_bcop = callPackage ../applications/window-managers/compiz/bcop.nix { };
+
+  compiz_plugins_main = callPackage ../applications/window-managers/compiz/plugins-main.nix { };
+
+  compiz_plugins_extra = callPackage ../applications/window-managers/compiz/plugins-extra.nix { };
 
   cinepaint = callPackage ../applications/graphics/cinepaint {
     fltk = fltk11;
@@ -5680,9 +5703,7 @@ let
 
   qcad = callPackage ../applications/misc/qcad { };
 
-  qjackctl = callPackage ../applications/audio/qjackctl {
-    qt4 = qt4;
-  };
+  qjackctl = callPackage ../applications/audio/qjackctl { };
 
   gkrellm = callPackage ../applications/misc/gkrellm { };
 
@@ -5722,7 +5743,7 @@ let
   };
 
   qrdecode = builderDefsPackage (import ../tools/graphics/qrdecode) {
-    inherit libpng libcv;
+    inherit libpng opencv;
   };
 
   qrencode = builderDefsPackage (import ../tools/graphics/qrencode) {
@@ -5847,6 +5868,8 @@ let
 
   jwm = callPackage ../applications/window-managers/jwm { };
 
+  k3b = newScope pkgs.kde4 ../applications/misc/k3b { };
+
   kadu = newScope pkgs.kde45 ../applications/networking/instant-messengers/kadu { };
 
   kbluetooth = newScope pkgs.kde4 ../tools/bluetooth/kbluetooth { };
@@ -5982,6 +6005,8 @@ let
     inherit (xlibs) libX11 xproto;
   };
 
+  mp3info = callPackage ../applications/audio/mp3info { };
+
   mpc123 = callPackage ../applications/audio/mpc123 { };
 
   mpg123 = callPackage ../applications/audio/mpg123 { };
@@ -6142,6 +6167,8 @@ let
 
   rsibreak = newScope pkgs.kde4 ../applications/misc/rsibreak { };
 
+  recode = callPackage ../tools/text/recode { };
+
   rsync = callPackage ../applications/networking/sync/rsync {
     enableACLs = !(stdenv.isDarwin || stdenv.isSunOS);
   };
@@ -6362,10 +6389,13 @@ let
   wrapFirefox = browser: browserName: nameSuffix: import ../applications/networking/browsers/firefox/wrapper.nix {
     inherit stdenv nameSuffix makeWrapper makeDesktopItem browser browserName;
     plugins =
-      let enableAdobeFlash = getConfig [ browserName "enableAdobeFlash" ] true;
+      let
+        enableAdobeFlash = getConfig [ browserName "enableAdobeFlash" ] true;
+        enableGnash = getConfig [ browserName "enableGnash" ] false;
       in
+       assert !(enableGnash && enableAdobeFlash);
        ([]
-        ++ lib.optional (!enableAdobeFlash) gnash
+        ++ lib.optional enableGnash gnash
         ++ lib.optional enableAdobeFlash flashplayer
         # RealPlayer is disabled by default for legal reasons.
         ++ lib.optional (system != "i686-linux" && getConfig [browserName "enableRealPlayer"] false) RealPlayer
@@ -6708,7 +6738,7 @@ let
       inherit (kde3) kdelibs;
     };
 
-    k3b = callPackage ../applications/misc/k3b {
+    k3b = callPackage ../applications/misc/k3b/1.0.nix {
       inherit (kde3) kdelibs;
     };
 
@@ -6739,7 +6769,7 @@ let
 
   };
 
-  kde4 = kde44;
+  kde4 = kde45;
 
   kde44 = makeOverridable (import ../desktops/kde-4.4) (
     applyGlobalOverrides (p: { kde4 = p.kde44; qt4 = p.qt46; }));
@@ -6747,6 +6777,7 @@ let
   kde45 = callPackage ../desktops/kde-4.5 {
     callPackage =
       let
+        # !!! Ugly, inefficient.
         pkgs_for_45 = (applyGlobalOverrides (p: { kde4 = p.kde45; }));
       in
         pkgs_for_45.newScope pkgs_for_45.kde45;
@@ -7005,7 +7036,6 @@ let
     stateDir = getPkgConfig "nix" "stateDir" "/nix/var";
   };
 
-
   # The SQLite branch.
   nixSqlite = lowPrio (makeOverridable (import ../tools/package-management/nix/sqlite.nix) {
     inherit fetchurl stdenv perl curl bzip2 openssl sqlite;
@@ -7050,11 +7080,7 @@ let
 
   polytable = callPackage ../misc/tex/polytable { };
 
-  psi = makeOverridable (callPackage ../applications/networking/instant-messengers/psi) {
-    qca2 = kde45.qca2;
-    qca2_ossl = kde45.qca2_ossl;
-    qt4 = qt47;
-  };
+  psi = newScope pkgs.kde45 ../applications/networking/instant-messengers/psi { };
 
   putty = callPackage ../applications/networking/remote/putty { };
 
@@ -7143,7 +7169,7 @@ let
     flex = pkgsi686Linux.flex2535;
   };
 
-  wineWacraft = callPackage_i686 ../misc/emulators/wine/wine-warcraft.nix {
+  wineWarcraft = callPackage_i686 ../misc/emulators/wine/wine-warcraft.nix {
     flex = pkgsi686Linux.flex2535;
   };
 
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 15b41b6f3def0..4e28d7d57b542 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -50,6 +50,10 @@ rec {
 
   blazeHtml = callPackage ../development/libraries/haskell/blaze-html {};
 
+  bktrees = callPackage ../development/libraries/haskell/bktrees {};
+
+  Boolean = callPackage ../development/libraries/haskell/Boolean {};
+
   bytestring = callPackage ../development/libraries/haskell/bytestring {};
 
   networkBytestring = callPackage ../development/libraries/haskell/network-bytestring {};
@@ -76,6 +80,8 @@ rec {
 
   colorizeHaskell = callPackage ../development/libraries/haskell/colorize-haskell {};
 
+  colour = callPackage ../development/libraries/haskell/colour {};
+
   ConfigFile = callPackage ../development/libraries/haskell/ConfigFile {};
 
   convertible = callPackage ../development/libraries/haskell/convertible {
@@ -190,6 +196,14 @@ rec {
     happy = happy_1_18_5;
   };
 
+  Graphalyze = callPackage ../development/libraries/haskell/Graphalyze {
+    fgl = fgl_5_4_2_3;
+  };
+
+  graphviz = callPackage ../development/libraries/haskell/graphviz {
+    fgl = fgl_5_4_2_3;
+  };
+
   hakyll = callPackage ../development/libraries/haskell/hakyll {
     regexBase = regexBase_0_93_2;
     network = network_2_2_1_7;
@@ -373,6 +387,8 @@ rec {
 
   MaybeTTransformers = callPackage ../development/libraries/haskell/MaybeT-transformers {};
 
+  MemoTrie = callPackage ../development/libraries/haskell/MemoTrie {};
+
   MissingH = callPackage ../development/libraries/haskell/MissingH {
     network = network_2_2_1_7;
   };
@@ -630,7 +646,11 @@ rec {
 
   vector = callPackage ../development/libraries/haskell/vector {};
 
-  vty = callPackage ../development/libraries/haskell/vty {};
+  vectorSpace = callPackage ../development/libraries/haskell/vector-space {};
+
+  vty = callPackage ../development/libraries/haskell/vty {
+    parallel = parallel_2_2_0_1;
+  };
 
   webRoutes = callPackage ../development/libraries/haskell/web-routes {
     network = network_2_2_1_7;
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index e6e59c5689791..b453300a8fa3a 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -54,7 +54,6 @@ with (import ./release-lib.nix);
   cksfv = all;
   classpath = linux;
   cmake = all;
-  #compiz = linux;
   consolekit = linux;
   coreutils = all;
   cpio = all;
@@ -468,6 +467,12 @@ with (import ./release-lib.nix);
     virtualboxGuestAdditions = linux;
   };
 
+  linuxPackages_2_6_36 = {
+    kernel = linux;
+    virtualbox = linux;
+    virtualboxGuestAdditions = linux;
+  };
+
   strategoPackages = {
     sdf = all;
     strategoxt = all;
@@ -539,6 +544,7 @@ with (import ./release-lib.nix);
     thunar = linux;
     xfce4_power_manager = linux;
     xfce4icontheme = linux;
+    xfce4mixer = linux;
     xfce4panel = linux;
     xfce4session = linux;
     xfce4settings = linux;