summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra2011-03-14 18:26:46 +0000
committerEelco Dolstra2011-03-14 18:26:46 +0000
commit3e3eac2e3050d0cf621b5268b276e25f47620908 (patch)
treec96978521b3ae56a3c4c0018ae0d632788feaaea
parentfd2f86820c996e7679e5e39f3d630245f8165248 (diff)
parente5fcf7ebe9f60ef31f6c2dea2b4724c5a47f4497 (diff)
* Sync with the trunk.
svn path=/nixpkgs/branches/x-updates/; revision=26303
-rwxr-xr-xmaintainers/scripts/gnu/gnupdate3
-rw-r--r--pkgs/applications/audio/gmu/default.nix35
-rw-r--r--pkgs/applications/editors/emacs-23/default.nix10
-rw-r--r--pkgs/applications/editors/texmacs/default.nix6
-rw-r--r--pkgs/applications/editors/zile/default.nix4
-rw-r--r--pkgs/applications/graphics/djview/default.nix4
-rw-r--r--pkgs/applications/misc/k3b/default.nix4
-rw-r--r--pkgs/applications/misc/lyx/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/firefox/3.6.nix6
-rw-r--r--pkgs/applications/networking/browsers/icecat-3/default.nix4
-rw-r--r--pkgs/applications/version-management/darcs/darcs-2.nix4
-rw-r--r--pkgs/applications/window-managers/xmonad/default.nix9
-rw-r--r--pkgs/applications/window-managers/xmonad/xmonad-contrib.nix5
-rw-r--r--pkgs/development/compilers/flapjax/default.nix35
-rw-r--r--pkgs/development/libraries/gnutls/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/Agda/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.1.1.2.nix (renamed from pkgs/development/libraries/haskell/GLUT/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/HAppS/HAppS-Data.nix25
-rw-r--r--pkgs/development/libraries/haskell/HAppS/HAppS-IxSet.nix12
-rw-r--r--pkgs/development/libraries/haskell/HAppS/HAppS-Server.nix13
-rw-r--r--pkgs/development/libraries/haskell/HAppS/HAppS-State.nix13
-rw-r--r--pkgs/development/libraries/haskell/HAppS/HAppS-Util.nix12
-rw-r--r--pkgs/development/libraries/haskell/HStringTemplate/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/HTTP/3001.1.5.nix (renamed from pkgs/development/libraries/haskell/HTTP/3001.nix)0
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.0.6.nix (renamed from pkgs/development/libraries/haskell/HTTP/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.1.1.nix12
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.0.3.nix (renamed from pkgs/development/libraries/haskell/HUnit/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.2.3.nix11
-rw-r--r--pkgs/development/libraries/haskell/HaXml/1.20.2.nix (renamed from pkgs/development/libraries/haskell/HaXml/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/JsContracts/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/ListLike/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.2.1.1.nix (renamed from pkgs/development/libraries/haskell/OpenGL/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.2.3.0.nix4
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/1.2.0.0.nix (renamed from pkgs/development/libraries/haskell/QuickCheck/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/1.2.0.1.nix11
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.1.1.1.nix (renamed from pkgs/development/libraries/haskell/QuickCheck/QuickCheck-2.nix)0
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.4.0.1.nix14
-rw-r--r--pkgs/development/libraries/haskell/SHA/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/WebBits-Html/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/WebBits/1.0.nix13
-rw-r--r--pkgs/development/libraries/haskell/WebBits/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/X11/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/blaze-builder/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/blaze-html/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/cabal/cabal.nix10
-rw-r--r--pkgs/development/libraries/haskell/cairo/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cgi/3001.1.7.1.nix (renamed from pkgs/development/libraries/haskell/cgi/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/cgi/3001.1.7.4.nix12
-rw-r--r--pkgs/development/libraries/haskell/citeproc-hs/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/criterion/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/datetime/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/deepseq/1.1.0.0.nix (renamed from pkgs/development/libraries/haskell/deepseq/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/deepseq/1.1.0.2.nix11
-rw-r--r--pkgs/development/libraries/haskell/digest/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/dlist/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/feed/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/fgl/5.4.2.2.nix (renamed from pkgs/development/libraries/haskell/fgl/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/fgl/5.4.2.3.nix4
-rw-r--r--pkgs/development/libraries/haskell/filestore/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ghc-events/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/gitit/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/glade/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/glib/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gtk/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gtk2hs/default.nix44
-rw-r--r--pkgs/development/libraries/haskell/gtksourceview2/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hakyll/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/hamlet/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-data.nix8
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-server.nix4
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-util.nix4
-rw-r--r--pkgs/development/libraries/haskell/hashed-storage/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/haskeline/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2009.2.0.2.nix6
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix6
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2010.2.0.0.nix6
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2011.2.0.0.nix26
-rw-r--r--pkgs/development/libraries/haskell/haskell-src-exts/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/haskell-src/1.0.1.3.nix (renamed from pkgs/development/libraries/haskell/haskell-src/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/haskell-src/1.0.1.4.nix13
-rw-r--r--pkgs/development/libraries/haskell/highlighting-kate/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hscolour/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/html/1.0.1.2.nix (renamed from pkgs/development/libraries/haskell/html/default.nix)2
-rw-r--r--pkgs/development/libraries/haskell/json/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/monad-peel/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/mtl/1.1.0.2.nix (renamed from pkgs/development/libraries/haskell/mtl/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/mtl/1.1.1.1.nix11
-rw-r--r--pkgs/development/libraries/haskell/mtl/2.0.1.0.nix12
-rw-r--r--pkgs/development/libraries/haskell/multirec/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/mwc-random/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/neither/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/network/2.2.1.4.nix (renamed from pkgs/development/libraries/haskell/network/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/network/2.3.0.2.nix12
-rw-r--r--pkgs/development/libraries/haskell/pandoc-types/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/pandoc/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/pango/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/parallel/1.1.0.1.nix (renamed from pkgs/development/libraries/haskell/parallel/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/parallel/3.1.0.1.nix12
-rw-r--r--pkgs/development/libraries/haskell/parsec/2.1.0.1.nix (renamed from pkgs/development/libraries/haskell/parsec/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/parsec/3.1.1.nix (renamed from pkgs/development/libraries/haskell/parsec/3.nix)4
-rw-r--r--pkgs/development/libraries/haskell/pcre-light/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/regex-base/0.72.0.2.nix (renamed from pkgs/development/libraries/haskell/regex-base/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/regex-base/0.93.2.nix4
-rw-r--r--pkgs/development/libraries/haskell/regex-compat/0.71.0.1.nix (renamed from pkgs/development/libraries/haskell/regex-compat/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/regex-compat/0.93.1.nix4
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.72.0.3.nix (renamed from pkgs/development/libraries/haskell/regex-posix/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.94.4.nix12
-rw-r--r--pkgs/development/libraries/haskell/regex-tdfa/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/regular/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/safe/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/split/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/statistics/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/stm/2.1.1.2.nix (renamed from pkgs/development/libraries/haskell/stm/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/stm/2.2.0.1.nix11
-rw-r--r--pkgs/development/libraries/haskell/svgcairo/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/syb/0.2.2.nix10
-rw-r--r--pkgs/development/libraries/haskell/syb/0.3.nix10
-rw-r--r--pkgs/development/libraries/haskell/syb/syb-with-class.nix4
-rw-r--r--pkgs/development/libraries/haskell/tagsoup/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/texmath/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.0.5.nix (renamed from pkgs/development/libraries/haskell/text/default.nix)4
-rw-r--r--pkgs/development/libraries/haskell/time/1.1.2.4.nix (renamed from pkgs/development/libraries/haskell/time/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/transformers/0.2.2.0.nix (renamed from pkgs/development/libraries/haskell/transformers/default.nix)4
-rw-r--r--pkgs/development/libraries/haskell/uniplate/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/uu-parsinglib/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/uulib/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/vacuum-cairo/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/vector-algorithms/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/vty/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wxHaskell/wx.nix4
-rw-r--r--pkgs/development/libraries/haskell/wxHaskell/wxcore.nix13
-rw-r--r--pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix16
-rw-r--r--pkgs/development/libraries/haskell/xhtml/3000.2.0.1.nix11
-rw-r--r--pkgs/development/libraries/haskell/xhtml/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/xss-sanitize/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/zip-archive/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.0.0.nix (renamed from pkgs/development/libraries/haskell/zlib/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.3.1.nix13
-rw-r--r--pkgs/development/libraries/libidn/default.nix4
-rw-r--r--pkgs/development/libraries/libvirt/default.nix8
-rw-r--r--pkgs/development/libraries/qt-4.x/4.7/default.nix4
-rw-r--r--pkgs/development/libraries/tremor/default.nix22
-rw-r--r--pkgs/development/libraries/ucommon/default.nix10
-rw-r--r--pkgs/development/tools/documentation/haddock/2.4.2.nix (renamed from pkgs/development/tools/documentation/haddock/haddock-2.4.2.nix)0
-rw-r--r--pkgs/development/tools/documentation/haddock/2.7.2.nix (renamed from pkgs/development/tools/documentation/haddock/haddock-2.7.2.nix)0
-rw-r--r--pkgs/development/tools/documentation/haddock/2.9.2.nix18
-rw-r--r--pkgs/development/tools/haskell/hlint/default.nix9
-rw-r--r--pkgs/development/tools/haskell/hslogger/default.nix4
-rw-r--r--pkgs/development/tools/haskell/threadscope/default.nix4
-rw-r--r--pkgs/development/tools/haskell/uuagc/default.nix4
-rw-r--r--pkgs/development/tools/misc/dejagnu/default.nix25
-rw-r--r--pkgs/development/tools/misc/global/default.nix4
-rw-r--r--pkgs/development/tools/parsing/alex/2.3.1.nix (renamed from pkgs/development/tools/parsing/alex/default.nix)0
-rw-r--r--pkgs/development/tools/parsing/alex/2.3.5.nix12
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.4.nix (renamed from pkgs/development/tools/parsing/happy/happy-1.18.4.nix)0
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.5.nix (renamed from pkgs/development/tools/parsing/happy/happy-1.18.5.nix)0
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.6.nix13
-rw-r--r--pkgs/development/tools/parsing/happy/happy-1.17.nix12
-rw-r--r--pkgs/games/LambdaHack/default.nix12
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/legacy96.nix6
-rw-r--r--pkgs/servers/sip/sipwitch/default.nix4
-rw-r--r--pkgs/tools/backup/duplicity/default.nix6
-rw-r--r--pkgs/tools/cd-dvd/xorriso/default.nix4
-rw-r--r--pkgs/tools/misc/myhasktags/default.nix4
-rw-r--r--pkgs/tools/networking/dnsmasq/default.nix4
-rw-r--r--pkgs/tools/package-management/cabal-install/0.10.2.nix13
-rw-r--r--pkgs/tools/package-management/cabal-install/0.6.2.nix (renamed from pkgs/tools/package-management/cabal-install/default.nix)0
-rw-r--r--pkgs/top-level/all-packages.nix78
-rw-r--r--pkgs/top-level/haskell-packages.nix750
-rw-r--r--pkgs/top-level/release.nix9
172 files changed, 1289 insertions, 767 deletions
diff --git a/maintainers/scripts/gnu/gnupdate b/maintainers/scripts/gnu/gnupdate
index 64221f4b10d1..a1dbd1c16c51 100755
--- a/maintainers/scripts/gnu/gnupdate
+++ b/maintainers/scripts/gnu/gnupdate
@@ -527,6 +527,8 @@ exec ${GUILE-guile} -L "$PWD" -l "$0"    \
     "gcc43"
     "gcc44"
     "gcc45"
+    "gcc45_real"
+    "gcc45_realCross"
     "glibc25"
     "glibc27"
     "glibc29"
@@ -575,6 +577,7 @@ 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)
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/editors/emacs-23/default.nix b/pkgs/applications/editors/emacs-23/default.nix
index f550d3d69875..5de1b38bb41d 100644
--- a/pkgs/applications/editors/emacs-23/default.nix
+++ b/pkgs/applications/editors/emacs-23/default.nix
@@ -8,13 +8,13 @@ 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 = 
@@ -25,7 +25,11 @@ stdenv.mkDerivation rec {
     ++ 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/texmacs/default.nix b/pkgs/applications/editors/texmacs/default.nix
index ce9ff92faa07..bdb6c3f568f1 100644
--- a/pkgs/applications/editors/texmacs/default.nix
+++ b/pkgs/applications/editors/texmacs/default.nix
@@ -9,7 +9,7 @@
 
 let 
   pname = "TeXmacs";
-  version = "1.0.7.9";
+  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 = "081ysqvka6m2vy2n9q89mmprsb0vkvxgjil0cqv9c2syvn79z4cm";
+    sha256 = "02gqalr775r4xyfy4bq3qq1h3pkarsxjb6ami7lgxfgmyg6ca5kn";
   };
 
-  buildInputs = [ guile libX11 libXext makeWrapper ];
+  buildInputs = [ guile libX11 libXext makeWrapper ghostscriptX ];
 
   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/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/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/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/networking/browsers/firefox/3.6.nix b/pkgs/applications/networking/browsers/firefox/3.6.nix
index 6378a17cb7c1..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.14";
+  firefoxVersion = "3.6.15";
   
-  xulVersion = "1.9.2.14"; # 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 = "8f4e221951f74366619473bd46e04b4c81606ef0";
+    sha1 = "bfb69ae49b2def7482543d4d982fa58993a458e9";
   };
 
 
diff --git a/pkgs/applications/networking/browsers/icecat-3/default.nix b/pkgs/applications/networking/browsers/icecat-3/default.nix
index b1551ce778be..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.13"; in
+let version = "3.6.15"; in
 stdenv.mkDerivation {
   name = "icecat-${version}";
 
   src = fetchurl {
     url = "mirror://gnu/gnuzilla/${version}/icecat-${version}.tar.xz";
-    sha256 = "0lnpny34sryi55clwcnn80ya7124ips11y18ba36bc2sqwiniigb";
+    sha256 = "1px018bd81c81a4hbz0qgf89pkshkbhg4abwq1d26dwy8128cxwg";
   };
 
   buildInputs =
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/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/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";
 
-  phases = "unpackPhase buildPhase";
+  src = fetchurl {
+    url = https://github.com/brownplt/flapjax/zipball/Flapjax-2.1;
+    name = "flapjax-2.1.zip";
+    sha256 = "1cp9g570528a813ljnvd1lb389iz0i6511xynf6kzryv8ckc1n7v";
+  };
 
-  buildPhase  = "
-    ensureDir \$out/bin
-    cd compiler;
-    ghc --make Fjc.hs -o \$out/bin/fjc
-  ";
+  # 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
+  '';
 
-  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/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/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
index 9ccae0604f00..9ccae0604f00 100644
--- a/pkgs/development/libraries/haskell/GLUT/default.nix
+++ b/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
index d54ff70c1a4e..d54ff70c1a4e 100644
--- a/pkgs/development/libraries/haskell/HTTP/3001.nix
+++ b/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
index 3c0d9a7b8d02..3c0d9a7b8d02 100644
--- a/pkgs/development/libraries/haskell/HTTP/default.nix
+++ b/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
index a6f66eefad67..a6f66eefad67 100644
--- a/pkgs/development/libraries/haskell/HUnit/default.nix
+++ b/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.20.2.nix
index 188377b8e948..188377b8e948 100644
--- a/pkgs/development/libraries/haskell/HaXml/default.nix
+++ b/pkgs/development/libraries/haskell/HaXml/1.20.2.nix
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
index dc16fb9cf176..dc16fb9cf176 100644
--- a/pkgs/development/libraries/haskell/OpenGL/default.nix
+++ b/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
index 5405e50aa6bc..5405e50aa6bc 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/default.nix
+++ b/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
index f4463394ea15..f4463394ea15 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/QuickCheck-2.nix
+++ b/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
index e6e5bd91df6e..e6e5bd91df6e 100644
--- a/pkgs/development/libraries/haskell/cgi/default.nix
+++ b/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/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
index eb84d629fdb1..eb84d629fdb1 100644
--- a/pkgs/development/libraries/haskell/deepseq/default.nix
+++ b/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
index f14031aec5f1..f14031aec5f1 100644
--- a/pkgs/development/libraries/haskell/fgl/default.nix
+++ b/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
index 0cc7e888a200..0cc7e888a200 100644
--- a/pkgs/development/libraries/haskell/haskell-src/default.nix
+++ b/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
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 08cc6e0ee3d2..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.4";
   sha256 = "102qmz55b2mgcca3q1c2pkcr6hz7kmpldad3f6blhmp1cz15f081";
-  propagatedBuildInputs = [mtl];
+  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
index f06f92976b3b..f06f92976b3b 100644
--- a/pkgs/development/libraries/haskell/mtl/default.nix
+++ b/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
index c0ef812c918c..c0ef812c918c 100644
--- a/pkgs/development/libraries/haskell/network/default.nix
+++ b/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
index 065344d75fa3..065344d75fa3 100644
--- a/pkgs/development/libraries/haskell/parallel/default.nix
+++ b/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
index 8b8827bfa06c..8b8827bfa06c 100644
--- a/pkgs/development/libraries/haskell/parsec/default.nix
+++ b/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
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/regex-base/default.nix b/pkgs/development/libraries/haskell/regex-base/0.72.0.2.nix
index afb08ebee0d8..afb08ebee0d8 100644
--- a/pkgs/development/libraries/haskell/regex-base/default.nix
+++ b/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
index 85a725264f82..85a725264f82 100644
--- a/pkgs/development/libraries/haskell/regex-compat/default.nix
+++ b/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
index fbaf5938b046..fbaf5938b046 100644
--- a/pkgs/development/libraries/haskell/regex-posix/default.nix
+++ b/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
index de3f7e3bc036..de3f7e3bc036 100644
--- a/pkgs/development/libraries/haskell/stm/default.nix
+++ b/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
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
index 24b78a54ed8f..24b78a54ed8f 100644
--- a/pkgs/development/libraries/haskell/time/default.nix
+++ b/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
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
index f034e43160af..f034e43160af 100644
--- a/pkgs/development/libraries/haskell/zlib/default.nix
+++ b/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/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/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index e5429bf09959..0e390c06d5bc 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -1,5 +1,7 @@
 { stdenv, fetchurl, pkgconfig, libxml2, gnutls, devicemapper, perl, python
-, iproute, iptables, readline, lvm2, utillinux, udev, libpciaccess, gettext }:
+, iproute, iptables, readline, lvm2, utillinux, udev, libpciaccess, gettext 
+, libtasn1
+}:
 
 let version = "0.8.8"; in
 
@@ -13,7 +15,7 @@ stdenv.mkDerivation {
 
   buildInputs =
     [ pkgconfig libxml2 gnutls devicemapper perl python readline lvm2
-      utillinux udev libpciaccess gettext
+      utillinux udev libpciaccess gettext libtasn1
     ];
 
   preConfigure =
@@ -33,7 +35,7 @@ stdenv.mkDerivation {
 
   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/qt-4.x/4.7/default.nix b/pkgs/development/libraries/qt-4.x/4.7/default.nix
index 182a06e493d0..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.1";
+  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 = "8cb5277c41f824cfc6dcee0e95e0bf23a9ad2c8d18d245105137481d092b124a";
+    sha256 = "0dlknhzcslymqbmlkpmmgv29c5mmbw6s7rznriqd5g4h9d93ny6l";
   };
 
   preConfigure = ''
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
index 0e10834a0c51..dd8a0c11ed72 100644
--- a/pkgs/development/libraries/ucommon/default.nix
+++ b/pkgs/development/libraries/ucommon/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, gnutls, pkgconfig, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "ucommon-4.0.5";
+  name = "ucommon-4.1.7";
 
   src = fetchurl {
-    url = mirror://gnu/commoncpp/ucommon-4.0.5.tar.gz;
-    sha256 = "1h2xyb9s1xivpr5039jhhcqvd7ygn37si8yvmh5fd57n1y8by6vm";
+    url = mirror://gnu/commoncpp/ucommon-4.1.7.tar.gz;
+    sha256 = "1qbfhi3gfzjs44ilaipv0ynjvilxk06897g0zk974g0fgk98dd7i";
   };
 
   buildInputs = [ pkgconfig gnutls zlib ];
@@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = {
-    description = "C++ library to facilitate using C++ design patterns";
-    homepage = http://www.gnutelephony.org/index.php/GNU_uCommon_C;
+    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 ];
diff --git a/pkgs/development/tools/documentation/haddock/haddock-2.4.2.nix b/pkgs/development/tools/documentation/haddock/2.4.2.nix
index ff7c982267e7..ff7c982267e7 100644
--- a/pkgs/development/tools/documentation/haddock/haddock-2.4.2.nix
+++ b/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
index b59ea3282796..b59ea3282796 100644
--- a/pkgs/development/tools/documentation/haddock/haddock-2.7.2.nix
+++ b/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/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/global/default.nix b/pkgs/development/tools/misc/global/default.nix
index 285a47696eac..82571632db27 100644
--- a/pkgs/development/tools/misc/global/default.nix
+++ b/pkgs/development/tools/misc/global/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, libtool }:
 
 stdenv.mkDerivation rec {
-  name = "global-5.9.3";
+  name = "global-5.9.4";
 
   src = fetchurl {
     url = "mirror://gnu/global/${name}.tar.gz";
-    sha256 = "1fi97frjbaacwj8qs17nv9zlmsfq62nwss6m45l1ai1w58fpb58r";
+    sha256 = "0ay6f1fffics3vkls1xykzmz9cmgj3hdighni7asnpa38s8j0lmn";
   };
 
   buildInputs = [ libtool ];
diff --git a/pkgs/development/tools/parsing/alex/default.nix b/pkgs/development/tools/parsing/alex/2.3.1.nix
index aab99629b317..aab99629b317 100644
--- a/pkgs/development/tools/parsing/alex/default.nix
+++ b/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
index a5cbfc6e21bb..a5cbfc6e21bb 100644
--- a/pkgs/development/tools/parsing/happy/happy-1.18.4.nix
+++ b/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
index c3cd406f127b..c3cd406f127b 100644
--- a/pkgs/development/tools/parsing/happy/happy-1.18.5.nix
+++ b/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/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/servers/sip/sipwitch/default.nix b/pkgs/servers/sip/sipwitch/default.nix
index 01f91c1fdd72..a0ff9b2d3d75 100644
--- a/pkgs/servers/sip/sipwitch/default.nix
+++ b/pkgs/servers/sip/sipwitch/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, pkgconfig, ucommon, libosip, libexosip, gnutls, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "sipwitch-0.9.2";
+  name = "sipwitch-0.10.1";
 
   src = fetchurl {
     url = "mirror://gnu/sipwitch/${name}.tar.gz";
-    sha256 = "1xww6v4s45ss7v4548gxk6dgal5605cxnvdfsblmqn3ydzp6227h";
+    sha256 = "0s0j74a524la6q2yhwbll0ra1chygw3z4m0ch5awlifdbbhambz0";
   };
 
   buildInputs = [ pkgconfig ucommon libosip libexosip gnutls zlib ];
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/cd-dvd/xorriso/default.nix b/pkgs/tools/cd-dvd/xorriso/default.nix
index 236b81b673f1..77033923e6ef 100644
--- a/pkgs/tools/cd-dvd/xorriso/default.nix
+++ b/pkgs/tools/cd-dvd/xorriso/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, libcdio, zlib, bzip2, readline, acl }:
 
 stdenv.mkDerivation rec {
-  name = "xorriso-1.0.0";
+  name = "xorriso-1.0.4";
 
   src = fetchurl {
     url = "mirror://gnu/xorriso/${name}.tar.gz";
-    sha256 = "0kswdvncyhc4zsmydpv0k8pkjg4b5bswvsq2lnl0m7jlf8n0iwlz";
+    sha256 = "0c97qfqnvv6a11imrhkgmypgz9zm5klchalg76zb1hc3l257d2x7";
   };
 
   doCheck = true;
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/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/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
index aafafab453de..aafafab453de 100644
--- a/pkgs/tools/package-management/cabal-install/default.nix
+++ b/pkgs/tools/package-management/cabal-install/0.6.2.nix
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index da69a881e529..09c13b3d8399 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1896,45 +1896,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
@@ -1943,46 +1905,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);
 
-  # Current default version.
   haskellPackages_ghc6123 =
-    haskellPackagesFun ../development/compilers/ghc/6.12.3.nix false (x : x);
+    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  false lowPrio;
+    haskellPackagesFun ../development/compilers/ghc/7.0.1.nix  (x : x.ghc701Prefs) false lowPrio;
 
-  # Will hopefully become new default once Haskell Platform 2011 is released.
+  # Current default version.
   haskellPackages_ghc702 =
-    haskellPackagesFun ../development/compilers/ghc/7.0.2.nix  false lowPrio;
+    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;
@@ -4153,6 +4104,8 @@ let
 
   tokyocabinet = callPackage ../development/libraries/tokyo-cabinet { };
 
+  tremor = callPackage ../development/libraries/tremor { };
+
   unicap = callPackage ../development/libraries/unicap {};
 
   unixODBC = callPackage ../development/libraries/unixODBC { };
@@ -6075,6 +6028,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;
@@ -6823,6 +6778,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
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 60cba412f388..717b2dc5dc1d 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -1,39 +1,279 @@
-{pkgs, newScope, ghc, enableLibraryProfiling ? false, modifyPrio ? (x : x)}:
-
-let ghcOuter = ghc; in
+# 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.
+
+{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 {
+{
+
+  final = self;
+
+  # 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
 
-  # ==> 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.
+  # 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.
 
-  ghcReal = pkgs.lowPrio ghcOuter;
+  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;
   };
 
   ansiTerminal = callPackage ../development/libraries/haskell/ansi-terminal {};
@@ -72,18 +312,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 +331,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 +355,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 +371,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 +395,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 +407,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 +421,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 +433,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,43 +460,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 {};
-
   happstackData = callPackage ../development/libraries/haskell/happstack/happstack-data.nix {
-    HaXml = HaXml_1_13_3;
+    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;
-    HaXml = HaXml_1_13_3;
-  };
+  happstackServer = callPackage ../development/libraries/haskell/happstack/happstack-server.nix {};
 
   hashedStorage = callPackage ../development/libraries/haskell/hashed-storage {};
 
@@ -271,96 +484,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;
-
-  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;
-  };
-
-  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 {};
+  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;
 
   haxr = callPackage ../development/libraries/haskell/haxr {
-    HTTP = HTTP_4000_0_9;
-    HaXml = HaXml_1_13_3;
+    HaXml = self.HaXml113;
   };
 
   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 {};
 
@@ -377,7 +525,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 {};
@@ -400,28 +548,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 {};
@@ -432,9 +586,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 {};
 
@@ -444,13 +596,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 {};
 
@@ -462,9 +621,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 {};
 
@@ -474,41 +634,39 @@ rec {
     inherit (pkgs) openal;
   };
 
-  OpenGL_2_2_3_0 = callPackage ../development/libraries/haskell/OpenGL/2.2.3.0.nix {
+  OpenGL_2_2_1_1 = callPackage ../development/libraries/haskell/OpenGL/2.2.1.1.nix {
     inherit (pkgs) mesa;
     inherit (pkgs.xlibs) libX11;
   };
 
-  OpenGL = callPackage ../development/libraries/haskell/OpenGL {
+  OpenGL_2_2_3_0 = callPackage ../development/libraries/haskell/OpenGL/2.2.3.0.nix {
     inherit (pkgs) mesa;
     inherit (pkgs.xlibs) libX11;
   };
 
-  pandoc = callPackage ../development/libraries/haskell/pandoc {
-    HTTP = HTTP_4000_0_9;
-    network = network_2_2_1_7;
-  };
+  OpenGL = self.OpenGL_2_2_1_1;
 
-  pandoc_newtime = callPackage ../development/libraries/haskell/pandoc {
-    HTTP = HTTP_4000_0_9;
-    network = network_2_2_1_7;
-    random = random_newtime;
-  };
+  pandoc = callPackage ../development/libraries/haskell/pandoc {};
+
+  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 {};
 
@@ -530,80 +688,66 @@ rec {
 
   pureMD5 = callPackage ../development/libraries/haskell/pureMD5 {};
 
-  QuickCheck  = QuickCheck_1;
-
-  QuickCheck_1 = callPackage ../development/libraries/haskell/QuickCheck {};
-
+  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;
-  };
-
-  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 = callPackage ../development/libraries/haskell/regex-base {};
-
-  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 {};
+  recaptcha = callPackage ../development/libraries/haskell/recaptcha {};
 
-  regexPosix_0_94_1 = callPackage ../development/libraries/haskell/regex-posix/0.94.1.nix {
-    regexBase = regexBase_0_93_1;
-  };
+  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;
 
-  regexPosix_0_94_2 = callPackage ../development/libraries/haskell/regex-posix/0.94.2.nix {
-    regexBase = regexBase_0_93_2;
-  };
+  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;
 
-  regexPosix = callPackage ../development/libraries/haskell/regex-posix {};
+  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;
 
-  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 {};
 
@@ -633,45 +777,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 {};
 
@@ -690,7 +837,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 {};
@@ -704,13 +851,21 @@ rec {
   vectorSpace = callPackage ../development/libraries/haskell/vector-space {};
 
   vty = callPackage ../development/libraries/haskell/vty {
-    parallel = parallel_2_2_0_1;
+    mtl = self.mtl2;
+  };
+
+  WebBits = callPackage ../development/libraries/haskell/WebBits {
+    parsec = self.parsec2;
   };
 
-  webRoutes = callPackage ../development/libraries/haskell/web-routes {
-    network = network_2_2_1_7;
+  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 {
@@ -718,13 +873,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 {};
@@ -737,6 +892,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;
@@ -747,17 +904,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;
   };
 
@@ -765,6 +925,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 {
@@ -773,55 +939,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_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 {};
+  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;
 
-  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 {};
 
@@ -834,13 +990,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;
   };
 
@@ -854,19 +1010,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;
@@ -884,4 +1032,4 @@ rec {
 
 };
 
-in result
+in result.final
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 57bd22e59f8c..e60ec56fbb61 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -400,13 +400,10 @@ with (import ./release-lib.nix);
 
   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;
   };
@@ -427,7 +424,13 @@ with (import ./release-lib.nix);
   };
 
   haskellPackages_ghc702 = {
+    darcs = ghcSupported;
     ghc = ghcSupported;
+    gitit = linux;
+    gtk = linux;
+    haskellPlatform_2011_2_0_0 = ghcSupported;
+    lhs2tex = ghcSupported;
+    xmonad = linux;
   };
 
   kde3 = {