diff --git a/pkgs/applications/editors/emacs-modes/haskell/default.nix b/pkgs/applications/editors/emacs-modes/haskell/default.nix
index 924234bb446b..9dcec717861f 100644
--- a/pkgs/applications/editors/emacs-modes/haskell/default.nix
+++ b/pkgs/applications/editors/emacs-modes/haskell/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, emacs}:
 
 stdenv.mkDerivation rec {
-  name = "haskell-mode-2.6.1";
+  name = "haskell-mode-2.7.0";
 
   src = fetchurl {
     url = "http://projects.haskell.org/haskellmode-emacs/${name}.tar.gz";
-    sha256 = "cc33fd0d4692667a6eb56fea3dc549de3897d8dbb7b71818489760f45d564a76";
+    sha256 = "8b45c55ed5f2b498529a6d7e01b77fea899c1de93e24653cab188cb3a4f495bc";
   };
 
   buildInputs = [emacs];
diff --git a/pkgs/applications/editors/emacs-modes/org/default.nix b/pkgs/applications/editors/emacs-modes/org/default.nix
new file mode 100644
index 000000000000..31efaf8de238
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/org/default.nix
@@ -0,0 +1,41 @@
+{ fetchurl, stdenv, emacs, texinfo }:
+
+stdenv.mkDerivation rec {
+  name = "org-7.01f";
+
+  src = fetchurl {
+    url = "http://orgmode.org/${name}.tar.gz";
+    sha256 = "1db7s57g8gh8w0464n18lxpcz270x9ns63b2blhkz8wrdnk57fia";
+  };
+
+  buildInputs = [ emacs texinfo ];
+
+  configurePhase =
+    '' sed -i Makefile \
+           -e "s|^prefix=.*$|prefix=$out|g"
+    '';
+
+  installPhase =
+    '' make install install-info
+
+       ensureDir "$out/share/doc/${name}"
+       cp -v doc/orgcard*.{pdf,txt} "$out/share/doc/${name}"
+    '';
+
+  meta = {
+    description = "Org-Mode, an Emacs mode for notes, project planning, and authoring";
+
+    longDescription =
+      '' Org-mode is for keeping notes, maintaining ToDo lists, doing project
+         planning, and authoring with a fast and effective plain-text system.
+
+         This package contains a version of Org-mode typically more recent
+         than that found in GNU Emacs.
+      '';
+
+    license = "GPLv3+";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+  };
+}
diff --git a/pkgs/applications/graphics/geeqie/default.nix b/pkgs/applications/graphics/geeqie/default.nix
index 9ec1b45a4045..076c0360a083 100644
--- a/pkgs/applications/graphics/geeqie/default.nix
+++ b/pkgs/applications/graphics/geeqie/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, gtk, libpng, exiv2, lcms
-, intltool, gettext }:
+, intltool, gettext, libchamplain }:
 
 stdenv.mkDerivation rec {
   name = "geeqie-1.0";
@@ -9,7 +9,19 @@ stdenv.mkDerivation rec {
     sha256 = "1p8z47cqdqqkn8b0fr5bqsfinz4dgqk4353s8f8d9ha6cik69bfi";
   };
 
-  buildInputs = [ pkgconfig gtk libpng exiv2 lcms intltool gettext ];
+  preConfigure =
+    # XXX: Trick to have Geeqie use the version we have.
+    '' sed -i "configure" \
+           -e 's/champlain-0.4/champlain-0.6/g ;
+               s/champlain-gtk-0.4/champlain-gtk-0.6/g'
+    '';
+
+  configureFlags = [ "--enable-gps" ];
+
+  buildInputs =
+    [ pkgconfig gtk libpng exiv2 lcms intltool gettext
+      libchamplain
+    ];
 
   meta = {
     description = "Geeqie, a lightweight GTK+ based image viewer";
diff --git a/pkgs/applications/networking/browsers/firefox/3.6.nix b/pkgs/applications/networking/browsers/firefox/3.6.nix
index f56dda74fda8..9aea14388818 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.6";
+  firefoxVersion = "3.6.7";
   
-  xulVersion = "1.9.2.6"; # this attribute is used by other packages
+  xulVersion = "1.9.2.7"; # 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";
-    sha256 = "1cq6mg4p8x6hxxya12wlh1c5m6prvb7wpgnnrm8lys20z5qp5f2r";
+    sha1 = "12c584a63ea6ddbb9253094ad500bc6b046903a6";
   };
 
 
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/3.x.nix b/pkgs/applications/networking/mailreaders/thunderbird/3.x.nix
index c243c66c8e48..f6b08ebeb65c 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/3.x.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/3.x.nix
@@ -11,14 +11,14 @@
     
 }:
 
-let version = "3.1"; in
+let version = "3.1.1"; in
 
 stdenv.mkDerivation {
   name = "thunderbird-${version}";
 
   src = fetchurl {
     url = "http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.bz2";
-    sha1 = "89e9d8099a5437ce401577fc4d526eb0dd9e51da";
+    sha1 = "8e25fd786fbe094c3f4d9bc4e18285701bd42279";
   };
 
   buildInputs =
diff --git a/pkgs/applications/science/misc/vite/default.nix b/pkgs/applications/science/misc/vite/default.nix
index a340fb2080b3..24060c277fd4 100644
--- a/pkgs/applications/science/misc/vite/default.nix
+++ b/pkgs/applications/science/misc/vite/default.nix
@@ -1,12 +1,29 @@
-{ fetchurl, stdenv, cmake, qt, mesa }:
+{ fetchsvn, stdenv, cmake, qt, mesa }:
 
-stdenv.mkDerivation {
-  name = "vite-1.1";
-
-  src = fetchurl {
-    url = "https://gforge.inria.fr/frs/download.php/26321/vite_1005.tar.gz";
-    sha256 = "11l39809i1hjizw89x23d6m246w7a64z11bhrx7q5h0scvwd1imr";
+# ViTE 1.1 has several bugs, so use the SVN version.
+let
+  rev = "1143";
+  externals = fetchsvn {
+    url = "svn://scm.gforge.inria.fr/svn/vite/externals";
+    sha256 = "0wg3yh5q8gx7189rvkd8achld7bzp0i7qqn6c77pg767b4b8dh1a";
+    inherit rev;
   };
+in
+stdenv.mkDerivation {
+  name = "vite-1.2pre${rev}";
+
+  src = fetchsvn {
+    url = "svn://scm.gforge.inria.fr/svn/vite/trunk";
+    sha256 = "0cy9b6isiwqwnv9gk0cg97x370fpwyccljadds4a118k5gh58zw4";
+    inherit rev;
+  };
+
+  preConfigure =
+    '' rm -v externals
+       ln -sv "${externals}" externals
+    '';
+
+  patches = [ ./larger-line-buffer.patch ];
 
   buildInputs = [ cmake qt mesa ];
 
diff --git a/pkgs/applications/science/misc/vite/larger-line-buffer.patch b/pkgs/applications/science/misc/vite/larger-line-buffer.patch
new file mode 100644
index 000000000000..7934c0085c19
--- /dev/null
+++ b/pkgs/applications/science/misc/vite/larger-line-buffer.patch
@@ -0,0 +1,14 @@
+ViTE has an arbitrary restriction on the length of lines read by the parser.
+Make it larger.
+
+--- a/src/parser/PajeFileManager.hpp
++++ b/src/parser/PajeFileManager.hpp
+@@ -67,7 +67,7 @@
+  
+ #include <string.h>
+ 
+-#define _PAJE_BUFSIZE  256
++#define _PAJE_BUFSIZE  16384
+ #define _PAJE_NBMAXTKS  16
+ 
+ /**
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index f4d34584d250..b9882914b266 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -1108,22 +1108,22 @@ rec {
     };
 
     debian50i386 = {
-      name = "debian-5.0.4-lenny-i386";
-      fullName = "Debian 5.0.4 Lenny (i386)";
+      name = "debian-5.0.5-lenny-i386";
+      fullName = "Debian 5.0.5 Lenny (i386)";
       packagesList = fetchurl {
         url = mirror://debian/dists/lenny/main/binary-i386/Packages.bz2;
-        sha256 = "6c5ca67fb401a5d29f02557c290bbaee35c457172d548583b510d49eadd0f9ff";
+        sha256 = "cd8158a16c1d3990d35116dfe88005fe685102f591268f8588d3222a02a11339";
       };
       urlPrefix = mirror://debian;
       packages = commonDebianPackages;
     };
         
     debian50x86_64 = {
-      name = "debian-5.0.4-lenny-amd64";
-      fullName = "Debian 5.0.4 Lenny (amd64)";
+      name = "debian-5.0.5-lenny-amd64";
+      fullName = "Debian 5.0.5 Lenny (amd64)";
       packagesList = fetchurl {
         url = mirror://debian/dists/lenny/main/binary-amd64/Packages.bz2;
-        sha256 = "c3b660b861ed257e82293a350ab868c2ce566bc084d35cc66b7388a881eaf3c5";
+        sha256 = "aceb161a534a641c205fca7eabb27d60180c0616104be49562a0997a44571c42";
       };
       urlPrefix = mirror://debian;
       packages = commonDebianPackages;
diff --git a/pkgs/development/libraries/clutter-gtk/default.nix b/pkgs/development/libraries/clutter-gtk/default.nix
new file mode 100644
index 000000000000..4d4aa4e835cb
--- /dev/null
+++ b/pkgs/development/libraries/clutter-gtk/default.nix
@@ -0,0 +1,25 @@
+{ fetchurl, stdenv, pkgconfig, clutter, gtk }:
+
+stdenv.mkDerivation rec {
+  name = "clutter-gtk-0.10.2";
+
+  src = fetchurl {
+    url = "http://source.clutter-project.org/sources/clutter-gtk/0.10/${name}.tar.bz2";
+    sha256 = "1jdhhqin4wi8gk6i1m701vrhm6lrvywq3q3yy88ph8yj8h6z4any";
+  };
+
+  buildInputs = [ pkgconfig clutter gtk ];
+
+  preConfigure = "export V=1";
+
+  meta = {
+    description = "Clutter-GTK";
+
+    homepage = http://www.clutter-project.org/;
+
+    license = "LGPLv2+";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+  };
+}
diff --git a/pkgs/development/libraries/clutter/default.nix b/pkgs/development/libraries/clutter/default.nix
new file mode 100644
index 000000000000..f7f9507373dc
--- /dev/null
+++ b/pkgs/development/libraries/clutter/default.nix
@@ -0,0 +1,44 @@
+{ fetchurl, stdenv, pkgconfig, mesa, libXi, libXfixes, libXdamage
+, libXcomposite, cairo, glib, pango, gtk }:
+
+stdenv.mkDerivation rec {
+  name = "clutter-1.2.10";
+
+  src = fetchurl {
+    url = "http://source.clutter-project.org/sources/clutter/1.2/${name}.tar.gz";
+    sha256 = "0bdnj026lqmwpgml73q4r0v90gsksjz0nv2fgjda9619bzx47igi";
+  };
+
+  buildInputs = [ pkgconfig ];
+
+  # There are all listed in the `Requires' field of `clutter-x11-1.0.pc'.
+  propagatedBuildInputs =
+    [ mesa cairo glib pango gtk
+      libXi libXfixes libXdamage libXcomposite
+    ];
+
+
+  meta = {
+    description = "Clutter, a library for creating fast, dynamic graphical user interfaces";
+
+    longDescription =
+      '' Clutter is free software library for creating fast, compelling,
+         portable, and dynamic graphical user interfaces.  It is a core part
+         of MeeGo, and is supported by the open source community.  Its
+         development is sponsored by Intel.
+
+         Clutter uses OpenGL for rendering (and optionally OpenGL|ES for use
+         on mobile and embedded platforms), but wraps an easy to use,
+         efficient, flexible API around GL's complexity.
+
+         Clutter enforces no particular user interface style, but provides a
+         rich, generic foundation for higher-level toolkits tailored to
+         specific needs.
+      '';
+
+    license = "LGPLv2+";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+  };
+}
diff --git a/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix b/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix
new file mode 100644
index 000000000000..665e1687ac08
--- /dev/null
+++ b/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix
@@ -0,0 +1,12 @@
+{cabal, transformers, extensibleExceptions} :
+
+cabal.mkDerivation (self : {
+  pname = "MonadCatchIO-transformers";
+  version = "0.2.2.0";
+  sha256 = "7f3b45ac01ac98476d1305333435005a6876e5c04c562e94ad2426ee7ab6936d";
+  propagatedBuildInputs = [transformers extensibleExceptions];
+  meta = {
+    description = "Monad-transformer compatible version of the Control.Exception module";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/blaze-html/default.nix b/pkgs/development/libraries/haskell/blaze-html/default.nix
new file mode 100644
index 000000000000..5c9cfeb114a8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/blaze-html/default.nix
@@ -0,0 +1,13 @@
+{cabal, text}:
+
+cabal.mkDerivation (self : {
+  pname = "blaze-html";
+  version = "0.1.2";
+  sha256 = "c1e65e3d23e90a3830ceee69ecfac65c7a8a045da06443fb7690609a59480f5f";
+  propagatedBuildInputs = [text];
+  meta = {
+    description = "A blazingly fast HTML combinator library";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cereal/default.nix b/pkgs/development/libraries/haskell/cereal/default.nix
new file mode 100644
index 000000000000..2cbd4a5fe454
--- /dev/null
+++ b/pkgs/development/libraries/haskell/cereal/default.nix
@@ -0,0 +1,12 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "cereal";
+  version = "0.2";
+  sha256 = "aa00eb88cea5616a0eb9e4b6604cb164b8bef6e86b111cbb67d51d4d3441332b";
+  meta = {
+    description = "A binary serialization library";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hamlet/default.nix b/pkgs/development/libraries/haskell/hamlet/default.nix
new file mode 100644
index 000000000000..08f7fd7b6a28
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hamlet/default.nix
@@ -0,0 +1,13 @@
+{cabal, blazeHtml, parsec, utf8String}:
+
+cabal.mkDerivation (self : {
+  pname = "hamlet";
+  version = "0.4.0";
+  sha256 = "5e05879e734fc193acc48eda48dadbf53659e937543068bcc77dc7c394f6adcd";
+  propagatedBuildInputs = [blazeHtml parsec utf8String];
+  meta = {
+    description = "Haml-like template files that are compile-time checked";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/persistent/default.nix b/pkgs/development/libraries/haskell/persistent/default.nix
new file mode 100644
index 000000000000..f8b733664d5e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/persistent/default.nix
@@ -0,0 +1,17 @@
+{cabal, blazeHtml, MonadCatchIOTransformers, parsec, text, transformers,
+ utf8String, webRoutesQuasi}:
+
+cabal.mkDerivation (self : {
+  pname = "persistent";
+  version = "0.1.0";
+  sha256 = "32379f5ef937da1bf910cfaf9b6cce6326b8fba7554ef81159e6684c7ce2ca45";
+  propagatedBuildInputs = [
+    blazeHtml MonadCatchIOTransformers parsec text transformers
+    utf8String webRoutesQuasi
+  ];
+  meta = {
+    description = "Type-safe, non-relational, multi-backend persistence";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/transformers/default.nix b/pkgs/development/libraries/haskell/transformers/default.nix
index d5c933c78842..ef2c7ed74a75 100644
--- a/pkgs/development/libraries/haskell/transformers/default.nix
+++ b/pkgs/development/libraries/haskell/transformers/default.nix
@@ -2,10 +2,10 @@
 
 cabal.mkDerivation (self : {
   pname = "transformers";
-  version = "0.1.4.0";
-  sha256 = "6d222d1cbed75063753a7c828d7f429f24974d261872c7b70fe90a003c93646d";
+  version = "0.2.1.0";
+  sha256 = "1ff9768e60130810e888452b6052d64998d0651fe2835902f032d8f8182a2c6d";
   meta = {
-    description = "Concrete monad transformers";
+    description = "Concrete functor and monad transformers";
   };
 })  
 
diff --git a/pkgs/development/libraries/haskell/web-routes-quasi/default.nix b/pkgs/development/libraries/haskell/web-routes-quasi/default.nix
new file mode 100644
index 000000000000..8d0303d65bb4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/web-routes-quasi/default.nix
@@ -0,0 +1,13 @@
+{cabal, webRoutes}:
+
+cabal.mkDerivation (self : {
+  pname = "web-routes-quasi";
+  version = "0.5.0";
+  sha256 = "07ef2717b44f92bccee9af4b4d9a173c12ec3b3b1d49a8495811dad0af240673";
+  propagatedBuildInputs = [webRoutes];
+  meta = {
+    description = "Define data types and parse/build functions for web-routes via a quasi-quoted DSL";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/web-routes/default.nix b/pkgs/development/libraries/haskell/web-routes/default.nix
new file mode 100644
index 000000000000..cbd476ff7d00
--- /dev/null
+++ b/pkgs/development/libraries/haskell/web-routes/default.nix
@@ -0,0 +1,13 @@
+{cabal, network, parsec, utf8String}:
+
+cabal.mkDerivation (self : {
+  pname = "web-routes";
+  version = "0.22.0";
+  sha256 = "6482ecba585cf7b1f32c29bfd5cb6f5e06dba72231e38ae5baa15b6b95f7c6c8";
+  propagatedBuildInputs = [network parsec utf8String];
+  meta = {
+    description = "Library for maintaining correctness and composability of URLs within an application";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})
diff --git a/pkgs/development/libraries/libchamplain/default.nix b/pkgs/development/libraries/libchamplain/default.nix
new file mode 100644
index 000000000000..528560d1e020
--- /dev/null
+++ b/pkgs/development/libraries/libchamplain/default.nix
@@ -0,0 +1,35 @@
+{ fetchurl, stdenv, pkgconfig, glib, gtk, cairo, clutter, sqlite
+, clutter_gtk, libsoup /*, libmenphis */ }:
+
+stdenv.mkDerivation rec {
+  name = "libchamplain-0.6.1";
+
+  src = fetchurl {
+    url = "http://download.gnome.org/sources/libchamplain/0.6/${name}.tar.gz";
+    sha256 = "1l1in4khnral157j46aq2d26nviz23icnm353587vcwjhdbw86sg";
+  };
+
+  buildInputs = [ pkgconfig ];
+
+  # These all appear in `champlain{,-gtk}-0.6.pc'.
+  propagatedBuildInputs =
+    [ glib gtk cairo clutter clutter_gtk sqlite libsoup ];
+
+  meta = {
+    homepage = http://projects.gnome.org/libchamplain/;
+    license = "LGPLv2+";
+
+    description = "libchamplain, a C library providing a ClutterActor to display maps";
+
+    longDescription =
+      '' libchamplain is a C library providing a ClutterActor to display
+         maps.  It also provides a Gtk+ widget to display maps in Gtk+
+         applications.  Python and Perl bindings are also available.  It
+         supports numerous free map sources such as OpenStreetMap,
+         OpenCycleMap, OpenAerialMap, and Maps for free.
+      '';
+
+     maintainers = [ stdenv.lib.maintainers.ludo ];
+     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+  };
+}
diff --git a/pkgs/development/libraries/libevent/default.nix b/pkgs/development/libraries/libevent/default.nix
index 4402995d587d..15ffe2fce023 100644
--- a/pkgs/development/libraries/libevent/default.nix
+++ b/pkgs/development/libraries/libevent/default.nix
@@ -1,10 +1,29 @@
 {stdenv, fetchurl}:
 
+let version = "1.4.14b"; in
 stdenv.mkDerivation {
-  name = "libevent-1.1b";
+  name = "libevent-${version}";
 
   src = fetchurl {
-    url = http://monkey.org/~provos/libevent-1.1b.tar.gz;
-    md5 = "ec8dac612aa43ed172f300f396fcec49";
+    url = "http://monkey.org/~provos/libevent-${version}-stable.tar.gz";
+    sha256 = "00b3wih3qpcik6v0qh1406abs2xb954d58ncqwzs8ar2d93ip9mg";
+  };
+
+  meta = {
+    description = "libevent, an event notification library";
+
+    longDescription =
+      '' The libevent API provides a mechanism to execute a callback function
+         when a specific event occurs on a file descriptor or after a timeout
+         has been reached.  Furthermore, libevent also support callbacks due
+         to signals or regular timeouts.
+
+         libevent is meant to replace the event loop found in event driven
+         network servers.  An application just needs to call event_dispatch()
+         and then add or remove events dynamically without having to change
+         the event loop.
+      '';
+
+    license = "mBSD";
   };
 }
diff --git a/pkgs/lib/meta.nix b/pkgs/lib/meta.nix
index 56463361928f..0c5841dd7173 100644
--- a/pkgs/lib/meta.nix
+++ b/pkgs/lib/meta.nix
@@ -40,5 +40,9 @@ rec {
   */
   lowPrio = drv: addMetaAttrs { priority = "10"; } drv;
 
+  /* Increase the nix-env priority of the package, i.e., this
+     version/variant of the package will be preferred.
+  */
+  hiPrio = drv: addMetaAttrs { priority = "110"; } drv;
   
 }
diff --git a/pkgs/servers/dico/default.nix b/pkgs/servers/dico/default.nix
index 0be61a1a558c..ac897554ce20 100644
--- a/pkgs/servers/dico/default.nix
+++ b/pkgs/servers/dico/default.nix
@@ -1,15 +1,16 @@
-{ fetchurl, stdenv, libtool, gettext, zlib, readline, guile, python }:
+{ fetchurl, stdenv, libtool, gettext, zlib, readline, gsasl
+, guile, python }:
 
 stdenv.mkDerivation rec {
-  name = "dico-2.0";
+  name = "dico-2.1";
 
   src = fetchurl {
     url = "mirror://gnu/dico/${name}.tar.gz";
-    sha256 = "03cpg16jbsv5xh9mvyjj7myvpdpb82354a1yjrhcy0k5w8faa9kv";
+    sha256 = "0cs4jxnz6g5xqrhkbnycn7jl9fs8jfjh33vza7i68m8qmjwx2vza";
   };
 
   # XXX: Add support for GNU SASL.
-  buildInputs = [ libtool gettext zlib readline guile python ];
+  buildInputs = [ libtool gettext zlib readline gsasl guile python ];
 
   doCheck = true;
 
diff --git a/pkgs/servers/sql/mysql/jdbc/default.nix b/pkgs/servers/sql/mysql/jdbc/default.nix
index 8275d0e2ee98..3a2fc55dfc0c 100644
--- a/pkgs/servers/sql/mysql/jdbc/default.nix
+++ b/pkgs/servers/sql/mysql/jdbc/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, ant}:
 
 stdenv.mkDerivation {
-  name = "mysql-connector-java-5.1.6";
+  name = "mysql-connector-java-5.1.13";
   builder = ./builder.sh;
 
   src = fetchurl {
-    url = http://mirror.hostfuss.com/mysql/Downloads/Connector-J/mysql-connector-java-5.1.6.tar.gz;
-    md5 = "84641aa4ddc138fc400366021f05cec5";
+    url = http://mirror.hostfuss.com/mysql/Downloads/Connector-J/mysql-connector-java-5.1.13.tar.gz;
+    sha256 = "1y0x9a7d0qfn9bb2114v65407wnjwhz1ylxk0fn997gvwy43schi";
   };
 
   buildInputs = [ant];
diff --git a/pkgs/tools/archivers/cpio/darwin-fix.patch b/pkgs/tools/archivers/cpio/darwin-fix.patch
new file mode 100644
index 000000000000..0e8ff168c526
--- /dev/null
+++ b/pkgs/tools/archivers/cpio/darwin-fix.patch
@@ -0,0 +1,15 @@
+Fix Darwin builds.
+
+From <http://git.savannah.gnu.org/cgit/cpio.git/commit/?id=3a7a1820d4cecbd77c7b74c785af5942510bf080>.
+See also <http://lists.gnu.org/archive/html/bug-cpio/2010-07/msg00001.html>.
+
+diff --git a/src/filetypes.h b/src/filetypes.h
+index f80faab..81f0c32 100644
+--- a/src/filetypes.h
++++ b/src/filetypes.h
+@@ -81,5 +81,3 @@
+ #ifndef S_ISLNK
+ #define lstat stat
+ #endif
+-int lstat ();
+-int stat ();
diff --git a/pkgs/tools/archivers/cpio/default.nix b/pkgs/tools/archivers/cpio/default.nix
index 25777e843111..4fa99a0ea42b 100644
--- a/pkgs/tools/archivers/cpio/default.nix
+++ b/pkgs/tools/archivers/cpio/default.nix
@@ -1,6 +1,6 @@
 {stdenv, fetchurl}:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation ({
   name = "cpio-2.11";
 
   src = fetchurl {
@@ -34,3 +34,9 @@ stdenv.mkDerivation {
     platforms = stdenv.lib.platforms.all;
   };
 }
+
+//
+
+(if stdenv.isLinux
+ then {}
+ else { patches = [ ./darwin-fix.patch ]; }))
diff --git a/pkgs/tools/networking/p2p/seeks/default.nix b/pkgs/tools/networking/p2p/seeks/default.nix
new file mode 100644
index 000000000000..83f9b74e11a4
--- /dev/null
+++ b/pkgs/tools/networking/p2p/seeks/default.nix
@@ -0,0 +1,49 @@
+{ fetchurl, stdenv, zlib, docbook2x, pcre, curl, libxml2, libevent, perl
+, autoconf, automake, libtool }:
+
+let version = "0.2.3a"; in
+stdenv.mkDerivation {
+  name = "seeks-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/seeks/solo/seeks_solo_stable-${version}.src.tar.gz";
+    sha256 = "0hjaqwcaa19qbq28y5gq0415fz10vx034aghqa01hrhhl9yrjvc4";
+  };
+
+  buildInputs =
+    [ zlib docbook2x pcre curl libxml2 libevent perl
+      autoconf automake libtool
+    ];
+
+  # The tarball doesn't contain `configure' & co.  Sigh...
+  preConfigure = "autoreconf -vfi";
+
+  configureFlags =
+    [ # Enable the built-in web server providing a web search interface.
+      # See <http://www.seeks-project.info/wiki/index.php/Seeks_On_Web>.
+      "--enable-httpserv-plugin=yes"
+      "--with-libevent=${libevent}"
+    ];
+
+  meta = {
+    description = "Seeks, a social web search engine";
+
+    longDescription =
+      '' Seeks is a free and open technical design and application for
+         enabling social websearch.  Its specific purpose is to regroup users
+         whose queries are similar so they can share both the query results
+         and their experience on these results.  On this basis, Seeks allows
+         for true real-time, decentralized, websearch to emerge.
+
+         In the long term, there is no need for web crawlers and third-party
+         web indexes as users can push content directly to search groups.
+      '';
+
+    license = "AGPLv3+";
+
+    homepage = http://www.seeks-project.info/;
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index e18ae286c047..1a057ac1042f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -139,7 +139,7 @@ let
 
   inherit lib config getConfig stdenvAdapters;
 
-  inherit (lib) lowPrio appendToName makeOverridable;
+  inherit (lib) lowPrio hiPrio appendToName makeOverridable;
 
   # Applying this to an attribute set will cause nix-env to look
   # inside the set for derivations.
@@ -3728,6 +3728,17 @@ let
     inherit fetchurl stdenv;
   };
 
+  clutter = import ../development/libraries/clutter {
+    inherit fetchurl stdenv pkgconfig mesa cairo;
+    inherit (gnome) glib pango gtk;
+    inherit (xorg) libXi libXfixes libXdamage libXcomposite;
+  };
+
+  clutter_gtk = import ../development/libraries/clutter-gtk {
+    inherit fetchurl stdenv pkgconfig clutter;
+    inherit (gnome) gtk;
+  };
+
   commoncpp2 = import ../development/libraries/commoncpp2 {
     inherit stdenv fetchurl;
   };
@@ -4527,6 +4538,11 @@ let
     inherit fetchurl stdenv libcddb pkgconfig ncurses help2man;
   };
 
+  libchamplain = import ../development/libraries/libchamplain {
+    inherit fetchurl stdenv pkgconfig cairo clutter clutter_gtk sqlite;
+    inherit (gnome) gtk glib libsoup;
+  };
+
   libcm = import ../development/libraries/libcm {
     inherit fetchurl stdenv pkgconfig xlibs mesa glib;
   };
@@ -5901,7 +5917,8 @@ let
   };
 
   dico = import ../servers/dico {
-    inherit fetchurl stdenv libtool gettext zlib readline guile python;
+    inherit fetchurl stdenv libtool gettext zlib readline guile python
+      gsasl;
   };
 
   dict = makeOverridable (import ../servers/dict) {
@@ -7859,6 +7876,12 @@ let
       inherit fetchurl stdenv;
     };
 
+    # This is usually a newer version of Org-Mode than that found in GNU Emacs, so
+    # we want it to have higher precedence.
+    org = hiPrio (import ../applications/editors/emacs-modes/org {
+      inherit fetchurl stdenv emacs texinfo;
+    });
+
     prologMode = import ../applications/editors/emacs-modes/prolog {
       inherit fetchurl stdenv;
     };
@@ -8149,7 +8172,7 @@ let
 
   geeqie = import ../applications/graphics/geeqie {
     inherit fetchurl stdenv pkgconfig libpng lcms exiv2
-      intltool gettext;
+      intltool gettext libchamplain;
     inherit (gtkLibs) gtk;
   };
 
@@ -8766,6 +8789,11 @@ let
     qt = qt3;
   };
 
+  seeks = import ../tools/networking/p2p/seeks {
+    inherit fetchurl stdenv zlib docbook2x pcre curl libxml2 libevent perl
+      autoconf automake libtool;
+  };
+
   seg3d = import ../applications/graphics/seg3d {
     inherit fetchurl stdenv cmake itk mesa zlib libuuid;
     inherit (xlibs) libXft libXext libXi libXmu;
@@ -9795,7 +9823,7 @@ let
   };
 
   vite = import ../applications/science/misc/vite {
-    inherit fetchurl cmake mesa;
+    inherit fetchsvn cmake mesa;
     qt = qt4;
     stdenv = stdenv2;
   };
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index dfd207c534cb..2c29cbf2766d 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -61,6 +61,10 @@ rec {
     inherit cabal;
   };
 
+  blazeHtml = import ../development/libraries/haskell/blaze-html {
+    inherit cabal text;
+  };
+
   bytestring = import ../development/libraries/haskell/bytestring {
     inherit cabal;
   };
@@ -73,6 +77,10 @@ rec {
     inherit cabal;
   };
 
+  cereal = import ../development/libraries/haskell/cereal {
+    inherit cabal;
+  };
+
   cgi3001172 = import ../development/libraries/haskell/cgi/3001.1.7.2.nix {
     inherit cabal mtl parsec xhtml;
     network = network2217;
@@ -251,6 +259,10 @@ rec {
     inherit (pkgs) stdenv fetchurl pkgconfig gnome cairo;
   };
 
+  hamlet = import ../development/libraries/haskell/hamlet {
+    inherit cabal blazeHtml parsec utf8String;
+  };
+
   HAppSData = import ../development/libraries/haskell/HAppS/HAppS-Data.nix {
     inherit cabal mtl sybWithClass HaXml HAppSUtil bytestring binary;
   };
@@ -518,6 +530,10 @@ rec {
     inherit cabal mtl extensibleExceptions;
   };
 
+  MonadCatchIOTransformers = import ../development/libraries/haskell/MonadCatchIO-transformers {
+    inherit cabal transformers extensibleExceptions;
+  };
+
   monadlab = import ../development/libraries/haskell/monadlab {
     inherit cabal parsec;
   };
@@ -615,6 +631,11 @@ rec {
     inherit (pkgs) pcre;
   };
 
+  persistent = import ../development/libraries/haskell/persistent {
+    inherit cabal blazeHtml MonadCatchIOTransformers parsec text
+      transformers utf8String webRoutesQuasi;
+  };
+
   polyparse = import ../development/libraries/haskell/polyparse {
     inherit cabal;
   };
@@ -890,6 +911,15 @@ rec {
     inherit cabal utf8String terminfo;
   };
 
+  webRoutes = import ../development/libraries/haskell/web-routes {
+    inherit cabal utf8String parsec;
+    network = network2217;
+  };
+
+  webRoutesQuasi = import ../development/libraries/haskell/web-routes-quasi {
+    inherit cabal webRoutes;
+  };
+
   WebServer = import ../development/libraries/haskell/WebServer {
     inherit cabal network mtl parsec;
     inherit (pkgs) fetchgit;