diff --git a/maintainers/scripts/gnu/gnupdate b/maintainers/scripts/gnu/gnupdate
index d830b3ab26c2..a1dbd1c16c51 100755
--- a/maintainers/scripts/gnu/gnupdate
+++ b/maintainers/scripts/gnu/gnupdate
@@ -5,7 +5,7 @@ exec ${GUILE-guile} -L "$PWD" -l "$0"    \
          -c "(apply $main (command-line))" "$@"
 !#
 ;;; GNUpdate -- Update GNU packages in Nixpkgs.
-;;; Copyright (C) 2010  Ludovic Courtès <ludo@gnu.org>
+;;; Copyright (C) 2010, 2011  Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This program is free software: you can redistribute it and/or modify
 ;;; it under the terms of the GNU General Public License as published by
@@ -277,18 +277,27 @@ exec ${GUILE-guile} -L "$PWD" -l "$0"    \
                 "--strict" "--eval-only" "--xml"
                 script)))
 
+(define (pipe-failed? pipe)
+  "Close pipe and return its status if it failed."
+  (let ((status (close-pipe pipe)))
+    (if (or (status:term-sig status)
+            (not (= (status:exit-val status) 0)))
+        status
+        #f)))
+
 (define (nix-prefetch-url url)
   ;; Download URL in the Nix store and return the base32-encoded SHA256 hash
   ;; of the file at URL
   (let* ((pipe (open-pipe* OPEN_READ "nix-prefetch-url" url))
          (hash (read-line pipe)))
-    (close-pipe pipe)
-    (if (eof-object? hash)
+    (if (or (pipe-failed? pipe)
+            (eof-object? hash))
         (values #f #f)
         (let* ((pipe (open-pipe* OPEN_READ "nix-store" "--print-fixed-path"
-                                 "sha256" hash (basename url)))
+                                   "sha256" hash (basename url)))
                (path (read-line pipe)))
-          (if (eof-object? path)
+          (if (or (pipe-failed? pipe)
+                  (eof-object? path))
               (values #f #f)
               (values (string-trim-both hash) (string-trim-both path)))))))
 
@@ -478,8 +487,14 @@ exec ${GUILE-guile} -L "$PWD" -l "$0"    \
                          (throw 'ftp-error conn "LIST" code)))))
                 (else
                  (loop (read-line s)
-                       (let ((file (car (reverse (string-tokenize line)))))
-                         (cons file result)))))))
+                       (match (reverse (string-tokenize line))
+                         ((file _ ... permissions)
+                          (let ((type (case (string-ref permissions 0)
+                                        ((#\d) 'directory)
+                                        (else 'file))))
+                            (cons (list file type) result)))
+                         ((file _ ...)
+                          (cons (cons file 'file) result))))))))
       (lambda ()
         (close s)
         (let-values (((code message) (%ftp-listen (ftp-connection-socket conn))))
@@ -498,7 +513,6 @@ exec ${GUILE-guile} -L "$PWD" -l "$0"    \
     "automake17x"
     "automake19x"
     "automake110x"
-    "automake" ;; = 1.10.x
     "bison1875"
     "bison23"
     "bison" ;; = 2.3
@@ -513,10 +527,15 @@ exec ${GUILE-guile} -L "$PWD" -l "$0"    \
     "gcc43"
     "gcc44"
     "gcc45"
+    "gcc45_real"
+    "gcc45_realCross"
     "glibc25"
     "glibc27"
     "glibc29"
-    "guile_1_9"
+    "guile_1_8"
+    "icecat3Xul" ;; redundant with `icecat'
+    "icecatWrapper"
+    "icecatXulrunner3"
     ))
 
 (define (gnu? package)
@@ -558,6 +577,9 @@ exec ${GUILE-guile} -L "$PWD" -l "$0"    \
 (define (ftp-server/directory project)
   (define quirks
     '(("commoncpp2"   "ftp.gnu.org"   "/gnu/commoncpp" #f)
+      ("ucommon"      "ftp.gnu.org"   "/gnu/commoncpp" #f)
+      ("libzrtpcpp"   "ftp.gnu.org"   "/gnu/ccrtp" #f)
+      ("libosip2"     "ftp.gnu.org"   "/gnu/osip" #f)
       ("libgcrypt"    "ftp.gnupg.org" "/gcrypt" #t)
       ("libgpg-error" "ftp.gnupg.org" "/gcrypt" #t)
       ("freefont-ttf" "ftp.gnu.org"   "/gnu/freefont" #f)
@@ -565,8 +587,9 @@ exec ${GUILE-guile} -L "$PWD" -l "$0"    \
       ("gnu-ghostscript" "ftp.gnu.org"  "/gnu/ghostscript" #f)
       ("grub"         "alpha.gnu.org" "/gnu" #t)
       ("GNUnet"       "ftp.gnu.org" "/gnu/gnunet" #f)
-      ("mit-scheme"   "ftp.gnu.org" "/gnu/mit-scheme/stable.pkg")
+      ("mit-scheme"   "ftp.gnu.org" "/gnu/mit-scheme/stable.pkg" #f)
       ("icecat"       "ftp.gnu.org" "/gnu/gnuzilla" #f)
+      ("source-highlight" "ftp.gnu.org" "/gnu/src-highlite" #f)
       ("TeXmacs"      "ftp.texmacs.org" "/TeXmacs/targz" #f)))
 
   (let ((quirk (assoc project quirks)))
@@ -594,40 +617,65 @@ exec ${GUILE-guile} -L "$PWD" -l "$0"    \
   (or (assoc-ref quirks project) project))
 
 (define (releases project)
-  ;; TODO: Handle project release trees like that of IceCat and MyServer.
+  "Return the list of releases of PROJECT as a list of release name/directory
+pairs.  Example: (\"mit-scheme-9.0.1\" . \"/gnu/mit-scheme/stable.pkg/9.0.1\"). "
   ;; TODO: Parse something like fencepost.gnu.org:/gd/gnuorg/packages-ftp.
   (define release-rx
-    (make-regexp (string-append "^" project "-[0-9].*\\.tar\\.")))
+    (make-regexp (string-append "^" project
+                                "-([0-9]|[^-])*(-src)?\\.tar\\.")))
 
-  (catch #t
+  (define alpha-rx
+    (make-regexp "^.*-.*[0-9](-|~)?(alpha|beta|rc|cvs|svn|git)-?[0-9\\.]*\\.tar\\."))
+
+  (define (sans-extension tarball)
+    (let ((end (string-contains tarball ".tar")))
+      (substring tarball 0 end)))
+
+  (catch 'ftp-error
     (lambda ()
       (let-values (((server directory) (ftp-server/directory project)))
-        (let* ((conn  (ftp-open server))
-               (files (ftp-list conn directory)))
-          (ftp-close conn)
-          (map (lambda (tarball)
-                 (let ((end (string-contains tarball ".tar")))
-                   (substring tarball 0 end)))
+        (define conn (ftp-open server))
 
-               ;; Filter out signatures, deltas, and files which are potentially
-               ;; not releases of PROJECT (e.g., in /gnu/guile, filter out
-               ;; guile-oops and guile-www).
-               (filter (lambda (file)
-                         (and (not (string-suffix? ".sig" file))
-                              (regexp-exec release-rx file)))
-                       files)))))
+        (let loop ((directories (list directory))
+                   (result      '()))
+          (if (null? directories)
+              (begin
+                (ftp-close conn)
+                result)
+              (let* ((directory (car directories))
+                     (files     (ftp-list conn directory))
+                     (subdirs   (filter-map (lambda (file)
+                                              (match file
+                                                ((name 'directory . _) name)
+                                                (_ #f)))
+                                            files)))
+                (loop (append (map (cut string-append directory "/" <>)
+                                   subdirs)
+                              (cdr directories))
+                      (append
+                       ;; Filter out signatures, deltas, and files which are potentially
+                       ;; not releases of PROJECT (e.g., in /gnu/guile, filter out
+                       ;; guile-oops and guile-www; in mit-scheme, filter out
+                       ;; binaries).
+                       (filter-map (lambda (file)
+                                     (match file
+                                       ((file 'file . _)
+                                        (and (not (string-suffix? ".sig" file))
+                                             (regexp-exec release-rx file)
+                                             (not (regexp-exec alpha-rx file))
+                                             (let ((s (sans-extension file)))
+                                               (and (regexp-exec
+                                                     %package-name-rx s)
+                                                    (cons s directory)))))
+                                       (_ #f)))
+                                   files)
+                       result)))))))
     (lambda (key subr message . args)
       (format (current-error-port)
-              "failed to get release list for `~A': ~A ~A~%"
+              "failed to get release list for `~A': ~S ~S~%"
               project message args)
       '())))
 
-(define pointer->procedure
-  ;; Compatibility hack for Guile up to 1.9.12 included.
-  (if (defined? 'pointer->procedure)
-      pointer->procedure
-      make-foreign-function))
-
 (define version-string>?
   (let ((strverscmp
          (let ((sym (or (dynamic-func "strverscmp" (dynamic-link))
@@ -637,53 +685,64 @@ exec ${GUILE-guile} -L "$PWD" -l "$0"    \
       (> (strverscmp (string->pointer a) (string->pointer b)) 0))))
 
 (define (latest-release project)
-  ;; Return "FOO-X.Y" or #f.
+  "Return (\"FOO-X.Y\" . \"/bar/foo\") or #f."
   (let ((releases (releases project)))
     (and (not (null? releases))
          (fold (lambda (release latest)
-                 (if (version-string>? release latest)
+                 (if (version-string>? (car release) (car latest))
                      release
                      latest))
-               ""
+               '("" . "")
                releases))))
 
+(define %package-name-rx
+  ;; Regexp for a package name, e.g., "foo-X.Y".  Since TeXmacs uses
+  ;; "TeXmacs-X.Y-src", the `-src' suffix is allowed.
+  (make-regexp "^(.*)-(([0-9]|\\.)+)(-src)?"))
+
 (define (package/version name+version)
-  (let ((hyphen (string-rindex name+version #\-)))
-    (if (not hyphen)
+  "Return the package name and version number extracted from NAME+VERSION."
+  (let ((match (regexp-exec %package-name-rx name+version)))
+    (if (not match)
         (values name+version #f)
-        (let ((name    (substring name+version 0 hyphen))
-              (version (substring name+version (+ hyphen 1)
-                                  (string-length name+version))))
-          (values name version)))))
+        (values (match:substring match 1) (match:substring match 2)))))
 
 (define (file-extension file)
   (let ((dot (string-rindex file #\.)))
     (and dot (substring file (+ 1 dot) (string-length file)))))
 
 (define (packages-to-update gnu-packages)
+  (define (unpack latest)
+    (call-with-values (lambda ()
+                        (package/version (car latest)))
+      (lambda (name version)
+        (list name version (cdr latest)))))
+
   (fold (lambda (pkg result)
           (call-with-package pkg
             (lambda (attribute name+version location meta src)
               (let-values (((name old-version)
                             (package/version name+version)))
                 (let ((latest (latest-release (nixpkgs->gnu-name name))))
-                  (cond ((not latest)
-                         (format #t "~A [unknown latest version]~%"
-                                 name+version)
-                         result)
-                        ((string=? name+version latest)
+                  (if (not latest)
+                      (begin
+                        (format #t "~A [unknown latest version]~%"
+                                name+version)
+                        result)
+                      (match (unpack latest)
+                        ((_ (? (cut string=? old-version <>)) _)
                          (format #t "~A [up to date]~%" name+version)
                          result)
-                        (else
-                         (let-values (((project new-version)
-                                       (package/version latest))
-                                      ((old-name old-hash old-urls)
+                        ((project new-version directory)
+                         (let-values (((old-name old-hash old-urls)
                                        (src->values src)))
-                           (format #t "~A -> ~A [~A]~%" name+version latest
+                           (format #t "~A -> ~A [~A]~%"
+                                   name+version (car latest)
                                    (and (pair? old-urls) (car old-urls)))
                            (let* ((url      (and (pair? old-urls)
                                                  (car old-urls)))
-                                  (new-hash (fetch-gnu project new-version
+                                  (new-hash (fetch-gnu project directory
+                                                       new-version
                                                        (if url
                                                            (file-extension url)
                                                            "gz"))))
@@ -691,39 +750,38 @@ exec ${GUILE-guile} -L "$PWD" -l "$0"    \
                                          old-version old-hash
                                          new-version new-hash
                                          location)
-                                   result))))))))))
+                                   result)))))))))))
         '()
         gnu-packages))
 
-(define (fetch-gnu project version archive-type)
-  (let-values (((server directory)
-                (ftp-server/directory project)))
-    (let* ((base    (string-append project "-" version ".tar." archive-type))
-           (url     (string-append "ftp://" server "/" directory "/" base))
-           (sig     (string-append base ".sig"))
-           (sig-url (string-append url ".sig")))
-      (let-values (((hash path) (nix-prefetch-url url)))
-        (pk 'prefetch-url url hash path)
-        (and hash path
-             (begin
-               (false-if-exception (delete-file sig))
-               (system* "wget" sig-url)
-               (if (file-exists? sig)
-                   (let ((ret (system* "gpg" "--verify" sig path)))
-                     (false-if-exception (delete-file sig))
-                     (if (and ret (= 0 (status:exit-val ret)))
-                         hash
-                         (begin
-                           (format (current-error-port)
-                                   "signature verification failed for `~a'~%"
-                                   base)
-                           (format (current-error-port)
-                                   "(could be because the public key is not in your keyring)~%")
-                           #f)))
-                   (begin
-                     (format (current-error-port)
-                             "no signature for `~a'~%" base)
-                     hash))))))))
+(define (fetch-gnu project directory version archive-type)
+  (let* ((server  (ftp-server/directory project))
+         (base    (string-append project "-" version ".tar." archive-type))
+         (url     (string-append "ftp://" server "/" directory "/" base))
+         (sig     (string-append base ".sig"))
+         (sig-url (string-append url ".sig")))
+    (let-values (((hash path) (nix-prefetch-url url)))
+      (pk 'prefetch-url url hash path)
+      (and hash path
+           (begin
+             (false-if-exception (delete-file sig))
+             (system* "wget" sig-url)
+             (if (file-exists? sig)
+                 (let ((ret (system* "gpg" "--verify" sig path)))
+                   (false-if-exception (delete-file sig))
+                   (if (and ret (= 0 (status:exit-val ret)))
+                       hash
+                       (begin
+                         (format (current-error-port)
+                                 "signature verification failed for `~a'~%"
+                                 base)
+                         (format (current-error-port)
+                                 "(could be because the public key is not in your keyring)~%")
+                         #f)))
+                 (begin
+                   (format (current-error-port)
+                           "no signature for `~a'~%" base)
+                   hash)))))))
 
 
 ;;;
@@ -769,20 +827,31 @@ exec ${GUILE-guile} -L "$PWD" -l "$0"    \
 
 (define (gnupdate . args)
   ;; Assume Nixpkgs is under $NIXPKGS or ~/src/nixpkgs.
+
+  (define (nixpkgs->snix xml-file)
+    (format (current-error-port) "evaluating Nixpkgs...~%")
+    (let* ((home (getenv "HOME"))
+           (xml  (if xml-file
+                     (open-input-file xml-file)
+                     (open-nixpkgs (or (getenv "NIXPKGS")
+                                       (string-append home "/src/nixpkgs")))))
+           (snix (xml->snix xml)))
+      (if (not xml-file)
+          (let ((status (pipe-failed? xml)))
+            (if status
+                (begin
+                  (format (current-error-port) "`nix-instantiate' failed: ~A~%"
+                          status)
+                  (exit 1)))))
+      snix))
+
   (let* ((opts      (args-fold (cdr args) %options
                                (lambda (opt name arg result)
                                  (error "unrecognized option `~A'" name))
                                (lambda (operand result)
                                  (error "extraneous argument `~A'" operand))
                                '()))
-         (home      (getenv "HOME"))
-         (path      (or (getenv "NIXPKGS")
-                        (string-append home "/src/nixpkgs")))
-         (snix      (begin
-                      (format (current-error-port) "parsing XML...~%")
-                      (xml->snix
-                       (or (and=> (assoc-ref opts 'xml-file) open-input-file)
-                           (open-nixpkgs path)))))
+         (snix      (nixpkgs->snix (assoc-ref opts 'xml-file)))
          (packages  (match snix
                       (('snix _ ('attribute-set attributes))
                        attributes)
@@ -826,3 +895,7 @@ exec ${GUILE-guile} -L "$PWD" -l "$0"    \
                   (_ #f)))
               updates)
     #t))
+
+;;; Local Variables:
+;;; eval: (put 'call-with-package 'scheme-indent-function 1)
+;;; End:
diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix
index 4917cea2af00..7d3c5187321b 100644
--- a/pkgs/applications/audio/audacity/default.nix
+++ b/pkgs/applications/audio/audacity/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation rec {
     description = "Sound editor with graphical UI";
     homepage = http://audacity.sourceforge.net;
     license = "GPLv2+";
+    platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/applications/audio/gmu/default.nix b/pkgs/applications/audio/gmu/default.nix
new file mode 100644
index 000000000000..bdda1c6d8d96
--- /dev/null
+++ b/pkgs/applications/audio/gmu/default.nix
@@ -0,0 +1,35 @@
+{stdenv, fetchurl, SDL, SDL_gfx, SDL_image, tremor, flac, mpg123, libmikmod
+, speex
+, keymap ? "newdefault"
+, conf ? "unknown"
+}:
+
+stdenv.mkDerivation rec {
+  name = "gmu-0.7.2";
+  
+  src = fetchurl {
+    url = http://wejp.k.vu/files/gmu-0.7.2.tar.gz;
+    sha256 = "0gvhwhhlj64lc425wqch4g6v59ldd5i3rxll3zdcrdgk2vkh8nys";
+  };
+
+  buildInputs = [ SDL SDL_gfx SDL_image tremor flac mpg123 libmikmod speex ];
+
+  NIX_LDFLAGS = "-lgcc_s";
+
+  preBuild = ''
+    makeFlags="$makeFlags PREFIX=$out"
+  '';
+
+  postInstall = ''
+    cp ${keymap}.keymap $out/share/gmu/default.keymap
+    cp gmuinput.${conf}.conf $out/share/gmu/gmuinput.conf
+    ensureDir $out/etc/gmu
+    cp gmu.${conf}.conf $out/etc/gmu/gmu.conf
+  '';
+
+  meta = {
+    homepage = http://wejp.k.vu/projects/gmu;
+    description = "Open source music player for portable gaming consoles and handhelds";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
new file mode 100644
index 000000000000..d8bbec84782d
--- /dev/null
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -0,0 +1,63 @@
+{ fetchurl, stdenv, dpkg, xlibs, qt4, alsaLib, makeWrapper }:
+
+assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
+
+let version = "0.4.9.302"; in
+
+stdenv.mkDerivation {
+  name = "spotify-${version}";
+
+  src =
+    if stdenv.system == "i686-linux" then 
+      fetchurl {
+        url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client-qt_${version}.g604b4fb-1_i386.deb";
+        sha256 = "1kw3jfvz8a9v6zl3yh6f51vsick35kmcf7vkbjb6wl0nk1a8q8gg";
+      }
+    else if stdenv.system == "x86_64-linux" then 
+      fetchurl {
+        url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client-qt_${version}.g604b4fb-1_amd64.deb";
+        sha256 = "1cghs3hwmqnd7g62g1h2bf3yvxgjq8b94vzhp1w9ysb5rswyjkyv";
+      }
+    else throw "Spotify not supported on this platform.";
+
+  buildInputs = [ dpkg makeWrapper ];
+
+  unpackPhase = "true";
+  
+  installPhase =
+    ''
+      mkdir -p $out
+      dpkg-deb -x $src $out
+      mv $out/usr/* $out/
+      rmdir $out/usr
+
+      patchelf \
+        --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+        --set-rpath ${stdenv.lib.makeLibraryPath [ xlibs.libXScrnSaver qt4 alsaLib stdenv.gcc.gcc ]}:${stdenv.gcc.gcc}/lib64 \
+        $out/bin/spotify
+
+      preload=$out/libexec/spotify/libpreload.so
+      mkdir -p $out/libexec/spotify
+      gcc -shared ${./preload.c} -o $preload -ldl -DOUT=\"$out\" -fPIC
+
+      wrapProgram $out/bin/spotify --set LD_PRELOAD $preload
+    ''; # */
+
+  dontStrip = true;
+  dontPatchELF = true;
+
+  meta = {
+    homepage = https://www.spotify.com/download/previews/;
+    description = "Spotify for Linux allows you to play music from the Spotify music service";
+    license = "unfree";
+    maintainers = [ stdenv.lib.maintainers.eelco ];
+
+    longDescription =
+      ''
+        Spotify is a digital music streaming service.  This package
+        provides the Spotify client for Linux.  At present, it does not
+        work with free Spotify accounts; it requires a Premium or
+        Unlimited account.
+      '';
+  };
+}
diff --git a/pkgs/applications/audio/spotify/preload.c b/pkgs/applications/audio/spotify/preload.c
new file mode 100644
index 000000000000..d6e8fe417401
--- /dev/null
+++ b/pkgs/applications/audio/spotify/preload.c
@@ -0,0 +1,59 @@
+/* Spotify looks for its theme data in /usr/share/spotify/theme.  This
+   LD_PRELOAD library intercepts open() and stat() calls to redirect
+   them to the corresponding location in $out. */
+
+#define _GNU_SOURCE
+#include <stdio.h>
+#include <stdarg.h>
+#include <stdlib.h>
+#include <dlfcn.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <limits.h>
+
+char themeDir [] = "/usr/share/spotify/theme";
+char realThemeDir [] = OUT "/share/spotify/theme";
+
+const char * rewrite(const char * path, char * buf)
+{
+    if (strncmp(path, themeDir, sizeof(themeDir) - 1) != 0) return path;
+    if (snprintf(buf, PATH_MAX, "%s%s", realThemeDir, path + sizeof(themeDir) - 1) >= PATH_MAX)
+        abort();
+    return buf;
+}
+
+int open(const char *path, int flags, ...)
+{
+    char buf[PATH_MAX];
+    int (*_open) (const char *, int, mode_t) = dlsym(RTLD_NEXT, "open");
+    mode_t mode = 0;
+    if (flags & O_CREAT) {
+        va_list ap;
+        va_start(ap, flags);
+        mode = va_arg(ap, mode_t);
+        va_end(ap);
+    }
+    return _open(rewrite(path, buf), flags, mode);
+}
+
+int open64(const char *path, int flags, ...)
+{
+    char buf[PATH_MAX];
+    int (*_open64) (const char *, int, mode_t) = dlsym(RTLD_NEXT, "open64");
+    mode_t mode = 0;
+    if (flags & O_CREAT) {
+        va_list ap;
+        va_start(ap, flags);
+        mode = va_arg(ap, mode_t);
+        va_end(ap);
+    }
+    return _open64(rewrite(path, buf), flags, mode);
+}
+
+int __xstat64(int ver, const char *path, struct stat64 *st)
+{
+    char buf[PATH_MAX];
+    int (*___xstat64) (int ver, const char *, struct stat64 *) = dlsym(RTLD_NEXT, "__xstat64");
+    return ___xstat64(ver, rewrite(path, buf), st);
+}
diff --git a/pkgs/applications/display-managers/slim/default.nix b/pkgs/applications/display-managers/slim/default.nix
index b00fb6d2dc7b..2ea53fd4e55a 100644
--- a/pkgs/applications/display-managers/slim/default.nix
+++ b/pkgs/applications/display-managers/slim/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, x11, libjpeg, libpng, libXmu, freetype, pam}:
 
 stdenv.mkDerivation rec {
-  name = "slim-1.3.1";
+  name = "slim-1.3.2";
 
   src = fetchurl {
     url = "http://download.berlios.de/slim/${name}.tar.gz";
-    sha256 = "0xqgzvg6h1bd29140mcgg9r16vcmskz7zmym7i7jlz7x9c1a9mxc";
+    sha256 = "1f42skdp5k1zrb364s3i0ps5wmx9szz9h192i2dkn9az00jh2mpi";
   };
 
   patches = [
@@ -22,8 +22,6 @@ stdenv.mkDerivation rec {
     # Don't set PAM_RHOST to "localhost", it confuses ConsoleKit
     # (which assumes that a non-empty string means a remote session).
     ./pam2.patch
-    
-    ./slim-1.3.1-gcc4.4.patch
   ];
 
   buildInputs = [x11 libjpeg libpng libXmu freetype pam];
diff --git a/pkgs/applications/display-managers/slim/slim-1.3.1-gcc4.4.patch b/pkgs/applications/display-managers/slim/slim-1.3.1-gcc4.4.patch
deleted file mode 100644
index 71b028ec080b..000000000000
--- a/pkgs/applications/display-managers/slim/slim-1.3.1-gcc4.4.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Patch to allow compilation with gcc-4.4
-
-Notified by Daniel J. - from Debian bug tracker
-
-http://bugs.gentoo.org/252745
-
---- a/switchuser.h	2008-11-11 19:40:18.000000000 +0000
-+++ a/switchuser.h	2008-11-11 19:40:28.000000000 +0000
-@@ -18,6 +18,7 @@
- #include <pwd.h>
- #include <grp.h>
- #include <paths.h>
-+#include <cstdio>
- #include <iostream>
- #include "const.h"
- #include "cfg.h"
-
diff --git a/pkgs/applications/editors/emacs-23/default.nix b/pkgs/applications/editors/emacs-23/default.nix
index 4bdb4f132c2f..5de1b38bb41d 100644
--- a/pkgs/applications/editors/emacs-23/default.nix
+++ b/pkgs/applications/editors/emacs-23/default.nix
@@ -8,22 +8,28 @@ assert (libXft != null) -> libpng != null;	# probably a bug
 assert stdenv.isDarwin -> libXaw != null;	# fails to link otherwise
 
 stdenv.mkDerivation rec {
-  name = "emacs-23.2";
+  name = "emacs-23.3";
 
   builder = ./builder.sh;
 
   src = fetchurl {
     url = "mirror://gnu/emacs/${name}.tar.bz2";
-    sha256 = "1i96hp91s86jawrqjhfxm5y2sjxizv99009128b4bh06bgx6dm7z";
+    sha256 = "0kfa546qi0idkwk29gclgi13qd8q54pcqgy9qwjknlclszprdp3a";
   };
 
-  buildInputs = [
-    ncurses x11 texinfo libXaw Xaw3d libXpm dbus libpng libjpeg libungif
-    libtiff librsvg gtk (if gtk != null then pkgconfig else null) libXft gconf
-  ];
+  buildInputs = 
+    [ ncurses x11 texinfo libXaw Xaw3d libXpm libpng libjpeg libungif
+      libtiff librsvg libXft gconf
+    ] 
+    ++ stdenv.lib.optionals (gtk != null) [ gtk pkgconfig ]
+    ++ stdenv.lib.optional stdenv.isLinux dbus;
 
   configureFlags =
-    stdenv.lib.optionals (gtk != null) [ "--with-x-toolkit=gtk" "--with-xft" ];
+    stdenv.lib.optionals (gtk != null) [ "--with-x-toolkit=gtk" "--with-xft"]
+
+    # On NixOS, help Emacs find `crt*.o'.
+    ++ stdenv.lib.optional (stdenv ? glibc)
+         [ "--with-crt-dir=${stdenv.glibc}/lib" ];
 
   doCheck = true;
 
diff --git a/pkgs/applications/editors/emacs-modes/org/default.nix b/pkgs/applications/editors/emacs-modes/org/default.nix
index 559bc957f071..f77e00813356 100644
--- a/pkgs/applications/editors/emacs-modes/org/default.nix
+++ b/pkgs/applications/editors/emacs-modes/org/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, emacs, texinfo, which }:
 
 stdenv.mkDerivation rec {
-  name = "org-7.01f";
+  name = "org-7.4";
 
   src = fetchurl {
     url = "http://orgmode.org/${name}.tar.gz";
-    sha256 = "1db7s57g8gh8w0464n18lxpcz270x9ns63b2blhkz8wrdnk57fia";
+    sha256 = "0fpzfq6jynggyw62ai1cjvdmik9jnglfwrwj3nwcmy3g8j8i86fg";
   };
 
   buildInputs = [ emacs texinfo ];
diff --git a/pkgs/applications/editors/texmacs/default.nix b/pkgs/applications/editors/texmacs/default.nix
index 5cd4d6684fc2..d765449851ad 100644
--- a/pkgs/applications/editors/texmacs/default.nix
+++ b/pkgs/applications/editors/texmacs/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, guile, libX11, libXext, xmodmap, which, makeWrapper,
+{stdenv, fetchurl, guile, libX11, libXext, xmodmap, which, makeWrapper, freetype,
  tex ? null,
  aspell ? null,
  ghostscriptX ? null,
@@ -9,7 +9,7 @@
 
 let 
   pname = "TeXmacs";
-  version = "1.0.7.6";
+  version = "1.0.7.10";
   extraFontsSrc = fetchurl {
     url = "ftp://ftp.texmacs.org/pub/TeXmacs/fonts/TeXmacs-extra-fonts-1.0-noarch.tar.gz";
     sha256 = "0hylgjmd95y9yahbblmawkkw0i71vb145xxv2xqrmff81301n6k7";
@@ -40,10 +40,10 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "ftp://ftp.texmacs.org/pub/${pname}/targz/${name}-src.tar.gz";
-    sha256 = "0x4qy3ai9nmz1i90mbqi1n2vgwyllxwmlpllfwcz0fad7yby7msh";
+    sha256 = "02gqalr775r4xyfy4bq3qq1h3pkarsxjb6ami7lgxfgmyg6ca5kn";
   };
 
-  buildInputs = [ guile libX11 libXext makeWrapper ];
+  buildInputs = [ guile libX11 libXext makeWrapper ghostscriptX freetype ];
 
   patchPhase = (if tex == null then ''
     gunzip < ${fullFontsSrc} | (cd TeXmacs && tar xvf -)
diff --git a/pkgs/applications/editors/zile/default.nix b/pkgs/applications/editors/zile/default.nix
index c81815da750e..587556cb90ae 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.21";
+  name = "zile-2.3.22";
 
   src = fetchurl {
     url = "mirror://gnu/zile/${name}.tar.gz";
-    sha256 = "1cmw98khpyk0yv3fn94506fm7589adfbs57czrdsm4q8xf2xrj4i";
+    sha256 = "0zkmym5vpb653c5gmzic8588v4ksidnhh33s4pjvr24n7vgj9biy";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
new file mode 100644
index 000000000000..18f19f7347e0
--- /dev/null
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl,
+  GConf, cairo, curl, dbus_glib, exiv2, gnome_keyring, gphoto2, gtk,
+  intltool, lcms, lensfun, libexif, libglade, libgphoto2, libjpeg,
+  libpng, libraw1394, librsvg, libtiff, openexr, pkgconfig, sqlite, }:
+
+stdenv.mkDerivation rec {
+  version = "0.7.1";
+  name = "darktable-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/darktable/darktable-${version}.tar.gz";
+    sha256 = "080gvf5gp3rb0vlsvdgnzrzky9dfpqw5cwnj6z1k8lvryd9fzahm";
+  };
+
+  patches = [ ./exif.patch ];
+
+  buildInputs = [ GConf cairo curl dbus_glib exiv2 gnome_keyring gtk
+                        intltool lcms lensfun libexif libglade
+                        libgphoto2 libjpeg libpng libraw1394 librsvg
+                        libtiff openexr pkgconfig sqlite ];
+
+  meta = {
+    description = "a virtual lighttable and darkroom for photographers";
+    homepage = http://darktable.sourceforge.net;
+    license = stdenv.lib.licenses.gpl3Plus;
+  };
+}
diff --git a/pkgs/applications/graphics/darktable/exif.patch b/pkgs/applications/graphics/darktable/exif.patch
new file mode 100644
index 000000000000..f1f59d3ef4e4
--- /dev/null
+++ b/pkgs/applications/graphics/darktable/exif.patch
@@ -0,0 +1,11 @@
+--- darktable-0.7.1/src/common/exif.cc	2011-01-01 12:08:36.000000000 +0100
++++ darktable-0.7.1/src/common/exif.cc	2011-01-01 12:09:27.000000000 +0100
+@@ -33,7 +33,7 @@
+ #include <exiv2/error.hpp>
+ #include <exiv2/image.hpp>
+ #include <exiv2/exif.hpp>
+-#include <exiv2/canonmn.hpp>
++#include <exiv2/exiv2.hpp>
+ #include <sqlite3.h>
+ #include <iostream>
+ #include <fstream>
diff --git a/pkgs/applications/graphics/djview/default.nix b/pkgs/applications/graphics/djview/default.nix
index 5ebb070ef1f4..85388ffa6012 100644
--- a/pkgs/applications/graphics/djview/default.nix
+++ b/pkgs/applications/graphics/djview/default.nix
@@ -9,6 +9,10 @@ stdenv.mkDerivation {
 
 	buildInputs = [djvulibre qt4];
 
+  passthru = {
+    mozillaPlugin = "/lib/netscape/plugins";
+  };
+
 	meta = {
 		homepage = http://djvu.sourceforge.net/djview4.html;
 		description = "A new portable DjVu viewer and browser plugin";
diff --git a/pkgs/applications/graphics/fbida/default.nix b/pkgs/applications/graphics/fbida/default.nix
index f7482e0bfe75..ea7cb81a48e5 100644
--- a/pkgs/applications/graphics/fbida/default.nix
+++ b/pkgs/applications/graphics/fbida/default.nix
@@ -1,34 +1,33 @@
-a :  
-let 
-  fetchurl = a.fetchurl;
+{ stdenv, fetchurl, libjpeg, libexif, giflib, libtiff, libpng
+, pkgconfig, freetype, fontconfig
+}:
 
-  version = a.lib.attrByPath ["version"] "2.07" a; 
-  buildInputs = with a; [
-    libjpeg libexif giflib libtiff libpng
-      imagemagick ghostscript which curl 
-      pkgconfig freetype fontconfig
-  ];
-in
-rec {
+stdenv.mkDerivation rec {
+  name = "fbida-2.07";
+  
   src = fetchurl {
-    url = "http://dl.bytesex.org/releases/fbida/fbida-${version}.tar.gz";
+    url = "http://dl.bytesex.org/releases/fbida/${name}.tar.gz";
     sha256 = "0i6v3fvjc305pfw48sglb5f22lwxldmfch6mjhqbcp7lqkkxw435";
   };
 
-  inherit buildInputs;
-  configureFlags = [];
-  makeFlags = [
-    "prefix=$out"
-    "verbose=yes"
-    ];
+  preBuild =
+    ''
+      # Fetch a segfault in exiftran (http://bugs.gentoo.org/284753).
+      # `fbida' contains a copy of some internal libjpeg source files.
+      # If these do not match with the actual libjpeg, exiftran may
+      # fail.
+      tar xvf ${libjpeg.src}
+      for i in jpegint.h jpeglib.h jinclude.h transupp.c transupp.h; do
+        cp jpeg-*/$i jpeg/
+      done
+    '';
+
+  buildInputs =
+    [ pkgconfig libexif libjpeg giflib libpng giflib freetype fontconfig ];
+  
+  makeFlags = [ "prefix=$(out)" "verbose=yes" ];
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doMakeInstall" (a.doPatchShebangs "$out/bin")];
-      
-  name = "fbida-" + version;
   meta = {
-    description = "Framebuffer image viewing programs";
-    maintainers = [
-    ];
+    description = "Image viewing and manipulation programs";
   };
 }
diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix
index e9d86aca52d5..19fc8d8b3667 100644
--- a/pkgs/applications/graphics/feh/default.nix
+++ b/pkgs/applications/graphics/feh/default.nix
@@ -2,11 +2,11 @@
 , libXinerama }:
 
 stdenv.mkDerivation {
-  name = "feh-1.6.1";
+  name = "feh-1.11.2";
 
   src = fetchurl {
-    url = http://www.chaosdorf.de/~derf/feh/feh-1.6.1.tar.bz2;
-    sha256 = "1mv09b34ar0dx4wl22xak2g554xgpylicqy5zbnk3bh66vn9pxz2";
+    url = http://www.chaosdorf.de/~derf/feh/feh-1.11.1.tar.bz2;
+    sha256 = "1rxi0hjp8w1rga48qvq3sgsbsgs4d5q1sq59ld1f7rih1knm2v45";
   };
 
   buildInputs = [x11 imlib2 giblib libjpeg libpng libXinerama];
diff --git a/pkgs/applications/graphics/freecad/cmakeinstall.patch b/pkgs/applications/graphics/freecad/cmakeinstall.patch
new file mode 100644
index 000000000000..6b8f9fb1a60f
--- /dev/null
+++ b/pkgs/applications/graphics/freecad/cmakeinstall.patch
@@ -0,0 +1,55 @@
+Index: src/3rdParty/salomesmesh/CMakeLists.txt
+===================================================================
+--- a/src/3rdParty/salomesmesh/CMakeLists.txt	(revision 4193)
++++ a/src/3rdParty/salomesmesh/CMakeLists.txt	(working copy)
+@@ -191,7 +191,7 @@
+ INCLUDE_DIRECTORIES(src/StdMeshers)
+ 
+ ADD_LIBRARY(StdMeshers SHARED ${StdMeshers_source_files})
+-TARGET_LINK_LIBRARIES(StdMeshers SMESH TKernel TKMath TKAdvTools f2c)
++TARGET_LINK_LIBRARIES(StdMeshers SMESH TKernel TKMath TKAdvTools f2c gfortran)
+ SET(StdMeshers_CFLAGS "")
+ IF(WIN32)
+   SET(StdMeshers_CFLAGS "-DSTDMESHERS_EXPORTS -DMEFISTO2D_EXPORTS")
+@@ -218,9 +218,9 @@
+     # Libraries are installed by default in /usr/local/lib/SMESH-5.1.2.7
+     INSTALL(TARGETS SMDS Driver DriverSTL DriverDAT DriverUNV
+             SMESHDS SMESH StdMeshers
+-            DESTINATION /usr/local/lib/${INSTALL_PATH_NAME})
++            DESTINATION lib)
+     # Headers are installed by default in /usr/local/include/SMESH-5.1.2.7
+     INSTALL(DIRECTORY inc/
+-            DESTINATION /usr/local/include/${INSTALL_PATH_NAME}
++            DESTINATION include
+             FILES_MATCHING PATTERN "*.h*")
+ ENDIF(UNIX)
+Index: src/3rdParty/Pivy-0.5/CMakeLists.txt
+===================================================================
+--- a/src/3rdParty/Pivy-0.5/CMakeLists.txt	(revision 4193)
++++ a/src/3rdParty/Pivy-0.5/CMakeLists.txt	(working copy)
+@@ -56,6 +56,7 @@
+     set_target_properties(coin PROPERTIES OUTPUT_NAME "_coin")
+     set_target_properties(coin PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/pivy)
+     set_target_properties(coin PROPERTIES PREFIX "")
++    install(TARGETS coin DESTINATION bin/pivy)
+ endif(MSVC)
+ 
+ fc_copy_sources_outpath("bin/pivy" "coin"
+Index: CMakeLists.txt
+===================================================================
+--- a/CMakeLists.txt	(revision 4193)
++++ a/CMakeLists.txt	(working copy)
+@@ -57,13 +57,6 @@
+ 
+ # ================================================================================
+ 
+-
+-if(WIN32)
+-    SET(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR})
+-else(WIN32)
+-    SET(CMAKE_INSTALL_PREFIX "/usr/lib/freecad")
+-endif(WIN32)
+-
+ # ================================================================================
+ # == Win32 is default behaviour use the LibPack copied in Source tree ============
+ if(MSVC)
diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix
new file mode 100644
index 000000000000..cfe97e12476d
--- /dev/null
+++ b/pkgs/applications/graphics/freecad/default.nix
@@ -0,0 +1,47 @@
+{ fetchsvn, stdenv, cmake, coin3d, xercesc, ode, eigen, qt4, opencascade, gts,
+boost, zlib,
+python, swig, gfortran, soqt, libf2c, pyqt4, makeWrapper }:
+
+# It builds but fails to install
+
+stdenv.mkDerivation rec {
+  name = "freecad-${version}";
+  version = "svn-${src.rev}";
+
+  src = fetchsvn {
+    url = https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk;
+    rev = "4184";
+    sha256 = "26bd8407ce38f070b81ef39145aed093eed3c200d165a605b8169162d66568ce";
+  };
+
+  buildInputs = [ cmake coin3d xercesc ode eigen qt4 opencascade gts boost
+    zlib python swig gfortran soqt libf2c pyqt4 makeWrapper ];
+
+  enableParallelBuilding = true;
+
+  # The freecad people are used to boost 1.42, and we have newer boost that
+  # require the -DBOOST_FILESYSTEM_VERSION=2 for freecad to build
+  # For zlib to build in i686-linux, as g++ plus glibc defines _LARGEFILE64_SOURCE,
+  # we need the -D-FILE_OFFSET_BITS=64 indication for zlib headers to work.
+  NIX_CFLAGS_COMPILE = "-DBOOST_FILESYSTEM_VERSION=2 -D_FILE_OFFSET_BITS=64";
+
+  # This should work on both x86_64, and i686 linux
+  preBuild = ''
+    export NIX_LDFLAGS="-L${gfortran.gcc}/lib64 -L${gfortran.gcc}/lib $NIX_LDFLAGS";
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/FreeCAD --prefix PYTHONPATH : $PYTHONPATH \
+      --set COIN_GL_NO_CURRENT_CONTEXT_CHECK 1
+  '';
+
+  patches = [ ./cmakeinstall.patch ./pythonpath.patch ];
+
+  meta = {
+    homepage = http://free-cad.sourceforge.net/;
+    license = [ "GPLv2+" "LGPLv2+" ];
+    description = "General purpose Open Source 3D CAD/MCAD/CAx/CAE/PLM modeler";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/applications/graphics/freecad/pythonpath.patch b/pkgs/applications/graphics/freecad/pythonpath.patch
new file mode 100644
index 000000000000..849c778aedba
--- /dev/null
+++ b/pkgs/applications/graphics/freecad/pythonpath.patch
@@ -0,0 +1,19 @@
+http://sourceforge.net/apps/phpbb/free-cad/viewtopic.php?f=4&t=847&p=6364
+
+Index: src/Main/MainGui.cpp
+===================================================================
+--- a/src/Main/MainGui.cpp	(revision 4193)
++++ a/src/Main/MainGui.cpp	(working copy)
+@@ -149,10 +149,10 @@
+     // http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559846
+     putenv("LANG=C");
+     putenv("LC_ALL=C");
+-    putenv("PYTHONPATH=");
++    //putenv("PYTHONPATH=");
+ #else
+     setlocale(LC_NUMERIC, "C");
+-    _putenv("PYTHONPATH=");
++    //_putenv("PYTHONPATH=");
+ #endif
+ 
+     // Name and Version of the Application
diff --git a/pkgs/applications/graphics/geeqie/default.nix b/pkgs/applications/graphics/geeqie/default.nix
index 076c0360a083..3e15eb8f8670 100644
--- a/pkgs/applications/graphics/geeqie/default.nix
+++ b/pkgs/applications/graphics/geeqie/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, gtk, libpng, exiv2, lcms
-, intltool, gettext, libchamplain }:
+, intltool, gettext, libchamplain, fbida }:
 
 stdenv.mkDerivation rec {
   name = "geeqie-1.0";
@@ -23,6 +23,14 @@ stdenv.mkDerivation rec {
       libchamplain
     ];
 
+  postInstall =
+    ''
+      # Allow geeqie to find exiv2 and exiftran, necessary to
+      # losslessly rotate JPEG images.
+      sed -i $out/lib/geeqie/geeqie-rotate \
+          -e '1 a export PATH=${exiv2}/bin:${fbida}/bin:$PATH'
+    '';
+
   meta = {
     description = "Geeqie, a lightweight GTK+ based image viewer";
 
diff --git a/pkgs/applications/graphics/ocrad/default.nix b/pkgs/applications/graphics/ocrad/default.nix
new file mode 100644
index 000000000000..88ca6a6c5417
--- /dev/null
+++ b/pkgs/applications/graphics/ocrad/default.nix
@@ -0,0 +1,34 @@
+{ fetchurl, stdenv }:
+
+stdenv.mkDerivation rec {
+  name = "ocrad-0.21";
+
+  src = fetchurl {
+    url = "mirror://gnu/ocrad/${name}.tar.gz";
+    sha256 = "1k58ha70r0cqahssx67hfgyzia9ymf691yay06n7nrkbklii3isf";
+  };
+
+  doCheck = true;
+
+  meta = {
+    description = "GNU Ocrad, optical character recognition (OCR) program & library";
+
+    longDescription =
+      '' GNU Ocrad is an OCR (Optical Character Recognition) program based on
+         a feature extraction method.  It reads images in pbm (bitmap), pgm
+         (greyscale) or ppm (color) formats and produces text in byte (8-bit)
+         or UTF-8 formats.
+
+         Also includes a layout analyser able to separate the columns or
+         blocks of text normally found on printed pages.
+
+         Ocrad can be used as a stand-alone console application, or as a
+         backend to other programs.
+      '';
+
+    license = "GPLv3+";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+  };
+}
diff --git a/pkgs/applications/graphics/xscreensaver/default.nix b/pkgs/applications/graphics/xscreensaver/default.nix
index 82d5bcc0b3af..ec8a4eaae917 100644
--- a/pkgs/applications/graphics/xscreensaver/default.nix
+++ b/pkgs/applications/graphics/xscreensaver/default.nix
@@ -1,7 +1,8 @@
 { stdenv, fetchurl, pkgconfig, bc, perl, pam
 , libXext, libXScrnSaver, libX11, libXrandr, libXmu, libXxf86vm, libXrender
 , libXxf86misc
-, libjpeg, mesa, gtk , libxml2, libglade}:
+, libjpeg, mesa, gtk, libxml2, libglade
+}:
 
 stdenv.mkDerivation rec {
   version = "5.12";
@@ -14,17 +15,15 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ pkgconfig bc perl libjpeg mesa gtk libxml2 libglade pam
-    libXext libXScrnSaver libX11 libXrandr libXmu libXxf86vm libXrender
-    libXxf86misc ];
+      libXext libXScrnSaver libX11 libXrandr libXmu libXxf86vm libXrender
+      libXxf86misc
+    ];
 
   configureFlags =
-    [
-      "--with-gl" "--with-pam" "--with-pixbuf" "--with-proc-interrupts"
-
+    [ "--with-gl" "--with-pam" "--with-pixbuf" "--with-proc-interrupts"
       "--with-dpms-ext" "--with-randr-ext" "--with-xinerama-ext"
       "--with-xf86vmode-ext" "--with-xf86gamma-ext" "--with-randr-ext"
       "--with-xshm-ext" "--with-xdbe-ext" "--without-readdisplay"
-
       "--with-x-app-defaults=\${out}/share/xscreensaver/app-defaults"
     ];
 
diff --git a/pkgs/applications/misc/googleearth/default.nix b/pkgs/applications/misc/googleearth/default.nix
index 7e2a12adb018..69f477848b90 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, qt4,
-zlib }:
+{ stdenv, fetchurl, glibc, mesa, freetype, glib, libSM, libICE, libXi, libXv
+, libXrender, libXrandr, libXfixes, libXcursor, libXinerama, libXext, libX11, qt4
+, zlib, fontconfig }:
 
 /* I haven't found any x86_64 package from them */
 assert stdenv.system == "i686-linux";
 
 stdenv.mkDerivation {
-  name = "googleearth-5.2.0001";
+  name = "googleearth-6.0.1.2032";
 
   src = fetchurl {
     url = http://dl.google.com/earth/client/current/GoogleEarthLinux.bin;
-    sha256 = "2e6fcbd2384446e2a6eed8ca23173e32c5f3f9ae4d1168e2e348c3924fd2bf30";
+    sha256 = "15bcr379bsdg0flvrgaiyjccx07b4a48z9v3pl006ywm6gp3jbfm";
   };
 
   buildNativeInputs = [
@@ -32,6 +32,7 @@ stdenv.mkDerivation {
     libX11 
     qt4
     zlib
+    fontconfig
   ];
 
   phases = "unpackPhase installPhase";
diff --git a/pkgs/applications/misc/k3b/default.nix b/pkgs/applications/misc/k3b/default.nix
index 756adb03f75d..d0e5d4016588 100644
--- a/pkgs/applications/misc/k3b/default.nix
+++ b/pkgs/applications/misc/k3b/default.nix
@@ -5,10 +5,10 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "k3b-2.0.1";
+  name = "k3b-2.0.2";
   src = fetchurl {
     url = "mirror://sourceforge/k3b/${name}.tar.bz2";
-    sha256 = "1dyd3i2hqd5xs9rz4f8k74zca91j9sp72lhl0zws2cvqc474ccc6";
+    sha256 = "1kdpylz3w9bg02jg4mjhqz8bq1yb4xi4fqfl9139qcyjq4lny5xg";
   };
 
   buildInputs = [ cmake qt4 perl shared_mime_info libvorbis taglib
diff --git a/pkgs/applications/misc/kde-wacomtablet/default.nix b/pkgs/applications/misc/kde-wacomtablet/default.nix
new file mode 100644
index 000000000000..6da0b8410a0c
--- /dev/null
+++ b/pkgs/applications/misc/kde-wacomtablet/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, automoc4, cmake, kdelibs }:
+
+stdenv.mkDerivation rec {
+  name = "wacomtablet-1.2.5";
+
+  src = fetchurl {
+    url = "http://kde-apps.org/CONTENT/content-files/114856-${name}.tar.gz";
+    sha256 = "11hfab6sqmhvd0m1grc9m9yfi0p7rk0bycj9wqgkgbc8cwgps6sf";
+  };
+
+  buildInputs = [ automoc4 cmake kdelibs ];
+
+  meta = with stdenv.lib; {
+    description = "KDE Wacom graphic tablet configuration tool";
+    license = "GPLv2";
+    homepage = http://kde-apps.org/content/show.php/wacom+tablet?content=114856;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.goibhniu maintainers.urkud ];
+  };
+}
diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix
index 2b646714706e..6ebce322cc60 100644
--- a/pkgs/applications/misc/lyx/default.nix
+++ b/pkgs/applications/misc/lyx/default.nix
@@ -4,12 +4,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.6.5";
+  version = "1.6.9";
   name = "lyx-${version}";
 
   src = fetchurl {
     url = "ftp://ftp.lyx.org/pub/lyx/stable/1.6.x/${name}.tar.bz2";
-    sha256 = "0xxj37l4ghaa2ij5nfxlg90rfw0znipigjlh271mfmwjw9ykcw1n";
+    sha256 = "c5b3602c58db385be5c52ba958f52239c5fd090320ec99d79b7eb861c1597709";
   };
 
   buildInputs = [texLive qt python makeWrapper ];
diff --git a/pkgs/applications/misc/makeself/default.nix b/pkgs/applications/misc/makeself/default.nix
new file mode 100644
index 000000000000..08edc32e87e1
--- /dev/null
+++ b/pkgs/applications/misc/makeself/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "makeself-2.1.5";
+  src = fetchurl {
+    url = "http://megastep.org/makeself/makeself.run";
+    sha256 = "0khs19xpid4ng0igrjyz3vsi6a5xyixrrrhgdxpdhd2wnf5nc9w2";
+  };
+  unpackPhase = "sh ${src}";
+  installPhase = ''
+    cd ${name}
+    ensureDir $out/{bin,share/{${name},man/man1}}
+    mv makeself.lsm README $out/share/${name}
+    mv makeself.sh $out/bin/makeself
+    mv makeself.1  $out/share/man/man1/
+    mv makeself-header.sh $out/share/${name}
+    sed -e 's|HEADER=`dirname $0`/makeself-header.sh|HEADER=`dirname $0`/../share/${name}/makeself-header.sh|' -i $out/bin/makeself
+  '';
+  meta = {
+    homepage = http://megastep.org/makeself;
+    description = "Utility to create self-extracting packages";
+  };
+}
diff --git a/pkgs/applications/misc/mysql-workbench/default.nix b/pkgs/applications/misc/mysql-workbench/default.nix
index e373392155a7..f69fa1660e88 100644
--- a/pkgs/applications/misc/mysql-workbench/default.nix
+++ b/pkgs/applications/misc/mysql-workbench/default.nix
@@ -6,12 +6,12 @@
 
 stdenv.mkDerivation rec {
   pname = "mysql-workbench";
-  version = "5.2.30";
+  version = "5.2.31a";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://mirror.services.wisc.edu/mysql/Downloads/MySQLGUITools/mysql-workbench-gpl-${version}-src.tar.gz";
-    sha256 = "0dlhnq7pv2ccgm0d7a3hzf9jxa09jzw36h0ljs9vw9q5nyd5kq71";
+    sha256 = "0mvjpin2qmnr8ksiknpcmlqjh5r3mafjcjdrnzbccyxc6r55xiy3";
   };
 
   buildInputs = [ autoconf automake boost file gettext glib glibc gnome_keyring gtk gtkmm intltool
@@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
       --prefix LD_LIBRARY_PATH : "${python}/lib" \
       --prefix LD_LIBRARY_PATH : "$(cat ${stdenv.gcc}/nix-support/orig-gcc)/lib64" \
       --prefix PATH : "${gnome_keyring}/bin" \
+      --prefix PATH : "${python}/bin" \
       --set PYTHONPATH $PYTHONPATH \
       --run '
 # The gnome-keyring-daemon must be running.  To allow for environments like
diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix
new file mode 100644
index 000000000000..6d6234b8d3ef
--- /dev/null
+++ b/pkgs/applications/misc/redshift/default.nix
@@ -0,0 +1,28 @@
+{ fetchurl, stdenv,
+  libX11, libXrandr, libXxf86vm, libxcb, pkgconfig, python,
+  randrproto, xcbutil, xf86vidmodeproto }:
+
+stdenv.mkDerivation rec {
+  name = "redshift";
+  version = "1.6";
+  src = fetchurl {
+    url = "http://launchpad.net/${name}/trunk/${version}/+download/${name}-${version}.tar.bz2";
+    sha256 = "0g46zhqnx3y2fssmyjgaardzhjw1j29l1dbc2kmccw9wxqfla1wi";
+  };
+
+  buildInputs = [ libX11 libXrandr libXxf86vm libxcb pkgconfig python
+                  randrproto xcbutil xf86vidmodeproto ];
+
+  meta = {
+    description = "changes the color temperature of your screen gradually";
+    longDescription = ''
+      The color temperature is set according to the position of the
+      sun. A different color temperature is set during night and
+      daytime. During twilight and early morning, the color
+      temperature transitions smoothly from night to daytime
+      temperature to allow your eyes to slowly adapt.
+      '';
+    license = "GPLv3+";
+    homepage = "http://jonls.dk/redshift";
+  }; 
+}
\ No newline at end of file
diff --git a/pkgs/applications/misc/xneur/src-for-default.nix b/pkgs/applications/misc/xneur/src-for-default.nix
index 04a22cea79ab..b32ddd30655a 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.11.1";
-   name="xneur-0.11.1";
-   hash="12r2wv1glnx3ilqkrypff9r3mxzk1m3yma3khmam1b0z32lfbxxx";
+   version="0.12.0";
+   name="xneur-0.12.0";
+   hash="09rkr65ajq049x733qj918035kjrmkzqyifbpx7y938kdwq609ln";
    url="http://dists.xneur.ru/release-${version}/tgz/xneur-${version}.tar.bz2";
-   advertisedUrl="http://dists.xneur.ru/release-0.11.1/tgz/xneur-0.11.1.tar.bz2";
+   advertisedUrl="http://dists.xneur.ru/release-0.12.0/tgz/xneur-0.12.0.tar.bz2";
   
   
 }
diff --git a/pkgs/applications/misc/xpdf/default.nix b/pkgs/applications/misc/xpdf/default.nix
index 4a9425070dee..8b375fb26595 100644
--- a/pkgs/applications/misc/xpdf/default.nix
+++ b/pkgs/applications/misc/xpdf/default.nix
@@ -8,7 +8,7 @@ assert enablePDFtoPPM -> freetype != null;
 assert useT1Lib -> t1lib != null;
 
 stdenv.mkDerivation {
-  name = "xpdf-3.02pl4";
+  name = "xpdf-3.02pl5";
 
   src = fetchurl {
     url = ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02.tar.gz;
@@ -36,6 +36,10 @@ stdenv.mkDerivation {
       url = ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl4.patch;
       sha256 = "1c48h7aizx0ngmzlzw0mpja1w8vqyy3pg62hyxp7c60k86al715h";
     })
+    (fetchurl {
+      url = ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl5.patch;
+      sha256 = "1fki66pw56yr6aw38f6amrx7wxwcxbx4704pjqq7pqqr784b7z4j";
+    })
     ./xpdf-3.02-protection.patch
   ];
 
diff --git a/pkgs/applications/misc/xterm/default.nix b/pkgs/applications/misc/xterm/default.nix
index 55d6a9c16b02..e0df36efcb89 100644
--- a/pkgs/applications/misc/xterm/default.nix
+++ b/pkgs/applications/misc/xterm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, xorg, ncurses, freetype, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "xterm-231";
+  name = "xterm-268";
   
   src = fetchurl {
     url = "ftp://invisible-island.net/xterm/${name}.tgz";
-    sha256 = "0qlz5nkdqkahdg9kbd1ni96n69srj1pd9yggwrw3z0kghaajb2sr";
+    sha256 = "1hr886mgr74k146fjppnq1pmg6f95l00v88cfwac3rms5lx7ckap";
   };
   
   buildInputs =
@@ -20,6 +20,9 @@ stdenv.mkDerivation rec {
       --enable-mini-luit --with-tty-group=tty
     '';
 
+  # Work around broken "plink.sh".
+  NIX_LDFLAGS = "-lXmu -lXt -lICE -lX11";
+
   # Hack to get xterm built with the feature of releasing a possible setgid of 'utmp',
   # decided by the sysadmin to allow the xterm reporting to /var/run/utmp
   # If we used the configure option, that would have affected the xterm installation,
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index e7d4074c3d0c..b8ec890315d2 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -8,17 +8,17 @@ assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" ;
 
 stdenv.mkDerivation rec {
   name = "chrome-${version}";
-  version = "70357";
+  version = "75853";
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
-        url = http://build.chromium.org/f/chromium/continuous/linux64/2011-01-02/70375/chrome-linux.zip;
-        sha256 = "0zz9pl1ksiwk5kcsa5isviacg8awzs2gmirg8n36qni07dj5wiq8";
+        url = "http://build.chromium.org/f/chromium/continuous/linux64/2011-02-23/${version}/chrome-linux.zip";
+        sha256 = "1bh507j1pm3qrkj8afzhmqicza5nms6f4dc9848xjgcvj9x2qii7";
       }
     else if stdenv.system == "i686-linux" then
       fetchurl {
-        url = http://build.chromium.org/f/chromium/continuous/linux/2011-01-02/70375/chrome-linux.zip;
-        sha256 = "1i7sb6wgf19zr97r2s5n0p4543i736n8c2hnhk483hjzikg2j55i";
+        url = "http://build.chromium.org/f/chromium/continuous/linux/2011-02-23/${version}/chrome-linux.zip";
+        sha256 = "0rq888yvw5zsh0c3jnp115y4sl1q5kn4pz8flnwhrh35ca15lchn";
       }
     else throw "Chromium is not supported on this platform.";
 
@@ -51,7 +51,10 @@ stdenv.mkDerivation rec {
     ln -s ${nspr}/lib/libplc4.so $out/lib/libplc4.so.0d
   '';
 
-  meta = {
+  meta =  with stdenv.lib; {
     description = "Chromium, an open source web browser";
+    homepage = http://www.chromium.org/;
+    maintainers = [ maintainers.goibhniu ];
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/applications/networking/browsers/firefox/3.6.nix b/pkgs/applications/networking/browsers/firefox/3.6.nix
index f119f301dbb7..996703a66867 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.13";
+  firefoxVersion = "3.6.15";
   
-  xulVersion = "1.9.2.13"; # this attribute is used by other packages
+  xulVersion = "1.9.2.15"; # 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 = "1d1bc70d651bce4006687f5762638563c0494267";
+    sha1 = "bfb69ae49b2def7482543d4d982fa58993a458e9";
   };
 
 
@@ -97,6 +97,8 @@ rec {
       rm -f $out/bin/run-mozilla.sh
     ''; # */
 
+    enableParallelBuilding = true;
+
     meta = {
       description = "Mozilla Firefox XUL runner";
       homepage = http://www.mozilla.com/en-US/firefox/;
diff --git a/pkgs/applications/networking/browsers/icecat-3/default.nix b/pkgs/applications/networking/browsers/icecat-3/default.nix
index 6be0ce4b4f30..a63584fda289 100644
--- a/pkgs/applications/networking/browsers/icecat-3/default.nix
+++ b/pkgs/applications/networking/browsers/icecat-3/default.nix
@@ -9,13 +9,13 @@
 # http://thread.gmane.org/gmane.comp.gnu.gnuzilla/1376 .
 #assert stdenv.isLinux -> (wirelesstools != null);
 
-let version = "3.6.9"; in
+let version = "3.6.15"; in
 stdenv.mkDerivation {
   name = "icecat-${version}";
 
   src = fetchurl {
     url = "mirror://gnu/gnuzilla/${version}/icecat-${version}.tar.xz";
-    sha256 = "041rdhhcaak0w0lg0wd1fdl9vlk9a466sh6y17dfz389nswyy8wr";
+    sha256 = "1px018bd81c81a4hbz0qgf89pkshkbhg4abwq1d26dwy8128cxwg";
   };
 
   buildInputs =
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-10/builder.sh b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-10/builder.sh
index 2574ecb73eec..4190e316421f 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-10/builder.sh
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-10/builder.sh
@@ -15,7 +15,7 @@ unpackPhase() {
 
 installPhase() {
     ensureDir $out/lib/mozilla/plugins
-    cp -p libflashplayer.so $out/lib/mozilla/plugins
+    cp -pv libflashplayer.so $out/lib/mozilla/plugins
     patchelf --set-rpath "$rpath" $out/lib/mozilla/plugins/libflashplayer.so
 }
 
diff --git a/pkgs/applications/networking/esniper/default.nix b/pkgs/applications/networking/esniper/default.nix
new file mode 100644
index 000000000000..5590e8f11564
--- /dev/null
+++ b/pkgs/applications/networking/esniper/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, openssl, curl }:
+
+let
+    name    = "esniper";
+in
+stdenv.mkDerivation {
+  name = "${name}-2.24.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/${name}/${name}-2-24-0.tgz";
+    sha256 = "0h3nlw64x2dczfd4nmz890pk9372iwfzwyyb8zyhiaymb34z5c52";
+  };
+
+  buildInputs = [openssl curl];
+
+  postInstall = ''
+    sed -e  "2i export PATH=\"$out/bin:\$PATH\"" <"frontends/snipe" >"$out/bin/snipe"
+    chmod 555 "$out/bin/snipe"
+  '';
+
+  meta = {
+    description = "Simple, lightweight tool for sniping eBay auctions";
+    homepage = "http://esnipe.rsourceforge.net";
+    license = "GPLv2";
+
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.simons ];
+  };
+}
+
+
diff --git a/pkgs/applications/networking/instant-messengers/bitlbee-otr/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee-otr/default.nix
deleted file mode 100644
index 972c812b2566..000000000000
--- a/pkgs/applications/networking/instant-messengers/bitlbee-otr/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, fetchbzr, gnutls, glib, pkgconfig, libotr, libgcrypt
-, libxslt, xmlto, docbook_xsl, docbook_xml_dtd_42, perl }:
-
-let revision = "369"; in
-stdenv.mkDerivation rec {
-  name = "bitlbee-otr-r${revision}";
-  src = fetchbzr {
-    url = "http://khjk.org/~pesco/bitlbee-otr";
-    sha256 = "0fb7987ec4a321e07f22690ed6617db9f377fdf4e65a531d8da28a950817074f";
-    inherit revision;
-  };
-
-  patchPhase = ''
-    # Both OTR and GnuTLS depend on libgcrypt, but for some reason, `bitlbee'
-    # must be explicitly linked against it.
-    sed -i "configure" -e "s|-f \$""{i}/lib/libotr.a|0 -eq 0|g ;
-                           s|otrprefix=\$""{i}|otrprefix=\"${libotr}\"|g ;
-                           s|-lotr|-lotr -L${libgcrypt} -lgcrypt|g";
-  '';
-
-  buildInputs = [ gnutls glib pkgconfig libotr libgcrypt
-    libxslt xmlto docbook_xsl docbook_xml_dtd_42 perl
-  ];
-
-  meta = {
-    description = ''BitlBee, an IRC to other chat networks gateway.'';
-
-    longDescription = ''
-      This unofficial version adds support for communication encryption
-      and authentication via the OTR (off-the-record) library.
-    '';
-
-    # See also http://bugs.bitlbee.org/bitlbee/ticket/115 .
-    homepage = http://khjk.org/bitlbee-otr/;
-
-    license = "GPL";
-  };
-}
diff --git a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
index f207eaed7037..74b6b0b21eaf 100644
--- a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
@@ -1,16 +1,19 @@
-{ fetchurl, stdenv, gnutls, glib, pkgconfig, check }:
+{ fetchurl, stdenv, gnutls, glib, pkgconfig, check, libotr }:
 
 stdenv.mkDerivation rec {
-  name = "bitlbee-1.2.8";
+  name = "bitlbee-3.0.1";
 
   src = fetchurl {
     url = "mirror://bitlbee/src/${name}.tar.gz";
-    sha256 = "11lfxvra46mwcnlxvhnywv6xbp7zl3h27hsbfwdh16b6fy41n1is";
+    sha256 = "027n5f0phjr5fcrphbcflqv8hlkv5qnrpc1xgr09qjyv6mxp72j0";
   };
 
-  buildInputs = [ gnutls glib pkgconfig ]
+  buildInputs = [ gnutls glib pkgconfig libotr ]
     ++ stdenv.lib.optional doCheck check;
 
+  configureFlags = [ "--otr=1" ];
+
+  preCheck = "mkdir tests/.depend";
   doCheck = true;
 
   meta = {
diff --git a/pkgs/applications/networking/instant-messengers/kadu/default.nix b/pkgs/applications/networking/instant-messengers/kadu/default.nix
index c35d71fbca0a..598bc1c0b2fa 100644
--- a/pkgs/applications/networking/instant-messengers/kadu/default.nix
+++ b/pkgs/applications/networking/instant-messengers/kadu/default.nix
@@ -19,6 +19,12 @@ stdenv.mkDerivation {
   prePatch = ''
     patchShebangs .
   '';
+  
+  patches = [ 
+    ./includes.patch
+  ];
+
+  NIX_LDFLAGS="-lX11";
 
   meta = { 
     description = "An instance messanger client for the gadu-gadu network (most popular polish IM network)";
diff --git a/pkgs/applications/networking/instant-messengers/kadu/includes.patch b/pkgs/applications/networking/instant-messengers/kadu/includes.patch
new file mode 100644
index 000000000000..6960a24b1763
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/kadu/includes.patch
@@ -0,0 +1,13 @@
+--- kadu/kadu-core/main.cpp	2011-01-27 22:58:22.000000000 +0100
++++ kadu/kadu-core/main.cpp	2011-01-27 22:58:28.000000000 +0100
+@@ -20,10 +20,8 @@
+ #include <winsock2.h>
+ #include <windows.h>
+ #endif
+-#ifdef Q_OS_BSD4
+ #include <sys/types.h>
+ #include <sys/stat.h>
+-#endif
+ 
+ #include "config_file.h"
+ #include "debug.h"
diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
index fac93102ea58..7caf8a2f802c 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.8";
+  name = "pidgin-2.7.9";
   src = fetchurl {
-    url = mirror://sourceforge/pidgin/pidgin-2.7.8.tar.bz2;
-    sha256 = "1ci173g1xshfi4pl9wqv9g3fwxyqvdz5v61bgqpfij0hl1ss9k4c";
+    url = mirror://sourceforge/pidgin/pidgin-2.7.9.tar.bz2;
+    sha256 = "17p1lcdxh241nsaz8xxbr8l5r7a0v5qg500cj0llww56k7qxf8lp";
   };
 
   inherit nss ncurses;
diff --git a/pkgs/applications/networking/linphone/default.nix b/pkgs/applications/networking/linphone/default.nix
new file mode 100644
index 000000000000..7ed64de9ee6e
--- /dev/null
+++ b/pkgs/applications/networking/linphone/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, intltool, pkgconfig, gtk, libglade, libosip, libexosip, speex,
+  readline, ffmpeg, alsaLib, SDL, libv4l, libtheora }:
+        
+stdenv.mkDerivation {
+  name = "linphone-3.3.2";
+
+  src = fetchurl {
+    url = http://download.savannah.gnu.org/releases/linphone/3.3.x/sources/linphone-3.3.2.tar.gz;
+    sha256 = "0plxqs6v2jz6s7ig8wfzg2ivjvdjja5xhqvrcsv644zl3b4igax7";
+  };
+
+  buildInputs = [ intltool pkgconfig gtk libglade libosip libexosip speex readline
+    ffmpeg alsaLib SDL libv4l libtheora ];
+
+  meta = {
+    homepage = http://www.linphone.org/;
+    description = "Open Source video SIP softphone";
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
new file mode 100644
index 000000000000..ce35ad4c5782
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -0,0 +1,24 @@
+{ fetchgit, stdenv, emacs, glib, gmime, pkgconfig, talloc, xapian }:
+
+stdenv.mkDerivation rec {
+  name = "notmuch-0.5-20110203";
+
+  src = fetchgit {
+    url = "git://notmuchmail.org/git/notmuch";
+    rev = "62725a5b59625c164512465af5b3912396b61e8b";
+    sha256 = "39b339f47cee1938d76e046cccfd7c3e5e5d37a578e40007a5d43adfc4cd41ce";
+  };
+
+  buildInputs = [ emacs glib gmime pkgconfig talloc xapian ];
+
+  meta = {
+    description = "Notmuch -- The mail indexer";
+
+    longDescription = "";
+
+    license = "GPLv3";
+
+    maintainers = [ stdenv.lib.maintainers.chaoflow ];
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/3.x.nix b/pkgs/applications/networking/mailreaders/thunderbird/3.x.nix
index 0242f22f396b..12cbeb1328e5 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/3.x.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/3.x.nix
@@ -11,14 +11,14 @@
     
 }:
 
-let version = "3.1.6"; in
+let version = "3.1.7"; in
 
 stdenv.mkDerivation {
   name = "thunderbird-${version}";
 
   src = fetchurl {
     url = "http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.bz2";
-    sha1 = "d9c089c64cc7a784e128d9c594ef649a35babe30";
+    sha1 = "c2d6cdedfe399c1ab41c00045e4fce835cc0b36f";
   };
 
   buildInputs =
diff --git a/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix
new file mode 100644
index 000000000000..4befca2f606d
--- /dev/null
+++ b/pkgs/applications/networking/mumble/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, qt4, libvorbis, boost, speechd, protobuf, libsndfile,
+ avahi, dbus, libcap }:
+        
+stdenv.mkDerivation rec {
+  name = "mumble-" + version;
+  version = "1.2.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/mumble/${name}.tar.gz";
+    sha256 = "1s4vlkdfmyzx7h3i4060q0sf2xywl9sm6dpjhaa150blbcylwmic";
+  };
+
+  patchPhase = ''
+    sed -e s/qt_ja_JP.qm// -i src/mumble/mumble.pro src/mumble11x/mumble11x.pro
+    sed -e /qt_ja_JP.qm/d -i src/mumble/mumble_qt.qrc src/mumble11x/mumble_qt.qrc
+  '';
+
+  configurePhase = ''
+    qmake PREFIX=$out CONFIG+=no-g15 CONFIG+=no-update \
+      CONFIG+=no-embed-qt-translations CONFIG+=no-ice
+  '';
+
+  buildInputs = [ qt4 libvorbis boost speechd protobuf libsndfile avahi dbus
+    libcap ];
+
+  meta = { 
+    homepage = http://mumble.sourceforge.net/;
+    description = "Low-latency, high quality voice chat software";
+    license = "BSD";
+  };
+}
diff --git a/pkgs/applications/networking/newsreaders/pan/default.nix b/pkgs/applications/networking/newsreaders/pan/default.nix
index 299accef4e5d..6d03d639e26e 100644
--- a/pkgs/applications/networking/newsreaders/pan/default.nix
+++ b/pkgs/applications/networking/newsreaders/pan/default.nix
@@ -1,29 +1,25 @@
 { spellChecking ? true
 , stdenv, fetchurl, pkgconfig, gtk, gtkspell ? null
-, perl, pcre, gmime, gettext
+, perl, pcre, gmime, gettext, intltool
 }:
 
 assert spellChecking -> gtkspell != null;
 
+let version = "0.134"; in
+
 stdenv.mkDerivation {
-  name = "pan-0.133";
+  name = "pan-${version}";
 
   src = fetchurl {
-    url = http://pan.rebelbase.com/download/releases/0.133/source/pan-0.133.tar.bz2;
-    sha1 = "a0bd98ea1ba174800896611e3305a6b6d8dbde2f";
+    url = "http://pan.rebelbase.com/download/releases/${version}/source/pan-${version}.tar.bz2";
+    sha1 = "7ef9385e59edf7d511ad3de6c39482297c820685";
   };
 
-  patches =
-    [ # Build on GCC 4.4.
-      (fetchurl {
-        url = "http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/net-nntp/pan/files/pan-0.133-gcc44.patch?rev=1.1";
-        sha256 = "05xmgvcpl1gjcfab8xsdy400p55j59hp52fwa4qbwlqy3c35qv1v";
-      })
-    ];
-
-  buildInputs = [pkgconfig gtk perl pcre gmime gettext]
+  buildInputs = [ pkgconfig gtk perl gmime gettext intltool ]
     ++ stdenv.lib.optional spellChecking gtkspell;
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "A GTK+-based Usenet newsreader good at both text and binaries";
     homepage = http://pan.rebelbase.com/;
diff --git a/pkgs/applications/networking/offrss/default.nix b/pkgs/applications/networking/offrss/default.nix
new file mode 100644
index 000000000000..ce08ee0d32f8
--- /dev/null
+++ b/pkgs/applications/networking/offrss/default.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchurl, curl, libmrss}:
+
+stdenv.mkDerivation {
+  name = "offrss-0.9";
+
+  installPhase = ''
+    ensureDir $out/bin
+    cp offrss $out/bin
+  '';
+
+  crossAttrs = {
+    makeFlags = "CC=${stdenv.cross.config}-gcc";
+  };
+
+  buildInputs = [ curl libmrss ];
+
+  src = fetchurl {
+    url = http://vicerveza.homeunix.net/~viric/soft/offrss/offrss-0.9.tar.gz;
+    sha256 = "1mpnsfakcpqzf76dicm21nc7sj7qacazb3rbcmlhz1zhbrw5kszj";
+  };
+
+  meta = {
+    homepage = "http://vicerveza.homeunix.net/~viric/cgi-bin/offrss";
+    description = "Offline RSS/Atom reader";
+    license="AGPLv3+";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; all;
+  };
+}
diff --git a/pkgs/applications/networking/pjsip/default.nix b/pkgs/applications/networking/pjsip/default.nix
new file mode 100644
index 000000000000..14bc1ead49b2
--- /dev/null
+++ b/pkgs/applications/networking/pjsip/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchurl, openssl, libsamplerate}:
+
+stdenv.mkDerivation rec {
+  name = "pjsip-1.8.10";
+
+  src = fetchurl {
+    url = http://www.pjsip.org/release/1.8.10/pjproject-1.8.10.tar.bz2;
+    sha256 = "1v2mgbgzn7d3msb406jmg69ms97a0rqg58asykx71dmjipbaiqc0";
+  };
+
+  buildInputs = [ openssl libsamplerate ];
+
+  postInstall = ''
+    ensureDir $out/bin
+    cp pjsip-apps/bin/pjsua-* $out/bin/pjsua
+    ensureDir $out/share/${name}/samples
+    cp pjsip-apps/bin/samples/*/* $out/share/${name}/samples
+  '';
+
+  # We need the libgcc_s.so.1 loadable (for pthread_cancel to work)
+  dontPatchELF = true;
+
+  meta = {
+    description = "SIP stack and media stack for presence, im, and multimedia communication";
+    homepage = http://pjsip.org/;
+    license = "GPLv2+";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/applications/networking/siproxd/default.nix b/pkgs/applications/networking/siproxd/default.nix
new file mode 100644
index 000000000000..3395ba6947aa
--- /dev/null
+++ b/pkgs/applications/networking/siproxd/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, libosip }:
+
+stdenv.mkDerivation {
+  name = "siproxd-0.8.0";
+  
+  src = fetchurl {
+    url = mirror://sourceforge/siproxd/siproxd-0.8.0.tar.gz;
+    sha256 = "0hl51z33cf68ki707jkrrjjc3a5vpaf49gbrsz3g4rfxypdhc0qs";
+  };
+
+  buildInputs = [ libosip ];
+
+  meta = {
+    homepage = http://siproxd.sourceforge.net/;
+    description = "A masquerading SIP Proxy Server";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/applications/networking/sync/akunambol/default.nix b/pkgs/applications/networking/sync/akunambol/default.nix
new file mode 100644
index 000000000000..c27d8787bee6
--- /dev/null
+++ b/pkgs/applications/networking/sync/akunambol/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchgit, cmake, kdelibs, kdepimlibs, automoc4, funambol,liblikeback }:
+
+stdenv.mkDerivation rec {
+  name = "akunambol-20110304";
+
+  src = fetchgit {
+    url = git://anongit.kde.org/akunambol.git;
+    rev = "1d832bbbce84f474e3f1e5d2f9fa8a4079b0c8e5";
+    sha256 = "1d2x42lbw32qyawri7z0mrbafz36r035w5bxjpq51awyqjwkbb2d";
+  };
+
+  buildInputs = [ cmake automoc4 kdelibs kdepimlibs funambol liblikeback ];
+  KDEDIRS = liblikeback;
+
+  patches = [ ./non-latin.diff ];
+}
diff --git a/pkgs/applications/networking/sync/akunambol/non-latin.diff b/pkgs/applications/networking/sync/akunambol/non-latin.diff
new file mode 100644
index 000000000000..905a6a894bdf
--- /dev/null
+++ b/pkgs/applications/networking/sync/akunambol/non-latin.diff
@@ -0,0 +1,17 @@
+diff --git a/qtgui/standardsourcesettings.cpp b/qtgui/standardsourcesettings.cpp
+index a14a737..5d4712e 100644
+--- a/qtgui/standardsourcesettings.cpp
++++ b/qtgui/standardsourcesettings.cpp
+@@ -83,9 +83,9 @@ void StandardSourceSettings::populateCollections()
+     foreach( const Collection &collection, colls ) {
+         if (collection.contentMimeTypes().contains(source->getAkonadiMimeType())) {
+             i++;
+-            const char* dn = collection.name().toUtf8();
+-            LOG.debug("Adding collection id %lld named %s", collection.id(), dn);
+-            collections->addItem(dn);
++            LOG.debug("Adding collection id %lld named %s", collection.id(),
++                      collection.name().toLocal8Bit().data());
++            collections->addItem(collection.name());
+             idList.append(collection.id());
+         }
+     }
diff --git a/pkgs/applications/networking/sync/unison/default.nix b/pkgs/applications/networking/sync/unison/default.nix
index 6b00500b6623..aa694a3908d2 100644
--- a/pkgs/applications/networking/sync/unison/default.nix
+++ b/pkgs/applications/networking/sync/unison/default.nix
@@ -1,5 +1,9 @@
-{stdenv, fetchurl, ocaml, lablgtk, fontschumachermisc, xset, makeWrapper}:
+{stdenv, fetchurl, ocaml, lablgtk, fontschumachermisc, xset, makeWrapper, ncurses
+, enableX11 ? true}:
 
+let
+  nativeCode = if stdenv.system == "armv5tel-linux" then false else true;
+in
 stdenv.mkDerivation (rec {
 
   name = "unison-2.32.52";
@@ -8,19 +12,25 @@ stdenv.mkDerivation (rec {
     sha256 = "11844yh1gpjjapn8pvc14hla7g70spwqy6h61qk2is83mpafahhm";
   };
 
-  buildInputs = [ocaml makeWrapper];
+  buildInputs = [ ocaml makeWrapper ncurses ];
 
-  preBuild = ''
+  preBuild = if enableX11 then ''
     sed -i "s|\(OCAMLOPT=.*\)$|\1 -I $(echo "${lablgtk}"/lib/ocaml/*/site-lib/lablgtk2)|" Makefile.OCaml
-  '';
-  makeFlags = "UISTYLE=gtk2 INSTALLDIR=$(out)/bin/";
+  '' else "";
+
+  makeFlags = "INSTALLDIR=$(out)/bin/" + (if enableX11 then " UISTYLE=gtk2" else "")
+    + (if ! nativeCode then " NATIVE=false" else "");
+
   preInstall = "ensureDir $out/bin";
-  postInstall = ''
+
+  postInstall = if enableX11 then ''
     for i in $(cd $out/bin && ls); do
       wrapProgram $out/bin/$i \
         --run "[ -n \"\$DISPLAY\" ] && (${xset}/bin/xset q | grep -q \"${fontschumachermisc}\" || ${xset}/bin/xset +fp \"${fontschumachermisc}/lib/X11/fonts/misc\")"
     done
-  '';
+  '' else "";
+
+  dontStrip = if ! nativeCode then true else false;
 
   meta = {
     homepage = http://www.cis.upenn.edu/~bcpierce/unison/;
diff --git a/pkgs/applications/office/koffice/default.nix b/pkgs/applications/office/koffice/default.nix
index 4679c231e162..784b60070352 100644
--- a/pkgs/applications/office/koffice/default.nix
+++ b/pkgs/applications/office/koffice/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
         sha256 = "11h4rxdrv5vakym5786vr4bysi4627m53qqvk1vhxf3rkawvcafj";
       })
       ./wpd.patch
+      ./krita-exiv-0.21.diff
     ];
 
   buildInputs = [ cmake qt4 perl lcms exiv2 libxml2 libxslt boost glew
diff --git a/pkgs/applications/office/koffice/krita-exiv-0.21.diff b/pkgs/applications/office/koffice/krita-exiv-0.21.diff
new file mode 100644
index 000000000000..b8da1bd586c7
--- /dev/null
+++ b/pkgs/applications/office/koffice/krita-exiv-0.21.diff
@@ -0,0 +1,81 @@
+commit 7f6b2f2b9b2be1e4f257582a04b194c69f705bc7
+Author: Casper Boemann <cbr@boemann.dk>
+Date:   Sat Dec 4 10:44:02 2010 +0000
+
+    ------------------------------------------------------------------------
+    r1203267 | rempt | 2010-12-03 14:20:03 +0100 (Fri, 03 Dec 2010) | 1 line
+    Changed paths:
+       M /trunk/koffice/krita/ui/kis_aboutdata.h
+    
+    correct url for animtim
+    
+    ------------------------------------------------------------------------
+    r1203281 | uzak | 2010-12-03 14:43:32 +0100 (Fri, 03 Dec 2010) | 2 lines
+    Changed paths:
+       M /trunk/koffice/filters/kpresenter/powerpoint/pptstyle.cpp
+    
+    PPT: Fine tuned processing of the TextCFException structure for MS Office 2007.
+    
+    
+    ------------------------------------------------------------------------
+    r1203296 | danders | 2010-12-03 15:44:01 +0100 (Fri, 03 Dec 2010) | 3 lines
+    Changed paths:
+       M /trunk/koffice/kplato/libs/kernel/kptaccount.cpp
+    
+    Fix data loss on xml load.
+    BUG: 258685
+    
+    
+    ------------------------------------------------------------------------
+    r1203344 | bero | 2010-12-03 18:08:24 +0100 (Fri, 03 Dec 2010) | 2 lines
+    Changed paths:
+       M /trunk/koffice/krita/ui/kisexiv2/kis_exif_io.cpp
+    
+    Fix build with exiv2 0.21
+    
+    
+    
+    svn path=/branches/work/koffice-essen/; revision=1203491
+
+diff krita/ui/kisexiv2/kis_exif_io.cpp krita/ui/kisexiv2/kis_exif_io.cpp
+index 6eb7f30..c85da65 100644
+--- krita/ui/kisexiv2/kis_exif_io.cpp
++++ krita/ui/kisexiv2/kis_exif_io.cpp
+@@ -406,7 +406,11 @@ bool KisExifIO::saveTo(KisMetaData::Store* store, QIODevice* ioDevice, HeaderTyp
+                 v = kmdIntOrderedArrayToExifArray(entry.value());
+             } else if (exivKey == "Exif.Image.Artist") { // load as dc:creator
+                 KisMetaData::Value creator = entry.value().asArray()[0];
++#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 20
+                 v = kmdValueToExivValue(creator, Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId()));
++#else
++                v = kmdValueToExivValue(creator, exifKey.defaultTypeId());
++#endif
+             } else if (exivKey == "Exif.Photo.OECF") {
+                 v = kmdOECFStructureToExifOECF(entry.value());
+             } else if (exivKey == "Exif.Photo.DeviceSettingDescription") {
+@@ -419,13 +423,25 @@ bool KisExifIO::saveTo(KisMetaData::Store* store, QIODevice* ioDevice, HeaderTyp
+                 Q_ASSERT(entry.value().type() == KisMetaData::Value::LangArray);
+                 QMap<QString, KisMetaData::Value> langArr = entry.value().asLangArray();
+                 if (langArr.contains("x-default")) {
++#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 20
+                     v = kmdValueToExivValue(langArr.value("x-default"), Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId()));
++#else
++                    v = kmdValueToExivValue(langArr.value("x-default"), exifKey.defaultTypeId());
++#endif
+                 } else if (langArr.size() > 0) {
++#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 20
+                     v = kmdValueToExivValue(langArr.begin().value(), Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId()));
++#else
++                    v = kmdValueToExivValue(langArr.begin().value(), exifKey.defaultTypeId());
++#endif
+                 }
+             } else {
+                 dbgFile << exifKey.tag();
++#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 20
+                 v = kmdValueToExivValue(entry.value(), Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId()));
++#else
++                v = kmdValueToExivValue(entry.value(), exifKey.defaultTypeId());
++#endif
+             }
+             if (v && v->typeId() != Exiv2::invalidTypeId) {
+                 dbgFile << "Saving key" << exivKey; // << " of KMD value" << entry.value();
diff --git a/pkgs/applications/office/ledger/default.nix b/pkgs/applications/office/ledger/default.nix
index 14121e6281f4..99b768c58e1e 100644
--- a/pkgs/applications/office/ledger/default.nix
+++ b/pkgs/applications/office/ledger/default.nix
@@ -5,7 +5,7 @@
 let
 
   pname = "ledger";
-  version = "2.6.1";
+  version = "2.6.3";
   name = "${pname}-${version}";
 
 in
@@ -14,8 +14,8 @@ stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
-    url = "mirror://sourceforge/${pname}/${name}.tar.gz";
-    sha256 = "96830d77d3aa6bf6c5778f5dd52169f9b5203fb7daad0e12831abeb35b14f27a";
+    url = "https://github.com/downloads/jwiegley/ledger/ledger-${version}.tar.gz";
+    sha256 = "05zpnypcwgck7lwk00pbdlcwa347xsqifxh4zsbbn01m98bx1v5k";
   };
 
   buildInputs = [ emacs gmp pcre ];
diff --git a/pkgs/applications/office/openoffice/default.nix b/pkgs/applications/office/openoffice/default.nix
index 7c27bef0e451..5bc5cbf8c9b3 100644
--- a/pkgs/applications/office/openoffice/default.nix
+++ b/pkgs/applications/office/openoffice/default.nix
@@ -7,6 +7,7 @@
 }:
 
 let version = "3.2.1"; in
+
 stdenv.mkDerivation rec {
   name = "openoffice.org-${version}";
   builder = ./builder.sh;
@@ -19,7 +20,7 @@ stdenv.mkDerivation rec {
       sha256 = "0gj2hinhnzkazh44k1an05x5cj7n6721f2grqrkjh31cm38r9p6i";
     };
 
-  patches = [ ./oo.patch  ./root-required.patch ];
+  patches = [ ./oo.patch ./root-required.patch ./xlib.patch ];
 
   postPatch =
     /* Compiling with GCC 4.5 fails:
diff --git a/pkgs/applications/office/openoffice/go-oo.nix b/pkgs/applications/office/openoffice/go-oo.nix
index 35e39ff1cc79..241c2ff2a130 100644
--- a/pkgs/applications/office/openoffice/go-oo.nix
+++ b/pkgs/applications/office/openoffice/go-oo.nix
@@ -46,6 +46,7 @@ stdenv.mkDerivation rec {
     done
     sed '/-x $WGET/d' -i download
     ./download
+
     # Needed to find genccode
     PATH=$PATH:${icu}/sbin
 
@@ -53,6 +54,9 @@ stdenv.mkDerivation rec {
 
     set -x
     pushd build/${tag}
+
+    patch -p1 < ${./xlib.patch}
+
     # Fix svtools: hardcoded jpeg path
     sed -i -e 's,^JPEG3RDLIB=.*,JPEG3RDLIB=${libjpeg}/lib/libjpeg.so,' solenv/inc/libs.mk
     # Fix sysui: wants to create a tar for root
@@ -64,6 +68,7 @@ stdenv.mkDerivation rec {
     # Fix redland: wants to set rpath to /usr/local/lib
     sed -i -e 's,^CONFIGURE_FLAGS.*,& --prefix='$TMPDIR, redland/redland/makefile.mk \
       redland/raptor/makefile.mk redland/rasqal/makefile.mk
+
     popd
 
     set +x
diff --git a/pkgs/applications/office/openoffice/xlib.patch b/pkgs/applications/office/openoffice/xlib.patch
new file mode 100644
index 000000000000..d5f0ff9aa209
--- /dev/null
+++ b/pkgs/applications/office/openoffice/xlib.patch
@@ -0,0 +1,22 @@
+https://bugs.freedesktop.org/show_bug.cgi?id=31322
+
+diff -rc OOO320_m19-orig//vcl/unx/inc/dtint.hxx OOO320_m19//vcl/unx/inc/dtint.hxx
+*** OOO320_m19-orig//vcl/unx/inc/dtint.hxx	2010-05-26 20:34:28.000000000 +0200
+--- OOO320_m19//vcl/unx/inc/dtint.hxx	2011-02-15 17:04:32.134813676 +0100
+***************
+*** 36,42 ****
+  class SalDisplay;
+  class AllSettings;
+  
+! #ifndef _XLIB_H_
+  // forwards from X
+  struct Display;
+  struct XEvent;
+--- 36,42 ----
+  class SalDisplay;
+  class AllSettings;
+  
+! #if !defined(_XLIB_H_) && !defined(_X11_XLIB_H_)
+  // forwards from X
+  struct Display;
+  struct XEvent;
diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix
index f99c1e46162e..a4787c24b9e1 100644
--- a/pkgs/applications/science/math/maxima/default.nix
+++ b/pkgs/applications/science/math/maxima/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, fetchurl, clisp }:
+{ stdenv, fetchurl, clisp, texinfo, perl }:
 
 let
     name    = "maxima";
-    version = "5.22.1";
+    version = "5.23.2";
 in
 stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz";
-    sha256 = "0sdrv3lra6j3ylaqsblnd3x7rq4ybafyj7rb114ycadpx2qf06lq";
+    sha256 = "0x6fl7lm2jmybd5n3l5qpyvcj9f5zfwizk7wkbpgkjimh58n5skv";
   };
 
   preConfigure = ''
     configureFlags="--infodir=$out/share/info --mandir=$out/share/man"
   '';
 
-  buildInputs = [clisp];
+  buildInputs = [clisp texinfo perl];
 
   meta = {
     description = "Maxima computer algebra system";
diff --git a/pkgs/applications/science/math/wxmaxima/default.nix b/pkgs/applications/science/math/wxmaxima/default.nix
index ece6eb985178..ee60d68258bb 100644
--- a/pkgs/applications/science/math/wxmaxima/default.nix
+++ b/pkgs/applications/science/math/wxmaxima/default.nix
@@ -6,14 +6,14 @@
 
 let
     name    = "wxmaxima";
-    version = "0.8.6";
+    version = "0.8.7";
 in
 stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/wxMaxima-${version}.tar.gz";
-    sha256 = "09w6gai0jfhl959yrdcdikz5l9kdjshasjk404vl19nfnivdbj9f";
+    sha256 = "0ms141rgkccwf2xfc56km972gl4ga61pk9iz7f7fcsl64zmr5rs0";
   };
 
   buildInputs = [maxima wxGTK];
diff --git a/pkgs/applications/version-management/darcs/darcs-2.nix b/pkgs/applications/version-management/darcs/darcs-2.nix
index eb7c3f066e9d..f89b29d95f11 100644
--- a/pkgs/applications/version-management/darcs/darcs-2.nix
+++ b/pkgs/applications/version-management/darcs/darcs-2.nix
@@ -3,8 +3,8 @@
 cabal.mkDerivation (self : {
   pname = "darcs";
   name = self.fname;
-  version = "2.5";
-  sha256 = "0i99z3wsfc1hhr0a0ax7254gj3i69yg8cb9lhp55wl6lfqvpzcnh";
+  version = "2.5.1";
+  sha256 = "0h7i2nw1fkmdrvwgzccqvbbfx8bdhn0h9d5rd98ayjs207dnvrj8";
 
   propagatedBuildInputs = [
     curl html parsec regexCompat haskeline hashedStorage zlib tar text
diff --git a/pkgs/applications/version-management/fossil/default.nix b/pkgs/applications/version-management/fossil/default.nix
index 3784343783cd..b76306def11c 100644
--- a/pkgs/applications/version-management/fossil/default.nix
+++ b/pkgs/applications/version-management/fossil/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, zlib, openssl, tcl}:
 
 let
-  version = "20110101030647";
+  version = "20110301190432";
 in
 
 stdenv.mkDerivation {
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://www.fossil-scm.org/download/fossil-src-${version}.tar.gz";
-    sha256 = "17kv8cv1v1lsymyhjrpl3nhs3mbrnpc3asp6da9smkgf6gsrnjca";
+    sha256 = "1dvccfqyrxihsj376m2dk4ygrajk8nlrp9di5s49azv0vkzrpp38";
   };
 
   buildInputs = [ zlib openssl ];
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index 4824f39a527e..e0d7d26b83d8 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -12,11 +12,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "git-1.7.3.2";
+  name = "git-1.7.4.1";
 
   src = fetchurl {
     url = "mirror://kernel/software/scm/git/${name}.tar.bz2";
-    sha256 = "0w9yappfl0jb88fk28vv680p33c2j4b0afzl1q2mcq0igjygck5w";
+    sha256 = "06ydc1dr8ndiqc7rkh0xxiffyfq22gwfdzdds7cbqsprr30szic5";
   };
 
   patches = [ ./docbook2texi.patch ];
@@ -84,16 +84,14 @@ stdenv.mkDerivation rec {
 
    + (if guiSupport then ''
        # Wrap Tcl/Tk programs
-       for prog in bin/gitk libexec/git-core/git-gui
-       do
-         wrapProgram "$out/$prog"                       \
-                     --set TK_LIBRARY "${tk}/lib/${tk.libPrefix}" \
-                     --prefix PATH : "${tk}/bin"
+       for prog in bin/gitk libexec/git-core/{git-gui,git-citool,git-gui--askpass}; do
+         sed -i -e "s|exec 'wish'|exec '${tk}/bin/wish'|g" \
+                -e "s|exec wish|exec '${tk}/bin/wish'|g" \
+		"$out/$prog"
        done
      '' else ''
-      # Don't wrap Tcl/Tk, replace them by notification scripts
-       for prog in bin/gitk libexec/git-core/git-gui
-       do
+       # Don't wrap Tcl/Tk, replace them by notification scripts
+       for prog in bin/gitk libexec/git-core/git-gui; do
          notSupported "$out/$prog" \
                       "reinstall with config git = { guiSupport = true; } set"
        done
@@ -107,18 +105,19 @@ stdenv.mkDerivation rec {
    # multiple times into $out so replace duplicates by symlinks because I
    # haven't tested whether the nix distribution system can handle hardlinks.
    # This reduces the size of $out from 115MB down to 13MB on x86_64-linux!
-   + ''#
+   + ''
       declare -A seen
-      find $out -type f | while read f; do
+      shopt -s globstar
+      for f in "$out/"**; do
+        test -f "$f" || continue
         sum=$(md5sum "$f");
         sum=''\${sum/ */}
         if [ -z "''\${seen["$sum"]}" ]; then
           seen["$sum"]="$f"
         else
-          rm "$f"; ln -s "''\${seen["$sum"]}" "$f"
+          rm "$f"; ln -v -s "''\${seen["$sum"]}" "$f"
         fi
       done
-
      '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix
index 9a4c58d11c48..e39a1b6f22ad 100644
--- a/pkgs/applications/version-management/meld/default.nix
+++ b/pkgs/applications/version-management/meld/default.nix
@@ -1,18 +1,23 @@
 {stdenv, fetchurl, pygtk, python, intltool, scrollkeeper, makeWrapper }:
 
+let
+  minor = "1.5";
+  version = "${minor}.0";
+in
+
 stdenv.mkDerivation {
-  name = "meld-1.3.1";
+  name = "meld-${version}";
 
   src = fetchurl {
-    url = http://ftp.gnome.org/pub/gnome/sources/meld/1.3/meld-1.3.1.tar.bz2;
-    sha256 = "0iqnj3qb9l7z12akgmf64fr2xqirsqxflvj60xqcqr5vd5c763nn";
+    url = "http://ftp.gnome.org/pub/gnome/sources/meld/${minor}/meld-${version}.tar.bz2";
+    sha256 = "1kf0k3813nfmahn2l2lbs6n9zg2902gixypsf656m6mqyyrmxrrm";
   };
 
   buildInputs = [ pygtk python intltool scrollkeeper makeWrapper ];
 
   patchPhase = ''
     sed -e s,/usr/local,$out, -i INSTALL
-    sed -e 's,#!.*,#!${python}/bin/python,' -i meld
+    sed -e 's,#!.*,#!${python}/bin/python,' -i bin/meld
   '';
 
   postInstall = ''
diff --git a/pkgs/applications/version-management/monotone/default.nix b/pkgs/applications/version-management/monotone/default.nix
index fbd36417bfcc..70e335ea6491 100644
--- a/pkgs/applications/version-management/monotone/default.nix
+++ b/pkgs/applications/version-management/monotone/default.nix
@@ -1,22 +1,30 @@
-{stdenv, fetchurl, boost, zlib, botan, libidn,
-  lua, pcre, sqlite, perl, pkgconfig}:
+{ stdenv, fetchurl, boost, zlib, botan, libidn
+, lua, pcre, sqlite, perl, pkgconfig }:
 
 let 
   version = "0.99.1";
-  perlVersion = builtins.substring 5 10 perl.name;
-in stdenv.mkDerivation rec {
+  perlVersion = (builtins.parseDrvName perl.name).version;
+in
+
+assert perlVersion != "";
+
+stdenv.mkDerivation rec {
   name = "monotone-${version}";
+  
   src = fetchurl {
     url = "http://monotone.ca/downloads/${version}/monotone-${version}.tar.gz";
     sha256 = "189h5f6gqd4ng0qmzi3xwnj17nnpxm2vzras216ar6b5yc9bnki0";
   };
+  
   buildInputs = [boost zlib botan libidn lua pcre sqlite pkgconfig];
+  
   postInstall = ''
     ensureDir $out/share/${name}
     cp -rv contrib/ $out/share/${name}/contrib
     ensureDir $out/lib/perl5/site_perl/${perlVersion}
     cp -v contrib/Monotone.pm $out/lib/perl5/site_perl/${perlVersion}
   '';
+  
   meta = {
     description = "A free distributed version control system";
     maintainers = [stdenv.lib.maintainers.raskin];
diff --git a/pkgs/applications/version-management/veracity/default.nix b/pkgs/applications/version-management/veracity/default.nix
index 3005da5aba69..88ab7d08bca2 100644
--- a/pkgs/applications/version-management/veracity/default.nix
+++ b/pkgs/applications/version-management/veracity/default.nix
@@ -19,12 +19,21 @@ rec {
   inherit (s) name;
   inherit buildInputs;
 
-  phaseNames = ["prepare_sgneeds" "dump0" "prepareMakefiles" "doMake" "doDeploy"];
+  phaseNames = ["prepare_sgneeds" "dump0" "prepareMakefiles" "doMake" "doTest" "doDeploy"];
 
   dump0 = (a.doDump "0");
 
+  doTest = a.fullDepEntry ''
+    sed -e "s@/bin/bash@${a.stdenv.shell}@" -i $(find .. -type f)
+    mkdir pseudo-home
+    export HOME=$PWD/pseudo-home
+    echo make test
+  '' ["doMake" "minInit"];
+
   prepare_sgneeds = a.fullDepEntry (''
+    ensureDir "$out/sgneeds/include/spidermonkey"
     for d in bin include lib; do 
+      ensureDir "$out/sgneeds/$d"
       ensureDir "$out/sgneeds/$d"
       for p in "${spidermonkey_1_8_0rc1}"; do
         for f in "$p"/"$d"/*; do
@@ -32,6 +41,11 @@ rec {
 	done
       done
     done
+      for p in  "${spidermonkey_1_8_0rc1}/include" "${spidermonkey_1_8_0rc1}/include/js"; do
+        for f in "$p"/*; do
+	  ln -sf "$f" "$out"/sgneeds/include/spidermonkey/
+	done
+      done
 
     ensureDir "$out/sgneeds/include/sgbrings"
     ln -s "$out/sgneeds/include/js" "$out/sgneeds/include/sgbrings/js"
@@ -41,6 +55,9 @@ rec {
     done
 
     export SGNEEDS_DIR="$out"/sgneeds/
+    export VVTHIRDPARTY="$out"/sgneeds/
+
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$out/sgneeds/include"
   '') ["minInit" "defEnsureDir"];
 
   prepareMakefiles = a.fullDepEntry ''
@@ -48,7 +65,7 @@ rec {
     mkdir build
     cd build
     export NIX_LDFLAGS="$NIX_LDFLAGS -lssl"
-    cmake -G "Unix Makefiles" -D SGNEEDS_DIR="$SGNEEDS_DIR" ../veracity*
+    cmake -G "Unix Makefiles" -D SGNEEDS_DIR="$SGNEEDS_DIR" -D VVTHIRDPARTY="$VVTHIRDPARTY" -D SPIDERMONKEY_INCDIR="${a.spidermonkey_1_8_0rc1}/include" -D SPIDERMONKEY_LIB="${a.spidermonkey_1_8_0rc1}/lib/libjs.so" ../veracity*
   '' ["minInit" "addInputs" "doUnpack"];
 
   doDeploy = a.fullDepEntry ''
diff --git a/pkgs/applications/version-management/veracity/src-for-default.nix b/pkgs/applications/version-management/veracity/src-for-default.nix
index fb932ddf4d89..9fb27df07577 100644
--- a/pkgs/applications/version-management/veracity/src-for-default.nix
+++ b/pkgs/applications/version-management/veracity/src-for-default.nix
@@ -1,9 +1,9 @@
 rec {
-   version="0.5.5.10358";
-   name="veracity-0.5.5.10358";
-   hash="01ngr6bibspjdvwhkbm0qg4282rr0zjysbzgm9d68gn691b68qlb";
+   version="0.5.7.10397";
+   name="veracity-0.5.7.10397";
+   hash="09w1qj4wklaf7mw0vavzyqpagcd0cwqppdl8vaqqi0irddgivnq8";
    url="http://download-us.sourcegear.com/Veracity/nightly/veracity-source-${version}.tar.gz";
-   advertisedUrl="http://download-us.sourcegear.com/Veracity/nightly/veracity-source-0.5.5.10358.tar.gz";
+   advertisedUrl="http://download-us.sourcegear.com/Veracity/nightly/veracity-source-0.5.7.10397.tar.gz";
   
   
 }
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
new file mode 100644
index 000000000000..7355266b9349
--- /dev/null
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl
+, libmatroska
+, flac
+, libvorbis
+, file
+, boost
+, lzo
+, xdg_utils
+, expat
+, wxGTK
+, zlib
+, ruby
+, gettext
+}:
+
+stdenv.mkDerivation rec {
+  name = "mkvtoolnix-4.4.0";
+
+  src = fetchurl {
+    url = "http://www.bunkus.org/videotools/mkvtoolnix/sources/${name}.tar.bz2";
+    sha256 = "0apgmah1d4dh5x1phr4n5vgwmy0w1nym9pydzh4kdgcs167l8n6l";
+  };
+
+  buildInputs = [ libmatroska flac libvorbis file boost lzo xdg_utils expat wxGTK zlib ruby gettext ];
+
+  configureFlags = "--with-boost-libdir=${boost}/lib";
+  buildPhase = ''
+    ruby ./drake
+  '';
+
+  installPhase = ''
+    ruby ./drake install
+  '';
+
+  meta = {
+    description = "Cross-platform tools for Matroska";
+    homepage = http://www.bunkus.org/videotools/mkvtoolnix/;
+  };
+}
+
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index 21a2313ce16b..1379074e2bc1 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -2,31 +2,38 @@
 , zlib, a52dec, libmad, faad2, ffmpeg, alsa
 , pkgconfig, dbus, hal, fribidi, qt4, freefont_ttf
 , libvorbis, libtheora, speex, lua, libgcrypt, libupnp
+, libcaca, pulseaudio, flac, schroedinger, libxml2, librsvg
+, mpeg2dec, udev, gnutls, avahi, libcddb, jackaudio, SDL, SDL_image
+, libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, liboggz
+, libass
 }:
 
-stdenv.mkDerivation {
-  name = "vlc-1.1.0";
+stdenv.mkDerivation rec {
+  name = "vlc-${version}";
+  version = "1.1.5";
+
+  patchPhase = ''sed -e "s@/bin/echo@echo@g" -i configure'';
 
   src = fetchurl {
-    url = http://download.videolan.org/pub/videolan/vlc/1.1.0/vlc-1.1.0.tar.bz2;
-    sha256 = "1j7icg7a2lr99kpc3sjjdp3z7128y6afnvxsafxlnih0qif2ryx9";
+    url = "mirror://sourceforge/vlc/${name}.tar.bz2";
+    sha256 = "09nawmvw5zs6hywk5xkqn2iyvrh4r5d7z6rbpaaydckz66fazqzq";
   };
 
   buildInputs = [
-    perl xlibs.xlibs xlibs.libXv zlib a52dec libmad faad2 ffmpeg
-    alsa libdvdnav libdvdnav.libdvdread pkgconfig dbus hal fribidi qt4
-    libvorbis libtheora speex lua libgcrypt libupnp
-  ];
+    perl zlib a52dec libmad faad2 ffmpeg alsa libdvdnav libdvdnav.libdvdread
+    pkgconfig dbus hal fribidi qt4 libvorbis libtheora speex lua libgcrypt
+    libupnp libcaca pulseaudio flac schroedinger libxml2 librsvg mpeg2dec
+    udev gnutls avahi libcddb jackaudio SDL SDL_image libmtp unzip taglib
+    libkate libtiger libv4l samba liboggz libass
+  ]
+  ++ (with xlibs; [ xlibs.xlibs libXv libXpm xcbutil ]);
 
   configureFlags = [ "--enable-alsa"
     "--disable-glx"
     "--disable-remoteosd"
-    "--enable-faad"
-    "--enable-theora"
-    "--enable-vorbis"
-    "--enable-speex"
     "--disable-dbus"
     "--disable-dbus-control"
+    "--with-kde-solid=$out/share/apps/solid/actions"
   ];
 
   preBuild = ''
diff --git a/pkgs/applications/virtualization/openstack-compute/default.nix b/pkgs/applications/virtualization/openstack-compute/default.nix
new file mode 100644
index 000000000000..f00e1a3dda0b
--- /dev/null
+++ b/pkgs/applications/virtualization/openstack-compute/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, python, setuptools, pythonPackages }:
+
+let version = "2011.1"; in
+
+stdenv.mkDerivation {
+  name = "openstack-compute-2011.1";
+
+  src = fetchurl {
+    url = http://launchpad.net/nova/bexar/2011.1/+download/nova-2011.1.tar.gz;
+    sha256 = "1g8f75mzjpkzhqk91hga5wpjh8d0kbc9fxxjk0px0qjk20qrmb45";
+  };
+
+  buildInputs =
+    [ python setuptools pythonPackages.gflags pythonPackages.netaddr pythonPackages.eventlet
+    ];
+
+  preConfigure = "export HOME=$(pwd)";
+  
+  buildPhase = "python setup.py build";
+
+  installPhase =
+    ''
+      p=$(toPythonPath $out)
+      export PYTHONPATH=$p:$PYTHONPATH
+      mkdir -p $p
+      python setup.py install --prefix=$out
+    '';
+
+  meta = {
+    homepage = http://nova.openstack.org/;
+    description = "OpenStack Compute (a.k.a. Nova), a cloud computing fabric controller";
+  };
+}
diff --git a/pkgs/applications/virtualization/virt-viewer/default.nix b/pkgs/applications/virtualization/virt-viewer/default.nix
new file mode 100644
index 000000000000..90e92a3e68de
--- /dev/null
+++ b/pkgs/applications/virtualization/virt-viewer/default.nix
@@ -0,0 +1,50 @@
+x@{builderDefsPackage
+  , gnome, gtk, glib, libxml2, pkgconfig, libvirt, gtkvnc, cyrus_sasl, libtasn1
+  , gnupg, libgcrypt, perl
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    ["gnome"];
+
+  buildInputs = (map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames)))
+    ++ [gnome.libglade];
+  sourceInfo = rec {
+    baseName="virt-viewer";
+    version="0.2.0";
+    name="${baseName}-${version}";
+    url="http://virt-manager.org/download/sources/${baseName}/${name}.tar.gz";
+    hash="0lhkmp4kn0s2z8241lqf2fdi55jg9iclr5hjw3m4wzaznpiajwlp";
+  };
+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 = ["doConfigure" "doMakeInstall"];
+      
+  meta = {
+    description = "A viewer for remote virtual machines";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+    license = a.lib.licenses.gpl2;
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "http://virt-manager.org/download.html";
+    };
+  };
+}) x
+
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index a3095d96d4f4..4aefb5e5e728 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -1,22 +1,24 @@
 { stdenv, fetchurl, lib, iasl, dev86, pam, libxslt, libxml2, libX11, xproto, libXext
 , libXcursor, qt4, libIDL, SDL, hal, libcap, zlib, libpng, glib, kernel
 , python, which, alsaLib, curl, gawk
+, xorriso, makeself, perl, jdk
 }:
 
 stdenv.mkDerivation {
-  name = "virtualbox-3.2.10-${kernel.version}";
+  name = "virtualbox-4.0.2-${kernel.version}";
 
   src = fetchurl {
-    url = http://download.virtualbox.org/virtualbox/3.2.10/VirtualBox-3.2.10-OSE.tar.bz2;
-    sha256 = "06abkv8lsh6b0z21ialdhxyw5qg1r2x07qwwkn2b9akx8ab5pcjd";
+    url = http://download.virtualbox.org/virtualbox/4.0.2/VirtualBox-4.0.2.tar.bz2;
+    sha256 = "3dbb3303a6237b8a3732c0bb12abc89ae3ad5c804579bc1390325713c741c568";
   };
 
-  buildInputs = [iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor qt4 libIDL SDL hal libcap glib kernel python alsaLib curl pam];
+  buildInputs = [iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor qt4 libIDL SDL hal libcap glib kernel python alsaLib curl pam xorriso makeself perl jdk ];
 
   patchPhase = "
     set -x
     MODULES_BUILD_DIR=`echo ${kernel}/lib/modules/*/build`
     sed -e 's@/lib/modules/`uname -r`/build@'$MODULES_BUILD_DIR@ \\
+        -e 's@MKISOFS --version@MKISOFS -version@' \\
         -i configure
     ls kBuild/bin/linux.x86/k* tools/linux.x86/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 
     ls kBuild/bin/linux.amd64/k* tools/linux.amd64/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 
@@ -25,7 +27,7 @@ stdenv.mkDerivation {
   ";
 
   configurePhase = ''
-    ./configure --with-qt4-dir=${qt4} --disable-python --disable-pulse --disable-hardening
+    ./configure --with-qt4-dir=${qt4} --disable-python --disable-pulse --disable-hardening --with-mkisofs=${xorriso}/bin/xorrisofs
     sed -e 's@PKG_CONFIG_PATH=.*@PKG_CONFIG_PATH=${libIDL}/lib/pkgconfig:${glib}/lib/pkgconfig ${libIDL}/bin/libIDL-config-2@' \
         -i AutoConfig.kmk
     sed -e 's@arch/x86/@@' \
@@ -34,7 +36,9 @@ stdenv.mkDerivation {
     cat >> AutoConfig.kmk << END_PATHS
     VBOX_PATH_APP_PRIVATE := $out
     VBOX_PATH_APP_DOCS := $out/doc
+    VBOX_JAVA_HOME := ${jdk}
     END_PATHS
+    echo "VBOX_WITH_DOCS :=" >> LocalConfig.kmk
     echo "VBOX_WITH_WARNINGS_AS_ERRORS :=" >> LocalConfig.kmk
   '';
 
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index eb8a91551426..52c1f46fdaeb 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -2,10 +2,10 @@
 , libX11, libXt, libXext, libXmu, libXcomposite, libXfixes, libXrandr, libXcursor}:
 
 stdenv.mkDerivation {
-  name = "VirtualBox-GuestAdditions-3.2.8";
+  name = "VirtualBox-GuestAdditions-4.0.2";
   src = fetchurl {
-    url = http://download.virtualbox.org/virtualbox/3.2.8/VBoxGuestAdditions_3.2.8.iso;
-    sha256 = "1pyfgrcdmw6zf3yxgzcd8c5qzqqn62bz4085ka453gfmi9d65lys";
+    url = http://download.virtualbox.org/virtualbox/4.0.2/VBoxGuestAdditions_4.0.2.iso;
+    sha256 = "4c8726f70d4202747d35e1ad715ca9dcd29be1fe74720492097d7fb83cae7988";
   };
   KERN_DIR = "${kernel}/lib/modules/*/build";
   buildInputs = [ patchelf cdrkit makeWrapper ];
@@ -17,22 +17,25 @@ stdenv.mkDerivation {
   '';
   
   buildCommand = ''
-    ${if stdenv.system == "i686-linux" then ''
-        isoinfo -J -i $src -x /VBoxLinuxAdditions-x86.run > ./VBoxLinuxAdditions-x86.run
-        chmod 755 ./VBoxLinuxAdditions-x86.run
-        ./VBoxLinuxAdditions-x86.run --noexec --keep
-      ''
-      else if stdenv.system == "x86_64-linux" then ''
-        isoinfo -J -i $src -x /VBoxLinuxAdditions-amd64.run > ./VBoxLinuxAdditions-amd64.run
-        chmod 755 ./VBoxLinuxAdditions-amd64.run
-	./VBoxLinuxAdditions-amd64.run --noexec --keep
+    ${if stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" then ''
+        isoinfo -J -i $src -x /VBoxLinuxAdditions.run > ./VBoxLinuxAdditions.run
+        chmod 755 ./VBoxLinuxAdditions.run
+	./VBoxLinuxAdditions.run --noexec --keep
       ''
       else throw ("Architecture: "+stdenv.system+" not supported for VirtualBox guest additions")
     }
     
     # Unpack files
     cd install
-    tar xfvj VBoxGuestAdditions.tar.bz2
+    ${if stdenv.system == "i686-linux" then ''
+        tar xfvj VBoxGuestAdditions-x86.tar.bz2
+      ''
+      else if stdenv.system == "x86_64-linux" then ''
+        tar xfvj VBoxGuestAdditions-amd64.tar.bz2
+      ''
+      else throw ("Architecture: "+stdenv.system+" not supported for VirtualBox guest additions")
+    }
+
     
     # Build kernel modules    
     cd src        
@@ -41,9 +44,11 @@ stdenv.mkDerivation {
     do
 	cd $i
 	sed -i -e "s/depmod/echo/g" Makefile
+	sed -i -e "s/depmod/echo/g" */Makefile
 	make
 	cd ..
     done
+
     cd ..
     
     # Change the interpreter for various binaries
diff --git a/pkgs/applications/window-managers/awesome/cmake284.patch b/pkgs/applications/window-managers/awesome/cmake284.patch
new file mode 100644
index 000000000000..4af70227805f
--- /dev/null
+++ b/pkgs/applications/window-managers/awesome/cmake284.patch
@@ -0,0 +1,40 @@
+From 1aedd853fcaeeafadd24512f84e6e269f5db0b4e Mon Sep 17 00:00:00 2001
+From: Thomas Moschny <thomas.moschny@gmx.de>
+Date: Mon, 21 Feb 2011 17:58:04 +0100
+Subject: [PATCH] Normalize icon path names (fixes #869).
+
+The elements in ${icon_sources}, as returned by file(GLOB ...) contain
+double slashes, could be a bug in cmake. This causes building with
+cmake 2.8.4 to fail, due to dependency problems lateron.
+
+This patch works around the issue by normalizing all path names in
+${icon_sources} while appending them to ${ALL_ICONS}, thereby removing
+the double slashes.
+---
+ CMakeLists.txt |    3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 64be9b9..472bec2 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -244,14 +244,15 @@ endif()
+ 
+ # {{{ Theme icons
+ file(GLOB icon_sources RELATIVE ${SOURCE_DIR} ${SOURCE_DIR}/themes/*/titlebar/*.png)
+-set(ALL_ICONS ${icon_sources})
+ 
+ foreach(icon ${icon_sources})
+     # Copy all icons to the build dir to simplify the following code.
+     # Source paths are interpreted relative to ${SOURCE_DIR}, target paths
+     # relative to ${BUILD_DIR}.
+     get_filename_component(icon_path ${icon} PATH)
++    get_filename_component(icon_name ${icon} NAME)
+     file(COPY ${icon} DESTINATION ${icon_path})
++    set(ALL_ICONS ${ALL_ICONS} "${icon_path}/${icon_name}")
+ endforeach()
+ 
+ macro(a_icon_convert match replacement input)
+-- 
+1.7.3.4
+
diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix
index 4bc0610082b6..b94b350a8482 100644
--- a/pkgs/applications/window-managers/awesome/default.nix
+++ b/pkgs/applications/window-managers/awesome/default.nix
@@ -3,12 +3,16 @@
 , libstartup_notification, libev, asciidoc, xmlto, dbus, docbook_xsl
 , docbook_xml_dtd_45, libxslt, coreutils}:
 
+let
+  version = "3.4.9";
+in
+
 stdenv.mkDerivation rec {
-  name = "awesome-3.4.8";
+  name = "awesome-${version}";
  
   src = fetchurl {
-    url = http://awesome.naquadah.org/download/awesome-3.4.8.tar.xz;
-    sha256 = "1mrdk8q0kj1p7zp5mchr2zl3cnja4z4ir0wx3yz5y361py5bjy78";
+    url = "http://awesome.naquadah.org/download/awesome-${version}.tar.xz";
+    sha256 = "0382v482904xv295l0gvhwzc64b7631miiv8wyq7jxmwqf2vfbp7";
   };
  
   buildInputs = [ xz cmake gperf imagemagick pkgconfig lua glib cairo pango
@@ -18,13 +22,15 @@ stdenv.mkDerivation rec {
   # We use coreutils for 'env', that will allow then finding 'bash' or 'zsh' in
   # the awesome lua code. I prefered that instead of adding 'bash' or 'zsh' as
   # dependencies.
-  patchPhase = ''
+  prePatch = ''
     # Fix the tab completion (supporting bash or zsh)
     sed s,/usr/bin/env,${coreutils}/bin/env, -i lib/awful/completion.lua.in
     # Remove the 'root' PATH override (I don't know why they have that)
     sed /WHOAMI/d -i utils/awsetbg
   '';
 
+  patches = [ ./cmake284.patch ];
+
   # Somehow libev does not get into the rpath, although it should.
   # Something may be wrong in the gcc wrapper.
   preBuild = ''
@@ -38,5 +44,7 @@ stdenv.mkDerivation rec {
     homepage = http://awesome.naquadah.org/;
     description = "Highly configurable, dynamic window manager for X";
     license = "GPLv2+";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/applications/window-managers/compiz/core.nix b/pkgs/applications/window-managers/compiz/core.nix
index ef5279613d09..d4a5b79b7fb3 100644
--- a/pkgs/applications/window-managers/compiz/core.nix
+++ b/pkgs/applications/window-managers/compiz/core.nix
@@ -16,6 +16,9 @@ stdenv.mkDerivation {
       # directories to be overriden through $COMPIZ_PLUGINDIR and
       # $COMPIZ_METADATADIR, respectively.
       ./plugindir-core.patch
+
+      # Fix compilation with recent GTK versions.
+      ./gdk-deprecated.patch
     ];
 
   buildInputs =
diff --git a/pkgs/applications/window-managers/compiz/gdk-deprecated.patch b/pkgs/applications/window-managers/compiz/gdk-deprecated.patch
new file mode 100644
index 000000000000..d80a5514ee9d
--- /dev/null
+++ b/pkgs/applications/window-managers/compiz/gdk-deprecated.patch
@@ -0,0 +1,14 @@
+diff -ru -x '*~' compiz-0.8.6-orig//gtk/window-decorator/gtk-window-decorator.c compiz-0.8.6//gtk/window-decorator/gtk-window-decorator.c
+--- compiz-0.8.6-orig//gtk/window-decorator/gtk-window-decorator.c	2010-03-28 14:15:35.000000000 +0200
++++ compiz-0.8.6//gtk/window-decorator/gtk-window-decorator.c	2011-03-14 11:00:00.000000000 +0100
+@@ -31,10 +31,6 @@
+ #include <X11/extensions/Xrender.h>
+ #include <X11/Xregion.h>
+ 
+-#ifndef GDK_DISABLE_DEPRECATED
+-#define GDK_DISABLE_DEPRECATED
+-#endif
+-
+ #ifndef GTK_DISABLE_DEPRECATED
+ #define GTK_DISABLE_DEPRECATED
+ #endif
diff --git a/pkgs/applications/window-managers/icewm/default.nix b/pkgs/applications/window-managers/icewm/default.nix
index 02096cd6141f..632bc50c8690 100644
--- a/pkgs/applications/window-managers/icewm/default.nix
+++ b/pkgs/applications/window-managers/icewm/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, gettext, libjpeg, libtiff, libungif, libpng, imlib, xlibs, automake, pkgconfig,
-  gtk }:
+{ stdenv, fetchurl, gettext, libjpeg, libtiff, libungif, libpng, imlib
+, xlibs, automake, pkgconfig, gtk }:
 
 stdenv.mkDerivation rec {
   name = "icewm-1.3.6";
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
     sha256 = "1pr7rc10rddwvy4ncng4mf5fpxd1nqjsw34xba9ngsg32rg57b91";
   };
 
+  NIX_LDFLAGS = "-lfontconfig";
+
   # The fuloong2f is not supported by 1.3.6 still
   preConfigure = ''
     cp ${automake}/share/automake*/config.{sub,guess} .
diff --git a/pkgs/applications/window-managers/ratpoison/default.nix b/pkgs/applications/window-managers/ratpoison/default.nix
index cec59ab6f6bf..77a998b9f74c 100644
--- a/pkgs/applications/window-managers/ratpoison/default.nix
+++ b/pkgs/applications/window-managers/ratpoison/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, libX11, inputproto, libXt, libXpm, libXft, fontconfig
-, libXtst, xextproto, readline, libXi, pkgconfig, autoconf, automake }:
+{ stdenv, fetchurl, libX11, inputproto, libXt, libXpm, libXft, fontconfig, freetype
+, libXtst, xextproto, readline, libXi, pkgconfig, perl, autoconf, automake }:
 
 stdenv.mkDerivation rec {
   name = "ratpoison-1.4.5";
@@ -16,13 +16,13 @@ stdenv.mkDerivation rec {
        })
     ];
 
-  preConfigure = "autoreconf -vf";
+  preConfigure = "autoreconf -vf";	# needed because of the patch above
 
+  NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2"; # urgh
+  
   buildInputs =
-    [ libX11 inputproto libXt
-      libXpm libXft fontconfig libXtst
-      xextproto readline libXi pkgconfig
-      autoconf automake  # needed because of the patch above
+    [ libX11 inputproto libXt libXpm libXft fontconfig freetype libXtst
+      xextproto readline libXi pkgconfig perl autoconf automake
     ];
 
   meta = {
@@ -46,8 +46,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.nongnu.org/ratpoison/;
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
   };
 }
-
diff --git a/pkgs/applications/window-managers/xmonad/default.nix b/pkgs/applications/window-managers/xmonad/default.nix
index 52cfe1e9798d..5380db40c022 100644
--- a/pkgs/applications/window-managers/xmonad/default.nix
+++ b/pkgs/applications/window-managers/xmonad/default.nix
@@ -1,11 +1,12 @@
-{cabal, X11, mtl, xmessage}:
+{cabal, X11, mtl, xmessage, syb}:
 
 cabal.mkDerivation (self : {
   pname = "xmonad";
   name = "${self.fname}";
-  version = "0.9.1";
-  sha256 = "014201200e8a521ee3a0d8c0727392916a7549207b91064fb456f8c660609927";
-  propagatedBuildInputs = [X11 mtl];
+  version = "0.9.2";
+  sha256 = "07w5k3pqmybjn0zh2nr1glp69685xg2fhj3z9zxb37x5nzss7kdd";
+  noHaddock = true;
+  propagatedBuildInputs = [X11 mtl syb];
   meta = {
     description = "xmonad is a tiling window manager for X";
     homepage = http://xmonad.org/;
diff --git a/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix b/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix
index 1c0619356e05..a8b39e6e5b0d 100644
--- a/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix
+++ b/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix
@@ -2,9 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "xmonad-contrib";
-  name = "${self.fname}";
-  version = "0.9.1";
-  sha256 = "b4ca1d71d12903be76187ce58898697086e7af3ef73468987cb7ef03b076ec47";
+  version = "0.9.2";
+  sha256 = "06hg5j4w8iz62wmyygq4c7xcbi9dxlhhh3dbic438cjk7c0w1h5p";
   propagatedBuildInputs = [X11 xmonad utf8String X11Xft];
   meta = {
     description = "a huge extension library for xmonad";
diff --git a/pkgs/build-support/fetchbzr/nix-prefetch-bzr b/pkgs/build-support/fetchbzr/nix-prefetch-bzr
new file mode 100755
index 000000000000..167892fbb794
--- /dev/null
+++ b/pkgs/build-support/fetchbzr/nix-prefetch-bzr
@@ -0,0 +1,79 @@
+#! /bin/sh -e
+
+url=$1
+rev=$2
+expHash=$3
+
+hashType=$NIX_HASH_ALGO
+if test -z "$hashType"; then
+    hashType=sha256
+fi
+if test -z "$hashFormat"; then
+    hashFormat=--base32
+fi
+
+if test -z "$url"; then
+    echo "syntax: nix-prefetch-bzr URL [REVISION [EXPECTED-HASH]]" >&2
+    exit 1
+fi
+
+revarg="-r $rev"
+test -n "$rev" || revarg=""
+
+repoName=$(echo $url | sed '
+  s,.*/\([^/]\+\)/trunk/*$,\1,;t
+  s,.*/\([^/]\+\)/branches/\([^/]\+\)/*$,\1-\2,;t
+  s,.*/\([^/]\+\)/tags/\([^/]\+\)/*$,\1-\2,;t
+  s,.*/\([^/]\+\)/*$,\1,;t
+')
+dstFile=$repoName-r$rev
+test -n "$rev" || dstFile=$repoName
+
+# If the hash was given, a file with that hash may already be in the
+# store.
+if test -n "$expHash"; then
+    finalPath=$(nix-store --print-fixed-path --recursive "$hashType" "$expHash" $dstFile)
+    if ! nix-store --check-validity "$finalPath" 2> /dev/null; then
+        finalPath=
+    fi
+    hash=$expHash
+fi
+
+
+# If we don't know the hash or a path with that hash doesn't exist,
+# download the file and add it to the store.
+if test -z "$finalPath"; then
+    tmpPath=/tmp/bzr-checkout-tmp-$$
+    tmpFile=$tmpPath/$dstFile
+    mkdir $tmpPath
+
+    trap "rm -rf $tmpPath" EXIT
+
+    # Perform the checkout.
+    if test "$NIX_PREFETCH_BZR_LEAVE_DOT_BZR" != 1
+    then
+        bzr export $revarg "$tmpFile" "$url" >&2
+    else
+        bzr checkout --lightweight $revarg "$url" "$tmpFile" >&2
+    fi
+
+    # Compute the hash.
+    hash=$(nix-hash --type $hashType $hashFormat $tmpFile)
+    if ! test -n "$QUIET"; then echo "hash is $hash" >&2; fi
+
+    # Add the downloaded file to the Nix store.
+    finalPath=$(nix-store --add-fixed --recursive "$hashType" $tmpFile)
+
+    if test -n "$expHash" -a "$expHash" != "$hash"; then
+        echo "hash mismatch for URL \`$url'"
+        exit 1
+    fi
+fi
+
+if ! test -n "$QUIET"; then echo "path is $finalPath" >&2; fi
+
+echo $hash
+
+if test -n "$PRINT_PATH"; then
+    echo $finalPath
+fi
diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git
index 63d756c5807c..198ab5c65fed 100755
--- a/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -120,6 +120,17 @@ clone(){
     # Checkout linked sources.
     init_submodules;
 
+    if [ -f .topdeps ]; then
+	if tg help 2>&1 > /dev/null
+	then
+	    echo "populating TopGit branches..."
+	    tg remote --populate origin
+	else
+	    echo "WARNING: would populate TopGit branches but TopGit is not available" >&2
+	    echo "WARNING: install TopGit to fix the problem" >&2
+	fi
+    fi
+
     cd $top;
 }
 
diff --git a/pkgs/build-support/fetchurl/builder.sh b/pkgs/build-support/fetchurl/builder.sh
index 3bb55aa3c90b..808bf9f7cdec 100644
--- a/pkgs/build-support/fetchurl/builder.sh
+++ b/pkgs/build-support/fetchurl/builder.sh
@@ -2,10 +2,6 @@ source $stdenv/setup
 
 source $mirrorsFile
 
-if test -n "$showURLs"; then
-    header "downloading file $name with $outputHashAlgo hash $outputHash..."
-fi
-
 
 # Curl flags to handle redirects, not use EPSV, handle cookies for
 # servers to need them during redirects, and work on SSL without a
diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix
index 2b4e382928f6..fe5a0c9356bd 100644
--- a/pkgs/build-support/fetchurl/mirrors.nix
+++ b/pkgs/build-support/fetchurl/mirrors.nix
@@ -10,6 +10,7 @@ rec {
   
   # SourceForge.
   sourceforge = [
+    http://prdownloads.sourceforge.net/
     http://heanet.dl.sourceforge.net/sourceforge/
     http://surfnet.dl.sourceforge.net/sourceforge/
     http://dfn.dl.sourceforge.net/sourceforge/
@@ -17,7 +18,6 @@ rec {
     http://ovh.dl.sourceforge.net/sourceforge/
     http://osdn.dl.sourceforge.net/sourceforge/
     http://kent.dl.sourceforge.net/sourceforge/
-    http://prdownloads.sourceforge.net/
   ];
 
   sf = sourceforge;
@@ -101,6 +101,7 @@ rec {
 
   # Mirrors of ftp://ftp.kde.org/pub/kde/.
   kde = [
+    "http://download.kde.org/download.php?url="
     http://ftp.gwdg.de/pub/x11/kde/
     ftp://ftp.heanet.ie/mirrors/ftp.kde.org/
     ftp://ftp.kde.org/pub/kde/
diff --git a/pkgs/build-support/kernel/paths-from-graph.pl b/pkgs/build-support/kernel/paths-from-graph.pl
index 43ce4e68db44..f18662372103 100644
--- a/pkgs/build-support/kernel/paths-from-graph.pl
+++ b/pkgs/build-support/kernel/paths-from-graph.pl
@@ -53,6 +53,7 @@ elsif ($ENV{"printRegistration"} eq "1") {
     foreach my $storePath (sort (keys %storePaths)) {
         print "$storePath\n";
         print "0000000000000000000000000000000000000000000000000000000000000000\n"; # !!! fix
+        print "0\n"; # !!! fix	
         print "\n"; # don't care about preserving the deriver
         print scalar(@{$refs{$storePath}}), "\n";
         foreach my $ref (@{$refs{$storePath}}) {
diff --git a/pkgs/build-support/release/debian-build.nix b/pkgs/build-support/release/debian-build.nix
index 75e26efa0b30..c2a194a042f6 100644
--- a/pkgs/build-support/release/debian-build.nix
+++ b/pkgs/build-support/release/debian-build.nix
@@ -47,6 +47,7 @@ vmTools.runInLinuxImage (stdenv.mkDerivation (
     '';
 
     sysInfoPhase = ''
+      [ ! -f /etc/lsb-release ] || (source /etc/lsb-release; echo "OS release: $DISTRIB_DESCRIPTION")
       echo "System/kernel: $(uname -a)"
       if test -e /etc/debian_version; then echo "Debian release: $(cat /etc/debian_version)"; fi
       header "installed Debian packages"
diff --git a/pkgs/build-support/release/nix-build.nix b/pkgs/build-support/release/nix-build.nix
index 201fe4e799d7..5c569f97ccf0 100644
--- a/pkgs/build-support/release/nix-build.nix
+++ b/pkgs/build-support/release/nix-build.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation (
               KEEPBUILDDIR="$out/`basename $TMPDIR`"
               header "Copying build directory to $KEEPBUILDDIR"
               ensureDir $KEEPBUILDDIR
-              cp -vR $TMPDIR/* $KEEPBUILDDIR
+              cp -R $TMPDIR/* $KEEPBUILDDIR
               stopNest 
           fi
       fi
diff --git a/pkgs/build-support/release/source-tarball.nix b/pkgs/build-support/release/source-tarball.nix
index 35e075893638..94566e4c4605 100644
--- a/pkgs/build-support/release/source-tarball.nix
+++ b/pkgs/build-support/release/source-tarball.nix
@@ -68,6 +68,18 @@ stdenv.mkDerivation (
 
       eval "$postAutoconf"
     '';
+
+    failureHook = ''
+      if test -n "$succeedOnFailure"; then
+          if test -n "$keepBuildDirectory"; then
+              KEEPBUILDDIR="$out/`basename $TMPDIR`"
+              header "Copying build directory to $KEEPBUILDDIR"
+              ensureDir $KEEPBUILDDIR
+              cp -R $TMPDIR/* $KEEPBUILDDIR
+              stopNest
+          fi
+      fi
+    '';
   }
 
   # Then, the caller-supplied attributes.
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index 4e63d8082c3f..cfd057110fe3 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -1,4 +1,8 @@
-{ pkgs }:
+{ pkgs
+, linuxKernel ? pkgs.linux
+, img ? "bzImage"
+, rootModules ? [ "cifs" "virtio_net" "virtio_pci" "virtio_blk" "virtio_balloon" "nls_utf8" "ext2" "ext3" "unix" ]
+}:
 
 with pkgs;
 
@@ -7,16 +11,13 @@ rec {
   # The 15 second CIFS timeout is too short if the host if heavily
   # loaded (e.g., in the Hydra build farm when it's running many jobs
   # in parallel).  So apply a patch to increase the timeout to 120s.
-  kernel = assert pkgs.linux.features.cifsTimeout; pkgs.linux;
+  kernel = assert pkgs.linux.features.cifsTimeout; linuxKernel;
 
   kvm = pkgs.qemu_kvm;
 
 
   modulesClosure = makeModulesClosure {
-    inherit kernel;
-    rootModules =
-      [ "cifs" "virtio_net" "virtio_pci" "virtio_blk" "virtio_balloon"
-        "nls_utf8" "ext2" "ext3" "unix" ];
+    inherit kernel rootModules;
   };
 
 
@@ -217,8 +218,8 @@ rec {
       -net nic,model=virtio \
       -chardev socket,id=samba,path=./samba \
       -net user,guestfwd=tcp:10.0.2.4:445-chardev:samba \
-      -drive file=$diskImage,if=virtio,boot=on,cache=writeback,werror=report \
-      -kernel ${kernel}/bzImage \
+      -drive file=$diskImage,if=virtio,cache=writeback,werror=report \
+      -kernel ${kernel}/${img} \
       -initrd ${initrd}/initrd \
       -append "console=ttyS0 panic=1 command=${stage2Init} tmpDir=$TMPDIR out=$out mountDisk=$mountDisk" \
       $QEMU_OPTS
@@ -342,6 +343,56 @@ rec {
     QEMU_OPTS = "-m ${toString (if attrs ? memSize then attrs.memSize else 256)}";
   });
 
+  extractFs = {file, fs ? null} :
+    with pkgs; runInLinuxVM (
+    stdenv.mkDerivation {
+      name = "extract-file";
+      buildInputs = [utillinuxng];
+      buildCommand = ''
+        ln -s ${linux}/lib /lib
+        ${module_init_tools}/sbin/modprobe loop
+        ${module_init_tools}/sbin/modprobe ext4
+        ${module_init_tools}/sbin/modprobe hfs
+        ${module_init_tools}/sbin/modprobe hfsplus
+        ${module_init_tools}/sbin/modprobe squashfs
+        ${module_init_tools}/sbin/modprobe iso9660
+        ${module_init_tools}/sbin/modprobe ufs
+        ${module_init_tools}/sbin/modprobe cramfs
+        mknod /dev/loop0 b 7 0
+
+        ensureDir $out
+        ensureDir tmp
+        mount -o loop,ro,ufstype=44bsd ${lib.optionalString (fs != null) "-t ${fs} "}${file} tmp ||
+          mount -o loop,ro ${lib.optionalString (fs != null) "-t ${fs} "}${file} tmp
+        cp -Rv tmp/* $out/ || exit 0
+      '';
+    });
+
+  extractMTDfs = {file, fs ? null} :
+    with pkgs; runInLinuxVM (
+    stdenv.mkDerivation {
+      name = "extract-file-mtd";
+      buildInputs = [utillinuxng mtdutils];
+      buildCommand = ''
+        ln -s ${linux}/lib /lib
+        ${module_init_tools}/sbin/modprobe mtd
+        ${module_init_tools}/sbin/modprobe mtdram total_size=131072
+        ${module_init_tools}/sbin/modprobe mtdchar
+        ${module_init_tools}/sbin/modprobe mtdblock
+        ${module_init_tools}/sbin/modprobe jffs2
+        ${module_init_tools}/sbin/modprobe zlib
+        mknod /dev/mtd0 c 90 0
+        mknod /dev/mtdblock0 b 31 0
+
+        ensureDir $out
+        ensureDir tmp
+
+        dd if=${file} of=/dev/mtd0
+        mount ${lib.optionalString (fs != null) "-t ${fs} "}/dev/mtdblock0 tmp
+
+        cp -R tmp/* $out/
+      '';
+    });
 
   qemuCommandGeneric = ''
     ${kvm}/bin/qemu-system-x86_64 \
@@ -629,7 +680,7 @@ rec {
           done
           chroot=$(type -tP chroot)
           PATH=/usr/bin:/bin:/usr/sbin:/sbin $chroot /mnt \
-            /usr/bin/dpkg --install --force-all $debs < /dev/null
+            /usr/bin/dpkg --install --force-all $debs < /dev/null || true
         done
         
         echo "running post-install script..."
@@ -1054,7 +1105,7 @@ rec {
         sha256 = "6e3e813857496f2af6cd7e6ada06b3398fa067a7992c5fd7e8bd8fa92e3548b7";
       };
       urlPrefix = mirror://ubuntu;
-      packages = commonDebPackages ++ [ "diff" ];
+      packages = commonDebPackages ++ [ "diff" "mktemp" ];
     };
  
     ubuntu910x86_64 = {
@@ -1065,7 +1116,7 @@ rec {
         sha256 = "3a604fcb0c135eeb8b95da3e90a8fd4cfeff519b858cd3c9e62ea808cb9fec40";
       };
       urlPrefix = mirror://ubuntu;
-      packages = commonDebPackages ++ [ "diff" ];
+      packages = commonDebPackages ++ [ "diff" "mktemp" ];
     };
 
     ubuntu1004i386 = {
@@ -1076,7 +1127,7 @@ rec {
         sha256 = "0e46596202a68caa754dfe0883f46047525309880c492cdd5e2d0970fcf626aa";
       };
       urlPrefix = mirror://ubuntu;
-      packages = commonDebPackages ++ [ "diffutils" ];
+      packages = commonDebPackages ++ [ "diffutils" "mktemp" ];
     };
  
     ubuntu1004x86_64 = {
@@ -1087,6 +1138,28 @@ rec {
         sha256 = "74a8f3192b0eda397d65316e0fa6cd34d5358dced41639e07d9f1047971bfef0";
       };
       urlPrefix = mirror://ubuntu;
+      packages = commonDebPackages ++ [ "diffutils" "mktemp" ];
+    };
+
+    ubuntu1010i386 = {
+      name = "ubuntu-10.04-maverick-i386";
+      fullName = "Ubuntu 10.04 Maverick (i386)";
+      packagesList = fetchurl {
+        url = mirror://ubuntu/dists/maverick/main/binary-i386/Packages.bz2;
+        sha256 = "1qjs4042y03bxbxwjs3pgrs99ba6vqvjaaz6zhaxxaqj1r12dwa0";
+      };
+      urlPrefix = mirror://ubuntu;
+      packages = commonDebPackages ++ [ "diffutils" ];
+    };
+ 
+    ubuntu1010x86_64 = {
+      name = "ubuntu-10.04-maverick-amd64";
+      fullName = "Ubuntu 10.04 Maverick (amd64)";
+      packagesList = fetchurl {
+        url = mirror://ubuntu/dists/maverick/main/binary-amd64/Packages.bz2;
+        sha256 = "1p0i4gp1bxd3zvckgnh1hx4vfc23rfgzd19dk5rmi61lzbzzqbgc";
+      };
+      urlPrefix = mirror://ubuntu;
       packages = commonDebPackages ++ [ "diffutils" ];
     };
 
@@ -1113,22 +1186,44 @@ rec {
     };
 
     debian50i386 = {
-      name = "debian-5.0.5-lenny-i386";
-      fullName = "Debian 5.0.5 Lenny (i386)";
+      name = "debian-5.0.8-lenny-i386";
+      fullName = "Debian 5.0.8 Lenny (i386)";
       packagesList = fetchurl {
         url = mirror://debian/dists/lenny/main/binary-i386/Packages.bz2;
-        sha256 = "1nzd0r44lnvw2bmshqpbhghs84fxbcr1jkg55d37v4d09gsdmln0";
+        sha256 = "0dcvd8ivn71dwln7mx5dbqj30v4cqmc61lj21ry05karkglb5scg";
       };
       urlPrefix = mirror://debian;
       packages = commonDebianPackages;
     };
         
     debian50x86_64 = {
-      name = "debian-5.0.5-lenny-amd64";
-      fullName = "Debian 5.0.5 Lenny (amd64)";
+      name = "debian-5.0.8-lenny-amd64";
+      fullName = "Debian 5.0.8 Lenny (amd64)";
       packagesList = fetchurl {
         url = mirror://debian/dists/lenny/main/binary-amd64/Packages.bz2;
-        sha256 = "04hab4ybjilppr1hwnl4k50vr5y88w7zn6v22phfrsrxf23nrlv3";
+        sha256 = "1wrqjfcqfs7q5i7jnr8115zsjlhzxxm2x41agp546d3wpj68k938";
+      };
+      urlPrefix = mirror://debian;
+      packages = commonDebianPackages;
+    };
+
+    debian60i386 = {
+      name = "debian-6.0-squeeze-i386";
+      fullName = "Debian 6.0 Squeeze (i386)";
+      packagesList = fetchurl {
+        url = mirror://debian/dists/squeeze/main/binary-i386/Packages.bz2;
+        sha256 = "1c1faz7ig9jvx3a2d2crp6fx0gynh5s4xw1vv1mn14rzkx86l59i";
+      };
+      urlPrefix = mirror://debian;
+      packages = commonDebianPackages;
+    };
+        
+    debian60x86_64 = {
+      name = "debian-6.0-squeeze-amd64";
+      fullName = "Debian 6.0 Squeeze (amd64)";
+      packagesList = fetchurl {
+        url = mirror://debian/dists/squeeze/main/binary-amd64/Packages.bz2;
+        sha256 = "1c1n16q0hrimrnmv6shrr0z82xjqfjhm17salry8xi984c5fprwd";
       };
       urlPrefix = mirror://debian;
       packages = commonDebianPackages;
@@ -1211,11 +1306,9 @@ rec {
     # Needed because it provides /etc/login.defs, whose absence causes
     # the "passwd" post-installs script to fail.
     "login"
-    # For shutting up some messages during some post-install scripts:
-    "mktemp"
   ];
 
-  commonDebianPackages = commonDebPackages ++ [ "sysvinit" "diff" ];
+  commonDebianPackages = commonDebPackages ++ [ "sysvinit" "diff" "mktemp" ];
   
 
   /* A set of functions that build the Linux distributions specified
diff --git a/pkgs/build-support/vm/test.nix b/pkgs/build-support/vm/test.nix
index be1ff5d1a92d..c742a05aa112 100644
--- a/pkgs/build-support/vm/test.nix
+++ b/pkgs/build-support/vm/test.nix
@@ -32,7 +32,7 @@ rec {
     '';
   });
 
-
+/*
   testFreeBSD = runInGenericVM {
     name = "aterm-freebsd";
     src = aterm242fixes.src;
@@ -65,6 +65,6 @@ rec {
       make install
     '';
   };
-  
+*/  
 
-}
\ No newline at end of file
+}
diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix
index 6fba5e429e79..71c66a0794b0 100644
--- a/pkgs/data/documentation/man-pages/default.nix
+++ b/pkgs/data/documentation/man-pages/default.nix
@@ -1,11 +1,11 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "man-pages-3.25";
+  name = "man-pages-3.32";
   
   src = fetchurl {
     url = "mirror://kernel/linux/docs/man-pages/Archive/${name}.tar.bz2";
-    sha256 = "1cq3zijmbsnjshkm78kffgqrdsxgg7ypvcf2digdyy0s9himnvwc";
+    sha256 = "1qr1k6kgx7i4gni9w2h610k2aa2bqdk7p08bmqslfwrzpmkkiawn";
   };
 
   preBuild =
diff --git a/pkgs/desktops/gnome-2.28/desktop/librsvg/default.nix b/pkgs/desktops/gnome-2.28/desktop/librsvg/default.nix
index 3e201efe6cbd..3472f606f863 100644
--- a/pkgs/desktops/gnome-2.28/desktop/librsvg/default.nix
+++ b/pkgs/desktops/gnome-2.28/desktop/librsvg/default.nix
@@ -6,5 +6,6 @@ stdenv.mkDerivation {
     url = mirror://gnome/sources/librsvg/2.26/librsvg-2.26.0.tar.bz2;
     sha256 = "1sivagvlyr58hxgazr6pyq3yfxbg0wrv7rgzsk5xi631v3qbbjpx";
   };
-  buildInputs = [ pkgconfig libxml2 libgsf bzip2 glib gtk libcroco ];
+  buildInputs = [ pkgconfig libxml2 libgsf bzip2 libcroco ];
+  propagatedBuildInputs = [ glib gtk ];
 }
diff --git a/pkgs/desktops/kde-4.4/accessibility/default.nix b/pkgs/desktops/kde-4.4/accessibility/default.nix
deleted file mode 100644
index ac69952f09a1..000000000000
--- a/pkgs/desktops/kde-4.4/accessibility/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{stdenv, fetchurl, lib, cmake, qt4, perl, alsaLib, libXi, libXtst, kdelibs, automoc4, phonon}:
-
-stdenv.mkDerivation {
-  name = "kdeaccessibility-4.4.5";
-  src = fetchurl {
-    url = mirror://kde/stable/4.4.5/src/kdeaccessibility-4.4.5.tar.bz2;
-    sha256 = "1j8ndr7hjkqka64kyy7whxg9vzxyym0a6pd1wbr6hp1a99mhz4jv";
-  };
-  # Missing: speechd, I was too lazy to implement this
-  buildInputs = [ cmake qt4 perl alsaLib libXi libXtst kdelibs automoc4 phonon ];
-  meta = {
-    description = "KDE accessibility tools";
-    license = "GPL";
-    homepage = http://www.kde.org;
-    inherit (kdelibs.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/admin/builder.sh b/pkgs/desktops/kde-4.4/admin/builder.sh
deleted file mode 100644
index 09cb930f0498..000000000000
--- a/pkgs/desktops/kde-4.4/admin/builder.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-source $stdenv/setup
-
-myPatchPhase()
-{
-    for i in system-config-printer-kde/cmake-modules/FindSystemConfigPrinter.py system-config-printer-kde/system-config-printer-kde.py
-    do
-	sed -i -e "s|/usr/share/system-config-printer|$system_config_printer/share/system-config-printer|" $i
-    done
-    
-    sed -i -e "s|import cupshelpers.ppds, cupshelpers.cupshelpers|import ppds, cupshelpers|" system-config-printer-kde/cmake-modules/FindSystemConfigPrinter.py
-}
-patchPhase=myPatchPhase
-genericBuild
diff --git a/pkgs/desktops/kde-4.4/admin/default.nix b/pkgs/desktops/kde-4.4/admin/default.nix
deleted file mode 100644
index 978c3be26c41..000000000000
--- a/pkgs/desktops/kde-4.4/admin/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, lib, cmake, qt4, pkgconfig, perl, python
-, sip, pyqt4, pycups, rhpl, system_config_printer
-, kdelibs, kdepimlibs, kdebindings, automoc4, phonon}:
-
-stdenv.mkDerivation {
-  name = "kdeadmin-4.4.5";
-  
-  src = fetchurl {
-    url = mirror://kde/stable/4.4.5/src/kdeadmin-4.4.5.tar.bz2;
-    sha256 = "1jmjvjjpkcjqdxyxc4n5z3l3p4hy8par06n7xicbzx9a1mzj71wy";
-  };
-  
-  builder = ./builder.sh;
-  
-  inherit system_config_printer;
-  
-  PYTHONPATH = "${pycups}/lib/python2.6/site-packages";
-  
-  buildInputs = [ cmake qt4 pkgconfig perl python sip pyqt4 pycups rhpl system_config_printer
-                  kdelibs kdepimlibs kdebindings automoc4 phonon ];
-                  
-  meta = {
-    description = "KDE Administration Utilities";
-    license = "GPL";
-    homepage = http://www.kde.org;
-    inherit (kdelibs.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/artwork/default.nix b/pkgs/desktops/kde-4.4/artwork/default.nix
deleted file mode 100644
index d1ef167951d7..000000000000
--- a/pkgs/desktops/kde-4.4/artwork/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ stdenv, fetchurl, lib, cmake, qt4, perl, xscreensaver
-, kdelibs, kdebase_workspace, automoc4, phonon, strigi, eigen}:
-
-stdenv.mkDerivation {
-  name = "kdeartwork-4.4.5";
-  src = fetchurl {
-    url = mirror://kde/stable/4.4.5/src/kdeartwork-4.4.5.tar.bz2;
-    sha256 = "1m12rj83wp36a3ii8frx52jk7hi7g8rb451n4g9hg5rdbllcfs93";
-  };
-  buildInputs = [ cmake qt4 perl xscreensaver
-                  kdelibs kdebase_workspace automoc4 phonon strigi eigen ];
-  meta = {
-    description = "KDE artwork";
-    longDescription = "Contains various artwork for KDE such as backgrounds, icons and screensavers";
-    license = "LGPL";
-    homepage = http://www.kde.org;
-    inherit (kdelibs.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/base-runtime/default.nix b/pkgs/desktops/kde-4.4/base-runtime/default.nix
deleted file mode 100644
index afe2b28ff844..000000000000
--- a/pkgs/desktops/kde-4.4/base-runtime/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, lib, cmake, perl, bzip2, xz, qt4, alsaLib, xineLib, samba, shared_mime_info, exiv2, libssh
-, kdelibs, automoc4, phonon, strigi, soprano, cluceneCore, attica, virtuoso, makeWrapper }:
-
-stdenv.mkDerivation {
-  name = "kdebase-runtime-4.4.5";
-  src = fetchurl {
-    url = mirror://kde/stable/4.4.5/src/kdebase-runtime-4.4.5.tar.bz2;
-    sha256 = "0a0lg0vkdq8v3rydg6n6nk3gqc3vn3sz2rn5gzm0vd2k5wyy8frx";
-  };
-
-/*  CLUCENE_HOME=cluceneCore;*/
-  buildInputs = [ cmake perl bzip2 xz qt4 alsaLib xineLib samba stdenv.gcc.libc shared_mime_info exiv2 libssh
-                  kdelibs automoc4 phonon strigi soprano cluceneCore attica makeWrapper];
-
-  postInstall = ''
-    wrapProgram "$out/bin/nepomukservicestub" --prefix LD_LIBRARY_PATH : "${virtuoso}/lib" \
-        --prefix PATH : "${virtuoso}/bin"
-  '';
-
-  meta = {
-    description = "KDE runtime";
-    longDescription = "Libraries and tools which supports running KDE desktop applications";
-    license = "LGPL";
-    homepage = http://www.kde.org;
-    inherit (kdelibs.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/base-workspace/default.nix b/pkgs/desktops/kde-4.4/base-workspace/default.nix
deleted file mode 100644
index 577ed62812fa..000000000000
--- a/pkgs/desktops/kde-4.4/base-workspace/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, lib, cmake, perl, python, pam, consolekit
-, qt4, sip, pyqt4, kdelibs, kdepimlibs, kdebindings
-, libXi, libXau, libXdmcp, libXtst, libXcomposite, libXdamage, libXScrnSaver
-, lm_sensors, libxklavier, libusb, libpthreadstubs, boost
-, automoc4, phonon, strigi, soprano, qimageblitz, akonadi, polkit_qt
-, bluez
-}:
-
-stdenv.mkDerivation {
-  name = "kdebase-workspace-4.4.5";
-  src = fetchurl {
-    url = mirror://kde/stable/4.4.5/src/kdebase-workspace-4.4.5.tar.bz2;
-    sha256 = "1ri0ghvbnjflpqzwgyhs3bl17gh2cvjffkcd6w0yymarv6n5sisk";
-  };
-  buildInputs = [ cmake perl python qt4 pam consolekit sip pyqt4 kdelibs libXtst
-    kdepimlibs kdebindings boost libusb stdenv.gcc.libc libXi libXau libXdmcp
-    libXcomposite libXdamage libXScrnSaver lm_sensors libxklavier automoc4
-    phonon strigi soprano qimageblitz akonadi polkit_qt libpthreadstubs bluez ];
-  patchPhase=''
-    sed -i -e 's|''${PYTHON_SITE_PACKAGES_DIR}|''${CMAKE_INSTALL_PREFIX}/lib/python2.6/site-packages|' \
-      plasma/generic/scriptengines/python/CMakeLists.txt
-  '';
-  meta = {
-    description = "KDE Workspace";
-    longDescription = "KDE base components that are only required to work with X11 such KDM and KWin";
-    license = "GPL";
-    inherit (kdelibs.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/base/default.nix b/pkgs/desktops/kde-4.4/base/default.nix
deleted file mode 100644
index ef31022d016a..000000000000
--- a/pkgs/desktops/kde-4.4/base/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, lib, cmake, perl, qt4, kdelibs, pciutils, libraw1394
-, kdebase_workspace
-, automoc4, phonon, strigi, qimageblitz, soprano}:
-
-stdenv.mkDerivation {
-  name = "kdebase-4.4.5";
-  src = fetchurl {
-    url = mirror://kde/stable/4.4.5/src/kdebase-4.4.5.tar.bz2;
-    sha256 = "1q3bmpskrfqddyywn895xdp9p53hbd7siabvla7w6z35azi9fpn9";
-  };
-  buildInputs = [ cmake perl qt4 kdelibs pciutils stdenv.gcc.libc libraw1394
-                  kdebase_workspace automoc4 phonon strigi qimageblitz soprano ];
-  meta = {
-    description = "KDE Base components";
-    longDescription = "Applications that form the KDE desktop, like Plasma, System Settings, Konqueror, Dolphin, Kate, and Konsole";
-    license = "GPL";
-    homepage = http://www.kde.org;
-    inherit (kdelibs.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/bindings/default.nix b/pkgs/desktops/kde-4.4/bindings/default.nix
deleted file mode 100644
index e0003ec461c9..000000000000
--- a/pkgs/desktops/kde-4.4/bindings/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ stdenv, fetchurl, lib, cmake, perl, python, sip, pyqt4, zlib, libpng, freetype, fontconfig, qt4, boost
-, kdelibs, kdepimlibs, automoc4, phonon, soprano, akonadi, qimageblitz, attica, polkit_qt
-}:
-
-# This function will only build the pykde4 module. I don't need the other bindings and
-# some bindings are even broken.
-
-stdenv.mkDerivation {
-  name = "kdebindings-4.4.5";
-  
-  src = fetchurl {
-    url = mirror://kde/stable/4.4.5/src/kdebindings-4.4.5.tar.bz2;
-    sha256 = "0l8lk8vl68jc82lai4ljlm9ph53q4fn0ki0jq45lizdmqjgvahy4";
-  };
-
-  patches =
-    [ (fetchurl {
-        url = "http://bugs.gentoo.org/attachment.cgi?id=238975";
-        sha256 = "0vng8j8fhbq5ys8hy0bcvi6x2bym9j65dh61m2c1dr3z7rsx2bqb";
-      })
-    ];
-  
-  # Disable smoke because I don't need it and gives us an error
-  cmakeFlags = [ "-DENABLE_SMOKE=OFF" ];
-  preConfigure = ''
-    cmakeFlags="$cmakeFlags -DPYTHON_SITE_PACKAGES_DIR=$out/lib/${python.libPrefix}/site-packages"
-    cmakeFlags="$cmakeFlags -DSIP_DEFAULT_SIP_DIR=$out/share/sip"
-  '';
-  
-  # Okular seems also an optional depenedency which I left out
-  buildInputs = [ cmake perl python sip pyqt4 zlib libpng freetype fontconfig qt4 boost
-		  kdelibs kdepimlibs automoc4 phonon soprano akonadi qimageblitz attica polkit_qt ];
-  meta = {
-    description = "KDE bindings";
-    longDescription = "Provides KDE bindings for several languages such as Java, Smoke and Python";
-    license = "LGPL";
-    homepage = http://www.kde.org;
-    inherit (kdelibs.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/default.nix b/pkgs/desktops/kde-4.4/default.nix
deleted file mode 100644
index 9e64b0b7c5fd..000000000000
--- a/pkgs/desktops/kde-4.4/default.nix
+++ /dev/null
@@ -1,231 +0,0 @@
-pkgs:
-
-pkgs.recurseIntoAttrs (rec {
-  inherit (pkgs) qt4 stdenv;
-
-### SUPPORT
-  automoc4 = import ./support/automoc4 {
-    inherit (pkgs) stdenv fetchurl lib cmake;
-    inherit (pkgs) qt4;
-  };
-
-  phonon = import ./support/phonon {
-    inherit (pkgs) stdenv fetchurl cmake pkgconfig;
-    inherit (pkgs) qt4 xineLib;
-    pulseaudio = if pkgs.getConfig ["phonon" "pulseaudioSupport"] true then pkgs.pulseaudio else null;
-    inherit (pkgs.gst_all) gstreamer gstPluginsBase;
-    inherit (pkgs.xlibs) libXau libXdmcp libpthreadstubs;
-    inherit automoc4;
-  };
-
-  strigi = import ./support/strigi {
-    inherit (pkgs) stdenv fetchurl lib cmake perl;
-    inherit (pkgs) bzip2 qt4 libxml2 expat exiv2 cluceneCore;
-  };
-  
-  soprano = import ./support/soprano {
-    inherit (pkgs) stdenv fetchurl lib cmake;
-    inherit (pkgs) qt4 cluceneCore redland libiodbc;
-  };
-  
-  qimageblitz = import ./support/qimageblitz {
-    inherit (pkgs) stdenv fetchurl lib cmake qt4;
-  };
-  
-  qca2 = import ./support/qca2 {
-    inherit (pkgs) stdenv fetchurl which qt4;
-  };
-
-  qca2_ossl = import ./support/qca2/ossl.nix {
-    inherit (pkgs) stdenv fetchurl fetchsvn qt4 openssl;
-    inherit qca2;
-  };
-  
-  akonadi = import ./support/akonadi {
-    inherit (pkgs) stdenv fetchurl cmake qt4 shared_mime_info libxslt boost mysql;
-    inherit automoc4 soprano;
-  };
-  
-  eigen = import ./support/eigen {
-    inherit (pkgs) stdenv fetchurl lib cmake;
-  };
-  
-  polkit_qt = import ./support/polkit-qt {
-    inherit (pkgs) stdenv fetchurl lib cmake qt4 policykit;
-    inherit automoc4;
-  };
-  
-  attica = import ./support/attica {
-    inherit (pkgs) stdenv fetchurl cmake qt4;
-  };
-  
-### LIBS
-  kdelibs = import ./libs {
-    inherit (pkgs) stdenv fetchurl lib cmake qt4 perl bzip2 pcre fam libxml2 libxslt;
-    inherit (pkgs) xz flex bison giflib jasper openexr aspell avahi shared_mime_info
-      kerberos acl attr shared_desktop_ontologies enchant;
-    inherit (pkgs.xlibs) libXScrnSaver;
-    inherit automoc4 phonon strigi soprano qca2 attica polkit_qt;
-  };
-  
-### BASE  
-  kdebase_workspace = import ./base-workspace {
-    inherit (pkgs) stdenv fetchurl lib cmake qt4 perl python pam sip pyqt4;
-    inherit (pkgs) lm_sensors libxklavier libusb boost consolekit;
-    inherit (pkgs.xlibs) libXi libXau libXdmcp libXtst libXcomposite libXdamage libXScrnSaver libpthreadstubs;
-    inherit kdelibs kdepimlibs kdebindings;
-    inherit automoc4 phonon strigi soprano qimageblitz akonadi polkit_qt;
-    inherit (pkgs) bluez;
-  };
-  
-  kdebase = import ./base {
-    inherit (pkgs) stdenv fetchurl lib cmake perl qt4 pciutils libraw1394;
-    inherit kdelibs kdebase_workspace;
-    inherit automoc4 phonon strigi qimageblitz soprano;
-  };
-  
-  kdebase_runtime = import ./base-runtime {
-    inherit (pkgs) stdenv fetchurl lib cmake perl bzip2 xz qt4 exiv2 libssh makeWrapper;
-    inherit (pkgs) shared_mime_info xineLib alsaLib samba cluceneCore virtuoso;
-    inherit kdelibs attica;
-    inherit automoc4 phonon strigi soprano;
-  };
-
-  oxygen_icons = import ./oxygen-icons {
-    inherit (pkgs) stdenv fetchurl lib cmake;
-  };
-  
-### ADDITIONAL
-
-  kdepimlibs = import ./pimlibs {
-    inherit (pkgs) stdenv fetchurl lib cmake qt4 perl boost cyrus_sasl gpgme;
-    inherit (pkgs) libical openldap shared_mime_info;
-    inherit kdelibs;
-    inherit automoc4 phonon akonadi;
-  };
-  
-  kdeadmin = import ./admin {
-    inherit (pkgs) stdenv fetchurl lib cmake qt4 pkgconfig perl python sip pyqt4 pycups rhpl system_config_printer;
-    inherit kdelibs kdepimlibs kdebindings;
-    inherit automoc4 phonon;
-  };
-  
-  kdeartwork = import ./artwork {
-    inherit (pkgs) stdenv fetchurl lib cmake qt4 perl xscreensaver;
-    inherit kdelibs kdebase_workspace;
-    inherit automoc4 phonon strigi eigen;
-  };
-  
-  kdeaccessibility = import ./accessibility {
-    inherit (pkgs) stdenv fetchurl lib cmake qt4 perl alsaLib;
-    inherit (pkgs.xlibs) libXi libXtst;
-    inherit kdelibs;
-    inherit automoc4 phonon;
-  };
-  
-  kdeedu = import ./edu {
-    inherit (pkgs) stdenv fetchurl lib cmake qt4 perl libxml2 libxslt openbabel boost;
-    inherit (pkgs) readline gmm gsl xplanet libspectre;
-    inherit kdelibs attica;
-    inherit automoc4 phonon eigen;
-  };
-  
-  kdegraphics = import ./graphics {
-    inherit (pkgs) stdenv fetchurl lib cmake perl qt4 exiv2 lcms saneBackends libgphoto2;
-    inherit (pkgs) libspectre djvulibre chmlib shared_mime_info;
-    inherit (pkgs.xlibs) libXxf86vm;
-    poppler = pkgs.popplerQt4;
-    inherit kdelibs;
-    inherit automoc4 phonon strigi qimageblitz soprano qca2;
-  };
-  
-  kdemultimedia = import ./multimedia {
-    inherit (pkgs) stdenv fetchurl lib cmake perl qt4;
-    inherit (pkgs) alsaLib xineLib libvorbis flac taglib cdparanoia lame;
-    inherit kdelibs;
-    inherit automoc4 phonon;
-  };
-  
-  kdenetwork = import ./network {
-    inherit (pkgs) stdenv fetchurl lib cmake qt4 perl gmp speex libxml2 libxslt sqlite alsaLib;
-    inherit (pkgs) libidn libvncserver libmsn giflib gpgme boost libv4l libotr;
-    inherit (pkgs.xlibs) libXi libXtst libXdamage libXxf86vm;
-    inherit kdelibs kdepimlibs;
-    inherit automoc4 phonon qca2 soprano qimageblitz strigi;
-  };
-  
-  kdepim = import ./pim {
-    inherit (pkgs) stdenv fetchurl lib cmake qt4 perl boost gpgme libassuan libgpgerror libxslt;
-    inherit (pkgs) shared_mime_info;
-    inherit (pkgs.xlibs) libXScrnSaver;
-    inherit kdelibs kdepimlibs kdepim_runtime;
-    inherit automoc4 phonon akonadi strigi soprano qca2;
-  };
-  
-  kdepim_runtime = import ./pim-runtime {
-    inherit (pkgs) stdenv fetchurl lib cmake qt4 perl libxml2 libxslt boost;
-    inherit (pkgs) shared_mime_info;
-    inherit kdelibs kdepimlibs;
-    inherit automoc4 phonon akonadi soprano strigi;
-  };
-  
-  kdeplasma_addons = import ./plasma-addons {
-    inherit (pkgs) stdenv fetchurl lib cmake qt4 perl python shared_mime_info;
-    inherit (pkgs.xlibs) libXtst libXi;    
-    inherit kdelibs kdebase_workspace kdepimlibs kdebase kdegraphics kdeedu;
-    inherit automoc4 phonon soprano eigen qimageblitz attica qca2;
-  };
-  
-  kdegames = import ./games {
-    inherit (pkgs) stdenv fetchurl lib cmake qt4 perl shared_mime_info;
-    inherit kdelibs;
-    inherit automoc4 phonon qca2;
-  };
-
-  kdetoys = import ./toys {
-    inherit (pkgs) stdenv fetchurl lib cmake qt4 perl;
-    inherit kdelibs kdebase_workspace;
-    inherit automoc4 phonon;
-  };
-    
-  kdeutils = import ./utils {
-    inherit (pkgs) stdenv fetchurl lib cmake qt4 perl python gmp libzip libarchive xz sip pyqt4 pycups rhpl system_config_printer;
-    inherit kdelibs kdepimlibs kdebase kdebindings;
-    inherit automoc4 phonon qimageblitz qca2;
-  };
-  
-### DEVELOPMENT
-
-  kdebindings = import ./bindings {
-    inherit (pkgs) stdenv fetchurl cmake perl lib python sip zlib libpng pyqt4 freetype fontconfig qt4 boost;
-    inherit kdelibs kdepimlibs automoc4 phonon soprano akonadi qimageblitz attica polkit_qt;
-  };
-  
-  kdesdk = import ./sdk {
-    inherit (pkgs) stdenv fetchurl cmake qt4 perl libxml2 libxslt boost
-      subversion apr aprutil shared_mime_info hunspell;
-    inherit kdelibs kdepimlibs;
-    inherit automoc4 phonon strigi;
-  };
-  
-  kdewebdev = import ./webdev {
-    inherit (pkgs) stdenv fetchurl lib cmake qt4 perl libxml2 libxslt boost;
-    inherit kdelibs kdepimlibs;
-    inherit automoc4 phonon;
-  };
-
-#### EXTRA GEAR
-
-  k3b = import ./extragear/k3b {
-    inherit (pkgs) stdenv fetchurl cmake qt4 perl shared_mime_info libvorbis taglib gettext;
-    inherit (pkgs) ffmpeg flac libsamplerate libdvdread lame libsndfile libmad;
-    inherit kdelibs kdemultimedia;
-    inherit automoc4 phonon;
-  };
-
-  l10n = pkgs.recurseIntoAttrs (import ./l10n {
-    inherit (pkgs) stdenv fetchurl lib cmake qt4 perl gettext;
-    inherit kdelibs;
-    inherit automoc4 phonon;
-  });
-})
diff --git a/pkgs/desktops/kde-4.4/edu/default.nix b/pkgs/desktops/kde-4.4/edu/default.nix
deleted file mode 100644
index becfb421f253..000000000000
--- a/pkgs/desktops/kde-4.4/edu/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, lib, cmake, qt4, perl, libxml2, libxslt, openbabel, boost, readline, gmm, gsl
-, xplanet, libspectre
-, kdelibs, automoc4, phonon, eigen, attica}:
-
-stdenv.mkDerivation {
-  name = "kdeedu-4.4.5";
-  src = fetchurl {
-    url = mirror://kde/stable/4.4.5/src/kdeedu-4.4.5.tar.bz2;
-    sha256 = "1n5r50w6510jr2l7faxkbz684bj1aw7s2arxqvasfs51hn2jl9qk";
-  };
-#TODO: facile, indi, boost.python, cfitsio, R, qalculate
-  buildInputs = [ cmake qt4 perl libxml2 libxslt openbabel boost readline gmm gsl xplanet
-                  kdelibs automoc4 phonon eigen attica libspectre ];
-  meta = {
-    description = "KDE Educative software";
-    license = "GPL";
-    homepage = http://www.kde.org;
-    inherit (kdelibs.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/extragear/k3b/default.nix b/pkgs/desktops/kde-4.4/extragear/k3b/default.nix
deleted file mode 100644
index 835dbe69593b..000000000000
--- a/pkgs/desktops/kde-4.4/extragear/k3b/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchurl, cmake, qt4, perl, shared_mime_info, libvorbis, taglib
-, ffmpeg, flac, libsamplerate, libdvdread, lame, libsndfile, libmad, gettext
-, kdelibs, kdemultimedia
-, automoc4, phonon
-}:
-
-stdenv.mkDerivation {
-  name = "k3b-2.0.0";
-  src = fetchurl {
-    url = mirror://sourceforge/k3b/k3b-2.0.0.tar.bz2;
-    sha256 = "0jrl4z9k5ml82xd903n4dm68fvmrkyp3k7c17b2494y2gawzqwfz";
-  };
-  buildInputs = [ cmake qt4 perl shared_mime_info libvorbis taglib 
-                  ffmpeg flac libsamplerate libdvdread lame libsndfile
-		  libmad gettext stdenv.gcc.libc
-                  kdelibs kdemultimedia automoc4 phonon ];
-  meta = {
-    description = "CD/DVD Burning Application for KDE";
-    license = "GPLv2+";
-    maintainers = [ stdenv.lib.maintainers.sander ];
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/games/default.nix b/pkgs/desktops/kde-4.4/games/default.nix
deleted file mode 100644
index aea958f185a8..000000000000
--- a/pkgs/desktops/kde-4.4/games/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{stdenv, fetchurl, lib, cmake, qt4, perl, shared_mime_info, kdelibs, automoc4, phonon, qca2}:
-
-stdenv.mkDerivation {
-  name = "kdegames-4.4.5";
-  src = fetchurl {
-    url = mirror://kde/stable/4.4.5/src/kdegames-4.4.5.tar.bz2;
-    sha256 = "02p4ggwk1rdxljax2iry7hirh90llcbqwynccxz4n4j6q219k6d3";
-  };
-  buildInputs = [ cmake qt4 perl shared_mime_info kdelibs automoc4 phonon qca2 ];
-  meta = {
-    description = "KDE Games";
-    homepage = http://www.kde.org;
-    license = "GPL";
-    inherit (kdelibs.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/graphics/default.nix b/pkgs/desktops/kde-4.4/graphics/default.nix
deleted file mode 100644
index 5f5b7330a465..000000000000
--- a/pkgs/desktops/kde-4.4/graphics/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, cmake, lib, perl, qt4, exiv2, lcms, saneBackends, libgphoto2
-, libspectre, poppler, djvulibre, chmlib, shared_mime_info, libXxf86vm
-, kdelibs, automoc4, phonon, strigi, qimageblitz, soprano, qca2}:
-
-stdenv.mkDerivation {
-  name = "kdegraphics-4.4.5";
-  src = fetchurl {
-    url = mirror://kde/stable/4.4.5/src/kdegraphics-4.4.5.tar.bz2;
-    sha256 = "1y9ndv0gajhyqiavm4zml6dyn1czrpan03wcn4civkcsgrm3gz8y";
-  };
-  buildInputs = [ cmake perl qt4 exiv2 lcms saneBackends libgphoto2 libspectre poppler chmlib
-                  shared_mime_info stdenv.gcc.libc libXxf86vm
-                  kdelibs automoc4 phonon strigi qimageblitz soprano qca2
-                  djvulibre];
-  meta = {
-    description = "KDE graphics utilities";
-    longDescription = ''
-      Contains various graphics utilities such as the Gwenview image viewer and
-      Okular a document reader.
-    '';
-    license = "GPL";
-    inherit (kdelibs.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/l10n/default.nix b/pkgs/desktops/kde-4.4/l10n/default.nix
deleted file mode 100644
index 589b8ac040a4..000000000000
--- a/pkgs/desktops/kde-4.4/l10n/default.nix
+++ /dev/null
@@ -1,366 +0,0 @@
-# THIS IS A GENERATED FILE.  DO NOT EDIT!
-{stdenv, fetchurl, lib, cmake, qt4, perl, gettext, kdelibs, automoc4, phonon}:
-
-let
-
-  deriv = attr : stdenv.mkDerivation {
-    name = "kde-l10n-${attr.lang}-4.4.5";
-    src = fetchurl {
-      url = attr.url;
-      sha256 = attr.sha256;
-    };
-    buildInputs = [ cmake qt4 perl gettext kdelibs automoc4 phonon ];
-    cmakeFlagsArray = [ "-DGETTEXT_INCLUDE_DIR=${gettext}/include" ];
-    meta = {
-      description = "KDE l10n for ${attr.lang}";
-      license = "GPL";
-      homepage = http://www.kde.org;
-    };
-  };
-
-in
-{
-
-  ar = deriv {
-    lang = "ar";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-ar-4.4.5.tar.bz2";
-    sha256 = "1nc5kpy4cq7cjck6dfzql9djmnimz0khngscdrl8yhahg78sndq7";
-  };
-
-  bg = deriv {
-    lang = "bg";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-bg-4.4.5.tar.bz2";
-    sha256 = "136llbcv3955ih33ih0j2ccbnj4whc9jidf9flr7kpkz5pin4k11";
-  };
-
-  ca = deriv {
-    lang = "ca";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-ca-4.4.5.tar.bz2";
-    sha256 = "1qc9ka78qcmy0pq9q7xa61lmcfz77picxlzs0g46npv073kyn4xp";
-  };
-
-  cs = deriv {
-    lang = "cs";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-cs-4.4.5.tar.bz2";
-    sha256 = "0q9cay61sv6rrsim3v91n8xbpsc0qm97sbhgaa6p5s63xpvpjzp8";
-  };
-
-  csb = deriv {
-    lang = "csb";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-csb-4.4.5.tar.bz2";
-    sha256 = "1yy1jdjskz96nha1lmxy4yjl8wfljp4qgzydxw2pcac54hr6wgxr";
-  };
-
-  da = deriv {
-    lang = "da";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-da-4.4.5.tar.bz2";
-    sha256 = "0qdqa31i0vyg95dqbwg3zyprzdgq7xmvk3iax5dsi9q2bms1cxq5";
-  };
-
-  de = deriv {
-    lang = "de";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-de-4.4.5.tar.bz2";
-    sha256 = "0562srr33k648q8xc3865j9clrwqj8ihv7n6f7dmnbkcn93jcp5x";
-  };
-
-  el = deriv {
-    lang = "el";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-el-4.4.5.tar.bz2";
-    sha256 = "1rc7cap8xb28bv7f1fk3m1mbylixy246zq4srws0pawdfdm9k5nj";
-  };
-
-  en_GB = deriv {
-    lang = "en_GB";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-en_GB-4.4.5.tar.bz2";
-    sha256 = "0zpj06jx77fviv90k56br94fn28bimfhva3r12idr6fli5il99y5";
-  };
-
-  eo = deriv {
-    lang = "eo";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-eo-4.4.5.tar.bz2";
-    sha256 = "1mwmlg4dxk1alzq768j07ccyflil60dm63d6008s2hg4jw0pgpkr";
-  };
-
-  es = deriv {
-    lang = "es";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-es-4.4.5.tar.bz2";
-    sha256 = "0flddrdkys6p7cd5vfakdl2g7vpc6h277a4phszmlnssfr2jlhib";
-  };
-
-  et = deriv {
-    lang = "et";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-et-4.4.5.tar.bz2";
-    sha256 = "0vpn8ylr336i9hax24jvxxy284gaw7jcxwqxgkqc3c7fl9nji7xz";
-  };
-
-  eu = deriv {
-    lang = "eu";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-eu-4.4.5.tar.bz2";
-    sha256 = "0q0h2q73jha1vgk60b1ycfh2ci5vavscva9a1xl42rzkxrqzp7bw";
-  };
-
-  fi = deriv {
-    lang = "fi";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-fi-4.4.5.tar.bz2";
-    sha256 = "19anfv3jxlnzs6mx5qlfj9v6nxxpbn2g5vppj771y7ir2wgx79gx";
-  };
-
-  fr = deriv {
-    lang = "fr";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-fr-4.4.5.tar.bz2";
-    sha256 = "09qzm6zr8rjsr50bxr3cnsfj4l4qpzf1dmkx3qk0vvvmagry23vy";
-  };
-
-  fy = deriv {
-    lang = "fy";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-fy-4.4.5.tar.bz2";
-    sha256 = "01pa23gxy0a3jsnsdvsbgsfdfvwiancyx3w4fw3gx4b4j9y9gfry";
-  };
-
-  ga = deriv {
-    lang = "ga";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-ga-4.4.5.tar.bz2";
-    sha256 = "0dfq497v8shzr2r1nqs093nyd32ka74wznp20z2wgsw8yfylgbhs";
-  };
-
-  gl = deriv {
-    lang = "gl";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-gl-4.4.5.tar.bz2";
-    sha256 = "0lp443wpi7gj7i078mxbxswk4niziqc5iyw4mx94cm4g0h2k3cba";
-  };
-
-  gu = deriv {
-    lang = "gu";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-gu-4.4.5.tar.bz2";
-    sha256 = "0s959r1c5klh0cr6mczmmfzsgvzyihpacia46q8ckvjddx7zmb0b";
-  };
-
-  he = deriv {
-    lang = "he";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-he-4.4.5.tar.bz2";
-    sha256 = "090s786g9f1jas8dqsh7hqx5idzckd0lg5gz1v7fx254qnfmj6rx";
-  };
-
-  hi = deriv {
-    lang = "hi";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-hi-4.4.5.tar.bz2";
-    sha256 = "1ysw8h7v0a2idf13jxi46k1b28vg8yl11hfzin4ihfbr5q03fqck";
-  };
-
-  hr = deriv {
-    lang = "hr";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-hr-4.4.5.tar.bz2";
-    sha256 = "0fh7mfzy41mx0c3mvrv2rdwmk82mrlb84azzvfsanznzk74pnbgr";
-  };
-
-  hu = deriv {
-    lang = "hu";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-hu-4.4.5.tar.bz2";
-    sha256 = "1yw91mzc4mcjzqk7syxkxybby6ay02z8ssbhbjm8vb52mh1a9js7";
-  };
-
-  id = deriv {
-    lang = "id";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-id-4.4.5.tar.bz2";
-    sha256 = "1ds4ncfb4xp0bd0dijichgp289abhm10f285bwnanzzjn442i4x6";
-  };
-
-  is = deriv {
-    lang = "is";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-is-4.4.5.tar.bz2";
-    sha256 = "07xx45wy1n5kqg6fwdl27w1kpvqs6djj6yv6lxq2vbh5di3h5zpj";
-  };
-
-  it = deriv {
-    lang = "it";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-it-4.4.5.tar.bz2";
-    sha256 = "1agl195pkxh55669gmcnd97z3bd9ff1c448d8rnq2rqr0xysj1mr";
-  };
-
-  ja = deriv {
-    lang = "ja";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-ja-4.4.5.tar.bz2";
-    sha256 = "0axra17rpv5hdr83yvd0n3kgp51frkf5b5kfg1bg7sf44kn9fhv5";
-  };
-
-  kk = deriv {
-    lang = "kk";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-kk-4.4.5.tar.bz2";
-    sha256 = "1gkli53ryfbb64b9x2fl76cid98m99lxszn0cczfmfdvjlc0vgxr";
-  };
-
-  km = deriv {
-    lang = "km";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-km-4.4.5.tar.bz2";
-    sha256 = "0113z5560zsjr9jrgh58nch9h4xlqclld2zqc8yah90i7jpas3aq";
-  };
-
-  kn = deriv {
-    lang = "kn";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-kn-4.4.5.tar.bz2";
-    sha256 = "0m6gz9sl21hfnpk3z8y33aqfv17z1x1b8j24jf88qvl01nsk4889";
-  };
-
-  ko = deriv {
-    lang = "ko";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-ko-4.4.5.tar.bz2";
-    sha256 = "0j30rj155fcd0wmbkbbwm2vybb9x3g6dq3mipmf1zipm1nm7m64l";
-  };
-
-  lt = deriv {
-    lang = "lt";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-lt-4.4.5.tar.bz2";
-    sha256 = "10swp16mab3kh393dcwn1k9qm5jrcqigixrw39hlbsyaw9jf9j37";
-  };
-
-  lv = deriv {
-    lang = "lv";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-lv-4.4.5.tar.bz2";
-    sha256 = "0niyc9awcdfnx3gi63vw83ni1nb870384f4wyhmms8zdkvca5hjc";
-  };
-
-  mai = deriv {
-    lang = "mai";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-mai-4.4.5.tar.bz2";
-    sha256 = "1clmcpqj4m7mwf2v62500jqjb94gpmlzxjp3cflraf9w4nmvv66a";
-  };
-
-  mk = deriv {
-    lang = "mk";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-mk-4.4.5.tar.bz2";
-    sha256 = "09gbk50bw7d8hpj0jwyz0wzd34fq7h9r35vj6750vpv7pbyz4l7q";
-  };
-
-  ml = deriv {
-    lang = "ml";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-ml-4.4.5.tar.bz2";
-    sha256 = "1bsr4civp003wgnpl790z5cfh1rayn7xc6lvvrpk4hrcr2b5skj9";
-  };
-
-  nb = deriv {
-    lang = "nb";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-nb-4.4.5.tar.bz2";
-    sha256 = "1i9chazhp0s22rva0swkvd7zpl5my6pbgckn5fj924fkbs6336jl";
-  };
-
-  nds = deriv {
-    lang = "nds";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-nds-4.4.5.tar.bz2";
-    sha256 = "0kyn8mn8jm03sd56q6hm884ywshl5i6wy9vmskaqpclp9y6xbwlc";
-  };
-
-  nl = deriv {
-    lang = "nl";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-nl-4.4.5.tar.bz2";
-    sha256 = "0fnssviivx8xdg9vq5iy44al6dz82mg3p41ngkyghh25xfm0iswr";
-  };
-
-  nn = deriv {
-    lang = "nn";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-nn-4.4.5.tar.bz2";
-    sha256 = "0mfr3jqx1nrd3gf4319c29f3hhks9b2hn7r6bidwsmipar8b3pgd";
-  };
-
-  pa = deriv {
-    lang = "pa";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-pa-4.4.5.tar.bz2";
-    sha256 = "0aciihaprzndn5j4d8dsc2b13sq1xac89j6r0assbvhgmix06844";
-  };
-
-  pl = deriv {
-    lang = "pl";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-pl-4.4.5.tar.bz2";
-    sha256 = "1xq63d020k8fyqc0akpm3kvqrvg2g91r679ny51n13xmdcq59y1f";
-  };
-
-  pt = deriv {
-    lang = "pt";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-pt-4.4.5.tar.bz2";
-    sha256 = "0bkmw9rs7wzlycvih0ma97a3n1ly4x8cyv5c682rf3ykvnmkv1n1";
-  };
-
-  pt_BR = deriv {
-    lang = "pt_BR";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-pt_BR-4.4.5.tar.bz2";
-    sha256 = "1c4y5d7s2yvydnr0dmgnr0g871mblvkx0higzwivknd54nzf6fba";
-  };
-
-  ro = deriv {
-    lang = "ro";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-ro-4.4.5.tar.bz2";
-    sha256 = "1lmz85a011m0f0cq7pj4ni2q3p3dzqqbgmii63hrn29ss4kvvkyw";
-  };
-
-  ru = deriv {
-    lang = "ru";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-ru-4.4.5.tar.bz2";
-    sha256 = "09ywm943k2v0cj3a82wrayi05m4gx2vvjff37v5hj4fxxw8785sv";
-  };
-
-  si = deriv {
-    lang = "si";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-si-4.4.5.tar.bz2";
-    sha256 = "0x3c9qp2crfghws0dckhjgjs3znvbj1pzllipj587snj2m43a1m8";
-  };
-
-  sk = deriv {
-    lang = "sk";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-sk-4.4.5.tar.bz2";
-    sha256 = "11dl6g4gyf62sxgxa1mpd6j78alkavsvqbjs46pv4jzl0c6z586z";
-  };
-
-  sl = deriv {
-    lang = "sl";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-sl-4.4.5.tar.bz2";
-    sha256 = "1p73g5bgyfzkfk8z6fi3kp2zs9hax4hwsf526hzs73v3z9prki9d";
-  };
-
-  sr = deriv {
-    lang = "sr";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-sr-4.4.5.tar.bz2";
-    sha256 = "1db60arnzpn9ca3zjnvfgx2sr5dw49w6z7ff6knpi88kzalv1w1i";
-  };
-
-  sv = deriv {
-    lang = "sv";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-sv-4.4.5.tar.bz2";
-    sha256 = "1ilpfca451xy6ls86l1pvd7srs3075h70kysyn1q4h9j18gfy03q";
-  };
-
-  tg = deriv {
-    lang = "tg";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-tg-4.4.5.tar.bz2";
-    sha256 = "0a0rvjqlvlzd99k1c04qmhkwg5814qcnjanx4dryqj5ridv2l2k1";
-  };
-
-  tr = deriv {
-    lang = "tr";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-tr-4.4.5.tar.bz2";
-    sha256 = "1im41dvwrf9bhk3yqprxbzjz7ark1kpc3bbix49c6fbmgkvfn2h5";
-  };
-
-  uk = deriv {
-    lang = "uk";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-uk-4.4.5.tar.bz2";
-    sha256 = "1ik51g3bgj4vvy3wzdnm7p2liwrkk3nrszydl7j2024fzj2vfyd2";
-  };
-
-  wa = deriv {
-    lang = "wa";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-wa-4.4.5.tar.bz2";
-    sha256 = "0mcv8rf54vxfq8ql4h8b573xdlw9x6j740zq7ki1qscvgrcj03g0";
-  };
-
-  zh_CN = deriv {
-    lang = "zh_CN";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-zh_CN-4.4.5.tar.bz2";
-    sha256 = "0w42x6dwnhz8668smgk3ld8bb7dvx60py4q7fj50qmipkb8vwh20";
-  };
-
-  zh_TW = deriv {
-    lang = "zh_TW";
-    url = "mirror://kde/stable/4.4.5/src/kde-l10n/kde-l10n-zh_TW-4.4.5.tar.bz2";
-    sha256 = "19hvc57s37kpby1hjy6w5xi37a9n23rfxb53aj2lvdbar8ac9lci";
-  };
-
-}
diff --git a/pkgs/desktops/kde-4.4/l10n/generate-expr-from-tarballs.pl b/pkgs/desktops/kde-4.4/l10n/generate-expr-from-tarballs.pl
deleted file mode 100755
index 32dbfa1488db..000000000000
--- a/pkgs/desktops/kde-4.4/l10n/generate-expr-from-tarballs.pl
+++ /dev/null
@@ -1,101 +0,0 @@
-#! /usr/bin/perl -w
-
-# Typical command to generate the list of tarballs:
-
-# export i="mirror://kde/stable/4.4.2/src/kde-l10n/"; cat $(PRINT_PATH=1 nix-prefetch-url $i | tail -n 1) | perl -e 'while (<>) { if (/(href|HREF)="([^"]*.bz2)"/) { print "$ENV{'i'}$2\n"; }; }' | sort > tarballs.list
-# manually update extra.list
-# then run: cat tarballs-7.4.list extra.list old.list | perl ./generate-expr-from-tarballs.pl
-
-use strict;
-
-my $tmpDir = "/tmp/xorg-unpack";
-
-
-my %pkgURLs;
-my %pkgHashes;
-my %pkgNames;
-
-my $downloadCache = "./download-cache";
-$ENV{'NIX_DOWNLOAD_CACHE'} = $downloadCache;
-mkdir $downloadCache, 0755;
-
-while (<>) {
-    chomp;
-    my $tarball = "$_";
-    print "\nDOING TARBALL $tarball\n";
-
-    $tarball =~ /\/((?:(?:[A-Za-z0-9_]|(?:-[^0-9])|(?:-[0-9]*[a-z]))+))[^\/]*$/;
-    die unless defined $1;
-    my $pkg = $1;
-    $pkg =~ s/kde-l10n-//g;
-
-    $tarball =~ /\/([^\/]*)\.tar\.bz2$/;
-    my $pkgName = $pkg;
-
-    print "  $pkg $pkgName\n";
-
-    if (defined $pkgNames{$pkg}) {
-	print "  SKIPPING\n";
-	next;
-    }
-
-    $pkgNames{$pkg} = $pkgName;
-    $pkgURLs{$pkg} = $tarball;
-
-    my ($hash, $path) = `PRINT_PATH=1 QUIET=1 nix-prefetch-url '$tarball'`;
-    chomp $hash;
-    chomp $path;
-    $pkgHashes{$pkg} = $hash;
-
-    print "done\n";
-}
-
-
-print "\nWRITE OUT\n";
-
-open OUT, ">default.nix";
-
-print OUT "";
-print OUT <<EOF;
-# THIS IS A GENERATED FILE.  DO NOT EDIT!
-{stdenv, fetchurl, lib, cmake, qt4, perl, gettext, kdelibs, automoc4, phonon}:
-
-let
-
-  deriv = attr : stdenv.mkDerivation {
-    name = "kde-l10n-\${attr.lang}-4.4.2";
-    src = fetchurl {
-      url = attr.url;
-      sha256 = attr.sha256;
-    };
-    buildInputs = [ cmake qt4 perl gettext kdelibs automoc4 phonon ];
-    cmakeFlagsArray = [ "-DGETTEXT_INCLUDE_DIR=\${gettext}/include" ];
-    meta = {
-      description = "KDE l10n for \${attr.lang}";
-      license = "GPL";
-      homepage = http://www.kde.org;
-    };
-  };
-
-in
-{
-
-EOF
-
-
-foreach my $pkg (sort (keys %pkgNames)) {
-    print "$pkg\n";
-    
-    print OUT <<EOF;
-  $pkgNames{$pkg} = deriv {
-    lang = "$pkgNames{$pkg}";
-    url = "$pkgURLs{$pkg}";
-    sha256 = "$pkgHashes{$pkg}";
-  };
-
-EOF
-}
-
-print OUT "}\n";
-
-close OUT;
diff --git a/pkgs/desktops/kde-4.4/libs/default.nix b/pkgs/desktops/kde-4.4/libs/default.nix
deleted file mode 100644
index abe4dfd143ad..000000000000
--- a/pkgs/desktops/kde-4.4/libs/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, fetchurl, cmake, lib, perl
-, qt4, bzip2, pcre, fam, libxml2, libxslt, shared_mime_info, giflib, jasper
-, xz, flex, bison, openexr, aspell, avahi, kerberos, acl, attr, shared_desktop_ontologies, libXScrnSaver
-, automoc4, phonon, strigi, soprano, qca2, attica, polkit_qt, enchant
-}:
-
-stdenv.mkDerivation {
-  name = "kdelibs-4.4.5";
-
-  src = fetchurl {
-    url = mirror://kde/stable/4.4.5/src/kdelibs-4.4.5.tar.bz2;
-    sha256 = "11b0iif35bn8izr94590bgxkyy8ri572mjqlajzh988bww1r5mqi";
-  };
-
-  buildInputs = [
-    cmake perl qt4 xz flex bison bzip2 pcre fam libxml2 libxslt
-    shared_mime_info giflib jasper /*openexr*/ aspell avahi kerberos acl attr
-    libXScrnSaver enchant
-    automoc4 phonon strigi soprano qca2 attica polkit_qt
-  ];
-
-  propagatedBuildInputs = [ stdenv.gcc.libc shared_desktop_ontologies ];
-
-  # cmake fails to find acl.h because of C++-style comment
-  cmakeFlags = [ "-DHAVE_ACL_LIBACL_H=ON" "-DHAVE_SYS_ACL_H=ON" ];
-
-  meta = {
-    description = "KDE libraries";
-    license = "LGPL";
-    homepage = http://www.kde.org;
-    maintainers = [ lib.maintainers.sander lib.maintainers.urkud ];
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/multimedia/default.nix b/pkgs/desktops/kde-4.4/multimedia/default.nix
deleted file mode 100644
index 5a6a7eaf0301..000000000000
--- a/pkgs/desktops/kde-4.4/multimedia/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, lib, cmake, perl, qt4, alsaLib, libvorbis, xineLib, taglib, flac, cdparanoia, lame
-, kdelibs, automoc4, phonon}:
-
-stdenv.mkDerivation {
-  name = "kdemultimedia-4.4.5";
-  src = fetchurl {
-    url = mirror://kde/stable/4.4.5/src/kdemultimedia-4.4.5.tar.bz2;
-    sha256 = "186la58w7572s47yrs01q3qk0ffiqn9357a6gdk8263x9myc2xkz";
-  };
-  buildInputs = [ cmake perl qt4 alsaLib libvorbis xineLib flac taglib cdparanoia lame
-                  kdelibs automoc4 phonon ];
-  meta = {
-    description = "KDE Multimedia";
-    longDescription = ''
-      Contains various Multimedia utilties for KDE such as a movie player and sound volume mixer.
-    '';
-    license = "GPL";
-    homepage = http://www.kde.org;
-    inherit (kdelibs.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/network/default.nix b/pkgs/desktops/kde-4.4/network/default.nix
deleted file mode 100644
index f9ecfd3723e9..000000000000
--- a/pkgs/desktops/kde-4.4/network/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl, lib, cmake, qt4, perl, speex, gmp, libxml2, libxslt, sqlite, alsaLib, libidn
-, libvncserver, libmsn, giflib, gpgme, boost, libv4l, libotr
-, libXi, libXtst, libXdamage, libXxf86vm
-, kdelibs, kdepimlibs, automoc4, phonon, qca2, soprano, qimageblitz, strigi}:
-
-stdenv.mkDerivation {
-  name = "kdenetwork-4.4.5";
-  src = fetchurl {
-    url = mirror://kde/stable/4.4.5/src/kdenetwork-4.4.5.tar.bz2;
-    sha256 = "1rpf5kmcc3cw7vlj9g8px19b5vr4hnza8r78bw1g8i7vwcng57ya";
-  };
-  buildInputs = [ cmake qt4 perl speex gmp libxml2 libxslt sqlite alsaLib libidn
-                  libvncserver libmsn giflib gpgme boost stdenv.gcc.libc libv4l
-                  libotr libXi libXtst libXdamage libXxf86vm
-                  kdelibs kdepimlibs automoc4 phonon qca2 soprano qimageblitz strigi ];
-  meta = {
-    description = "KDE network utilities";
-    longDescription = "Various network utilities for KDE such as a messenger client and network configuration interface";
-    license = "GPL";
-    homepage = http://www.kde.org;
-    inherit (kdelibs.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/oxygen-icons/default.nix b/pkgs/desktops/kde-4.4/oxygen-icons/default.nix
deleted file mode 100644
index 2c9b69c8a314..000000000000
--- a/pkgs/desktops/kde-4.4/oxygen-icons/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{stdenv, fetchurl, lib, cmake}:
-
-stdenv.mkDerivation {
-  name = "oxygen-icons-4.4.5";
-  src = fetchurl {
-    url = mirror://kde/stable/4.4.5/src/oxygen-icons-4.4.5.tar.bz2;
-    sha256 = "15nfh8zl54a7b3pyqjiabv82srkp7c8gl9fpsy9ydw742lvs0pr7";
-  };
-  buildInputs = [ cmake ];
-  meta = {
-    description = "KDE Oxygen theme icons";
-    longDescription = "Contains icons for the KDE Oxygen theme, which is the default icon theme since KDE 4.3";
-    license = "GPL";
-    maintainers = [ lib.maintainers.sander ];
-    platforms = lib.platforms.all;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/pim-runtime/builder.sh b/pkgs/desktops/kde-4.4/pim-runtime/builder.sh
deleted file mode 100644
index 02848d64669a..000000000000
--- a/pkgs/desktops/kde-4.4/pim-runtime/builder.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-source $stdenv/setup
-
-myPatchPhase()
-{
-    sed -i -e "s|\${KDE4_DBUS_INTERFACES_DIR}|$out/share/dbus-1|" resources/maildir/CMakeLists.txt
-}
-patchPhase=myPatchPhase
-genericBuild
diff --git a/pkgs/desktops/kde-4.4/pim-runtime/default.nix b/pkgs/desktops/kde-4.4/pim-runtime/default.nix
deleted file mode 100644
index 7333a62ad501..000000000000
--- a/pkgs/desktops/kde-4.4/pim-runtime/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, lib, cmake, qt4, perl, libxml2, libxslt, boost, shared_mime_info
-, kdelibs, kdepimlibs
-, automoc4, phonon, akonadi, soprano, strigi}:
-
-stdenv.mkDerivation {
-  name = "kdepim-runtime-4.4.5";
-  src = fetchurl {
-    url = mirror://kde/stable/4.4.5/src/kdepim-runtime-4.4.5.tar.bz2;
-    sha256 = "1yisz7vfj51l4hs4f0ry0shas5r7m7p0iqr1458yasad9icq94j7";
-  };
-  buildInputs = [ cmake qt4 perl libxml2 libxslt boost shared_mime_info
-                  kdelibs kdepimlibs
-		  automoc4 phonon akonadi soprano strigi ];
-  builder = ./builder.sh;
-  meta = {
-    description = "KDE PIM runtime";
-    homepage = http://www.kde.org;
-    license = "GPL";
-    inherit (kdelibs.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/pim/builder.sh b/pkgs/desktops/kde-4.4/pim/builder.sh
deleted file mode 100644
index acc357c8a94c..000000000000
--- a/pkgs/desktops/kde-4.4/pim/builder.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-source $stdenv/setup
-
-myPatchPhase()
-{
-    find .. -name CMakeLists.txt | xargs sed -i -e "s@DESTINATION \${KDE4_DBUS_INTERFACES_DIR}@DESTINATION \${CMAKE_INSTALL_PREFIX}/share/dbus-1/interfaces/@"
-}
-patchPhase=myPatchPhase
-genericBuild
diff --git a/pkgs/desktops/kde-4.4/pim/default.nix b/pkgs/desktops/kde-4.4/pim/default.nix
deleted file mode 100644
index 29151117d138..000000000000
--- a/pkgs/desktops/kde-4.4/pim/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchurl, lib, cmake, qt4, perl, boost, gpgme, libassuan, libgpgerror, libxslt
-, shared_mime_info, libXScrnSaver
-, kdelibs, kdepimlibs, kdepim_runtime, automoc4, phonon, akonadi, strigi, soprano, qca2}:
-
-stdenv.mkDerivation {
-  name = "kdepim-4.4.5";
-  src = fetchurl {
-    url = mirror://kde/stable/4.4.5/src/kdepim-4.4.5.tar.bz2;
-    sha256 = "0n95wjk1ly7zfn9wv589a9hrc0r7wvik7jrvsgimnxr0rapxk3bp";
-  };
-
-  cmakeFlags = "-DBUILD_kleopatra=OFF"; # doesn't build with new boost
-  buildInputs = [ cmake qt4 perl boost gpgme stdenv.gcc.libc libassuan libgpgerror libxslt
-                  shared_mime_info libXScrnSaver
-                  kdelibs kdepimlibs automoc4 phonon akonadi strigi soprano qca2 ];
-  patchPhase = ''
-      find .. -name CMakeLists.txt | xargs sed -i -e "s@DESTINATION \''${KDE4_DBUS_INTERFACES_DIR}@DESTINATION \''${CMAKE_INSTALL_PREFIX}/share/dbus-1/interfaces/@"
-  '';
-  postInstall = ''
-      mkdir -p $out/nix-support/
-      echo ${akonadi} ${kdepimlibs} ${kdepim_runtime} > $out/nix-support/propagated-user-env-packages
-  '';
-  meta = {
-    description = "KDE PIM tools";
-    longDescription = ''
-      Contains various personal information management tools for KDE, such as an organizer
-    '';
-    license = "GPL";
-    homepage = http://www.kde.org;
-    inherit (kdelibs.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/pimlibs/default.nix b/pkgs/desktops/kde-4.4/pimlibs/default.nix
deleted file mode 100644
index 6f42be04f442..000000000000
--- a/pkgs/desktops/kde-4.4/pimlibs/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ stdenv, fetchurl, lib, cmake, qt4, perl, boost, cyrus_sasl, gpgme, libical, openldap, shared_mime_info
-, kdelibs, automoc4, phonon, akonadi}:
-
-stdenv.mkDerivation {
-  name = "kdepimlibs-4.4.5";
-  src = fetchurl {
-    url = mirror://kde/stable/4.4.5/src/kdepimlibs-4.4.5.tar.bz2;
-    sha256 = "06ibdg8cxhc9p4ywxa8f7kb0bnv0789qiapifvdfdr3zc8m0nj24";
-  };
-  buildInputs = [ cmake qt4 perl boost cyrus_sasl gpgme stdenv.gcc.libc libical openldap shared_mime_info
-                  kdelibs automoc4 phonon akonadi ];
-  meta = {
-    description = "KDE PIM libraries";
-    license = "LGPL";
-    homepage = http://www.kde.org;
-    inherit (kdelibs.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/plasma-addons/builder.sh b/pkgs/desktops/kde-4.4/plasma-addons/builder.sh
deleted file mode 100644
index 7e56e26e0534..000000000000
--- a/pkgs/desktops/kde-4.4/plasma-addons/builder.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-source $stdenv/setup
-
-myPatchPhase()
-{
-    sed -i -e "s@\${DBUS_INTERFACES_INSTALL_DIR}@\$ENV{kdebase_workspace}/share/dbus-1/interfaces@" applets/lancelot/app/src/CMakeLists.txt
-}
-
-patchPhase=myPatchPhase
-genericBuild
diff --git a/pkgs/desktops/kde-4.4/plasma-addons/default.nix b/pkgs/desktops/kde-4.4/plasma-addons/default.nix
deleted file mode 100644
index 4613852b7ad2..000000000000
--- a/pkgs/desktops/kde-4.4/plasma-addons/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl, lib, cmake, qt4, perl, python, shared_mime_info, libXtst, libXi
-, kdelibs, kdebase_workspace, kdepimlibs, kdebase, kdegraphics, kdeedu
-, automoc4, phonon, soprano, eigen, qimageblitz, attica, qca2}:
-
-stdenv.mkDerivation {
-  name = "kdeplasma-addons-4.4.5";
-  src = fetchurl {
-    url = mirror://kde/stable/4.4.5/src/kdeplasma-addons-4.4.5.tar.bz2;
-    sha256 = "1wrgnfag4bn27kii3rzrzadw0xc869miml0kxsxcj9ryqppxbfxd";
-  };
-  inherit kdebase_workspace;
-  builder = ./builder.sh;
-  KDEDIRS="${kdeedu}";
-  buildInputs = [ cmake qt4 perl python shared_mime_info libXtst libXi
-                  kdelibs kdebase_workspace kdepimlibs kdebase kdegraphics kdeedu
-		  automoc4 qca2 phonon soprano eigen qimageblitz attica ];
-  meta = {
-    description = "KDE Plasma Addons";
-    license = "GPL";
-    homepage = http://www.kde.org;
-    inherit (kdelibs.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/sdk/builder.sh b/pkgs/desktops/kde-4.4/sdk/builder.sh
deleted file mode 100644
index a83d7d44c0d5..000000000000
--- a/pkgs/desktops/kde-4.4/sdk/builder.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-source $stdenv/setup
-
-myPatchPhase()
-{
-    sed -i -e "s|\${SVN_INCLUDES}|\${SVN_INCLUDES} $aprutil/include/apr-1|" kioslave/svn/CMakeLists.txt
-}
-patchPhase=myPatchPhase
-genericBuild
diff --git a/pkgs/desktops/kde-4.4/sdk/default.nix b/pkgs/desktops/kde-4.4/sdk/default.nix
deleted file mode 100644
index 0d472cdd5e1e..000000000000
--- a/pkgs/desktops/kde-4.4/sdk/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchurl, cmake, qt4, perl, libxml2, libxslt, boost, subversion, apr, aprutil
-, shared_mime_info, hunspell
-, kdelibs, kdepimlibs, automoc4, phonon, strigi}:
-
-stdenv.mkDerivation {
-  name = "kdesdk-4.4.5";
-  src = fetchurl {
-    url = mirror://kde/stable/4.4.5/src/kdesdk-4.4.5.tar.bz2;
-    sha256 = "0ykj09ln8rqdsjrix21j4yghzx6rkfkca4q3133sp7h8y56plqrw";
-  };
-  builder=./builder.sh;
-  inherit aprutil;
-  buildInputs = [ cmake qt4 perl libxml2 libxslt boost subversion apr aprutil shared_mime_info
-                  kdelibs kdepimlibs automoc4 phonon strigi hunspell];
-  meta = with stdenv.lib; {
-    description = "KDE SDK";
-    longDescription = "Contains various development utilities such as the Umbrello UML modeler and Cerivisia CVS front-end";
-    license = "GPL";
-    homepage = http://www.kde.org;
-    inherit (kdelibs.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/support/akonadi/default.nix b/pkgs/desktops/kde-4.4/support/akonadi/default.nix
deleted file mode 100644
index b93f65b9a6a6..000000000000
--- a/pkgs/desktops/kde-4.4/support/akonadi/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{stdenv, fetchurl, cmake, qt4, shared_mime_info, libxslt, boost, mysql, automoc4, soprano}:
-
-stdenv.mkDerivation rec {
-  name = "akonadi-1.3.85";
-  src = fetchurl {
-    url = "http://download.akonadi-project.org/${name}.tar.bz2";
-    sha256 = "1d2ancspavp4qg717hj56j1likb0ifdr65q1awbc2ghqqgd9znck";
-  };
-  patches = [ ./fix-broken-datadir-parameter.patch ];
-  buildInputs = [ cmake qt4 shared_mime_info libxslt boost mysql automoc4 soprano ];
-  meta = with stdenv.lib; {
-    description = "KDE PIM Storage Service";
-    license = "LGPL";
-    homepage = http://pim.kde.org/akonadi;
-    maintainers = [ maintainers.sander maintainers.urkud ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/support/akonadi/fix-broken-datadir-parameter.patch b/pkgs/desktops/kde-4.4/support/akonadi/fix-broken-datadir-parameter.patch
deleted file mode 100644
index fa33329d4b0f..000000000000
--- a/pkgs/desktops/kde-4.4/support/akonadi/fix-broken-datadir-parameter.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Fix broken datadir parameter.
-
---- akonadi-1.3.85/server/src/storage/dbconfigmysql.cpp	2010-06-09 03:41:30.000000000 -0430
-+++ akonadi-local-1.3.85/server/src/storage/dbconfigmysql.cpp	2010-08-11 00:21:20.547181479 -0430
-@@ -250,11 +250,10 @@
-   // synthesize the mysqld command
-   QStringList arguments;
-   arguments << QString::fromLatin1( "--defaults-file=%1/mysql.conf" ).arg( akDir );
-+  arguments << QString::fromLatin1( "--datadir=%1/" ).arg( dataDir );
- #ifndef Q_WS_WIN
--  arguments << QString::fromLatin1( "--datadir" ) << QString::fromLatin1( "%1/" ).arg( dataDir );
-   arguments << QString::fromLatin1( "--socket=%1/mysql.socket" ).arg( miscDir );
- #else
--  arguments << QString::fromLatin1( "--datadir=%1/" ).arg( dataDir );
-   arguments << QString::fromLatin1( "--shared-memory" );
- #endif
- 
diff --git a/pkgs/desktops/kde-4.4/support/attica/default.nix b/pkgs/desktops/kde-4.4/support/attica/default.nix
deleted file mode 100644
index 5c62f34efb28..000000000000
--- a/pkgs/desktops/kde-4.4/support/attica/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{stdenv, fetchurl, cmake, qt4}:
-
-stdenv.mkDerivation rec {
-  name = "attica-0.1.4";
-  src = fetchurl {
-    url = "mirror://kde/stable/attica/${name}.tar.bz2";
-    sha256 = "0frarnrnbli3f5ji90swgw05g88w1f5777ais345wc8lkvqg9ix1";
-  };
-  buildInputs = [ cmake qt4 ];
-  meta = with stdenv.lib; {
-    description = "A library to access Open Collaboration Service providers";
-    license = "LGPL";
-    maintainers = [ maintainers.sander maintainers.urkud ];
-    platforms = qt4.meta.platforms;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/support/automoc4/default.nix b/pkgs/desktops/kde-4.4/support/automoc4/default.nix
deleted file mode 100644
index bd6c5c3b1496..000000000000
--- a/pkgs/desktops/kde-4.4/support/automoc4/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{stdenv, fetchurl, lib, cmake, qt4}:
-
-stdenv.mkDerivation {
-  name = "automoc4-0.9.88";
-  src = fetchurl {
-    url = mirror://kde/stable/automoc4/0.9.88/automoc4-0.9.88.tar.bz2;
-    md5 = "91bf517cb940109180ecd07bc90c69ec";
-  };
-  buildInputs = [ cmake qt4 ];
-  meta = {
-    description = "KDE Meta Object Compiler";
-    license = "BSD";
-    maintainers = [ lib.maintainers.sander ];
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/support/eigen/default.nix b/pkgs/desktops/kde-4.4/support/eigen/default.nix
deleted file mode 100644
index e78a27af19ca..000000000000
--- a/pkgs/desktops/kde-4.4/support/eigen/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{stdenv, fetchurl, lib, cmake}:
-
-stdenv.mkDerivation {
-  name = "eigen-2.0.15";
-  src = fetchurl {
-    url = http://bitbucket.org/eigen/eigen/get/2.0.15.tar.bz2;
-    sha256 = "1a00hqyig4rc7nkz97xv23q7k0vdkzvgd0jkayk61fn9aqcrky79";
-  };
-  buildInputs = [ cmake ];  
-  meta = {
-    description = "C++ template library for linear algebra: vectors, matrices, and related algorithms";
-    license = "LGPL";
-    homepage = http://eigen.tuxfamily.org;
-    maintainers = [ lib.maintainers.sander ];
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/support/phonon/default.nix b/pkgs/desktops/kde-4.4/support/phonon/default.nix
deleted file mode 100644
index 7023e4ca490d..000000000000
--- a/pkgs/desktops/kde-4.4/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.4/support/phonon/phonon-4.4.1-gst-plugins-include.patch b/pkgs/desktops/kde-4.4/support/phonon/phonon-4.4.1-gst-plugins-include.patch
deleted file mode 100644
index 46782840570c..000000000000
--- a/pkgs/desktops/kde-4.4/support/phonon/phonon-4.4.1-gst-plugins-include.patch
+++ /dev/null
@@ -1,263 +0,0 @@
-From 1e3a6c25bc258021899c0a31ea9b68ea656d8f6b Mon Sep 17 00:00:00 2001
-From: Yury G. Kudryashov <urkud.urkud@gmail.com>
-Date: Sat, 8 May 2010 18:42:35 +0400
-Subject: [PATCH] Find include directories as well
-
-Makes it possible to compile phonon if gstreamer and gst-plugins-base are
-installed into different prefixes. Theoretically, should work even if each
-plugin is installed into dedicated prefix, but this feature is not tested.
----
- cmake/FindGStreamerPlugins.cmake |  160 +++++++++++++++-----------------------
- gstreamer/CMakeLists.txt         |    4 +-
- gstreamer/ConfigureChecks.cmake  |   10 +-
- 3 files changed, 72 insertions(+), 102 deletions(-)
-
-diff --git a/cmake/FindGStreamerPlugins.cmake b/cmake/FindGStreamerPlugins.cmake
-index f6d70d5..9e7a4d0 100644
---- a/cmake/FindGStreamerPlugins.cmake
-+++ b/cmake/FindGStreamerPlugins.cmake
-@@ -2,19 +2,63 @@
- # Once done this will define
- #
- #  GSTREAMERPLUGINSBASE_FOUND - system has GStreamer_Plugins
--#  GSTREAMERPLUGINSBASE_INCLUDE_DIR - the GStreamer_Plugins include directory
-+#  GSTREAMERPLUGINSBASE_INCLUDE_DIRS - the GStreamer_Plugins include directories
- #  GSTREAMERPLUGINSBASE_LIBRARIES - the libraries needed to use GStreamer_Plugins
--#  GSTREAMERPLUGINSBASE_DEFINITIONS - Compiler switches required for using GStreamer_Plugins
-+#
-+# The following variables are set for each plugin PLUGINNAME:
-+#
-+#  GSTREAMER_PLUGIN_PLUGINNAME_FOUND - plugin is found
-+#  GSTREAMER_PLUGIN_PLUGINNAME_INCLUDE_DIR - plugin include directory
-+#  GSTREAMER_PLUGIN_PLUGINNAME_LIBRARY - the library needed to use plugin
- #
- #  (c)2009 Nokia Corporation
-+#  (c)2010 Yury G. Kudryashov <urkud@ya.ru>
- 
- FIND_PACKAGE(PkgConfig REQUIRED)
- 
- IF (NOT WIN32)
-    # don't make this check required - otherwise you can't use macro_optional_find_package on this one
--   PKG_CHECK_MODULES( PKG_GSTREAMER gstreamer-plugins-base-0.10 )
-+   PKG_CHECK_MODULES( PKG_GSTREAMER_PLUGINSBASE gstreamer-plugins-base-0.10 )
- ENDIF (NOT WIN32)
- 
-+MACRO(MACRO_FIND_GSTREAMER_PLUGIN _plugin _header)
-+   STRING(TOUPPER ${_plugin} _upper)
-+   IF (NOT WIN32)
-+      # don't make this check required - otherwise you can't use macro_optional_find_package on this one
-+      PKG_CHECK_MODULES( PKG_GSTREAMER_${_upper} gstreamer-${_plugin}-0.10 )
-+   ENDIF (NOT WIN32)
-+
-+   FIND_LIBRARY(GSTREAMER_PLUGIN_${_upper}_LIBRARY NAMES gst${_plugin}-0.10
-+      PATHS
-+      ${PKG_GSTREAMER_PLUGINSBASE_LIBRARY_DIRS}
-+      ${PKG_GSTREAMER_${_upper}_LIBRARY_DIRS}
-+      )
-+
-+   FIND_PATH(GSTREAMER_PLUGIN_${_upper}_INCLUDE_DIR
-+       NAMES gst/${_plugin}/${_header}
-+       PATHS
-+       ${PKG_GSTREAMER_PLUGINSBASE_INCLUDE_DIRS}
-+       ${PKG_GSTREAMER_${_upper}_INCLUDE_DIRS}
-+       )
-+
-+   IF(GSTREAMER_PLUGIN_${_upper}_LIBRARY AND GSTREAMER_PLUGIN_${_upper}_INCLUDE_DIR)
-+      SET(GSTREAMER_PLUGIN_${_upper}_FOUND TRUE)
-+      LIST(APPEND GSTREAMERPLUGINSBASE_INCLUDE_DIRS GSTREAMER_${_upper}_INCLUDE_DIR)
-+      LIST(APPEND GSTREAMERPLUGINSBASE_LIBRARIES GSTREAMER_${_upper}_LIBRARY)
-+   ELSE(GSTREAMER_PLUGIN_${_upper}_LIBRARY AND GSTREAMER_PLUGIN_${_upper}_INCLUDE_DIR)
-+      MESSAGE(STATUS "Could not find ${_plugin} plugin")
-+      MESSAGE(STATUS "${_upper} library: ${GSTREAMER_${_upper}_LIBRARY}")
-+      MESSAGE(STATUS "${_upper} include dir: ${GSTREAMER_${_upper}_INCLUDE_DIR}")
-+      SET(GSTREAMER_PLUGIN_${_upper}_FOUND FALSE)
-+      SET(GSTREAMER_PLUGIN_${_upper}_LIBRARY GSTREAMER_${_upper}_LIBRARY-NOTFOUND)
-+      SET(GSTREAMER_PLUGIN_${_upper}_INCLUDE_DIR GSTREAMER_${_upper}_INCLUDE_DIR-NOTFOUND)
-+      SET(GSTREAMERPLUGINSBASE_FOUND FALSE)
-+   ENDIF(GSTREAMER_PLUGIN_${_upper}_LIBRARY AND GSTREAMER_PLUGIN_${_upper}_INCLUDE_DIR)
-+
-+   MARK_AS_ADVANCED(GSTREAMER_PLUGIN_${_upper}_LIBRARY
-+      GSTREAMER_PLUGIN_${_upper}_INCLUDE_DIR)
-+ENDMACRO(MACRO_FIND_GSTREAMER_PLUGIN)
-+
- #
- # Base plugins:
- #  audio
-@@ -31,87 +75,21 @@ ENDIF (NOT WIN32)
- # The gstinterfaces-0.10 library is found by FindGStreamer.cmake
- #
- 
--FIND_LIBRARY(GSTREAMER_PLUGIN_AUDIO_LIBRARIES NAMES gstaudio-0.10
--   PATHS
--   ${PKG_GSTREAMER_LIBRARY_DIRS}
--   )
--FIND_LIBRARY(GSTREAMER_PLUGIN_CDDA_LIBRARIES NAMES gstcdda-0.10
--   PATHS
--   ${PKG_GSTREAMER_LIBRARY_DIRS}
--   )
--FIND_LIBRARY(GSTREAMER_PLUGIN_NETBUFFER_LIBRARIES NAMES gstnetbuffer-0.10
--   PATHS
--   ${PKG_GSTREAMER_LIBRARY_DIRS}
--   )
--FIND_LIBRARY(GSTREAMER_PLUGIN_PBUTILS_LIBRARIES NAMES gstpbutils-0.10
--   PATHS
--   ${PKG_GSTREAMER_LIBRARY_DIRS}
--   )
--FIND_LIBRARY(GSTREAMER_PLUGIN_RIFF_LIBRARIES NAMES gstriff-0.10
--   PATHS
--   ${PKG_GSTREAMER_LIBRARY_DIRS}
--   )
--FIND_LIBRARY(GSTREAMER_PLUGIN_RTP_LIBRARIES NAMES gstrtp-0.10
--   PATHS
--   ${PKG_GSTREAMER_LIBRARY_DIRS}
--   )
--FIND_LIBRARY(GSTREAMER_PLUGIN_RTSP_LIBRARIES NAMES gstrtsp-0.10
--   PATHS
--   ${PKG_GSTREAMER_LIBRARY_DIRS}
--   )
--FIND_LIBRARY(GSTREAMER_PLUGIN_SDP_LIBRARIES NAMES gstsdp-0.10
--   PATHS
--   ${PKG_GSTREAMER_LIBRARY_DIRS}
--   )
--FIND_LIBRARY(GSTREAMER_PLUGIN_TAG_LIBRARIES NAMES gsttag-0.10
--   PATHS
--   ${PKG_GSTREAMER_LIBRARY_DIRS}
--   )
--FIND_LIBRARY(GSTREAMER_PLUGIN_VIDEO_LIBRARIES NAMES gstvideo-0.10
--   PATHS
--   ${PKG_GSTREAMER_LIBRARY_DIRS}
--   )
--
--IF (GSTREAMER_PLUGIN_AUDIO_LIBRARIES AND
--    GSTREAMER_PLUGIN_CDDA_LIBRARIES AND
--    GSTREAMER_PLUGIN_NETBUFFER_LIBRARIES AND
--    GSTREAMER_PLUGIN_PBUTILS_LIBRARIES AND
--    GSTREAMER_PLUGIN_RIFF_LIBRARIES AND
--    GSTREAMER_PLUGIN_RTP_LIBRARIES AND
--    GSTREAMER_PLUGIN_RTSP_LIBRARIES AND
--    GSTREAMER_PLUGIN_SDP_LIBRARIES AND
--    GSTREAMER_PLUGIN_TAG_LIBRARIES AND
--    GSTREAMER_PLUGIN_VIDEO_LIBRARIES)
--   SET(GSTREAMERPLUGINSBASE_FOUND TRUE)
--ELSE (GSTREAMER_PLUGIN_AUDIO_LIBRARIES AND
--    GSTREAMER_PLUGIN_CDDA_LIBRARIES AND
--    GSTREAMER_PLUGIN_NETBUFFER_LIBRARIES AND
--    GSTREAMER_PLUGIN_PBUTILS_LIBRARIES AND
--    GSTREAMER_PLUGIN_RIFF_LIBRARIES AND
--    GSTREAMER_PLUGIN_RTP_LIBRARIES AND
--    GSTREAMER_PLUGIN_RTSP_LIBRARIES AND
--    GSTREAMER_PLUGIN_SDP_LIBRARIES AND
--    GSTREAMER_PLUGIN_TAG_LIBRARIES AND
--    GSTREAMER_PLUGIN_VIDEO_LIBRARIES)
--   SET(GSTREAMERPLUGINSBASE_FOUND FALSE)
--ENDIF (GSTREAMER_PLUGIN_AUDIO_LIBRARIES AND
--    GSTREAMER_PLUGIN_CDDA_LIBRARIES AND
--    GSTREAMER_PLUGIN_NETBUFFER_LIBRARIES AND
--    GSTREAMER_PLUGIN_PBUTILS_LIBRARIES AND
--    GSTREAMER_PLUGIN_RIFF_LIBRARIES AND
--    GSTREAMER_PLUGIN_RTP_LIBRARIES AND
--    GSTREAMER_PLUGIN_RTSP_LIBRARIES AND
--    GSTREAMER_PLUGIN_SDP_LIBRARIES AND
--    GSTREAMER_PLUGIN_TAG_LIBRARIES AND
--    GSTREAMER_PLUGIN_VIDEO_LIBRARIES)
-+SET(GSTREAMER_PLUGINSBASE_FOUND TRUE)
-+MACRO_FIND_GSTREAMER_PLUGIN(audio audio.h)
-+MACRO_FIND_GSTREAMER_PLUGIN(cdda gstcddabasesrc.h)
-+MACRO_FIND_GSTREAMER_PLUGIN(netbuffer gstnetbuffer.h)
-+MACRO_FIND_GSTREAMER_PLUGIN(pbutils pbutils.h)
-+MACRO_FIND_GSTREAMER_PLUGIN(riff riff-ids.h)
-+MACRO_FIND_GSTREAMER_PLUGIN(rtp gstrtpbuffer.h)
-+MACRO_FIND_GSTREAMER_PLUGIN(rtsp gstrtspdefs.h)
-+MACRO_FIND_GSTREAMER_PLUGIN(sdp gstsdp.h)
-+MACRO_FIND_GSTREAMER_PLUGIN(tag tag.h)
-+MACRO_FIND_GSTREAMER_PLUGIN(video video.h)
- 
- IF (GSTREAMERPLUGINSBASE_FOUND)
--   SET(GSTREAMERPLUGINS_FOUND TRUE)
--ELSE (GSTREAMERPLUGINSBASE_FOUND)
--   SET(GSTREAMERPLUGINS_FOUND FALSE)
--ENDIF (GSTREAMERPLUGINSBASE_FOUND)
--
--IF (GSTREAMERPLUGINS_FOUND)
-+   LIST(REMOVE_DUPLICATES GSTREAMERPLUGINSBASE_LIBRARIES)
-+   LIST(REMOVE_DUPLICATES GSTREAMERPLUGINSBASE_INCLUDE_DIRS)
-    IF (NOT GStreamer_Plugins_FIND_QUIETLY)
-       MESSAGE(STATUS "Found GStreamer Plugins:
-     ${GSTREAMER_PLUGIN_AUDIO_LIBRARIES}
-@@ -125,20 +103,10 @@ IF (GSTREAMERPLUGINS_FOUND)
-     ${GSTREAMER_PLUGIN_TAG_LIBRARIES}
-     ${GSTREAMER_PLUGIN_VIDEO_LIBRARIES}")
-    ENDIF (NOT GStreamer_Plugins_FIND_QUIETLY)
--ELSE (GSTREAMERPLUGINS_FOUND)
-+ELSE (GSTREAMERPLUGINSBASE_FOUND)
-+   SET(GSTREAMERPLUGINSBASE_LIBRARIES GSTREAMERPLUGINSBASE_LIBRARIES-NOTFOUND)
-+   SET(GSTREAMERPLUGINSBASE_INCLUDE_DIRS GSTREAMERPLUGINSBASE_INCLUDE_DIRS-NOTFOUND)
-    IF (GStreamer_Plugins_FIND_REQUIRED)
-       MESSAGE(SEND_ERROR "Could NOT find GStreamer Plugins")
-    ENDIF (GStreamer_Plugins_FIND_REQUIRED)
--ENDIF (GSTREAMERPLUGINS_FOUND)
--
--MARK_AS_ADVANCED(GSTREAMERPLUGINS_DEFINITIONS
--    GSTREAMER_PLUGIN_AUDIO_LIBRARIES
--    GSTREAMER_PLUGIN_CDDA_LIBRARIES
--    GSTREAMER_PLUGIN_NETBUFFER_LIBRARIES
--    GSTREAMER_PLUGIN_PBUTILS_LIBRARIES
--    GSTREAMER_PLUGIN_RIFF_LIBRARIES
--    GSTREAMER_PLUGIN_RTP_LIBRARIES
--    GSTREAMER_PLUGIN_RTSP_LIBRARIES
--    GSTREAMER_PLUGIN_SDP_LIBRARIES
--    GSTREAMER_PLUGIN_TAG_LIBRARIES
--    GSTREAMER_PLUGIN_VIDEO_LIBRARIES)
-+ENDIF (GSTREAMERPLUGINSBASE_FOUND)
-diff --git a/gstreamer/CMakeLists.txt b/gstreamer/CMakeLists.txt
-index d529fb6..c42710b 100644
---- a/gstreamer/CMakeLists.txt
-+++ b/gstreamer/CMakeLists.txt
-@@ -20,6 +20,8 @@ if (BUILD_PHONON_GSTREAMER)
-    include_directories(
- 	  ${CMAKE_CURRENT_BINARY_DIR}
- 	  ${GSTREAMER_INCLUDE_DIR}
-+	  ${GSTREAMER_PLUGIN_VIDEO_INCLUDE_DIR}
-+	  ${GSTREAMER_PLUGIN_AUDIO_INCLUDE_DIR}
- 	  ${GLIB2_INCLUDE_DIR}
-       ${LIBXML2_INCLUDE_DIR}
- 	  ${X11_X11_INCLUDE_PATH})
-@@ -78,7 +80,7 @@ if (BUILD_PHONON_GSTREAMER)
-       ${QT_QTOPENGL_LIBRARY}
-       ${PHONON_LIBS} ${OPENGL_gl_LIBRARY}
-       ${GSTREAMER_LIBRARIES} ${GSTREAMER_BASE_LIBRARY} ${GSTREAMER_INTERFACE_LIBRARY}
--      ${GSTREAMER_PLUGIN_VIDEO_LIBRARIES} ${GSTREAMER_PLUGIN_AUDIO_LIBRARIES}
-+      ${GSTREAMER_PLUGIN_VIDEO_LIBRARY} ${GSTREAMER_PLUGIN_AUDIO_LIBRARY}
-       ${GLIB2_LIBRARIES} ${GOBJECT_LIBRARIES})
-    if(ALSA_FOUND)
-       target_link_libraries(phonon_gstreamer ${ASOUND_LIBRARY})
-diff --git a/gstreamer/ConfigureChecks.cmake b/gstreamer/ConfigureChecks.cmake
-index 095a0e9..73616fa 100644
---- a/gstreamer/ConfigureChecks.cmake
-+++ b/gstreamer/ConfigureChecks.cmake
-@@ -16,8 +16,8 @@ macro_optional_find_package(GStreamer)
- macro_log_feature(GSTREAMER_FOUND "GStreamer" "gstreamer 0.10 is required for the multimedia backend" "http://gstreamer.freedesktop.org/modules/" FALSE "0.10")
- 
- macro_optional_find_package(GStreamerPlugins)
--macro_log_feature(GSTREAMER_PLUGIN_VIDEO_LIBRARIES "GStreamer video plugin" "The gstreamer video plugin (part of gstreamer-plugins-base 0.10) is required for the multimedia gstreamer backend" "http://gstreamer.freedesktop.org/modules/" FALSE "0.10")
--macro_log_feature(GSTREAMER_PLUGIN_AUDIO_LIBRARIES "GStreamer audio plugin" "The gstreamer audio plugin (part of gstreamer-plugins-base 0.10) is required for the multimedia gstreamer backend" "http://gstreamer.freedesktop.org/modules/" FALSE "0.10")
-+macro_log_feature(GSTREAMER_PLUGIN_VIDEO_FOUND "GStreamer video plugin" "The gstreamer video plugin (part of gstreamer-plugins-base 0.10) is required for the multimedia gstreamer backend" "http://gstreamer.freedesktop.org/modules/" FALSE "0.10")
-+macro_log_feature(GSTREAMER_PLUGIN_AUDIO_FOUND "GStreamer audio plugin" "The gstreamer audio plugin (part of gstreamer-plugins-base 0.10) is required for the multimedia gstreamer backend" "http://gstreamer.freedesktop.org/modules/" FALSE "0.10")
- 
- macro_optional_find_package(GLIB2)
- macro_log_feature(GLIB2_FOUND "GLib2" "GLib 2 is required to compile the gstreamer backend for Phonon" "http://www.gtk.org/download/" FALSE)
-@@ -31,8 +31,8 @@ macro_log_feature(LIBXML2_FOUND "LibXml2" "LibXml2 is required to compile the gs
- macro_optional_find_package(OpenGL)
- macro_log_feature(OPENGL_FOUND "OpenGL" "OpenGL support is required to compile the gstreamer backend for Phonon" "" FALSE)
- 
--if (GSTREAMER_FOUND AND GSTREAMER_PLUGIN_VIDEO_LIBRARIES AND GSTREAMER_PLUGIN_AUDIO_LIBRARIES AND GLIB2_FOUND AND GOBJECT_FOUND AND LIBXML2_FOUND AND OPENGL_FOUND)
-+if (GSTREAMER_FOUND AND GSTREAMER_PLUGIN_VIDEO_FOUND AND GSTREAMER_PLUGIN_AUDIO_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND LIBXML2_FOUND AND OPENGL_FOUND)
-    set(BUILD_PHONON_GSTREAMER TRUE)
--else (GSTREAMER_FOUND AND GSTREAMER_PLUGIN_VIDEO_LIBRARIES AND GSTREAMER_PLUGIN_AUDIO_LIBRARIES AND GLIB2_FOUND AND GOBJECT_FOUND AND LIBXML2_FOUND AND OPENGL_FOUND)
-+else (GSTREAMER_FOUND AND GSTREAMER_PLUGIN_VIDEO_FOUND AND GSTREAMER_PLUGIN_AUDIO_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND LIBXML2_FOUND AND OPENGL_FOUND)
-    set(BUILD_PHONON_GSTREAMER FALSE)
--endif (GSTREAMER_FOUND AND GSTREAMER_PLUGIN_VIDEO_LIBRARIES AND GSTREAMER_PLUGIN_AUDIO_LIBRARIES AND GLIB2_FOUND AND GOBJECT_FOUND AND LIBXML2_FOUND AND OPENGL_FOUND)
-+endif (GSTREAMER_FOUND AND GSTREAMER_PLUGIN_VIDEO_FOUND AND GSTREAMER_PLUGIN_AUDIO_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND LIBXML2_FOUND AND OPENGL_FOUND)
--- 
-1.7.1
-
diff --git a/pkgs/desktops/kde-4.4/support/polkit-qt/default.nix b/pkgs/desktops/kde-4.4/support/polkit-qt/default.nix
deleted file mode 100644
index 441321a42d2e..000000000000
--- a/pkgs/desktops/kde-4.4/support/polkit-qt/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{stdenv, fetchurl, cmake, qt4, policykit, automoc4, lib}:
-
-stdenv.mkDerivation {
-  name = "polkit-qt-0.9.3";
-  src = fetchurl {
-    url = mirror://kde/stable/apps/KDE4.x/admin/polkit-qt-0.9.3.tar.bz2;
-    sha256 = "08mz8p98nlxnxy1l751jg1010vgjq2f2d6n4cj27jvihqkpbaixn";
-  };
-  buildInputs = [ cmake automoc4 ];
-  propagatedBuildInputs = [ qt4 policykit ];
-  meta = {
-    description = "Qt PolicyKit bindings";
-    license = "LGPL";
-    maintainers = [ lib.maintainers.sander ];
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/support/qca2/default.nix b/pkgs/desktops/kde-4.4/support/qca2/default.nix
deleted file mode 100644
index a55f7c8cb431..000000000000
--- a/pkgs/desktops/kde-4.4/support/qca2/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{stdenv, fetchurl, which, qt4}:
-
-stdenv.mkDerivation {
-  name = "qca-2.0.2";
-  src = fetchurl {
-    url = http://delta.affinix.com/download/qca/2.0/qca-2.0.2.tar.bz2;
-    sha256 = "49b5474450104a2298747c243de1451ab7a6aeed4bf7df43ffa4b7128a2837b8";
-  };
-  buildInputs = [ which qt4 ];
-  preBuild = ''
-    sed -i include/QtCrypto/qca_publickey.h -e '/EMSA3_Raw/a,\
-            EMSA3_SHA224,     ///< SHA224, with EMSA3 (ie PKCS#1 Version 1.5) encoding\
-            EMSA3_SHA256,     ///< SHA256, with EMSA3 (ie PKCS#1 Version 1.5) encoding\
-            EMSA3_SHA384,     ///< SHA384, with EMSA3 (ie PKCS#1 Version 1.5) encoding\
-            EMSA3_SHA512      ///< SHA512, with EMSA3 (ie PKCS#1 Version 1.5) encoding'
-  '';
-  meta = with stdenv.lib; {
-    description = "Qt Cryptographic Architecture";
-    license = "LGPL";
-    homepage = http://delta.affinix.com/qca;
-    maintainers = [ maintainers.sander maintainers.urkud ];
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/support/qca2/ossl-remove-whirlpool.patch b/pkgs/desktops/kde-4.4/support/qca2/ossl-remove-whirlpool.patch
deleted file mode 100644
index fa4eb4016227..000000000000
--- a/pkgs/desktops/kde-4.4/support/qca2/ossl-remove-whirlpool.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-Source: Upstream, SVN r864423
-Upstream: Yes
-Reason: Fix compilation w/ >=dev-libs/openssl-0.9.8g
-
-
-From 883f1057b31387e7cbfe66f6b3cf5781a6ca49fb Mon Sep 17 00:00:00 2001
-From: infiniti <infiniti@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>
-Date: Wed, 24 Sep 2008 19:22:26 +0000
-Subject: [PATCH] remove whirlpool usage.  the algorithm is missing on at least 0.9.8g and
- 0.9.8i, even though there's an OBJ_whirlpool definition in 0.9.8i.
-
-git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/qca@864423 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
----
- plugins/qca-ossl/qca-ossl.cpp |    4 ++++
- 1 files changed, 4 insertions(+), 0 deletions(-)
-
-diff --git a/qca-ossl.cpp b/qca-ossl.cpp
-index 746a863..f9efd84 100644
---- a/qca-ossl.cpp
-+++ b/qca-ossl.cpp
-@@ -6616,9 +6616,11 @@ static QStringList all_hash_types()
- #ifdef SHA512_DIGEST_LENGTH
- 	list += "sha512";
- #endif
-+/*
- #ifdef OBJ_whirlpool
- 	list += "whirlpool";
- #endif
-+*/
- 	return list;
- }
- 
-@@ -6863,10 +6865,12 @@ public:
- 		else if ( type == "sha512" )
- 			return new opensslHashContext( EVP_sha512(), this, type);
- #endif
-+/*
- #ifdef OBJ_whirlpool
- 		else if ( type == "whirlpool" )
- 			return new opensslHashContext( EVP_whirlpool(), this, type);
- #endif
-+*/
- 		else if ( type == "pbkdf1(sha1)" )
- 			return new opensslPbkdf1Context( EVP_sha1(), this, type );
- 		else if ( type == "pbkdf1(md2)" )
--- 
-1.6.0.4
-
-
-From 70730a58fe6d9ba5b50b8971424663ba52947e4c Mon Sep 17 00:00:00 2001
-From: infiniti <infiniti@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>
-Date: Wed, 24 Sep 2008 19:23:30 +0000
-Subject: [PATCH] fix warning
-
-git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/qca@864425 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
----
- plugins/qca-ossl/qca-ossl.cpp |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/qca-ossl.cpp b/qca-ossl.cpp
-index f9efd84..1790364 100644
---- a/qca-ossl.cpp
-+++ b/qca-ossl.cpp
-@@ -327,7 +327,7 @@ static X509_EXTENSION *new_subject_key_id(X509 *cert)
- 	X509V3_CTX ctx;
- 	X509V3_set_ctx_nodb(&ctx);
- 	X509V3_set_ctx(&ctx, NULL, cert, NULL, NULL, 0);
--	X509_EXTENSION *ex = X509V3_EXT_conf_nid(NULL, &ctx, NID_subject_key_identifier, "hash");
-+	X509_EXTENSION *ex = X509V3_EXT_conf_nid(NULL, &ctx, NID_subject_key_identifier, (char *)"hash");
- 	return ex;
- }
- 
--- 
-1.6.0.4
diff --git a/pkgs/desktops/kde-4.4/support/qimageblitz/default.nix b/pkgs/desktops/kde-4.4/support/qimageblitz/default.nix
deleted file mode 100644
index 34cbe36b5da5..000000000000
--- a/pkgs/desktops/kde-4.4/support/qimageblitz/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{stdenv, fetchurl, lib, cmake, qt4}:
-
-stdenv.mkDerivation {
-  name = "qimageblitz-0.0.4";
-  src = fetchurl {
-    url = mirror://sourceforge/qimageblitz/qimageblitz-0.0.4.tar.bz2;
-    md5 = "cb87c7f1c0455e8984ee4830f1e749cf";
-  };
-  buildInputs = [ cmake qt4 ];
-  meta = {
-    description = "Graphical effect and filter library for KDE4";
-    license = "BSD";
-    homepage = http://qimageblitz.sourceforge.net;
-    maintainers = [ lib.maintainers.sander ];
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/support/soprano/default.nix b/pkgs/desktops/kde-4.4/support/soprano/default.nix
deleted file mode 100644
index 938fa05f2c12..000000000000
--- a/pkgs/desktops/kde-4.4/support/soprano/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{stdenv, fetchurl, lib, cmake, qt4, cluceneCore, redland, libiodbc}:
-
-stdenv.mkDerivation rec {
-  name = "soprano-2.4.4";
-  
-  src = fetchurl {
-    url = "mirror://sf/soprano/${name}.tar.bz2";
-    sha256 = "02qi616w6kli75ibkrvjc88spx6hi8ahlf3c926bi4lh5h73pjkq";
-  };
-  
-  # We disable the Java backends, since we do not need them and they make the closure size much bigger
-  buildInputs = [ cmake qt4 cluceneCore redland libiodbc ];
-
-  meta = {
-    homepage = http://soprano.sourceforge.net/;
-    description = "An object-oriented C++/Qt4 framework for RDF data";
-    license = "LGPL";
-    maintainers = with lib.maintainers; [ sander urkud ];
-    platforms = qt4.meta.platforms;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/support/strigi/default.nix b/pkgs/desktops/kde-4.4/support/strigi/default.nix
deleted file mode 100644
index 93778e7c9841..000000000000
--- a/pkgs/desktops/kde-4.4/support/strigi/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, lib, cmake, qt4, perl, bzip2, libxml2, expat, exiv2
-, cluceneCore
-}:
-
-stdenv.mkDerivation rec {
-  name = "strigi-0.7.1";
-  
-  src = fetchurl {
-    url = "http://www.vandenoever.info/software/strigi/${name}.tar.bz2";
-    sha256 = "1cra4jlpd7cdvckwalfjrf2224qvhbkmxdd3sn02q9jhv830b0yi";
-  };
-  includeAllQtDirs=true;
-  
-  CLUCENE_HOME = cluceneCore;
-  
-  # Dependencies such as SQLite and FAM are unreliable in this release
-  buildInputs = [
-    cmake perl qt4 bzip2 stdenv.gcc.libc libxml2 expat exiv2 cluceneCore
-  ];
-
-  meta = {
-    homepage = http://strigi.sourceforge.net;
-    description = "A very fast and efficient crawler to index data on your harddrive";
-    license = "LGPL";
-    maintainers = [ lib.maintainers.sander ];
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/toys/default.nix b/pkgs/desktops/kde-4.4/toys/default.nix
deleted file mode 100644
index 30428c947da1..000000000000
--- a/pkgs/desktops/kde-4.4/toys/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{stdenv, fetchurl, lib, cmake, qt4, perl, kdelibs, kdebase_workspace, automoc4, phonon}:
-
-stdenv.mkDerivation {
-  name = "kdetoys-4.4.5";
-  src = fetchurl {
-    url = mirror://kde/stable/4.4.5/src/kdetoys-4.4.5.tar.bz2;
-    sha256 = "0cydhkgx2aqn2z0hjd7kg0da18niq89xixfhc7sq4g92xc9fryq1";
-  };
-  buildInputs = [ cmake qt4 perl kdelibs kdebase_workspace automoc4 phonon ];
-  meta = {
-    description = "KDE Toys";
-    license = "GPL";
-    homepage = http://www.kde.org;
-    inherit (kdelibs.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/updatekde.sh b/pkgs/desktops/kde-4.4/updatekde.sh
deleted file mode 100755
index ac3297e905d8..000000000000
--- a/pkgs/desktops/kde-4.4/updatekde.sh
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/bin/sh
-
-if [ $# -ne 2 ]; then
-  echo Run this in the kde expressions directory
-  echo usage: $0 oldversion newversion
-  echo example: $0 4.3.4 4.3.5
-  echo
-  echo This will not update the l10n expressions, which have their own generator.
-  echo This code supposes that the sha* assignations happen in the immediately next
-  echo line to the url assignation.
-  exit 1
-fi
-
-OLD=$1
-NEW=$2
-
-
-# Regexp to match for the old version
-regexp_old="$(echo $OLD | sed -e 's/\./\\./g')"
-
-
-# stdin: the result of grep -1 "\<url" $filename
-# $1: the filename grepped, because this will modify it.
-function updateinfile() {
-  local newhash oldhash
-  local file=$1
-  echo File: $file
-  while read line; do
-    if echo "$line" | grep -q -e "$regexp_old"; then
-      url=$(echo "$line" | sed 's/.*\<url *= *"\?\(.*\)"\?.*;.*/\1/')
-      echo - Url: "$url"
-      newurl=$(echo $url | sed s/"$regexp_old"/$NEW/g)
-      echo - New Url: "$newurl"
-      newhash=$(nix-prefetch-url "$newurl")
-      if [ $? -ne 0 ]; then
-         echo Error downloading
-         exit 1;
-      fi
-      echo - New Hash: "$newhash"
-    elif echo "$line" | grep -q -e '\<sha[0-9]\+ *='; then
-      oldhash=$(echo "$line" | sed 's/.*"\(.*\)".*/\1/')
-      echo - Oldhash: $oldhash
-      # Update the old hash in the file for the new hash
-      sed -i 's/\(.*\)sha.*'$oldhash'.*/\1sha256 = "'$newhash'";/g' $file
-    fi
-  done
-  sed -i s/"$regexp_old"/$NEW/g $file
-}
-
-
-# stdin: the nix files, which have 'fetchurl' calls downloading the old version files
-function updatefiles() {
-  while read A; do
-    # If the file has the old version in it...
-    if grep -q -e "$regexp_old" $A; then
-
-      # Pass the url parameters and the surrounding shaXXX = expression to updateinfile
-      grep -1 "\<url\>" $A > tmp;
-      < tmp updateinfile $A
-    fi
-  done
-}
-
-# Apply the version update to all nix files but l10n from '.'
-find . -\( -name *.nix -and -not -path "*l10n*" -\) | updatefiles
diff --git a/pkgs/desktops/kde-4.4/utils/builder.sh b/pkgs/desktops/kde-4.4/utils/builder.sh
deleted file mode 100644
index c1ec2b7e1cd8..000000000000
--- a/pkgs/desktops/kde-4.4/utils/builder.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-source $stdenv/setup
-
-myPatchPhase()
-{
-    for i in printer-applet/cmake-modules/FindSystemConfigPrinter.py printer-applet/printer-applet.py
-    do
-	sed -i -e "s|/usr/share/system-config-printer|$system_config_printer/share/system-config-printer|" $i
-    done
-    
-    sed -i -e "s|import cupshelpers.ppds, cupshelpers.cupshelpers|import ppds, cupshelpers|" printer-applet/cmake-modules/FindSystemConfigPrinter.py
-}
-patchPhase=myPatchPhase
-genericBuild
diff --git a/pkgs/desktops/kde-4.4/utils/default.nix b/pkgs/desktops/kde-4.4/utils/default.nix
deleted file mode 100644
index a3bd6c57ada0..000000000000
--- a/pkgs/desktops/kde-4.4/utils/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, fetchurl, lib, cmake, qt4, perl, gmp, python, libzip, libarchive, xz
-, sip, pyqt4, pycups, rhpl, system_config_printer
-, kdelibs, kdepimlibs, kdebase, kdebindings, automoc4, phonon, qimageblitz, qca2}:
-
-stdenv.mkDerivation {
-  name = "kdeutils-4.4.5";
-  
-  src = fetchurl {
-    url = mirror://kde/stable/4.4.5/src/kdeutils-4.4.5.tar.bz2;
-    sha256 = "159464yv5l0ra6h7l2ihfc3i4sr62229837zi6n9x4bfmd5pvvq7";
-  };
-  
-  builder = ./builder.sh;
-  
-  inherit system_config_printer;
-  
-  buildInputs = [ cmake qt4 perl gmp python libzip libarchive xz sip pyqt4 pycups rhpl system_config_printer
-                  kdelibs kdepimlibs kdebase kdebindings automoc4 phonon qimageblitz qca2 ];
-                  
-  meta = {
-    description = "KDE Utilities";
-    license = "GPL";
-    homepage = http://www.kde.org;
-    inherit (kdelibs.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/desktops/kde-4.4/webdev/default.nix b/pkgs/desktops/kde-4.4/webdev/default.nix
deleted file mode 100644
index 2c1746a69057..000000000000
--- a/pkgs/desktops/kde-4.4/webdev/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, fetchurl, lib, cmake, qt4, perl, libxml2, libxslt, boost
-, kdelibs, kdepimlibs, automoc4, phonon}:
-
-stdenv.mkDerivation {
-  name = "kdewebdev-4.4.5";
-  src = fetchurl {
-    url = mirror://kde/stable/4.4.5/src/kdewebdev-4.4.5.tar.bz2;
-    sha256 = "1yqn08xlzbcqrna76wqjmp58x28n3k47705znzqvh951ljdxds85";
-  };
-  buildInputs = [ cmake qt4 perl libxml2 libxslt boost kdelibs kdepimlibs automoc4 phonon ];
-  meta = {
-    description = "KDE Web development utilities";
-    license = "GPL";
-    homepage = http://www.kde.org;
-    inherit (kdelibs.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/desktops/kde-4.5/accessibility/color-schemes.nix b/pkgs/desktops/kde-4.5/accessibility/color-schemes.nix
index 1fdc02daaf8f..0be6cf2c6d5b 100644
--- a/pkgs/desktops/kde-4.5/accessibility/color-schemes.nix
+++ b/pkgs/desktops/kde-4.5/accessibility/color-schemes.nix
@@ -8,7 +8,6 @@ kde.package {
     kde = {
       name = "ColorSchemes";
       module = "kdeaccessibility";
-      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/accessibility/icon-themes.nix b/pkgs/desktops/kde-4.5/accessibility/icon-themes.nix
index 7fc795b595bd..40e8a21d0e6a 100644
--- a/pkgs/desktops/kde-4.5/accessibility/icon-themes.nix
+++ b/pkgs/desktops/kde-4.5/accessibility/icon-themes.nix
@@ -8,7 +8,6 @@ kde.package {
     kde = {
       name = "IconThemes";
       module = "kdeaccessibility";
-      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/accessibility/jovie.nix b/pkgs/desktops/kde-4.5/accessibility/jovie.nix
index 139895ff3cdb..5fc138ca5c3f 100644
--- a/pkgs/desktops/kde-4.5/accessibility/jovie.nix
+++ b/pkgs/desktops/kde-4.5/accessibility/jovie.nix
@@ -10,7 +10,6 @@ kde.package {
       name = "jovie";
       module = "kdeaccessibility";
       version = "0.6.0";
-      release = "4.5.4";
       versionFile = "jovie/jovie/main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/accessibility/kmag.nix b/pkgs/desktops/kde-4.5/accessibility/kmag.nix
index 960958837168..84cad4d1e546 100644
--- a/pkgs/desktops/kde-4.5/accessibility/kmag.nix
+++ b/pkgs/desktops/kde-4.5/accessibility/kmag.nix
@@ -9,7 +9,6 @@ kde.package {
       name = "kmag";
       module = "kdeaccessibility";
       version = "1.0";
-      release = "4.5.4";
       versionFile = "kmag/version.h";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/accessibility/kmousetool.nix b/pkgs/desktops/kde-4.5/accessibility/kmousetool.nix
index 7c6fb234a17d..308aaad07e14 100644
--- a/pkgs/desktops/kde-4.5/accessibility/kmousetool.nix
+++ b/pkgs/desktops/kde-4.5/accessibility/kmousetool.nix
@@ -9,9 +9,7 @@ kde.package {
       name = "kmousetool";
       module = "kdeaccessibility";
       version = "1.12";
-      release = "4.5.4";
       versionFile = "kmousetool/kmousetool/version.h";
     };
   };
 }
-
diff --git a/pkgs/desktops/kde-4.5/accessibility/kmouth.nix b/pkgs/desktops/kde-4.5/accessibility/kmouth.nix
index 3626c63e1435..e576dfb68238 100644
--- a/pkgs/desktops/kde-4.5/accessibility/kmouth.nix
+++ b/pkgs/desktops/kde-4.5/accessibility/kmouth.nix
@@ -9,8 +9,6 @@ kde.package {
       name = "kmouth";
       module = "kdeaccessibility";
       version = "1.1.1";
-      release = "4.5.4";
-      versionFile = "kmouth/version.h";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/admin/default.nix b/pkgs/desktops/kde-4.5/admin/default.nix
index 6e0793f4df49..c3b5a70b1dc5 100644
--- a/pkgs/desktops/kde-4.5/admin/default.nix
+++ b/pkgs/desktops/kde-4.5/admin/default.nix
@@ -18,9 +18,6 @@ kde.package {
   meta = {
     description = "KDE Administration Utilities";
     license = "GPL";
-    kde = {
-      name = "kdeadmin";
-      version = "4.5.4";
-    };
+    kde.name = "kdeadmin";
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/aurorae.nix b/pkgs/desktops/kde-4.5/artwork/aurorae.nix
index fc79a54c352f..183914bf231a 100644
--- a/pkgs/desktops/kde-4.5/artwork/aurorae.nix
+++ b/pkgs/desktops/kde-4.5/artwork/aurorae.nix
@@ -1,14 +1,14 @@
 { cmake, kde, automoc4, kdelibs }:
 
 kde.package rec {
-  name = "aurorae-themes-${meta.kde.version}";
+  name = "aurorae-themes-${kde.release}";
 
   buildInputs = [ cmake automoc4 kdelibs ];
+  
   meta = {
     kde = {
       name = "aurorae";
       module = "kdeartwork";
-      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/color-schemes.nix b/pkgs/desktops/kde-4.5/artwork/color-schemes.nix
index 8643c22a33ac..7d20acb3a81e 100644
--- a/pkgs/desktops/kde-4.5/artwork/color-schemes.nix
+++ b/pkgs/desktops/kde-4.5/artwork/color-schemes.nix
@@ -1,7 +1,7 @@
 { cmake, kde, automoc4, kdelibs }:
 
 kde.package rec {
-  name = "kde-color-schemes-${meta.kde.version}";
+  name = "kde-color-schemes-${kde.release}";
 
   buildInputs = [ cmake automoc4 kdelibs ];
   meta = {
@@ -9,7 +9,6 @@ kde.package rec {
     kde = {
       name = "ColorSchemes";
       module = "kdeartwork";
-      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/desktop-themes.nix b/pkgs/desktops/kde-4.5/artwork/desktop-themes.nix
index 417f96ecc1cd..760acd029283 100644
--- a/pkgs/desktops/kde-4.5/artwork/desktop-themes.nix
+++ b/pkgs/desktops/kde-4.5/artwork/desktop-themes.nix
@@ -1,7 +1,7 @@
 { cmake, kde, automoc4, kdelibs }:
 
 kde.package rec {
-  name = "kde-desktop-themes-${meta.kde.version}";
+  name = "kde-desktop-themes-${kde.release}";
 
   buildInputs = [ cmake automoc4 kdelibs ];
   meta = {
@@ -9,7 +9,6 @@ kde.package rec {
     kde = {
       name = "desktopthemes";
       module = "kdeartwork";
-      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/emoticons.nix b/pkgs/desktops/kde-4.5/artwork/emoticons.nix
index 64dc90a95c6a..05d40947a94a 100644
--- a/pkgs/desktops/kde-4.5/artwork/emoticons.nix
+++ b/pkgs/desktops/kde-4.5/artwork/emoticons.nix
@@ -1,7 +1,7 @@
 { cmake, kde, automoc4, kdelibs }:
 
 kde.package rec {
-  name = "kde-emotion-icons-${meta.kde.version}";
+  name = "kde-emotion-icons-${kde.release}";
 
   buildInputs = [ cmake automoc4 kdelibs ];
   meta = {
@@ -9,7 +9,6 @@ kde.package rec {
     kde = {
       name = "emoticons";
       module = "kdeartwork";
-      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/high-resolution-wallpapers.nix b/pkgs/desktops/kde-4.5/artwork/high-resolution-wallpapers.nix
index 0f1b782c9394..17e0af4c86f2 100644
--- a/pkgs/desktops/kde-4.5/artwork/high-resolution-wallpapers.nix
+++ b/pkgs/desktops/kde-4.5/artwork/high-resolution-wallpapers.nix
@@ -1,7 +1,7 @@
 { cmake, kde, automoc4, kdelibs }:
 
 kde.package rec {
-  name = "kde-wallpapers-high-resolution-${meta.kde.version}";
+  name = "kde-wallpapers-high-resolution-${kde.release}";
 
   buildInputs = [ cmake automoc4 kdelibs ];
   meta = {
@@ -9,7 +9,6 @@ kde.package rec {
     kde = {
       name = "HighResolutionWallpapers";
       module = "kdeartwork";
-      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/kscreensaver.nix b/pkgs/desktops/kde-4.5/artwork/kscreensaver.nix
index 0390231a816a..ca7e65b9f39b 100644
--- a/pkgs/desktops/kde-4.5/artwork/kscreensaver.nix
+++ b/pkgs/desktops/kde-4.5/artwork/kscreensaver.nix
@@ -4,12 +4,11 @@ kde.package rec {
   buildInputs = [ cmake automoc4 kdelibs xscreensaver kdebase_workspace eigen ];
   preConfigure = "cp -v ${./FindXscreensaver.cmake} cmake/modules/FindXscreensaver.cmake";
   meta = {
-    description = "KDE screen saver and savers";
+    description = "KDE screensavers";
     kde = {
       name = "kscreensaver";
       module = "kdeartwork";
       version = "1.0";
-      release = "4.5.4";
       versionFile = "kscreensaver/kpartsaver/kpartsaver.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/artwork/nuvola-icon-theme.nix b/pkgs/desktops/kde-4.5/artwork/nuvola-icon-theme.nix
index a105148845df..8bd1f4011367 100644
--- a/pkgs/desktops/kde-4.5/artwork/nuvola-icon-theme.nix
+++ b/pkgs/desktops/kde-4.5/artwork/nuvola-icon-theme.nix
@@ -1,8 +1,9 @@
 { cmake, kde, automoc4, kdelibs }:
 
 kde.package rec {
-  name = "nuvola-icon-theme-${meta.kde.version}";
-# Sources contain primary and kdeclassic as well but they're not installed
+  name = "nuvola-icon-theme-${kde.release}";
+  
+  # Sources contain primary and kdeclassic as well but they're not installed
 
   buildInputs = [ cmake automoc4 kdelibs ];
   meta = {
@@ -10,7 +11,6 @@ kde.package rec {
     kde = {
       name = "IconThemes";
       module = "kdeartwork";
-      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/phase-style.nix b/pkgs/desktops/kde-4.5/artwork/phase-style.nix
index 0c05c263c30d..c4295b668100 100644
--- a/pkgs/desktops/kde-4.5/artwork/phase-style.nix
+++ b/pkgs/desktops/kde-4.5/artwork/phase-style.nix
@@ -1,7 +1,7 @@
 { cmake, kde, automoc4, kdelibs }:
 
 kde.package rec {
-  name = "kde-style-phase-${meta.kde.version}";
+  name = "kde-style-phase-${kde.release}";
 
   buildInputs = [ cmake automoc4 kdelibs ];
   meta = {
@@ -9,7 +9,6 @@ kde.package rec {
     kde = {
       name = "styles";
       module = "kdeartwork";
-      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/sounds.nix b/pkgs/desktops/kde-4.5/artwork/sounds.nix
index ca708d98f81f..e0824503281b 100644
--- a/pkgs/desktops/kde-4.5/artwork/sounds.nix
+++ b/pkgs/desktops/kde-4.5/artwork/sounds.nix
@@ -1,7 +1,7 @@
 { cmake, kde, automoc4, kdelibs }:
 
 kde.package rec {
-  name = "kde-sounds-${meta.kde.version}";
+  name = "kde-sounds-${kde.release}";
 
   buildInputs = [ cmake automoc4 kdelibs ];
   meta = {
@@ -9,7 +9,6 @@ kde.package rec {
     kde = {
       name = "sounds";
       module = "kdeartwork";
-      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/wallpapers.nix b/pkgs/desktops/kde-4.5/artwork/wallpapers.nix
index 705ff5762b5b..e2cad0b71781 100644
--- a/pkgs/desktops/kde-4.5/artwork/wallpapers.nix
+++ b/pkgs/desktops/kde-4.5/artwork/wallpapers.nix
@@ -1,7 +1,7 @@
 { cmake, kde, automoc4, kdelibs }:
 
 kde.package rec {
-  name = "kde-wallpapers-${meta.kde.version}";
+  name = "kde-wallpapers-${kde.release}";
 
   buildInputs = [ cmake automoc4 kdelibs ];
   meta = {
@@ -9,7 +9,6 @@ kde.package rec {
     kde = {
       name = "wallpapers";
       module = "kdeartwork";
-      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/artwork/weather-wallpapers.nix b/pkgs/desktops/kde-4.5/artwork/weather-wallpapers.nix
index bc495d2a8ff5..b4354c10f874 100644
--- a/pkgs/desktops/kde-4.5/artwork/weather-wallpapers.nix
+++ b/pkgs/desktops/kde-4.5/artwork/weather-wallpapers.nix
@@ -1,7 +1,7 @@
 { cmake, kde, automoc4, kdelibs }:
 
 kde.package rec {
-  name = "kde-weather-wallpapers-${meta.kde.version}";
+  name = "kde-weather-wallpapers-${kde.release}";
 
   buildInputs = [ cmake automoc4 kdelibs ];
   meta = {
@@ -9,7 +9,6 @@ kde.package rec {
     kde = {
       name = "WeatherWallpapers";
       module = "kdeartwork";
-      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/base-runtime/default.nix b/pkgs/desktops/kde-4.5/base-runtime/default.nix
index 8cc432be6956..293bc8dd04d6 100644
--- a/pkgs/desktops/kde-4.5/base-runtime/default.nix
+++ b/pkgs/desktops/kde-4.5/base-runtime/default.nix
@@ -19,9 +19,6 @@ kde.package {
     description = "KDE runtime";
     longDescription = "Libraries and tools which supports running KDE desktop applications";
     license = "LGPL";
-    kde = {
-      name = "kdebase-runtime";
-      version = "4.5.4";
-    };
+    kde.name = "kdebase-runtime";
   };
 }
diff --git a/pkgs/desktops/kde-4.5/base-workspace/default.nix b/pkgs/desktops/kde-4.5/base-workspace/default.nix
index 9c4c5ead3602..0fbafd2e4071 100644
--- a/pkgs/desktops/kde-4.5/base-workspace/default.nix
+++ b/pkgs/desktops/kde-4.5/base-workspace/default.nix
@@ -3,7 +3,7 @@
 , libXi, libXau, libXdmcp, libXtst, libXcomposite, libXdamage, libXScrnSaver
 , lm_sensors, libxklavier, libusb, libpthreadstubs, boost
 , automoc4, strigi, soprano, qimageblitz, akonadi
-, libdbusmenu_qt, libqalculate, pciutils, libraw1394, bluez
+, libdbusmenu_qt, libqalculate, pciutils, libraw1394, bluez, networkmanager
 }:
 
 kde.package {
@@ -13,15 +13,19 @@ kde.package {
     kdepimlibs kdebindings boost libusb libXi libXau libXdmcp libraw1394
     libXcomposite libXdamage libXScrnSaver lm_sensors libxklavier automoc4
     strigi soprano qimageblitz akonadi libpthreadstubs libdbusmenu_qt libqalculate
-    pciutils bluez ];
+    pciutils bluez networkmanager ];
+
+  patches =
+    [ # Don't do compositing with the software GLX driver, since it's
+      # completely broken (corrupt output, server crashes, etc.).
+      # (NixOS/121)
+      ./no-software-compositing.patch
+    ];
 
   meta = {
     description = "KDE base platform-specific components";
     longDescription = "KDE base components that are only required to work with X11 such KDM and KWin";
     license = "GPL";
-    kde = {
-      name = "kdebase-workspace";
-      version = "4.5.4";
-    };
+    kde.name = "kdebase-workspace";
   };
 }
diff --git a/pkgs/desktops/kde-4.5/base-workspace/no-software-compositing.patch b/pkgs/desktops/kde-4.5/base-workspace/no-software-compositing.patch
new file mode 100644
index 000000000000..7c9e102bc95a
--- /dev/null
+++ b/pkgs/desktops/kde-4.5/base-workspace/no-software-compositing.patch
@@ -0,0 +1,17 @@
+diff -ru -x '*~' kdebase-workspace-4.5.5-orig//kwin/compositingprefs.cpp kdebase-workspace-4.5.5/kwin/compositingprefs.cpp
+--- kdebase-workspace-4.5.5-orig//kwin/compositingprefs.cpp	2010-06-24 18:28:18.000000000 +0200
++++ kdebase-workspace-4.5.5/kwin/compositingprefs.cpp	2011-03-11 16:33:07.296566718 +0100
+@@ -314,9 +314,10 @@
+     //else if( mDriver == "radeon" )
+     //    {
+     //    }
+-    //else if( mDriver == "software" )
+-    //    {
+-    //    }
++    else if( mDriver == "software" )
++        {
++        mRecommendCompositing = false;
++        }
+     }
+ 
+ 
diff --git a/pkgs/desktops/kde-4.5/base/default.nix b/pkgs/desktops/kde-4.5/base/default.nix
index 545621b5ed9f..2f0c78e5f01d 100644
--- a/pkgs/desktops/kde-4.5/base/default.nix
+++ b/pkgs/desktops/kde-4.5/base/default.nix
@@ -11,9 +11,6 @@ kde.package {
     description = "KDE Base components";
     longDescription = "Applications that form the KDE desktop, like Plasma, System Settings, Konqueror, Dolphin, Kate, and Konsole";
     license = "GPL";
-    kde = {
-      name = "kdebase";
-      version = "4.5.4";
-    };
+    kde.name = "kdebase";
   };
 }
diff --git a/pkgs/desktops/kde-4.5/bindings/default.nix b/pkgs/desktops/kde-4.5/bindings/default.nix
index 4928e883e6c9..f7e35c5dba72 100644
--- a/pkgs/desktops/kde-4.5/bindings/default.nix
+++ b/pkgs/desktops/kde-4.5/bindings/default.nix
@@ -28,10 +28,7 @@ kde.package rec {
     description = "KDE bindings";
     longDescription = "Provides KDE bindings for several languages such as Java, Smoke and Python";
     license = "LGPL";
-    kde = {
-      name = "kdebindings";
-      version = "4.5.4";
-    };
+    kde.name = "kdebindings";
   };
 }
 
diff --git a/pkgs/desktops/kde-4.5/default.nix b/pkgs/desktops/kde-4.5/default.nix
index 7702dbc89805..d09b4ae3f536 100644
--- a/pkgs/desktops/kde-4.5/default.nix
+++ b/pkgs/desktops/kde-4.5/default.nix
@@ -2,14 +2,14 @@
 
 let
 
-  version = "4.5.4";
+  release = "4.5.5";
 
   # 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; }; })
+    runCommand "${name}-${release}" ({ passthru = pkgs // { inherit pkgs; }; })
       ''
         mkdir -p $out/nix-support
         echo ${toString pkgs'} > $out/nix-support/propagated-user-env-packages
@@ -26,31 +26,19 @@ recurseIntoAttrs rec {
 
   phonon = null;
 
-  kde = callPackage ./kde-package { };
+  kde = callPackage ./kde-package { inherit release; };
 
 ### SUPPORT
   akonadi = callPackage ./support/akonadi { };
 
   attica = callPackage ./support/attica { };
 
-  automoc4 = callPackage ./support/automoc4 { };
-
-  eigen = callPackage ./support/eigen { };
-
   oxygen_icons = callPackage ./support/oxygen-icons { };
 
   polkit_qt_1 = callPackage ./support/polkit-qt-1 { };
 
-  strigi = callPackage ./support/strigi { };
-
   soprano = callPackage ./support/soprano { };
 
-  qca2 = callPackage ./support/qca2 { };
-
-  qca2_ossl = callPackage ./support/qca2/ossl.nix { };
-
-  qimageblitz = callPackage ./support/qimageblitz { };
-
 ### LIBS
   kdelibs = callPackage ./libs { };
 
@@ -156,7 +144,7 @@ recurseIntoAttrs rec {
 
   kdebindings = callPackage ./bindings { };
 
-  l10n = callPackage ./l10n { };
+  l10n = callPackage ./l10n { inherit release; };
 
   # Make the split packages visible to `nix-env -q'.
   misc = recurseIntoAttrs
diff --git a/pkgs/desktops/kde-4.5/edu/default.nix b/pkgs/desktops/kde-4.5/edu/default.nix
index 852453df4c37..f9132de8739a 100644
--- a/pkgs/desktops/kde-4.5/edu/default.nix
+++ b/pkgs/desktops/kde-4.5/edu/default.nix
@@ -1,5 +1,5 @@
 { kde, cmake, qt4, perl, libxml2, libxslt, openbabel, boost, readline, gmm, gsl
-, xplanet, libspectre, pkgconfig, libqalculate
+, xplanet, libspectre, pkgconfig, libqalculate, python
 , kdelibs, automoc4, eigen, attica}:
 
 kde.package {
@@ -16,14 +16,17 @@ kde.package {
 
   buildInputs = [ cmake qt4 perl libxml2 libxslt openbabel boost readline gmm
     gsl xplanet kdelibs automoc4 eigen attica libspectre pkgconfig
-    libqalculate ];
+    libqalculate python ];
+
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${python}/include/${python.libPrefix}"
+    export NIX_LDFLAGS="$NIX_LDFLAGS -l${python.libPrefix} -lboost_python"
+  '';
+  cmakeFlags = '' -DBOOST_PYTHON_INCLUDES="${boost}/include" -DBOOST_PYTHON_LIBS="boost_python" -DKIG_ENABLE_PYTHON_SCRIPTING=1'';
 
   meta = {
-    description = "KDE Educative software";
+    description = "KDE educational software";
     license = "GPL";
-    kde = {
-      name = "kdeedu";
-      version = "4.5.4";
-    };
+    kde.name = "kdeedu";
   };
 }
diff --git a/pkgs/desktops/kde-4.5/games/default.nix b/pkgs/desktops/kde-4.5/games/default.nix
index 02c7b9bf5b96..a83b2a9494aa 100644
--- a/pkgs/desktops/kde-4.5/games/default.nix
+++ b/pkgs/desktops/kde-4.5/games/default.nix
@@ -14,9 +14,6 @@ kde.package {
   meta = {
     description = "KDE Games";
     license = "GPL";
-    kde = {
-      name = "kdegames";
-      version = "4.5.4";
-    };
+    kde.name = "kdegames";
   };
 }
diff --git a/pkgs/desktops/kde-4.5/graphics/default.nix b/pkgs/desktops/kde-4.5/graphics/default.nix
index 45b588af25e2..36aeaf28019a 100644
--- a/pkgs/desktops/kde-4.5/graphics/default.nix
+++ b/pkgs/desktops/kde-4.5/graphics/default.nix
@@ -15,9 +15,6 @@ kde.package {
       Okular  document reader.
     '';
     license = "GPL";
-    kde = {
-      name = "kdegraphics";
-      version = "4.5.4";
-    };
+    kde.name = "kdegraphics";
   };
 }
diff --git a/pkgs/desktops/kde-4.5/kde-package/default.nix b/pkgs/desktops/kde-4.5/kde-package/default.nix
index 433e12f45399..81a36fe9502d 100644
--- a/pkgs/desktops/kde-4.5/kde-package/default.nix
+++ b/pkgs/desktops/kde-4.5/kde-package/default.nix
@@ -1,10 +1,9 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, release }:
 
 rec {
-  defaultArgs = {name, stable ? true, version,
-    module ? name, release ? version, ... }:
+  inherit release;
 
-    assert (name == module) -> (release == version);
+  defaultArgs = { name, stable ? true, version ? release, module ? name, ... }:
 
     (
       {
@@ -20,6 +19,8 @@ rec {
             ).sha256;
         };
 
+        enableParallelBuilding = true;
+
         meta = {
           maintainers = with stdenv.lib.maintainers; [ sander urkud ];
           platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/desktops/kde-4.5/kde-package/manifest-4.5.4.nix b/pkgs/desktops/kde-4.5/kde-package/manifest-4.5.4.nix
deleted file mode 100644
index b00a5025fa7f..000000000000
--- a/pkgs/desktops/kde-4.5/kde-package/manifest-4.5.4.nix
+++ /dev/null
@@ -1,82 +0,0 @@
-[
-{
-  module = "kdeaccessibility";
-  sha256 = "0jd07n143r2610a261xx193zkigs30a4p645pzyw3dsi6la8ms0r";
-}
-{
-  module = "kdeadmin";
-  sha256 = "0frf4clljqnynxv67hqypsfaifdrgbgc0zb9lcckjialc03f2kfm";
-}
-{
-  module = "kdeartwork";
-  sha256 = "08260bml12y3xwr61q2qxrp0aqcshi14h7n93b12q0m9fs8n87x0";
-}
-{
-  module = "kdebase";
-  sha256 = "1k9hla4qwrgz12g4n72c46w6b1srjnwf95zxhj2axqdw4k4hfj6z";
-}
-{
-  module = "kdebase-runtime";
-  sha256 = "0rqrx9hz266dc9l7sn2pakqy36w5919gchwc4ghb5qzira3jjg1h";
-}
-{
-  module = "kdebase-workspace";
-  sha256 = "09a4jsa3w4v4ldsh244isbbrsv350xcmd2py0sb3lvja7gf9wqhw";
-}
-{
-  module = "kdebindings";
-  sha256 = "0vx7fhg74g0b2xcaxjybxci34kyc10h1i29qsdqr1005j01cdvj0";
-}
-{
-  module = "kdeedu";
-  sha256 = "080pw86l55jfhdxm3a18qh4h1p7k6w3cb37g8ymfsyx3k3diil6x";
-}
-{
-  module = "kdegames";
-  sha256 = "12p209n673fxnm9wsgc7by46z4hs3d7b3hzwgcxggzag0kyhx3s5";
-}
-{
-  module = "kdegraphics";
-  sha256 = "1b4n1ss5pg213blqrkbk0pqchfr336rybqfkcb8scv1blx0w83qs";
-}
-{
-  module = "kdelibs";
-  sha256 = "0c4ybrpdw3dblv68mj6sa7q13kx1z64f8lpakxf6f7vw1ish2dph";
-}
-{
-  module = "kdemultimedia";
-  sha256 = "16k8l5h4m2wjpzpzflk2agmg48m1gj4fyzjp67z446lmb1m8jap7";
-}
-{
-  module = "kdenetwork";
-  sha256 = "1g0hy92ixh2nzvasjm4ms8n8jyy777d909gjv16ph8g5w2pxj61w";
-}
-{
-  module = "kdepimlibs";
-  sha256 = "1yc615qf3qihlj69glm4amdrbck33vagp5xmgnp6mny5vhvdc85b";
-}
-{
-  module = "kdeplasma-addons";
-  sha256 = "0q9r8lafc3aa15smaj1r5kcyz2jw7lpbnp6qxanllfbv7c4b37nb";
-}
-{
-  module = "kdesdk";
-  sha256 = "1ia336cfs42h8b3jahd9hb2ynahyiccx6y8dfk420xvyy024i2ra";
-}
-{
-  module = "kdetoys";
-  sha256 = "12755p77r5fv2lfr78jrvcx8vg1mnsfsb1g8hpr6b59w5hh2k2mm";
-}
-{
-  module = "kdeutils";
-  sha256 = "07g96bwy8h4ydj8gdnm1cs7vgm96s3m9c2d36d8r3w6apvh5pjkc";
-}
-{
-  module = "kdewebdev";
-  sha256 = "1ng0rbrizqmqm4l0j9xahf0dwh5674cimzkzrlgj09dl4a603xar";
-}
-{
-  module = "oxygen-icons";
-  sha256 = "0j9d4h3nl3vqwh4fi1zysahgvwd0xswqa25p8jl6hl86rnawhjcy";
-}
-]
diff --git a/pkgs/desktops/kde-4.5/kde-package/manifest-4.5.5.nix b/pkgs/desktops/kde-4.5/kde-package/manifest-4.5.5.nix
new file mode 100644
index 000000000000..43fb16cd9171
--- /dev/null
+++ b/pkgs/desktops/kde-4.5/kde-package/manifest-4.5.5.nix
@@ -0,0 +1,82 @@
+[
+{
+  module = "kdeaccessibility";
+  sha256 = "1vlm844jx0ggp236zl3wzzq3j2s8h9cd7cg1ajvsalpcab0dp088";
+}
+{
+  module = "kdeadmin";
+  sha256 = "1dd725f1m9w1sm6fkhvsc7nkn7avk2lmkgqx183vjx1znxfpj9x3";
+}
+{
+  module = "kdeartwork";
+  sha256 = "1k22fhqch2s6ajfy906nxjhqw05a9lfibs7pdzgsrdxs5606jdyc";
+}
+{
+  module = "kdebase";
+  sha256 = "07xk16r5cw1jzilkkg2kyff0nk7n0fxrawx0n7xn4mxpzqzgjvn6";
+}
+{
+  module = "kdebase-runtime";
+  sha256 = "0kz9s3i66fzxcklm95f7vqlx3jbgpj32gbg7nxy1iyaih01vz17j";
+}
+{
+  module = "kdebase-workspace";
+  sha256 = "14c0v5bhb16syrk9hw340jb9fh48syclgnxiwzyfn7967gz9142d";
+}
+{
+  module = "kdebindings";
+  sha256 = "1iapya735cpdpdn5g8rw1m4r8jvr8kjpjbpxkhd7y750x3vjvykv";
+}
+{
+  module = "kdeedu";
+  sha256 = "0agirfgx6fwm6j2hk7xzf589gikr5y4p3sqabjrk5i6wwqjsp651";
+}
+{
+  module = "kdegames";
+  sha256 = "10jrq5cd0fjjl5bpdqjckyx1g4clxdain3xy2gcw2f40b4yk0zi4";
+}
+{
+  module = "kdegraphics";
+  sha256 = "0k475fmfmr8z86qh9qsdik5jphdsaiw4kb580mn1r4zwsn1wq8dk";
+}
+{
+  module = "kdelibs";
+  sha256 = "1yganq6m9zvf9l3cbdkgj1i4zrlq77qm3lf7nnqzpkyr6iq6sz1l";
+}
+{
+  module = "kdemultimedia";
+  sha256 = "17ma5igdq8qmsmpx8lia7xpw68441via613qs42sbm2nhqg2rp46";
+}
+{
+  module = "kdenetwork";
+  sha256 = "1w97bb5z55kllzig528ap5dmilvjgqiazn8vkj180zwi1avixqpg";
+}
+{
+  module = "kdepimlibs";
+  sha256 = "0immri4fvs9kxhaafk9i8zh630slayrd84wpwgvy1673mgxs4y4r";
+}
+{
+  module = "kdeplasma-addons";
+  sha256 = "13hhsbgfqxxh07zafy3zgky9bipyxysi5zpwmi7ljjj51n72z1wr";
+}
+{
+  module = "kdesdk";
+  sha256 = "030m2gghaxgkg8hjrzzdkibmmf34zqimi8jw979sar7c9n5nrkkg";
+}
+{
+  module = "kdetoys";
+  sha256 = "0q2cbsj2p16i0nd6swpayiq1w40l084cxvvkdqpzilkss8dcp0jf";
+}
+{
+  module = "kdeutils";
+  sha256 = "057zmfyp4lz5i2hq7n80p6zi5bf39hz3rvi1wyyw35sga76j5fvw";
+}
+{
+  module = "kdewebdev";
+  sha256 = "14k3dr9z53g98gxyzglbrmkbwgc63ifn11z0wfy2vxfrk4vhniip";
+}
+{
+  module = "oxygen-icons";
+  sha256 = "06vn8yn79kxll9f7gpsa7ihw6waj5qgz752zh9h8bycqc1m1i6nb";
+}
+]
diff --git a/pkgs/desktops/kde-4.5/l10n/default.nix b/pkgs/desktops/kde-4.5/l10n/default.nix
index 03c10cb4b8eb..e2ee8e4dc409 100644
--- a/pkgs/desktops/kde-4.5/l10n/default.nix
+++ b/pkgs/desktops/kde-4.5/l10n/default.nix
@@ -1,26 +1,18 @@
-{ stdenv, fetchurl, cmake, kdelibs, gettext, perl, automoc4 }:
+{ stdenv, fetchurl, cmake, kdelibs, gettext, perl, automoc4, release }:
 
 let
-  overrides = { };
 
-  defaultRelease = "4.5.4";
-  releases = [ "4.5.1" "4.5.2" "4.5.3" "4.5.4" ];
+  inherit (stdenv.lib) attrByPath singleton;
 
-  sanitizeString = replaceChars [ "@" "." ] [ "_" "_" ];
-  getOverride = name: attrByPath [name] {} overrides;
-
-  inherit (stdenv.lib) replaceChars attrByPath singleton;
-
-  kdeL10nDerivation = {lang, sha256, release} :
-    let
-      name = "kde-l10n-${lang}-${release}";
-      saneName = "kde-l10n-${sanitizeString lang}-${release}";
-    in
-    stdenv.mkDerivation ({
-      name = saneName;
+  kdeL10nDerivation =
+    { lang, saneName, sha256 }:
+    
+    stdenv.mkDerivation rec {
+      name = "kde-l10n-${saneName}-${release}";
+      
       src = fetchurl {
-        url = "mirror://kde/stable/${release}/src/kde-l10n/${name}.tar.bz2";
-        name = "${saneName}.tar.bz2";
+        url = "mirror://kde/stable/${release}/src/kde-l10n/kde-l10n-${lang}-${release}.tar.bz2";
+        name = "${name}.tar.bz2";
         inherit sha256;
       };
 
@@ -31,19 +23,14 @@ let
         license = "GPL";
         inherit (kdelibs.meta) maintainers platforms homepage;
       };
-    }
-    // (getOverride lang) // (getOverride name)
-  );
+    };
 
-  kdeL10nRelease = release:
-    let
-      releaseStr = sanitizeString release;
-    in
+  kdeL10nRelease =
     builtins.listToAttrs (
-      map ({lang, sha256}:
+      map ({lang, saneName, sha256}:
         {
-          name = "${sanitizeString lang}";
-          value = kdeL10nDerivation { inherit lang release sha256;};
+          name = saneName;
+          value = kdeL10nDerivation { inherit lang saneName sha256; };
         }
       ) (import (./manifest + "-${release}.nix"))
     );
@@ -52,7 +39,4 @@ in
 {
   inherit kdeL10nDerivation;
   recurseForDerivations = true;
-}
-// builtins.listToAttrs (map (r : { name = sanitizeString r; value =
-kdeL10nRelease r; }) releases)
-// (kdeL10nRelease defaultRelease)
+} // kdeL10nRelease
diff --git a/pkgs/desktops/kde-4.5/l10n/l10n-manifest.sh b/pkgs/desktops/kde-4.5/l10n/l10n-manifest.sh
index baa235e0f75f..cc0eec20aaaf 100755
--- a/pkgs/desktops/kde-4.5/l10n/l10n-manifest.sh
+++ b/pkgs/desktops/kde-4.5/l10n/l10n-manifest.sh
@@ -24,6 +24,7 @@ for i in `cd "${dir}"; ls kde-l10n-*-${release}.tar.bz2`; do
   hash=$(nix-hash --type sha256 --flat --base32 "${dir}/${i}")
   echo "{"
   echo "  lang = \"${lang}\";"
+  echo "  saneName = \"$(echo $lang | sed s^@^_^g)\";"
   echo "  sha256 = \"${hash}\";"
   echo "}"
   echo $hash >&2
diff --git a/pkgs/desktops/kde-4.5/l10n/manifest-4.5.1.nix b/pkgs/desktops/kde-4.5/l10n/manifest-4.5.1.nix
deleted file mode 100644
index 3f7e0ffc8ab4..000000000000
--- a/pkgs/desktops/kde-4.5/l10n/manifest-4.5.1.nix
+++ /dev/null
@@ -1,218 +0,0 @@
-[
-{
-  lang = "ar";
-  sha256 = "0xgmrwlza3p2fvj66y4vc4r81r5y2n2igjaj2xmgvb2pvh4zx0ws";
-}
-{
-  lang = "bg";
-  sha256 = "1npa9y8i7j68c8sa9cd96gy4n65bkl474agibax8rdk2mniyqrn9";
-}
-{
-  lang = "ca";
-  sha256 = "0097sk50cf1cq6wnah3kiab8vkh68snzahcng2blk63gw908yfvx";
-}
-{
-  lang = "cs";
-  sha256 = "077424cbqn68rf9wb026ip1n0rq5lz1iwp4k7ih15j87ymbrd03f";
-}
-{
-  lang = "da";
-  sha256 = "0p80a2pn9hgih2y5s27z8ir8jkyz68i87sdw439c8z3pjww5dy2h";
-}
-{
-  lang = "de";
-  sha256 = "007r6wf0in22y2jc1nr1msazv6bd48136kc4q0633gn1igdhb03h";
-}
-{
-  lang = "el";
-  sha256 = "1ffgqjxgdfsjx0nwhj5yl2pn2kmc92s01wfxzdvb6kss9r53v95k";
-}
-{
-  lang = "en_GB";
-  sha256 = "1bmg1aygaarnpka9dfvxgnzwqphqaly8rfps63g03ncls7ml8ilb";
-}
-{
-  lang = "eo";
-  sha256 = "0bqrarah2pc6kjcfla117rwc0k1m23ndp4nm4ac2sygmanz1j6bk";
-}
-{
-  lang = "es";
-  sha256 = "0hr3halsjjdzlmx2rfxycacm26pxs1f3m8awahmr1dp5ngid42wn";
-}
-{
-  lang = "et";
-  sha256 = "1pj1wjnjjj052csn0ajql2i3ynpd4fc9l53zj4j3vsd177gypdjw";
-}
-{
-  lang = "eu";
-  sha256 = "0zhrqy8b7wn8vdq75dlafc91mhvqpn3cw7hn90jj99c1aazdhjpd";
-}
-{
-  lang = "fi";
-  sha256 = "0x0dhy1c7wn5wxqx2v7jyv10rc6gi6klmw0q80vp3xpfma9l16yg";
-}
-{
-  lang = "fr";
-  sha256 = "1yvzpvxdzznrj61hdbi9jgpxdb9l0i8g24q1xkswpnp87jrncpaq";
-}
-{
-  lang = "fy";
-  sha256 = "14c740yfw5v043rmqmwnb3ic0s7l2kcjy57qdqhfpmr75m4rjrvl";
-}
-{
-  lang = "ga";
-  sha256 = "0w5cj0bgyy2pna8hqcpx82n3pwzr9vzshzknz86azb8c0pwkcjdw";
-}
-{
-  lang = "gl";
-  sha256 = "00kwqzypkw0bi8nhz75a367h2filwkmc1kiiv66l2s3d4vrkdgjz";
-}
-{
-  lang = "gu";
-  sha256 = "0as072rz4k4h8b0ix8jipn6bfck8van024sz1gd6xj1bhs83wk0m";
-}
-{
-  lang = "he";
-  sha256 = "1f5j1qgkmzjagmyjxa00xmfxk5zgfms77gidg88hycrvgrxm6g59";
-}
-{
-  lang = "hi";
-  sha256 = "0sy6cis0hkddmq4jw43a7rpxjadmzrgbgyhnnhyp9m6n225rh54g";
-}
-{
-  lang = "hr";
-  sha256 = "016h7iqfkarl6p20gqcajknw3bsbqvby824fsdyrrhan82vsqd0k";
-}
-{
-  lang = "hu";
-  sha256 = "1ck6vrrvvwlcxlgmmjq4hk5dh38clqvf3fwc7ndgr4wrxlr4c94m";
-}
-{
-  lang = "ia";
-  sha256 = "13mnd7ndkfdq591da3cwj64wchq86qk265i6r7xir87gxn5m86xr";
-}
-{
-  lang = "id";
-  sha256 = "0a1rw0mx1fdmps5vfx7m8mrmsqvqkpdbpbwys9sxbxy1zcbinasr";
-}
-{
-  lang = "is";
-  sha256 = "0hinhxsq4nm4g97gcdfyx8fzx6d0syg9llww9spwpqp26myad69r";
-}
-{
-  lang = "it";
-  sha256 = "0z4kdlmyliqa6qgdxbimifp535p6nvvydpa504i9klxcywc382y5";
-}
-{
-  lang = "ja";
-  sha256 = "1vsyjgwh69wwadn27ncxmr85d1qn91xvrbfxxl8x9gqa44dzrs7k";
-}
-{
-  lang = "kk";
-  sha256 = "1nzx2djxav6hga6ha473xkqiqgv8ikh3iq3b7i20zqcsjp3lhynq";
-}
-{
-  lang = "km";
-  sha256 = "0rd36apjlgq3qvhbdq0a289hbn1hff1qbnphaisy1p1dsh3bbnw9";
-}
-{
-  lang = "kn";
-  sha256 = "0al7whnmcpiq50b56xhzxpd6zmwv79s5j62m6z537kl3ldq9is5l";
-}
-{
-  lang = "ko";
-  sha256 = "0s5y6h8nx4xp5vd39qpby303zsvi67yrbdzsgvig98gbw61szkd7";
-}
-{
-  lang = "lt";
-  sha256 = "0wmwfn7w6z1lvjgn283rcpxv8j6lh8yzkvgjmhdg2r4ys948gzz0";
-}
-{
-  lang = "lv";
-  sha256 = "1w4k7rr06m0ynl52gdikqw45754pj7z9n65pxyv88gxj5sjkzlw8";
-}
-{
-  lang = "ml";
-  sha256 = "1qgs6xwyx1sc496ybq1m1mm0wyl9fz6317p4m5jvwiicldrcx3hq";
-}
-{
-  lang = "nb";
-  sha256 = "0frnnxang8k491cnmn9lc2kbqkqr5m40c53d75l07j97jndv98y1";
-}
-{
-  lang = "nds";
-  sha256 = "1p3h86qzrrhxrvl4qryizm3j6lnq3lm1vpnnapkk04y7msz0fdpr";
-}
-{
-  lang = "nl";
-  sha256 = "0lphl2j0faalaj3mkkqv5806bg2fd6s1478cprrrkw788hvvlmzl";
-}
-{
-  lang = "nn";
-  sha256 = "06pj24zfsgbkk1jxjjs5by8czv0llfz90iq6rq4lxnc0s195isjg";
-}
-{
-  lang = "pa";
-  sha256 = "1sqqanvxzw63bdlkgvi6jlngvrshqrfl8d0jac103wvy4y4f6l5r";
-}
-{
-  lang = "pl";
-  sha256 = "13n278n3p32bphch54x7qgba268m95kmql3qgxsx8ziy8riir9mm";
-}
-{
-  lang = "pt";
-  sha256 = "12mkprpk9imda0iyi65mg4rs3w2qnyq8iszg0k7yqf7537zpv4x1";
-}
-{
-  lang = "pt_BR";
-  sha256 = "1ipn6kvc3nq84fvpb9xrpwkqjaj2sya3y1cr2ai51909yfjk5r35";
-}
-{
-  lang = "ro";
-  sha256 = "1kfyjlpkjnmv7fryr1w2a9d1dijkmhs3mqpqg0hi7316qy2z10jy";
-}
-{
-  lang = "ru";
-  sha256 = "0m62rszff2k4rffmy3h9hxhs8bf523cfinlyay663zq3bh35i6h9";
-}
-{
-  lang = "sk";
-  sha256 = "07pzslmln8yh0s8ik0bj86rhyy4w21w13pvf9z6ifapqigklw33c";
-}
-{
-  lang = "sl";
-  sha256 = "1vrdzbl5ii6paaick88dkr5fabjpi36gjwwz67kqy6d9nm44jjp1";
-}
-{
-  lang = "sr";
-  sha256 = "186ncq0hr0lrn1l6xhqwjwqrmd9xw9qa0kf9cqvj0x3j6qk4mjqf";
-}
-{
-  lang = "sv";
-  sha256 = "0r62fs75a1kfr2dsfg1zrzh0c2wgbv6jq4c1w05wcbmqvpq16ks6";
-}
-{
-  lang = "th";
-  sha256 = "1apvlcmbwhnjc3dlfjzah1ckwwhjn2rcrvgmv1rwvn9py7yfzhf5";
-}
-{
-  lang = "tr";
-  sha256 = "0zci2fqcnlj9y23sy7v8yb1nc37dfqbpj1xrfs7sfvhj12048sb0";
-}
-{
-  lang = "uk";
-  sha256 = "0p9jdz8w8xiiqhbsj90gkshcpijh2l8hfbvvqy12d1nx5wb1glp3";
-}
-{
-  lang = "wa";
-  sha256 = "06hybn2l2jlibxr6lg91p0p7nnc6lyisx0w64zar52h958mqa9p8";
-}
-{
-  lang = "zh_CN";
-  sha256 = "1f786n41yqfi02gd0n9lf30xn9djgbm26c8kqx8p7fm2b5vw28jh";
-}
-{
-  lang = "zh_TW";
-  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
deleted file mode 100644
index cb9a45065550..000000000000
--- a/pkgs/desktops/kde-4.5/l10n/manifest-4.5.2.nix
+++ /dev/null
@@ -1,222 +0,0 @@
-[
-{
-  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/l10n/manifest-4.5.3.nix b/pkgs/desktops/kde-4.5/l10n/manifest-4.5.3.nix
deleted file mode 100644
index b9b69d76a159..000000000000
--- a/pkgs/desktops/kde-4.5/l10n/manifest-4.5.3.nix
+++ /dev/null
@@ -1,222 +0,0 @@
-[
-{
-  lang = "ar";
-  sha256 = "0i22kwm737ry3l3q9pwmbnv2ln317fz3r1z8x8i6l0czdkj5qxw6";
-}
-{
-  lang = "bg";
-  sha256 = "0qa2x3zz5aaxlm88zvrkglsisc85la6asfh5yiijc9hga27ykp16";
-}
-{
-  lang = "ca";
-  sha256 = "1ip55x72chxs9v1hr8rzi519xhfvkkbv7b4k4pc5nygpdqzj1whh";
-}
-{
-  lang = "ca@valencia";
-  sha256 = "0g8x685a2ndvm9qh2wp6kxdlhbidgsjacw80p488hizgqczakbn7";
-}
-{
-  lang = "cs";
-  sha256 = "19zx1zhd6wrkqmc6qnyj4rsll14difps0dzwnwa56l3h5ir1828v";
-}
-{
-  lang = "da";
-  sha256 = "1q50w3dmxbpczgxgl6n49lc5qqym42r1kz4h7ijqfazb5mwk9zqc";
-}
-{
-  lang = "de";
-  sha256 = "0ff4174szrxm4wn3jmkkzfr3jl0yqxkkqi3g3xj71mazsrsa1ghs";
-}
-{
-  lang = "el";
-  sha256 = "1r5m3d7cc3mi748ckmkky53j3cmw20pibczvkwcs2c65q6l0vcjc";
-}
-{
-  lang = "en_GB";
-  sha256 = "194jdjpqcpi861sxpvqagm8nammwksxyi55i75bw53p8x87i27pv";
-}
-{
-  lang = "eo";
-  sha256 = "1gbmqm9mgmps37pwr7lb140pvrmm24m6aw989qaig27gjjqpmvnx";
-}
-{
-  lang = "es";
-  sha256 = "1hnnk2zvlbppdqqbf1vi2d2c8mpw693bwb6dixba4p542ir7bi8i";
-}
-{
-  lang = "et";
-  sha256 = "0qgv7v93n4mnpcdvjxkdbvyaji1nhgj0nxby5hxrznnvgwbvfzbf";
-}
-{
-  lang = "eu";
-  sha256 = "1rmdak9pgkswrnwdpmgck2lq2cw5v3bjc8vv79mb3kyki901423g";
-}
-{
-  lang = "fi";
-  sha256 = "17s9yqadgjq2dmp28syxzzprya80j0b2l60r293k0bdkdfrgz07p";
-}
-{
-  lang = "fr";
-  sha256 = "15hh7k9dhi2mb27rihjc9dfii1ab8c1i2jbhihmjmb8hd5dm30bx";
-}
-{
-  lang = "fy";
-  sha256 = "0q5vcnimnvl3gmrqj2fr6i7fvw2bd3lrg77s03hf25crkfsd7lr8";
-}
-{
-  lang = "ga";
-  sha256 = "0cy8a0jvb0w35i3482a86rdnbbyswww9dlb57rjhw6mqwa3qp6j6";
-}
-{
-  lang = "gl";
-  sha256 = "1xdzhf6kwkz2r77i86grcdbrwxm37shaif2vjhhwgimplsh7z5s3";
-}
-{
-  lang = "gu";
-  sha256 = "1sky7kc5prg1bnkh2nhriqs33qa7rlfds9k31sf24x4jhfn75lji";
-}
-{
-  lang = "he";
-  sha256 = "0bkfwilsvvaiklgnfnyf6p1dyamwj310b9xkrdga7szrsfgrviip";
-}
-{
-  lang = "hi";
-  sha256 = "0fxz77pfv9ayx43pf037bpllhjwxdhsggl7yq5qg28d233602sxc";
-}
-{
-  lang = "hr";
-  sha256 = "16nkrdh1y9mk5rkdyl70i9dh8xam2fr23lz7p0qmjf66npjnvcz1";
-}
-{
-  lang = "hu";
-  sha256 = "141xhsxv2bk81sx3lzzd78a9qzp0qzrcp32i9d4bkmyppwiia9h2";
-}
-{
-  lang = "ia";
-  sha256 = "1hgzk2yfwjqils8zd1rv1djdjsj932mqxcl4bnfv3az4vl0ly405";
-}
-{
-  lang = "id";
-  sha256 = "12hqichrl7i3fjkqyhc2c3dp34bhjl0ps4g3vpc0m59w2vwyv4sw";
-}
-{
-  lang = "is";
-  sha256 = "1ydx8sx7dwdzava4y3aj0vfd23nfqiwq5m9aw3ayaliipacrq1dg";
-}
-{
-  lang = "it";
-  sha256 = "0z7zig48ixqs18dyi6q28k8dwn2a2giwsndignd5ck7xbi5h7rn8";
-}
-{
-  lang = "ja";
-  sha256 = "0mpch19nk8pqizq2zcs8jpxrsj2nq9lx82m58dwgmxdn3qlpklm3";
-}
-{
-  lang = "kk";
-  sha256 = "099hqac4a5z0aq3nw0znwjlxgxgpmmjb385nm2z74s3d8d4dw8bb";
-}
-{
-  lang = "km";
-  sha256 = "09lmpxv3ljm7bhhnmj94dia7ldz4sdnf9v0cs7ia83iiaw008hc9";
-}
-{
-  lang = "kn";
-  sha256 = "0bzwbncgzf3mhp7f24r9wrf8ip6d5slmvvycmyicvpwfj61dcwsx";
-}
-{
-  lang = "ko";
-  sha256 = "0saxxrzvcsjjw4jascqk8vpr8lm7xq737vabhmsfqga0262h8wzl";
-}
-{
-  lang = "lt";
-  sha256 = "1fn6dbncqdgnwgrd58jcdbc9c474kyb397djxk5lcf9gmdq7634q";
-}
-{
-  lang = "lv";
-  sha256 = "0vml848hxynic4cg3w8zadmfxs7l0qqd7xb3c7kxznrqgkra7rqs";
-}
-{
-  lang = "ml";
-  sha256 = "1d77wb1d7lsmpv2vh8jzfi4y30bd5nn8ljlfx42yfdyw9drkbm38";
-}
-{
-  lang = "nb";
-  sha256 = "1mprsawqaqb6i2nhgbvq8hp1nmfwlxvd9chfx49xas7wk209jd25";
-}
-{
-  lang = "nds";
-  sha256 = "005i6vvq6s8c9spjx0is29jj9d0x4lm766njvsgsa0mrzgfps6w7";
-}
-{
-  lang = "nl";
-  sha256 = "0f0z2ql08pgdbqig67jjxk8p1bf6fk70br9nhmsk72k2lv7abb0y";
-}
-{
-  lang = "nn";
-  sha256 = "08ajabbzrng3gn56bl0wk15rd43pwlrd0crj7c4n8aq61qgz1c1p";
-}
-{
-  lang = "pa";
-  sha256 = "099d7fhk48c3vra7bcam89ffs86iw495vxycr3679ah1bfwf8k68";
-}
-{
-  lang = "pl";
-  sha256 = "1qf6bycvzz6p0lvvkpq2lwvjiln42xrq0qhjzcb7m8zs1zan47hi";
-}
-{
-  lang = "pt";
-  sha256 = "16726ggm87y3bvyhdpvvwcw6n5s8dw5bjw5kxpz7160iljabn71a";
-}
-{
-  lang = "pt_BR";
-  sha256 = "12fp3gf0iicwv426ni7n45rbxywrv4ni73c1ljw1lahfdhmhkxsv";
-}
-{
-  lang = "ro";
-  sha256 = "0bi25kmg7jcmz8c6xlqadzv5jr6kxx8z0pbbhgbh2nl6yfjw7fm9";
-}
-{
-  lang = "ru";
-  sha256 = "0g7ibrv5x9dlhawjcmd302yg4vql31675w7cnzjcpkc9sga3i764";
-}
-{
-  lang = "sk";
-  sha256 = "0jmndf6kxqhqgfiilzfzaf9hgq6c66ndcw1lc306kcw0qv90fm1s";
-}
-{
-  lang = "sl";
-  sha256 = "1lic93q78kq831pzgzmydy6x9fgzkyrwpl5958sjpvbf2dra1xmp";
-}
-{
-  lang = "sr";
-  sha256 = "0g9cdkq7lcm2gbgsk001ywpwjwbsi8xxv90cklifgxfvqnd351gw";
-}
-{
-  lang = "sv";
-  sha256 = "0l7xqyya76np43acq3hjgvcipz0acc2iwqmwjs2hgnhbs12fny2c";
-}
-{
-  lang = "th";
-  sha256 = "1pbjxng4p35zd2aw78x3z5ycil1diah39bknmdgpily5cd3g3bg8";
-}
-{
-  lang = "tr";
-  sha256 = "1spsr67k9wmcaypk0yzqg60qq6ynw4xfi3xcsdm2vkhgcc9rk8cl";
-}
-{
-  lang = "uk";
-  sha256 = "1jii27q1m0sj3vk7ly45m9zi49l4rkr2v05z8zzfbxi2gzg02kc1";
-}
-{
-  lang = "wa";
-  sha256 = "0mqpqpwj1qnzrqyd4lc0fkhj1r42p228kg2yyy6xn2xa4na8sg2w";
-}
-{
-  lang = "zh_CN";
-  sha256 = "0hx69djrd7nvm889b5ig2hjy73m0vhzxxj7njrh21y551pcj7s0q";
-}
-{
-  lang = "zh_TW";
-  sha256 = "1axpangs004scmhq35m22axg3v6rdpidndvr1i49cxf3bhgpqpqs";
-}
-]
diff --git a/pkgs/desktops/kde-4.5/l10n/manifest-4.5.4.nix b/pkgs/desktops/kde-4.5/l10n/manifest-4.5.4.nix
deleted file mode 100644
index 99d4e4b0d86d..000000000000
--- a/pkgs/desktops/kde-4.5/l10n/manifest-4.5.4.nix
+++ /dev/null
@@ -1,222 +0,0 @@
-[
-{
-  lang = "ar";
-  sha256 = "1yn5dvd2d6wk12434x7v463ywz0sn1d9z2fhsbhclwzns3p07brn";
-}
-{
-  lang = "bg";
-  sha256 = "0dnhywbld5ll4wvpl42kn6bnffjr72d4wp36446ffnwkqvhwg0bm";
-}
-{
-  lang = "ca";
-  sha256 = "0i6cplf7fsr4q6yyv2y4sj1d44zd4d81h3mh6fbc0icq42im4pyq";
-}
-{
-  lang = "ca@valencia";
-  sha256 = "1p55xn6k47ag4ph8byaasp27sczh6asqj0x8677hacmm01vps4xy";
-}
-{
-  lang = "cs";
-  sha256 = "16yz0yc8b0g2kzpywi4a0xys6rkj47n45l3i4f39ycypxavqya0v";
-}
-{
-  lang = "da";
-  sha256 = "0pc4im8rd4n6wn65gwyiyl4c414kp1gspw45xzj3mssbpghhn0ic";
-}
-{
-  lang = "de";
-  sha256 = "1apdjmyb3f07rjld43yabr3bvvb8xikhlzr0zmv37y43bzbvlk9x";
-}
-{
-  lang = "el";
-  sha256 = "1irh0pjaxfx893792s3wl0k8m9cy6c428isdlnij1mdbpyg4pw9d";
-}
-{
-  lang = "en_GB";
-  sha256 = "08248znhd1pxgx6izi8pfrccm31fm083bq4i9d9f4m3b9svxj63i";
-}
-{
-  lang = "eo";
-  sha256 = "1ydizv2sggfdwlh9vlf9dzf7pwjvqj3aa1vx1wdb1qzp913kixy9";
-}
-{
-  lang = "es";
-  sha256 = "11545n83bknw6a1h1dw3sxlswhqj8mm0nm9nricrmjwxhi2r2gma";
-}
-{
-  lang = "et";
-  sha256 = "1dpk4h5yfg5ljf5l6yg5i8r4v4k5cq4dq8bdir883lwlkvzmql5j";
-}
-{
-  lang = "eu";
-  sha256 = "1qfhqbpxh1mgxbzh7l8gb0xsm9pi50mq48ya32s8a502khwwxh41";
-}
-{
-  lang = "fi";
-  sha256 = "11a03s37sd1fn0s0yx8lf369l8da3qmf6aqagrlsn3cj9rwa3pn6";
-}
-{
-  lang = "fr";
-  sha256 = "0f739jlpxfqyd41y0l5ydmdjwmn3ihvcxihl3v2cmwyaxfhvapbj";
-}
-{
-  lang = "fy";
-  sha256 = "057n58mnryjxqh3v9vyf5qysf6xilmiw1p6gnsdnmqvznccmx7j7";
-}
-{
-  lang = "ga";
-  sha256 = "1wbc9mxj7yf630x3dqabv783dv012k6xna362a7cy3pzbdr49kl2";
-}
-{
-  lang = "gl";
-  sha256 = "0vg248wbmfmcdskq60nafnkly9l3i32yz21xbwjmnvs2drwphayz";
-}
-{
-  lang = "gu";
-  sha256 = "14misxmdi5v26fql40vqwjci93l5jrjqrwd049pj5i0jnrjhy5rd";
-}
-{
-  lang = "he";
-  sha256 = "19h2ca93kqr293qjg0gy5mpgw0x3cgdmjs70k42781zl4xz1prjp";
-}
-{
-  lang = "hi";
-  sha256 = "0qhp5ml6jindbxds8mllnsyi5c0mlnmwppfdxjapg0m229f6dgh6";
-}
-{
-  lang = "hr";
-  sha256 = "08i7lg3rii1lciy42ny65k43sn4lv85jl3464rn7a91yvbk18iym";
-}
-{
-  lang = "hu";
-  sha256 = "0wfxqcjpi0yl7xsnpb5k25jl0c7haf9dr2f85wmw6iv2iamdkfmh";
-}
-{
-  lang = "ia";
-  sha256 = "1ixqr026g4fi7fbrr7wi49h3662b3jdb8nsfqs5dd41mjchk20c8";
-}
-{
-  lang = "id";
-  sha256 = "079n7q5nx5mass01dqqngvajjfs4qdcdl9d9jdzkn4fzhffpgdap";
-}
-{
-  lang = "is";
-  sha256 = "150snwlbyv7461bh6yfl8cq5dv5alxf37grdgq2zynkpnx9i3s8k";
-}
-{
-  lang = "it";
-  sha256 = "07bza0by629gywqxkxchzvlw8fs1swg7ivpr3zn48lm8ka9xqx3s";
-}
-{
-  lang = "ja";
-  sha256 = "0bpjahc276wm0fscnlffqq2m838jkir17s4v12q0zr0dmryxd7lc";
-}
-{
-  lang = "kk";
-  sha256 = "11cyklk2j6igmq71j7fcr9gg8jn99lq6z9yi77p7hn4rid7dflgp";
-}
-{
-  lang = "km";
-  sha256 = "0d7f7zz6ys3yfq3wlbk621yy7zzblzb3zv8g849mbpb5m5rl6bsg";
-}
-{
-  lang = "kn";
-  sha256 = "0hcri8am13sy7qnl0459b7cphb0jw4fc40nqw3crrdrsr8677abj";
-}
-{
-  lang = "ko";
-  sha256 = "0zz6k2xgfvb80031dinsyp6crgr1iy0iv1d0m2bq1985aa98rrih";
-}
-{
-  lang = "lt";
-  sha256 = "1knzjdhl98h8jdad5dwkqkiqs7wwib57jvs3jf0zacvqbcpchwb7";
-}
-{
-  lang = "lv";
-  sha256 = "0pm9k4ww10dnyvkgkm6n8cddwlj5431k17sbshgmgjnw9bszk798";
-}
-{
-  lang = "ml";
-  sha256 = "06j6124q2mmpjs5y3gqy7fxgldwnvq5683394s3m23n8q81yg0wj";
-}
-{
-  lang = "nb";
-  sha256 = "180vsfx87ynizzga878757qjnj1k91qad57iisw5hqcxk2fg3v22";
-}
-{
-  lang = "nds";
-  sha256 = "16i9wz1lzkqij61raffm8h4l6fjri4h9ybbgxy7nlqiqaj67jghl";
-}
-{
-  lang = "nl";
-  sha256 = "1clrmccm2vdvi9v7f2yqhhf69iln57m7hpw2638is6fs31ivyr1v";
-}
-{
-  lang = "nn";
-  sha256 = "0447v1wzbb7bvmpbcyav3gv45vv4zl9p9nj3sk45c8md1by82hc3";
-}
-{
-  lang = "pa";
-  sha256 = "1fbrfczjp2yliz13swha2f4767jwzy9bi1hb1dqi2yjhyqhj7k6p";
-}
-{
-  lang = "pl";
-  sha256 = "1xzsfrxwgf6kmfa1j5dy699rxaxmc3vpcv8zgqi96kwwhqmmwn9p";
-}
-{
-  lang = "pt";
-  sha256 = "08gdvkbqfshbgf6zwyg05g05kc7hm81s01z7p67jc2q80vkl7ahz";
-}
-{
-  lang = "pt_BR";
-  sha256 = "05x600wzp7x1hx262pmb27js146j6sv9c3mbw748q1l3c7cdp0xs";
-}
-{
-  lang = "ro";
-  sha256 = "13r08mka2j6zyz4a3ycs57zaj4ipjdv12sbag0bjwk9dx5x45xs5";
-}
-{
-  lang = "ru";
-  sha256 = "0yw8aax09yl89ab15rlc66lmx4x552hkg5fd89vnhlbk2h9v1rms";
-}
-{
-  lang = "sk";
-  sha256 = "1k905nmvbig7qmbq83y9jbgp72vg9l1mj2iahqz4r726zpqz4fxq";
-}
-{
-  lang = "sl";
-  sha256 = "1ywy35wj8aa17q7hf692dwi7s0xi8ns9p0pmfm13nz8214rbmc4q";
-}
-{
-  lang = "sr";
-  sha256 = "0rqycg08wgrcvphd4mxjsk460nflpv78r0wil4bsqfa8i774v8r0";
-}
-{
-  lang = "sv";
-  sha256 = "0rl2hdnhn9r5yk4zp1sxbxhqchs411kffs5krdym19a3kl83zp36";
-}
-{
-  lang = "th";
-  sha256 = "0n62zs6sjfdkyxs7n6hmji8bzl9y2r4gsqs0jysmjkz23y6160bh";
-}
-{
-  lang = "tr";
-  sha256 = "0phc1cbp98bilvscxnxnbzwgk85ilws5l3n3bsgbkqrh5rqz9fyn";
-}
-{
-  lang = "uk";
-  sha256 = "1hy7hriikvmpjgmxf1zw2j0hkv6f8ig8v20damcivkid3maj307g";
-}
-{
-  lang = "wa";
-  sha256 = "11zwqkv1qpqgxxqvq0y92xyq88czzyx76krx1qbc0d50mv5zk91r";
-}
-{
-  lang = "zh_CN";
-  sha256 = "0pn3xd91ka20mf35rsdyf9sp3cwf9dpxn7lradz2380mkira6mp0";
-}
-{
-  lang = "zh_TW";
-  sha256 = "0zx879d0fkgblfq6574kq4wdhip729ni8v1cjhg0v97l7pnridzk";
-}
-]
diff --git a/pkgs/desktops/kde-4.5/l10n/manifest-4.5.5.nix b/pkgs/desktops/kde-4.5/l10n/manifest-4.5.5.nix
new file mode 100644
index 000000000000..31a6a50fb77e
--- /dev/null
+++ b/pkgs/desktops/kde-4.5/l10n/manifest-4.5.5.nix
@@ -0,0 +1,277 @@
+[
+{
+  lang = "ar";
+  saneName = "ar";
+  sha256 = "0dn4aiv48dhknp9wv7fsjdy8fhrwiwnbp65qq66nfrly51ranv8s";
+}
+{
+  lang = "bg";
+  saneName = "bg";
+  sha256 = "07srb5r4a0j2pakk8xsv7ky5s2cjd9liyzrx86xyzxpf21p83xbd";
+}
+{
+  lang = "ca";
+  saneName = "ca";
+  sha256 = "0rhs16c331cjhxjqq08hkl1c8vjg4nyy3mjfw5idh9qv05y9af5z";
+}
+{
+  lang = "ca@valencia";
+  saneName = "ca_valencia";
+  sha256 = "1cm8ynlylmpggapplfzggkd9j98nycm1mybh87pk4vqdh3vm8wm4";
+}
+{
+  lang = "cs";
+  saneName = "cs";
+  sha256 = "1rblfliw810yadmdplyg6n9ss7zzq318cfgvhscjjl0c9ndcx7x2";
+}
+{
+  lang = "da";
+  saneName = "da";
+  sha256 = "1x2wg76i3jgylr56ynj4p53kym1wmk789spsrgnh2y5zgppf1h43";
+}
+{
+  lang = "de";
+  saneName = "de";
+  sha256 = "0rmpzlxds8m527vkfkd48pgqcpdmyr86hi53b9gy1z237hjzjp2w";
+}
+{
+  lang = "el";
+  saneName = "el";
+  sha256 = "0zwgzcr6d94h9j2ghj6mxdss98cp9x6wlf1cp4v743addmjja26v";
+}
+{
+  lang = "en_GB";
+  saneName = "en_GB";
+  sha256 = "1phdg7miligjyya5srj11szijbrk67n27d2zrjninbpvj6jhmsx2";
+}
+{
+  lang = "eo";
+  saneName = "eo";
+  sha256 = "0jlf8i4csmrp6k05v3hkx8kk45kx42klfn9z9xdn8lak5ckycbrm";
+}
+{
+  lang = "es";
+  saneName = "es";
+  sha256 = "04kybzwkxsj64zqwiwir70fddf4zbfqpzfy01xhwz4fwinjl2pp0";
+}
+{
+  lang = "et";
+  saneName = "et";
+  sha256 = "1s3wg2pxp40111s3w82jpcgzz6j2103q3kdsm6s2mc5343i44bcs";
+}
+{
+  lang = "eu";
+  saneName = "eu";
+  sha256 = "1hqzdg2g8c6knwv6dqvrlk31v35p91f1hh04n41w2acxzrhl8r5p";
+}
+{
+  lang = "fi";
+  saneName = "fi";
+  sha256 = "1fagzkgcnj8wihkhkd0xbfjr4x4774xsdc3n17wy2d49kinkgxa8";
+}
+{
+  lang = "fr";
+  saneName = "fr";
+  sha256 = "14796jqhkhr60dxc0f69lavaikci6qn6avgiy1f2apfirs60lfi4";
+}
+{
+  lang = "fy";
+  saneName = "fy";
+  sha256 = "0c39sr4q4dl4rf6irs0c5km3xwaip0iw8a8pfljsd9an7bpzs9f9";
+}
+{
+  lang = "ga";
+  saneName = "ga";
+  sha256 = "1gfbi896kwrjaz4jkif3276qjx4ixjy8mybhmkc3c19crk1lvfn4";
+}
+{
+  lang = "gl";
+  saneName = "gl";
+  sha256 = "1s368cszycmn8dr4l1fycr1rswqm93d0hlxjr007hp0n07fddkiw";
+}
+{
+  lang = "gu";
+  saneName = "gu";
+  sha256 = "1ca5j72kd8dbvwvvks4zhjz92v39x7g7qpdxzqscwm5cg17arxr9";
+}
+{
+  lang = "he";
+  saneName = "he";
+  sha256 = "0wchlwvw8rhiz08kglkqpj1vjiiagqrmypgyn4jiar2ds5b3kxl9";
+}
+{
+  lang = "hi";
+  saneName = "hi";
+  sha256 = "0sdlj0w2vgvsp44jy1rgc35vyvndsybdf2xyxml8zhr48rhijnr7";
+}
+{
+  lang = "hr";
+  saneName = "hr";
+  sha256 = "1rspkmppz9mpf4lp4a2jm708ilygpxdi3crnsfvrfb3qsywxz520";
+}
+{
+  lang = "hu";
+  saneName = "hu";
+  sha256 = "12kk692z9xaks9pys9pwq1zgb817grzgrkcm943yzdr68k5mvfhm";
+}
+{
+  lang = "ia";
+  saneName = "ia";
+  sha256 = "15464pdhfjw0dvmdjvl1c23cqnxgka498xh6fy2prrkwnsk4cra5";
+}
+{
+  lang = "id";
+  saneName = "id";
+  sha256 = "1iiypv1yf6mp5hp14yr7dgvk7ydb66yyp7ayjswf78ak7cl9kc4v";
+}
+{
+  lang = "is";
+  saneName = "is";
+  sha256 = "1v182xds7y3mpbm6jy3hbxr0ld4if67mx6027izbflnydydjindk";
+}
+{
+  lang = "it";
+  saneName = "it";
+  sha256 = "1lycijcrcsfviiqj34jqmap6czps8j1nsjp0fizkk6gmicfdwyxb";
+}
+{
+  lang = "ja";
+  saneName = "ja";
+  sha256 = "12li937isc3479a70z8x32y2lqbl97y833cpcmbsxpa93c3hrzs3";
+}
+{
+  lang = "kk";
+  saneName = "kk";
+  sha256 = "1kd0a2rh35k0yl5irv8jxhycvacg7444y02czdhmpg9z40xpl73k";
+}
+{
+  lang = "km";
+  saneName = "km";
+  sha256 = "1fvn0lh3psc3ijn8j26m5likvw466kvdda5f30p3md12ydd9h15x";
+}
+{
+  lang = "kn";
+  saneName = "kn";
+  sha256 = "0n7m67rjplc8q3bw5fyignba0kglzbrqay0qmgiqzdqn8yw72vjq";
+}
+{
+  lang = "ko";
+  saneName = "ko";
+  sha256 = "0p3f9rd6wvcxac9jv23msszq03nhi4sn6i98rszh7p93rwllhrpk";
+}
+{
+  lang = "lt";
+  saneName = "lt";
+  sha256 = "19lzs8avagiydmv4rmpxmzv5dsaprf9wl6iwzk9g1lqg4x16nisw";
+}
+{
+  lang = "lv";
+  saneName = "lv";
+  sha256 = "0xqwz6gbzv142izhf4qwx9qzny8k24712k9pvr0xpak5s7sn0838";
+}
+{
+  lang = "ml";
+  saneName = "ml";
+  sha256 = "07f8j5zqa0wil5mmdpv16dw4cd6qzsqfqply4jq276g16g80ihg6";
+}
+{
+  lang = "nb";
+  saneName = "nb";
+  sha256 = "149r3y0x4yahgmln2qg085b86whdhmh6dx11cxn8r31l497a0jp7";
+}
+{
+  lang = "nds";
+  saneName = "nds";
+  sha256 = "0zly7l2bpnmxv60kyyhm8n9mkd7w66sc18i98462zk2d2l7k2xyz";
+}
+{
+  lang = "nl";
+  saneName = "nl";
+  sha256 = "0a8dp40i8mxjjf08wg6xmx88fivkqpiv2icbpl3nm8xxhxjgx462";
+}
+{
+  lang = "nn";
+  saneName = "nn";
+  sha256 = "0sa7qiiffma83p0yk31l5rkng2z1cm3m8r05jyvici5048i1sg9w";
+}
+{
+  lang = "pa";
+  saneName = "pa";
+  sha256 = "0zj88vi9spyc06vgd2hifsix8sa3lcchjjpplv5jll7dvicdw8vd";
+}
+{
+  lang = "pl";
+  saneName = "pl";
+  sha256 = "0hhrpws9nhqb6yhlnbv03150jykb7fx3wbbmjg36fh78cbqjknjd";
+}
+{
+  lang = "pt";
+  saneName = "pt";
+  sha256 = "0yck1nrmyx9zpk65znnga9jhv6mjv3gmhvlqis3fs3panp5ngdhl";
+}
+{
+  lang = "pt_BR";
+  saneName = "pt_BR";
+  sha256 = "1w14431b3n3z3yjm8l2kcbs8gpv58gj55p801mb17bdfh5dvs7r5";
+}
+{
+  lang = "ro";
+  saneName = "ro";
+  sha256 = "0fzjgifv1skmgbfng5lpajan0icg87xipq0817vy0g2izrs356k8";
+}
+{
+  lang = "ru";
+  saneName = "ru";
+  sha256 = "0021hfr1zdvym8rsccypsbci8kcjal1dfhqrj8dci8lf78bf05hn";
+}
+{
+  lang = "sk";
+  saneName = "sk";
+  sha256 = "0iq9vn16na58iak6lg3h12cblajv28bk90f80b4ki8lsz0wynqky";
+}
+{
+  lang = "sl";
+  saneName = "sl";
+  sha256 = "1pzq68bahnr8afnyxmhhsiyzn83f34xgymly1b71hkavkg5f05zz";
+}
+{
+  lang = "sr";
+  saneName = "sr";
+  sha256 = "03g69ffxgiw9fzsznkxxrmma9m7plasy7qlf15vrcp7faj0pjl7s";
+}
+{
+  lang = "sv";
+  saneName = "sv";
+  sha256 = "0i140ddjdc1l5v52inimhzgx1i9sbrb88ggg1bc6nnsk762jxn2a";
+}
+{
+  lang = "th";
+  saneName = "th";
+  sha256 = "10s7j601dzhsl40f1rifn6mazi0hgl3isalv3pak6d0b690y6lnb";
+}
+{
+  lang = "tr";
+  saneName = "tr";
+  sha256 = "061jqvcajk05cp4w4fcxdsh0drkynn170cyw0491iq6rqz2wsqsk";
+}
+{
+  lang = "uk";
+  saneName = "uk";
+  sha256 = "0xnxyavzz5f861fm7g4xqjqdr3b9k6mrjfpc5yjf4wa8g60ra2jl";
+}
+{
+  lang = "wa";
+  saneName = "wa";
+  sha256 = "0p789j8jnfpgwlbl73mcx9jpxb7h7hgmmksqhrc2ng42z2jmlv6d";
+}
+{
+  lang = "zh_CN";
+  saneName = "zh_CN";
+  sha256 = "07jqagsp54805kz30lybizbj66njslwyfzh66xrlgfx5vsbfn6sk";
+}
+{
+  lang = "zh_TW";
+  saneName = "zh_TW";
+  sha256 = "17mrvf1flqyfnla96idj87m5406mjjm696kf505y4si78nlnc6s2";
+}
+]
diff --git a/pkgs/desktops/kde-4.5/libs/default.nix b/pkgs/desktops/kde-4.5/libs/default.nix
index a0b4681769f1..9e9ac65c0167 100644
--- a/pkgs/desktops/kde-4.5/libs/default.nix
+++ b/pkgs/desktops/kde-4.5/libs/default.nix
@@ -34,9 +34,6 @@ kde.package {
   meta = {
     description = "KDE libraries";
     license = "LGPL";
-    kde = {
-      name = "kdelibs";
-      version = "4.5.4";
-    };
+    kde.name = "kdelibs";
   };
 }
diff --git a/pkgs/desktops/kde-4.5/multimedia/default.nix b/pkgs/desktops/kde-4.5/multimedia/default.nix
index eb0574a8fc55..e18257e02a1e 100644
--- a/pkgs/desktops/kde-4.5/multimedia/default.nix
+++ b/pkgs/desktops/kde-4.5/multimedia/default.nix
@@ -12,9 +12,6 @@ kde.package {
       Contains various Multimedia utilties for KDE such as a movie player and sound volume mixer.
     '';
     license = "GPL";
-    kde = {
-      name = "kdemultimedia";
-      version = "4.5.4";
-    };
+    kde.name = "kdemultimedia";
   };
 }
diff --git a/pkgs/desktops/kde-4.5/network/default.nix b/pkgs/desktops/kde-4.5/network/default.nix
index 244935ec397e..af605f191272 100644
--- a/pkgs/desktops/kde-4.5/network/default.nix
+++ b/pkgs/desktops/kde-4.5/network/default.nix
@@ -28,9 +28,6 @@ kde.package {
     description = "KDE network utilities";
     longDescription = "Various network utilities for KDE such as a messenger client and network configuration interface";
     license = "GPL";
-    kde = {
-      name = "kdenetwork";
-      version = "4.5.4";
-    };
+    kde.name = "kdenetwork";
   };
 }
diff --git a/pkgs/desktops/kde-4.5/pimlibs/default.nix b/pkgs/desktops/kde-4.5/pimlibs/default.nix
index cbda200c607f..a1e26384e47a 100644
--- a/pkgs/desktops/kde-4.5/pimlibs/default.nix
+++ b/pkgs/desktops/kde-4.5/pimlibs/default.nix
@@ -10,9 +10,6 @@ kde.package {
   meta = {
     description = "KDE PIM libraries";
     license = "LGPL";
-    kde = {
-      name = "kdepimlibs";
-      version = "4.5.4";
-    };
+    kde.name = "kdepimlibs";
   };
 }
diff --git a/pkgs/desktops/kde-4.5/plasma-addons/default.nix b/pkgs/desktops/kde-4.5/plasma-addons/default.nix
index e0a31d499b0d..0a1b3aa6b1ae 100644
--- a/pkgs/desktops/kde-4.5/plasma-addons/default.nix
+++ b/pkgs/desktops/kde-4.5/plasma-addons/default.nix
@@ -15,9 +15,6 @@ kde.package {
   meta = {
     description = "KDE Plasma Addons";
     license = "GPL";
-    kde = {
-      name = "kdeplasma-addons";
-      version = "4.5.4";
-    };
+    kde.name = "kdeplasma-addons";
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/cervisia.nix b/pkgs/desktops/kde-4.5/sdk/cervisia.nix
index 7a7ef2767d1c..98a45eae1d50 100644
--- a/pkgs/desktops/kde-4.5/sdk/cervisia.nix
+++ b/pkgs/desktops/kde-4.5/sdk/cervisia.nix
@@ -9,7 +9,6 @@ kde.package {
       name = "cervisia";
       module = "kdesdk";
       version = "3.5.0";
-      release = "4.5.4";
       versionFile = "cervisia/version.h";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/sdk/dolphin-plugins.nix b/pkgs/desktops/kde-4.5/sdk/dolphin-plugins.nix
index d0753c8f2958..e216bfaea2a0 100644
--- a/pkgs/desktops/kde-4.5/sdk/dolphin-plugins.nix
+++ b/pkgs/desktops/kde-4.5/sdk/dolphin-plugins.nix
@@ -4,13 +4,11 @@ kde.package {
   # Needs kdebase for libkonq
   buildInputs = [ cmake kdelibs automoc4 kdebase ];
 
-
   meta = {
     description = "Git and Svn plugins for dolphin";
     kde = {
       name = "dolphin-plugins";
       module = "kdesdk";
-      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kapptemplate.nix b/pkgs/desktops/kde-4.5/sdk/kapptemplate.nix
index c4ea482d78d2..12445cb9f9b8 100644
--- a/pkgs/desktops/kde-4.5/sdk/kapptemplate.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kapptemplate.nix
@@ -10,7 +10,6 @@ kde.package {
       name = "kapptemplate";
       module = "kdesdk";
       version = "0.1";
-      release = "4.5.4";
       versionFile = "kapptemplate/main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/sdk/kate.nix b/pkgs/desktops/kde-4.5/sdk/kate.nix
index 336781a44ca9..95b0fbfcdc4f 100644
--- a/pkgs/desktops/kde-4.5/sdk/kate.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kate.nix
@@ -10,7 +10,6 @@ kde.package {
       name = "kate";
       module = "kdesdk";
       version = "3.5.2"; # (release.major-1).(release.minor).(release.patch)
-      release = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kbugbuster.nix b/pkgs/desktops/kde-4.5/sdk/kbugbuster.nix
index d02d2bf7ce77..dffb064f01ba 100644
--- a/pkgs/desktops/kde-4.5/sdk/kbugbuster.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kbugbuster.nix
@@ -3,14 +3,12 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 kdepimlibs ];
 
-
   meta = {
     description = "KDE bugzilla client";
     kde = {
       name = "kbugbuster";
       module = "kdesdk";
       version = "3.80.3";
-      release = "4.5.4";
       versionFile = "version.h";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/sdk/kcachegrind.nix b/pkgs/desktops/kde-4.5/sdk/kcachegrind.nix
index e4f1381e8cad..b32f46135dbb 100644
--- a/pkgs/desktops/kde-4.5/sdk/kcachegrind.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kcachegrind.nix
@@ -3,14 +3,12 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-
   meta = {
     description = "KDE Frontend for Callgrind/Cachegrind";
     kde = {
       name = "kcachegrind";
       module = "kdesdk";
       version = "0.6";
-      release = "4.5.4";
       versionFile = "CMakeLists.txt";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/sdk/kdeaccounts-plugin.nix b/pkgs/desktops/kde-4.5/sdk/kdeaccounts-plugin.nix
index dab7becac274..beac8a6d8f47 100644
--- a/pkgs/desktops/kde-4.5/sdk/kdeaccounts-plugin.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kdeaccounts-plugin.nix
@@ -3,13 +3,11 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 kdepimlibs ];
 
-
   meta = {
     description = "KDE accounts akonadi agent";
     kde = {
       name = "kdeaccounts-plugin";
       module = "kdesdk";
-      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kioslave-perldoc.nix b/pkgs/desktops/kde-4.5/sdk/kioslave-perldoc.nix
index 0b6f262a2c7a..5c996243b524 100644
--- a/pkgs/desktops/kde-4.5/sdk/kioslave-perldoc.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kioslave-perldoc.nix
@@ -11,7 +11,6 @@ kde.package {
       name = "kioslave-perldoc";
       module = "kdesdk";
       version = "0.9.1";
-      release = "4.5.4";
       versionFile = "kioslave/perldoc/perldoc.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/sdk/kioslave-svn.nix b/pkgs/desktops/kde-4.5/sdk/kioslave-svn.nix
index 3a9bc48faf6d..d58d915a7f22 100644
--- a/pkgs/desktops/kde-4.5/sdk/kioslave-svn.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kioslave-svn.nix
@@ -11,7 +11,6 @@ kde.package {
     kde = {
       name = "kioslave-svn";
       module = "kdesdk";
-      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kmtrace.nix b/pkgs/desktops/kde-4.5/sdk/kmtrace.nix
index 89927e67b80c..190a86bc2b52 100644
--- a/pkgs/desktops/kde-4.5/sdk/kmtrace.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kmtrace.nix
@@ -10,7 +10,6 @@ kde.package {
     kde = {
       name = "kmtrace";
       module = "kdesdk";
-      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kompare.nix b/pkgs/desktops/kde-4.5/sdk/kompare.nix
index 4d74d182b5c9..e20fc585dd27 100644
--- a/pkgs/desktops/kde-4.5/sdk/kompare.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kompare.nix
@@ -3,14 +3,12 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-
   meta = {
     description = "A program to view the differences between files and optionally generate a diff";
     kde = {
       name = "kompare";
       module = "kdesdk";
       version = "4.0.0";
-      release = "4.5.4";
       versionFile = "main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/sdk/kpartloader.nix b/pkgs/desktops/kde-4.5/sdk/kpartloader.nix
index e48166617e58..25eb100dd536 100644
--- a/pkgs/desktops/kde-4.5/sdk/kpartloader.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kpartloader.nix
@@ -3,14 +3,12 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-
   meta = {
     description = "A test application for KParts";
     kde = {
       name = "kpartloader";
       module = "kdesdk";
       version = "1.0";
-      release = "4.5.4";
       versionFile = "kpartloader.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/sdk/kprofilemethod.nix b/pkgs/desktops/kde-4.5/sdk/kprofilemethod.nix
index a85f30345ea2..39640f921857 100644
--- a/pkgs/desktops/kde-4.5/sdk/kprofilemethod.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kprofilemethod.nix
@@ -3,14 +3,12 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-
   meta = {
     description = "A macros for profiling using QTime";
     longDescription = "Don't commit any code using kprofilemethod.h to KDE repositories.";
     kde = {
       name = "kprofilemethod";
       module = "kdesdk";
-      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/kstartperf.nix b/pkgs/desktops/kde-4.5/sdk/kstartperf.nix
index 23fa4f80cfb3..0887531fdec2 100644
--- a/pkgs/desktops/kde-4.5/sdk/kstartperf.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kstartperf.nix
@@ -3,14 +3,12 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 libtool ];
 
-
   meta = {
     description = "Measures start up time of a KDE application";
     kde = {
       name = "kstartperf";
       module = "kdesdk";
       version = "1.0";
-      release = "4.5.4";
       versionFile = "kstartperf.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/sdk/kuiviewer.nix b/pkgs/desktops/kde-4.5/sdk/kuiviewer.nix
index c75f1be1a740..377a1563d64e 100644
--- a/pkgs/desktops/kde-4.5/sdk/kuiviewer.nix
+++ b/pkgs/desktops/kde-4.5/sdk/kuiviewer.nix
@@ -3,14 +3,12 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-
   meta = {
     description = "Displays Qt Designer's UI files";
     kde = {
       name = "kuiviewer";
       module = "kdesdk";
       version = "0.1";
-      release = "4.5.4";
       versionFile = "main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/sdk/lokalize.nix b/pkgs/desktops/kde-4.5/sdk/lokalize.nix
index 671e5c10bf7e..ec5381ee55dd 100644
--- a/pkgs/desktops/kde-4.5/sdk/lokalize.nix
+++ b/pkgs/desktops/kde-4.5/sdk/lokalize.nix
@@ -3,17 +3,16 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 hunspell ];
 
-
   meta = {
     description = "KDE 4 Computer-aided translation system";
     longDescription = ''
       Computer-aided translation system.
-      Do not translate what had already been translated.'';
+      Do not translate what had already been translated.
+    '';
     kde = {
       name = "lokalize";
       module = "kdesdk";
       version = "1.1";
-      release = "4.5.4";
       versionFile = "src/version.h";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/sdk/poxml.nix b/pkgs/desktops/kde-4.5/sdk/poxml.nix
index 72e929c2bbf5..683fa77debd9 100644
--- a/pkgs/desktops/kde-4.5/sdk/poxml.nix
+++ b/pkgs/desktops/kde-4.5/sdk/poxml.nix
@@ -9,7 +9,6 @@ kde.package {
     kde = {
       name = "poxml";
       module = "kdesdk";
-      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/scripts.nix b/pkgs/desktops/kde-4.5/sdk/scripts.nix
index 36bdb778b58d..2bbb92625971 100644
--- a/pkgs/desktops/kde-4.5/sdk/scripts.nix
+++ b/pkgs/desktops/kde-4.5/sdk/scripts.nix
@@ -3,13 +3,11 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-
   meta = {
     description = "Various scripts to ease KDE development";
     kde = {
       name = "scripts";
       module = "kdesdk";
-      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/strigi-analyzer.nix b/pkgs/desktops/kde-4.5/sdk/strigi-analyzer.nix
index 20d484f561e8..0215a24608a5 100644
--- a/pkgs/desktops/kde-4.5/sdk/strigi-analyzer.nix
+++ b/pkgs/desktops/kde-4.5/sdk/strigi-analyzer.nix
@@ -3,13 +3,11 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 ];
 
-
   meta = {
     description = "Strigi analyzers for diff, po and ts";
     kde = {
       name = "strigi-analyzer";
       module = "kdesdk";
-      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/sdk/umbrello.nix b/pkgs/desktops/kde-4.5/sdk/umbrello.nix
index 48a9d0fdfbd4..85e63c66e1bd 100644
--- a/pkgs/desktops/kde-4.5/sdk/umbrello.nix
+++ b/pkgs/desktops/kde-4.5/sdk/umbrello.nix
@@ -3,14 +3,12 @@
 kde.package {
   buildInputs = [ cmake kdelibs automoc4 libxml2 libxslt boost ];
 
-
   meta = {
     description = "Umbrello UML modeller";
     kde = {
       name = "umbrello";
       module = "kdesdk";
       version = "2.5.2"; # release - 200
-      release = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/support/akonadi/default.nix b/pkgs/desktops/kde-4.5/support/akonadi/default.nix
index 9e516947e833..eedd6b9f6e89 100644
--- a/pkgs/desktops/kde-4.5/support/akonadi/default.nix
+++ b/pkgs/desktops/kde-4.5/support/akonadi/default.nix
@@ -1,14 +1,13 @@
 {stdenv, fetchurl, cmake, qt4, shared_mime_info, libxslt, boost, mysql, automoc4, soprano}:
 
 stdenv.mkDerivation rec {
-  name = "akonadi-1.4.0";
+  name = "akonadi-1.4.3";
   src = fetchurl {
     url = "http://download.akonadi-project.org/${name}.tar.bz2";
-    sha256 = "199fh5yqygr0xdwcnjqqms8vskigbzvwb3071r979606rrsnpnl5";
+    sha256 = "18xi66w78lsf2jf1z1vl8abps9hdv3g5msw6q1kj6xhmn4lbgjkk";
   };
   buildInputs = [ cmake qt4 shared_mime_info libxslt boost mysql automoc4 soprano ];
   patches = [ ./fix-broken-datadir-parameter.patch ];
-  postPatch = "sed -e '/Q_ASSERT.*SQLITE/d' -i qsqlite/src/qsql_sqlite.cpp";
   meta = with stdenv.lib; {
     description = "KDE PIM Storage Service";
     license = "LGPL";
diff --git a/pkgs/desktops/kde-4.5/support/akonadi/fix-broken-datadir-parameter.patch b/pkgs/desktops/kde-4.5/support/akonadi/fix-broken-datadir-parameter.patch
index fa33329d4b0f..09b594f4e219 100644
--- a/pkgs/desktops/kde-4.5/support/akonadi/fix-broken-datadir-parameter.patch
+++ b/pkgs/desktops/kde-4.5/support/akonadi/fix-broken-datadir-parameter.patch
@@ -9,7 +9,7 @@ Fix broken datadir parameter.
 +  arguments << QString::fromLatin1( "--datadir=%1/" ).arg( dataDir );
  #ifndef Q_WS_WIN
 -  arguments << QString::fromLatin1( "--datadir" ) << QString::fromLatin1( "%1/" ).arg( dataDir );
-   arguments << QString::fromLatin1( "--socket=%1/mysql.socket" ).arg( miscDir );
+   arguments << QString::fromLatin1( "--socket=%1/mysql.socket" ).arg( socketDirectory );
  #else
 -  arguments << QString::fromLatin1( "--datadir=%1/" ).arg( dataDir );
    arguments << QString::fromLatin1( "--shared-memory" );
diff --git a/pkgs/desktops/kde-4.5/support/attica/default.nix b/pkgs/desktops/kde-4.5/support/attica/default.nix
index 5c62f34efb28..0eff2cbb4eba 100644
--- a/pkgs/desktops/kde-4.5/support/attica/default.nix
+++ b/pkgs/desktops/kde-4.5/support/attica/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, cmake, qt4}:
 
 stdenv.mkDerivation rec {
-  name = "attica-0.1.4";
+  name = "attica-0.2.0";
   src = fetchurl {
     url = "mirror://kde/stable/attica/${name}.tar.bz2";
-    sha256 = "0frarnrnbli3f5ji90swgw05g88w1f5777ais345wc8lkvqg9ix1";
+    sha256 = "0g2la91fgdr185ah15vc91plvdwvbm6kpsyz0vk0da7ggiyg3y9a";
   };
   buildInputs = [ cmake qt4 ];
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/kde-4.5/support/automoc4/default.nix b/pkgs/desktops/kde-4.5/support/automoc4/default.nix
deleted file mode 100644
index be50867cbe7a..000000000000
--- a/pkgs/desktops/kde-4.5/support/automoc4/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{stdenv, fetchurl, cmake, qt4}:
-
-stdenv.mkDerivation rec {
-  name = "automoc4-0.9.88";
-  src = fetchurl {
-    url = "mirror://kde/stable/automoc4/0.9.88/${name}.tar.bz2";
-    sha256 = "0jackvg0bdjg797qlbbyf9syylm0qjs55mllhn11vqjsq3s1ch93";
-  };
-  buildInputs = [ cmake qt4 ];
-  meta = {
-    description = "KDE Meta Object Compiler";
-    license = "BSD";
-    maintainers = [ stdenv.lib.maintainers.sander ];
-  };
-}
diff --git a/pkgs/desktops/kde-4.5/support/eigen/default.nix b/pkgs/desktops/kde-4.5/support/eigen/default.nix
deleted file mode 100644
index e72de6c1b258..000000000000
--- a/pkgs/desktops/kde-4.5/support/eigen/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{stdenv, fetchurl, cmake}:
-
-let
-  v = "2.0.15";
-in
-stdenv.mkDerivation {
-  name = "eigen-${v}";
-  src = fetchurl {
-    url = "http://bitbucket.org/eigen/eigen/get/${v}.tar.bz2";
-    name = "eigen-${v}.tar.bz2";
-    sha256 = "1a00hqyig4rc7nkz97xv23q7k0vdkzvgd0jkayk61fn9aqcrky79";
-  };
-  buildInputs = [ cmake ];
-  meta = {
-    description = "C++ template library for linear algebra: vectors, matrices, and related algorithms";
-    license = "LGPL";
-    homepage = http://eigen.tuxfamily.org ;
-    maintainers = with stdenv.lib.maintainers; [ sander urkud ];
-  };
-}
diff --git a/pkgs/desktops/kde-4.5/support/oxygen-icons/default.nix b/pkgs/desktops/kde-4.5/support/oxygen-icons/default.nix
index 47f532ed2039..703dfe0f0cf0 100644
--- a/pkgs/desktops/kde-4.5/support/oxygen-icons/default.nix
+++ b/pkgs/desktops/kde-4.5/support/oxygen-icons/default.nix
@@ -3,16 +3,13 @@
 kde.package {
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
-  outputHash = "1hn65n4nznbp2ikbvyrp9ncasc6y3nxhi33x927vg01pp8frn4q1";
+  outputHash = "4c2881683f8d66114ac79a9573498e627146aa647574efb9b8f89f837e1d7b06";
 
   buildInputs = [ cmake ];
   meta = {
     description = "KDE Oxygen theme icons";
     longDescription = "Contains icons for the KDE Oxygen theme, which is the default icon theme since KDE 4.3";
     license = "GPL";
-    kde = {
-      name = "oxygen-icons";
-      version = "4.5.4";
-    };
+    kde.name = "oxygen-icons";
   };
 }
diff --git a/pkgs/desktops/kde-4.5/support/qca2/default.nix b/pkgs/desktops/kde-4.5/support/qca2/default.nix
deleted file mode 100644
index a55f7c8cb431..000000000000
--- a/pkgs/desktops/kde-4.5/support/qca2/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{stdenv, fetchurl, which, qt4}:
-
-stdenv.mkDerivation {
-  name = "qca-2.0.2";
-  src = fetchurl {
-    url = http://delta.affinix.com/download/qca/2.0/qca-2.0.2.tar.bz2;
-    sha256 = "49b5474450104a2298747c243de1451ab7a6aeed4bf7df43ffa4b7128a2837b8";
-  };
-  buildInputs = [ which qt4 ];
-  preBuild = ''
-    sed -i include/QtCrypto/qca_publickey.h -e '/EMSA3_Raw/a,\
-            EMSA3_SHA224,     ///< SHA224, with EMSA3 (ie PKCS#1 Version 1.5) encoding\
-            EMSA3_SHA256,     ///< SHA256, with EMSA3 (ie PKCS#1 Version 1.5) encoding\
-            EMSA3_SHA384,     ///< SHA384, with EMSA3 (ie PKCS#1 Version 1.5) encoding\
-            EMSA3_SHA512      ///< SHA512, with EMSA3 (ie PKCS#1 Version 1.5) encoding'
-  '';
-  meta = with stdenv.lib; {
-    description = "Qt Cryptographic Architecture";
-    license = "LGPL";
-    homepage = http://delta.affinix.com/qca;
-    maintainers = [ maintainers.sander maintainers.urkud ];
-  };
-}
diff --git a/pkgs/desktops/kde-4.5/support/qca2/ossl.nix b/pkgs/desktops/kde-4.5/support/qca2/ossl.nix
deleted file mode 100644
index bfaa320618c7..000000000000
--- a/pkgs/desktops/kde-4.5/support/qca2/ossl.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{stdenv, fetchurl, fetchsvn, qt4, qca2, openssl}:
-
-stdenv.mkDerivation rec {
-  version = "2.0.0-beta3";
-  name = "qca-ossl-${version}";
-  src = fetchurl {
-    url = "http://delta.affinix.com/download/qca/2.0/plugins/${name}.tar.bz2";
-    sha256 = "0yy68racvx3clybry2i1bw5bz9yhxr40p3xqagxxb15ihvsrzq08";
-  };
-  # SVN version has stabilized and has a lot of fixes for fresh OpenSSL
-  # Take the main source from there
-  svn_src = fetchsvn {
-    url = svn://anonsvn.kde.org/home/kde/trunk/kdesupport/qca/plugins/qca-ossl ; 
-    rev = 1115936;
-    sha256 =  "ef2c0307e8834e1e7cb23b6fea1cc22486328a37186301a6c11161b1c93d834b";
-  };
-  buildInputs = [ qt4 qca2 openssl ];
-  dontAddPrefix = true;
-  configureFlags="--no-separate-debug-info --with-qca=${qca2}
-    --with-openssl-inc=${openssl}/include --with-openssl-lib=${openssl}/lib";
-  preConfigure=''
-    cp ${svn_src}/qca-ossl.cpp .
-
-    configureFlags="$configureFlags --plugins-path=$out/lib/qt4/plugins"
-  '';
-  meta = with stdenv.lib; {
-    description = "Qt Cryptographic Architecture OpenSSL plugin";
-    license = "LGPL";
-    homepage = http://delta.affinix.com/qca;
-    maintainers = [ maintainers.urkud ];
-  };
-}
diff --git a/pkgs/desktops/kde-4.5/support/soprano/default.nix b/pkgs/desktops/kde-4.5/support/soprano/default.nix
index 62832861a363..073ea87e9721 100644
--- a/pkgs/desktops/kde-4.5/support/soprano/default.nix
+++ b/pkgs/desktops/kde-4.5/support/soprano/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, cmake, qt4, cluceneCore, redland, libiodbc}:
 
 stdenv.mkDerivation rec {
-  name = "soprano-2.5.2";
+  name = "soprano-2.5.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/soprano/${name}.tar.bz2";
-    sha256 = "17k17hrcwij2plms4hb0j6994ar9kcxykf699iyiggfpj1zg7nym";
+    sha256 = "0hxc6jnbh0529jsc0ixvy8pshnffrpgsadinhk9navkpyn5xg4l9";
   };
 
   # We disable the Java backend, since we do not need them and they make the closure size much bigger
diff --git a/pkgs/desktops/kde-4.5/support/strigi/default.nix b/pkgs/desktops/kde-4.5/support/strigi/default.nix
deleted file mode 100644
index 7a4cb3b664cb..000000000000
--- a/pkgs/desktops/kde-4.5/support/strigi/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, cmake, qt4, perl, bzip2, libxml2, expat, exiv2
-, cluceneCore
-}:
-
-stdenv.mkDerivation rec {
-  name = "strigi-${version}";
-  version = "0.7.2";
-
-  src = fetchurl {
-    url = "http://www.vandenoever.info/software/strigi/${name}.tar.bz2";
-    sha256 = "1f1ac27cjm5m4iwsgvd7nylr0md0a95przkbpsdq7l90wjxj390w";
-  };
-  includeAllQtDirs=true;
-  
-  CLUCENE_HOME = cluceneCore;
-  
-  # Dependencies such as SQLite and FAM are unreliable in this release
-  buildInputs = [
-    cmake perl qt4 bzip2 stdenv.gcc.libc libxml2 expat exiv2 cluceneCore
-  ];
-
-  meta = {
-    homepage = http://strigi.sourceforge.net;
-    description = "A very fast and efficient crawler to index data on your harddrive";
-    license = "LGPL";
-    maintainers = with stdenv.lib.maintainers; [ sander urkud ];
-    inherit (qt4.meta) platforms;
-  };
-}
diff --git a/pkgs/desktops/kde-4.5/toys/amor.nix b/pkgs/desktops/kde-4.5/toys/amor.nix
index e994dea08846..dec967febde5 100644
--- a/pkgs/desktops/kde-4.5/toys/amor.nix
+++ b/pkgs/desktops/kde-4.5/toys/amor.nix
@@ -9,7 +9,6 @@ kde.package {
       name = "amor";
       module = "kdetoys";
       version = "2.4.0";
-      release = "4.5.4";
       versionFile = "src/version.h";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/toys/kteatime.nix b/pkgs/desktops/kde-4.5/toys/kteatime.nix
index 601de020a6c5..9df5d8ab528d 100644
--- a/pkgs/desktops/kde-4.5/toys/kteatime.nix
+++ b/pkgs/desktops/kde-4.5/toys/kteatime.nix
@@ -9,8 +9,6 @@ kde.package {
       name = "kteatime";
       module = "kdetoys";
       version = "1.2.1";
-      release = "4.5.4";
-      versionFile = "src/main.cpp";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/toys/ktux.nix b/pkgs/desktops/kde-4.5/toys/ktux.nix
index 0a2deec43e58..8d2df5974a0d 100644
--- a/pkgs/desktops/kde-4.5/toys/ktux.nix
+++ b/pkgs/desktops/kde-4.5/toys/ktux.nix
@@ -9,7 +9,6 @@ kde.package {
       name = "ktux";
       module = "kdetoys";
       version = "1.0.1";
-      release = "4.5.4";
       versionFile = "src/sprite.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/utils/ark.nix b/pkgs/desktops/kde-4.5/utils/ark.nix
index 0437406f72f8..6f963bdb9980 100644
--- a/pkgs/desktops/kde-4.5/utils/ark.nix
+++ b/pkgs/desktops/kde-4.5/utils/ark.nix
@@ -14,7 +14,6 @@ kde.package {
       name = "ark";
       module = "kdeutils";
       version = "2.15";
-      release = "4.5.4";
       versionFile = "app/main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/utils/kcalc.nix b/pkgs/desktops/kde-4.5/utils/kcalc.nix
index 05aa5f752e4e..b04e6e9f9832 100644
--- a/pkgs/desktops/kde-4.5/utils/kcalc.nix
+++ b/pkgs/desktops/kde-4.5/utils/kcalc.nix
@@ -9,7 +9,6 @@ kde.package {
       name = "kcalc";
       module = "kdeutils";
       version = "2.7";
-      release = "4.5.4";
       versionFile = "version.h";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/utils/kcharselect.nix b/pkgs/desktops/kde-4.5/utils/kcharselect.nix
index 069ab67669c3..115efaa703e6 100644
--- a/pkgs/desktops/kde-4.5/utils/kcharselect.nix
+++ b/pkgs/desktops/kde-4.5/utils/kcharselect.nix
@@ -9,7 +9,6 @@ kde.package {
       name = "kcharselect";
       module = "kdeutils";
       version = "1.7";
-      release = "4.5.4";
       versionFile = "main.cc";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/utils/kdf.nix b/pkgs/desktops/kde-4.5/utils/kdf.nix
index 23a9bfa68959..a15341ab2dbd 100644
--- a/pkgs/desktops/kde-4.5/utils/kdf.nix
+++ b/pkgs/desktops/kde-4.5/utils/kdf.nix
@@ -9,7 +9,6 @@ kde.package {
       name = "kdf";
       module = "kdeutils";
       version = "0.11";
-      release = "4.5.4";
       versionFile = "kdf.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/utils/kfloppy.nix b/pkgs/desktops/kde-4.5/utils/kfloppy.nix
index f7ff38b85106..440c139e4cc6 100644
--- a/pkgs/desktops/kde-4.5/utils/kfloppy.nix
+++ b/pkgs/desktops/kde-4.5/utils/kfloppy.nix
@@ -8,7 +8,6 @@ kde.package {
     kde = {
       name = "kfloppy";
       module = "kdeutils";
-      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/kgpg.nix b/pkgs/desktops/kde-4.5/utils/kgpg.nix
index 62cf26df915e..00a2d2a87394 100644
--- a/pkgs/desktops/kde-4.5/utils/kgpg.nix
+++ b/pkgs/desktops/kde-4.5/utils/kgpg.nix
@@ -9,7 +9,6 @@ kde.package {
       name = "kgpg";
       module = "kdeutils";
       version = "2.4.1";
-      release = "4.5.4";
       versionFile = "main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/utils/kremotecontrol.nix b/pkgs/desktops/kde-4.5/utils/kremotecontrol.nix
index b353bdba53cf..1ea8a140dca8 100644
--- a/pkgs/desktops/kde-4.5/utils/kremotecontrol.nix
+++ b/pkgs/desktops/kde-4.5/utils/kremotecontrol.nix
@@ -8,7 +8,6 @@ kde.package {
     kde = {
       name = "kremotecontrol";
       module = "kdeutils";
-      version = "4.5.4";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.5/utils/ktimer.nix b/pkgs/desktops/kde-4.5/utils/ktimer.nix
index a2193d283b1a..9fd90e6616af 100644
--- a/pkgs/desktops/kde-4.5/utils/ktimer.nix
+++ b/pkgs/desktops/kde-4.5/utils/ktimer.nix
@@ -9,7 +9,6 @@ kde.package {
       name = "ktimer";
       module = "kdeutils";
       version = "0.6";
-      release = "4.5.4";
       versionFile = "main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/utils/kwallet.nix b/pkgs/desktops/kde-4.5/utils/kwallet.nix
index d8ee32ff7948..76331102227a 100644
--- a/pkgs/desktops/kde-4.5/utils/kwallet.nix
+++ b/pkgs/desktops/kde-4.5/utils/kwallet.nix
@@ -9,7 +9,6 @@ kde.package {
       name = "kwallet";
       module = "kdeutils";
       version = "1.6";
-      release = "4.5.4";
       versionFile = "main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/utils/okteta.nix b/pkgs/desktops/kde-4.5/utils/okteta.nix
index 1390960aefe9..0b7cb6d388de 100644
--- a/pkgs/desktops/kde-4.5/utils/okteta.nix
+++ b/pkgs/desktops/kde-4.5/utils/okteta.nix
@@ -8,8 +8,7 @@ kde.package {
     kde = {
       name = "okteta";
       module = "kdeutils";
-      version = "0.5.2";
-      release = "4.5.4";
+      version = "0.5.3";
       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 6b2a297a2654..ea9d6a7426cb 100644
--- a/pkgs/desktops/kde-4.5/utils/printer-applet.nix
+++ b/pkgs/desktops/kde-4.5/utils/printer-applet.nix
@@ -15,7 +15,6 @@ kde.package {
       name = "printer-applet";
       module = "kdeutils";
       version = "1.5";
-      release = "4.5.4";
       versionFile = "printer-applet.py";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/utils/superkaramba.nix b/pkgs/desktops/kde-4.5/utils/superkaramba.nix
index 407f924e241e..e49874fc8050 100644
--- a/pkgs/desktops/kde-4.5/utils/superkaramba.nix
+++ b/pkgs/desktops/kde-4.5/utils/superkaramba.nix
@@ -11,7 +11,6 @@ kde.package {
       name = "superkaramba";
       module = "kdeutils";
       version = "0.55";
-      release = "4.5.4";
       versionFile = "src/main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/utils/sweeper.nix b/pkgs/desktops/kde-4.5/utils/sweeper.nix
index feef23c75524..3b1d73df803e 100644
--- a/pkgs/desktops/kde-4.5/utils/sweeper.nix
+++ b/pkgs/desktops/kde-4.5/utils/sweeper.nix
@@ -9,7 +9,6 @@ kde.package {
       name = "sweeper";
       module = "kdeutils";
       version = "1.5";
-      release = "4.5.4";
       versionFile = "main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/webdev/kfilereplace.nix b/pkgs/desktops/kde-4.5/webdev/kfilereplace.nix
index c90c151b3bff..ab56a26878a3 100644
--- a/pkgs/desktops/kde-4.5/webdev/kfilereplace.nix
+++ b/pkgs/desktops/kde-4.5/webdev/kfilereplace.nix
@@ -10,7 +10,6 @@ kde.package {
       name = "kfilereplace";
       module = "kdewebdev";
       version = "0.1";
-      release = "4.5.4";
       versionFile = "main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/webdev/kimagemapeditor.nix b/pkgs/desktops/kde-4.5/webdev/kimagemapeditor.nix
index 93a06b21ae58..958e714e32c5 100644
--- a/pkgs/desktops/kde-4.5/webdev/kimagemapeditor.nix
+++ b/pkgs/desktops/kde-4.5/webdev/kimagemapeditor.nix
@@ -10,7 +10,6 @@ kde.package {
       name = "kimagemapeditor";
       module = "kdewebdev";
       version = "3.9.0";
-      release = "4.5.4";
       versionFile = "version.h";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/webdev/klinkstatus.nix b/pkgs/desktops/kde-4.5/webdev/klinkstatus.nix
index 8c27fbf41865..5024cb771ef0 100644
--- a/pkgs/desktops/kde-4.5/webdev/klinkstatus.nix
+++ b/pkgs/desktops/kde-4.5/webdev/klinkstatus.nix
@@ -12,7 +12,6 @@ kde.package {
       name = "klinkstatus";
       module = "kdewebdev";
       version = "0.7.0";
-      release = "4.5.4";
       versionFile = "src/main.cpp";
     };
   };
diff --git a/pkgs/desktops/kde-4.5/webdev/kommander.nix b/pkgs/desktops/kde-4.5/webdev/kommander.nix
index 0dc23b2152d2..4a761b2eabe0 100644
--- a/pkgs/desktops/kde-4.5/webdev/kommander.nix
+++ b/pkgs/desktops/kde-4.5/webdev/kommander.nix
@@ -8,8 +8,6 @@ kde.package {
     kde = {
       name = "kommander";
       module = "kdewebdev";
-      version = "1.91";
-      release = "4.5.4";
       versionFile = "lib/kommanderversion.h";
     };
   };
diff --git a/pkgs/desktops/kde-4.6/admin/default.nix b/pkgs/desktops/kde-4.6/admin/default.nix
index c4b30643ea0c..8b91430ddd9c 100644
--- a/pkgs/desktops/kde-4.6/admin/default.nix
+++ b/pkgs/desktops/kde-4.6/admin/default.nix
@@ -18,9 +18,6 @@ kde.package {
   meta = {
     description = "KDE Administration Utilities";
     license = "GPL";
-    kde = {
-      name = "kdeadmin";
-      version = "4.5.90";
-    };
+    kde.module = "kdeadmin";
   };
 }
diff --git a/pkgs/desktops/kde-4.6/base-runtime/default.nix b/pkgs/desktops/kde-4.6/base-runtime/default.nix
index 15f065f09d36..3bafa9a8cdea 100644
--- a/pkgs/desktops/kde-4.6/base-runtime/default.nix
+++ b/pkgs/desktops/kde-4.6/base-runtime/default.nix
@@ -19,9 +19,6 @@ kde.package {
     description = "KDE runtime";
     longDescription = "Libraries and tools which supports running KDE desktop applications";
     license = "LGPL";
-    kde = {
-      name = "kdebase-runtime";
-      version = "4.5.90";
-    };
+    kde.module = "kdebase-runtime";
   };
 }
diff --git a/pkgs/desktops/kde-4.6/base-workspace/default.nix b/pkgs/desktops/kde-4.6/base-workspace/default.nix
index b7f3dd474881..0d7de80085fb 100644
--- a/pkgs/desktops/kde-4.6/base-workspace/default.nix
+++ b/pkgs/desktops/kde-4.6/base-workspace/default.nix
@@ -19,9 +19,6 @@ kde.package {
     description = "KDE base platform-specific components";
     longDescription = "KDE base components that are only required to work with X11 such KDM and KWin";
     license = "GPL";
-    kde = {
-      name = "kdebase-workspace";
-      version = "4.5.90";
-    };
+    kde.module = "kdebase-workspace";
   };
 }
diff --git a/pkgs/desktops/kde-4.6/base/default.nix b/pkgs/desktops/kde-4.6/base/default.nix
index 973d2cf562d0..58ec69485807 100644
--- a/pkgs/desktops/kde-4.6/base/default.nix
+++ b/pkgs/desktops/kde-4.6/base/default.nix
@@ -11,9 +11,6 @@ kde.package {
     description = "KDE Base components";
     longDescription = "Applications that form the KDE desktop, like Plasma, System Settings, Konqueror, Dolphin, Kate, and Konsole";
     license = "GPL";
-    kde = {
-      name = "kdebase";
-      version = "4.5.90";
-    };
+    kde.module = "kdebase";
   };
 }
diff --git a/pkgs/desktops/kde-4.6/bindings/default.nix b/pkgs/desktops/kde-4.6/bindings/default.nix
index 74b59926cf73..8c615ac3a7ba 100644
--- a/pkgs/desktops/kde-4.6/bindings/default.nix
+++ b/pkgs/desktops/kde-4.6/bindings/default.nix
@@ -28,10 +28,7 @@ kde.package rec {
     description = "KDE bindings";
     longDescription = "Provides KDE bindings for several languages such as Java, Smoke and Python";
     license = "LGPL";
-    kde = {
-      name = "kdebindings";
-      version = "4.5.90";
-    };
+    kde.module = "kdebindings";
   };
 }
 
diff --git a/pkgs/desktops/kde-4.6/default.nix b/pkgs/desktops/kde-4.6/default.nix
index 3335584a7efe..b117535494a3 100644
--- a/pkgs/desktops/kde-4.6/default.nix
+++ b/pkgs/desktops/kde-4.6/default.nix
@@ -2,14 +2,14 @@
 
 let
 
-  version = "4.5.90";
+  release = "4.6.0";
 
   # 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; }; })
+    runCommand "${name}-${release}" ({ passthru = pkgs // { inherit pkgs; }; })
       ''
         mkdir -p $out/nix-support
         echo ${toString pkgs'} > $out/nix-support/propagated-user-env-packages
@@ -18,37 +18,26 @@ let
 in
 
 rec {
+  recurseForRelease = true;
   inherit callPackage stdenv;
 
   qt4 = qt47;
 
   phonon = null;
 
-  kde = callPackage ./kde-package { };
+  kde = callPackage ./kde-package { inherit release; };
 
 ### SUPPORT
   akonadi = callPackage ./support/akonadi { };
 
   attica = callPackage ./support/attica { };
 
-  automoc4 = callPackage ./support/automoc4 { };
-
-  eigen = callPackage ./support/eigen { };
-
-  oxygen_icons = callPackage ./support/oxygen-icons { };
+  oxygen_icons = callPackage ./oxygen-icons { };
 
   polkit_qt_1 = callPackage ./support/polkit-qt-1 { };
 
-  strigi = callPackage ./support/strigi { };
-
   soprano = callPackage ./support/soprano { };
 
-  qca2 = callPackage ./support/qca2 { };
-
-  qca2_ossl = callPackage ./support/qca2/ossl.nix { };
-
-  qimageblitz = callPackage ./support/qimageblitz { };
-
 ### LIBS
   kdelibs = callPackage ./libs { };
 
@@ -154,7 +143,7 @@ rec {
 
   kdebindings = callPackage ./bindings { };
 
-  l10n = callPackage ./l10n { };
+  l10n = callPackage ./l10n { inherit release; };
 
   # Make the split packages visible to `nix-env -q'.
   misc = recurseIntoAttrs
diff --git a/pkgs/desktops/kde-4.6/edu/default.nix b/pkgs/desktops/kde-4.6/edu/default.nix
index e011d2cd522e..2227975a9553 100644
--- a/pkgs/desktops/kde-4.6/edu/default.nix
+++ b/pkgs/desktops/kde-4.6/edu/default.nix
@@ -1,5 +1,5 @@
 { kde, cmake, qt4, perl, libxml2, libxslt, openbabel, boost, readline, gmm, gsl
-, xplanet, libspectre, pkgconfig, libqalculate
+, xplanet, libspectre, pkgconfig, libqalculate, python
 , kdelibs, automoc4, eigen, attica}:
 
 kde.package {
@@ -16,14 +16,17 @@ kde.package {
 
   buildInputs = [ cmake qt4 perl libxml2 libxslt openbabel boost readline gmm
     gsl xplanet kdelibs automoc4 eigen attica libspectre pkgconfig
-    libqalculate ];
+    libqalculate python ];
+
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${python}/include/${python.libPrefix}"
+    export NIX_LDFLAGS="$NIX_LDFLAGS -l${python.libPrefix} -lboost_python"
+  '';
+  cmakeFlags = '' -DBOOST_PYTHON_INCLUDES="${boost}/include" -DBOOST_PYTHON_LIBS="boost_python" -DKIG_ENABLE_PYTHON_SCRIPTING=1'';
 
   meta = {
     description = "KDE Educative software";
     license = "GPL";
-    kde = {
-      name = "kdeedu";
-      version = "4.5.90";
-    };
+    kde.module = "kdeedu";
   };
 }
diff --git a/pkgs/desktops/kde-4.6/games/default.nix b/pkgs/desktops/kde-4.6/games/default.nix
index d3836ccf507a..74bb1c57ddd1 100644
--- a/pkgs/desktops/kde-4.6/games/default.nix
+++ b/pkgs/desktops/kde-4.6/games/default.nix
@@ -14,9 +14,6 @@ kde.package {
   meta = {
     description = "KDE Games";
     license = "GPL";
-    kde = {
-      name = "kdegames";
-      version = "4.5.90";
-    };
+    kde.module = "kdegames";
   };
 }
diff --git a/pkgs/desktops/kde-4.6/graphics/default.nix b/pkgs/desktops/kde-4.6/graphics/default.nix
index 78442145c9f1..ed6527373eb3 100644
--- a/pkgs/desktops/kde-4.6/graphics/default.nix
+++ b/pkgs/desktops/kde-4.6/graphics/default.nix
@@ -15,9 +15,6 @@ kde.package {
       Okular  document reader.
     '';
     license = "GPL";
-    kde = {
-      name = "kdegraphics";
-      version = "4.5.90";
-    };
+    kde.module = "kdegraphics";
   };
 }
diff --git a/pkgs/desktops/kde-4.6/kde-package/default.nix b/pkgs/desktops/kde-4.6/kde-package/default.nix
index 81fd75e8f440..de3cf05b70d3 100644
--- a/pkgs/desktops/kde-4.6/kde-package/default.nix
+++ b/pkgs/desktops/kde-4.6/kde-package/default.nix
@@ -1,39 +1,25 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, release }:
 
 rec {
-  defaultArgs = {name, stable ? null, version,
-    module ? name, release ? version, ... }:
+  inherit release;
 
-    assert (name == module) -> (release == version);
+  manifest = import (./manifest + "-${release}.nix");
+
+  defaultArgs = { module, name ? module, ... }:
 
     (
       {
-        name = "${name}-${version}";
+        name = "${name}-${release}";
 
-        src =
-          let
-            manifest = (import (./manifest + "-${release}.nix"));
-            _stable = if stable == null then manifest.stable else stable;
-            stableString = if _stable then "stable" else "unstable";
-          in
-          fetchurl {
-            url = "mirror://kde/${stableString}/${release}/src/${module}-${release}.tar.bz2";
-            sha256 = stdenv.lib.maybeAttr
-              module
-              (throw "No module ${module} in release ${release}!")
-              manifest.packages;
-          };
+        src = fetchurl {
+          url = "mirror://kde/" + (if manifest.stable then "" else "un")
+            + "stable/${release}/src/${module}-${release}.tar.bz2";
+          sha256 = builtins.getAttr module manifest.packages;
+        };
 
         meta = {
           maintainers = with stdenv.lib.maintainers; [ sander urkud ];
           platforms = stdenv.lib.platforms.linux;
-          homepage = if name == module
-            then http://www.kde.org
-            else assert builtins.substring 0 3 module == "kde";
-              "http://"
-              + builtins.substring 3
-                (builtins.sub (builtins.stringLength module) 3) module
-              + ".kde.org/projects/${name}";
         };
       } // (if module == name then { } else {
         cmakeFlags = ''
diff --git a/pkgs/desktops/kde-4.6/kde-package/manifest-4.5.90.nix b/pkgs/desktops/kde-4.6/kde-package/manifest-4.5.90.nix
deleted file mode 100644
index 34ef033e4cb4..000000000000
--- a/pkgs/desktops/kde-4.6/kde-package/manifest-4.5.90.nix
+++ /dev/null
@@ -1,85 +0,0 @@
-{
-  stable = false;
-  packages = builtins.listToAttrs [
-    {
-      name = "kdeaccessibility";
-      value = "0jqfyzy3jvzyv1b6n1r589vk7qs8phng6az5jgsknhjjrhsn40hy";
-    }
-    {
-      name = "kdeadmin";
-      value = "1kk0xzf6mrhm946rsrpizzpkx59rf8xzxfj5h5lkcrajmq4xr0q8";
-    }
-    {
-      name = "kdeartwork";
-      value = "0f531rzz5ryq9irkijlb2anxm9zl933yq7q9h9im30s2w4fx31j6";
-    }
-    {
-      name = "kdebase";
-      value = "0aj5w84clbwhckpfryhcfwjnqamdmjm6mf0nf9g1qdaa2k2sfiqm";
-    }
-    {
-      name = "kdebase-runtime";
-      value = "0fhzxhj6p8nam4zi9wz998q06j70wvk1zgrb95lblfcjvs5f8ggb";
-    }
-    {
-      name = "kdebase-workspace";
-      value = "02s2bfid02js0r9400jfk6g74b0m8y7qi95ag7pj3ynn59fz9fv7";
-    }
-    {
-      name = "kdebindings";
-      value = "0ggq2djhcf74zb3wr2g1i2a72ncxs9h787sf4136ys0frxc4h898";
-    }
-    {
-      name = "kdeedu";
-      value = "172ix71977i2rm8r2fqdwrs954d0q82xf97hzpvqmjia3hp823iv";
-    }
-    {
-      name = "kdegames";
-      value = "1srk4vh9n1wh71hamzzvsgwml2j6yi959w61wbqrx9hd0vh3nfcz";
-    }
-    {
-      name = "kdegraphics";
-      value = "0d93kg8bhg2qwbpjnkgygbc8i6qc3wmdy419h15zafy6v66hfnqi";
-    }
-    {
-      name = "kdelibs";
-      value = "04n0whn0srfnqb3gr4w4g92s2vwhxhsmik5bkja4zzkkyylpg76b";
-    }
-    {
-      name = "kdemultimedia";
-      value = "1wclpg44fips943l0yiydr8bg0r0gw1j1ji8jvivcwl8mhq2qxf1";
-    }
-    {
-      name = "kdenetwork";
-      value = "13r9fpbcsl5a12rlg1cifvply4shmvsmm8c1h6bkgyw55k6m652v";
-    }
-    {
-      name = "kdepimlibs";
-      value = "1zc07iw6f78zbbnywplavjb4vdvhr14262wfx35zw3w34x3s0czb";
-    }
-    {
-      name = "kdeplasma-addons";
-      value = "0x46l5840iy6nlfzbgi711rdrrjwaxzglsd9hjs90sswqyiid1zg";
-    }
-    {
-      name = "kdesdk";
-      value = "0dgvg0pzdwk4cg0v4rmjid0lb25r0gbhciywb2whr0l4g8rnsriz";
-    }
-    {
-      name = "kdetoys";
-      value = "1kzzwz8gbd0j9758vxb0cpklgcb9szl49lpyv98bb94378syvn87";
-    }
-    {
-      name = "kdeutils";
-      value = "1c2k8vh7vyjlvq32grs32iwfgg9q9jblm2lwhlkmrl391b38fc0d";
-    }
-    {
-      name = "kdewebdev";
-      value = "15zj9jwrqfkz94hhjcic8k58d6fwrxa6xacmxpmps80j7qgik0d9";
-    }
-    {
-      name = "oxygen-icons";
-      value = "15m08kkxyqw00zhi07mqwwkghw2knf9djw2sw32rpiicg7ppfjgx";
-    }
-  ];
-}
diff --git a/pkgs/desktops/kde-4.6/kde-package/manifest-4.6.0.nix b/pkgs/desktops/kde-4.6/kde-package/manifest-4.6.0.nix
new file mode 100644
index 000000000000..a3d83513bb85
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/kde-package/manifest-4.6.0.nix
@@ -0,0 +1,85 @@
+{
+  stable = true;
+  packages = builtins.listToAttrs [
+    {
+      name = "kdeaccessibility";
+      value = "06b1w7gnfga4nd0spx48s5cx5jfsc9mxzc5yncns0471ia98ww92";
+    }
+    {
+      name = "kdeadmin";
+      value = "0nl3smhlsa4f68qq6p1kjbai2v5lbji2v84k96jfqvpjbkygkq27";
+    }
+    {
+      name = "kdeartwork";
+      value = "1qy0qwl3p0k5myd2f2ky400r5wvaq8gbvgb7mq6093amq0fghxlx";
+    }
+    {
+      name = "kdebase";
+      value = "095k83i1wd3cpk1pyc451gc4fajjynfknf83jsb6vxqisvm2mjn2";
+    }
+    {
+      name = "kdebase-runtime";
+      value = "1vwjly7p28sbhkg1vvnm0l94l2kwcs64jfh9hxlrgfz2bqp48b87";
+    }
+    {
+      name = "kdebase-workspace";
+      value = "10jkv4si6v12m9gspb7yk6x34lanwrnwfdw68jr59wp1ibcpkzzl";
+    }
+    {
+      name = "kdebindings";
+      value = "1xggvgryadi93hn3223614z4qajvypllxjscixv5zc9mvyh9z3ng";
+    }
+    {
+      name = "kdeedu";
+      value = "1x3s0dz8kyd8x7parzks434ifr8mj3w3lwaw30np4khgva258r2n";
+    }
+    {
+      name = "kdegames";
+      value = "1p8d9sy9mafza428wkj5g8hnfl8d06wqf74pdd39yr1ilmw0w1rb";
+    }
+    {
+      name = "kdegraphics";
+      value = "0j28aa2bglhpi9ck6a7334q603k7lfmfsr47grab81ic9aw6x38n";
+    }
+    {
+      name = "kdelibs";
+      value = "1pfydrdi4zwyxpygfmvk2jnfjal747kpf1m2az4fhvv91kx4clpd";
+    }
+    {
+      name = "kdemultimedia";
+      value = "1dhi7m5f22pz7sdrcl9g8zwf0mqcxzcys8hgbxzjfwjkg6h8mz28";
+    }
+    {
+      name = "kdenetwork";
+      value = "0d37db21nz3kjrr1swqykdbzwq3x4kapy3b9pbjic38phfnxksrs";
+    }
+    {
+      name = "kdepimlibs";
+      value = "1377lhlkfadfsqylkjm8hs8csak2cr6lwgimv97wxmp3x8v3lddq";
+    }
+    {
+      name = "kdeplasma-addons";
+      value = "0p8vzvnf0alk9yfv2ynawfbb33h68yhgc3f2ibgm1sdyg4gqx615";
+    }
+    {
+      name = "kdesdk";
+      value = "12hm20pzxj1k42l52dvjl64xda2r2gnvzlmf9kx9c5ccc0p8ch9z";
+    }
+    {
+      name = "kdetoys";
+      value = "0qaxy74n9g0vd6vqqwj3avbi3zhxikxk5aghdy2ynininmwzvqd9";
+    }
+    {
+      name = "kdeutils";
+      value = "1nv2fk8i77vc4jz9cbg4hvw5azw7ncvs3ircj74xy3ndw5b3fhxa";
+    }
+    {
+      name = "kdewebdev";
+      value = "0yl21qixd2ch6jxxccy03qnwnrws4lhbzj5hiv9pkw8w6zm16503";
+    }
+    {
+      name = "oxygen-icons";
+      value = "0a56q2d6nz3nsh8l5cycjiw7dq6ffkgyg3gyqql5iszcp6hrif3b";
+    }
+  ];
+}
diff --git a/pkgs/desktops/kde-4.6/l10n/default.nix b/pkgs/desktops/kde-4.6/l10n/default.nix
index f3b384ad91dd..22acca2d1cf5 100644
--- a/pkgs/desktops/kde-4.6/l10n/default.nix
+++ b/pkgs/desktops/kde-4.6/l10n/default.nix
@@ -1,26 +1,18 @@
-{ stdenv, fetchurl, cmake, kdelibs, gettext, perl, automoc4 }:
+{ stdenv, fetchurl, cmake, kdelibs, gettext, perl, automoc4, release }:
 
 let
-  overrides = { };
 
-  defaultRelease = "4.5.90";
-  releases = [ "4.5.90" ];
+  inherit (stdenv.lib) attrByPath singleton;
 
-  sanitizeString = replaceChars [ "@" "." ] [ "_" "_" ];
-  getOverride = name: attrByPath [name] {} overrides;
+  kdeL10nDerivation =
+    { lang, saneName, sha256 }:
 
-  inherit (stdenv.lib) replaceChars attrByPath singleton;
+    stdenv.mkDerivation rec {
+      name = "kde-l10n-${saneName}-${release}";
 
-  kdeL10nDerivation = {lang, sha256, release} :
-    let
-      name = "kde-l10n-${lang}-${release}";
-      saneName = "kde-l10n-${sanitizeString lang}-${release}";
-    in
-    stdenv.mkDerivation ({
-      name = saneName;
       src = fetchurl {
-        url = "mirror://kde/unstable/${release}/src/kde-l10n/${name}.tar.bz2";
-        name = "${saneName}.tar.bz2";
+        url = "mirror://kde/stable/${release}/src/kde-l10n/kde-l10n-${lang}-${release}.tar.bz2";
+        name = "${name}.tar.bz2";
         inherit sha256;
       };
 
@@ -31,19 +23,14 @@ let
         license = "GPL";
         inherit (kdelibs.meta) maintainers platforms homepage;
       };
-    }
-    // (getOverride lang) // (getOverride name)
-  );
+    };
 
-  kdeL10nRelease = release:
-    let
-      releaseStr = sanitizeString release;
-    in
+  kdeL10nRelease =
     builtins.listToAttrs (
-      map ({lang, sha256}:
+      map ({lang, saneName, sha256}:
         {
-          name = "${sanitizeString lang}";
-          value = kdeL10nDerivation { inherit lang release sha256;};
+          name = saneName;
+          value = kdeL10nDerivation { inherit lang saneName sha256; };
         }
       ) (import (./manifest + "-${release}.nix"))
     );
@@ -52,7 +39,4 @@ in
 {
   inherit kdeL10nDerivation;
   recurseForDerivations = true;
-}
-// builtins.listToAttrs (map (r : { name = sanitizeString r; value =
-kdeL10nRelease r; }) releases)
-// (kdeL10nRelease defaultRelease)
+} // kdeL10nRelease
diff --git a/pkgs/desktops/kde-4.6/l10n/l10n-manifest.sh b/pkgs/desktops/kde-4.6/l10n/l10n-manifest.sh
index baa235e0f75f..cc0eec20aaaf 100755
--- a/pkgs/desktops/kde-4.6/l10n/l10n-manifest.sh
+++ b/pkgs/desktops/kde-4.6/l10n/l10n-manifest.sh
@@ -24,6 +24,7 @@ for i in `cd "${dir}"; ls kde-l10n-*-${release}.tar.bz2`; do
   hash=$(nix-hash --type sha256 --flat --base32 "${dir}/${i}")
   echo "{"
   echo "  lang = \"${lang}\";"
+  echo "  saneName = \"$(echo $lang | sed s^@^_^g)\";"
   echo "  sha256 = \"${hash}\";"
   echo "}"
   echo $hash >&2
diff --git a/pkgs/desktops/kde-4.6/l10n/manifest-4.5.90.nix b/pkgs/desktops/kde-4.6/l10n/manifest-4.5.90.nix
deleted file mode 100644
index 33f7abff71c6..000000000000
--- a/pkgs/desktops/kde-4.6/l10n/manifest-4.5.90.nix
+++ /dev/null
@@ -1,222 +0,0 @@
-[
-{
-  lang = "ar";
-  sha256 = "19mfcq1ms0k6msir8q1g70myvqiapcf6a2r8wq47achxnpkicia9";
-}
-{
-  lang = "bg";
-  sha256 = "1njbxf5y3pl9nmyj913qinaa3qr4q4v8gvwmg7mfidddrr60yniz";
-}
-{
-  lang = "ca";
-  sha256 = "1yv5220q1d3w4nmix9jzz98fhyk0516v3mr5j4pczf407mrggh3l";
-}
-{
-  lang = "ca@valencia";
-  sha256 = "047rq1g0a7dy0kdna9gd4x906dk6inb61vw0xl6kkb3kzxxp3das";
-}
-{
-  lang = "cs";
-  sha256 = "1cazhfrh9nagxi2grlwldwl4j92xhgj8lmyaxkhb893nj845z108";
-}
-{
-  lang = "da";
-  sha256 = "1cm19gp0qiq6yqdzwpv14swj8g7rkvspqgnn5b2i5f3qqr25d29g";
-}
-{
-  lang = "de";
-  sha256 = "0sr51gpyfdgai8frrr0dw7qyssc39kl3fqkjg8w8zjlsp5x6ddx5";
-}
-{
-  lang = "el";
-  sha256 = "0s6mg2diy84my66zgcs5z8xk13j2a8q71xkrvw4d1z8pbnbw4i66";
-}
-{
-  lang = "en_GB";
-  sha256 = "1n461w69gs9q86kp6xy0980ziry61idr0bk614mv58ip1myzwhgm";
-}
-{
-  lang = "eo";
-  sha256 = "1s7p0d45f30871rikx74rc238z9w239pdb4ay9nfx2618wnsrhkr";
-}
-{
-  lang = "es";
-  sha256 = "1583gkwac4ys2sz8a93km0fabqpasslas5jzkavbz1bn8ps1q0w3";
-}
-{
-  lang = "et";
-  sha256 = "00sbnyqhvsdy9y1f59ir0mpxbj6h5x7gc8hiigfzsymlm14fhf26";
-}
-{
-  lang = "eu";
-  sha256 = "1pk6dmakxzj3qqq506flyipcc1sc954lsf4zsy82ii8ki06zvrvw";
-}
-{
-  lang = "fi";
-  sha256 = "1xcdmmvf8x723ngw5xw714x86xpn66qb3pw6h0x01mlh28lprq7j";
-}
-{
-  lang = "fr";
-  sha256 = "18wbz82cnxk51vj4qpw54xcrplga7vpm7p0cw19cjwph2xs62bjl";
-}
-{
-  lang = "fy";
-  sha256 = "1n3ix81jz9716ai9xm99r2v3n64w0kqvr8iz58zlrns5k9cig1nw";
-}
-{
-  lang = "ga";
-  sha256 = "0gm5ylr0dw6slilf1xdsksx17f7kqxmagdywl3dp2fry2h6z3xrn";
-}
-{
-  lang = "gl";
-  sha256 = "132bchxzm4qkbjcf5ljwniyjiahfwkd3i01sqm57l9ssgkq88f1r";
-}
-{
-  lang = "gu";
-  sha256 = "1sg4c0ijap8aird7fwflzw2w7yhx08b8baw4453nkk28s3l0wbl8";
-}
-{
-  lang = "he";
-  sha256 = "1gjngdh6qwmwfhyxcad1xsyq0l25v88bdg4yl1m5iw5a44rvn9br";
-}
-{
-  lang = "hi";
-  sha256 = "1q5rhiwn5fp8sgdrlqh2gh1f4q60x0s5x79q31fnw4kdk5akkrbs";
-}
-{
-  lang = "hr";
-  sha256 = "0hsdh8pnir8ykdsakbii7jj2nd9g1h03s29bmbg6w4r7q39xif7i";
-}
-{
-  lang = "hu";
-  sha256 = "0zpmndlb0vp3sp7z8g233335kak3ms8gzzgn1dhqch0rs03dx9cb";
-}
-{
-  lang = "ia";
-  sha256 = "01jrkfs4jp8z4554sia73vk4js1sd32a3swhal664vdwnf62cw70";
-}
-{
-  lang = "id";
-  sha256 = "0nylab5ncqdx5s3nnq7lx3fd70crjwihkgp9hv689vz4l8g1si4z";
-}
-{
-  lang = "is";
-  sha256 = "1rj8m2qsfhrv4k99mf5sydz5mhq0anhcfi4na04l1hi7icypbz9d";
-}
-{
-  lang = "it";
-  sha256 = "1f1kd82f3pc4szbfwsyxpn115rp2fbkx98gzxpnaggb3j88vq2k9";
-}
-{
-  lang = "ja";
-  sha256 = "0axl759bpv18dl0pw52hlksgdza1y8f7jfw5zgv6rc9qks1f1f9q";
-}
-{
-  lang = "kk";
-  sha256 = "14xvnj21kqp41ayi6n1a8qbph5llf9izs5qql82lcvph3a7zdjxv";
-}
-{
-  lang = "km";
-  sha256 = "0fywr8c6cz0wp4kx56xfd93mjbgwmnmh6zv0kdq8lr9xzjfjbbvq";
-}
-{
-  lang = "kn";
-  sha256 = "13isz33r2wkir2n53fxvmadk5fp4178rxm3nlr8c0l4fqic5pj1a";
-}
-{
-  lang = "ko";
-  sha256 = "1l18crb73cg5an8isgv0iih1mc3j4ghqnfrx39bbrl5ljym78xfx";
-}
-{
-  lang = "lt";
-  sha256 = "01b50dzhxlczmjqc07ph40bz86020ll1ddzcr0285dqqxcl466hg";
-}
-{
-  lang = "lv";
-  sha256 = "0vcbl1laf0vnpks3mfghxffvnyyl4av4lgkgx9annw625aybwc5w";
-}
-{
-  lang = "ml";
-  sha256 = "06z3ihbd3mjzmr68h5bxnp2zhkfnjx7a4ldkv9hj1m4miwpa9af6";
-}
-{
-  lang = "nb";
-  sha256 = "1zp7803s50y750i59cpfq5n4m4yq7xjyqzrrajk4k2cp3kv7prv0";
-}
-{
-  lang = "nds";
-  sha256 = "1f71gl6v9nasrci17glbllyc1h8iaw69j1vf36pyzzp3jwi6y6pg";
-}
-{
-  lang = "nl";
-  sha256 = "18x4dfffyc11acl90bj5d86xvbjiq9bkszdgnmninaa6zjmmvng9";
-}
-{
-  lang = "nn";
-  sha256 = "0syb3x2mlz7lf6awa1h0lchj7qmwmdmxai2cy0h0ja3jvbh6hrsw";
-}
-{
-  lang = "pa";
-  sha256 = "1dd5bpn409b839blb5zj27gc0mg13r3d36ap80lybivqpga0c5bw";
-}
-{
-  lang = "pl";
-  sha256 = "0cmqh4f846s910jlhgc1vpzwlbry0vc4wwpx5misiybh2didhly9";
-}
-{
-  lang = "pt";
-  sha256 = "01z1bz56r1jpfwl2vhfkb8w667layv2hm163y6x4i940qfiig167";
-}
-{
-  lang = "pt_BR";
-  sha256 = "0swilj7qvsrg66xccjmyzlj4l6k88qghvdcs6m9nha3rv199p35k";
-}
-{
-  lang = "ro";
-  sha256 = "08c8ikxfmxgiwchdhayjflk4773rfan2jmjnbrixmam21x2py5ys";
-}
-{
-  lang = "ru";
-  sha256 = "01nskj9mi28xbg77shnmhc46ilx9qrnsv1rsmpblphqxs3wczpqy";
-}
-{
-  lang = "sk";
-  sha256 = "12ja66s0v85d8w5nk1c0xwfs04wq0ngxmpypc5igky90qxhg3f75";
-}
-{
-  lang = "sl";
-  sha256 = "0qqass959xcc7gg1q76w10alrj1ypxc5hg43hlbjagxy8x1nkd99";
-}
-{
-  lang = "sr";
-  sha256 = "16cq9iz2njvwm4d57f07ay4rzw66pwphblxrdrlk22fvkli1hmps";
-}
-{
-  lang = "sv";
-  sha256 = "05hskmbmr9gzfk7i3xlh6a56inmjgl26cvbkcm967mayfigxcaqp";
-}
-{
-  lang = "th";
-  sha256 = "0n9jbngj3l1crqgqv9am8bl3l3sa3x2ccna4p9ccbjyvl4xgryij";
-}
-{
-  lang = "tr";
-  sha256 = "14lfp80r9vwr4kbway2kzff3qr9dgywal6n68adam7jhagfmxifc";
-}
-{
-  lang = "uk";
-  sha256 = "1ygac3jnjw4y4jfk4r8hba1d9ppb41sq50szbh4s4cw0p77kwi91";
-}
-{
-  lang = "wa";
-  sha256 = "1pg37wyyc2fbjy1pmmk8vchk3jl0x9qahqa8bka3w24piq8k2bal";
-}
-{
-  lang = "zh_CN";
-  sha256 = "1664vjjs2nfldmzwda5p2qv9gayx1jpnr0glm87whgak1yyhwjsb";
-}
-{
-  lang = "zh_TW";
-  sha256 = "05c3m128c92gj6n0jr6d6wwbs142nwyxxj6bf0rq24pdl1m5fdn8";
-}
-]
diff --git a/pkgs/desktops/kde-4.6/l10n/manifest-4.6.0.nix b/pkgs/desktops/kde-4.6/l10n/manifest-4.6.0.nix
new file mode 100644
index 000000000000..6922427b502e
--- /dev/null
+++ b/pkgs/desktops/kde-4.6/l10n/manifest-4.6.0.nix
@@ -0,0 +1,267 @@
+[
+{
+  lang = "ar";
+  saneName = "ar";
+  sha256 = "1dadlmd3s3752hcssnpzagly18yx7bj3r9pkc5qcb8nn9h91a92x";
+}
+{
+  lang = "bg";
+  saneName = "bg";
+  sha256 = "1nhqxdllfsljfnpw6ii78nfbv4rqncha1jjz9x9mz59qw4671a6n";
+}
+{
+  lang = "ca";
+  saneName = "ca";
+  sha256 = "1siha5sihazjdp7r26isi2m1s6nhzg4f7z2qqghh64lj3pw4xbzc";
+}
+{
+  lang = "ca@valencia";
+  saneName = "ca_valencia";
+  sha256 = "1d977lm78s1jq49ss5k6a6ixz1wiaq03i6pdjpl09jyirmlkg7dw";
+}
+{
+  lang = "cs";
+  saneName = "cs";
+  sha256 = "193xk5xsqq81xqcwmpix4dcz4l3qbwnvk1bc6awapcr8g56cgxbx";
+}
+{
+  lang = "da";
+  saneName = "da";
+  sha256 = "1y3b36y6w3ca238bnyvfvbkvpadbyvch40p4g82fg16ifnqpxrc7";
+}
+{
+  lang = "de";
+  saneName = "de";
+  sha256 = "1h38dxq6ggrvmc6b2w825xk7sf1032m9psfpg04gzarq6qicskdw";
+}
+{
+  lang = "el";
+  saneName = "el";
+  sha256 = "0ngs7k9nd7vz54804jnbvm10d8iiajvkiz01g9pimkiwlid325d3";
+}
+{
+  lang = "en_GB";
+  saneName = "en_GB";
+  sha256 = "12fr4npqcrsnndlz8qvbca5v6r0da53phxa1mks8ka603gh76hg3";
+}
+{
+  lang = "es";
+  saneName = "es";
+  sha256 = "1mf034ha0n27f82cx20cfr1jsbiapz4zs8bwwhjbdbiizsxivanj";
+}
+{
+  lang = "et";
+  saneName = "et";
+  sha256 = "1x1b8kn8fnv6dvg6f2j6h8kg1g4z3j9zb16likiwb6rp7fy0a859";
+}
+{
+  lang = "eu";
+  saneName = "eu";
+  sha256 = "1y2gwi2x5qx04yfqhn21asgsc67kn895l4npi8nhzv2pa0w8mif6";
+}
+{
+  lang = "fi";
+  saneName = "fi";
+  sha256 = "0lfw1s7ryl5fmrj07390ldayxkfsrc3haxfi8987pg8vxwsicb7n";
+}
+{
+  lang = "fr";
+  saneName = "fr";
+  sha256 = "00i2ziid18c5hz468rv1mljzpyky84r03bmszy8hlakd2jmsbm9r";
+}
+{
+  lang = "ga";
+  saneName = "ga";
+  sha256 = "0qg200sqbnq00qpcmgw10xl6hyjk50m1zks5nly5lxpfxqkmpqzh";
+}
+{
+  lang = "gl";
+  saneName = "gl";
+  sha256 = "0mivdn6hq7icl41pkaim6rc4z3ilsiqlaj84s8q46f8dmh9hdvnv";
+}
+{
+  lang = "gu";
+  saneName = "gu";
+  sha256 = "1h2df76bqhnxmgwgbck69f58p616fra7jqwdi91n5zdga975y4ag";
+}
+{
+  lang = "he";
+  saneName = "he";
+  sha256 = "1gfq82666x3rvrd84qfy51638gbi6r081fxd19av52k00npkrgi5";
+}
+{
+  lang = "hi";
+  saneName = "hi";
+  sha256 = "1k8916yv4bs5h40dvh9p4vgpyk1ylyckliazkwaldqdhghzfkzp3";
+}
+{
+  lang = "hr";
+  saneName = "hr";
+  sha256 = "011pkb42m0arlkkcmlj2r353k7ybglhfsb2hjh5b3bg2sq8cmpcm";
+}
+{
+  lang = "hu";
+  saneName = "hu";
+  sha256 = "124x73ag3nhs9ghfn4lpw29zjyycbj9zxin2d5rb2zdj8r9p2dcw";
+}
+{
+  lang = "ia";
+  saneName = "ia";
+  sha256 = "1j592k8z7d08sngazjqv6fpym4863s0hg1swcvnmys5ighm69dvh";
+}
+{
+  lang = "id";
+  saneName = "id";
+  sha256 = "01h3ax0dqca05qn2vm9v12wd4iyhk2q69lwa6zic6maqnj47s50s";
+}
+{
+  lang = "is";
+  saneName = "is";
+  sha256 = "0qgwfr9k2zqqcxwh82bf0x58h9wd03l9j87hz4xpw2k3jc82fpbk";
+}
+{
+  lang = "it";
+  saneName = "it";
+  sha256 = "1rmqp0v018na4s60cq5j5nqpvz94fyvhklwb1zjhdlfd2lfwcjrc";
+}
+{
+  lang = "ja";
+  saneName = "ja";
+  sha256 = "1qhibkrm2qmra6ib1973dqwz43w1sd87ys8hnnnjn52fwshpcm5z";
+}
+{
+  lang = "kk";
+  saneName = "kk";
+  sha256 = "1si8kfsw0h1jr4grgy6b7q3gnlv6pxpr7rlgl3g9b2f62zc1xaxd";
+}
+{
+  lang = "km";
+  saneName = "km";
+  sha256 = "1gs09hxd66qxl5kwg1rd9xfqvy8l1s49lc09971rr9qw9kxy43ks";
+}
+{
+  lang = "kn";
+  saneName = "kn";
+  sha256 = "13jgfbac3b5zsjgfw7zqk5l7wxnhsnf1kpa5ski002jcxb354n7q";
+}
+{
+  lang = "ko";
+  saneName = "ko";
+  sha256 = "0k0jgf6w94fd21ah609axqdgwn8rmx3j09cn95i0g258f8mvibhg";
+}
+{
+  lang = "lt";
+  saneName = "lt";
+  sha256 = "0nh57snn8ar077k6fj9j2fza9wpwc7j8lvwzfab7i5gka7js9vj5";
+}
+{
+  lang = "lv";
+  saneName = "lv";
+  sha256 = "0a2w06gvgxzh312fqnagp7r8hcbry61mvy9d4lh3kvd13gkgzi9z";
+}
+{
+  lang = "mai";
+  saneName = "mai";
+  sha256 = "1l8y0ck50h4wmirk3vkmj5lbcv0h8pir1wlfs15mbsk93r89fyys";
+}
+{
+  lang = "nb";
+  saneName = "nb";
+  sha256 = "1qw29p7w4ik8wnipsmiyfgp3k438ndr8c4m3c4p2gwx6v06vfynx";
+}
+{
+  lang = "nds";
+  saneName = "nds";
+  sha256 = "1gp0bqmrzpi0fsp919sj057q8c4zzyi7hxanrns6kc4q42x17xd2";
+}
+{
+  lang = "nl";
+  saneName = "nl";
+  sha256 = "1k6694lxp0szkqdb68zsvpq15zlvi51zxz9samgd7z4ng99hvv12";
+}
+{
+  lang = "nn";
+  saneName = "nn";
+  sha256 = "19sp5zaccvlkfjh29dz7i9d6whxa3ap6ji0g3dxkfix76xjchlir";
+}
+{
+  lang = "pa";
+  saneName = "pa";
+  sha256 = "09x53m297jiqv1qclp532c6g0d9d9z5k7kdaivhi69vj2bikf63p";
+}
+{
+  lang = "pl";
+  saneName = "pl";
+  sha256 = "0ygajy6mmdkxidq72qhbacn8hfq8rjvc0frz0jrvv2s2ywawknpn";
+}
+{
+  lang = "pt";
+  saneName = "pt";
+  sha256 = "1333564qpzvdx6qv9hs6n4yssh3lakskdr69hmbjyvnmjdx07f1y";
+}
+{
+  lang = "pt_BR";
+  saneName = "pt_BR";
+  sha256 = "1p378b8nncr55vkk9sfry6zj1zhjrvswwsb5az9q1yk14wgc050a";
+}
+{
+  lang = "ro";
+  saneName = "ro";
+  sha256 = "15lpmdidf3as9pbw7qgryvwk26sjb9lw9v3bvxx34aq299ifb6hf";
+}
+{
+  lang = "ru";
+  saneName = "ru";
+  sha256 = "1n8zwhlkn9sf256jdp7fh9qazwvn95qmr789ndg1xr7xm87y87fw";
+}
+{
+  lang = "sk";
+  saneName = "sk";
+  sha256 = "1q3bg2kw5fghzjx6a9j0029f11w7hir67ll8pl8xi4dpw4fxdqy1";
+}
+{
+  lang = "sl";
+  saneName = "sl";
+  sha256 = "17xr2p3nwx3sswc3qq6qqh671h6i3rvvprhnv86axddj369dhaai";
+}
+{
+  lang = "sr";
+  saneName = "sr";
+  sha256 = "0kflgcbw17flk9qyk631qqkw74v7k9cyrdag3v15rpcrmvvyzxmk";
+}
+{
+  lang = "sv";
+  saneName = "sv";
+  sha256 = "056i52sv5zml6c9wciqbh3v6ghgvmwq8s5wzpqx7nwnl5m9cb2x8";
+}
+{
+  lang = "th";
+  saneName = "th";
+  sha256 = "0bk31gady68rp650a4d0w3zx0cz095sjqmg2j09pjsc0j29dfsf9";
+}
+{
+  lang = "tr";
+  saneName = "tr";
+  sha256 = "0y3vk3csx3z54lqncpcyr31ivldbn6wkhsgycghrzg7yb3n6w5pa";
+}
+{
+  lang = "uk";
+  saneName = "uk";
+  sha256 = "0jqsqakz2xniw9bh0dz7w1vslvkwgpibhny7yb01g604l1zz1znn";
+}
+{
+  lang = "wa";
+  saneName = "wa";
+  sha256 = "0jbmgh1sbfkqxim7wkn29kl5m22k105daz2ypih4f31vzdsqzn9h";
+}
+{
+  lang = "zh_CN";
+  saneName = "zh_CN";
+  sha256 = "1l4slrz0bhbhsarf4pcr86qph1ry1477y7w1956a22p8a4a4ywr3";
+}
+{
+  lang = "zh_TW";
+  saneName = "zh_TW";
+  sha256 = "11harkdwzl328b3m25l8fkc77g0mbpprgaw41bdq3pf0j6wjmd3m";
+}
+]
diff --git a/pkgs/desktops/kde-4.6/libs/default.nix b/pkgs/desktops/kde-4.6/libs/default.nix
index 88d7391def2b..698cbabe2b73 100644
--- a/pkgs/desktops/kde-4.6/libs/default.nix
+++ b/pkgs/desktops/kde-4.6/libs/default.nix
@@ -34,9 +34,7 @@ kde.package {
   meta = {
     description = "KDE libraries";
     license = "LGPL";
-    kde = {
-      name = "kdelibs";
-      version = "4.5.90";
-    };
+    homepage = http://www.kde.org;
+    kde.module = "kdelibs";
   };
 }
diff --git a/pkgs/desktops/kde-4.6/multimedia/default.nix b/pkgs/desktops/kde-4.6/multimedia/default.nix
index d3bb8a99a666..ca9c290f692e 100644
--- a/pkgs/desktops/kde-4.6/multimedia/default.nix
+++ b/pkgs/desktops/kde-4.6/multimedia/default.nix
@@ -12,9 +12,6 @@ kde.package {
       Contains various Multimedia utilties for KDE such as a movie player and sound volume mixer.
     '';
     license = "GPL";
-    kde = {
-      name = "kdemultimedia";
-      version = "4.5.90";
-    };
+    kde.module = "kdemultimedia";
   };
 }
diff --git a/pkgs/desktops/kde-4.6/network/default.nix b/pkgs/desktops/kde-4.6/network/default.nix
index 48ce55eed6f5..c7c386117311 100644
--- a/pkgs/desktops/kde-4.6/network/default.nix
+++ b/pkgs/desktops/kde-4.6/network/default.nix
@@ -28,9 +28,6 @@ kde.package {
     description = "KDE network utilities";
     longDescription = "Various network utilities for KDE such as a messenger client and network configuration interface";
     license = "GPL";
-    kde = {
-      name = "kdenetwork";
-      version = "4.5.90";
-    };
+    kde.module = "kdenetwork";
   };
 }
diff --git a/pkgs/desktops/kde-4.6/support/oxygen-icons/default.nix b/pkgs/desktops/kde-4.6/oxygen-icons/default.nix
similarity index 68%
rename from pkgs/desktops/kde-4.6/support/oxygen-icons/default.nix
rename to pkgs/desktops/kde-4.6/oxygen-icons/default.nix
index fdd3786077e6..bed192f26097 100644
--- a/pkgs/desktops/kde-4.6/support/oxygen-icons/default.nix
+++ b/pkgs/desktops/kde-4.6/oxygen-icons/default.nix
@@ -3,16 +3,13 @@
 kde.package {
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
-  outputHash = "0yl5clp4dyxk6pg8lp3w3z44ayjhn7i47ww8n952mam5il6mlfl1";
+  outputHash = "1qqdmg4q145gac23b0kyarslfwnlkngcxm6x37b03vr1srccycmx";
 
   buildInputs = [ cmake ];
   meta = {
     description = "KDE Oxygen theme icons";
     longDescription = "Contains icons for the KDE Oxygen theme, which is the default icon theme since KDE 4.3";
     license = "GPL";
-    kde = {
-      name = "oxygen-icons";
-      version = "4.5.90";
-    };
+    kde.module = "oxygen-icons";
   };
 }
diff --git a/pkgs/desktops/kde-4.6/pim-runtime/default.nix b/pkgs/desktops/kde-4.6/pim-runtime/default.nix
index d92f1eecc73b..ccdecd46f38b 100644
--- a/pkgs/desktops/kde-4.6/pim-runtime/default.nix
+++ b/pkgs/desktops/kde-4.6/pim-runtime/default.nix
@@ -1,18 +1,16 @@
 { kde, fetchurl, cmake, qt4, perl, libxml2, libxslt, boost, shared_mime_info
-, kdelibs, kdepimlibs
+, kdelibs, kdepimlibs, gettext
 , automoc4, phonon, akonadi, soprano, strigi}:
 
 kde.package rec {
-  buildInputs = [ cmake qt4 perl libxml2 libxslt boost shared_mime_info
-                  kdelibs kdepimlibs
-		  automoc4 phonon akonadi soprano strigi ];
-  prePatch = ''
-      find .. -name CMakeLists.txt | xargs sed -i -e "s@DESTINATION \''${KDE4_DBUS_INTERFACES_DIR}@DESTINATION \''${CMAKE_INSTALL_PREFIX}/share/dbus-1/interfaces/@"
-  '';
+  name = with meta.kde; "${module}-${release}";
+
+  buildInputs = [ cmake qt4 perl libxml2 libxslt boost shared_mime_info kdelibs
+    kdepimlibs automoc4 phonon akonadi soprano strigi gettext ];
 
   src = fetchurl {
-    url = "mirror://kde/stable/kdepim-${meta.kde.version}/src/${meta.kde.name}-${meta.kde.version}.tar.bz2";
-    sha256 = "029a0i83b2yrc1xn9as7gc9rakpxjh5cjmqcmhrrj0xwalqz490n";
+    url = "mirror://kde/unstable/kdepim/${meta.kde.release}/src/${name}.tar.bz2";
+    sha256 = "0gsp1yycjb7a3p285yqhs6v9rsrpbq0wfq3jhz7ky306692lrxig";
   };
 
   meta = {
@@ -20,8 +18,8 @@ kde.package rec {
     homepage = http://www.kde.org;
     license = "GPL";
     kde = {
-      name = "kdepim-runtime";
-      version = "4.4.8";
+      release = "4.5.94.1";
+      module = "kdepim-runtime";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.6/pim/default.nix b/pkgs/desktops/kde-4.6/pim/default.nix
index cdcc3dc023db..72734ff9c34d 100644
--- a/pkgs/desktops/kde-4.6/pim/default.nix
+++ b/pkgs/desktops/kde-4.6/pim/default.nix
@@ -1,22 +1,20 @@
 { kde, fetchurl, cmake, perl, boost, gpgme, libassuan, libgpgerror, libxslt
 , shared_mime_info, libXScrnSaver, kdelibs, kdepimlibs, kdepim_runtime
-, automoc4, akonadi, qca2}:
+, automoc4, akonadi, qca2, gettext, grantlee}:
 
 kde.package rec {
 
   buildInputs = [ cmake boost gpgme libassuan libgpgerror libxslt
-    shared_mime_info libXScrnSaver kdelibs kdepimlibs automoc4 akonadi ];
-  prePatch = ''
-      find .. -name CMakeLists.txt | xargs sed -i -e "s@DESTINATION \''${KDE4_DBUS_INTERFACES_DIR}@DESTINATION \''${CMAKE_INSTALL_PREFIX}/share/dbus-1/interfaces/@"
-  '';
+    shared_mime_info libXScrnSaver kdelibs kdepimlibs automoc4 akonadi gettext
+    grantlee ];
   postInstall = ''
       mkdir -p $out/nix-support/
       echo ${akonadi} ${kdepimlibs} ${kdepim_runtime} > $out/nix-support/propagated-user-env-packages
   '';
 
   src = fetchurl {
-    url = "mirror://kde/stable/kdepim-${meta.kde.version}/src/${meta.kde.name}-${meta.kde.version}.tar.bz2";
-    sha256 = "02nbdn8s4504ljqz0qylm1jyw4hpg5fjw3vi6sbzm522xvkax4wh";
+    url = "mirror://kde/unstable/kdepim/${meta.kde.release}/src/${meta.kde.module}-${meta.kde.release}.tar.bz2";
+    sha256 = "1bnlyrflcjy7lj4c2jag212ws2gzzpqyn5g2p97x8y936dza7ic3";
   };
 
   meta = {
@@ -27,8 +25,8 @@ kde.package rec {
     license = "GPL";
     homepage = http://pim.kde.org;
     kde = {
-      name = "kdepim";
-      version = "4.4.8";
+      release = "4.5.94.1";
+      module = "kdepim";
     };
   };
 }
diff --git a/pkgs/desktops/kde-4.6/pimlibs/default.nix b/pkgs/desktops/kde-4.6/pimlibs/default.nix
index 7de75e9425b6..4f58b04c68ac 100644
--- a/pkgs/desktops/kde-4.6/pimlibs/default.nix
+++ b/pkgs/desktops/kde-4.6/pimlibs/default.nix
@@ -1,18 +1,15 @@
 { kde, cmake, qt4, perl, boost, cyrus_sasl, gpgme, libical, openldap, shared_mime_info
-, kdelibs, automoc4, akonadi, soprano}:
+, kdelibs, automoc4, akonadi, soprano, libxslt}:
 
 kde.package {
 
-  buildInputs = [ cmake automoc4 perl shared_mime_info ];
+  buildInputs = [ cmake automoc4 perl shared_mime_info libxslt ];
   propagatedBuildInputs = [ qt4 boost cyrus_sasl gpgme libical openldap kdelibs
     akonadi soprano ];
 
   meta = {
     description = "KDE PIM libraries";
     license = "LGPL";
-    kde = {
-      name = "kdepimlibs";
-      version = "4.5.90";
-    };
+    kde.module = "kdepimlibs";
   };
 }
diff --git a/pkgs/desktops/kde-4.6/plasma-addons/default.nix b/pkgs/desktops/kde-4.6/plasma-addons/default.nix
index 4b478e8f2e1a..65e4e3a97725 100644
--- a/pkgs/desktops/kde-4.6/plasma-addons/default.nix
+++ b/pkgs/desktops/kde-4.6/plasma-addons/default.nix
@@ -15,9 +15,6 @@ kde.package {
   meta = {
     description = "KDE Plasma Addons";
     license = "GPL";
-    kde = {
-      name = "kdeplasma-addons";
-      version = "4.5.90";
-    };
+    kde.module = "kdeplasma-addons";
   };
 }
diff --git a/pkgs/desktops/kde-4.6/support/akonadi/default.nix b/pkgs/desktops/kde-4.6/support/akonadi/default.nix
index ff4f1c15d591..e3a5b34a24cb 100644
--- a/pkgs/desktops/kde-4.6/support/akonadi/default.nix
+++ b/pkgs/desktops/kde-4.6/support/akonadi/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, cmake, qt4, shared_mime_info, libxslt, boost, mysql, automoc4, soprano}:
 
 stdenv.mkDerivation rec {
-  name = "akonadi-1.4.90";
+  name = "akonadi-1.5.0";
   src = fetchurl {
     url = "http://download.akonadi-project.org/${name}.tar.bz2";
-    sha256 = "0am4m81zhq343a42s1ig5jxx47i6g1d97r546qqzdm5w542r6c00";
+    sha256 = "1azk2g7vb2sampxlys1hkgf9jvzpv92afsjdl31ikqbckaqnbfqc";
   };
   buildInputs = [ cmake qt4 shared_mime_info libxslt boost mysql automoc4 soprano ];
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/kde-4.6/support/polkit-qt-1/default.nix b/pkgs/desktops/kde-4.6/support/polkit-qt-1/default.nix
index 2d528c845421..88a63b3881cf 100644
--- a/pkgs/desktops/kde-4.6/support/polkit-qt-1/default.nix
+++ b/pkgs/desktops/kde-4.6/support/polkit-qt-1/default.nix
@@ -1,19 +1,20 @@
-{ kde, fetchurl, cmake, qt4, pkgconfig, polkit, automoc4, glib }:
+{ stdenv, fetchurl, cmake, qt4, pkgconfig, polkit, automoc4, glib }:
 
-kde.package rec {
-  buildInputs = [ cmake qt4 automoc4 ];
+stdenv.mkDerivation rec {
+  name = "polkit-qt-1-0.99.0";
+
+  buildInputs = [ qt4 automoc4 ];
   propagatedBuildInputs = [ polkit glib ];
+  buildNativeInputs = [ cmake pkgconfig ];
 
   src = fetchurl {
-    url = with meta.kde;
-      "mirror://kde/stable/apps/KDE4.x/admin/${name}-${version}.tar.bz2";
+    url = "mirror://kde/stable/apps/KDE4.x/admin/${name}.tar.bz2";
     sha256 = "02m710q34aapbmnz1p6qwgkk5xjmm239zdl3lvjg77dh3j0w5i3r";
   };
 
   patches = [ ./policy-files.patch ];
 
-  meta.kde = {
-    name = "polkit-qt-1";
-    version = "0.99.0";
+  meta = {
+    maintainers = with stdenv.lib.maintainers; [ urkud sander ];
   };
 }
diff --git a/pkgs/desktops/kde-4.6/support/qca2/ossl.nix b/pkgs/desktops/kde-4.6/support/qca2/ossl.nix
deleted file mode 100644
index bfaa320618c7..000000000000
--- a/pkgs/desktops/kde-4.6/support/qca2/ossl.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{stdenv, fetchurl, fetchsvn, qt4, qca2, openssl}:
-
-stdenv.mkDerivation rec {
-  version = "2.0.0-beta3";
-  name = "qca-ossl-${version}";
-  src = fetchurl {
-    url = "http://delta.affinix.com/download/qca/2.0/plugins/${name}.tar.bz2";
-    sha256 = "0yy68racvx3clybry2i1bw5bz9yhxr40p3xqagxxb15ihvsrzq08";
-  };
-  # SVN version has stabilized and has a lot of fixes for fresh OpenSSL
-  # Take the main source from there
-  svn_src = fetchsvn {
-    url = svn://anonsvn.kde.org/home/kde/trunk/kdesupport/qca/plugins/qca-ossl ; 
-    rev = 1115936;
-    sha256 =  "ef2c0307e8834e1e7cb23b6fea1cc22486328a37186301a6c11161b1c93d834b";
-  };
-  buildInputs = [ qt4 qca2 openssl ];
-  dontAddPrefix = true;
-  configureFlags="--no-separate-debug-info --with-qca=${qca2}
-    --with-openssl-inc=${openssl}/include --with-openssl-lib=${openssl}/lib";
-  preConfigure=''
-    cp ${svn_src}/qca-ossl.cpp .
-
-    configureFlags="$configureFlags --plugins-path=$out/lib/qt4/plugins"
-  '';
-  meta = with stdenv.lib; {
-    description = "Qt Cryptographic Architecture OpenSSL plugin";
-    license = "LGPL";
-    homepage = http://delta.affinix.com/qca;
-    maintainers = [ maintainers.urkud ];
-  };
-}
diff --git a/pkgs/desktops/kde-4.6/support/qimageblitz/default.nix b/pkgs/desktops/kde-4.6/support/qimageblitz/default.nix
deleted file mode 100644
index bb3d0220b432..000000000000
--- a/pkgs/desktops/kde-4.6/support/qimageblitz/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{stdenv, fetchurl, lib, cmake, qt4}:
-
-let
-  pn = "qimageblitz";
-  v = "0.0.4";
-in
-
-stdenv.mkDerivation {
-  name = "${pn}-${v}";
-  src = fetchurl {
-    url = "mirror://sf/${pn}/${pn}-${v}.tar.bz2";
-    sha256 = "0pnaf3qi7rgkxzs2mssmslb3f9ya4cyx09wzwlis3ppyvf72j0p9";
-  };
-  buildInputs = [ cmake qt4 ];
-
-  meta = {
-    description = "Graphical effect and filter library for KDE4";
-    license = "BSD";
-    homepage = "http://${pn}.sourceforge.net";
-  };
-}
diff --git a/pkgs/desktops/kde-4.6/support/soprano/default.nix b/pkgs/desktops/kde-4.6/support/soprano/default.nix
index dc23762f2b55..101cbfbe60bd 100644
--- a/pkgs/desktops/kde-4.6/support/soprano/default.nix
+++ b/pkgs/desktops/kde-4.6/support/soprano/default.nix
@@ -1,15 +1,16 @@
-{stdenv, fetchurl, cmake, qt4, cluceneCore, redland, libiodbc}:
+{stdenv, fetchurl, cmake, qt4, cluceneCore, redland, libiodbc, pkgconfig}:
 
 stdenv.mkDerivation rec {
-  name = "soprano-2.5.63";
+  name = "soprano-2.6.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/soprano/${name}.tar.bz2";
-    sha256 = "1i69pbfykgn2bp36hn1qk9sbw1yx4fnaa31bfxfdssfxli7ik6c4";
+    sha256 = "0dfdc4hcv25kwmv3wp13qjw2jg2fax4gcy79yia7sdgz5ik59xq2";
   };
 
   # We disable the Java backend, since we do not need them and they make the closure size much bigger
-  buildInputs = [ cmake qt4 cluceneCore redland libiodbc ];
+  buildInputs = [ qt4 cluceneCore redland libiodbc ];
+  buildNativeInputs = [ cmake pkgconfig ];
 
   meta = {
     homepage = http://soprano.sourceforge.net/;
diff --git a/pkgs/development/compilers/ecl/default.nix b/pkgs/development/compilers/ecl/default.nix
index be5f83941aad..e4bf0ef371c0 100644
--- a/pkgs/development/compilers/ecl/default.nix
+++ b/pkgs/development/compilers/ecl/default.nix
@@ -1,11 +1,15 @@
-a :  
+{builderDefsPackage
+  , gmp, mpfr, libffi
+  , ...} @ x:
+builderDefsPackage (a :  
 let 
   s = import ./src-for-default.nix;
-  buildInputs = with a; [
-  ];
+  helperArgNames = [];
   propagatedBuildInputs = with a; [
     gmp mpfr
   ];
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
 in
 rec {
   src = a.fetchUrlFromSrcInfo s;
@@ -35,4 +39,4 @@ rec {
     platforms = with a.lib.platforms; 
       linux;
   };
-}
+}) x
diff --git a/pkgs/development/compilers/ecl/src-for-default.nix b/pkgs/development/compilers/ecl/src-for-default.nix
index 7a90597f5c8a..4de9821c3a71 100644
--- a/pkgs/development/compilers/ecl/src-for-default.nix
+++ b/pkgs/development/compilers/ecl/src-for-default.nix
@@ -1,9 +1,9 @@
 rec {
-   version="10.4.1";
-   name="ecl-10.4.1";
-   hash="0v1wqvvi2zvvmymsgxz7yvqbxf8py6kxani2f4i3bjkayblcypah";
-   url="http://downloads.sourceforge.net/project/ecls/ecls/10.4/ecl-${version}.tar.gz";
-   advertisedUrl="http://downloads.sourceforge.net/project/ecls/ecls/10.4/ecl-10.4.1.tar.gz";
+   version="11.1.1";
+   name="ecl-11.1.1";
+   hash="01rvxpa5cwggq1p39qgjm0sdixx3l6vlnhm2h9qrwji69s3wxb18";
+   url="http://downloads.sourceforge.net/project/ecls/ecls/11.1/ecl-${version}.tar.gz";
+   advertisedUrl="http://downloads.sourceforge.net/project/ecls/ecls/11.1/ecl-11.1.1.tar.gz";
   
   
 }
diff --git a/pkgs/development/compilers/flapjax/default.nix b/pkgs/development/compilers/flapjax/default.nix
index 699034718996..5167bf7d795f 100644
--- a/pkgs/development/compilers/flapjax/default.nix
+++ b/pkgs/development/compilers/flapjax/default.nix
@@ -1,25 +1,30 @@
-args:
-args.stdenv.mkDerivation {
-  name = "flapjax-source-20070514";
+{cabal, fetchurl, unzip, xhtml, WebBits, WebBitsHtml, JsContracts}:
 
-  src = args.fetchurl {
-    url = http://www.flapjax-lang.org/download/20070514/flapjax-source.tar.gz;
-    sha256 = "188dafpggbfdyciqhrjaq12q0q01z1rp3mpm2iixb0mvrci14flc";
+cabal.mkDerivation ( self: {
+  pname = "flapjax";
+  version = "2.1";
+
+  src = fetchurl {
+    url = https://github.com/brownplt/flapjax/zipball/Flapjax-2.1;
+    name = "flapjax-2.1.zip";
+    sha256 = "1cp9g570528a813ljnvd1lb389iz0i6511xynf6kzryv8ckc1n7v";
   };
 
-  phases = "unpackPhase buildPhase";
+  # The Makefile copies some files to update the flapjax website into
+  # missing directories; the -p is to avoid these errors.
+  preConfigure = ''
+    cd fx
+    sed -i 's/mkdir/mkdir -p/' Makefile
+    make
+    cd ../compiler
+  '';
 
-  buildPhase  = "
-    ensureDir \$out/bin
-    cd compiler;
-    ghc --make Fjc.hs -o \$out/bin/fjc
-  ";
-
-  buildInputs =(with args; [ghc] ++ libs);
+  extraBuildInputs = [ unzip JsContracts ];
+  propagatedBuildInputs = [ xhtml WebBits WebBitsHtml ];
 
   meta = { 
       description = "programming language designed around the demands of modern, client-based Web applications";
       homepage = http://www.flapjax-lang.org/;
       license = "BSD";
   };
-}
+})
diff --git a/pkgs/development/compilers/ghc/7.0.2.nix b/pkgs/development/compilers/ghc/7.0.2.nix
new file mode 100644
index 000000000000..6dc061cd8c1c
--- /dev/null
+++ b/pkgs/development/compilers/ghc/7.0.2.nix
@@ -0,0 +1,45 @@
+{stdenv, fetchurl, ghc, perl, gmp, ncurses}:
+
+stdenv.mkDerivation rec {
+  version = "7.0.2";
+  
+  name = "ghc-${version}";
+  
+  # TODO: Does this have to be here, or can it go to meta?
+  homepage = "http://haskell.org/ghc";
+
+  src = fetchurl {
+    url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
+    sha256 = "f0551f1af2f008a8a14a888b70c0557e00dd04f9ae309ac91897306cd04a6668";
+  };
+
+  buildInputs = [ghc perl gmp ncurses];
+
+  buildMK = ''
+    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
+    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
+  '';
+
+  preConfigure = ''
+    echo "${buildMK}" > mk/build.mk
+  '';
+
+  configureFlags=[
+    "--with-gcc=${stdenv.gcc}/bin/gcc"
+  ];
+
+  # required, because otherwise all symbols from HSffi.o are stripped, and
+  # that in turn causes GHCi to abort
+  stripDebugFlags=["-S" "--keep-file-symbols"];
+
+  meta = {
+    inherit homepage;
+    description = "The Glasgow Haskell Compiler";
+    maintainers = [
+      stdenv.lib.maintainers.marcweber
+      stdenv.lib.maintainers.andres
+    ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+
+}
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index e24e1aaebcb1..f69d4144d05d 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -1,7 +1,8 @@
 {stdenv, fetchurl, ghc, perl, gmp, ncurses}:
 
 stdenv.mkDerivation rec {
-  version = "6.13.20100917";
+  version = "7.0.1.20110217";
+  label = "7.0.2-rc2";
   
   name = "ghc-${version}";
   
@@ -9,8 +10,8 @@ stdenv.mkDerivation rec {
   homepage = "http://haskell.org/ghc";
 
   src = fetchurl {
-    url = "${homepage}/dist/current/dist/${name}-src.tar.bz2";
-    sha256 = "0b5pg6688yfzd5zfaffjp21y933vp94h94ds85gwi156f4g3bkij";
+    url = "${homepage}/dist/${label}/${name}-src.tar.bz2";
+    sha256 = "18jbw5na4v8v2vzswbi8xfd73mx8zv1diym0bg5bns5337q76lzi";
   };
 
   buildInputs = [ghc perl gmp ncurses];
@@ -42,43 +43,4 @@ stdenv.mkDerivation rec {
     platforms = stdenv.lib.platforms.linux;
   };
 
-  # TODO: requires a comment as to what it does and why it is needed.
-  passthru = {
-    corePackages = [
-       [ "Cabal" "1.8.0.2" ]
-       [ "array" "0.3.0.0" ]
-       [ "base" "3.0.3.2" ]
-       [ "base" "4.2.0.0" ]
-       [ "bin-package-db" "0.0.0.0" ]
-       [ "bytestring" "0.9.1.5" ]
-       [ "containers" "0.3.0.0" ]
-       [ "directory" "1.0.1.0" ]
-       [ "dph-base" "0.4.0" ]
-       [ "dph-par" "0.4.0" ]
-       [ "dph-prim-interface" "0.4.0" ]
-       [ "dph-prim-par" "0.4.0" ]
-       [ "dph-prim-seq" "0.4.0" ]
-       [ "dph-seq" "0.4.0" ]
-       [ "extensible-exceptions" "0.1.1.1" ]
-       [ "ffi" "1.0" ]
-       [ "filepath" "1.1.0.3" ]
-       [ "ghc" "6.12.1" ]
-       [ "ghc-binary" "0.5.0.2" ]
-       [ "ghc-prim" "0.2.0.0" ]
-       [ "haskell98" "1.0.1.1" ]
-       [ "hpc" "0.5.0.4" ]
-       [ "integer-gmp" "0.2.0.0" ]
-       [ "old-locale" "1.0.0.2" ]
-       [ "old-time" "1.0.0.3" ]
-       [ "pretty" "1.0.1.1" ]
-       [ "process" "1.0.1.2" ]
-       [ "random" "1.0.0.2" ]
-       [ "rts" "1.0" ]
-       [ "syb" "0.1.0.2" ]
-       [ "template-haskell" "2.4.0.0" ]
-       [ "time" "1.1.4" ]
-       [ "unix" "2.4.0.0" ]
-       [ "utf8-string" "0.3.4" ]
-    ];
-  };
 }
diff --git a/pkgs/development/compilers/llvm/clang-include-paths.patch b/pkgs/development/compilers/llvm/clang-include-paths.patch
index 3c68c0018593..5c80e5821451 100644
--- a/pkgs/development/compilers/llvm/clang-include-paths.patch
+++ b/pkgs/development/compilers/llvm/clang-include-paths.patch
@@ -1,202 +1,36 @@
-diff --git a/tools/clang/lib/Frontend/InitHeaderSearch.cpp b/tools/clang/lib/Frontend/InitHeaderSearch.cpp
-index cd749d2..b5591f6 100644
---- a/tools/clang/lib/Frontend/InitHeaderSearch.cpp
-+++ b/tools/clang/lib/Frontend/InitHeaderSearch.cpp
-@@ -393,51 +393,7 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple) {
+diff -ru -x '*~' a/tools/clang/lib/Frontend/InitHeaderSearch.cpp b/tools/clang/lib/Frontend/InitHeaderSearch.cpp
+--- a/tools/clang/lib/Frontend/InitHeaderSearch.cpp	2010-09-03 18:45:53.000000000 +0200
++++ b/tools/clang/lib/Frontend/InitHeaderSearch.cpp	2011-02-05 14:59:08.669573190 +0100
+@@ -443,6 +443,7 @@
        AddPath(*i, System, false, false, false);
      return;
    }
--  llvm::Triple::OSType os = triple.getOS();
--  switch (os) {
--  case llvm::Triple::Win32:
--    {
--      std::string VSDir;
--      std::string WindowsSDKDir;
--      if (getVisualStudioDir(VSDir)) {
--        AddPath(VSDir + "\\VC\\include", System, false, false, false);
--        if (getWindowsSDKDir(WindowsSDKDir))
--          AddPath(WindowsSDKDir, System, false, false, false);
--        else
--          AddPath(VSDir + "\\VC\\PlatformSDK\\Include",
--            System, false, false, false);
--      }
--      else {
--          // Default install paths.
--        AddPath("C:/Program Files/Microsoft Visual Studio 9.0/VC/include",
--          System, false, false, false);
--        AddPath(
--        "C:/Program Files/Microsoft Visual Studio 9.0/VC/PlatformSDK/Include",
--          System, false, false, false);
--        AddPath("C:/Program Files/Microsoft Visual Studio 8/VC/include",
--          System, false, false, false);
--        AddPath(
--        "C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/Include",
--          System, false, false, false);
--          // For some clang developers.
--        AddPath("G:/Program Files/Microsoft Visual Studio 9.0/VC/include",
--          System, false, false, false);
--        AddPath(
--        "G:/Program Files/Microsoft Visual Studio 9.0/VC/PlatformSDK/Include",
--          System, false, false, false);
--      }
--    }
--    break;
--  case llvm::Triple::MinGW64:
--  case llvm::Triple::MinGW32:
--    AddPath("c:/mingw/include", System, true, false, false);
--    break;
--  default:
--    break;
--  }
--
--  AddPath("/usr/local/include", System, true, false, false);
--  AddPath("/usr/include", System, false, false, false);
++#if 0
+   llvm::Triple::OSType os = triple.getOS();
+   switch (os) {
+   case llvm::Triple::Win32:
+@@ -532,6 +533,8 @@
+   }
+ 
+   AddPath("/usr/include", System, false, false, false);
++#endif
 +  AddPath(C_INCLUDE_PATH, System, false, false, false);
  }
  
- void InitHeaderSearch::AddDefaultCPlusPlusIncludePaths(const llvm::Triple &triple) {
-@@ -453,144 +409,9 @@ void InitHeaderSearch::AddDefaultCPlusPlusIncludePaths(const llvm::Triple &tripl
-                                   CXX_INCLUDE_32BIT_DIR, CXX_INCLUDE_64BIT_DIR, triple);
+ void InitHeaderSearch::
+@@ -550,6 +553,7 @@
+                                   triple);
      return;
    }
--  // FIXME: temporary hack: hard-coded paths.
--  switch (os) {
--  case llvm::Triple::Cygwin:
--    AddPath("/lib/gcc/i686-pc-cygwin/3.4.4/include",
--        System, true, false, false);
--    AddPath("/lib/gcc/i686-pc-cygwin/3.4.4/include/c++",
--        System, true, false, false);
--    break;
--  case llvm::Triple::MinGW64:
--    // Try gcc 4.4.0
--    AddMinGWCPlusPlusIncludePaths("c:/MinGW/lib/gcc", "mingw64", "4.4.0");
--    // Try gcc 4.3.0
--    AddMinGWCPlusPlusIncludePaths("c:/MinGW/lib/gcc", "mingw64", "4.3.0");
--    // Fall through.
--  case llvm::Triple::MinGW32:
--    // Try gcc 4.4.0
--    AddMinGWCPlusPlusIncludePaths("c:/MinGW/lib/gcc", "mingw32", "4.4.0");
--    // Try gcc 4.3.0
--    AddMinGWCPlusPlusIncludePaths("c:/MinGW/lib/gcc", "mingw32", "4.3.0");
--    break;
--  case llvm::Triple::Darwin:
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2.1",
--                                "i686-apple-darwin10", "", "x86_64", triple);
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.0.0",
--                                "i686-apple-darwin8", "", "", triple);
--    break;
--  case llvm::Triple::DragonFly:
--    AddPath("/usr/include/c++/4.1", System, true, false, false);
--    break;
--  case llvm::Triple::Linux:
--    // Exherbo (2010-01-25)
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.3",
--                                "x86_64-pc-linux-gnu", "32", "", triple);
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.3",
--                                "i686-pc-linux-gnu", "", "", triple);
--    // Debian sid
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4",
--                                "x86_64-linux-gnu", "32", "", triple);
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4",
--                                "i486-linux-gnu", "64", "", triple);
--    // Ubuntu 7.10 - Gutsy Gibbon
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.1.3",
--                                "i486-linux-gnu", "", "", triple);
--    // Ubuntu 9.04
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.3",
--                                "x86_64-linux-gnu","32", "", triple);
--    // Ubuntu 9.10
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.1",
--                                "x86_64-linux-gnu", "32", "", triple);
--    // Fedora 8
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.1.2",
--                                "i386-redhat-linux", "", "", triple);
--    // Fedora 9
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.0",
--                                "i386-redhat-linux", "", "", triple);
--    // Fedora 10
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.2",
--                                "i386-redhat-linux","", "", triple);
--
--    // Fedora 10 x86_64
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.2",
--                                "x86_64-redhat-linux", "32", "", triple);
--
--    // Fedora 11
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.1",
--                                "i586-redhat-linux","", "", triple);
--
--    // Fedora 12
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.2",
--                                "i686-redhat-linux","", "", triple);
--
--    // Fedora 12 (February-2010+)
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.3",
--                                "i686-redhat-linux","", "", triple);
--      
--    // openSUSE 11.1 32 bit
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3",
--                                "i586-suse-linux", "", "", triple);
--    // openSUSE 11.1 64 bit
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3",
--                                "x86_64-suse-linux", "32", "", triple);
--    // openSUSE 11.2
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4",
--                                "i586-suse-linux", "", "", triple);
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4",
--                                "x86_64-suse-linux", "", "", triple);
--    // Arch Linux 2008-06-24
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.1",
--                                "i686-pc-linux-gnu", "", "", triple);
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.1",
--                                "x86_64-unknown-linux-gnu", "", "", triple);
--    // Gentoo x86 2009.1 stable
--    AddGnuCPlusPlusIncludePaths(
--      "/usr/lib/gcc/i686-pc-linux-gnu/4.3.4/include/g++-v4",
--      "i686-pc-linux-gnu", "", "", triple);
--    // Gentoo x86 2009.0 stable
--    AddGnuCPlusPlusIncludePaths(
--      "/usr/lib/gcc/i686-pc-linux-gnu/4.3.2/include/g++-v4",
--      "i686-pc-linux-gnu", "", "", triple);
--    // Gentoo x86 2008.0 stable
--    AddGnuCPlusPlusIncludePaths(
--      "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4",
--      "i686-pc-linux-gnu", "", "", triple);
--    // Ubuntu 8.10
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3",
--                                "i486-pc-linux-gnu", "", "", triple);
--    // Ubuntu 9.04
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3",
--                                "i486-linux-gnu","", "", triple);
--    // Gentoo amd64 stable
--    AddGnuCPlusPlusIncludePaths(
--        "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4",
--        "i686-pc-linux-gnu", "", "", triple);
--        
--    // Gentoo amd64 gcc 4.3.2
--    AddGnuCPlusPlusIncludePaths(
--        "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/include/g++-v4",
--        "x86_64-pc-linux-gnu", "", "", triple);
--        
--    // Gentoo amd64 gcc 4.4.3
--    AddGnuCPlusPlusIncludePaths(
--        "/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.3/include/g++-v4",
--        "x86_64-pc-linux-gnu", "32", "", triple);
--    
--    break;
--  case llvm::Triple::FreeBSD:
--    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2", "", "", "", triple);
--    break;
--  case llvm::Triple::Solaris:
--    // Solaris - Fall though..
--  case llvm::Triple::AuroraUX:
--    // AuroraUX
--    AddGnuCPlusPlusIncludePaths("/opt/gcc4/include/c++/4.2.4",
--                                "i386-pc-solaris2.11", "", "", triple);
--    break;
--  default:
--    break;
--  }
++#if 0  
+   // FIXME: temporary hack: hard-coded paths.
+   switch (os) {
+   case llvm::Triple::Cygwin:
+@@ -769,6 +773,10 @@
+   default:
+     break;
+   }
++#endif
 +  AddGnuCPlusPlusIncludePaths(
 +      CPP_INCLUDE_PATH,
 +      CPP_HOST, "", "", triple);
diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix
index 3948f8b73764..4229e43949a3 100644
--- a/pkgs/development/compilers/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/default.nix
@@ -1,16 +1,17 @@
-{stdenv, fetchurl, fetchsvn, gcc, flex, perl, libtool, groff
-, buildClang ? false}:
+{ stdenv, fetchurl, gcc, flex, perl, libtool, groff
+, buildClang ? false }:
 
 stdenv.mkDerivation ({
-  name = "llvm-2.7";
+  name = "llvm-2.8";
+  
   src = fetchurl {
-    url    = http://llvm.org/releases/2.7/llvm-2.7.tgz;
-    sha256 = "19dwvfyxr851fjfsaxbm56gdj9mlivr37bv6h41hd8q3hpf4nrlr";
+    url    = http://llvm.org/releases/2.8/llvm-2.8.tgz;
+    sha256 = "0fyl2gk2ld28isz9bq4f6r4dhqm9vljfj3pdfwlc2v0w5xsdpb95";
   };
 
-  buildInputs = [ gcc flex perl libtool groff ];
+  buildInputs = [ gcc flex perl groff ];
 
-  configureFlags = [ "--enable-optimized" "--enable-shared" ];
+  configureFlags = [ "--enable-optimized" "--enable-shared" "--disable-static" ];
 
   meta = {
     homepage = http://llvm.org/;
@@ -20,8 +21,7 @@ stdenv.mkDerivation ({
     platforms = with stdenv.lib.platforms; all;
   };
 }
-//
-(if buildClang then 
+// stdenv.lib.optionalAttrs buildClang (
   # I write the assert because 'gcc.libc' will be evaluated although 'triplet' would not
   # evaluate properly (in the preConfigure below)
   assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
@@ -30,19 +30,19 @@ stdenv.mkDerivation ({
               else if (stdenv.system == "x86_64-linux") then "x86_64-unknown-linux-gnu"
               else throw "System not supported";
   in {
-    name = "clang-2.7";
+    name = "clang-2.8";
 
-    srcClang = fetchsvn {
-      url = http://llvm.org/svn/llvm-project/cfe/tags/RELEASE_27;
-      rev = 105900;
-      sha256 = "fe79988950319b62d3bca34848424f20a3f33c8182507df222f2ac93fbacf671";
+    srcClang = fetchurl {
+      url = http://llvm.org/releases/2.8/clang-2.8.tgz;
+      sha256 = "1hg0vqmyr4wdy686l2bga0rpin41v0q9ds2k5659m8z6acali0zd";
     };
 
     prePatch = ''
       pushd tools
-      cp -R "$srcClang" clang
-      chmod u+w -R clang
+      unpackFile $srcClang
+      mv clang-2.8 clang
       popd
+      find
     '';
 
     patches = [ ./clang-include-paths.patch ];
@@ -63,5 +63,4 @@ stdenv.mkDerivation ({
       platforms = with stdenv.lib.platforms; linux;
     };
   }
-else {}
 ))
diff --git a/pkgs/development/compilers/llvm/dragonegg.nix b/pkgs/development/compilers/llvm/dragonegg.nix
index 4724e509a6e0..70098a19a066 100644
--- a/pkgs/development/compilers/llvm/dragonegg.nix
+++ b/pkgs/development/compilers/llvm/dragonegg.nix
@@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
     description = "gcc plugin that replaces gcc's optimizers and code generators by those in LLVM";
     license = "GPLv2+";
     maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; all;
+    platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/development/compilers/sbcl/src-for-default.nix b/pkgs/development/compilers/sbcl/src-for-default.nix
index 6521bb8c72a4..945176d5ac78 100644
--- a/pkgs/development/compilers/sbcl/src-for-default.nix
+++ b/pkgs/development/compilers/sbcl/src-for-default.nix
@@ -1,9 +1,9 @@
 rec {
-   version="1.0.45";
-   name="sbcl-1.0.45";
-   hash="1asl4qy2mizj239cmgnw2dza03h7j3ysrkdavc5gnv9y4gn9miyi";
-   url="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.45/sbcl-1.0.45-source.tar.bz2";
-   advertisedUrl="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.45/sbcl-1.0.45-source.tar.bz2";
+   version="1.0.46";
+   name="sbcl-1.0.46";
+   hash="1sdm0gf9vajk65hn07xl0j084fkk7rsjrpqk8sa8183gbkgag79n";
+   url="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.46/sbcl-1.0.46-source.tar.bz2";
+   advertisedUrl="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.46/sbcl-1.0.46-source.tar.bz2";
   
   
 }
diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix
index 8f2a33fa5ae9..5b5d9682c49a 100644
--- a/pkgs/development/compilers/urweb/default.nix
+++ b/pkgs/development/compilers/urweb/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, file, libmhash, mlton, mysql, postgresql, sqlite }:
+{ stdenv, fetchurl, file, openssl, mlton, mysql, postgresql, sqlite }:
 
 stdenv.mkDerivation rec {
   pname = "urweb";
-  version = "20101102";
+  version = "20110123";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://www.impredicative.com/ur/${name}.tgz";
-    sha256 = "1x661z6hg8gb7v1n580kdij9mr6vv3psm28zr4mmipj2kqh66gfi";
+    sha256 = "00k3ghv115fn8xm99dbc6jygl0g3j6fwc84mgcg76nnim3rvgb8r";
   };
 
-  buildInputs = [ stdenv.gcc file libmhash mlton mysql postgresql sqlite ];
+  buildInputs = [ stdenv.gcc file openssl mlton mysql postgresql sqlite ];
 
   patches = [ ./remove-header-include-directory-prefix.patch ];
 
@@ -21,9 +21,11 @@ stdenv.mkDerivation rec {
 
   preConfigure =
     ''
-      export GCCARGS="-I${mysql}/include/mysql -I${postgresql}/include -I${sqlite}/include -L${libmhash}/lib -L${mysql}/lib/mysql -L${postgresql}/lib -L${sqlite}/lib"
+      export GCCARGS="-I${mysql}/include/mysql -I${postgresql}/include -I${sqlite}/include -L${mysql}/lib/mysql -L${postgresql}/lib -L${sqlite}/lib"
     '';
 
+  configureFlags = "--with-openssl=${openssl}"; 
+
   dontDisableStatic = true;
 
   meta = {
diff --git a/pkgs/development/guile-modules/guile-ncurses/default.nix b/pkgs/development/guile-modules/guile-ncurses/default.nix
new file mode 100644
index 000000000000..b138a537809d
--- /dev/null
+++ b/pkgs/development/guile-modules/guile-ncurses/default.nix
@@ -0,0 +1,33 @@
+{ fetchurl, stdenv, guile, ncurses }:
+
+stdenv.mkDerivation rec {
+  name = "guile-ncurses-1.3";
+
+  src = fetchurl {
+    url = "mirror://gnu/guile-ncurses/${name}.tar.gz";
+    sha256 = "0chvfjrlmg99db98ra9vzwjmbypqx7d4ssm8q0kvzi0n0p9irszi";
+  };
+
+  buildInputs = [ guile ncurses ];
+
+  preConfigure =
+    '' configureFlags="$configureFlags --with-guilesitedir=$out/share/guile/site" '';
+
+  doCheck = false;  # XXX: 1 of 65 tests failed
+
+  meta = {
+    description = "GNU Guile-Ncurses, Scheme interface to the NCurses libraries";
+
+    longDescription =
+      '' GNU Guile-Ncurses is a library for the Guile Scheme interpreter that
+         provides functions for creating text user interfaces.  The text user
+         interface functionality is built on the ncurses libraries: curses,
+         form, panel, and menu.
+      '';
+
+    license = "LGPLv3+";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+  };
+}
diff --git a/pkgs/development/interpreters/clisp/default.nix b/pkgs/development/interpreters/clisp/default.nix
index ca57be85b260..c985da9a5a2d 100644
--- a/pkgs/development/interpreters/clisp/default.nix
+++ b/pkgs/development/interpreters/clisp/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, libsigsegv, gettext, ncurses, readline, libX11
 , libXau, libXt, pcre, zlib, libXpm, xproto, libXext, xextproto
-, libffi, libffcall, coreutils }:
+, libffi, libffcall, coreutils}:
 
 stdenv.mkDerivation rec {
   v = "2.49";
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   configureFlags =
     ''
-      --with-readline builddir --with-dynamic-ffi
+      --with-readline builddir --with-dynamic-ffi --with-ffcall 
       --with-module=clx/new-clx --with-module=i18n --with-module=bindings/glibc
       --with-module=pcre --with-module=rawsock --with-module=readline
       --with-module=syscalls --with-module=wildcard --with-module=zlib
diff --git a/pkgs/development/interpreters/guile/1.8.nix b/pkgs/development/interpreters/guile/1.8.nix
new file mode 100644
index 000000000000..7cb5d3e53642
--- /dev/null
+++ b/pkgs/development/interpreters/guile/1.8.nix
@@ -0,0 +1,55 @@
+{ fetchurl, stdenv, libtool, readline, gmp
+, gawk, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "guile-1.8.8";
+
+  src = fetchurl {
+    url = "mirror://gnu/guile/" + name + ".tar.gz";
+    sha256 = "0l200a0v7h8bh0cwz6v7hc13ds39cgqsmfrks55b1rbj5vniyiy3";
+  };
+
+  patches = [ ./cpp-4.5.patch ];
+
+  buildNativeInputs = [ makeWrapper gawk ];
+  propagatedBuildInputs = [ readline gmp libtool ];
+  selfBuildNativeInput = true;
+
+  postInstall = ''
+    wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin"
+  '';
+
+  preBuild = ''
+    sed -e '/lt_dlinit/a  lt_dladdsearchdir("'$out/lib'");' -i libguile/dynl.c
+  '';
+
+  # Guile needs patching to preset results for the configure tests
+  # about pthreads, which work only in native builds.
+  preConfigure = ''
+    if test -n "$crossConfig"; then
+      configureFlags="--with-threads=no $configureFlags"
+    fi
+  '';
+
+  # One test fails.
+  # ERROR: file: "libtest-asmobs", message: "file not found"
+  # This is fixed here:
+  # <http://git.savannah.gnu.org/cgit/guile.git/commit/?h=branch_release-1-8&id=a0aa1e5b69d6ef0311aeea8e4b9a94eae18a1aaf>.
+  doCheck = false;
+
+  setupHook = ./setup-hook.sh;
+
+  meta = {
+    description = "GNU Guile, an embeddable Scheme interpreter";
+    longDescription = ''
+      GNU Guile is an interpreter for the Scheme programming language,
+      packaged as a library that can be embedded into programs to make
+      them extensible.  It supports many SRFIs.
+    '';
+
+    homepage = http://www.gnu.org/software/guile/;
+    license = "LGPLv2+";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+  };
+}
diff --git a/pkgs/development/interpreters/guile/1.9.nix b/pkgs/development/interpreters/guile/1.9.nix
deleted file mode 100644
index 70c2e44c6283..000000000000
--- a/pkgs/development/interpreters/guile/1.9.nix
+++ /dev/null
@@ -1,68 +0,0 @@
-{ fetchurl, stdenv, libtool, readline, gmp, pkgconfig, boehmgc, libunistring
-, libffi, gawk, makeWrapper, coverageAnalysis ? null }:
-
-# Do either a coverage analysis build or a standard build.
-(if coverageAnalysis != null
- then coverageAnalysis
- else stdenv.mkDerivation)
-
-rec {
-  name = "guile-1.9.13";  # This is a beta release!
-
-  src = fetchurl {
-    url = "ftp://alpha.gnu.org/gnu/guile/${name}.tar.gz";
-    sha256 = "1idrp39lnqyiw68k1mmbfrd46zqdn19crwqbg3b064p6hljypdl4";
-  };
-
-  buildInputs =
-    [ makeWrapper gawk readline libtool libunistring
-      libffi pkgconfig
-    ];
-  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)
-      [ ./gcov-file-name.patch ./disable-gc-sensitive-tests.patch ];
-
-  postInstall = ''
-    wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin"
-
-    # XXX: See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/18903 for
-    # why `--with-libunistring-prefix' and similar options coming from
-    # `AC_LIB_LINKFLAGS_BODY' don't work on NixOS/x86_64.
-    sed -i "$out/lib/pkgconfig/guile-2.0.pc"    \
-        -e 's|-lunistring|-L${libunistring}/lib -lunistring|g ;
-            s|^Cflags:\(.*\)$|Cflags: -I${libunistring}/include \1|g ;
-            s|-lltdl|-L${libtool}/lib -lltdl|g'
-  '';
-
-  doCheck = true;
-
-  setupHook = ./setup-hook.sh;
-
-  meta = {
-    description = "GNU Guile 1.9 (alpha), an embeddable Scheme implementation";
-
-    longDescription = ''
-      GNU Guile is an implementation of the Scheme programming language, with
-      support for many SRFIs, packaged for use in a wide variety of
-      environments.  In addition to implementing the R5RS Scheme standard,
-      Guile includes a module system, full access to POSIX system calls,
-      networking support, multiple threads, dynamic linking, a foreign
-      function call interface, and powerful string processing.
-    '';
-
-    homepage = http://www.gnu.org/software/guile/;
-    license = "LGPLv3+";
-
-    maintainers = [ stdenv.lib.maintainers.ludo ];
-
-    platforms = stdenv.lib.platforms.all;
-  };
-}
diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix
index dae6a69bcb64..e8521bda2ffc 100644
--- a/pkgs/development/interpreters/guile/default.nix
+++ b/pkgs/development/interpreters/guile/default.nix
@@ -1,55 +1,69 @@
-{ fetchurl, stdenv, libtool, readline, gmp
-, gawk, makeWrapper }:
+{ fetchurl, stdenv, libtool, readline, gmp, pkgconfig, boehmgc, libunistring
+, libffi, gawk, makeWrapper, coverageAnalysis ? null }:
 
-stdenv.mkDerivation rec {
-  name = "guile-1.8.7";
+# Do either a coverage analysis build or a standard build.
+(if coverageAnalysis != null
+ then coverageAnalysis
+ else stdenv.mkDerivation)
+
+rec {
+  name = "guile-2.0.0";
 
   src = fetchurl {
-    url = "mirror://gnu/guile/" + name + ".tar.gz";
-    sha256 = "1czhcrn6l63xhsw3fjmv88djflqxbdpxjhgmwwvscm8rv4wn7vmz";
+    url = "mirror://gnu/guile/${name}.tar.gz";
+    sha256 = "0yy6iqlgqaav0nszldlkv8dq4xhcs6r18ahp4h2885jv9payp93v";
   };
 
-  patches = [ ./cpp-4.5.patch ];
+  buildInputs =
+    [ makeWrapper gawk readline libtool libunistring
+      libffi pkgconfig
+    ];
+  propagatedBuildInputs = [ gmp boehmgc ]
 
-  buildNativeInputs = [ makeWrapper gawk ];
-  propagatedBuildInputs = [ readline gmp libtool ];
-  selfBuildNativeInput = true;
+    # 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)
+      [ ./gcov-file-name.patch ./disable-gc-sensitive-tests.patch ];
 
   postInstall = ''
     wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin"
+
+    # XXX: See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/18903 for
+    # why `--with-libunistring-prefix' and similar options coming from
+    # `AC_LIB_LINKFLAGS_BODY' don't work on NixOS/x86_64.
+    sed -i "$out/lib/pkgconfig/guile-2.0.pc"    \
+        -e 's|-lunistring|-L${libunistring}/lib -lunistring|g ;
+            s|^Cflags:\(.*\)$|Cflags: -I${libunistring}/include \1|g ;
+            s|-lltdl|-L${libtool}/lib -lltdl|g'
   '';
 
-  preBuild = ''
-    sed -e '/lt_dlinit/a  lt_dladdsearchdir("'$out/lib'");' -i libguile/dynl.c
-  '';
-
-  # Guile needs patching to preset results for the configure tests
-  # about pthreads, which work only in native builds.
-  preConfigure = ''
-    if test -n "$crossConfig"; then
-      configureFlags="--with-threads=no $configureFlags"
-    fi
-  '';
-
-  # One test fails.
-  # ERROR: file: "libtest-asmobs", message: "file not found"
-  # This is fixed here:
-  # <http://git.savannah.gnu.org/cgit/guile.git/commit/?h=branch_release-1-8&id=a0aa1e5b69d6ef0311aeea8e4b9a94eae18a1aaf>.
-  doCheck = false;
+  doCheck = true;
 
   setupHook = ./setup-hook.sh;
 
   meta = {
-    description = "GNU Guile, an embeddable Scheme interpreter";
+    description = "GNU Guile 2.0, an embeddable Scheme implementation";
+
     longDescription = ''
-      GNU Guile is an interpreter for the Scheme programming language,
-      packaged as a library that can be embedded into programs to make
-      them extensible.  It supports many SRFIs.
+      GNU Guile is an implementation of the Scheme programming language, with
+      support for many SRFIs, packaged for use in a wide variety of
+      environments.  In addition to implementing the R5RS Scheme standard
+      and a large subset of R6RS, Guile includes a module system, full access
+      to POSIX system calls, networking support, multiple threads, dynamic
+      linking, a foreign function call interface, and powerful string
+      processing.
     '';
 
     homepage = http://www.gnu.org/software/guile/;
-    license = "LGPLv2+";
+    license = "LGPLv3+";
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
+
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/interpreters/maude/default.nix b/pkgs/development/interpreters/maude/default.nix
index 594ee980bbd9..f5d4fd090159 100644
--- a/pkgs/development/interpreters/maude/default.nix
+++ b/pkgs/development/interpreters/maude/default.nix
@@ -1,29 +1,27 @@
 { stdenv, fetchurl, flex, bison, ncurses, buddy, tecla, libsigsegv, gmpxx, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "maude-2.5";
+  name = "maude-2.6";
 
   src = fetchurl {
-    url = "http://maude.cs.uiuc.edu/download/current/Maude-2.5.tar.gz";
-    sha256 = "16bvnbyi257z87crzkw9gx2kz13482hnjnik22c2p2ml4rj4lpfw";
+    url = "http://maude.cs.uiuc.edu/download/current/Maude-2.6.tar.gz";
+    sha256 = "182abzhvjvlaa21aqv7802v3bs57a4dm7cw09s3mqmih7nzpkfm5";
   };
 
   fullMaude = fetchurl {
-    url = "http://maude.cs.uiuc.edu/download/current/FM2.5/full-maude25.maude";
-    sha256 = "1d0izdbmhpifb2plnkk3cp7li2z60r8a8ppxhifmfpzi6x6pfvrd";
+    url = "http://maude.cs.uiuc.edu/download/current/FM2.6/full-maude26.maude";
+    sha256 = "1382hjwwrsdgd5yjn3ph1b5i1bhrhzvqx0v369bmcjkly9k96v6q";
   };
 
   buildInputs = [flex bison ncurses buddy tecla gmpxx libsigsegv makeWrapper];
 
   configurePhase = ''./configure --disable-dependency-tracking --prefix=$out --datadir=$out/share/maude TECLA_LIBS="-ltecla -lncursesw" CFLAGS="-O3" CXXFLAGS="-O3"'';
 
-  # The test suite is known to fail on Darwin. If maude is ever updated to a
-  # new version, this exception ought to be removed again.
-  doCheck = !stdenv.isDarwin;
+  doCheck = true;
 
   postInstall =
   ''
-    for n in $out/bin/*; do wrapProgram "$n" --suffix MAUDE_LIB ':' "$out/share/maude"; done
+    for n in "$out/bin/"*; do wrapProgram "$n" --suffix MAUDE_LIB ':' "$out/share/maude"; done
     ensureDir $out/share/maude
     cp ${fullMaude} $out/share/maude/full-maude.maude
   '';
diff --git a/pkgs/development/interpreters/python/3.1/default.nix b/pkgs/development/interpreters/python/3.1/default.nix
index 6cfafe2c8992..e0c8ac0e1c3a 100644
--- a/pkgs/development/interpreters/python/3.1/default.nix
+++ b/pkgs/development/interpreters/python/3.1/default.nix
@@ -1,79 +1,54 @@
-{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2
-, gdbmSupport ? true, gdbm ? null
-, sqlite ? null
-, db4 ? null
-, readline ? null
-, openssl ? null
-, tk ? null
-, tcl ? null
-, libX11 ? null
-, xproto ? null
-, arch ? null
-, sw_vers ? null
+{ stdenv, fetchurl
+, zlib
+, bzip2
+, gdbm
+, sqlite
+, db4
+, ncurses
+, readline
+, openssl
+, tcl, tk
+, libX11, xproto
+, arch ? null, sw_vers ? null
 }:
 
-# This derivation is mostly identical to the one that builds Python 2.x.
-# Some of these settings may not apply to the latest version. A general
-# cleanup might be worthwile.
-
-assert zlibSupport -> zlib != null;
-assert gdbmSupport -> gdbm != null;
 assert stdenv.isDarwin -> arch != null;
 assert stdenv.isDarwin -> sw_vers != null;
+assert readline != null -> ncurses != null;
 
 with stdenv.lib;
 
 let
-
   majorVersion = "3.1";
-  version = "${majorVersion}.1";
-
-  buildInputs =
-    optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++
-    [bzip2]
-    ++ optional zlibSupport zlib
-    ++ optional gdbmSupport gdbm
-    ++ optional (sqlite != null) sqlite
-    ++ optional (db4 != null) db4
-    ++ optional (readline != null) readline
-    ++ optional (openssl != null) openssl
-    ++ optional (tk != null) tk
-    ++ optional (tcl != null) tcl
-    ++ optional (libX11 != null) libX11
-    ++ optional (xproto != null) xproto
-    ++ optional (arch != null) arch
-    ++ optional (sw_vers != null) sw_vers
-    ;
+  version = "${majorVersion}.3";
 
+  buildInputs = filter (p: p != null) [
+    zlib bzip2 gdbm sqlite db4 readline ncurses openssl tcl tk libX11 xproto arch sw_vers
+  ];
 in
-
-stdenv.mkDerivation ( {
+stdenv.mkDerivation {
   name = "python3-${version}";
   inherit majorVersion version;
 
   src = fetchurl {
     url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.bz2";
-    sha256 = "1zai7damkpbzwgflrm3rc9r024kb2iiqwasb2b0kmpmsi9bw4z6q";
+    sha256 = "1jsqapgwrcqcaskyi2qdn1xj7l8x5340a137hdfshk5ya4dg9xkp";
   };
 
-  patches = [
-    # Look in C_INCLUDE_PATH and LIBRARY_PATH for stuff.
-    ./search-path.patch
-  ];
-
   inherit buildInputs;
+  patches = [ ./search-path.patch ];
+
   C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
   LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
   configureFlags = "--enable-shared --with-threads --enable-unicode --with-wctype-functions";
 
   preConfigure = ''
-    # Purity.
-    for i in /usr /sw /opt /pkg; do
+    for i in /usr /sw /opt /pkg; do	# improve purity
       substituteInPlace ./setup.py --replace $i /no-such-path
     done
-  '' + (if readline != null then ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -lncurses"
-  '' else "");
+    ${optionalString (ncurses != null) ''export NIX_LDFLAGS="$NIX_LDFLAGS -lncurses"''}
+    ${optionalString stdenv.isDarwin   ''export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"''}
+  '';
 
   setupHook = ./setup-hook.sh;
 
@@ -82,7 +57,7 @@ stdenv.mkDerivation ( {
   '';
 
   passthru = {
-    inherit zlibSupport;
+    zlibSupport = zlib != null;
     sqliteSupport = sqlite != null;
     db4Support = db4 != null;
     readlineSupport = readline != null;
@@ -91,7 +66,22 @@ stdenv.mkDerivation ( {
     libPrefix = "python${majorVersion}";
   };
 
+  enableParallelBuilding = true;
+
   meta = {
+    homepage = "http://python.org";
+    description = "a high-level dynamically-typed programming language";
+    longDescription = ''
+      Python is a remarkably powerful dynamic programming language that
+      is used in a wide variety of application domains. Some of its key
+      distinguishing features include: clear, readable syntax; strong
+      introspection capabilities; intuitive object orientation; natural
+      expression of procedural code; full modularity, supporting
+      hierarchical packages; exception-based error handling; and very
+      high level dynamic data types.
+    '';
+    license = "GPLv2";
     platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.simons ];
   };
-} // (if stdenv.isDarwin then { NIX_CFLAGS_COMPILE = "-msse2" ; patches = [./search-path.patch]; } else {} ) )
+}
diff --git a/pkgs/development/interpreters/python/3.1/setup-hook.sh b/pkgs/development/interpreters/python/3.1/setup-hook.sh
index 290525c35713..09a086714bb5 100644
--- a/pkgs/development/interpreters/python/3.1/setup-hook.sh
+++ b/pkgs/development/interpreters/python/3.1/setup-hook.sh
@@ -1,12 +1,12 @@
 addPythonPath() {
-    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python2.6/site-packages
+    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.1/site-packages
 }
 
 toPythonPath() {
     local paths="$1"
     local result=
     for i in $paths; do
-        p="$i/lib/python2.6/site-packages"
+        p="$i/lib/python3.1/site-packages"
         result="${result}${result:+:}$p"
     done
     echo $result
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index 2568d3e50fe0..833f0d1c1577 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -1,34 +1,35 @@
-{ stdenv, fetchurl, cairo, file, libjpeg
-, libpng, libtool, libXaw, libXext, libXft, libXrender
-, libXt, libXmu, mesa, pkgconfig, which } :
+{ stdenv, fetchurl, cairo, file, pango, glib, gtk
+, which, libtool, makeWrapper, libjpeg, libpng
+, fontconfig, liberation_ttf } :
 
 stdenv.mkDerivation rec {
   pname = "racket";
-  version = "5.0.2";
+  version = "5.1";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://download.racket-lang.org/installers/${version}/${pname}/${name}-src-unix.tgz";
-    sha256 = "1xx0gc935mvh9b1nch7p4xscx9hjd0401rl1sdpf291nj9vmpb3k";
+    sha256 = "0k53jdsz0qf8jvydw29gnz1z8d9vs9ycfgilgqa6rcyp8i0f468k";
   };
 
-  buildInputs = [ cairo
-                  file
-                  libjpeg
-                  libpng
-                  libtool
-                  libXaw
-                  libXext
-                  libXft
-                  libXrender
-                  libXt
-                  libXmu
-                  mesa
-                  pkgconfig
-                  which
-                ];
+  # Various racket executables do run-time searches for these.
+  ffiSharedLibs = "${glib}/lib:${cairo}/lib:${pango}/lib:${gtk}/lib:${libjpeg}/lib:${libpng}/lib";
+
+  buildInputs = [ file libtool which makeWrapper fontconfig liberation_ttf ];
 
   preConfigure = ''
+    export LD_LIBRARY_PATH=${ffiSharedLibs}:$LD_LIBRARY_PATH
+
+    # Chroot builds do not have access to /etc/fonts/fonts.conf, but the Racket bootstrap
+    # needs a working fontconfig, so here a simple standin is used.
+    mkdir chroot-fontconfig
+    cat ${fontconfig}/etc/fonts/fonts.conf > chroot-fontconfig/fonts.conf
+    sed -e 's@</fontconfig>@@' -i chroot-fontconfig/fonts.conf
+    echo "<dir>${liberation_ttf}</dir>" >> chroot-fontconfig/fonts.conf
+    echo "</fontconfig>" >> chroot-fontconfig/fonts.conf
+   
+    export FONTCONFIG_FILE=$(pwd)/chroot-fontconfig/fonts.conf
+
     cd src
     sed -e 's@/usr/bin/uname@'"$(which uname)"'@g' -i configure
     sed -e 's@/usr/bin/file@'"$(which file)"'@g' -i foreign/libffi/configure 
@@ -36,6 +37,12 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--enable-shared" "--enable-lt=${libtool}/bin/libtool" ];
 
+  postInstall = ''
+    for p in $(ls $out/bin/) ; do
+      wrapProgram $out/bin/$p --prefix LD_LIBRARY_PATH ":" "${ffiSharedLibs}" ;
+    done
+  '';
+
   meta = {
     description = "Racket (formerly called PLT Scheme) is a programming language derived from Scheme.";
     longDescription = ''
diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix
index 12f4759f85d8..fcd57205dcfe 100644
--- a/pkgs/development/interpreters/ruby/default.nix
+++ b/pkgs/development/interpreters/ruby/default.nix
@@ -12,15 +12,18 @@ let
 in
 
 stdenv.mkDerivation rec {
-  version = "1.8.7-p302";
+  version = with passthru; "${majorVersion}.${minorVersion}-p${patchLevel}";
   
   name = "ruby-${version}";
   
   src = fetchurl {
     url = "ftp://ftp.ruby-lang.org/pub/ruby/1.8/${name}.tar.gz";
-    sha256 = "18a4w0n1n0sij7gkb3196dnqav5zr0c5p26f08k7cw6y0i9dz0sq";
+    sha256 = "0qf50wa1ziziagnxarj8z6yrsivrhchq1j9017ff3z2z7d31l9kc";
   };
 
+  # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
+  NROFF = "${groff}/bin/nroff";
+
   buildInputs = (ops cursesSupport [ ncurses readline ] )
     ++ (op docSupport groff )
     ++ (op zlibSupport zlib)
@@ -30,6 +33,8 @@ stdenv.mkDerivation rec {
   configureFlags = ["--enable-shared" "--enable-pthread"];
 
   installFlags = stdenv.lib.optionalString docSupport "install-doc";
+  # Bundler tries to create this directory
+  postInstall = "mkdir -pv $out/${passthru.gemPath}";
 
   meta = {
     license = "Ruby";
@@ -37,8 +42,11 @@ stdenv.mkDerivation rec {
     description = "The Ruby language";
   };
 
-  passthru = {
-    # install ruby libs into "$out/${ruby.libPath}"
-    libPath = "lib/ruby-1.8";
+  passthru = rec {
+    majorVersion = "1.8";
+    minorVersion = "7";
+    patchLevel = "330";
+    libPath = "lib/ruby/${majorVersion}";
+    gemPath = "lib/ruby/gems/${majorVersion}";
   };
 }
diff --git a/pkgs/development/interpreters/ruby/gem.nix b/pkgs/development/interpreters/ruby/gem.nix
new file mode 100644
index 000000000000..289f840aa04b
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/gem.nix
@@ -0,0 +1,52 @@
+{stdenv, fetchurl, ruby, rubygems, makeWrapper, patches, overrides}:
+
+let
+  gemDefaults = { name, basename, requiredGems, sha256, meta }:
+  {
+    buildInputs = [rubygems ruby makeWrapper];
+    unpackPhase = ":";
+    configurePhase=":";
+    bulidPhase=":";
+
+    src = fetchurl {
+      url = "http://rubygems.org/downloads/${name}.gem";
+      inherit sha256;
+    };
+
+    name = "ruby-${name}";
+
+    propagatedBuildInputs = requiredGems;
+    inherit meta;
+
+    installPhase = ''
+      export HOME=$TMP/home; mkdir -pv "$HOME"
+
+      gem install -V --ignore-dependencies \
+      -i "$out/${ruby.gemPath}" -n "$out/bin" "$src" $gemFlags -- $buildFlags
+      rm -frv $out/${ruby.gemPath}/cache # don't keep the .gem file here
+
+      addToSearchPath GEM_PATH $out/${ruby.gemPath}
+
+      for prog in $out/bin/*; do
+        wrapProgram "$prog" \
+          --prefix GEM_PATH : "$GEM_PATH" \
+          --prefix RUBYLIB : "${rubygems}/lib" \
+          --set RUBYOPT 'rubygems'
+      done
+
+      for prog in $out/gems/*/bin/*; do
+        [[ -e "$out/bin/$(basename $prog)" ]]
+      done
+
+      runHook postInstall
+    '';
+  };
+  mb = stdenv.lib.maybeAttr;
+  patchedGem = a: stdenv.mkDerivation (removeAttrs (stdenv.lib.mergeAttrsByFuncDefaults
+      ([ (gemDefaults a) ]
+      ++ (stdenv.lib.concatMap (p: [(mb a.basename {} p) (mb a.name {} p)] )
+      patches)))
+    [ "mergeAttrBy" ]);
+in
+aName: a@{ name, basename, requiredGems, sha256, meta }:
+  stdenv.lib.foldl (d: o: mb name (mb basename d o) o) (patchedGem a) overrides
diff --git a/pkgs/development/interpreters/ruby/gem_hook.patch b/pkgs/development/interpreters/ruby/gem_hook.patch
new file mode 100644
index 000000000000..07f942f505e5
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/gem_hook.patch
@@ -0,0 +1,18 @@
+diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb
+index d1ef3cb..bf15652 100755
+--- a/lib/rubygems/installer.rb
++++ b/lib/rubygems/installer.rb
+@@ -545,6 +545,13 @@ Results logged to #{File.join(Dir.pwd, 'gem_make.out')}
+ 
+       say path if Gem.configuration.really_verbose
+     end
++
++    if !ENV['NIX_POST_EXTRACT_FILES_HOOK'].nil?
++      print "\nrunning NIX_POST_EXTRACT_FILES_HOOK #{ENV['NIX_POST_EXTRACT_FILES_HOOK']} #{@gem_dir}\n"
++      print `#{ENV['NIX_POST_EXTRACT_FILES_HOOK']} #{@gem_dir}`
++      print "\nrunning NIX_POST_EXTRACT_FILES_HOOK done\n"
++    end
++
+   end
+ 
+   ##
diff --git a/pkgs/development/interpreters/ruby/gem_nix_command.patch b/pkgs/development/interpreters/ruby/gem_nix_command.patch
deleted file mode 100644
index 988949608401..000000000000
--- a/pkgs/development/interpreters/ruby/gem_nix_command.patch
+++ /dev/null
@@ -1,266 +0,0 @@
-diff --git a/lib/rubygems/command_manager.rb b/lib/rubygems/command_manager.rb
-index 0a19016..ef66d30 100755
---- a/lib/rubygems/command_manager.rb
-+++ b/lib/rubygems/command_manager.rb
-@@ -70,6 +70,7 @@ class Gem::CommandManager
-     register_command :unpack
-     register_command :update
-     register_command :which
-+    register_command :nix
-   end
- 
-   ##
-
-diff --git a/lib/rubygems/commands/nix_command.rb b/lib/rubygems/commands/nix_command.rb
-new file mode 100644
-index 0000000..24f3479
---- /dev/null
-+++ b/lib/rubygems/commands/nix_command.rb
-@@ -0,0 +1,228 @@
-+require 'net/http'
-+require 'rubygems/command'
-+require 'rubygems/doc_manager'
-+require 'rubygems/install_update_options'
-+require 'rubygems/dependency_installer'
-+require 'rubygems/local_remote_options'
-+require 'rubygems/validator'
-+require 'rubygems/exceptions'
-+require 'rubygems/version_option'
-+require 'rubygems/version'
-+require 'open3'
-+
-+
-+def nixname(gem)
-+  s = "#{gem}" == gem ? gem : gem.full_name
-+  s.gsub(/[.-]/,'_')
-+end
-+
-+def nixdescription(spec)
-+  desc_from_spec = spec.description
-+  desc = desc_from_spec.sub(/[.].*/,'') # only keep first sentence
-+  desc = desc.length > 120 \
-+    ? "description = ''#{ desc[0..120] }''; # cut to 120 chars" \
-+    : "description = ''#{ desc }'';"
-+  desc = desc.sub(/'';$/,"[...]'';") if desc != desc_from_spec
-+  desc.gsub("\n"," ") # no \ns in description
-+end
-+
-+##
-+# tool creating nix expression to install gems (from ruby forge etc)
-+#
-+# this is work in progress
-+
-+class Gem::Commands::NixCommand < Gem::Command
-+
-+  include Gem::VersionOption
-+  include Gem::LocalRemoteOptions
-+  include Gem::InstallUpdateOptions
-+
-+  def initialize
-+    defaults = Gem::DependencyInstaller::DEFAULT_OPTIONS.merge({
-+    })
-+    super 'nix', 'create a nix file containing expressions of the gems', defaults
-+  end
-+
-+  def description # :nodoc:
-+    <<-EOF
-+      create a nix file containing expressions of the gems
-+      There are many gems. So it's best to only specify some target gems and
-+      take them into acocunt with their deps
-+      TODO more details
-+    EOF
-+  end
-+
-+  def usage # :nodoc:
-+    "#{program_name} GEMNAME [GEMNAME ...] [options] -- --build-flags"
-+  end
-+
-+  def arguments # :nodoc:
-+    "GEMNAME       name of gem to be added to the expressions file"
-+  end
-+
-+  def defaults_str # :nodoc:
-+    # what to put in here ? TODO (probably nothing is ok)
-+    ""
-+  end
-+
-+  def execute
-+
-+    begin
-+      @prerelease = false;
-+
-+      args = options[:args];
-+
-+      @gems_with_deps = {}
-+      @seen = {}
-+
-+      # args to dep informations
-+      args.map { |arg|
-+        if arg =~ /(.+)-?(.*)?/ then
-+          gem_name = $1
-+          version =  $2.empty? ?  Gem::Requirement.default : Gem::Version.new($2)
-+        else
-+          raise Gem::CommandLineError, "could'nt parse arg. expected: name or name-version"
-+        end
-+
-+        warn "adding #{gem_name}\n"
-+
-+        adddep(Gem::Dependency.new gem_name, version)
-+      }
-+
-+      warn " total: #{@gems_with_deps.length}"
-+
-+
-+      out = "
-+         # WARNING: automatically generated CODE
-+         # This section has been generated by gem nix #{args.join(" ")}
-+         # the gem nix command has been added by a nix patch to ruby gems
-+      "
-+      # define aliases
-+      aliases = {}
-+      @gems_with_deps.each{ |key, (spec, src, deps)|
-+        aliases[spec.name] = spec \
-+          if aliases[spec.name].nil? || aliases[spec.name].version < spec.version
-+
-+           src_url = "http://gems.rubyforge.org/gems/#{spec.full_name}.gem"
-+
-+         # [> get true mirror url reading redirect contents
-+         #  h = Net::HTTP.new('gems.rubyforge.org', 80)
-+         #  resp, data = h.get("/gems/#{spec.full_name}.gem", nil)
-+         #  if resp.code == "200" then
-+         #    src_url = "http://gems.rubyforge.org/gems/#{spec.full_name}.gem"
-+         #  else if resp.code == "302" then
-+         #      src_url = resp['location']
-+         #      print "redirection: http://gems.rubyforge.org/gems/#{spec.full_name}.gem -> #{src_url}\n"
-+         #    else
-+         #      raise Gem::DependencyError.new("unkown http return code #{resp} #{data}")
-+         #    end
-+         #  end
-+
-+         #raise Gem::DependencyError("src_url is nil, 302 redirection failed?") if src_url.nil?
-+
-+         out += "
-+  #{nixname spec} = rubyDerivation {
-+     name = \"ruby-#{spec.full_name}\"; # full_name
-+     nameNoVersion = \"#{nixname spec.name}\";
-+     propagatedBuildInputs = [ #{deps.map {|n| n.nil? ? "" : (nixname n) }.join(" ")} ];
-+     src = fetchurl {
-+       url = \"#{src_url}\";
-+       sha256 = \"#{nixhashof src_url}\";
-+     };
-+     meta = {
-+       homepage = \"#{spec.homepage}\";
-+       license = [#{spec.licenses.map{|l| "\"#{l}\""}.join(" ") }]; # one of ?
-+       #{nixdescription spec}
-+       longDescription = ''#{ spec.description }'';
-+     };
-+  };\n"
-+      }
-+
-+      out += "\n# aliases\n"
-+      aliases.each { |key, spec |
-+        out += "#{nixname key}=#{nixname spec};\n"
-+      }
-+
-+      print out
-+      exit_code = 0
-+
-+    rescue => e
-+      puts e.inspect
-+      puts e.backtrace
-+    end
-+
-+
-+  end
-+
-+  # helper funtions ================
-+  
-+  def adddep(dep)
-+    gem = find_gem_with_source(dep)
-+    raise Gem::CommandLineError, "couldn't find #{dep}" if gem.nil?
-+    full_name = gem[0].full_name
-+
-+    return if @seen[full_name]
-+    @seen[full_name] = true # there maybe circular dependencies. thus mark this gem seen as early as possible
-+
-+    # development deps can't be found. Some are old. Thus only add rutime dependencies
-+    deps = gem[0].dependencies.find_all { |d| d.type == :runtime }
-+
-+    warn " total deps of #{full_name}: #{deps.length}"
-+
-+    dep_specs = []
-+    # recurse while collecting deps
-+    deps.each {|dep_var| dep_specs.push(adddep(dep_var)) }
-+    
-+
-+    @gems_with_deps[full_name] = [
-+      gem[0], # spec
-+      gem[1], # src
-+      dep_specs # deps
-+    ]
-+    gem[0] # only return spec, no source for dep list
-+  end
-+
-+
-+  # copied from dependency_installer, stripped
-+  def find_gem_with_source(dep)
-+    gems_and_sources = []
-+
-+    # no local 
-+
-+      requirements = dep.version_requirements.requirements.map do |req, ver|
-+        req
-+      end
-+
-+      all = true
-+      found = Gem::SpecFetcher.fetcher.fetch dep, all, true, @prerelease
-+      found.reverse[0]
-+  end
-+
-+
-+  def nixhashof(src)
-+    cashfile="#{ENV['HOME']}/.nix-ruby-gems-cache"
-+    cash = {}
-+    if FileTest.exists?(cashfile)
-+      File.open(cashfile,'r') do |f| Marshal.load(f) end
-+    end
-+
-+    if cash[src].nil? then
-+      tmp="/tmp/ruby-gems-nix-tmp-file"
-+      system("nix-prefetch-url #{src.gsub(/([:= `$;])/,'\\\\\1')} > #{tmp} 2>/dev/null")
-+      if $? == 0
-+        file = File.new(tmp)
-+        hash = file.readlines().first().split("\n")[0] # remove trailing \n
-+        file.close()
-+        File.delete(tmp)
-+        cash[src] = hash
-+      else
-+        cash[src] = "no hash"
-+      end
-+
-+      File.open(cashfile, "w+") do |f| Marshal.dump(cash, f) end
-+    end
-+
-+    return cash[src]
-+  end
-+
-+end
-
-diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb
-index d1ef3cb..bf15652 100755
---- a/lib/rubygems/installer.rb
-+++ b/lib/rubygems/installer.rb
-@@ -545,6 +545,13 @@ Results logged to #{File.join(Dir.pwd, 'gem_make.out')}
- 
-       say path if Gem.configuration.really_verbose
-     end
-+
-+    if !ENV['NIX_POST_EXTRACT_FILES_HOOK'].nil?
-+      print "\nrunning NIX_POST_EXTRACT_FILES_HOOK #{ENV['NIX_POST_EXTRACT_FILES_HOOK']} #{@gem_dir}\n"
-+      print `#{ENV['NIX_POST_EXTRACT_FILES_HOOK']} #{@gem_dir}`
-+      print "\nrunning NIX_POST_EXTRACT_FILES_HOOK done\n"
-+    end
-+
-   end
- 
-   ##
diff --git a/pkgs/development/interpreters/ruby/gems.nix b/pkgs/development/interpreters/ruby/gems.nix
deleted file mode 100644
index d979fbe2d196..000000000000
--- a/pkgs/development/interpreters/ruby/gems.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-args : with args; 
-rec {
-
-  # some packages (eg ruby-debug) still require 1.8. So let's stick to that for
-  # now if nobody has different requirements
-
-  version = "1.3.7";
-  src = fetchurl {
-    url = "http://production.cf.rubygems.org/rubygems/${name}.tgz";
-    sha256 = "17bwlqxqrjrial111rn395yjx9wyxrmvmj0hgd85bxkkcap912rq";
-  };
-
-
-  buildInputs = [ruby makeWrapper];
-  configureFlags = [];
-
-  doInstall = fullDepEntry (''
-    ruby setup.rb --prefix=$out/
-    wrapProgram $out/bin/gem --prefix RUBYLIB : $out/lib:$out/lib
-    find $out -type f -name "*.rb" | xargs sed -i "s@/usr/bin/env@$(type -p env)@g"
-  '') ["minInit" "addInputs" "doUnpack" "defEnsureDir"];
-
-  /* doConfigure should be specified separately */
-  phaseNames = ["doPatch" "doInstall"];
-      
-  name = "rubygems-" + version;
-  meta = {
-    description = "Ruby gems package collection";
-    longDescription = ''
-      see comment in rubyLibs to get to know how to use ruby gems in nix
-    '';
-  };
-
-  # TODO don't resolve 302 redirects but make nix resolve in fetchurl and
-  # nix-prefetch-url. This should be done on stdenv-updates.
-  patches = [ ./gem_nix_command.patch /* see longDescription above */ ];
-}
diff --git a/pkgs/development/interpreters/ruby/generated.nix b/pkgs/development/interpreters/ruby/generated.nix
new file mode 100644
index 000000000000..f806bc8a9333
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/generated.nix
@@ -0,0 +1,34 @@
+# WARNING: automatically generated file
+# Generated by 'gem nix' command that comes from 'nix' gem
+g: # Get dependencies from patched gems
+{
+  aliases = {
+    nix = g.nix_0_1;
+    rake = g.rake_0_8_7;
+  };
+  gem_nix_args = [ ''nix'' ''rake'' ];
+  gems = {
+    nix_0_1 = {
+      basename = ''nix'';
+      meta = {
+        description = ''Nix package manager interface'';
+        homepage = ''http://gitorious.org/ruby-nix'';
+        longDescription = ''Adds 'gem nix' command that dumps given set of gems to format suitable for Nix package manager'';
+      };
+      name = ''nix-0.1'';
+      requiredGems = [  ];
+      sha256 = ''16lc3yfjcsm1s5jjfazlwia1vhy6x401f0mam79r2qkcic70xnap'';
+    };
+    rake_0_8_7 = {
+      basename = ''rake'';
+      meta = {
+        description = ''Ruby based make-like utility.'';
+        homepage = ''http://rake.rubyforge.org'';
+        longDescription = ''Rake is a Make-like program implemented in Ruby. Tasks and dependencies are specified in standard Ruby syntax.'';
+      };
+      name = ''rake-0.8.7'';
+      requiredGems = [  ];
+      sha256 = ''03z1zm7xwl2r9v945ambwbd9sn2smbi34xldmac7qjcmsvd7pcqh'';
+    };
+  };
+}
diff --git a/pkgs/development/interpreters/ruby/libs.nix b/pkgs/development/interpreters/ruby/libs.nix
index 8cbc25c2a47b..d0b6401abc29 100644
--- a/pkgs/development/interpreters/ruby/libs.nix
+++ b/pkgs/development/interpreters/ruby/libs.nix
@@ -1,1160 +1,33 @@
-/* libraries and applications from rubyforge
+{stdenv, getConfig, fetchurl, callPackage}:
 
-  run
-    $gem nix $EXSTING_TARGETS new-target-package
-
-  EXSTING_TARGETS can be looked up below after "has been generated by "
-
-  Don't forget add
-  export GEM_PATH=~/.nix/profile
-  export RUBYLIB=~/.nix-profile/gems/rubygems-update-1.3.4/lib/
-  export RUBYOPT=rubygems
-  to your .bashrc
-*/
-
-{pkgs, stdenv}:
-let libs =
-  let 
-    inherit (pkgs) fetchurl sourceFromHead writeScript makeWrapper;
-    ruby = pkgs.ruby; # select ruby version here
-    rubygems = pkgs.rubygemsFun ruby; # for bootstrapping
-    inherit (pkgs.lib) mergeAttrsByFuncDefaults optional;
-    inherit (builtins) hasAttr getAttr;
-
-    patchUsrBinEnv = writeScript "path-usr-bin-env" ''
-      #!/bin/sh
-      set -x
-      echo "==================="
-      find "$1" -type f -name "*.rb" | xargs sed -i "s@/usr/bin/env@$(type -p env)@g"
-      find "$1" -type f -name "*.mk" | xargs sed -i "s@/usr/bin/env@$(type -p env)@g"
-    '';
-
-    # these settings are merged into the automatically generated settings
-    # either the nameNoVersion or name must match
-    patches = {
-      sup = {
-        buildInputs = [ pkgs.ncurses pkgs.xapianBindings libs.ncursesw ];
-      };
-      sqlite3_ruby = { propagatedBuildInputs = [ pkgs.sqlite ]; };
-      rails = {
-        gemFlags = "--no-ri --no-rdoc";
-        propagatedBuildInputs = [ libs.mime_types libs.rake ];
-      };
-      ncurses = { buildInputs = [ pkgs.ncurses ]; };
-      ncursesw = { buildInputs = [ pkgs.ncurses ]; };
-      nokogiri = {
-        buildFlags=["--with-xml2-dir=${pkgs.libxml2} --with-xml2-include=${pkgs.libxml2}/include/libxml2"
-                    "--with-xslt-dir=${pkgs.libxslt}" ];
-      };
-
-      ffi = {
-        postUnpack = "onetuh";
-        propagatedBuildInputs = [ libs.rake ];
-        buildFlags=["--with-ffi-dir=${pkgs.libffi}"];
-        NIX_POST_EXTRACT_FILES_HOOK = patchUsrBinEnv;
-      };
-
-      xrefresh_server =
-      let patch = fetchurl {
-          url = "http://mawercer.de/~nix/xrefresh.diff.gz";
-          sha256 = "1f7bnmn1pgkmkml0ms15m5lx880hq2sxy7vsddb3sbzm7n1yyicq";
-        };
-      in {
-        propagatedBuildInputs = [ libs.rb_inotify ];
-
-        # monitor implementation for Linux
-        postInstall = ''
-          cd $out/gems/*;
-          cat ${patch} | gunzip | patch -p 1;
-        '';
-      };
-
-      xapian_full = {
-        buildInputs = [ libs.rake pkgs.zlib pkgs.libuuid ];
-      };
+let
+  inherit (stdenv.lib) fold optional;
+  gemsMergeableFun = { generatedFuns ? [], patchFuns ? [], overrideFuns ? [] }:
+  let
+    generatedAttrs = map (f: f customGems) generatedFuns;
+    generatedGems = map (a: a.gems) generatedAttrs;
+    gem = callPackage ./gem.nix {
+      patches = map (f: callPackage f { inherit gems; }) patchFuns;
+      overrides = map (f: callPackage f { }) overrideFuns;
     };
-
-    rubyDerivation = args :
-      let completeArgs = (mergeAttrsByFuncDefaults 
-          ([{
-            buildInputs = [rubygems ruby pkgs.makeWrapper];
-            unpackPhase = ":";
-            configurePhase=":";
-            bulidPhase=":";
-
-            # TODO add some abstraction for this kind of env path concatenation. It's used multiple times
-            installPhase = ''
-              ensureDir "$out/nix-support"
-              export HOME=$TMP/home; mkdir "$HOME"
-
-              gem install -V --ignore-dependencies -i "$out" "$src" $gemFlags -- $buildFlags
-              rm -fr $out/cache # don't keep the .gem file here
-
-              THIS_RUBY_LIB=$(echo $out/gems/*/lib)
-              THIS_GEM_PATH=$out
-
-              cat >> $out/nix-support/setup-hook << EOF 
-                declare -A RUBYLIB_HASH # using bash4 hashs
-                declare -A GEM_PATH_HASH # using bash4 hashs
-
-                if [ -n "$THIS_RUBY_LIB" ]; then
-                  RUBYLIB_HASH["$THIS_RUBY_LIB"]=
-                fi
-                for path in \''${!RUBYLIB_HASH[@]}; do
-                  export RUBYLIB=\''${RUBYLIB}\''${RUBYLIB:+:}\$path
-                done
-                GEM_PATH_HASH["$THIS_GEM_PATH"]=
-                for path in \''${!GEM_PATH_HASH[@]}; do
-                  export GEM_PATH=\''${GEM_PATH}\''${GEM_PATH:+:}\$path
-                done
-              EOF
-              . $out/nix-support/setup-hook
-
-              for prog in $out/bin/*; do
-                wrapProgram "$prog" \
-                  --prefix RUBYLIB : "$RUBYLIB":${rubygems}/lib \
-                  --prefix GEM_PATH : "$GEM_PATH" \
-                  --set RUBYOPT 'rubygems'
-              done
-
-              for prog in $out/gems/*/bin/*; do
-                [ -e "$out/bin/$(basename $prog)" ] && continue || true
-                sed -i '1s@.*@#!  ${ruby}/bin/ruby@' "$prog"
-                t="$out/bin/$(basename "$prog")"
-                cat >> "$t" << EOF
-              #!/bin/sh
-              export GEM_PATH=$GEM_PATH:\$GEM_PATH
-              #export RUBYLIB=$RUBYLIB:\$RUBYLIB
-              exec $(type -p ruby) $prog "\$@"
-              EOF
-                chmod +x "$t"
-              done
-
-              runHook postInstall
-            '';
-
-
-          } args ]
-            ++ optional (hasAttr args.name patches) (getAttr args.name patches)
-            ++ optional (hasAttr args.nameNoVersion patches) (getAttr args.nameNoVersion patches)
-          )); in stdenv.mkDerivation (removeAttrs completeArgs ["mergeAttrBy"]);
+    customGems = stdenv.lib.mapAttrs gem (fold (x: y: x // y) { } generatedGems);
+    gems = fold (x: y: x // y) customGems (map (a: a.aliases) generatedAttrs);
   in
-  rec {
-
-  # ================ START automatically generated code ================
-
-         # WARNING: automatically generated CODE
-         # This section has been generated by gem nix sup chronic rubygems-update xrefresh-server rb-inotify jeweler ncursesw sqlite3-ruby rails haml bundler rake rails3-generators enumerated_attribute haml-rails jquery-rails
-         # the gem nix command has been added by a nix patch to ruby gems
-      
-  rails3_generators_0_13_0 = rubyDerivation {
-     name = "ruby-rails3-generators-0.13.0"; # full_name
-     nameNoVersion = "rails3_generators";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/rails3-generators-0.13.0.gem";
-       sha256 = "0g7qylily8dkllyy201kgyczm303dmg5r64zy49isccq63iq6k3c";
-     };
-     meta = {
-       homepage = "http://github.com/indirect/rails3-generators";
-       license = []; # one of ?
-       description = ''Rails 3 compatible generators for DataMapper, Factory-girl, Authlogic, Mongomapper, Mongoid, Shoulda, Formtastic and Simp''; # cut to 120 chars
-       longDescription = ''Rails 3 compatible generators for DataMapper, Factory-girl, Authlogic, Mongomapper, Mongoid, Shoulda, Formtastic and SimpleForm'';
-     };
+  gems // {
+    merge = { generated ? null, patches ? null, overrides ? null }:
+      gemsMergeableFun {
+        generatedFuns = generatedFuns ++ optional (generated != null) generated;
+        patchFuns = patchFuns ++ optional (patches != null) patches;
+        overrideFuns = overrideFuns ++ optional (overrides != null) overrides;
+      };
   };
-
-  builder_2_1_2 = rubyDerivation {
-     name = "ruby-builder-2.1.2"; # full_name
-     nameNoVersion = "builder";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/builder-2.1.2.gem";
-       sha256 = "0hp5gsvp63mqqvi7dl95zwci916vj6l1slgz4crip1rijk3v2806";
-     };
-     meta = {
-       homepage = "http://onestepback.org";
-       license = []; # one of ?
-       description = ''Builder provides a number of builder objects that make creating structured data simple to do[...]'';
-       longDescription = ''Builder provides a number of builder objects that make creating structured data simple to do.  Currently the following builder objects are supported:  * XML Markup * XML Events'';
-     };
-  };
-
-  rake_0_8_7 = rubyDerivation {
-     name = "ruby-rake-0.8.7"; # full_name
-     nameNoVersion = "rake";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/rake-0.8.7.gem";
-       sha256 = "03z1zm7xwl2r9v945ambwbd9sn2smbi34xldmac7qjcmsvd7pcqh";
-     };
-     meta = {
-       homepage = "http://rake.rubyforge.org";
-       license = []; # one of ?
-       description = ''Rake is a Make-like program implemented in Ruby[...]'';
-       longDescription = ''Rake is a Make-like program implemented in Ruby. Tasks and dependencies are specified in standard Ruby syntax.'';
-     };
-  };
-
-  haml_rails_0_2 = rubyDerivation {
-     name = "ruby-haml-rails-0.2"; # full_name
-     nameNoVersion = "haml_rails";
-     propagatedBuildInputs = [   ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/haml-rails-0.2.gem";
-       sha256 = "132lfx6vqiphbbhxfzss5qny92yzfbpyj0qk7dn3q5y7irvp5wha";
-     };
-     meta = {
-       homepage = "http://github.com/indirect/haml-rails";
-       license = []; # one of ?
-       description = ''Haml-rails provides Haml generators for Rails 3[...]'';
-       longDescription = ''Haml-rails provides Haml generators for Rails 3. It also enables Haml as the templating engine for you, so you don't have to screw around in your own application.rb when your Gemfile already clearly indicated what templating engine you have installed. Hurrah.'';
-     };
-  };
-
-  meta_programming_0_2_2 = rubyDerivation {
-     name = "ruby-meta_programming-0.2.2"; # full_name
-     nameNoVersion = "meta_programming";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/meta_programming-0.2.2.gem";
-       sha256 = "0k32z7ndfpravrz3hihg96x3wcdfrzsdj2pg48zkcb3gb428f2av";
-     };
-     meta = {
-       homepage = "http://github.com/jeffp/meta_programming/tree/master";
-       license = []; # one of ?
-       description = ''Collection of meta-programming methods for Ruby[...]'';
-       longDescription = ''Collection of meta-programming methods for Ruby'';
-     };
-  };
-
-  haml_3_0_18 = rubyDerivation {
-     name = "ruby-haml-3.0.18"; # full_name
-     nameNoVersion = "haml";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/haml-3.0.18.gem";
-       sha256 = "1bi951vk6fkxcc4dakwmcgbqf72zhr5bna9p8a4q4ajn3arvnq7y";
-     };
-     meta = {
-       homepage = "http://haml-lang.com/";
-       license = []; # one of ?
-       description = ''      Haml (HTML Abstraction Markup Language) is a layer on top of XHTML or XML       that's designed to express the stru''; # cut to 120 chars
-       longDescription = ''      Haml (HTML Abstraction Markup Language) is a layer on top of XHTML or XML
-      that's designed to express the structure of XHTML or XML documents
-      in a non-repetitive, elegant, easy way,
-      using indentation rather than closing tags
-      and allowing Ruby to be embedded with ease.
-      It was originally envisioned as a plugin for Ruby on Rails,
-      but it can function as a stand-alone templating engine.
-'';
-     };
-  };
-
-  polyglot_0_3_1 = rubyDerivation {
-     name = "ruby-polyglot-0.3.1"; # full_name
-     nameNoVersion = "polyglot";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/polyglot-0.3.1.gem";
-       sha256 = "1shk5hqnz7hg14y2ms16mcwd2p546wq57pci5m26qg64m28gz4xg";
-     };
-     meta = {
-       homepage = "http://polyglot.rubyforge.org";
-       license = []; # one of ?
-       description = ''Allows custom language loaders for specified file extensions to be hooked into require[...]'';
-       longDescription = ''Allows custom language loaders for specified file extensions to be hooked into require'';
-     };
-  };
-
-  arel_1_0_1 = rubyDerivation {
-     name = "ruby-arel-1.0.1"; # full_name
-     nameNoVersion = "arel";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/arel-1.0.1.gem";
-       sha256 = "117j8z0clq8001jqk4aajq3whxzn5fan4ivdsbjvcdba2wfhd7z0";
-     };
-     meta = {
-       homepage = "http://github.com/brynary/arel";
-       license = []; # one of ?
-       description = ''Arel is a Relational Algebra for Ruby of SQL queries and it 2) adapts to various RDBMS systems. It is intended to be a fr''; # cut to 120 chars
-       longDescription = ''Arel is a Relational Algebra for Ruby. It 1) simplifies the generation complex
-of SQL queries and it 2) adapts to various RDBMS systems. It is intended to be
-a framework framework; that is, you can build your own ORM with it, focusing on
-innovative object and collection modeling as opposed to database compatibility
-and query generation.'';
-     };
-  };
-
-  abstract_1_0_0 = rubyDerivation {
-     name = "ruby-abstract-1.0.0"; # full_name
-     nameNoVersion = "abstract";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/abstract-1.0.0.gem";
-       sha256 = "1gizb9kzwf3c6xip7fwa818b98c72x4jlhbm808s5pwdjbqw3h9k";
-     };
-     meta = {
-       homepage = "http://rubyforge.org/projects/abstract";
-       license = []; # one of ?
-       description = '''abstract[...]'';
-       longDescription = '''abstract.rb' is a library which enable you to define abstract method in Ruby.'';
-     };
-  };
-
-  sqlite3_ruby_1_3_1 = rubyDerivation {
-     name = "ruby-sqlite3-ruby-1.3.1"; # full_name
-     nameNoVersion = "sqlite3_ruby";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/sqlite3-ruby-1.3.1.gem";
-       sha256 = "17ci8jgnzda091my53x0qnapy673fx55fd1agf5xdkylzwb00v9q";
-     };
-     meta = {
-       homepage = "http://github.com/luislavena/sqlite3-ruby";
-       license = []; # one of ?
-       description = ''This module allows Ruby programs to interface with the SQLite3 database engine (http://www SQLite engine installed in ord''; # cut to 120 chars
-       longDescription = ''This module allows Ruby programs to interface with the SQLite3
-database engine (http://www.sqlite.org).  You must have the
-SQLite engine installed in order to build this module.
-
-Note that this module is NOT compatible with SQLite 2.x.'';
-     };
-  };
-
-  git_1_2_5 = rubyDerivation {
-     name = "ruby-git-1.2.5"; # full_name
-     nameNoVersion = "git";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/git-1.2.5.gem";
-       sha256 = "19dy8sakv4x7pnvjddqjyd4j74cji14wikhz95iaqqrc9n4z43hk";
-     };
-     meta = {
-       homepage = "http://github.com/schacon/ruby-git";
-       license = []; # one of ?
-       description = ''[...]'';
-       longDescription = '''';
-     };
-  };
-
-  rails_3_0_0 = rubyDerivation {
-     name = "ruby-rails-3.0.0"; # full_name
-     nameNoVersion = "rails";
-     propagatedBuildInputs = [ activesupport_3_0_0 actionpack_3_0_0 activerecord_3_0_0 activeresource_3_0_0 actionmailer_3_0_0 railties_3_0_0 bundler_1_0_0 ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/rails-3.0.0.gem";
-       sha256 = "1zjyijz5814vv1l5j4si66fcvf17jkfh6336mr4xh9vx0wa2r6js";
-     };
-     meta = {
-       homepage = "http://www.rubyonrails.org";
-       license = []; # one of ?
-       description = ''Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity[...]'';
-       longDescription = ''Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration.'';
-     };
-  };
-
-  treetop_1_4_8 = rubyDerivation {
-     name = "ruby-treetop-1.4.8"; # full_name
-     nameNoVersion = "treetop";
-     propagatedBuildInputs = [ polyglot_0_3_1 ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/treetop-1.4.8.gem";
-       sha256 = "10cg8dp4ljm6gfsdx9x20kk5c2vrmw5y25dfsy7s0pxn60f3s6qg";
-     };
-     meta = {
-       homepage = "http://functionalform.blogspot.com";
-       license = []; # one of ?
-       description = ''[...]'';
-       longDescription = '''';
-     };
-  };
-
-  rack_test_0_5_4 = rubyDerivation {
-     name = "ruby-rack-test-0.5.4"; # full_name
-     nameNoVersion = "rack_test";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/rack-test-0.5.4.gem";
-       sha256 = "0afkvjq45v61j2y3k9dfi4r6fnj26b4ky1ggn7sdk5asq7v6dmzx";
-     };
-     meta = {
-       homepage = "http://github.com/brynary/rack-test";
-       license = []; # one of ?
-       description = ''Rack::Test is a small, simple testing API for Rack apps own or as a reusable starting point for Web frameworks and testin''; # cut to 120 chars
-       longDescription = ''Rack::Test is a small, simple testing API for Rack apps. It can be used on its
-own or as a reusable starting point for Web frameworks and testing libraries
-to build on. Most of its initial functionality is an extraction of Merb 1.0's
-request helpers feature.'';
-     };
-  };
-
-  chronic_0_2_3 = rubyDerivation {
-     name = "ruby-chronic-0.2.3"; # full_name
-     nameNoVersion = "chronic";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/chronic-0.2.3.gem";
-       sha256 = "0gm4i9iwpvsk07nzvy8fmyad4y7i284vvdrxrlbgb23lr17qpl17";
-     };
-     meta = {
-       homepage = "	http://chronic.rubyforge.org/";
-       license = []; # one of ?
-       description = ''Chronic is a natural language date/time parser written in pure Ruby[...]'';
-       longDescription = ''Chronic is a natural language date/time parser written in pure Ruby. See below for the wide variety of formats Chronic will parse.'';
-     };
-  };
-
-  ncurses_0_9_1 = rubyDerivation {
-     name = "ruby-ncurses-0.9.1"; # full_name
-     nameNoVersion = "ncurses";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/ncurses-0.9.1.gem";
-       sha256 = "0j9k3rfxglkivwnpdkbfk4acfnivfisyj8f0msf3zkid4hnj4r2h";
-     };
-     meta = {
-       homepage = "http://ncurses-ruby.berlios.de/";
-       license = []; # one of ?
-       description = ''[...]'';
-       longDescription = '''';
-     };
-  };
-
-  xapian_full_1_1_3_4 = rubyDerivation {
-     name = "ruby-xapian-full-1.1.3.4"; # full_name
-     nameNoVersion = "xapian_full";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/xapian-full-1.1.3.4.gem";
-       sha256 = "0yc08y7v5yh0lfidc0rkr072q88jvp5prv7pllv4qn4wryna8mwl";
-     };
-     meta = {
-       homepage = "";
-       license = []; # one of ?
-       description = ''Xapian bindings for Ruby without dependency on system Xapian library[...]'';
-       longDescription = ''Xapian bindings for Ruby without dependency on system Xapian library'';
-     };
-  };
-
-  i18n_0_4_1 = rubyDerivation {
-     name = "ruby-i18n-0.4.1"; # full_name
-     nameNoVersion = "i18n";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/i18n-0.4.1.gem";
-       sha256 = "0haw8102610j2vydr52y64w2dqav6amda0ddwy6vp09rr6prazkq";
-     };
-     meta = {
-       homepage = "http://github.com/svenfuchs/i18n";
-       license = []; # one of ?
-       description = ''New wave Internationalization support for Ruby[...]'';
-       longDescription = ''New wave Internationalization support for Ruby.'';
-     };
-  };
-
-  ncursesw_1_2_4_1 = rubyDerivation {
-     name = "ruby-ncursesw-1.2.4.1"; # full_name
-     nameNoVersion = "ncursesw";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/ncursesw-1.2.4.1.gem";
-       sha256 = "0cn13h14pk8yds8aklpdcpzl0z6rqifpmaz4lw29g10lgwvfv409";
-     };
-     meta = {
-       homepage = "http://ncurses-ruby.berlios.de/";
-       license = []; # one of ?
-       description = ''Hacked up version of ncurses gem that supports wide characters and ruby1[...]'';
-       longDescription = ''Hacked up version of ncurses gem that supports wide characters and ruby1.9.1. Original ncurses gem by t-peters@users.berlios.de.'';
-     };
-  };
-
-  ffi_0_6_3 = rubyDerivation {
-     name = "ruby-ffi-0.6.3"; # full_name
-     nameNoVersion = "ffi";
-     propagatedBuildInputs = [ rake_0_8_7 ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/ffi-0.6.3.gem";
-       sha256 = "08qnxqcnjq4i2vv1jfwdxdlsphqjrrh7r0cw8x2q0x9vjd27ncbb";
-     };
-     meta = {
-       homepage = "http://wiki.github.com/ffi/ffi";
-       license = []; # one of ?
-       description = ''Ruby-FFI is a ruby extension for programmatically loading dynamic libraries, binding functions within them, and calling t''; # cut to 120 chars
-       longDescription = ''Ruby-FFI is a ruby extension for programmatically loading dynamic
-libraries, binding functions within them, and calling those functions
-from Ruby code. Moreover, a Ruby-FFI extension works without changes
-on Ruby and JRuby. Discover why should you write your next extension
-using Ruby-FFI here[http://wiki.github.com/ffi/ffi/why-use-ffi].'';
-     };
-  };
-
-  term_ansicolor_1_0_5 = rubyDerivation {
-     name = "ruby-term-ansicolor-1.0.5"; # full_name
-     nameNoVersion = "term_ansicolor";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/term-ansicolor-1.0.5.gem";
-       sha256 = "1xhcc4dkfylj14w413pmd8jhc04wj3nlw0xa6qy9h0fnbbyh6bc1";
-     };
-     meta = {
-       homepage = "http://flori.github.com/term-ansicolor";
-       license = []; # one of ?
-       description = ''[...]'';
-       longDescription = '''';
-     };
-  };
-
-  rubygems_update_1_3_7 = rubyDerivation {
-     name = "ruby-rubygems-update-1.3.7"; # full_name
-     nameNoVersion = "rubygems_update";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/rubygems-update-1.3.7.gem";
-       sha256 = "0378s1nvxmmwrl8l7yx9xglm5ks1lsdjr0ms3wx127q5hm07szdg";
-     };
-     meta = {
-       homepage = "http://rubygems.org/";
-       license = []; # one of ?
-       description = ''RubyGems is a package management framework for Ruby  This gem is an update for the RubyGems software. You must have an in''; # cut to 120 chars
-       longDescription = ''RubyGems is a package management framework for Ruby.
-
-This gem is an update for the RubyGems software. You must have an
-installation of RubyGems before this update can be applied.
-
-See Gem for information on RubyGems (or `ri Gem`)
-
-To upgrade to the latest RubyGems, run:
-
-  $ gem update --system  # you might need to be an administrator or root
-
-NOTE:  RubyGems 1.1 and 1.2 have problems upgrading when there is no
-rubygems-update installed.  You will need to use the following instructions
-if you see "Nothing to update".
-
-If you have an older version of RubyGems installed, then you can still
-do it in two steps:
-
-  $ gem install rubygems-update  # again, might need to be admin/root
-  $ update_rubygems              # ... here too
-
-If you don't have any RubyGems install, there is still the pre-gem approach to
-getting software, doing it manually:
-
-1. Download from: http://rubyforge.org/frs/?group_id=126
-2. Unpack into a directory and cd there
-3. Install with: ruby setup.rb  # you may need admin/root privilege
-
-For more details and other options, see:
-
-  ruby setup.rb --help'';
-     };
-  };
-
-  trollop_1_16_2 = rubyDerivation {
-     name = "ruby-trollop-1.16.2"; # full_name
-     nameNoVersion = "trollop";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/trollop-1.16.2.gem";
-       sha256 = "0frrp90dw266h3kf9g925dppir9l7p8jxknw6dn5nz6fa6c4g5lg";
-     };
-     meta = {
-       homepage = "http://trollop.rubyforge.org";
-       license = []; # one of ?
-       description = ''Trollop is a commandline option parser for Ruby that just gets out of your way For that, you get a nice automatically-gen''; # cut to 120 chars
-       longDescription = ''Trollop is a commandline option parser for Ruby that just
-gets out of your way. One line of code per option is all you need to write.
-For that, you get a nice automatically-generated help page, robust option
-parsing, command subcompletion, and sensible defaults for everything you don't
-specify.'';
-     };
-  };
-
-  enumerated_attribute_0_2_16 = rubyDerivation {
-     name = "ruby-enumerated_attribute-0.2.16"; # full_name
-     nameNoVersion = "enumerated_attribute";
-     propagatedBuildInputs = [ meta_programming_0_2_2 ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/enumerated_attribute-0.2.16.gem";
-       sha256 = "01m9jmim5dcyayv3pznrm1y152dd4jrp2jj89m18inbn5446dzqi";
-     };
-     meta = {
-       homepage = "http://github.com/jeffp/enumerated_attribute/tree/master";
-       license = []; # one of ?
-       description = ''Enumerated model attributes and view helpers[...]'';
-       longDescription = ''Enumerated model attributes and view helpers'';
-     };
-  };
-
-  railties_3_0_0 = rubyDerivation {
-     name = "ruby-railties-3.0.0"; # full_name
-     nameNoVersion = "railties";
-     propagatedBuildInputs = [  thor_0_14_0   ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/railties-3.0.0.gem";
-       sha256 = "0zj216hvs7yjlhjk0066d5rlm1csf2rarxx6c9bpxrmabnw1rb93";
-     };
-     meta = {
-       homepage = "http://www.rubyonrails.org";
-       license = []; # one of ?
-       description = ''Rails internals: application bootup, plugins, generators, and rake tasks[...]'';
-       longDescription = ''Rails internals: application bootup, plugins, generators, and rake tasks.'';
-     };
-  };
-
-  rack_mount_0_6_13 = rubyDerivation {
-     name = "ruby-rack-mount-0.6.13"; # full_name
-     nameNoVersion = "rack_mount";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/rack-mount-0.6.13.gem";
-       sha256 = "133dwla6hq6a75m0la7cm26d5hvlsi02vm4lvph73d6kqazry0y6";
-     };
-     meta = {
-       homepage = "http://github.com/josh/rack-mount";
-       license = []; # one of ?
-       description = ''Stackable dynamic tree based Rack router[...]'';
-       longDescription = ''Stackable dynamic tree based Rack router'';
-     };
-  };
-
-  activemodel_3_0_0 = rubyDerivation {
-     name = "ruby-activemodel-3.0.0"; # full_name
-     nameNoVersion = "activemodel";
-     propagatedBuildInputs = [  builder_2_1_2 i18n_0_4_1 ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/activemodel-3.0.0.gem";
-       sha256 = "1dp18ifh658pgdkq8fd32yw3hi99wk5in2c7pb3mjyabg4zg5mv6";
-     };
-     meta = {
-       homepage = "http://www.rubyonrails.org";
-       license = []; # one of ?
-       description = ''A toolkit for building modeling frameworks like Active Record and Active Resource[...]'';
-       longDescription = ''A toolkit for building modeling frameworks like Active Record and Active Resource. Rich support for attributes, callbacks, validations, observers, serialization, internationalization, and testing.'';
-     };
-  };
-
-  gettext_2_1_0 = rubyDerivation {
-     name = "ruby-gettext-2.1.0"; # full_name
-     nameNoVersion = "gettext";
-     propagatedBuildInputs = [ locale_2_0_5 ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/gettext-2.1.0.gem";
-       sha256 = "17g048gp7gh3c311l5jw2sbanma2havj4yqhaaa50b3rx72y4xwz";
-     };
-     meta = {
-       homepage = "http://gettext.rubyforge.org/";
-       license = []; # one of ?
-       description = ''        Ruby-GetText-Package is a GNU GetText-like program for Ruby         The catalog file(po-file) is same format with''; # cut to 120 chars
-       longDescription = ''        Ruby-GetText-Package is a GNU GetText-like program for Ruby.
-        The catalog file(po-file) is same format with GNU GetText.
-        So you can use GNU GetText tools for maintaining.
-'';
-     };
-  };
-
-  lockfile_1_4_3 = rubyDerivation {
-     name = "ruby-lockfile-1.4.3"; # full_name
-     nameNoVersion = "lockfile";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/lockfile-1.4.3.gem";
-       sha256 = "0cxbyvxr3s5xsx85yghcs69d4lwwj0pg5la5cz2fp12hkk2szab3";
-     };
-     meta = {
-       homepage = "http://codeforpeople.com/lib/ruby/lockfile/";
-       license = []; # one of ?
-       description = ''[...]'';
-       longDescription = '''';
-     };
-  };
-
-  thor_0_14_0 = rubyDerivation {
-     name = "ruby-thor-0.14.0"; # full_name
-     nameNoVersion = "thor";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/thor-0.14.0.gem";
-       sha256 = "115zxz418hmmsjk1sc2f19xzd74ap066qb7p1lh539q6zkalzrj1";
-     };
-     meta = {
-       homepage = "http://yehudakatz.com";
-       license = []; # one of ?
-       description = ''A scripting framework that replaces rake, sake and rubigen[...]'';
-       longDescription = ''A scripting framework that replaces rake, sake and rubigen'';
-     };
-  };
-
-  activerecord_3_0_0 = rubyDerivation {
-     name = "ruby-activerecord-3.0.0"; # full_name
-     nameNoVersion = "activerecord";
-     propagatedBuildInputs = [   arel_1_0_1  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/activerecord-3.0.0.gem";
-       sha256 = "1l2662myqbay37xpssna149rgqjq0fq670f1hpagmh1nr0fziwlr";
-     };
-     meta = {
-       homepage = "http://www.rubyonrails.org";
-       license = []; # one of ?
-       description = ''Databases on Rails[...]'';
-       longDescription = ''Databases on Rails. Build a persistent domain model by mapping database tables to Ruby classes. Strong conventions for associations, validations, aggregations, migrations, and testing come baked-in.'';
-     };
-  };
-
-  actionpack_3_0_0 = rubyDerivation {
-     name = "ruby-actionpack-3.0.0"; # full_name
-     nameNoVersion = "actionpack";
-     propagatedBuildInputs = [  activemodel_3_0_0   rack_1_2_1 rack_test_0_5_4 rack_mount_0_6_13 tzinfo_0_3_23 erubis_2_6_6 ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/actionpack-3.0.0.gem";
-       sha256 = "1qjmx3alkinnfi9mdvzz3cfsfj20kf6iqvhwia167l45wqd14s7z";
-     };
-     meta = {
-       homepage = "http://www.rubyonrails.org";
-       license = []; # one of ?
-       description = ''Web apps on Rails[...]'';
-       longDescription = ''Web apps on Rails. Simple, battle-tested conventions for building and testing MVC web applications. Works with any Rack-compatible server.'';
-     };
-  };
-
-  erubis_2_6_6 = rubyDerivation {
-     name = "ruby-erubis-2.6.6"; # full_name
-     nameNoVersion = "erubis";
-     propagatedBuildInputs = [ abstract_1_0_0 ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/erubis-2.6.6.gem";
-       sha256 = "19yd2a4zb371b8vi11hv4p4s4s9yzp6924frc0ar9hv5kbw3nxvm";
-     };
-     meta = {
-       homepage = "http://www.kuwata-lab.com/erubis/";
-       license = []; # one of ?
-       description = ''  Erubis is an implementation of eRuby and has the following features:    * Very fast, almost three times faster than ERB''; # cut to 120 chars
-       longDescription = ''  Erubis is an implementation of eRuby and has the following features:
-
-  * Very fast, almost three times faster than ERB and about 10% faster than eruby.
-  * Multi-language support (Ruby/PHP/C/Java/Scheme/Perl/Javascript)
-  * Auto escaping support
-  * Auto trimming spaces around '&lt;% %&gt;'
-  * Embedded pattern changeable (default '&lt;% %&gt;')
-  * Enable to handle Processing Instructions (PI) as embedded pattern (ex. '&lt;?rb ... ?&gt;')
-  * Context object available and easy to combine eRuby template with YAML datafile
-  * Print statement available
-  * Easy to extend and customize in subclass
-  * Ruby on Rails support
-'';
-     };
-  };
-
-  json_pure_1_4_6 = rubyDerivation {
-     name = "ruby-json_pure-1.4.6"; # full_name
-     nameNoVersion = "json_pure";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/json_pure-1.4.6.gem";
-       sha256 = "0cd6a97nk8m7yqm0lxbgs63yxlnk4mhbmpgjjfzdw01n1gm95kfv";
-     };
-     meta = {
-       homepage = "http://flori.github.com/json";
-       license = []; # one of ?
-       description = ''This is a JSON implementation in pure Ruby[...]'';
-       longDescription = ''This is a JSON implementation in pure Ruby.'';
-     };
-  };
-
-  xrefresh_server_0_3_0 = rubyDerivation {
-     name = "ruby-xrefresh-server-0.3.0"; # full_name
-     nameNoVersion = "xrefresh_server";
-     propagatedBuildInputs = [ json_1_4_6 term_ansicolor_1_0_5 ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/xrefresh-server-0.3.0.gem";
-       sha256 = "1k80hadnmaxi8q8fw879xaj0ragy4bmqjqm7zjkv9bq8njb3i0c5";
-     };
-     meta = {
-       homepage = "http://github.com/darwin/xrefresh-server";
-       license = []; # one of ?
-       description = ''XRefresh is browser refresh automation for web developers[...]'';
-       longDescription = ''XRefresh is browser refresh automation for web developers'';
-     };
-  };
-
-  bundler_1_0_0 = rubyDerivation {
-     name = "ruby-bundler-1.0.0"; # full_name
-     nameNoVersion = "bundler";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/bundler-1.0.0.gem";
-       sha256 = "0x1gsm8gqfa3czndm3v0b8v5sh08wjz1cr7xi383ipmnziimaq30";
-     };
-     meta = {
-       homepage = "http://gembundler.com";
-       license = []; # one of ?
-       description = ''Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatabl''; # cut to 120 chars
-       longDescription = ''Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably'';
-     };
-  };
-
-  actionmailer_3_0_0 = rubyDerivation {
-     name = "ruby-actionmailer-3.0.0"; # full_name
-     nameNoVersion = "actionmailer";
-     propagatedBuildInputs = [  mail_2_2_5 ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/actionmailer-3.0.0.gem";
-       sha256 = "15a7ikp7b76mlnrd78cprm6p7qj2vf1zj6x8an0zwnpxy95fqn3q";
-     };
-     meta = {
-       homepage = "http://www.rubyonrails.org";
-       license = []; # one of ?
-       description = ''Email on Rails[...]'';
-       longDescription = ''Email on Rails. Compose, deliver, receive, and test emails using the familiar controller/view pattern. First-class support for multipart email and attachments.'';
-     };
-  };
-
-  rack_1_2_1 = rubyDerivation {
-     name = "ruby-rack-1.2.1"; # full_name
-     nameNoVersion = "rack";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/rack-1.2.1.gem";
-       sha256 = "0bwsfiprvnwxgwwbr2cwv3aca5d707bfcm2zff4d0nsnbfgll0bj";
-     };
-     meta = {
-       homepage = "http://rack.rubyforge.org";
-       license = []; # one of ?
-       description = ''Rack provides minimal, modular and adaptable interface for developing web applications in Ruby the simplest way possible,''; # cut to 120 chars
-       longDescription = ''Rack provides minimal, modular and adaptable interface for developing
-web applications in Ruby.  By wrapping HTTP requests and responses in
-the simplest way possible, it unifies and distills the API for web
-servers, web frameworks, and software in between (the so-called
-middleware) into a single method call.
-
-Also see http://rack.rubyforge.org.
-'';
-     };
-  };
-
-  rubyforge_2_0_4 = rubyDerivation {
-     name = "ruby-rubyforge-2.0.4"; # full_name
-     nameNoVersion = "rubyforge";
-     propagatedBuildInputs = [ json_pure_1_4_6 ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/rubyforge-2.0.4.gem";
-       sha256 = "1wdaa4nzy39yzy848fa1rybi72qlyf9vhi1ra9wpx9rpi810fwh1";
-     };
-     meta = {
-       homepage = "http://codeforpeople.rubyforge.org/rubyforge/";
-       license = []; # one of ?
-       description = ''A script which automates a limited set of rubyforge operations  * Run 'rubyforge help' for complete usage. * Setup: For f''; # cut to 120 chars
-       longDescription = ''A script which automates a limited set of rubyforge operations.
-
-* Run 'rubyforge help' for complete usage.
-* Setup: For first time users AND upgrades to 0.4.0:
-  * rubyforge setup (deletes your username and password, so run sparingly!)
-  * edit ~/.rubyforge/user-config.yml
-  * rubyforge config
-* For all rubyforge upgrades, run 'rubyforge config' to ensure you have latest.'';
-     };
-  };
-
-  json_1_4_6 = rubyDerivation {
-     name = "ruby-json-1.4.6"; # full_name
-     nameNoVersion = "json";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/json-1.4.6.gem";
-       sha256 = "1ibyw6hiclircn2f9f4kcznff4rdhcfsjxdzb4z9d9bd3ha1l96k";
-     };
-     meta = {
-       homepage = "http://flori.github.com/json";
-       license = []; # one of ?
-       description = ''This is a JSON implementation as a Ruby extension in C[...]'';
-       longDescription = ''This is a JSON implementation as a Ruby extension in C.'';
-     };
-  };
-
-  locale_2_0_5 = rubyDerivation {
-     name = "ruby-locale-2.0.5"; # full_name
-     nameNoVersion = "locale";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/locale-2.0.5.gem";
-       sha256 = "007yx9rx52as4ykkcm1aw29vgm6rk5xz8012814ynhlp1i0z1fi8";
-     };
-     meta = {
-       homepage = "http://locale.rubyforge.org/";
-       license = []; # one of ?
-       description = ''    Ruby-Locale is the pure ruby library which provides basic APIs for localization [...]'';
-       longDescription = ''    Ruby-Locale is the pure ruby library which provides basic APIs for localization.
-'';
-     };
-  };
-
-  mime_types_1_16 = rubyDerivation {
-     name = "ruby-mime-types-1.16"; # full_name
-     nameNoVersion = "mime_types";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/mime-types-1.16.gem";
-       sha256 = "1slp7g2xv9ygcapqv13qgh3g6ipx5k5c3imb5sdyh0b9ip5s34y3";
-     };
-     meta = {
-       homepage = "http://mime-types.rubyforge.org/";
-       license = []; # one of ?
-       description = ''MIME::Types for Ruby originally based on and synchronized with MIME::Types for Perl by Mark Overmeer, copyright 2001 - 20''; # cut to 120 chars
-       longDescription = ''MIME::Types for Ruby originally based on and synchronized with MIME::Types for Perl by Mark Overmeer, copyright 2001 - 2009. As of version 1.15, the data format for the MIME::Type list has changed and the synchronization will no longer happen.'';
-     };
-  };
-
-  rb_inotify_0_8_1 = rubyDerivation {
-     name = "ruby-rb-inotify-0.8.1"; # full_name
-     nameNoVersion = "rb_inotify";
-     propagatedBuildInputs = [ ffi_0_6_3 ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/rb-inotify-0.8.1.gem";
-       sha256 = "1z67kvhb8g8cgvlcfsh2gqhzqjijg8x02nafmifz9n9md5nvscar";
-     };
-     meta = {
-       homepage = "http://github.com/nex3/rb-notify";
-       license = []; # one of ?
-       description = ''A Ruby wrapper for Linux's inotify, using FFI[...]'';
-       longDescription = ''A Ruby wrapper for Linux's inotify, using FFI'';
-     };
-  };
-
-  net_ssh_2_0_23 = rubyDerivation {
-     name = "ruby-net-ssh-2.0.23"; # full_name
-     nameNoVersion = "net_ssh";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/net-ssh-2.0.23.gem";
-       sha256 = "1fllf6mgwc213m5mn266qwhl65zc84wl8rq9m3lvbggw9mh5ynrr";
-     };
-     meta = {
-       homepage = "http://github.com/net-ssh/net-ssh";
-       license = []; # one of ?
-       description = ''Net::SSH: a pure-Ruby implementation of the SSH2 client protocol[...]'';
-       longDescription = ''Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.'';
-     };
-  };
-
-  highline_1_6_1 = rubyDerivation {
-     name = "ruby-highline-1.6.1"; # full_name
-     nameNoVersion = "highline";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/highline-1.6.1.gem";
-       sha256 = "1dxlw2jcr4k1vv3sdaqi37kkh9v6cn3dq32ksz6k4yalcv6fhk7d";
-     };
-     meta = {
-       homepage = "http://highline.rubyforge.org";
-       license = []; # one of ?
-       description = ''A high-level IO library that provides validation, type conversion, and more for command-line interfaces crank out anythin''; # cut to 120 chars
-       longDescription = ''A high-level IO library that provides validation, type conversion, and more for
-command-line interfaces. HighLine also includes a complete menu system that can
-crank out anything from simple list selection to complete shells with just
-minutes of work.
-'';
-     };
-  };
-
-  activeresource_3_0_0 = rubyDerivation {
-     name = "ruby-activeresource-3.0.0"; # full_name
-     nameNoVersion = "activeresource";
-     propagatedBuildInputs = [   ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/activeresource-3.0.0.gem";
-       sha256 = "0c5dflwbhl397kifz9i0g63p72xc3jyhk7q8sswp95ijg5smyx2y";
-     };
-     meta = {
-       homepage = "http://www.rubyonrails.org";
-       license = []; # one of ?
-       description = ''REST on Rails[...]'';
-       longDescription = ''REST on Rails. Wrap your RESTful web app with Ruby classes and work with them like Active Record models.'';
-     };
-  };
-
-  jeweler_1_4_0 = rubyDerivation {
-     name = "ruby-jeweler-1.4.0"; # full_name
-     nameNoVersion = "jeweler";
-     propagatedBuildInputs = [ git_1_2_5 rubyforge_2_0_4 gemcutter_0_6_1 ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/jeweler-1.4.0.gem";
-       sha256 = "0hsz38wc37k1zzmy1jjvsqj6am14n410bbxk1dhq55cgapnwm3kb";
-     };
-     meta = {
-       homepage = "http://github.com/technicalpickles/jeweler";
-       license = []; # one of ?
-       description = ''Simple and opinionated helper for creating Rubygem projects on GitHub[...]'';
-       longDescription = ''Simple and opinionated helper for creating Rubygem projects on GitHub'';
-     };
-  };
-
-  gemcutter_0_6_1 = rubyDerivation {
-     name = "ruby-gemcutter-0.6.1"; # full_name
-     nameNoVersion = "gemcutter";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/gemcutter-0.6.1.gem";
-       sha256 = "01ydbsz4ys6rkaghiibf7y7sbicnc5bppb2ay3agq1rqjvgprcr0";
-     };
-     meta = {
-       homepage = "http://rubygems.org";
-       license = []; # one of ?
-       description = ''Adds several commands to RubyGems for managing gems and more on RubyGems[...]'';
-       longDescription = ''Adds several commands to RubyGems for managing gems and more on RubyGems.org.'';
-     };
-  };
-
-  mail_2_2_5 = rubyDerivation {
-     name = "ruby-mail-2.2.5"; # full_name
-     nameNoVersion = "mail";
-     propagatedBuildInputs = [   treetop_1_4_8 ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/mail-2.2.5.gem";
-       sha256 = "0f6qwhwkc9hdqq5qkwzwjsqlwpvy7rcbra7pbl87l6q0mfaqiciv";
-     };
-     meta = {
-       homepage = "http://github.com/mikel/mail";
-       license = []; # one of ?
-       description = ''A really Ruby Mail handler[...]'';
-       longDescription = ''A really Ruby Mail handler.'';
-     };
-  };
-
-  sup_0_11 = rubyDerivation {
-     name = "ruby-sup-0.11"; # full_name
-     nameNoVersion = "sup";
-     propagatedBuildInputs = [ xapian_full_1_1_3_4 ncurses_0_9_1 rmail_1_0_0 highline_1_6_1 net_ssh_2_0_23 trollop_1_16_2 lockfile_1_4_3 mime_types_1_16 gettext_2_1_0 ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/sup-0.11.gem";
-       sha256 = "0dijz1vl1kk4axfnry71bnl2585y1hw0n6sizg9aag7r9m13194q";
-     };
-     meta = {
-       homepage = "http://sup.rubyforge.org/";
-       license = []; # one of ?
-       description = ''Sup is a console-based email client for people with a lot of email[...]'';
-       longDescription = ''Sup is a console-based email client for people with a lot of email. It supports tagging, very fast full-text search, automatic contact-list management, and more. If you're the type of person who treats email as an extension of your long-term memory, Sup is for you.  Sup makes it easy to: - Handle massive amounts of email.  - Mix email from different sources: mbox files (even across different machines), Maildir directories, IMAP folders, POP accounts, and GMail accounts.  - Instantaneously search over your entire email collection. Search over body text, or use a query language to combine search predicates in any way.  - Handle multiple accounts. Replying to email sent to a particular account will use the correct SMTP server, signature, and from address.  - Add custom code to handle certain types of messages or to handle certain types of text within messages.  - Organize email with user-defined labels, automatically track recent contacts, and much more!  The goal of Sup is to become the email client of choice for nerds everywhere.'';
-     };
-  };
-
-  jquery_rails_0_1_2 = rubyDerivation {
-     name = "ruby-jquery-rails-0.1.2"; # full_name
-     nameNoVersion = "jquery_rails";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/jquery-rails-0.1.2.gem";
-       sha256 = "1z2qw5nmvjpgx5b79kxvi4gl102aq8brp32fpbysmzv2ghsqgvqn";
-     };
-     meta = {
-       homepage = "http://rubygems.org/gems/jquery-rails";
-       license = []; # one of ?
-       description = ''This gem provides a Rails generator to install jQuery and the jQuery-ujs driver into your Rails 3 application, and then h''; # cut to 120 chars
-       longDescription = ''This gem provides a Rails generator to install jQuery and the jQuery-ujs driver into your Rails 3 application, and then have them included automatically instead of Prototype.'';
-     };
-  };
-
-  tzinfo_0_3_23 = rubyDerivation {
-     name = "ruby-tzinfo-0.3.23"; # full_name
-     nameNoVersion = "tzinfo";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/tzinfo-0.3.23.gem";
-       sha256 = "020qk9yfc4s5mi624isn9r7hbncgk3l3ri783y7mn4ac6y4jkpgd";
-     };
-     meta = {
-       homepage = "http://tzinfo.rubyforge.org/";
-       license = []; # one of ?
-       description = ''TZInfo is a Ruby library that uses the standard tz (Olson) database to provide daylight savings aware transformations bet''; # cut to 120 chars
-       longDescription = ''TZInfo is a Ruby library that uses the standard tz (Olson) database to provide daylight savings aware transformations between times in different time zones.'';
-     };
-  };
-
-  activesupport_3_0_0 = rubyDerivation {
-     name = "ruby-activesupport-3.0.0"; # full_name
-     nameNoVersion = "activesupport";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/activesupport-3.0.0.gem";
-       sha256 = "0bad6iqqajlzy61ky4his0d4cfzq4f77qihyn6yygq9pn1ma6mvx";
-     };
-     meta = {
-       homepage = "http://www.rubyonrails.org";
-       license = []; # one of ?
-       description = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework[...]'';
-       longDescription = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework. Rich support for multibyte strings, internationalization, time zones, and testing.'';
-     };
-  };
-
-  rmail_1_0_0 = rubyDerivation {
-     name = "ruby-rmail-1.0.0"; # full_name
-     nameNoVersion = "rmail";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/rmail-1.0.0.gem";
-       sha256 = "0nsg7yda1gdwa96j4hlrp2s0m06vrhcc4zy5mbq7gxmlmwf9yixp";
-     };
-     meta = {
-       homepage = "http://www.rfc20.org/rubymail";
-       license = []; # one of ?
-       description = ''RMail is a lightweight mail library containing various utility classes and modules that allow ruby scripts to parse, modi''; # cut to 120 chars
-       longDescription = ''RMail is a lightweight mail library containing various utility classes and modules that allow ruby scripts to parse, modify, and generate MIME mail messages.'';
-     };
-  };
-
-# aliases
-rmail=rmail_1_0_0;
-tzinfo=tzinfo_0_3_23;
-jquery_rails=jquery_rails_0_1_2;
-activeresource=activeresource_3_0_0;
-term_ansicolor=term_ansicolor_1_0_5;
-rb_inotify=rb_inotify_0_8_1;
-activerecord=activerecord_3_0_0;
-rails=rails_3_0_0;
-highline=highline_1_6_1;
-rubygems_update=rubygems_update_1_3_7;
-sqlite3_ruby=sqlite3_ruby_1_3_1;
-polyglot=polyglot_0_3_1;
-haml=haml_3_0_18;
-rake=rake_0_8_7;
-sup=sup_0_11;
-thor=thor_0_14_0;
-railties=railties_3_0_0;
-treetop=treetop_1_4_8;
-mime_types=mime_types_1_16;
-rubyforge=rubyforge_2_0_4;
-abstract=abstract_1_0_0;
-mail=mail_2_2_5;
-gemcutter=gemcutter_0_6_1;
-rack=rack_1_2_1;
-activemodel=activemodel_3_0_0;
-rack_mount=rack_mount_0_6_13;
-haml_rails=haml_rails_0_2;
-rails3_generators=rails3_generators_0_13_0;
-net_ssh=net_ssh_2_0_23;
-json=json_1_4_6;
-xrefresh_server=xrefresh_server_0_3_0;
-erubis=erubis_2_6_6;
-xapian_full=xapian_full_1_1_3_4;
-ncurses=ncurses_0_9_1;
-arel=arel_1_0_1;
-jeweler=jeweler_1_4_0;
-bundler=bundler_1_0_0;
-gettext=gettext_2_1_0;
-trollop=trollop_1_16_2;
-git=git_1_2_5;
-locale=locale_2_0_5;
-actionmailer=actionmailer_3_0_0;
-json_pure=json_pure_1_4_6;
-actionpack=actionpack_3_0_0;
-i18n=i18n_0_4_1;
-chronic=chronic_0_2_3;
-rack_test=rack_test_0_5_4;
-activesupport=activesupport_3_0_0;
-lockfile=lockfile_1_4_3;
-enumerated_attribute=enumerated_attribute_0_2_16;
-ffi=ffi_0_6_3;
-meta_programming=meta_programming_0_2_2;
-builder=builder_2_1_2;
-ncursesw=ncursesw_1_2_4_1;
-  # ================ END automatically generated code ================
-  }; in libs
+in
+((gemsMergeableFun { }).merge {
+  generated = import ./generated.nix;
+  patches = import ./patches.nix;
+  overrides = import ./overrides.nix;
+}).merge {
+  generated = getConfig [ "gems" "generated" ] null;
+  patches = getConfig [ "gems" "patches" ] null;
+  overrides = getConfig [ "gems" "overrides" ] null;
+}
diff --git a/pkgs/development/interpreters/ruby/overrides.nix b/pkgs/development/interpreters/ruby/overrides.nix
new file mode 100644
index 000000000000..01d73a19d64b
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/overrides.nix
@@ -0,0 +1,5 @@
+{ xapianBindings }:
+
+{
+  xapian_full = xapianBindings.merge { cfg = { rubySupport = true; }; };
+}
diff --git a/pkgs/development/interpreters/ruby/patches.nix b/pkgs/development/interpreters/ruby/patches.nix
new file mode 100644
index 000000000000..abcb1d0dfe4a
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/patches.nix
@@ -0,0 +1,49 @@
+{fetchurl, writeScript, ruby, ncurses, sqlite, libxml2, libxslt, libffi, zlib,
+  libuuid, gems}:
+
+let
+  patchUsrBinEnv = writeScript "path-usr-bin-env" ''
+    #!/bin/sh
+    set -x
+    echo "==================="
+    find "$1" -type f -name "*.rb" | xargs sed -i "s@/usr/bin/env@$(type -p env)@g"
+    find "$1" -type f -name "*.mk" | xargs sed -i "s@/usr/bin/env@$(type -p env)@g"
+  '';
+in
+{
+  sup = { buildInputs = [ gems.ncursesw ]; };
+  sqlite3 = { propagatedBuildInputs = [ sqlite ]; };
+  rails = { gemFlags = "--no-ri --no-rdoc"; };
+  ncurses = { propagatedBuildInputs = [ ncurses ]; };
+  ncursesw = { propagatedBuildInputs = [ ncurses ]; };
+  nokogiri = {
+    buildFlags=["--with-xml2-dir=${libxml2} --with-xml2-include=${libxml2}/include/libxml2"
+                "--with-xslt-dir=${libxslt}" ];
+  };
+
+  ffi = {
+    postUnpack = "onetuh";
+    buildFlags=["--with-ffi-dir=${libffi}"];
+    NIX_POST_EXTRACT_FILES_HOOK = patchUsrBinEnv;
+  };
+
+  xrefresh_server =
+  let patch = fetchurl {
+      url = "http://mawercer.de/~nix/xrefresh.diff.gz";
+      sha256 = "1f7bnmn1pgkmkml0ms15m5lx880hq2sxy7vsddb3sbzm7n1yyicq";
+    };
+  in {
+    propagatedBuildInputs = [ gems.rb_inotify ];
+
+    # monitor implementation for Linux
+    postInstall = ''
+      cd $out/${ruby.gemPath}/gems/*
+      zcat ${patch} | patch -p 1
+    '';
+  };
+
+  xapian_full = {
+    buildInputs = [ gems.rake zlib libuuid ];
+    gemFlags = "--no-rdoc --no-ri";
+  };
+}
diff --git a/pkgs/development/interpreters/ruby/rubygems.nix b/pkgs/development/interpreters/ruby/rubygems.nix
new file mode 100644
index 000000000000..6c0cef9b4d14
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/rubygems.nix
@@ -0,0 +1,51 @@
+args : with args; 
+rec {
+
+  # some packages (eg ruby-debug) still require 1.8. So let's stick to that for
+  # now if nobody has different requirements
+
+  version = "1.4.1";
+  src = fetchurl {
+    url = "http://production.cf.rubygems.org/rubygems/${name}.tgz";
+    sha256 = "189wg1msb4sdjvdzv9ia6q3lvjlygpp67wlbkl7cjb22bpjy4w4b";
+  };
+
+
+  buildInputs = [ruby makeWrapper];
+  configureFlags = [];
+
+  doInstall = fullDepEntry (''
+    ruby setup.rb --prefix=$out/
+    wrapProgram $out/bin/gem --prefix RUBYLIB : $out/lib
+    find $out -type f -name "*.rb" | xargs sed -i "s@/usr/bin/env@$(type -p env)@g"
+    mkdir -pv $out/nix-support
+    cat > $out/nix-support/setup-hook <<EOF
+    export RUBYOPT=rubygems
+    addToSearchPath RUBYLIB $out/lib
+
+    addGemPath() {
+      addToSearchPath GEM_PATH \$1/${ruby.gemPath}
+    }
+
+    envHooks+=(addGemPath)
+    EOF'') ["minInit" "addInputs" "doUnpack" "defEnsureDir"];
+
+  /* doConfigure should be specified separately */
+  phaseNames = ["doPatch" "doInstall"];
+      
+  name = "rubygems-" + version;
+  meta = {
+    description = "Ruby gems package collection";
+    longDescription = ''
+      Nix can create nix packages from gems.
+
+      To use it do the following:
+      1. Install rubygems and rubyLibs.nix.
+      2. Add $your_profile/${ruby.gemPath} to GEM_PATH.
+      3. export RUBYLIB=$your_profile/lib RUBYOPT=rubygems
+      4. See `gem nix --help` for the rest.
+    '';
+  };
+
+  patches = [ ./gem_hook.patch ];
+}
diff --git a/pkgs/development/libraries/SDL_gfx/default.nix b/pkgs/development/libraries/SDL_gfx/default.nix
index 7f4ee8ac20ca..aabbd8f89419 100644
--- a/pkgs/development/libraries/SDL_gfx/default.nix
+++ b/pkgs/development/libraries/SDL_gfx/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, SDL} :
 
 stdenv.mkDerivation rec {
-  name = "SDL_gfx-2.0.20";
+  name = "SDL_gfx-2.0.22";
 
   src = fetchurl {
     url = "http://www.ferzkopp.net/Software/SDL_gfx-2.0/${name}.tar.gz";
-    sha256 = "0dyc1sj0ymv2ghmlgwfb2c6r07scbgmi2dfhmnddsb27y8wjqz4q";
+    sha256 = "1w1bdpyypvqg1nmbjwkqnjhmngvpjmhc0zanwgq7z4pxffzffx8m";
   };
 
   buildInputs = [ SDL ] ;
@@ -39,6 +39,6 @@ stdenv.mkDerivation rec {
     license = "LGPLv2+";
 
     maintainers = [ stdenv.lib.maintainers.bjg ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/SDL_image/default.nix b/pkgs/development/libraries/SDL_image/default.nix
index 89cf52f7e5eb..eafe10d05279 100644
--- a/pkgs/development/libraries/SDL_image/default.nix
+++ b/pkgs/development/libraries/SDL_image/default.nix
@@ -2,18 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "SDL_image";
-  version = "1.2.6";
+  version = "1.2.10";
 
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://www.libsdl.org/projects/${pname}/release/${name}.tar.gz";
-    sha256 = "1i3f72dw3i3l6d77dk81gw57sp0629rng9k76qb37brlz7dv3z48";
+    sha256 = "0xhqw56xgc0rn3ziccirib8ai2whbbidjmvig527n9znjlg5vq3m";
   };
 
   buildInputs = [SDL libpng libjpeg libtiff libungif libXpm];
 
-  postInstall = "ln -s $out/include/SDL/SDL_image.h $out/include/";
+  postInstall = "ln -sv $out/include/SDL/SDL_image.h $out/include/";
 
   meta = {
     description = "SDL image library";
diff --git a/pkgs/development/libraries/aterm/2.4.2-fixes.nix b/pkgs/development/libraries/aterm/2.4.2-fixes.nix
deleted file mode 100644
index b02da9be1ace..000000000000
--- a/pkgs/development/libraries/aterm/2.4.2-fixes.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{stdenv, fetchurl}:
-
-stdenv.mkDerivation {
-  name = "aterm-2.4.2-fixes-r2";
-  
-  src = fetchurl {
-    url = http://nixos.org/tarballs/aterm-2.4.2-fixes-r2.tar.bz2;
-    sha256 = "1w3bxdpc2hz29li5ssmdcz3x0fn47r7g62ns0v8nazxwf40vff4j";
-  };
-
-  patches = [
-    # Fix for http://bugzilla.sen.cwi.nl:8080/show_bug.cgi?id=841
-    ./max-long.patch
-  ];
-
-  # There are apparently still some aliasing bugs left in
-  # aterm-2.4.2-fixes-r2 (in AT_setAnnotations to be precise), but
-  # under my reading of the C standard it should be fine. Anyway, just
-  # disable strict aliasing.
-  NIX_CFLAGS_COMPILE = "-fno-strict-aliasing";
-  
-  doCheck = true;
-
-  meta = {
-    homepage = http://www.cwi.nl/htbin/sen1/twiki/bin/view/SEN1/ATerm;
-    license = "LGPL";
-    description = "Library for manipulation of term data structures in C";
-  };
-}
diff --git a/pkgs/development/libraries/atk/1.28.x.nix b/pkgs/development/libraries/atk/1.32.x.nix
similarity index 70%
rename from pkgs/development/libraries/atk/1.28.x.nix
rename to pkgs/development/libraries/atk/1.32.x.nix
index 753f8c59c878..99a02b228082 100644
--- a/pkgs/development/libraries/atk/1.28.x.nix
+++ b/pkgs/development/libraries/atk/1.32.x.nix
@@ -1,16 +1,18 @@
 { stdenv, fetchurl, pkgconfig, perl, glib }:
 
 stdenv.mkDerivation rec {
-  name = "atk-1.28.0";
+  name = "atk-1.32.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/atk/1.28/${name}.tar.bz2";
-    sha256 = "11zyamivv7fcj9ap3w3bn3gm89mkni9waf51fx75zmfjh3jrznp4";
+    url = "mirror://gnome/sources/atk/1.32/${name}.tar.bz2";
+    sha256 = "e9a3e598f75c4db1af914f8b052dd9f7e89e920a96cc187c18eb06b8339cb16e";
   };
 
-  buildInputs = [pkgconfig perl];
-  propagatedBuildInputs = [glib];
+  buildInputs = [ pkgconfig perl ];
+  propagatedBuildInputs = [ glib ];
 
+  postInstall = "rm -rf $out/share/gtk-doc";
+  
   meta = {
     description = "ATK, the accessibility toolkit";
 
diff --git a/pkgs/development/libraries/avahi/default.nix b/pkgs/development/libraries/avahi/default.nix
index 9e72862a5c2a..709ea3583dc1 100644
--- a/pkgs/development/libraries/avahi/default.nix
+++ b/pkgs/development/libraries/avahi/default.nix
@@ -1,6 +1,7 @@
 { fetchurl, stdenv, pkgconfig, libdaemon, dbus, perl, perlXMLParser
 , expat, gettext, intltool, glib, gtk, qt4 ? null, lib
-, qt4Support ? false }:
+, qt4Support ? false
+, withLibdnsCompat ? false }:
 
 assert qt4Support -> qt4 != null;
 
@@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
       "--${if qt4Support then "enable" else "disable"}-qt4"
       "--disable-python"
       "--with-distro=none" "--localstatedir=/var"
-    ];
+    ] ++ stdenv.lib.optional withLibdnsCompat "--enable-compat-libdns_sd";
 
   meta = {
     description = "Avahi, an mDNS/DNS-SD implementation";
@@ -40,7 +41,7 @@ stdenv.mkDerivation rec {
     homepage = http://avahi.org;
     license = "LGPLv2+";
 
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.linux;  # arbitrary choice
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
 }
diff --git a/pkgs/development/libraries/boehm-gc/cygwin-pthread-dl.patch b/pkgs/development/libraries/boehm-gc/cygwin-pthread-dl.patch
deleted file mode 100644
index 9515dc237d3f..000000000000
--- a/pkgs/development/libraries/boehm-gc/cygwin-pthread-dl.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Don't pass "-lpthread -ldl" on Cygwin.  See
-http://thread.gmane.org/gmane.comp.programming.garbage-collection.boehmgc/3219
-for details.
-
---- gc-7.1/configure	2008-05-04 02:52:50.000000000 +0200
-+++ gc-7.1/configure	2009-09-18 16:23:30.000000000 +0200
-@@ -4859,7 +4859,7 @@
- 	cat >>confdefs.h <<\_ACEOF
- #define THREAD_LOCAL_ALLOC 1
- _ACEOF
--
-+	THREADDLLIBS=""
- 	win32_threads=true
- 	;;
-      *-*-darwin*)
-@@ -5934,6 +5934,7 @@
- # dyld calls anyway
- case "$host" in
-   *-*-darwin*) ;;
-+  *-*-cygwin*) ;;
-   *)
-     { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
- echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
-
diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix
index 6d1074165b5d..6159b99d4438 100644
--- a/pkgs/development/libraries/boehm-gc/default.nix
+++ b/pkgs/development/libraries/boehm-gc/default.nix
@@ -1,23 +1,17 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
-let
-  version = if stdenv.isMips then "7.2alpha4" else "7.1";
-in
-stdenv.mkDerivation ({
-  name = "boehm-gc-${version}";
+stdenv.mkDerivation rec {
+  name = "boehm-gc-7.2pre20110122";
 
   src = fetchurl {
-    url = "http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-${version}.tar.gz";
-    sha256 = (if version == "7.1" then "0c5zrsdw0rsli06lahcqwwz0prgah340fhfg7ggfgvz3iw1gdkp3"
-      else if version == "7.2alpha4" then "1ya9hr1wbx0hrx29q5zy2k51ml71k9mhqzqs7f505qr9s6jsfh0b"
-      else throw "Version unknown");
+    url = "http://nixos.org/tarballs/${name}.tar.bz2";
+    sha256 = "06nf60flq6344pgic3bz83jh6pvj4k42apm3x4xwxc4d2is457ly";
   };
 
-  patches = stdenv.lib.optional (stdenv.system == "i686-cygwin")
-                        ./cygwin-pthread-dl.patch;
-
   doCheck = true;
 
+  configureFlags = stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") "CPPFLAGS=-D_XOPEN_SOURCE";
+
   meta = {
     description = "The Boehm-Demers-Weiser conservative garbage collector for C and C++";
 
@@ -47,10 +41,3 @@ stdenv.mkDerivation ({
     platforms = stdenv.lib.platforms.all;
   };
 }
-
-//
-
-(if stdenv.system == "x86_64-darwin"
- # Fix "#error ucontext routines are deprecated, and require _XOPEN_SOURCE to be defined".
- then { configureFlags = "CPPFLAGS=-D_XOPEN_SOURCE"; }
- else {}))
diff --git a/pkgs/development/libraries/boost/1.46.nix b/pkgs/development/libraries/boost/1.46.nix
new file mode 100644
index 000000000000..0a64efdeb3bd
--- /dev/null
+++ b/pkgs/development/libraries/boost/1.46.nix
@@ -0,0 +1,80 @@
+{ stdenv, fetchurl, icu, expat, zlib, bzip2, python
+, enableRelease ? true
+, enableDebug ? false
+, enableSingleThreaded ? false
+, enableMultiThreaded ? true
+, enableShared ? true
+, enableStatic ? false
+, enablePIC ? false
+}:
+
+let
+
+  variant = stdenv.lib.concatStringsSep ","
+    (stdenv.lib.optional enableRelease "release" ++
+     stdenv.lib.optional enableDebug "debug");
+
+  threading = stdenv.lib.concatStringsSep ","
+    (stdenv.lib.optional enableSingleThreaded "single" ++
+     stdenv.lib.optional enableMultiThreaded "multi");
+
+  link = stdenv.lib.concatStringsSep ","
+    (stdenv.lib.optional enableShared "shared" ++
+     stdenv.lib.optional enableStatic "static");
+
+  # To avoid library name collisions
+  finalLayout = if ((enableRelease && enableDebug) ||
+    (enableSingleThreaded && enableMultiThreaded) ||
+    (enableShared && enableStatic)) then
+    "tagged" else "system";
+
+  cflags = if (enablePIC) then "cflags=-fPIC cxxflags=-fPIC linkflags=-fPIC" else "";
+
+in
+
+stdenv.mkDerivation {
+  name = "boost-1.46.0";
+
+  meta = {
+    homepage = "http://boost.org/";
+    description = "Boost C++ Library Collection";
+    license = "boost-license";
+
+    maintainers = [ stdenv.lib.maintainers.simons ];
+  };
+
+  src = fetchurl {
+    url = "mirror://sourceforge/boost/boost_1_46_0.tar.bz2";
+    sha256 = "0ndsiv06332gbh6wj68pcnci3l5qrc5pm1ca9dkmxhpxj83zd41g";
+  };
+
+  enableParallelBuilding = true;
+
+  buildInputs = [icu expat zlib bzip2 python];
+
+  configureScript = "./bootstrap.sh";
+  configureFlags = "--with-icu=${icu} --with-python=${python}/bin/python";
+
+  buildPhase = "./bjam -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${finalLayout} variant=${variant} threading=${threading} link=${link} ${cflags} install";
+
+  installPhase = ":";
+
+  crossAttrs = rec {
+    buildInputs = [ expat.hostDrv zlib.hostDrv bzip2.hostDrv ];
+    # all buildInputs set previously fell into propagatedBuildInputs, as usual, so we have to
+    # override them.
+    propagatedBuildInputs = buildInputs;
+    # We want to substitute the contents of configureFlags, removing thus the
+    # usual --build and --host added on cross building.
+    preConfigure = ''
+      export configureFlags="--prefix=$out --without-icu"
+    '';
+    buildPhase = ''
+      set -x
+      cat << EOF > user-config.jam
+      using gcc : cross : $crossConfig-g++ ;
+      EOF
+      ./bjam -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat.hostDrv}/include -sEXPAT_LIBPATH=${expat.hostDrv}/lib --layout=${finalLayout} --user-config=user-config.jam toolset=gcc-cross variant=${variant} threading=${threading} link=${link} ${cflags} --without-python install
+    '';
+  };
+}
diff --git a/pkgs/development/libraries/buddy/default.nix b/pkgs/development/libraries/buddy/default.nix
index 7e10f967a663..3cfa2a250216 100644
--- a/pkgs/development/libraries/buddy/default.nix
+++ b/pkgs/development/libraries/buddy/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     description = "binary decision diagram package";
     license = "as-is";
 
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.allBut "i686-cygwin";
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/development/libraries/cairo/1.10.nix b/pkgs/development/libraries/cairo/1.10.nix
deleted file mode 100644
index f1eaf65e69cf..000000000000
--- a/pkgs/development/libraries/cairo/1.10.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{ postscriptSupport ? true
-, pdfSupport ? true
-, pngSupport ? true
-, xcbSupport ? false
-, stdenv, fetchurl, pkgconfig, x11, fontconfig, freetype
-, zlib, libpng, pixman, libxcb ? null, xcbutil ? null
-}:
-
-assert postscriptSupport -> zlib != null;
-assert pngSupport -> libpng != null;
-assert xcbSupport -> libxcb != null && xcbutil != null;
-
-stdenv.mkDerivation rec {
-  name = "cairo-1.10.0";
-  
-  src = fetchurl {
-    url = "http://cairographics.org/releases/${name}.tar.gz";
-    sha256 = "1cllxp8rx5zxkfpn36ysqg1kqz5d1cvbbf2fsy440n8m8v6f8b0g";
-  };
-
-  buildInputs =
-    [ pkgconfig x11 fontconfig pixman ] ++ 
-    stdenv.lib.optionals xcbSupport [ libxcb xcbutil ];
-
-  propagatedBuildInputs =
-    [ freetype ] ++
-    stdenv.lib.optional postscriptSupport zlib ++
-    stdenv.lib.optional pngSupport libpng;
-    
-  configureFlags =
-    stdenv.lib.optional xcbSupport "--enable-xcb" ++
-    stdenv.lib.optional pdfSupport "--enable-pdf";
-
-  preConfigure = ''
-    # Work around broken `Requires.private' that prevents Freetype
-    # `-I' flags to be propagated.
-    sed -i "src/cairo.pc.in" \
-        -es'|^Cflags:\(.*\)$|Cflags: \1 -I${freetype}/include/freetype2 -I${freetype}/include|g'
-  '';
-
-  meta = {
-    description = "A 2D graphics library with support for multiple output devices";
-
-    longDescription = ''
-      Cairo is a 2D graphics library with support for multiple output
-      devices.  Currently supported output targets include the X
-      Window System, Quartz, Win32, image buffers, PostScript, PDF,
-      and SVG file output.  Experimental backends include OpenGL
-      (through glitz), XCB, BeOS, OS/2, and DirectFB.
-
-      Cairo is designed to produce consistent output on all output
-      media while taking advantage of display hardware acceleration
-      when available (e.g., through the X Render Extension).
-    '';
-
-    homepage = http://cairographics.org/;
-
-    licenses = [ "LGPLv2+" "MPLv1" ];
-  };
-}
diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix
index 5ca745614917..1e478b1c68d9 100644
--- a/pkgs/development/libraries/cairo/default.nix
+++ b/pkgs/development/libraries/cairo/default.nix
@@ -2,7 +2,7 @@
 , pdfSupport ? true
 , pngSupport ? true
 , xcbSupport ? false
-, stdenv, fetchurl, pkgconfig, x11, fontconfig, freetype
+, stdenv, fetchurl, pkgconfig, x11, fontconfig, freetype, xlibs
 , zlib, libpng, pixman, libxcb ? null, xcbutil ? null
 }:
 
@@ -11,15 +11,15 @@ assert pngSupport -> libpng != null;
 assert xcbSupport -> libxcb != null && xcbutil != null;
 
 stdenv.mkDerivation rec {
-  name = "cairo-1.8.10";
+  name = "cairo-1.10.2";
   
   src = fetchurl {
     url = "http://cairographics.org/releases/${name}.tar.gz";
-    sha1 = "fd5e8ca82ff0e8542ea4c51612cad387f2a49df3";
+    sha1 = "ccce5ae03f99c505db97c286a0c9a90a926d3c6e";
   };
 
   buildInputs =
-    [ pkgconfig x11 fontconfig pixman ] ++ 
+    [ pkgconfig x11 fontconfig pixman xlibs.libXrender ] ++ 
     stdenv.lib.optionals xcbSupport [ libxcb xcbutil ];
 
   propagatedBuildInputs =
@@ -28,8 +28,9 @@ stdenv.mkDerivation rec {
     stdenv.lib.optional pngSupport libpng;
     
   configureFlags =
-    stdenv.lib.optional xcbSupport "--enable-xcb" ++
-    stdenv.lib.optional pdfSupport "--enable-pdf";
+    [ "--enable-tee" ]
+    ++ stdenv.lib.optional xcbSupport "--enable-xcb"
+    ++ stdenv.lib.optional pdfSupport "--enable-pdf";
 
   preConfigure = ''
     # Work around broken `Requires.private' that prevents Freetype
@@ -38,6 +39,9 @@ stdenv.mkDerivation rec {
         -es'|^Cflags:\(.*\)$|Cflags: \1 -I${freetype}/include/freetype2 -I${freetype}/include|g'
   '';
 
+  # The default `--disable-gtk-doc' is ignored.
+  postInstall = "rm -rf $out/share/gtk-doc";
+
   meta = {
     description = "A 2D graphics library with support for multiple output devices";
 
diff --git a/pkgs/development/libraries/ccrtp/default.nix b/pkgs/development/libraries/ccrtp/default.nix
index 1b00e52a5b6b..26e7050a60df 100644
--- a/pkgs/development/libraries/ccrtp/default.nix
+++ b/pkgs/development/libraries/ccrtp/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, openssl, pkgconfig, libgcrypt, commoncpp2 }:
 
 stdenv.mkDerivation {
-  name = "ccrtp-1.7.2";
+  name = "ccrtp-1.8.0";
 
   src = fetchurl {
-    url = mirror://gnu/ccrtp/ccrtp-1.7.2.tar.gz;
-    sha256 = "1vz759f0342ih95sc7vmzx8als7y2ddr0s3jaaj03x22r7xaqzwy";
+    url = mirror://gnu/ccrtp/ccrtp-1.8.0.tar.gz;
+    sha256 = "0wr4dandlfajhmg90nqyvwv61ikn9vdycji001310y3c4zfysprn";
   };
 
   buildInputs = [ openssl pkgconfig libgcrypt commoncpp2 ];
diff --git a/pkgs/development/libraries/cln/default.nix b/pkgs/development/libraries/cln/default.nix
index 5734e2cbe53e..66629b0561b3 100644
--- a/pkgs/development/libraries/cln/default.nix
+++ b/pkgs/development/libraries/cln/default.nix
@@ -14,6 +14,6 @@ stdenv.mkDerivation rec {
     description = "C/C++ library for numbers, a part of GiNaC";
     homepage = http://www.ginac.de/CLN/;
     maintainers = [ stdenv.lib.maintainers.urkud ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.allBut "i686-cygwin";
   };
 }
diff --git a/pkgs/development/libraries/clutter-gtk/default.nix b/pkgs/development/libraries/clutter-gtk/default.nix
index d2b123fade3d..666c709f7de1 100644
--- a/pkgs/development/libraries/clutter-gtk/default.nix
+++ b/pkgs/development/libraries/clutter-gtk/default.nix
@@ -1,17 +1,19 @@
 { fetchurl, stdenv, pkgconfig, clutter, gtk }:
 
 stdenv.mkDerivation rec {
-  name = "clutter-gtk-0.10.4";
+  name = "clutter-gtk-0.10.8";
 
   src = fetchurl {
     url = "http://source.clutter-project.org/sources/clutter-gtk/0.10/${name}.tar.bz2";
-    sha256 = "04mrq5ddj24zhh7dvyp9bl8510wq7qpmy3rl3wiqwl9c43gahd01";
+    sha256 = "0508x1jfnlq0zhgscysvfa7i7ljkzm23d2myikvdjwc8ar8zjrvq";
   };
 
   buildInputs = [ pkgconfig clutter gtk ];
 
   preConfigure = "export V=1";
 
+  postBuild = "rm -rf $out/share/gtk-doc";
+
   meta = {
     description = "Clutter-GTK";
 
diff --git a/pkgs/development/libraries/clutter/default.nix b/pkgs/development/libraries/clutter/default.nix
index 205a9020511d..58fd70165d99 100644
--- a/pkgs/development/libraries/clutter/default.nix
+++ b/pkgs/development/libraries/clutter/default.nix
@@ -2,11 +2,11 @@
 , libXcomposite, cairo, glib, pango, gtk, json_glib }:
 
 stdenv.mkDerivation rec {
-  name = "clutter-1.4.0";
+  name = "clutter-1.4.2";
 
   src = fetchurl {
     url = "http://source.clutter-project.org/sources/clutter/1.4/${name}.tar.bz2";
-    sha256 = "15icq2gf2fi098lq1wqr7sq2cnb00g1ids050a5z3f43l1ajrnxw";
+    sha256 = "14l8wgk5jdwsnjf991qgzl115kjs1xywil2awlrwj1airsn6gzcj";
   };
 
   buildInputs = [ pkgconfig ];
@@ -17,7 +17,6 @@ stdenv.mkDerivation rec {
       libXi libXfixes libXdamage libXcomposite
     ];
 
-
   meta = {
     description = "Clutter, a library for creating fast, dynamic graphical user interfaces";
 
diff --git a/pkgs/development/libraries/cminpack/default.nix b/pkgs/development/libraries/cminpack/default.nix
new file mode 100644
index 000000000000..f070f2dfaef2
--- /dev/null
+++ b/pkgs/development/libraries/cminpack/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+  name = "cminpack-1.1.2";
+  
+  src = fetchurl {
+    url = http://devernay.free.fr/hacks/cminpack/cminpack-1.1.2.tar.gz;
+    sha256 = "0sd8gqk7npyiiiz2jym8q89d9gqx8fig0mnx63swkwmp4lqmmxww";
+  };
+
+  patchPhase = ''
+    sed -i s,/usr/local,$out, Makefile
+  '';
+
+  preInstall = ''
+    ensureDir $out/lib $out/include
+  '';
+
+  meta = {
+    homepage = http://devernay.free.fr/hacks/cminpack/cminpack.html;
+    license = "BSD";
+    description = "Software for solving nonlinear equations and nonlinear least squares problems";
+  };
+
+}
diff --git a/pkgs/development/libraries/coin3d/default.nix b/pkgs/development/libraries/coin3d/default.nix
new file mode 100644
index 000000000000..f676c9abaa00
--- /dev/null
+++ b/pkgs/development/libraries/coin3d/default.nix
@@ -0,0 +1,22 @@
+{ fetchurl, stdenv, mesa }:
+
+stdenv.mkDerivation rec {
+  name = "coin3d-${version}";
+  version = "3.1.3";
+
+  src = fetchurl {
+    url = "http://ftp.coin3d.org/coin/src/all/Coin-${version}.tar.gz";
+    sha256 = "05ylhrcglm81dajbk132l1w892634z2i97x10fm64y1ih72phd2q";
+  };
+
+  buildInputs = [ mesa ];
+
+  meta = {
+    homepage = http://www.coin3d.org/;
+    license = "GPLv2+";
+    description = "High-level, retained-mode toolkit for effective 3D graphics development.";
+
+    maintainers = [ stdenv.lib.maintainers.viric ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/commoncpp2/default.nix b/pkgs/development/libraries/commoncpp2/default.nix
index 81fb723c70ab..0b834a5ddb32 100644
--- a/pkgs/development/libraries/commoncpp2/default.nix
+++ b/pkgs/development/libraries/commoncpp2/default.nix
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
     maintainers = [ stdenv.lib.maintainers.marcweber
                     stdenv.lib.maintainers.ludo
                   ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.allBut "i686-freebsd";
   };
 }
diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix
index 8f8766fb6cf9..fdbc27a56179 100644
--- a/pkgs/development/libraries/dbus/default.nix
+++ b/pkgs/development/libraries/dbus/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, expat, libX11, libICE, libSM, useX11 ? true }:
 
 let
-  version = "1.2.24";
+  version = "1.4.6";
   
   src = fetchurl {
     url = "http://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.gz";
-    sha256 = "0j2wb79kndq4b1qqr59n1g6s0lm7yp6r9ny3skimadkh9a7p8b7i";
+    sha256 = "0rx5p1f0jg4ch4958qb3ld3w3cw57a0rmvmxjgn1ir9dvxj1wgkm";
   };
 
   patches = [ ./ignore-missing-includedirs.patch ];
diff --git a/pkgs/development/libraries/dotconf/default.nix b/pkgs/development/libraries/dotconf/default.nix
new file mode 100644
index 000000000000..9a71393badde
--- /dev/null
+++ b/pkgs/development/libraries/dotconf/default.nix
@@ -0,0 +1,18 @@
+{ fetchurl, stdenv }:
+
+stdenv.mkDerivation rec {
+  name = "dotconf-" + version;
+  version = "1.0.13";
+
+  src = fetchurl {
+    url = "http://www.azzit.de/dotconf/download/v1.0/dotconf-1.0.13.tar.gz";
+    sha256 = "0rcvi743jgnrq2p5gknnvsqiv47479y5gyc2g9pz7bp7v7bzlmc9";
+  };
+
+  meta = {
+    description = "A configuration parser library";
+
+    homepage = http://www.azzit.de/dotconf/;
+    license = "LGPLv21+";
+  };
+}
diff --git a/pkgs/development/libraries/dssi/default.nix b/pkgs/development/libraries/dssi/default.nix
new file mode 100644
index 000000000000..9074120d7dec
--- /dev/null
+++ b/pkgs/development/libraries/dssi/default.nix
@@ -0,0 +1,50 @@
+x@{builderDefsPackage
+  , ladspaH, jackaudio, liblo, alsaLib, qt4, libX11, libsndfile, libSM
+  , libsamplerate, libtool, autoconf, automake, xproto, libICE
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="dssi";
+    version="1.1.0";
+    project="${baseName}";
+    name="${baseName}-${version}";
+    url="mirror://sourceforge/project/${project}/${baseName}/${version}/${name}.tar.gz";
+    hash="0lwvyrsr9dm032rrhxad30k712q3arrbn7g898n3flg26hmw58yf";
+  };
+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 = ["doConfigure" "doMakeInstall"];
+      
+  meta = {
+    description = "A plugin SDK for virtual instruments";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+    license = a.lib.licenses.lgpl21;
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "http://sourceforge.net/projects/dssi/files/dssi/";
+    };
+  };
+}) x
+
diff --git a/pkgs/desktops/kde-4.6/support/eigen/default.nix b/pkgs/development/libraries/eigen/default.nix
similarity index 61%
rename from pkgs/desktops/kde-4.6/support/eigen/default.nix
rename to pkgs/development/libraries/eigen/default.nix
index e72de6c1b258..9cf94ca359f7 100644
--- a/pkgs/desktops/kde-4.6/support/eigen/default.nix
+++ b/pkgs/development/libraries/eigen/default.nix
@@ -8,13 +8,13 @@ stdenv.mkDerivation {
   src = fetchurl {
     url = "http://bitbucket.org/eigen/eigen/get/${v}.tar.bz2";
     name = "eigen-${v}.tar.bz2";
-    sha256 = "1a00hqyig4rc7nkz97xv23q7k0vdkzvgd0jkayk61fn9aqcrky79";
+    sha256 = "0frgmkwsgmqaw88qpgvfalisq0wjpcbgqbj6jhpk39nbrs3zcq83";
   };
-  buildInputs = [ cmake ];
-  meta = {
+  buildNativeInputs = [ cmake ];
+  meta = with stdenv.lib; {
     description = "C++ template library for linear algebra: vectors, matrices, and related algorithms";
-    license = "LGPL";
+    license = licenses.lgpl3Plus;
     homepage = http://eigen.tuxfamily.org ;
-    maintainers = with stdenv.lib.maintainers; [ sander urkud ];
+    maintainers = with stdenv.lib.maintainers; [ sander urkud raskin ];
   };
 }
diff --git a/pkgs/development/libraries/exosip/default.nix b/pkgs/development/libraries/exosip/default.nix
new file mode 100644
index 000000000000..905b2648dbd3
--- /dev/null
+++ b/pkgs/development/libraries/exosip/default.nix
@@ -0,0 +1,17 @@
+{stdenv, fetchurl, libosip, openssl, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  version = "3.5.0";
+  src = fetchurl {
+    url = http://download.savannah.gnu.org/releases/exosip/libeXosip2-3.5.0.tar.gz;
+    sha256 = "1z0s8qxxvyaksnnb9srfi3aipkkb7c1rsxdywl9xyxgnlri0w0a6";
+  };
+  name = "libexosip2-${version}";
+
+  buildInputs = [ libosip openssl pkgconfig ];
+      
+  meta = {
+    license = "GPLv2+";
+    description = "Library that hides the complexity of using the SIP protocol";
+  };
+}
diff --git a/pkgs/development/libraries/expat/cve-2009-3560.patch b/pkgs/development/libraries/expat/cve-2009-3560.patch
new file mode 100644
index 000000000000..71da9e393519
--- /dev/null
+++ b/pkgs/development/libraries/expat/cve-2009-3560.patch
@@ -0,0 +1,18 @@
+From: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/expat/files/expat-2.0.1-CVE-2009-3560-revised.patch?revision=1.1
+
+http://nvd.nist.gov/nvd.cfm?cvename=CVE-2009-3560
+http://bugs.gentoo.org/show_bug.cgi?id=303727
+http://cvs.fedoraproject.org/viewvc/rpms/expat/devel/
+
+--- a/lib/xmlparse.c
++++ b/lib/xmlparse.c
+@@ -3703,6 +3703,9 @@ doProlog(XML_Parser parser,
+         return XML_ERROR_UNCLOSED_TOKEN;
+       case XML_TOK_PARTIAL_CHAR:
+         return XML_ERROR_PARTIAL_CHAR;
++      case -XML_TOK_PROLOG_S:
++        tok = -tok;
++        break;
+       case XML_TOK_NONE:
+ #ifdef XML_DTD
+         /* for internal PE NOT referenced between declarations */
diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix
index cd546a58169c..35a2945207b4 100644
--- a/pkgs/development/libraries/expat/default.nix
+++ b/pkgs/development/libraries/expat/default.nix
@@ -1,7 +1,17 @@
-{stdenv, fetchurl}: stdenv.mkDerivation {
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
   name = "expat-2.0.1";
+  
   src = fetchurl {
     url = mirror://sourceforge/expat/expat-2.0.1.tar.gz;
     sha256 = "14sy5qx9hgjyfs743iq8ywldhp5w4n6cscqf2p4hgrw6vys60xl4";
   };
+
+  patches = [ ./cve-2009-3560.patch ];
+
+  meta = {
+    homepage = http://expat.sourceforge.net/;
+    description = "A stream-oriented XML parser library written in C";
+  };
 }
diff --git a/pkgs/development/libraries/flann/default.nix b/pkgs/development/libraries/flann/default.nix
new file mode 100644
index 000000000000..eaf4ed8836e3
--- /dev/null
+++ b/pkgs/development/libraries/flann/default.nix
@@ -0,0 +1,18 @@
+{stdenv, fetchurl, unzip, cmake, python}:
+
+stdenv.mkDerivation {
+  name = "flann-1.6.8";
+  
+  src = fetchurl {
+    url = http://people.cs.ubc.ca/~mariusm/uploads/FLANN/flann-1.6.8-src.zip;
+    sha256 = "0ag9k821jy0983gjrfsjnqkl5axklcih0qkpfy72h3643nin0f50";
+  };
+
+  buildInputs = [ unzip cmake python ];
+
+  meta = {
+    homepage = http://people.cs.ubc.ca/~mariusm/flann/;
+    license = "BSD";
+    description = "Fast approximate nearest neighbor searches in high dimensional spaces";
+  };
+}
diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix
index cac14642a3f0..7c630fd026ed 100644
--- a/pkgs/development/libraries/freetype/default.nix
+++ b/pkgs/development/libraries/freetype/default.nix
@@ -6,11 +6,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "freetype-2.4.1";
+  name = "freetype-2.4.4";
   
   src = fetchurl {
     url = "mirror://sourceforge/freetype/${name}.tar.bz2";
-    sha256 = "0gmyk6w7rbiiw7zjbyvkvp8wfl7q9n5576ifqq67qwsjdzlm9ja5";
+    sha256 = "1vqg93473j6jma1bxms7mczk32j8is0g9inkcmmmqdsdvk3q30jb";
   };
 
   configureFlags = "--disable-static";
diff --git a/pkgs/development/libraries/funambol/default.nix b/pkgs/development/libraries/funambol/default.nix
new file mode 100644
index 000000000000..589ffaba3f96
--- /dev/null
+++ b/pkgs/development/libraries/funambol/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, zlib, curl, automake, libtool, autoconf, unzip }:
+
+stdenv.mkDerivation rec {
+  name = "funambol-client-cpp-9.0.0";
+
+  src = fetchurl {
+    url = mirror://sourceforge/funambol/funambol-client-sdk-9.0.0.zip;
+    sha256 = "1667gahz30i5r8kbv7w415z0hbgm6f6pln1137l5skapi1if6r73";
+  };
+
+  postUnpack = ''sourceRoot+="/sdk/cpp/build/autotools"'';
+
+  # Upstream guys forgotten to run autoreconf...
+  preConfigure=''
+    libtoolize -c -f
+    aclocal
+    autoheader
+    automake -a -c -f --add-missing
+    autoconf -f'';
+
+  propagatedBuildInputs = [ zlib curl ];
+
+  buildNativeInputs = [ automake libtool autoconf unzip ];
+
+  meta = {
+    description = "SyncML client sdk by Funambol project";
+    homepage = http://www.funambol.com;
+    maintainers = [ stdenv.lib.maintainers.urkud ];
+  };
+}
diff --git a/pkgs/development/libraries/gdk-pixbuf/2.22.x.nix b/pkgs/development/libraries/gdk-pixbuf/2.22.x.nix
new file mode 100644
index 000000000000..e8e82367cd79
--- /dev/null
+++ b/pkgs/development/libraries/gdk-pixbuf/2.22.x.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, glib, libtiff, libjpeg, libpng, xlibs }:
+
+stdenv.mkDerivation rec {
+  name = "gdk-pixbuf-2.22.1";
+  
+  src = fetchurl {
+    url = "mirror://gnome/sources/gdk-pixbuf/2.22/${name}.tar.bz2";
+    sha256 = "6ce87eda24af9362307b2593c154d0b660f4e26d0abf2e71d46d0ddd55fd953d";
+  };
+
+  # !!! We might want to factor out the gdk-pixbuf-xlib subpackage.
+  buildInputs = [ pkgconfig glib libtiff libjpeg libpng xlibs.xlibs ];
+  
+  postInstall = "rm -rf $out/share/gtk-doc";
+  
+  meta = {
+    description = "A library for image loading and manipulation";
+
+    homepage = http://library.gnome.org/devel/gdk-pixbuf/;
+
+    maintainers = [ stdenv.lib.maintainers.eelco ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix
deleted file mode 100644
index bdeea121b43e..000000000000
--- a/pkgs/development/libraries/gdk-pixbuf/default.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{stdenv, fetchurl, gtk, libtiff, libjpeg, libpng}:
-
-stdenv.mkDerivation rec {
-  name = "gdk-pixbuf-0.22.0";
-
-  src = fetchurl {
-    url = "ftp://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/0.22/${name}.tar.bz2";
-    md5 = "05fcb68ceaa338614ab650c775efc2f2";
-  };
-
-  buildInputs = [libtiff libjpeg libpng];
-  propagatedBuildInputs = [gtk];
-}
diff --git a/pkgs/development/libraries/glib/2.24.x.nix b/pkgs/development/libraries/glib/2.24.x.nix
index 941697875b0c..db7dbdd5c185 100644
--- a/pkgs/development/libraries/glib/2.24.x.nix
+++ b/pkgs/development/libraries/glib/2.24.x.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, gettext, perl, libiconv, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "glib-2.24.1";
+  name = "glib-2.24.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/2.24/${name}.tar.bz2";
-    sha256 = "014c3da960bf17117371075c16495f05f36501db990851ceea658f15d2ea6d04";
+    sha256 = "030nl16xa2ps9bklm2l81w0yamsrj5a0x7rp4h9dshinpld55srs";
   };
 
   buildInputs = [ pkgconfig gettext ]
diff --git a/pkgs/development/libraries/glib/2.22.x.nix b/pkgs/development/libraries/glib/2.28.x.nix
similarity index 53%
rename from pkgs/development/libraries/glib/2.22.x.nix
rename to pkgs/development/libraries/glib/2.28.x.nix
index f9129f7ae4a5..a1ebaabbe06b 100644
--- a/pkgs/development/libraries/glib/2.22.x.nix
+++ b/pkgs/development/libraries/glib/2.28.x.nix
@@ -1,20 +1,24 @@
-{ stdenv, fetchurl, pkgconfig, gettext, perl, libiconv}:
+{ stdenv, fetchurl, pkgconfig, gettext, perl, libiconv, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "glib-2.22.5";
+  name = "glib-2.28.3";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/glib/2.22/${name}.tar.bz2";
-    sha256 = "802be9c9ffeb631725ffd6ed35af0af309776729a7fab4fcb48f2b0b8fe7245b";
+    url = "mirror://gnome/sources/glib/2.28/${name}.tar.bz2";
+    sha256 = "7e1ab62d0f0cdc3f0ce8214b77d104b3abbd51185a9f3fc9b6a504cce26f6fab";
   };
 
-  buildInputs = [pkgconfig gettext perl]
+  # configure script looks for d-bus but it is only needed for tests
+  buildInputs = [ pkgconfig gettext ]
                 ++ stdenv.lib.optional (!stdenv.isLinux) libiconv;
+  buildNativeInputs = [ perl ];
 
-  # The nbd package depends on a static version of this library; hence
-  # the default configure flag --disable-static is switched off.
-  dontDisableStatic = true;
-  configureFlags = "--enable-static --enable-shared";
+  propagatedBuildInputs = [ zlib ];
+
+  # glib buildsystem fails to find python, thus hardcodes python2.4 in #!
+  postInstall = ''
+    rm -rvf $out/share/gtk-doc
+    sed -e 's@python2\.4@python@' -i $out/bin/gtester-report'';
 
   meta = {
     description = "GLib, a C library of programming buildings blocks";
diff --git a/pkgs/development/libraries/glibc-2.5/binutils-ld.patch b/pkgs/development/libraries/glibc-2.5/binutils-ld.patch
new file mode 100644
index 000000000000..4cd7ab3cec34
--- /dev/null
+++ b/pkgs/development/libraries/glibc-2.5/binutils-ld.patch
@@ -0,0 +1,27 @@
+From 7c8a67320e26b8c11108bf0a3410d3aef9cf3486 Mon Sep 17 00:00:00 2001
+From: Ulrich Drepper <drepper@redhat.com>
+Date: Sat, 31 Jan 2009 00:21:15 +0000
+Subject: [PATCH] * elf/Makefile (ld.so): Adjust the sed script to insert _begin in to
+
+	newer linker scripts.
+---
+ ChangeLog    |    5 +++++
+ elf/Makefile |    4 ++--
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/elf/Makefile b/elf/Makefile
+index 8079fe9..e44ff1d 100644
+--- a/elf/Makefile
++++ b/elf/Makefile
+@@ -304,7 +304,7 @@ $(objpfx)ld.so: $(objpfx)librtld.os $(ld-map)
+ 		  $(LDFLAGS-rtld) -Wl,-z,defs -Wl,--verbose 2>&1 |	\
+ 		  LC_ALL=C \
+ 		  sed -e '/^=========/,/^=========/!d;/^=========/d'	\
+-		      -e 's/\. = 0 + SIZEOF_HEADERS;/& _begin = . - SIZEOF_HEADERS;/' \
++		      -e 's/\. = .* + SIZEOF_HEADERS;/& _begin = . - SIZEOF_HEADERS;/' \
+ 		  > $@.lds
+ 	$(LINK.o) -nostdlib -nostartfiles -shared -o $@			\
+ 		  $(LDFLAGS-rtld) -Wl,-z,defs $(z-now-$(bind-now))	\
+--
+1.6.4
+
diff --git a/pkgs/development/libraries/glibc-2.5/builder.sh b/pkgs/development/libraries/glibc-2.5/builder.sh
index 4cd0132e3700..bc80af83b926 100644
--- a/pkgs/development/libraries/glibc-2.5/builder.sh
+++ b/pkgs/development/libraries/glibc-2.5/builder.sh
@@ -19,6 +19,9 @@ preConfigure() {
             --replace "@PWD@" "pwd"
     done
 
+    # Fix shell code that tries to determine whether GNU ld is recent enough.
+    substituteInPlace configure --replace '2.1[3-9]*)' '2.1[3-9]*|2.[2-9][0-9]*)'
+
     mkdir ../build
     cd ../build
 
diff --git a/pkgs/development/libraries/glibc-2.5/default.nix b/pkgs/development/libraries/glibc-2.5/default.nix
index 83447d8fe8a9..8b8c204a4803 100644
--- a/pkgs/development/libraries/glibc-2.5/default.nix
+++ b/pkgs/development/libraries/glibc-2.5/default.nix
@@ -12,7 +12,8 @@ stdenv.mkDerivation {
     md5 = "1fb29764a6a650a4d5b409dda227ac9f";
   };
 
-  patches = [ ./glibc-pwd.patch ./glibc-getcwd-param-MAX.patch ./glibc-inline.patch ./x86-fnstsw.patch ];
+  patches = [ ./glibc-pwd.patch ./glibc-getcwd-param-MAX.patch ./glibc-inline.patch
+              ./x86-fnstsw.patch ./binutils-ld.patch ./make-3-82-fix.patch ];
 
   inherit kernelHeaders installLocales;
 
diff --git a/pkgs/development/libraries/glibc-2.5/make-3-82-fix.patch b/pkgs/development/libraries/glibc-2.5/make-3-82-fix.patch
new file mode 100644
index 000000000000..816e0aa528be
--- /dev/null
+++ b/pkgs/development/libraries/glibc-2.5/make-3-82-fix.patch
@@ -0,0 +1,14 @@
+--- glibc-2.5/manual/Makefile.orig	2011-01-26 17:03:14.000000000 +0100
++++ glibc-2.5/manual/Makefile	2011-01-26 17:04:30.000000000 +0100
+@@ -232,7 +232,10 @@
+ .PHONY: stubs
+ stubs: $(objpfx)stubs
+ endif
+-$(objpfx)stubs ../po/manual.pot $(objpfx)stamp%:
++$(objpfx)stubs ../po/manual.pot:
++	$(make-target-directory)
++	touch $@
++$(objpfx)stamp%:
+ 	$(make-target-directory)
+ 	touch $@
+ 
diff --git a/pkgs/development/libraries/gmime/2.2.x.nix b/pkgs/development/libraries/gmime/2.2.x.nix
deleted file mode 100644
index dc95dd2019de..000000000000
--- a/pkgs/development/libraries/gmime/2.2.x.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, zlib }:
-
-stdenv.mkDerivation rec {
-  name = "gmime-2.2.26";
-  
-  src = fetchurl {
-    url = "mirror://gnome/sources/gmime/2.2/${name}.tar.gz";
-    sha256 = "16inhq6symym9n71kxcndjwrxs2xrz63idvy64yc486wlg54aqfc";
-  };
-  
-  buildInputs = [ pkgconfig glib zlib ];
-
-  meta = {
-    homepage = http://spruce.sourceforge.net/gmime/;
-    description = "A C/C++ library for manipulating MIME messages";
-  };
-}
diff --git a/pkgs/development/libraries/gmime/default.nix b/pkgs/development/libraries/gmime/default.nix
index bd94a2633d4a..f5ae18f53c56 100644
--- a/pkgs/development/libraries/gmime/default.nix
+++ b/pkgs/development/libraries/gmime/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "gmime-2.4.17";
+  name = "gmime-2.4.22";
   
   src = fetchurl {
     url = "mirror://gnome/sources/gmime/2.4/${name}.tar.gz";
-    sha256 = "1l1pbk0yrr7zwl90aabdhw0f9i4m6ragsfyk5qwg0hzk21abz9wd";
+    sha256 = "0s93amrj7fh3p8lv770p7mrml07m6dps6srwi1wn76d2rfb944xn";
   };
   
   buildInputs = [ pkgconfig glib zlib ];
diff --git a/pkgs/development/libraries/gmp/4.nix b/pkgs/development/libraries/gmp/4.nix
index c5a59045bbe9..9fd5aeff6369 100644
--- a/pkgs/development/libraries/gmp/4.nix
+++ b/pkgs/development/libraries/gmp/4.nix
@@ -16,7 +16,14 @@ stdenv.mkDerivation rec {
 
   # Prevent the build system from using sub-architecture-specific
   # instructions (e.g., SSE2 on i686).
-  preConfigure = "ln -sf configfsf.guess config.guess";
+  #
+  # This is not a problem for Apple machines, which are all alike.  In
+  # addition, `configfsf.guess' would return `i386-apple-darwin10.2.0' on
+  # `x86_64-darwin', leading to a 32-bit ABI build, which is undesirable.
+  preConfigure =
+    if !stdenv.isDarwin
+    then "ln -sf configfsf.guess config.guess"
+    else ''echo "Darwin host is `./config.guess`."'';
 
   configureFlags = (if cxx then "--enable-cxx" else "--disable-cxx") +
       staticFlags;
diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix
index 04676611245d..0da25f3dd691 100644
--- a/pkgs/development/libraries/gnutls/default.nix
+++ b/pkgs/development/libraries/gnutls/default.nix
@@ -5,11 +5,11 @@ assert guileBindings -> guile != null;
 
 stdenv.mkDerivation rec {
 
-  name = "gnutls-2.10.4";
+  name = "gnutls-2.10.5";
 
   src = fetchurl {
     url = "mirror://gnu/gnutls/${name}.tar.bz2";
-    sha256 = "1j2zfjipvzqfamyygndckjksizb5dd7f9wazvfciwrzya1jf7gxq";
+    sha256 = "1jfrxd1h4f5kkfzrwx8yx6a2dwrgqr6imbxnil1jfi7hdr1db1n0";
   };
 
   configurePhase = ''
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index f5fed1e16049..96629b251978 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -1,22 +1,27 @@
-{ stdenv, fetchurl, glib, flex, bison, pkgconfig, libffi, python, cairo }:
+{ stdenv, fetchurl, glib, flex, bison, pkgconfig, libffi, python }:
 
 let
   baseName = "gobject-introspection";
-  v = "0.6.10";
+  v = "0.10.2";
 in
 
 stdenv.mkDerivation rec {
   name = "${baseName}-${v}";
 
-  buildInputs = [ flex bison glib pkgconfig python cairo ];
+  buildInputs = [ flex bison glib pkgconfig python ];
   propagatedBuildInputs = [ libffi ];
-  configureFlags = "--enable-gcov";
+
+  # Tests depend on cairo, which is undesirable (it pulls in lots of
+  # other dependencies).
+  configureFlags = "--disable-tests";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${baseName}/0.6/${name}.tar.bz2";
-    sha256 = "0jwd7bybgvg6dwhg64da8k9yjrs37y5p153gaaapz5j59ld53g9n";
+    url = "mirror://gnome/sources/${baseName}/0.10/${name}.tar.bz2";
+    sha256 = "18di6v39hibb6j39vs0a5icaafihfryh8250kz7x1q1313pvm62v";
   };
 
+  postInstall = "rm -rf $out/share/gtk-doc";
+
   meta = with stdenv.lib; {
     maintainers = [ maintainers.urkud ];
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/gsasl/default.nix b/pkgs/development/libraries/gsasl/default.nix
index 2e81a4806f8c..18bcb1b47af0 100644
--- a/pkgs/development/libraries/gsasl/default.nix
+++ b/pkgs/development/libraries/gsasl/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "gsasl-1.4.4";
+  name = "gsasl-1.6.0";
 
   src = fetchurl {
     url = "mirror://gnu/gsasl/${name}.tar.gz";
-    sha256 = "0xd9irff42dd5i4cr74dy0yd9ijjv9nkg6c2l1328grsn8zifwdc";
+    sha256 = "1panxrfy8f6gfhd3iqx1rssz7k473463xvnp6sxagrg4p83qz36a";
   };
 
   doCheck = true;
diff --git a/pkgs/development/libraries/gtk+/2.20.x.nix b/pkgs/development/libraries/gtk+/2.20.x.nix
index 38537aae5956..53ad76ced532 100644
--- a/pkgs/development/libraries/gtk+/2.20.x.nix
+++ b/pkgs/development/libraries/gtk+/2.20.x.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ pkgconfig jasper ];
   
   propagatedBuildInputs =
-    [ xlibs.xlibs glib atk pango libtiff libjpeg libpng cairo xlibs.libXrandr ]
+    [ xlibs.xlibs glib atk pango libtiff libjpeg libpng cairo xlibs.libXrandr xlibs.libXrender ]
     ++ stdenv.lib.optional xineramaSupport xlibs.libXinerama
     ++ stdenv.lib.optionals cupsSupport [ cups ];
 
diff --git a/pkgs/development/libraries/gtk+/2.18.x.nix b/pkgs/development/libraries/gtk+/2.24.x.nix
similarity index 66%
rename from pkgs/development/libraries/gtk+/2.18.x.nix
rename to pkgs/development/libraries/gtk+/2.24.x.nix
index 40ba6e13b225..e0e04dbace1e 100644
--- a/pkgs/development/libraries/gtk+/2.18.x.nix
+++ b/pkgs/development/libraries/gtk+/2.24.x.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, glib, atk, pango, libtiff, libjpeg
-, libpng, cairo, perl, jasper, xlibs
+, libpng, cairo, perl, jasper, xlibs, gdk_pixbuf
 , xineramaSupport ? true
 , cupsSupport ? true, cups ? null
 }:
@@ -8,21 +8,35 @@ assert xineramaSupport -> xlibs.libXinerama != null;
 assert cupsSupport -> cups != null;
 
 stdenv.mkDerivation rec {
-  name = "gtk+-2.18.9";
+  name = "gtk+-2.24.3";
   
   src = fetchurl {
-    url = "mirror://gnome/sources/gtk+/2.18/${name}.tar.bz2";
-    sha256 = "5dcd8c406acbb8779c0b081a089fa87dfd7ab4d7d4c6075db478997ce96aa9b4";
+    url = "mirror://gnome/sources/gtk+/2.24/${name}.tar.bz2";
+    sha256 = "336ddf3dd342cc36bee80dd4f86ef036044a2deb10cda67c8eecf5315b279ef7";
   };
+
+  patches =
+    [ # Fix broken icons such as the back/forward buttons in Firefox.
+      # http://bugs.gentoo.org/339319
+      ./old-icons.patch
+    ];
+
+  enableParallelBuilding = true;
   
   buildNativeInputs = [ perl ];
   buildInputs = [ pkgconfig jasper ];
   
   propagatedBuildInputs =
-    [ xlibs.xlibs glib atk pango libtiff libjpeg libpng cairo xlibs.libXrandr ]
+    [ xlibs.xlibs glib atk pango gdk_pixbuf /* libtiff libjpeg libpng */ cairo
+      xlibs.libXrandr xlibs.libXrender xlibs.libXcomposite xlibs.libXi
+    ]
     ++ stdenv.lib.optional xineramaSupport xlibs.libXinerama
     ++ stdenv.lib.optionals cupsSupport [ cups ];
 
+  configureFlags = "--with-xinput=yes";
+
+  postInstall = "rm -rf $out/share/gtk-doc";
+  
   passthru = { inherit libtiff libjpeg libpng; };
 
   meta = {
diff --git a/pkgs/development/libraries/gtk+/old-icons.patch b/pkgs/development/libraries/gtk+/old-icons.patch
new file mode 100644
index 000000000000..438ff244d07f
--- /dev/null
+++ b/pkgs/development/libraries/gtk+/old-icons.patch
@@ -0,0 +1,270 @@
+diff -ru -x '*~' gtk+-2.24.0-orig//gtk/Makefile.in gtk+-2.24.0//gtk/Makefile.in
+--- gtk+-2.24.0-orig//gtk/Makefile.in	2011-01-30 05:39:20.000000000 +0100
++++ gtk+-2.24.0//gtk/Makefile.in	2011-02-14 00:06:56.000000000 +0100
+@@ -1601,7 +1601,173 @@
+ 	stock-icons/24/folder-remote.png 		\
+ 	stock-icons/24/user-home.png 			\
+ 	stock-icons/24/user-desktop.png 		\
+-	stock-icons/24/text-x-generic.png
++	stock-icons/24/text-x-generic.png		\
++	stock-icons/16/gtk-quit.png			\
++	stock-icons/16/gtk-info.png			\
++	stock-icons/16/gtk-file.png			\
++	stock-icons/16/gtk-open.png			\
++	stock-icons/16/gtk-print-preview.png		\
++	stock-icons/16/gtk-print.png			\
++	stock-icons/16/gtk-properties.png		\
++	stock-icons/16/gtk-revert-to-saved-ltr.png	\
++	stock-icons/16/gtk-revert-to-saved-rtl.png	\
++	stock-icons/16/gtk-save-as.png			\
++	stock-icons/16/gtk-new.png			\
++	stock-icons/16/gtk-harddisk.png			\
++	stock-icons/16/gtk-clear.png			\
++	stock-icons/16/gtk-copy.png			\
++	stock-icons/16/gtk-cut.png			\
++	stock-icons/16/gtk-delete.png			\
++	stock-icons/16/gtk-find-and-replace.png		\
++	stock-icons/16/gtk-find.png			\
++	stock-icons/16/gtk-paste.png			\
++	stock-icons/16/gtk-redo-ltr.png			\
++	stock-icons/16/gtk-redo-rtl.png			\
++	stock-icons/16/gtk-select-all.png		\
++	stock-icons/16/gtk-undo-ltr.png			\
++	stock-icons/16/gtk-undo-rtl.png			\
++	stock-icons/16/gtk-directory.png		\
++	stock-icons/16/gtk-unindent-ltr.png		\
++	stock-icons/16/gtk-unindent-rtl.png		\
++	stock-icons/16/gtk-indent-ltr.png		\
++	stock-icons/16/gtk-indent-rtl.png		\
++	stock-icons/16/gtk-justify-center.png		\
++	stock-icons/16/gtk-justify-fill.png		\
++	stock-icons/16/gtk-justify-left.png		\
++	stock-icons/16/gtk-justify-right.png		\
++	stock-icons/16/gtk-bold.png			\
++	stock-icons/16/gtk-italic.png			\
++	stock-icons/16/gtk-strikethrough.png		\
++	stock-icons/16/gtk-underline.png		\
++	stock-icons/16/gtk-goto-bottom.png		\
++	stock-icons/16/gtk-go-down.png			\
++	stock-icons/16/gtk-goto-first-ltr.png		\
++	stock-icons/16/gtk-home.png			\
++	stock-icons/16/gtk-jump-to-ltr.png		\
++	stock-icons/16/gtk-jump-to-rtl.png		\
++	stock-icons/16/gtk-goto-last-ltr.png		\
++	stock-icons/16/gtk-go-forward-ltr.png		\
++	stock-icons/16/gtk-go-back-ltr.png		\
++	stock-icons/16/gtk-goto-top.png			\
++	stock-icons/16/gtk-go-up.png			\
++	stock-icons/16/gtk-about.png			\
++	stock-icons/16/gtk-help.png			\
++	stock-icons/16/gtk-missing-image.png		\
++	stock-icons/16/gtk-add.png			\
++	stock-icons/16/gtk-remove.png			\
++	stock-icons/16/gtk-floppy.png			\
++	stock-icons/16/gtk-cdrom.png			\
++	stock-icons/16/gtk-media-pause.png		\
++	stock-icons/16/gtk-media-play-ltr.png		\
++	stock-icons/16/gtk-media-play-rtl.png		\
++	stock-icons/16/gtk-media-stop.png		\
++	stock-icons/16/gtk-media-record.png		\
++	stock-icons/16/gtk-media-rewind-ltr.png		\
++	stock-icons/16/gtk-media-forward-ltr.png	\
++	stock-icons/16/gtk-media-previous-ltr.png	\
++	stock-icons/16/gtk-media-next-ltr.png		\
++	stock-icons/16/gtk-network.png			\
++	stock-icons/16/gtk-print-error.png		\
++	stock-icons/16/gtk-print-report.png		\
++	stock-icons/16/gtk-print-paused.png		\
++	stock-icons/16/gtk-print-warning.png		\
++	stock-icons/16/gtk-stop.png			\
++	stock-icons/16/gtk-execute.png			\
++	stock-icons/16/gtk-spell-check.png		\
++	stock-icons/16/gtk-fullscreen.png		\
++	stock-icons/16/gtk-refresh.png			\
++	stock-icons/16/gtk-leave-fullscreen.png		\
++	stock-icons/16/gtk-sort-ascending.png		\
++	stock-icons/16/gtk-sort-descending.png		\
++	stock-icons/16/gtk-close.png			\
++	stock-icons/16/gtk-zoom-fit.png			\
++	stock-icons/16/gtk-zoom-in.png			\
++	stock-icons/16/gtk-zoom-100.png			\
++	stock-icons/16/gtk-zoom-out.png			\
++	stock-icons/24/gtk-quit.png			\
++	stock-icons/24/gtk-info.png			\
++	stock-icons/24/gtk-file.png			\
++	stock-icons/24/gtk-open.png			\
++	stock-icons/24/gtk-print-preview.png		\
++	stock-icons/24/gtk-print.png			\
++	stock-icons/24/gtk-properties.png		\
++	stock-icons/24/gtk-revert-to-saved-ltr.png	\
++	stock-icons/24/gtk-revert-to-saved-rtl.png	\
++	stock-icons/24/gtk-save-as.png			\
++	stock-icons/24/gtk-new.png			\
++	stock-icons/24/gtk-harddisk.png			\
++	stock-icons/24/gtk-clear.png			\
++	stock-icons/24/gtk-copy.png			\
++	stock-icons/24/gtk-cut.png			\
++	stock-icons/24/gtk-delete.png			\
++	stock-icons/24/gtk-find-and-replace.png		\
++	stock-icons/24/gtk-find.png			\
++	stock-icons/24/gtk-paste.png			\
++	stock-icons/24/gtk-redo-ltr.png			\
++	stock-icons/24/gtk-redo-rtl.png			\
++	stock-icons/24/gtk-select-all.png		\
++	stock-icons/24/gtk-undo-ltr.png			\
++	stock-icons/24/gtk-undo-rtl.png			\
++	stock-icons/24/gtk-directory.png		\
++	stock-icons/24/gtk-unindent-ltr.png		\
++	stock-icons/24/gtk-unindent-rtl.png		\
++	stock-icons/24/gtk-indent-ltr.png		\
++	stock-icons/24/gtk-indent-rtl.png		\
++	stock-icons/24/gtk-justify-center.png		\
++	stock-icons/24/gtk-justify-fill.png		\
++	stock-icons/24/gtk-justify-left.png		\
++	stock-icons/24/gtk-justify-right.png		\
++	stock-icons/24/gtk-bold.png			\
++	stock-icons/24/gtk-italic.png			\
++	stock-icons/24/gtk-strikethrough.png		\
++	stock-icons/24/gtk-underline.png		\
++	stock-icons/24/gtk-goto-bottom.png		\
++	stock-icons/24/gtk-go-down.png			\
++	stock-icons/24/gtk-goto-first-ltr.png		\
++	stock-icons/24/gtk-home.png			\
++	stock-icons/24/gtk-jump-to-ltr.png		\
++	stock-icons/24/gtk-jump-to-rtl.png		\
++	stock-icons/24/gtk-goto-last-ltr.png		\
++	stock-icons/24/gtk-go-forward-ltr.png		\
++	stock-icons/24/gtk-go-back-ltr.png		\
++	stock-icons/24/gtk-goto-top.png			\
++	stock-icons/24/gtk-go-up.png			\
++	stock-icons/24/gtk-about.png			\
++	stock-icons/24/gtk-help.png			\
++	stock-icons/24/gtk-missing-image.png		\
++	stock-icons/24/gtk-add.png			\
++	stock-icons/24/gtk-remove.png			\
++	stock-icons/24/gtk-floppy.png			\
++	stock-icons/24/gtk-cdrom.png			\
++	stock-icons/24/gtk-media-pause.png		\
++	stock-icons/24/gtk-media-play-ltr.png		\
++	stock-icons/24/gtk-media-play-rtl.png		\
++	stock-icons/24/gtk-media-stop.png		\
++	stock-icons/24/gtk-media-record.png		\
++	stock-icons/24/gtk-media-rewind-ltr.png		\
++	stock-icons/24/gtk-media-forward-ltr.png	\
++	stock-icons/24/gtk-media-previous-ltr.png	\
++	stock-icons/24/gtk-media-next-ltr.png		\
++	stock-icons/24/gtk-network.png			\
++	stock-icons/24/gtk-print-error.png		\
++	stock-icons/24/gtk-print-report.png		\
++	stock-icons/24/gtk-print-paused.png		\
++	stock-icons/24/gtk-print-warning.png		\
++	stock-icons/24/gtk-stop.png			\
++	stock-icons/24/gtk-execute.png			\
++	stock-icons/24/gtk-spell-check.png		\
++	stock-icons/24/gtk-fullscreen.png		\
++	stock-icons/24/gtk-refresh.png			\
++	stock-icons/24/gtk-leave-fullscreen.png		\
++	stock-icons/24/gtk-sort-ascending.png		\
++	stock-icons/24/gtk-sort-descending.png		\
++	stock-icons/24/gtk-close.png			\
++	stock-icons/24/gtk-zoom-fit.png			\
++	stock-icons/24/gtk-zoom-in.png			\
++	stock-icons/24/gtk-zoom-100.png			\
++	stock-icons/24/gtk-zoom-out.png			\
++	stock-icons/48/gtk-dialog-error.png
++
+ 
+ @CROSS_COMPILING_FALSE@gtk_update_icon_cache_program = \
+ @CROSS_COMPILING_FALSE@	   ./gtk-update-icon-cache
+@@ -2873,7 +3039,91 @@
+ 	   && $(LN_S) folder.png user-desktop.png 			\
+ 	   && $(RM) text-x-generic.png 					\
+ 	   && $(LN_S) document-x-generic.png text-x-generic.png 	\
++	   && $(LN_S) application-exit.png gtk-quit.png			\
++	   && $(LN_S) dialog-information.png gtk-info.png			\
++	   && $(LN_S) document-new.png gtk-file.png			\
++	   && $(LN_S) document-open.png gtk-open.png			\
++	   && $(LN_S) document-print-preview.png gtk-print-preview.png			\
++	   && $(LN_S) document-print.png gtk-print.png			\
++	   && $(LN_S) document-properties.png gtk-properties.png			\
++	   && $(LN_S) document-revert-ltr.png gtk-revert-to-saved-ltr.png			\
++	   && $(LN_S) document-revert-rtl.png gtk-revert-to-saved-rtl.png			\
++	   && $(LN_S) document-save-as.png gtk-save-as.png			\
++	   && $(LN_S) document-x-generic.png gtk-new.png			\
++	   && $(LN_S) drive-harddisk.png gtk-harddisk.png			\
++	   && $(LN_S) edit-clear.png gtk-clear.png			\
++	   && $(LN_S) edit-copy.png gtk-copy.png			\
++	   && $(LN_S) edit-cut.png gtk-cut.png			\
++	   && $(LN_S) edit-delete.png gtk-delete.png			\
++	   && $(LN_S) edit-find-replace.png gtk-find-and-replace.png			\
++	   && $(LN_S) edit-find.png gtk-find.png			\
++	   && $(LN_S) edit-paste.png gtk-paste.png			\
++	   && $(LN_S) edit-redo-ltr.png gtk-redo-ltr.png			\
++	   && $(LN_S) edit-redo-rtl.png gtk-redo-rtl.png			\
++	   && $(LN_S) edit-select-all.png gtk-select-all.png			\
++	   && $(LN_S) edit-undo-ltr.png gtk-undo-ltr.png			\
++	   && $(LN_S) edit-undo-rtl.png gtk-undo-rtl.png			\
++	   && $(LN_S) folder.png gtk-directory.png			\
++	   && $(LN_S) format-indent-less-ltr.png gtk-unindent-ltr.png			\
++	   && $(LN_S) format-indent-less-rtl.png gtk-unindent-rtl.png			\
++	   && $(LN_S) format-indent-more-ltr.png gtk-indent-ltr.png			\
++	   && $(LN_S) format-indent-more-rtl.png gtk-indent-rtl.png			\
++	   && $(LN_S) format-justify-center.png gtk-justify-center.png			\
++	   && $(LN_S) format-justify-fill.png gtk-justify-fill.png			\
++	   && $(LN_S) format-justify-left.png gtk-justify-left.png			\
++	   && $(LN_S) format-justify-right.png gtk-justify-right.png			\
++	   && $(LN_S) format-text-bold.png gtk-bold.png			\
++	   && $(LN_S) format-text-italic.png gtk-italic.png			\
++	   && $(LN_S) format-text-strikethrough.png gtk-strikethrough.png			\
++	   && $(LN_S) format-text-underline.png gtk-underline.png			\
++	   && $(LN_S) go-bottom.png gtk-goto-bottom.png			\
++	   && $(LN_S) go-down.png gtk-go-down.png			\
++	   && $(LN_S) go-first-ltr.png gtk-goto-first-ltr.png			\
++	   && $(LN_S) go-home.png gtk-home.png			\
++	   && $(LN_S) go-jump-ltr.png gtk-jump-to-ltr.png			\
++	   && $(LN_S) go-jump-rtl.png gtk-jump-to-rtl.png			\
++	   && $(LN_S) go-last-ltr.png gtk-goto-last-ltr.png			\
++	   && $(LN_S) go-next-ltr.png gtk-go-forward-ltr.png			\
++	   && $(LN_S) go-previous-ltr.png gtk-go-back-ltr.png			\
++	   && $(LN_S) go-top.png gtk-goto-top.png			\
++	   && $(LN_S) go-up.png gtk-go-up.png			\
++	   && $(LN_S) help-about.png gtk-about.png			\
++	   && $(LN_S) help-contents.png gtk-help.png			\
++	   && $(LN_S) image-missing.png gtk-missing-image.png			\
++	   && $(LN_S) list-add.png gtk-add.png			\
++	   && $(LN_S) list-remove.png gtk-remove.png			\
++	   && $(LN_S) media-floppy.png gtk-floppy.png			\
++	   && $(LN_S) media-optical.png gtk-cdrom.png			\
++	   && $(LN_S) media-playback-pause.png gtk-media-pause.png			\
++	   && $(LN_S) media-playback-start-ltr.png gtk-media-play-ltr.png			\
++	   && $(LN_S) media-playback-start-rtl.png gtk-media-play-rtl.png			\
++	   && $(LN_S) media-playback-stop.png gtk-media-stop.png			\
++	   && $(LN_S) media-record.png gtk-media-record.png			\
++	   && $(LN_S) media-seek-backward-ltr.png gtk-media-rewind-ltr.png			\
++	   && $(LN_S) media-seek-forward-ltr.png gtk-media-forward-ltr.png			\
++	   && $(LN_S) media-skip-backward-ltr.png gtk-media-previous-ltr.png			\
++	   && $(LN_S) media-skip-forward-ltr.png gtk-media-next-ltr.png			\
++	   && $(LN_S) network-idle.png gtk-network.png			\
++	   && $(LN_S) printer-error.png gtk-print-error.png			\
++	   && $(LN_S) printer-info.png gtk-print-report.png			\
++	   && $(LN_S) printer-paused.png gtk-print-paused.png			\
++	   && $(LN_S) printer-warning.png gtk-print-warning.png			\
++	   && $(LN_S) process-stop.png gtk-stop.png			\
++	   && $(LN_S) system-run.png gtk-execute.png			\
++	   && $(LN_S) tools-check-spelling.png gtk-spell-check.png			\
++	   && $(LN_S) view-fullscreen.png gtk-fullscreen.png			\
++	   && $(LN_S) view-refresh.png gtk-refresh.png			\
++	   && $(LN_S) view-restore.png gtk-leave-fullscreen.png			\
++	   && $(LN_S) view-sort-ascending.png gtk-sort-ascending.png			\
++	   && $(LN_S) view-sort-descending.png gtk-sort-descending.png			\
++	   && $(LN_S) window-close.png gtk-close.png			\
++	   && $(LN_S) zoom-fit-best.png gtk-zoom-fit.png			\
++	   && $(LN_S) zoom-in.png gtk-zoom-in.png			\
++	   && $(LN_S) zoom-original.png gtk-zoom-100.png			\
++	   && $(LN_S) zoom-out.png gtk-zoom-out.png			\
+ 	) done 								\
++	&& (cd stock-icons/48						\
++	   && $(LN_S) dialog-error.png gtk-dialog-error.png)		\
+ 	&& touch stamp-icons
+ 
+ gtkbuiltincache.h: @REBUILD@ stamp-icons
diff --git a/pkgs/development/libraries/gts/default.nix b/pkgs/development/libraries/gts/default.nix
new file mode 100644
index 000000000000..b3038d5eaddb
--- /dev/null
+++ b/pkgs/development/libraries/gts/default.nix
@@ -0,0 +1,28 @@
+{ fetchurl, stdenv, glib, pkgconfig }:
+
+
+stdenv.mkDerivation rec {
+  name = "gts-${version}";
+  version = "0.7.6";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/gts/${name}.tar.gz";
+    sha256 = "07mqx09jxh8cv9753y2d2jsv7wp8vjmrd7zcfpbrddz3wc9kx705";
+  };
+
+  buildInputs = [ glib pkgconfig ];
+
+  meta = {
+    homepage = http://gts.sourceforge.net/;
+    license = "LGPLv2+";
+    description = "GNU Triangulated Surface Library";
+
+    longDescription = ''
+      Library intended to provide a set of useful functions to deal with
+      3D surfaces meshed with interconnected triangles.
+    '';
+
+    maintainers = [ stdenv.lib.maintainers.viric ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/haskell/AC-Vector/default.nix b/pkgs/development/libraries/haskell/AC-Vector/default.nix
new file mode 100644
index 000000000000..0eacf3249b92
--- /dev/null
+++ b/pkgs/development/libraries/haskell/AC-Vector/default.nix
@@ -0,0 +1,13 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "AC-Vector";
+  version = "2.3.1";
+  sha256 = "0nmj57czqcik23j9iqxbdwqg73n5n1kc9akhp0wywrbkklgf79a0";
+  meta = {
+    description = "Efficient geometric vectors and transformations";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/Agda/default.nix b/pkgs/development/libraries/haskell/Agda/default.nix
index c0493ecec992..160925482a4a 100644
--- a/pkgs/development/libraries/haskell/Agda/default.nix
+++ b/pkgs/development/libraries/haskell/Agda/default.nix
@@ -1,13 +1,15 @@
-{cabal, QuickCheck, binary, haskeline, haskellSrc, mtl, utf8String, xhtml, zlib,
+{cabal, QuickCheck, binary, haskeline, haskellSrcExts, mtl, utf8String,
+ syb, xhtml, zlib,
  happy, alex}:
 
 cabal.mkDerivation (self : {
   pname = "Agda";
-  version = "2.2.8";
-  sha256 = "06j2s7x3h5lanygd6mhhxkzjf4c0m8pw6c0s7gbmwlxqrkz9firg";
+  version = "2.2.10";
+  sha256 = "1bh96g5c6b6jzaf3m9gm0vr64avgi86kb45p8i1vg1jbfjdbdlsw";
   extraBuildInputs = [happy alex];
   propagatedBuildInputs =
-    [QuickCheck binary haskeline haskellSrc mtl utf8String xhtml zlib];
+    [QuickCheck binary haskeline haskellSrcExts mtl utf8String
+     syb xhtml zlib];
   meta = {
     description = "A dependently typed functional language and proof assistant";
     maintainers = [self.stdenv.lib.maintainers.andres];
diff --git a/pkgs/development/libraries/haskell/GLUT/default.nix b/pkgs/development/libraries/haskell/GLUT/2.1.1.2.nix
similarity index 100%
rename from pkgs/development/libraries/haskell/GLUT/default.nix
rename to pkgs/development/libraries/haskell/GLUT/2.1.1.2.nix
diff --git a/pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix b/pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix
index 0b0b04b2a901..5ac0b612e631 100644
--- a/pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix
+++ b/pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "GLUT";
-  version = "2.1.2.1"; # Haskell Platform 2010.1.0.0 and 2010.2.0.0
-  sha256 = "0230bfacbfb85c126f1fba45fcd8d02f20da9ee19180b5ada698224362d17264";
+  version = "2.1.2.1"; # Haskell Platform 2010.1.0.0, 2010.2.0.0, 2011.2.0.0
+  sha256 = "0r3js5i468lqlsnvb04iw6gdl81gs3cgqids3xpi4p5qpynbyc02";
   propagatedBuildInputs = [OpenGL glut libSM libICE libXmu libXi mesa];
   meta = {
     description = "A binding for the OpenGL Utility Toolkit";
diff --git a/pkgs/development/libraries/haskell/HAppS/HAppS-Data.nix b/pkgs/development/libraries/haskell/HAppS/HAppS-Data.nix
deleted file mode 100644
index e41cd9515a83..000000000000
--- a/pkgs/development/libraries/haskell/HAppS/HAppS-Data.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{cabal, mtl, sybWithClass, HaXml, HAppSUtil, bytestring, binary}:
-
-cabal.mkDerivation (self : {
-    pname = "HAppS-Data";
-    version = "0.9.3";
-    sha256 = "b23c6f4a949927194e47f9781edc3b7d38513210de4a24987859d68b375bc335";
-    propagatedBuildInputs = [mtl sybWithClass HaXml HAppSUtil bytestring binary];
-    meta = {
-        description = ''HAppS data manipulation libraries'';
-        longDescription = ''
-          This package provides libraries for:
-
-            * Deriving instances for your datatypes.
-
-            * Producing default values of Haskell datatypes.
-
-            * Normalizing values of Haskell datatypes.
-
-            * Marshalling Haskell values to and from XML.
-
-            * Marshalling Haskell values to and from HTML forms.
-        '';
-        license = "free";
-    };
-})
diff --git a/pkgs/development/libraries/haskell/HAppS/HAppS-IxSet.nix b/pkgs/development/libraries/haskell/HAppS/HAppS-IxSet.nix
deleted file mode 100644
index 57aafa82eb45..000000000000
--- a/pkgs/development/libraries/haskell/HAppS/HAppS-IxSet.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{cabal, mtl, hslogger, HAppSUtil, HAppSState, HAppSData, sybWithClass}:
-
-cabal.mkDerivation (self : {
-    pname = "HAppS-IxSet";
-    version = "0.9.3";
-    sha256 = "ebacd72e153bbcafb18bf4fa607550de98f8a991e9cfd8314b572cacf155a372";
-    propagatedBuildInputs = [mtl hslogger HAppSUtil HAppSState HAppSData sybWithClass];
-    meta = {
-        longDescription = ''Web framework'';
-        license = "free";
-    };
-})
diff --git a/pkgs/development/libraries/haskell/HAppS/HAppS-Server.nix b/pkgs/development/libraries/haskell/HAppS/HAppS-Server.nix
deleted file mode 100644
index 02b3b58f73a3..000000000000
--- a/pkgs/development/libraries/haskell/HAppS/HAppS-Server.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{cabal, HaXml, parsec, mtl, network, hslogger, HAppSData, HAppSUtil, HAppSState, HAppSIxSet, HTTP, xhtml, html, bytestring}:
-
-cabal.mkDerivation (self : {
-    pname = "HAppS-Server";
-    version = "0.9.3.1";
-    sha256 = "b03129f332c35cd558b0f32bc626321dcfa2647dd7ddf67f3403eca8c4c52038";
-    propagatedBuildInputs = [HaXml parsec mtl network hslogger HAppSData HAppSUtil HAppSState HAppSIxSet HTTP xhtml html bytestring];
-    meta = {
-        description = ''Web related tools and services.'';
-        longDescription = ''Web framework'';
-        license = "free";
-    };
-})
diff --git a/pkgs/development/libraries/haskell/HAppS/HAppS-State.nix b/pkgs/development/libraries/haskell/HAppS/HAppS-State.nix
deleted file mode 100644
index 04fea3f778a0..000000000000
--- a/pkgs/development/libraries/haskell/HAppS/HAppS-State.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{cabal, HaXml, mtl, network, stm, hslogger, HAppSUtil, HAppSData, bytestring, binary, hspread}:
-
-cabal.mkDerivation (self : {
-    pname = "HAppS-State";
-    version = "0.9.3";
-    sha256 = "5099e635f8fcf56f775947a241a24e1aab6eb6d9fee0406e6a2169c4c8b331e4";
-    propagatedBuildInputs = [HaXml mtl network stm hslogger HAppSUtil HAppSData bytestring binary hspread];
-    meta = {
-        description = ''Event-based distributed state.'';
-        longDescription = ''Web framework'';
-        license = "free";
-    };
-})
diff --git a/pkgs/development/libraries/haskell/HAppS/HAppS-Util.nix b/pkgs/development/libraries/haskell/HAppS/HAppS-Util.nix
deleted file mode 100644
index 9f55cc2fa6da..000000000000
--- a/pkgs/development/libraries/haskell/HAppS/HAppS-Util.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{cabal, mtl, hslogger, bytestring}:
-
-cabal.mkDerivation (self : {
-    pname = "HAppS-Util";
-    version = "0.9.3";
-    sha256 = "f9120d256e37111b6203dfc4eb598dd438c87e53bb9eb37258c999dd49b8e655";
-    propagatedBuildInputs = [mtl hslogger bytestring];
-    meta = {
-        description = ''Web framework'';
-        license = "free";
-    };
-})
diff --git a/pkgs/development/libraries/haskell/HStringTemplate/default.nix b/pkgs/development/libraries/haskell/HStringTemplate/default.nix
index 0d9c34b890e6..40909a25cce5 100644
--- a/pkgs/development/libraries/haskell/HStringTemplate/default.nix
+++ b/pkgs/development/libraries/haskell/HStringTemplate/default.nix
@@ -1,10 +1,10 @@
-{cabal, parsec, time, text, utf8String, parallel}:
+{cabal, parsec, time, text, utf8String, parallel, syb}:
 
 cabal.mkDerivation (self : {
   pname = "HStringTemplate";
-  version = "0.6.5";
-  sha256 = "e40b69e22900f381ca7fb080ea6e70d623e52e909bd7b896bc24e15c8e43252c";
-  propagatedBuildInputs = [parsec time text utf8String parallel];
+  version = "0.6.6";
+  sha256 = "1ian79az5q6m08pwb5fks52ffs4h2mq02kkcwmr6jb7i0ha2k2si";
+  propagatedBuildInputs = [parsec time text utf8String parallel syb];
   meta = {
     description = "StringTemplate implementation in Haskell";
   };
diff --git a/pkgs/development/libraries/haskell/HTTP/3001.nix b/pkgs/development/libraries/haskell/HTTP/3001.1.5.nix
similarity index 100%
rename from pkgs/development/libraries/haskell/HTTP/3001.nix
rename to pkgs/development/libraries/haskell/HTTP/3001.1.5.nix
diff --git a/pkgs/development/libraries/haskell/HTTP/default.nix b/pkgs/development/libraries/haskell/HTTP/4000.0.6.nix
similarity index 100%
rename from pkgs/development/libraries/haskell/HTTP/default.nix
rename to pkgs/development/libraries/haskell/HTTP/4000.0.6.nix
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.1.1.nix b/pkgs/development/libraries/haskell/HTTP/4000.1.1.nix
new file mode 100644
index 000000000000..686ca44654ea
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HTTP/4000.1.1.nix
@@ -0,0 +1,12 @@
+{cabal, mtl, network, parsec}:
+
+cabal.mkDerivation (self : {
+  pname = "HTTP";
+  version = "4000.1.1"; # Haskell Platform 2011.2.0.0
+  sha256 = "09khx5fb673a0d7m3bl39xjdxvc60m52rmm4865cha2mby0zidy3";
+  propagatedBuildInputs = [mtl network parsec];
+  meta = {
+    description = "a Haskell library for client-side HTTP";
+  };
+})
+
diff --git a/pkgs/development/libraries/haskell/HUnit/default.nix b/pkgs/development/libraries/haskell/HUnit/1.2.0.3.nix
similarity index 100%
rename from pkgs/development/libraries/haskell/HUnit/default.nix
rename to pkgs/development/libraries/haskell/HUnit/1.2.0.3.nix
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.2.3.nix b/pkgs/development/libraries/haskell/HUnit/1.2.2.3.nix
new file mode 100644
index 000000000000..6b49db162277
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HUnit/1.2.2.3.nix
@@ -0,0 +1,11 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "HUnit";
+  version = "1.2.2.3"; # Haskell Platform 2011.2.0.0
+  sha256 = "158i6s014ybh5bflzspd21qzdlhdyk89yqpmk8kwc59lxjvvjsxz";
+  meta = {
+    description = "A unit testing framework for Haskell";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/HaXml/default.nix b/pkgs/development/libraries/haskell/HaXml/1.13.3.nix
similarity index 100%
rename from pkgs/development/libraries/haskell/HaXml/default.nix
rename to pkgs/development/libraries/haskell/HaXml/1.13.3.nix
diff --git a/pkgs/development/libraries/haskell/HaXml/1.20.2.nix b/pkgs/development/libraries/haskell/HaXml/1.20.2.nix
new file mode 100644
index 000000000000..188377b8e948
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HaXml/1.20.2.nix
@@ -0,0 +1,12 @@
+{cabal, polyparse}:
+
+cabal.mkDerivation (self : {
+  pname = "HaXml";
+  version = "1.20.2";
+  sha256 = "05kmr2ablinnrg3x1xr19g5kzzby322lblvcvhwbkv26ajwi0b63";
+  propagatedBuildInputs = [polyparse];
+  meta = {
+    description = "Haskell utilities for parsing, filtering, transforming and generating XML documents.";
+  };
+})
+
diff --git a/pkgs/development/libraries/haskell/JsContracts/default.nix b/pkgs/development/libraries/haskell/JsContracts/default.nix
new file mode 100644
index 000000000000..38af9e3e7912
--- /dev/null
+++ b/pkgs/development/libraries/haskell/JsContracts/default.nix
@@ -0,0 +1,13 @@
+{cabal, WebBits, WebBitsHtml}:
+
+cabal.mkDerivation (self : {
+  pname = "JsContracts";
+  version = "0.5.3";
+  sha256 = "17l6kdpdc7lrpd9j4d2b6vklkpclshcjy6hzpi442b7pj96sn589";
+
+  propagatedBuildInputs = [ WebBits WebBitsHtml ];
+
+  meta = {
+    description = "Design-by-contract for JavaScript.";
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ListLike/default.nix b/pkgs/development/libraries/haskell/ListLike/default.nix
new file mode 100644
index 000000000000..83aeeb88f877
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ListLike/default.nix
@@ -0,0 +1,12 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "ListLike";
+  version = "3.0.1";
+  sha256 = "1366ipy33fphjjk583c62rsyfwh36i5lbnip1v8r089c9glvwkxf";
+  meta = {
+    description = "Generic support for list-like structures";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/OpenGL/default.nix b/pkgs/development/libraries/haskell/OpenGL/2.2.1.1.nix
similarity index 100%
rename from pkgs/development/libraries/haskell/OpenGL/default.nix
rename to pkgs/development/libraries/haskell/OpenGL/2.2.1.1.nix
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.2.3.0.nix b/pkgs/development/libraries/haskell/OpenGL/2.2.3.0.nix
index 46e0fd0dad75..c11b3612a455 100644
--- a/pkgs/development/libraries/haskell/OpenGL/2.2.3.0.nix
+++ b/pkgs/development/libraries/haskell/OpenGL/2.2.3.0.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "OpenGL";
-  version = "2.2.3.0"; # Haskell Platform 2010.1.0.0 and 2010.2.0.0
-  sha256 = "a75c3277bb20fda9a4ac1eb0e838fe4b5baf92f5539466b92bd255626afb0502";
+  version = "2.2.3.0"; # Haskell Platform 2010.1.0.0, 2010.2.0.0, 2011.2.0.0
+  sha256 = "00h5zdm64mfj5fwnd52kyn9aynsbzqwfic0ymjjakz90pdvk4p57";
   propagatedBuildInputs = [mesa libX11];
   meta = {
     description = "A binding for the OpenGL graphics system";
diff --git a/pkgs/development/libraries/haskell/QuickCheck/default.nix b/pkgs/development/libraries/haskell/QuickCheck/1.2.0.0.nix
similarity index 100%
rename from pkgs/development/libraries/haskell/QuickCheck/default.nix
rename to pkgs/development/libraries/haskell/QuickCheck/1.2.0.0.nix
diff --git a/pkgs/development/libraries/haskell/QuickCheck/1.2.0.1.nix b/pkgs/development/libraries/haskell/QuickCheck/1.2.0.1.nix
new file mode 100644
index 000000000000..e305874bef9e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/QuickCheck/1.2.0.1.nix
@@ -0,0 +1,11 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "QuickCheck";
+  version = "1.2.0.1"; # version of QuickCheck1 compatible with base-4
+  sha256 = "1gxpvbc0ab4n35b5zcbzng8qc7y3mzgym8cj42bci984f08y1bld";
+  meta = {
+    description = "Automatic testing of Haskell programs";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/QuickCheck/QuickCheck-2.nix b/pkgs/development/libraries/haskell/QuickCheck/2.1.1.1.nix
similarity index 100%
rename from pkgs/development/libraries/haskell/QuickCheck/QuickCheck-2.nix
rename to pkgs/development/libraries/haskell/QuickCheck/2.1.1.1.nix
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.4.0.1.nix b/pkgs/development/libraries/haskell/QuickCheck/2.4.0.1.nix
new file mode 100644
index 000000000000..dd00a888fce6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/QuickCheck/2.4.0.1.nix
@@ -0,0 +1,14 @@
+{cabal, mtl}:
+
+cabal.mkDerivation (self : {
+  pname = "QuickCheck";
+  version = "2.4.0.1"; # Haskell Platform 2011.2.0.0
+  sha256 = "1x7jc2svpxbll8qkrbswh5q59sqcjf2v5a6jnqslf5gwr5qpq18r";
+  propagatedBuildInputs = [mtl];
+  meta = {
+    description = "Automatic testing of Haskell programs";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/SHA/default.nix b/pkgs/development/libraries/haskell/SHA/default.nix
index f958ec713a15..67d41c384222 100644
--- a/pkgs/development/libraries/haskell/SHA/default.nix
+++ b/pkgs/development/libraries/haskell/SHA/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "SHA";
-  version = "1.4.1.1";
-  sha256 = "8ecdc91679d1aa1d4050e1124cf5af79ae2ece66aee3b907e1078d71bf03169a";
+  version = "1.4.1.3";
+  sha256 = "1sx68mvzb2y3dq9hk769fzp8vw4jf4hk5v45i0a9a8b31imlicf0";
   propagatedBuildInputs = [binary];
   meta = {
     description = "Implementations of the SHA suite of message digest functions";
diff --git a/pkgs/development/libraries/haskell/WebBits-Html/default.nix b/pkgs/development/libraries/haskell/WebBits-Html/default.nix
new file mode 100644
index 000000000000..decc9b7d89c1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/WebBits-Html/default.nix
@@ -0,0 +1,13 @@
+{cabal, WebBits}:
+
+cabal.mkDerivation (self : {
+  pname = "WebBits-Html";
+  version = "1.0.1";
+  sha256 = "134rmm5ccfsjdr0pdwn2mf81l81rgxapa3wjjfjkxrkxq6hav35n";
+
+  propagatedBuildInputs = [ WebBits ];
+
+  meta = {
+    description = "WebBits is a collection of libraries for working with JavaScript embeded in HTML files.";
+  };
+})
diff --git a/pkgs/development/libraries/haskell/WebBits/1.0.nix b/pkgs/development/libraries/haskell/WebBits/1.0.nix
new file mode 100644
index 000000000000..530252017fbc
--- /dev/null
+++ b/pkgs/development/libraries/haskell/WebBits/1.0.nix
@@ -0,0 +1,13 @@
+{cabal, mtl, parsec, syb}:
+
+cabal.mkDerivation (self : {
+  pname = "WebBits";
+  version = "1.0";
+  sha256 = "1xqk4ajywlaq9nb9a02i7c25na5p2qbpc2k9zw93gbapppjiapsc";
+
+  propagatedBuildInputs = [ mtl parsec syb ];
+
+  meta = {
+    description = "WebBits is a collection of libraries for working with JavaScript.";
+  };
+})
diff --git a/pkgs/development/libraries/haskell/WebBits/default.nix b/pkgs/development/libraries/haskell/WebBits/default.nix
new file mode 100644
index 000000000000..34592febd8b1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/WebBits/default.nix
@@ -0,0 +1,13 @@
+{cabal, mtl, parsec, syb}:
+
+cabal.mkDerivation (self : {
+  pname = "WebBits";
+  version = "2.0";
+  sha256 = "14a1rqlq925f6rdbi8yx44xszj5pvskcmw1gi1bj8hbilgmlwi7f";
+
+  propagatedBuildInputs = [ mtl parsec syb ];
+
+  meta = {
+    description = "WebBits is a collection of libraries for working with JavaScript.";
+  };
+})
diff --git a/pkgs/development/libraries/haskell/X11/default.nix b/pkgs/development/libraries/haskell/X11/default.nix
index 214cc3aecc7d..70956b068705 100644
--- a/pkgs/development/libraries/haskell/X11/default.nix
+++ b/pkgs/development/libraries/haskell/X11/default.nix
@@ -1,4 +1,4 @@
-{cabal, libX11, xineramaSupport ? true, libXinerama ? null, libXext ? null}:
+{cabal, syb, libX11, xineramaSupport ? true, libXinerama ? null, libXext ? null}:
 
 assert xineramaSupport -> (libXinerama != null && libXext != null);
 
@@ -6,7 +6,7 @@ cabal.mkDerivation (self : {
   pname = "X11";
   version = "1.5.0.0";
   sha256 = "653ff8aa4053574a36dbb1729459df6e5a1a87a223bc3eeced8e40c6e3a5406f";
-  propagatedBuildInputs = [libX11] ++ (if xineramaSupport then [libXinerama libXext] else []);
+  propagatedBuildInputs = [libX11 syb] ++ (if xineramaSupport then [libXinerama libXext] else []);
   meta = {
     description = "A Haskell binding to the X11 graphics library";
   };
diff --git a/pkgs/development/libraries/haskell/blaze-builder/default.nix b/pkgs/development/libraries/haskell/blaze-builder/default.nix
index 3a9e8b8e4cb7..8eed52f1cee5 100644
--- a/pkgs/development/libraries/haskell/blaze-builder/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-builder/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "blaze-builder";
-  version = "0.1";
-  sha256 = "dc4c542a39cf9e82b6a7ca99d6f460d6fa8dc4c8f648224368eac3fe054127c5";
+  version = "0.2.1.4";
+  sha256 = "0r0lj2whwa1v99gx59l56af06w704qvv1vhkxlca86h7iri4b262";
   propagatedBuildInputs = [text];
   meta = {
     description = "Builder to efficiently append text";
diff --git a/pkgs/development/libraries/haskell/blaze-html/default.nix b/pkgs/development/libraries/haskell/blaze-html/default.nix
index 5c9cfeb114a8..9d7950ced1fb 100644
--- a/pkgs/development/libraries/haskell/blaze-html/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-html/default.nix
@@ -1,10 +1,10 @@
-{cabal, text}:
+{cabal, text, blazeBuilder}:
 
 cabal.mkDerivation (self : {
   pname = "blaze-html";
-  version = "0.1.2";
-  sha256 = "c1e65e3d23e90a3830ceee69ecfac65c7a8a045da06443fb7690609a59480f5f";
-  propagatedBuildInputs = [text];
+  version = "0.4.1.0";
+  sha256 = "0a39wzfsb8lsr0z8c0s90n6pwmhjg6lihbxigk2c02vn5marzc4f";
+  propagatedBuildInputs = [text blazeBuilder];
   meta = {
     description = "A blazingly fast HTML combinator library";
     license = "BSD";
diff --git a/pkgs/development/libraries/haskell/cabal/cabal.nix b/pkgs/development/libraries/haskell/cabal/cabal.nix
index d46b2580918f..df975a877fde 100644
--- a/pkgs/development/libraries/haskell/cabal/cabal.nix
+++ b/pkgs/development/libraries/haskell/cabal/cabal.nix
@@ -3,9 +3,9 @@
 {stdenv, fetchurl, lib, ghc, enableLibraryProfiling ? false} :
 {
   mkDerivation =
-    transform :
-    let dtransform =
-          self : {
+    args : # arguments for the individual package, can modify the defaults
+    let defaults =
+          self : { # self is the final version of the attribute set
 
             # pname should be defined by the client to be the package basename
             # version should be defined by the client to be the package version
@@ -77,7 +77,7 @@
               ./Setup build
 
               export GHC_PACKAGE_PATH=$(ghc-packages)
-              [ -n "$noHadock" ] || ./Setup haddock
+              [ -n "$noHaddock" ] || ./Setup haddock
 
               eval "$postBuild"
             '';
@@ -115,5 +115,5 @@
             # in Cabal derivations.
             inherit stdenv ghc;
           };
-    in  stdenv.mkDerivation ((rec { f = dtransform f // transform f; }).f);
+    in  stdenv.mkDerivation ((rec { f = defaults f // args f; }).f);
 }
diff --git a/pkgs/development/libraries/haskell/cairo/default.nix b/pkgs/development/libraries/haskell/cairo/default.nix
index 98fc62c05680..69b2ecad422c 100644
--- a/pkgs/development/libraries/haskell/cairo/default.nix
+++ b/pkgs/development/libraries/haskell/cairo/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "cairo";
-  version = "0.11.1";
-  sha256 = "6d7209bcdb92b09437980c51646c324f501edd2893393e48aa185462dfc07b58";
+  version = "0.12.0";
+  sha256 = "0n2sqbf8wjjvm5m1igkq685vqvc0lil3gmcs3i0g9hy7lsjnlwr9";
   extraBuildInputs = [pkgconfig glibc cairo zlib gtk2hsBuildtools];
   propagatedBuildInputs = [mtl];
   meta = {
diff --git a/pkgs/development/libraries/haskell/cgi/default.nix b/pkgs/development/libraries/haskell/cgi/3001.1.7.1.nix
similarity index 100%
rename from pkgs/development/libraries/haskell/cgi/default.nix
rename to pkgs/development/libraries/haskell/cgi/3001.1.7.1.nix
diff --git a/pkgs/development/libraries/haskell/cgi/3001.1.7.4.nix b/pkgs/development/libraries/haskell/cgi/3001.1.7.4.nix
new file mode 100644
index 000000000000..6b411ef7eca5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/cgi/3001.1.7.4.nix
@@ -0,0 +1,12 @@
+{cabal, mtl, network, parsec, xhtml}:
+
+cabal.mkDerivation (self : {
+  pname = "cgi";
+  version = "3001.1.7.4"; # Haskell Platform 2011.2.0.0
+  sha256 = "1fiild4djzhyz683kwwb0k4wvhd89ihbn6vncjl270xvwj5xmrbd";
+  propagatedBuildInputs = [mtl network parsec xhtml];
+  meta = {
+    description = "A library for writing CGI programs";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/citeproc-hs/default.nix b/pkgs/development/libraries/haskell/citeproc-hs/default.nix
new file mode 100644
index 000000000000..1b41e6f33273
--- /dev/null
+++ b/pkgs/development/libraries/haskell/citeproc-hs/default.nix
@@ -0,0 +1,13 @@
+{cabal, json, mtl, pandocTypes, parsec, syb, utf8String, xml}:
+
+cabal.mkDerivation (self : {
+  pname = "citeproc-hs";
+  version = "0.3.2";
+  sha256 = "04lq0w1yjasn4i9siqpw41ia9f67xlv7vqwhs2a87hr1jnr09pgf";
+  propagatedBuildInputs =
+    [json mtl pandocTypes parsec syb utf8String xml];
+  meta = {
+    description = "A Citation Style Language implementation in Haskell";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/convertible/default.nix b/pkgs/development/libraries/haskell/convertible/default.nix
index 24ed30810de6..127da1f3b6b9 100644
--- a/pkgs/development/libraries/haskell/convertible/default.nix
+++ b/pkgs/development/libraries/haskell/convertible/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "convertible";
-  version = "1.0.5";
-  sha256 = "caf75727a35cf249690f3da60fce770642c8a1fad6080f3ba57e924fbe3c9465";
+  version = "1.0.9.1";
+  sha256 = "a1f46bf1166356c02e7a241d0bfea7010dc3e5f9f15181cfc2405a95df402914";
   propagatedBuildInputs = [mtl time];
   meta = {
     description = "Typeclasses and instances for converting between types";
diff --git a/pkgs/development/libraries/haskell/criterion/default.nix b/pkgs/development/libraries/haskell/criterion/default.nix
index ce6b5d5e2dc5..47f34bb441c2 100644
--- a/pkgs/development/libraries/haskell/criterion/default.nix
+++ b/pkgs/development/libraries/haskell/criterion/default.nix
@@ -1,18 +1,15 @@
 {cabal, deepseq, mtl, parallel, parsec, vector, vectorAlgorithms,
- mwcRandom, statistics, Chart, dataAccessor}:
+ mwcRandom, statistics}:
 
 cabal.mkDerivation (self : {
   pname = "criterion";
-  version = "0.5.0.5";
-  sha256 = "1b1g7a2ip07j0554cj4d0413859fbdkaxpcgq2znjz7wh8z5aabn";
+  version = "0.5.0.7";
+  sha256 = "1f1vpc3cwvc6wjy7fras5kp1iap8abh6ap3w6pf75qpkbdrcd3dq";
 
   propagatedBuildInputs = [
     deepseq mtl parallel parsec vector vectorAlgorithms mwcRandom statistics
-    Chart dataAccessor
   ];
 
-  configureFlags = "-fchart";
-
   meta = {
     homepage = "http://bitbucket.org/bos/criterion";
     description = "Robust, reliable performance measurement and analysis";
diff --git a/pkgs/development/libraries/haskell/datetime/default.nix b/pkgs/development/libraries/haskell/datetime/default.nix
index 45ec971ce8ac..de7d4bbffe70 100644
--- a/pkgs/development/libraries/haskell/datetime/default.nix
+++ b/pkgs/development/libraries/haskell/datetime/default.nix
@@ -3,7 +3,7 @@
 cabal.mkDerivation (self : {
   pname = "datetime";
   version = "0.1";
-  sha256 = "931acc70cb45922c95f2c3225d04619e19fd9c5947a66ae69e96d6e693195048";
+  sha256 = "0j2h369ydmlnkvk6m9j7b6fgs6cyc425s8n3yaajr4j5rdqcq6lk";
   propagatedBuildInputs = [QuickCheck time];
   meta = {
     description = "Utilities to make Data.Time.* easier to use";
diff --git a/pkgs/development/libraries/haskell/deepseq/default.nix b/pkgs/development/libraries/haskell/deepseq/1.1.0.0.nix
similarity index 100%
rename from pkgs/development/libraries/haskell/deepseq/default.nix
rename to pkgs/development/libraries/haskell/deepseq/1.1.0.0.nix
diff --git a/pkgs/development/libraries/haskell/deepseq/1.1.0.2.nix b/pkgs/development/libraries/haskell/deepseq/1.1.0.2.nix
new file mode 100644
index 000000000000..719ba91483ac
--- /dev/null
+++ b/pkgs/development/libraries/haskell/deepseq/1.1.0.2.nix
@@ -0,0 +1,11 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "deepseq";
+  version = "1.1.0.2"; # Haskell Platform 2011.2.0.0
+  sha256 = "1iqk8lc2an2rd1j9lcr76yabiz18h10lazlmdg5c528yssyd6135";
+  meta = {
+    description = "Provides a deep version of seq, for fully evaluating data structures";
+  };
+})
+
diff --git a/pkgs/development/libraries/haskell/digest/default.nix b/pkgs/development/libraries/haskell/digest/default.nix
index c2423be8e53c..ce9a4edc0271 100644
--- a/pkgs/development/libraries/haskell/digest/default.nix
+++ b/pkgs/development/libraries/haskell/digest/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "digest";
-  version = "0.0.0.5";
-  sha256 = "dddfcdd325dc7d4fb1ce4772c1f5618cb20504b28dba8a78682011cba1341efd";
+  version = "0.0.0.9";
+  sha256 = "15gj3iq3jm4lnkc6hnj9v8p8ia3yzbsajwf9by3b1kpl449k2h29";
   propagatedBuildInputs = [zlib];
   meta = {
     description = "Various cryptographic hashes for bytestrings: CRC32 and Adler32 for now";
diff --git a/pkgs/development/libraries/haskell/dlist/default.nix b/pkgs/development/libraries/haskell/dlist/default.nix
new file mode 100644
index 000000000000..6f99da03c801
--- /dev/null
+++ b/pkgs/development/libraries/haskell/dlist/default.nix
@@ -0,0 +1,14 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "dlist";
+  version = "0.5";
+  sha256 = "1shr5wlpha68h82gwpndr5441847l01gh3j7szyvnmgzkr0fb027";
+  propagatedBuildInputs = [];
+  meta = {
+    description = "Differences lists";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/feed/default.nix b/pkgs/development/libraries/haskell/feed/default.nix
index 7ba92613c5e2..3f1e9173efaa 100644
--- a/pkgs/development/libraries/haskell/feed/default.nix
+++ b/pkgs/development/libraries/haskell/feed/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "feed";
-  version = "0.3.7";
-  sha256 = "c2d539f763cdce1b1498f1fd0707b12078337aff690f01e41db0b6e3569c08aa";
+  version = "0.3.8";
+  sha256 = "1yvigcvb8cvxfa8vb2i11xkrylqw57jwzkaji6m1wp03k80zf576";
   propagatedBuildInputs = [utf8String xml];
   meta = {
     description = "Interfacing with RSS and Atom feeds";
diff --git a/pkgs/development/libraries/haskell/fgl/default.nix b/pkgs/development/libraries/haskell/fgl/5.4.2.2.nix
similarity index 100%
rename from pkgs/development/libraries/haskell/fgl/default.nix
rename to pkgs/development/libraries/haskell/fgl/5.4.2.2.nix
diff --git a/pkgs/development/libraries/haskell/fgl/5.4.2.3.nix b/pkgs/development/libraries/haskell/fgl/5.4.2.3.nix
index 0c326683a4f0..01d0f6a64f26 100644
--- a/pkgs/development/libraries/haskell/fgl/5.4.2.3.nix
+++ b/pkgs/development/libraries/haskell/fgl/5.4.2.3.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "fgl";
-  version = "5.4.2.3"; # Haskell Platform 2010.2.0.0
-  sha256 = "e72142b555a5ab6c5cdced317b42e8cafdbb54b7e2e46ed14e6ca18d71d486b8";
+  version = "5.4.2.3"; # Haskell Platform 2010.2.0.0 and 2011.2.0.0
+  sha256 = "1f46siqqv8bc9v8nxr72nxabpzfax117ncgdvif6rax5ansl48g7";
   propagatedBuildInputs = [mtl];
   meta = {
     description = "Martin Erwig's Functional Graph Library";
diff --git a/pkgs/development/libraries/haskell/filestore/default.nix b/pkgs/development/libraries/haskell/filestore/default.nix
index 2d3fc9268575..996d0a51cbd3 100644
--- a/pkgs/development/libraries/haskell/filestore/default.nix
+++ b/pkgs/development/libraries/haskell/filestore/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "filestore";
-  version = "0.3.4.1";
-  sha256 = "ad04333fae938ae7de747457a6bdee30c6e4b700733265dbd1f4f8ee363c8230";
+  version = "0.4.0.3";
+  sha256 = "098z9niavzxfzwk40xabah3x06vdzprvsjkyx99wlmapi5rynfz3";
   propagatedBuildInputs = [datetime parsec regexPosix split time utf8String xml Diff];
   meta = {
     description = "Interface for versioning file stores";
diff --git a/pkgs/development/libraries/haskell/ghc-events/default.nix b/pkgs/development/libraries/haskell/ghc-events/default.nix
index b9d3ee4d13e8..bb4ba31741d0 100644
--- a/pkgs/development/libraries/haskell/ghc-events/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-events/default.nix
@@ -5,6 +5,9 @@ cabal.mkDerivation (self : {
   version = "0.2.0.1";
   sha256 = "18cb82ebe143f58a25bf32ee88118a8bfb333b67a53285c2550e866f2afebbc6";
   propagatedBuildInputs = [binary mtl];
+  preConfigure = ''
+    sed -i 's|\(containers.*\) && < 0.4|\1|' ${self.pname}.cabal
+  '';
   meta = {
     description = "Library and tool for parsing .eventlog files from GHC";
     license = "BSD";
diff --git a/pkgs/development/libraries/haskell/gitit/default.nix b/pkgs/development/libraries/haskell/gitit/default.nix
index 4859a2ca0ee1..6edfa44087e2 100644
--- a/pkgs/development/libraries/haskell/gitit/default.nix
+++ b/pkgs/development/libraries/haskell/gitit/default.nix
@@ -2,20 +2,20 @@
  SHA, cgi, datetime,
  filestore, highlightingKate, safe, mtl, network, pandoc, parsec,
  recaptcha, utf8String, xhtml, zlib, ConfigFile, url,
- cautiousFile, feed}:
+ cautiousFile, feed, xssSanitize}:
 
 cabal.mkDerivation (self : {
   pname = "gitit";
-  version = "0.7.3.8";
-  sha256 = "356c82604dcfe2eec4faeb36ee46546ea3e26738780723f457366b2e35f6211a";
+  version = "0.7.3.12";
+  sha256 = "1z5cbkgfvwc9h6jciw7ghlj9ra6xph5z4lmliwkdnf38wfparxja";
   propagatedBuildInputs = [
     HStringTemplate happstackServer happstackUtil HTTP SHA cgi datetime
     filestore highlightingKate safe
     mtl network pandoc parsec recaptcha utf8String xhtml zlib ConfigFile
-    url cautiousFile feed
+    url cautiousFile feed xssSanitize
   ];
   meta = {
-    description = "Wiki using HAppS, git or darcs, and pandoc";
+    description = "Wiki using happstack, git or darcs, and pandoc";
     license = "GPL";
     maintainers = [self.stdenv.lib.maintainers.andres];
   };
diff --git a/pkgs/development/libraries/haskell/glade/default.nix b/pkgs/development/libraries/haskell/glade/default.nix
index f3152a924830..3f1a0529a83d 100644
--- a/pkgs/development/libraries/haskell/glade/default.nix
+++ b/pkgs/development/libraries/haskell/glade/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "glade";
-  version = "0.11.1";
-  sha256 = "0d96a8576f89a81aa1ecdaf172e42e9eb1e7b40ce1b23cff36ab473165832c6a";
+  version = "0.12.0";
+  sha256 = "0h7l1kp9y17xqyz16kv0dvwgblph9r70wimyl8aq9gi1r4is5lmq";
   extraBuildInputs = [pkgconfig gtk2hsBuildtools gnome.libglade gnome.gtk glibc];
   propagatedBuildInputs = [cairo glib gtk mtl pango];
   meta = {
diff --git a/pkgs/development/libraries/haskell/glib/default.nix b/pkgs/development/libraries/haskell/glib/default.nix
index d56a9abe5958..78fc7d37d0ef 100644
--- a/pkgs/development/libraries/haskell/glib/default.nix
+++ b/pkgs/development/libraries/haskell/glib/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "glib";
-  version = "0.11.2";
-  sha256 = "e0fb5f3c22701807db364dff86d55f2a33a57d8a4e58d37a80d367bca50b3dbb";
+  version = "0.12.0";
+  sha256 = "1sqkj6adg87ccdnl9yy1p8yrv5xnfcrlaflj52nrh6anwlqy9z19";
   extraBuildInputs = [pkgconfig glib glibc gtk2hsBuildtools];
   meta = {
     description = "Binding to the GLIB library for Gtk2Hs";
diff --git a/pkgs/development/libraries/haskell/gtk/default.nix b/pkgs/development/libraries/haskell/gtk/default.nix
index 5e940e4e8c5a..b9c4400bee40 100644
--- a/pkgs/development/libraries/haskell/gtk/default.nix
+++ b/pkgs/development/libraries/haskell/gtk/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "gtk";
-  version = "0.11.2";
-  sha256 = "c9de86278780badbd874fb75ef01ca12a70364a9985b75f98957ba940df27aa6";
+  version = "0.12.0";
+  sha256 = "1rqy0390rahdrlb1ba1hjrygwin8ynxzif5flcici22bg5ixsgs2";
   extraBuildInputs = [pkgconfig gtk2hsBuildtools gtk glibc];
   propagatedBuildInputs = [cairo glib mtl pango];
   meta = {
diff --git a/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix b/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix
index 07fa2fbf9a97..1b7a092cec67 100644
--- a/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix
+++ b/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "gtk2hs-buildtools";
-  version = "0.11.2";
-  sha256 = "330c52830358966bcff308f58a570e84bb0b4d6004b6f01107d55dd88faa54ad";
+  version = "0.12.0";
+  sha256 = "1czlmyr9zhzc0h1j0z3chv06ma77cibq2yc6h1slfphb1lkv66a8";
   extraBuildInputs = [alex happy];
   meta = {
     description = "Tools to build the Gtk2Hs suite of User Interface libraries";
diff --git a/pkgs/development/libraries/haskell/gtk2hs/default.nix b/pkgs/development/libraries/haskell/gtk2hs/default.nix
deleted file mode 100644
index b58e3e928d7f..000000000000
--- a/pkgs/development/libraries/haskell/gtk2hs/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gnome, cairo, ghc, mtl }:
-
-stdenv.mkDerivation rec {
-  pname = "gtk2hs";
-  version = "0.10.0";
-  fname = "${pname}-${version}";
-  name = "haskell-${pname}-ghc${ghc.ghc.version}-${version}";
-  
-  src = fetchurl {
-    url = http://nixos.org/tarballs/gtk2hs-0.10.0-20090419.tar.gz;
-    sha256 = "18a7cfph83yvv91ks37nrgqrn21fvww8bhb8nd8xy1mgb8lnfds1";
-  };
-  
-  propagatedBuildInputs = [mtl];
-
-  buildInputs = [
-    pkgconfig cairo ghc gnome.glib gnome.gtk gnome.libglade
-    gnome.GConf gnome.gtksourceview gnome.librsvg
-  ];
-
-  preConfigure =
-    ''
-      sed -i gio/gio.package.conf.in -e 's|@GIO_LIBDIR_CQ@|"${gnome.glib}/lib", "${gnome.glib}/lib64", @GIO_LIBDIR_CQ@|'
-      sed -i gtk/gtk.package.conf.in -e 's|@GTK_LIBDIR_CQ@|"${gnome.glib}/lib", "${gnome.glib}/lib64", @GTK_LIBDIR_CQ@|'
-    '';
-
-  configureFlags = ["--without-pkgreg"];
-
-  postInstall =
-    ''
-      local confDir=$out/lib/ghc-pkgs/ghc-${ghc.ghc.version}
-      local installedPkgConf=$confDir/${fname}.installedconf
-      ensureDir $out/bin # necessary to get it added to PATH
-      ensureDir $confDir
-      echo $installedPkgConf
-      echo '[]' > $installedPkgConf
-      for pkgConf in $out/lib/gtk2hs/*.conf; do
-        cp $pkgConf $confDir/
-        GHC_PACKAGE_PATH=$installedPkgConf ghc-pkg --global register $pkgConf --force
-      done
-    ''; # */
-
-  passthru = { inherit (gnome) gtksourceview; };
-}
diff --git a/pkgs/development/libraries/haskell/gtksourceview2/default.nix b/pkgs/development/libraries/haskell/gtksourceview2/default.nix
index f6019c54c9f7..f3ae246124e0 100644
--- a/pkgs/development/libraries/haskell/gtksourceview2/default.nix
+++ b/pkgs/development/libraries/haskell/gtksourceview2/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "gtksourceview2";
-  version = "0.11.1";
-  sha256 = "1skb13ssp6sd06jb3nshv97wjqvwa0mnzcxgmrxwd5l21r6k1m2v";
+  version = "0.12.2";
+  sha256 = "0l9y48kmzqzps6k54fgf0dkmmv0ppxx8amggfdswwk86zsf8j81r";
   extraBuildInputs = [pkgconfig gtksourceview gtkC glibc gtk2hsBuildtools];
   propagatedBuildInputs = [glib gtk];
   meta = {
diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix
index c5b0339fae72..f0dc59b53c74 100644
--- a/pkgs/development/libraries/haskell/hakyll/default.nix
+++ b/pkgs/development/libraries/haskell/hakyll/default.nix
@@ -1,10 +1,12 @@
-{cabal, binary, hamlet, mtl, network, pandoc, regexBase, regexTDFA, time}:
+{cabal, binary, blazeHtml, hamlet, mtl, network, pandoc, regexBase,
+ regexTDFA}:
 
 cabal.mkDerivation (self : {
   pname = "hakyll";
-  version = "2.3";
-  sha256 = "40e57c5cf5be3c6fdc270d00ff765a2b3e11ba7e302f40146d83048aa4436116";
-  propagatedBuildInputs = [hamlet mtl network pandoc regexBase regexTDFA time];
+  version = "2.4.3";
+  sha256 = "1n1hibwhg22l9p126d10zwhvaab46svcri2rkvd78f4vhmwpvkbs";
+  propagatedBuildInputs =
+    [binary blazeHtml hamlet mtl network pandoc regexBase regexTDFA];
   meta = {
     description = "A simple static site generator library";
     license = "BSD";
diff --git a/pkgs/development/libraries/haskell/hamlet/default.nix b/pkgs/development/libraries/haskell/hamlet/default.nix
index 90bbb999d18f..de8b5daf3134 100644
--- a/pkgs/development/libraries/haskell/hamlet/default.nix
+++ b/pkgs/development/libraries/haskell/hamlet/default.nix
@@ -1,12 +1,11 @@
-{cabal, blazeHtml, blazeBuilder, parsec, utf8String, failure, neither}:
+{cabal, blazeBuilder, failure, parsec, text}:
 
 cabal.mkDerivation (self : {
   pname = "hamlet";
-  version = "0.5.0";
-  sha256 = "92d8e099fa63fe218e2c8c4da56ac86b0b0bb49139467b8f12595c4436d1ad0b";
-  propagatedBuildInputs = [
-    blazeHtml blazeBuilder parsec utf8String failure neither
-  ];
+  version = "0.6.1.2";
+  sha256 = "0aqrjdbqb99nz3snnsrgkd6bnaj1m3bdm8kj9agd3qgv8lv90knn";
+  propagatedBuildInputs =
+    [blazeBuilder failure parsec text];
   meta = {
     description = "Haml-like template files that are compile-time checked";
     license = "BSD";
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-data.nix b/pkgs/development/libraries/haskell/happstack/happstack-data.nix
index de54b3ccac3e..7ba7f354c6ce 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-data.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-data.nix
@@ -1,12 +1,12 @@
-{cabal, mtl, sybWithClass, sybWithClassInstancesText, HaXml,
+{cabal, mtl, syb, sybWithClass, sybWithClassInstancesText, HaXml,
  happstackUtil, binary, text}:
 
 cabal.mkDerivation (self : {
     pname = "happstack-data";
-    version = "0.5.0.2";
-    sha256 = "03795c24acc2268f39d38f18dd6cbfb92893f7de88b0443219d582a1eabdacd5";
+    version = "0.5.0.3";
+    sha256 = "0zjsb9n1iawg2jv6i5q52awifly7yi6w0ilndivwp168qvi25awn";
     propagatedBuildInputs = [
-        mtl sybWithClass sybWithClassInstancesText HaXml
+        mtl syb sybWithClass sybWithClassInstancesText HaXml
         happstackUtil binary text
     ];
     meta = {
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-server.nix b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
index 461137c933dc..377e725dd59f 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-server.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
     pname = "happstack-server";
-    version = "0.5.0.2";
-    sha256 = "0184c835958bf9f29009a5aedd2c913bb1ad6ab60b80d9750849381c172dd6b6";
+    version = "0.5.0.4";
+    sha256 = "1iyjrlg5x6rlx8bfhn62a0ckjap0zv22hb6yazqph53jx6vn9b7q";
     propagatedBuildInputs = [
       HUnit HaXml MaybeT happstackData happstackUtil hslogger html
       mtl network parsec sendfile utf8String xhtml zlib
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-util.nix b/pkgs/development/libraries/haskell/happstack/happstack-util.nix
index cab41882514d..4bbe269fc729 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-util.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-util.nix
@@ -3,8 +3,8 @@
 
 cabal.mkDerivation (self : {
     pname = "happstack-util";
-    version = "0.5.0.2";
-    sha256 = "b6a84a55d6f7aec51095121a240bd6096b0df3c61c6fd25963d91190fcca4657";
+    version = "0.5.0.3";
+    sha256 = "1ipr09d0s1d0dffc1g3js8infhybw9rimabrl96a2vw7app3ys44";
     propagatedBuildInputs = [
       mtl hslogger HUnit QuickCheck strictConcurrency unixCompat
       SMTPClient
diff --git a/pkgs/development/libraries/haskell/hashed-storage/default.nix b/pkgs/development/libraries/haskell/hashed-storage/default.nix
index 0a0409b6bf9c..94b38fe0fb1c 100644
--- a/pkgs/development/libraries/haskell/hashed-storage/default.nix
+++ b/pkgs/development/libraries/haskell/hashed-storage/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "hashed-storage";
-  version = "0.5.3";
-  sha256 = "0ql8hgsaazs0wxvr920vm2s2iljcnh6lnivcy3vgd5wjaw6lkd00";
+  version = "0.5.5";
+  sha256 = "03wx21kgnvkny8b6fz86wg85pr2sxbm15ndznnpqjg5gf126n842";
   propagatedBuildInputs = [mtl zlib mmap binary dataenc];
   meta = {
     description = "Hashed file storage support code";
diff --git a/pkgs/development/libraries/haskell/haskeline/default.nix b/pkgs/development/libraries/haskell/haskeline/default.nix
index 646400acc5a7..8c1ca9d87d20 100644
--- a/pkgs/development/libraries/haskell/haskeline/default.nix
+++ b/pkgs/development/libraries/haskell/haskeline/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "haskeline";
-  version = "0.6.2.2";
-  sha256 = "b6307563258802453d65c7e7bd1ef1c6635fefea17af3e01449192b52075b25b";
+  version = "0.6.3.2";
+  sha256 = "0ragimzrilsk5r8n0fbq3lyjww28bmc1r1vgjf9pb4kpfpbz0cq8";
   propagatedBuildInputs = [extensibleExceptions mtl utf8String];
   meta = {
     description = "A command-line interface for user input, written in Haskell";
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2009.2.0.2.nix b/pkgs/development/libraries/haskell/haskell-platform/2009.2.0.2.nix
index 87b5173620c8..20aec7e59e98 100644
--- a/pkgs/development/libraries/haskell/haskell-platform/2009.2.0.2.nix
+++ b/pkgs/development/libraries/haskell/haskell-platform/2009.2.0.2.nix
@@ -1,6 +1,7 @@
 {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl, editline,
  haskellSrc, html, parallel, regexBase, regexCompat, regexPosix,
- stm, time, xhtml, zlib, cabalInstall, alex, happy, haddock, ghc}:
+ stm, time, xhtml, zlib, parsec, network,
+ cabalInstall, alex, happy, haddock, ghc}:
 
 cabal.mkDerivation (self : {
   pname = "haskell-platform";
@@ -12,7 +13,8 @@ cabal.mkDerivation (self : {
   propagatedBuildInputs = [
     GLUT HTTP HUnit OpenGL QuickCheck cgi fgl editline
     haskellSrc html parallel regexBase regexCompat regexPosix
-    stm time xhtml zlib cabalInstall alex happy ghc
+    stm time xhtml zlib parsec network
+    cabalInstall alex happy ghc
   ];
   meta = {
     description = "Haskell Platform meta package";
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix
index 73b076947d28..117c4fb3bf90 100644
--- a/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix
+++ b/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix
@@ -1,6 +1,7 @@
 {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl,
  haskellSrc, html, network, parallel, regexBase, regexCompat, regexPosix,
- stm, xhtml, zlib, cabalInstall, alex, happy, haddock, ghc}:
+ stm, xhtml, zlib, parsec,
+ cabalInstall, alex, happy, haddock, ghc}:
 
 cabal.mkDerivation (self : {
   pname = "haskell-platform";
@@ -12,7 +13,8 @@ cabal.mkDerivation (self : {
   propagatedBuildInputs = [
     GLUT HTTP HUnit OpenGL QuickCheck cgi fgl
     haskellSrc html network parallel regexBase regexCompat regexPosix
-    stm xhtml zlib cabalInstall alex happy ghc haddock
+    stm xhtml zlib parsec
+    cabalInstall alex happy ghc haddock
   ];
   meta = {
     description = "Haskell Platform meta package";
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2010.2.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2010.2.0.0.nix
index 5e39d3ddffb3..476fc35f7042 100644
--- a/pkgs/development/libraries/haskell/haskell-platform/2010.2.0.0.nix
+++ b/pkgs/development/libraries/haskell/haskell-platform/2010.2.0.0.nix
@@ -1,6 +1,7 @@
 {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl,
  haskellSrc, html, network, parallel, regexBase, regexCompat, regexPosix,
- stm, xhtml, zlib, cabalInstall, alex, happy, haddock, ghc}:
+ stm, xhtml, zlib, mtl, parsec, deepseq,
+ cabalInstall, alex, happy, haddock, ghc}:
 
 cabal.mkDerivation (self : {
   pname = "haskell-platform";
@@ -12,7 +13,8 @@ cabal.mkDerivation (self : {
   propagatedBuildInputs = [
     GLUT HTTP HUnit OpenGL QuickCheck cgi fgl
     haskellSrc html network parallel regexBase regexCompat regexPosix
-    stm xhtml zlib cabalInstall alex happy ghc haddock
+    stm xhtml zlib mtl parsec deepseq
+    cabalInstall alex happy ghc haddock
   ];
   meta = {
     description = "Haskell Platform meta package";
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.0.nix
new file mode 100644
index 000000000000..1b4e56f68d0f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.0.nix
@@ -0,0 +1,26 @@
+{cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl,
+ haskellSrc, html, network, parallel, parsec, regexBase, regexCompat, regexPosix,
+ stm, syb, deepseq, text, transformers, mtl, xhtml, zlib,
+ cabalInstall, alex, happy, haddock, ghc}:
+
+cabal.mkDerivation (self : {
+  pname = "haskell-platform";
+  version = "2011.2.0.0";
+  src = fetchurl {
+    # url = "http://hackage.haskell.org/platform/${self.version}/cabal/${self.pname}-${self.version}.tar.gz";
+    url = "http://lambda.haskell.org/hp-tmp/${self.version}/cabal/${self.pname}-${self.version}.tar.gz";
+    sha256 = "01ppv8jdyvbngml9vgvrvnani6fj1nbk8mqmrkd8c508l7q9g6vb";
+  };
+  propagatedBuildInputs = [
+    GLUT HTTP HUnit OpenGL QuickCheck cgi fgl
+    haskellSrc html network parallel parsec regexBase regexCompat regexPosix
+    stm syb deepseq text transformers mtl xhtml zlib
+    cabalInstall alex happy ghc haddock
+  ];
+  noHaddock = true;
+  meta = {
+    description = "Haskell Platform meta package";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/haskell-src-exts/default.nix b/pkgs/development/libraries/haskell/haskell-src-exts/default.nix
index 6b4d48c67154..f6be0149b990 100644
--- a/pkgs/development/libraries/haskell/haskell-src-exts/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-src-exts/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "haskell-src-exts";
-  version = "1.9.0";
-  sha256 = "dedb529217dfe393f75f26b735f7dd09eea50006481f60d06e169de6f328d1da";
+  version = "1.9.6";
+  sha256 = "1bdbjwhzms962ncwiszp82a8m6jkgz6d9cns5585kipy9n224d3h";
   extraBuildInputs = [happy];
   propagatedBuildInputs = [cpphs];
   meta = {
diff --git a/pkgs/development/libraries/haskell/haskell-src/default.nix b/pkgs/development/libraries/haskell/haskell-src/1.0.1.3.nix
similarity index 100%
rename from pkgs/development/libraries/haskell/haskell-src/default.nix
rename to pkgs/development/libraries/haskell/haskell-src/1.0.1.3.nix
diff --git a/pkgs/development/libraries/haskell/haskell-src/1.0.1.4.nix b/pkgs/development/libraries/haskell/haskell-src/1.0.1.4.nix
new file mode 100644
index 000000000000..7855b4a92c83
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskell-src/1.0.1.4.nix
@@ -0,0 +1,13 @@
+{cabal, happy, syb}:
+
+cabal.mkDerivation (self : {
+  pname = "haskell-src";
+  version = "1.0.1.4"; # Haskell Platform 2011.2.0.0
+  sha256 = "02h33d7970641p9vi62sgcxb5v4yaz8xx9vf2yxyvxs3hglm7f0j";
+  extraBuildInputs = [happy];
+  propagatedBuildInputs = [syb];
+  meta = {
+    description = "Manipulating Haskell source code";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/highlighting-kate/default.nix b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
index 48de03486092..f637caa086c6 100644
--- a/pkgs/development/libraries/haskell/highlighting-kate/default.nix
+++ b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "highlighting-kate";
-  version = "0.2.7.1";
-  sha256 = "330c5fdc6b5dae62c12ee2455892319df12723346aa75401aea05ea0b24cf5ed";
+  version = "0.2.9";
+  sha256 = "0mk8m01mqw6vnjldr5idc6611475j4m292cm18kn3wa83000mbgk";
   propagatedBuildInputs = [parsec pcreLight xhtml];
   meta = {
     description = "Syntax highlighting";
diff --git a/pkgs/development/libraries/haskell/hscolour/default.nix b/pkgs/development/libraries/haskell/hscolour/default.nix
index f1593a6e7f6e..30d1956268e4 100644
--- a/pkgs/development/libraries/haskell/hscolour/default.nix
+++ b/pkgs/development/libraries/haskell/hscolour/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "hscolour";
-  version = "1.17";
-  sha256 = "b645cdde1b7827dae1519a4423031b4c6bed82a8edb52aa295bea86478ce24b0";
+  version = "1.17"; # Haskell Platform 2011.2.0.0
+  sha256 = "1c14rrw69a5yjni2mdgdm21fsssc3c1j6i4sa7hxl9vq3ggcsidn";
   meta = {
     description = "Colourise Haskell code";
   };
diff --git a/pkgs/development/libraries/haskell/html/default.nix b/pkgs/development/libraries/haskell/html/1.0.1.2.nix
similarity index 70%
rename from pkgs/development/libraries/haskell/html/default.nix
rename to pkgs/development/libraries/haskell/html/1.0.1.2.nix
index 3540d397778f..29168e7187da 100644
--- a/pkgs/development/libraries/haskell/html/default.nix
+++ b/pkgs/development/libraries/haskell/html/1.0.1.2.nix
@@ -2,7 +2,7 @@
 
 cabal.mkDerivation (self : {
   pname = "html";
-  version = "1.0.1.2"; # Haskell Platform 2009.0.0 and 2010.1.0.0 and 2010.2.0.0
+  version = "1.0.1.2"; # Haskell Platform 2009.0.0, 2010.1.0.0, 2010.2.0.0, 2011.2.0.0
   sha256 = "0c35495ea33d65e69c69bc7441ec8e1af69fbb43433c2aa3406c0a13a3ab3061";
   meta = {
     description = "HTML combinator library";
diff --git a/pkgs/development/libraries/haskell/json/default.nix b/pkgs/development/libraries/haskell/json/default.nix
index 5a59e94396b8..8166c890e6fb 100644
--- a/pkgs/development/libraries/haskell/json/default.nix
+++ b/pkgs/development/libraries/haskell/json/default.nix
@@ -1,10 +1,13 @@
-{cabal, mtl}:
+# syb isn't listed by the HackageDB web interface, but is
+# a dependency for Text.JSON.Generic which is only exposed
+# if syb is available.
+{cabal, mtl, syb}:
 
 cabal.mkDerivation (self : {
   pname = "json";
-  version = "0.4.3";
-  sha256 = "56192d1e922cc71ad1aaf31baea8ee7e1f1b862f95bc72f60548caee4a484a87";
-  propagatedBuildInputs = [mtl];
+  version = "0.4.4";
+  sha256 = "102qmz55b2mgcca3q1c2pkcr6hz7kmpldad3f6blhmp1cz15f081";
+  propagatedBuildInputs = [mtl syb];
   meta = {
     description = "Support for serialising Haskell to and from JSON";
   };
diff --git a/pkgs/development/libraries/haskell/monad-peel/default.nix b/pkgs/development/libraries/haskell/monad-peel/default.nix
new file mode 100644
index 000000000000..25be7fb1a1ae
--- /dev/null
+++ b/pkgs/development/libraries/haskell/monad-peel/default.nix
@@ -0,0 +1,13 @@
+{cabal, transformers}:
+
+cabal.mkDerivation (self : {
+  pname = "monad-peel";
+  version = "0.1";
+  sha256 = "0q56hdjgbj7ykpjx5z8qlqqkngmgm5wzm9vwcd7v675k2ywcl3ys";
+  propagatedBuildInputs = [transformers];
+  meta = {
+    description = "Lift control operations like exception catching through monad transformers";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/mtl/default.nix b/pkgs/development/libraries/haskell/mtl/1.1.0.2.nix
similarity index 100%
rename from pkgs/development/libraries/haskell/mtl/default.nix
rename to pkgs/development/libraries/haskell/mtl/1.1.0.2.nix
diff --git a/pkgs/development/libraries/haskell/mtl/1.1.1.1.nix b/pkgs/development/libraries/haskell/mtl/1.1.1.1.nix
new file mode 100644
index 000000000000..3598a0d4c3ed
--- /dev/null
+++ b/pkgs/development/libraries/haskell/mtl/1.1.1.1.nix
@@ -0,0 +1,11 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "mtl";
+  version = "1.1.1.1"; # version of mtl1 compatible with ghc7
+  sha256 = "157gbrgrg0l9r72nq45dkach53yncysif4qglsaql28g37djc4x6";
+  meta = {
+    description = "Monad transformer library";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/mtl/2.0.1.0.nix b/pkgs/development/libraries/haskell/mtl/2.0.1.0.nix
new file mode 100644
index 000000000000..f0ad0770220c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/mtl/2.0.1.0.nix
@@ -0,0 +1,12 @@
+{cabal, transformers}:
+
+cabal.mkDerivation (self : {
+  pname = "mtl";
+  version = "2.0.1.0"; # Haskell Platform 2011.2.0.0
+  sha256 = "1w6jpzyl08mringnd6gxwcl3y9q506r240vm1sv0aacml1hy8szk";
+  propagatedBuildInputs = [transformers];
+  meta = {
+    description = "Monad transformer library";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/multirec/default.nix b/pkgs/development/libraries/haskell/multirec/default.nix
index b9b62c1763b0..d4187a680dae 100644
--- a/pkgs/development/libraries/haskell/multirec/default.nix
+++ b/pkgs/development/libraries/haskell/multirec/default.nix
@@ -2,8 +2,9 @@
 
 cabal.mkDerivation (self : {
   pname = "multirec";
-  version = "0.4";
-  sha256 = "ad7a6ae90e1880b3fd79686ce8012e531b738f8f1d10ba836550fc91cfe3695e";
+  version = "0.5";
+  sha256 = "1nrfbiy5g51cpaqqi1adrr32x74wjjvplyyrphvzf4rxhnhj3xpw";
+  noHaddock = true; # don't know why Haddock causes an error
   meta = {
     description = "Generic programming with systems of recursive datatypes";
   };
diff --git a/pkgs/development/libraries/haskell/mwc-random/default.nix b/pkgs/development/libraries/haskell/mwc-random/default.nix
index 1ac66ca67f23..dfffbe3d8186 100644
--- a/pkgs/development/libraries/haskell/mwc-random/default.nix
+++ b/pkgs/development/libraries/haskell/mwc-random/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "mwc-random";
-  version = "0.8.0.2";
-  sha256 = "1lry31abyz6wh3x8ipclgkfc889azs7mw2ppp9kpdlx41wbzhdj6";
+  version = "0.8.0.3";
+  sha256 = "1sjjayfhfkfixcwdp21cfqld9pjikdsvlb956c1a7hcs82b68xp3";
   propagatedBuildInputs = [primitive vector];
   meta = {
     description = "Fast, high quality pseudo random number generation";
diff --git a/pkgs/development/libraries/haskell/neither/default.nix b/pkgs/development/libraries/haskell/neither/default.nix
index 1dfd1ca533d3..c02474f8d98e 100644
--- a/pkgs/development/libraries/haskell/neither/default.nix
+++ b/pkgs/development/libraries/haskell/neither/default.nix
@@ -1,11 +1,11 @@
-{cabal, failure, mtl, transformers, MonadCatchIOMtl, MonadCatchIOTransformers}:
+{cabal, failure, monadPeel, transformers}:
 
 cabal.mkDerivation (self : {
   pname = "neither";
-  version = "0.0.2";
-  sha256 = "1e1b934d9d1918bd762bb8d6cde35c56883543c2d0c165a661f096c2ce5ab139";
+  version = "0.2.0";
+  sha256 = "0a2lyx3dvgzj4g6p69x1fma4rmwxrykji3hc4diqgc4hx02p16jh";
   propagatedBuildInputs = [
-    failure mtl transformers MonadCatchIOMtl MonadCatchIOTransformers
+    failure monadPeel transformers
   ];
   meta = {
     description = "A simple type class for success/failure computations";
diff --git a/pkgs/development/libraries/haskell/network/default.nix b/pkgs/development/libraries/haskell/network/2.2.1.4.nix
similarity index 100%
rename from pkgs/development/libraries/haskell/network/default.nix
rename to pkgs/development/libraries/haskell/network/2.2.1.4.nix
diff --git a/pkgs/development/libraries/haskell/network/2.3.0.2.nix b/pkgs/development/libraries/haskell/network/2.3.0.2.nix
new file mode 100644
index 000000000000..529785169d00
--- /dev/null
+++ b/pkgs/development/libraries/haskell/network/2.3.0.2.nix
@@ -0,0 +1,12 @@
+{cabal, parsec}:
+
+cabal.mkDerivation (self : {
+  pname = "network";
+  version = "2.3.0.2"; # Haskell Platform 2011.2.0.0
+  sha256 = "1s4hm0ilsd67ircrl0h5b72kwrw1imb3cj5z52h99bv7qjdbag03";
+  propagatedBuildInputs = [parsec];
+  meta = {
+    description = "Networking-related facilities";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/pandoc-types/default.nix b/pkgs/development/libraries/haskell/pandoc-types/default.nix
new file mode 100644
index 000000000000..dca729dc50c3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pandoc-types/default.nix
@@ -0,0 +1,11 @@
+{cabal, syb}:
+
+cabal.mkDerivation (self : {
+  pname = "pandoc-types";
+  version = "1.8";
+  sha256 = "1ikr1dmmdag31hgcswrnhzqacv4kl7z6dc8za2cjdq0cpd2mla98";
+  propagatedBuildInputs = [syb];
+  meta = {
+    description = "Types for representing a structured document";
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pandoc/default.nix b/pkgs/development/libraries/haskell/pandoc/default.nix
index 7bc1d0fc7fd8..e5865a1356af 100644
--- a/pkgs/development/libraries/haskell/pandoc/default.nix
+++ b/pkgs/development/libraries/haskell/pandoc/default.nix
@@ -1,13 +1,11 @@
-{cabal, mtl, network, parsec, utf8String, xhtml, zipArchive, HTTP, xml,
- texmath, random ? null}:
+{cabal, HTTP, citeprocHs, dlist, tagsoup, texmath, xhtml, zipArchive}:
 
 cabal.mkDerivation (self : {
   pname = "pandoc";
-  version = "1.6";
-  sha256 = "9b825233293edf1ea414b0e7ea821d6a914711dc2c60546566ab5a97512b079b";
-  propagatedBuildInputs = [
-    mtl network parsec utf8String xhtml zipArchive HTTP xml texmath
-  ] ++ (if random != null then [random] else []);
+  version = "1.8.1.1";
+  sha256 = "0g680j8x3v19wcb9k2dxgrdrjr48w0vhvlspfzgw0sgzrgfmaqsj";
+  propagatedBuildInputs =
+    [HTTP citeprocHs dlist tagsoup texmath xhtml zipArchive];
   meta = {
     description = "Conversion between markup formats";
   };
diff --git a/pkgs/development/libraries/haskell/pango/default.nix b/pkgs/development/libraries/haskell/pango/default.nix
index 2a8ba497f3f9..97700106b17a 100644
--- a/pkgs/development/libraries/haskell/pango/default.nix
+++ b/pkgs/development/libraries/haskell/pango/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "pango";
-  version = "0.11.2";
-  sha256 = "fb7f5dc303d3d49a330aaa3acf29560f78746edb9c67f6191756baa1b08fb504";
+  version = "0.12.0";
+  sha256 = "1vp0hl4kpgcc3xphml1hmy04hqcn12y0ks03nn32g6g33ni9mwrb";
   extraBuildInputs = [pkgconfig gtk2hsBuildtools pango glibc];
   propagatedBuildInputs = [cairo glib mtl];
   meta = {
diff --git a/pkgs/development/libraries/haskell/parallel/default.nix b/pkgs/development/libraries/haskell/parallel/1.1.0.1.nix
similarity index 100%
rename from pkgs/development/libraries/haskell/parallel/default.nix
rename to pkgs/development/libraries/haskell/parallel/1.1.0.1.nix
diff --git a/pkgs/development/libraries/haskell/parallel/3.1.0.1.nix b/pkgs/development/libraries/haskell/parallel/3.1.0.1.nix
new file mode 100644
index 000000000000..2c6352e923f8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/parallel/3.1.0.1.nix
@@ -0,0 +1,12 @@
+{cabal, deepseq}:
+
+cabal.mkDerivation (self : {
+  pname = "parallel";
+  version = "3.1.0.1"; # Haskell Platform 2011.2.0.0
+  sha256 = "0j03i5467iyz98fl4fnzlwrr93j2as733kbrxnlcgyh455kb89ns";
+  propagatedBuildInputs = [deepseq];
+  meta = {
+    description = "parallel programming library";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/parsec/default.nix b/pkgs/development/libraries/haskell/parsec/2.1.0.1.nix
similarity index 100%
rename from pkgs/development/libraries/haskell/parsec/default.nix
rename to pkgs/development/libraries/haskell/parsec/2.1.0.1.nix
diff --git a/pkgs/development/libraries/haskell/parsec/3.nix b/pkgs/development/libraries/haskell/parsec/3.1.1.nix
similarity index 67%
rename from pkgs/development/libraries/haskell/parsec/3.nix
rename to pkgs/development/libraries/haskell/parsec/3.1.1.nix
index 048dc87b547a..5c5450333985 100644
--- a/pkgs/development/libraries/haskell/parsec/3.nix
+++ b/pkgs/development/libraries/haskell/parsec/3.1.1.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "parsec";
-  version = "3.1.0";
-  sha256 = "962d39944bae18b0fea60961c77513f455f95c0f67ae4b10ab15484a27b6fb98";
+  version = "3.1.1"; # Haskell Platform 2011.2.0.0
+  sha256 = "0x34gwn9k68h69c3hw7yaah6zpdwq8hvqss27f3n4n4cp7dh81fk";
   propagatedBuildInputs = [mtl];
   meta = {
     license = "BSD";
diff --git a/pkgs/development/libraries/haskell/pcre-light/default.nix b/pkgs/development/libraries/haskell/pcre-light/default.nix
index 1542bb7968ac..5b6ac6abffd4 100644
--- a/pkgs/development/libraries/haskell/pcre-light/default.nix
+++ b/pkgs/development/libraries/haskell/pcre-light/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "pcre-light";
-  version = "0.3";
-  sha256 = "a8cfec1c265530388efbb187426368e280331d9829fa93d8f49f16db3c3e7794";
+  version = "0.4";
+  sha256 = "1xiikiap1bvx9czw64664vifdq64scx0yhfclh5m8mkvn3x6yzxk";
   propagatedBuildInputs = [pcre];
   meta = {
     description = "A small, efficient and portable regex library for Perl 5 compatible regular expressions";
diff --git a/pkgs/development/libraries/haskell/pretty-show/default.nix b/pkgs/development/libraries/haskell/pretty-show/default.nix
new file mode 100644
index 000000000000..7056fed1df48
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pretty-show/default.nix
@@ -0,0 +1,14 @@
+{cabal, haskellLexer}:
+
+cabal.mkDerivation (self : {
+  pname = "pretty-show";
+  version = "1.1.1";
+  sha256 = "0w6r68l1452vh9aqnlh4066y62h8ylh45gbsl5l558wjgchlna5k";
+  propagatedBuildInputs = [haskellLexer];
+  meta = {
+    description = "Tools for working with derived Show instances";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/regex-base/default.nix b/pkgs/development/libraries/haskell/regex-base/0.72.0.2.nix
similarity index 100%
rename from pkgs/development/libraries/haskell/regex-base/default.nix
rename to pkgs/development/libraries/haskell/regex-base/0.72.0.2.nix
diff --git a/pkgs/development/libraries/haskell/regex-base/0.93.2.nix b/pkgs/development/libraries/haskell/regex-base/0.93.2.nix
index 3f9d23e95333..b1db30548bac 100644
--- a/pkgs/development/libraries/haskell/regex-base/0.93.2.nix
+++ b/pkgs/development/libraries/haskell/regex-base/0.93.2.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "regex-base";
-  version = "0.93.2"; # Haskell Platform 2010.2.0.0
-  sha256 = "20dc5713a16f3d5e2e6d056b4beb9cfdc4368cd09fd56f47414c847705243278";
+  version = "0.93.2"; # Haskell Platform 2010.2.0.0, 2011.2.0.0
+  sha256 = "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10";
   propagatedBuildInputs = [mtl];
   meta = {
     description = "Replaces/Ehances Text.Regex";
diff --git a/pkgs/development/libraries/haskell/regex-compat/default.nix b/pkgs/development/libraries/haskell/regex-compat/0.71.0.1.nix
similarity index 100%
rename from pkgs/development/libraries/haskell/regex-compat/default.nix
rename to pkgs/development/libraries/haskell/regex-compat/0.71.0.1.nix
diff --git a/pkgs/development/libraries/haskell/regex-compat/0.93.1.nix b/pkgs/development/libraries/haskell/regex-compat/0.93.1.nix
index 749e6baaf736..1113b38cbb0a 100644
--- a/pkgs/development/libraries/haskell/regex-compat/0.93.1.nix
+++ b/pkgs/development/libraries/haskell/regex-compat/0.93.1.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "regex-compat";
-  version = "0.93.1"; # Haskell Platform 2010.2.0.0
-  sha256 = "ee0374f780378e8c04a63d9cbaca525e116dbe2bdce4cff3abaffc28d4e99afe";
+  version = "0.93.1"; # Haskell Platform 2010.2.0.0, 2011.2.0.0
+  sha256 = "1zlsx7a2iz5gmgrwzr6w5fz6s4ayab5bm71xlq28r3iph3vp80zf";
   propagatedBuildInputs = [regexBase regexPosix];
   meta = {
     description = "Replaces/Enhances Text.Regex";
diff --git a/pkgs/development/libraries/haskell/regex-posix/default.nix b/pkgs/development/libraries/haskell/regex-posix/0.72.0.3.nix
similarity index 100%
rename from pkgs/development/libraries/haskell/regex-posix/default.nix
rename to pkgs/development/libraries/haskell/regex-posix/0.72.0.3.nix
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.94.4.nix b/pkgs/development/libraries/haskell/regex-posix/0.94.4.nix
new file mode 100644
index 000000000000..3ac8782f0df0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/regex-posix/0.94.4.nix
@@ -0,0 +1,12 @@
+{cabal, regexBase}:
+
+cabal.mkDerivation (self : {
+  pname = "regex-posix";
+  version = "0.94.4"; # Haskell Platform 2011.2.0.0
+  sha256 = "1ykirysvz9ganm2k7fmrppklsgh0h35mjfsi9g1icv43pqpr6ldw";
+  propagatedBuildInputs = [regexBase];
+  meta = {
+    description = "Replaces/Enhances Text.Regex";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/regex-tdfa/default.nix b/pkgs/development/libraries/haskell/regex-tdfa/default.nix
index 76b304044957..40414248f917 100644
--- a/pkgs/development/libraries/haskell/regex-tdfa/default.nix
+++ b/pkgs/development/libraries/haskell/regex-tdfa/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "regex-tdfa";
-  version = "1.1.4";
-  sha256 = "382c7ed1ee75448574b42e9ecb9228b25f55143f3008ecd6f5d3a30471337b39";
+  version = "1.1.8";
+  sha256 = "1m75xh5bwmmgg5f757dc126kv47yfqqnz9fzj1hc80p6jpzs573x";
   propagatedBuildInputs = [mtl parsec regexBase];
   meta = {
     description = "Replaces/Enhances Text.Regex";
diff --git a/pkgs/development/libraries/haskell/regular/default.nix b/pkgs/development/libraries/haskell/regular/default.nix
index 5f939fbd1ea4..76ce9ff40d50 100644
--- a/pkgs/development/libraries/haskell/regular/default.nix
+++ b/pkgs/development/libraries/haskell/regular/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "regular";
-  version = "0.2.4";
-  sha256 = "7fcef09b09b2bb8cb32246b96d659f8102fd749b6f064cd7b813835ce947932c";
+  version = "0.3.2";
+  sha256 = "104rz28a22p5pn3rdzvmh13s1hpr46n463cfaz3w3bj9cimi2rcj";
   meta = {
     description = "Generic programming library for regular datatypes";
     license = "BSD";
diff --git a/pkgs/development/libraries/haskell/safe/default.nix b/pkgs/development/libraries/haskell/safe/default.nix
index 0c41af7e1d3f..cce391c8153d 100644
--- a/pkgs/development/libraries/haskell/safe/default.nix
+++ b/pkgs/development/libraries/haskell/safe/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "safe";
-  version = "0.2";
-  sha256 = "73b9a247c3ba8092236c8c912687399778ff31bf3df42d707563a1528a6fc0e0";
+  version = "0.3";
+  sha256 = "174jm7nlqsgvc6namjpfknlix6yy2sf9pxnb3ifznjvx18kgc7m0";
   meta = {
     description = "Library for safe (pattern match free) functions";
     license = "BSD";
diff --git a/pkgs/development/libraries/haskell/split/default.nix b/pkgs/development/libraries/haskell/split/default.nix
index a006cbe072eb..131fa06fd7b4 100644
--- a/pkgs/development/libraries/haskell/split/default.nix
+++ b/pkgs/development/libraries/haskell/split/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "split";
-  version = "0.1.1";
-  sha256 = "5f6513e717abfaa8eab46d7181093a21d335fed33dff20fa4628008b770a763f";
+  version = "0.1.3";
+  sha256 = "1i43xa11d5jn30j9948bypi8dzdxr7nx4v9xhcgpmaggssv9bvcs";
   meta = {
     description = "Combinator library for splitting lists";
   };
diff --git a/pkgs/development/libraries/haskell/statistics/default.nix b/pkgs/development/libraries/haskell/statistics/default.nix
index 8ebacb5933bb..21635fba601f 100644
--- a/pkgs/development/libraries/haskell/statistics/default.nix
+++ b/pkgs/development/libraries/haskell/statistics/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "statistics";
-  version = "0.8.0.3";
-  sha256 = "11b7ai661sm7j4n8wymipzjldshackwgv6kkp6yqrkxzg40xhal9";
+  version = "0.8.0.5";
+  sha256 = "0rzrx1wjil88ksqk5kmcxm4ypryiy9j1c4qa2s2bs71338hhzpxn";
   propagatedBuildInputs =
     [primitive vector vectorAlgorithms mwcRandom erf];
   meta = {
diff --git a/pkgs/development/libraries/haskell/stm/default.nix b/pkgs/development/libraries/haskell/stm/2.1.1.2.nix
similarity index 100%
rename from pkgs/development/libraries/haskell/stm/default.nix
rename to pkgs/development/libraries/haskell/stm/2.1.1.2.nix
diff --git a/pkgs/development/libraries/haskell/stm/2.2.0.1.nix b/pkgs/development/libraries/haskell/stm/2.2.0.1.nix
new file mode 100644
index 000000000000..5a80ec5f47d8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/stm/2.2.0.1.nix
@@ -0,0 +1,11 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "stm";
+  version = "2.2.0.1"; # Haskell Platform 2011.2.0.0
+  sha256 = "1p0x414ffsd77mmlfz1cmwg2cbhinnbpxypxgvygg05js67msj8q";
+  meta = {
+    description = "Software Transactional Memory";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/svgcairo/default.nix b/pkgs/development/libraries/haskell/svgcairo/default.nix
new file mode 100644
index 000000000000..fb756ec30f0a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/svgcairo/default.nix
@@ -0,0 +1,14 @@
+{cabal, gtk2hsBuildtools, cairo, glib, mtl, pkgconfig, librsvg, glibc}:
+
+cabal.mkDerivation (self : {
+  pname = "svgcairo";
+  version = "0.12.0";
+  sha256 = "1zialw59njmq0sfz9f0rx6v50d4bvld2ivmwljkp5bmxii3hcjl3";
+  extraBuildInputs = [pkgconfig librsvg glibc gtk2hsBuildtools];
+  propagatedBuildInputs = [cairo glib mtl];
+  meta = {
+    description = "Binding to the Cairo library";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/syb/0.2.2.nix b/pkgs/development/libraries/haskell/syb/0.2.2.nix
new file mode 100644
index 000000000000..613badbb5f32
--- /dev/null
+++ b/pkgs/development/libraries/haskell/syb/0.2.2.nix
@@ -0,0 +1,10 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "syb";
+  version = "0.2.2";
+  sha256 = "0m29vnqkkmpf4m3gi42kcbr2gfyxgkcw85xsyrq0mgbxb0zg6ky9";
+  meta = {
+    description = "generics system described in the Scrap Your Boilerplate papers";
+  };
+})
diff --git a/pkgs/development/libraries/haskell/syb/0.3.nix b/pkgs/development/libraries/haskell/syb/0.3.nix
new file mode 100644
index 000000000000..0fdf7cce0a69
--- /dev/null
+++ b/pkgs/development/libraries/haskell/syb/0.3.nix
@@ -0,0 +1,10 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "syb";
+  version = "0.3"; # Haskell Platform 2011.2.0.0
+  sha256 = "1gnqw76zy7xvlabhbyk8hml88hpz2igf7b3mz2ic091f77qkkch7";
+  meta = {
+    description = "generics system described in the Scrap Your Boilerplate papers";
+  };
+})
diff --git a/pkgs/development/libraries/haskell/syb/syb-with-class.nix b/pkgs/development/libraries/haskell/syb/syb-with-class.nix
index dfd7d1946351..42e83c679761 100644
--- a/pkgs/development/libraries/haskell/syb/syb-with-class.nix
+++ b/pkgs/development/libraries/haskell/syb/syb-with-class.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "syb-with-class";
-  version = "0.6.1";
-  sha256 = "72cf0a98862181fea81b77c11f35efd22eafa29107f3acd624fd08be68ed850b";
+  version = "0.6.1.1";
+  sha256 = "15i6df470c2qcf9vc05yg809c5imrj00mf72p5njapx88qnk2p67";
   meta = {
     description = "Scrap Your Boilerplate With Class";
   };
diff --git a/pkgs/development/libraries/haskell/tagsoup/default.nix b/pkgs/development/libraries/haskell/tagsoup/default.nix
new file mode 100644
index 000000000000..51b14a540535
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tagsoup/default.nix
@@ -0,0 +1,13 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "tagsoup";
+  version = "0.12";
+  sha256 = "0jaqr6q8asn7gd336xsblcc55lzm8glzlhvs61mhzjvk4hg9pmg7";
+  meta = {
+    description = "Parsing and extracting information from (possibly malformed) HTML/XML documents";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/texmath/default.nix b/pkgs/development/libraries/haskell/texmath/default.nix
index 623f86ee3fd3..0dd4fe50f5c4 100644
--- a/pkgs/development/libraries/haskell/texmath/default.nix
+++ b/pkgs/development/libraries/haskell/texmath/default.nix
@@ -1,10 +1,10 @@
-{cabal, cgi, json, parsec, xml}:
+{cabal, parsec, syb, xml}:
 
 cabal.mkDerivation (self : {
   pname = "texmath";
-  version = "0.3.0.2";
-  sha256 = "8d2bb26fc5aab09ae92d2c194ec39acb4e04c054ad2caf1a1db0dc9b53b4b1d4";
-  propagatedBuildInputs = [cgi json parsec xml];
+  version = "0.5.0.1";
+  sha256 = "0kw23b1df7456d2h48g2p7k8nvfv80a8a70xgkq4pn7v50vqipdy";
+  propagatedBuildInputs = [parsec syb xml];
   meta = {
     description = "Conversion of LaTeX math formulas to MathML";
     license = "GPL";
diff --git a/pkgs/development/libraries/haskell/text/default.nix b/pkgs/development/libraries/haskell/text/0.11.0.5.nix
similarity index 68%
rename from pkgs/development/libraries/haskell/text/default.nix
rename to pkgs/development/libraries/haskell/text/0.11.0.5.nix
index c146af8bb620..af31029bdd9b 100644
--- a/pkgs/development/libraries/haskell/text/default.nix
+++ b/pkgs/development/libraries/haskell/text/0.11.0.5.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "text";
-  version = "0.7.2.1";
-  sha256 = "13b00db1363219e263a4af5b1318d2a296d67c975883cd7e17265fcd8fb1381c";
+  version = "0.11.0.5"; # Haskell Platform 2011.2.0.0
+  sha256 = "1a5y2i7qrkyyvm112q44rhd7jbqxvfxssz2g5ngbx11yypl3hcdv";
   propagatedBuildInputs = [deepseq];
   meta = {
     description = "An efficient package Unicode text type";
diff --git a/pkgs/development/libraries/haskell/time/default.nix b/pkgs/development/libraries/haskell/time/1.1.2.4.nix
similarity index 100%
rename from pkgs/development/libraries/haskell/time/default.nix
rename to pkgs/development/libraries/haskell/time/1.1.2.4.nix
diff --git a/pkgs/development/libraries/haskell/transformers/default.nix b/pkgs/development/libraries/haskell/transformers/0.2.2.0.nix
similarity index 55%
rename from pkgs/development/libraries/haskell/transformers/default.nix
rename to pkgs/development/libraries/haskell/transformers/0.2.2.0.nix
index ef2c7ed74a75..d3a60d4cf690 100644
--- a/pkgs/development/libraries/haskell/transformers/default.nix
+++ b/pkgs/development/libraries/haskell/transformers/0.2.2.0.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "transformers";
-  version = "0.2.1.0";
-  sha256 = "1ff9768e60130810e888452b6052d64998d0651fe2835902f032d8f8182a2c6d";
+  version = "0.2.2.0"; # Haskell Platform 2011.2.0.0
+  sha256 = "1nkazxy2p0w5ad76vg1lc4l0nla1kdqjdf9pymjgk75dpiyijbdz";
   meta = {
     description = "Concrete functor and monad transformers";
   };
diff --git a/pkgs/development/libraries/haskell/uniplate/default.nix b/pkgs/development/libraries/haskell/uniplate/default.nix
index fe887014ef15..06451b53e248 100644
--- a/pkgs/development/libraries/haskell/uniplate/default.nix
+++ b/pkgs/development/libraries/haskell/uniplate/default.nix
@@ -1,10 +1,10 @@
-{cabal, mtl}:
+{cabal, mtl, syb}:
 
 cabal.mkDerivation (self : {
   pname = "uniplate";
-  version = "1.5.1";
-  sha256 = "cfeaaaabbbe318992df0c51a0c04729b22dac244f415b80a3b388708ed9cfc33";
-  propagatedBuildInputs = [mtl];
+  version = "1.6";
+  sha256 = "13nlyzsnj6hshgl839ww1kp49r87kpdcdyn7hxahg8k2qkj5zzxr";
+  propagatedBuildInputs = [mtl syb];
   meta = {
     description = "Uniform type generic traversals";
   };
diff --git a/pkgs/development/libraries/haskell/uu-parsinglib/default.nix b/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
index 26b6176fc6d1..5320acd255e6 100644
--- a/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
+++ b/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
@@ -1,9 +1,10 @@
-{cabal}:
+{cabal, ListLike}:
 
 cabal.mkDerivation (self : {
   pname = "uu-parsinglib";
-  version = "2.5.5";
-  sha256 = "132f73b11f87a41aad7331b27d0aa5caa7b931381a88d114c91b700096d6c3f4";
+  version = "2.7.0.1";
+  sha256 = "0x5gggwy3r1v0z5n6jn699bcrb9r9s2gbll5ca6m9hdfxjr3x7k6";
+  propagatedBuildInputs = [ListLike];
   meta = {
     description = "New version of the Utrecht University parser combinator library";
   };
diff --git a/pkgs/development/libraries/haskell/uulib/default.nix b/pkgs/development/libraries/haskell/uulib/default.nix
index 9b29afb15579..98399dd11ccb 100644
--- a/pkgs/development/libraries/haskell/uulib/default.nix
+++ b/pkgs/development/libraries/haskell/uulib/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "uulib";
-  version = "0.9.12";
-  sha256 = "e2ea76db10e5ce94cf6282642754d0e65e5abadc620b3827aa2ab497b88e6747";
+  version = "0.9.13";
+  sha256 = "115fxvx5lqyjdwws6gkcixk1gi2p5gkyqinww7gbp54p4n0yy7n0";
   meta = {
     description = "Haskell Utecht Tools Library";
   };
diff --git a/pkgs/development/libraries/haskell/vacuum-cairo/default.nix b/pkgs/development/libraries/haskell/vacuum-cairo/default.nix
index cd30b77d5b7b..16d10b49ac21 100644
--- a/pkgs/development/libraries/haskell/vacuum-cairo/default.nix
+++ b/pkgs/development/libraries/haskell/vacuum-cairo/default.nix
@@ -1,10 +1,11 @@
-{cabal, vacuum, gtk2hs, parallel, strictConcurrency}:
+{cabal, vacuum, cairo, svgcairo, gtk, parallel, strictConcurrency}:
 
 cabal.mkDerivation (self : {
   pname = "vacuum-cairo";
-  version = "0.4.1";
-  sha256 = "4d506fec246d40e5c983eea1dbd72735e276f882539aa3682cda9d9a33f8ddb2";
-  propagatedBuildInputs = [vacuum gtk2hs parallel strictConcurrency];
+  version = "0.5";
+  sha256 = "0jp3xn1h28igcg3xb97ifawx11i7adnyi0ff264w0fril9b8ylwc";
+  propagatedBuildInputs =
+    [vacuum cairo svgcairo gtk parallel strictConcurrency];
   meta = {
     description = "Visualize live Haskell data structures using vacuum, graphviz and cairo";
   };
diff --git a/pkgs/development/libraries/haskell/vector-algorithms/default.nix b/pkgs/development/libraries/haskell/vector-algorithms/default.nix
index 49b953842993..5f212e331772 100644
--- a/pkgs/development/libraries/haskell/vector-algorithms/default.nix
+++ b/pkgs/development/libraries/haskell/vector-algorithms/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "vector-algorithms";
-  version = "0.3.4";
-  sha256 = "19b25myz0lhf010lgajlkz72g3w119x89i097rmbc2y4z1bjgpiv";
+  version = "0.4";
+  sha256 = "04ig2bx3gm42mwhcz5n8kp9sy33d1hrwm940kfxny74fc06422h8";
   propagatedBuildInputs = [primitive vector];
   meta = {
     description = "Efficient algorithms for vector arrays";
diff --git a/pkgs/development/libraries/haskell/vty/default.nix b/pkgs/development/libraries/haskell/vty/default.nix
index 46f39d1e0a69..c0d536482211 100644
--- a/pkgs/development/libraries/haskell/vty/default.nix
+++ b/pkgs/development/libraries/haskell/vty/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "vty";
-  version = "4.4.0.0";
-  sha256 = "bf032022a72831e263d2d48d0a7a3191fb1174554cd714902a60cb0f39afe312";
+  version = "4.6.0.4";
+  sha256 = "0kabssw3v7nglvsr687ppmdnnmii1q2g5zg8rxwi2hcmvnjx7567";
   propagatedBuildInputs =
     [utf8String terminfo deepseq mtl parallel parsec vectorSpace];
   meta = {
diff --git a/pkgs/development/libraries/haskell/wxHaskell/wx.nix b/pkgs/development/libraries/haskell/wxHaskell/wx.nix
index 9d80de70a6b2..33a940eca315 100644
--- a/pkgs/development/libraries/haskell/wxHaskell/wx.nix
+++ b/pkgs/development/libraries/haskell/wxHaskell/wx.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "wx";
-  version = "0.11.1.2";
-  sha256 = "d407e191391ec977552932ffbfc86ce7826b56208bbcbc1262d3fc65fe1c2337";
+  version = "0.12.1.6";
+  sha256 = "1p0gn46gk1abin095va22n9bycxhm2cq1vyvwiypcdq7jq541lhk";
   propagatedBuildInputs = [stm wxcore];
   meta = {
     description = "wxHaskell";
diff --git a/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix b/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix
index ecca8a152de7..d46a6ac864d1 100644
--- a/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix
+++ b/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix
@@ -1,15 +1,20 @@
-{cabal, time, parsec, stm, libX11, mesa, wxGTK}:
+{cabal, time, parsec, stm, wxdirect, libX11, mesa, wxGTK}:
 
 cabal.mkDerivation (self : {
   pname = "wxcore";
-  version = "0.11.1.2";
-  sha256 = "b91b17243d8a08d96f572224c434c36d14feb1b0bb64a0e63900f0103a7c4752";
-  propagatedBuildInputs = [time parsec stm libX11 wxGTK mesa];
+  version = "0.12.1.6";
+  sha256 = "162m7z8nzdwsszha87mvz7dzxh268n0sgymf3vq2yn5axw7zx5ap";
+  propagatedBuildInputs = [time parsec stm libX11 wxGTK mesa wxdirect];
+  preConfigure = ''
+    sed -i 's|\(containers.*\) && < 0.4|\1|' ${self.pname}.cabal
+  '';
   /* configureFlags = [ "--with-opengl" ]; */
+  /*
   preConfigure = ''
     sed -i 's/ghc-pkg latest/ghc-pkg --global latest/g' configure
     sed -i 's/pkg describe/pkg --global describe/g' configure
   '';
+  */
   meta = {
     description = "wxHaskell core";
   };
diff --git a/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix b/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix
new file mode 100644
index 000000000000..181db89a9847
--- /dev/null
+++ b/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix
@@ -0,0 +1,16 @@
+{cabal, parsec, time}:
+
+cabal.mkDerivation (self : {
+  pname = "wxdirect";
+  version = "0.12.1.3";
+  sha256 = "da59315339dc78b3bfbe08c1681d53c74a56e7c3de0f41a90099bd289b1bfb11";
+  preConfigure = ''
+    sed -i 's|\(containers.*\) && < 0.4|\1|' ${self.pname}.cabal
+    sed -i 's|\(time.*\) && < 1.2|\1|' ${self.pname}.cabal
+  '';
+  propagatedBuildInputs = [parsec time];
+  meta = {
+    description = "helper tool for building wxHaskell";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/xhtml/3000.2.0.1.nix b/pkgs/development/libraries/haskell/xhtml/3000.2.0.1.nix
new file mode 100644
index 000000000000..e4b12f9363de
--- /dev/null
+++ b/pkgs/development/libraries/haskell/xhtml/3000.2.0.1.nix
@@ -0,0 +1,11 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "xhtml";
+  version = "3000.2.0.1"; # Haskell Platform 2009.0.0, 2010.1.0.0, 2010.2.0.0, 2011.2.0.0
+  sha256 = "15pcigascajky67v0lhdhn4bv8xq16cvzib05mg4f1ynwr5a9mv0";
+  meta = {
+    description = "An XHTML combinator library";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/xhtml/default.nix b/pkgs/development/libraries/haskell/xhtml/default.nix
deleted file mode 100644
index 78dc8486a813..000000000000
--- a/pkgs/development/libraries/haskell/xhtml/default.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{cabal}:
-
-cabal.mkDerivation (self : {
-  pname = "xhtml";
-  version = "3000.2.0.1"; # Haskell Platform 2009.0.0 and 2010.1.0.0 and 2010.2.0.0
-  sha256 = "60d7a44ae6d607475e2d60c5bf9909b8a3bd88850d52b08ff1532aa6d58bec96";
-  meta = {
-    description = "An XHTML combinator library";
-  };
-})  
-
diff --git a/pkgs/development/libraries/haskell/xss-sanitize/default.nix b/pkgs/development/libraries/haskell/xss-sanitize/default.nix
new file mode 100644
index 000000000000..9a445adeb2a7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/xss-sanitize/default.nix
@@ -0,0 +1,14 @@
+{cabal, network, tagsoup, utf8String}:
+
+cabal.mkDerivation (self : {
+  pname = "xss-sanitize";
+  version = "0.2.6";
+  sha256 = "18bkvrrkc0ga0610f8g3vghq0ib1yczn2n2zbzv7kg7m6bqgx2y5";
+  propagatedBuildInputs = [network tagsoup utf8String];
+  meta = {
+    description = "sanitize untrusted HTML to prevent XSS attacks";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/zip-archive/default.nix b/pkgs/development/libraries/haskell/zip-archive/default.nix
index 23fb5045cd4e..ac7ea77754bf 100644
--- a/pkgs/development/libraries/haskell/zip-archive/default.nix
+++ b/pkgs/development/libraries/haskell/zip-archive/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "zip-archive";
-  version = "0.1.1.6";
-  sha256 = "16aafc5f74c880398413a7c2adaaf90cae86006dcda58f663c1e1d795add90aa";
+  version = "0.1.1.7";
+  sha256 = "1q52v18kl1j049kk3yb7rp0k27p6q7r72mg1vcbdid6qd7a9dh48";
   propagatedBuildInputs = [binary mtl utf8String zlib digest];
   meta = {
     description = "Library for creating and modifying zip archives";
diff --git a/pkgs/development/libraries/haskell/zlib/default.nix b/pkgs/development/libraries/haskell/zlib/0.5.0.0.nix
similarity index 100%
rename from pkgs/development/libraries/haskell/zlib/default.nix
rename to pkgs/development/libraries/haskell/zlib/0.5.0.0.nix
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.3.1.nix b/pkgs/development/libraries/haskell/zlib/0.5.3.1.nix
new file mode 100644
index 000000000000..3d3b2184da8a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/zlib/0.5.3.1.nix
@@ -0,0 +1,13 @@
+{cabal, zlib}:
+
+cabal.mkDerivation (self : {
+  pname = "zlib";
+  version = "0.5.3.1"; # Haskell Platform 2011.2.0.0
+  sha256 = "1hj56lk4g2zr7acdda39zib1bj02777q0asm5ms9rfj7kp81caiq";
+  # TODO: find out exactly why propagated is needed here (to build other
+  # packages depending on zlib):
+  propagatedBuildInputs = [zlib];
+  meta = {
+    description = "Compression and decompression in the gzip and zlib formats";
+  };
+})
diff --git a/pkgs/development/libraries/hwloc/default.nix b/pkgs/development/libraries/hwloc/default.nix
index 5c3d37729e6d..fc1f1edbdfe8 100644
--- a/pkgs/development/libraries/hwloc/default.nix
+++ b/pkgs/development/libraries/hwloc/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, cairo, expat, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "hwloc-1.0";
+  name = "hwloc-1.1";
 
   src = fetchurl {
-    url = "http://www.open-mpi.org/software/hwloc/v1.0/downloads/${name}.tar.bz2";
-    sha256 = "1s64w026idxrkf0y56q4cybapz7yldn1xycnfh1d5bj7v7ncds21";
+    url = "http://www.open-mpi.org/software/hwloc/v1.1/downloads/${name}.tar.bz2";
+    sha256 = "0l31yhcpq6bjsamxk0lqlidv9j43vg7m7906zdb5aj18i085ymyv";
   };
 
   buildInputs = [ pkgconfig cairo expat ncurses ];
diff --git a/pkgs/development/libraries/hwloc/ncurses.patch b/pkgs/development/libraries/hwloc/ncurses.patch
deleted file mode 100644
index 58dffea52651..000000000000
--- a/pkgs/development/libraries/hwloc/ncurses.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Help `configure' find `tparm' in libncurses.
-
---- a/config/hwloc.m4	2010-04-19 14:25:53.000000000 +0200
-+++ b/config/hwloc.m4	2010-04-19 14:24:23.000000000 +0200
-@@ -285,7 +285,7 @@ EOF])
-     LIBS=
-     AC_CHECK_HEADERS([curses.h], [
-       AC_CHECK_HEADERS([term.h], [
--        AC_SEARCH_LIBS([tparm], [termcap curses], [
-+        AC_SEARCH_LIBS([tparm], [ncurses termcap curses], [
-             AC_SUBST([HWLOC_TERMCAP_LIBS], ["$LIBS"])
-             AC_DEFINE([HWLOC_HAVE_LIBTERMCAP], [1],
-                       [Define to 1 if you have a library providing the termcap interface])
diff --git a/pkgs/development/libraries/java/swt/builder.sh b/pkgs/development/libraries/java/swt/builder.sh
index 624b2c86513b..0a2f304801ec 100644
--- a/pkgs/development/libraries/java/swt/builder.sh
+++ b/pkgs/development/libraries/java/swt/builder.sh
@@ -3,6 +3,8 @@ source $stdenv/setup
 unzip $src src.zip
 unzip src.zip
 
+export JAVA_HOME=${jdk}
+echo $JAVA_HOME=${jdk}
 sh ./build.sh make_swt make_atk
 
 ensureDir $out/lib
diff --git a/pkgs/development/libraries/java/swt/default.nix b/pkgs/development/libraries/java/swt/default.nix
index f06f9ff5be9d..311d05d1aad8 100644
--- a/pkgs/development/libraries/java/swt/default.nix
+++ b/pkgs/development/libraries/java/swt/default.nix
@@ -1,16 +1,21 @@
-{stdenv, fetchurl, unzip, jdk, pkgconfig, gtk, libXtst}:
+{ stdenv, fetchurl, unzip, jdk, pkgconfig, gtk
+, libXtst
+, libXi
+, mesa
+}:
 
 stdenv.mkDerivation {
-  name = "swt-3.1.1";
+  name = "swt-3.6.1";
   builder = ./builder.sh;
-  
+
   # Alas, the Eclipse Project apparently doesn't produce source-only
   # releases of SWT.  So we just grab a binary release and extract
   # "src.zip" from that.
   src = fetchurl {
-    url = http://sunsite.informatik.rwth-aachen.de/eclipse/downloads/drops/R-3.1.1-200509290840/swt-3.1.1-gtk-linux-x86.zip;
-    md5 = "23dfe5a4a566439c5f526d9ea3b3db1c";
+    url = http://eclipse.ialto.com/eclipse/downloads/drops/R-3.6.1-201009090800/swt-3.6.1-gtk-linux-x86.zip;
+    sha1 = "e629e0b65296b67931f1fce8ab72419818c9747f";
   };
-  
-  buildInputs = [unzip jdk pkgconfig gtk libXtst];
+
+  buildInputs = [unzip jdk pkgconfig gtk libXtst libXi mesa];
+  inherit jdk;
 }
diff --git a/pkgs/development/libraries/javascript/jquery-ui/default.nix b/pkgs/development/libraries/javascript/jquery-ui/default.nix
new file mode 100644
index 000000000000..2334a04f9b86
--- /dev/null
+++ b/pkgs/development/libraries/javascript/jquery-ui/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  name = "jquery-ui-1.8.10";
+
+  src = fetchurl {
+    url = "http://jqueryui.com/download/${name}.custom.zip";
+    sha256 = "0yglab9zmxr1il2rmxxd7gycpfaavgpi03h8nc5b2yx2kz80jlik";
+  };
+
+  sourceRoot = ".";
+
+  buildInputs = [ unzip ];
+
+  installPhase =
+    ''
+      mkdir -p $out
+      cp -prvd css js $out/
+
+      # For convenience, provide symlinks "jquery.min.js" etc. (i.e.,
+      # without the version number).
+      ln -s $out/js/jquery-ui-*.custom.min.js $out/js/jquery-ui.min.js
+      ln -s $out/js/jquery-1.*.min.js $out/js/jquery.min.js
+      ln -s $out/css/smoothness/jquery-ui-*.custom.css $out/css/smoothness/jquery-ui.css
+    '';
+
+  meta = {
+    homepage = http://jqueryui.com/;
+    description = "A library of JavaScript widgets and effects";
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libass/default.nix b/pkgs/development/libraries/libass/default.nix
new file mode 100644
index 000000000000..499639b3a87c
--- /dev/null
+++ b/pkgs/development/libraries/libass/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, freetype, fontconfig, pkgconfig, enca ? null }:
+
+stdenv.mkDerivation rec {
+  name = "libass-0.9.11";
+
+  src = fetchurl {
+    url = "http://libass.googlecode.com/files/${name}.tar.bz2";
+    sha256 = "0p3li523s8n85kfh5xdbbfffr17z8xdh2qcgvdg7ki1myv6agl7z";
+  };
+
+  buildInputs = [ freetype fontconfig enca pkgconfig ];
+
+  meta = {
+    homepage = http://code.google.com/p/libass/;
+    maintainers = [ stdenv.lib.maintainers.urkud ];
+  };
+}
diff --git a/pkgs/development/libraries/libbluedevil/default.nix b/pkgs/development/libraries/libbluedevil/default.nix
new file mode 100644
index 000000000000..4b233437adbf
--- /dev/null
+++ b/pkgs/development/libraries/libbluedevil/default.nix
@@ -0,0 +1,13 @@
+{ stdenv, fetchgit, cmake, qt4 }:
+
+stdenv.mkDerivation rec {
+  name = "libbluedevil-20110304";
+
+  src = fetchgit {
+    url = git://anongit.kde.org/libbluedevil.git;
+    rev = "b44537b1784528cacc62ab1d570c1565bd326b4f";
+    sha256 = "15rx44dncg7hm2x04yz53ni4l1fpb40c3bma3pbvr7l2yd89x3sa";
+  };
+
+  buildInputs = [ cmake qt4 ];
+}
diff --git a/pkgs/development/libraries/libdbusmenu-qt/default.nix b/pkgs/development/libraries/libdbusmenu-qt/default.nix
index 1a9d66974388..aed051a446b6 100644
--- a/pkgs/development/libraries/libdbusmenu-qt/default.nix
+++ b/pkgs/development/libraries/libdbusmenu-qt/default.nix
@@ -2,14 +2,14 @@
 
 let
   baseName = "libdbusmenu-qt";
-  v = "0.5.1";
+  v = "0.7.0";
 in
 stdenv.mkDerivation rec {
   name = "${baseName}-${v}";
 
   src = fetchurl {
     url = "http://launchpad.net/${baseName}/trunk/${v}/+download/${name}.tar.bz2";
-    sha256 = "0ipz1f08d2wgg18l12wssv9lhm66xhj31a1dbikg2rzw7c6bvjvk";
+    sha256 = "0zn3w57xjk34j08fx4n757kakkd4y07halrnaj4a0x0c9dhyjf14";
   };
 
   buildInputs = [ cmake qt4 ];
diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix
index aff6372d6113..ad6f45366041 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.22";
+  name = "libdrm-2.4.24";
   
   src = fetchurl {
     url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
-    sha256 = "0gbb7i282i6gf2wzbzkcz5j662v4ixpfjf0gv0090k89wjafbc0b";
+    sha256 = "19dnzy7g6jqfjz38dp187b97vb4a8h4k748x56gsyn24ys0j60f7";
   };
 
   buildInputs = [ pkgconfig libpthreadstubs ];
diff --git a/pkgs/development/libraries/libebml/default.nix b/pkgs/development/libraries/libebml/default.nix
new file mode 100644
index 000000000000..5cd17abc43ee
--- /dev/null
+++ b/pkgs/development/libraries/libebml/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libebml-1.0.0";
+
+  src = fetchurl {
+    url = "http://dl.matroska.org/downloads/libebml/${name}.tar.bz2";
+    sha256 = "0y5ip30nr96wjlh1pzw35ia1axyib158dhz8r5dxzmbcfgn0sj3j";
+  };
+
+  configurePhase = "cd make/linux";
+  makeFlags = "prefix=$(out)";
+
+  meta = {
+    description = "Extensible Binary Meta Language library";
+    homepage = http://dl.matroska.org/downloads/libebml/;
+  };
+}
+
diff --git a/pkgs/development/libraries/libedit/default.nix b/pkgs/development/libraries/libedit/default.nix
index fb45563a1793..dca4d8efc134 100644
--- a/pkgs/development/libraries/libedit/default.nix
+++ b/pkgs/development/libraries/libedit/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses}:
+{ stdenv, fetchurl, ncurses, groff }:
 
 stdenv.mkDerivation rec {
   name = "libedit-20100424-3.0";
@@ -8,6 +8,9 @@ stdenv.mkDerivation rec {
     sha256 = "11hxaq58gym7kqccjhxywjxdibffzg545z1aj997y1dn0rckhav0";
   };
 
+  # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
+  NROFF = "${groff}/bin/nroff";
+
   postInstall = ''
     sed -i s/-lncurses/-lncursesw/g $out/lib/pkgconfig/libedit.pc
   '';
diff --git a/pkgs/development/libraries/libelf/default.nix b/pkgs/development/libraries/libelf/default.nix
index 339e97b9673b..46be77d713d0 100644
--- a/pkgs/development/libraries/libelf/default.nix
+++ b/pkgs/development/libraries/libelf/default.nix
@@ -1,6 +1,6 @@
-{ fetchurl, stdenv }:
+{ fetchurl, stdenv, gettext }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (rec {
   name = "libelf-0.8.13";
 
   src = fetchurl {
@@ -21,3 +21,12 @@ stdenv.mkDerivation rec {
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
 }
+
+//
+
+# Gettext is lacking from `stdenv' on Darwin, but not completely, so NLS
+# support is enabled but eventually fails.
+# FIXME: Eventually make Gettext a build input on all platforms.
+(if stdenv.isDarwin
+ then { buildInputs = [ gettext ]; }
+ else { }))
diff --git a/pkgs/development/libraries/libf2c/default.nix b/pkgs/development/libraries/libf2c/default.nix
new file mode 100644
index 000000000000..b14809d47bf8
--- /dev/null
+++ b/pkgs/development/libraries/libf2c/default.nix
@@ -0,0 +1,32 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation rec {
+  name = "libf2c";
+  
+  src = fetchurl {
+    url = http://www.netlib.org/f2c/libf2c.zip;
+    sha256 = "14py0zdwzj5gqjzi0z2hlcy3czpzx1fav55akdj143qgav8h6dav";
+  };
+
+  unpackPhase = ''
+    mkdir build
+    cd build
+    unzip ${src}
+  '';
+
+  makeFlags = "-f makefile.u";
+
+  installPhase = ''
+    ensureDir $out/include $out/lib
+    cp libf2c.a $out/lib
+    cp f2c.h $out/include
+  '';
+
+  buildInputs = [ unzip ];
+
+  meta = {
+    description = "F2c converts Fortran 77 source code to C";
+    homepage = http://www.netlib.org/f2c/;
+    license = "BSD";
+  };
+}
diff --git a/pkgs/development/libraries/libidn/default.nix b/pkgs/development/libraries/libidn/default.nix
index 64baf2e7a0d1..99efc66aa411 100644
--- a/pkgs/development/libraries/libidn/default.nix
+++ b/pkgs/development/libraries/libidn/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "libidn-1.19";
+  name = "libidn-1.20";
 
   src = fetchurl {
     url = "mirror://gnu/libidn/${name}.tar.gz";
-    sha256 = "0hczsci75by17pc5mnr09l7yx0xavrr3djjlbfs30gmfn4vfkllf";
+    sha256 = "1cd8zixibvci99gwc5cg0b8728y7daysrxcfa1j11qfwx1rg9gz1";
   };
 
   doCheck = true;
diff --git a/pkgs/development/libraries/libjpeg/default.nix b/pkgs/development/libraries/libjpeg/default.nix
index d31bc2605091..f598482f8304 100644
--- a/pkgs/development/libraries/libjpeg/default.nix
+++ b/pkgs/development/libraries/libjpeg/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }: 
 
 stdenv.mkDerivation {
-  name = "libjpeg-8";
+  name = "libjpeg-8c";
   
   src = fetchurl {
-    url = http://www.ijg.org/files/jpegsrc.v8b.tar.gz;
-    sha256 = "19vl6587pyhz45f14yipnsnpni4iz6j0wdzwyblbm4f5vs721rin";
+    url = http://www.ijg.org/files/jpegsrc.v8c.tar.gz;
+    sha256 = "16kwrjhziv81gl9fq9b7qir8khm3wfb9zj7fzs7yabsb00z0pz7d";
   };
   
   meta = {
diff --git a/pkgs/development/libraries/libkate/default.nix b/pkgs/development/libraries/libkate/default.nix
new file mode 100644
index 000000000000..1100c03e08f0
--- /dev/null
+++ b/pkgs/development/libraries/libkate/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, libogg, libpng }:
+
+stdenv.mkDerivation rec {
+  name = "libkate-0.3.8";
+
+  src = fetchurl {
+    url = "http://libkate.googlecode.com/files/${name}.tar.gz";
+    sha256 = "00d6561g31la9bb8q99b7l4rvi67yiwm50ky8dhlsjd88h7rks2n";
+  };
+
+  buildInputs = [ libogg libpng ];
+
+  meta = {
+    description = "A library for encoding and decoding Kate streams";
+    longDescription = ''
+      This is libkate, the reference implementation of a codec for the Kate
+      bitstream format. Kate is a karaoke and text codec meant for encapsulation
+      in an Ogg container. It can carry Unicode text, images, and animate
+      them.'';
+    homepage = http://code.google.com/p/libkate;
+    maintainers = [ stdenv.lib.maintainers.urkud ];
+  };
+}
diff --git a/pkgs/development/libraries/liblikeback/default.nix b/pkgs/development/libraries/liblikeback/default.nix
new file mode 100644
index 000000000000..46f389ec7ada
--- /dev/null
+++ b/pkgs/development/libraries/liblikeback/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchgit, cmake, kdelibs, automoc4 }:
+
+stdenv.mkDerivation rec {
+  name = "liblikeback-20110103";
+
+  src = fetchgit {
+    url = git://anongit.kde.org/liblikeback.git;
+    rev = "eeb037ae16b6aad8d73cbd6f57198aa111a88628";
+    sha256 = "1p3c8hqfcbhjfyn1kj636kq52nb3vapfakmqvp2wklpljyq38f3z";
+  };
+
+  buildInputs = [ cmake kdelibs automoc4 ];
+
+  meta = {
+    description = "Simple feedback button/dialog for KDE 4.x applications";
+    homepage = https://projects.kde.org/projects/playground/libs/liblikeback;
+    maintainers = [ stdenv.lib.maintainers.urkud ];
+    inherit (kdelibs.meta) platforms;
+  };
+}
diff --git a/pkgs/development/libraries/liblrdf/default.nix b/pkgs/development/libraries/liblrdf/default.nix
new file mode 100644
index 000000000000..515c81483b08
--- /dev/null
+++ b/pkgs/development/libraries/liblrdf/default.nix
@@ -0,0 +1,46 @@
+x@{builderDefsPackage
+  , libtool, autoconf, automake, ladspaH, librdf_raptor, pkgconfig, zlib
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="liblrdf";
+    version="0.4.0";
+    project="lrdf";
+    name="${baseName}-${version}";
+    url="mirror://sourceforge/project/${project}/${baseName}/${version}/${name}.tar.gz";
+    hash="015jv7pp0a0qxgljgdvf7d01nj4fx0zgzg0wayjp7v86pa38xscm";
+  };
+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 = ["doConfigure" "doMakeInstall"];
+      
+  meta = {
+    description = "Lightweight RDF library with special support for LADSPA";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+    license = a.lib.licenses.gpl2;
+  };
+  passthru = {
+  };
+}) x
+
diff --git a/pkgs/development/libraries/libmatroska/default.nix b/pkgs/development/libraries/libmatroska/default.nix
new file mode 100644
index 000000000000..b851077a6f16
--- /dev/null
+++ b/pkgs/development/libraries/libmatroska/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, libebml }:
+
+stdenv.mkDerivation rec {
+  name = "libmatroska-1.0.0";
+
+  src = fetchurl {
+    url = "http://dl.matroska.org/downloads/libmatroska/${name}.tar.bz2";
+    sha256 = "123v2dhvv6yijqxc30spabzznjf5lbcv4iv4mmz4b3jhvwiha06w";
+  };
+
+  configurePhase = "cd make/linux";
+  makeFlags = "prefix=$(out) LIBEBML_INCLUDE_DIR=${libebml}/include LIBEBML_LIB_DIR=${libebml}/lib";
+  propagatedBuildInputs = [ libebml ];
+
+  meta = {
+    description = "Matroska library";
+    homepage = http://dl.matroska.org/downloads/libmatroska;
+  };
+}
+
diff --git a/pkgs/development/libraries/libmrss/default.nix b/pkgs/development/libraries/libmrss/default.nix
index 96561998daa7..395b254d34d6 100644
--- a/pkgs/development/libraries/libmrss/default.nix
+++ b/pkgs/development/libraries/libmrss/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation {
     sha256 = "02r1bgj8qlkn63xqfi5yq8y7wrilxcnkycaag8qskhg5ranic507";
   };
 
-  buildInputs = [ curl libnxml pkgconfig ];
+  buildInputs = [ pkgconfig ];
+  propagatedBuildInputs = [ curl libnxml ];
 
   meta = {
     homepage = http://www.autistici.org/bakunin/libmrss/doc;
diff --git a/pkgs/development/libraries/liboggz/default.nix b/pkgs/development/libraries/liboggz/default.nix
new file mode 100644
index 000000000000..857455fb4f33
--- /dev/null
+++ b/pkgs/development/libraries/liboggz/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, libogg, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "liboggz-1.1.1";
+
+  src = fetchurl {
+    url = "http://downloads.xiph.org/releases/liboggz/${name}.tar.gz";
+    sha256 = "0nj17lhnsw4qbbk8jy4j6a78w6v2llhqdwq46g44mbm9w2qsvbvb";
+  };
+
+  propagatedBuildInputs = [ libogg ];
+
+  buildInputs = [ pkgconfig ];
+
+  meta = {
+    homepage = http://xiph.org/oggz/;
+    description = "A C library and tools for manipulating with Ogg files and streams";
+    longDescription = ''
+      Oggz comprises liboggz and the tool oggz, which provides commands to
+      inspect, edit and validate Ogg files. The oggz-chop tool can also be used
+      to serve time ranges of Ogg media over HTTP by any web server that
+      supports CGI.
+
+      liboggz is a C library for reading and writing Ogg files and streams.  It
+      offers various improvements over the reference libogg, including support
+      for seeking, validation and timestamp interpretation. Ogg is an
+      interleaving data container developed by Monty at Xiph.Org, originally to
+      support the Ogg Vorbis audio format but now used for many free codecs
+      including Dirac, FLAC, Speex and Theora.'';
+    maintainers = [ stdenv.lib.maintainers.urkud ];
+  };
+}
diff --git a/pkgs/development/libraries/libtiger/default.nix b/pkgs/development/libraries/libtiger/default.nix
new file mode 100644
index 000000000000..5461421769ba
--- /dev/null
+++ b/pkgs/development/libraries/libtiger/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, libkate, pango, cairo, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "libtiger-0.3.4";
+
+  src = fetchurl {
+    url = "http://libtiger.googlecode.com/files/${name}.tar.gz";
+    sha256 = "0rj1bmr9kngrgbxrjbn4f4f9pww0wmf6viflinq7ava7zdav4hkk";
+  };
+
+  buildInputs = [ libkate pango cairo pkgconfig ];
+
+  meta = {
+    homepage = http://code.google.com/p/libtiger/;
+    authors = [ "Vincent Penquerc'h" ];
+    description = "A rendering library for Kate streams using Pango and Cairo";
+  };
+}
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index 7199e61d6bc0..0e390c06d5bc 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -1,25 +1,42 @@
-{ stdenv, fetchurl, libxml2, gnutls, devicemapper, perl, python }:
+{ stdenv, fetchurl, pkgconfig, libxml2, gnutls, devicemapper, perl, python
+, iproute, iptables, readline, lvm2, utillinux, udev, libpciaccess, gettext 
+, libtasn1
+}:
 
-let version = "0.8.3"; in
+let version = "0.8.8"; in
 
 stdenv.mkDerivation {
   name = "libvirt-${version}";
 
   src = fetchurl {
     url = "http://libvirt.org/sources/libvirt-${version}.tar.gz";
-    sha256 = "07vsk4g1nxvxc8yr6cdvwp9kvwgm2g7lh6aaggfkxb2775n87q9m";
+    sha256 = "04z1757qpi3ssnjv5h2qnw1sds2m50yxk67cbdam6w4i50vyl2h3";
   };
 
-  buildInputs = [ libxml2 gnutls devicemapper perl python ];
+  buildInputs =
+    [ pkgconfig libxml2 gnutls devicemapper perl python readline lvm2
+      utillinux udev libpciaccess gettext libtasn1
+    ];
+
+  preConfigure =
+    ''
+      PATH=${iproute}/sbin:${iptables}/sbin:${lvm2}/sbin:${udev}/sbin:$PATH
+    '';
+
+  configureFlags = "--localstatedir=/var --with-init-script=redhat";
+
+  installFlags = "localstatedir=$(TMPDIR)/var";
+
+  postInstall =
+    ''
+      substituteInPlace $out/etc/rc.d/init.d/libvirt-guests \
+        --replace "$out/bin" "${gettext}/bin"
+    '';
 
-  # xen currently disabled in nixpkgs
-  configureFlags = ''                                                  
-    --without-xen
-  '';
-  
   meta = {
     homepage = http://libvirt.org/;
-    description = "A toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes).";
+    description = "A toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes)";
     license = "LGPLv2+";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libxmi/default.nix b/pkgs/development/libraries/libxmi/default.nix
index 7d3894e22229..ececdabb56ce 100644
--- a/pkgs/development/libraries/libxmi/default.nix
+++ b/pkgs/development/libraries/libxmi/default.nix
@@ -1,19 +1,21 @@
-{stdenv, fetchurl, libtool}:
+{ stdenv, fetchurl, libtool }:
 
 stdenv.mkDerivation {
   name = "libxmi-1.2";
-  
+
   src = fetchurl {
     url = mirror://gnu/libxmi/libxmi-1.2.tar.gz;
     sha256 = "03d4ikh29l38rl1wavb0icw7m5pp7yilnv7bb2k8qij1dinsymlx";
   };
 
-  # For the x86_64 linux arch to be recognized by 'configure'
+  # For the x86_64 GNU/Linux arch to be recognized by 'configure'
   preConfigure = "cp ${libtool}/share/libtool/config/config.sub .";
-  
+
   meta = {
-    description = "Library for rasterizing 2-D vector graphics";
+    description = "GNU libxmi, a library for rasterizing 2-D vector graphics";
     homepage = http://www.gnu.org/software/libxmi/;
-    license = "GPLv2";
+    license = "GPLv2+";
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    maintainers = [ stdenv.lib.maintainers.ludo ];
   };
 }
diff --git a/pkgs/development/libraries/libzrtpcpp/default.nix b/pkgs/development/libraries/libzrtpcpp/default.nix
index 1754539a5f17..767314cdcae9 100644
--- a/pkgs/development/libraries/libzrtpcpp/default.nix
+++ b/pkgs/development/libraries/libzrtpcpp/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, commoncpp2, openssl, pkgconfig, ccrtp }:
 
 stdenv.mkDerivation rec {
-  name = "libzrtpcpp-1.4.1";
+  name = "libzrtpcpp-1.6.0";
 
   src = fetchurl {
     url = "mirror://gnu/ccrtp/${name}.tar.gz";
-    sha256 = "0gj5xiv15xnxdbppa06fy02j8jg0zm1capva4nhbpgzg08n7p8y0";
+    sha256 = "17aayr4f27rp4fvminxn6jx7kq56kkk341l7ypqb9h0k6kns27kb";
   };
 
   buildInputs = [ commoncpp2 openssl pkgconfig ccrtp ];
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 9b449be13359..c769bd64c533 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -1,29 +1,35 @@
-{ stdenv, fetchurl, pkgconfig, x11, xlibs, libdrm, expat, lipo ? null }:
+{ stdenv, fetchurl, pkgconfig, x11, xlibs, libdrm, expat, lipo ? null, talloc }:
 
 if ! stdenv.lib.lists.elem stdenv.system stdenv.lib.platforms.mesaPlatforms then
   throw "unsupported platform for Mesa"
 else
 
+let version = "7.10.1"; in
+
 stdenv.mkDerivation {
-  name = "mesa-7.8.2";
+  name = "mesa-${version}";
 
   src = fetchurl {
-    url = ftp://ftp.freedesktop.org/pub/mesa/7.8.2/MesaLib-7.8.2.tar.bz2;
-    md5 = "6be2d343a0089bfd395ce02aaf8adb57";
+    url = "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2";
+    md5 = "efe8da4d80c2a5d32a800770b8ce5dfa";
   };
 
+  patches = [ ./swrast-settexbuffer.patch ];
+
   configureFlags =
     "--disable-gallium"
-    + (if stdenv.system == "mips64-linux" then
-      " --with-dri-drivers=swrast --with-driver=dri" else "")
-    + (if stdenv.isDarwin then " --disable-egl" else "");
+    + stdenv.lib.optionalString (stdenv.system == "mips64-linux")
+      " --with-dri-drivers=swrast --with-driver=dri"
+    + stdenv.lib.optionalString stdenv.isDarwin " --disable-egl";
 
   buildInputs =
-    [ pkgconfig expat x11 libdrm xlibs.glproto
+    [ pkgconfig expat x11 libdrm xlibs.makedepend xlibs.glproto
       xlibs.libXxf86vm xlibs.libXfixes xlibs.libXdamage xlibs.dri2proto
-      lipo
+      lipo talloc 
     ];
 
+  enableParallelBuilding = true;
+
   passthru = { inherit libdrm; };
 
   meta = {
diff --git a/pkgs/development/libraries/mesa/swrast-settexbuffer.patch b/pkgs/development/libraries/mesa/swrast-settexbuffer.patch
new file mode 100644
index 000000000000..c74daa3aef12
--- /dev/null
+++ b/pkgs/development/libraries/mesa/swrast-settexbuffer.patch
@@ -0,0 +1,24 @@
+https://build.opensuse.org/package/view_file?file=0001-Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch&package=Mesa&project=openSUSE%3AFactory&srcmd5=be25d34ad69853c2bb21ed376061d573
+
+diff -ru Mesa-7.10.1-orig//src/mesa/drivers/dri/swrast/swrast.c Mesa-7.10.1//src/mesa/drivers/dri/swrast/swrast.c
+--- Mesa-7.10.1-orig//src/mesa/drivers/dri/swrast/swrast.c	2010-12-14 22:43:15.000000000 +0100
++++ Mesa-7.10.1//src/mesa/drivers/dri/swrast/swrast.c	2011-03-07 18:08:17.062816112 +0100
+@@ -61,6 +61,7 @@
+ static void swrastSetTexBuffer2(__DRIcontext *pDRICtx, GLint target,
+ 				GLint texture_format, __DRIdrawable *dPriv)
+ {
++    GET_CURRENT_CONTEXT(ctx);
+     struct dri_context *dri_ctx;
+     int x, y, w, h;
+     __DRIscreen *sPriv = dPriv->driScreenPriv;
+@@ -90,6 +91,10 @@
+     _mesa_init_teximage_fields(&dri_ctx->Base, target, texImage,
+ 			       w, h, 1, 0, internalFormat, texFormat);
+ 
++    ctx->Driver.TexImage2D(ctx, target, 0, internalFormat,
++              w, h, 0, texture_format, GL_UNSIGNED_INT_8_8_8_8,
++              NULL, &ctx->Unpack, texObj, texImage);
++
+     sPriv->swrast_loader->getImage(dPriv, x, y, w, h, (char *)texImage->Data,
+ 				   dPriv->loaderPrivate);
+ 
diff --git a/pkgs/development/libraries/mlt/default.nix b/pkgs/development/libraries/mlt/default.nix
index 33b5918d1ca0..f797fcc02341 100644
--- a/pkgs/development/libraries/mlt/default.nix
+++ b/pkgs/development/libraries/mlt/default.nix
@@ -2,11 +2,11 @@
 libvorbis, sox}:
 
 stdenv.mkDerivation {
-  name = "mlt-0.5.10";
+  name = "mlt-0.6.2";
 
   src = fetchurl {
-    url = mirror://sourceforge/mlt/mlt-0.5.10.tar.gz;
-    sha256 = "17nil3snm6qgcyld852ys0kqm61cx94zb3bvjdqgci6z1ia3crhh";
+    url = mirror://sourceforge/mlt/mlt-0.6.2.tar.gz;
+    sha256 = "0rvyblxyp52mdjl4aicrk16k56yb24ic4ir3n145cxdarwi98r7i";
   };
 
   buildInputs = [ qt SDL ffmpeg libdv libxml2 libsamplerate libvorbis sox ];
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index 67c3bc5fe93f..6e15dca01f33 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -1,20 +1,30 @@
 {stdenv, fetchurl, unicode ? true}:
 
-stdenv.mkDerivation ( rec {
+let
+  /* C++ bindings fail to build on `i386-pc-solaris2.11' with GCC 3.4.3:
+     <http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6395191>.
+     It seems that it could be worked around by #including <wchar.h> in the
+     right place, according to
+     <http://mail.python.org/pipermail/python-bugs-list/2006-September/035362.html>,
+     but this is left as an exercise to the reader.
+     So disable them for now.  */
+  cxx = stdenv.system != "i386-sunos";
+in
+stdenv.mkDerivation (rec {
   name = "ncurses-5.7";
-  
+
   src = fetchurl {
     url = "mirror://gnu/ncurses/${name}.tar.gz";
     sha256 = "1x4q6kma6zgg438llbgiac3kik7j2lln9v97jdffv3fyqyjxx6qa";
   };
 
-  crossAttrs = { 
+  crossAttrs = {
     patches = [ ./wint_t.patch ];
   };
-  
+
   configureFlags = ''
     --with-shared --includedir=''${out}/include --without-debug
-    ${if unicode then "--enable-widec" else ""}
+    ${if unicode then "--enable-widec" else ""}${if cxx then "" else "--without-cxx-binding"}
   '';
 
   selfBuildNativeInput = true;
@@ -27,7 +37,7 @@ stdenv.mkDerivation ( rec {
   # compatibility links from the the "normal" libraries to the
   # wide-character libraries (e.g. libncurses.so to libncursesw.so).
   postInstall = if unicode then ''
-    chmod 644 $out/lib/libncurses++w.a
+    ${if cxx then "chmod 644 $out/lib/libncurses++w.a" else ""}
     for lib in curses ncurses form panel menu; do
       if test -e $out/lib/lib''${lib}w.a; then
         rm -f $out/lib/lib$lib.so
@@ -58,5 +68,8 @@ stdenv.mkDerivation ( rec {
     homepage = http://www.gnu.org/software/ncurses/;
 
     license = "X11";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.all;
   };
 } // ( if stdenv.isDarwin then { postFixup = "rm $out/lib/*.so"; } else { } ) )
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index e79beb49f32c..f4ed2381010a 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -10,18 +10,25 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "nss-3.12.7";
+  name = "nss-3.12.8";
   
   src = fetchurl {
-    url = http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_12_7_RTM/src/nss-3.12.7.tar.gz;
-    sha256 = "0x5h0r5hn4qzafxakhvqyw1r8r0zy09b7b0kmdh3ff6v29v4bnzx";
+    url = http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_12_8_RTM/src/nss-3.12.8.tar.gz;
+    sha256 = "050c175l5zyzqxcp5fxj4q4n641c3j7w6w6fjg5hk3cyfhlwwy4i";
   };
 
   buildInputs = [nspr perl zlib];
 
+  patches = [ ./nss-3.12.5-gentoo-fixups.diff ];
+
   # Based on the build instructions at
   # http://www.mozilla.org/projects/security/pki/nss/nss-3.11.4/nss-3.11.4-build.html
   
+  postPatch = ''
+    sed -i -e "/^PREFIX =/s:= /usr:= $out:" \
+                "mozilla/security/nss/config/Makefile"
+  '';
+
   preConfigure = "cd mozilla/security/nss";
 
   BUILD_OPT = "1";
diff --git a/pkgs/development/libraries/nss/nss-3.12.5-gentoo-fixups.diff b/pkgs/development/libraries/nss/nss-3.12.5-gentoo-fixups.diff
new file mode 100644
index 000000000000..57fbb71ff784
--- /dev/null
+++ b/pkgs/development/libraries/nss/nss-3.12.5-gentoo-fixups.diff
@@ -0,0 +1,247 @@
+diff -urN nss-3.12.5-orig/mozilla/security/nss/config/Makefile nss-3.12.5/mozilla/security/nss/config/Makefile
+--- nss-3.12.5-orig/mozilla/security/nss/config/Makefile	1969-12-31 18:00:00.000000000 -0600
++++ nss-3.12.5/mozilla/security/nss/config/Makefile	2009-09-14 21:45:45.619639265 -0500
+@@ -0,0 +1,42 @@
++CORE_DEPTH = ../..
++DEPTH      = ../..
++
++include $(CORE_DEPTH)/coreconf/config.mk
++
++NSS_MAJOR_VERSION = `grep "NSS_VMAJOR" ../lib/nss/nss.h | awk '{print $$3}'`
++NSS_MINOR_VERSION = `grep "NSS_VMINOR" ../lib/nss/nss.h | awk '{print $$3}'`
++NSS_PATCH_VERSION = `grep "NSS_VPATCH" ../lib/nss/nss.h | awk '{print $$3}'`
++PREFIX = /usr
++
++all: export libs
++
++export:
++	# Create the nss.pc file
++	sed -e "s,@prefix@,$(PREFIX)," \
++	    -e "s,@exec_prefix@,\$${prefix}," \
++	    -e "s,@libdir@,\$${prefix}/lib," \
++	    -e "s,@includedir@,\$${prefix}/include/nss," \
++	    -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION),g" \
++	    -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
++	    -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
++	    nss.pc.in > nss.pc
++	chmod 0644 nss.pc
++
++	# Create the nss-config script
++	mkdir -p $(DIST)/bin
++	sed -e "s,@prefix@,$(PREFIX)," \
++	    -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION)," \
++	    -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
++	    -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
++	    nss-config.in > nss-config
++	chmod 0755 nss-config
++	# ln -sf ../../../../security/nss/config/nss-config $(DIST)/bin
++
++libs:
++
++dummy: all export libs
++
++install:
++	mkdir -p $(DIST)/lib/pkgconfig
++	cp nss.pc $(DIST)/lib/pkgconfig
++
+diff -urN nss-3.12.5-orig/mozilla/security/nss/config/nss-config.in nss-3.12.5/mozilla/security/nss/config/nss-config.in
+--- nss-3.12.5-orig/mozilla/security/nss/config/nss-config.in	1969-12-31 18:00:00.000000000 -0600
++++ nss-3.12.5/mozilla/security/nss/config/nss-config.in	2009-09-14 21:47:45.190638078 -0500
+@@ -0,0 +1,145 @@
++#!/bin/sh
++
++prefix=@prefix@
++
++major_version=@NSS_MAJOR_VERSION@
++minor_version=@NSS_MINOR_VERSION@
++patch_version=@NSS_PATCH_VERSION@
++
++usage()
++{
++	cat <<EOF
++Usage: nss-config [OPTIONS] [LIBRARIES]
++Options:
++	[--prefix[=DIR]]
++	[--exec-prefix[=DIR]]
++	[--includedir[=DIR]]
++	[--libdir[=DIR]]
++	[--version]
++	[--libs]
++	[--cflags]
++Dynamic Libraries:
++	nss
++	ssl
++	smime
++	nssutil
++EOF
++	exit $1
++}
++
++if test $# -eq 0; then
++	usage 1 1>&2
++fi
++
++lib_ssl=yes
++lib_smime=yes
++lib_nss=yes
++lib_nssutil=yes
++
++while test $# -gt 0; do
++  case "$1" in
++  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
++  *) optarg= ;;
++  esac
++
++  case $1 in
++    --prefix=*)
++      prefix=$optarg
++      ;;
++    --prefix)
++      echo_prefix=yes
++      ;;
++    --exec-prefix=*)
++      exec_prefix=$optarg
++      ;;
++    --exec-prefix)
++      echo_exec_prefix=yes
++      ;;
++    --includedir=*)
++      includedir=$optarg
++      ;;
++    --includedir)
++      echo_includedir=yes
++      ;;
++    --libdir=*)
++      libdir=$optarg
++      ;;
++    --libdir)
++      echo_libdir=yes
++      ;;
++    --version)
++      echo ${major_version}.${minor_version}.${patch_version}
++      ;;
++    --cflags)
++      echo_cflags=yes
++      ;;
++    --libs)
++      echo_libs=yes
++      ;;
++    ssl)
++      lib_ssl=yes
++      ;;
++    smime)
++      lib_smime=yes
++      ;;
++    nss)
++      lib_nss=yes
++      ;;
++    nssutil)                                                      
++      lib_nssutil=yes                                             
++      ;;
++    *)
++      usage 1 1>&2
++      ;;
++  esac
++  shift
++done
++
++# Set variables that may be dependent upon other variables
++if test -z "$exec_prefix"; then
++    exec_prefix=`pkg-config --variable=exec_prefix nss`
++fi
++if test -z "$includedir"; then
++    includedir=`pkg-config --variable=includedir nss`
++fi
++if test -z "$libdir"; then
++    libdir=`pkg-config --variable=libdir nss`
++fi
++
++if test "$echo_prefix" = "yes"; then
++    echo $prefix
++fi
++
++if test "$echo_exec_prefix" = "yes"; then
++    echo $exec_prefix
++fi
++
++if test "$echo_includedir" = "yes"; then
++    echo $includedir
++fi
++
++if test "$echo_libdir" = "yes"; then
++    echo $libdir
++fi
++
++if test "$echo_cflags" = "yes"; then
++    echo -I$includedir
++fi
++
++if test "$echo_libs" = "yes"; then
++      libdirs="-Wl,-R$libdir -L$libdir"
++      if test -n "$lib_ssl"; then
++	libdirs="$libdirs -lssl${major_version}"
++      fi
++      if test -n "$lib_smime"; then
++	libdirs="$libdirs -lsmime${major_version}"
++      fi
++      if test -n "$lib_nss"; then
++	libdirs="$libdirs -lnss${major_version}"
++      fi
++      if test -n "$lib_nssutil"; then
++       libdirs="$libdirs -lnssutil${major_version}"
++      fi
++      echo $libdirs
++fi      
++
+diff -urN nss-3.12.5-orig/mozilla/security/nss/config/nss.pc.in nss-3.12.5/mozilla/security/nss/config/nss.pc.in
+--- nss-3.12.5-orig/mozilla/security/nss/config/nss.pc.in	1969-12-31 18:00:00.000000000 -0600
++++ nss-3.12.5/mozilla/security/nss/config/nss.pc.in	2009-09-14 21:45:45.653637310 -0500
+@@ -0,0 +1,12 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: NSS
++Description: Network Security Services
++Version: @NSS_MAJOR_VERSION@.@NSS_MINOR_VERSION@.@NSS_PATCH_VERSION@
++Requires: nspr >= 4.8
++Libs: -L${libdir} -lssl3 -lsmime3 -lnssutil3 -lnss3 -Wl,-R${libdir}
++Cflags: -I${includedir}
++
+diff -urN nss-3.12.5-orig/mozilla/security/nss/Makefile nss-3.12.5/mozilla/security/nss/Makefile
+--- nss-3.12.5-orig/mozilla/security/nss/Makefile	2008-12-02 17:24:39.000000000 -0600
++++ nss-3.12.5/mozilla/security/nss/Makefile	2009-09-14 21:45:45.678657145 -0500
+@@ -78,7 +78,7 @@
+ # (7) Execute "local" rules. (OPTIONAL).                              #
+ #######################################################################
+ 
+-nss_build_all: build_coreconf build_nspr build_dbm all
++nss_build_all: build_coreconf build_dbm all
+ 
+ nss_clean_all: clobber_coreconf clobber_nspr clobber_dbm clobber
+ 
+@@ -140,12 +140,6 @@
+ 	--with-dist-prefix='$(NSPR_PREFIX)' \
+ 	--with-dist-includedir='$(NSPR_PREFIX)/include'
+ 
+-build_nspr: $(NSPR_CONFIG_STATUS)
+-	cd $(CORE_DEPTH)/../nsprpub/$(OBJDIR_NAME) ; $(MAKE)
+-
+-clobber_nspr: $(NSPR_CONFIG_STATUS)
+-	cd $(CORE_DEPTH)/../nsprpub/$(OBJDIR_NAME) ; $(MAKE) clobber
+-
+ build_dbm:
+ ifndef NSS_DISABLE_DBM
+ 	cd $(CORE_DEPTH)/dbm ; $(MAKE) export libs
+diff -urN nss-3.12.5-orig/mozilla/security/nss/manifest.mn nss-3.12.5/mozilla/security/nss/manifest.mn
+--- nss-3.12.5-orig/mozilla/security/nss/manifest.mn	2008-04-04 15:36:59.000000000 -0500
++++ nss-3.12.5/mozilla/security/nss/manifest.mn	2009-09-14 21:45:45.703656167 -0500
+@@ -42,6 +42,6 @@
+ 
+ RELEASE = nss
+ 
+-DIRS = lib cmd
++DIRS = lib cmd config
+ 
+ 
diff --git a/pkgs/development/libraries/ode/default.nix b/pkgs/development/libraries/ode/default.nix
index 2cc240c7ec34..31b2aa7dad91 100644
--- a/pkgs/development/libraries/ode/default.nix
+++ b/pkgs/development/libraries/ode/default.nix
@@ -3,7 +3,7 @@ let
   lib = args.lib;
   fetchurl = args.fetchurl;
 
-  version = lib.attrByPath ["version"] "0.10.1" args; 
+  version = lib.attrByPath ["version"] "0.11.1" args; 
   buildInputs = with args; [
     
   ];
@@ -11,7 +11,7 @@ in
 rec {
   src = fetchurl {
     url = "http://downloads.sourceforge.net/opende/ode-${version}.tar.bz2";
-    sha256 = "0bm7kmm7qvrbk40pgaszqr66pjfvnln8vjzdmcdl2h1dxi3b4dln";
+    sha256 = "1883gbsnn7zldrpwfdh6kwj20g627n5bspz3yb2z6lrxdal88y47";
   };
 
   inherit buildInputs;
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 54d4265e01c6..4897d08574d1 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -7,11 +7,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "openssl-1.0.0c";
+  name = "openssl-1.0.0d";
 
   src = fetchurl {
     url = "http://www.openssl.org/source/${name}.tar.gz";
-    sha256 = "1sq4sswyjxnr08lyjcafwdha6j5jd2b48vxfg48kdapdwdnv6cgp";
+    sha256 = "1nr0cf6pf8i4qsnx31kqhiqv402xgn76yhjhlbdri8ma1hgislcj";
   };
 
   patches = stdenv.lib.optional stdenv.isDarwin ./darwin-arch.patch;
@@ -25,6 +25,15 @@ stdenv.mkDerivation rec {
   
   configureFlags = "shared --libdir=lib";
 
+  postInstall =
+    ''
+      # If we're building dynamic libraries, then don't install static
+      # libraries.
+      if [ -n "$(echo $out/lib/*.so)" ]; then
+          rm $out/lib/*.a
+      fi
+    ''; # */
+
   crossAttrs = {
     preConfigure=''
       # It's configure does not like --build or --host
diff --git a/pkgs/development/libraries/osip/default.nix b/pkgs/development/libraries/osip/default.nix
index e63bbbb151df..9e270f9eec26 100644
--- a/pkgs/development/libraries/osip/default.nix
+++ b/pkgs/development/libraries/osip/default.nix
@@ -1,20 +1,17 @@
 {stdenv, fetchurl}:
 stdenv.mkDerivation rec {
-  version = "3.3.0";
+  version = "3.5.0";
   src = fetchurl {
     url = "mirror://gnu/osip/libosip2-${version}.tar.gz";
-    sha256 = "08gqll8c7y9hzzs80cal7paxn6knnhbfkvzdaxs2sssrmbg2hpnl";
+    sha256 = "14csf6z7b802bahxd560ibx3mg2fq3ki734vf3k2vknr4jm5v5fx";
   };
   name = "libosip2-${version}";
-      
+
   meta = {
     license = "LGPLv2.1+";
-    description = "GNU oSIP library ";
-    maintainers = with stdenv.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with stdenv.lib.platforms;
-      linux;
+    homepage = http://www.gnu.org/software/osip/;
+    description = "The GNU oSIP library, an implementation of the Session Initiation Protocol (SIP)";
+    maintainers = with stdenv.lib.maintainers; [ raskin ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/pango/1.26.x.nix b/pkgs/development/libraries/pango/1.26.x.nix
deleted file mode 100644
index fb24cb544b0d..000000000000
--- a/pkgs/development/libraries/pango/1.26.x.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gettext, x11, glib, cairo, libpng }:
-
-stdenv.mkDerivation rec {
-  name = "pango-1.26.2";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/pango/1.26/${name}.tar.bz2";
-    sha256 = "021ygk3l9bk00gsvxk02flxsk68w0wl99dx221fmb547bng8g19v";
-  };
-
-  buildInputs = [pkgconfig] ++ stdenv.lib.optional (stdenv.system == "i686-darwin") gettext;
-
-  propagatedBuildInputs = [x11 glib cairo libpng];
-
-  meta = {
-    description = "A library for laying out and rendering of text, with an emphasis on internationalization";
-
-    longDescription = ''
-      Pango is a library for laying out and rendering of text, with an
-      emphasis on internationalization.  Pango can be used anywhere
-      that text layout is needed, though most of the work on Pango so
-      far has been done in the context of the GTK+ widget toolkit.
-      Pango forms the core of text and font handling for GTK+-2.x.
-    '';
-
-    homepage = http://www.pango.org/;
-    license = "LGPLv2+";
-
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.all;
-  };
-}
diff --git a/pkgs/development/libraries/pango/1.28.x.nix b/pkgs/development/libraries/pango/1.28.x.nix
index 47418be66934..a5aa77b5a398 100644
--- a/pkgs/development/libraries/pango/1.28.x.nix
+++ b/pkgs/development/libraries/pango/1.28.x.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ x11 glib cairo libpng ];
 
+  postInstall = "rm -rf $out/share/gtk-doc";
+  
   meta = {
     description = "A library for laying out and rendering of text, with an emphasis on internationalization";
 
diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix
index 0e4b6cab6502..35a1a37e39ff 100644
--- a/pkgs/development/libraries/polkit/default.nix
+++ b/pkgs/development/libraries/polkit/default.nix
@@ -13,11 +13,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "polkit-0.96";
+  name = "polkit-0.99";
 
   src = fetchurl {
     url = "http://hal.freedesktop.org/releases/${name}.tar.gz";
-    sha256 = "0jh5v0dhf9msvmfmr9d67563m64gq5l96m9jax9abchhfa8wl9il";
+    sha256 = "0gsqnc5x6angma7paw0hnl5cagqimsj5f022a5vzc8n8dv1cf4pn";
   };
 
   buildInputs = [ pkgconfig glib eggdbus expat pam intltool gettext
diff --git a/pkgs/desktops/kde-4.6/support/qca2/default.nix b/pkgs/development/libraries/qca2/default.nix
similarity index 89%
rename from pkgs/desktops/kde-4.6/support/qca2/default.nix
rename to pkgs/development/libraries/qca2/default.nix
index a55f7c8cb431..46b7d26bdfcf 100644
--- a/pkgs/desktops/kde-4.6/support/qca2/default.nix
+++ b/pkgs/development/libraries/qca2/default.nix
@@ -6,7 +6,8 @@ stdenv.mkDerivation {
     url = http://delta.affinix.com/download/qca/2.0/qca-2.0.2.tar.bz2;
     sha256 = "49b5474450104a2298747c243de1451ab7a6aeed4bf7df43ffa4b7128a2837b8";
   };
-  buildInputs = [ which qt4 ];
+  buildInputs = [ qt4 ];
+  buildNativeInputs = [ which ];
   preBuild = ''
     sed -i include/QtCrypto/qca_publickey.h -e '/EMSA3_Raw/a,\
             EMSA3_SHA224,     ///< SHA224, with EMSA3 (ie PKCS#1 Version 1.5) encoding\
@@ -14,6 +15,8 @@ stdenv.mkDerivation {
             EMSA3_SHA384,     ///< SHA384, with EMSA3 (ie PKCS#1 Version 1.5) encoding\
             EMSA3_SHA512      ///< SHA512, with EMSA3 (ie PKCS#1 Version 1.5) encoding'
   '';
+
+  configureFlags = "--no-separate-debug-info";
   meta = with stdenv.lib; {
     description = "Qt Cryptographic Architecture";
     license = "LGPL";
diff --git a/pkgs/desktops/kde-4.4/support/qca2/ossl.nix b/pkgs/development/libraries/qca2/ossl.nix
similarity index 92%
rename from pkgs/desktops/kde-4.4/support/qca2/ossl.nix
rename to pkgs/development/libraries/qca2/ossl.nix
index bfaa320618c7..1e0c583b7a5d 100644
--- a/pkgs/desktops/kde-4.4/support/qca2/ossl.nix
+++ b/pkgs/development/libraries/qca2/ossl.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, fetchsvn, qt4, qca2, openssl}:
+{stdenv, fetchurl, fetchsvn, qt4, qca2, openssl, which}:
 
 stdenv.mkDerivation rec {
   version = "2.0.0-beta3";
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
     sha256 =  "ef2c0307e8834e1e7cb23b6fea1cc22486328a37186301a6c11161b1c93d834b";
   };
   buildInputs = [ qt4 qca2 openssl ];
+  buildNativeInputs = [ which ];
   dontAddPrefix = true;
   configureFlags="--no-separate-debug-info --with-qca=${qca2}
     --with-openssl-inc=${openssl}/include --with-openssl-lib=${openssl}/lib";
diff --git a/pkgs/desktops/kde-4.5/support/qimageblitz/default.nix b/pkgs/development/libraries/qimageblitz/default.nix
similarity index 100%
rename from pkgs/desktops/kde-4.5/support/qimageblitz/default.nix
rename to pkgs/development/libraries/qimageblitz/default.nix
diff --git a/pkgs/development/libraries/qt-4.x/4.7/default.nix b/pkgs/development/libraries/qt-4.x/4.7/default.nix
index 3a16679ce9f1..d6a4afc3fcae 100644
--- a/pkgs/development/libraries/qt-4.x/4.7/default.nix
+++ b/pkgs/development/libraries/qt-4.x/4.7/default.nix
@@ -8,7 +8,7 @@
 , buildDemos ? false, buildExamples ? false, useDocs ? true}:
 
 let
-  v = "4.7.0";
+  v = "4.7.2";
 in
 
 stdenv.mkDerivation rec {
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "ftp://ftp.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${v}.tar.gz";
-    sha256 = "0mbr7sjaswkd5gibyb36mlaas049fj8vf2risi66fzfac3amclp0";
+    sha256 = "0dlknhzcslymqbmlkpmmgv29c5mmbw6s7rznriqd5g4h9d93ny6l";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/soqt/default.nix b/pkgs/development/libraries/soqt/default.nix
new file mode 100644
index 000000000000..f5a7724c5065
--- /dev/null
+++ b/pkgs/development/libraries/soqt/default.nix
@@ -0,0 +1,22 @@
+{ fetchurl, stdenv, coin3d, qt4 }:
+
+stdenv.mkDerivation rec {
+  name = "soqt-${version}";
+  version = "1.5.0";
+
+  src = fetchurl {
+    url = "http://ftp.coin3d.org/coin/src/all/SoQt-${version}.tar.gz";
+    sha256 = "14dbh8ynzjcgwgxjc6530c5plji7vn62kbdf447w0dp53564p8zn";
+  };
+
+  buildInputs = [ coin3d qt4 ];
+
+  meta = {
+    homepage = http://www.coin3d.org/;
+    license = "GPLv2+";
+    description = "Glue between Coin high-level 3D visualization library and Qt";
+
+    maintainers = [ stdenv.lib.maintainers.viric ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/speechd/default.nix b/pkgs/development/libraries/speechd/default.nix
new file mode 100644
index 000000000000..0e542b353f67
--- /dev/null
+++ b/pkgs/development/libraries/speechd/default.nix
@@ -0,0 +1,20 @@
+{ fetchurl, stdenv, dotconf, glib, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "speech-dispatcher-" + version;
+  version = "0.7.1";
+
+  src = fetchurl {
+    url = "http://www.freebsoft.org/pub/projects/speechd/${name}.tar.gz";
+    sha256 = "0laag72iw03545zggdzcr860b8q7w1vrjr3csd2ldps7jhlwzad8";
+  };
+
+  buildInputs = [ dotconf glib pkgconfig ];
+
+  meta = {
+    description = "Common interface to speech synthesis";
+
+    homepage = http://www.freebsoft.org/speechd;
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index 2a53f4b09bd2..dc6b543d53b2 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -3,11 +3,11 @@
 assert readline != null -> ncurses != null;
 
 stdenv.mkDerivation {
-  name = "sqlite-3.7.4";
+  name = "sqlite-3.7.5";
 
   src = fetchurl {
-    url = http://www.sqlite.org/sqlite-autoconf-3070400.tar.gz;
-    sha256 = "131lwjqh1nfyrx4vjya2wdl6bnc0gzvcrg0wf06sz2iisj0h9vsl";
+    url = http://www.sqlite.org/sqlite-autoconf-3070500.tar.gz;
+    sha256 = "151gdb7lhzppccc42wzc27ckf0v25m7j9pfxna15ixn9ds98cnyb";
   };
 
   buildInputs = [ readline ncurses ];
diff --git a/pkgs/desktops/kde-4.6/support/strigi/default.nix b/pkgs/development/libraries/strigi/default.nix
similarity index 99%
rename from pkgs/desktops/kde-4.6/support/strigi/default.nix
rename to pkgs/development/libraries/strigi/default.nix
index 7a4cb3b664cb..eeed7b271cd3 100644
--- a/pkgs/desktops/kde-4.6/support/strigi/default.nix
+++ b/pkgs/development/libraries/strigi/default.nix
@@ -11,9 +11,9 @@ stdenv.mkDerivation rec {
     sha256 = "1f1ac27cjm5m4iwsgvd7nylr0md0a95przkbpsdq7l90wjxj390w";
   };
   includeAllQtDirs=true;
-  
+
   CLUCENE_HOME = cluceneCore;
-  
+
   # Dependencies such as SQLite and FAM are unreliable in this release
   buildInputs = [
     cmake perl qt4 bzip2 stdenv.gcc.libc libxml2 expat exiv2 cluceneCore
diff --git a/pkgs/development/libraries/taglib/default.nix b/pkgs/development/libraries/taglib/default.nix
index 28a1b2205db9..c3b32c21f376 100644
--- a/pkgs/development/libraries/taglib/default.nix
+++ b/pkgs/development/libraries/taglib/default.nix
@@ -1,16 +1,16 @@
-{stdenv, fetchurl, zlib}:
+{stdenv, fetchurl, zlib, cmake}:
 
-stdenv.mkDerivation {
-  name = "taglib-1.6.1";
+stdenv.mkDerivation rec {
+  name = "taglib-1.6.3";
   
   src = fetchurl {
-    url = http://developer.kde.org/~wheeler/files/src/taglib-1.6.1.tar.gz;
-    sha256 = "0i5s3n6i8ac5q7gqdnynrmi75as24nhy76y0q0v764llw82jlxcf";
+    url = "http://developer.kde.org/~wheeler/files/src/${name}.tar.gz";
+    sha256 = "0jr8ixqr2q0rwcmf4n58vrwbibmd3kijsjdddck6vln6qaf0ifm9";
   };
   
-  configureFlags = "--enable-asf --enable-mp4";
+  cmakeFlags = "-DWITH_ASF=ON -DWITH_MP4=ON";
 
-  buildInputs = [zlib];
+  buildInputs = [zlib cmake];
 
   meta = {
     homepage = http://developer.kde.org/~wheeler/taglib.html;
diff --git a/pkgs/development/libraries/talloc/default.nix b/pkgs/development/libraries/talloc/default.nix
index 97f1b7cc26e0..f8fe2330cf9e 100644
--- a/pkgs/development/libraries/talloc/default.nix
+++ b/pkgs/development/libraries/talloc/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv}:
+{ fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
   name = "talloc-2.0.1";
@@ -9,12 +9,11 @@ stdenv.mkDerivation rec {
   };
 
   configureFlags = "--enable-talloc-compat1 --enable-largefile";
+  
   meta = {
     description = "talloc is a hierarchical pool based memory allocator with destructors";
-
     homepage = http://tdb.samba.org/;
     license = "GPLv3";
-
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/tremor/default.nix b/pkgs/development/libraries/tremor/default.nix
new file mode 100644
index 000000000000..3709172911ec
--- /dev/null
+++ b/pkgs/development/libraries/tremor/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchsvn, autoconf, automake, libtool, pkgconfig, libogg }:
+
+stdenv.mkDerivation rec {
+  name = "tremor-svn-${src.rev}";
+  
+  src = fetchsvn {
+    url = http://svn.xiph.org/trunk/Tremor;
+    rev = "17866";
+    sha256 = "161411cbefa1527da7a8fc087e78d8e21d19143d3a6eb42fb281e5026aad7568";
+  };
+
+  buildInputs = [ autoconf automake libtool pkgconfig ];
+  propagatedBuildInputs = [ libogg ];
+
+  preConfigure = "autoreconf -vfi";
+
+  meta = {
+    homepage = http://xiph.org/tremor/;
+    description = "Fixed-point version of the Ogg Vorbis decoder";
+    license = "BSD";
+  };
+}
diff --git a/pkgs/development/libraries/ucommon/default.nix b/pkgs/development/libraries/ucommon/default.nix
new file mode 100644
index 000000000000..dd8a0c11ed72
--- /dev/null
+++ b/pkgs/development/libraries/ucommon/default.nix
@@ -0,0 +1,23 @@
+{ fetchurl, stdenv, gnutls, pkgconfig, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "ucommon-4.1.7";
+
+  src = fetchurl {
+    url = mirror://gnu/commoncpp/ucommon-4.1.7.tar.gz;
+    sha256 = "1qbfhi3gfzjs44ilaipv0ynjvilxk06897g0zk974g0fgk98dd7i";
+  };
+
+  buildInputs = [ pkgconfig gnutls zlib ];
+
+  doCheck = true;
+
+  meta = {
+    description = "GNU uCommon C++, C++ library to facilitate using C++ design patterns";
+    homepage = http://www.gnu.org/software/commoncpp/;
+    license = "LGPLv3+";
+
+    maintainers = [ stdenv.lib.maintainers.viric ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/vmime/default.nix b/pkgs/development/libraries/vmime/default.nix
new file mode 100644
index 000000000000..4f70b7a39a4b
--- /dev/null
+++ b/pkgs/development/libraries/vmime/default.nix
@@ -0,0 +1,19 @@
+{stdenv, fetchurl, gsasl, gnutls, pkgconfig, zlib, libtasn1 }:
+
+stdenv.mkDerivation {
+  name = "vmime-0.9.1";
+  src = fetchurl {
+    url = mirror://sourceforge/vmime/libvmime-0.9.1.tar.bz2;
+    sha256 = "1bninkznn07zhl7gc3jnigzvb0x1sclwqwgjy47ahzdwv5vcnriv";
+  };
+
+  buildInputs = [ gsasl gnutls pkgconfig zlib libtasn1 ];
+
+  meta = {
+    homepage = http://www.vmime.org/;
+    description = "Free mail library for C++";
+    license = "GPLv3";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/development/libraries/xapian/bindings/default.nix b/pkgs/development/libraries/xapian/bindings/default.nix
index b2c172a4d57b..10128788aff7 100644
--- a/pkgs/development/libraries/xapian/bindings/default.nix
+++ b/pkgs/development/libraries/xapian/bindings/default.nix
@@ -3,13 +3,13 @@
 
 let inherit (composableDerivation) wwf; in
 
-composableDerivation.composableDerivation {} {
+composableDerivation.composableDerivation {} rec {
 
-  name = "xapian-bindings-1.0.14";
+  name = "xapian-bindings-1.0.23";
 
   src = fetchurl {
-    url = http://oligarchy.co.uk/xapian/1.0.14/xapian-bindings-1.0.14.tar.gz;
-    sha256 = "060jjwddv6ws8iy3jkpl4zcrzzinkjvdblkl0gcja90qzl2j81q5";
+    url = "http://oligarchy.co.uk/xapian/1.0.23/${name}.tar.gz";
+    sha256 = "6028123c3cd9bfc380b672b89f5420f7d5c063fc3511dee4dd5d34033ccb6911";
   };
 
   buildInputs = [ xapian pkgconfig ];
diff --git a/pkgs/development/libraries/xapian/default.nix b/pkgs/development/libraries/xapian/default.nix
index 6b2966ee7e25..e8a8e39e062b 100644
--- a/pkgs/development/libraries/xapian/default.nix
+++ b/pkgs/development/libraries/xapian/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, zlib }:
 
 stdenv.mkDerivation {
-  name = "xapian-1.0.14";
+  name = "xapian-1.0.23";
 
   src = fetchurl {
-    url = http://oligarchy.co.uk/xapian/1.0.14/xapian-core-1.0.14.tar.gz;
-    sha256 = "0d51p6210059dbf0vn6zh2iyg4i5pynmhyh0gphnph2b317a1dcx";
+    url = http://oligarchy.co.uk/xapian/1.0.23/xapian-core-1.0.23.tar.gz;
+    sha256 = "0aed7296bd56b4b49aba944cc744e1e76fff8cfb0a70fd5b1f49d4c62a97ecc6";
   };
 
   buildInputs = [zlib];
diff --git a/pkgs/development/libraries/xercesc/default.nix b/pkgs/development/libraries/xercesc/default.nix
new file mode 100644
index 000000000000..f5c9ba8a698b
--- /dev/null
+++ b/pkgs/development/libraries/xercesc/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "xerces-c-${version}";
+  version = "3.1.1";
+
+  src = fetchurl {
+    url = "mirror://apache/xerces/c/3/sources/${name}.tar.gz";
+    sha256 = "0dl7jr26vlh5p3hps86xrwyafq6f21schc9q4zyxb48b3vvqa9x4";
+  };
+
+  meta = {
+    homepage = http://xerces.apache.org/xerces-c/;
+    description = "Validating XML parser written in a portable subset of C++";
+    license = "ASL2.0";
+  };
+}
diff --git a/pkgs/development/libraries/xine-lib/builder.sh b/pkgs/development/libraries/xine-lib/builder.sh
deleted file mode 100644
index 4e39b46ba66c..000000000000
--- a/pkgs/development/libraries/xine-lib/builder.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-source $stdenv/setup
-
-if test -n "$libdvdcss"; then
-    # Ugly hack to force libdvdcss to be present (so the user doesn't
-    # have to set LD_LIBRARY_PATH).
-    export NIX_LDFLAGS="-rpath $libdvdcss/lib -L$libdvdcss/lib -ldvdcss $NIX_LDFLAGS"
-fi
-
-if test -n "$libXv"; then
-    configureFlags="--with-xv-path=$libXv/lib $configureFlags"
-fi
-
-genericBuild
\ No newline at end of file
diff --git a/pkgs/development/libraries/xine-lib/default.nix b/pkgs/development/libraries/xine-lib/default.nix
index fcc77a29a96e..3cbb6ba2dd20 100644
--- a/pkgs/development/libraries/xine-lib/default.nix
+++ b/pkgs/development/libraries/xine-lib/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "xine-lib-1.1.16.3";
+  name = "xine-lib-1.1.19";
   
   src = fetchurl {
     url = "mirror://sourceforge/xine/${name}.tar.bz2";
-    sha256 = "0lkvss7r8q16gyisiy3dkgbbk6vvpflfydi3927pvp2mz8g28nnj";
+    sha256 = "0x47kmsaxx1bv8w2cacvzls3sjw9y4vk82rd94km1m1s6k2wcxv2";
   };
   
   buildInputs =
diff --git a/pkgs/development/libraries/xine-lib/xine-lib-linux-headers-2.6.23.patch b/pkgs/development/libraries/xine-lib/xine-lib-linux-headers-2.6.23.patch
deleted file mode 100644
index cd3d766ea8f2..000000000000
--- a/pkgs/development/libraries/xine-lib/xine-lib-linux-headers-2.6.23.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-# HG changeset patch
-# User Ken Moffat <zarniwhoop@users.sourceforge.net>
-# Date 1193435051 -3600
-# Node ID 8a369a0d5ff104cc115bbe76c6b4f3e281d1ef25
-# Parent 05fde4048642d1a7edb19ea623acd760064718bc
-Linux-2.6.23 header change breaks build
->
-> /* Special codes used when specifying changer slots. */
-> #define CDSL_NONE               (INT_MAX-1)
-> #define CDSL_CURRENT            INT_MAX
-
---- a/src/input/vcd/libcdio/_cdio_linux.c	Tue Oct 23 23:45:58 2007 +0100
-+++ b/src/input/vcd/libcdio/_cdio_linux.c	Fri Oct 26 22:44:11 2007 +0100
-@@ -59,6 +59,7 @@ static const char _rcsid[] = "$Id: _cdio
- #include <unistd.h>
- #include <fcntl.h>
- #include <mntent.h>
-+#include <limits.h>
- 
- #include <linux/cdrom.h>
- #include <scsi/scsi.h>
-
diff --git a/pkgs/development/python-modules/pyqt/default.nix b/pkgs/development/python-modules/pyqt/default.nix
index 37eae0fe2038..b5ec01a52d5d 100644
--- a/pkgs/development/python-modules/pyqt/default.nix
+++ b/pkgs/development/python-modules/pyqt/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "PyQt-x11-gpl-4.8.1";
   
   src = fetchurl {
-    url = "http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/${name}.tar.gz";
+    url = "http://nixos.org/tarballs/${name}.tar.gz";
     sha256 = "0w7k1jz7wcfwqq77hiwgds5s6py7kkg1rszd6c94bk9dr06vishz";
   };
   
diff --git a/pkgs/development/python-modules/python-sip/default.nix b/pkgs/development/python-modules/python-sip/default.nix
index 7af20764fabe..7f27400c04a3 100644
--- a/pkgs/development/python-modules/python-sip/default.nix
+++ b/pkgs/development/python-modules/python-sip/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "sip-4.11.2";
   
   src = fetchurl {
-    url = "http://www.riverbankcomputing.co.uk/static/Downloads/sip4/${name}.tar.gz";
+    url = "http://nixos.org/tarballs/${name}.tar.gz";
     sha256 = "0g1pj203m491rhy111ayr4k4lsbcqd8sa1np503xv94a90b05l6f";
   };
   
diff --git a/pkgs/development/tools/analysis/lcov/default.nix b/pkgs/development/tools/analysis/lcov/default.nix
index 2e01a3a0784f..73c3e66f074e 100644
--- a/pkgs/development/tools/analysis/lcov/default.nix
+++ b/pkgs/development/tools/analysis/lcov/default.nix
@@ -1,16 +1,15 @@
 {stdenv, fetchurl, perl}:
 
 stdenv.mkDerivation rec {
-  name = "lcov-1.8";
+  name = "lcov-1.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/ltp/${name}.tar.gz";
-    sha256 = "1xrd9abh1gyki9ln9v772dq7jinvyrvx39s3kxbpiila68mbpa7j";
+    sha256 = "1jhs1x2qy5la5gpdfl805zm11rsz6anla3b0wffk6wq79xfi4zn3";
   };
 
   patches =
-    [ ./unexpected-eof.patch
-      ./find-source.patch
+    [ ./find-source.patch
     ];
 
   preBuild = ''
diff --git a/pkgs/development/tools/analysis/lcov/unexpected-eof.patch b/pkgs/development/tools/analysis/lcov/unexpected-eof.patch
deleted file mode 100644
index c263f621808c..000000000000
--- a/pkgs/development/tools/analysis/lcov/unexpected-eof.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From http://ltp.cvs.sourceforge.net/viewvc/ltp/utils/analysis/lcov/bin/geninfo?revision=1.72&view=markup
-
-Fixes "reached unexpected end of file" errors processing gcno files.
-
-
---- a/bin/geninfo	2010/01/29 11:07:25	1.71
-+++ b/bin/geninfo	2010/02/21 14:56:46	1.72
-@@ -2857,6 +2857,9 @@
- 	# Skip version and stamp
- 	graph_skip(*HANDLE, 8, "version and stamp") or goto incomplete;
- 	while (!eof(HANDLE)) {
-+		my $next_pos;
-+		my $curr_pos;
-+
- 		# Read record tag
- 		$tag = read_gcno_value(*HANDLE, $big_endian, "record tag");
- 		goto incomplete if (!defined($tag));
-@@ -2866,6 +2869,11 @@
- 		goto incomplete if (!defined($length));
- 		# Convert length to bytes
- 		$length *= 4;
-+		# Calculate start of next record
-+		$next_pos = tell(HANDLE);
-+		goto tell_error if ($next_pos == -1);
-+		$next_pos += $length;
-+		# Process record
- 		if ($tag == $tag_function) {
- 			($filename, $function) = read_gcno_function_record(
- 				*HANDLE, $bb, $fileorder, $base, $big_endian);
-@@ -2882,6 +2890,14 @@
- 			graph_skip(*HANDLE, $length, "unhandled record")
- 				or goto incomplete;
- 		}
-+		# Ensure that we are at the start of the next record
-+		$curr_pos = tell(HANDLE);
-+		goto tell_error if ($curr_pos == -1);
-+		next if ($curr_pos == $next_pos);
-+		goto record_error if ($curr_pos > $next_pos);
-+		graph_skip(*HANDLE, $next_pos - $curr_pos,
-+			   "unhandled record content")
-+			or goto incomplete;
- 	}
- 	close(HANDLE);
- 	($instr, $graph) = graph_from_bb($bb, $fileorder, $gcno_filename);
-@@ -2898,6 +2914,12 @@
- magic_error:
- 	graph_error($gcno_filename, "found unrecognized gcno file magic");
- 	return undef;
-+tell_error:
-+	graph_error($gcno_filename, "could not determine file position");
-+	return undef;
-+record_error:
-+	graph_error($gcno_filename, "found unrecognized record format");
-+	return undef;
- }
- 
- sub debug($)
diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix
index 5638e810edf1..6b35cbc4e68e 100644
--- a/pkgs/development/tools/analysis/valgrind/default.nix
+++ b/pkgs/development/tools/analysis/valgrind/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl, gdb, autoconf, automake }:
 
 stdenv.mkDerivation rec {
-  name = "valgrind-3.6.0";
+  name = "valgrind-3.6.1";
 
   src = fetchurl {
     url = "http://valgrind.org/downloads/${name}.tar.bz2";
-    sha256 = "0pr8h0q909z15g2i2jrcryhqbshair42rylf3mprhyx4nm9h23xw";
+    sha256 = "03kaf8q49r347diryc2p1q5hxsd6hyhxikqdbydh8q7hpi7wrga9";
   };
 
   # Perl is needed for `cg_annotate'.
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index c491675f55c9..3e0b485e62ef 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -1,10 +1,11 @@
-{fetchurl, stdenv, replace, curl, expat, zlib
+{fetchurl, stdenv, replace, curl, expat, zlib, bzip2, libarchive
 , useNcurses ? false, ncurses, useQt4 ? false, qt4}:
 
 let
   os = stdenv.lib.optionalString;
+  inherit (stdenv.lib) optional;
   majorVersion = "2.8";
-  minorVersion = "1";
+  minorVersion = "4";
   version = "${majorVersion}.${minorVersion}";
 in
 stdenv.mkDerivation rec {
@@ -14,12 +15,12 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
-    sha256 = "0hi28blqxvir0dkhln90sgr0m3ri9n2i3hlmwdl4m5vkfsmp9bky";
+    sha256 = "1k2kjaj3vfifb329ff7fr4hcbpbaqb66l97pshq70h7m0zwajznr";
   };
 
-  buildInputs = [ curl expat zlib ]
-    ++ stdenv.lib.optional useNcurses ncurses
-    ++ stdenv.lib.optional useQt4 qt4;
+  buildInputs = [ curl expat zlib bzip2 libarchive ]
+    ++ optional useNcurses ncurses
+    ++ optional useQt4 qt4;
 
   CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs;
   configureFlags =
@@ -37,7 +38,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.cmake.org/;
     description = "Cross-Platform Makefile Generator";
-    platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.all;
+    platforms = if useQt4 then qt4.meta.platforms else (with stdenv.lib.platforms; linux ++ freebsd);
     maintainers = [ stdenv.lib.maintainers.urkud ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
index 21d71628c077..c523e849fc15 100755
--- a/pkgs/development/tools/build-managers/cmake/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
@@ -52,7 +52,7 @@ if test -z "$dontUseCmakeConfigure"; then
 fi
 
 if test -n "$crossConfig"; then
-    crossEnvHooks=(${crossEnvHooks[@]} addCMakeParams)
+    crossEnvHooks+=(addCMakeParams)
 else
-    envHooks=(${envHooks[@]} addCMakeParams)
+    envHooks+=(addCMakeParams)
 fi
diff --git a/pkgs/development/tools/documentation/haddock/haddock-2.4.2.nix b/pkgs/development/tools/documentation/haddock/2.4.2.nix
similarity index 100%
rename from pkgs/development/tools/documentation/haddock/haddock-2.4.2.nix
rename to pkgs/development/tools/documentation/haddock/2.4.2.nix
diff --git a/pkgs/development/tools/documentation/haddock/haddock-2.7.2.nix b/pkgs/development/tools/documentation/haddock/2.7.2.nix
similarity index 100%
rename from pkgs/development/tools/documentation/haddock/haddock-2.7.2.nix
rename to pkgs/development/tools/documentation/haddock/2.7.2.nix
diff --git a/pkgs/development/tools/documentation/haddock/2.9.2.nix b/pkgs/development/tools/documentation/haddock/2.9.2.nix
new file mode 100644
index 000000000000..42dbd81d9ff6
--- /dev/null
+++ b/pkgs/development/tools/documentation/haddock/2.9.2.nix
@@ -0,0 +1,18 @@
+{cabal, ghcPaths, xhtml, alex, happy, makeWrapper}:
+
+cabal.mkDerivation (self : {
+  pname = "haddock";
+  version = "2.9.2"; # Haskell Platform 2011.2.0.0
+  name = self.fname;
+  sha256 = "189vvp173pqc69zgzqqx6vyhvsc13p1s86ql60rs1j5qlhh8ajg8";
+  extraBuildInputs = [alex happy makeWrapper];
+  propagatedBuildInputs = [ghcPaths xhtml];
+
+  postInstall = ''
+   wrapProgram $out/bin/haddock --add-flags "\$(${self.ghc.GHCGetPackages} ${self.ghc.ghcVersion} \"\$(dirname \$0)\" \"--optghc=-package-conf --optghc=\")"
+  '';
+
+  meta = {
+    description = "a tool for automatically generating documentation from annotated Haskell source code";
+  };
+})
diff --git a/pkgs/development/tools/haskell/hlint/default.nix b/pkgs/development/tools/haskell/hlint/default.nix
index 4f8812c5b96e..75b38f62999e 100644
--- a/pkgs/development/tools/haskell/hlint/default.nix
+++ b/pkgs/development/tools/haskell/hlint/default.nix
@@ -1,11 +1,12 @@
-{cabal, haskellSrcExts, mtl, uniplate, hscolour, parallel}:
+{cabal, haskellSrcExts, mtl, uniplate, hscolour, parallel, transformers}:
 
 cabal.mkDerivation (self : {
   pname = "hlint";
-  version = "1.7.3";
+  version = "1.8.7";
   name = self.fname;
-  sha256 = "afd4aa623fedf5257464bf18f38376a951d130f3004664803763e67cc55d9e83";
-  extraBuildInputs = [haskellSrcExts mtl uniplate hscolour parallel];
+  sha256 = "0k2fwwwmq0qqb5nw5acsjr2gqnsmqcf3ckb6wdrkqsqp8g2k14mn";
+  extraBuildInputs =
+    [haskellSrcExts mtl uniplate hscolour parallel transformers];
   meta = {
     description = "Source code suggestions";
   };
diff --git a/pkgs/development/tools/haskell/hslogger/default.nix b/pkgs/development/tools/haskell/hslogger/default.nix
index 00f660b66384..60a3fd400fec 100644
--- a/pkgs/development/tools/haskell/hslogger/default.nix
+++ b/pkgs/development/tools/haskell/hslogger/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "hslogger";
-  version = "1.0.7";
-  sha256 = "0fb8aagylrr5z19801szj868apcns8lafc4ydx9v0ka2lbmjqvbz";
+  version = "1.1.4";
+  sha256 = "0858jbkjda7ccjzxjnlp2ng1jyvfsa1jhd45vr9bbhsr8qwrdky7";
   propagatedBuildInputs = [ mtl time network ];
   meta = {
     description = "Versatile logging framework";
diff --git a/pkgs/development/tools/haskell/threadscope/default.nix b/pkgs/development/tools/haskell/threadscope/default.nix
index 1d1d5ed25a9d..63d48ef9cca1 100644
--- a/pkgs/development/tools/haskell/threadscope/default.nix
+++ b/pkgs/development/tools/haskell/threadscope/default.nix
@@ -5,6 +5,10 @@ cabal.mkDerivation (self : {
   version = "0.1.2";
   sha256 = "ce1116016f6b2d38e6063ba3dd147f38147a9c4399160f37aba9c50c96d00a90";
   propagatedBuildInputs = [binary cairo ghcEvents glade gtk mtl];
+  preConfigure = ''
+    sed -i 's|\(containers.*\) && < 0.4|\1|' ${self.pname}.cabal
+  '';
+  configureFlags = "--ghc-options=-rtsopts";
   meta = {
     description = "A graphical thread profiler";
     license = "BSD";
diff --git a/pkgs/development/tools/haskell/uuagc/default.nix b/pkgs/development/tools/haskell/uuagc/default.nix
index 06000e514e7f..a7ede2ef3798 100644
--- a/pkgs/development/tools/haskell/uuagc/default.nix
+++ b/pkgs/development/tools/haskell/uuagc/default.nix
@@ -2,9 +2,9 @@
 
 cabal.mkDerivation (self : {
   pname = "uuagc";
-  version = "0.9.29";
+  version = "0.9.36";
   name = self.fname;
-  sha256 = "325d395abcc1f8224400a3cd765dd187e6be64a782251aa33080aab008b8829e";
+  sha256 = "02sl19apxwhgj7zq37pl6xkl35pafma2683d7hyzyyn6y5kqma1j";
   extraBuildInputs = [uulib];
   meta = {
     description = "Attribute Grammar System of Universiteit Utrecht";
diff --git a/pkgs/development/tools/misc/autoconf/default.nix b/pkgs/development/tools/misc/autoconf/default.nix
index f0c3458dd5ad..82f8b1100541 100644
--- a/pkgs/development/tools/misc/autoconf/default.nix
+++ b/pkgs/development/tools/misc/autoconf/default.nix
@@ -13,7 +13,9 @@ stdenv.mkDerivation rec {
   # Work around a known issue in Cygwin.  See
   # http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/6822 for
   # details.
-  doCheck = (stdenv.system != "i686-cygwin");
+  # There are many test failures on `i386-pc-solaris2.11'.
+  doCheck = (stdenv.system != "i686-cygwin"
+             && stdenv.system != "i386-sunos");
 
   # Don't fixup "#! /bin/sh" in Autoconf, otherwise it will use the
   # "fixed" path in generated files!
diff --git a/pkgs/development/tools/misc/autogen/default.nix b/pkgs/development/tools/misc/autogen/default.nix
index 4dd84e4f1e99..00eb6d404ef8 100644
--- a/pkgs/development/tools/misc/autogen/default.nix
+++ b/pkgs/development/tools/misc/autogen/default.nix
@@ -1,17 +1,24 @@
 { fetchurl, stdenv, guile, which }:
 
-let version = "5.9.8"; in
+let version = "5.11.6"; in
 
   stdenv.mkDerivation {
     name = "autogen-${version}";
 
     src = fetchurl {
-      url = "mirror://gnu/autogen/rel${version}/autogen-${version}.tar.bz2";
-      sha256 = "0y3ygzhzzv7sa0ndvszpfqwcjg4hcb35bcp8qqsndmr6mh6v6cnn";
+      url = "mirror://gnu/autogen/rel${version}/autogen-${version}.tar.gz";
+      sha256 = "013xy0f3hv1cw62nwh4r1x46zs9sndydaz31kd6889dp5p0snfkw";
     };
 
     buildInputs = [ guile which ];
 
+    patchPhase =
+      '' for i in $(find -name \*.in)
+         do
+           sed -i "$i" -e's|/usr/bin/||g'
+         done
+      '';
+
     # The tests rely on being able to find `libopts.a'.
     configureFlags = "--enable-static";
 
diff --git a/pkgs/desktops/kde-4.6/support/automoc4/default.nix b/pkgs/development/tools/misc/automoc4/default.nix
similarity index 64%
rename from pkgs/desktops/kde-4.6/support/automoc4/default.nix
rename to pkgs/development/tools/misc/automoc4/default.nix
index be50867cbe7a..f6c29e5d7a38 100644
--- a/pkgs/desktops/kde-4.6/support/automoc4/default.nix
+++ b/pkgs/development/tools/misc/automoc4/default.nix
@@ -7,9 +7,10 @@ stdenv.mkDerivation rec {
     sha256 = "0jackvg0bdjg797qlbbyf9syylm0qjs55mllhn11vqjsq3s1ch93";
   };
   buildInputs = [ cmake qt4 ];
-  meta = {
+  meta = with stdenv.lib; {
+    homepage = http://techbase.kde.org/Development/Tools/Automoc4;
     description = "KDE Meta Object Compiler";
-    license = "BSD";
-    maintainers = [ stdenv.lib.maintainers.sander ];
+    license = licenses.bsd2;
+    maintainers = [ maintainers.sander maintainers.urkud ];
   };
 }
diff --git a/pkgs/development/tools/misc/cflow/default.nix b/pkgs/development/tools/misc/cflow/default.nix
index af88dbda0c28..c8cfb77d71ac 100644
--- a/pkgs/development/tools/misc/cflow/default.nix
+++ b/pkgs/development/tools/misc/cflow/default.nix
@@ -53,6 +53,6 @@ stdenv.mkDerivation rec {
              _argp_program_version$non_lazy_ptr in libcflow.a(argp-parse.o)
        ld: symbol(s) not found
      */
-    platforms = stdenv.lib.platforms.allBut "i686-darwin";
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/tools/misc/dejagnu/default.nix b/pkgs/development/tools/misc/dejagnu/default.nix
index fec825627eaf..06c1d4fe76ba 100644
--- a/pkgs/development/tools/misc/dejagnu/default.nix
+++ b/pkgs/development/tools/misc/dejagnu/default.nix
@@ -1,40 +1,40 @@
 { fetchurl, stdenv, expect, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "dejagnu-1.4.4";
+  name = "dejagnu-1.5";
 
   src = fetchurl {
     url = "mirror://gnu/dejagnu/${name}.tar.gz";
-    sha256 = "13841q6pfwd9d1sdw48yxdyb4xhiccii0mb0ilql627v43pyvyyh";
+    sha256 = "1nx3x3h96a82q92q108q71giv2nz9xmbbn2nrlr3wvvs6l45id68";
   };
 
   patches = [ ./wrapped-runtest-program-name.patch ];
 
   buildInputs = [ expect makeWrapper ];
 
-  # FIXME: Enable when the "spawn id" problem is fixed.
-  doCheck = false;
+  doCheck = true;
 
-  # Note: The test-suite *requires* /dev/pts among the
-  # `build-chroot-dirs' of the build daemon when building in a chroot.
+  # Note: The test-suite *requires* /dev/pts among the `build-chroot-dirs' of
+  # the build daemon when building in a chroot.  See
+  # <http://thread.gmane.org/gmane.linux.distributions.nixos/1036> for
+  # details.
 
-  # FIXME: The test-suite currently fails with this problem:
+  # The test-suite needs to have a non-empty stdin:
   #   http://lists.gnu.org/archive/html/bug-dejagnu/2003-06/msg00002.html
-  #   http://thread.gmane.org/gmane.linux.distributions.nixos/1036
   checkPhase = ''
     # Provide `runtest' with a log name, otherwise it tries to run
     # `whoami', which fails when in a chroot.
-    LOGNAME="nix-build-daemon" make check
+    LOGNAME="nix-build-daemon" make check < /dev/zero
   '';
 
   postInstall = ''
     wrapProgram "$out/bin/runtest" \
-                --prefix PATH ":" "${expect}/bin"
+		--prefix PATH ":" "${expect}/bin"
   '';
 
   meta = {
     description = "The DejaGNU testing framework";
-    
+
     longDescription = ''
       DejaGnu is a framework for testing other programs.  Its purpose
       is to provide a single front end for all tests.  Think of it as a
@@ -48,5 +48,8 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/dejagnu/;
     license = "GPLv2+";
+
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.ludo ];
   };
 }
diff --git a/pkgs/development/tools/misc/distcc/default.nix b/pkgs/development/tools/misc/distcc/default.nix
index b81cb9223bc3..a46c7a695f21 100644
--- a/pkgs/development/tools/misc/distcc/default.nix
+++ b/pkgs/development/tools/misc/distcc/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation {
     homepage = "http://distcc.org";
     license = "GPL";
 
-    platforms = stdenv.lib.platforms.unix;
+    platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/development/tools/misc/global/default.nix b/pkgs/development/tools/misc/global/default.nix
index 2d70322139ad..82571632db27 100644
--- a/pkgs/development/tools/misc/global/default.nix
+++ b/pkgs/development/tools/misc/global/default.nix
@@ -1,13 +1,20 @@
-{ fetchurl, stdenv }:
+{ fetchurl, stdenv, libtool }:
 
 stdenv.mkDerivation rec {
-  name = "global-5.7.5";
+  name = "global-5.9.4";
 
   src = fetchurl {
     url = "mirror://gnu/global/${name}.tar.gz";
-    sha256 = "0fdkkg5qs76cjdnig54bhw97dgwg2rm2dg8k8r7hz836pk838540";
+    sha256 = "0ay6f1fffics3vkls1xykzmz9cmgj3hdighni7asnpa38s8j0lmn";
   };
 
+  buildInputs = [ libtool ];
+
+  configurePhase =
+    '' ./configure --prefix="$out" --disable-static --with-posix-sort=$(type -p sort) '';
+
+  doCheck = true;
+
   postInstall = ''
     ensureDir "$out/share/emacs/site-lisp"
     cp -v *.el "$out/share/emacs/site-lisp"
@@ -32,5 +39,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.gnu.org/software/global/;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
   };
 }
diff --git a/pkgs/development/tools/misc/hydra/default.nix b/pkgs/development/tools/misc/hydra/default.nix
new file mode 100644
index 000000000000..9ba29eb2181a
--- /dev/null
+++ b/pkgs/development/tools/misc/hydra/default.nix
@@ -0,0 +1,69 @@
+{stdenv, fetchurl, nix, perlPackages, perl, makeWrapper, libtool,
+unzip, nukeReferences, pkgconfig, boehmgc, libxslt, sqlite,
+subversion, openssh, coreutils, findutils, gzip, bzip2, lzma,
+gnutar, git, mercurial, gnused, graphviz, rpm, dpkg, cdrkit
+}:
+
+let
+  perldeps = with perlPackages; [ 
+  CatalystDevel
+  CatalystPluginSessionStoreFastMmap
+  CatalystPluginStackTrace
+  CatalystPluginAuthorizationRoles
+  CatalystAuthenticationStoreDBIxClass
+  CatalystViewTT
+  CatalystEngineHTTPPrefork
+  CatalystViewDownload
+  XMLSimple
+  IPCRun
+  IOCompressBzip2
+  Readonly
+  DBDPg
+  EmailSender
+  TextTable
+  NetTwitterLite
+  PadWalker
+  DataDump
+  JSONXS
+  DateTime
+  DigestSHA1
+  CryptRandPasswd
+  nixPerl
+  ];
+in
+
+stdenv.mkDerivation rec {
+  name = "hydra-${version}";
+  version = "0.1pre26321";
+  src = fetchurl {
+    url = http://hydra.nixos.org/build/976452/download/2/hydra-0.1pre26321.tar.gz;
+    sha256 = "1fzvvyad3ggms7qyy6x0xgcpj9w5zq11nmfpsx7m6z0xgilg3lil";
+  };
+
+  configureFlags = "--with-nix=${nix}";
+
+  buildInputs = [ perl makeWrapper libtool nix unzip nukeReferences pkgconfig boehmgc ] ++ perldeps ;
+
+  hydraPath = stdenv.lib.concatStringsSep ":" (map (p: "${p}/bin") ( [
+    libxslt sqlite subversion openssh nix coreutils findutils
+    gzip bzip2 lzma gnutar unzip git mercurial gnused graphviz
+    rpm dpkg cdrkit]));
+
+  postInstall = ''
+    for i in "$out/bin/"*; do
+        wrapProgram $i \
+            --prefix PERL5LIB ':' $out/libexec/hydra/lib:$PERL5LIB \
+            --prefix PATH ':' $out/bin:$hydraPath \
+            --set HYDRA_RELEASE ${version} \
+            --set HYDRA_HOME $out/libexec/hydra \
+            --set NIX_RELEASE ${nix.name}
+    done
+  '';
+
+  meta = {
+    description = "Hydra, the Nix-based continuous integration system";
+    homepage = http://nixos.org/hydra/;
+    license = "GPLv3+";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/parsing/alex/default.nix b/pkgs/development/tools/parsing/alex/2.3.1.nix
similarity index 100%
rename from pkgs/development/tools/parsing/alex/default.nix
rename to pkgs/development/tools/parsing/alex/2.3.1.nix
diff --git a/pkgs/development/tools/parsing/alex/2.3.5.nix b/pkgs/development/tools/parsing/alex/2.3.5.nix
new file mode 100644
index 000000000000..9fbbca7f4e9d
--- /dev/null
+++ b/pkgs/development/tools/parsing/alex/2.3.5.nix
@@ -0,0 +1,12 @@
+{cabal, perl}:
+
+cabal.mkDerivation (self : {
+  pname = "alex";
+  version = "2.3.5"; # Haskell Platform 2011.2.0.0
+  name = self.fname;
+  sha256 = "0lyjiq4lmii2syk6838ln32qvn8c0ljf1ypsggahy748k05x79if";
+  extraBuildInputs = [perl];
+  meta = {
+    description = "A lexical analyser generator for Haskell";
+  };
+})
diff --git a/pkgs/development/tools/parsing/happy/happy-1.18.4.nix b/pkgs/development/tools/parsing/happy/1.18.4.nix
similarity index 100%
rename from pkgs/development/tools/parsing/happy/happy-1.18.4.nix
rename to pkgs/development/tools/parsing/happy/1.18.4.nix
diff --git a/pkgs/development/tools/parsing/happy/happy-1.18.5.nix b/pkgs/development/tools/parsing/happy/1.18.5.nix
similarity index 100%
rename from pkgs/development/tools/parsing/happy/happy-1.18.5.nix
rename to pkgs/development/tools/parsing/happy/1.18.5.nix
diff --git a/pkgs/development/tools/parsing/happy/1.18.6.nix b/pkgs/development/tools/parsing/happy/1.18.6.nix
new file mode 100644
index 000000000000..f6e2ee3bf41c
--- /dev/null
+++ b/pkgs/development/tools/parsing/happy/1.18.6.nix
@@ -0,0 +1,13 @@
+{cabal, mtl, perl}:
+
+cabal.mkDerivation (self : {
+  pname = "happy";
+  version = "1.18.6"; # Haskell Platform 2011.2.0.0
+  name = self.fname;
+  sha256 = "0q6dnwihi1q761qdq0hhi733nh5d53xz6frwmr7slpvrp6v8y344";
+  extraBuildInputs = [perl];
+  propagatedBuildInputs = [mtl];
+  meta = {
+    description = "Happy is a parser generator for Haskell";
+  };
+})
diff --git a/pkgs/development/tools/parsing/happy/happy-1.17.nix b/pkgs/development/tools/parsing/happy/happy-1.17.nix
deleted file mode 100644
index b7fa22ccb800..000000000000
--- a/pkgs/development/tools/parsing/happy/happy-1.17.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{cabal, perl}:
-
-cabal.mkDerivation (self : {
-
-  # requires cabal-1.2 (and therefore, in Nix, currently ghc-6.8)
-
-  pname = "happy";
-  version = "1.17";
-  name = self.fname;
-  sha256 = "dca4e47d17e5d538335496236b3d2c3cbff644cf7380c987a4714e7784c70a2b";
-  extraBuildInputs = [perl];
-})
diff --git a/pkgs/games/LambdaHack/default.nix b/pkgs/games/LambdaHack/default.nix
index b51538ef3636..51882f1dd881 100644
--- a/pkgs/games/LambdaHack/default.nix
+++ b/pkgs/games/LambdaHack/default.nix
@@ -1,11 +1,15 @@
-{cabal, binary, mtl, zlib, vty}:
+{cabal, binary, mtl, zlib, vty, ConfigFile, MissingH, filepath}:
 
 cabal.mkDerivation (self : {
   pname = "LambdaHack";
-  version = "0.1.20090606";
+  version = "0.1.20110117";
   name = self.fname;
-  sha256 = "9b8d790b0a99231aff2d108b50dd2f2998b09bec3ffedf9f1415557aaeb6039b";
-  propagatedBuildInputs = [binary mtl zlib vty];
+  sha256 = "186ccl1yq0r84h9azzwj0zyy3kf905i3kjlnziyi52ysqd61qw90";
+  propagatedBuildInputs =
+    [binary mtl zlib vty ConfigFile MissingH filepath];
+  preConfigure = ''
+    sed -i 's|\(filepath.*\) && < 1.2|\1|' ${self.pname}.cabal
+  '';
   meta = {
     description = "a small roguelike game";
   };
diff --git a/pkgs/games/neverball/default.nix b/pkgs/games/neverball/default.nix
index 01cb578f7c0b..7e2df42a2931 100644
--- a/pkgs/games/neverball/default.nix
+++ b/pkgs/games/neverball/default.nix
@@ -33,5 +33,7 @@ stdenv.mkDerivation rec {
     homepage = http://neverball.org/;
     description = "Tilt the floor to roll a ball";
     license = "GPL";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/games/quake3/game/default.nix b/pkgs/games/quake3/game/default.nix
index 292748c4546a..3b82ebb83a8d 100644
--- a/pkgs/games/quake3/game/default.nix
+++ b/pkgs/games/quake3/game/default.nix
@@ -1,10 +1,10 @@
-{stdenv, fetchurl, x11, SDL, mesa, openal}:
+{ stdenv, fetchurl, x11, SDL, mesa, openal }:
 
 stdenv.mkDerivation {
-  name = "ioquake3-1.34-pre-rc3";
+  name = "ioquake3-1.36";
   
   src = fetchurl {
-    url = http://ioquake3.org/files/ioquake3_1.34-rc3.tar.bz2;
+    url = http://ioquake3.org/files/1.36/ioquake3-1.36.tar.bz2; # calls itself "1.34-rc3"
     sha256 = "008vah60z0n9h1qp373xbqvhwfbyywbbhd1np0h0yw66g0qzchzv";
   };
 
@@ -16,6 +16,10 @@ stdenv.mkDerivation {
       url = "http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/games-fps/quake3/files/quake3-1.34_rc3-gcc42.patch?rev=1.1";
       sha256 = "06c9lxfczcby5q29pim231mr2wdkvbv36xp9zbxp9vk0dfs8rv9x";
     })
+
+    # Do an exit() instead of _exit().  This is nice for gcov.
+    # Upstream also seems to do this.
+    ./exit.patch    
   ];
   
   buildInputs = [x11 SDL mesa openal];
diff --git a/pkgs/games/quake3/game/exit.patch b/pkgs/games/quake3/game/exit.patch
new file mode 100644
index 000000000000..82785167a782
--- /dev/null
+++ b/pkgs/games/quake3/game/exit.patch
@@ -0,0 +1,12 @@
+diff -ru -x '*~' ioquake3_1.34-rc3-orig//code/unix/unix_main.c ioquake3_1.34-rc3//code/unix/unix_main.c
+--- code/unix/unix_main.c	2006-11-28 23:05:25.000000000 +0100
++++ code/unix/unix_main.c	2011-01-10 12:43:51.000000000 +0100
+@@ -341,7 +341,7 @@
+ void Sys_Exit( int ex ) {
+   Sys_ConsoleInputShutdown();
+ 
+-#ifdef NDEBUG // regular behavior
++#if 0
+ 
+   // We can't do this 
+   //  as long as GL DLL's keep installing with atexit...
diff --git a/pkgs/games/quake3/wrapper/builder.sh b/pkgs/games/quake3/wrapper/builder.sh
index f070973681ef..57d6bc6a5ba2 100644
--- a/pkgs/games/quake3/wrapper/builder.sh
+++ b/pkgs/games/quake3/wrapper/builder.sh
@@ -13,3 +13,6 @@ done
 makeWrapper $game/ioquake3.* $out/bin/quake3 \
     --suffix-each LD_LIBRARY_PATH ':' "$mesa/lib $gcc/lib" \
     --add-flags "+set fs_basepath $out +set r_allowSoftwareGL 1"
+
+makeWrapper $game/ioq3ded.* $out/bin/quake3-server \
+    --add-flags "+set fs_basepath $out"
diff --git a/pkgs/games/soi/default.nix b/pkgs/games/soi/default.nix
new file mode 100644
index 000000000000..811d8d432ceb
--- /dev/null
+++ b/pkgs/games/soi/default.nix
@@ -0,0 +1,55 @@
+x@{builderDefsPackage
+  , mesa, SDL, cmake, eigen
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="soi";
+    fileName="Spheres%20of%20Influence";
+    majorVersion="0.1";
+    minorVersion="1";
+    version="${majorVersion}.${minorVersion}";
+    name="${baseName}-${version}";
+    project="${baseName}";
+    url="mirror://sourceforge/project/${project}/${baseName}-${majorVersion}/${fileName}-${version}-Source.tar.gz";
+    hash="dfc59319d2962033709bb751c71728417888addc6c32cbec3da9679087732a81";
+  };
+in
+rec {
+  src = a.fetchurl {
+    url = sourceInfo.url;
+    sha256 = sourceInfo.hash;
+    name = "${sourceInfo.name}.tar.gz";
+  };
+
+  inherit (sourceInfo) name version;
+  inherit buildInputs;
+
+  phaseNames = ["setVars" "doCmake" "doMakeInstall"];
+
+  setVars = a.noDepEntry ''
+    export EIGENDIR=${a.eigen}/include/eigen2
+  ''; 
+      
+  meta = {
+    description = "A physics-based puzzle game";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+    license = "free-noncopyleft";
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "http://sourceforge.net/projects/soi/files/";
+    };
+  };
+}) x
diff --git a/pkgs/games/the-butterfly-effect/default.nix b/pkgs/games/the-butterfly-effect/default.nix
index bcc10ab83962..bd1885f9bd95 100644
--- a/pkgs/games/the-butterfly-effect/default.nix
+++ b/pkgs/games/the-butterfly-effect/default.nix
@@ -1,36 +1,40 @@
 x@{builderDefsPackage
-  , qt4, box2d_2_0_1
+  , qt4, box2d
+  ,fetchsvn
   , ...}:
 builderDefsPackage
 (a :  
 let 
   helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+    ["fetchsvn"];
 
   buildInputs = map (n: builtins.getAttr n x)
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="tbe";
-    version="8.2";
+    revision="1319";
+    version="r${revision}";
     name="${baseName}-${version}";
-    url="mirror://sourceforge/project/${baseName}/Milestone%20${version}/TheButterflyEffect-m${version}.src.tgz";
-    hash="1s6xxvhw5rplpfmrhvfp4kb5z89lhcnrhawam8v7i51rk5hmjkd0";
+    url="https://tbe.svn.sourceforge.net/svnroot/tbe/trunk";
+    hash="e9a7c24f0668ba2f36c472c1d05238fa7d9ed2150d99ce8a927285d099cc0f7f";
   };
 in
 rec {
-  src = a.fetchurl {
+  srcDrv = a.fetchsvn {
     url = sourceInfo.url;
     sha256 = sourceInfo.hash;
+    rev = sourceInfo.revision;
   };
+  src = srcDrv + "/";
 
   inherit (sourceInfo) name version;
   inherit buildInputs;
 
-  phaseNames = ["setVars" /*"patchBox2d"*/ "doConfigure" "doMakeInstall" "doDeploy"];
+  phaseNames = ["setVars" "doConfigure" "doMakeInstall" "doDeploy"];
   configureCommand = "sh configure";
 
   setVars = a.noDepEntry ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${a.box2d_2_0_1}/include/Box2D"
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${a.box2d}/include/Box2D"
   '';
 
   doDeploy = a.fullDepEntry ''
@@ -42,10 +46,6 @@ rec {
     chmod a+x "$out/bin/tbe"
   '' ["minInit" "doMake" "defEnsureDir"];
 
-  patchBox2d = a.fullDepEntry ''
-    find . -exec sed -i '{}' -e s@b2XForm@b2Transform@g ';'
-  '' ["minInit" "doUnpack"];
-      
   meta = {
     description = "A physics-based game vaguely similar to Incredible Machine";
     maintainers = with a.lib.maintainers;
@@ -57,6 +57,7 @@ rec {
     license = "GPLv2";
   };
   passthru = {
+    inherit srcDrv;
     updateInfo = {
       downloadPage = "http://sourceforge.net/projects/tbe/files/";
     };
diff --git a/pkgs/games/warmux/default.nix b/pkgs/games/warmux/default.nix
new file mode 100644
index 000000000000..40072ca7dfc6
--- /dev/null
+++ b/pkgs/games/warmux/default.nix
@@ -0,0 +1,50 @@
+x@{builderDefsPackage
+  , curl, gnutls, fribidi, libpng, SDL, SDL_gfx, SDL_image, SDL_mixer
+  , SDL_net, SDL_ttf, libunwind, libX11, xproto, libxml2, pkgconfig
+  , gettext, intltool, libtool, perl
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="warmux";
+    version="11.01";
+    name="${baseName}-${version}";
+    url="http://download.gna.org/${baseName}/${name}.tar.bz2";
+    hash="1f063yaab08gflh4hnd8clb4as41ayfphi4q0cmi8syjiaap2qgh";
+  };
+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 = ["doConfigure" "doMakeInstall"];
+      
+  meta = {
+    description = "Ballistics turn-based battle game between teams";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+    license = a.lib.licenses.gpl2;
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "http://download.gna.org/warmux/";
+    };
+  };
+}) x
+
diff --git a/pkgs/games/warzone2100/default.nix b/pkgs/games/warzone2100/default.nix
index 656ff756a29d..0d6557364674 100644
--- a/pkgs/games/warzone2100/default.nix
+++ b/pkgs/games/warzone2100/default.nix
@@ -3,11 +3,11 @@
 }:
 stdenv.mkDerivation rec {
   pname = "warzone2100";
-  version = "2.3.4";
+  version = "2.3.7";
   name = "${pname}-${version}";
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${name}.tar.gz";
-    sha256 = "0s7yf73yq8pihpn9777pj1fy1m1cc3cxfs7v0c916wifslpm3x3h";
+    sha256 = "157v3jqaj0l910y8bcr9zpl0inx8g2942nm8zdnnn16gklf9mb26";
   };
   buildInputs = [ bison flex gettext pkgconfig SDL libpng libtheora openal
                   popt physfs mesa quesoglc zip unzip
diff --git a/pkgs/games/xmoto/src-for-default.nix b/pkgs/games/xmoto/src-for-default.nix
index fd538a8a9a72..aa61e0862fa0 100644
--- a/pkgs/games/xmoto/src-for-default.nix
+++ b/pkgs/games/xmoto/src-for-default.nix
@@ -1,9 +1,9 @@
 rec {
-   version="0.5.4";
-   name="xmoto-0.5.4";
-   hash="1r548hx7yqxql5b0d1byxbwxjhlss063vsj5xy9cc1b8dqhmkqh5";
+   version="0.5.5";
+   name="xmoto-0.5.5";
+   hash="190ramkq4iyh48i6nlhnaf0w67b9pvg3dd3n258969sxz1y9wfp5";
    url="http://download.tuxfamily.org/xmoto/xmoto/${version}/xmoto-${version}-src.tar.gz";
-   advertisedUrl="http://download.tuxfamily.org/xmoto/xmoto/0.5.4/xmoto-0.5.4-src.tar.gz";
+   advertisedUrl="http://download.tuxfamily.org/xmoto/xmoto/0.5.5/xmoto-0.5.5-src.tar.gz";
   
   
 }
diff --git a/pkgs/lib/customisation.nix b/pkgs/lib/customisation.nix
index f97b494ae92d..d2af48146284 100644
--- a/pkgs/lib/customisation.nix
+++ b/pkgs/lib/customisation.nix
@@ -89,7 +89,7 @@ rec {
       };
   */
   callPackageWith = autoArgs: fn: args:
-    let f = import fn; in
+    let f = if builtins.isFunction fn then fn else import fn; in
     makeOverridable f ((builtins.intersectAttrs (builtins.functionArgs f) autoArgs) // args);
 
 }
diff --git a/pkgs/lib/maintainers.nix b/pkgs/lib/maintainers.nix
index b6f5b990c4e9..5c8524894b12 100644
--- a/pkgs/lib/maintainers.nix
+++ b/pkgs/lib/maintainers.nix
@@ -5,10 +5,12 @@
      alphabetically sorted.  */
 
   all = "Nix Committers <nix-commits@cs.uu.nl>";
-  andres = "Andres Loeh <andres@cs.uu.nl>";
+  andres = "Andres Loeh <ksnixos@andres-loeh.de>";
   astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
   bjg = "Brian Gough <bjg@gnu.org>";
+  chaoflow = "Florian Friesdorf <flo@chaoflow.net>";
   eelco = "Eelco Dolstra <e.dolstra@tudelft.nl>";
+  goibhniu = "Cillian de Róiste <cillian.deroiste@gmail.com>";
   guibert = "David Guibert <david.guibert@gmail.com>";
   kkallio = "Karn Kallio <tierpluspluslists@gmail.com>";
   ludo = "Ludovic Courtès <ludo@gnu.org>";
@@ -19,6 +21,7 @@
   raskin = "Michael Raskin <7c6f434c@mail.ru>";
   roconnor = "Russell O'Connor <roconnor@theorem.ca>";
   sander = "Sander van der Burg <s.vanderburg@tudelft.nl>";
+  shlevy = "Shea Levy <shea@shealevy.com>";
   simons = "Peter Simons <simons@cryp.to>";
   thammers = "Tobias Hammerschmidt <jawr@gmx.de>";
   urkud = "Yury G. Kudryashov <urkud+nix@ya.ru>";
diff --git a/pkgs/lib/strings.nix b/pkgs/lib/strings.nix
index 838990793276..b5f104375033 100644
--- a/pkgs/lib/strings.nix
+++ b/pkgs/lib/strings.nix
@@ -45,6 +45,10 @@ rec {
   makeLibraryPath = makeSearchPath "lib";
 
 
+  # Idem for Perl search paths.
+  makePerlPath = makeSearchPath "lib/perl5/site_perl";
+  
+
   # Dependening on the boolean `cond', return either the given string
   # or the empty string.
   optionalString = cond: string: if cond then string else "";
diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix
index 73fa3c37f39a..52daa939c7b3 100644
--- a/pkgs/misc/cups/default.nix
+++ b/pkgs/misc/cups/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, zlib, libjpeg, libpng, libtiff, pam, openssl
 , dbus, libusb, acl }:
 
-let version = "1.4.5"; in
+let version = "1.4.6"; in
 
 stdenv.mkDerivation {
   name = "cups-${version}";
 
   src = fetchurl {
     url = "http://ftp.easysw.com/pub/cups/${version}/cups-${version}-source.tar.bz2";
-    sha256 = "1zhf3hvx11i0qnbwyybmdhx4fxkxfd4ch69k59fj5bz8wvcdcl04";
+    sha256 = "056mdbz0g1jjihk03xjyp4f1bxl2aksf2vzra1qjrdbp59q131zh";
   };
 
   buildInputs = [ pkgconfig zlib libjpeg libpng libtiff pam dbus libusb acl ];
diff --git a/pkgs/misc/drivers/foo2zjs/default.nix b/pkgs/misc/drivers/foo2zjs/default.nix
new file mode 100644
index 000000000000..2417b0e566de
--- /dev/null
+++ b/pkgs/misc/drivers/foo2zjs/default.nix
@@ -0,0 +1,82 @@
+x@{builderDefsPackage
+  , foomatic_filters, bc, unzip, ghostscript, udev, vim
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="foo2zjs";
+    version="20110210";
+    name="${baseName}-${version}";
+    url="http://www.loegria.net/mirrors/foo2zjs/${name}.tar.gz";
+    hash="0vss8gdbbgxr694xw48rys2qflbnb4sp4gdb1v6z4m9ab97hs5yk";
+  };
+in
+rec {
+  src = a.fetchurl {
+    url = sourceInfo.url;
+    sha256 = sourceInfo.hash;
+  };
+
+  inherit (sourceInfo) name version;
+  inherit buildInputs;
+
+  phaseNames = ["doPatch" "fixHardcodedPaths" "doMakeDirs" "doMakeInstall" "deployGetWeb"];
+
+  patches = [ ./no-hardcode-fw.diff ];
+
+  makeFlags = [
+      ''PREFIX=$out''
+      ''APPL=$out/share/applications''
+      ''PIXMAPS=$out/share/pixmaps''
+      ''UDEVBIN=$out/bin''
+      ''UDEVDIR=$out/etc/udev/rules.d''
+      ''UDEVD=${udev}/sbin/udevd''
+      ''LIBUDEVDIR=$out/lib/udev/rules.d''
+      ''USBDIR=$out/etc/hotplug/usb''
+      ''FOODB=$out/share/foomatic/db/source''
+      ''MODEL=$out/share/cups/model''
+  ];
+
+  installFlags = [ "install-hotplug" ];
+
+  fixHardcodedPaths = a.fullDepEntry ''
+    touch all-test
+    sed -e "/BASENAME=/iPATH=$out/bin:$PATH" -i *-wrapper *-wrapper.in
+    sed -e "s@PREFIX=/usr@PREFIX=$out@" -i *-wrapper{,.in}
+    sed -e "s@/usr/share@$out/share@" -i hplj10xx_gui.tcl
+    sed -e "s@\[.*-x.*/usr/bin/logger.*\]@type logger >/dev/null 2>\&1@" -i *wrapper{,.in}
+    sed -e '/install-usermap/d' -i Makefile
+    sed -e "s@/etc/hotplug/usb@$out&@" -i *rules*
+    sed -e "s@/usr@$out@g" -i hplj1020.desktop
+    sed -e "/PRINTERID=/s@=.*@=$out/bin/usb_printerid@" -i hplj1000
+  '' ["doPatch" "minInit"];
+
+  doMakeDirs = a.fullDepEntry ''
+    mkdir -pv $out/{etc/udev/rules.d,lib/udev/rules.d,etc/hotplug/usb}
+    mkdir -pv $out/share/foomatic/db/source/{opt,printer,driver}
+    mkdir -pv $out/share/cups/model
+    mkdir -pv $out/share/{applications,pixmaps}
+  '' ["minInit"];
+
+  deployGetWeb = a.fullDepEntry ''
+    mkdir -pv "$out/bin"
+    cp -v getweb arm2hpdl "$out/bin"
+  '' ["minInit"];
+      
+  meta = {
+    description = "ZjStream printer drivers";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin urkud
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+    license = a.lib.licenses.gpl2Plus;
+  };
+}) x
diff --git a/pkgs/misc/drivers/foo2zjs/no-hardcode-fw.diff b/pkgs/misc/drivers/foo2zjs/no-hardcode-fw.diff
new file mode 100644
index 000000000000..003272858a42
--- /dev/null
+++ b/pkgs/misc/drivers/foo2zjs/no-hardcode-fw.diff
@@ -0,0 +1,98 @@
+#
+#
+# patch "hplj1000"
+#  from [d5336e74866d31735d97874191351a0dcc092b44]
+#    to [55102b37684ee5181674d19d866caec2cf603412]
+#
+============================================================
+--- a/hplj1000	d5336e74866d31735d97874191351a0dcc092b44
++++ b/hplj1000	55102b37684ee5181674d19d866caec2cf603412
+@@ -39,11 +39,6 @@ DEV=""
+ DEV=""
+ 
+ #
+-# Directory to find downloadable HP firmware files sihpMMMM.dl
+-#
+-FWDIR=/usr/share/foo2zjs/firmware
+-
+-#
+ # Program used to determine USB printer id information
+ #
+ # NOTE: /usr/bin is NOT mounted at this point
+@@ -83,57 +78,61 @@ case "$0" in
+     MODEL=P1005; FWMODEL=$MODEL
+     USB1=0x03f0	#Vendor
+     USB2=0x3d17	#Model
+-    FWDIR=/usr/share/foo2xqx/firmware
++    DRIVER=foo2xqx
+     ;;
+ *P1006)
+     MODEL=P1006; FWMODEL=$MODEL
+     USB1=0x03f0	#Vendor
+     USB2=0x3e17	#Model
+-    FWDIR=/usr/share/foo2xqx/firmware
++    DRIVER=foo2xqx
+     ;;
+ *P1007)
+     MODEL=P1007; FWMODEL=P1005		# Alias
+     USB1=0x03f0	#Vendor
+     USB2=0x4817	#Model
+-    FWDIR=/usr/share/foo2xqx/firmware
++    DRIVER=foo2xqx
+     ;;
+ *P1008)
+     MODEL=P1008; FWMODEL=P1006		# Alias
+     USB1=0x03f0	#Vendor
+     USB2=0x4917	#Model
+-    FWDIR=/usr/share/foo2xqx/firmware
++    DRIVER=foo2xqx
+     ;;
+ *P1505)
+     MODEL=P1505; FWMODEL=$MODEL
+     USB1=0x03f0	#Vendor
+     USB2=0x3f17	#Model
+-    FWDIR=/usr/share/foo2xqx/firmware
++    DRIVER=foo2xqx
+     ;;
+ *P1505n)
+     MODEL=P1505n; FWMODEL=$MODEL
+     USB1=0x03f0	#Vendor
+     USB2=0x4017	#Model
+-    FWDIR=/usr/share/foo2xqx/firmware
++    DRIVER=foo2xqx
+     ;;
+ *1000)
+     MODEL=1000; FWMODEL=$MODEL
+     USB1=0x03f0	#Vendor
+     USB2=0x0517	#Model
++    DRIVER=foo2zjs
+     ;;
+ *1005)
+     MODEL=1005; FWMODEL=$MODEL
+     USB1=0x03f0	#Vendor
+     USB2=0x1317	#Model
++    DRIVER=foo2zjs
+     ;;
+ *1018)
+     MODEL=1018; FWMODEL=$MODEL
+     USB1=0x03f0 #Vendor
+     USB2=0x4117 #Model
++    DRIVER=foo2zjs
+     ;;
+ *1020)
+     MODEL=1020; FWMODEL=$MODEL
+     USB1=0x03f0 #Vendor
+     USB2=0x2b17 #Model
++    DRIVER=foo2zjs
+     ;;
+ *)
+     log "Only HP LaserJet 100[05],1018,1020,P100[5678],P1505 are supported"
+@@ -203,7 +202,7 @@ load1() {
+ #
+ load1() {
+     _dev="$1"
+-    fw="$FWDIR/sihp$FWMODEL.dl"
++    fw="${FOO2ZJS_DATADIR:-/usr/share}/$DRIVER/firmware/sihp$FWMODEL.dl"
+     if [ ! -f "$fw" ]; then
+ 	log "Missing HP LaserJet $MODEL firmware file $fw"
+ 	log "...read foo2zjs installation instructions and run ./getweb $MODEL"
diff --git a/pkgs/misc/drivers/foomatic-filters/default.nix b/pkgs/misc/drivers/foomatic-filters/default.nix
new file mode 100644
index 000000000000..8ab451165e3a
--- /dev/null
+++ b/pkgs/misc/drivers/foomatic-filters/default.nix
@@ -0,0 +1,54 @@
+x@{builderDefsPackage
+  , perl, cups
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="foomatic-filters";
+    version="4.0.6";
+    name="${baseName}-${version}";
+    url="http://www.openprinting.org/download/foomatic/${name}.tar.gz";
+    hash="0wa9hlq7s99sh50kl6bj8j0vxrz7pcbwdnqs1yfjjhqshfh7hsav";
+  };
+in
+rec {
+  src = a.fetchurl {
+    url = sourceInfo.url;
+    sha256 = sourceInfo.hash;
+  };
+
+  inherit (sourceInfo) name version;
+  inherit buildInputs;
+
+  phaseNames = ["doConfigure" "fixPaths" "doMakeInstall"];
+
+  fixPaths = a.fullDepEntry ''
+    sed -e "s@= .*/store/[^/]\+/lib/cups/filter@= $out/lib/cups/filter@" -i Makefile
+    sed -e "s@= .*/store/[^/]\+/lib/cups/backend@= $out/lib/cups/backend@" -i Makefile
+    sed -e "s@= /usr/@= $out/@" -i Makefile
+    sed -e "s@/bin/bash@/bin/sh@g" -i foomaticrip.c
+  '' ["doConfigure" "minInit"];
+      
+  meta = {
+    description = "Foomatic printing filters";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+    license = a.lib.licenses.gpl2Plus;
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "http://www.openprinting.org/download/foomatic/";
+    };
+  };
+}) x
+
diff --git a/pkgs/misc/drivers/gutenprint/default.nix b/pkgs/misc/drivers/gutenprint/default.nix
index f1a01eefba59..9788d6017449 100644
--- a/pkgs/misc/drivers/gutenprint/default.nix
+++ b/pkgs/misc/drivers/gutenprint/default.nix
@@ -3,7 +3,7 @@
 , libtiff, libpng, openssl, gimp }:
 
 let
-   version = "5.2.4";
+   version = "5.2.6";
    inherit (composableDerivation) edf wwf;
 in
 
@@ -11,8 +11,8 @@ composableDerivation.composableDerivation {} {
   name = "gutenprint-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/gimp-print/files/gutenprint-5.2/${version}/gutenprint-${version}.tar.bz2";
-    sha256 = "09lnmf92h51sm0hmzd1hn2kl1sh6dxlnc0zjd9lrifzg0miyh45n";
+    url = "mirror://sourceforge/gimp-print/gutenprint-${version}.tar.bz2";
+    sha256 = "0znwbv51vqf20p4isc3if4hqsgfav21rsqnsz1d8mixlmasy2i27";
   };
 
   # gimp, gui is still not working (TODO)
diff --git a/pkgs/misc/drivers/hplip/default.nix b/pkgs/misc/drivers/hplip/default.nix
index 0cb90aa71d84..e73e6ff05fe5 100644
--- a/pkgs/misc/drivers/hplip/default.nix
+++ b/pkgs/misc/drivers/hplip/default.nix
@@ -1,13 +1,13 @@
-{stdenv, fetchurl, cups, zlib, libjpeg, libusb, python, saneBackends, dbus, pkgconfig
-, qtSupport ? false, qt4
+{stdenv, fetchurl, cups, zlib, libjpeg, libusb, python, saneBackends, dbus
+, pkgconfig, polkit, qtSupport ? false, qt4
 }:
 
-stdenv.mkDerivation {
-  name = "hplip-3.10.5";
+stdenv.mkDerivation rec {
+  name = "hplip-3.11.1";
 
   src = fetchurl {
-    url = "http://prdownloads.sourceforge.net/hplip/hplip-3.10.5.tar.gz";
-    sha256 = "1lyl9nrdaih64cqw6fa7ivjf7a74bq8zn0gkj1gap47b04my608p";
+    url = "mirror://sourceforge/hplip/${name}.tar.gz";
+    sha256 = "0y68s4xm5d0kv7p5j41qq0xglp4vdbjwbrjs89b4a21wwn69hp9g";
   };
 
   #preBuild=''
@@ -27,12 +27,16 @@ stdenv.mkDerivation {
       --with-icondir=$out/share/applications
       --with-systraydir=$out/xdg/autostart
       --with-mimedir=$out/etc/cups
+      --enable-policykit
       --disable-network-build"
 
     export makeFlags="
       halpredir=$out/share/hal/fdi/preprobe/10osvendor
       hplip_statedir=$out/var
       rulesdir=$out/etc/udev/rules.d
+      policykit_dir=$out/share/polkit-1/actions
+      policykit_dbus_etcdir=$out/etc/dbus-1/system.d
+      policykit_dbus_sharedir=$out/share/dbus-1/system-services
       hplip_confdir=$out/etc/hp
     ";
   '';
diff --git a/pkgs/misc/emulators/gens-gs/default.nix b/pkgs/misc/emulators/gens-gs/default.nix
index 53c55de9a377..a6f457b52109 100644
--- a/pkgs/misc/emulators/gens-gs/default.nix
+++ b/pkgs/misc/emulators/gens-gs/default.nix
@@ -10,6 +10,10 @@ stdenv.mkDerivation {
 
   buildInputs = [ pkgconfig gtkLibs.gtk SDL nasm zlib libpng mesa ];
 
+  # Work around build failures on recent GTK+.
+  # See http://ubuntuforums.org/showthread.php?p=10535837
+  NIX_CFLAGS_COMPILE = "-UGTK_DISABLE_DEPRECATED -UGSEAL_ENABLE";
+
   meta = {
     homepage = http://segaretro.org/Gens/GS;
     description = "A Genesis/Mega Drive emulator";
diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/misc/emulators/wine/default.nix
index 6a4fdd3f0dd8..51711c7c5283 100644
--- a/pkgs/misc/emulators/wine/default.nix
+++ b/pkgs/misc/emulators/wine/default.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
     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 ];
-    platforms = [ "i686-linux" ];
+    maintainers = [stdenv.lib.maintainers.raskin stdenv.lib.maintainers.simons];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/misc/ghostscript/default.nix b/pkgs/misc/ghostscript/default.nix
index e1201fd08b85..053b7a0acfc2 100644
--- a/pkgs/misc/ghostscript/default.nix
+++ b/pkgs/misc/ghostscript/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
 
   CFLAGS = "-fPIC";
 
-  patches = [ ./purity.patch ./urw-font-files.patch ];
+  patches = [ ./purity.patch ./urw-font-files.patch ./pstoraster.patch];
 
   doCheck = true;
 
diff --git a/pkgs/misc/ghostscript/pstoraster.patch b/pkgs/misc/ghostscript/pstoraster.patch
new file mode 100644
index 000000000000..465c91e4f19e
--- /dev/null
+++ b/pkgs/misc/ghostscript/pstoraster.patch
@@ -0,0 +1,81 @@
+Upstream issue: http://bugs.ghostscript.com/show_bug.cgi?id=691108
+e.g. printing a test page prints only black
+
+Patch: https://bugs.archlinux.org/task/18339
+
+--- a/cups/gdevcups.c
++++ b/cups/gdevcups.c
+@@ -975,7 +975,8 @@ cups_map_cmyk(gx_device *pdev,		/* I - Device info */
+ 	      frac      k,		/* I - Black value */
+ 	      frac      *out)		/* O - Device colors */
+ {
+-  int	c0, c1, c2, c3;			/* Temporary color values */
++  int	c0 = 0, c1 = 0,
++        c2 = 0, c3 = 0;			/* Temporary color values */
+   float	rr, rg, rb,			/* Real RGB colors */
+ 	ciex, ciey, ciez,		/* CIE XYZ colors */
+ 	ciey_yn,			/* Normalized luminance */
+@@ -2703,9 +2704,13 @@ cups_put_params(gx_device     *pdev,	/* I - Device info */
+   int			color_set;	/* Were the color attrs set? */
+   gdev_prn_space_params	sp;		/* Space parameter data */
+   int			width,		/* New width of page */
+-                        height;		/* New height of page */
++                        height,		/* New height of page */
++                        colorspace,     /* New color space */
++                        bitspercolor;   /* New bits per color */
+   static int            width_old = 0,  /* Previous width */
+-                        height_old = 0; /* Previous height */
++                        height_old = 0, /* Previous height */
++                        colorspace_old = 0,/* Previous color space */
++                        bitspercolor_old = 0;/* Previous bits per color */
+   ppd_attr_t            *backside = NULL,
+                         *backsiderequiresflippedmargins = NULL;
+   float                 swap;
+@@ -2800,9 +2805,10 @@ cups_put_params(gx_device     *pdev,	/* I - Device info */
+   else if (code == 0) \
+   { \
+     dprintf1("DEBUG: Setting %s to", sname); \
+-    for (i = 0; i < count; i ++) \
+-      dprintf1(" %d", (unsigned)(arrayval.data[i]));	 \
+-      cups->header.name[i] = (unsigned)arrayval.data[i]; \
++    for (i = 0; i < count; i ++) { \
++      dprintf1(" %d", (unsigned)(arrayval.data[i])); \
++      cups->header.name[i] = (unsigned)(arrayval.data[i]); \
++    } \
+     dprintf("...\n"); \
+   }
+ 
+@@ -3243,23 +3249,31 @@ cups_put_params(gx_device     *pdev,	/* I - Device info */
+     }
+ #endif /* CUPS_RASTER_SYNCv1 */
+ 
++    colorspace = cups->header.cupsColorSpace;
++    bitspercolor = cups->header.cupsBitsPerColor;
++
+    /*
+     * Don't reallocate memory unless the device has been opened...
+     * Also reallocate only if the size has actually changed...
+     */
+ 
+-    if (pdev->is_open && (width != width_old || height != height_old))
++    if (pdev->is_open &&
++	(width != width_old || height != height_old ||
++	 colorspace != colorspace_old || bitspercolor != bitspercolor_old))
+     {
+ 
+       width_old = width;
+       height_old = height;
++      colorspace_old = colorspace;
++      bitspercolor_old = bitspercolor;
+ 
+      /*
+       * Device is open and size has changed, so reallocate...
+       */
+ 
+-      dprintf4("DEBUG2: Reallocating memory, [%.0f %.0f] = %dx%d pixels...\n",
+-	       pdev->MediaSize[0], pdev->MediaSize[1], width, height);
++      dprintf6("DEBUG2: Reallocating memory, [%.0f %.0f] = %dx%d pixels, color space: %d, bits per color: %d...\n",
++	       pdev->MediaSize[0], pdev->MediaSize[1], width, height,
++	       colorspace, bitspercolor);
+ 
+       sp = ((gx_device_printer *)pdev)->space_params;
\ No newline at end of file
diff --git a/pkgs/misc/lilypond/default.nix b/pkgs/misc/lilypond/default.nix
index f30bf0a7e748..b3a9bec29725 100644
--- a/pkgs/misc/lilypond/default.nix
+++ b/pkgs/misc/lilypond/default.nix
@@ -2,12 +2,15 @@
 , python, gettext, flex, perl, bison, pkgconfig, texLive
 , fontconfig, freetype, pango, fontforge, help2man }:
 
-stdenv.mkDerivation {
-  name = "lilypond-2.13.9";
+stdenv.mkDerivation rec{
+  majorVersion="2.13";
+  minorVersion="46";
+  version="${majorVersion}.${minorVersion}";
+  name = "lilypond-${version}";
 
   src = fetchurl {
-    url = http://download.linuxaudio.org/lilypond/sources/v2.13/lilypond-2.13.9.tar.gz;
-    sha256 = "1x3jz0zbhly4rc07nry3ia3ydd6vislz81gg0ivwfm6f6q0ssk57";
+    url = "http://download.linuxaudio.org/lilypond/sources/v${majorVersion}/lilypond-${version}.tar.gz";
+    sha256 = "370f59d10a3fc74c5790111f7a69e04304eda5384513c95838dda3cc087904e6";
   };
 
   configureFlags = [ "--disable-documentation" "--with-ncsb-dir=${ghostscript}/share/ghostscript/fonts"];
diff --git a/pkgs/misc/rosegarden/default.nix b/pkgs/misc/rosegarden/default.nix
new file mode 100644
index 000000000000..dd4e351a0204
--- /dev/null
+++ b/pkgs/misc/rosegarden/default.nix
@@ -0,0 +1,59 @@
+x@{builderDefsPackage
+  , automake, pkgconfig, libX11, libSM, imake, qt4, alsaLib, jackaudio
+  , ladspaH, liblrdf, dssi, liblo, fftwSinglePrec, libsndfile, libsamplerate
+  , xproto, libICE, perl, makedepend, librdf_raptor, lilypond, flac, libunwind
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="rosegarden";
+    version="10.10";
+    project="${baseName}";
+    name="${baseName}-${version}";
+    url="mirror://sourceforge/project/${project}/${baseName}/${version}/${name}.tar.bz2";
+    hash="1ia74kzkw1yr3h8q4lrccx49hcy2961rni3h4css7r6hdl9xq909";
+  };
+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 = ["doConfigure" "doMakeInstall"];
+      
+  configureFlags = [
+    "--with-qtdir=${qt4}"
+  ];
+
+  setVars = a.noDepEntry ''
+    export NIX_LDFLAGS="$NIX_LDFLAGS -lz -ldl -lX11"
+  '';
+
+  meta = {
+    description = "A music editor and MIDI sequencer";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+    license = a.lib.licenses.gpl2;
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "http://sourceforge.net/projects/rosegarden/files/rosegarden/";
+    };
+  };
+}) x
+
diff --git a/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix b/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix
new file mode 100644
index 000000000000..7679d0ead368
--- /dev/null
+++ b/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, 
+  cmake, glib, gtk, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  version = "1.0.1";
+  name = "oxygen-gtk-${version}";  
+
+  src = fetchurl {
+    url = "mirror://kde/stable/oxygen-gtk/${version}/src/${name}.tar.bz2";
+    sha256 = "0ki8qllr5ai48bl2pz8rxzf5cax08ckhgrn0nlf815ba83jfar32";
+  };
+  
+  buildInputs = [ cmake glib gtk pkgconfig ];
+  
+  meta = with stdenv.lib; {
+    description = "Port of the default KDE widget theme (Oxygen), to gtk";
+    homepage = https://projects.kde.org/projects/playground/artwork/oxygen-gtk;
+    license = licenses.lgpl2;
+    maintainers = [ maintainers.goibhniu ];
+  };
+}
diff --git a/pkgs/os-specific/linux/acpi/default.nix b/pkgs/os-specific/linux/acpi/default.nix
index 666f2d9475bc..84ee44868079 100644
--- a/pkgs/os-specific/linux/acpi/default.nix
+++ b/pkgs/os-specific/linux/acpi/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "acpi-0.09";
+  name = "acpi-1.5";
   
   src = fetchurl {
-    url = "http://grahame.angrygoats.net/source/acpi/${name}.tar.gz";
-    sha256 = "11iwzbm3gcn9ljvxl4cjj9fc1n135hx45rhrsprnnkqppndf3vn1";
+    url = "http://ftp.de.debian.org/debian/pool/main/a/acpi/acpi_1.5.orig.tar.gz";
+    sha256 = "1pb020j627ldjm1askqfzp6cjxrs79ail8svihanv7pgbg5r3zsp";
   };
 
   meta = {
diff --git a/pkgs/os-specific/linux/dmtcp/default.nix b/pkgs/os-specific/linux/dmtcp/default.nix
index 39759b03496c..c863be14461c 100644
--- a/pkgs/os-specific/linux/dmtcp/default.nix
+++ b/pkgs/os-specific/linux/dmtcp/default.nix
@@ -4,18 +4,16 @@
 stdenv.mkDerivation rec {
   name = "dmtcp-${version}";
 
-  version = "1.1.8";
+  version = "1.2.0";
 
   buildInputs = [ perl python ];
 
   src = fetchurl {
     url = "mirror://sourceforge/dmtcp/dmtcp_${version}.tar.gz";
-    sha256 = "05klyml5maw3f5rxl3i20fqyvpmx69bh09h7a48y19q3r4nqd8f2";
+    sha256 = "1pw3m4l1xf887xagd0yrrnb35s372j0kvjziyy3gmx9fxpga1jzb";
   };
 
-  patches = [ ./dont_check_uid.patch ];
-
-  postPatch = ''
+  preConfigure = ''
     substituteInPlace dmtcp/src/dmtcp_coordinator.cpp \
       --replace /bin/bash /bin/sh
     substituteInPlace utils/gdb-add-symbol-file \
diff --git a/pkgs/os-specific/linux/dmtcp/dont_check_uid.patch b/pkgs/os-specific/linux/dmtcp/dont_check_uid.patch
deleted file mode 100644
index 23f4a254037e..000000000000
--- a/pkgs/os-specific/linux/dmtcp/dont_check_uid.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff -Nuar dmtcp_1.1.8/dmtcp/src/dmtcp_restart.cpp dmtcp_1.1.8.dont_check_uid/dmtcp/src/dmtcp_restart.cpp
---- dmtcp_1.1.8/dmtcp/src/dmtcp_restart.cpp	2010-07-01 06:42:54.000000000 +0200
-+++ dmtcp_1.1.8.dont_check_uid/dmtcp/src/dmtcp_restart.cpp	2010-09-06 23:50:51.000000000 +0200
-@@ -662,14 +662,6 @@
-       sprintf(error_msg, "\ndmtcp_restart: ckpt image %s", restorename);
-       perror(error_msg);
-       doAbort = true;
--    } else if (buf.st_uid != getuid()) { /*Could also run if geteuid() matches*/
--      printf("\nProcess uid (%d) doesn't match uid (%d) of\n" \
--             "checkpoint image (%s).\n" \
--	     "This is dangerous.  Aborting for security reasons.\n" \
--           "If you still want to do this (at your own risk),\n" \
--           "  then modify dmtcp/src/%s:%d and re-compile.\n",
--           getuid(), buf.st_uid, restorename, __FILE__, __LINE__ - 6);
--      doAbort = true;
-     }
-     if (doAbort)
-       abort();
-diff -Nuar dmtcp_1.1.8/mtcp/mtcp_restart.c dmtcp_1.1.8.dont_check_uid/mtcp/mtcp_restart.c
---- dmtcp_1.1.8/mtcp/mtcp_restart.c	2010-07-01 06:42:53.000000000 +0200
-+++ dmtcp_1.1.8.dont_check_uid/mtcp/mtcp_restart.c	2010-09-07 01:49:20.000000000 +0200
-@@ -157,13 +157,6 @@
-       sprintf(error_msg, "\nmtcp_restart: ckpt image %s", restorename);
-       perror(error_msg);
-       abort();
--    } else if (buf.st_uid != getuid()) { /*Could also run if geteuid() matches*/
--      mtcp_printf("\nProcess uid (%d) doesn't match uid (%d) of\n" \
--	          "checkpoint image (%s).\n" \
--		  "This is dangerous.  Aborting for security reasons.\n" \
--	   "If you still want to do this, modify mtcp/%s:%d and re-compile.\n",
--	   getuid(), buf.st_uid, restorename, __FILE__, __LINE__ - 5);
--      abort();
-     }
-   }
- 
diff --git a/pkgs/os-specific/linux/firmware/iwlwifi-6000-ucode/default.nix b/pkgs/os-specific/linux/firmware/iwlwifi-6000-ucode/default.nix
new file mode 100644
index 000000000000..5b7e2dc7b5e4
--- /dev/null
+++ b/pkgs/os-specific/linux/firmware/iwlwifi-6000-ucode/default.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "iwlwifi-6000-ucode-9.221.4.1";
+
+  src = fetchurl {
+    url = "http://intellinuxwireless.org/iwlwifi/downloads/${name}.tgz";
+    sha256 = "7f04623231663dc4ee63df32fd890bfa9514dce1fab9dc7a25fda90350da836b";
+  };
+
+  buildPhase = "true";
+
+  installPhase = ''
+    ensureDir "$out"
+    chmod -x *
+    cp * "$out"
+  '';
+
+  meta = {
+    description = "Firmware for the Intel 6000 Series wireless card";
+
+    longDescription = ''
+      This package provides the Intel 6000 Series wireless card
+      firmware. It contains the `iwlwifi-6000-4.ucode' file.
+    '';
+
+    homepage = http://intellinuxwireless.org/;
+  };
+}
diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix
index c15cd3e00422..d14edf00dab1 100644
--- a/pkgs/os-specific/linux/fuse/default.nix
+++ b/pkgs/os-specific/linux/fuse/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, utillinux }:
 
 stdenv.mkDerivation rec {
-  name = "fuse-2.8.4";
+  name = "fuse-2.8.5";
   
   builder = ./builder.sh;
   
   src = fetchurl {
     url = "mirror://sourceforge/fuse/${name}.tar.gz";
-    sha256 = "076y4n9ppmqlfarvm219694cn78qms7k2vh1b4454kkcgg9jmrh4";
+    sha256 = "114ssa7a7spwmkrn8362dgzdqiba4s8s4b3vyvyhvrlfmrk0xj5y";
   };
   
   configureFlags = "--disable-kernel-module";
diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix
index ba0f1d4fd0f9..806efdcba6d0 100644
--- a/pkgs/os-specific/linux/iproute/default.nix
+++ b/pkgs/os-specific/linux/iproute/default.nix
@@ -7,7 +7,9 @@ stdenv.mkDerivation rec {
     url = "http://devresources.linux-foundation.org/dev/iproute2/download/${name}.tar.bz2";
     sha256 = "18why1wy0v859axgrlfxn80zmskss0410hh9rf5gn9cr29zg9cla";
   };
- 
+
+  patches = [ ./vpnc.patch ];
+
   preConfigure =
     ''
       patchShebangs ./configure
diff --git a/pkgs/os-specific/linux/iproute/vpnc.patch b/pkgs/os-specific/linux/iproute/vpnc.patch
new file mode 100644
index 000000000000..0a65f3e5df5f
--- /dev/null
+++ b/pkgs/os-specific/linux/iproute/vpnc.patch
@@ -0,0 +1,15 @@
+vpnc fails with "RTNETLINK answers: No such device"
+Patch from: https://bugs.gentoo.org/attachment.cgi?id=245736
+In reference to: https://bugs.gentoo.org/show_bug.cgi?id=331447
+
+--- iproute2-2.6.35.old/ip/iproute.c	2010-09-02 16:00:21.805000124 +0200
++++ iproute2-2.6.35/ip/iproute.c	2010-09-02 16:00:40.782000125 +0200
+@@ -160,7 +160,7 @@
+ 	if (r->rtm_family == AF_INET6 && table != RT_TABLE_MAIN)
+ 		ip6_multiple_tables = 1;
+ 
+-	if (filter.cloned == !(r->rtm_flags&RTM_F_CLONED))
++	if (filter.cloned && !(r->rtm_flags&RTM_F_CLONED))
+ 		return 0;
+ 
+ 	if (r->rtm_family == AF_INET6 && !ip6_multiple_tables) {
diff --git a/pkgs/os-specific/linux/iptables/default.nix b/pkgs/os-specific/linux/iptables/default.nix
index 2f447f72ab23..a1dace598fef 100644
--- a/pkgs/os-specific/linux/iptables/default.nix
+++ b/pkgs/os-specific/linux/iptables/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "iptables-1.4.8";
+  name = "iptables-1.4.10";
 
   src = fetchurl {
     url = "http://www.netfilter.org/projects/iptables/files/${name}.tar.bz2";
-    sha256 = "342926b3f9635f89f479660835b0ba518ccd465552e41c29aa83c5af7d506496";
+    md5 = "f382fe693f0b59d87bd47bea65eca198";
   };
 
   # Install header files required by miniupnpd.
diff --git a/pkgs/os-specific/linux/iputils/builder.sh b/pkgs/os-specific/linux/iputils/builder.sh
deleted file mode 100644
index b5219c3fefc7..000000000000
--- a/pkgs/os-specific/linux/iputils/builder.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-source $stdenv/setup
-
-makeFlags="KERNEL_INCLUDE=$kernelHeaders/include LIBC_INCLUDE=$glibc/include"
-
-preConfigure="sed -e 's@check-kernel @@' -i Makefile"
-
-installPhase="
-mkdir -pv $out/bin $out/sbin
-install -c arping $out/sbin/
-install -c ping $out/bin/
-install -c ping6 $out/sbin/
-install -c rdisc $out/sbin/
-install -c tracepath $out/sbin/
-install -c tracepath6 $out/sbin/
-install -c traceroute6 $out/sbin/
-";
-
-genericBuild
diff --git a/pkgs/os-specific/linux/iputils/default.nix b/pkgs/os-specific/linux/iputils/default.nix
index 81433a313b9e..a50aefaec97d 100644
--- a/pkgs/os-specific/linux/iputils/default.nix
+++ b/pkgs/os-specific/linux/iputils/default.nix
@@ -1,15 +1,29 @@
-{stdenv, fetchurl, linuxHeaders, glibc}:
+{ stdenv, fetchurl, libsysfs, openssl }:
 
-assert stdenv.isLinux && stdenv.system != "powerpc-linux";
+assert stdenv ? glibc;
 
 stdenv.mkDerivation {
-  name = "iputils-20020927";
-  builder = ./builder.sh;
+  name = "iputils-20101006";
+  
   src = fetchurl {
-    url = ftp://ftp.nl.debian.org/debian/pool/main/i/iputils/iputils_20020927.orig.tar.gz;
-    md5 = "b5493f7a2997130a4f86c486c9993b86";
+    url = http://www.skbuff.net/iputils/iputils-s20101006.tar.bz2;
+    sha256 = "1rvfvdnmzlmgy9a6xv5v4n785zmn10v2l7yaq83rdfgbh1ng8fpx";
   };
 
-  inherit linuxHeaders glibc;
-  patches = [ ./open-max.patch ];
+  buildInputs = [ libsysfs openssl ];
+
+  # Urgh, it uses Make's `-l' dependency "feature". 
+  makeFlags = "VPATH=${libsysfs}/lib:${stdenv.glibc}/lib:${openssl}/lib";
+
+  installPhase =
+    ''
+      mkdir -p $out/sbin
+      cp -p arping ping ping6 rdisc tracepath tracepath6 traceroute6 $out/sbin/
+    '';
+    
+  meta = {
+    homepage = http://www.skbuff.net/iputils/;
+    description = "A set of small useful utilities for Linux networking";
+    platforms = stdenv.lib.platforms.linux;
+  };
 }
diff --git a/pkgs/os-specific/linux/iputils/open-max.patch b/pkgs/os-specific/linux/iputils/open-max.patch
deleted file mode 100644
index 26bb95bd9d88..000000000000
--- a/pkgs/os-specific/linux/iputils/open-max.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- iputils-s20070202/rdisc.c.open-max	2007-08-07 11:34:03.000000000 +0200
-+++ iputils-s20070202/rdisc.c	2007-08-07 11:41:30.000000000 +0200
-@@ -240,14 +240,25 @@
- {
- 	int t;
- 	pid_t pid;
--	
-+	long open_max;
-+
- 	if (trace)
- 		return;
- 
-+	if ((open_max = sysconf(_SC_OPEN_MAX)) == -1) {
-+		if (errno == 0) {
-+			(void) fprintf(stderr, "OPEN_MAX is not supported\n");
-+		}
-+		else {
-+			(void) fprintf(stderr, "sysconf() error\n");
-+		}
-+		exit(1);
-+	}
-+
- 	if ((pid=fork()) != 0)
- 		exit(0);
- 
--	for (t = 0; t < OPEN_MAX; t++)
-+	for (t = 0; t < open_max; t++)
- 		if (t != s)
- 			close(t);
- 
diff --git a/pkgs/os-specific/linux/kernel-headers/2.6.28.nix b/pkgs/os-specific/linux/kernel-headers/2.6.28.nix
index a85e6f79bf1b..98a06556a194 100644
--- a/pkgs/os-specific/linux/kernel-headers/2.6.28.nix
+++ b/pkgs/os-specific/linux/kernel-headers/2.6.28.nix
@@ -33,6 +33,7 @@ stdenv.mkDerivation {
   patchPhase = ''
     patch --verbose -p1 < "${./unifdef-getline.patch}"
     sed -i '/scsi/d' include/Kbuild
+    sed -i 's|/ %/: prepare scripts FORCE|%/: prepare scripts FORCE|' Makefile
   '';
 
   buildPhase = ''
diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.27.nix b/pkgs/os-specific/linux/kernel/linux-2.6.27.nix
index 4404edcd77c8..80aada9e7da4 100644
--- a/pkgs/os-specific/linux/kernel/linux-2.6.27.nix
+++ b/pkgs/os-specific/linux/kernel/linux-2.6.27.nix
@@ -3,11 +3,11 @@ args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? "", ... }:
 import ./generic.nix (
 
   rec {
-    version = "2.6.27.53";
+    version = "2.6.27.57";
   
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2";
-      sha256 = "05acrmlrsz9cd60002kwvwwsk2wvg0pf11j4s1wx8n9jsil3xxic";
+      sha256 = "15irwzzhccnrbc422h1z0p3dgs9qmk3r77w2c8via7rc4vwxsvp0";
     };
 
     features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.32.nix b/pkgs/os-specific/linux/kernel/linux-2.6.32.nix
index 1cef6d035f4b..5c0adedb40dd 100644
--- a/pkgs/os-specific/linux/kernel/linux-2.6.32.nix
+++ b/pkgs/os-specific/linux/kernel/linux-2.6.32.nix
@@ -198,11 +198,11 @@ in
 import ./generic.nix (
 
   rec {
-    version = "2.6.32.27";
+    version = "2.6.32.33";
   
     src = fetchurl {
-      url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2";
-      sha256 = "08zj1mysfhqz81vmly2cassbf6r5nzi9y6sps27c8sz9xfwzly5c";
+      url = "mirror://kernel/linux/kernel/v2.6/longterm/v2.6.32/linux-${version}.tar.bz2";
+      sha256 = "0vw7mq4bx23h35wf5d2c3bamp4gkff5h48pdp8q1w8arwm0bl3qf";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.35.nix b/pkgs/os-specific/linux/kernel/linux-2.6.35.nix
index edc86c518908..0b0db0875ede 100644
--- a/pkgs/os-specific/linux/kernel/linux-2.6.35.nix
+++ b/pkgs/os-specific/linux/kernel/linux-2.6.35.nix
@@ -190,11 +190,11 @@ in
 import ./generic.nix (
 
   rec {
-    version = "2.6.35.7";
+    version = "2.6.35.9";
   
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2";
-      sha256 = "f19c830e52d97fe35e9e32e1911de238e75b1cd29ca779de0d83f0906073ee2c";
+      sha256 = "01mzbbi013k3fbfgnphq9j3a5j7k33vdq303yaxwfy1h2qd6gggn";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.36.nix b/pkgs/os-specific/linux/kernel/linux-2.6.36.nix
index 84d5e1a29329..82c008802a05 100644
--- a/pkgs/os-specific/linux/kernel/linux-2.6.36.nix
+++ b/pkgs/os-specific/linux/kernel/linux-2.6.36.nix
@@ -192,11 +192,11 @@ in
 import ./generic.nix (
 
   rec {
-    version = "2.6.36.2";
+    version = "2.6.36.3";
   
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2";
-      sha256 = "06wshmpgwfswdfqx5cc5nsqaa8vjyg3wab2zpzmvmc1gw564b8ll";
+      sha256 = "1kxj4m9f5iplbll1c5inszg5yxywakz533nl5p4ia84mq2ch03dc";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.37.nix b/pkgs/os-specific/linux/kernel/linux-2.6.37.nix
new file mode 100644
index 000000000000..11659fafd76a
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-2.6.37.nix
@@ -0,0 +1,208 @@
+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
+      # Hybrid graphics support
+      VGA_SWITCHEROO 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_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.37.1";
+  
+    src = fetchurl {
+      url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2";
+      sha256 = "0wyl8ki7m6f037glcg77nx5r1bn5mmm1xskvv5xz7g7h20kvlwhw";
+    };
+
+    config = configWithPlatform stdenv.platform;
+    configCross = configWithPlatform stdenv.cross.platform;
+
+    features.iwlwifi = true;
+  }
+
+  // removeAttrs args ["extraConfig"]
+)
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index 3ad48033f7a2..860dfaeef702 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -224,10 +224,4 @@ in
       patch = ./guruplug-mach-type.patch;
     };
 
-  xen_pvclock_resume =
-    { # Fix the clock after a DomU restore following a Dom0 reboot or migration.
-      name = "xen-pvclock-resume";
-      patch = ./xen-pvclock-resume.patch;
-    };
-  
 }
diff --git a/pkgs/os-specific/linux/kernel/xen-pvclock-resume.patch b/pkgs/os-specific/linux/kernel/xen-pvclock-resume.patch
deleted file mode 100644
index b92bb74d30b4..000000000000
--- a/pkgs/os-specific/linux/kernel/xen-pvclock-resume.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
-Date: Mon, 25 Oct 2010 16:53:46 -0700
-Subject: [PATCH] x86/pvclock: zero last_value on resume
-
-If the guest domain has been suspend/resumed or migrated, then the
-system clock backing the pvclock clocksource may revert to a smaller
-value (ie, can be non-monotonic across the migration/save-restore).
-Make sure we zero last_value in that case so that the domain
-continues to see clock updates.
-
-Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
-
-diff --git a/arch/x86/include/asm/pvclock.h b/arch/x86/include/asm/pvclock.h
-index cd02f32..6226870 100644
---- a/arch/x86/include/asm/pvclock.h
-+++ b/arch/x86/include/asm/pvclock.h
-@@ -11,5 +11,6 @@ unsigned long pvclock_tsc_khz(struct pvclock_vcpu_time_info *src);
- void pvclock_read_wallclock(struct pvclock_wall_clock *wall,
- 			    struct pvclock_vcpu_time_info *vcpu,
- 			    struct timespec *ts);
-+void pvclock_resume(void);
- 
- #endif /* _ASM_X86_PVCLOCK_H */
-diff --git a/arch/x86/kernel/pvclock.c b/arch/x86/kernel/pvclock.c
-index 239427c..a4f07c1 100644
---- a/arch/x86/kernel/pvclock.c
-+++ b/arch/x86/kernel/pvclock.c
-@@ -120,6 +120,11 @@ unsigned long pvclock_tsc_khz(struct pvclock_vcpu_time_info *src)
- 
- static atomic64_t last_value = ATOMIC64_INIT(0);
- 
-+void pvclock_resume(void)
-+{
-+	atomic64_set(&last_value, 0);
-+}
-+
- cycle_t pvclock_clocksource_read(struct pvclock_vcpu_time_info *src)
- {
- 	struct pvclock_shadow_time shadow;
-diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c
-index b2bb5aa..5da5e53 100644
---- a/arch/x86/xen/time.c
-+++ b/arch/x86/xen/time.c
-@@ -426,6 +426,8 @@ void xen_timer_resume(void)
- {
- 	int cpu;
- 
-+	pvclock_resume();
-+
- 	if (xen_clockevent != &xen_vcpuop_clockevent)
- 		return;
diff --git a/pkgs/os-specific/linux/libnl/libnl-1.1-flags.patch b/pkgs/os-specific/linux/libnl/libnl-1.1-flags.patch
new file mode 100644
index 000000000000..bb09b362660f
--- /dev/null
+++ b/pkgs/os-specific/linux/libnl/libnl-1.1-flags.patch
@@ -0,0 +1,11 @@
+--- libnl-1.1/lib/Makefile.orig	2008-01-14 16:48:45.000000000 +0100
++++ libnl-1.1/lib/Makefile	2009-05-26 09:47:42.000000000 +0200
+@@ -48,7 +48,7 @@
+ 
+ $(OUT_SLIB): ../Makefile.opts $(OBJ)
+ 	@echo "  LD $(OUT_SLIB)"; \
+-	$(CC) -shared -Wl,-soname,libnl.so.1 -o $(OUT_SLIB) $(OBJ) $(LIBNL_LIB) -lc
++	$(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-soname,libnl.so.1 -o $(OUT_SLIB) $(OBJ) $(LIBNL_LIB) -lc
+ 	@echo "  LN $(OUT_SLIB) $(LN1_SLIB)"; \
+ 	rm -f $(LN1_SLIB) ; $(LN) -s $(OUT_SLIB) $(LN1_SLIB)
+ 	@echo "  LN $(LN1_SLIB) $(LN_SLIB)"; \
diff --git a/pkgs/os-specific/linux/libnl/libnl-1.1-glibc-2.8-ULONG_MAX.patch b/pkgs/os-specific/linux/libnl/libnl-1.1-glibc-2.8-ULONG_MAX.patch
new file mode 100644
index 000000000000..79dd039a3388
--- /dev/null
+++ b/pkgs/os-specific/linux/libnl/libnl-1.1-glibc-2.8-ULONG_MAX.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/show_bug.cgi?id=225393
+
+--- libnl-1.1/include/netlink-local.h	2008-06-09 07:54:20 +0000
++++ libnl-1.1/include/netlink-local.h	2008-06-09 07:54:47 +0000
+@@ -26,6 +26,7 @@
+ #include <sys/socket.h>
+ #include <inttypes.h>
+ #include <assert.h>
++#include <limits.h>
+ 
+ #include <arpa/inet.h>
+ #include <netdb.h>
+
diff --git a/pkgs/os-specific/linux/libnl/libnl-1.1-minor-leaks.patch b/pkgs/os-specific/linux/libnl/libnl-1.1-minor-leaks.patch
new file mode 100644
index 000000000000..855a6ab3912e
--- /dev/null
+++ b/pkgs/os-specific/linux/libnl/libnl-1.1-minor-leaks.patch
@@ -0,0 +1,40 @@
+From: Patrick McHardy <kaber@trash.net>
+Date: Fri, 18 Jan 2008 16:55:49 +0000 (+0100)
+Subject: [LIBNL]: Fix minor memleaks on exit
+X-Git-Url: http://git.kernel.org/?p=libs%2Fnetlink%2Flibnl.git;a=commitdiff_plain;h=b64f15d6f947839236fa276d473d238f8c9b9d57;hp=e91bb2ffb090955d443e643a25b250bf3d33534a
+
+[LIBNL]: Fix minor memleaks on exit
+
+Make valgrind happy ...
+
+Signed-off-by: Patrick McHardy <kaber@trash.net>
+---
+
+diff --git a/lib/route/route_utils.c b/lib/route/route_utils.c
+index a12d169..1386cda 100644
+--- a/lib/route/route_utils.c
++++ b/lib/route/route_utils.c
+@@ -63,6 +63,11 @@ static void __init init_routing_table_names(void)
+ 	add_routing_table_name(RT_TABLE_LOCAL, "local");
+ };
+ 
++static void __exit release_routing_table_names(void)
++{
++	__trans_list_clear(&table_names);
++}
++
+ int rtnl_route_read_table_names(const char *path)
+ {
+ 	__trans_list_clear(&table_names);
+@@ -104,6 +109,11 @@ static void __init init_proto_names(void)
+ 	add_proto_name(RTPROT_STATIC, "static");
+ };
+ 
++static void __exit release_proto_names(void)
++{
++	__trans_list_clear(&proto_names);
++}
++
+ int rtnl_route_read_protocol_names(const char *path)
+ {
+ 	__trans_list_clear(&proto_names);
diff --git a/pkgs/os-specific/linux/libnl/libnl-1.1-vlan-header.patch b/pkgs/os-specific/linux/libnl/libnl-1.1-vlan-header.patch
new file mode 100644
index 000000000000..c4c2fc6382de
--- /dev/null
+++ b/pkgs/os-specific/linux/libnl/libnl-1.1-vlan-header.patch
@@ -0,0 +1,80 @@
+From: Patrick McHardy <kaber@trash.net>
+Date: Fri, 18 Jan 2008 16:55:48 +0000 (+0100)
+Subject: [LIBNL]: Add if_vlan.h
+X-Git-Url: http://git.kernel.org/?p=libs%2Fnetlink%2Flibnl.git;a=commitdiff_plain;h=e91bb2ffb090955d443e643a25b250bf3d33534a;hp=7f6b7a8eea0334b34d58dec72c66121a76f08958
+
+[LIBNL]: Add if_vlan.h
+
+vlan support needs VLAN_FLAG_REORDER_HDR, which is not available in
+older if_vlan.h versions. Add the current version from the kernel.
+
+Signed-off-by: Patrick McHardy <kaber@trash.net>
+---
+
+diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h
+new file mode 100644
+index 0000000..068cd7b
+--- /dev/null
++++ include/linux/if_vlan.h
+@@ -0,0 +1,61 @@
++/*
++ * VLAN		An implementation of 802.1Q VLAN tagging.
++ *
++ * Authors:	Ben Greear <greearb@candelatech.com>
++ *
++ *		This program is free software; you can redistribute it and/or
++ *		modify it under the terms of the GNU General Public License
++ *		as published by the Free Software Foundation; either version
++ *		2 of the License, or (at your option) any later version.
++ *
++ */
++
++#ifndef _LINUX_IF_VLAN_H_
++#define _LINUX_IF_VLAN_H_
++
++
++/* VLAN IOCTLs are found in sockios.h */
++
++/* Passed in vlan_ioctl_args structure to determine behaviour. */
++enum vlan_ioctl_cmds {
++	ADD_VLAN_CMD,
++	DEL_VLAN_CMD,
++	SET_VLAN_INGRESS_PRIORITY_CMD,
++	SET_VLAN_EGRESS_PRIORITY_CMD,
++	GET_VLAN_INGRESS_PRIORITY_CMD,
++	GET_VLAN_EGRESS_PRIORITY_CMD,
++	SET_VLAN_NAME_TYPE_CMD,
++	SET_VLAN_FLAG_CMD,
++	GET_VLAN_REALDEV_NAME_CMD, /* If this works, you know it's a VLAN device, btw */
++	GET_VLAN_VID_CMD /* Get the VID of this VLAN (specified by name) */
++};
++
++enum vlan_flags {
++	VLAN_FLAG_REORDER_HDR	= 0x1,
++};
++
++enum vlan_name_types {
++	VLAN_NAME_TYPE_PLUS_VID, /* Name will look like:  vlan0005 */
++	VLAN_NAME_TYPE_RAW_PLUS_VID, /* name will look like:  eth1.0005 */
++	VLAN_NAME_TYPE_PLUS_VID_NO_PAD, /* Name will look like:  vlan5 */
++	VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD, /* Name will look like:  eth0.5 */
++	VLAN_NAME_TYPE_HIGHEST
++};
++
++struct vlan_ioctl_args {
++	int cmd; /* Should be one of the vlan_ioctl_cmds enum above. */
++	char device1[24];
++
++        union {
++		char device2[24];
++		int VID;
++		unsigned int skb_priority;
++		unsigned int name_type;
++		unsigned int bind_type;
++		unsigned int flag; /* Matches vlan_dev_info flags */
++        } u;
++
++	short vlan_qos;
++};
++
++#endif /* !(_LINUX_IF_VLAN_H_) */
diff --git a/pkgs/os-specific/linux/libnl/v1.nix b/pkgs/os-specific/linux/libnl/v1.nix
new file mode 100644
index 000000000000..f3f7f3fa732c
--- /dev/null
+++ b/pkgs/os-specific/linux/libnl/v1.nix
@@ -0,0 +1,27 @@
+{stdenv, fetchurl, bison, flex}:
+
+stdenv.mkDerivation rec {
+  name = "libnl-1.1";
+
+  src = fetchurl {
+    url = "${meta.homepage}files/${name}.tar.gz";
+    sha256 = "1hzd48z8h8abkclq90wb7cciynpg3pwgyd0gzb5g12ndnv7s9kim";
+  };
+
+  buildInputs = [ bison flex ];
+  postConfigure = "type -tp flex";
+
+  patches = [
+    ./libnl-1.1-flags.patch
+    ./libnl-1.1-glibc-2.8-ULONG_MAX.patch
+    ./libnl-1.1-minor-leaks.patch
+    ./libnl-1.1-vlan-header.patch
+  ];
+
+  meta = {
+    homepage = "http://www.infradead.org/~tgr/libnl/";
+    description = "Linux NetLink interface library";
+    maintainers = [ stdenv.lib.maintainers.urkud ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/lsscsi/default.nix b/pkgs/os-specific/linux/lsscsi/default.nix
new file mode 100644
index 000000000000..886f6c799a43
--- /dev/null
+++ b/pkgs/os-specific/linux/lsscsi/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchurl }:
+
+assert stdenv.isLinux;
+
+stdenv.mkDerivation {
+  name = "lsscsi-0.24";
+
+  src = fetchurl {
+    url = "http://sg.danny.cz/scsi/lsscsi-0.24.tgz";
+    sha256 = "0c718w80vi9a0w48q8xmlnbyqzxfd8lax5dcbqg8gvg4l2zaba2c";
+  };
+
+  preConfigure = ''
+    substituteInPlace Makefile.in --replace /usr "$out"
+  '';
+}
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index dd6c1875362a..bb193608e197 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -7,7 +7,7 @@
 
 with stdenv.lib;
 
-let versionNumber = "260.19.29"; in
+let versionNumber = "260.19.44"; in
 
 stdenv.mkDerivation {
   name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}";
@@ -18,12 +18,12 @@ stdenv.mkDerivation {
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
-        sha256 = "0zbjmpwbc35bzg15j8zs7xy3qlaywhrb8mmps7df8bv59fb0krxn";
+        sha256 = "06sp7wi1q2sh00r0nm340zpfjhngf4qifflbnk2ai88gb6zrpi54";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run";
-        sha256 = "119dhzafkfijfw94hw7sz0iffp1lshdh6vadvr6d1vr6hpcggdw6";
+        sha256 = "0hqp56sf61wc9fn3zdvc0lr8w170p36mmf9irgpz0g96qwnic2z9";
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
@@ -38,7 +38,7 @@ stdenv.mkDerivation {
   cudaPath = stdenv.lib.makeLibraryPath [zlib stdenv.gcc.gcc];
 
   programPath = optionalString (!libsOnly) (stdenv.lib.makeLibraryPath
-    [ gtkLibs.gtk gtkLibs.atk gtkLibs.pango gtkLibs.glib xlibs.libXv ] );
+    [ gtkLibs.gtk gtkLibs.atk gtkLibs.pango gtkLibs.glib gtkLibs.gdk_pixbuf xlibs.libXv ] );
 
   buildInputs = [ perl ];
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy96.nix b/pkgs/os-specific/linux/nvidia-x11/legacy96.nix
index 23356b58d323..0d36013ffd28 100644
--- a/pkgs/os-specific/linux/nvidia-x11/legacy96.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/legacy96.nix
@@ -2,7 +2,7 @@
 
 let 
 
-  versionNumber = "96.43.18";
+  versionNumber = "96.43.19";
 
 in
 
@@ -15,12 +15,12 @@ stdenv.mkDerivation {
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}-pkg0.run";
-        sha256 = "0ajlr5vmjgjl2rszzd86099p3fa4xcpy182pwibraggvzchi9ayw";
+        sha256 = "1j7im9ra7nmm1hn11c1brvf895xibs49xrxkxcrsnmpa17l10n72";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-pkg0.run";
-        sha256 = "0s8iq5djacqr686wd4g7fv8s9hpp2vbjnav82nqca18zanjj20rr";
+        sha256 = "1g8z36wz3ww1q6vjbypzwl0973vy0miz6rw2fd7v3a36yxl2gvn5";
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
diff --git a/pkgs/os-specific/linux/pmount/default.nix b/pkgs/os-specific/linux/pmount/default.nix
index feea32b33bbb..8f814c7212a3 100644
--- a/pkgs/os-specific/linux/pmount/default.nix
+++ b/pkgs/os-specific/linux/pmount/default.nix
@@ -7,12 +7,12 @@
 # constraint mention in the configure.ac
 assert stdenv.lib.hasSuffix "/" mediaDir;
 
-stdenv.mkDerivation {
-  name = "pmount-0.9.20";
+stdenv.mkDerivation rec {
+  name = "pmount-0.9.23";
 
   src = fetchurl {
-    url = https://alioth.debian.org/frs/download.php/3127/pmount-0.9.20.tar.gz;
-    sha256 = "0574d2e805610c179904f5c676b2b93e088906b91bcb76980daa4a8da1d23e8c";
+    url = "https://alioth.debian.org/frs/download.php/3310/${name}.tar.gz";
+    sha256 = "db38fc290b710e8e9e9d442da2fb627d41e13b3ee80326c15cc2595ba00ea036";
   };
 
   buildInputs = [ hal intltool utillinuxng ];
diff --git a/pkgs/os-specific/linux/qemu-kvm/default.nix b/pkgs/os-specific/linux/qemu-kvm/default.nix
index ef7153871fd2..012e9bb46a74 100644
--- a/pkgs/os-specific/linux/qemu-kvm/default.nix
+++ b/pkgs/os-specific/linux/qemu-kvm/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchurl, zlib, SDL, alsaLib, pkgconfig, pciutils, libuuid }:
+{ stdenv, fetchurl, zlib, SDL, alsaLib, pkgconfig, pciutils, libuuid, vde2 }:
    
 assert stdenv.isLinux;
    
 stdenv.mkDerivation rec {
-  name = "qemu-kvm-0.13.0";
+  name = "qemu-kvm-0.14.0";
    
   src = fetchurl {
     url = "mirror://sourceforge/kvm/${name}.tar.gz";
-    sha256 = "0lxym4p2bvqcb37h3wbjd81w4jrj4dn5kivdxcpx27iwgq6n1ckd";
+    sha256 = "0d86bj1sipg9br8xks9527cjc482gf9813h8rm690yswcprsyqig";
   };
 
   patches = [ ./smb-tmpdir.patch ];
 
-  buildInputs = [ zlib SDL alsaLib pkgconfig pciutils libuuid ];
+  buildInputs = [ zlib SDL alsaLib pkgconfig pciutils libuuid vde2 ];
 
   preBuild =
     ''
diff --git a/pkgs/os-specific/linux/sysfsutils/default.nix b/pkgs/os-specific/linux/sysfsutils/default.nix
index 0bb87eff3323..cecb65f50a2f 100644
--- a/pkgs/os-specific/linux/sysfsutils/default.nix
+++ b/pkgs/os-specific/linux/sysfsutils/default.nix
@@ -1,4 +1,5 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
+
 stdenv.mkDerivation rec {
   name = "sysfsutils-2.1.0";
 
@@ -9,11 +10,12 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://linux-diag.sourceforge.net/Sysfsutils.html;
-    longDescription = "
-      These are a set of utilites built upon sysfs, a new virtual
-      filesystem in Linux kernel versions 2.5+ that exposes a system's
-      device tree.
-    ";
+    longDescription =
+      ''
+        These are a set of utilites built upon sysfs, a new virtual
+        filesystem in Linux kernel versions 2.5+ that exposes a system's
+        device tree.
+      '';
     license = "GPL-v2 / LGPL-v2.1";
   };
 }
diff --git a/pkgs/os-specific/linux/syslinux/default.nix b/pkgs/os-specific/linux/syslinux/default.nix
index ae9ed8bf539b..1287da097ca7 100644
--- a/pkgs/os-specific/linux/syslinux/default.nix
+++ b/pkgs/os-specific/linux/syslinux/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, nasm, perl }:
 
 stdenv.mkDerivation rec {
-  name = "syslinux-4.02";
+  name = "syslinux-4.03";
   
   src = fetchurl {
     url = "mirror://kernel/linux/utils/boot/syslinux/4.xx/${name}.tar.bz2";
-    sha256 = "0zrk6magnrfa7nmdk2rll7xaym9rapwqqgy0wdh3cfscjmcw9kwm";
+    sha256 = "0f6s1cnibw6j0jh9bn5qsx3vsar9l1w9b3xfjkvzglgr4kinfmf6";
   };
 
   patches = [ ./perl-deps.patch ];
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
   preBuild =
     ''
       substituteInPlace gpxe/src/Makefile.housekeeping --replace /bin/echo $(type -P echo)
+      substituteInPlace gpxe/src/Makefile --replace /usr/bin/perl $(type -P perl)
       makeFlagsArray=(BINDIR=$out/bin SBINDIR=$out/sbin LIBDIR=$out/lib INCDIR=$out/include DATADIR=$out/share MANDIR=$out/share/man PERL=perl)
     '';
 }
diff --git a/pkgs/os-specific/linux/udev/default.nix b/pkgs/os-specific/linux/udev/default.nix
index 4dec9200ed52..11e044244b56 100644
--- a/pkgs/os-specific/linux/udev/default.nix
+++ b/pkgs/os-specific/linux/udev/default.nix
@@ -4,11 +4,11 @@
 assert stdenv ? glibc;
 
 stdenv.mkDerivation rec {
-  name = "udev-160";
+  name = "udev-166";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/kernel/hotplug/${name}.tar.bz2";
-    sha256 = "0wx43bxiff8i80k7w3j2iszksdzw1hz6sanx8cjsiypgppi4fr12";
+    sha256 = "1msl8cwf47shmz5lr2w9w3nzzxqnf5dc0bs7dvbnxmbal60p7lpm";
   };
 
   buildInputs = [ gperf pkgconfig glib acl libusb usbutils ];
@@ -36,6 +36,8 @@ stdenv.mkDerivation rec {
       sed -e '/PATH=/d' -i $out/libexec/rule_generator.functions
 
       ln -s $out/lib/ConsoleKit $out/etc/ConsoleKit
+
+      rm -rf $out/share/gtk-doc
     '';
   
   meta = {
diff --git a/pkgs/os-specific/linux/upstart/default.nix b/pkgs/os-specific/linux/upstart/default.nix
index 3f21e515e46d..fba832354754 100644
--- a/pkgs/os-specific/linux/upstart/default.nix
+++ b/pkgs/os-specific/linux/upstart/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, dbus, libnih }:
 
 stdenv.mkDerivation rec {
-  name = "upstart-0.6.6";
+  name = "upstart-0.6.7";
   
   src = fetchurl {
     url = "http://upstart.ubuntu.com/download/0.6/${name}.tar.gz";
-    sha256 = "1cy962n4ljjxfxaigcnqsl9gq8j09j28g5jg19zk4lc7h1503d3s";
+    sha256 = "1f1pds27cadi6ycii1fkn5bbs1brjqxa2b45wfn03ikc2azqxlr9";
   };
 
   buildInputs = [ pkgconfig dbus libnih ];
diff --git a/pkgs/os-specific/linux/xf86-input-wacom/10-wacom.rules b/pkgs/os-specific/linux/xf86-input-wacom/10-wacom.rules
index ac7632a776d0..260788c4538d 100644
--- a/pkgs/os-specific/linux/xf86-input-wacom/10-wacom.rules
+++ b/pkgs/os-specific/linux/xf86-input-wacom/10-wacom.rules
@@ -1,3 +1,16 @@
-# udev rule to create /dev/input/wacomN for wacom tablets
+# From http://linuxwacom.sourceforge.net/index.php/howto/newwacom
+# udev rules for wacom tablets.
 
-KERNEL="event*", SYSFS{manufacturer}="WACOM", NAME="input/%k", SYMLINK="input/wacom%e"
+KERNEL!="event[0-9]*", GOTO="wacom_end"
+# Multiple interface support for stylus and touch devices.
+DRIVERS=="wacom", ATTRS{bInterfaceNumber}=="00", ENV{WACOM_TYPE}="stylus"
+DRIVERS=="wacom", ATTRS{bInterfaceNumber}=="01", ENV{WACOM_TYPE}="touch"
+# Convenience links for the common case of a single tablet. We could do just this:
+#ATTRS{idVendor}=="056a", SYMLINK+="input/wacom-$env{WACOM_TYPE}"
+# but for legacy reasons, we keep the input/wacom link as the generic stylus device.
+ATTRS{idVendor}=="056a", ENV{WACOM_TYPE}!="touch", SYMLINK+="input/wacom"
+ATTRS{idVendor}=="056a", ENV{WACOM_TYPE}=="touch", SYMLINK+="input/wacom-touch"
+# Check and repossess the device if a module other than the wacom one
+# is already bound to it.
+ATTRS{idVendor}=="056a", ACTION=="add", RUN+="check_driver wacom $devpath $env{ID_BUS}"
+LABEL="wacom_end"
diff --git a/pkgs/os-specific/linux/xf86-input-wacom/default.nix b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
index 05993ad7b487..1102b2ebe40a 100644
--- a/pkgs/os-specific/linux/xf86-input-wacom/default.nix
+++ b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
@@ -1,34 +1,36 @@
-{ stdenv, fetchurl, libX11, libXi, inputproto, file
-, xproto, ncurses, pkgconfig, xorgserver }:
+{ stdenv, fetchurl, 
+  file, inputproto, libX11, libXext, libXi, libXrandr, libXrender,
+  ncurses, pkgconfig, randrproto, xorgserver, xproto }:
 
 stdenv.mkDerivation rec {
-  name = "xf86-input-wacom-0.10.5";
+  name = "xf86-input-wacom";
+  version = "0.10.10";
 
   src = fetchurl {
-    url = "mirror://sourceforge/linuxwacom/${name}.tar.bz2";
-    sha256 = "07rg9a9n1dyjff4awlc5imy44y0lg59qs8h4rr56lgjg612wkmy0";
+    url = "mirror://sourceforge/linuxwacom/${name}-${version}.tar.bz2";
+    sha256 = "03yggp2ww64va6gmasl0gy0rbfcyb1zlj9kapp9kvhk2j4458fdr";
   };
 
-  buildInputs = [ libX11 libXi inputproto xproto ncurses pkgconfig xorgserver
-    file ];
-
-  patchPhase="sed -e s@/usr/bin/file@${file}/bin/file@g -i configure";
+  buildInputs = [ file inputproto libX11 libXext libXi libXrandr libXrender
+    ncurses pkgconfig randrproto xorgserver xproto ];
 
   preConfigure = ''
-    configureFlags="--with-xorg-module-dir=$out/lib/xorg/modules/input
-    --with-sdkdir=$out/include/xorg"
+    ensureDir $out/share/X11/xorg.conf.d
+    configureFlags="--with-xorg-module-dir=$out/lib/xorg/modules
+    --with-sdkdir=$out/include/xorg --with-xorg-conf-dir=$out/share/X11/xorg.conf.d"
   '';
 
   postInstall =
     ''
-      ensureDir $out/etc/udev/rules.d
-      cp ${./10-wacom.rules} $out/etc/udev/rules.d/10-wacom.rules
+      ensureDir $out/lib/udev/rules.d
+      cp ${./10-wacom.rules} $out/lib/udev/rules.d/10-wacom.rules
     '';
 
   meta = with stdenv.lib; {
-    maintainers = [ maintainers.urkud ];
+    maintainers = [ maintainers.goibhniu maintainers.urkud ];
     description = "Wacom digitizer driver for X11";
     homepage = http://linuxwacom.sourceforge.net;
+    license = licenses.gpl2;
     platforms = platforms.linux; # Probably, works with other unices as well
   };
 }
diff --git a/pkgs/servers/dns/bind/9.5.0.nix b/pkgs/servers/dns/bind/9.5.0.nix
deleted file mode 100644
index b6361864d10b..000000000000
--- a/pkgs/servers/dns/bind/9.5.0.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-
-args : with args; 
-rec {
-  src = fetchurl {
-    url = http://ftp.isc.org/isc/bind9/9.5.0/bind-9.5.0.tar.gz;
-    sha256 = "0qfxipj6v9hs9plx388ysnyvpkiamgxpsq8xqzw9hliag4nc1d7v";
-  };
-
-  buildInputs = [openssl libtool];
-  configureFlags = ["--with-libtool" "--with-openssl=${openssl}"];
-
-  /* doConfigure should be specified separately */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
-  name = "bind-9.5.0";
-  meta = {
-    description = "ISC BIND: a domain name server";
-  };
-}
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
new file mode 100644
index 000000000000..819bb30c5a61
--- /dev/null
+++ b/pkgs/servers/dns/bind/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, openssl, libtool, perl, libxml2 }:
+
+let
+  version = "9.7.2-P3";
+in
+stdenv.mkDerivation rec {
+
+  name = "bind-${version}";
+
+  src = fetchurl {
+    url = "http://ftp.isc.org/isc/bind9/${version}/${name}.tar.gz";
+    sha256 = "0zpvmgs75lisw746wccm2r428dmd4vv5s1pc512lyrmycr3mz56d";
+  };
+
+  patchPhase = ''
+    sed -i 's/^\t.*run/\t/' Makefile.in
+  '';
+
+  buildInputs = [ openssl libtool perl libxml2 ];
+
+  /* Why --with-libtool? */
+  configureFlags = [ "--with-libtool" "--with-openssl=${openssl}"
+    "--localstatedir=/var" ];
+      
+  meta = {
+    homepage = http://www.isc.org/software/bind;
+    description = "ISC BIND: a domain name server";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/servers/http/joseki/default.nix b/pkgs/servers/http/joseki/default.nix
new file mode 100644
index 000000000000..0a83dd09601f
--- /dev/null
+++ b/pkgs/servers/http/joseki/default.nix
@@ -0,0 +1,112 @@
+x@{builderDefsPackage
+  , unzip
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="jena-joseki";
+    version="3.4.3-201103";
+    name="${baseName}-${version}";
+  };
+in
+rec {
+  inherit (sourceInfo) name version;
+  inherit buildInputs;
+
+  tarballs = {
+    jenaBin = a.fetchurl {
+      url = "mirror://sourceforge/project/jena/Jena/Jena-2.6.4/jena-2.6.4.zip";
+      sha256 = "ec23a24eee9148b1ddb366ab035a48eacd43c2b50c534a7bdd9cf31c6f8a9e7c";
+    };
+    josekiBin = a.fetchurl {
+      url = "mirror://sourceforge/project/joseki/Joseki-SPARQL/Joseki-3.4.3/joseki-3.4.3.zip";
+      sha256 = "cde1138e7bafcc2db7800dcde08f268237accd76c0a3e4b4c95cc96eacdcad12";
+    };
+    tdbBin = a.fetchurl {
+      url = "mirror://sourceforge/project/jena/TDB/TDB-0.8.9/tdb-0.8.9.zip";
+      sha256 = "78fd4b6cea5a6e412f1d58ba8a9e1fc72315becdf06f3675e4e604cd4435779e";
+    };
+    arqBin = a.fetchurl {
+      url = "mirror://sourceforge/project/jena/ARQ/ARQ-2.8.7/arq-2.8.7.zip";
+      sha256 = "66990e92514a85a9596a7efaf128041002cd098e063964dd5d2264cfcdd26070";
+    };
+    jettyBin = a.fetchurl {
+      url = "http://dist.codehaus.org/jetty/jetty-6.1.26/jetty-6.1.26.zip";
+      sha256 = "96c08eb87ec3772dccc2b3dba54fea85ccc3f804faf7429eecfba3ed55648187";
+    };
+  };
+  tarballFiles = map (x: builtins.getAttr x tarballs) (builtins.attrNames tarballs);
+
+  /* doConfigure should be removed if not needed */
+  phaseNames = ["doDeploy" "fixScripts"];
+
+  fixScripts = a.doPatchShebangs ''$TARGET/bin'';
+      
+  doDeploy = a.fullDepEntry (''
+    ${a.lib.concatStringsSep ";" (map (y : "unzip ${y}") tarballFiles)}
+    for i in */; do cp -rTf $i merged; done
+    cd merged
+    
+    for i in "lib/"jsp-*/*.jar; do 
+      ln -s "''${i#lib/}" "lib" || true
+    done
+
+    cp [Cc]opyright* doc
+    mkdir lib/obsolete
+    (
+      ls "lib/"log4j-[0-9]*.jar | sort | tac | tail -n +2 ;
+      ls "lib/"slf4j-api-[0-9]*.jar | sort | tac | tail -n +2 ;
+      ls "lib/"xercesImpl-[0-9]*.jar | sort | tac | tail -n +2 ;
+      ls "lib/"arq-[0-9]*.jar | sort | tac | tail -n +2
+      ls "lib/"tdb-[0-9]*.jar | sort | tac | tail -n +2
+      ls "lib/"jetty-[0-9]*.jar | sort | tac | tail -n +2
+      ls "lib/"jetty-util-[0-9]*.jar | sort | tac | tail -n +2
+    ) | 
+      xargs -I @@ mv @@  lib/obsolete
+
+    mv lib/slf4j-simple-*.jar lib/obsolete
+
+    ensureDir "$out/share"
+    TARGET="$out/share/${name}-dist"
+    cp -r . "$TARGET"
+    ln -s  "$TARGET/lib" "$out/lib"
+    chmod a+x "$TARGET/bin/"*
+    ensureDir "$out/bin"
+
+    echo -e '#! /bin/sh\nls "'"$TARGET"'"/bin' > "$out/bin/jena-list-commands"
+    echo '#! /bin/sh' >> "$out/bin/jena-command"
+    echo 'export JENAROOT="'"$TARGET"'"' >> "$out/bin/jena-command"
+    echo 'export JOSEKIROOT="'"$TARGET"'"' >> "$out/bin/jena-command"
+    echo 'export TDBROOT="'"$TARGET"'"' >> "$out/bin/jena-command"
+    echo 'export ARQROOT="'"$TARGET"'"' >> "$out/bin/jena-command"
+    echo 'sh "'"$TARGET"'"/bin/"$@"' >> "$out/bin/jena-command"
+
+    chmod a+x "$out/bin/"*
+  '') ["defEnsureDir" "minInit" "addInputs"];
+
+  trimVersions = a.fullDepEntry (''
+  '') ["doDeploy" "minInit"];
+
+  passthru = {
+    inherit tarballs;
+  };
+
+  meta = {
+    description = "An RDF database with SparQL interface over HTTP";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      []; # Builder is just unpacking/mixing what is needed
+    license = "free"; # mix of packages under different licenses
+    homepage = "http://openjena.org/";
+  };
+}) x
+
diff --git a/pkgs/servers/http/myserver/default.nix b/pkgs/servers/http/myserver/default.nix
index 776c121399e2..0b2c971e6e54 100644
--- a/pkgs/servers/http/myserver/default.nix
+++ b/pkgs/servers/http/myserver/default.nix
@@ -1,8 +1,8 @@
 { fetchurl, stdenv, libgcrypt, libevent, libidn, gnutls
-, libxml2, zlib, guile, texinfo, cppunit, xz }:
+, libxml2, zlib, guile, texinfo, cppunit, xz, psmisc }:
 
 let version = "0.10"; in
-  stdenv.mkDerivation rec {
+  stdenv.mkDerivation (rec {
     name = "myserver-${version}";
 
     src = fetchurl {
@@ -10,7 +10,8 @@ let version = "0.10"; in
       sha256 = "0w8njgka54if8ycd9cyxgmqa0ivv7r0rka7gda3x2rfr2z4nxvpb";
     };
 
-    patches = [ ./disable-dns-lookup-in-chroot.patch ];
+    patches =
+      [ ./disable-dns-lookup-in-chroot.patch ./installable-binary.patch ];
 
     buildInputs =
       [ libgcrypt libevent libidn gnutls libxml2 zlib guile texinfo xz ]
@@ -42,3 +43,11 @@ let version = "0.10"; in
       platforms = stdenv.lib.platforms.gnu;
     };
   }
+
+  //
+
+  # On GNU/Linux the `test_suite' process sometimes stays around, so
+  # forcefully terminate it.
+  (if stdenv.isLinux
+   then { postCheck = "${psmisc}/bin/killall test_suite || true"; }
+   else { }))
diff --git a/pkgs/servers/http/myserver/installable-binary.patch b/pkgs/servers/http/myserver/installable-binary.patch
new file mode 100644
index 000000000000..346e76afd5ec
--- /dev/null
+++ b/pkgs/servers/http/myserver/installable-binary.patch
@@ -0,0 +1,14 @@
+We actually want the `myserver' binary to be installable.  Failing to do that
+it gets an RPATH pointing to $top_builddir/src/.libs.
+
+--- myserver-0.10/src/Makefile.in	2010-10-14 12:45:42.000000000 +0200
++++ myserver-0.10/src/Makefile.in	2011-03-03 22:23:05.000000000 +0100
+@@ -1307,7 +1307,6 @@ libmyserver_la_LIBADD = \
+ 		$(INTLLIBS) $(LDFLAGS)
+ 
+ myserver_CXXFLAGS = $(AM_CXXFLAGS) $(CXXFLAGS) -DHOST_STR=\"$(build)\" -DPREFIX=\"$(prefix)\"
+-myserver_LDFLAGS = -static -no-install
+ myserver_LDADD = libmyserver.la $(PTHREAD_LIB) $(IDN_LIB) \
+ 	$(XNET_LIB) $(DL_LIB) $(ZLIB_LIB) \
+ 	$(XML_LIBS) $(INTLLIBS) $(LDFLAGS)
+
diff --git a/pkgs/servers/http/tomcat/axis2/default.nix b/pkgs/servers/http/tomcat/axis2/default.nix
index 066dfff36a73..66e0f78f5ca3 100644
--- a/pkgs/servers/http/tomcat/axis2/default.nix
+++ b/pkgs/servers/http/tomcat/axis2/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, apacheAnt, jdk, unzip}:
 
 stdenv.mkDerivation {
-  name = "axis2-1.5.1";
+  name = "axis2-1.5.4";
 
   src = fetchurl {
-    url = http://www.bizdirusa.com/mirrors/apache/ws/axis2/1_5_1/axis2-1.5.1-bin.zip;
-    sha256 = "04zcn9g4r7pxfpp5g5rpjjlddr5mibqmsz4lfbkz2vjf3jrldgy5";
+    url = http://apache.mirror.easycolocate.nl/axis/axis2/java/core/1.5.4/axis2-1.5.4-bin.zip;
+    sha256 = "0mqnsj14g8aqmh3gjxgys6kwa7q8jkjgczb0hlcr4v2par0hdfng";
   };
 
   buildInputs = [ unzip apacheAnt jdk ];
diff --git a/pkgs/servers/monitoring/zabbix/default.nix b/pkgs/servers/monitoring/zabbix/default.nix
index e1e7c5acd717..09d536274508 100644
--- a/pkgs/servers/monitoring/zabbix/default.nix
+++ b/pkgs/servers/monitoring/zabbix/default.nix
@@ -2,11 +2,11 @@
 
 let
 
-  version = "1.8.3";
+  version = "1.8.4";
   
   src = fetchurl {
     url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz";
-    sha256 = "0p064602bgkwcs0hmij9i8fn50bx4w6liw8b71hs6qcn3isjs9ip";
+    sha256 = "0fhn4gw8r96dy0z227k5bl144zpmgsk1jkwzhi61qqr44mz27fqc";
   };
 
   preConfigure =
diff --git a/pkgs/servers/sip/freeswitch/default.nix b/pkgs/servers/sip/freeswitch/default.nix
new file mode 100644
index 000000000000..770dc6d277be
--- /dev/null
+++ b/pkgs/servers/sip/freeswitch/default.nix
@@ -0,0 +1,20 @@
+{ fetchurl, stdenv, ncurses, curl, pkgconfig, gnutls, readline, openssl, perl, libjpeg }:
+
+stdenv.mkDerivation rec {
+  name = "freeswitch-1.0.7";
+
+  src = fetchurl {
+    url = http://latest.freeswitch.org/freeswitch-1.0.7.tar.gz;
+    sha256 = "0r7mqsc50y7aqm8arbwiq75ikwfrrfhhzdf9r070snrf3b8qkj8w";
+  };
+
+  buildInputs = [ ncurses curl pkgconfig gnutls readline openssl perl libjpeg ];
+
+  meta = {
+    description = "Cross-Platform Scalable FREE Multi-Protocol Soft Switch";
+    homepage = http://freeswitch.org/;
+    license = "MPL1.1";
+    maintainers = with stdenv.lib.maintainers; [ viric ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/servers/sip/sipwitch/default.nix b/pkgs/servers/sip/sipwitch/default.nix
new file mode 100644
index 000000000000..a0ff9b2d3d75
--- /dev/null
+++ b/pkgs/servers/sip/sipwitch/default.nix
@@ -0,0 +1,26 @@
+{ fetchurl, stdenv, pkgconfig, ucommon, libosip, libexosip, gnutls, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "sipwitch-0.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnu/sipwitch/${name}.tar.gz";
+    sha256 = "0s0j74a524la6q2yhwbll0ra1chygw3z4m0ch5awlifdbbhambz0";
+  };
+
+  buildInputs = [ pkgconfig ucommon libosip libexosip gnutls zlib ];
+
+  preConfigure = ''
+    export configureFlags="--sysconfdir=$out/etc"
+  '';
+
+  doCheck = true;
+
+  meta = {
+    description = "Secure peer-to-peer VoIP server that uses the SIP protocol";
+    homepage = http://www.gnu.org/software/sipwitch/;
+    license = "GPLv3+";
+    maintainers = with stdenv.lib.maintainers; [ viric ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/servers/sql/mysql51/default.nix b/pkgs/servers/sql/mysql51/default.nix
index b1dda007fef8..ddf5c16bef19 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.51";
+  name = "mysql-5.1.54";
 
   src = fetchurl {
-    url = ftp://mirror.leaseweb.com/mysql/Downloads/MySQL-5.1/mysql-5.1.51.tar.gz;
-    sha256 = "10i8ljsv7j1ggbqjmi7h6ahlgnaihh70z58n8rnl53065wi65n9r";
+    url = ftp://mirror.leaseweb.com/mysql/Downloads/MySQL-5.1/mysql-5.1.54.tar.gz;
+    sha256 = "07xbnwk7h1xya8s6dw34nrv7ampzag8l0l1szd2pc9zyqkzhydw4";
   };
 
   buildInputs = [ps ncurses zlib perl openssl];
diff --git a/pkgs/servers/x11/xorg/builder.sh b/pkgs/servers/x11/xorg/builder.sh
index 528042e3df98..c33d1806fd60 100644
--- a/pkgs/servers/x11/xorg/builder.sh
+++ b/pkgs/servers/x11/xorg/builder.sh
@@ -38,12 +38,15 @@ postInstall() {
 }
 
 
-installFlags="appdefaultdir=$out/share/X11/app-defaults"
+installFlags="appdefaultdir=$out/share/X11/app-defaults $installFlags"
 
 
 if test -n "$x11BuildHook"; then
     source $x11BuildHook
-fi   
+fi
+
+
+enableParallelBuilding=1
 
 
 genericBuild
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index a19cb8ee57d4..dd90aedc4e2d 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -11,58 +11,58 @@ let
     name = "applewmproto-1.4.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/applewmproto-1.4.1.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/applewmproto-1.4.1.tar.bz2;
       sha256 = "06fyixmx36qac2qqwmra3l9xr570rankm9kzmk0mgqyhgldrw1h8";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   bdftopcf = (stdenv.mkDerivation ((if overrides ? bdftopcf then overrides.bdftopcf else x: x) {
-    name = "bdftopcf-1.0.2";
+    name = "bdftopcf-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/bdftopcf-1.0.2.tar.bz2;
-      sha256 = "0sx09m677xjvq88sg4yq21y79zck47bvpzanpll35z9psq6py08i";
+      url = mirror://xorg/X11R7.6/src/everything/bdftopcf-1.0.3.tar.bz2;
+      sha256 = "02hx981f7jfwylxj21s91yvv4h597nqqzz3vd6ar81zyn84b944w";
     };
     buildInputs = [pkgconfig libXfont ];
   })) // {inherit libXfont ;};
     
   bigreqsproto = (stdenv.mkDerivation ((if overrides ? bigreqsproto then overrides.bigreqsproto else x: x) {
-    name = "bigreqsproto-1.1.0";
+    name = "bigreqsproto-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/bigreqsproto-1.1.0.tar.bz2;
-      sha256 = "1g8725413gz4lj4cc8svqvk4b4r9alj84127xslv16as7hny2r28";
+      url = mirror://xorg/X11R7.6/src/everything/bigreqsproto-1.1.1.tar.bz2;
+      sha256 = "16phzxa55lr749rghpaa699h1lcpndmw7izxzgl1bljq5f3qafqw";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   compositeproto = (stdenv.mkDerivation ((if overrides ? compositeproto then overrides.compositeproto else x: x) {
-    name = "compositeproto-0.4.1";
+    name = "compositeproto-0.4.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/compositeproto-0.4.1.tar.bz2;
-      sha256 = "1139c3nqrwx9fca3b4xrf07jdl31g25dbq5d7981c50yfdv4ax72";
+      url = mirror://xorg/X11R7.6/src/everything/compositeproto-0.4.2.tar.bz2;
+      sha256 = "1z0crmf669hirw4s7972mmp8xig80kfndja9h559haqbpvq5k4q4";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   damageproto = (stdenv.mkDerivation ((if overrides ? damageproto then overrides.damageproto else x: x) {
-    name = "damageproto-1.2.0";
+    name = "damageproto-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/damageproto-1.2.0.tar.bz2;
-      sha256 = "13zfd4qni9sw1ym8zd95sk2a39nh50rpwmsnzpbdksif19vm00m5";
+      url = mirror://xorg/X11R7.6/src/everything/damageproto-1.2.1.tar.bz2;
+      sha256 = "0nzwr5pv9hg7c21n995pdiv0zqhs91yz3r8rn3aska4ykcp12z2w";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   dmxproto = (stdenv.mkDerivation ((if overrides ? dmxproto then overrides.dmxproto else x: x) {
-    name = "dmxproto-2.3";
+    name = "dmxproto-2.3.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/dmxproto-2.3.tar.bz2;
-      sha256 = "1c03qkb7gj1fd84wz5c8kxanvmfpgx06r3j6i4s9wd8z7aj2r21s";
+      url = mirror://xorg/individual/proto/dmxproto-2.3.1.tar.bz2;
+      sha256 = "02b5x9dkgajizm8dqyx2w6hmqx3v25l67mgf35nj6sz0lgk52877";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
@@ -71,398 +71,398 @@ let
     name = "dri2proto-2.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/proto/dri2proto-2.3.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/dri2proto-2.3.tar.bz2;
       sha256 = "0xz6nf5rrn1fvply5mq7dd1w89r73mggylp9lpzzwdfvl291h55j";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   encodings = (stdenv.mkDerivation ((if overrides ? encodings then overrides.encodings else x: x) {
-    name = "encodings-1.0.3";
+    name = "encodings-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/encodings-1.0.3.tar.bz2;
-      sha256 = "0lqgp2rmygn0dhmjy658cyv6mq2g7a88z7srfb2mmq7b99npdn87";
+      url = mirror://xorg/X11R7.6/src/everything/encodings-1.0.4.tar.bz2;
+      sha256 = "0ffmaw80vmfwdgvdkp6495xgsqszb6s0iira5j0j6pd4i0lk3mnf";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   fixesproto = (stdenv.mkDerivation ((if overrides ? fixesproto then overrides.fixesproto else x: x) {
-    name = "fixesproto-4.1.1";
+    name = "fixesproto-4.1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/fixesproto-4.1.1.tar.bz2;
-      sha256 = "1vv4y5zjlh2x6vbxx1nj770aznrbb1amr57q8wwd1fylda8k4ap7";
+      url = mirror://xorg/X11R7.6/src/everything/fixesproto-4.1.2.tar.bz2;
+      sha256 = "0mzq8kh1v1w2mrl4y82qzgv8jzlr3n4jmss56h3r1h9knp6byk6y";
     };
     buildInputs = [pkgconfig xextproto ];
   })) // {inherit xextproto ;};
     
   fontadobe100dpi = (stdenv.mkDerivation ((if overrides ? fontadobe100dpi then overrides.fontadobe100dpi else x: x) {
-    name = "font-adobe-100dpi-1.0.2";
+    name = "font-adobe-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/font/font-adobe-100dpi-1.0.2.tar.bz2;
-      sha256 = "0xb767577698d9ribv4p4lgi7f8sjb8y6nvd357i5g23404nw0bi";
+      url = mirror://xorg/X11R7.6/src/everything/font-adobe-100dpi-1.0.3.tar.bz2;
+      sha256 = "0m60f5bd0caambrk8ksknb5dks7wzsg7g7xaf0j21jxmx8rq9h5j";
     };
     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.2";
+    name = "font-adobe-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/font/font-adobe-75dpi-1.0.2.tar.bz2;
-      sha256 = "1z8h2gq7r553lf1fphk3pya6g4n8rs5f00kffyqdy284j77wlj9d";
+      url = mirror://xorg/X11R7.6/src/everything/font-adobe-75dpi-1.0.3.tar.bz2;
+      sha256 = "02advcv9lyxpvrjv8bjh1b797lzg6jvhipclz49z8r8y98g4l0n6";
     };
     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.3";
+    name = "font-adobe-utopia-100dpi-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/font/font-adobe-utopia-100dpi-1.0.3.tar.bz2;
-      sha256 = "1b4cdjynwzrlsnqfi930gpvbs2mvjrawak801385pf0hfb9x2j70";
+      url = mirror://xorg/X11R7.6/src/everything/font-adobe-utopia-100dpi-1.0.4.tar.bz2;
+      sha256 = "19dd9znam1ah72jmdh7i6ny2ss2r6m21z9v0l43xvikw48zmwvyi";
     };
     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.3";
+    name = "font-adobe-utopia-75dpi-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/font/font-adobe-utopia-75dpi-1.0.3.tar.bz2;
-      sha256 = "1qs2jp6vw9j07qk38f0ambjd9g6d3ph4ichfgjjkaymmvd5bwk97";
+      url = mirror://xorg/X11R7.6/src/everything/font-adobe-utopia-75dpi-1.0.4.tar.bz2;
+      sha256 = "152wigpph5wvl4k9m3l4mchxxisgsnzlx033mn5iqrpkc6f72cl7";
     };
     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.3";
+    name = "font-adobe-utopia-type1-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/font/font-adobe-utopia-type1-1.0.3.tar.bz2;
-      sha256 = "1y8h0v15m3j0d83c3rp14bg5shx7kpg34vjaky8gvwndjdr4dyjh";
+      url = mirror://xorg/X11R7.6/src/everything/font-adobe-utopia-type1-1.0.4.tar.bz2;
+      sha256 = "0xw0pdnzj5jljsbbhakc6q9ha2qnca1jr81zk7w70yl9bw83b54p";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit mkfontdir mkfontscale ;};
     
   fontalias = (stdenv.mkDerivation ((if overrides ? fontalias then overrides.fontalias else x: x) {
-    name = "font-alias-1.0.2";
+    name = "font-alias-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-alias-1.0.2.tar.bz2;
-      sha256 = "0w42ndi73wiyrc9zj7g0syxnfq2x2cncjpchm5pdnpihz7rxd2s3";
+      url = mirror://xorg/X11R7.6/src/everything/font-alias-1.0.3.tar.bz2;
+      sha256 = "16ic8wfwwr3jicaml7b5a0sk6plcgc1kg84w02881yhwmqm3nicb";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   fontarabicmisc = (stdenv.mkDerivation ((if overrides ? fontarabicmisc then overrides.fontarabicmisc else x: x) {
-    name = "font-arabic-misc-1.0.1";
+    name = "font-arabic-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-arabic-misc-1.0.1.tar.bz2;
-      sha256 = "0q3gxbk4wcj1cpw1fhs66vf7ddar8fmkml47g8rlv127zmd31c7l";
+      url = mirror://xorg/X11R7.6/src/everything/font-arabic-misc-1.0.3.tar.bz2;
+      sha256 = "1x246dfnxnmflzf0qzy62k8jdpkb6jkgspcjgbk8jcq9lw99npah";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf mkfontdir ;};
     
   fontbh100dpi = (stdenv.mkDerivation ((if overrides ? fontbh100dpi then overrides.fontbh100dpi else x: x) {
-    name = "font-bh-100dpi-1.0.1";
+    name = "font-bh-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-bh-100dpi-1.0.1.tar.bz2;
-      sha256 = "15rk3k1w12pidz9373y388zqmbrmw13pmj2aydk35689gd46hvf4";
+      url = mirror://xorg/X11R7.6/src/everything/font-bh-100dpi-1.0.3.tar.bz2;
+      sha256 = "10cl4gm38dw68jzln99ijix730y7cbx8np096gmpjjwff1i73h13";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf fontutil mkfontdir ;};
     
   fontbh75dpi = (stdenv.mkDerivation ((if overrides ? fontbh75dpi then overrides.fontbh75dpi else x: x) {
-    name = "font-bh-75dpi-1.0.1";
+    name = "font-bh-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-bh-75dpi-1.0.1.tar.bz2;
-      sha256 = "0h4xnrbznb2vyy950h9iq0fyxgwpdkw5pb2l424g0sgifylpacca";
+      url = mirror://xorg/X11R7.6/src/everything/font-bh-75dpi-1.0.3.tar.bz2;
+      sha256 = "073jmhf0sr2j1l8da97pzsqj805f7mf9r2gy92j4diljmi8sm1il";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf fontutil mkfontdir ;};
     
   fontbhlucidatypewriter100dpi = (stdenv.mkDerivation ((if overrides ? fontbhlucidatypewriter100dpi then overrides.fontbhlucidatypewriter100dpi else x: x) {
-    name = "font-bh-lucidatypewriter-100dpi-1.0.1";
+    name = "font-bh-lucidatypewriter-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-bh-lucidatypewriter-100dpi-1.0.1.tar.bz2;
-      sha256 = "1acd04cd2ls7c1gihywa2hf67ijm7iz4q5c7q9wd9yx3wp2gfml1";
+      url = mirror://xorg/X11R7.6/src/everything/font-bh-lucidatypewriter-100dpi-1.0.3.tar.bz2;
+      sha256 = "1fqzckxdzjv4802iad2fdrkpaxl4w0hhs9lxlkyraq2kq9ik7a32";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf fontutil mkfontdir ;};
     
   fontbhlucidatypewriter75dpi = (stdenv.mkDerivation ((if overrides ? fontbhlucidatypewriter75dpi then overrides.fontbhlucidatypewriter75dpi else x: x) {
-    name = "font-bh-lucidatypewriter-75dpi-1.0.1";
+    name = "font-bh-lucidatypewriter-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-bh-lucidatypewriter-75dpi-1.0.1.tar.bz2;
-      sha256 = "0h9qxgb7v6i12qjyc98ry3ym52a602kkpsvycjb6r4f62icrrzr0";
+      url = mirror://xorg/X11R7.6/src/everything/font-bh-lucidatypewriter-75dpi-1.0.3.tar.bz2;
+      sha256 = "0cfbxdp5m12cm7jsh3my0lym9328cgm7fa9faz2hqj05wbxnmhaa";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf fontutil mkfontdir ;};
     
   fontbhttf = (stdenv.mkDerivation ((if overrides ? fontbhttf then overrides.fontbhttf else x: x) {
-    name = "font-bh-ttf-1.0.1";
+    name = "font-bh-ttf-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-bh-ttf-1.0.1.tar.bz2;
-      sha256 = "1j57lzrvnzhi56y7nzz4najymgvf093574czjh77zpy4ls22zrqw";
+      url = mirror://xorg/X11R7.6/src/everything/font-bh-ttf-1.0.3.tar.bz2;
+      sha256 = "0pyjmc0ha288d4i4j0si4dh3ncf3jiwwjljvddrb0k8v4xiyljqv";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit mkfontdir mkfontscale ;};
     
   fontbhtype1 = (stdenv.mkDerivation ((if overrides ? fontbhtype1 then overrides.fontbhtype1 else x: x) {
-    name = "font-bh-type1-1.0.1";
+    name = "font-bh-type1-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-bh-type1-1.0.1.tar.bz2;
-      sha256 = "0idvayiwbysvhmrm0870hpw0cy0hgadcfl0zhgrvmq6dqqk5yfys";
+      url = mirror://xorg/X11R7.6/src/everything/font-bh-type1-1.0.3.tar.bz2;
+      sha256 = "1hb3iav089albp4sdgnlh50k47cdjif9p4axm0kkjvs8jyi5a53n";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit mkfontdir mkfontscale ;};
     
   fontbitstream100dpi = (stdenv.mkDerivation ((if overrides ? fontbitstream100dpi then overrides.fontbitstream100dpi else x: x) {
-    name = "font-bitstream-100dpi-1.0.1";
+    name = "font-bitstream-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-bitstream-100dpi-1.0.1.tar.bz2;
-      sha256 = "0iq3kzabfvdssivhi4vmzhjan535ws48hxgc8rp0xh0d9nvwj19y";
+      url = mirror://xorg/X11R7.6/src/everything/font-bitstream-100dpi-1.0.3.tar.bz2;
+      sha256 = "1kmn9jbck3vghz6rj3bhc3h0w6gh0qiaqm90cjkqsz1x9r2dgq7b";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf mkfontdir ;};
     
   fontbitstream75dpi = (stdenv.mkDerivation ((if overrides ? fontbitstream75dpi then overrides.fontbitstream75dpi else x: x) {
-    name = "font-bitstream-75dpi-1.0.1";
+    name = "font-bitstream-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-bitstream-75dpi-1.0.1.tar.bz2;
-      sha256 = "0av66i14x3wj379jkgcjswawkis0imvr31v7wmkaa5qmqaqir7ng";
+      url = mirror://xorg/X11R7.6/src/everything/font-bitstream-75dpi-1.0.3.tar.bz2;
+      sha256 = "13plbifkvfvdfym6gjbgy9wx2xbdxi9hfrl1k22xayy02135wgxs";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf mkfontdir ;};
     
   fontbitstreamtype1 = (stdenv.mkDerivation ((if overrides ? fontbitstreamtype1 then overrides.fontbitstreamtype1 else x: x) {
-    name = "font-bitstream-type1-1.0.1";
+    name = "font-bitstream-type1-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-bitstream-type1-1.0.1.tar.bz2;
-      sha256 = "1aqkw51m69k8dlwj3cllnqnfjgvpy59vd8n140v1ah4isk0pq0ji";
+      url = mirror://xorg/X11R7.6/src/everything/font-bitstream-type1-1.0.3.tar.bz2;
+      sha256 = "1256z0jhcf5gbh1d03593qdwnag708rxqa032izmfb5dmmlhbsn6";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit mkfontdir mkfontscale ;};
     
   fontcronyxcyrillic = (stdenv.mkDerivation ((if overrides ? fontcronyxcyrillic then overrides.fontcronyxcyrillic else x: x) {
-    name = "font-cronyx-cyrillic-1.0.1";
+    name = "font-cronyx-cyrillic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-cronyx-cyrillic-1.0.1.tar.bz2;
-      sha256 = "08ilkby85m8pj2nn3hnfawmxzg8gq36fpw4g7r8i2cgyi913md7p";
+      url = mirror://xorg/X11R7.6/src/everything/font-cronyx-cyrillic-1.0.3.tar.bz2;
+      sha256 = "0ai1v4n61k8j9x2a1knvfbl2xjxk3xxmqaq3p9vpqrspc69k31kf";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf mkfontdir ;};
     
   fontcursormisc = (stdenv.mkDerivation ((if overrides ? fontcursormisc then overrides.fontcursormisc else x: x) {
-    name = "font-cursor-misc-1.0.1";
+    name = "font-cursor-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-cursor-misc-1.0.1.tar.bz2;
-      sha256 = "1cy1gl9xnkab8ddb1krxpisa2c4cr0h47flsir23b8za3f305vny";
+      url = mirror://xorg/X11R7.6/src/everything/font-cursor-misc-1.0.3.tar.bz2;
+      sha256 = "0dd6vfiagjc4zmvlskrbjz85jfqhf060cpys8j0y1qpcbsrkwdhp";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf mkfontdir ;};
     
   fontdaewoomisc = (stdenv.mkDerivation ((if overrides ? fontdaewoomisc then overrides.fontdaewoomisc else x: x) {
-    name = "font-daewoo-misc-1.0.1";
+    name = "font-daewoo-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-daewoo-misc-1.0.1.tar.bz2;
-      sha256 = "14g4wqymc0csnpc0qa0pjndl3wqid13ll2vgk1yfqvy6h113wa72";
+      url = mirror://xorg/X11R7.6/src/everything/font-daewoo-misc-1.0.3.tar.bz2;
+      sha256 = "1s2bbhizzgbbbn5wqs3vw53n619cclxksljvm759h9p1prqdwrdw";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf mkfontdir ;};
     
   fontdecmisc = (stdenv.mkDerivation ((if overrides ? fontdecmisc then overrides.fontdecmisc else x: x) {
-    name = "font-dec-misc-1.0.1";
+    name = "font-dec-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-dec-misc-1.0.1.tar.bz2;
-      sha256 = "0lk596dw3yk9wspqy167q72r76pwzph9v4rhx0vf41ywzm5dl87v";
+      url = mirror://xorg/X11R7.6/src/everything/font-dec-misc-1.0.3.tar.bz2;
+      sha256 = "0yzza0l4zwyy7accr1s8ab7fjqkpwggqydbm2vc19scdby5xz7g1";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf mkfontdir ;};
     
   fontibmtype1 = (stdenv.mkDerivation ((if overrides ? fontibmtype1 then overrides.fontibmtype1 else x: x) {
-    name = "font-ibm-type1-1.0.1";
+    name = "font-ibm-type1-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-ibm-type1-1.0.1.tar.bz2;
-      sha256 = "06f9dihdss70w3h3rdak1zwkr0gdnryfw2lnsi85rp8grjashzl8";
+      url = mirror://xorg/X11R7.6/src/everything/font-ibm-type1-1.0.3.tar.bz2;
+      sha256 = "1pyjll4adch3z5cg663s6vhi02k8m6488f0mrasg81ssvg9jinzx";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit mkfontdir mkfontscale ;};
     
   fontisasmisc = (stdenv.mkDerivation ((if overrides ? fontisasmisc then overrides.fontisasmisc else x: x) {
-    name = "font-isas-misc-1.0.1";
+    name = "font-isas-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-isas-misc-1.0.1.tar.bz2;
-      sha256 = "0yza5kqj89b81whkrdhficwryhzfgya4w5p8l33lvscixdlh9zjj";
+      url = mirror://xorg/X11R7.6/src/everything/font-isas-misc-1.0.3.tar.bz2;
+      sha256 = "0rx8q02rkx673a7skkpnvfkg28i8gmqzgf25s9yi0lar915sn92q";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf mkfontdir ;};
     
   fontjismisc = (stdenv.mkDerivation ((if overrides ? fontjismisc then overrides.fontjismisc else x: x) {
-    name = "font-jis-misc-1.0.1";
+    name = "font-jis-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-jis-misc-1.0.1.tar.bz2;
-      sha256 = "1kz8ajxsalxhkqbs9m1icwrqji0972f1knqljaa62nrr0k19hfx6";
+      url = mirror://xorg/X11R7.6/src/everything/font-jis-misc-1.0.3.tar.bz2;
+      sha256 = "0rdc3xdz12pnv951538q6wilx8mrdndpkphpbblszsv7nc8cw61b";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf mkfontdir ;};
     
   fontmicromisc = (stdenv.mkDerivation ((if overrides ? fontmicromisc then overrides.fontmicromisc else x: x) {
-    name = "font-micro-misc-1.0.1";
+    name = "font-micro-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-micro-misc-1.0.1.tar.bz2;
-      sha256 = "0awpwich27vhaccrqh6rg330yvfaab0d3jm6d0wzclxz73m8gfd5";
+      url = mirror://xorg/X11R7.6/src/everything/font-micro-misc-1.0.3.tar.bz2;
+      sha256 = "1dldxlh54zq1yzfnrh83j5vm0k4ijprrs5yl18gm3n9j1z0q2cws";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf mkfontdir ;};
     
   fontmisccyrillic = (stdenv.mkDerivation ((if overrides ? fontmisccyrillic then overrides.fontmisccyrillic else x: x) {
-    name = "font-misc-cyrillic-1.0.1";
+    name = "font-misc-cyrillic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-misc-cyrillic-1.0.1.tar.bz2;
-      sha256 = "0xdgv2ad4qq1dvp6cy99wmrynri267n8dzbjk5220n6rjgyzpyns";
+      url = mirror://xorg/X11R7.6/src/everything/font-misc-cyrillic-1.0.3.tar.bz2;
+      sha256 = "0q2ybxs8wvylvw95j6x9i800rismsmx4b587alwbfqiw6biy63z4";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf mkfontdir ;};
     
   fontmiscethiopic = (stdenv.mkDerivation ((if overrides ? fontmiscethiopic then overrides.fontmiscethiopic else x: x) {
-    name = "font-misc-ethiopic-1.0.1";
+    name = "font-misc-ethiopic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-misc-ethiopic-1.0.1.tar.bz2;
-      sha256 = "0j6rsf5nwgm8afvjr6c3ga5rnhpd2dqhwnczsyr4fh3c9fcklfxz";
+      url = mirror://xorg/X11R7.6/src/everything/font-misc-ethiopic-1.0.3.tar.bz2;
+      sha256 = "19cq7iq0pfad0nc2v28n681fdq3fcw1l1hzaq0wpkgpx7bc1zjsk";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit mkfontdir mkfontscale ;};
     
   fontmiscmeltho = (stdenv.mkDerivation ((if overrides ? fontmiscmeltho then overrides.fontmiscmeltho else x: x) {
-    name = "font-misc-meltho-1.0.1";
+    name = "font-misc-meltho-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-misc-meltho-1.0.1.tar.bz2;
-      sha256 = "0616v6pamg41q4yhm7wiaycky49hhkfwvabn8r89w64ayfhdfrjk";
+      url = mirror://xorg/X11R7.6/src/everything/font-misc-meltho-1.0.3.tar.bz2;
+      sha256 = "148793fqwzrc3bmh2vlw5fdiwjc2n7vs25cic35gfp452czk489p";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit mkfontdir mkfontscale ;};
     
   fontmiscmisc = (stdenv.mkDerivation ((if overrides ? fontmiscmisc then overrides.fontmiscmisc else x: x) {
-    name = "font-misc-misc-1.1.0";
+    name = "font-misc-misc-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-misc-misc-1.1.0.tar.bz2;
-      sha256 = "0ys9in88psmxsryci4pq5jj9208jlzamsmfdxw8rlcagp6555xsh";
+      url = mirror://xorg/X11R7.6/src/everything/font-misc-misc-1.1.2.tar.bz2;
+      sha256 = "150pq6n8n984fah34n3k133kggn9v0c5k07igv29sxp1wi07krxq";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf fontutil mkfontdir ;};
     
   fontmuttmisc = (stdenv.mkDerivation ((if overrides ? fontmuttmisc then overrides.fontmuttmisc else x: x) {
-    name = "font-mutt-misc-1.0.1";
+    name = "font-mutt-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-mutt-misc-1.0.1.tar.bz2;
-      sha256 = "09bfj00kaf31zncj5k2dm1in5ldp8pmrhrji9vprp16iyp5k7gvp";
+      url = mirror://xorg/X11R7.6/src/everything/font-mutt-misc-1.0.3.tar.bz2;
+      sha256 = "13qghgr1zzpv64m0p42195k1kc77pksiv059fdvijz1n6kdplpxx";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf mkfontdir ;};
     
   fontschumachermisc = (stdenv.mkDerivation ((if overrides ? fontschumachermisc then overrides.fontschumachermisc else x: x) {
-    name = "font-schumacher-misc-1.1.0";
+    name = "font-schumacher-misc-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-schumacher-misc-1.1.0.tar.bz2;
-      sha256 = "0k8vvssb2dyr9vwal493zkq7x1d0draffvh8wvjzwc1rnmgr20rh";
+      url = mirror://xorg/X11R7.6/src/everything/font-schumacher-misc-1.1.2.tar.bz2;
+      sha256 = "0nkym3n48b4v36y4s927bbkjnsmicajarnf6vlp7wxp0as304i74";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf fontutil mkfontdir ;};
     
   fontscreencyrillic = (stdenv.mkDerivation ((if overrides ? fontscreencyrillic then overrides.fontscreencyrillic else x: x) {
-    name = "font-screen-cyrillic-1.0.2";
+    name = "font-screen-cyrillic-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-screen-cyrillic-1.0.2.tar.bz2;
-      sha256 = "04dyzq73yq0278pk9ssbhb9ia518djgzj9ybi8snvw9zn4gqipf5";
+      url = mirror://xorg/X11R7.6/src/everything/font-screen-cyrillic-1.0.4.tar.bz2;
+      sha256 = "0yayf1qlv7irf58nngddz2f1q04qkpr5jwp4aja2j5gyvzl32hl2";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf mkfontdir ;};
     
   fontsonymisc = (stdenv.mkDerivation ((if overrides ? fontsonymisc then overrides.fontsonymisc else x: x) {
-    name = "font-sony-misc-1.0.1";
+    name = "font-sony-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-sony-misc-1.0.1.tar.bz2;
-      sha256 = "1jjnzhxzbk2x1byp77yddcni0myd73sxilqj75fkkkkl9j22d5fs";
+      url = mirror://xorg/X11R7.6/src/everything/font-sony-misc-1.0.3.tar.bz2;
+      sha256 = "1xfgcx4gsgik5mkgkca31fj3w72jw9iw76qyrajrsz1lp8ka6hr0";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf mkfontdir ;};
     
   fontsproto = (stdenv.mkDerivation ((if overrides ? fontsproto then overrides.fontsproto else x: x) {
-    name = "fontsproto-2.1.0";
+    name = "fontsproto-2.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/fontsproto-2.1.0.tar.bz2;
-      sha256 = "0dgb7b49h60wvrcpzax1i7wa03lpkl5f6jkfpb4qh90lr4fzd6js";
+      url = mirror://xorg/X11R7.6/src/everything/fontsproto-2.1.1.tar.bz2;
+      sha256 = "1g1rsvj0lb7744x6fj18d989ymf7zgry3v3fzipnnzljwa0vr6lw";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   fontsunmisc = (stdenv.mkDerivation ((if overrides ? fontsunmisc then overrides.fontsunmisc else x: x) {
-    name = "font-sun-misc-1.0.1";
+    name = "font-sun-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-sun-misc-1.0.1.tar.bz2;
-      sha256 = "02cxmssnri09iz2a673f38x3wj94yn96m55b69s1m5cgxbsj45a1";
+      url = mirror://xorg/X11R7.6/src/everything/font-sun-misc-1.0.3.tar.bz2;
+      sha256 = "1q6jcqrffg9q5f5raivzwx9ffvf7r11g6g0b125na1bhpz5ly7s8";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf mkfontdir ;};
     
   fontutil = (stdenv.mkDerivation ((if overrides ? fontutil then overrides.fontutil else x: x) {
-    name = "font-util-1.1.1";
+    name = "font-util-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-util-1.1.1.tar.bz2;
-      sha256 = "121gq3iiz0hydvcqfh88adrqkky3zs48irjwa31xfgvw1lxiwgx3";
+      url = mirror://xorg/X11R7.6/src/everything/font-util-1.2.0.tar.bz2;
+      sha256 = "04lp7xlrcqfyrsnvdgyqbanlnzr13lhn28v0kr2nzpvcmqbwdfnv";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   fontwinitzkicyrillic = (stdenv.mkDerivation ((if overrides ? fontwinitzkicyrillic then overrides.fontwinitzkicyrillic else x: x) {
-    name = "font-winitzki-cyrillic-1.0.1";
+    name = "font-winitzki-cyrillic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-winitzki-cyrillic-1.0.1.tar.bz2;
-      sha256 = "0ihlvf6rsd8hpdyp09zfisvp44sxdddpi3zbld1ya66vf2gw4mvw";
+      url = mirror://xorg/X11R7.6/src/everything/font-winitzki-cyrillic-1.0.3.tar.bz2;
+      sha256 = "181n1bgq8vxfxqicmy1jpm1hnr6gwn1kdhl6hr4frjigs1ikpldb";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf mkfontdir ;};
     
   fontxfree86type1 = (stdenv.mkDerivation ((if overrides ? fontxfree86type1 then overrides.fontxfree86type1 else x: x) {
-    name = "font-xfree86-type1-1.0.2";
+    name = "font-xfree86-type1-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/font-xfree86-type1-1.0.2.tar.bz2;
-      sha256 = "1k86ryqkhq3rrvsz5w7a28i9n5jv29hx6p5kq6r1k9p5mzm6l0ks";
+      url = mirror://xorg/X11R7.6/src/everything/font-xfree86-type1-1.0.4.tar.bz2;
+      sha256 = "0jp3zc0qfdaqfkgzrb44vi9vi0a8ygb35wp082yz7rvvxhmg9sya";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit mkfontdir mkfontscale ;};
@@ -478,51 +478,51 @@ let
   })) // {inherit ;};
     
   glproto = (stdenv.mkDerivation ((if overrides ? glproto then overrides.glproto else x: x) {
-    name = "glproto-1.4.11";
+    name = "glproto-1.4.12";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/proto/glproto-1.4.11.tar.bz2;
-      sha256 = "0lclh6fnz6k5xqbqarsvzx6sg7gjkprg27k7797xn0agsy4isj7y";
+      url = mirror://xorg/X11R7.6/src/everything/glproto-1.4.12.tar.bz2;
+      sha256 = "1pjpnj78hski4krvsbf55pkhhsrahvlb825dwl804q0b36fpmgj8";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   iceauth = (stdenv.mkDerivation ((if overrides ? iceauth then overrides.iceauth else x: x) {
-    name = "iceauth-1.0.3";
+    name = "iceauth-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/iceauth-1.0.3.tar.bz2;
-      sha256 = "07nq2y8py2hvp54dklvv9y8l6b76wlmfkw3llh02dnpjr7v3zjmb";
+      url = mirror://xorg/X11R7.6/src/everything/iceauth-1.0.4.tar.bz2;
+      sha256 = "13ck97rz53l490aba3xpgv4psgk4rywh1vi6slg1n4zhai2zvrhf";
     };
     buildInputs = [pkgconfig libICE xproto ];
   })) // {inherit libICE xproto ;};
     
   imake = (stdenv.mkDerivation ((if overrides ? imake then overrides.imake else x: x) {
-    name = "imake-1.0.3";
+    name = "imake-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/util/imake-1.0.3.tar.bz2;
-      sha256 = "1sjknp0g39r7ywp44drcrb8r92159a9nxgnjc90mjcksvm2540ch";
+      url = mirror://xorg/individual/util/imake-1.0.4.tar.bz2;
+      sha256 = "1zj6y59yip40hrdvvljjmnsfqddzxpxmbmd8842010rhkvq7zcmc";
     };
     buildInputs = [pkgconfig xproto ];
   })) // {inherit xproto ;};
     
   inputproto = (stdenv.mkDerivation ((if overrides ? inputproto then overrides.inputproto else x: x) {
-    name = "inputproto-2.0";
+    name = "inputproto-2.0.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/inputproto-2.0.tar.bz2;
-      sha256 = "1x0sx8ilw857r69ddfr94x66gf8x17284nd20c9hmclajbvmfbs7";
+      url = mirror://xorg/X11R7.6/src/everything/inputproto-2.0.1.tar.bz2;
+      sha256 = "0i2a28bnvv68i6z8qx09iw95c1wchqc2migx1s7764pqipc3srk3";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   kbproto = (stdenv.mkDerivation ((if overrides ? kbproto then overrides.kbproto else x: x) {
-    name = "kbproto-1.0.4";
+    name = "kbproto-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/kbproto-1.0.4.tar.bz2;
-      sha256 = "0g30x2jgabp3bx6h556f9777dk384xk45zfzh7mw7l0k2f9jkahv";
+      url = mirror://xorg/X11R7.6/src/everything/kbproto-1.0.5.tar.bz2;
+      sha256 = "17glym611bbkca371ihpcnx9ydp4asay4psqq267j00pbr94zfhf";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
@@ -531,38 +531,38 @@ let
     name = "libAppleWM-1.4.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libAppleWM-1.4.0.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/libAppleWM-1.4.0.tar.bz2;
       sha256 = "10hw7rvwc2b0v3v6mc6vaq8xs6vim4bg43rnhspf4p26mlb2dsf8";
     };
     buildInputs = [pkgconfig applewmproto libX11 libXext xextproto ];
   })) // {inherit applewmproto libX11 libXext xextproto ;};
     
   libFS = (stdenv.mkDerivation ((if overrides ? libFS then overrides.libFS else x: x) {
-    name = "libFS-1.0.2";
+    name = "libFS-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libFS-1.0.2.tar.bz2;
-      sha256 = "0j9hrqsn808zpr573p6vnpg17p3nk7ry7d6x1ghjdc52xbjmyamg";
+      url = mirror://xorg/X11R7.6/src/everything/libFS-1.0.3.tar.bz2;
+      sha256 = "0694iyc1rdz0fqnalgzpgzmxfaklrdk0jz769fsn1bv88mszjymb";
     };
     buildInputs = [pkgconfig fontsproto xproto xtrans ];
   })) // {inherit fontsproto xproto xtrans ;};
     
   libICE = (stdenv.mkDerivation ((if overrides ? libICE then overrides.libICE else x: x) {
-    name = "libICE-1.0.6";
+    name = "libICE-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libICE-1.0.6.tar.bz2;
-      sha256 = "12sn3d28figzmszcacbcv4v1k03jdp4g2ca5riza4ajxa1cnhd58";
+      url = mirror://xorg/X11R7.6/src/everything/libICE-1.0.7.tar.bz2;
+      sha256 = "00drapw7n793nqy23m76vxj5yzlgx7prmprkhzp3qiqs2lpnkcd8";
     };
     buildInputs = [pkgconfig xproto xtrans ];
   })) // {inherit xproto xtrans ;};
     
   libSM = (stdenv.mkDerivation ((if overrides ? libSM then overrides.libSM else x: x) {
-    name = "libSM-1.1.1";
+    name = "libSM-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libSM-1.1.1.tar.bz2;
-      sha256 = "1q3wmblw594vzylndcb20cdq3yjgzpy2xmghyhzin0vaii6ih3gm";
+      url = mirror://xorg/X11R7.6/src/everything/libSM-1.2.0.tar.bz2;
+      sha256 = "1jspgbd9g1d20kl18nnbzv37f1kpfybjff2xn08dmgv7f0dxzn0c";
     };
     buildInputs = [pkgconfig libICE libuuid xproto xtrans ];
   })) // {inherit libICE libuuid xproto xtrans ;};
@@ -571,28 +571,28 @@ let
     name = "libWindowsWM-1.0.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libWindowsWM-1.0.1.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/libWindowsWM-1.0.1.tar.bz2;
       sha256 = "1p0flwb67xawyv6yhri9w17m1i4lji5qnd0gq8v1vsfb8zw7rw15";
     };
     buildInputs = [pkgconfig windowswmproto libX11 libXext xextproto ];
   })) // {inherit windowswmproto libX11 libXext xextproto ;};
     
   libX11 = (stdenv.mkDerivation ((if overrides ? libX11 then overrides.libX11 else x: x) {
-    name = "libX11-1.3.4";
+    name = "libX11-1.4.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libX11-1.3.4.tar.bz2;
-      sha256 = "0i58i744fh9jp0wdyifc9ip5ahvanniyfzana0s15kgpwn627mw8";
+      url = mirror://xorg/individual/lib/libX11-1.4.1.tar.bz2;
+      sha256 = "1qiwyqaf9vfn52nwp7nxlbixld3r9jyzsarnkwk0ynk4k3vy1x3h";
     };
-    buildInputs = [pkgconfig bigreqsproto inputproto kbproto libXau libxcb xcmiscproto libXdmcp xextproto xf86bigfontproto xproto xtrans ];
-  })) // {inherit bigreqsproto inputproto kbproto libXau libxcb xcmiscproto libXdmcp xextproto xf86bigfontproto xproto xtrans ;};
+    buildInputs = [pkgconfig inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ];
+  })) // {inherit inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ;};
     
   libXScrnSaver = (stdenv.mkDerivation ((if overrides ? libXScrnSaver then overrides.libXScrnSaver else x: x) {
-    name = "libXScrnSaver-1.2.0";
+    name = "libXScrnSaver-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libXScrnSaver-1.2.0.tar.bz2;
-      sha256 = "11bz918c8c2r8m5y5rgm25f0xsq7l46g5rdx4r941dif1zn7n1jv";
+      url = mirror://xorg/X11R7.6/src/everything/libXScrnSaver-1.2.1.tar.bz2;
+      sha256 = "16i59gac2sixgi692w4lvq5cp8hkl6rc375bh0ib51gsyvi6cfnf";
     };
     buildInputs = [pkgconfig scrnsaverproto libX11 libXext xextproto ];
   })) // {inherit scrnsaverproto libX11 libXext xextproto ;};
@@ -601,38 +601,38 @@ let
     name = "libXau-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXau-1.0.6.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/libXau-1.0.6.tar.bz2;
       sha256 = "1z3h07wj2kg2hnzj4gd9pc3rkj4n0mfw6f9skg9w1hfwzrgl317f";
     };
     buildInputs = [pkgconfig xproto ];
   })) // {inherit xproto ;};
     
   libXaw = (stdenv.mkDerivation ((if overrides ? libXaw then overrides.libXaw else x: x) {
-    name = "libXaw-1.0.7";
+    name = "libXaw-1.0.9";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libXaw-1.0.7.tar.bz2;
-      sha256 = "0a7kqs23c3vwf2gibdm4xw8ylw7fqn0h72c01z4b31lmn3lsw2kl";
+      url = mirror://xorg/individual/lib/libXaw-1.0.9.tar.bz2;
+      sha256 = "0dxh5ldcmzl6afq0a9172ryah1341g0zysm8vk2lmqkqdda7ffd8";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto libXmu libXpm xproto libXt ];
   })) // {inherit libX11 libXext xextproto libXmu libXpm xproto libXt ;};
     
   libXcomposite = (stdenv.mkDerivation ((if overrides ? libXcomposite then overrides.libXcomposite else x: x) {
-    name = "libXcomposite-0.4.2";
+    name = "libXcomposite-0.4.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXcomposite-0.4.2.tar.bz2;
-      sha256 = "007qcqhp0dhvq2v7nkpz282rbwa6m9pmmpg4ypb30hv8yw5xwas4";
+      url = mirror://xorg/X11R7.6/src/everything/libXcomposite-0.4.3.tar.bz2;
+      sha256 = "1b8sniijb85v4my6v30ma9yqnwl4hkclci9l1hqxnipfyhl4sa9j";
     };
-    buildInputs = [pkgconfig compositeproto fixesproto libX11 libXext libXfixes xproto ];
-  })) // {inherit compositeproto fixesproto libX11 libXext libXfixes xproto ;};
+    buildInputs = [pkgconfig compositeproto libX11 libXfixes xproto ];
+  })) // {inherit compositeproto libX11 libXfixes xproto ;};
     
   libXcursor = (stdenv.mkDerivation ((if overrides ? libXcursor then overrides.libXcursor else x: x) {
-    name = "libXcursor-1.1.10";
+    name = "libXcursor-1.1.11";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libXcursor-1.1.10.tar.bz2;
-      sha256 = "1gbcwf5v108m96y9gpghjb3hv7chvibh1k3b9chc7wh34bv6si5r";
+      url = mirror://xorg/X11R7.6/src/everything/libXcursor-1.1.11.tar.bz2;
+      sha256 = "1zpn5dx66l5ql9qv0yz41qlbap4imkkvi0p6j2a6zh72g52zfvm0";
     };
     buildInputs = [pkgconfig fixesproto libX11 libXfixes xproto libXrender ];
   })) // {inherit fixesproto libX11 libXfixes xproto libXrender ;};
@@ -641,28 +641,28 @@ let
     name = "libXdamage-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXdamage-1.1.3.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/libXdamage-1.1.3.tar.bz2;
       sha256 = "1a678bwap74sqczbr2z4y4fvbr35km3inkm8bi1igjyk4v46jqdw";
     };
     buildInputs = [pkgconfig damageproto fixesproto libX11 xextproto libXfixes xproto ];
   })) // {inherit damageproto fixesproto libX11 xextproto libXfixes xproto ;};
     
   libXdmcp = (stdenv.mkDerivation ((if overrides ? libXdmcp then overrides.libXdmcp else x: x) {
-    name = "libXdmcp-1.0.3";
+    name = "libXdmcp-1.1.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libXdmcp-1.0.3.tar.bz2;
-      sha256 = "1jvqfcc7cng7qsdqxj1ivbki3id1kkb3mdqn9zgddzi0mqpkl0yq";
+      url = mirror://xorg/X11R7.6/src/everything/libXdmcp-1.1.0.tar.bz2;
+      sha256 = "0wh0q4ih9p3nsxsjjj9a3d03nhiyjggpl7gbavdzsfia36iyk85q";
     };
     buildInputs = [pkgconfig xproto ];
   })) // {inherit xproto ;};
     
   libXext = (stdenv.mkDerivation ((if overrides ? libXext then overrides.libXext else x: x) {
-    name = "libXext-1.1.2";
+    name = "libXext-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXext-1.1.2.tar.bz2;
-      sha256 = "0x2gzqrdzdzyrw8h9qz4ml8yyplb5ki78pvf17ibdjajkkv0ysmc";
+      url = mirror://xorg/X11R7.6/src/everything/libXext-1.2.0.tar.bz2;
+      sha256 = "1xvgvrbg9lc812zi44hsyr461hiiwy05alckq847ki213qhkxvaa";
     };
     buildInputs = [pkgconfig libX11 xextproto xproto ];
   })) // {inherit libX11 xextproto xproto ;};
@@ -671,88 +671,88 @@ let
     name = "libXfixes-4.0.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXfixes-4.0.5.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/libXfixes-4.0.5.tar.bz2;
       sha256 = "0x4drdxrslxf4vgcfyba0f0fbxg98c8x5dfrl7azakhf8qhd0v1f";
     };
     buildInputs = [pkgconfig fixesproto libX11 xextproto xproto ];
   })) // {inherit fixesproto libX11 xextproto xproto ;};
     
   libXfont = (stdenv.mkDerivation ((if overrides ? libXfont then overrides.libXfont else x: x) {
-    name = "libXfont-1.4.2";
+    name = "libXfont-1.4.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXfont-1.4.2.tar.bz2;
-      sha256 = "0ns99rhfz29y6bbc8slfaxjr132bb9x072vnhgv2kzfbk62mlpyh";
+      url = mirror://xorg/X11R7.6/src/everything/libXfont-1.4.3.tar.bz2;
+      sha256 = "1k79f8vcibd114ydndvna8axx39bsdaj351f16901lh155jlb4pp";
     };
     buildInputs = [pkgconfig libfontenc fontsproto freetype xproto xtrans zlib ];
   })) // {inherit libfontenc fontsproto freetype xproto xtrans zlib ;};
     
   libXft = (stdenv.mkDerivation ((if overrides ? libXft then overrides.libXft else x: x) {
-    name = "libXft-2.1.14";
+    name = "libXft-2.2.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libXft-2.1.14.tar.bz2;
-      sha256 = "0phpypmkj0dl9vq7wl0jr207gky4s37sbi7sspgx7jl19dcrs3kh";
+      url = mirror://xorg/X11R7.6/src/everything/libXft-2.2.0.tar.bz2;
+      sha256 = "1cprbz7xnxkb7axblw8sdaw9ibkngmz60d0ypk1drhd0dpjmls68";
     };
-    buildInputs = [pkgconfig fontconfig freetype libXrender ];
-  })) // {inherit fontconfig freetype libXrender ;};
+    buildInputs = [pkgconfig fontconfig freetype xproto libXrender ];
+  })) // {inherit fontconfig freetype xproto libXrender ;};
     
   libXi = (stdenv.mkDerivation ((if overrides ? libXi then overrides.libXi else x: x) {
-    name = "libXi-1.3";
+    name = "libXi-1.4.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libXi-1.3.tar.bz2;
-      sha256 = "0jwl19w8ry30v4wyar3fv9xbhzp3fbx1mq6p7c342s1qc068qarn";
+      url = mirror://xorg/individual/lib/libXi-1.4.1.tar.bz2;
+      sha256 = "19i92if8anv5pg2mwyy93jcllk1mgxx5gchi8zkjlk7r604ir7sr";
     };
     buildInputs = [pkgconfig inputproto libX11 libXext xextproto xproto ];
   })) // {inherit inputproto libX11 libXext xextproto xproto ;};
     
   libXinerama = (stdenv.mkDerivation ((if overrides ? libXinerama then overrides.libXinerama else x: x) {
-    name = "libXinerama-1.1";
+    name = "libXinerama-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libXinerama-1.1.tar.bz2;
-      sha256 = "0d5zf9ksbhmpmzk5iglkvwvxkf69cl0r3m4dr56b8cg1q9s9xlz0";
+      url = mirror://xorg/X11R7.6/src/everything/libXinerama-1.1.1.tar.bz2;
+      sha256 = "17vpsscracg1hza0avrczm9fc7xx3229qhicy101mw6cx2hb9qmv";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto xineramaproto ];
   })) // {inherit libX11 libXext xextproto xineramaproto ;};
     
   libXmu = (stdenv.mkDerivation ((if overrides ? libXmu then overrides.libXmu else x: x) {
-    name = "libXmu-1.0.5";
+    name = "libXmu-1.1.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libXmu-1.0.5.tar.bz2;
-      sha256 = "1mr6f4pqzzdpkqghp6jpb9grgc5z4w8hn0hqhjmcy68hxjqbd4h6";
+      url = mirror://xorg/X11R7.6/src/everything/libXmu-1.1.0.tar.bz2;
+      sha256 = "1b9nkml1mk8yi76bv23cikbfrd7hlp48h710yqgcrpkh7cq1za8g";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto xproto libXt ];
   })) // {inherit libX11 libXext xextproto xproto libXt ;};
     
   libXp = (stdenv.mkDerivation ((if overrides ? libXp then overrides.libXp else x: x) {
-    name = "libXp-1.0.0";
+    name = "libXp-1.0.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXp-1.0.0.tar.bz2;
-      sha256 = "1blwrr5zhmwwy87j0svmhv3hc13acyn5j14n5rv0anz81iav2r3y";
+      url = mirror://xorg/individual/lib/libXp-1.0.1.tar.bz2;
+      sha256 = "1lj3cjg9ygbmclxvayy5v88kkndpy9jq6y68p13dc5jn01hg5lbi";
     };
     buildInputs = [pkgconfig printproto libX11 libXau libXext xextproto ];
   })) // {inherit printproto libX11 libXau libXext xextproto ;};
     
   libXpm = (stdenv.mkDerivation ((if overrides ? libXpm then overrides.libXpm else x: x) {
-    name = "libXpm-3.5.8";
+    name = "libXpm-3.5.9";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libXpm-3.5.8.tar.bz2;
-      sha256 = "0k1cajiw7ijzphrysr2d4yc5s10822nvkbh4xvhkbqz66am7m9q2";
+      url = mirror://xorg/X11R7.6/src/everything/libXpm-3.5.9.tar.bz2;
+      sha256 = "07k2zpiadck1p986pgksfm5zfdm6h5vjy6p0hv59h1dbkh103pca";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto xproto libXt ];
   })) // {inherit libX11 libXext xextproto xproto libXt ;};
     
   libXrandr = (stdenv.mkDerivation ((if overrides ? libXrandr then overrides.libXrandr else x: x) {
-    name = "libXrandr-1.3.0";
+    name = "libXrandr-1.3.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libXrandr-1.3.0.tar.bz2;
-      sha256 = "0y1fh1jf199kdkx7yl8h9azz468pq2d6dvdk1213l5y5fw7wwqar";
+      url = mirror://xorg/X11R7.6/src/everything/libXrandr-1.3.1.tar.bz2;
+      sha256 = "0qf6aywqk2mgd5hw0nr24xxp5k015aa11sax5yycn14wch4agfv2";
     };
     buildInputs = [pkgconfig randrproto renderproto libX11 libXext xextproto xproto libXrender ];
   })) // {inherit randrproto renderproto libX11 libXext xextproto xproto libXrender ;};
@@ -761,118 +761,118 @@ let
     name = "libXrender-0.9.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXrender-0.9.6.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/libXrender-0.9.6.tar.bz2;
       sha256 = "0s567qgys8m6782lbrpvpscm8fkk2jm2717g7s3hm7hhcgib2n3z";
     };
     buildInputs = [pkgconfig renderproto libX11 xproto ];
   })) // {inherit renderproto libX11 xproto ;};
     
   libXres = (stdenv.mkDerivation ((if overrides ? libXres then overrides.libXres else x: x) {
-    name = "libXres-1.0.4";
+    name = "libXres-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libXres-1.0.4.tar.bz2;
-      sha256 = "1pvjfn3mczr788x4nh877f911w63abx7z29gng7ri1zgf1x5czs5";
+      url = mirror://xorg/X11R7.6/src/everything/libXres-1.0.5.tar.bz2;
+      sha256 = "0nd032jn3im6ar71xm1wgcmb4pa76c73nl8lavdkih609d30y2x0";
     };
     buildInputs = [pkgconfig resourceproto libX11 libXext xextproto xproto ];
   })) // {inherit resourceproto libX11 libXext xextproto xproto ;};
     
   libXt = (stdenv.mkDerivation ((if overrides ? libXt then overrides.libXt else x: x) {
-    name = "libXt-1.0.8";
+    name = "libXt-1.0.9";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXt-1.0.8.tar.bz2;
-      sha256 = "0z03nbb0lhxshpnyx2nl9kw0n3civjkag1mfiqf82qc64n0jrxbh";
+      url = mirror://xorg/X11R7.6/src/everything/libXt-1.0.9.tar.bz2;
+      sha256 = "00bbms32fkzrxhdm9kybb2404ad6f3d6v4qgl83py7w09dcipfga";
     };
     buildInputs = [pkgconfig libICE kbproto libSM libX11 xproto ];
   })) // {inherit libICE kbproto libSM libX11 xproto ;};
     
   libXtst = (stdenv.mkDerivation ((if overrides ? libXtst then overrides.libXtst else x: x) {
-    name = "libXtst-1.1.0";
+    name = "libXtst-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libXtst-1.1.0.tar.bz2;
-      sha256 = "09pblj4h8i6fdl553lsgn511vgygl6jq4dx83chmfsg0g53hyi5x";
+      url = mirror://xorg/X11R7.6/src/everything/libXtst-1.2.0.tar.bz2;
+      sha256 = "022lx3c57pkkw11j2k5s1f5idf53li5qg291766bvxi1nl90jbks";
     };
     buildInputs = [pkgconfig inputproto recordproto libX11 libXext xextproto libXi ];
   })) // {inherit inputproto recordproto libX11 libXext xextproto libXi ;};
     
   libXv = (stdenv.mkDerivation ((if overrides ? libXv then overrides.libXv else x: x) {
-    name = "libXv-1.0.5";
+    name = "libXv-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libXv-1.0.5.tar.bz2;
-      sha256 = "0430v78igg9hgkf5alj3sb20i7xg88if3pl5r9ybkvzy4bgsyjfm";
+      url = mirror://xorg/X11R7.6/src/everything/libXv-1.0.6.tar.bz2;
+      sha256 = "1vpmr9wnbz990ivarsp5rcmdg483fd2nk695plzlzx5h9dcqw3z2";
     };
     buildInputs = [pkgconfig videoproto libX11 libXext xextproto xproto ];
   })) // {inherit videoproto libX11 libXext xextproto xproto ;};
     
   libXvMC = (stdenv.mkDerivation ((if overrides ? libXvMC then overrides.libXvMC else x: x) {
-    name = "libXvMC-1.0.5";
+    name = "libXvMC-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libXvMC-1.0.5.tar.bz2;
-      sha256 = "0zyyiwrfx303lfcb8av4apbql2r2w34rzc0czq7ayhw3s9lcfi06";
+      url = mirror://xorg/X11R7.6/src/everything/libXvMC-1.0.6.tar.bz2;
+      sha256 = "14ik1kgpnds213dsa16i8cf5qg3hc7vccy9jz4a4ml8zqzlq1nix";
     };
     buildInputs = [pkgconfig videoproto libX11 libXext xextproto xproto libXv ];
   })) // {inherit videoproto libX11 libXext xextproto xproto libXv ;};
     
   libXxf86dga = (stdenv.mkDerivation ((if overrides ? libXxf86dga then overrides.libXxf86dga else x: x) {
-    name = "libXxf86dga-1.1.1";
+    name = "libXxf86dga-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libXxf86dga-1.1.1.tar.bz2;
-      sha256 = "05jnvsl70c1dgvkldrgaqsjq72ar0papprx346w5rwfgbs4zhdwd";
+      url = mirror://xorg/X11R7.6/src/everything/libXxf86dga-1.1.2.tar.bz2;
+      sha256 = "01jsc0jg7mjngfbh3j942595pwbyxf2m9kljy3zb6gyfcbsm59hv";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto xf86dgaproto xproto ];
   })) // {inherit libX11 libXext xextproto xf86dgaproto xproto ;};
     
   libXxf86misc = (stdenv.mkDerivation ((if overrides ? libXxf86misc then overrides.libXxf86misc else x: x) {
-    name = "libXxf86misc-1.0.2";
+    name = "libXxf86misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXxf86misc-1.0.2.tar.bz2;
-      sha256 = "1cvwjl4f83ic97j9da95x2a7gd0hw5vnv1pxn49d3z1lpyqvcr4f";
+      url = mirror://xorg/individual/lib/libXxf86misc-1.0.3.tar.bz2;
+      sha256 = "0nvbq9y6k6m9hxdvg3crycqsnnxf1859wrisqcs37z9fhq044gsn";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto xf86miscproto xproto ];
   })) // {inherit libX11 libXext xextproto xf86miscproto xproto ;};
     
   libXxf86vm = (stdenv.mkDerivation ((if overrides ? libXxf86vm then overrides.libXxf86vm else x: x) {
-    name = "libXxf86vm-1.1.0";
+    name = "libXxf86vm-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libXxf86vm-1.1.0.tar.bz2;
-      sha256 = "1s4dhgl879hkfys28gl3rflas4ci48kiyx359rzjdi9pndvybibw";
+      url = mirror://xorg/X11R7.6/src/everything/libXxf86vm-1.1.1.tar.bz2;
+      sha256 = "17i342h7a2nqfz4lpk8cay0vc0h4i7nxdc6xli9r7mggk8iykji1";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto xf86vidmodeproto xproto ];
   })) // {inherit libX11 libXext xextproto xf86vidmodeproto xproto ;};
     
   libdmx = (stdenv.mkDerivation ((if overrides ? libdmx then overrides.libdmx else x: x) {
-    name = "libdmx-1.1.0";
+    name = "libdmx-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libdmx-1.1.0.tar.bz2;
-      sha256 = "1mg2sd8xlwcz6lysdc3zld05a2fa1a4hfxxhbh87cpfc93wah10r";
+      url = mirror://xorg/X11R7.6/src/everything/libdmx-1.1.1.tar.bz2;
+      sha256 = "066yndshwq2nzkd0z0w96wq37rnhb23s6vq50bg4kiqb8y3nxpm6";
     };
     buildInputs = [pkgconfig dmxproto libX11 libXext xextproto ];
   })) // {inherit dmxproto libX11 libXext xextproto ;};
     
   libfontenc = (stdenv.mkDerivation ((if overrides ? libfontenc then overrides.libfontenc else x: x) {
-    name = "libfontenc-1.0.5";
+    name = "libfontenc-1.1.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libfontenc-1.0.5.tar.bz2;
-      sha256 = "001749s6whw04fv0426zk48p0wqn29g2ba5i42kkvbg9641xwg3z";
+      url = mirror://xorg/X11R7.6/src/everything/libfontenc-1.1.0.tar.bz2;
+      sha256 = "1gww1cbi17q15lh2ws6qzspp807issbyk5wlzjmgw6pn880ip2il";
     };
     buildInputs = [pkgconfig xproto zlib ];
   })) // {inherit xproto zlib ;};
     
   libpciaccess = (stdenv.mkDerivation ((if overrides ? libpciaccess then overrides.libpciaccess else x: x) {
-    name = "libpciaccess-0.12.0";
+    name = "libpciaccess-0.12.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libpciaccess-0.12.0.tar.bz2;
-      sha256 = "0msnx3mcbqgghjscq3z1nh894k71k3bx659iaqlhgaqa3h7c1czn";
+      url = mirror://xorg/individual/lib/libpciaccess-0.12.1.tar.bz2;
+      sha256 = "0i3kdmvl1mcjrkhklpli45sqsy4pvipm6swifbcyxx4cwkqdfiyc";
     };
     buildInputs = [pkgconfig zlib ];
   })) // {inherit zlib ;};
@@ -881,218 +881,208 @@ let
     name = "libpthread-stubs-0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = http://xcb.freedesktop.org/dist/libpthread-stubs-0.3.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/libpthread-stubs-0.3.tar.bz2;
       sha256 = "16bjv3in19l84hbri41iayvvg4ls9gv1ma0x0qlbmwy67i7dbdim";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   libxcb = (stdenv.mkDerivation ((if overrides ? libxcb then overrides.libxcb else x: x) {
-    name = "libxcb-1.6";
+    name = "libxcb-1.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = http://xcb.freedesktop.org/dist/libxcb-1.6.tar.bz2;
-      sha256 = "0di9mm6d8wmscgfaw6sfa8znrk522y8dnl4xhy87wqx4fhbwirhs";
+      url = mirror://xorg/X11R7.6/src/everything/libxcb-1.7.tar.bz2;
+      sha256 = "1pr40wa3i1f0iwx83c8alcycy9sfzd2y1qlc63kr8q56w8sxqxp7";
     };
     buildInputs = [pkgconfig libxslt libpthreadstubs python libXau xcbproto libXdmcp ];
   })) // {inherit libxslt libpthreadstubs python libXau xcbproto libXdmcp ;};
     
   libxkbfile = (stdenv.mkDerivation ((if overrides ? libxkbfile then overrides.libxkbfile else x: x) {
-    name = "libxkbfile-1.0.6";
+    name = "libxkbfile-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/libxkbfile-1.0.6.tar.bz2;
-      sha256 = "0fb0l221m5fsifydrih3fg6ndlsrm0d4fa53cx0rk0i7dcgkr91c";
+      url = mirror://xorg/X11R7.6/src/everything/libxkbfile-1.0.7.tar.bz2;
+      sha256 = "1r9a1xnn57431hfp1am2r5h23pa1zh646482li3vd5ivfc53fzk6";
     };
     buildInputs = [pkgconfig kbproto libX11 ];
   })) // {inherit kbproto libX11 ;};
     
   lndir = (stdenv.mkDerivation ((if overrides ? lndir then overrides.lndir else x: x) {
-    name = "lndir-1.0.1";
+    name = "lndir-1.0.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/util/lndir-1.0.1.tar.bz2;
-      sha256 = "0a84q8m3x8qbyrhx7r2k7wmhdb5588vcb1r21ifkx8yaaw1360fk";
+      url = mirror://xorg/individual/util/lndir-1.0.2.tar.bz2;
+      sha256 = "1d988z0ywy2k53s7i43ff0j5qac1cpy9j0gjwmiprq66w8rh24z5";
     };
     buildInputs = [pkgconfig xproto ];
   })) // {inherit xproto ;};
     
   luit = (stdenv.mkDerivation ((if overrides ? luit then overrides.luit else x: x) {
-    name = "luit-1.0.4";
+    name = "luit-1.1.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/luit-1.0.4.tar.bz2;
-      sha256 = "0ll2rcg65h0gd18jkj56kbp9j7816j0cnycxz1h20razjw0da76i";
+      url = mirror://xorg/X11R7.6/src/everything/luit-1.1.0.tar.bz2;
+      sha256 = "1l83b5yknh4svqzwsppvmm2q9l0mvsfwm16ik7q3yss8m5zgvypi";
     };
-    buildInputs = [pkgconfig libfontenc libX11 zlib ];
-  })) // {inherit libfontenc libX11 zlib ;};
+    buildInputs = [pkgconfig libfontenc zlib ];
+  })) // {inherit libfontenc zlib ;};
     
   makedepend = (stdenv.mkDerivation ((if overrides ? makedepend then overrides.makedepend else x: x) {
-    name = "makedepend-1.0.2";
+    name = "makedepend-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/makedepend-1.0.2.tar.bz2;
-      sha256 = "0mvnjrx161wrzn602c3fd012fixsi8j74dvqahk5nz1dlf8b18j1";
+      url = mirror://xorg/X11R7.6/src/everything/makedepend-1.0.3.tar.bz2;
+      sha256 = "0dxpz376bvphjg8q0nqrcf4y0dbni0c6jj5y16qymr37wlq1s99s";
     };
     buildInputs = [pkgconfig xproto ];
   })) // {inherit xproto ;};
     
   mkfontdir = (stdenv.mkDerivation ((if overrides ? mkfontdir then overrides.mkfontdir else x: x) {
-    name = "mkfontdir-1.0.5";
+    name = "mkfontdir-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/mkfontdir-1.0.5.tar.bz2;
-      sha256 = "02rd3b8gp3dxfws2fff07fcxm0z2rlbdhxqm23wijdjhzw66ad55";
+      url = mirror://xorg/X11R7.6/src/everything/mkfontdir-1.0.6.tar.bz2;
+      sha256 = "0nf8p0zsndd9qmrw70h2wdq7sz6j066q73lpp262dlpq21inrmam";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   mkfontscale = (stdenv.mkDerivation ((if overrides ? mkfontscale then overrides.mkfontscale else x: x) {
-    name = "mkfontscale-1.0.7";
+    name = "mkfontscale-1.0.8";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/mkfontscale-1.0.7.tar.bz2;
-      sha256 = "09vivvbw6hbx7n1aq4k4gp23g3pp1bv1zjw2cmm22cx2rhlv41l3";
+      url = mirror://xorg/X11R7.6/src/everything/mkfontscale-1.0.8.tar.bz2;
+      sha256 = "1yah41gr5hlihbjm5l1kykdqj1p5rx6y4vrqraxbzvkrrn37gdbf";
     };
     buildInputs = [pkgconfig libfontenc freetype xproto zlib ];
   })) // {inherit libfontenc freetype xproto zlib ;};
     
   pixman = (stdenv.mkDerivation ((if overrides ? pixman then overrides.pixman else x: x) {
-    name = "pixman-0.18.2";
+    name = "pixman-0.20.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/pixman-0.18.2.tar.bz2;
-      sha256 = "08rr88cy33k427vyxryxa9yssfy6j9s9m1vcvqmjl2949qv63818";
+      url = mirror://xorg/individual/lib/pixman-0.20.2.tar.bz2;
+      sha256 = "1agl6f63y2wiqr6n9slzhisnilcg8byafp2l8wmw713bk8k6yc9h";
     };
     buildInputs = [pkgconfig perl ];
   })) // {inherit perl ;};
     
-  pixman_0_20_0 = (stdenv.mkDerivation ((if overrides ? pixman then overrides.pixman else x: x) {
-    name = "pixman-0.20.0";
-    builder = ./builder.sh;
-    src = fetchurl {
-      url = mirror://xorg/individual/lib/pixman-0.20.0.tar.bz2;
-      sha256 = "1dc804v98222n5awx1x1inwwdp6p7yksiw5yr8jip2pk3fbak627";
-    };
-    buildInputs = [pkgconfig perl ];
-  })) // {inherit perl ;};
-
   printproto = (stdenv.mkDerivation ((if overrides ? printproto then overrides.printproto else x: x) {
-    name = "printproto-1.0.4";
+    name = "printproto-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/proto/printproto-1.0.4.tar.bz2;
-      sha256 = "1gnkpz8iyl27gyjvy8rhm9v6g5qvz3632pn5djxks577i0qsjngh";
+      url = mirror://xorg/individual/proto/printproto-1.0.5.tar.bz2;
+      sha256 = "06liap8n4s25sgp27d371cc7yg9a08dxcr3pmdjp761vyin3360j";
     };
     buildInputs = [pkgconfig libXau ];
   })) // {inherit libXau ;};
     
   randrproto = (stdenv.mkDerivation ((if overrides ? randrproto then overrides.randrproto else x: x) {
-    name = "randrproto-1.3.1";
+    name = "randrproto-1.3.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/randrproto-1.3.1.tar.bz2;
-      sha256 = "1jl5k46lq4p1jv4mfdpj8zp4m79wzfnyxq97dbd4a2kimv0a6g6r";
+      url = mirror://xorg/X11R7.6/src/everything/randrproto-1.3.2.tar.bz2;
+      sha256 = "0wfwcq85wbm0g5r0snc7prgki1wi3kxrxhcxinyr54n45ihh03fr";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   recordproto = (stdenv.mkDerivation ((if overrides ? recordproto then overrides.recordproto else x: x) {
-    name = "recordproto-1.14";
+    name = "recordproto-1.14.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/recordproto-1.14.tar.bz2;
-      sha256 = "0ryhd6g2h7bg7vzf7dvfgf3n2bbscpqhr9x01alkxamxs9dkglhv";
+      url = mirror://xorg/X11R7.6/src/everything/recordproto-1.14.1.tar.bz2;
+      sha256 = "1389fc3r8h8xqix11y9ngw7a13i1mvw68jkhicgvq676sd1v0zmj";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   renderproto = (stdenv.mkDerivation ((if overrides ? renderproto then overrides.renderproto else x: x) {
-    name = "renderproto-0.11";
+    name = "renderproto-0.11.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/renderproto-0.11.tar.bz2;
-      sha256 = "1hpzxlmk4hylriqx10h9ixq64ksk3lbhr2cli8r9mvdnn3cxdlf4";
+      url = mirror://xorg/X11R7.6/src/everything/renderproto-0.11.1.tar.bz2;
+      sha256 = "0dr5xw6s0qmqg0q5pdkb4jkdhaja0vbfqla79qh5j1xjj9dmlwq6";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   resourceproto = (stdenv.mkDerivation ((if overrides ? resourceproto then overrides.resourceproto else x: x) {
-    name = "resourceproto-1.1.0";
+    name = "resourceproto-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/resourceproto-1.1.0.tar.bz2;
-      sha256 = "0sxk97siq4qkm4r0q6c4fdb7glbasbbx1lj4p0dis574cyq9m3a0";
+      url = mirror://xorg/X11R7.6/src/everything/resourceproto-1.1.1.tar.bz2;
+      sha256 = "1imqlkvn4mfjsflwvqx8dj0n7i7frdpzkdafq001r25ak6782yc5";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   scrnsaverproto = (stdenv.mkDerivation ((if overrides ? scrnsaverproto then overrides.scrnsaverproto else x: x) {
-    name = "scrnsaverproto-1.2.0";
+    name = "scrnsaverproto-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/scrnsaverproto-1.2.0.tar.bz2;
-      sha256 = "16adwjq9cnf15a4gv87c0s1kkwm1w1k3lg1s6nmhszk128r0mbyy";
+      url = mirror://xorg/X11R7.6/src/everything/scrnsaverproto-1.2.1.tar.bz2;
+      sha256 = "1w94c1an7cy9v68289xbqszaj6g5qx5a29qx67fwsvqkmhygglps";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   sessreg = (stdenv.mkDerivation ((if overrides ? sessreg then overrides.sessreg else x: x) {
-    name = "sessreg-1.0.5";
+    name = "sessreg-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/sessreg-1.0.5.tar.bz2;
-      sha256 = "1afir60wikx4xx0d5mbk01s5p5l4wk6y37gfiy0vnlwd078gn21k";
+      url = mirror://xorg/X11R7.6/src/everything/sessreg-1.0.6.tar.bz2;
+      sha256 = "143ivrs2pbkid4wr1hri9221z4gi9dlkq7x60jarcz9bhiq1dwvk";
     };
     buildInputs = [pkgconfig xproto ];
   })) // {inherit xproto ;};
     
   setxkbmap = (stdenv.mkDerivation ((if overrides ? setxkbmap then overrides.setxkbmap else x: x) {
-    name = "setxkbmap-1.1.0";
+    name = "setxkbmap-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/setxkbmap-1.1.0.tar.bz2;
-      sha256 = "0r5g9wyyywp90hclhvqkiq6nbgrs0wrwcqvds76dzxjb98qjnbwk";
+      url = mirror://xorg/X11R7.6/src/everything/setxkbmap-1.2.0.tar.bz2;
+      sha256 = "0fdfvc0fqdp11ly5iywrsi4w7rln4dq02b0b91yjmjm83fzr35cr";
     };
     buildInputs = [pkgconfig libX11 libxkbfile ];
   })) // {inherit libX11 libxkbfile ;};
     
   smproxy = (stdenv.mkDerivation ((if overrides ? smproxy then overrides.smproxy else x: x) {
-    name = "smproxy-1.0.3";
+    name = "smproxy-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/smproxy-1.0.3.tar.bz2;
-      sha256 = "0ddfsh2mf938xvac6179cnf8n8n47njb8xyrlyjc43r8hdad538v";
+      url = mirror://xorg/X11R7.6/src/everything/smproxy-1.0.4.tar.bz2;
+      sha256 = "0wj4z4ars9j4k5pysl42jpx4zclrz3ifwgqxrcdlmb3l5xvyb4ip";
     };
-    buildInputs = [pkgconfig libXmu libXt ];
-  })) // {inherit libXmu libXt ;};
+    buildInputs = [pkgconfig libSM libXmu libXt ];
+  })) // {inherit libSM libXmu libXt ;};
     
   twm = (stdenv.mkDerivation ((if overrides ? twm then overrides.twm else x: x) {
-    name = "twm-1.0.4";
+    name = "twm-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/twm-1.0.4.tar.bz2;
-      sha256 = "1yp1inyglf818pp4rjh250zva4i2jip79m3vkf90h593mvwqi86s";
+      url = mirror://xorg/individual/app/twm-1.0.6.tar.bz2;
+      sha256 = "1scly9kv3kx8zh8bfljsdd32dsb4j05xzn8c5x270xcshzbwmp77";
     };
     buildInputs = [pkgconfig libICE libSM libX11 libXext libXmu libXt ];
   })) // {inherit libICE libSM libX11 libXext libXmu libXt ;};
     
   utilmacros = (stdenv.mkDerivation ((if overrides ? utilmacros then overrides.utilmacros else x: x) {
-    name = "util-macros-1.10.0";
+    name = "util-macros-1.11.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/util/util-macros-1.10.0.tar.bz2;
-      sha256 = "0a8in00qqyksij66wgk1m1cp6n4lii88a0c6g1s7cqshwp5b6lmr";
+      url = mirror://xorg/X11R7.6/src/everything/util-macros-1.11.0.tar.bz2;
+      sha256 = "1kya7z5rad93zmc0ij7jhl3shh1k37szmjg1rv75lizqlib4slz8";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   videoproto = (stdenv.mkDerivation ((if overrides ? videoproto then overrides.videoproto else x: x) {
-    name = "videoproto-2.3.0";
+    name = "videoproto-2.3.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/videoproto-2.3.0.tar.bz2;
-      sha256 = "0pq46hgnrx459v7rlskzk50qi7llk358j9csbbrxcq0vb97cjasg";
+      url = mirror://xorg/X11R7.6/src/everything/videoproto-2.3.1.tar.bz2;
+      sha256 = "0nk3i6gwkqq1w8zwn7bxz344pi1dwcjrmf6hr330h7hxjcj6viry";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
@@ -1101,48 +1091,48 @@ let
     name = "windowswmproto-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/windowswmproto-1.0.4.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/windowswmproto-1.0.4.tar.bz2;
       sha256 = "0syjxgy4m8l94qrm03nvn5k6bkxc8knnlld1gbllym97nvnv0ny0";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   x11perf = (stdenv.mkDerivation ((if overrides ? x11perf then overrides.x11perf else x: x) {
-    name = "x11perf-1.5.1";
+    name = "x11perf-1.5.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/x11perf-1.5.1.tar.bz2;
-      sha256 = "0mkhzxvjn9n5ax013wj3lz7jmlm07l57ds2vxy2r9ylkkxbnlk5b";
+      url = mirror://xorg/individual/app/x11perf-1.5.3.tar.bz2;
+      sha256 = "1g91ksfrvj59hvxvfj1xb730aqscg5wdnc3grrab1wz7mxap6k9r";
     };
     buildInputs = [pkgconfig libX11 libXext libXft libXmu libXrender ];
   })) // {inherit libX11 libXext libXft libXmu libXrender ;};
     
   xauth = (stdenv.mkDerivation ((if overrides ? xauth then overrides.xauth else x: x) {
-    name = "xauth-1.0.4";
+    name = "xauth-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xauth-1.0.4.tar.bz2;
-      sha256 = "0nba0xg19y124cswy37ds5dmxfw4avd303xhhq5jf65vp34904gr";
+      url = mirror://xorg/X11R7.6/src/everything/xauth-1.0.5.tar.bz2;
+      sha256 = "0v3lmm3qil8shgm7731pl0wd32kpq7w73w5d4mjq1bqxzw09a4vd";
     };
     buildInputs = [pkgconfig libX11 libXau libXext libXmu ];
   })) // {inherit libX11 libXau libXext libXmu ;};
     
   xbacklight = (stdenv.mkDerivation ((if overrides ? xbacklight then overrides.xbacklight else x: x) {
-    name = "xbacklight-1.1.1";
+    name = "xbacklight-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xbacklight-1.1.1.tar.bz2;
-      sha256 = "1ckgc3mbi5z3wv1fa9nf4yv028xh9911qkqz4f4h171vr28xhcjx";
+      url = mirror://xorg/X11R7.6/src/everything/xbacklight-1.1.2.tar.bz2;
+      sha256 = "02b5jfys2msla2yvg5s0knzyxg2104r25czkwd49i8g8kp804bxg";
     };
-    buildInputs = [pkgconfig libX11 libXrandr libXrender ];
-  })) // {inherit libX11 libXrandr libXrender ;};
+    buildInputs = [pkgconfig libX11 libXrandr ];
+  })) // {inherit libX11 libXrandr ;};
     
   xbitmaps = (stdenv.mkDerivation ((if overrides ? xbitmaps then overrides.xbitmaps else x: x) {
-    name = "xbitmaps-1.1.0";
+    name = "xbitmaps-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xbitmaps-1.1.0.tar.bz2;
-      sha256 = "0qc7mmljabh06s4vkz9nkrca1d3f5yr7nr3927pbfdh6iff0b8n9";
+      url = mirror://xorg/X11R7.6/src/everything/xbitmaps-1.1.1.tar.bz2;
+      sha256 = "178ym90kwidia6nas4qr5n5yqh698vv8r02js0r4vg3b6lsb0w9n";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
@@ -1151,7 +1141,7 @@ let
     name = "xcb-proto-1.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = http://xcb.freedesktop.org/dist/xcb-proto-1.6.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xcb-proto-1.6.tar.bz2;
       sha256 = "18jwkgd2ayvd0zzwawnbh86b4xqjq29mgsq44h06yj8jkcaw2azm";
     };
     buildInputs = [pkgconfig python ];
@@ -1161,58 +1151,58 @@ let
     name = "xcb-util-0.3.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = http://xcb.freedesktop.org/dist/xcb-util-0.3.6.tar.bz2;
+      url = mirror://xorg/individual/xcb/xcb-util-0.3.6.tar.bz2;
       sha256 = "0mqfyq6skm19hhfmd5kmcn0v4di4pmbdszmbf2lmhn01mc8yxf7z";
     };
     buildInputs = [pkgconfig gperf m4 libxcb xproto ];
   })) // {inherit gperf m4 libxcb xproto ;};
     
   xclock = (stdenv.mkDerivation ((if overrides ? xclock then overrides.xclock else x: x) {
-    name = "xclock-1.0.4";
+    name = "xclock-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xclock-1.0.4.tar.bz2;
-      sha256 = "1w7dwrxjwhllynvkvms236jnls8aik8g755kbpycj4aj62v07fb9";
+      url = mirror://xorg/individual/app/xclock-1.0.5.tar.bz2;
+      sha256 = "16jcmsmhz503mqv7wz7daqqhm11phsws0g7fryzlz0gk4jg1daak";
     };
-    buildInputs = [pkgconfig libX11 libXaw libXft libxkbfile libXrender libXt ];
-  })) // {inherit libX11 libXaw libXft libxkbfile libXrender libXt ;};
+    buildInputs = [pkgconfig libX11 libXaw libXft libxkbfile libXmu libXrender libXt ];
+  })) // {inherit libX11 libXaw libXft libxkbfile libXmu libXrender libXt ;};
     
   xcmiscproto = (stdenv.mkDerivation ((if overrides ? xcmiscproto then overrides.xcmiscproto else x: x) {
-    name = "xcmiscproto-1.2.0";
+    name = "xcmiscproto-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xcmiscproto-1.2.0.tar.bz2;
-      sha256 = "13pnmizik323jdzdrhf3vyibmf63qmv4wcly8smyki85f1mw05yy";
+      url = mirror://xorg/X11R7.6/src/everything/xcmiscproto-1.2.1.tar.bz2;
+      sha256 = "05acy1axzkrq6z9xlbmz1kg66lbgfqzky8v4qfdl16gv5gi2f3kk";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   xcmsdb = (stdenv.mkDerivation ((if overrides ? xcmsdb then overrides.xcmsdb else x: x) {
-    name = "xcmsdb-1.0.2";
+    name = "xcmsdb-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xcmsdb-1.0.2.tar.bz2;
-      sha256 = "1kps2q1gr9l168agqmsk6l9xp2b01qbs9j7i0wb4lkga6ikcdjmz";
+      url = mirror://xorg/X11R7.6/src/everything/xcmsdb-1.0.3.tar.bz2;
+      sha256 = "102s9lsghdp5n3bsg4chlkhrk0jh0kxvg2g0pyi1zmzfy5hd0dxj";
     };
     buildInputs = [pkgconfig libX11 ];
   })) // {inherit libX11 ;};
     
   xcursorgen = (stdenv.mkDerivation ((if overrides ? xcursorgen then overrides.xcursorgen else x: x) {
-    name = "xcursorgen-1.0.3";
+    name = "xcursorgen-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xcursorgen-1.0.3.tar.bz2;
-      sha256 = "0m62paz36b38bx9xpb79qmf9im1yamgmlvj0hp5gy88wi3z3ypzd";
+      url = mirror://xorg/X11R7.6/src/everything/xcursorgen-1.0.4.tar.bz2;
+      sha256 = "07azdw6w18hdgrd6z3nawrhn1m18nyp24cz54ih91vpz8hpxnany";
     };
     buildInputs = [pkgconfig libpng libX11 libXcursor ];
   })) // {inherit libpng libX11 libXcursor ;};
     
   xcursorthemes = (stdenv.mkDerivation ((if overrides ? xcursorthemes then overrides.xcursorthemes else x: x) {
-    name = "xcursor-themes-1.0.2";
+    name = "xcursor-themes-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xcursor-themes-1.0.2.tar.bz2;
-      sha256 = "1mhlfnjdq5c0h9k2h088fq82bdsr0g2001x4l2gw15173lpqqyaz";
+      url = mirror://xorg/X11R7.6/src/everything/xcursor-themes-1.0.3.tar.bz2;
+      sha256 = "1is4bak0qkkhv63mfa5l7492r475586y52yzfxyv3psppn662ilr";
     };
     buildInputs = [pkgconfig libXcursor ];
   })) // {inherit libXcursor ;};
@@ -1228,51 +1218,51 @@ let
   })) // {inherit libX11 libXau libXaw libXdmcp libXext libXft libXinerama libXmu libXpm libXt ;};
     
   xdpyinfo = (stdenv.mkDerivation ((if overrides ? xdpyinfo then overrides.xdpyinfo else x: x) {
-    name = "xdpyinfo-1.1.0";
+    name = "xdpyinfo-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xdpyinfo-1.1.0.tar.bz2;
-      sha256 = "0c86d890bbdswhpnknlfn1xg5xbjgymjhnfk4vp44gv5cpz8s3bq";
+      url = mirror://xorg/X11R7.6/src/everything/xdpyinfo-1.2.0.tar.bz2;
+      sha256 = "1kmmfawcjxgmp06jb3w7d0pxbrcxrrgfx3m1lbwj3gygir4ssnzy";
     };
-    buildInputs = [pkgconfig libdmx libX11 libXcomposite libXext libXi libXinerama libXp libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ];
-  })) // {inherit libdmx libX11 libXcomposite libXext libXi libXinerama libXp libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ;};
+    buildInputs = [pkgconfig libdmx libX11 libXcomposite libXext libXi libXinerama libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ];
+  })) // {inherit libdmx libX11 libXcomposite libXext libXi libXinerama libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ;};
     
   xdriinfo = (stdenv.mkDerivation ((if overrides ? xdriinfo then overrides.xdriinfo else x: x) {
-    name = "xdriinfo-1.0.3";
+    name = "xdriinfo-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xdriinfo-1.0.3.tar.bz2;
-      sha256 = "1715vk6vhxdsn7ir3gd2gy90b4d31llddkysssgxg66713yjlxib";
+      url = mirror://xorg/X11R7.6/src/everything/xdriinfo-1.0.4.tar.bz2;
+      sha256 = "076bjix941znyjmh3j5jjsnhp2gv2iq53d0ks29mvvv87cyy9iim";
     };
     buildInputs = [pkgconfig glproto libX11 ];
   })) // {inherit glproto libX11 ;};
     
   xev = (stdenv.mkDerivation ((if overrides ? xev then overrides.xev else x: x) {
-    name = "xev-1.0.4";
+    name = "xev-1.1.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xev-1.0.4.tar.bz2;
-      sha256 = "1s7x06jw3y6blq4nfgm8m55jphp933idwcs6yivyc956anbrrbbz";
+      url = mirror://xorg/X11R7.6/src/everything/xev-1.1.0.tar.bz2;
+      sha256 = "1ih1rxf2b6bpsggvbx4ibyx70bzgcyjl98l1894d0smjxmlc4n9q";
     };
     buildInputs = [pkgconfig libX11 ];
   })) // {inherit libX11 ;};
     
   xextproto = (stdenv.mkDerivation ((if overrides ? xextproto then overrides.xextproto else x: x) {
-    name = "xextproto-7.1.1";
+    name = "xextproto-7.1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xextproto-7.1.1.tar.bz2;
-      sha256 = "16adjr7hfzf5qaikrq7341p2g6n2nj8gvxgc9jr2qz6mvlqvs2kd";
+      url = mirror://xorg/X11R7.6/src/everything/xextproto-7.1.2.tar.bz2;
+      sha256 = "16ci2mc9g85fsb7lgml349rbgf97v7l9688by71agv682bhjky7n";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   xeyes = (stdenv.mkDerivation ((if overrides ? xeyes then overrides.xeyes else x: x) {
-    name = "xeyes-1.1.0";
+    name = "xeyes-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xeyes-1.1.0.tar.bz2;
-      sha256 = "01ymjkdhz0jrra47l1cqc4vkklaw3frmzgwwvq6jyvm0zr0rcswr";
+      url = mirror://xorg/individual/app/xeyes-1.1.1.tar.bz2;
+      sha256 = "08d5x2kar5kg4yammw6hhk10iva6jmh8cqq176a1z7nm1il9hplp";
     };
     buildInputs = [pkgconfig libX11 libXext libXmu libXrender libXt ];
   })) // {inherit libX11 libXext libXmu libXrender libXt ;};
@@ -1281,7 +1271,7 @@ let
     name = "xf86bigfontproto-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86bigfontproto-1.2.0.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86bigfontproto-1.2.0.tar.bz2;
       sha256 = "0j0n7sj5xfjpmmgx6n5x556rw21hdd18fwmavp95wps7qki214ms";
     };
     buildInputs = [pkgconfig ];
@@ -1291,18 +1281,18 @@ let
     name = "xf86dgaproto-2.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86dgaproto-2.1.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86dgaproto-2.1.tar.bz2;
       sha256 = "0l4hx48207mx0hp09026r6gy9nl3asbq0c75hri19wp1118zcpmc";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   xf86driproto = (stdenv.mkDerivation ((if overrides ? xf86driproto then overrides.xf86driproto else x: x) {
-    name = "xf86driproto-2.1.0";
+    name = "xf86driproto-2.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86driproto-2.1.0.tar.bz2;
-      sha256 = "1gp1vkzypwnd9lvn23vzazl6xxm77vgsgmkyi4p5hgnhzzg14gyj";
+      url = mirror://xorg/individual/proto/xf86driproto-2.1.1.tar.bz2;
+      sha256 = "07v69m0g2dfzb653jni4x656jlr7l84c1k39j8qc8vfb45r8sjww";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
@@ -1311,73 +1301,69 @@ let
     name = "xf86-input-acecad-1.4.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-input-acecad-1.4.0.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86-input-acecad-1.4.0.tar.bz2;
       sha256 = "0mnmvffxwgcvsa208vffsqlai7lldjc46rdk6j0j4q00df5isd28";
     };
     buildInputs = [pkgconfig inputproto randrproto xorgserver xproto ];
   })) // {inherit inputproto randrproto xorgserver xproto ;};
     
   xf86inputaiptek = (stdenv.mkDerivation ((if overrides ? xf86inputaiptek then overrides.xf86inputaiptek else x: x) {
-    name = "xf86-input-aiptek-1.3.0";
+    name = "xf86-input-aiptek-1.3.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-input-aiptek-1.3.0.tar.bz2;
-      sha256 = "0p2ygfh883wbwk5n1ippd7f562bwrsvbpgriqwvw7zqx0axkazxk";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-input-aiptek-1.3.1.tar.bz2;
+      sha256 = "16pby473s65lfd2v60fwayzfhf1n6x696lrx720zwb2p22rlsna3";
     };
     buildInputs = [pkgconfig inputproto randrproto xorgserver xproto ];
   })) // {inherit inputproto randrproto xorgserver xproto ;};
     
   xf86inputevdev = (stdenv.mkDerivation ((if overrides ? xf86inputevdev then overrides.xf86inputevdev else x: x) {
-    name = "xf86-input-evdev-2.5.0";
+    name = "xf86-input-evdev-2.6.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-input-evdev-2.5.0.tar.bz2;
-      sha256 = "0cq34rk3fqlbjnakwzw2138xvwzmf52ffy9grgsrxl6qr4x1gv4x";
+      url = mirror://xorg/individual/driver/xf86-input-evdev-2.6.0.tar.bz2;
+      sha256 = "1b2kcxm7bc255ym56dpl1fw3km44f5ny3hwn65sa90w13acz7rxh";
     };
     buildInputs = [pkgconfig inputproto xorgserver xproto ];
   })) // {inherit inputproto xorgserver xproto ;};
     
   xf86inputjoystick = (stdenv.mkDerivation ((if overrides ? xf86inputjoystick then overrides.xf86inputjoystick else x: x) {
-    name = "xf86-input-joystick-1.4.99.2";
+    name = "xf86-input-joystick-1.5.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-input-joystick-1.4.99.2.tar.bz2;
-      sha256 = "1fsjabi8221wi1xnqla1kdawng91h6s8nkhh992jsdk0hlxfj93j";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-input-joystick-1.5.0.tar.bz2;
+      sha256 = "1ac2lap4npylyzg0pi0zy0n48wvicgz9kw0z9ih9ylk9sz2ii0bi";
     };
     buildInputs = [pkgconfig inputproto kbproto xorgserver xproto ];
   })) // {inherit inputproto kbproto xorgserver xproto ;};
     
   xf86inputkeyboard = (stdenv.mkDerivation ((if overrides ? xf86inputkeyboard then overrides.xf86inputkeyboard else x: x) {
-    name = "xf86-input-keyboard-1.4.0";
+    name = "xf86-input-keyboard-1.5.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-input-keyboard-1.4.0.tar.bz2;
-      sha256 = "19fnlr555pf5y0s01mlhski6v9rvsjzp6b2n5i7sppb8rb7kcbc4";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-input-keyboard-1.5.0.tar.bz2;
+      sha256 = "1c4ww4yj23shqwhc52r512qsy5baf1sxsb7jj7pfnralj07520r3";
     };
-    buildInputs = [pkgconfig inputproto kbproto randrproto xorgserver xproto ];
-  })) // {inherit inputproto kbproto randrproto xorgserver xproto ;};
+    buildInputs = [pkgconfig inputproto xorgserver xproto ];
+  })) // {inherit inputproto xorgserver xproto ;};
     
   xf86inputmouse = (stdenv.mkDerivation ((if overrides ? xf86inputmouse then overrides.xf86inputmouse else x: x) {
-    name = "xf86-input-mouse-1.5.0";
+    name = "xf86-input-mouse-1.6.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-input-mouse-1.5.0.tar.bz2;
-      sha256 = "15xk3a6ld9zphqhfm1w69cmnsd13fz8k9xx70w7b4bxbf84f40zk";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-input-mouse-1.6.0.tar.bz2;
+      sha256 = "1nzvlbhvdyki3h1s4x2i3ps1immf3wfns6az2i3669v8a5g29bn7";
     };
-    buildInputs = [pkgconfig inputproto randrproto xorgserver xproto ];
-  })) // {inherit inputproto randrproto xorgserver xproto ;};
+    buildInputs = [pkgconfig inputproto xorgserver xproto ];
+  })) // {inherit inputproto xorgserver xproto ;};
     
   xf86inputsynaptics = (stdenv.mkDerivation ((if overrides ? xf86inputsynaptics then overrides.xf86inputsynaptics else x: x) {
     name = "xf86-input-synaptics-1.3.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-input-synaptics-1.3.0.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86-input-synaptics-1.3.0.tar.bz2;
       sha256 = "1mwgb85qjyzx2yfi7jhgvd435zdyqxyq9aqwlsldmlpkqi8358rh";
     };
-    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 ;};
     
@@ -1385,18 +1371,18 @@ let
     name = "xf86-input-vmmouse-12.6.10";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-input-vmmouse-12.6.10.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86-input-vmmouse-12.6.10.tar.bz2;
       sha256 = "0409lkwk1ws8vw4axxilwmcs8qxj8lq5dma2i2iz49q6hrd9sdm6";
     };
     buildInputs = [pkgconfig inputproto randrproto xorgserver xproto ];
   })) // {inherit inputproto randrproto xorgserver xproto ;};
     
   xf86inputvoid = (stdenv.mkDerivation ((if overrides ? xf86inputvoid then overrides.xf86inputvoid else x: x) {
-    name = "xf86-input-void-1.3.0";
+    name = "xf86-input-void-1.3.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-input-void-1.3.0.tar.bz2;
-      sha256 = "03qk5gaw8msmi39m6024p61b0faw91b3vn257hdy40vpcggms5p2";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-input-void-1.3.1.tar.bz2;
+      sha256 = "0x662i756p0nqmfv76ppm28ir2sbvcm32r71ycd9bxc3mj29g9mb";
     };
     buildInputs = [pkgconfig xorgserver xproto ];
   })) // {inherit xorgserver xproto ;};
@@ -1412,51 +1398,51 @@ let
   })) // {inherit ;};
     
   xf86videoapm = (stdenv.mkDerivation ((if overrides ? xf86videoapm then overrides.xf86videoapm else x: x) {
-    name = "xf86-video-apm-1.2.2";
+    name = "xf86-video-apm-1.2.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-apm-1.2.2.tar.bz2;
-      sha256 = "0lhp3karp7v59p4i7lxk8yc5amsqihwa5pfcf9zpqphx7q3dv3k7";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-apm-1.2.3.tar.bz2;
+      sha256 = "1nih9ayiw13aa1s8j6gr99b207215if055c6yvsrssnpvccflij0";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
     
   xf86videoark = (stdenv.mkDerivation ((if overrides ? xf86videoark then overrides.xf86videoark else x: x) {
-    name = "xf86-video-ark-0.7.2";
+    name = "xf86-video-ark-0.7.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-ark-0.7.2.tar.bz2;
-      sha256 = "0hap0q41bxq10a2jxbkpb93ad7zxbl1l64bcy4vjhf5xbvhz67nv";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-ark-0.7.3.tar.bz2;
+      sha256 = "164gyaaddjjma0xqys0knid2rsd0c7jlab02c8wh3bk4bib9l51r";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;};
     
   xf86videoast = (stdenv.mkDerivation ((if overrides ? xf86videoast then overrides.xf86videoast else x: x) {
-    name = "xf86-video-ast-0.89.9";
+    name = "xf86-video-ast-0.91.10";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-ast-0.89.9.tar.bz2;
-      sha256 = "00dllv1vs8xg9gbsabixsz846xd9y6ijibpl2ljhafip5b9ic3w8";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-ast-0.91.10.tar.bz2;
+      sha256 = "05fcp0svdd4skkfgag1rrram6v3xzgasf582dihpyrwlz28186vy";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
     
   xf86videoati = (stdenv.mkDerivation ((if overrides ? xf86videoati then overrides.xf86videoati else x: x) {
-    name = "xf86-video-ati-6.12.4";
+    name = "xf86-video-ati-6.14.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-ati-6.12.4.tar.bz2;
-      sha256 = "1xiqyf5pa8k0mva3ikq2i1xq8yn9lswmrsbr9xi9p8c7f1m0dpng";
+      url = mirror://xorg/individual/driver/xf86-video-ati-6.14.0.tar.bz2;
+      sha256 = "12q2b6wj53h23iy9bkm6x8zidan3xqfszhkzyr4qm043x21szjlx";
     };
-    buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xineramaproto xorgserver xproto ];
-  })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xineramaproto xorgserver xproto ;};
+    buildInputs = [pkgconfig fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
+  })) // {inherit fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
     
   xf86videochips = (stdenv.mkDerivation ((if overrides ? xf86videochips then overrides.xf86videochips else x: x) {
-    name = "xf86-video-chips-1.2.2";
+    name = "xf86-video-chips-1.2.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-chips-1.2.2.tar.bz2;
-      sha256 = "03kz0gvg0ryynj4pllbismb77aq2wmsy7zpk4cxynby6zwnfyvzz";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-chips-1.2.3.tar.bz2;
+      sha256 = "07fb03cxdlis2rjphz2pl59cjhldrhqric8p0gi4wkgq0s72fq85";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
@@ -1465,68 +1451,68 @@ let
     name = "xf86-video-cirrus-1.3.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-cirrus-1.3.2.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-cirrus-1.3.2.tar.bz2;
       sha256 = "06na525xy5d6xf5g13bjsk9cyxly5arzgrk9j8dmxfll5jj9i6jj";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
     
   xf86videodummy = (stdenv.mkDerivation ((if overrides ? xf86videodummy then overrides.xf86videodummy else x: x) {
-    name = "xf86-video-dummy-0.3.2";
+    name = "xf86-video-dummy-0.3.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-dummy-0.3.2.tar.bz2;
-      sha256 = "1yj5bk79lxdqrdivznqxpds7dh2fdx3d9anz1y990pqb3g1cp2ck";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-dummy-0.3.4.tar.bz2;
+      sha256 = "1p0vhxvx25d8fp59i72664smhd0z5zw0i2kipk0879xk1vsxz13y";
     };
     buildInputs = [pkgconfig fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ];
   })) // {inherit fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ;};
     
   xf86videofbdev = (stdenv.mkDerivation ((if overrides ? xf86videofbdev then overrides.xf86videofbdev else x: x) {
-    name = "xf86-video-fbdev-0.4.1";
+    name = "xf86-video-fbdev-0.4.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-fbdev-0.4.1.tar.bz2;
-      sha256 = "13r8nwl8z0kwqvgmiaj9wrjwid4d55cs1vn6qsf3lhr3jlbmgy1b";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-fbdev-0.4.2.tar.bz2;
+      sha256 = "1mc23w0bfmak5216411xh58nrs93jlxmi6l412hmqzhxnjs73clk";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ;};
     
   xf86videogeode = (stdenv.mkDerivation ((if overrides ? xf86videogeode then overrides.xf86videogeode else x: x) {
-    name = "xf86-video-geode-2.11.6";
+    name = "xf86-video-geode-2.11.10";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-geode-2.11.6.tar.bz2;
-      sha256 = "148zfkxzw3g56wbhfix4ggw781szbay3rrrjgyji7nq8pi3xl6ja";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-geode-2.11.10.tar.bz2;
+      sha256 = "1zdb3y5df1dcqlvijg8hxcd6520a5c69jk52yz7ww194ka2c8icf";
     };
-    buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;};
+    buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
+  })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
     
   xf86videoglide = (stdenv.mkDerivation ((if overrides ? xf86videoglide then overrides.xf86videoglide else x: x) {
-    name = "xf86-video-glide-1.0.3";
+    name = "xf86-video-glide-1.1.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-glide-1.0.3.tar.bz2;
-      sha256 = "1n76g133iq5pd8pll9k37j2szp8py2qmzr6w0r5jhd13lrazi1gi";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-glide-1.1.0.tar.bz2;
+      sha256 = "1wf35ai8z3qqk2a97rp72jzvm28ylw2wj2hllrsn29p7jpznh5aw";
     };
-    buildInputs = [pkgconfig fontsproto randrproto renderproto xextproto xorgserver xproto ];
-  })) // {inherit fontsproto randrproto renderproto xextproto xorgserver xproto ;};
+    buildInputs = [pkgconfig xextproto xorgserver xproto ];
+  })) // {inherit xextproto xorgserver xproto ;};
     
   xf86videoglint = (stdenv.mkDerivation ((if overrides ? xf86videoglint then overrides.xf86videoglint else x: x) {
-    name = "xf86-video-glint-1.2.4";
+    name = "xf86-video-glint-1.2.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-glint-1.2.4.tar.bz2;
-      sha256 = "0vypk7njd6927imi80akfyd6q2wl1d8ragg6p8sx4qf208xnx3az";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-glint-1.2.5.tar.bz2;
+      sha256 = "0jw1kkyja8hvvhrr3ldl1r5vpqfhn1xmqkpgd2jrkc5p59rz4xan";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xorgserver xproto ];
   })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xorgserver xproto ;};
     
   xf86videoi128 = (stdenv.mkDerivation ((if overrides ? xf86videoi128 then overrides.xf86videoi128 else x: x) {
-    name = "xf86-video-i128-1.3.3";
+    name = "xf86-video-i128-1.3.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-i128-1.3.3.tar.bz2;
-      sha256 = "0bmh6adk0pkzkcn0p4xkfi8r2hmya1rp2d6c0mfhfm1viv7921jd";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-i128-1.3.4.tar.bz2;
+      sha256 = "1kwb4ifxwm77s1ks19csmq2ymgs36bxqwvwv24ssvxb9znki76xn";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
@@ -1535,48 +1521,48 @@ let
     name = "xf86-video-i740-1.3.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-i740-1.3.2.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-i740-1.3.2.tar.bz2;
       sha256 = "0hzr5fz6d5jk9jxh9plfgvgias3w7xzyg1n4gx0hs2lc7mm9qm28";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
   })) // {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.13.0";
+    name = "xf86-video-intel-2.14.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-intel-2.13.0.tar.bz2;
-      sha256 = "11y85xsm21zaadn7di8vkglbi5d9ibgghzfbjhlkgbn4s3lgmcnq";
+      url = mirror://xorg/individual/driver/xf86-video-intel-2.14.0.tar.bz2;
+      sha256 = "1pq7nm6whc2nmrizf774q042580cfms6yp6yd5p52q59g6jkg371";
     };
-    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 ;};
+    buildInputs = [pkgconfig dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto libXfixes xorgserver xproto libXvMC ];
+  })) // {inherit dri2proto fontsproto libdrm udev 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";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-mach64-6.8.2.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-mach64-6.8.2.tar.bz2;
       sha256 = "07b7dkb6xc10pvf483dg52r2klpikmw339i5ln9ig913601r84dr";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xineramaproto xorgserver xproto ];
   })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xineramaproto xorgserver xproto ;};
     
   xf86videomga = (stdenv.mkDerivation ((if overrides ? xf86videomga then overrides.xf86videomga else x: x) {
-    name = "xf86-video-mga-1.4.11";
+    name = "xf86-video-mga-1.4.13";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-mga-1.4.11.tar.bz2;
-      sha256 = "1rlp1ywvcfk04p7h5n0s2pm7r4d7jkzr5nnv3pa78vs8dwqj46f9";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-mga-1.4.13.tar.bz2;
+      sha256 = "1xnzxmp9cfpi6q7fx2r74iwyb33wkdrqcf38dhwydbaaxigvsmxn";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
   })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
     
   xf86videoneomagic = (stdenv.mkDerivation ((if overrides ? xf86videoneomagic then overrides.xf86videoneomagic else x: x) {
-    name = "xf86-video-neomagic-1.2.4";
+    name = "xf86-video-neomagic-1.2.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-neomagic-1.2.4.tar.bz2;
-      sha256 = "0lw3i7dkrg98dzjdci6yf4dn3a9j2rmd31hab7s46wh0dnca4ka3";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-neomagic-1.2.5.tar.bz2;
+      sha256 = "0jshn5k1byq0msl1ymip3m2xycrd8jkk6nzm5dx2av5xlj1rxdn0";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;};
@@ -1585,18 +1571,18 @@ let
     name = "xf86-video-newport-0.2.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-newport-0.2.3.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-newport-0.2.3.tar.bz2;
       sha256 = "0w02rz49gipnfl33vak3zgis8bh9i0v5ykyj8qh9vzddjm7ypjp6";
     };
     buildInputs = [pkgconfig fontsproto randrproto renderproto videoproto xorgserver xproto ];
   })) // {inherit fontsproto randrproto renderproto videoproto xorgserver xproto ;};
     
   xf86videonv = (stdenv.mkDerivation ((if overrides ? xf86videonv then overrides.xf86videonv else x: x) {
-    name = "xf86-video-nv-2.1.15";
+    name = "xf86-video-nv-2.1.18";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-nv-2.1.15.tar.bz2;
-      sha256 = "0h9nbbp4dd4lcm9bjmfgv9p9pdq6hj535mnjf70xkkip0i0y1361";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-nv-2.1.18.tar.bz2;
+      sha256 = "05glbi9jc7j9nm4sf4qvl3z87s48ibm3i283lqz85kbphg62dxvc";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
@@ -1605,7 +1591,7 @@ let
     name = "xf86-video-openchrome-0.2.904";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-openchrome-0.2.904.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-openchrome-0.2.904.tar.bz2;
       sha256 = "1sksddn0pc3izvab5ppxhprs1xzk5ijwqz5ylivx1cb5hg2gggf7";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ];
@@ -1615,18 +1601,18 @@ let
     name = "xf86-video-r128-6.8.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-r128-6.8.1.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-r128-6.8.1.tar.bz2;
       sha256 = "1jlybabm3k09hhlzx1xilndqngk3xgdck66n94sr02w5hg622zji";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xineramaproto xorgserver xproto ];
   })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xineramaproto xorgserver xproto ;};
     
   xf86videorendition = (stdenv.mkDerivation ((if overrides ? xf86videorendition then overrides.xf86videorendition else x: x) {
-    name = "xf86-video-rendition-4.2.3";
+    name = "xf86-video-rendition-4.2.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-rendition-4.2.3.tar.bz2;
-      sha256 = "152dfsjf75xbkl8a2xlpr1pl5365b3svhfj9y9dfxzi963ymjmcx";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-rendition-4.2.4.tar.bz2;
+      sha256 = "1a9anxgqs7wc8d7jb5nw6dgmynw0sxiwp9p90h4w19y315kqx6rv";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;};
@@ -1635,7 +1621,7 @@ let
     name = "xf86-video-s3-0.6.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-s3-0.6.3.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-s3-0.6.3.tar.bz2;
       sha256 = "0i2i1080cw3pxy1pm43bskb80n7wql0cxpyd2s61v0didsm6b7zd";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
@@ -1645,7 +1631,7 @@ let
     name = "xf86-video-s3virge-1.10.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-s3virge-1.10.4.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-s3virge-1.10.4.tar.bz2;
       sha256 = "1f3zjs6a3j2a8lfdilijggpwbg9cs88qksrvzvd71ggxf5p0vl0w";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
@@ -1655,38 +1641,38 @@ let
     name = "xf86-video-savage-2.3.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-savage-2.3.1.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-savage-2.3.1.tar.bz2;
       sha256 = "1ays1l4phyjcdikc9d1zwgswivcrb1grkh7klv5klvqahbfxqjib";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
   })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
     
   xf86videosiliconmotion = (stdenv.mkDerivation ((if overrides ? xf86videosiliconmotion then overrides.xf86videosiliconmotion else x: x) {
-    name = "xf86-video-siliconmotion-1.7.3";
+    name = "xf86-video-siliconmotion-1.7.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-siliconmotion-1.7.3.tar.bz2;
-      sha256 = "0aqb0sl2ds6n3wqq452xn6d5zkavryiks154xa6c1596wj5ldnpb";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-siliconmotion-1.7.4.tar.bz2;
+      sha256 = "1mq4dsg2f77wxl0n4fnm6a5p3lajyhra6rxx29z52p5b1x412xdl";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
     
   xf86videosis = (stdenv.mkDerivation ((if overrides ? xf86videosis then overrides.xf86videosis else x: x) {
-    name = "xf86-video-sis-0.10.2";
+    name = "xf86-video-sis-0.10.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-sis-0.10.2.tar.bz2;
-      sha256 = "1hi8h7ixfbwhnqiara9xx5y6pzi3svnvma97j2dncmg3k4bp1b9s";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-sis-0.10.3.tar.bz2;
+      sha256 = "0dy7a7iil35nz1xlazrcq0sp474p6wy0f1pa5y0spbfj5zib6fcv";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xineramaproto xorgserver xproto ];
   })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xineramaproto xorgserver xproto ;};
     
   xf86videosisusb = (stdenv.mkDerivation ((if overrides ? xf86videosisusb then overrides.xf86videosisusb else x: x) {
-    name = "xf86-video-sisusb-0.9.3";
+    name = "xf86-video-sisusb-0.9.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-sisusb-0.9.3.tar.bz2;
-      sha256 = "1clvnjkjzs2fmjm58fv31x6b5nk6y5ahb5vwvrizpm9irh7aky8x";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-sisusb-0.9.4.tar.bz2;
+      sha256 = "0b5afc1dqj8h34fldl35hzf7wphj1x76czkd461bfarnvyljgfrb";
     };
     buildInputs = [pkgconfig fontsproto randrproto renderproto videoproto xextproto xineramaproto xorgserver xproto ];
   })) // {inherit fontsproto randrproto renderproto videoproto xextproto xineramaproto xorgserver xproto ;};
@@ -1695,7 +1681,7 @@ let
     name = "xf86-video-suncg14-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-suncg14-1.1.1.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-suncg14-1.1.1.tar.bz2;
       sha256 = "1n108xbwg803v2sk51galx66ph8wdb0ym84fx45h0jrr41wh0hyb";
     };
     buildInputs = [pkgconfig fontsproto randrproto renderproto xorgserver xproto ];
@@ -1705,7 +1691,7 @@ let
     name = "xf86-video-suncg3-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-suncg3-1.1.1.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-suncg3-1.1.1.tar.bz2;
       sha256 = "06c4hzmd5cfzbw79yrv3knss80hllciamz734ij1pbzj6j6fjvym";
     };
     buildInputs = [pkgconfig fontsproto randrproto renderproto xorgserver xproto ];
@@ -1715,7 +1701,7 @@ let
     name = "xf86-video-suncg6-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-suncg6-1.1.1.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-suncg6-1.1.1.tar.bz2;
       sha256 = "07w0hm63fiy5l3cpcjsl0ig8z84z9r36xm0cmnpiv3g75dy6q8fi";
     };
     buildInputs = [pkgconfig fontsproto randrproto renderproto xorgserver xproto ];
@@ -1725,7 +1711,7 @@ let
     name = "xf86-video-sunffb-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-sunffb-1.2.1.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-sunffb-1.2.1.tar.bz2;
       sha256 = "04byax4sc1fn183vyyq0q11q730k16h2by4ggjky7s36wgv7ldzx";
     };
     buildInputs = [pkgconfig fontsproto randrproto renderproto xextproto xorgserver xproto ];
@@ -1735,7 +1721,7 @@ let
     name = "xf86-video-sunleo-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-sunleo-1.2.0.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-sunleo-1.2.0.tar.bz2;
       sha256 = "01kffjbshmwix2cdb95j0cx2qmrss6yfjj7y5qssw83h36bvw5dk";
     };
     buildInputs = [pkgconfig fontsproto randrproto renderproto xorgserver xproto ];
@@ -1745,7 +1731,7 @@ let
     name = "xf86-video-suntcx-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-suntcx-1.1.1.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-suntcx-1.1.1.tar.bz2;
       sha256 = "07lqah5sizhwjpzr4vcpwgvbl86fwz4k0c3skp63sq58ng21acal";
     };
     buildInputs = [pkgconfig fontsproto randrproto renderproto xorgserver xproto ];
@@ -1755,7 +1741,7 @@ let
     name = "xf86-video-tdfx-1.4.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-tdfx-1.4.3.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-tdfx-1.4.3.tar.bz2;
       sha256 = "0cxz1rsc87cnf0ba1zfwhk0lhfas92ysc9b13q6x21m31b53bn9s";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
@@ -1765,28 +1751,28 @@ let
     name = "xf86-video-tga-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-tga-1.2.1.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-tga-1.2.1.tar.bz2;
       sha256 = "0mdqrn02zzkdnmhg4vh9djaawg6b2p82g5qbj66z8b30yr77b93h";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;};
     
   xf86videotrident = (stdenv.mkDerivation ((if overrides ? xf86videotrident then overrides.xf86videotrident else x: x) {
-    name = "xf86-video-trident-1.3.3";
+    name = "xf86-video-trident-1.3.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-trident-1.3.3.tar.bz2;
-      sha256 = "1x8ibnkq6vv9ify1alc65hj5c8np7bii9dp61cw7b87hyfvflhb2";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-trident-1.3.4.tar.bz2;
+      sha256 = "1a4wybqwd617mg8lzn1xvi5m0iibimxpvyqsr31mhb7gw0qidrjq";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;};
     
   xf86videotseng = (stdenv.mkDerivation ((if overrides ? xf86videotseng then overrides.xf86videotseng else x: x) {
-    name = "xf86-video-tseng-1.2.3";
+    name = "xf86-video-tseng-1.2.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-tseng-1.2.3.tar.bz2;
-      sha256 = "11via1r9b3x0cfa0ys44w9hff9s5a2wf50hgi1zfhjysg4zbnmh5";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-tseng-1.2.4.tar.bz2;
+      sha256 = "0gfiwx2p51k3k78qic8y9y0d3d6nhhbmzfvzmw5hx3ba9kxmvpfh";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
@@ -1795,7 +1781,7 @@ let
     name = "xf86-video-v4l-0.2.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-v4l-0.2.0.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-v4l-0.2.0.tar.bz2;
       sha256 = "0pcjc75hgbih3qvhpsx8d4fljysfk025slxcqyyhr45dzch93zyb";
     };
     buildInputs = [pkgconfig randrproto videoproto xorgserver xproto ];
@@ -1805,28 +1791,28 @@ let
     name = "xf86-video-vesa-2.3.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-vesa-2.3.0.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-vesa-2.3.0.tar.bz2;
       sha256 = "0yhdj39d8rfv2n4i52dg7cg1rsrclagn7rjs3pc3jdajjh75mn4f";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ];
   })) // {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.2";
+    name = "xf86-video-vmware-11.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-vmware-11.0.2.tar.bz2;
-      sha256 = "1lkmyichry4kz4mhj35ry482rflz622gq8j788iq8j5rcjjrvcga";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-vmware-11.0.3.tar.bz2;
+      sha256 = "18rqkzr1dvzgdr2khlhhpai69z28rnrfl8jiw9hnahbyv2r7qjmj";
     };
-    buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xineramaproto xorgserver xproto ];
-  })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xineramaproto xorgserver xproto ;};
+    buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ];
+  })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ;};
     
   xf86videovoodoo = (stdenv.mkDerivation ((if overrides ? xf86videovoodoo then overrides.xf86videovoodoo else x: x) {
-    name = "xf86-video-voodoo-1.2.3";
+    name = "xf86-video-voodoo-1.2.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-voodoo-1.2.3.tar.bz2;
-      sha256 = "1s99ms9kjb1ypq8ra340iyc14x3mkh4vpbbz85r5nchrmfclsp82";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-voodoo-1.2.4.tar.bz2;
+      sha256 = "0ha748yz92yzn6hp2rhin3il8f4j2rs4vkgdvqkagnv1ryxkh0ph";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto xextproto xf86dgaproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xf86dgaproto xorgserver xproto ;};
@@ -1835,138 +1821,138 @@ let
     name = "xf86-video-wsfb-0.3.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-wsfb-0.3.0.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-wsfb-0.3.0.tar.bz2;
       sha256 = "17lqhir0adcccfkrzz2sr8cpv5vkakk0w7xfc22vv7c6jz9vdgbq";
     };
     buildInputs = [pkgconfig xorgserver xproto ];
   })) // {inherit xorgserver xproto ;};
     
   xf86videoxgi = (stdenv.mkDerivation ((if overrides ? xf86videoxgi then overrides.xf86videoxgi else x: x) {
-    name = "xf86-video-xgi-1.5.1";
+    name = "xf86-video-xgi-1.6.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-xgi-1.5.1.tar.bz2;
-      sha256 = "064yginmdlcrk09rmwgbjn1jvgm38j9prfhmzv25yd4xgwlga6fb";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-xgi-1.6.0.tar.bz2;
+      sha256 = "05wl9a51pik5swkzpyhh4y2gf6m3hd458r4142p5w39bbkmhcd78";
     };
     buildInputs = [pkgconfig fontsproto glproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xineramaproto xorgserver xproto ];
   })) // {inherit fontsproto glproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xineramaproto xorgserver xproto ;};
     
   xf86videoxgixp = (stdenv.mkDerivation ((if overrides ? xf86videoxgixp then overrides.xf86videoxgixp else x: x) {
-    name = "xf86-video-xgixp-1.7.99.4";
+    name = "xf86-video-xgixp-1.8.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86-video-xgixp-1.7.99.4.tar.bz2;
-      sha256 = "15bk90pr8xcwiva1bhfmqz3qjyycwnid4x7iwrwxc47zi661f2pf";
+      url = mirror://xorg/X11R7.6/src/everything/xf86-video-xgixp-1.8.0.tar.bz2;
+      sha256 = "06np5s3f3451vmjwpxbn8hb7d4dhsxff2af8qy8jlc24rinnv9is";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
   })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
     
   xf86vidmodeproto = (stdenv.mkDerivation ((if overrides ? xf86vidmodeproto then overrides.xf86vidmodeproto else x: x) {
-    name = "xf86vidmodeproto-2.3";
+    name = "xf86vidmodeproto-2.3.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xf86vidmodeproto-2.3.tar.bz2;
-      sha256 = "0iy25ayr105x5b6yfi1a2xvmgc7jaghghp6hjk2k2ys0ll9lcw4g";
+      url = mirror://xorg/individual/proto/xf86vidmodeproto-2.3.1.tar.bz2;
+      sha256 = "0w47d7gfa8zizh2bshdr2rffvbr4jqjv019mdgyh6cmplyd4kna5";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   xfs = (stdenv.mkDerivation ((if overrides ? xfs then overrides.xfs else x: x) {
-    name = "xfs-1.1.0";
+    name = "xfs-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xfs-1.1.0.tar.bz2;
-      sha256 = "0vazp4p2c9xayd1gdmlqqhklsv0770sgwvmafgjsi204rnxx9fj7";
+      url = mirror://xorg/individual/app/xfs-1.1.1.tar.bz2;
+      sha256 = "1yxm87az3xghngcsd50zz6mdgi9j6vm8pw90sjqzshwq7hx7d0qc";
     };
     buildInputs = [pkgconfig libFS libXfont xtrans ];
   })) // {inherit libFS libXfont xtrans ;};
     
   xgamma = (stdenv.mkDerivation ((if overrides ? xgamma then overrides.xgamma else x: x) {
-    name = "xgamma-1.0.3";
+    name = "xgamma-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xgamma-1.0.3.tar.bz2;
-      sha256 = "06kf7r0fq1gn2sw6rb0mxlpc5ac78hh09cviapdw5idxzf42bsz5";
+      url = mirror://xorg/X11R7.6/src/everything/xgamma-1.0.4.tar.bz2;
+      sha256 = "05lfx9517why64b3n14drid7vn1d2g2ymg22034vqq50h9437j3x";
     };
     buildInputs = [pkgconfig libX11 libXxf86vm ];
   })) // {inherit libX11 libXxf86vm ;};
     
   xhost = (stdenv.mkDerivation ((if overrides ? xhost then overrides.xhost else x: x) {
-    name = "xhost-1.0.3";
+    name = "xhost-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xhost-1.0.3.tar.bz2;
-      sha256 = "05xd6j8l120kcz4vz9pdrv1wnfhkq2rlagizliry57z8cmy00qrd";
+      url = mirror://xorg/X11R7.6/src/everything/xhost-1.0.4.tar.bz2;
+      sha256 = "15558q9hgmw6vbwc2sgjkfpzw342lxci9w8vcbrmi8mpmrnc00jy";
     };
     buildInputs = [pkgconfig libX11 libXau libXmu ];
   })) // {inherit libX11 libXau libXmu ;};
     
   xineramaproto = (stdenv.mkDerivation ((if overrides ? xineramaproto then overrides.xineramaproto else x: x) {
-    name = "xineramaproto-1.2";
+    name = "xineramaproto-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xineramaproto-1.2.tar.bz2;
-      sha256 = "0r5slwkj8h8v548ysgwhm6idqnij8w96nkgr33ch2wpcrs3q1s2q";
+      url = mirror://xorg/individual/proto/xineramaproto-1.2.1.tar.bz2;
+      sha256 = "0ns8abd27x7gbp4r44z3wc5k9zqxxj8zjnazqpcyr4n17nxp8xcp";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   xinit = (stdenv.mkDerivation ((if overrides ? xinit then overrides.xinit else x: x) {
-    name = "xinit-1.2.1";
+    name = "xinit-1.3.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xinit-1.2.1.tar.bz2;
-      sha256 = "01wvdi69v9yadzavch6l8c80v1rqgxsyl6cl3byq0v8vx0xcgg0n";
+      url = mirror://xorg/individual/app/xinit-1.3.0.tar.bz2;
+      sha256 = "0k70bw6x2zgvmd0l7xyzbps18pbzfz26yzjva1vcz9s239pf6xms";
     };
     buildInputs = [pkgconfig libX11 ];
   })) // {inherit libX11 ;};
     
   xinput = (stdenv.mkDerivation ((if overrides ? xinput then overrides.xinput else x: x) {
-    name = "xinput-1.5.2";
+    name = "xinput-1.5.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xinput-1.5.2.tar.bz2;
-      sha256 = "1433lw6xv59f240rgrpgyf9qrmh9knpx64gg95bm32cjvh0qdrrc";
+      url = mirror://xorg/X11R7.6/src/everything/xinput-1.5.3.tar.bz2;
+      sha256 = "0xjwi1sjmvmmzgcvzvz4q8wn0gs7x3aivknx77yfxnndrqqy3bba";
     };
     buildInputs = [pkgconfig inputproto libX11 libXext libXi ];
   })) // {inherit inputproto libX11 libXext libXi ;};
     
   xkbcomp = (stdenv.mkDerivation ((if overrides ? xkbcomp then overrides.xkbcomp else x: x) {
-    name = "xkbcomp-1.1.1";
+    name = "xkbcomp-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xkbcomp-1.1.1.tar.bz2;
-      sha256 = "0qz6hbypcv350cqrnlks7ncby6gl6g4v5rb550ga9zyr8gyvqxcp";
+      url = mirror://xorg/individual/app/xkbcomp-1.2.1.tar.bz2;
+      sha256 = "1sv51rliqs6wygrp2hc79a5pgn6ly0bbr4sa8a8x00j4j4kjaqdp";
     };
     buildInputs = [pkgconfig libX11 libxkbfile ];
   })) // {inherit libX11 libxkbfile ;};
     
   xkbevd = (stdenv.mkDerivation ((if overrides ? xkbevd then overrides.xkbevd else x: x) {
-    name = "xkbevd-1.1.0";
+    name = "xkbevd-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xkbevd-1.1.0.tar.bz2;
-      sha256 = "1px26hmn4rv1m997r7bg01w2viaybxgsm4ddahwz27rj43fpl0s6";
+      url = mirror://xorg/X11R7.6/src/everything/xkbevd-1.1.2.tar.bz2;
+      sha256 = "0qzbh1wb2fg0wsyfqr4j15443caa1xfcxwdf1gzb4gpbkxn98qnd";
     };
     buildInputs = [pkgconfig libX11 libxkbfile ];
   })) // {inherit libX11 libxkbfile ;};
     
   xkbutils = (stdenv.mkDerivation ((if overrides ? xkbutils then overrides.xkbutils else x: x) {
-    name = "xkbutils-1.0.2";
+    name = "xkbutils-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xkbutils-1.0.2.tar.bz2;
-      sha256 = "1vhbqyqgvdzkqlkvj80sg6w4phk8f21g6n8n5djb5pm4ji2pv8qj";
+      url = mirror://xorg/X11R7.6/src/everything/xkbutils-1.0.3.tar.bz2;
+      sha256 = "1ga913pw6chssf2016kjyjl6ar2lj83pa497w97ak2kq603sy2g4";
     };
-    buildInputs = [pkgconfig inputproto libX11 libXaw libxkbfile ];
-  })) // {inherit inputproto libX11 libXaw libxkbfile ;};
+    buildInputs = [pkgconfig inputproto libX11 libXaw xproto libXt ];
+  })) // {inherit inputproto libX11 libXaw xproto libXt ;};
     
   xkill = (stdenv.mkDerivation ((if overrides ? xkill then overrides.xkill else x: x) {
-    name = "xkill-1.0.2";
+    name = "xkill-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xkill-1.0.2.tar.bz2;
-      sha256 = "09sskbg2njl52kq7x8l95m7sfg195b06f0wdp8fankizilwz0bak";
+      url = mirror://xorg/X11R7.6/src/everything/xkill-1.0.3.tar.bz2;
+      sha256 = "1ac110qbb9a4x1dim3vaghvdk3jc708i2p3f4rmag33458khg0xx";
     };
     buildInputs = [pkgconfig libX11 libXmu ];
   })) // {inherit libX11 libXmu ;};
@@ -1975,18 +1961,18 @@ let
     name = "xlsatoms-1.1.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xlsatoms-1.1.0.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xlsatoms-1.1.0.tar.bz2;
       sha256 = "03fbknvq7rixfgpv5945s7r82jz2xc06a0n09w1p22hl4pd7l0aa";
     };
     buildInputs = [pkgconfig libxcb ];
   })) // {inherit libxcb ;};
     
   xlsclients = (stdenv.mkDerivation ((if overrides ? xlsclients then overrides.xlsclients else x: x) {
-    name = "xlsclients-1.1.0";
+    name = "xlsclients-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xlsclients-1.1.0.tar.bz2;
-      sha256 = "037sph4zyar6061445xmf1bqrmm00k6qr9lpypjnrx4ragsm2nzr";
+      url = mirror://xorg/X11R7.6/src/everything/xlsclients-1.1.1.tar.bz2;
+      sha256 = "0ng81cm40881gddzwrfdbsvbnqfpqllxaxdsa8m2ljqxlq9mwfs5";
     };
     buildInputs = [pkgconfig libxcb xcbutil ];
   })) // {inherit libxcb xcbutil ;};
@@ -2002,51 +1988,51 @@ let
   })) // {inherit libXaw libXt ;};
     
   xmodmap = (stdenv.mkDerivation ((if overrides ? xmodmap then overrides.xmodmap else x: x) {
-    name = "xmodmap-1.0.4";
+    name = "xmodmap-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xmodmap-1.0.4.tar.bz2;
-      sha256 = "1v8bpp3svyza9nn3f8jlilf01nwwzchr3a0sl5h9vxcrbm966nl0";
+      url = mirror://xorg/X11R7.6/src/everything/xmodmap-1.0.5.tar.bz2;
+      sha256 = "00il5y6q2m90f62cqzgc0ni5qg3y946gf98jj325kx8cgfhyf7j2";
     };
     buildInputs = [pkgconfig libX11 ];
   })) // {inherit libX11 ;};
     
   xorgcffiles = (stdenv.mkDerivation ((if overrides ? xorgcffiles then overrides.xorgcffiles else x: x) {
-    name = "xorg-cf-files-1.0.3";
+    name = "xorg-cf-files-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/util/xorg-cf-files-1.0.3.tar.bz2;
-      sha256 = "02z2w72bwa1hvjyp7ilw37qs2zbr7cggabq18jzdpb4dzgcdwcmw";
+      url = mirror://xorg/individual/util/xorg-cf-files-1.0.4.tar.bz2;
+      sha256 = "0s86h66b3w4623m88fg2csp41cnr08qc8i3gkj85k3wpwj1wxs9n";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   xorgdocs = (stdenv.mkDerivation ((if overrides ? xorgdocs then overrides.xorgdocs else x: x) {
-    name = "xorg-docs-1.5";
+    name = "xorg-docs-1.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xorg-docs-1.5.tar.bz2;
-      sha256 = "1z7afnz0cxla7dz9gj95vwrwzqph7w90kd6d5ah7dbcp5rc67k32";
+      url = mirror://xorg/X11R7.6/src/everything/xorg-docs-1.6.tar.bz2;
+      sha256 = "0clxy41642jx77mmw5j2fnwa88ms1a7z1z8xpzrgs45bhv21pcpn";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   xorgserver = (stdenv.mkDerivation ((if overrides ? xorgserver then overrides.xorgserver else x: x) {
-    name = "xorg-server-1.8.2";
+    name = "xorg-server-1.9.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/xserver/xorg-server-1.8.2.tar.bz2;
-      sha256 = "1qmcmrv26p8645nwdm2q558mpvi75fpn9knkacanzysw5497w5aj";
+      url = mirror://xorg/individual/xserver/xorg-server-1.9.4.tar.bz2;
+      sha256 = "0n14xjw7gaqk4xhx7lhr387wr81yvf3cjw1wn0vjx3x5pdz084dd";
     };
-    buildInputs = [pkgconfig bigreqsproto damageproto dbus fixesproto fontsproto inputproto kbproto libdrm openssl libpciaccess perl pixman randrproto renderproto libX11 libXau libXaw xcmiscproto libXdmcp xextproto libXfixes libXfont libxkbfile libXmu libXpm xproto libXrender libXres libXt xtrans libXv ];
-  })) // {inherit bigreqsproto damageproto dbus fixesproto fontsproto inputproto kbproto libdrm openssl libpciaccess perl pixman randrproto renderproto libX11 libXau libXaw xcmiscproto libXdmcp xextproto libXfixes libXfont libxkbfile libXmu libXpm xproto libXrender libXres libXt xtrans libXv ;};
+    buildInputs = [pkgconfig bigreqsproto damageproto fixesproto fontsproto inputproto kbproto libdrm openssl libpciaccess perl randrproto renderproto libX11 libXau libXaw xcmiscproto libXdmcp xextproto libXfixes libxkbfile libXmu libXpm xproto libXrender libXres libXt xtrans libXv ];
+  })) // {inherit bigreqsproto damageproto fixesproto fontsproto inputproto kbproto libdrm openssl libpciaccess perl randrproto renderproto libX11 libXau libXaw xcmiscproto libXdmcp xextproto libXfixes libxkbfile libXmu libXpm xproto libXrender libXres libXt xtrans libXv ;};
     
   xorgsgmldoctools = (stdenv.mkDerivation ((if overrides ? xorgsgmldoctools then overrides.xorgsgmldoctools else x: x) {
-    name = "xorg-sgml-doctools-1.3";
+    name = "xorg-sgml-doctools-1.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xorg-sgml-doctools-1.3.tar.bz2;
-      sha256 = "1cnvfmdnyadh56sj29snz5k94zjbnf9aiad6l8dsdi2dm2gjgh6m";
+      url = mirror://xorg/X11R7.6/src/everything/xorg-sgml-doctools-1.6.tar.bz2;
+      sha256 = "0smfsman09dqqw6h638w44lgp2kng2jwk53sb74i7r53x1v09llq";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
@@ -2055,128 +2041,128 @@ let
     name = "xpr-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xpr-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.6/src/everything/xpr-1.0.3.tar.bz2;
       sha256 = "0zckkd45lzbikmdn29r12faby8g5prjkacc1z8aw87pq9sqdcy18";
     };
     buildInputs = [pkgconfig libX11 libXmu ];
   })) // {inherit libX11 libXmu ;};
     
   xprop = (stdenv.mkDerivation ((if overrides ? xprop then overrides.xprop else x: x) {
-    name = "xprop-1.1.0";
+    name = "xprop-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xprop-1.1.0.tar.bz2;
-      sha256 = "09k2qvfg5fvya8a26082ks3laif5fa9a3zdg7c8mz2bl2n80g3nc";
+      url = mirror://xorg/X11R7.6/src/everything/xprop-1.2.0.tar.bz2;
+      sha256 = "173bpq7x2amr77xy28f9m4nfdwr340wj3jw9hkbbznq35c48ql2k";
     };
     buildInputs = [pkgconfig libX11 ];
   })) // {inherit libX11 ;};
     
   xproto = (stdenv.mkDerivation ((if overrides ? xproto then overrides.xproto else x: x) {
-    name = "xproto-7.0.17";
+    name = "xproto-7.0.20";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/proto/xproto-7.0.17.tar.bz2;
-      sha256 = "00cxgwaijhz7vp60washz03nvwk42f7sz72xkzfcx01pbgf1yb4v";
+      url = mirror://xorg/X11R7.6/src/everything/xproto-7.0.20.tar.bz2;
+      sha256 = "0alyxrd8wmdvdqm1v3q4x5brv4prj0gxf59pp9h5wycvgpj7zs1z";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   xrandr = (stdenv.mkDerivation ((if overrides ? xrandr then overrides.xrandr else x: x) {
-    name = "xrandr-1.3.3";
+    name = "xrandr-1.3.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xrandr-1.3.3.tar.bz2;
-      sha256 = "0iiywk10vi56k7bpdlhn4wv0friz8vzz6dbfhy1xrnrvsgkg73wn";
+      url = mirror://xorg/X11R7.6/src/everything/xrandr-1.3.4.tar.bz2;
+      sha256 = "1nsadgvn57b9way7v0s4yk2729rwqj1m5fbilmd38lfcws928jjy";
     };
     buildInputs = [pkgconfig libX11 libXrandr libXrender ];
   })) // {inherit libX11 libXrandr libXrender ;};
     
   xrdb = (stdenv.mkDerivation ((if overrides ? xrdb then overrides.xrdb else x: x) {
-    name = "xrdb-1.0.6";
+    name = "xrdb-1.0.8";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xrdb-1.0.6.tar.bz2;
-      sha256 = "16gwcvpp93mn65dqg5ijc5yns7mglsnabx2dn4icypv6chvjl1ld";
+      url = mirror://xorg/individual/app/xrdb-1.0.8.tar.bz2;
+      sha256 = "1r2k50qnflj40iandhxhvnrvnhy4qliz5kymlh682455gjmlgn7z";
     };
     buildInputs = [pkgconfig libX11 libXmu ];
   })) // {inherit libX11 libXmu ;};
     
   xrefresh = (stdenv.mkDerivation ((if overrides ? xrefresh then overrides.xrefresh else x: x) {
-    name = "xrefresh-1.0.3";
+    name = "xrefresh-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xrefresh-1.0.3.tar.bz2;
-      sha256 = "1nbyglx05jjz1yjj50x5w449z9f90rw8xzzwrbxvyjximvvsbq1y";
+      url = mirror://xorg/X11R7.6/src/everything/xrefresh-1.0.4.tar.bz2;
+      sha256 = "0ywxzwa4kmnnmf8idr8ssgcil9xvbhnk155zpsh2i8ay93mh5586";
     };
     buildInputs = [pkgconfig libX11 ];
   })) // {inherit libX11 ;};
     
   xset = (stdenv.mkDerivation ((if overrides ? xset then overrides.xset else x: x) {
-    name = "xset-1.1.0";
+    name = "xset-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xset-1.1.0.tar.bz2;
-      sha256 = "0hs6amxfjbqp2y6bxxihmfnhxral6isb5l18z1fa54080g35kj3j";
+      url = mirror://xorg/X11R7.6/src/everything/xset-1.2.1.tar.bz2;
+      sha256 = "18cja8b9xrilpshz0z8bkmpjm6pjb20w71xf41jgm70h4dymz6gc";
     };
-    buildInputs = [pkgconfig libX11 libXext libXmu libXp libXxf86misc ];
-  })) // {inherit libX11 libXext libXmu libXp libXxf86misc ;};
+    buildInputs = [pkgconfig libX11 libXext libXmu libXxf86misc ];
+  })) // {inherit libX11 libXext libXmu libXxf86misc ;};
     
   xsetroot = (stdenv.mkDerivation ((if overrides ? xsetroot then overrides.xsetroot else x: x) {
-    name = "xsetroot-1.0.3";
+    name = "xsetroot-1.1.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xsetroot-1.0.3.tar.bz2;
-      sha256 = "0j4gfa6f177hy230fb0gnnj6ibkwbmh9x7rwrmgspqvdd3615rfp";
+      url = mirror://xorg/X11R7.6/src/everything/xsetroot-1.1.0.tar.bz2;
+      sha256 = "1bazzsf9sy0q2bj4lxvh1kvyrhmpggzb7jg575i15sksksa3xwc8";
     };
-    buildInputs = [pkgconfig libX11 xbitmaps libXmu ];
-  })) // {inherit libX11 xbitmaps libXmu ;};
+    buildInputs = [pkgconfig libX11 xbitmaps libXcursor libXmu ];
+  })) // {inherit libX11 xbitmaps libXcursor libXmu ;};
     
   xtrans = (stdenv.mkDerivation ((if overrides ? xtrans then overrides.xtrans else x: x) {
-    name = "xtrans-1.2.5";
+    name = "xtrans-1.2.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xtrans-1.2.5.tar.bz2;
-      sha256 = "1688p5v9jalykyj97jv34a6mxfipa7givb7fvbjpd0fsyj8s6wfc";
+      url = mirror://xorg/X11R7.6/src/everything/xtrans-1.2.6.tar.bz2;
+      sha256 = "1im5kj6y8j8m9i5lf1c33dkag6sb7g1zmi0niydqrfyx0lvsgyf5";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   xvinfo = (stdenv.mkDerivation ((if overrides ? xvinfo then overrides.xvinfo else x: x) {
-    name = "xvinfo-1.1.0";
+    name = "xvinfo-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xvinfo-1.1.0.tar.bz2;
-      sha256 = "1yvfx1lli1k90h8ww0krgd9y3cr0c47nklmr5b6daayrl1n8yc8a";
+      url = mirror://xorg/X11R7.6/src/everything/xvinfo-1.1.1.tar.bz2;
+      sha256 = "119rd93d7661ll1rfcdssn78l0b97326smziyr2f5wdwj2hlmiv0";
     };
     buildInputs = [pkgconfig libX11 libXv ];
   })) // {inherit libX11 libXv ;};
     
   xwd = (stdenv.mkDerivation ((if overrides ? xwd then overrides.xwd else x: x) {
-    name = "xwd-1.0.3";
+    name = "xwd-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xwd-1.0.3.tar.bz2;
-      sha256 = "1zg3grx6sjm2w1aqyn80k7qvf9p00pp0k4ihsiil8mbc13mdpwpz";
+      url = mirror://xorg/X11R7.6/src/everything/xwd-1.0.4.tar.bz2;
+      sha256 = "07mh72j794hwq5rnqkmdd4wj27mqmdc3da4jkwpva2hsj64wi9mp";
     };
     buildInputs = [pkgconfig libX11 ];
   })) // {inherit libX11 ;};
     
   xwininfo = (stdenv.mkDerivation ((if overrides ? xwininfo then overrides.xwininfo else x: x) {
-    name = "xwininfo-1.0.5";
+    name = "xwininfo-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xwininfo-1.0.5.tar.bz2;
-      sha256 = "1nfw5jj67g0vnmq5l7622agb3c27jzgl2vbcrsnfgi0bgcdbidld";
+      url = mirror://xorg/X11R7.6/src/everything/xwininfo-1.1.1.tar.bz2;
+      sha256 = "0g9ll8hv0k5cjz4l5kdv64xzmalf9mpwjzcy8nx6myvh92z5fnk4";
     };
-    buildInputs = [pkgconfig libX11 libXext ];
-  })) // {inherit libX11 libXext ;};
+    buildInputs = [pkgconfig libX11 libxcb xproto ];
+  })) // {inherit libX11 libxcb xproto ;};
     
   xwud = (stdenv.mkDerivation ((if overrides ? xwud then overrides.xwud else x: x) {
-    name = "xwud-1.0.2";
+    name = "xwud-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.5/src/everything/xwud-1.0.2.tar.bz2;
-      sha256 = "1h8ap7c29yib6fza2qgbf6pl11km0wjdmairjrl13i0dzzxmsd44";
+      url = mirror://xorg/X11R7.6/src/everything/xwud-1.0.3.tar.bz2;
+      sha256 = "0hrc6gbipg7cximgkaxixlha9m2fph31dpzhzdfw7g63bkhfmzc8";
     };
     buildInputs = [pkgconfig libX11 ];
   })) // {inherit libX11 ;};
diff --git a/pkgs/servers/x11/xorg/extra.list b/pkgs/servers/x11/xorg/extra.list
index 405e041545de..6dd80a89978d 100644
--- a/pkgs/servers/x11/xorg/extra.list
+++ b/pkgs/servers/x11/xorg/extra.list
@@ -1,5 +1,2 @@
-http://xcb.freedesktop.org/dist/xcb-proto-1.6.tar.bz2
-http://xcb.freedesktop.org/dist/xcb-util-0.3.6.tar.bz2
-http://xcb.freedesktop.org/dist/libxcb-1.6.tar.bz2
-http://xcb.freedesktop.org/dist/libpthread-stubs-0.3.tar.bz2
-mirror://xorg/individual/lib/pixman-0.18.2.tar.bz2
+mirror://xorg/individual/xcb/xcb-util-0.3.6.tar.bz2
+mirror://xorg/individual/lib/pixman-0.20.2.tar.bz2
diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
index 2e4ff56294cf..444a0637906c 100755
--- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
+++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
@@ -25,8 +25,10 @@ my @missingPCs = ("fontconfig", "libdrm", "libXaw", "zlib", "perl", "python", "m
 $pcMap{$_} = $_ foreach @missingPCs;
 $pcMap{"freetype2"} = "freetype";
 $pcMap{"libpng12"} = "libpng";
+$pcMap{"libpng"} = "libpng";
 $pcMap{"dbus-1"} = "dbus";
 $pcMap{"uuid"} = "libuuid";
+$pcMap{"libudev"} = "udev";
 $pcMap{"gl"} = "mesa";
 $pcMap{"\$PIXMAN"} = "pixman";
 $pcMap{"\$RENDERPROTO"} = "renderproto";
diff --git a/pkgs/servers/x11/xorg/old.list b/pkgs/servers/x11/xorg/old.list
index b54159cf2204..5eacf46d1c36 100644
--- a/pkgs/servers/x11/xorg/old.list
+++ b/pkgs/servers/x11/xorg/old.list
@@ -1,15 +1,15 @@
-mirror://xorg/individual/app/twm-1.0.4.tar.bz2
-mirror://xorg/individual/app/xclock-1.0.4.tar.bz2
+mirror://xorg/individual/app/twm-1.0.6.tar.bz2
+mirror://xorg/individual/app/xclock-1.0.5.tar.bz2
 mirror://xorg/individual/app/xdm-1.1.10.tar.bz2
-mirror://xorg/individual/app/xeyes-1.1.0.tar.bz2
-mirror://xorg/individual/app/xfs-1.1.0.tar.bz2
-mirror://xorg/individual/app/xinit-1.2.1.tar.bz2
+mirror://xorg/individual/app/xeyes-1.1.1.tar.bz2
+mirror://xorg/individual/app/xfs-1.1.1.tar.bz2
+mirror://xorg/individual/app/xinit-1.3.0.tar.bz2
 mirror://xorg/individual/app/xmessage-1.0.3.tar.bz2
-mirror://xorg/individual/lib/libXp-1.0.0.tar.bz2
-mirror://xorg/individual/lib/libXxf86misc-1.0.2.tar.bz2
-mirror://xorg/individual/proto/printproto-1.0.4.tar.bz2
+mirror://xorg/individual/lib/libXp-1.0.1.tar.bz2
+mirror://xorg/individual/lib/libXxf86misc-1.0.3.tar.bz2
+mirror://xorg/individual/proto/printproto-1.0.5.tar.bz2
 mirror://xorg/individual/proto/xf86miscproto-0.9.3.tar.bz2
 mirror://xorg/individual/util/gccmakedep-1.0.2.tar.bz2
-mirror://xorg/individual/util/imake-1.0.3.tar.bz2
-mirror://xorg/individual/util/lndir-1.0.1.tar.bz2
-mirror://xorg/individual/util/xorg-cf-files-1.0.3.tar.bz2
+mirror://xorg/individual/util/imake-1.0.4.tar.bz2
+mirror://xorg/individual/util/lndir-1.0.2.tar.bz2
+mirror://xorg/individual/util/xorg-cf-files-1.0.4.tar.bz2
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 87d4924a363c..f1b0f64f02e8 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -49,6 +49,11 @@ in
 
   libX11 = attrs: attrs // {
     preConfigure = setMalloc0ReturnsNullCrossCompiling;
+    postInstall =
+      ''
+        # Remove useless DocBook XML files.
+        rm -rf $out/share/doc
+      '';
   };
 
   libXrender = attrs: attrs // {
@@ -63,13 +68,30 @@ in
     preConfigure = setMalloc0ReturnsNullCrossCompiling;
   };
 
+  # Propagate some build inputs because of header file dependencies.
+  # Note: most of these are in Requires.private, so maybe builder.sh
+  # should propagate them automatically.
   libXt = attrs: attrs // {
     preConfigure = setMalloc0ReturnsNullCrossCompiling;
+    propagatedBuildInputs = [ xorg.libSM ];
   };
 
+  compositeproto = attrs: attrs // {
+    propagatedBuildInputs = [ xorg.fixesproto ];
+  };
+  
+  libXcomposite = attrs: attrs // {
+    propagatedBuildInputs = [ xorg.libXfixes ];
+  };
+  
+  libXaw = attrs: attrs // {
+    propagatedBuildInputs = [ xorg.libXmu ];
+  };
+  
   libXft = attrs: attrs // {
-    buildInputs = attrs.buildInputs ++ [ xorg.xproto xorg.libX11
-        xorg.renderproto ];
+    buildInputs = attrs.buildInputs ++
+      [ xorg.xproto xorg.libX11 xorg.renderproto ];
+    propagatedBuildInputs = [ xorg.libXrender ];
     preConfigure = setMalloc0ReturnsNullCrossCompiling;
   };
 
@@ -91,13 +113,13 @@ in
   };
 
   xf86inputevdev = attrs: attrs // {
-    configureFlags = "--with-sdkdir=\${out}/include/xorg";
     preBuild = "sed -e '/motion_history_proc/d; /history_size/d;' -i src/*.c";
     buildInputs = attrs.buildInputs ++ [xorg.kbproto xorg.libxkbfile xorg.randrproto];
+    installFlags = "sdkdir=\${out}/include/xorg";
   };
 
   xf86inputsynaptics = attrs: attrs // {
-    makeFlags = "sdkdir=\${out}/include/xorg";
+    installFlags = "sdkdir=\${out}/include/xorg configdir=\${out}/include/xorg";
   };
 
   xf86videointel = attrs: attrs // {
@@ -135,15 +157,17 @@ in
   xorgserver = attrs: attrs // {
     patches = [./xorgserver-dri-path.patch ./xorgserver-xkbcomp-path.patch];
     buildInputs = attrs.buildInputs ++
-      [ args.zlib args.udev args.mesa
+      [ args.zlib args.udev args.mesa args.dbus.libs
         xorg.xf86bigfontproto xorg.glproto xorg.xf86driproto
         xorg.compositeproto xorg.scrnsaverproto xorg.resourceproto
-        xorg.xineramaproto xorg.dri2proto xorg.xf86dgaproto
+        xorg.xineramaproto xorg.xf86dgaproto
         xorg.dmxproto xorg.libdmx xorg.xf86vidmodeproto
-        xorg.recordproto xorg.libXext
+        xorg.recordproto xorg.libXext xorg.pixman xorg.libXfont
       ];
     propagatedBuildInputs =
-      [ xorg.libpciaccess xorg.inputproto xorg.xextproto xorg.randrproto ];
+      [ xorg.libpciaccess xorg.inputproto xorg.xextproto xorg.randrproto
+        xorg.dri2proto xorg.kbproto
+      ];
     postInstall =
       ''
         rm -fr $out/share/X11/xkb/compiled
diff --git a/pkgs/servers/x11/xorg/tarballs-7.5.list b/pkgs/servers/x11/xorg/tarballs-7.5.list
deleted file mode 100644
index 7c0748893ee4..000000000000
--- a/pkgs/servers/x11/xorg/tarballs-7.5.list
+++ /dev/null
@@ -1,197 +0,0 @@
-mirror://xorg/X11R7.5/src/everything/applewmproto-1.4.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/bdftopcf-1.0.2.tar.bz2
-mirror://xorg/X11R7.5/src/everything/bigreqsproto-1.1.0.tar.bz2
-mirror://xorg/X11R7.5/src/everything/compositeproto-0.4.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/damageproto-1.2.0.tar.bz2
-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/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
-mirror://xorg/X11R7.5/src/everything/font-bh-75dpi-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-bh-lucidatypewriter-100dpi-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-bh-lucidatypewriter-75dpi-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-bh-ttf-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-bh-type1-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-bitstream-100dpi-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-bitstream-75dpi-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-bitstream-type1-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-cronyx-cyrillic-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-cursor-misc-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-daewoo-misc-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-dec-misc-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-ibm-type1-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-isas-misc-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-jis-misc-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-micro-misc-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-misc-cyrillic-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-misc-ethiopic-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-misc-meltho-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-misc-misc-1.1.0.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-mutt-misc-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-schumacher-misc-1.1.0.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-screen-cyrillic-1.0.2.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-sony-misc-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/fontsproto-2.1.0.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-sun-misc-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-util-1.1.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-winitzki-cyrillic-1.0.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/font-xfree86-type1-1.0.2.tar.bz2
-mirror://xorg/individual/proto/glproto-1.4.11.tar.bz2
-mirror://xorg/X11R7.5/src/everything/iceauth-1.0.3.tar.bz2
-mirror://xorg/X11R7.5/src/everything/inputproto-2.0.tar.bz2
-mirror://xorg/X11R7.5/src/everything/kbproto-1.0.4.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libAppleWM-1.4.0.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libdmx-1.1.0.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libfontenc-1.0.5.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libFS-1.0.2.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libICE-1.0.6.tar.bz2
-mirror://xorg/individual/lib/libpciaccess-0.12.0.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libSM-1.1.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libWindowsWM-1.0.1.tar.bz2
-mirror://xorg/individual/lib/libX11-1.3.4.tar.bz2
-mirror://xorg/individual/lib/libXau-1.0.6.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libXaw-1.0.7.tar.bz2
-mirror://xorg/individual/lib/libXcomposite-0.4.2.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libXcursor-1.1.10.tar.bz2
-mirror://xorg/individual/lib/libXdamage-1.1.3.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libXdmcp-1.0.3.tar.bz2
-mirror://xorg/individual/lib/libXext-1.1.2.tar.bz2
-mirror://xorg/individual/lib/libXfixes-4.0.5.tar.bz2
-mirror://xorg/individual/lib/libXfont-1.4.2.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libXft-2.1.14.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libXi-1.3.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libXinerama-1.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libxkbfile-1.0.6.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libXmu-1.0.5.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libXpm-3.5.8.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libXrandr-1.3.0.tar.bz2
-mirror://xorg/individual/lib/libXrender-0.9.6.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libXres-1.0.4.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libXScrnSaver-1.2.0.tar.bz2
-mirror://xorg/individual/lib/libXt-1.0.8.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libXtst-1.1.0.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libXv-1.0.5.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libXvMC-1.0.5.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libXxf86dga-1.1.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/libXxf86vm-1.1.0.tar.bz2
-mirror://xorg/X11R7.5/src/everything/luit-1.0.4.tar.bz2
-mirror://xorg/X11R7.5/src/everything/makedepend-1.0.2.tar.bz2
-mirror://xorg/X11R7.5/src/everything/mkfontdir-1.0.5.tar.bz2
-mirror://xorg/X11R7.5/src/everything/mkfontscale-1.0.7.tar.bz2
-mirror://xorg/X11R7.5/src/everything/randrproto-1.3.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/recordproto-1.14.tar.bz2
-mirror://xorg/X11R7.5/src/everything/renderproto-0.11.tar.bz2
-mirror://xorg/X11R7.5/src/everything/resourceproto-1.1.0.tar.bz2
-mirror://xorg/X11R7.5/src/everything/scrnsaverproto-1.2.0.tar.bz2
-mirror://xorg/X11R7.5/src/everything/sessreg-1.0.5.tar.bz2
-mirror://xorg/X11R7.5/src/everything/setxkbmap-1.1.0.tar.bz2
-mirror://xorg/X11R7.5/src/everything/smproxy-1.0.3.tar.bz2
-mirror://xorg/individual/util/util-macros-1.10.0.tar.bz2
-mirror://xorg/X11R7.5/src/everything/videoproto-2.3.0.tar.bz2
-mirror://xorg/X11R7.5/src/everything/windowswmproto-1.0.4.tar.bz2
-mirror://xorg/X11R7.5/src/everything/x11perf-1.5.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xauth-1.0.4.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xbacklight-1.1.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xbitmaps-1.1.0.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xcmiscproto-1.2.0.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xcmsdb-1.0.2.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xcursorgen-1.0.3.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xcursor-themes-1.0.2.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xdpyinfo-1.1.0.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xdriinfo-1.0.3.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xev-1.0.4.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xextproto-7.1.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86bigfontproto-1.2.0.tar.bz2
-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.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.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
-mirror://xorg/X11R7.5/src/everything/xf86-video-ark-0.7.2.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-ast-0.89.9.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-ati-6.12.4.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-chips-1.2.2.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-cirrus-1.3.2.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-dummy-0.3.2.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-fbdev-0.4.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-geode-2.11.6.tar.bz2
-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.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
-mirror://xorg/X11R7.5/src/everything/xf86-video-newport-0.2.3.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-nv-2.1.15.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-openchrome-0.2.904.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-r128-6.8.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-rendition-4.2.3.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-s3-0.6.3.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-s3virge-1.10.4.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-savage-2.3.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-siliconmotion-1.7.3.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-sis-0.10.2.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-sisusb-0.9.3.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-suncg14-1.1.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-suncg3-1.1.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-suncg6-1.1.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-sunffb-1.2.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-sunleo-1.2.0.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-suntcx-1.1.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-tdfx-1.4.3.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86-video-tga-1.2.1.tar.bz2
-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.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
-mirror://xorg/X11R7.5/src/everything/xf86-video-xgixp-1.7.99.4.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xf86vidmodeproto-2.3.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xgamma-1.0.3.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xhost-1.0.3.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xineramaproto-1.2.tar.bz2
-mirror://xorg/individual/app/xinput-1.5.2.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xkbcomp-1.1.1.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xkbevd-1.1.0.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xkbutils-1.0.2.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xkill-1.0.2.tar.bz2
-mirror://xorg/individual/app/xlsatoms-1.1.0.tar.bz2
-mirror://xorg/individual/app/xlsclients-1.1.0.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xmodmap-1.0.4.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xorg-docs-1.5.tar.bz2
-mirror://xorg/individual/xserver/xorg-server-1.8.2.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xorg-sgml-doctools-1.3.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xpr-1.0.3.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xprop-1.1.0.tar.bz2
-mirror://xorg/individual/proto/xproto-7.0.17.tar.bz2
-mirror://xorg/individual/app/xrandr-1.3.3.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xrdb-1.0.6.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xrefresh-1.0.3.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xset-1.1.0.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xsetroot-1.0.3.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xtrans-1.2.5.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xvinfo-1.1.0.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xwd-1.0.3.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xwininfo-1.0.5.tar.bz2
-mirror://xorg/X11R7.5/src/everything/xwud-1.0.2.tar.bz2
diff --git a/pkgs/servers/x11/xorg/tarballs-7.6.list b/pkgs/servers/x11/xorg/tarballs-7.6.list
new file mode 100644
index 000000000000..6a745887ca43
--- /dev/null
+++ b/pkgs/servers/x11/xorg/tarballs-7.6.list
@@ -0,0 +1,199 @@
+mirror://xorg/X11R7.6/src/everything/applewmproto-1.4.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/bdftopcf-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/bigreqsproto-1.1.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/compositeproto-0.4.2.tar.bz2
+mirror://xorg/X11R7.6/src/everything/damageproto-1.2.1.tar.bz2
+mirror://xorg/individual/proto/dmxproto-2.3.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/dri2proto-2.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/encodings-1.0.4.tar.bz2
+mirror://xorg/X11R7.6/src/everything/fixesproto-4.1.2.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-adobe-100dpi-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-adobe-75dpi-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-adobe-utopia-100dpi-1.0.4.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-adobe-utopia-75dpi-1.0.4.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-adobe-utopia-type1-1.0.4.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-alias-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-arabic-misc-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-bh-100dpi-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-bh-75dpi-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-bh-lucidatypewriter-100dpi-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-bh-lucidatypewriter-75dpi-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-bh-ttf-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-bh-type1-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-bitstream-100dpi-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-bitstream-75dpi-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-bitstream-type1-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-cronyx-cyrillic-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-cursor-misc-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-daewoo-misc-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-dec-misc-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-ibm-type1-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-isas-misc-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-jis-misc-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-micro-misc-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-misc-cyrillic-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-misc-ethiopic-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-misc-meltho-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-misc-misc-1.1.2.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-mutt-misc-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-schumacher-misc-1.1.2.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-screen-cyrillic-1.0.4.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-sony-misc-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/fontsproto-2.1.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-sun-misc-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-util-1.2.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-winitzki-cyrillic-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/font-xfree86-type1-1.0.4.tar.bz2
+mirror://xorg/X11R7.6/src/everything/glproto-1.4.12.tar.bz2
+mirror://xorg/X11R7.6/src/everything/iceauth-1.0.4.tar.bz2
+mirror://xorg/X11R7.6/src/everything/inputproto-2.0.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/kbproto-1.0.5.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libAppleWM-1.4.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libdmx-1.1.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libfontenc-1.1.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libFS-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libICE-1.0.7.tar.bz2
+mirror://xorg/individual/lib/libpciaccess-0.12.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libpthread-stubs-0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libSM-1.2.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libWindowsWM-1.0.1.tar.bz2
+mirror://xorg/individual/lib/libX11-1.4.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libXau-1.0.6.tar.bz2
+mirror://xorg/individual/lib/libXaw-1.0.9.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libxcb-1.7.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libXcomposite-0.4.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libXcursor-1.1.11.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libXdamage-1.1.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libXdmcp-1.1.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libXext-1.2.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libXfixes-4.0.5.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libXfont-1.4.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libXft-2.2.0.tar.bz2
+mirror://xorg/individual/lib/libXi-1.4.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libXinerama-1.1.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libxkbfile-1.0.7.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libXmu-1.1.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libXpm-3.5.9.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libXrandr-1.3.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libXrender-0.9.6.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libXres-1.0.5.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libXScrnSaver-1.2.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libXt-1.0.9.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libXtst-1.2.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libXv-1.0.6.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libXvMC-1.0.6.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libXxf86dga-1.1.2.tar.bz2
+mirror://xorg/X11R7.6/src/everything/libXxf86vm-1.1.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/luit-1.1.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/makedepend-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/mkfontdir-1.0.6.tar.bz2
+mirror://xorg/X11R7.6/src/everything/mkfontscale-1.0.8.tar.bz2
+mirror://xorg/X11R7.6/src/everything/randrproto-1.3.2.tar.bz2
+mirror://xorg/X11R7.6/src/everything/recordproto-1.14.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/renderproto-0.11.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/resourceproto-1.1.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/scrnsaverproto-1.2.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/sessreg-1.0.6.tar.bz2
+mirror://xorg/X11R7.6/src/everything/setxkbmap-1.2.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/smproxy-1.0.4.tar.bz2
+mirror://xorg/X11R7.6/src/everything/util-macros-1.11.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/videoproto-2.3.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/windowswmproto-1.0.4.tar.bz2
+mirror://xorg/individual/app/x11perf-1.5.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xauth-1.0.5.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xbacklight-1.1.2.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xbitmaps-1.1.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xcb-proto-1.6.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xcmiscproto-1.2.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xcmsdb-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xcursorgen-1.0.4.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xcursor-themes-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xdpyinfo-1.2.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xdriinfo-1.0.4.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xev-1.1.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xextproto-7.1.2.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86bigfontproto-1.2.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86dgaproto-2.1.tar.bz2
+mirror://xorg/individual/proto/xf86driproto-2.1.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-input-acecad-1.4.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-input-aiptek-1.3.1.tar.bz2
+mirror://xorg/individual/driver/xf86-input-evdev-2.6.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-input-joystick-1.5.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-input-keyboard-1.5.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-input-mouse-1.6.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-input-synaptics-1.3.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-input-vmmouse-12.6.10.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-input-void-1.3.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-apm-1.2.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-ark-0.7.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-ast-0.91.10.tar.bz2
+mirror://xorg/individual/driver/xf86-video-ati-6.14.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-chips-1.2.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-cirrus-1.3.2.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-dummy-0.3.4.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-fbdev-0.4.2.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-geode-2.11.10.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-glide-1.1.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-glint-1.2.5.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-i128-1.3.4.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-i740-1.3.2.tar.bz2
+mirror://xorg/individual/driver/xf86-video-intel-2.14.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-mach64-6.8.2.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-mga-1.4.13.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-neomagic-1.2.5.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-newport-0.2.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-nv-2.1.18.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-openchrome-0.2.904.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-r128-6.8.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-rendition-4.2.4.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-s3-0.6.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-s3virge-1.10.4.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-savage-2.3.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-siliconmotion-1.7.4.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-sis-0.10.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-sisusb-0.9.4.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-suncg14-1.1.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-suncg3-1.1.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-suncg6-1.1.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-sunffb-1.2.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-sunleo-1.2.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-suntcx-1.1.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-tdfx-1.4.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-tga-1.2.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-trident-1.3.4.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-tseng-1.2.4.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-v4l-0.2.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-vesa-2.3.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-vmware-11.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-voodoo-1.2.4.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-wsfb-0.3.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-xgi-1.6.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xf86-video-xgixp-1.8.0.tar.bz2
+mirror://xorg/individual/proto/xf86vidmodeproto-2.3.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xgamma-1.0.4.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xhost-1.0.4.tar.bz2
+mirror://xorg/individual/proto/xineramaproto-1.2.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xinput-1.5.3.tar.bz2
+mirror://xorg/individual/app/xkbcomp-1.2.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xkbevd-1.1.2.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xkbutils-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xkill-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xlsatoms-1.1.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xlsclients-1.1.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xmodmap-1.0.5.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xorg-docs-1.6.tar.bz2
+mirror://xorg/individual/xserver/xorg-server-1.9.4.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xorg-sgml-doctools-1.6.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xpr-1.0.3.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xprop-1.2.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xproto-7.0.20.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xrandr-1.3.4.tar.bz2
+mirror://xorg/individual/app/xrdb-1.0.8.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xrefresh-1.0.4.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xset-1.2.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xsetroot-1.1.0.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xtrans-1.2.6.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xvinfo-1.1.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xwd-1.0.4.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xwininfo-1.1.1.tar.bz2
+mirror://xorg/X11R7.6/src/everything/xwud-1.0.3.tar.bz2
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index 5e135524af9b..e4f52924cf6a 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -101,7 +101,7 @@ rec {
         NIX_CFLAGS_LINK = "-static";
 
         configureFlags =
-          (if args ? configureFlags then args.configureFlags else "")
+          (if args ? configureFlags then toString args.configureFlags else "")
           + " --disable-shared"; # brrr...
       });
       isStatic = true;
diff --git a/pkgs/tools/X11/xnee/default.nix b/pkgs/tools/X11/xnee/default.nix
index a35812f22a53..7ecb5cd22b59 100644
--- a/pkgs/tools/X11/xnee/default.nix
+++ b/pkgs/tools/X11/xnee/default.nix
@@ -1,31 +1,54 @@
-args :  
-let 
-  fetchurl = args.fetchurl;
-  lib=args.lib;
+{ fetchurl, stdenv, libX11, xproto, libXext, xextproto, libXtst
+, gtk, libXi, inputproto, pkgconfig, recordproto, texinfo }:
+
+stdenv.mkDerivation rec {
+  name = "xnee-3.09";
 
-  version = lib.attrByPath ["version"] "3.01" args; 
-  buildInputs = with args; [
-    libX11 xproto libXext xextproto libXtst gtk
-    libXi inputproto pkgconfig recordproto 
-  ];
-in
-rec {
   src = fetchurl {
-    url = "mirror://gnu/xnee/Xnee-${version}.tar.gz";
-    sha256 = "1g6wq1hjrmx102gg768nfs8a1ck77g5fn4pmprpsz9123xl4d181";
+    url = "mirror://gnu/xnee/${name}.tar.gz";
+    sha256 = "08171scqiqzgmbq03rwjvlsakvw9cqrr7h3b743j14z4jzbasi8i";
   };
 
-  inherit buildInputs;
-  configureFlags = [
-    "--disable-gnome-applet"
-  ];
+  patchPhase =
+    '' for i in `find cnee/test -name \*.sh`
+       do
+         sed -i "$i" -e's|/bin/bash|/bin/sh|g'
+       done
+    '';
+
+  buildInputs =
+    [ libX11 xproto libXext xextproto libXtst gtk
+      libXi inputproto pkgconfig recordproto
+      texinfo
+    ];
+
+  configureFlags =
+    # Do a static build because `libxnee' doesn't get installed anyway.
+    [ "--disable-gnome-applet" "--disable-shared" "--enable-static" ];
+
+  # `cnee' is linked without `-lXi' and as a consequence has a RUNPATH that
+  # lacks libXi.
+  makeFlags = "LDFLAGS=-lXi";
+
+  # XXX: Actually tests require an X server.
+  doCheck = true;
 
-  /* doConfigure should be specified separately */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
-  name = "xnee-" + version;
   meta = {
-    description = "X event recording and replay tool.";
+    description = "GNU Xnee, an X11 event recording and replay tool";
+
+    longDescription =
+      '' Xnee is a suite of programs that can record, replay and distribute
+         user actions under the X11 environment.  Think of it as a robot that
+         can imitate the job you just did.  Xnee can be used to automate
+         tests, demonstrate programs, distribute actions, record & replay
+         "macros", retype a file.
+      '';
+
+    license = "GPLv3+";
+
+    homepage = http://www.gnu.org/software/xnee/;
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
   };
 }
-
diff --git a/pkgs/tools/admin/gtk-vnc/default.nix b/pkgs/tools/admin/gtk-vnc/default.nix
new file mode 100644
index 000000000000..3b535dabbae1
--- /dev/null
+++ b/pkgs/tools/admin/gtk-vnc/default.nix
@@ -0,0 +1,62 @@
+x@{builderDefsPackage
+  , python, gtk, pygtk, gnutls, cairo, libtool, glib, pkgconfig, libtasn1
+  , libffi, cyrus_sasl, intltool, perl, perlPackages, firefox36Pkgs
+  , kbproto, libX11, libXext, xextproto, pygobject
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    ["perlPackages" "firefox36Pkgs" "gtkLibs"];
+
+  buildInputs = (map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames)))
+    ++ [perlPackages.TextCSV firefox36Pkgs.xulrunner ];
+  sourceInfo = rec {
+    baseName="gtk-vnc";
+    majorVersion="0.4";
+    minorVersion="2";
+    version="${majorVersion}.${minorVersion}";
+    name="${baseName}-${version}";
+    url="mirror://gnome/sources/${baseName}/${majorVersion}/${name}.tar.gz";
+    hash="1fkhzwpw50rnwp51lsbny16p2ckzx5rkcaiaqvkd90vwnm2cccls";
+  };
+in
+rec {
+  src = a.fetchurl {
+    url = sourceInfo.url;
+    sha256 = sourceInfo.hash;
+  };
+
+  inherit (sourceInfo) name version;
+  inherit buildInputs;
+
+  configureFlags = [
+    "--with-python"
+    "--with-examples"
+  ];
+
+  /* doConfigure should be removed if not needed */
+  phaseNames = ["fixMakefiles" "doConfigure" "doMakeInstall"];
+
+  fixMakefiles = a.fullDepEntry ''
+    find . -name 'Makefile*' -exec sed -i '{}' -e 's@=codegendir pygtk-2.0@=codegendir pygobject-2.0@' ';'
+  '' ["minInit" "doUnpack"];
+      
+  meta = {
+    description = "A GTK VNC widget";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+    license = a.lib.licenses.lgpl21;
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "http://ftp.gnome.org/pub/GNOME/sources/gtk-vnc";
+    };
+  };
+}) x
+
diff --git a/pkgs/tools/admin/tigervnc/default.nix b/pkgs/tools/admin/tigervnc/default.nix
index f76b86ffcb2b..dd76bdd26e8d 100644
--- a/pkgs/tools/admin/tigervnc/default.nix
+++ b/pkgs/tools/admin/tigervnc/default.nix
@@ -5,11 +5,11 @@ fontDirectories, fontutil }:
 with stdenv.lib;
 
 stdenv.mkDerivation {
-  name = "tigervnc-svn-4086";
+  name = "tigervnc-svn-4232";
   src = fetchsvn {
     url = https://tigervnc.svn.sourceforge.net/svnroot/tigervnc/trunk;
-    rev = 4086;
-    sha256 = "0aqn9d5yz21k5l4mwh5f73il77w2rbvsrz91z3lz4bizivvkwszc";
+    rev = 4232;
+    sha256 = "070lsddgx6qj7bpw4p65w54fr7z46vp8wyshv9p0fh3k5izrfnxj";
   };
 
   preConfigure = ''
diff --git a/pkgs/tools/archivers/sharutils/default.nix b/pkgs/tools/archivers/sharutils/default.nix
index 88f4592b34ca..ba5c7856fd07 100644
--- a/pkgs/tools/archivers/sharutils/default.nix
+++ b/pkgs/tools/archivers/sharutils/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "sharutils-4.10";
+  name = "sharutils-4.11";
 
   src = fetchurl {
     url = "mirror://gnu/sharutils/${name}.tar.bz2";
-    sha256 = "0q9g8ywsd5vwzzzvrgq3hzfqsdln9rhsqq0dhiwv2sr974c4xz5h";
+    sha256 = "0ry6qv0qnkfmkjdj8pd4qknbb4522yb97m0jd46zgv8g021ydqiy";
   };
 
   # GNU Gettext is needed on non-GNU platforms.
diff --git a/pkgs/tools/archivers/unshield/default.nix b/pkgs/tools/archivers/unshield/default.nix
index bc7906e2243f..251a62ee4894 100644
--- a/pkgs/tools/archivers/unshield/default.nix
+++ b/pkgs/tools/archivers/unshield/default.nix
@@ -1,10 +1,15 @@
-{stdenv, fetchurl, zlib}:
+{stdenv, fetchsvn, zlib, autoconf, automake, libtool}:
 
 stdenv.mkDerivation {
-  name = "unshield-0.6";
-  src = fetchurl {
-    url = mirror://sourceforge/synce/Unshield/0.6/unshield-0.6.tar.gz;
-    sha256 = "07q48zwvjz9f8barql4b894fzz897agscvj13i6gkpy862aya41b";
+  name = "unshield-0.7pre3955";
+  src = fetchsvn {
+    url = https://synce.svn.sourceforge.net/svnroot/synce/trunk/unshield;
+    rev = 3955;
+    sha256 = "0rpk7sb7b0v19qn4jn0iih505l4zkpns3mrbmm88p61xiz06zg7a";
   };
   configureFlags = "--with-zlib=${zlib}";
+  buildInputs = [autoconf automake libtool];
+  preConfigure = ''
+    ./bootstrap
+  '';
 }
diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix
index d2c28fa638e5..8037829fd5be 100644
--- a/pkgs/tools/backup/duplicity/default.nix
+++ b/pkgs/tools/backup/duplicity/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, python, librsync, gnupg, boto, makeWrapper }:
 
 stdenv.mkDerivation {
-  name = "duplicity-0.6.08b";
+  name = "duplicity-0.6.12";
 
   src = fetchurl {
-    url = http://code.launchpad.net/duplicity/0.6-series/0.6.08b/+download/duplicity-0.6.08b.tar.gz;
-    sha256 = "03bahzdq2dqngiqadfy1jwzn8an1fm46nl9frd0v6a4c52mr1g8i";
+    url = http://code.launchpad.net/duplicity/0.6-series/0.6.12/+download/duplicity-0.6.12.tar.gz;
+    sha256 = "13ypzp8g3fmbxk7mixrj390vz6sgm93pg8gdw4bk9xrbznrw6shv";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/bluetooth/bluedevil/default.nix b/pkgs/tools/bluetooth/bluedevil/default.nix
new file mode 100644
index 000000000000..287036f3e0a8
--- /dev/null
+++ b/pkgs/tools/bluetooth/bluedevil/default.nix
@@ -0,0 +1,14 @@
+{ stdenv, fetchgit, cmake, automoc4, kdelibs, libbluedevil, shared_mime_info }:
+
+stdenv.mkDerivation rec {
+  name = "bluedevil-20110303";
+
+  src = fetchgit {
+    url = git://anongit.kde.org/bluedevil.git;
+    sha256 = "1chx3cx43wic1sgzc651vxxiy9khbp9hcm7n40nmhnj9czfcg46q";
+    rev = "7e513008aa6430d3b8d0052b14201d1d813c80b9";
+  };
+
+  buildInputs = [ cmake kdelibs libbluedevil shared_mime_info automoc4 ];
+
+}
diff --git a/pkgs/tools/cd-dvd/cdrdao/adjust-includes-for-glibc-212.patch b/pkgs/tools/cd-dvd/cdrdao/adjust-includes-for-glibc-212.patch
new file mode 100644
index 000000000000..6d58eb6e9a56
--- /dev/null
+++ b/pkgs/tools/cd-dvd/cdrdao/adjust-includes-for-glibc-212.patch
@@ -0,0 +1,15 @@
+Adjust some headers for glibc 2.12 compatibility.
+Patch is a diff between the 1.2.3 release and CVS HEAD.
+
+--- cdrdao-1.2.3/dao/ScsiIf-linux.cc	2009-09-28 05:42:03.000000000 -0430
++++ /home/kkallio/q/src/r/cvs/cdrdao/cdrdao/dao/ScsiIf-linux.cc	2010-08-06 07:50:46.000000000 -0430
+@@ -19,6 +19,9 @@
+ 
+ #include <config.h>
+ 
++#include <sys/types.h>
++#include <sys/stat.h>
++
+ #include <stdio.h>
+ #include <fcntl.h>
+ #include <unistd.h>
diff --git a/pkgs/tools/cd-dvd/cdrdao/default.nix b/pkgs/tools/cd-dvd/cdrdao/default.nix
index e03f5f706aa6..375bbcda7e4d 100644
--- a/pkgs/tools/cd-dvd/cdrdao/default.nix
+++ b/pkgs/tools/cd-dvd/cdrdao/default.nix
@@ -12,9 +12,13 @@ stdenv.mkDerivation {
 
   buildInputs = [ lame libvorbis libmad pkgconfig libao ];
 
+  # Adjust some headers to match glibc 2.12 ... patch is a diff between
+  # the cdrdao CVS head and the 1.2.3 release.
+  patches = [ ./adjust-includes-for-glibc-212.patch ];
+
   # we have glibc/include/linux as a symlink to the kernel headers,
   # and the magic '..' points to kernelheaders, and not back to the glibc/include
-  patchPhase = ''
+  postPatch = ''
     sed -i 's,linux/../,,g' dao/sg_err.h
   '';
 
diff --git a/pkgs/tools/cd-dvd/mkcue/default.nix b/pkgs/tools/cd-dvd/mkcue/default.nix
new file mode 100644
index 000000000000..e1aa3cc18580
--- /dev/null
+++ b/pkgs/tools/cd-dvd/mkcue/default.nix
@@ -0,0 +1,13 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "mkcue-1";
+
+  src = fetchurl {
+    url = "https://diplodocus.org/dist/audio/${name}.tar.bz2";
+    sha256 = "08md7si3frb8sjfqf3pm7qbrcvkbd10mzszlbydkxnyxdb530b04";
+  };
+
+  preInstall = "mkdir -pv $out/bin";
+  postInstall = "chmod -v +w $out/bin/mkcue";
+}
diff --git a/pkgs/tools/cd-dvd/mkisofs/default.nix b/pkgs/tools/cd-dvd/mkisofs/default.nix
deleted file mode 100644
index 255e7467def4..000000000000
--- a/pkgs/tools/cd-dvd/mkisofs/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ fetchurl, stdenv, gettext }:
-
-stdenv.mkDerivation rec {
-  name = "mkisofs-1.13";
-
-  src = fetchurl {
-    url = "mirror://gnu/isofsmk/${name}.tar.gz";
-    sha256 = "13f8zynl64aaqjgxf0m1m2gbizdh7ndicg5d1bm6s0x97bqifrfn";
-  };
-
-  buildInputs = [ gettext ];
-
-  doCheck = true;
-
-  meta = {
-    homepage = http://savannah.gnu.org/projects/isofsmk;
-
-    description = "GNU mkisofs, an ISO 9660 filesystem builder";
-
-    license = "GPLv3+";
-
-    maintainers = [ stdenv.lib.maintainers.ludo ];
-    platforms = stdenv.lib.platforms.all;
-  };
-}
diff --git a/pkgs/tools/cd-dvd/xorriso/default.nix b/pkgs/tools/cd-dvd/xorriso/default.nix
new file mode 100644
index 000000000000..77033923e6ef
--- /dev/null
+++ b/pkgs/tools/cd-dvd/xorriso/default.nix
@@ -0,0 +1,36 @@
+{ fetchurl, stdenv, libcdio, zlib, bzip2, readline, acl }:
+
+stdenv.mkDerivation rec {
+  name = "xorriso-1.0.4";
+
+  src = fetchurl {
+    url = "mirror://gnu/xorriso/${name}.tar.gz";
+    sha256 = "0c97qfqnvv6a11imrhkgmypgz9zm5klchalg76zb1hc3l257d2x7";
+  };
+
+  doCheck = true;
+
+  buildInputs = [ libcdio zlib bzip2 readline ]
+    ++ stdenv.lib.optional stdenv.isLinux acl;
+
+  meta = {
+    description = "GNU xorriso, an ISO 9660 Rock Ridge file system manipulator";
+
+    longDescription =
+      '' GNU xorriso copies file objects from POSIX compliant filesystems
+         into Rock Ridge enhanced ISO 9660 filesystems and allows
+         session-wise manipulation of such filesystems.  It can load the
+         management information of existing ISO images and it writes the
+         session results to optical media or to filesystem objects.  Vice
+         versa xorriso is able to copy file objects out of ISO 9660
+         filesystems.
+      '';
+
+    license = "GPLv3+";
+
+    homepage = http://www.gnu.org/software/xorriso/;
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/tools/filesystems/aefs/default.nix b/pkgs/tools/filesystems/aefs/default.nix
index 8bf52795be2d..9411a7f703b8 100644
--- a/pkgs/tools/filesystems/aefs/default.nix
+++ b/pkgs/tools/filesystems/aefs/default.nix
@@ -1,17 +1,19 @@
-{stdenv, fetchurl, fuse}:
+{ stdenv, fetchurl, fuse }:
   
-stdenv.mkDerivation {
-  name = "aefs-0.3pre285";
+stdenv.mkDerivation rec {
+  name = "aefs-0.3pre287";
   
   src = fetchurl {
-    url = http://nixos.org/tarballs/aefs-0.3pre285.tar.bz2;
-    sha256 = "1psciqllzm08c21h6k2zxmvmi0grkvaiq177giv1avzzzfhq0z3c";
+    url = "http://nixos.org/tarballs/${name}.tar.bz2";
+    sha256 = "07ndb1cs05l83birrn55cy1ks54q5gbvmhzb3r5cflmd8n4byhyl";
   };
 
-  buildInputs = [fuse];
+  buildInputs = [ fuse ];
 
   meta = {
     homepage = http://www.st.ewi.tudelft.nl/~dolstra/aefs/;
     description = "A cryptographic filesystem implemented in userspace using FUSE";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix
index 903b8f10347f..eba987774b64 100644
--- a/pkgs/tools/filesystems/e2fsprogs/default.nix
+++ b/pkgs/tools/filesystems/e2fsprogs/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libuuid }:
 
 stdenv.mkDerivation rec {
-  name = "e2fsprogs-1.41.12";
+  name = "e2fsprogs-1.41.14";
 
   src = fetchurl {
     url = "mirror://sourceforge/e2fsprogs/${name}.tar.gz";
-    sha256 = "084zpg4ma6g4y4plz7alfqc1q78jss8lfmpk4w7zvnmz43fd09lw";
+    sha256 = "0xmisymd0p4pr18gv8260kn5kb6lpp54mgpw194fqjvwvpzc32iz";
   };
 
   buildInputs = [ pkgconfig libuuid ];
diff --git a/pkgs/tools/filesystems/smbnetfs/default.nix b/pkgs/tools/filesystems/smbnetfs/default.nix
new file mode 100644
index 000000000000..616f61e6c84c
--- /dev/null
+++ b/pkgs/tools/filesystems/smbnetfs/default.nix
@@ -0,0 +1,50 @@
+x@{builderDefsPackage
+  , fuse, samba, pkgconfig
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="smbnetfs";
+    dirBaseName="SMBNetFS";
+    version="0.5.3a";
+    name="${baseName}-${version}";
+    project="${baseName}";
+    url="mirror://sourceforge/project/${project}/${baseName}/${dirBaseName}-${version}/${name}.tar.bz2";
+    hash="0fzlw11y2vkxmjzz3qcypqlvz074v6a3pl4pyffbniqal64qgrsw";
+  };
+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 = ["doConfigure" "doMakeInstall"];
+      
+  meta = {
+    description = "A FUSE FS for mounting Samba shares";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+    license = a.lib.licenses.gpl2;
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "http://sourceforge.net/projects/smbnetfs/files/smbnetfs";
+    };
+  };
+}) x
+
diff --git a/pkgs/tools/filesystems/squashfs/default.nix b/pkgs/tools/filesystems/squashfs/default.nix
index a092064dbf5b..a7eb9eb0a1f2 100644
--- a/pkgs/tools/filesystems/squashfs/default.nix
+++ b/pkgs/tools/filesystems/squashfs/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, zlib, attr}:
+{stdenv, fetchurl, zlib, attr, xz}:
 
 stdenv.mkDerivation rec {
   name = "squashfs-4.1";
@@ -8,16 +8,17 @@ stdenv.mkDerivation rec {
     sha256 = "0sh40r7gz81fg7ivgr7rld8spvqb6hsfvnf6gd3gbcr5b830v1rs";
   };
   
-  buildInputs = [zlib attr];
+  buildInputs = [zlib attr xz];
 
   preBuild = ''
     cd squashfs-tools
   '';
+  IUSE="+gzip +lzma";
 
   NIX_LDFLAGS = "-lgcc_s"; # for pthread_cancel
 
   installFlags = "INSTALL_DIR=\${out}/bin";
-
+  makeFlags = "XZ_SUPPORT=1";
   meta = {
     homepage = http://squashfs.sourceforge.net/;
     description = "Tool for creating and unpacking squashfs filesystems";
diff --git a/pkgs/tools/filesystems/udftools/default.nix b/pkgs/tools/filesystems/udftools/default.nix
new file mode 100644
index 000000000000..fae14102e513
--- /dev/null
+++ b/pkgs/tools/filesystems/udftools/default.nix
@@ -0,0 +1,51 @@
+x@{builderDefsPackage
+  , ncurses, readline
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="udftools";
+    version="1.0.0b3";
+    name="${baseName}-${version}";
+    project="linux-udf";
+    url="mirror://sourceforge/${project}/${baseName}/${version}/${name}.tar.gz";
+    hash="180414z7jblby64556i8p24rcaas937zwnyp1zg073jdin3rw1y5";
+  };
+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" "doConfigure" "doMakeInstall"];
+      
+  fixIncludes = a.fullDepEntry ''
+    sed -e '1i#include <limits.h>' -i cdrwtool/cdrwtool.c -i pktsetup/pktsetup.c
+    sed -e 's@[(]char[*][)]spm [+]=@spm = ((char*) spm) + @' -i wrudf/wrudf.c
+  '' ["doUnpack" "minInit"];
+
+  meta = {
+    description = "UDF tools";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+    license = a.lib.licenses.gpl2Plus;
+  };
+  passthru = {
+  };
+}) x
+
diff --git a/pkgs/tools/graphics/asymptote/default.nix b/pkgs/tools/graphics/asymptote/default.nix
index 92b8a980a8d7..303fc0868745 100644
--- a/pkgs/tools/graphics/asymptote/default.nix
+++ b/pkgs/tools/graphics/asymptote/default.nix
@@ -49,6 +49,6 @@ rec {
       a.lib.maintainers.raskin
     ];
     platforms = with a.lib.platforms; 
-      linux ++ freebsd ++ darwin;
+      linux;
   };
 }
diff --git a/pkgs/tools/graphics/dcraw/default.nix b/pkgs/tools/graphics/dcraw/default.nix
index 30af04d25d9b..8ee02710b05f 100644
--- a/pkgs/tools/graphics/dcraw/default.nix
+++ b/pkgs/tools/graphics/dcraw/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.cybercom.net/~dcoffin/dcraw/;
     description = "Decoder for many camera raw picture formats";
     license = "free";
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.allBut "i686-cygwin";
     maintainers = [ stdenv.lib.maintainers.urkud ];
   };
 }
diff --git a/pkgs/tools/graphics/graphviz/default.nix b/pkgs/tools/graphics/graphviz/default.nix
index 042f5befab0c..191514f57f81 100644
--- a/pkgs/tools/graphics/graphviz/default.nix
+++ b/pkgs/tools/graphics/graphviz/default.nix
@@ -1,18 +1,19 @@
-{ stdenv, fetchurl, pkgconfig, x11, libpng, libjpeg, expat, libXaw
-, yacc, libtool, fontconfig, pango, gd
+{ stdenv, fetchurl, pkgconfig, libpng, libjpeg, expat, libXaw
+, yacc, libtool, fontconfig, pango, gd, xlibs
 }:
 
-assert libpng != null && libjpeg != null && expat != null;
-
 stdenv.mkDerivation rec {
-  name = "graphviz-2.22.2";
+  name = "graphviz-2.26.3";
 
   src = fetchurl {
     url = "http://www.graphviz.org/pub/graphviz/ARCHIVE/${name}.tar.gz";
-    sha256 = "1yzda1al32la3wyrxwc1hs83sx9p84zh6xlpcpkx90xvjaav827v";
+    sha256 = "18bzyg17ni0lpcd2g5dhan8fjv3vzkjym38jq8vm42did5p9j47l";
   };
 
-  buildInputs = [pkgconfig x11 libpng libjpeg expat libXaw yacc libtool fontconfig pango gd];
+  buildInputs =
+    [ pkgconfig libpng libjpeg expat libXaw yacc libtool fontconfig
+      pango gd
+    ] ++ stdenv.lib.optionals (xlibs != null) [ xlibs.xlibs xlibs.libXrender ];
   
   configureFlags =
     [ "--with-pngincludedir=${libpng}/include"
@@ -22,7 +23,7 @@ stdenv.mkDerivation rec {
       "--with-expatincludedir=${expat}/include"
       "--with-expatlibdir=${expat}/lib"
     ]
-    ++ stdenv.lib.optional (x11 == null) "--without-x";
+    ++ stdenv.lib.optional (xlibs == null) "--without-x";
 
   meta = {
     description = "A program for visualising graphs";
diff --git a/pkgs/tools/misc/bc/default.nix b/pkgs/tools/misc/bc/default.nix
index 2d3d70d5ead3..164bc3d55f05 100644
--- a/pkgs/tools/misc/bc/default.nix
+++ b/pkgs/tools/misc/bc/default.nix
@@ -9,6 +9,10 @@ stdenv.mkDerivation rec {
 
   patches = [ ./readlinefix.patch ];
 
+  preConfigure = ''
+    sed -i 's/program.*save/static &/' bc/load.c
+  '';
+
   configureFlags = [ "--with-readline" ];
 
   buildInputs = [flex readline];
diff --git a/pkgs/tools/misc/convmv/default.nix b/pkgs/tools/misc/convmv/default.nix
index c49e25a4dc57..a4b84f13507c 100644
--- a/pkgs/tools/misc/convmv/default.nix
+++ b/pkgs/tools/misc/convmv/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ perl ];
 
   meta = with stdenv.lib; {
-    platforms = platforms.all;
+    platforms = platforms.linux ++ platforms.freebsd ++ platforms.cygwin;
     maintainers = [ maintainers.urkud ];
   };
 }
diff --git a/pkgs/tools/misc/dmg2img/default.nix b/pkgs/tools/misc/dmg2img/default.nix
new file mode 100644
index 000000000000..72e368e709e1
--- /dev/null
+++ b/pkgs/tools/misc/dmg2img/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, zlib, bzip2, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "dmg2img-1.6.2";
+
+  src = fetchurl {
+    url = "http://vu1tur.eu.org/tools/${name}.tar.gz";
+    sha256 = "1ibxjsrl9g877qi3jjpv0zdgl4x8j1vnd4y27q17a8my1jkhh5cg";
+  };
+ 
+  buildInputs = [zlib bzip2 openssl];
+
+  installPhase = ''
+    ensureDir $out/bin
+    cp dmg2img $out/bin
+  '';
+}
diff --git a/pkgs/tools/misc/gnokii/default.nix b/pkgs/tools/misc/gnokii/default.nix
index 7ce810a7b56f..d0354a7bb6ed 100644
--- a/pkgs/tools/misc/gnokii/default.nix
+++ b/pkgs/tools/misc/gnokii/default.nix
@@ -5,7 +5,8 @@ let
   s = import ./src-for-default.nix; 
   buildInputs = with a; [
     perl intltool gettext libusb
-    glib pkgconfig
+    glib gtk pkgconfig bluez readline
+    libXpm pcsclite libical
   ];
 in
 
@@ -18,19 +19,8 @@ rec {
   configureFlags = [];
 
   /* doConfigure should be removed if not needed */
-  phaseNames = [ "setDebug" "doConfigure" "doMakeInstall"];
+  phaseNames = [ "doConfigure" "doMakeInstall"];
 
-  setDebug = a.fullDepEntry ''
-    mkdir -p $out/src
-    cp -R * $out/src
-    cd $out/src
-
-    export NIX_STRIP_DEBUG=0
-    export CFLAGS="-ggdb -O0 -include ${a.stdenv.glibc}/include/locale.h"
-    export CXXFLAGS="-ggdb -O0"
-
-  '' [ "minInit" "doUnpack" ];
-      
   inherit(s) name;
   meta = {
     description = "Cellphone tool";
diff --git a/pkgs/tools/misc/gnokii/src-for-default.nix b/pkgs/tools/misc/gnokii/src-for-default.nix
index c428690cae73..360f98de7584 100644
--- a/pkgs/tools/misc/gnokii/src-for-default.nix
+++ b/pkgs/tools/misc/gnokii/src-for-default.nix
@@ -1,9 +1,9 @@
 rec {
-   version="0.6.29";
-   name="gnokii-0.6.29";
-   hash="0w94balyy9l0xy8x3z20f127b5ijpm9a9fbbskz147jyzhprgw0l";
+   version="0.6.30";
+   name="gnokii-0.6.30";
+   hash="0k14dymifk7dx3z58cqrc4mgxrm17s4jk12chwdfjhjarz390x8p";
    url="http://www.gnokii.org/download/gnokii/gnokii-${version}.tar.gz";
-   advertisedUrl="http://www.gnokii.org/download/gnokii/gnokii-0.6.29.tar.gz";
+   advertisedUrl="http://www.gnokii.org/download/gnokii/gnokii-0.6.30.tar.gz";
   
   
 }
diff --git a/pkgs/tools/misc/grub/1.9x.nix b/pkgs/tools/misc/grub/1.9x.nix
index 25d56c28511c..ffcc1cc4d4f2 100644
--- a/pkgs/tools/misc/grub/1.9x.nix
+++ b/pkgs/tools/misc/grub/1.9x.nix
@@ -1,20 +1,25 @@
-{ fetchurl, stdenv, bison, gettext, ncurses, libusb, freetype, qemu }:
+{ fetchurl, stdenv, flex, bison, gettext, ncurses, libusb, freetype, qemu
+, EFIsupport ? false }:
 
-let unifont_bdf = fetchurl {
+let
+    prefix = "grub${if EFIsupport then "-efi" else ""}";
+    version = "1.99rc1";
+    unifont_bdf = fetchurl {
       url = "http://unifoundry.com/unifont-5.1.20080820.bdf.gz";
       sha256 = "0s0qfff6n6282q28nwwblp5x295zd6n71kl43xj40vgvdqxv0fxx";
     };
 in
 
 stdenv.mkDerivation rec {
-  name = "grub-1.98";
+  name = "${prefix}-${version}";
 
   src = fetchurl {
-    url = "ftp://alpha.gnu.org/gnu/grub/${name}.tar.gz";
-    sha256 = "05660x82y2rwrzm0d1c4z07fbh02qwmacsmbbav6fa855s4w3wmy";
+    url = "ftp://alpha.gnu.org/gnu/grub/grub-1.99~rc1.tar.gz";
+    sha256 = "0llxycgrs5h9n2mlgmkkg1mr2fv1rzmlw4mqb3v9hcaydkx3wczh";
+    name = "${name}.tar.gz";
   };
 
-  buildInputs = [ bison ncurses libusb freetype gettext ]
+  buildInputs = [ flex bison ncurses libusb freetype gettext ]
     ++ stdenv.lib.optional doCheck qemu;
 
   preConfigure =
@@ -36,22 +41,20 @@ stdenv.mkDerivation rec {
            -e's/qemu-system-i386/qemu-system-x86_64 -nodefaults/g'
     '';
 
-  patches =
-    [ # The udev rules for LVM create symlinks in /dev/mapper rathe
-      # than device nodes, causing GRUB to fail to recognize LVM
-      # volumes. See
-      # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=550704
-      # This ugly workaround makes `find_root_device' use stat() on
-      # files in /dev/mapper instead of lstat().
-      ./device-mapper-symlinks.patch
-    ];
-
-  postPatch =
+  prePatch =
     '' gunzip < "${unifont_bdf}" > "unifont.bdf"
        sed -i "configure" \
            -e "s|/usr/src/unifont.bdf|$PWD/unifont.bdf|g"
     '';
 
+  configureFlags =
+    let arch = if stdenv.system == "i686-linux" then "i386"
+               else if stdenv.system == "x86_64-linux" then "x86_64"
+               else throw "unsupported EFI firmware architecture";
+    in
+      stdenv.lib.optionals EFIsupport
+        [ "--with-platform=efi" "--target=${arch}" "--program-prefix=" ];
+
   doCheck = false;
 
   meta = {
diff --git a/pkgs/tools/misc/grub/device-mapper-symlinks.patch b/pkgs/tools/misc/grub/device-mapper-symlinks.patch
deleted file mode 100644
index 0a21a51de799..000000000000
--- a/pkgs/tools/misc/grub/device-mapper-symlinks.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Only in grub-1.97.1-orig/: grub-1.97.1
-diff -rc -x '*~' grub-1.97.1-orig/util/getroot.c grub-1.97.1/util/getroot.c
-*** grub-1.97.1-orig/util/getroot.c	2009-11-09 16:48:16.000000000 +0100
---- grub-1.97.1/util/getroot.c	2010-01-08 00:26:12.000000000 +0100
-***************
-*** 217,224 ****
-  	continue;
-  
-        if (S_ISLNK (st.st_mode))
-! 	/* Don't follow symbolic links.  */
-! 	continue;
-  
-        if (S_ISDIR (st.st_mode))
-  	{
---- 217,229 ----
-  	continue;
-  
-        if (S_ISLNK (st.st_mode))
-!         {
-!           if (strcmp(dir, "mapper") != 0)
-!             /* Don't follow symbolic links.  */
-!             continue;
-!           if (stat (ent->d_name, &st) < 0)
-!             continue;
-!         }
-  
-        if (S_ISDIR (st.st_mode))
-  	{
diff --git a/pkgs/tools/misc/keychain/default.nix b/pkgs/tools/misc/keychain/default.nix
index 36b29083e088..881c65ef74b6 100644
--- a/pkgs/tools/misc/keychain/default.nix
+++ b/pkgs/tools/misc/keychain/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "keychain-2.6.6";
+  name = "keychain-2.7.1";
 
   src = fetchurl {
-    url = http://gentoo.chem.wisc.edu/gentoo/distfiles/keychain-2.6.6.tar.bz2;
-    sha256 = "10v0hzkgrb5cazm1gk0g4ncwp8sqvfk7xfyx59cjd69kzhbbn6ic";
+    url = mirror://gentoo/distfiles/keychain-2.7.1.tar.bz2;
+    sha256 = "14ai6wjwnj09xnl81ar2dlr5kwb8y1k5ck6nc549shpng0zzw1qi";
   };
 
   phases = "unpackPhase buildPhase";
diff --git a/pkgs/tools/misc/myhasktags/default.nix b/pkgs/tools/misc/myhasktags/default.nix
index 686aa804cf02..3d00dfe54f4d 100644
--- a/pkgs/tools/misc/myhasktags/default.nix
+++ b/pkgs/tools/misc/myhasktags/default.nix
@@ -1,4 +1,4 @@
-{fetchurl, stdenv, ghcReal} :
+{fetchurl, stdenv, ghcPlain} :
 
 /* use case:
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
     ensureDir $out/bin
     ghc --make $src -o $out/bin/hasktags-modified
   '';
-  buildInputs = [ ghcReal ];
+  buildInputs = [ ghcPlain ];
 
   meta = {
     description = "my patched version of hasktags. Should be merged into hasktags?";
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index 9cfa87f8383c..150ced677764 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -1,17 +1,20 @@
 { fetchurl, stdenv, perl }:
 
 stdenv.mkDerivation rec {
-  name = "parallel-20101202";
+  name = "parallel-20110205";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "156jnsf9dhmbi7r207fns2vphpnjdrbz5ndkp8m6d8b1p2qfj46i";
+    sha256 = "0z1yl7mqs4z1nz5hkjr8agbnj2bpr2f4pq683lr9axa9m0pszzvj";
   };
 
   patchPhase =
     '' sed -i "src/parallel" -e's|/usr/bin/perl|${perl}/bin/perl|g'
+    '';
 
-       rm -vf src/sem
+  preBuild =
+    # The `sem' program wants to write to `~/.parallel'.
+    '' export HOME="$PWD"
     '';
 
   buildInputs = [ perl ];
diff --git a/pkgs/tools/misc/recutils/default.nix b/pkgs/tools/misc/recutils/default.nix
index 47536778f88a..307c60bd6111 100644
--- a/pkgs/tools/misc/recutils/default.nix
+++ b/pkgs/tools/misc/recutils/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, gettext, emacs, curl, check, bc }:
 
 stdenv.mkDerivation rec {
-  name = "recutils-1.0";
+  name = "recutils-1.3";
 
   src = fetchurl {
     url = "mirror://gnu/recutils/${name}.tar.gz";
-    sha256 = "1m8ir31wjybm9x8bv73f330kb2hkmc8lrpwgd5h9avva4x5b7g5d";
+    sha256 = "0ywf939vw4zbpq6dmvw656fhkx8izma99pr1akzh8hs2rc9sp2pr";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/misc/vfdecrypt/default.nix b/pkgs/tools/misc/vfdecrypt/default.nix
new file mode 100644
index 000000000000..46a841113a17
--- /dev/null
+++ b/pkgs/tools/misc/vfdecrypt/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchgit, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "vfdecrypt";
+
+  src = fetchgit {
+    url = git://github.com/dra1nerdrake/VFDecrypt.git;
+    rev = "4e2fa32816254907e82886b936afcae9859a876c";
+    sha256 = "0b945805f7f60bf48556c2db45c9ab26485fb05acbc6160a563d529b20cb56a3";
+  };
+  buildInputs = [openssl];
+  installPhase = ''
+    ensureDir $out/bin
+    cp vfdecrypt $out/bin
+  '';
+}
diff --git a/pkgs/tools/misc/vorbisgain/default.nix b/pkgs/tools/misc/vorbisgain/default.nix
new file mode 100644
index 000000000000..0c3fb2122933
--- /dev/null
+++ b/pkgs/tools/misc/vorbisgain/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, unzip, libogg, libvorbis }:
+
+stdenv.mkDerivation rec {
+  name = "vorbisgain-0.34";
+
+  src = fetchurl {
+    url = "http://sjeng.org/ftp/vorbis/${name}.zip";
+    sha256 = "1sjxl20ahhjv63b8a99sq9p14vz3lf1gacivkk0x2c11cc9zw4nr";
+  };
+
+  buildInputs = [ unzip libogg libvorbis ];
+  patchPhase = ''
+    chmod -v +x configure
+    sed -e 's/^        /\t/' -i Makefile.*
+    configureFlags="--mandir=$out/share/man"
+    '';
+}
diff --git a/pkgs/tools/networking/aircrack-ng/default.nix b/pkgs/tools/networking/aircrack-ng/default.nix
index a83506efa1c1..394022c2d08e 100644
--- a/pkgs/tools/networking/aircrack-ng/default.nix
+++ b/pkgs/tools/networking/aircrack-ng/default.nix
@@ -1,11 +1,15 @@
-{stdenv, fetchurl, libpcap, openssl, zlib, wirelesstools}:
+{stdenv, fetchsvn, libpcap, openssl, zlib, wirelesstools}:
 
-stdenv.mkDerivation {
-  name = "aircrack-ng-1.0-rc2";
+let
+  rev = "1859";
+in
+stdenv.mkDerivation rec {
+  name = "aircrack-ng-1.1-${rev}";
 
-  src = fetchurl {
-    url = http://download.aircrack-ng.org/aircrack-ng-1.0-rc2.tar.gz;
-    sha256 = "9d52f15f3fca52775ecb9cfc1f0aeb04c3c3bd3101665d5760d395f7d2a87d8b";
+  src = fetchsvn {
+    url = "http://trac.aircrack-ng.org/svn/trunk";
+    inherit rev;
+    sha256 = "6ca98321ef3f14af9c78b2fe25091c4e79e3c28679f240b80f8aeda71b84ab4a";
   };
 
   buildInputs = [libpcap openssl zlib];
diff --git a/pkgs/tools/networking/aria2/default.nix b/pkgs/tools/networking/aria2/default.nix
index 5d433fdee391..383a2963ff23 100644
--- a/pkgs/tools/networking/aria2/default.nix
+++ b/pkgs/tools/networking/aria2/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, openssl, libxml2, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "aria2-1.9.3";
+  name = "aria2-1.10.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/aria2/stable/${name}/${name}.tar.bz2";
-    sha256 = "04vnvq5f797bbyrrv1kzvnv8h02f4wbhvsl34syi4gygimfrwkrn";
+    sha256 = "1cbcrxwdc6gp4l4zqg2i18zdg5ry5f9r3zj66kx6l5plwfjv9fdc";
   };
 
   buildInputs = [ openssl libxml2 zlib ];
diff --git a/pkgs/tools/networking/dhcp/default.nix b/pkgs/tools/networking/dhcp/default.nix
index 67997c700e99..47fec622db06 100644
--- a/pkgs/tools/networking/dhcp/default.nix
+++ b/pkgs/tools/networking/dhcp/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, nettools, iputils, iproute, makeWrapper, coreutils, gnused }:
 
 stdenv.mkDerivation rec {
-  name = "dhcp-4.1.1-P1";
+  name = "dhcp-4.1.2-P1";
   
   src = fetchurl {
     url = "http://ftp.isc.org/isc/dhcp/${name}.tar.gz";
-    sha256 = "1nk36bk7yiqaj779czvlbxjs6jfn53qw7601171nx5mird806r1g";
+    sha256 = "1kcdsylyx0ai0wlmc6rc6b1qi2fsndqh1pvgvddd3i4hmbhi6vmz";
   };
 
   patches =
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   # due to an uninitialized variable.
   CFLAGS = "-g -O2 -Wall";
 
-  buildInputs = [makeWrapper];
+  buildInputs = [ makeWrapper ];
 
   postInstall =
     ''
diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix
index c88ce3522d52..0390c847acb8 100644
--- a/pkgs/tools/networking/dnsmasq/default.nix
+++ b/pkgs/tools/networking/dnsmasq/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "dnsmasq-2.55";
+  name = "dnsmasq-2.57";
 
   src = fetchurl {
     url = "http://www.thekelleys.org.uk/dnsmasq/${name}.tar.gz";
-    sha256 = "0agrz7lvqdvh7ps173nr5yl00dblv2lpd0x9pm64f03zjzsyqqyg";
+    sha256 = "1bpq1wsc7cs1nqs7abhn96nxmdncdf7c58987f9kdmi246wcgq62";
   };
 
   makeFlags = "DESTDIR= BINDIR=$(out)/bin MANDIR=$(out)/man LOCALEDIR=$(out)/share/locale";
diff --git a/pkgs/tools/networking/fuppes/default.nix b/pkgs/tools/networking/fuppes/default.nix
new file mode 100644
index 000000000000..dca3b40ef5f4
--- /dev/null
+++ b/pkgs/tools/networking/fuppes/default.nix
@@ -0,0 +1,45 @@
+{stdenv, fetchurl, pkgconfig, pcre, libxml2, sqlite, ffmpeg, imagemagick,
+exiv2, mp4v2, lame, libvorbis, flac, libmad, faad2}:
+
+stdenv.mkDerivation rec {
+  name = "fuppes-0.660";
+  src = fetchurl {
+    url = mirror://sourceforge/project/fuppes/fuppes/SVN-660/fuppes-0.660.tar.gz;
+    sha256 = "1c385b29878927e5f1e55ae2c9ad284849d1522d9517a88e34feb92bd5195173";
+  };
+
+  buildInputs = [
+    pkgconfig pcre libxml2 sqlite ffmpeg imagemagick exiv2 mp4v2 lame
+    libvorbis flac libmad faad2
+  ];
+
+  configureFlags = [
+    "--enable-ffmpegthumbnailer"
+    "--enable-magickwand"
+    "--enable-exiv2"
+    "--enable-transcoder-ffmpeg"
+    "--enable-mp4v2"
+    "--enable-lame"
+    "--enable-vorbis"
+    "--enable-flac"
+    "--enable-mad"
+    "--enable-faad"
+  ];
+
+  meta = {
+    description = "UPnP A/V Media Server";
+    longDescription = ''
+      FUPPES is a free, multiplatform UPnP A/V Media Server.
+
+      FUPPES supports a wide range of UPnP MediaRenderers as well as
+      on-the-fly transcoding of various audio, video and image formats.
+
+      FUPPES also includes basic DLNA support.
+    '';
+    homepage = http://fuppes.ulrich-voelkel.de/;
+    license = stdenv.lib.licenses.gpl2;
+
+    maintainers = [ stdenv.lib.maintainers.pierron ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/networking/isync/default.nix b/pkgs/tools/networking/isync/default.nix
new file mode 100644
index 000000000000..03abdbcca626
--- /dev/null
+++ b/pkgs/tools/networking/isync/default.nix
@@ -0,0 +1,21 @@
+{ fetchurl, stdenv, openssl, pkgconfig, db4 }:
+
+stdenv.mkDerivation rec {
+  name = "isync-1.0.4";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/isync/isync-1.0.4.tar.gz";
+    sha256 = "1xmgzypl5a3i0fz1ca55vfbs5mv2l9icwf2gk8rvlbwrkn2wid68";
+  };
+
+  buildInputs = [ openssl pkgconfig db4 ];
+
+  meta = {
+    homepage = http://isync.sourceforge.net/;
+    description = "Free IMAP and MailDir mailbox synchronizer";
+    licenses = [ "GPLv2+" ];
+
+    maintainers = [ stdenv.lib.maintainers.viric ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/knetworkmanager/live.nix b/pkgs/tools/networking/knetworkmanager/live.nix
new file mode 100644
index 000000000000..80c7e9335b62
--- /dev/null
+++ b/pkgs/tools/networking/knetworkmanager/live.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchgit, fetchgitrevision, cmake, kdelibs, automoc4, networkmanager, kdebase_workspace
+, repository ? "git://anongit.kde.org/networkmanagement"
+, branch ? "heads/master"
+, rev ? fetchgitrevision repository branch
+, src ? fetchgit {
+    url = repository;
+    rev = rev;
+  }
+}:
+
+stdenv.mkDerivation rec {
+  name = "knetwork-manager-${version}";
+  version = "live";
+
+  inherit src;  
+
+  buildInputs = [
+    cmake kdelibs automoc4 networkmanager kdebase_workspace
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = http://kde.org;
+    description = "KDE systray and plasma applet for network management.";
+    license = licenses.gplv2;
+    maintainers = with maintainers; [  phreedom ];
+  };
+}
diff --git a/pkgs/tools/networking/lftp/default.nix b/pkgs/tools/networking/lftp/default.nix
index c0e4f61b7027..dbef588f3700 100644
--- a/pkgs/tools/networking/lftp/default.nix
+++ b/pkgs/tools/networking/lftp/default.nix
@@ -1,11 +1,11 @@
-{stdenv, fetchurl, readline}:
+{stdenv, fetchurl, gnutls, libtasn1, pkgconfig, readline, zlib}:
 stdenv.mkDerivation {
-  name = "lftp-3.5.14";
+  name = "lftp-4.1.3";
 
   src = fetchurl {
-    url = ftp://ftp.cs.tu-berlin.de/pub/net/ftp/lftp/lftp-3.5.14.tar.bz2;
-    sha256 = "0hzrbhpgvndpd4wd08whfv1iqzbcijs1nxz40rhn651xabhiasrv";
+    url = ftp://ftp.cs.tu-berlin.de/pub/net/ftp/lftp/lftp-4.1.3.tar.bz2;
+    sha256 = "1nbgbql8kkhdvai0glwgkq8l9ik09l5lb8znpjrv26hfzl15dvv1";
   };
 
-  buildInputs = [readline];
+  buildInputs = [gnutls libtasn1 pkgconfig readline zlib];
 }
diff --git a/pkgs/tools/networking/mtr/default.nix b/pkgs/tools/networking/mtr/default.nix
new file mode 100644
index 000000000000..d4cfaa4ce9bd
--- /dev/null
+++ b/pkgs/tools/networking/mtr/default.nix
@@ -0,0 +1,47 @@
+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="mtr";
+    version="0.80";
+    name="${baseName}-${version}";
+    url="ftp://ftp.bitwizard.nl/${baseName}/${name}.tar.gz";
+    hash="1h0fzxy5cwml3p2nq749sq8mk2dsvm4qb1ah7a9hbf7kzabxvfvn";
+  };
+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 = ["doConfigure" "doMakeInstall"];
+      
+  meta = {
+    description = "A network diagnostics tool";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+    license = a.lib.licenses.gpl2;
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "ftp://ftp.bitwizard.nl/mtr/";
+    };
+  };
+}) x
+
diff --git a/pkgs/tools/networking/nbd/default.nix b/pkgs/tools/networking/nbd/default.nix
index cbdaa39b16f1..bf309c3cdbf2 100644
--- a/pkgs/tools/networking/nbd/default.nix
+++ b/pkgs/tools/networking/nbd/default.nix
@@ -1,15 +1,19 @@
-{stdenv, fetchurl, pkgconfig, glib}:
+{ stdenv, fetchurl, pkgconfig, glib }:
 
 stdenv.mkDerivation rec {
-  name = "nbd-2.9.18";
+  name = "nbd-2.9.20";
 
   src = fetchurl {
     url = "mirror://sourceforge/nbd/${name}.tar.bz2";
-    sha256 = "afaaae330625b61ad67ba988721ddc4ad54bfc7e501daeb45f721c205bfb00f3";
+    sha256 = "98f0de421f0b2f683d46dff3eb679a3409a41f08e6fad7c2f71f60c5d409939c";
   };
 
   buildInputs = [pkgconfig glib];
   postInstall = ''install -D -m 444 README "$out/share/doc/nbd/README"'';
+  
+  # Glib calls `clock_gettime', which is in librt.  Since we're using
+  # a static Glib, we need to pass it explicitly.
+  NIX_LDFLAGS = "-lrt";
 
   meta = {
     homepage = "http://nbd.sourceforge.net";
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
new file mode 100644
index 000000000000..17508f0b99d5
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, intltool, wirelesstools, pkgconfig, dbus, dbus_glib, udev, libnl1, libuuid, polkit, gnutls, ppp, dhcp, iptables, libtasn1 }:
+stdenv.mkDerivation rec {
+
+  name = "network-manager-${version}";
+  version = "0.8.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/NetworkManager/0.8/NetworkManager-${version}.tar.bz2";
+    sha256 = "1yhr1zc9p2dakvg6m33jgkf09r6f6bzly7kqqjcpim4r66z6y4nw";
+  };
+
+  configureFlags = [ "--with-distro=gentoo" "--with-dhclient=${dhcp}/sbin"
+    "--with-dhcpcd=${dhcp}/sbin" "--with-iptables=${iptables}/sbin/iptables"
+    "--with-crypto=gnutls" "--disable-more-warnings"
+    "--with-udev-dir=\${out}/lib/udev" ];
+
+  buildInputs = [ intltool wirelesstools pkgconfig dbus dbus_glib udev libnl1 libuuid polkit gnutls ppp libtasn1 ];
+
+  meta = with stdenv.lib; {
+    homepage = http://projects.gnome.org/NetworkManager/;
+    description = "Network configuration and management in an easy way. Desktop environment independent.";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.phreedom ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 9c3d63d1f5ad..4efa6651d79d 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -13,11 +13,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "openssh-5.6p1";
+  name = "openssh-5.8p1";
 
   src = fetchurl {
     url = "ftp://ftp.nl.uu.net/pub/OpenBSD/OpenSSH/portable/${name}.tar.gz";
-    sha256 = "0avc7jgp8i2jlp7b8q8g4nyil56v5fp09c1v54dc4ql15cxzb2jk";
+    sha256 = "0frjn6vc0jhj5gwfl95rdnjn1h9nlcaanr4xqmwyg9b26n7pmiz1";
   };
 
   prePatch = stdenv.lib.optionalString hpnSupport
diff --git a/pkgs/tools/networking/p2p/seeks/default.nix b/pkgs/tools/networking/p2p/seeks/default.nix
index 50b833059389..75bdea9e5001 100644
--- a/pkgs/tools/networking/p2p/seeks/default.nix
+++ b/pkgs/tools/networking/p2p/seeks/default.nix
@@ -1,18 +1,18 @@
 { fetchurl, stdenv, zlib, docbook2x, pcre, curl, libxml2, libevent, perl
-, pkgconfig, protobuf, tokyocabinet }:
+, pkgconfig, protobuf, tokyocabinet, opencv }:
 
-let version = "0.3.0"; in
+let version = "0.3.1"; in
 stdenv.mkDerivation {
   name = "seeks-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/seeks/solo/seeks-${version}.tar.gz";
-    sha256 = "07gkf7666bx5fk3zk0s47fj659czlyk3ag9bihkl5mdjfikb6k46";
+    sha256 = "0yvws1j6rh1nv230gkqz3fkf21zdx0x7w8lh3w7gjmi7hfij25gx";
   };
 
   buildInputs =
     [ zlib docbook2x pcre curl libxml2 libevent perl pkgconfig
-      protobuf tokyocabinet
+      protobuf tokyocabinet opencv
     ];
 
   configureFlags =
@@ -22,6 +22,9 @@ stdenv.mkDerivation {
       "--with-libevent=${libevent}"
     ];
 
+  # FIXME: Test suite needs <https://code.google.com/p/googletest/>.
+  doCheck = false;
+
   meta = {
     description = "Seeks, a social web search engine";
 
diff --git a/pkgs/tools/networking/radvd/default.nix b/pkgs/tools/networking/radvd/default.nix
new file mode 100644
index 000000000000..31351436d943
--- /dev/null
+++ b/pkgs/tools/networking/radvd/default.nix
@@ -0,0 +1,15 @@
+{ stdenv, fetchurl, bison, flex }:
+
+stdenv.mkDerivation rec {
+  name = "radvd-1.7";
+  
+  src = fetchurl {
+    url = "http://www.litech.org/radvd/dist/${name}.tar.gz";
+    sha256 = "04rlz5fhparridjm32wcq9h1s3vxyiac7d3l6cvfgrlxixikgrzq";
+  };
+
+  buildInputs = [ bison flex ];
+
+  meta.homepage = http://www.litech.org/radvd/;
+  meta.description = "IPv6 Router Advertisement Daemon";
+}
diff --git a/pkgs/tools/networking/vde2/default.nix b/pkgs/tools/networking/vde2/default.nix
new file mode 100644
index 000000000000..3bf2b05dd56c
--- /dev/null
+++ b/pkgs/tools/networking/vde2/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, openssl, libpcap }:
+
+stdenv.mkDerivation rec {
+  name = "vde2-2.3.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/vde/vde2/2.3.1/${name}.tar.gz";
+    sha256 = "1vbrds8k1cn1fgvpkg2ck2227l5yy2f0qxk44sg3vymq0aiw8y37";
+  };
+
+  buildInputs = [ openssl libpcap ];
+
+  meta = {
+    homepage = http://vde.sourceforge.net/;
+    description = "Virtual Distributed Ethernet, an Ethernet compliant virtual network";
+  };
+}
diff --git a/pkgs/tools/networking/wicd/default.nix b/pkgs/tools/networking/wicd/default.nix
index 70cc4a3b46cf..fab91873a385 100644
--- a/pkgs/tools/networking/wicd/default.nix
+++ b/pkgs/tools/networking/wicd/default.nix
@@ -74,6 +74,12 @@ stdenv.mkDerivation rec {
     python setup.py install --prefix=$out
     ensureDir $out/share/other
     cp other/dhclient.conf.template.default $out/share/other/dhclient.conf.template.default
+
+    # Add a template for "WPA2 Enterprise" encryption as used, e.g., by the
+    # Eduroam network.  Taken and adapted from
+    # <http://wicd.net/punbb/viewtopic.php?id=87>.
+    cp -v "${./wpa2-ttls}" "$out/etc/encryption/templates/wpa2-ttls"
+    echo "wpa2-ttls" >> "$out/etc/encryption/templates/active"
   '';
 
   meta = {
diff --git a/pkgs/tools/networking/wicd/wpa2-ttls b/pkgs/tools/networking/wicd/wpa2-ttls
new file mode 100644
index 000000000000..7efdeffec84c
--- /dev/null
+++ b/pkgs/tools/networking/wicd/wpa2-ttls
@@ -0,0 +1,19 @@
+name = WPA2-TTLS
+author = various contributors
+version = 1
+require identity *Identity anonymous_identity *Anonymous_identity password *Password ca_cert *Path_to_CA_Cert
+-----
+ctrl_interface=/var/run/wpa_supplicant
+network={
+        ssid="$_ESSID"
+        scan_ssid=$_SCAN
+        proto=WPA2
+        key_mgmt=WPA-EAP
+        group=CCMP TKIP
+        eap=TTLS
+        identity="$_IDENTITY"
+        password="$_PASSWORD"
+        anonymous_identity="$_ANONYMOUS_IDENTITY"
+        ca_cert="$_CA_CERT"
+        phase2="auth=PAP"
+}
diff --git a/pkgs/tools/package-management/cabal-install/0.10.2.nix b/pkgs/tools/package-management/cabal-install/0.10.2.nix
new file mode 100644
index 000000000000..8fa67946477a
--- /dev/null
+++ b/pkgs/tools/package-management/cabal-install/0.10.2.nix
@@ -0,0 +1,13 @@
+{cabal, HTTP, network, zlib} :
+
+cabal.mkDerivation (self : {
+  pname = "cabal-install";
+  name = self.fname;
+  version = "0.10.2"; # Haskell Platform 2011.2.0.0
+  sha256 = "05gmgxdlymp66c87szx1vq6hlraispdh6pm0n85s74yihjwwhmv3";
+  extraBuildInputs = [HTTP network zlib];
+
+  meta = {
+    description = "The command-line interface for Cabal and Hackage";
+  };
+})
diff --git a/pkgs/tools/package-management/cabal-install/default.nix b/pkgs/tools/package-management/cabal-install/0.6.2.nix
similarity index 100%
rename from pkgs/tools/package-management/cabal-install/default.nix
rename to pkgs/tools/package-management/cabal-install/0.6.2.nix
diff --git a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
index e129d9e29ec8..4d03ec9ab66a 100644
--- a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
+++ b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
@@ -3,8 +3,8 @@
 stdenv.mkDerivation {
   name = "DisnixWebService-0.2";
   src = fetchurl {
-    url = http://hydra.nixos.org/build/792274/download/3/DisnixWebService-0.2.tar.bz2;
-    sha256 = "1ccgrab896cs7bg5m99iam4cyvdj9q3gkmjkg9awqb710l9168sh";
+    url = http://hydra.nixos.org/build/910953/download/4/DisnixWebService-0.2.tar.bz2;
+    sha256 = "1469l2ykhdjmplkw01x64f7aq9rms05ig9sagyb8l2zksjm6lla8";
   };
   buildInputs = [ apacheAnt ];
   PREFIX = ''''${env.out}'';
@@ -18,4 +18,10 @@ stdenv.mkDerivation {
   '';
   buildPhase = "ant";
   installPhase = "ant install";
+  
+  meta = {
+    description = "A SOAP interface and client for Disnix";
+    license = "MIT";
+    maintainers = [ stdenv.lib.maintainers.sander ];
+  };
 }
diff --git a/pkgs/tools/package-management/disnix/activation-scripts/default.nix b/pkgs/tools/package-management/disnix/activation-scripts/default.nix
index d1507e253a85..4e1442935ee5 100644
--- a/pkgs/tools/package-management/disnix/activation-scripts/default.nix
+++ b/pkgs/tools/package-management/disnix/activation-scripts/default.nix
@@ -16,10 +16,10 @@ assert enableSubversionRepository -> subversion != null;
 assert enableEjabberdDump -> ejabberd != null;
 
 stdenv.mkDerivation {
-  name = "disnix-activation-scripts-0.2pre25210";
+  name = "disnix-activation-scripts-0.2";
   src = fetchurl {
-    url = http://hydra.nixos.org/build/816489/download/1/disnix-activation-scripts-0.2pre25210.tar.gz;
-    sha256 = "1jski4fjz4pmh0knh3rgfkkmc7i2krs164nh0fasbh2radksm0hl";
+    url = http://hydra.nixos.org/build/910903/download/1/disnix-activation-scripts-0.2.tar.gz;
+    sha256 = "0r7yqvh3jnbvpb6lmr10lm4r5pvi4jaw0c6rhlyl5q6nh3mxymnd";
   };
   
   preConfigure = if enableEjabberdDump then "export PATH=$PATH:${ejabberd}/sbin" else "";
@@ -39,4 +39,10 @@ stdenv.mkDerivation {
                 ++ stdenv.lib.optional enableMySQLDatabase mysql
 		++ stdenv.lib.optional enablePostgreSQLDatabase postgresql
 		++ stdenv.lib.optional enableSubversionRepository subversion;
+
+  meta = {
+    description = "Provides various activation types for Disnix";
+    license = "MIT";
+    maintainers = [ stdenv.lib.maintainers.sander ];
+  };
 }
diff --git a/pkgs/tools/package-management/disnix/default.nix b/pkgs/tools/package-management/disnix/default.nix
index 981afc8bbe32..c711ec4fe860 100644
--- a/pkgs/tools/package-management/disnix/default.nix
+++ b/pkgs/tools/package-management/disnix/default.nix
@@ -1,14 +1,20 @@
 {stdenv, fetchurl, pkgconfig, dbus_glib, libxml2, libxslt, getopt, nixUnstable, gettext, libiconv}:
 
 stdenv.mkDerivation {
-  name = "disnix-0.2pre25293";
+  name = "disnix-0.2.1";
   src = fetchurl {
-    url = http://hydra.nixos.org/build/829056/download/4/disnix-0.2pre25293.tar.gz;
-    sha256 = "0nsq0kk390x3s8wvdp043n1mdi6jb43770d8s3vsc96qiajs1b9j";
+    url = http://hydra.nixos.org/build/923387/download/4/disnix-0.2.1.tar.gz;
+    sha256 = "1kablxlg7mxajg2r96im2xr3xjgwmqi2gahxyhn2mvb6555dn5h8";
   };
   buildInputs = [ pkgconfig dbus_glib libxml2 libxslt getopt nixUnstable ]
                 ++ stdenv.lib.optional (!stdenv.isLinux) libiconv
 		++ stdenv.lib.optional (!stdenv.isLinux) gettext;
   dontStrip = true;
   NIX_STRIP_DEBUG = true;
+  
+  meta = {
+    description = "A distributed deployment extension for Nix";
+    license = "LGPLv2.1+";
+    maintainers = [ stdenv.lib.maintainers.sander ];
+  };
 }
diff --git a/pkgs/tools/package-management/disnix/disnixos/default.nix b/pkgs/tools/package-management/disnix/disnixos/default.nix
index c7ed91175a6a..f02ea46873c3 100644
--- a/pkgs/tools/package-management/disnix/disnixos/default.nix
+++ b/pkgs/tools/package-management/disnix/disnixos/default.nix
@@ -1,12 +1,18 @@
 {stdenv, fetchurl, disnix, socat, pkgconfig}:
 
 stdenv.mkDerivation {
-  name = "disnixos-0.1pre25259";
+  name = "disnixos-0.1";
   src = fetchurl {
-    url = http://hydra.nixos.org/build/825090/download/1/disnixos-0.1pre25259.tar.gz;
-    sha256 = "0g1pjw2f7jacp8kd9q90bihvr3s3cz9l19ddjfajc0harall61ms";
+    url = http://hydra.nixos.org/build/910925/download/3/disnixos-0.1.tar.gz;
+    sha256 = "0gd0jnc8n50g55lv4ha9nim9s2gv7mi4qdz4j3rnaws86sfgh8x2";
   };
   buildInputs = [ socat pkgconfig disnix ];
   dontStrip = true;
   NIX_STRIP_DEBUG = true;
+  
+  meta = {
+    description = "Provides complementary NixOS infrastructure deployment to NixOS";
+    license = "LGPLv2.1+";
+    maintainers = [ stdenv.lib.maintainers.sander ];
+  };
 }
diff --git a/pkgs/tools/package-management/nix/custom.nix b/pkgs/tools/package-management/nix/custom.nix
index a84718e7b4aa..069d82979ab4 100644
--- a/pkgs/tools/package-management/nix/custom.nix
+++ b/pkgs/tools/package-management/nix/custom.nix
@@ -12,6 +12,7 @@
 , docbook5 ? null, docbook_xml_dtd_43 ? null 
 , boehmgc ? null
 , pkgconfig ? null
+, sqlite ? null
 , configureFlags ? []
 , lib
 , enableScripts ? []
@@ -35,6 +36,7 @@ stdenv.mkDerivation {
   	++ (if w3m != null then [w3m] else [])
   	++ (if libxml2 != null then [libxml2] else [])
   	++ (if boehmgc != null then [boehmgc] else [])
+  	++ (if sqlite != null then [sqlite] else [])
   	++ (if pkgconfig != null then [pkgconfig] else [])
   ;
 
@@ -50,6 +52,7 @@ stdenv.mkDerivation {
   configureFlags = ''
     --with-store-dir=${storeDir} --localstatedir=${stateDir}
     --with-aterm=${aterm} --with-bdb=${db4} --with-bzip2=${bzip2}
+    --with-sqlite=${sqlite}
     --disable-init-state
     ${toString configureFlags}
   '';
diff --git a/pkgs/tools/package-management/nix/sqlite.nix b/pkgs/tools/package-management/nix/sqlite.nix
deleted file mode 100644
index d4bec98dc549..000000000000
--- a/pkgs/tools/package-management/nix/sqlite.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchurl, perl, curl, bzip2, sqlite, openssl ? null
-, pkgconfig, boehmgc
-, storeDir ? "/nix/store"
-, stateDir ? "/nix/var"
-}:
-
-stdenv.mkDerivation rec {
-  name = "nix-1.0pre25179";
-
-  src = fetchurl {
-    url = "http://hydra.nixos.org/build/811883/download/4/${name}.tar.bz2";
-    sha256 = "4a6f7ca69428d24f253f8f199589d25fca1e7146a6591288392423634e3303f7";
-  };
-
-  buildInputs = [ perl curl openssl pkgconfig boehmgc ];
-
-  configureFlags = ''
-    --with-store-dir=${storeDir} --localstatedir=${stateDir}
-    --with-bzip2=${bzip2} --with-sqlite=${sqlite}
-    --disable-init-state
-    --enable-gc
-    CFLAGS=-O3 CXXFLAGS=-O3
-  '';
-
-  doCheck = true;
-
-  meta = {
-    description = "The Nix Deployment System";
-    homepage = http://nixos.org/;
-    license = "LGPLv2+";
-  };
-}
diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix
index 2dac26dd1b1d..a72d81a62433 100644
--- a/pkgs/tools/package-management/nix/unstable.nix
+++ b/pkgs/tools/package-management/nix/unstable.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, perl, curl, bzip2, openssl ? null
+{ stdenv, fetchurl, perl, curl, bzip2, sqlite, openssl ? null
 , pkgconfig, boehmgc
 , storeDir ? "/nix/store"
 , stateDir ? "/nix/var"
 }:
 
 stdenv.mkDerivation rec {
-  name = "nix-1.0pre24855";
+  name = "nix-1.0pre26015";
 
   src = fetchurl {
-    url = "http://hydra.nixos.org/build/774404/download/4/${name}.tar.bz2";
-    sha256 = "cd2a75a04fc03dcafbab1d183e6ee485b491e17f1680bb7ee38738a2b1235932";
+    url = "http://hydra.nixos.org/build/920246/download/4/${name}.tar.bz2";
+    sha256 = "d2c9caa8573689de4e95eecaf9829d4b672ea3cb9bdfa825dac0ab0dbffb3c70";
   };
 
   buildNativeInputs = [ perl pkgconfig ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   configureFlags =
     ''
       --with-store-dir=${storeDir} --localstatedir=${stateDir}
-      --with-bzip2=${bzip2}
+      --with-bzip2=${bzip2} --with-sqlite=${sqlite}
       --disable-init-state
       --enable-gc
       CFLAGS=-O3 CXXFLAGS=-O3
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     configureFlags =
       ''
         --with-store-dir=${storeDir} --localstatedir=${stateDir}
-        --with-bzip2=${bzip2.hostDrv}
+        --with-bzip2=${bzip2.hostDrv} --with-sqlite=${sqlite.hostDrv}
         --disable-init-state
         CFLAGS=-O3 CXXFLAGS=-O3
       '';
diff --git a/pkgs/tools/security/gnupg/default.nix b/pkgs/tools/security/gnupg/default.nix
index 3c558bbf6730..96a9ceacc836 100644
--- a/pkgs/tools/security/gnupg/default.nix
+++ b/pkgs/tools/security/gnupg/default.nix
@@ -13,11 +13,11 @@ assert useUsb -> (libusb != null);
 assert useCurl -> (curl != null);
 
 stdenv.mkDerivation rec {
-  name = "gnupg-2.0.16";
+  name = "gnupg-2.0.17";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha256 = "02x86pgzkdx9fg6mma36lrd8746zr1qvm995rvvb1sq2gjbvnnhd";
+    sha256 = "19pf74hv26mis8wiq92ljlgmin6pv1m6qyf5h66wr5rgrdg9sr7a";
   };
 
   buildInputs = [ readline zlib libgpgerror pth libgcrypt libassuan libksba ]
diff --git a/pkgs/tools/security/mktemp/default.nix b/pkgs/tools/security/mktemp/default.nix
index 001fa4f09535..4017aa4f9f19 100644
--- a/pkgs/tools/security/mktemp/default.nix
+++ b/pkgs/tools/security/mktemp/default.nix
@@ -1,8 +1,11 @@
-{stdenv, fetchurl}:
-  
+{ stdenv, fetchurl, groff }:
+
 stdenv.mkDerivation {
   name = "mktemp-1.6";
-  
+
+  # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
+  NROFF = "${groff}/bin/nroff";
+
   src = fetchurl {
     url = ftp://ftp.mktemp.org/pub/mktemp/mktemp-1.6.tar.gz;
     sha256 = "1nfj89b0dv1c2fyqi1pg54fyzs3462cbp7jv7lskqsxvqy4mh9x1";
diff --git a/pkgs/tools/system/ddrescue/default.nix b/pkgs/tools/system/ddrescue/default.nix
index ea169b82e895..0cc3fb369947 100644
--- a/pkgs/tools/system/ddrescue/default.nix
+++ b/pkgs/tools/system/ddrescue/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "ddrescue-1.13";
+  name = "ddrescue-1.14";
 
   src = fetchurl {
     url = "mirror://gnu/ddrescue/${name}.tar.gz";
-    sha256 = "1fh3lim8nvy6984vbvyvc3w3mb6bdksdsln8an1l9k6im6b507cc";
+    sha256 = "01m9m8lisf7ly7xl97plqnl5dj253ms1gbk1bbpwv3nnchnvj5yd";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/system/fakeroot/default.nix b/pkgs/tools/system/fakeroot/default.nix
new file mode 100644
index 000000000000..e9c4f4165097
--- /dev/null
+++ b/pkgs/tools/system/fakeroot/default.nix
@@ -0,0 +1,19 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+  name = "fakeroot-1.14.5";
+
+  src = fetchurl {
+    url = http://ftp.de.debian.org/debian/pool/main/f/fakeroot/fakeroot_1.14.5.orig.tar.bz2;
+    sha256 = "0s5f785qsh057z05l9i5k1h9cbj9x26ki37l4wh4iyabjhschddh";
+  };
+
+  meta = {
+    homepage = http://fakeroot.alioth.debian.org/;
+    description = "Give a fake root environment through LD_PRELOAD";
+    license = "GPLv2+";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+
+}
diff --git a/pkgs/tools/system/freeipmi/default.nix b/pkgs/tools/system/freeipmi/default.nix
new file mode 100644
index 000000000000..7711aea3f13b
--- /dev/null
+++ b/pkgs/tools/system/freeipmi/default.nix
@@ -0,0 +1,39 @@
+{ fetchurl, stdenv, libgcrypt, readline }:
+
+stdenv.mkDerivation rec {
+  name = "freeipmi-1.0.2";
+
+  src = fetchurl {
+    url = "mirror://gnu/freeipmi/${name}.tar.gz";
+    sha256 = "1v7f9y6dsb6bg5yribq1i66s6kr4hq6g95fhh9k7h1dgcf2qgpyj";
+  };
+
+  buildInputs = [ libgcrypt readline ];
+
+  doCheck = true;
+
+  meta = {
+    description = "GNU FreeIPMI, an implementation of the Intelligent Platform Management Interface";
+
+    longDescription =
+      '' GNU FreeIPMI provides in-band and out-of-band IPMI software based on
+         the IPMI v1.5/2.0 specification.  The IPMI specification defines a
+         set of interfaces for platform management and is implemented by a
+         number vendors for system management.  The features of IPMI that
+         most users will be interested in are sensor monitoring, system event
+         monitoring, power control, and serial-over-LAN (SOL).  The FreeIPMI
+         tools and libraries listed below should provide users with the
+         ability to access and utilize these and many other features.  A
+         number of useful features for large HPC or cluster environments have
+         also been implemented into FreeIPMI. See the README or FAQ for more
+         info.
+      '';
+
+    homepage = http://www.gnu.org/software/freeipmi/;
+
+    license = "GPLv3+";
+
+    maintainers = with stdenv.lib.maintainers; [ raskin ludo ];
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+  };
+}
diff --git a/pkgs/tools/system/gdmap/default.nix b/pkgs/tools/system/gdmap/default.nix
index f361e862b636..e9592b366661 100644
--- a/pkgs/tools/system/gdmap/default.nix
+++ b/pkgs/tools/system/gdmap/default.nix
@@ -1,16 +1,19 @@
 { stdenv, fetchurl, gtk, pkgconfig, libxml2, intltool, gettext }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "gdmap-0.8.1";
   
   src = fetchurl {
-    url = http://downloads.sourceforge.net/gdmap/gdmap-0.8.1.tar.gz;
+    url = "mirror://sourceforge/gdmap/${name}.tar.gz";
     sha256 = "0nr8l88cg19zj585hczj8v73yh21k7j13xivhlzl8jdk0j0cj052";
   };
 
   buildInputs = [ gtk pkgconfig libxml2 intltool gettext ];
 
+  patches = [ ./get_sensitive.patch ./set_flags.patch ];
+
   meta = {
+    homepage = http://gdmap.sourceforge.net;
     description = "Recursive rectangle map of disk usage";
   };
 }
diff --git a/pkgs/tools/system/gdmap/get_sensitive.patch b/pkgs/tools/system/gdmap/get_sensitive.patch
new file mode 100644
index 000000000000..3cdb6291dfac
--- /dev/null
+++ b/pkgs/tools/system/gdmap/get_sensitive.patch
@@ -0,0 +1,34 @@
+From 166de50914191303b232ec123cfbaadad521560c Mon Sep 17 00:00:00 2001
+From: Alexander Myltsev <avm@altlinux.ru>
+Date: Wed, 21 Apr 2010 22:43:14 +0400
+Subject: [PATCH] GTK_WIDGET_SENSITIVE -> gtk_widget_get_sensitive
+
+---
+ gdmap/src/gui_support.c |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/gui_support.c b/src/gui_support.c
+index 3027e29..45272d3 100644
+--- a/src/gui_support.c
++++ b/src/gui_support.c
+@@ -85,7 +85,7 @@ on_ebox_enter(GtkWidget* box, GdkEventCrossing* event, GtkLabel* label) {
+   const char* text;
+ 
+   (void)event;
+-  if (GTK_WIDGET_SENSITIVE(label)) {
++  if (gtk_widget_get_sensitive(GTK_WIDGET(label))) {
+     char* temp;
+ 
+     text = g_object_get_data(G_OBJECT(label), "label");
+@@ -129,7 +129,7 @@ static void on_clear_label(GtkWidget* widget) {
+ void ui_event_label_set_sensitive(GtkWidget* ebox, gboolean set) {
+   gpointer callback = g_object_get_data(G_OBJECT(ebox), "callback");
+   GtkWidget* child = GTK_BIN(ebox)->child;
+-  if (GTK_WIDGET_SENSITIVE(child) == set) return;
++  if (gtk_widget_get_sensitive(child) == set) return;
+ 
+   if (set && !callback) return;
+   gtk_widget_set_sensitive(child, set);
+-- 
+1.7.3.3
+
diff --git a/pkgs/tools/system/gdmap/set_flags.patch b/pkgs/tools/system/gdmap/set_flags.patch
new file mode 100644
index 000000000000..388836f6e5f4
--- /dev/null
+++ b/pkgs/tools/system/gdmap/set_flags.patch
@@ -0,0 +1,25 @@
+From 9a5537d2b0aba18438dd77a45354ac2e73eae23d Mon Sep 17 00:00:00 2001
+From: Alexander Myltsev <avm@altlinux.ru>
+Date: Mon, 13 Dec 2010 23:24:30 +0300
+Subject: [PATCH] GTK_WIDGET_SET_FLAGS -> gtk_widget_set_can_focus
+
+---
+ gdmap/src/gui_support.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/gui_support.c b/src/gui_support.c
+index 45272d3..ca02d72 100644
+--- a/src/gui_support.c
++++ b/src/gui_support.c
+@@ -164,7 +164,7 @@ GtkWidget* ui_create_event_label(const char* text, GCallback callback,
+                         // GDK_FOCUS_CHANGE_MASK |
+                         GDK_ENTER_NOTIFY_MASK |
+                         GDK_LEAVE_NOTIFY_MASK);
+-  GTK_WIDGET_SET_FLAGS(ebox, GTK_CAN_FOCUS);
++  gtk_widget_set_can_focus(ebox, TRUE);
+ 
+   gtk_widget_show(ebox);
+ 
+-- 
+1.7.3.3
+
diff --git a/pkgs/tools/system/gptfdisk/default.nix b/pkgs/tools/system/gptfdisk/default.nix
new file mode 100644
index 000000000000..b7cebc5795aa
--- /dev/null
+++ b/pkgs/tools/system/gptfdisk/default.nix
@@ -0,0 +1,31 @@
+{ fetchurl, stdenv, libuuid, popt }:
+
+stdenv.mkDerivation rec {
+  name = "gptfdisk-0.7.0";
+
+  src = fetchurl {
+    url = "http://www.rodsbooks.com/gdisk/${name}.tgz";
+    sha256 = "1912l01pj7wcaj2fp06yl6m893c52qh2qy0bkx33k6iq2k747zrf";
+  };
+
+  buildInputs = [ libuuid popt ];
+
+  installPhase = ''
+    ensureDir $out/bin
+    ensureDir $out/share/man/man8
+    install -v -m755 gdisk sgdisk fixparts $out/bin
+    install -v -m644 gdisk.8 sgdisk.8 fixparts.8 \
+        $out/share/man/man8
+  '';
+
+  meta = {
+    description = "A set of text-mode partitioning tools for Globally Unique Identifier (GUID) Partition Table (GPT) disks";
+
+    license = "GPLv2";
+
+    homepage = http://www.rodsbooks.com/gdisk/;
+
+    maintainers = stdenv.lib.maintainers.shlevy;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/system/ipmiutil/default.nix b/pkgs/tools/system/ipmiutil/default.nix
new file mode 100644
index 000000000000..d5252116f640
--- /dev/null
+++ b/pkgs/tools/system/ipmiutil/default.nix
@@ -0,0 +1,55 @@
+x@{builderDefsPackage
+  , openssl
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="ipmiutil";
+    version="2.7.3";
+    name="${baseName}-${version}";
+    project="${baseName}";
+    url="mirror://sourceforge/project/${project}/${baseName}/${name}.tar.gz";
+    hash="0z6ykz5db4ws7hpi25waf9vznwsh0vp819h5s7s8r054vxslrfpq";
+  };
+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 = ["doConfigure" "fixMakefile" "doMakeInstall"];
+
+  fixMakefile = a .fullDepEntry ''
+    sed -e "s@/usr@$out@g" -i Makefile */Makefile */*/Makefile
+    sed -e "s@/etc@$out/etc@g" -i Makefile */Makefile
+    sed -e "s@/var@$out/var@g" -i Makefile */Makefile
+  '' ["minInit" "doConfigure"];
+      
+  meta = {
+    description = "IPMI utilities";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+    license = a.lib.licenses.bsd3;
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "http://sourceforge.net/projects/ipmiutil/files/ipmiutil/";
+    };
+  };
+}) x
+
diff --git a/pkgs/tools/system/plan9port/default.nix b/pkgs/tools/system/plan9port/default.nix
index 3c31e4b53457..e1e515aaf013 100644
--- a/pkgs/tools/system/plan9port/default.nix
+++ b/pkgs/tools/system/plan9port/default.nix
@@ -1,16 +1,16 @@
-{stdenv, fetchurl, libX11, xproto, libXt, xextproto}:
+{stdenv, fetchurl, libX11, xproto, libXt, xextproto, libXext}:
 
-stdenv.mkDerivation {
-  name = "plan9port-20090318";
+stdenv.mkDerivation rec {
+  name = "plan9port-20110103";
   
   builder = ./builder.sh;
 
   src = fetchurl {
-    url = http://swtch.com/plan9port/plan9port-20090318.tgz;
-    sha256 = "1idb2l1s5j34sa1dj1wwnvj97z5z7cy73qjafrxf2bbda26axzqj";
+    url = "http://swtch.com/plan9port/${name}.tgz";
+    sha256 = "12hq3k03jgva72498qa1dyndakbhbfg0sc1jhcap9cxqj04xf0dc";
   };
 
-  buildInputs = [ libX11 xproto libXt xextproto ];
+  buildInputs = [ libX11 xproto libXt xextproto libXext ];
 
   meta = {
     homepage = "http://swtch.com/plan9port/";
diff --git a/pkgs/tools/text/source-highlight/default.nix b/pkgs/tools/text/source-highlight/default.nix
index 35dc7a8a8e6e..ae46d212f016 100644
--- a/pkgs/tools/text/source-highlight/default.nix
+++ b/pkgs/tools/text/source-highlight/default.nix
@@ -2,27 +2,31 @@
 
 let
   name = "source-highlight";
-  version = "3.1.3";
+  version = "3.1.4";
 in
 stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
       url = "mirror://gnu/src-highlite/${name}-${version}.tar.gz";
-      sha256 = "2d819f2ffdc8bb23a87635bdfbc51545db22605a8e544f66f86054b8075af0b5";
+      sha256 = "1jd30ansx2pld196lik6r85aifdhd0cav701vasf4ws8kc8zkcxc";
     };
 
+  # Help it find Boost::Regex.
+  preConfigure =
+    '' export ax_cv_boost_regex=yes
+       export link_regex=yes
+       export BOOST_REGEX_LIB=-lboost_regex
+    '';
+
   buildInputs = [boost];
-  doCheck = false;		# The test suite fails with a trivial
-				# error, so I'll disable it for now.
-				# Whoever bumps this build to the next
-				# version, please re-enable it though!
+  doCheck = true;
 
   meta = {
-    description = "render source code with syntax highlighting";
+    description = "GNU Source-Highlight, source code renderer with syntax highlighting";
     homepage = "http://www.gnu.org/software/src-highlite/";
     license = "GPLv3+";
-    maintainers = [ ];
+    maintainers = [ stdenv.lib.maintainers.ludo ];
     platforms = stdenv.lib.platforms.all;
     longDescription =
       ''
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 145f6a5b06f9..42f4f81cb2bf 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -71,7 +71,7 @@ let
         else configExpr;
 
   # Allow setting the platform in the config file. Otherwise, let's use a reasonable default (pc)
-  platform = if platform_ != null then platform_ 
+  platform = if platform_ != null then platform_
     else getConfig [ "platform" ] (import ./platforms.nix).pc;
 
   # Return an attribute from the Nixpkgs configuration file, or
@@ -275,7 +275,7 @@ let
     inherit stdenv subversion openssh;
     sshSupport = true;
   };
-  
+
   fetchsvnrevision = import ../build-support/fetchsvnrevision runCommand subversion;
 
   fetchsvnssh = import ../build-support/fetchsvnssh {
@@ -388,20 +388,15 @@ let
 
   at = callPackage ../tools/system/at { };
 
-  autogen = callPackage ../development/tools/misc/autogen { };
+  autogen = callPackage ../development/tools/misc/autogen {
+    guile = guile_1_8;
+  };
 
   autojump = callPackage ../tools/misc/autojump { };
 
-  avahi =
-    let qt4Support = getConfig [ "avahi" "qt4Support" ] false;
-    in
-      makeOverridable (import ../development/libraries/avahi) {
-        inherit stdenv fetchurl pkgconfig libdaemon dbus perl perlXMLParser
-          expat gettext intltool lib;
-        inherit (gtkLibs) glib gtk;
-        inherit qt4Support;
-        qt4 = if qt4Support then qt4 else null;
-      };
+  avahi = callPackage ../development/libraries/avahi {
+    qt4Support = getConfig [ "avahi" "qt4Support" ] false;
+  };
 
   axel = callPackage ../tools/networking/axel { };
 
@@ -413,6 +408,8 @@ let
 
   bfr = callPackage ../tools/misc/bfr { };
 
+  bluedevil = newScope pkgs.kde4 ../tools/bluetooth/bluedevil { };
+
   bootchart = callPackage ../tools/system/bootchart { };
 
   btrfsProgs = builderDefsPackage (import ../tools/filesystems/btrfsprogs) {
@@ -565,6 +562,8 @@ let
 
   dirmngr = callPackage ../tools/security/dirmngr { };
 
+  dmg2img = callPackage ../tools/misc/dmg2img { };
+
   docbook2x = callPackage ../tools/typesetting/docbook2x {
     inherit (perlPackages) XMLSAX XMLParser XMLNamespaceSupport;
     libiconv = if stdenv.isDarwin then libiconv else null;
@@ -606,6 +605,8 @@ let
 
   expect = callPackage ../tools/misc/expect { };
 
+  fakeroot = callPackage ../tools/system/fakeroot { };
+
   fcron = callPackage ../tools/system/fcron {  # see also cron
   };
 
@@ -636,10 +637,16 @@ let
     withX11 = true;
   };
 
-  freetalk = callPackage ../applications/networking/instant-messengers/freetalk {};
+  freeipmi = callPackage ../tools/system/freeipmi {};
+
+  freetalk = callPackage ../applications/networking/instant-messengers/freetalk {
+    guile = guile_1_8;
+  };
 
   ftgl = callPackage ../development/libraries/ftgl { };
 
+  fuppes = callPackage ../tools/networking/fuppes {};
+
   dos2unix = callPackage ../tools/text/dos2unix { };
 
   unix2dos = callPackage ../tools/text/unix2dos { };
@@ -649,7 +656,7 @@ let
   gawk = callPackage ../tools/text/gawk { };
 
   gdmap = callPackage ../tools/system/gdmap {
-    inherit (gtkLibs216) gtk;
+    inherit (pkgs.gtkLibs) gtk;
   };
 
   genext2fs = callPackage ../tools/filesystems/genext2fs { };
@@ -673,8 +680,10 @@ let
   glxinfo = callPackage ../tools/graphics/glxinfo { };
 
   gnokii = builderDefsPackage (import ../tools/misc/gnokii) {
-    inherit intltool perl gettext libusb pkgconfig;
+    inherit intltool perl gettext libusb pkgconfig bluez readline pcsclite
+      libical;
     inherit (gtkLibs) gtk glib;
+    inherit (xorg) libXpm;
   };
 
   gnugrep =
@@ -714,6 +723,8 @@ let
 
   gource = callPackage ../tools/misc/gource { };
 
+  gptfdisk = callPackage ../tools/system/gptfdisk { };
+
   graphviz = callPackage ../tools/graphics/graphviz {
     inherit (gtkLibs) pango;
   };
@@ -735,6 +746,7 @@ let
   };
 
   grub2 = callPackage ../tools/misc/grub/1.9x.nix { };
+  grub2_efi = callPackage ../tools/misc/grub/1.9x.nix { EFIsupport = true; };
 
   gssdp = callPackage ../development/libraries/gssdp {
     inherit (gnome) libsoup;
@@ -744,6 +756,8 @@ let
 
   gtkgnutella = callPackage ../tools/networking/p2p/gtk-gnutella { };
 
+  gtkvnc = callPackage ../tools/admin/gtk-vnc {};
+
   gupnp = callPackage ../development/libraries/gupnp {
     inherit (gnome) libsoup;
   };
@@ -765,7 +779,7 @@ let
   hddtemp = callPackage ../tools/misc/hddtemp { };
 
   hdf5 = callPackage ../tools/misc/hdf5 { };
-  
+
   hevea = callPackage ../tools/typesetting/hevea { };
 
   highlight = callPackage ../tools/text/highlight { };
@@ -774,6 +788,10 @@ let
 
   httpfs2 = callPackage ../tools/filesystems/httpfs { };
 
+  hydra = callPackage ../development/tools/misc/hydra {
+    nix = nixSqlite;
+  };
+
   iasl = callPackage ../development/compilers/iasl { };
 
   idutils = callPackage ../tools/misc/idutils { };
@@ -794,8 +812,12 @@ let
     static = false;
   };
 
+  ipmiutil = callPackage ../tools/system/ipmiutil {};
+
   ised = callPackage ../tools/misc/ised {};
 
+  isync = callPackage ../tools/networking/isync { };
+
   jdiskreport = callPackage ../tools/misc/jdiskreport { };
 
   jfsrec = callPackage ../tools/filesystems/jfsrec { };
@@ -848,7 +870,9 @@ let
 
   lzop = callPackage ../tools/compression/lzop { };
 
-  mailutils = callPackage ../tools/networking/mailutils { };
+  mailutils = callPackage ../tools/networking/mailutils {
+    guile = guile_1_8;
+  };
 
   man = callPackage ../tools/misc/man { };
 
@@ -860,7 +884,9 @@ let
 
   mcabber = callPackage ../applications/networking/instant-messengers/mcabber { };
 
-  mcron = callPackage ../tools/system/mcron { };
+  mcron = callPackage ../tools/system/mcron {
+    guile = guile_1_8;
+  };
 
   mdbtools = callPackage ../tools/misc/mdbtools { };
 
@@ -870,7 +896,7 @@ let
 
   mjpegtools = callPackage ../tools/video/mjpegtools { };
 
-  mkisofs = callPackage ../tools/cd-dvd/mkisofs { };
+  mkcue = callPackage ../tools/cd-dvd/mkcue { };
 
   mktemp = callPackage ../tools/security/mktemp { };
 
@@ -892,6 +918,8 @@ let
 
   mtools = callPackage ../tools/filesystems/mtools { };
 
+  mtr = callPackage ../tools/networking/mtr {};
+
   multitran = recurseIntoAttrs (let callPackage = newScope pkgs.multitran; in rec {
     multitrandata = callPackage ../tools/text/multitran/data { };
 
@@ -938,6 +966,8 @@ let
 
   netselect = callPackage ../tools/networking/netselect { };
 
+  networkmanager = callPackage ../tools/networking/network-manager { };
+
   nilfs_utils = callPackage ../tools/filesystems/nilfs-utils {};
 
   nmap = callPackage ../tools/security/nmap {
@@ -1118,6 +1148,8 @@ let
     qt = qt4;
   };
 
+  radvd = callPackage ../tools/networking/radvd { };
+
   rtmpdump = callPackage ../tools/video/rtmpdump { };
 
   recutils = callPackage ../tools/misc/recutils { };
@@ -1200,6 +1232,8 @@ let
 
   smartmontools = callPackage ../tools/system/smartmontools { };
 
+  smbnetfs = callPackage ../tools/filesystems/smbnetfs {};
+
   fusesmb = callPackage ../tools/filesystems/fusesmb { };
 
   socat = callPackage ../tools/networking/socat { };
@@ -1259,6 +1293,7 @@ let
   texmacs = callPackage ../applications/editors/texmacs {
     tex = texLive; /* tetex is also an option */
     extraFonts = true;
+    guile = guile_1_8;
   };
 
   tmux = callPackage ../tools/misc/tmux { };
@@ -1272,6 +1307,8 @@ let
 
   ucl = callPackage ../development/libraries/ucl { };
 
+  udftools = callPackage ../tools/filesystems/udftools {};
+
   ufraw = callPackage ../applications/graphics/ufraw {
     inherit (gnome) gtk;
   };
@@ -1288,8 +1325,12 @@ let
     inherit pciutils libx86 zlib;
   };
 
+  vde2 = callPackage ../tools/networking/vde2 { };
+
   verilog = callPackage ../applications/science/electronics/verilog {};
 
+  vfdecrypt = callPackage ../tools/misc/vfdecrypt { };
+
   viking = callPackage ../applications/misc/viking { };
 
   vncrec = builderDefsPackage ../tools/video/vncrec {
@@ -1298,6 +1339,8 @@ let
       libXp;
   };
 
+  vorbisgain = callPackage ../tools/misc/vorbisgain { };
+
   vpnc = callPackage ../tools/networking/vpnc { };
 
   vtun = callPackage ../tools/networking/vtun { };
@@ -1436,6 +1479,8 @@ let
     inherit python setuptools;
   };
 
+  xorriso = callPackage ../tools/cd-dvd/xorriso { };
+
   xpf = callPackage ../tools/text/xml/xpf {
     libxml2 = libxml2Python;
   };
@@ -1517,9 +1562,7 @@ let
   };
   };
 
-  ecl = builderDefsPackage ../development/compilers/ecl {
-    inherit gmp mpfr;
-  };
+  ecl = callPackage ../development/compilers/ecl { };
 
   eql = callPackage ../development/compilers/eql {};
 
@@ -1850,45 +1893,7 @@ let
   # packages.
 
   # This should point to the current default version.
-  haskellPackages = haskellPackages_ghc6123;
-
-  # Old versions of ghc that currently don't build because the binary
-  # is broken.
-  /*
-  haskellPackages_ghc642 = callPackage ./haskell-packages.nix {
-    ghc = import ../development/compilers/ghc/6.4.2.nix {
-      inherit fetchurl stdenv perl ncurses readline m4 gmp;
-      ghc = ghc642Binary;  };
-  };
-
-  haskellPackages_ghc661 = callPackage ./haskell-packages.nix {
-    ghc = import ../development/compilers/ghc/6.6.1.nix {
-      inherit fetchurl stdenv readline perl58 gmp ncurses m4;
-      ghc = ghc642Binary;
-  };
-  };
-
-  haskellPackages_ghc682 = callPackage ./haskell-packages.nix {
-    ghc = import ../development/compilers/ghc/6.8.2.nix {
-      inherit fetchurl stdenv perl gmp ncurses m4;
-      readline = readline5;
-      ghc = ghc642Binary;
-  };
-  };
-
-  haskellPackages_ghc683 = recurseIntoAttrs (import ./haskell-packages.nix {
-    inherit pkgs;
-    ghc = callPackage ../development/compilers/ghc/6.8.3.nix {
-      ghc = ghc642Binary;
-      haddock = import ../development/tools/documentation/haddock/boot.nix {
-        inherit gmp;
-        cabal = import ../development/libraries/haskell/cabal/cabal.nix {
-          inherit stdenv fetchurl lib;
-          ghc = ghc642Binary;    };
-      };
-    };
-  });
-  */
+  haskellPackages = haskellPackages_ghc702;
 
   # NOTE: After discussion, we decided to enable recurseIntoAttrs for all
   # currently available ghc versions. (Before, it used to be enabled only
@@ -1897,41 +1902,35 @@ let
   # reducing the number or "enabled" versions again.
 
   # Helper functions to abstract away from repetitive instantiations.
-  haskellPackagesFun = ghcPath : profDefault : modifyPrio : recurseIntoAttrs (import ./haskell-packages.nix {
-    inherit pkgs newScope modifyPrio;
+  haskellPackagesFun = ghcPath : prefFun : profDefault : modifyPrio : recurseIntoAttrs (import ./haskell-packages.nix {
+    inherit pkgs newScope modifyPrio prefFun;
     enableLibraryProfiling = getConfig [ "cabal" "libraryProfiling" ] profDefault;
-    ghc = callPackage ghcPath {
-      ghc = ghc6101Binary;    };
+    ghc = callPackage ghcPath { ghc = ghc6101Binary; };
   });
 
   # Currently active GHC versions.
-  haskellPackages_ghc6101 =
-    haskellPackagesFun ../development/compilers/ghc/6.10.1.nix false (x : x);
-
-  haskellPackages_ghc6102 =
-    haskellPackagesFun ../development/compilers/ghc/6.10.2.nix false (x : x);
-
-  haskellPackages_ghc6103 =
-    haskellPackagesFun ../development/compilers/ghc/6.10.3.nix false (x : x);
-
   haskellPackages_ghc6104 =
-    haskellPackagesFun ../development/compilers/ghc/6.10.4.nix false (x : x);
+    haskellPackagesFun ../development/compilers/ghc/6.10.4.nix (x : x.ghc6104Prefs) false (x : x);
 
   haskellPackages_ghc6121 =
-    haskellPackagesFun ../development/compilers/ghc/6.12.1.nix false (x : x);
+    haskellPackagesFun ../development/compilers/ghc/6.12.1.nix (x : x.ghc6121Prefs) false (x : x);
 
   haskellPackages_ghc6122 =
-    haskellPackagesFun ../development/compilers/ghc/6.12.2.nix false (x : x);
+    haskellPackagesFun ../development/compilers/ghc/6.12.2.nix (x : x.ghc6122Prefs) false (x : x);
+
+  haskellPackages_ghc6123 =
+    haskellPackagesFun ../development/compilers/ghc/6.12.3.nix (x : x.ghc6123Prefs) false (x : x);
+
+  # Will never make it into a platform release, severe bugs; leave at lowPrio.
+  haskellPackages_ghc701 =
+    haskellPackagesFun ../development/compilers/ghc/7.0.1.nix  (x : x.ghc701Prefs) false lowPrio;
 
   # Current default version.
-  haskellPackages_ghc6123 =
-    haskellPackagesFun ../development/compilers/ghc/6.12.3.nix false (x : x);
-
-  haskellPackages_ghc701 =
-    haskellPackagesFun ../development/compilers/ghc/7.0.1.nix  false lowPrio;
+  haskellPackages_ghc702 =
+    haskellPackagesFun ../development/compilers/ghc/7.0.2.nix  (x : x.ghc702Prefs) false (x : x);
 
   haskellPackages_ghcHEAD =
-    haskellPackagesFun ../development/compilers/ghc/head.nix   false lowPrio;
+    haskellPackagesFun ../development/compilers/ghc/head.nix   (x : x.ghcHEADPrefs) false lowPrio;
 
   haxeDist = import ../development/compilers/haxe {
     inherit fetchurl sourceFromHead stdenv lib ocaml zlib makeWrapper neko;
@@ -2045,12 +2044,12 @@ let
     findlib = callPackage ../development/tools/ocaml/findlib { };
 
     gmetadom = callPackage ../development/ocaml-modules/gmetadom { };
-    
+
     lablgtk = callPackage ../development/ocaml-modules/lablgtk {
       inherit (gnome) libgnomecanvas libglade gtksourceview;
     };
 
-    lablgtkmathview = callPackage ../development/ocaml-modules/lablgtkmathview { 
+    lablgtkmathview = callPackage ../development/ocaml-modules/lablgtkmathview {
       gtkmathview = callPackage ../development/libraries/gtkmathview { };
     };
 
@@ -2199,9 +2198,11 @@ let
 
   groovy = callPackage ../development/interpreters/groovy { };
 
-  guile = callPackage ../development/interpreters/guile { };
+  guile_1_8 = callPackage ../development/interpreters/guile/1.8.nix { };
 
-  guile_1_9 = callPackage ../development/interpreters/guile/1.9.nix { };
+  guile_2_0 = callPackage ../development/interpreters/guile { };
+
+  guile = guile_2_0;
 
   io = builderDefsPackage (import ../development/interpreters/io) {
     inherit sqlite zlib gmp libffi cairo ncurses freetype mesa
@@ -2299,11 +2300,10 @@ let
     python = python27;
   };
 
-  python31Base = lowPrio (makeOverridable (import ../development/interpreters/python/3.1) {
-    inherit (pkgs) fetchurl stdenv zlib bzip2 gdbm;
-    arch = if stdenv.isDarwin then darwinArchUtility else null;
-    sw_vers = if stdenv.isDarwin then darwinSwVersUtility else null;
-  });
+  python3 = callPackage ../development/interpreters/python/3.1 {
+    arch = if stdenv.isDarwin then pkgs.darwinArchUtility else null;
+    sw_vers = if stdenv.isDarwin then pkgs.darwinSwVersUtility else null;
+  };
 
   pyrex = pyrex095;
 
@@ -2313,15 +2313,16 @@ let
 
   qi = callPackage ../development/compilers/qi { };
 
-  racket = callPackage ../development/interpreters/racket { };
+  racket = callPackage ../development/interpreters/racket {
+    inherit (gtkLibs) pango glib gtk;
+    libjpeg = libjpeg62;
+  };
 
   ruby18 = callPackage ../development/interpreters/ruby { };
   #ruby19 = import ../development/interpreters/ruby/ruby-19.nix { inherit ruby18 fetchurl; };
   ruby = ruby18;
 
-  rubyLibs = recurseIntoAttrs (import ../development/interpreters/ruby/libs.nix {
-    inherit pkgs stdenv;
-  });
+  rubyLibs = recurseIntoAttrs (callPackage ../development/interpreters/ruby/libs.nix { });
 
   rake = callPackage ../development/ruby-modules/rake { };
 
@@ -2331,7 +2332,7 @@ let
     withBioconductor = getConfig ["rLang" "withBioconductor"] false;
   };
 
-  rubygemsFun = ruby: builderDefsPackage (import ../development/interpreters/ruby/gems.nix) {
+  rubygemsFun = ruby: builderDefsPackage (import ../development/interpreters/ruby/rubygems.nix) {
     inherit ruby makeWrapper;
   };
   rubygems = rubygemsFun ruby;
@@ -2388,6 +2389,8 @@ let
 
   guile_lib = callPackage ../development/guile-modules/guile-lib { };
 
+  guile_ncurses = callPackage ../development/guile-modules/guile-ncurses { };
+
   windowssdk = (
     import ../development/misc/windows-sdk {
       inherit fetchurl stdenv cabextract;
@@ -2433,9 +2436,13 @@ let
   automake110x = callPackage ../development/tools/misc/automake/automake-1.10.x.nix { };
 
   automake111x = callPackage ../development/tools/misc/automake/automake-1.11.x.nix {
-    doCheck = if stdenv.isArm then false else true;
+    doCheck = !stdenv.isArm && !stdenv.isCygwin
+      # Some of the parallel tests seem to hang on `i386-pc-solaris2.11'.
+      && stdenv.system != "i386-sunos";
   };
 
+  automoc4 = callPackage ../development/tools/misc/automoc4 { };
+
   avrdude = callPackage ../development/tools/misc/avrdude { };
 
   binutils = callPackage ../development/tools/misc/binutils {
@@ -2630,7 +2637,8 @@ let
 
   # couldn't find the source yet
   seleniumRCBin = callPackage ../development/tools/selenium/remote-control {
-    jre = jdk;  };
+    jre = jdk;
+  };
 
   scons = callPackage ../development/tools/build-managers/scons { };
 
@@ -2720,10 +2728,6 @@ let
 
   aterm = aterm25;
 
-  aterm242fixes = lowPrio (import ../development/libraries/aterm/2.4.2-fixes.nix {
-    inherit fetchurl stdenv;
-  });
-
   aterm25 = callPackage ../development/libraries/aterm/2.5.nix { };
 
   aterm28 = lowPrio (callPackage ../development/libraries/aterm/2.8.nix { });
@@ -2744,6 +2748,8 @@ let
 
   boost = callPackage ../development/libraries/boost { };
 
+  boost146 = callPackage ../development/libraries/boost/1.46.nix { };
+
   # A Boost build with all library variants enabled.  Very large (about 250 MB).
   boostFull = appendToName "full" (boost.override {
     enableDebug = true;
@@ -2759,9 +2765,6 @@ let
   buddy = callPackage ../development/libraries/buddy { };
 
   cairo = callPackage ../development/libraries/cairo { };
-  cairo_1_10_0 = callPackage ../development/libraries/cairo/1.10.nix {
-    pixman = xlibs.pixman_0_20_0;
-  };
 
   cairomm = callPackage ../development/libraries/cairomm { };
 
@@ -2816,6 +2819,10 @@ let
     inherit (gnome) gtk;
   };
 
+  cminpack = callPackage ../development/libraries/cminpack { };
+
+  coin3d = callPackage ../development/libraries/coin3d { };
+
   commoncpp2 = callPackage ../development/libraries/commoncpp2 { };
 
   confuse = callPackage ../development/libraries/confuse { };
@@ -2841,7 +2848,7 @@ let
   db45 = callPackage ../development/libraries/db4/db4-4.5.nix { };
 
   dbus = callPackage ../development/libraries/dbus {
-    useX11 = true; # !!! `false' doesn't build
+    useX11 = true;
   };
 
   dbus_glib = makeOverridable (import ../development/libraries/dbus-glib) {
@@ -2854,10 +2861,16 @@ let
 
   directfb = callPackage ../development/libraries/directfb { };
 
+  dotconf = callPackage ../development/libraries/dotconf { };
+
+  dssi = callPackage ../development/libraries/dssi {};
+
   dragonegg = callPackage ../development/compilers/llvm/dragonegg.nix {
     stdenv = overrideGCC stdenv gcc45;
   };
 
+  eigen = callPackage ../development/libraries/eigen {};
+
   enchant = callPackage ../development/libraries/enchant {
     inherit (gnome) glib;
   };
@@ -2909,6 +2922,8 @@ let
     singlePrecision = true;
   };
 
+  flann = callPackage ../development/libraries/flann { };
+
   fltk11 = callPackage ../development/libraries/fltk/fltk11.nix { };
 
   fltk20 = callPackage ../development/libraries/fltk { };
@@ -2936,6 +2951,8 @@ let
 
   fribidi = callPackage ../development/libraries/fribidi { };
 
+  funambol = callPackage ../development/libraries/funambol { };
+
   fam = gamin;
 
   gamin = callPackage ../development/libraries/gamin { };
@@ -2950,10 +2967,6 @@ let
 
   gdbm = callPackage ../development/libraries/gdbm { };
 
-  gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf {
-    inherit (gtkLibs1x) gtk;
-  };
-
   gegl = callPackage ../development/libraries/gegl {
     #  avocodec avformat librsvg
     inherit (gtkLibs) pango glib gtk;
@@ -3082,8 +3095,6 @@ let
 
   gmime = callPackage ../development/libraries/gmime { };
 
-  gmime_2_2 = callPackage ../development/libraries/gmime/2.2.x.nix { };
-
   gmm = callPackage ../development/libraries/gmm { };
 
   gmp =
@@ -3146,13 +3157,13 @@ let
 
   gtkmathview = callPackage ../development/libraries/gtkmathview { };
 
-  gtkLibs = gtkLibs220;
+  gtkLibs = gtkLibs224;
 
   glib = gtkLibs.glib;
   gtk = gtkLibs.gtk;
   pango = gtkLibs.pango;
 
-  gtkLibs1x = recurseIntoAttrs (let callPackage = newScope pkgs.gtkLibs1x; in rec {
+  gtkLibs1x = recurseIntoAttrs (let callPackage = newScope pkgs.gtkLibs1x; in {
 
     glib = callPackage ../development/libraries/glib/1.2.x.nix { };
 
@@ -3160,7 +3171,7 @@ let
 
   });
 
-  gtkLibs216 = recurseIntoAttrs (let callPackage = newScope pkgs.gtkLibs216; in rec {
+  gtkLibs216 = recurseIntoAttrs (let callPackage = newScope pkgs.gtkLibs216; in {
 
     glib = callPackage ../development/libraries/glib/2.20.x.nix { };
 
@@ -3178,25 +3189,7 @@ let
 
   });
 
-  gtkLibs218 = recurseIntoAttrs (let callPackage = newScope pkgs.gtkLibs218; in rec {
-
-    glib = callPackage ../development/libraries/glib/2.22.x.nix { };
-
-    glibmm = callPackage ../development/libraries/glibmm/2.22.x.nix { };
-
-    atk = callPackage ../development/libraries/atk/1.28.x.nix { };
-
-    pango = callPackage ../development/libraries/pango/1.26.x.nix { };
-
-    pangomm = callPackage ../development/libraries/pangomm/2.26.x.nix { };
-
-    gtk = callPackage ../development/libraries/gtk+/2.18.x.nix { };
-
-    gtkmm = callPackage ../development/libraries/gtkmm/2.18.x.nix { };
-
-  });
-
-  gtkLibs220 = recurseIntoAttrs (let callPackage = pkgs.newScope pkgs.gtkLibs220; in rec {
+  gtkLibs220 = recurseIntoAttrs (let callPackage = pkgs.newScope pkgs.gtkLibs220; in {
 
     glib = callPackage ../development/libraries/glib/2.24.x.nix { };
 
@@ -3214,6 +3207,26 @@ let
 
   });
 
+  gtkLibs224 = recurseIntoAttrs (let callPackage = pkgs.newScope pkgs.gtkLibs224; in {
+
+    glib = callPackage ../development/libraries/glib/2.28.x.nix { };
+
+    glibmm = callPackage ../development/libraries/glibmm/2.22.x.nix { };
+
+    atk = callPackage ../development/libraries/atk/1.32.x.nix { };
+
+    pango = callPackage ../development/libraries/pango/1.28.x.nix { };
+
+    pangomm = callPackage ../development/libraries/pangomm/2.26.x.nix { };
+
+    gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf/2.22.x.nix { };
+
+    gtk = callPackage ../development/libraries/gtk+/2.24.x.nix { };
+
+    gtkmm = callPackage ../development/libraries/gtkmm/2.18.x.nix { };
+
+  });
+
   gtkmozembedsharp = callPackage ../development/libraries/gtkmozembed-sharp {
     inherit (gnome) gtk;
     gtksharp = gtksharp2;
@@ -3238,6 +3251,8 @@ let
 
   gtkspell = callPackage ../development/libraries/gtkspell { };
 
+  gts = callPackage ../development/libraries/gts { };
+
   # TODO : Add MIT Kerberos and let admin choose.
   kerberos = heimdal;
 
@@ -3341,12 +3356,16 @@ let
 
   libarchive = callPackage ../development/libraries/libarchive { };
 
+  libass = callPackage ../development/libraries/libass { };
+
   libassuan1 = callPackage ../development/libraries/libassuan1 { };
 
   libassuan = callPackage ../development/libraries/libassuan { };
 
   libavc1394 = callPackage ../development/libraries/libavc1394 { };
 
+  libbluedevil = callPackage ../development/libraries/libbluedevil { };
+
   libcaca = callPackage ../development/libraries/libcaca { };
 
   libcanberra = callPackage ../development/libraries/libcanberra {
@@ -3394,7 +3413,7 @@ let
 
   libdv = callPackage ../development/libraries/libdv { };
 
-  libdrm = if stdenv.isDarwin then null else (import ../development/libraries/libdrm {
+  libdrm = if stdenv.isDarwin then null else (callPackage ../development/libraries/libdrm {
     inherit fetchurl stdenv pkgconfig;
     inherit (xorg) libpthreadstubs;
   });
@@ -3405,12 +3424,16 @@ let
 
   libdvdread = callPackage ../development/libraries/libdvdread { };
 
+  libebml = callPackage ../development/libraries/libebml { };
+
   libedit = callPackage ../development/libraries/libedit { };
 
   libelf = callPackage ../development/libraries/libelf { };
 
   liblo = callPackage ../development/libraries/liblo { };
 
+  liblrdf = callPackage ../development/libraries/liblrdf {};
+
   libev = builderDefsPackage ../development/libraries/libev {
   };
 
@@ -3420,11 +3443,15 @@ let
 
   libexif = callPackage ../development/libraries/libexif { };
 
+  libexosip = callPackage ../development/libraries/exosip {};
+
   libextractor = callPackage ../development/libraries/libextractor {
     inherit (gnome) gtk;
     libmpeg2 = mpeg2dec;
   };
 
+  libf2c = callPackage ../development/libraries/libf2c {};
+
   libfixposix = callPackage ../development/libraries/libfixposix {};
 
   libffcall = builderDefsPackage (import ../development/libraries/libffcall) {
@@ -3461,6 +3488,8 @@ let
 
   liblastfm = callPackage ../development/libraries/liblastfm { };
 
+  liblikeback = newScope pkgs.kde4 ../development/libraries/liblikeback { };
+
   liblqr1 = callPackage ../development/libraries/liblqr-1 {
     inherit (gnome) glib;
   };
@@ -3511,6 +3540,8 @@ let
     libtool = libtool_1_5;
   };
 
+  libkate = callPackage ../development/libraries/libkate { };
+
   libksba = callPackage ../development/libraries/libksba { };
 
   libmad = callPackage ../development/libraries/libmad { };
@@ -3521,6 +3552,8 @@ let
 
   libmatthew_java = callPackage ../development/libraries/java/libmatthew-java { };
 
+  libmatroska = callPackage ../development/libraries/libmatroska { };
+
   libmcs = callPackage ../development/libraries/libmcs { };
 
   libmicrohttpd = callPackage ../development/libraries/libmicrohttpd { };
@@ -3561,6 +3594,8 @@ let
 
   libogg = callPackage ../development/libraries/libogg { };
 
+  liboggz = callPackage ../development/libraries/liboggz { };
+
   liboil = callPackage ../development/libraries/liboil { };
 
   liboop = callPackage ../development/libraries/liboop { };
@@ -3607,6 +3642,8 @@ let
 
   libtiff = callPackage ../development/libraries/libtiff { };
 
+  libtiger = callPackage ../development/libraries/libtiger { };
+
   libtommath = callPackage ../development/libraries/libtommath { };
 
   libtorrentRasterbar = callPackage ../development/libraries/libtorrent-rasterbar { };
@@ -3696,12 +3733,13 @@ let
 
   liquidwar = builderDefsPackage ../games/liquidwar {
     inherit (xlibs) xproto libX11 libXrender;
-    inherit gmp guile mesa libjpeg libpng
+    inherit gmp mesa libjpeg libpng
       expat gettext perl
       SDL SDL_image SDL_mixer SDL_ttf
       curl sqlite
       libogg libvorbis
       ;
+   guile = guile_1_8;
   };
 
   log4cxx = callPackage ../development/libraries/log4cxx { };
@@ -3742,6 +3780,8 @@ let
 
   ming = callPackage ../development/libraries/ming { };
 
+  mkvtoolnix = callPackage ../applications/video/mkvtoolnix { };
+
   mlt = callPackage ../development/libraries/mlt {
     qt = qt4;
   };
@@ -3796,7 +3836,7 @@ let
 
   ode = builderDefsPackage (import ../development/libraries/ode) {
   };
-  
+
   ogre = callPackage ../development/libraries/ogre {};
 
   openal = callPackage ../development/libraries/openal { };
@@ -3890,6 +3930,12 @@ let
 
   ptlib = callPackage ../development/libraries/ptlib {};
 
+  qca2 = callPackage ../development/libraries/qca2 {};
+
+  qca2_ossl = callPackage ../development/libraries/qca2/ossl.nix {};
+
+  qimageblitz = callPackage ../development/libraries/qimageblitz {};
+
   qjson = callPackage ../development/libraries/qjson { };
 
   qt3 = callPackage ../development/libraries/qt-3 {
@@ -3995,6 +4041,10 @@ let
         # optional
   };
 
+  soqt = callPackage ../development/libraries/soqt { };
+
+  speechd = callPackage ../development/libraries/speechd { };
+
   speex = callPackage ../development/libraries/speex { };
 
   srtp = callPackage ../development/libraries/srtp {};
@@ -4015,6 +4065,8 @@ let
 
   stlport = callPackage ../development/libraries/stlport { };
 
+  strigi = callPackage ../development/libraries/strigi {};
+
   suitesparse = callPackage ../development/libraries/suitesparse { };
 
   sword = callPackage ../development/libraries/sword { };
@@ -4025,8 +4077,6 @@ let
 
   taglib = callPackage ../development/libraries/taglib { };
 
-  taglib_live = callPackage ../development/libraries/taglib/live.nix { };
-
   taglib_extras = callPackage ../development/libraries/taglib-extras { };
 
   talloc = callPackage ../development/libraries/talloc { };
@@ -4051,6 +4101,8 @@ let
 
   tokyocabinet = callPackage ../development/libraries/tokyo-cabinet { };
 
+  tremor = callPackage ../development/libraries/tremor { };
+
   unicap = callPackage ../development/libraries/unicap {};
 
   unixODBC = callPackage ../development/libraries/unixODBC { };
@@ -4062,26 +4114,37 @@ let
 
   urt = callPackage ../development/libraries/urt { };
 
+  ucommon = callPackage ../development/libraries/ucommon { };
+
   vamp = callPackage ../development/libraries/audio/vamp { };
 
   vigra = callPackage ../development/libraries/vigra { };
 
+  vmime = callPackage ../development/libraries/vmime { };
+
   vtk = callPackage ../development/libraries/vtk { };
 
   vxl = callPackage ../development/libraries/vxl { };
 
-  webkit = ((builderDefsPackage ../development/libraries/webkit {
-    inherit (gnome28) gtkdoc libsoup;
-    inherit (gtkLibs) gtk atk pango glib;
-    inherit freetype fontconfig gettext gperf curl
+  webkit = let p = applyGlobalOverrides (x : {
+    libsoup = x.gnome28.libsoup_2_31;
+    gnome28 = x.gnome28 // {
+      libsoup = x.gnome28.libsoup_2_31;
+    };
+  });
+  in
+  (p.builderDefsPackage ../development/libraries/webkit {
+    inherit (p.gnome28) gtkdoc;
+    inherit (p.gtkLibs) gtk atk pango glib;
+    inherit (p) freetype fontconfig gettext gperf curl
       libjpeg libtiff libpng libxml2 libxslt sqlite
       icu cairo perl intltool automake libtool
       pkgconfig autoconf bison libproxy enchant
-      python ruby which flex geoclue;
-    inherit (gst_all) gstreamer gstPluginsBase gstFfmpeg
+      python ruby which flex geoclue libsoup;
+    inherit (p.gst_all) gstreamer gstPluginsBase gstFfmpeg
       gstPluginsGood;
-    inherit (xlibs) libXt renderproto libXrender;
-  }).deepOverride {libsoup = gnome28.libsoup_2_31;});
+    inherit (p.xlibs) libXt renderproto libXrender;
+  });
 
   wvstreams = callPackage ../development/libraries/wvstreams { };
 
@@ -4112,6 +4175,8 @@ let
 
   xautolock = callPackage ../misc/screensavers/xautolock { };
 
+  xercesc = callPackage ../development/libraries/xercesc {};
+
   xercesJava = callPackage ../development/libraries/java/xerces {
     ant   = apacheAntGcj;  # for bootstrap purposes
     javac = gcj;
@@ -4216,6 +4281,11 @@ let
   zziplib = callPackage ../development/libraries/zziplib { };
 
 
+  ### DEVELOPMENT / LIBRARIES / JAVASCRIPT
+
+  jquery_ui = callPackage ../development/libraries/javascript/jquery-ui { };
+
+
   ### DEVELOPMENT / PERL MODULES
 
   buildPerlPackage = import ../development/perl-modules/generic perl;
@@ -4333,8 +4403,8 @@ let
 
   sabnzbd = callPackage ../servers/sabnzbd { };
 
-  bind = builderDefsPackage (import ../servers/dns/bind/9.5.0.nix) {
-    inherit openssl libtool;
+  bind = callPackage ../servers/dns/bind/default.nix {
+    inherit openssl libtool perl;
   };
 
   dico = callPackage ../servers/dico { };
@@ -4366,6 +4436,8 @@ let
 
   firebird = callPackage ../servers/firebird { };
 
+  freeswitch = callPackage ../servers/sip/freeswitch { };
+
   ghostOne = callPackage ../servers/games/ghost-one {
     boost = boostFull;
   };
@@ -4380,6 +4452,8 @@ let
 
   jetty61 = callPackage ../servers/http/jetty/6.1 { };
 
+  joseki = callPackage ../servers/http/joseki {};
+
   lighttpd = callPackage ../servers/http/lighttpd { };
 
   mod_python = callPackage ../servers/http/apache-modules/mod_python { };
@@ -4461,6 +4535,8 @@ let
 
   shishi = callPackage ../servers/shishi { };
 
+  sipwitch = callPackage ../servers/sip/sipwitch { };
+
   squids = recurseIntoAttrs( import ../servers/squid/squids.nix {
     inherit fetchurl stdenv perl lib composableDerivation;
   });
@@ -4675,12 +4751,7 @@ let
 
   iproute = callPackage ../os-specific/linux/iproute { };
 
-  iputils = (
-    import ../os-specific/linux/iputils {
-    inherit fetchurl stdenv;
-    glibc = stdenv.gcc.libc;
-    linuxHeaders = stdenv.gcc.libc.kernelHeaders;
-  });
+  iputils = callPackage ../os-specific/linux/iputils { };
 
   iptables = callPackage ../os-specific/linux/iptables { };
 
@@ -4698,12 +4769,16 @@ let
 
   iwlwifi5000ucode = callPackage ../os-specific/linux/firmware/iwlwifi-5000-ucode { };
 
+  iwlwifi6000ucode = callPackage ../os-specific/linux/firmware/iwlwifi-6000-ucode { };
+
   kbd = callPackage ../os-specific/linux/kbd { };
 
   libcgroup = callPackage ../os-specific/linux/libcg { };
 
   libnl = callPackage ../os-specific/linux/libnl { };
 
+  libnl1 = callPackage ../os-specific/linux/libnl/v1.nix { };
+
   linuxHeaders = linuxHeaders_2_6_32;
 
   linuxHeaders26Cross = forceBuildDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix {
@@ -4741,7 +4816,8 @@ let
   };
 
   linux_2_6_27 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.27.nix) {
-    inherit fetchurl stdenv perl mktemp module_init_tools;
+    inherit fetchurl perl mktemp module_init_tools;
+    stdenv = overrideInStdenv stdenv [gnumake381];
     kernelPatches =
       [ kernelPatches.fbcondecor_2_6_27
         kernelPatches.sec_perm_2_6_24
@@ -4779,7 +4855,6 @@ let
         kernelPatches.cifs_timeout
         kernelPatches.no_xsave
         kernelPatches.dell_rfkill
-        kernelPatches.xen_pvclock_resume
       ];
   };
 
@@ -4915,6 +4990,16 @@ let
       ];
   };
 
+  linux_2_6_37 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.37.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
+        #kernelPatches.mips_restart_2_6_36
+      ];
+  };
+
   /* 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
@@ -5029,9 +5114,10 @@ let
   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); 
-  linuxPackages_nanonote_jz_2_6_36 = recurseIntoAttrs (linuxPackagesFor linux_nanonote_jz_2_6_36 pkgs.linuxPackages_nanonote_jz_2_6_36); 
+  linuxPackages_2_6_37 = recurseIntoAttrs (linuxPackagesFor linux_2_6_37 pkgs.linuxPackages_2_6_37);
+  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);
+  linuxPackages_nanonote_jz_2_6_36 = recurseIntoAttrs (linuxPackagesFor linux_nanonote_jz_2_6_36 pkgs.linuxPackages_nanonote_jz_2_6_36);
 
   # The current default kernel / kernel modules.
   linux = linux_2_6_32;
@@ -5043,9 +5129,7 @@ let
 
   libraw1394 = callPackage ../development/libraries/libraw1394 { };
 
-  libsexy = callPackage ../development/libraries/libsexy {
-    inherit (gtkLibs) glib gtk pango;
-  };
+  libsexy = callPackage ../development/libraries/libsexy { };
 
   librsvg = gnome.librsvg;
 
@@ -5079,6 +5163,8 @@ let
 
   libvolume_id = callPackage ../os-specific/linux/libvolume_id { };
 
+  lsscsi = callPackage ../os-specific/linux/lsscsi { };
+
   lvm2 = callPackage ../os-specific/linux/lvm2 { };
 
   # In theory GNU Mach doesn't have to be cross-compiled.  However, since it
@@ -5204,6 +5290,7 @@ let
 
   trackballs = callPackage ../games/trackballs {
     debug = false;
+    guile = guile_1_8;
   };
 
   tunctl = callPackage ../os-specific/linux/tunctl { };
@@ -5215,6 +5302,7 @@ let
 
   ubootChooser = name : if (name == "upstream") then ubootUpstream
     else if (name == "sheevaplug") then ubootSheevaplug
+    else if (name == "guruplug") then ubootGuruplug
     else if (name == "nanonote") then ubootNanonote
     else throw "Unknown uboot";
 
@@ -5463,9 +5551,9 @@ let
     inherit (pkgsi686Linux.gtkLibs) glib pango atk gtk;
   };
 
-  amarok = newScope pkgs.kde4 ../applications/audio/amarok { };
+  akunambol = newScope pkgs.kde4 ../applications/networking/sync/akunambol { };
 
-  amarok_live = newScope pkgs.kde4 ../applications/audio/amarok/live.nix { };
+  amarok = newScope pkgs.kde4 ../applications/audio/amarok { };
 
   amsn = callPackage ../applications/networking/instant-messengers/amsn {
     libstdcpp = gcc33.gcc;
@@ -5511,6 +5599,7 @@ let
 
   beast = callPackage ../applications/audio/beast {
     inherit (gnome) libgnomecanvas libart_lgpl;
+    guile = guile_1_8;
   };
 
   bibletime = newScope pkgs.kde45 ../applications/misc/bibletime {
@@ -5519,8 +5608,6 @@ let
 
   bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee { };
 
-  bitlbeeOtr = callPackage ../applications/networking/instant-messengers/bitlbee-otr { };
-
   # commented out because it's using the new configuration style proposal which is unstable
   #biew = import ../applications/misc/biew {
   #  inherit lib stdenv fetchurl ncurses;
@@ -5539,7 +5626,7 @@ let
     inherit stdenv fetchurl cmake mesa gettext libjpeg libpng zlib openal SDL openexr
       libsamplerate libtiff ilmbase;
     inherit (xlibs) libXi;
-    python = python31Base;
+    python = python3;
   });
 
   bmp = callPackage ../applications/audio/bmp {
@@ -5645,6 +5732,10 @@ let
 
   darcs = haskellPackages.darcs;
 
+  darktable = callPackage ../applications/graphics/darktable {
+     inherit (gnome) GConf gnome_keyring libglade;
+  };
+
   dia = callPackage ../applications/graphics/dia { };
 
   digikam = newScope pkgs.kde4 ../applications/graphics/digikam { };
@@ -5708,8 +5799,8 @@ let
     Xaw3d = null;
     gtk = if stdenv.isDarwin then null else gtkLibs.gtk;
     # TODO: these packages don't build on Darwin.
-    gconf = if stdenv.isDarwin then null else gnome.GConf;
-    librsvg = if stdenv.isDarwin then null else librsvg;
+    gconf = null /* if stdenv.isDarwin then null else gnome.GConf */;
+    librsvg = null /* if stdenv.isDarwin then null else librsvg */;
   };
 
   emacsSnapshot = lowPrio (callPackage ../applications/editors/emacs-snapshot {
@@ -5783,6 +5874,8 @@ let
 
   espeak = callPackage ../applications/audio/espeak { };
 
+  esniper = callPackage ../applications/networking/esniper { };
+
   evopedia = callPackage ../applications/misc/evopedia { };
 
   # FIXME: Evince and other GNOME/GTK+ apps (e.g., Viking) provide
@@ -5793,9 +5886,7 @@ let
       libgnomeui libglade glib gtk scrollkeeper gnome_keyring;
   });
 
-  evolution_data_server = (newScope (gnome // gtkLibs))
-  ../servers/evolution-data-server {
-  };
+  evolution_data_server = newScope (gnome // gtkLibs) ../servers/evolution-data-server { };
 
   exrdisplay = callPackage ../applications/graphics/exrdisplay {
     fltk = fltk20;
@@ -5833,11 +5924,7 @@ let
 
   wvdial = callPackage ../os-specific/linux/wvdial { };
 
-  fbida = builderDefsPackage ../applications/graphics/fbida {
-    inherit libjpeg libexif giflib libtiff libpng
-      imagemagick ghostscript which curl pkgconfig
-      freetype fontconfig;
-  };
+  fbida = callPackage ../applications/graphics/fbida { };
 
   fdupes = callPackage ../tools/misc/fdupes { };
 
@@ -5860,9 +5947,7 @@ let
     inherit (gnome) libIDL;
   };
 
-  firefox40Pkgs = let p = (applyGlobalOverrides (x : {cairo = x.cairo_1_10_0;}));
-  in p.callPackage 
-      ../applications/networking/browsers/firefox/4.0.nix {
+  firefox40Pkgs = callPackage ../applications/networking/browsers/firefox/4.0.nix {
     inherit (p.gtkLibs) gtk pango;
     inherit (p.gnome) libIDL;
   };
@@ -5890,6 +5975,10 @@ let
 
   flite = callPackage ../applications/misc/flite { };
 
+  freecad = callPackage ../applications/graphics/freecad {
+    boost = boost146;
+  };
+
   freemind = callPackage ../applications/misc/freemind {
     jdk = jdk;
     jre = jdk;
@@ -5923,6 +6012,7 @@ let
     inherit (gnome) gtk glib libglade libgnomeui libgtkhtml gtkhtml
       libgnomeprint;
     gconf = gnome.GConf;
+    guile = guile_1_8;
   };
 
   qcad = callPackage ../applications/misc/qcad { };
@@ -5931,6 +6021,8 @@ let
 
   gkrellm = callPackage ../applications/misc/gkrellm { };
 
+  gmu = callPackage ../applications/audio/gmu { };
+
   gnash = callPackage ../applications/video/gnash {
     inherit (gnome) gtkglext;
     inherit (gst_all) gstreamer gstPluginsBase gstPluginsGood gstFfmpeg;
@@ -6100,6 +6192,8 @@ let
 
   kbluetooth = newScope pkgs.kde4 ../tools/bluetooth/kbluetooth { };
 
+  kde_wacomtablet = newScope pkgs.kde4 ../applications/misc/kde-wacomtablet { };
+
   kdenlive = newScope pkgs.kde4 ../applications/video/kdenlive { };
 
   kdesvn = newScope pkgs.kde4 ../applications/version-management/kdesvn { };
@@ -6176,6 +6270,10 @@ let
 
   links2Stdenv = callPackage ../applications/networking/browsers/links2/stdenv.nix { };
 
+  linphone = callPackage ../applications/networking/linphone {
+    inherit (gnome) libglade gtk;
+  };
+
   lxdvdrip = callPackage ../applications/video/lxdvdrip { };
 
   lynx = callPackage ../applications/networking/browsers/lynx { };
@@ -6184,6 +6282,8 @@ let
    qt = qt4;
   };
 
+  makeself = callPackage ../applications/misc/makeself { };
+
   matchbox = callPackage ../applications/window-managers/matchbox { };
 
   meld = callPackage ../applications/version-management/meld {
@@ -6271,6 +6371,12 @@ let
     inherit (gnome) gtk glib ORBit2 libbonobo libgnomeui GConf;
   };
 
+  mumble = callPackage ../applications/networking/mumble {
+    avahi = avahi.override {
+      withLibdnsCompat = true;
+    };
+  };
+
   mutt = callPackage ../applications/networking/mailreaders/mutt { };
 
   msmtp = callPackage ../applications/networking/msmtp { };
@@ -6296,8 +6402,14 @@ let
   netsurfBrowser = netsurf.browser;
   netsurf = recurseIntoAttrs (import ../applications/networking/browsers/netsurf { inherit pkgs; });
 
+  notmuch = callPackage ../applications/networking/mailreaders/notmuch { };
+
   nvi = callPackage ../applications/editors/nvi { };
 
+  ocrad = callPackage ../applications/graphics/ocrad { };
+
+  offrss = callPackage ../applications/networking/offrss { };
+
   openbox = callPackage ../applications/window-managers/openbox { };
 
   openjump = callPackage ../applications/misc/openjump { };
@@ -6314,12 +6426,13 @@ let
     neon = neon029;
   };
 
+  openstack_compute = callPackage ../applications/virtualization/openstack-compute { };
+
   opera = callPackage ../applications/networking/browsers/opera {
     qt = qt3;
   };
 
   pan = callPackage ../applications/networking/newsreaders/pan {
-    gmime = gmime_2_2;
     spellChecking = false;
   };
 
@@ -6444,6 +6557,8 @@ let
 
   semnotes = newScope pkgs.kde4 ../applications/misc/semnotes { };
 
+  siproxd = callPackage ../applications/networking/siproxd { };
+
   skype_linux = callPackage_i686 ../applications/networking/skype { };
 
   slim = callPackage ../applications/display-managers/slim { };
@@ -6456,7 +6571,8 @@ let
   };
 
   snd = sndBase.passthru.function {
-    inherit guile mesa libtool jackaudio alsaLib;
+    inherit mesa libtool jackaudio alsaLib;
+    guile = guile_1_8;
   };
 
   sonicVisualizer = callPackage ../applications/audio/sonic-visualizer {
@@ -6466,6 +6582,8 @@ let
 
   sox = callPackage ../applications/misc/audio/sox { };
 
+  spotify = callPackage ../applications/audio/spotify { };
+
   stalonetray = callPackage ../applications/window-managers/stalonetray {};
 
   stumpwm = builderDefsPackage (import ../applications/window-managers/stumpwm) {
@@ -6474,7 +6592,7 @@ let
   };
 
   subversion = callPackage ../applications/version-management/subversion/default.nix {
-    neon = neon029;
+    neon = pkgs.neon029;
     bdbSupport = getConfig ["subversion" "bdbSupport"] true;
     httpServer = getConfig ["subversion" "httpServer"] false;
     httpSupport = getConfig ["subversion" "httpSupport"] true;
@@ -6548,6 +6666,7 @@ let
 
   unison = callPackage ../applications/networking/sync/unison {
     inherit (ocamlPackages) lablgtk;
+    enableX11 = getConfig [ "unison" "enableX11" ] true;
   };
 
   uucp = callPackage ../tools/misc/uucp { };
@@ -6596,6 +6715,8 @@ let
     flags = [ "X11" ]; # only flag "X11" by now
   };
 
+  virtviewer = callPackage ../applications/virtualization/virt-viewer {};
+
   virtualgl = callPackage ../tools/X11/virtualgl { };
 
   vlc = callPackage ../applications/video/vlc {
@@ -6647,6 +6768,7 @@ let
         ++ lib.optional enableAdobeFlash flashplayer
         # RealPlayer is disabled by default for legal reasons.
         ++ lib.optional (system != "i686-linux" && getConfig [browserName "enableRealPlayer"] false) RealPlayer
+        ++ lib.optional (getConfig [browserName "enableDjvu"] false) (djview4)
         ++ lib.optional (getConfig [browserName "enableMPlayer"] false) (MPlayerPlugin browser)
         ++ lib.optional (getConfig [browserName "enableGeckoMediaPlayer"] false) gecko_mediaplayer
         ++ lib.optional (supportsJDK && getConfig [browserName "jre"] false && jrePlugin ? mozillaPlugin) jrePlugin
@@ -6733,11 +6855,9 @@ let
 
   xmove = callPackage ../applications/misc/xmove { };
 
-  xnee = builderDefsPackage (import ../tools/X11/xnee) {
-    inherit (gtkLibs) gtk;
-    inherit (xlibs) libX11 libXtst xextproto libXext
-      inputproto libXi xproto recordproto;
-    inherit pkgconfig;
+  xnee = callPackage ../tools/X11/xnee {
+    # Work around "missing separator" error.
+    stdenv = overrideInStdenv stdenv [ gnumake381 ];
   };
 
   xvidcap = callPackage ../applications/video/xvidcap {
@@ -6790,7 +6910,9 @@ let
 
   atanks = callPackage ../games/atanks {};
 
-  ballAndPaddle = callPackage ../games/ball-and-paddle { };
+  ballAndPaddle = callPackage ../games/ball-and-paddle {
+    guile = guile_1_8;
+  };
 
   blackshades = callPackage ../games/blackshades { };
 
@@ -6813,7 +6935,7 @@ let
 
   crrcsim = callPackage ../games/crrcsim {};
 
-  dwarf_fortress = callPackage_i686 ../games/dwarf-fortress { 
+  dwarf_fortress = callPackage_i686 ../games/dwarf-fortress {
     gnomegtk = pkgsi686Linux.gnome.gtk;
   };
 
@@ -6908,6 +7030,8 @@ let
     inherit (kde3) arts kdelibs;
   };
 
+  soi = callPackage ../games/soi {};
+
   # You still can override by passing more arguments.
   spaceOrbit = callPackage ../games/orbit {
     inherit (gnome) esound;  };
@@ -6957,6 +7081,8 @@ let
 
   ut2004demo = callPackage ../games/ut2004demo { };
 
+  warmux = callPackage ../games/warmux {};
+
   warsow = callPackage ../games/warsow {
     libjpeg = libjpeg62;
   };
@@ -7041,9 +7167,6 @@ let
 
   kde4 = kde45;
 
-  kde44 = makeOverridable (import ../desktops/kde-4.4) (
-    applyGlobalOverrides (p: { kde4 = p.kde44; qt4 = p.qt46; }));
-
   kde45 = callPackage ../desktops/kde-4.5 {
     callPackage =
       let
@@ -7062,6 +7185,15 @@ let
         pkgs_for_46.newScope pkgs_for_46.kde46;
   };
 
+  redshift = callPackage ../applications/misc/redshift {
+    inherit (xorg) libX11 libXrandr libxcb randrproto libXxf86vm
+      xf86vidmodeproto;
+  };
+
+  oxygen_gtk = callPackage ../misc/themes/gtk2/oxygen-gtk {
+    inherit (gtkLibs) glib gtk;
+  };
+
   xfce = xfce4;
 
   xfce4 = recurseIntoAttrs
@@ -7080,7 +7212,8 @@ let
 
   drgeo = builderDefsPackage (import ../applications/science/geometry/drgeo) {
     inherit (gnome) libglade gtk;
-    inherit libxml2 guile perl intltool libtool pkgconfig;
+    inherit libxml2 perl intltool libtool pkgconfig;
+    guile = guile_1_8;
   };
 
   tetgen = callPackage ../applications/science/geometry/tetgen { };
@@ -7173,7 +7306,7 @@ let
   leo2 = callPackage ../applications/science/logic/leo2 {};
 
   matita = callPackage ../applications/science/logic/matita {
-    inherit (ocamlPackages) findlib lablgtk ocaml_expat gmetadom ocaml_http 
+    inherit (ocamlPackages) findlib lablgtk ocaml_expat gmetadom ocaml_http
             lablgtkmathview ocaml_mysql ocaml_sqlite3 ocamlnet ulex08 camlzip ocaml_pcre;
     camlp5 = ocamlPackages.camlp5_transitional;
   };
@@ -7280,6 +7413,10 @@ let
 
   foldingathome = callPackage ../misc/foldingathome { };
 
+  foo2zjs = callPackage ../misc/drivers/foo2zjs {};
+
+  foomatic_filters = callPackage ../misc/drivers/foomatic-filters {};
+
   freestyle = callPackage ../misc/freestyle {
     #stdenv = overrideGCC stdenv gcc41;
   };
@@ -7325,6 +7462,7 @@ let
 
   lilypond = callPackage ../misc/lilypond {
     inherit (gtkLibs) pango;
+    guile = guile_1_8;
   };
 
   martyr = callPackage ../development/libraries/martyr { };
@@ -7347,17 +7485,13 @@ let
     stateDir = getConfig [ "nix" "stateDir" ] "/nix/var";
   };
 
-  # The SQLite branch.
-  nixSqlite = lowPrio (callPackage ../tools/package-management/nix/sqlite.nix {
-    storeDir = getConfig [ "nix" "storeDir" ] "/nix/store";
-    stateDir = getConfig [ "nix" "stateDir" ] "/nix/var";
-  });
+  nixSqlite = nixUnstable;
 
   nixCustomFun = src: preConfigure: enableScripts: configureFlags:
     import ../tools/package-management/nix/custom.nix {
       inherit fetchurl stdenv perl curl bzip2 openssl src preConfigure automake
         autoconf libtool configureFlags enableScripts lib libxml2 boehmgc
-	pkgconfig flex bison;
+	pkgconfig flex bison sqlite;
       aterm = aterm25;
       db4 = db45;
       inherit docbook5_xsl libxslt docbook5 docbook_xml_dtd_43 w3m;
@@ -7376,7 +7510,7 @@ let
   };
 
   disnixos = callPackage ../tools/package-management/disnix/disnixos { };
-  
+
   DisnixWebService = callPackage ../tools/package-management/disnix/DisnixWebService { };
 
   latex2html = callPackage ../misc/tex/latex2html/default.nix {
@@ -7400,6 +7534,8 @@ let
 
   pgf2 = callPackage ../misc/tex/pgf/2.x.nix { };
 
+  pjsip = callPackage ../applications/networking/pjsip { };
+
   polytable = callPackage ../misc/tex/polytable { };
 
   psi = newScope pkgs.kde45 ../applications/networking/instant-messengers/psi { };
diff --git a/pkgs/top-level/guile-2-test.nix b/pkgs/top-level/guile-2-test.nix
index 6341c82da732..802277d474a1 100644
--- a/pkgs/top-level/guile-2-test.nix
+++ b/pkgs/top-level/guile-2-test.nix
@@ -10,7 +10,7 @@ let
     allPackages {
       inherit system;
       config.packageOverrides = pkgs: {
-        guile = pkgs.guile_1_9;
+        guile = pkgs.guile_2_0;
       };
     };
 
@@ -64,6 +64,7 @@ in (mapTestOn {
   guileGnome = linux;
   guile_lib = linux;
   guileLint = linux;
+  guile_ncurses = linux;
   gwrap = linux;
   swig = linux;
   gnutls = linux;
@@ -78,4 +79,6 @@ in (mapTestOn {
   ballAndPaddle = linux;
   drgeo = linux;
   lilypond = linux;
+  liquidwar = linux;
+  freetalk = linux;
 })
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index d514dc617dda..55d2e42e2067 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -1,41 +1,283 @@
-{pkgs, newScope, ghc, enableLibraryProfiling ? false, modifyPrio ? (x : x)}:
+# Haskell packages in Nixpkgs
+#
+# If you have any questions about the packages defined here or how to
+# contribute, please contact Andres Loeh.
+#
+# This file defines all packages that depend on GHC, the Glasgow Haskell
+# compiler. They are usually distributed via Hackage, the central Haskell
+# package repository. Since at least the libraries are incompatible between
+# different compiler versions, the whole file is parameterized by the GHC
+# that is being used. GHC itself is defined in all-packages.nix
+#
+# Note that next to the packages defined here, there is another way to build
+# arbitrary packages from HackageDB in Nix, using the hack-nix tool that is
+# developed by Marc Weber.
+# -> http://github.com/MarcWeber/hack-nix. Read its README file.
+#
+#
+# This file defines a function parameterized by the following:
+#
+#    pkgs:
+#       the whole Nixpkgs (so that we can depend on non-Haskell packages)
+#
+#    newScope:
+#       for redefining callPackage locally to resolve dependencies of
+#       Haskell packages automatically
+#
+#    ghc:
+#       the GHC version to be used for building the Haskell packages
+#
+#    prefFun:
+#       version preferences for Haskell packages (see below)
+#
+#    enableLibraryProfiling:
+#       Boolean flag indicating whether profiling libraries for all Haskell
+#       packages should be built. If a library is to be built with profiling
+#       enabled, its dependencies should have profiling enabled as well.
+#       Therefore, this is implemented as a global flag.
+#
+#    modifyPrio:
+#       Either the identity function or lowPrio is intended to be passed
+#       here. The idea is that we can make a complete set of Haskell packages
+#       have low priority from the outside.
+#
+#
+# Policy for keeping multiple versions:
+#
+# We keep multiple versions for
+#
+#    * packages that are part of the Haskell Platform
+#    * packages that are known to have severe interface changes
+#
+# For the packages where we keep multiple versions, version x.y.z is mapped
+# to an attribute of name package_x_y_z and stored in a Nix expression called
+# x.y.z.nix. There is no default.nix for such packages. There also is an
+# attribute package that is defined to be self.package_x_y_z where x.y.z is
+# the default version of the package. The global default can be overridden by
+# passing a preferences function.
+#
+# For most packages, however, we keep only one version, and use default.nix.
 
-let ghcOuter = ghc; in
+{pkgs, newScope, ghc, prefFun, enableLibraryProfiling ? false, modifyPrio ? (x : x)}:
 
 # We redefine callPackage to take into account the new scope. The optional
 # modifyPrio argument can be set to lowPrio to make all Haskell packages have
 # low priority.
 
-let result = let callPackage = x : y : modifyPrio (newScope result x y); in
+let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
+                 self = (prefFun result) result; in
 
 # Indentation deliberately broken at this point to keep the bulk
 # of this file at a low indentation level.
 
-rec {
+{
 
-  # ==> You're looking for a package but can't find it? Get hack-nix.
-  # -> http://github.com/MarcWeber/hack-nix. Read its README file.
-  # You can install (almost) all packages from hackage easily.
+  final = self;
 
-  ghcReal = pkgs.lowPrio ghcOuter;
+  # Preferences
+  #
+  # Different versions of GHC need different versions of certain core packages.
+  # We start with a suitable platform version per GHC version.
+
+  emptyPrefs   = super : super // { };
+  ghc6104Prefs = super : super // super.haskellPlatformDefaults_2009_2_0_2 super;
+  ghc6121Prefs = super : super // super.haskellPlatformDefaults_2010_1_0_0 super;
+  ghc6122Prefs = super : super // super.haskellPlatformDefaults_2010_2_0_0 super; # link
+  ghc6123Prefs = super : super // super.haskellPlatformDefaults_2010_2_0_0 super;
+  ghc701Prefs  = super : super // super.haskellPlatformDefaults_2011_2_0_0 super; # link
+  ghc702Prefs  = super : super // super.haskellPlatformDefaults_2011_2_0_0 super;
+  ghcHEADPrefs = super : super // super.haskellPlatformDefaults_2011_2_0_0 super; # link
+
+  # GHC and its wrapper
+  #
+  # We use a wrapped version of GHC for nearly everything. The wrapped version
+  # adds functionality to GHC to find libraries depended on or installed via
+  # Nix. Because the wrapper is so much more useful than the plain GHC, we
+  # call the plain GHC ghcPlain and the wrapped GHC simply ghc.
+
+  ghcPlain = pkgs.lowPrio ghc; # Note that "ghc" is not "self.ghc" and
+                               # refers to the function argument at the
+                               # top of this file.
 
-  # In the remainder, `ghc' refers to the wrapper.  This is because
-  # it's never useful to use the wrapped GHC (`ghcReal'), as the
-  # wrapper provides essential functionality: the ability to find
-  # Haskell packages in the buildInputs automatically.
   ghc = callPackage ../development/compilers/ghc/wrapper.nix {
-    ghc = ghcOuter;
+    ghc = ghc;
   };
 
+  # This is the Cabal builder, the function we use to build most Haskell
+  # packages. It isn't the Cabal library, which is a core package of GHC
+  # and therefore not separately listed here.
+
   cabal = callPackage ../development/libraries/haskell/cabal/cabal.nix {};
 
+  # Haskell Platform
+  #
+  # We try to support several platform versions. For these, we set all
+  # versions explicitly.
+
+  haskellPlatform = self.haskellPlatform_2011_2_0_0; # global platform default
+
+  haskellPlatformArgs_2011_2_0_0 = self : {
+    inherit (self) cabal ghc;
+    cgi          = self.cgi_3001_1_7_4;
+    fgl          = self.fgl_5_4_2_3;
+    GLUT         = self.GLUT_2_1_2_1;
+    haskellSrc   = self.haskellSrc_1_0_1_4;
+    html         = self.html_1_0_1_2;
+    HUnit        = self.HUnit_1_2_2_3;
+    network      = self.network_2_3_0_2;
+    OpenGL       = self.OpenGL_2_2_3_0;
+    parallel     = self.parallel_3_1_0_1;
+    parsec       = self.parsec_3_1_1;
+    QuickCheck   = self.QuickCheck_2_4_0_1;
+    regexBase    = self.regexBase_0_93_2;
+    regexCompat  = self.regexCompat_0_93_1;
+    regexPosix   = self.regexPosix_0_94_4;
+    stm          = self.stm_2_2_0_1;
+    syb          = self.syb_0_3;
+    xhtml        = self.xhtml_3000_2_0_1;
+    zlib         = self.zlib_0_5_3_1;
+    HTTP         = self.HTTP_4000_1_1;
+    deepseq      = self.deepseq_1_1_0_2;
+    text         = self.text_0_11_0_5;
+    transformers = self.transformers_0_2_2_0;
+    mtl          = self.mtl_2_0_1_0;
+    cabalInstall = self.cabalInstall_0_10_2;
+    alex         = self.alex_2_3_5;
+    happy        = self.happy_1_18_6;
+    haddock      = self.haddock_2_9_2;
+  };
+
+  haskellPlatformDefaults_2011_2_0_0 =
+    self : self.haskellPlatformArgs_2011_2_0_0 self // {
+      haskellPlatform = self.haskellPlatform_2011_2_0_0;
+      mtl1 = self.mtl_1_1_1_1;
+    };
+
+  haskellPlatform_2011_2_0_0 =
+    callPackage ../development/libraries/haskell/haskell-platform/2011.2.0.0.nix
+      (self.haskellPlatformArgs_2011_2_0_0 self);
+
+  haskellPlatformArgs_2010_2_0_0 = self : {
+    inherit (self) cabal ghc;
+    cgi          = self.cgi_3001_1_7_3;
+    fgl          = self.fgl_5_4_2_3;
+    GLUT         = self.GLUT_2_1_2_1;
+    haskellSrc   = self.haskellSrc_1_0_1_3;
+    html         = self.html_1_0_1_2;
+    HUnit        = self.HUnit_1_2_2_1;
+    mtl          = self.mtl_1_1_0_2;
+    network      = self.network_2_2_1_7;
+    OpenGL       = self.OpenGL_2_2_3_0;
+    parallel     = self.parallel_2_2_0_1;
+    parsec       = self.parsec_2_1_0_1;
+    QuickCheck   = self.QuickCheck_2_1_1_1;
+    regexBase    = self.regexBase_0_93_2;
+    regexCompat  = self.regexCompat_0_93_1;
+    regexPosix   = self.regexPosix_0_94_2;
+    stm          = self.stm_2_1_2_1;
+    xhtml        = self.xhtml_3000_2_0_1;
+    zlib         = self.zlib_0_5_2_0;
+    HTTP         = self.HTTP_4000_0_9;
+    deepseq      = self.deepseq_1_1_0_0;
+    cabalInstall = self.cabalInstall_0_8_2;
+    alex         = self.alex_2_3_3;
+    happy        = self.happy_1_18_5;
+    haddock      = self.haddock_2_7_2;
+  };
+
+  haskellPlatformDefaults_2010_2_0_0 =
+    self : self.haskellPlatformArgs_2010_2_0_0 self // {
+      haskellPlatform = self.haskellPlatform_2010_2_0_0;
+    };
+
+  haskellPlatform_2010_2_0_0 =
+    callPackage ../development/libraries/haskell/haskell-platform/2010.2.0.0.nix
+      (self.haskellPlatformArgs_2010_2_0_0 self);
+
+  haskellPlatformArgs_2010_1_0_0 = self : {
+    inherit (self) cabal ghc;
+    haskellSrc   = self.haskellSrc_1_0_1_3;
+    html         = self.html_1_0_1_2;
+    fgl          = self.fgl_5_4_2_2;
+    cabalInstall = self.cabalInstall_0_8_0;
+    GLUT         = self.GLUT_2_1_2_1;
+    OpenGL       = self.OpenGL_2_2_3_0;
+    zlib         = self.zlib_0_5_2_0;
+    alex         = self.alex_2_3_2;
+    cgi          = self.cgi_3001_1_7_2;
+    QuickCheck   = self.QuickCheck_2_1_0_3;
+    HTTP         = self.HTTP_4000_0_9;
+    HUnit        = self.HUnit_1_2_2_1;
+    network      = self.network_2_2_1_7;
+    parallel     = self.parallel_2_2_0_1;
+    parsec       = self.parsec_2_1_0_1;
+    regexBase    = self.regexBase_0_93_1;
+    regexCompat  = self.regexCompat_0_92;
+    regexPosix   = self.regexPosix_0_94_1;
+    stm          = self.stm_2_1_1_2;
+    xhtml        = self.xhtml_3000_2_0_1;
+    haddock      = self.haddock_2_7_2;
+    happy        = self.happy_1_18_4;
+  };
+
+  haskellPlatformDefaults_2010_1_0_0 =
+    self : self.haskellPlatformArgs_2010_1_0_0 self // {
+      haskellPlatform = self.haskellPlatform_2010_1_0_0;
+    };
+
+  haskellPlatform_2010_1_0_0 =
+    callPackage ../development/libraries/haskell/haskell-platform/2010.1.0.0.nix
+      (self.haskellPlatformArgs_2010_1_0_0 self);
+
+  haskellPlatformArgs_2009_2_0_2 = self : {
+    inherit (self) cabal ghc editline;
+    time         = self.time_1_1_2_4;
+    haddock      = self.haddock_2_4_2;
+    cgi          = self.cgi_3001_1_7_1;
+    fgl          = self.fgl_5_4_2_2;
+    GLUT         = self.GLUT_2_1_1_2;
+    haskellSrc   = self.haskellSrc_1_0_1_3;
+    html         = self.html_1_0_1_2;
+    HUnit        = self.HUnit_1_2_0_3;
+    network      = self.network_2_2_1_4;
+    OpenGL       = self.OpenGL_2_2_1_1;
+    parallel     = self.parallel_1_1_0_1;
+    parsec       = self.parsec_2_1_0_1;
+    QuickCheck   = self.QuickCheck_1_2_0_0;
+    regexBase    = self.regexBase_0_72_0_2;
+    regexCompat  = self.regexCompat_0_71_0_1;
+    regexPosix   = self.regexPosix_0_72_0_3;
+    stm          = self.stm_2_1_1_2;
+    xhtml        = self.xhtml_3000_2_0_1;
+    zlib         = self.zlib_0_5_0_0;
+    HTTP         = self.HTTP_4000_0_6;
+    cabalInstall = self.cabalInstall_0_6_2;
+    alex         = self.alex_2_3_1;
+    happy        = self.happy_1_18_4;
+  };
+
+  haskellPlatformDefaults_2009_2_0_2 =
+    self : self.haskellPlatformArgs_2009_2_0_2 self // {
+      haskellPlatform = self.haskellPlatform_2009_2_0_2;
+    };
+
+  haskellPlatform_2009_2_0_2 =
+    callPackage ../development/libraries/haskell/haskell-platform/2009.2.0.2.nix
+      (self.haskellPlatformArgs_2009_2_0_2 self);
+
 
   # Haskell libraries.
 
   Agda = callPackage ../development/libraries/haskell/Agda {
-    QuickCheck = QuickCheck_2;
+    # I've been trying to get the latest Agda to build with ghc-6.12, too,
+    # but failed so far.
+    # mtl        = self.mtl2;
+    # QuickCheck = self.QuickCheck2;
+    syb        = self.syb02;
   };
 
+  ACVector = callPackage ../development/libraries/haskell/AC-Vector {};
+
   ansiTerminal = callPackage ../development/libraries/haskell/ansi-terminal {};
 
   ansiWLPprint = callPackage ../development/libraries/haskell/ansi-wl-pprint {};
@@ -72,18 +314,16 @@ rec {
 
   cereal = callPackage ../development/libraries/haskell/cereal {};
 
-  cgi_3001_1_7_2 = callPackage ../development/libraries/haskell/cgi/3001.1.7.2.nix {
-    network = network_2_2_1_7;
-  };
-
-  cgi_3001_1_7_3 = callPackage ../development/libraries/haskell/cgi/3001.1.7.3.nix {
-    network = network_2_2_1_7;
-  };
-
-  cgi = callPackage ../development/libraries/haskell/cgi {};
+  cgi_3001_1_7_1 = callPackage ../development/libraries/haskell/cgi/3001.1.7.1.nix {};
+  cgi_3001_1_7_2 = callPackage ../development/libraries/haskell/cgi/3001.1.7.2.nix {};
+  cgi_3001_1_7_3 = callPackage ../development/libraries/haskell/cgi/3001.1.7.3.nix {};
+  cgi_3001_1_7_4 = callPackage ../development/libraries/haskell/cgi/3001.1.7.4.nix {};
+  cgi = self.cgi_3001_1_7_1; 
 
   Chart = callPackage ../development/libraries/haskell/Chart {};
 
+  citeprocHs = callPackage ../development/libraries/haskell/citeproc-hs {};
+
   cmdargs = callPackage ../development/libraries/haskell/cmdargs {};
 
   colorizeHaskell = callPackage ../development/libraries/haskell/colorize-haskell {};
@@ -93,19 +333,18 @@ rec {
   ConfigFile = callPackage ../development/libraries/haskell/ConfigFile {};
 
   convertible = callPackage ../development/libraries/haskell/convertible {
-    time = time_1_1_3;
+    time = self.time_1_1_3;
   };
 
   criterion = callPackage ../development/libraries/haskell/criterion {
-    parallel = parallel_2_2_0_1;
-    parsec = parsec_3;
+    parsec = self.parsec3;
   };
 
   Crypto = callPackage ../development/libraries/haskell/Crypto {};
 
   CS173Tourney = callPackage ../development/libraries/haskell/CS173Tourney {
     inherit (pkgs) fetchgit;
-    json = json_0_3_6;
+    json = self.json_0_3_6;
   };
 
   csv = callPackage ../development/libraries/haskell/csv {};
@@ -118,9 +357,13 @@ rec {
 
   dataReify = callPackage ../development/libraries/haskell/data-reify {};
 
-  datetime = callPackage ../development/libraries/haskell/datetime {};
+  datetime = callPackage ../development/libraries/haskell/datetime {
+    QuickCheck = self.QuickCheck1;
+  };
 
-  deepseq = callPackage ../development/libraries/haskell/deepseq {};
+  deepseq_1_1_0_0 = callPackage ../development/libraries/haskell/deepseq/1.1.0.0.nix {};
+  deepseq_1_1_0_2 = callPackage ../development/libraries/haskell/deepseq/1.1.0.2.nix {};
+  deepseq = self.deepseq_1_1_0_0;
 
   derive = callPackage ../development/libraries/haskell/derive {};
 
@@ -130,6 +373,8 @@ rec {
     inherit (pkgs) zlib;
   };
 
+  dlist = callPackage ../development/libraries/haskell/dlist {};
+
   dotgen = callPackage ../development/libraries/haskell/dotgen {};
 
   editline = callPackage ../development/libraries/haskell/editline {
@@ -152,9 +397,9 @@ rec {
 
   filestore = callPackage ../development/libraries/haskell/filestore {};
 
-  fgl = callPackage ../development/libraries/haskell/fgl {};
-
+  fgl_5_4_2_2 = callPackage ../development/libraries/haskell/fgl/5.4.2.2.nix {};
   fgl_5_4_2_3 = callPackage ../development/libraries/haskell/fgl/5.4.2.3.nix {};
+  fgl = self.fgl_5_4_2_2;
 
   fingertree = callPackage ../development/libraries/haskell/fingertree {};
 
@@ -164,7 +409,9 @@ rec {
 
   ghcCore = callPackage ../development/libraries/haskell/ghc-core {};
 
-  ghcEvents = callPackage ../development/libraries/haskell/ghc-events {};
+  ghcEvents = callPackage ../development/libraries/haskell/ghc-events {
+    mtl = self.mtl1;
+  };
 
   ghcMtl = callPackage ../development/libraries/haskell/ghc-mtl {};
 
@@ -176,11 +423,7 @@ rec {
 
   ghcSybUtils = callPackage ../development/libraries/haskell/ghc-syb-utils {};
 
-  gitit = callPackage ../development/libraries/haskell/gitit {
-    cgi = cgi_3001_1_7_2;
-    HTTP = HTTP_4000_0_9;
-    network = network_2_2_1_7;
-  };
+  gitit = callPackage ../development/libraries/haskell/gitit {};
 
   glade = callPackage ../development/libraries/haskell/glade {
     inherit (pkgs) pkgconfig gnome glibc;
@@ -192,32 +435,26 @@ rec {
 
   GlomeVec = callPackage ../development/libraries/haskell/GlomeVec {};
 
-  GLUT2121 = callPackage ../development/libraries/haskell/GLUT/2.1.2.1.nix {
-    OpenGL = OpenGL_2_2_3_0;
+  GLUT_2_1_1_2 = callPackage ../development/libraries/haskell/GLUT/2.1.1.2.nix {
     glut = pkgs.freeglut;
     inherit (pkgs) mesa;
     inherit (pkgs.xlibs) libSM libICE libXmu libXi;
   };
 
-  GLUT = callPackage ../development/libraries/haskell/GLUT {
+  GLUT_2_1_2_1 = callPackage ../development/libraries/haskell/GLUT/2.1.2.1.nix {
     glut = pkgs.freeglut;
     inherit (pkgs) mesa;
     inherit (pkgs.xlibs) libSM libICE libXmu libXi;
   };
 
+  GLUT = self.GLUT_2_1_1_2; 
+
   gtk = callPackage ../development/libraries/haskell/gtk {
     inherit (pkgs) pkgconfig glibc;
     inherit (pkgs.gtkLibs) gtk;
   };
 
-  gtk2hs = callPackage ../development/libraries/haskell/gtk2hs {
-    inherit (pkgs) pkgconfig gnome cairo;
-  };
-
-  gtk2hsBuildtools = callPackage ../development/libraries/haskell/gtk2hs-buildtools {
-    alex = alex_2_3_3;
-    happy = happy_1_18_5;
-  };
+  gtk2hsBuildtools = callPackage ../development/libraries/haskell/gtk2hs-buildtools {};
 
   gtksourceview2 = callPackage ../development/libraries/haskell/gtksourceview2 {
     inherit (pkgs) pkgconfig glibc;
@@ -225,41 +462,21 @@ rec {
     gtkC = pkgs.gtkLibs.gtk;
   };
 
-  Graphalyze = callPackage ../development/libraries/haskell/Graphalyze {
-    fgl = fgl_5_4_2_3;
-  };
+  Graphalyze = callPackage ../development/libraries/haskell/Graphalyze {};
 
-  graphviz = callPackage ../development/libraries/haskell/graphviz {
-    fgl = fgl_5_4_2_3;
-  };
+  graphviz = callPackage ../development/libraries/haskell/graphviz {};
 
-  hakyll = callPackage ../development/libraries/haskell/hakyll {
-    regexBase = regexBase_0_93_2;
-    network = network_2_2_1_7;
-    time = time_1_2_0_3;
-    pandoc = pandoc_newtime;
-  };
+  hakyll = callPackage ../development/libraries/haskell/hakyll {};
 
   hamlet = callPackage ../development/libraries/haskell/hamlet {};
 
-  HAppSData = callPackage ../development/libraries/haskell/HAppS/HAppS-Data.nix {};
-
-  HAppSIxSet = callPackage ../development/libraries/haskell/HAppS/HAppS-IxSet.nix {};
-
-  HAppSUtil = callPackage ../development/libraries/haskell/HAppS/HAppS-Util.nix {};
-
-  HAppSServer = callPackage ../development/libraries/haskell/HAppS/HAppS-Server.nix {};
-
-  HAppSState = callPackage ../development/libraries/haskell/HAppS/HAppS-State.nix {};
-
-  /* cannot yet get this to work with 6.12.1 */
-  happstackData = callPackage ../development/libraries/haskell/happstack/happstack-data.nix {};
+  happstackData = callPackage ../development/libraries/haskell/happstack/happstack-data.nix {
+    HaXml = self.HaXml113;
+  };
 
   happstackUtil = callPackage ../development/libraries/haskell/happstack/happstack-util.nix {};
 
-  happstackServer = callPackage ../development/libraries/haskell/happstack/happstack-server.nix {
-    network = network_2_2_1_7;
-  };
+  happstackServer = callPackage ../development/libraries/haskell/happstack/happstack-server.nix {};
 
   hashedStorage = callPackage ../development/libraries/haskell/hashed-storage {};
 
@@ -269,91 +486,31 @@ rec {
 
   haskellLexer = callPackage ../development/libraries/haskell/haskell-lexer {};
 
-  haskellSrc = callPackage ../development/libraries/haskell/haskell-src {};
-
-  haskellSrc_P = callPackage ../development/libraries/haskell/haskell-src {
-    happy = happy_1_18_5;
-  };
+  haskellSrc_1_0_1_3 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.3.nix {};
+  haskellSrc_1_0_1_4 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.4.nix {};
+  haskellSrc = self.haskellSrc_1_0_1_3;
 
   haskellSrcExts = callPackage ../development/libraries/haskell/haskell-src-exts {};
 
   haskellSrcMeta = callPackage ../development/libraries/haskell/haskell-src-meta {};
 
-  haskellPlatform = haskellPlatform_2010_2_0_0;
+  HTTP_3001_1_5 = callPackage ../development/libraries/haskell/HTTP/3001.1.5.nix {};
+  HTTP_4000_0_6 = callPackage ../development/libraries/haskell/HTTP/4000.0.6.nix {};
+  HTTP_4000_0_9 = callPackage ../development/libraries/haskell/HTTP/4000.0.9.nix {};
+  HTTP_4000_1_1 = callPackage ../development/libraries/haskell/HTTP/4000.1.1.nix {};
+  HTTP = self.HTTP_4000_0_6;
 
-  haskellPlatformArgs_2010_2_0_0 = {
-    inherit cabal ghc html xhtml;
-    haskellSrc = haskellSrc_P;
-    fgl = fgl_5_4_2_3;
-    cabalInstall = cabalInstall_0_8_2;
-    GLUT = GLUT2121;
-    OpenGL = OpenGL_2_2_3_0;
-    zlib = zlib_0_5_2_0;
-    alex = alex_2_3_3;
-    cgi = cgi_3001_1_7_3;
-    QuickCheck = QuickCheck_2;
-    HTTP = HTTP_4000_0_9;
-    HUnit = HUnit_1_2_2_1;
-    network = network_2_2_1_7;
-    parallel = parallel_2_2_0_1;
-    regexBase = regexBase_0_93_2;
-    regexCompat = regexCompat_0_93_1;
-    regexPosix = regexPosix_0_94_2;
-    stm = stm_2_1_2_1;
-    haddock = haddock_2_7_2_P;
-    happy = happy_1_18_5;
+  haxr = callPackage ../development/libraries/haskell/haxr {
+    HaXml = self.HaXml113;
   };
 
-  haskellPlatformDefaults_2010_2_0_0 = haskellPlatformArgs_2010_2_0_0 // {
-    haskellPlatform = haskellPlatform_2010_2_0_0;
-  };
-
-  haskellPlatform_2010_2_0_0 = callPackage ../development/libraries/haskell/haskell-platform/2010.2.0.0.nix haskellPlatformArgs_2010_2_0_0;
-
-  haskellPlatform_2010_1_0_0 = pkgs.lowPrio (import ../development/libraries/haskell/haskell-platform/2010.1.0.0.nix {
-    inherit cabal ghc fgl
-      haskellSrc html
-      stm xhtml;
-    cabalInstall = cabalInstall_0_8_0;
-    GLUT = GLUT2121;
-    OpenGL = OpenGL_2_2_3_0;
-    zlib = zlib_0_5_2_0;
-    alex = alex_2_3_2;
-    cgi = cgi_3001_1_7_2;
-    QuickCheck = QuickCheck_2_1_0_3;
-    HTTP = HTTP_4000_0_9;
-    HUnit = HUnit_1_2_2_1;
-    network = network_2_2_1_7;
-    parallel = parallel_2_2_0_1;
-    regexBase = regexBase_0_93_1;
-    regexCompat = regexCompat_0_92;
-    regexPosix = regexPosix_0_94_1;
-    haddock = haddock_2_7_2;
-    happy = happy_1_18_4;
-    inherit (pkgs) fetchurl;
-  });
-
-  haskellPlatform_2009_2_0_2 = import ../development/libraries/haskell/haskell-platform/2009.2.0.2.nix {
-    inherit cabal ghc GLUT HTTP HUnit OpenGL QuickCheck cgi fgl editline
-      haskellSrc html parallel regexBase regexCompat regexPosix
-      stm time xhtml zlib cabalInstall alex happy;
-    haddock = haddock_2_4_2;
-    inherit (pkgs) fetchurl;
-  };
-
-  HTTP_4000_0_9 = callPackage ../development/libraries/haskell/HTTP/4000.0.9.nix {
-    network = network_2_2_1_7;
-  };
-
-  HTTP = callPackage ../development/libraries/haskell/HTTP {};
-
-  HTTP_3001 = callPackage ../development/libraries/haskell/HTTP/3001.nix {};
-
-  haxr = callPackage ../development/libraries/haskell/haxr {};
-
   haxr_th = callPackage ../development/libraries/haskell/haxr-th {};
 
-  HaXml = callPackage ../development/libraries/haskell/HaXml {};
+  HaXml_1_13_3 = callPackage ../development/libraries/haskell/HaXml/1.13.3.nix {};
+  HaXml_1_20_2 = callPackage ../development/libraries/haskell/HaXml/1.20.2.nix {};
+  HaXml113 = self.HaXml_1_13_3;
+  HaXml120 = self.HaXml_1_20_2;
+  HaXml    = self.HaXml120;
 
   HDBC = callPackage ../development/libraries/haskell/HDBC/HDBC.nix {};
 
@@ -370,7 +527,7 @@ rec {
   highlightingKate = callPackage ../development/libraries/haskell/highlighting-kate {};
 
   hint = callPackage ../development/libraries/haskell/hint {
-    ghcPaths = ghcPaths_0_1_0_6;
+    ghcPaths = self.ghcPaths_0_1_0_6;
   };
 
   Hipmunk = callPackage ../development/libraries/haskell/Hipmunk {};
@@ -393,28 +550,34 @@ rec {
 
   hsloggerTemplate = callPackage ../development/libraries/haskell/hslogger-template {};
 
-  html = callPackage ../development/libraries/haskell/html {};
+  html_1_0_1_2 = callPackage ../development/libraries/haskell/html/1.0.1.2.nix {};
+  html = self.html_1_0_1_2;
 
-  httpdShed = callPackage ../development/libraries/haskell/httpd-shed {
-    network = network_2_2_1_7;
-  };
+  httpdShed = callPackage ../development/libraries/haskell/httpd-shed {};
 
+  HUnit_1_2_0_3 = callPackage ../development/libraries/haskell/HUnit/1.2.0.3.nix {};
   HUnit_1_2_2_1 = callPackage ../development/libraries/haskell/HUnit/1.2.2.1.nix {};
-
-  HUnit = callPackage ../development/libraries/haskell/HUnit {};
+  HUnit_1_2_2_3 = callPackage ../development/libraries/haskell/HUnit/1.2.2.3.nix {};
+  HUnit = self.HUnit_1_2_0_3;
 
   ivor = callPackage ../development/libraries/haskell/ivor {};
 
   jpeg = callPackage ../development/libraries/haskell/jpeg {};
 
+  JsContracts = callPackage ../development/libraries/haskell/JsContracts {
+    WebBits = self.WebBits_1_0;
+  };
+
   json = callPackage ../development/libraries/haskell/json {};
 
   json_0_3_6 = callPackage ../development/libraries/haskell/json/0.3.6.nix {};
 
   leksahServer = callPackage ../development/libraries/haskell/leksah/leksah-server.nix {
-    network = network_2_2_1_7;
+    network = self.network_2_2_1_7;
   };
 
+  ListLike = callPackage ../development/libraries/haskell/ListLike {};
+
   ltk = callPackage ../development/libraries/haskell/ltk {};
 
   maybench = callPackage ../development/libraries/haskell/maybench {};
@@ -425,9 +588,7 @@ rec {
 
   MemoTrie = callPackage ../development/libraries/haskell/MemoTrie {};
 
-  MissingH = callPackage ../development/libraries/haskell/MissingH {
-    network = network_2_2_1_7;
-  };
+  MissingH = callPackage ../development/libraries/haskell/MissingH {};
 
   mmap = callPackage ../development/libraries/haskell/mmap {};
 
@@ -437,13 +598,20 @@ rec {
 
   monadlab = callPackage ../development/libraries/haskell/monadlab {};
 
+  monadPeel = callPackage ../development/libraries/haskell/monad-peel {};
+
   MonadRandom = callPackage ../development/libraries/haskell/MonadRandom {};
 
   monadsFd = callPackage ../development/libraries/haskell/monads-fd {};
 
   mpppc = callPackage ../development/libraries/haskell/mpppc {};
 
-  mtl = callPackage ../development/libraries/haskell/mtl {};
+  mtl_1_1_0_2 = callPackage ../development/libraries/haskell/mtl/1.1.0.2.nix {};
+  mtl_1_1_1_1 = callPackage ../development/libraries/haskell/mtl/1.1.1.1.nix {};
+  mtl_2_0_1_0 = callPackage ../development/libraries/haskell/mtl/2.0.1.0.nix {};
+  mtl1 = self.mtl_1_1_0_2;
+  mtl2 = self.mtl_2_0_1_0;
+  mtl  = self.mtl1;
 
   multiplate = callPackage ../development/libraries/haskell/multiplate {};
 
@@ -455,9 +623,10 @@ rec {
 
   neither = callPackage ../development/libraries/haskell/neither {};
 
+  network_2_2_1_4 = callPackage ../development/libraries/haskell/network/2.2.1.4.nix {};
   network_2_2_1_7 = callPackage ../development/libraries/haskell/network/2.2.1.7.nix {};
-
-  network = callPackage ../development/libraries/haskell/network {};
+  network_2_3_0_2 = callPackage ../development/libraries/haskell/network/2.3.0.2.nix {};
+  network = self.network_2_2_1_4;
 
   nonNegative = callPackage ../development/libraries/haskell/non-negative {};
 
@@ -467,41 +636,39 @@ rec {
     inherit (pkgs) openal;
   };
 
+  OpenGL_2_2_1_1 = callPackage ../development/libraries/haskell/OpenGL/2.2.1.1.nix {
+    inherit (pkgs) mesa;
+    inherit (pkgs.xlibs) libX11;
+  };
+
   OpenGL_2_2_3_0 = callPackage ../development/libraries/haskell/OpenGL/2.2.3.0.nix {
     inherit (pkgs) mesa;
     inherit (pkgs.xlibs) libX11;
   };
 
-  OpenGL = callPackage ../development/libraries/haskell/OpenGL {
-    inherit (pkgs) mesa;
-    inherit (pkgs.xlibs) libX11;
-  };
+  OpenGL = self.OpenGL_2_2_1_1;
 
-  pandoc = callPackage ../development/libraries/haskell/pandoc {
-    HTTP = HTTP_4000_0_9;
-    network = network_2_2_1_7;
-  };
+  pandoc = callPackage ../development/libraries/haskell/pandoc {};
 
-  pandoc_newtime = callPackage ../development/libraries/haskell/pandoc {
-    HTTP = HTTP_4000_0_9;
-    network = network_2_2_1_7;
-    random = random_newtime;
-  };
+  pandocTypes = callPackage ../development/libraries/haskell/pandoc-types {};
 
   pango = callPackage ../development/libraries/haskell/pango {
     inherit (pkgs) pkgconfig glibc;
     inherit (pkgs.gtkLibs) pango;
   };
 
+  parallel_1_1_0_1 = callPackage ../development/libraries/haskell/parallel/1.1.0.1.nix {};
   parallel_2_2_0_1 = callPackage ../development/libraries/haskell/parallel/2.2.0.1.nix {};
-
-  parallel = callPackage ../development/libraries/haskell/parallel {};
+  parallel_3_1_0_1 = callPackage ../development/libraries/haskell/parallel/3.1.0.1.nix {};
+  parallel = self.parallel_1_1_0_1;
 
   parseargs = callPackage ../development/libraries/haskell/parseargs {};
 
-  parsec = callPackage ../development/libraries/haskell/parsec {};
-
-  parsec_3 = callPackage ../development/libraries/haskell/parsec/3.nix {};
+  parsec_2_1_0_1 = callPackage ../development/libraries/haskell/parsec/2.1.0.1.nix {};
+  parsec_3_1_1   = callPackage ../development/libraries/haskell/parsec/3.1.1.nix {};
+  parsec2 = self.parsec_2_1_0_1;
+  parsec3 = self.parsec_3_1_1;
+  parsec  = self.parsec2;
 
   parsimony = callPackage ../development/libraries/haskell/parsimony {};
 
@@ -515,86 +682,74 @@ rec {
 
   ppm = callPackage ../development/libraries/haskell/ppm {};
 
-  pureMD5 = callPackage ../development/libraries/haskell/pureMD5 {};
+  prettyShow = callPackage ../development/libraries/haskell/pretty-show {};
 
   primitive = callPackage ../development/libraries/haskell/primitive {};
 
   processLeksah = callPackage ../development/libraries/haskell/leksah/process-leksah.nix {};
 
-  QuickCheck  = QuickCheck_1;
-
-  QuickCheck_1 = callPackage ../development/libraries/haskell/QuickCheck {};
+  pureMD5 = callPackage ../development/libraries/haskell/pureMD5 {};
 
+  QuickCheck_1_2_0_0 = callPackage ../development/libraries/haskell/QuickCheck/1.2.0.0.nix {};
+  QuickCheck_1_2_0_1 = callPackage ../development/libraries/haskell/QuickCheck/1.2.0.1.nix {};
   QuickCheck_2_1_0_3 = callPackage ../development/libraries/haskell/QuickCheck/2.1.0.3.nix {};
-
-  QuickCheck_2 = callPackage ../development/libraries/haskell/QuickCheck/QuickCheck-2.nix {};
+  QuickCheck_2_1_1_1 = callPackage ../development/libraries/haskell/QuickCheck/2.1.1.1.nix {};
+  QuickCheck_2_4_0_1 = callPackage ../development/libraries/haskell/QuickCheck/2.4.0.1.nix {};
+  QuickCheck1 = self.QuickCheck_1_2_0_1;
+  QuickCheck2 = self.QuickCheck_2_4_0_1;
+  QuickCheck  = self.QuickCheck2;
 
   RangedSets = callPackage ../development/libraries/haskell/Ranged-sets {};
 
   random_newtime = callPackage ../development/libraries/haskell/random {
-    time = time_1_2_0_3;
+    time = self.time_1_2_0_3;
   };
 
   readline = callPackage ../development/libraries/haskell/readline {
     inherit (pkgs) readline ncurses;
   };
 
-  recaptcha = callPackage ../development/libraries/haskell/recaptcha {
-    HTTP = HTTP_4000_0_9;
-    network = network_2_2_1_7;
-  };
+  recaptcha = callPackage ../development/libraries/haskell/recaptcha {};
 
-  regexBase_0_93_1 = callPackage ../development/libraries/haskell/regex-base/0.93.1.nix {};
+  regexBase_0_72_0_2 = callPackage ../development/libraries/haskell/regex-base/0.72.0.2.nix {};
+  regexBase_0_93_1   = callPackage ../development/libraries/haskell/regex-base/0.93.1.nix   {};
+  regexBase_0_93_2   = callPackage ../development/libraries/haskell/regex-base/0.93.2.nix   {};
+  regexBase = self.regexBase_0_72_0_2;
 
-  regexBase_0_93_2 = callPackage ../development/libraries/haskell/regex-base/0.93.2.nix {};
+  regexCompat_0_71_0_1 = callPackage ../development/libraries/haskell/regex-compat/0.71.0.1.nix {};
+  regexCompat_0_92     = callPackage ../development/libraries/haskell/regex-compat/0.92.nix     {};
+  regexCompat_0_93_1   = callPackage ../development/libraries/haskell/regex-compat/0.93.1.nix   {};
+  regexCompat = self.regexCompat_0_71_0_1;
 
-  regexBase = callPackage ../development/libraries/haskell/regex-base {};
+  regexPosix_0_72_0_3 = callPackage ../development/libraries/haskell/regex-posix/0.72.0.3.nix {};
+  regexPosix_0_94_1   = callPackage ../development/libraries/haskell/regex-posix/0.94.1.nix   {};
+  regexPosix_0_94_2   = callPackage ../development/libraries/haskell/regex-posix/0.94.2.nix   {};
+  regexPosix_0_94_4   = callPackage ../development/libraries/haskell/regex-posix/0.94.4.nix   {};
+  regexPosix = self.regexPosix_0_72_0_3;
 
-  regexCompat_0_92 = callPackage ../development/libraries/haskell/regex-compat/0.92.nix {
-    regexBase = regexBase_0_93_1;
-    regexPosix = regexPosix_0_94_1;
-  };
-
-  regexCompat_0_93_1 = callPackage ../development/libraries/haskell/regex-compat/0.93.1.nix {
-    regexBase = regexBase_0_93_2;
-    regexPosix = regexPosix_0_94_2;
-  };
-
-  regexCompat = callPackage ../development/libraries/haskell/regex-compat {};
-
-  regexPosix_0_94_1 = callPackage ../development/libraries/haskell/regex-posix/0.94.1.nix {
-    regexBase = regexBase_0_93_1;
-  };
-
-  regexPosix_0_94_2 = callPackage ../development/libraries/haskell/regex-posix/0.94.2.nix {
-    regexBase = regexBase_0_93_2;
-  };
-
-  regexPosix = callPackage ../development/libraries/haskell/regex-posix {};
-
-  regexTDFA = callPackage ../development/libraries/haskell/regex-tdfa {
-    regexBase = regexBase_0_93_2;
-  };
+  regexTDFA = callPackage ../development/libraries/haskell/regex-tdfa {};
 
   regular = callPackage ../development/libraries/haskell/regular {};
 
   safe = callPackage ../development/libraries/haskell/safe {};
 
-  salvia = callPackage ../development/libraries/haskell/salvia {
-    network = network_2_2_1_7;
-  };
+  salvia = callPackage ../development/libraries/haskell/salvia {};
 
   salviaProtocol = callPackage ../development/libraries/haskell/salvia-protocol {};
 
   scion = callPackage ../development/libraries/haskell/scion {};
 
-  sendfile = callPackage ../development/libraries/haskell/sendfile {
-    network = network_2_2_1_7;
-  };
+  sendfile = callPackage ../development/libraries/haskell/sendfile {};
 
   statistics = callPackage ../development/libraries/haskell/statistics {};
 
-  syb = callPackage ../development/libraries/haskell/syb {};
+  # TODO: investigate status of syb in older platform versions
+  syb_0_2_2 = callPackage ../development/libraries/haskell/syb/0.2.2.nix {};
+  syb_0_3   = callPackage ../development/libraries/haskell/syb/0.3.nix {};
+  syb02     = self.syb_0_2_2;
+  syb03     = self.syb_0_3;
+  syb       = null; # by default, we assume that syb ships with GHC, which is
+                    # true for the older GHC versions
 
   sybWithClass = callPackage ../development/libraries/haskell/syb/syb-with-class.nix {};
 
@@ -624,45 +779,48 @@ rec {
 
   ShellacReadline = callPackage ../development/libraries/haskell/Shellac/Shellac-readline.nix {};
 
-  SMTPClient = callPackage ../development/libraries/haskell/SMTPClient {
-    network = network_2_2_1_7;
-  };
+  SMTPClient = callPackage ../development/libraries/haskell/SMTPClient {};
 
   split = callPackage ../development/libraries/haskell/split {};
 
   stbImage = callPackage ../development/libraries/haskell/stb-image {};
 
-  stm = callPackage ../development/libraries/haskell/stm {};
-
+  stm_2_1_1_2 = callPackage ../development/libraries/haskell/stm/2.1.1.2.nix {};
   stm_2_1_2_1 = callPackage ../development/libraries/haskell/stm/2.1.2.1.nix {};
+  stm_2_2_0_1 = callPackage ../development/libraries/haskell/stm/2.2.0.1.nix {};
+  stm = self.stm_2_1_1_2;
 
   storableComplex = callPackage ../development/libraries/haskell/storable-complex {};
 
   strictConcurrency = callPackage ../development/libraries/haskell/strictConcurrency {};
 
+  svgcairo = callPackage ../development/libraries/haskell/svgcairo {};
+
+  tagsoup = callPackage ../development/libraries/haskell/tagsoup {};
+
   terminfo = callPackage ../development/libraries/haskell/terminfo {
-    inherit extensibleExceptions /* only required for <= ghc6102  ?*/;
+    inherit (self) extensibleExceptions /* only required for <= ghc6102  ?*/;
     inherit (pkgs) ncurses;
   };
 
   testpack = callPackage ../development/libraries/haskell/testpack {};
 
-  texmath = callPackage ../development/libraries/haskell/texmath {
-    cgi = cgi_3001_1_7_2;
-  };
+  texmath = callPackage ../development/libraries/haskell/texmath {};
 
-  text = callPackage ../development/libraries/haskell/text {};
+  text_0_11_0_5 = callPackage ../development/libraries/haskell/text/0.11.0.5.nix {};
+  text = self.text_0_11_0_5;
 
   threadmanager = callPackage ../development/libraries/haskell/threadmanager {};
 
-  /* time is Haskell Platform default, other time versions are more recent but incompatible */
-  time = callPackage ../development/libraries/haskell/time {};
-
-  time_1_1_3 = callPackage ../development/libraries/haskell/time/1.1.3.nix {};
-
+  time_1_1_2_4 = callPackage ../development/libraries/haskell/time/1.1.2.4.nix {};
+  time_1_1_3   = callPackage ../development/libraries/haskell/time/1.1.3.nix {};
   time_1_2_0_3 = callPackage ../development/libraries/haskell/time/1.2.0.3.nix {};
+  # time is in the core package set. It should only be necessary to
+  # pass it explicitly in rare circumstances.
+  time = null;
 
-  transformers = callPackage ../development/libraries/haskell/transformers {};
+  transformers_0_2_2_0 = callPackage ../development/libraries/haskell/transformers/0.2.2.0.nix {};
+  transformers = self.transformers_0_2_2_0;
 
   uniplate = callPackage ../development/libraries/haskell/uniplate {};
 
@@ -681,7 +839,7 @@ rec {
   uuParsingLib = callPackage ../development/libraries/haskell/uu-parsinglib {};
 
   vacuum = callPackage ../development/libraries/haskell/vacuum {
-    ghcPaths = ghcPaths_0_1_0_6;
+    ghcPaths = self.ghcPaths_0_1_0_6;
   };
 
   vacuumCairo = callPackage ../development/libraries/haskell/vacuum-cairo {};
@@ -695,13 +853,21 @@ rec {
   vectorSpace = callPackage ../development/libraries/haskell/vector-space {};
 
   vty = callPackage ../development/libraries/haskell/vty {
-    parallel = parallel_2_2_0_1;
+    mtl = self.mtl2;
   };
 
-  webRoutes = callPackage ../development/libraries/haskell/web-routes {
-    network = network_2_2_1_7;
+  WebBits = callPackage ../development/libraries/haskell/WebBits {
+    parsec = self.parsec2;
   };
 
+  WebBits_1_0 = callPackage ../development/libraries/haskell/WebBits/1.0.nix {
+    parsec = self.parsec2;
+  };
+
+  WebBitsHtml = callPackage ../development/libraries/haskell/WebBits-Html {};
+
+  webRoutes = callPackage ../development/libraries/haskell/web-routes {};
+
   webRoutesQuasi = callPackage ../development/libraries/haskell/web-routes-quasi {};
 
   WebServer = callPackage ../development/libraries/haskell/WebServer {
@@ -709,13 +875,13 @@ rec {
   };
 
   WebServerExtras = callPackage ../development/libraries/haskell/WebServer-Extras {
-    json = json_0_3_6;
+    json = self.json_0_3_6;
     inherit (pkgs) fetchgit;
   };
 
   CouchDB = callPackage ../development/libraries/haskell/CouchDB {
-    HTTP = HTTP_3001;
-    json = json_0_3_6;
+    HTTP = self.HTTP_3001_1_5;
+    json = self.json_0_3_6;
   };
 
   base64string = callPackage ../development/libraries/haskell/base64-string {};
@@ -728,6 +894,8 @@ rec {
     inherit (pkgs.xlibs) libX11;
   };
 
+  wxdirect = callPackage ../development/libraries/haskell/wxHaskell/wxdirect.nix {};
+
   X11 = callPackage ../development/libraries/haskell/X11 {
     inherit (pkgs.xlibs) libX11 libXinerama libXext;
     xineramaSupport = true;
@@ -738,17 +906,20 @@ rec {
     inherit (pkgs.xlibs) libXft;
   };
 
-  xhtml = callPackage ../development/libraries/haskell/xhtml {};
+  xhtml_3000_2_0_1 = callPackage ../development/libraries/haskell/xhtml/3000.2.0.1.nix {};
+  xhtml = self.xhtml_3000_2_0_1;
 
   xml = callPackage ../development/libraries/haskell/xml {};
 
+  xssSanitize = callPackage ../development/libraries/haskell/xss-sanitize {};
+
   yst = callPackage ../development/libraries/haskell/yst {};
 
   zipArchive = callPackage ../development/libraries/haskell/zip-archive {};
 
   zipper = callPackage ../development/libraries/haskell/zipper {};
 
-  zlib = callPackage ../development/libraries/haskell/zlib {
+  zlib_0_5_0_0 = callPackage ../development/libraries/haskell/zlib/0.5.0.0.nix {
     inherit (pkgs) zlib;
   };
 
@@ -756,6 +927,12 @@ rec {
     inherit (pkgs) zlib;
   };
 
+  zlib_0_5_3_1 = callPackage ../development/libraries/haskell/zlib/0.5.3.1.nix {
+    inherit (pkgs) zlib;
+  };
+
+  zlib = self.zlib_0_5_0_0;
+
   # Compilers.
 
   ehc = callPackage ../development/compilers/ehc {
@@ -764,55 +941,45 @@ rec {
 
   epic = callPackage ../development/compilers/epic {};
 
+  flapjax = callPackage ../development/compilers/flapjax {
+    WebBits = self.WebBits_1_0;
+  };
+
   helium = callPackage ../development/compilers/helium {};
 
   idris = callPackage ../development/compilers/idris {};
 
   # Development tools.
 
-  alex = callPackage ../development/tools/parsing/alex {};
-
+  alex_2_3_1 = callPackage ../development/tools/parsing/alex/2.3.1.nix {};
   alex_2_3_2 = callPackage ../development/tools/parsing/alex/2.3.2.nix {};
-
   alex_2_3_3 = callPackage ../development/tools/parsing/alex/2.3.3.nix {};
+  alex_2_3_5 = callPackage ../development/tools/parsing/alex/2.3.5.nix {};
+  alex = self.alex_2_3_1;
 
   cpphs = callPackage ../development/tools/misc/cpphs {};
 
   frown = callPackage ../development/tools/parsing/frown {};
 
-  haddock = haddock_2_7_2_P;
-
-  haddock_2_4_2 = callPackage ../development/tools/documentation/haddock/haddock-2.4.2.nix {};
-
-  haddock_2_7_2 = callPackage ../development/tools/documentation/haddock/haddock-2.7.2.nix {
-    alex = alex_2_3_2;
-    happy = happy_1_18_4;
-    ghcPaths = ghcPaths_0_1_0_6;
+  haddock_2_4_2 = callPackage ../development/tools/documentation/haddock/2.4.2.nix {};
+  haddock_2_7_2 = callPackage ../development/tools/documentation/haddock/2.7.2.nix {
+    ghcPaths = self.ghcPaths_0_1_0_6;
   };
-
-  haddock_2_7_2_P = callPackage ../development/tools/documentation/haddock/haddock-2.7.2.nix {
-    alex = alex_2_3_3;
-    happy = happy_1_18_5;
-    ghcPaths = ghcPaths_0_1_0_6;
+  haddock_2_9_2 = callPackage ../development/tools/documentation/haddock/2.9.2.nix {
+    ghcPaths = self.ghcPaths_0_1_0_6;
   };
+  haddock = self.haddock_2_7_2;
 
-  happy = happy_1_18_4;
+  happy_1_18_4 = callPackage ../development/tools/parsing/happy/1.18.4.nix {};
+  happy_1_18_5 = callPackage ../development/tools/parsing/happy/1.18.5.nix {};
+  happy_1_18_6 = callPackage ../development/tools/parsing/happy/1.18.6.nix {};
+  happy = self.happy_1_18_4;
 
-  happy_1_17 = callPackage ../development/tools/parsing/happy/happy-1.17.nix {};
-
-  happy_1_18_4 = callPackage ../development/tools/parsing/happy/happy-1.18.4.nix {};
-
-  happy_1_18_5 = callPackage ../development/tools/parsing/happy/happy-1.18.5.nix {};
-
-  HaRe = callPackage ../development/tools/haskell/HaRe {
-    network = network_2_2_1_7;
-  };
+  HaRe = callPackage ../development/tools/haskell/HaRe {};
 
   hlint = callPackage ../development/tools/haskell/hlint {};
 
-  hslogger = callPackage ../development/tools/haskell/hslogger {
-    network = network_2_2_1_7;
-  };
+  hslogger = callPackage ../development/tools/haskell/hslogger {};
 
   mkcabal = callPackage ../development/tools/haskell/mkcabal {};
 
@@ -825,13 +992,13 @@ rec {
   # Applications.
 
   darcs = callPackage ../applications/version-management/darcs/darcs-2.nix {
-    zlib = zlib_0_5_2_0;
     inherit (pkgs) curl;
+    parsec = self.parsec2;
   };
 
   leksah = callPackage ../applications/editors/leksah {
-    network = network_2_2_1_7;
-    regexBase = regexBase_0_93_2;
+    network = self.network_2_2_1_7;
+    regexBase = self.regexBase_0_93_2;
     inherit (pkgs) makeWrapper;
   };
 
@@ -845,19 +1012,11 @@ rec {
 
   # Tools.
 
-  cabalInstall_0_8_2 = callPackage ../tools/package-management/cabal-install/0.8.2.nix {
-    HTTP = HTTP_4000_0_9;
-    network = network_2_2_1_7;
-    zlib = zlib_0_5_2_0;
-  };
-
-  cabalInstall_0_8_0 = callPackage ../tools/package-management/cabal-install/0.8.0.nix {
-    HTTP = HTTP_4000_0_9;
-    network = network_2_2_1_7;
-    zlib = zlib_0_5_2_0;
-  };
-
-  cabalInstall = callPackage ../tools/package-management/cabal-install {};
+  cabalInstall_0_6_2  = callPackage ../tools/package-management/cabal-install/0.6.2.nix  {};
+  cabalInstall_0_8_0  = callPackage ../tools/package-management/cabal-install/0.8.0.nix  {};
+  cabalInstall_0_8_2  = callPackage ../tools/package-management/cabal-install/0.8.2.nix  {};
+  cabalInstall_0_10_2 = callPackage ../tools/package-management/cabal-install/0.10.2.nix {};
+  cabalInstall = self.cabalInstall_0_6_2;
 
   lhs2tex = callPackage ../tools/typesetting/lhs2tex {
     inherit (pkgs) tetex polytable;
@@ -875,4 +1034,4 @@ rec {
 
 };
 
-in result
+in result.final
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 9655bc2d8bf8..2f9234db348d 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -9,7 +9,7 @@
 
 rec {
 
-  inherit (pkgs) buildPerlPackage fetchurl stdenv perl;
+  inherit (pkgs) buildPerlPackage fetchurl stdenv perl fetchsvn;
 
   ack = buildPerlPackage rec {
     name = "ack-1.92";
@@ -698,6 +698,17 @@ rec {
     ];
   };
 
+  CompressUnLZMA = buildPerlPackage rec {
+    name = "Compress-unLZMA-0.04";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/F/FE/FERREIRA/${name}.tar.gz";
+      sha256 = "0sg9gj3rhif6hgmhwpz6w0g52l65vj5hx9818v5cdhvcif0jhg0b";
+    };
+    propagatedBuildInputs = [
+      IOCompressBase
+    ];
+  };
+
   ConfigAny = buildPerlPackage rec {
     name = "Config-Any-0.18";
     src = fetchurl {
@@ -1557,6 +1568,14 @@ rec {
     };
   };
 
+  IOTty = buildPerlPackage rec {
+    name = "IO-Tty-1.10";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/T/TO/TODDR/${name}.tar.gz";
+      sha256 = "1cgqyv1zg8857inlnfczrrgpqr0r6mmqv29b7jlmxv47s4df59ii";
+    };
+  };
+
   IPCRun = buildPerlPackage rec {
     name = "IPC-Run-0.82";
     src = fetchurl {
@@ -2019,6 +2038,17 @@ rec {
     propagatedBuildInputs = [JSONAny Encode LWP CryptSSLeay];
   };
 
+  nixPerl = buildPerlPackage {
+    name = "Nix-0.15";
+    src = fetchsvn {
+      url = https://svn.nixos.org/repos/nix/nix-perl/trunk;
+      rev = 24774;
+      sha256 = "1akj695gpnbrjlnwd1gdnnnk7ppvpp1qsinjn04az7q6hjqzbm6p";
+    };
+    NIX_PREFIX = pkgs.nixSqlite;
+    doCheck = false; # tests currently don't work
+  };
+
   ObjectSignature = buildPerlPackage {
     name = "Object-Signature-1.05";
     src = fetchurl {
@@ -3044,6 +3074,15 @@ rec {
     makeMakerFlags = "EXPATLIBPATH=${pkgs.expat}/lib EXPATINCPATH=${pkgs.expat}/include";
   };
 
+  XMLXPath = buildPerlPackage {
+    name = "XML-XPath-1.13";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MS/MSERGEANT/XML-XPath-1.13.tar.gz;
+      sha256 = "0xjmfwda7m3apj7yrjzmkm4sjwnz4bqyaynzgcwqhx806kgw4j9a";
+    };
+    propagatedBuildInputs = [XMLParser];
+  };
+
   XMLRegExp = buildPerlPackage {
     name = "XML-RegExp-0.03";
     src = fetchurl {
@@ -3079,11 +3118,11 @@ rec {
     propagatedBuildInputs = [XMLParser];
   };
 
-  XMLWriter = buildPerlPackage {
-    name = "XML-Writer-0.602";
+  XMLWriter = buildPerlPackage rec {
+    name = "XML-Writer-0.612";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JO/JOSEPHW/XML-Writer-0.602.tar.gz;
-      sha256 = "0kdi022jcn9mwqsxy2fiwl2cjlid4x13r038jvi426fhjknl11nl";
+      url = "mirror://cpan/authors/id/J/JO/JOSEPHW/${name}.tar.gz";
+      sha256 = "1prvgbjxynxg6061qxzfbbimjvil04513hf3hsilv0hdg58nb9jk";
     };
   };
 
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 966312712256..e09978863ae3 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -171,6 +171,31 @@ rec {
     };
   });
 
+
+  eventlet = buildPythonPackage rec {
+    name = "eventlet-0.9.14";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/e/eventlet/${name}.tar.gz";
+      md5 = "dfc96ed14b27392fdc529abcafeed880";
+    };
+
+    buildInputs = [ nose httplib2 ];
+
+    propagatedBuildInputs = [ greenlet ];
+
+    # It tries to scribble in ~/.python-eggs.
+    preConfigure = "export HOME=$(pwd)";
+
+    doCheck = false; # !!! fix; test requires ssl support in Python
+
+    meta = {
+      homepage = http://pypi.python.org/pypi/eventlet/;
+      description = "A concurrent networking library for Python";
+    };
+  };
+
+  
   flup = buildPythonPackage (rec {
     name = "flup-1.0.2";
 
@@ -249,6 +274,54 @@ rec {
     };
   };
 
+  
+  gflags = buildPythonPackage rec {
+    name = "gflags-1.5.1";
+
+    src = fetchurl {
+      url = "http://python-gflags.googlecode.com/files/python-${name}.tar.gz";
+      sha256 = "1p8blsc3z1wasi9dhbjij7m2czps17dll3cpj37v97fv5ww7al9v";
+    };
+
+    meta = {
+      homepage = http://code.google.com/p/python-gflags/;
+      description = "A module for command line handling, similar to Google's gflags for C++";
+    };
+  };
+
+  
+  greenlet = buildPythonPackage rec {
+    name = "greenlet-0.3.1";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/g/greenlet/${name}.tar.gz";
+      md5 = "8d75d7f3f659e915e286e1b0fa0e1c4d";
+    };
+
+    meta = {
+      homepage = http://pypi.python.org/pypi/greenlet;
+      description = "Module for lightweight in-process concurrent programming";
+    };
+  };
+
+  
+  httplib2 = buildPythonPackage rec {
+    name = "httplib2-0.6.0";
+
+    src = fetchurl {
+      url = "http://httplib2.googlecode.com/files/${name}.tar.gz";
+      sha256 = "134pldyxayc0x4akzzvkciz2kj1w2dsim1xvd9b1qrpmba70dpjq";
+    };
+
+    doCheck = false; # doesn't have a test
+
+    meta = {
+      homepage = http://code.google.com/p/httplib2/;
+      description = "A comprehensive HTTP client library";
+    };
+  };
+
+  
   jinja2 = buildPythonPackage {
     name = "jinja2-2.2.1";
 
@@ -438,6 +511,24 @@ rec {
     };
   });
 
+  
+  netaddr = buildPythonPackage rec {
+    name = "netaddr-0.7.5";
+
+    src = fetchurl {
+      url = "https://github.com/downloads/drkjam/netaddr/${name}.tar.gz";
+      sha256 = "0ssxic389rdc79zkz8dxcjpqdi5qs80h12khkag410cl9cwk11f2";
+    };
+
+    doCheck = false; # there is no test command
+
+    meta = {
+      homepage = https://github.com/drkjam/netaddr/;
+      description = "A network address manipulation library for Python";
+    };
+  };
+
+  
   nevow = buildPythonPackage (rec {
     name = "nevow-${version}";
     version = "0.10.0";
@@ -481,12 +572,12 @@ rec {
 
   nose = buildPythonPackage {
     name = "nose-0.11.3";
-    
+
     src = fetchurl {
       url = http://python-nose.googlecode.com/files/nose-0.11.3.tar.gz;
       sha256 = "1hl3lbwdfl2a64q3dxc73kbiks4iwx5cixlbavyryd8xdr7iziww";
     };
-    
+
     meta = {
       description = "A unittest-based testing framework for python that makes writing and running tests easier";
     };
@@ -699,6 +790,34 @@ rec {
     };
   });
 
+  pymacs = pkgs.stdenv.mkDerivation rec {
+    version = "v0.24-beta2";
+    name = "Pymacs-${version}";
+
+    src = fetchurl {
+      url = "https://github.com/pinard/Pymacs/tarball/${version}";
+      name = "${name}.tar.gz";
+      sha256 = "0nzb3wrxwy0cmmj087pszkwgj2v22x0y5m4vxb6axz94zfl02r8j";
+    };
+
+    buildInputs = [ python ];
+
+    configurePhase = ''
+      python p4 -C p4config.py *.in Pymacs contrib tests
+    '';
+
+    installPhase = ''
+      python setup.py install --prefix=$out
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Emacs Lisp to Python interface";
+      homepage = http://pymacs.progiciels-bpi.ca;
+      license = licenses.gpl2;
+      maintainers = [ maintainers.goibhniu ];
+    };
+  };
+
   pyopengl =
     let version = "3.0.0b5";
     in
@@ -853,6 +972,52 @@ rec {
     };
   });
 
+  rope = pkgs.stdenv.mkDerivation rec {
+    version = "0.9.3";
+    name = "rope-${version}";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/r/rope/${name}.tar.gz";
+      sha256 = "1092rlsfna7rm1jkdanilsmw7rr3hlkgyji02xfd02wfcm8xa2i7";
+    };
+
+    buildInputs = [ python ];
+
+    installPhase = ''
+      python setup.py install --prefix=$out
+    '';
+
+    meta = with stdenv.lib; {
+      description = "python refactoring library";
+      homepage = http://rope.sf.net;
+      maintainers = [ maintainers.goibhniu ];
+      license = licenses.gpl2;
+    };
+  };
+
+  ropemacs = pkgs.stdenv.mkDerivation rec {
+    version = "0.6";
+    name = "ropemacs-${version}";
+
+    src = fetchurl {
+      url = "mirror://sourceforge/rope/${name}.tar.gz";
+      sha256 = "1afqybmjn7fqkwx8y8kx1kfx181ix73cbq3a0d5n7ryjm7k1r0s4";
+    };
+
+    buildInputs = [ python ];
+
+    installPhase = ''
+      python setup.py install --prefix=$out
+    '';
+
+     meta = with stdenv.lib; {
+       description = "a plugin for performing python refactorings in emacs";
+       homepage = http://rope.sf.net/ropemacs.html;
+       maintainers = [ maintainers.goibhniu ];
+       license = licenses.gpl2;
+     };
+  };
+
   pysvn = pkgs.stdenv.mkDerivation {
     name = "pysvn-1.7.2";
 
@@ -917,19 +1082,19 @@ rec {
       homepage = http://www.darwinsys.com/file/;
     };
   };
-  
+
   MySQL_python = buildPythonPackage {
     name = "MySQL-python-1.2.3";
-    
+
     doCheck = false;
-    
+
     src = fetchurl {
       url = mirror://sourceforge/mysql-python/MySQL-python-1.2.3.tar.gz;
       sha256 = "0vkyg9dmj29hzk7fy77f42p7bfj28skyzsjsjry4wqr3z6xnzrkx";
     };
-    
+
     propagatedBuildInputs = [ pkgs.mysql pkgs.zlib nose ];
-    
+
     meta = {
       description = "MySQL database binding for Python";
 
diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix
index fd865419487f..cacc5f100c4e 100644
--- a/pkgs/top-level/release-cross.nix
+++ b/pkgs/top-level/release-cross.nix
@@ -154,6 +154,13 @@ let
   };
 in {
   crossMingw32 = mapTestOnCross crossSystem {
+    coreutils.hostDrv = nativePlatforms;
+    boehmgc.hostDrv = nativePlatforms;
+    gmp.hostDrv = nativePlatforms;
+    guile_1_8.hostDrv = nativePlatforms;
+    libffi.hostDrv = nativePlatforms;
+    libtool.hostDrv = nativePlatforms;
+    libunistring.hostDrv = nativePlatforms;
     windows.wxMSW.hostDrv = nativePlatforms;
   };
 }) // (
@@ -175,10 +182,16 @@ in {
     hurdCross = nativePlatforms;
     mach.hostDrv = nativePlatforms;
 
-    coreutils_real.hostDrv = nativePlatforms;
+    coreutils.hostDrv = nativePlatforms;
     ed.hostDrv = nativePlatforms;
     grub2.hostDrv = nativePlatforms;
     inetutils.hostDrv = nativePlatforms;
+    boehmgc.hostDrv = nativePlatforms;
+    gmp.hostDrv = nativePlatforms;
+    guile_1_8.hostDrv = nativePlatforms;
+    libffi.hostDrv = nativePlatforms;
+    libtool.hostDrv = nativePlatforms;
+    libunistring.hostDrv = nativePlatforms;
     nixUnstable.hostDrv = nativePlatforms;
     patch.hostDrv = nativePlatforms;
     zile.hostDrv = nativePlatforms;
@@ -213,7 +226,7 @@ let
 in {
   fuloongminipc = mapTestOnCross crossSystem {
 
-    coreutils_real.hostDrv = nativePlatforms;
+    coreutils.hostDrv = nativePlatforms;
     ed.hostDrv = nativePlatforms;
     grub2.hostDrv = nativePlatforms;
     inetutils.hostDrv = nativePlatforms;
@@ -273,7 +286,7 @@ let
 in {
   nanonote = mapTestOnCross crossSystem {
 
-    coreutils_real.hostDrv = nativePlatforms;
+    coreutils.hostDrv = nativePlatforms;
     ed.hostDrv = nativePlatforms;
     inetutils.hostDrv = nativePlatforms;
     nixUnstable.hostDrv = nativePlatforms;
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 54bc621cf2f5..e60ec56fbb61 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -21,7 +21,6 @@ with (import ./release-lib.nix);
   apacheHttpd = linux;
   aspell = all;
   at = linux;
-  aterm242fixes = all;
   aterm25 = all;
   aterm28 = all;
   audacious = linux;
@@ -66,6 +65,9 @@ with (import ./release-lib.nix);
   dico = linux;
   dietlibc = linux;
   diffutils = all;
+  disnix = all;
+  disnixos = linux;
+  DisnixWebService = linux;
   docbook5 = all;
   docbook5_xsl = all;
   docbook_xml_dtd_42 = all;
@@ -200,7 +202,6 @@ with (import ./release-lib.nix);
   mod_python = linux;
   module_init_tools = linux;
   mono = linux;
-  monotone = linux;
   mpg321 = linux;
   mutt = linux;
   mysql = linux;
@@ -397,29 +398,12 @@ with (import ./release-lib.nix);
     gtk = linux;
   };
 
-  haskellPackages_ghc6102 = {
-    ghc = ghcSupported;
-  };
-
-  haskellPackages_ghc6103 = {
-    ghc = ghcSupported;
-  };
-
   haskellPackages_ghc6104 = {
     ghc = ghcSupported;
-    gtk2hs = linux;
     haskellPlatform_2009_2_0_2 = ghcSupported;
-    xmonad = linux;
   };
 
   haskellPackages_ghc6121 = {
-    darcs = ghcSupported;
-    ghc = ghcSupported;
-    haskellPlatform_2010_1_0_0 = ghcSupported;
-  };
-
-  haskellPackages_ghc6122 = {
-    darcs = ghcSupported;
     ghc = ghcSupported;
     haskellPlatform_2010_1_0_0 = ghcSupported;
   };
@@ -439,6 +423,16 @@ with (import ./release-lib.nix);
     ghc = ghcSupported;
   };
 
+  haskellPackages_ghc702 = {
+    darcs = ghcSupported;
+    ghc = ghcSupported;
+    gitit = linux;
+    gtk = linux;
+    haskellPlatform_2011_2_0_0 = ghcSupported;
+    lhs2tex = ghcSupported;
+    xmonad = linux;
+  };
+
   kde3 = {
     kdebase = linux;
     kdelibs = linux;