about summary refs log tree commit diff
diff options
context:
space:
mode:
authorYury G. Kudryashov <urkud.urkud@gmail.com>2012-03-01 15:05:27 +0000
committerYury G. Kudryashov <urkud.urkud@gmail.com>2012-03-01 15:05:27 +0000
commit84fb9ca331574f51bad33898016ca1bc60737fa7 (patch)
tree6aad25ab1b7bdd2d7305b280607029ad305f5717
parent1cd24d18a302e3aac40a33c6deebfddd5e3443c1 (diff)
parenta75ccf7dca60c2a6a81c3dc8ac9e84f4143f87ac (diff)
svn merge ^/nixpkgs/trunk
svn path=/nixpkgs/branches/libpng15/; revision=32719
-rw-r--r--pkgs/applications/audio/audacious/default.nix23
-rw-r--r--pkgs/applications/editors/emacs-modes/ocaml/default.nix30
-rw-r--r--pkgs/applications/misc/blender/2.49.nix33
-rw-r--r--pkgs/applications/misc/blender/default.nix20
-rw-r--r--pkgs/applications/misc/lyx/default.nix4
-rw-r--r--pkgs/applications/misc/mathblog/0006-Loosen-dependencies-on-SHA-HUnit-and-test-framework.patch41
-rw-r--r--pkgs/applications/misc/mathblog/default.nix7
-rw-r--r--pkgs/applications/networking/dropbox/default.nix86
-rw-r--r--pkgs/applications/networking/irc/bip/default.nix48
-rw-r--r--pkgs/applications/networking/newsreaders/kwooty/default.nix2
-rw-r--r--pkgs/applications/science/misc/tulip/default.nix10
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix4
-rw-r--r--pkgs/applications/virtualization/nova/client.nix4
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix22
-rw-r--r--pkgs/build-support/make-startupitem/default.nix9
-rw-r--r--pkgs/build-support/release/nix-build.nix4
-rw-r--r--pkgs/build-support/release/source-tarball.nix2
-rw-r--r--pkgs/development/compilers/epic/default.nix4
-rw-r--r--pkgs/development/compilers/gcc-4.6/default.nix2
-rw-r--r--pkgs/development/compilers/idris/default.nix4
-rw-r--r--pkgs/development/compilers/nvidia-cg-toolkit/default.nix9
-rw-r--r--pkgs/development/interpreters/angelscript/default.nix4
-rw-r--r--pkgs/development/interpreters/ruby/default.nix1
-rw-r--r--pkgs/development/interpreters/ruby/gem.nix3
-rw-r--r--pkgs/development/interpreters/ruby/patches.nix7
-rw-r--r--pkgs/development/libraries/boost/1.49.nix91
-rw-r--r--pkgs/development/libraries/boost/boost_filesystem_post_1_49_0.patch12
-rw-r--r--pkgs/development/libraries/caelum/default.nix21
-rw-r--r--pkgs/development/libraries/glibc-2.12/common.nix9
-rw-r--r--pkgs/development/libraries/glibc-2.12/hurd-sigstate-functions.patch20
-rw-r--r--pkgs/development/libraries/haskell/HSH/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/IfElse/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/attoparsec-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/authenticate/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/base64-bytestring/0.1.0.3.nix17
-rw-r--r--pkgs/development/libraries/haskell/base64-bytestring/0.1.1.0.nix (renamed from pkgs/development/libraries/haskell/base64-bytestring/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/clientsession/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/containers-deepseq/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/control-monad-attempt/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/convertible/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/data-object-yaml/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/filestore/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gitit/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/hxt/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/jsonEnumerator/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/monads-tf/default.nix (renamed from pkgs/development/libraries/haskell/data-object/default.nix)13
-rw-r--r--pkgs/development/libraries/haskell/neither/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/pandoc-types/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/persistent/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pool/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/stm/2.3.nix16
-rw-r--r--pkgs/development/libraries/haskell/testpack/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/utility-ht/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-app-static/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-extra/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/wai/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/warp/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/web-routes-quasi/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/web-routes/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/xml-enumerator/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/yesod/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/zlib-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/itk/default.nix13
-rw-r--r--pkgs/development/libraries/kerberos/krb5.nix6
-rw-r--r--pkgs/development/libraries/libzip/default.nix6
-rw-r--r--pkgs/development/libraries/mysocketw/default.nix23
-rw-r--r--pkgs/development/libraries/mysocketw/gcc.patch13
-rw-r--r--pkgs/development/libraries/ogrepaged/default.nix23
-rw-r--r--pkgs/development/libraries/zlib/latest.nix11
-rw-r--r--pkgs/development/ocaml-modules/ocamlmake/default.nix20
-rw-r--r--pkgs/development/ocaml-modules/ocamlmake/setup-hook.sh5
-rw-r--r--pkgs/development/ocaml-modules/pycaml/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/cmake/2.8.7.nix61
-rw-r--r--pkgs/development/tools/build-managers/jam/default.nix8
-rw-r--r--pkgs/development/tools/build-managers/leiningen/builder.sh2
-rw-r--r--pkgs/development/tools/build-managers/leiningen/default.nix13
-rw-r--r--pkgs/development/tools/build-managers/leiningen/lein.patch16
-rw-r--r--pkgs/development/tools/documentation/doxygen/1.7.nix52
-rw-r--r--pkgs/development/tools/documentation/doxygen/default.nix4
-rw-r--r--pkgs/development/tools/haskell/haskdogs/default.nix20
-rw-r--r--pkgs/development/tools/haskell/hasktags/default.nix19
-rw-r--r--pkgs/development/tools/parsing/frown/builder.sh7
-rw-r--r--pkgs/development/tools/parsing/frown/default.nix11
-rw-r--r--pkgs/development/web/nodejs/default.nix12
-rw-r--r--pkgs/development/web/nodejs/no-arch-flag.patch21
-rw-r--r--pkgs/games/rigsofrods/default.nix57
-rw-r--r--pkgs/games/rigsofrods/doubleslash.patch13
-rw-r--r--pkgs/games/rigsofrods/paths.patch12
-rw-r--r--pkgs/games/rigsofrods/wx.patch13
-rw-r--r--pkgs/games/spring/spring-lobby.nix8
-rw-r--r--pkgs/lib/debug.nix2
-rw-r--r--pkgs/misc/my-env/default.nix12
-rw-r--r--pkgs/os-specific/linux/acpi-call/default.nix8
-rw-r--r--pkgs/os-specific/linux/apparmor/default.nix93
-rw-r--r--pkgs/os-specific/linux/bbswitch/default.nix7
-rw-r--r--pkgs/os-specific/linux/gogoclient/config-paths.patch39
-rw-r--r--pkgs/os-specific/linux/gogoclient/default.nix38
-rw-r--r--pkgs/os-specific/linux/gogoclient/gcc46-include-fix.patch22
-rw-r--r--pkgs/os-specific/linux/mcelog/default.nix33
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix6
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/legacy173.nix6
-rw-r--r--pkgs/os-specific/linux/qemu-kvm/1.0.nix51
-rw-r--r--pkgs/os-specific/linux/qemu-kvm/default.nix13
-rw-r--r--pkgs/os-specific/linux/qemu-kvm/qemu-img-fix-corrupt-vdi.patch27
-rwxr-xr-xpkgs/os-specific/linux/rfkill/rfkill-hook.sh19
-rw-r--r--pkgs/os-specific/linux/rfkill/udev.nix49
-rw-r--r--pkgs/servers/sql/postgresql/8.3.x.nix4
-rw-r--r--pkgs/servers/sql/postgresql/8.4.x.nix4
-rw-r--r--pkgs/servers/sql/postgresql/9.0.x.nix4
-rw-r--r--pkgs/servers/sql/postgresql/9.1.x.nix4
-rw-r--r--pkgs/tools/archivers/zip/default.nix9
-rw-r--r--pkgs/tools/misc/grub/1.98.nix79
-rw-r--r--pkgs/tools/networking/network-manager-applet/default.nix8
-rw-r--r--pkgs/tools/networking/network-manager/default.nix10
-rw-r--r--pkgs/tools/networking/openresolv/default.nix2
-rw-r--r--pkgs/tools/networking/vpnc/default.nix15
-rw-r--r--pkgs/tools/networking/vpnc/vpnc-script.patch12
-rw-r--r--pkgs/tools/package-management/nix/unstable.nix6
-rw-r--r--pkgs/tools/security/tor/default.nix10
-rw-r--r--pkgs/tools/security/vidalia/default.nix21
-rw-r--r--pkgs/tools/typesetting/tex/texlive/moderncv.nix4
-rw-r--r--pkgs/tools/virtualization/amazon-ec2-ami-tools/default.nix4
-rw-r--r--pkgs/tools/virtualization/amazon-ec2-ami-tools/writable.patch56
-rw-r--r--pkgs/top-level/all-packages.nix77
-rw-r--r--pkgs/top-level/haskell-packages.nix51
-rw-r--r--pkgs/top-level/perl-packages.nix25
-rw-r--r--pkgs/top-level/python-packages.nix20
-rw-r--r--pkgs/top-level/release-cross.nix2
129 files changed, 1489 insertions, 756 deletions
diff --git a/pkgs/applications/audio/audacious/default.nix b/pkgs/applications/audio/audacious/default.nix
index 5124ff5d6dd9f..edec7dcb41d05 100644
--- a/pkgs/applications/audio/audacious/default.nix
+++ b/pkgs/applications/audio/audacious/default.nix
@@ -3,22 +3,25 @@
 , libvorbis, libcdio, libcddb, flac, ffmpeg
 }:
 
-stdenv.mkDerivation rec {
-  name = "audacious-3.0";
-  
+let
+  version = "3.2.1";
+in
+stdenv.mkDerivation {
+  name = "audacious-${version}";
+
   src = fetchurl {
-    url = "http://distfiles.atheme.org/${name}.tar.gz";
-    sha256 = "0kj78hgf73fmbm6y3idir2kavbnnlv0jb9ka0pcsb12sxb994s68";
+    url = "http://distfiles.audacious-media-player.org/audacious-${version}.tar.bz2";
+    sha256 = "064a8d2887a0f92a1637df9d71b8eefa8064199c04eccfaac725f840cff6eac3";
   };
 
   pluginsSrc = fetchurl {
-    url = "http://distfiles.atheme.org/audacious-plugins-3.0.tar.gz";
-    sha256 = "0hhxk1mxnnrb1shshpf1nf8mqpc9q1qpsljwn4jzylcnwy6pq4rw";
+    url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2";
+    sha256 = "5b7d3e52f6b8903bc01ae15651817e990d3348ae6b9734767f354eb2dbfc8c2d";
   };
-  
+
   # `--enable-amidiplug' is to prevent configure from looking in /proc/asound.
   configureFlags = "--enable-amidiplug --disable-oss";
-  
+
   buildInputs =
     [ gettext pkgconfig glib gtk libmowgli libmcs libxml2 dbus_glib
       libmad xlibs.libXcomposite libogg libvorbis flac alsaLib libcdio
@@ -51,6 +54,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Audacious, a media player forked from the Beep Media Player, which was itself an XMMS fork";
     homepage = http://audacious-media-player.org/;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
+    maintainers = [ stdenv.lib.maintainers.eelco stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/applications/editors/emacs-modes/ocaml/default.nix b/pkgs/applications/editors/emacs-modes/ocaml/default.nix
new file mode 100644
index 0000000000000..1d81a0b7ff1e6
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/ocaml/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, emacs, ocaml }:
+
+# this package installs the emacs-mode which
+# resides in the ocaml compiler sources.
+
+let version = stdenv.lib.removePrefix "ocaml-" ocaml.name;
+in stdenv.mkDerivation {
+  name = "ocaml-mode-${version}";
+  inherit (ocaml) prefixKey src;
+
+  # a quick configure to get the Makefile generated. Since
+  # we do not build the ocaml itself, we don't really
+  # need it to support any features.
+  configureFlags = [ "-no-tk" "-no-curses" "-no-pthread" ];
+
+  buildInputs = [ emacs ];
+  dontBuild = true;
+
+  installPhase = ''
+    cd emacs;
+    ensureDir "$out/share/emacs/site-lisp" "$out/bin"
+    EMACSDIR=$out/share/emacs/site-lisp make simple-install install-ocamltags
+  '';
+
+  meta = {
+    homepage = http://caml.inria.fr;
+    description = "OCaml mode package for Emacs";
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/misc/blender/2.49.nix b/pkgs/applications/misc/blender/2.49.nix
deleted file mode 100644
index 6a66c45b94fc8..0000000000000
--- a/pkgs/applications/misc/blender/2.49.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{stdenv, fetchurl, cmake, mesa, gettext, python, libjpeg, libpng, zlib, openal, SDL
-, openexr, libsamplerate, libXi, libtiff, ilmbase, freetype}:
-
-stdenv.mkDerivation rec {
-  name = "blender-2.49b";
-
-  src = fetchurl {
-    url = "http://download.blender.org/source/${name}.tar.gz";
-    sha256 = "1214fp2asij7l1sci2swh46nfjgpm72gk2qafq70xc0hmas4sm93";
-  };
-
-  buildInputs = [ cmake mesa gettext python libjpeg libpng zlib openal SDL openexr libsamplerate
-    libXi libtiff ilmbase freetype ];
-
-  cmakeFlags = [ "-DFREETYPE_INC=${freetype}/include" "-DOPENEXR_INC=${openexr}/include/OpenEXR" "-DWITH_OPENCOLLADA=OFF"
-    "-DPYTHON_LIBPATH=${python}/lib" ];
-
-  NIX_LDFLAGS = "-lX11";
-  NIX_CFLAGS_COMPILE = "-iquote ${ilmbase}/include/OpenEXR -I${python}/include/${python.libPrefix} -I${freetype}/include/freetype2";
-
-  installPhase = ''
-    ensureDir $out/bin
-    cp bin/* $out/bin
-  '';
-
-  meta = { 
-    description = "3D Creation/Animation/Publishing System";
-    homepage = http://www.blender.org;
-    # They comment two licenses: GPLv2 and Blender License, but they
-    # say: "The BL has not been activated yet."
-    license = "GPLv2+";
-  };
-}
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 75d737e5996e5..c291192ef01ee 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -1,24 +1,24 @@
 { stdenv, fetchurl, SDL, cmake, gettext, ilmbase, libXi, libjpeg,
 libpng, libsamplerate, libtiff, mesa, openal, openexr, openjpeg,
-python, zlib }:
+python, zlib, boost }:
 
 stdenv.mkDerivation rec {
-  name = "blender-2.57";
+  name = "blender-2.62";
 
   src = fetchurl {
     url = "http://download.blender.org/source/${name}.tar.gz";
-    sha256 = "1f4l0zkfmbd8ydzwvmb5jw89y7ywd9k8m2f1b3hrdpgjcqhq3lcb";
+    sha256 = "19xfr5vx66p4p3hnqpglpky6f4bh3ay484mdgh7zg6j9f80dp53q";
   };
 
   buildInputs = [ cmake mesa gettext python libjpeg libpng zlib openal
-    SDL openexr libsamplerate libXi libtiff ilmbase openjpeg ];
+    SDL openexr libsamplerate libXi libtiff ilmbase openjpeg boost ];
 
-  patchPhase = ''
-      sed -e "s@/usr/local@${python}@" -i build_files/cmake/FindPythonLibsUnix.cmake
-  '';
-
-  cmakeFlags = [ "-DOPENEXR_INC=${openexr}/include/OpenEXR"
-    "-DWITH_OPENCOLLADA=OFF" "-DWITH_INSTALL_PORTABLE=OFF"];
+  cmakeFlags = [
+    "-DOPENEXR_INC=${openexr}/include/OpenEXR"
+    "-DWITH_OPENCOLLADA=OFF"
+    "-DWITH_INSTALL_PORTABLE=OFF"
+    "-DPYTHON_LIBPATH=${python}/lib"
+  ];
 
   NIX_CFLAGS_COMPILE = "-iquote ${ilmbase}/include/OpenEXR -I${python}/include/${python.libPrefix}";
 
diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix
index faddeb70e998a..9d48008af36d7 100644
--- a/pkgs/applications/misc/lyx/default.nix
+++ b/pkgs/applications/misc/lyx/default.nix
@@ -1,5 +1,5 @@
 # I haven't put much effort into this expressions .. so some optional depencencies may be missing - Marc
-{ fetchurl, stdenv, texLive, python, makeWrapper
+{ fetchurl, stdenv, texLive, python, makeWrapper, pkgconfig
 , libX11, qt, xz
 }:
 
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "a790951d6ed660b254e82d682b478665f119dd522ab4759fdeb5cd8d42f66f61";
   };
 
-  buildInputs = [texLive qt python makeWrapper xz ];
+  buildInputs = [texLive qt python makeWrapper xz pkgconfig ];
 
   # don't ask me why it can't find libX11.so.6
   postInstall = ''
diff --git a/pkgs/applications/misc/mathblog/0006-Loosen-dependencies-on-SHA-HUnit-and-test-framework.patch b/pkgs/applications/misc/mathblog/0006-Loosen-dependencies-on-SHA-HUnit-and-test-framework.patch
deleted file mode 100644
index bf524dc957d03..0000000000000
--- a/pkgs/applications/misc/mathblog/0006-Loosen-dependencies-on-SHA-HUnit-and-test-framework.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 0fbc8097f98481439e68aeb095a8d7e106924bbe Mon Sep 17 00:00:00 2001
-From: Jonathan Daugherty <jtd@galois.com>
-Date: Tue, 21 Feb 2012 11:06:57 -0800
-Subject: [PATCH 6/8] Loosen dependencies on SHA, HUnit, and test-framework
-
----
- mathblog.cabal |    8 ++++----
- 1 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/mathblog.cabal b/mathblog.cabal
-index ea5498c..371dd12 100644
---- a/mathblog.cabal
-+++ b/mathblog.cabal
-@@ -44,7 +44,7 @@ Executable mb
-     process >= 1.0,
-     time >= 1.1,
-     old-locale >= 1.0,
--    SHA >= 1.4 && < 1.5,
-+    SHA >= 1.4 && < 1.6,
-     bytestring >= 0.9 && < 1.0,
-     HStringTemplate >= 0.6 && < 0.7,
-     ConfigFile >= 1.1 && < 1.2
-@@ -79,12 +79,12 @@ Executable mb-tests
-     process >= 1.0 && < 1.1,
-     time >= 1.1,
-     old-locale >= 1.0 && < 1.1,
--    SHA >= 1.4 && < 1.5,
-+    SHA >= 1.4 && < 1.6,
-     bytestring >= 0.9 && < 1.0,
-     HStringTemplate >= 0.6 && < 0.7,
-     ConfigFile >= 1.1 && < 1.2,
--    HUnit >= 1.2.2 && < 1.2.3,
--    test-framework >= 0.3.3 && < 0.4,
-+    HUnit >= 1.2.2 && < 1.2.5,
-+    test-framework >= 0.3.3 && < 0.6,
-     test-framework-hunit >= 0.2.6 && < 0.3
- 
-   GHC-Options: -Wall
--- 
-1.7.8
-
diff --git a/pkgs/applications/misc/mathblog/default.nix b/pkgs/applications/misc/mathblog/default.nix
index fa9dec0496002..2944df496f235 100644
--- a/pkgs/applications/misc/mathblog/default.nix
+++ b/pkgs/applications/misc/mathblog/default.nix
@@ -4,17 +4,14 @@
 
 cabal.mkDerivation (self: {
   pname = "mathblog";
-  version = "0.4";
-  sha256 = "0kpawik74hp9k56b858idnlkla3iaalys8mas6c4gf4jfw2w0r3j";
+  version = "0.5";
+  sha256 = "01iyzrwscqirhcr4622d0n16mr4p54qbvg5m2a0ns36j59xfd79g";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
     ConfigFile filepath HStringTemplate HUnit pandoc pandocTypes SHA
     testFramework testFrameworkHunit time
   ];
-  patches = [
-    ./0006-Loosen-dependencies-on-SHA-HUnit-and-test-framework.patch
-  ];
   meta = {
     description = "A program for creating and managing a static weblog with LaTeX math and function graphs";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
new file mode 100644
index 0000000000000..936fedd1491e4
--- /dev/null
+++ b/pkgs/applications/networking/dropbox/default.nix
@@ -0,0 +1,86 @@
+{ stdenv, fetchurl, makeDesktopItem
+, xlibs, gtkLibs, gnome
+, dbus, dbus_glib, fontconfig, gcc, patchelf
+}:
+
+# this package contains the daemon version of dropbox
+# it's unfortunately closed source
+#
+# note: the resulting program has to be invoced as
+# 'dropbox' because the internal python engine takes
+# uses the name of the program as starting point.
+#
+# todo: dropbox is shipped with some copies of libraries.
+# replace these libraries with the appropriate ones in
+# nixpkgs.
+
+# note: there is a i686 version available as well
+assert stdenv.system == "x86_64-linux";
+
+let
+
+  version = "1.2.52";
+  sha256 = "72aeaf00727da9f3fe39386dcf883bb303de928ba43c738fcc5bb62b93eca252";
+
+  # relative location where the dropbox libraries are stored
+  appdir = "opt/dropbox";
+
+  # Libraries referenced by dropbox binary.
+  # Be aware that future versions of the dropbox binary may refer
+  # to different versions than are currently in these packages.
+  ldpath = with xlibs; with gtkLibs; with gnome;
+    stdenv.lib.makeSearchPath "lib" [
+      libSM libX11 libXext libXcomposite libXcursor libXdamage
+      libXfixes libXi libXinerama libXrandr libXrender
+      atk dbus dbus_glib glib fontconfig gcc gdk_pixbuf
+      gtk pango
+    ];
+
+  desktopItem = makeDesktopItem {
+    name = "dropbox";
+    exec = "dropbox";
+    comment = "Online directories";
+    desktopName = "Dropbox";
+    genericName = "Online storage";    
+    categories = "Application;Internet;";
+  };
+
+in stdenv.mkDerivation {
+  name = "dropbox-${version}-bin";
+  src = fetchurl {
+    name = "dropbox-${version}.tar.gz";
+    url = "http://www.dropbox.com/download?plat=lnx.x86_64";
+    inherit sha256;
+  };
+
+  sourceRoot = ".";
+
+  patchPhase = ''
+    rm -f .dropbox-dist/dropboxd
+  '';
+
+  installPhase = ''
+    ensureDir "$out/${appdir}"
+    cp -r .dropbox-dist/* "$out/${appdir}/"
+    ensureDir "$out/bin"
+    ln -s "$out/${appdir}/dropbox" "$out/bin/dropbox"
+
+    patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 \
+      "$out/${appdir}/dropbox"
+
+    RPATH=${ldpath}:${gcc.gcc}/lib64:$out/${appdir}
+    echo "updating rpaths to: $RPATH"
+    find "$out/${appdir}" -type f -a -perm +0100 \
+      -print -exec patchelf --force-rpath --set-rpath "$RPATH" {} \;
+
+    ensureDir "$out/share/applications"
+    cp ${desktopItem}/share/applications/* $out/share/applications
+  '';
+
+  buildInputs = [ patchelf ];
+
+  meta = {
+    description = "Online stored folders (daemon version)";
+    homepage = http://www.dropbox.com;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/networking/irc/bip/default.nix b/pkgs/applications/networking/irc/bip/default.nix
new file mode 100644
index 0000000000000..eaee36b971160
--- /dev/null
+++ b/pkgs/applications/networking/irc/bip/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, bison, flex, autoconf, automake, openssl }:
+
+let
+
+  version = "0.8.8";
+  sha256 = "7ca3fb96f5ee6b76eb398d7ea45344ea24855344ced11632241a33353bba05d7";
+
+  # fetches patches from a gentoo mirror
+  fetchPatch =
+    { file, sha256 }:
+    fetchurl {
+      url = "mirror://gentoo/../gentoo-portage/net-irc/bip/files/${file}";
+      inherit sha256;
+    };
+
+in stdenv.mkDerivation {
+  name = "bip-${version}";
+
+  # fetch sources from debian, because the creator's website provides
+  # the files only via https but with an untrusted certificate.
+  src = fetchurl {
+    url = "mirror://debian/pool/main/b/bip/bip_${version}.orig.tar.gz";
+    inherit sha256;
+  };
+
+  # includes an important security patch
+  patches = map fetchPatch [
+    { file = "bip-0.8.8-configure.patch";
+      sha256 = "286e169745e6cd768f0cb95bbc9589ca2bda497eb06461174549b80a459d901c";
+    }
+    { file = "bip-CVE-2012-0806.patch";
+      sha256 = "e47523095ee1d717c762ca0195520026c6ea2c30d8adcf434d276d42f052d506";
+    }
+    { file = "bip-freenode.patch";
+      sha256 = "a67e582f89cc6a32d5bb48c7e8ceb647b889808c2c8798ae3eb27d88869b892f";
+    }
+  ];
+
+  configureFlags = [ "--disable-pie" ];
+
+  buildInputs = [ bison flex autoconf automake openssl ];
+
+  meta = {
+    description = "An IRC proxy (bouncer)";
+    homepage = http://bip.milkypond.org/;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/networking/newsreaders/kwooty/default.nix b/pkgs/applications/networking/newsreaders/kwooty/default.nix
index 003157dd1291d..15b1c6c6b4ea2 100644
--- a/pkgs/applications/networking/newsreaders/kwooty/default.nix
+++ b/pkgs/applications/networking/newsreaders/kwooty/default.nix
@@ -32,7 +32,7 @@ in stdenv.mkDerivation {
       libX11 libXext libXft
     ];
                   
-  meta = with stdenv.lib; {
+  meta = {
     description = "Binary news reader of KDE";
   };
 }
diff --git a/pkgs/applications/science/misc/tulip/default.nix b/pkgs/applications/science/misc/tulip/default.nix
index c3e39145dd810..52b93c8e1742e 100644
--- a/pkgs/applications/science/misc/tulip/default.nix
+++ b/pkgs/applications/science/misc/tulip/default.nix
@@ -1,16 +1,16 @@
 { fetchurl, stdenv, libxml2, freetype, mesa, glew, qt4
-, cmake, makeWrapper }:
+, cmake, makeWrapper, libjpeg }:
 
-let version = "3.6.1"; in
+let version = "3.7.0"; in
 stdenv.mkDerivation rec {
   name = "tulip-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/auber/${name}-src.tar.gz";
-    sha256 = "0d76zmp7gmid4lc91zz6sp4rzxlga6vfwfqhap04326r4zl4nx1q";
+    url = "mirror://sourceforge/auber/tulip/tulip-3.7.0/${name}-src.tar.gz";
+    sha256 = "150fj9pdxblvl5sby61cb2kq98r6h8yljk3vq5xizn198d3fz4jq";
   };
 
-  buildInputs = [ libxml2 freetype glew mesa qt4 ];
+  buildInputs = [ libxml2 freetype glew mesa qt4 libjpeg ];
 
   buildNativeInputs = [ cmake makeWrapper ];
 
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index 795d43da6da4f..24390bc39084f 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -8,7 +8,7 @@
 }:
 
 let
-  version = "1.7.8";
+  version = "1.7.9.2";
   svn = subversionClient.override { perlBindings = true; };
 in
 stdenv.mkDerivation {
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://git-core.googlecode.com/files/git-${version}.tar.gz";
-    sha256 = "ede41a79c83e0d8673ed16c64d5c105e404d953591f9611e44c3964130da0713";
+    sha256 = "bd7725fb80f305bf27666e3d26a9b7b79596e2248f2ae2d27e06bc15a501ac75";
   };
 
   patches = [ ./docbook2texi.patch ];
diff --git a/pkgs/applications/virtualization/nova/client.nix b/pkgs/applications/virtualization/nova/client.nix
index 84858c416c88f..4a3c730c3ccdf 100644
--- a/pkgs/applications/virtualization/nova/client.nix
+++ b/pkgs/applications/virtualization/nova/client.nix
@@ -1,12 +1,12 @@
 { fetchurl, pythonPackages }:
 
 pythonPackages.buildPythonPackage rec {
-  name = "novaclient-2.4.3";
+  name = "novaclient-2012.1";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://pypi.python.org/packages/source/p/python-novaclient/python-${name}.tar.gz";
-    md5 = "c4be4adf371d1a84ce1581af365a53d0";
+    md5 = "8f53a308e08b2af4645281917be77ffc";
   };
 
   pythonPath = [ pythonPackages.prettytable pythonPackages.argparse pythonPackages.httplib2 pythonPackages.ssl ];
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index d435f53e10982..e8f5f637cc31e 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -1,33 +1,37 @@
 { stdenv, fetchurl, lib, iasl, dev86, pam, libxslt, libxml2, libX11, xproto, libXext
-, libXcursor, qt4, libIDL, SDL, hal, libcap, zlib, libpng, glib, kernel
+, libXcursor, libXmu, qt4, libIDL, SDL, hal, libcap, zlib, libpng, glib, kernel
 , python, which, alsaLib, curl, gawk
-, xorriso, makeself, perl, jdk
+, xorriso, makeself, perl, jdk, pkgconfig
 }:
 
-let version = "4.1.6"; in
+let version = "4.1.8"; in
 
 stdenv.mkDerivation {
   name = "virtualbox-${version}-${kernel.version}";
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
-    sha256 = "0zmbq0h9g4lamzmxqg281nr9pp88606dxh2dsw6vy1m86g5kfham";
+    sha256 = "1q04825ayynzgh8zl6y038lzxp3jk1a3dxpg6f52kk4vkirdc5pg";
   };
 
-  buildInputs = [iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor qt4 libIDL SDL hal libcap glib kernel python alsaLib curl pam xorriso makeself perl jdk ];
+  buildInputs =
+    [ iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor qt4 libIDL SDL
+      hal libcap glib kernel python alsaLib curl pam xorriso makeself perl jdk
+      pkgconfig which libXmu
+    ];
 
-  patchPhase = "
+  patchPhase = ''
     set -x
     MODULES_BUILD_DIR=`echo ${kernel}/lib/modules/*/build`
-    sed -e 's@/lib/modules/`uname -r`/build@'$MODULES_BUILD_DIR@ \\
-        -e 's@MKISOFS --version@MKISOFS -version@' \\
+    sed -e 's@/lib/modules/`uname -r`/build@'$MODULES_BUILD_DIR@ \
+        -e 's@MKISOFS --version@MKISOFS -version@' \
         -i configure
     ls kBuild/bin/linux.x86/k* tools/linux.x86/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 
     ls kBuild/bin/linux.amd64/k* tools/linux.amd64/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 
     find . -type f | xargs sed 's/depmod -a/true/' -i
     export USER=nix
     set +x
-  ";
+  '';
 
   configurePhase = ''
     ./configure --with-qt4-dir=${qt4} --disable-python --disable-pulse --disable-hardening --with-mkisofs=${xorriso}/bin/xorrisofs
diff --git a/pkgs/build-support/make-startupitem/default.nix b/pkgs/build-support/make-startupitem/default.nix
index 07cdee600d45f..dc78b8a704e26 100644
--- a/pkgs/build-support/make-startupitem/default.nix
+++ b/pkgs/build-support/make-startupitem/default.nix
@@ -2,8 +2,9 @@
 # as autostart item.
 
 {stdenv, lib}:
-{ name     # name of the desktop file (without .desktop)
-, package  # package where the desktop file resides in
+{ name            # name of the desktop file (without .desktop)
+, package         # package where the desktop file resides in
+, srcPrefix ? ""  # additional prefix that the desktop file may have in the 'package'
 , after ? null
 , condition ? null
 , phase ? "2"
@@ -20,7 +21,7 @@ stdenv.mkDerivation {
   buildCommand = ''
     ensureDir $out/share/autostart
     target=${name}.desktop
-    cp ${package}/share/applications/${name}.desktop $target
+    cp ${package}/share/applications/${srcPrefix}${name}.desktop $target
     chmod +rw $target
     echo "X-KDE-autostart-phase=${phase}" >> $target
     ${lib.optionalString (after != null) ''echo "${after}" >> $target''}
@@ -31,4 +32,4 @@ stdenv.mkDerivation {
   # this will automatically put 'package' in the environment when you
   # put its startup item in there.
   propagatedBuildInputs = [ package ];
-}
\ No newline at end of file
+}
diff --git a/pkgs/build-support/release/nix-build.nix b/pkgs/build-support/release/nix-build.nix
index a32f0e07a0cc3..f734e1eefe5a7 100644
--- a/pkgs/build-support/release/nix-build.nix
+++ b/pkgs/build-support/release/nix-build.nix
@@ -12,6 +12,7 @@
 , lcovExtraTraceFiles ? []
 , src, stdenv
 , name ? if doCoverageAnalysis then "nix-coverage" else "nix-build"
+, failureHook ? null
 , ... } @ args:
 
 stdenv.mkDerivation (
@@ -37,7 +38,8 @@ stdenv.mkDerivation (
         fi
       '';
 
-    failureHook = ''
+    failureHook = (stdenv.lib.optionalString (failureHook != null) failureHook) +
+    ''
       if test -n "$succeedOnFailure"; then
           if test -n "$keepBuildDirectory"; then
               KEEPBUILDDIR="$out/`basename $TMPDIR`"
diff --git a/pkgs/build-support/release/source-tarball.nix b/pkgs/build-support/release/source-tarball.nix
index 16ac0033d93bd..0475cdf76b773 100644
--- a/pkgs/build-support/release/source-tarball.nix
+++ b/pkgs/build-support/release/source-tarball.nix
@@ -54,7 +54,7 @@ stdenv.mkDerivation (
 
       eval "$preAutoconf"
 
-      if test -x ./bootstrap; then ./bootstrap
+      if test -x ./bootstrap && test -f ./bootstrap; then ./bootstrap
       elif test -x ./bootstrap.sh; then ./bootstrap.sh
       elif test -x ./autogen.sh; then ./autogen.sh
       elif test -x ./autogen ; then ./autogen
diff --git a/pkgs/development/compilers/epic/default.nix b/pkgs/development/compilers/epic/default.nix
index 33087f23c9ae2..9060d313be5ad 100644
--- a/pkgs/development/compilers/epic/default.nix
+++ b/pkgs/development/compilers/epic/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "epic";
-  version = "0.9.2";
-  sha256 = "1irvfk8xf627bfzsgbqa56816jkc99rrxpml9ycg2grq7razp9fw";
+  version = "0.9.3";
+  sha256 = "1x8y3ljha8r52pw83mjfv5i49dq0b7i1xbxg8j9hlvr2vwfa4237";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ Cabal mtl ];
diff --git a/pkgs/development/compilers/gcc-4.6/default.nix b/pkgs/development/compilers/gcc-4.6/default.nix
index 4a3689776330a..7160f530a0981 100644
--- a/pkgs/development/compilers/gcc-4.6/default.nix
+++ b/pkgs/development/compilers/gcc-4.6/default.nix
@@ -223,7 +223,7 @@ stdenv.mkDerivation ({
     ++ (optional (cloog != null) cloog)
     ++ (optional (zlib != null) zlib)
     ++ (optionals langJava [ boehmgc zip unzip ])
-    ++ (optionals javaAwtGtk [ gtk libart_lgpl ] ++ xlibs)
+    ++ (optionals javaAwtGtk ([ gtk libart_lgpl ] ++ xlibs))
     ++ (optionals (cross != null) [binutilsCross])
     ++ (optionals langAda [gnatboot])
     ++ (optionals langVhdl [gnat])
diff --git a/pkgs/development/compilers/idris/default.nix b/pkgs/development/compilers/idris/default.nix
index e030fee765836..f0fd33e439f05 100644
--- a/pkgs/development/compilers/idris/default.nix
+++ b/pkgs/development/compilers/idris/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "idris";
-  version = "0.9.1";
-  sha256 = "1yvw15750mqrvq1kd7bsk3ldq3s0z947c4f93pv7008gq5im4cvr";
+  version = "0.9.2";
+  sha256 = "0n4dh3vxkjvw8rb5iqm8lvi21q2ljw2pzn453wfcisdadkpv4fh5";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/compilers/nvidia-cg-toolkit/default.nix b/pkgs/development/compilers/nvidia-cg-toolkit/default.nix
index 06f1d74382eec..d6b7d70100bf4 100644
--- a/pkgs/development/compilers/nvidia-cg-toolkit/default.nix
+++ b/pkgs/development/compilers/nvidia-cg-toolkit/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     for b in cgc cgfxcat cginfo
     do
-        patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-*.so.? "bin/$b"
+        patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux*.so.? "bin/$b"
     done
     # FIXME: cgfxcat and cginfo need more patchelf
     ensureDir "$out/bin/"
@@ -33,10 +33,9 @@ stdenv.mkDerivation rec {
     ensureDir "$out/include/"
     cp -v -r include/Cg/ "$out/include/"
     ensureDir "$out/lib/"
-    [ "$system" = "x86_64-linux" ] && cp -v lib64/* "$out/lib/"
-    [ "$system" = "i686-linux" ] && cp -v lib/* "$out/lib/"
-    for mandir in man1 man3 \
-      ${if stdenv.system == "x86_64-linux" then "manCg" else ""} manCgFX
+    [ "$system" == "x86_64-linux" ] && cp -v lib64/* "$out/lib/"
+    [ "$system" == "i686-linux" ] && cp -v lib/* "$out/lib/"
+    for mandir in man1 man3 manCg manCgFX
     do
         ensureDir "$out/share/man/$mandir/"
         cp -v share/man/$mandir/* "$out/share/man/$mandir/"
diff --git a/pkgs/development/interpreters/angelscript/default.nix b/pkgs/development/interpreters/angelscript/default.nix
index 65ff72bae56f8..fa53071d306af 100644
--- a/pkgs/development/interpreters/angelscript/default.nix
+++ b/pkgs/development/interpreters/angelscript/default.nix
@@ -11,10 +11,10 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="angelscript";
-    version="2.20.2";
+    version="2.22.1";
     name="${baseName}-${version}";
     url="http://www.angelcode.com/angelscript/sdk/files/angelscript_${version}.zip";
-    hash="0s5d6av27dl6kxkzns011zwznj7r8zy5ypfhl6x9r1kzaqdkqz2a";
+    hash="0fmw0cb7ymgyq31r4cfvsn4k86r20hj650fbzs9i7zl0p3lb6hpm";
   };
 in
 rec {
diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix
deleted file mode 100644
index 550edcc004aa1..0000000000000
--- a/pkgs/development/interpreters/ruby/default.nix
+++ /dev/null
@@ -1 +0,0 @@
-import ./ruby-19.nix
diff --git a/pkgs/development/interpreters/ruby/gem.nix b/pkgs/development/interpreters/ruby/gem.nix
index a64f10e268ccd..8ec80b785de0a 100644
--- a/pkgs/development/interpreters/ruby/gem.nix
+++ b/pkgs/development/interpreters/ruby/gem.nix
@@ -31,7 +31,8 @@ let
         wrapProgram "$prog" \
           --prefix GEM_PATH : "$GEM_PATH" \
           --prefix RUBYLIB : "${rubygems}/lib" \
-          --set RUBYOPT 'rubygems'
+          --set RUBYOPT rubygems \
+          $extraWrapperFlags ''${extraWrapperFlagsArray[@]}
       done
 
       for prog in $out/gems/*/bin/*; do
diff --git a/pkgs/development/interpreters/ruby/patches.nix b/pkgs/development/interpreters/ruby/patches.nix
index 37f103f7772d4..a2d2d753a4af8 100644
--- a/pkgs/development/interpreters/ruby/patches.nix
+++ b/pkgs/development/interpreters/ruby/patches.nix
@@ -61,4 +61,11 @@ in
     buildInputs = [ jdk ];
     JAVA_HOME = jdk;
   };
+
+  buildr = {
+    # Many Buildfiles rely on RUBYLIB containing the current directory
+    # (as was the default in Ruby < 1.9.2).
+    extraWrapperFlags = "--prefix RUBYLIB : .";
+  };
+  
 }
diff --git a/pkgs/development/libraries/boost/1.49.nix b/pkgs/development/libraries/boost/1.49.nix
new file mode 100644
index 0000000000000..a86670927aad7
--- /dev/null
+++ b/pkgs/development/libraries/boost/1.49.nix
@@ -0,0 +1,91 @@
+{ stdenv, fetchurl, icu, expat, zlib, bzip2, python
+, enableRelease ? true
+, enableDebug ? false
+, enableSingleThreaded ? false
+, enableMultiThreaded ? true
+, enableShared ? true
+, enableStatic ? false
+, enablePIC ? false
+, enableExceptions ? false
+}:
+
+let
+
+  variant = stdenv.lib.concatStringsSep ","
+    (stdenv.lib.optional enableRelease "release" ++
+     stdenv.lib.optional enableDebug "debug");
+
+  threading = stdenv.lib.concatStringsSep ","
+    (stdenv.lib.optional enableSingleThreaded "single" ++
+     stdenv.lib.optional enableMultiThreaded "multi");
+
+  link = stdenv.lib.concatStringsSep ","
+    (stdenv.lib.optional enableShared "shared" ++
+     stdenv.lib.optional enableStatic "static");
+
+  # To avoid library name collisions
+  finalLayout = if ((enableRelease && enableDebug) ||
+    (enableSingleThreaded && enableMultiThreaded) ||
+    (enableShared && enableStatic)) then
+    "tagged" else "system";
+
+  cflags = if (enablePIC && enableExceptions) then
+             "cflags=-fPIC -fexceptions cxxflags=-fPIC linkflags=-fPIC"
+           else if (enablePIC) then
+             "cflags=-fPIC cxxflags=-fPIC linkflags=-fPIC"
+           else if (enableExceptions) then
+             "cflags=-fexceptions"
+           else
+             "";
+in
+
+stdenv.mkDerivation {
+  name = "boost-1.49.0";
+
+  meta = {
+    homepage = "http://boost.org/";
+    description = "Boost C++ Library Collection";
+    license = "boost-license";
+
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.simons ];
+  };
+
+  src = fetchurl {
+    url = "mirror://sourceforge/boost/boost_1_49_0.tar.bz2";
+    sha256 = "0g0d33942rm073jgqqvj3znm3rk45b2y2lplfjpyg9q7amzqlx6x";
+  };
+
+  # See <http://svn.boost.org/trac/boost/ticket/4688>.
+  patches = [ ./boost_filesystem_post_1_49_0.patch ];
+
+  enableParallelBuilding = true;
+
+  buildInputs = [icu expat zlib bzip2 python];
+
+  configureScript = "./bootstrap.sh";
+  configureFlags = "--with-icu=${icu} --with-python=${python}/bin/python";
+
+  buildPhase = "./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${finalLayout} variant=${variant} threading=${threading} link=${link} ${cflags} install";
+
+  installPhase = ":";
+
+  crossAttrs = rec {
+    buildInputs = [ expat.hostDrv zlib.hostDrv bzip2.hostDrv ];
+    # all buildInputs set previously fell into propagatedBuildInputs, as usual, so we have to
+    # override them.
+    propagatedBuildInputs = buildInputs;
+    # We want to substitute the contents of configureFlags, removing thus the
+    # usual --build and --host added on cross building.
+    preConfigure = ''
+      export configureFlags="--prefix=$out --without-icu"
+    '';
+    buildPhase = ''
+      set -x
+      cat << EOF > user-config.jam
+      using gcc : cross : $crossConfig-g++ ;
+      EOF
+      ./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat.hostDrv}/include -sEXPAT_LIBPATH=${expat.hostDrv}/lib --layout=${finalLayout} --user-config=user-config.jam toolset=gcc-cross variant=${variant} threading=${threading} link=${link} ${cflags} --without-python install
+    '';
+  };
+}
diff --git a/pkgs/development/libraries/boost/boost_filesystem_post_1_49_0.patch b/pkgs/development/libraries/boost/boost_filesystem_post_1_49_0.patch
new file mode 100644
index 0000000000000..334533d98a65c
--- /dev/null
+++ b/pkgs/development/libraries/boost/boost_filesystem_post_1_49_0.patch
@@ -0,0 +1,12 @@
+diff -ubr boost_1_49_0/libs/filesystem/v2/src/v2_path.cpp boost_1_49_0-patched/libs/filesystem/v2/src/v2_path.cpp
+--- boost_1_49_0/libs/filesystem/v2/src/v2_path.cpp	2011-01-11 22:39:33.000000000 +0100
++++ boost_1_49_0-patched/libs/filesystem/v2/src/v2_path.cpp	2012-02-25 20:00:33.628767485 +0100
+@@ -45,7 +45,7 @@
+   {
+ #if !defined(macintosh) && !defined(__APPLE__) && !defined(__APPLE_CC__) 
+     // ISO C calls this "the locale-specific native environment":
+-    static std::locale lc("");
++    static std::locale lc;
+ #else  // Mac OS
+     // "All BSD system functions expect their string parameters to be in UTF-8 encoding
+     // and nothing else."
diff --git a/pkgs/development/libraries/caelum/default.nix b/pkgs/development/libraries/caelum/default.nix
new file mode 100644
index 0000000000000..75eb5109b4531
--- /dev/null
+++ b/pkgs/development/libraries/caelum/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, cmake, pkgconfig, ois, ogre, boost }:
+
+stdenv.mkDerivation rec {
+  name = "caelum-0.6.1";
+
+  src = fetchurl {
+    url = "http://caelum.googlecode.com/files/${name}.tar.gz";
+    sha256 = "1j995q1a88cikqrxdqsrwzm2asid51xbmkl7vn1grfrdadb15303";
+  };
+
+  buildInputs = [ ois ogre boost ];
+  buildNativeInputs = [ cmake pkgconfig ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Add-on for the OGRE, aimed to render atmospheric effects";
+    homepage = http://code.google.com/p/caelum/;
+    license = "LGPLv2.1+";
+  };
+}
diff --git a/pkgs/development/libraries/glibc-2.12/common.nix b/pkgs/development/libraries/glibc-2.12/common.nix
index 8f0c092d35caa..6a68077ab348b 100644
--- a/pkgs/development/libraries/glibc-2.12/common.nix
+++ b/pkgs/development/libraries/glibc-2.12/common.nix
@@ -12,7 +12,7 @@ cross :
 
 let
   # For GNU/Hurd, see below.
-  version = if hurdHeaders != null then "20120221" else "2.12.2";
+  version = if hurdHeaders != null then "20120223" else "2.12.2";
 
   needsPortsNative = stdenv.isMips || stdenv.isArm;
   needsPortsCross = cross.arch == "mips" || cross.arch == "arm";
@@ -75,8 +75,7 @@ stdenv.mkDerivation ({
 
     /* Allow nixos and nix handle the locale-archive. */
     ./nix-locale-archive.patch
-  ]
-  ++ (stdenv.lib.optional (hurdHeaders != null) ./hurd-sigstate-functions.patch);
+  ];
 
   postPatch = ''
     # Needed for glibc to build with the gnumake 3.82
@@ -144,8 +143,8 @@ stdenv.mkDerivation ({
       # maintained by the Hurd folks, `tschwinge/Roger_Whittaker' branch.
       # See <http://www.gnu.org/software/hurd/source_repositories/glibc.html>.
       url = "git://git.sv.gnu.org/hurd/glibc.git";
-      sha256 = "fbc053f23167059af414ae1ba9a65931a9d9afaf7d2efb9eba3e258757d12f7d";
-      rev = "b29b3d0ae35be390cab59e4798cbaf9b45fb06e3";
+      sha256 = "cecec9dd5a2bafc875c56b058b6d7628a22b250b53747513dec304f31ffdb82d";
+      rev = "d3cdecf18e6550b0984a42b43ed48c5fb26501e1";
     }
     else fetchurl {
       url = "mirror://gnu/glibc/glibc-${version}.tar.bz2";
diff --git a/pkgs/development/libraries/glibc-2.12/hurd-sigstate-functions.patch b/pkgs/development/libraries/glibc-2.12/hurd-sigstate-functions.patch
deleted file mode 100644
index d46db7b6393de..0000000000000
--- a/pkgs/development/libraries/glibc-2.12/hurd-sigstate-functions.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-This patch adds a GNU ld version script entry for the `_hurd_sigstate_*'
-functions that were introduced to support SA_SIGINFO.  A similar patch
-should be applied upstream soon.
-
-diff --git a/hurd/Versions b/hurd/Versions
-index 83c8ab1..295cfda 100644
---- a/hurd/Versions
-+++ b/hurd/Versions
-@@ -156,6 +156,11 @@ libc {
-     # functions used in macros & inline functions
-     __errno_location;
-   }
-+  GLIBC_2.13 {
-+    # functions introduced for SA_SIGINFO support and referenced from
-+    # <hurd/signal.h>
-+    _hurd_sigstate_*;
-+  }
- 
- %if !SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
-   HURD_CTHREADS_0.3 {
diff --git a/pkgs/development/libraries/haskell/HSH/default.nix b/pkgs/development/libraries/haskell/HSH/default.nix
new file mode 100644
index 0000000000000..ad6ee08bffdff
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HSH/default.nix
@@ -0,0 +1,24 @@
+{ cabal, filepath, hslogger, MissingH, mtl, regexBase, regexCompat
+, regexPosix
+}:
+
+cabal.mkDerivation (self: {
+  pname = "HSH";
+  version = "2.0.4";
+  sha256 = "1ddpazmk82716hqd1riqs7vnl4aildgwkjgk80iam49df9p5b8v8";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    filepath hslogger MissingH mtl regexBase regexCompat regexPosix
+  ];
+  meta = {
+    homepage = "http://software.complete.org/hsh";
+    description = "Library to mix shell scripting with Haskell programs";
+    license = "LGPL";
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/IfElse/default.nix b/pkgs/development/libraries/haskell/IfElse/default.nix
new file mode 100644
index 0000000000000..632de1f30e5b5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/IfElse/default.nix
@@ -0,0 +1,17 @@
+{ cabal, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "IfElse";
+  version = "0.85";
+  sha256 = "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa";
+  buildDepends = [ mtl ];
+  meta = {
+    description = "Anaphoric and miscellaneous useful control-flow";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix b/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix
index 9a17ef1356303..9f58a5af7488e 100644
--- a/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "attoparsec-conduit";
-  version = "0.2.0";
-  sha256 = "11jcsqyqc33xn980rac7fmdgj99dg4bp75b5whqzpnr67ginjjv9";
+  version = "0.2.0.1";
+  sha256 = "1jxb2zanfmfqdmd5q770r4yz2s0giky9ify6fcsjwc8wiah4aji1";
   buildDepends = [ attoparsec conduit text transformers ];
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
diff --git a/pkgs/development/libraries/haskell/authenticate/default.nix b/pkgs/development/libraries/haskell/authenticate/default.nix
index 8818aa2d9727a..6aa1e4498402a 100644
--- a/pkgs/development/libraries/haskell/authenticate/default.nix
+++ b/pkgs/development/libraries/haskell/authenticate/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "authenticate";
-  version = "1.0.0";
-  sha256 = "0a163dhi69gh6zmi43jidxlaknbk1y0frjlwijdf7fp073rh0p87";
+  version = "1.0.0.1";
+  sha256 = "0wrbr7kwd4g8idd6i4ghvpd5q7nq0b8zx5qphqvkbs128m0r308d";
   buildDepends = [
     aeson attoparsec blazeBuilder blazeBuilderConduit caseInsensitive
     conduit httpConduit httpTypes network tagsoup text transformers
diff --git a/pkgs/development/libraries/haskell/base64-bytestring/0.1.0.3.nix b/pkgs/development/libraries/haskell/base64-bytestring/0.1.0.3.nix
new file mode 100644
index 0000000000000..f974a72347fd3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/base64-bytestring/0.1.0.3.nix
@@ -0,0 +1,17 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "base64-bytestring";
+  version = "0.1.0.3";
+  sha256 = "0d4j8b1d8z9qr1y446bfkj764xgilk8gw2frj0wn0717y8knvmx3";
+  meta = {
+    homepage = "https://github.com/bos/base64-bytestring";
+    description = "Fast base64 encoding and deconding for ByteStrings";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/base64-bytestring/default.nix b/pkgs/development/libraries/haskell/base64-bytestring/0.1.1.0.nix
index 304889991f054..304889991f054 100644
--- a/pkgs/development/libraries/haskell/base64-bytestring/default.nix
+++ b/pkgs/development/libraries/haskell/base64-bytestring/0.1.1.0.nix
diff --git a/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix b/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix
index da3bd570e05d2..ff6f7429c799f 100644
--- a/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "blaze-builder-conduit";
-  version = "0.2.0";
-  sha256 = "13fcxmzw4xz7y271vdf6w6fj6isninjcxnm7h7gbk4yf31wx831r";
+  version = "0.2.0.1";
+  sha256 = "0p6kq43avsf21biskjardv7k47bag16ki2gmwjpk8ram9mwlz0zg";
   buildDepends = [ blazeBuilder conduit text transformers ];
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
diff --git a/pkgs/development/libraries/haskell/clientsession/default.nix b/pkgs/development/libraries/haskell/clientsession/default.nix
index a59b3b9ef0e42..d4a770d34b74e 100644
--- a/pkgs/development/libraries/haskell/clientsession/default.nix
+++ b/pkgs/development/libraries/haskell/clientsession/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "clientsession";
-  version = "0.7.4";
-  sha256 = "050mg3rzyld4v2b9v1pc1q563sp7sffiapvr8ks8f46ibl17lvss";
+  version = "0.7.4.1";
+  sha256 = "1fnrngbx86zcvh0ybv7ans132d216ayxdzlgw0x4qh0sw9r3w2ip";
   buildDepends = [
     base64Bytestring cereal cprngAes cryptoApi cryptocipher entropy
     skein tagged
diff --git a/pkgs/development/libraries/haskell/containers-deepseq/default.nix b/pkgs/development/libraries/haskell/containers-deepseq/default.nix
deleted file mode 100644
index 1e7630a93e8cb..0000000000000
--- a/pkgs/development/libraries/haskell/containers-deepseq/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ cabal, deepseq }:
-
-cabal.mkDerivation (self: {
-  pname = "containers-deepseq";
-  version = "0.1.0.1";
-  sha256 = "0l9d7hj66fygpsbjw6wy4l11c9cw739lvkrypapwihav7jzva541";
-  buildDepends = [ deepseq ];
-  meta = {
-    description = "Provide orphan NFData instances for containers as needed. (deprecated)";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/control-monad-attempt/default.nix b/pkgs/development/libraries/haskell/control-monad-attempt/default.nix
deleted file mode 100644
index 0450373e8c652..0000000000000
--- a/pkgs/development/libraries/haskell/control-monad-attempt/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ cabal, attempt, transformers }:
-
-cabal.mkDerivation (self: {
-  pname = "control-monad-attempt";
-  version = "0.3.0.1";
-  sha256 = "140n27vdbyjz5qycrwlrmyd7s48fxcl6msl16g7czg40k5y23j5s";
-  buildDepends = [ attempt transformers ];
-  meta = {
-    homepage = "http://github.com/snoyberg/control-monad-attempt";
-    description = "Monad transformer for attempt. (deprecated)";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/convertible/default.nix b/pkgs/development/libraries/haskell/convertible/default.nix
index 5497500c0a86d..a3fa0208e2d07 100644
--- a/pkgs/development/libraries/haskell/convertible/default.nix
+++ b/pkgs/development/libraries/haskell/convertible/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "convertible";
-  version = "1.0.11.0";
-  sha256 = "0qkz760ddshmglmrf47a01978c9zhxfss44b6vmfkwwfcjb7da2b";
+  version = "1.0.11.1";
+  sha256 = "1r50a2rpfsx0s7dv8ww5xck33b1mhy73gfilffrbqd4hxjgnxlj6";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ mtl text time ];
diff --git a/pkgs/development/libraries/haskell/data-object-yaml/default.nix b/pkgs/development/libraries/haskell/data-object-yaml/default.nix
deleted file mode 100644
index 54c2a05f8f14f..0000000000000
--- a/pkgs/development/libraries/haskell/data-object-yaml/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ cabal, conduit, convertibleText, dataObject, failure, text
-, transformers, yaml
-}:
-
-cabal.mkDerivation (self: {
-  pname = "data-object-yaml";
-  version = "0.3.4.2";
-  sha256 = "18a9r4wfpb7icjb6nji9iy3abq6sxafmsnfwqpnm1nn2nn3fm1ap";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [
-    conduit convertibleText dataObject failure text transformers yaml
-  ];
-  meta = {
-    homepage = "http://github.com/snoyberg/data-object-yaml";
-    description = "Serialize data to and from Yaml files (deprecated)";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/filestore/default.nix b/pkgs/development/libraries/haskell/filestore/default.nix
index db4412238437d..0abd073c51c06 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.4.0.4";
-  sha256 = "14rp2689gjnk9pqk2xv4m3q3icgfvbik32c2d6gx4l2y7n78dsbx";
+  version = "0.4.1";
+  sha256 = "02ki6b4rbmk463qmmqia7igkrsr7h1kxal94k6pikkikylx2f8r7";
   buildDepends = [ Diff filepath parsec split time utf8String xml ];
   meta = {
     homepage = "http://johnmacfarlane.net/repos/filestore";
diff --git a/pkgs/development/libraries/haskell/gitit/default.nix b/pkgs/development/libraries/haskell/gitit/default.nix
index 65aab04f9147d..b9fc9fa3ae9c7 100644
--- a/pkgs/development/libraries/haskell/gitit/default.nix
+++ b/pkgs/development/libraries/haskell/gitit/default.nix
@@ -1,21 +1,22 @@
-{ cabal, cgi, ConfigFile, feed, filepath, filestore, ghcPaths
-, happstackServer, happstackUtil, highlightingKate, hslogger
-, HStringTemplate, HTTP, json, mtl, network, pandoc, pandocTypes
-, parsec, random, recaptcha, safe, SHA, syb, text, time, url
-, utf8String, xhtml, xml, xssSanitize, zlib
+{ cabal, blazeHtml, cgi, ConfigFile, feed, filepath, filestore
+, ghcPaths, happstackServer, happstackUtil, highlightingKate
+, hslogger, HStringTemplate, HTTP, json, mtl, network, pandoc
+, pandocTypes, parsec, random, recaptcha, safe, SHA, syb, tagsoup
+, text, time, url, utf8String, xhtml, xml, xssSanitize, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "gitit";
-  version = "0.8.1";
-  sha256 = "1b5i6fm68vwhlvgz0m7xxzklkxc2c6lrqyqfqyjs93p5j0aqgvfn";
+  version = "0.9";
+  sha256 = "00kjfmczj5m3b8r8djdpad8d27s44z7pf76yyc0sdja1f3bd4mlp";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    cgi ConfigFile feed filepath filestore ghcPaths happstackServer
-    happstackUtil highlightingKate hslogger HStringTemplate HTTP json
-    mtl network pandoc pandocTypes parsec random recaptcha safe SHA syb
-    text time url utf8String xhtml xml xssSanitize zlib
+    blazeHtml cgi ConfigFile feed filepath filestore ghcPaths
+    happstackServer happstackUtil highlightingKate hslogger
+    HStringTemplate HTTP json mtl network pandoc pandocTypes parsec
+    random recaptcha safe SHA syb tagsoup text time url utf8String
+    xhtml xml xssSanitize zlib
   ];
   meta = {
     homepage = "http://gitit.net";
diff --git a/pkgs/development/libraries/haskell/hxt/default.nix b/pkgs/development/libraries/haskell/hxt/default.nix
index cc1827ac34253..0e1668a58183b 100644
--- a/pkgs/development/libraries/haskell/hxt/default.nix
+++ b/pkgs/development/libraries/haskell/hxt/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hxt";
-  version = "9.2.1";
-  sha256 = "0172icb36wx4fb6q3xq7pcs85d2hnn4bznq3wjwhval10mayri8y";
+  version = "9.2.2";
+  sha256 = "0ichjpshq10b11dyfv1q7rs2m190x3gplx6k54amlxv45nwd1s6r";
   buildDepends = [
     binary deepseq filepath HUnit hxtCharproperties hxtRegexXmlschema
     hxtUnicode mtl network parsec
diff --git a/pkgs/development/libraries/haskell/jsonEnumerator/default.nix b/pkgs/development/libraries/haskell/jsonEnumerator/default.nix
deleted file mode 100644
index 1e4629166fad9..0000000000000
--- a/pkgs/development/libraries/haskell/jsonEnumerator/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ cabal, blazeBuilder, blazeBuilderEnumerator, enumerator
-, jsonTypes, text, transformers
-}:
-
-cabal.mkDerivation (self: {
-  pname = "json-enumerator";
-  version = "0.0.1.2";
-  sha256 = "08gwrm15pvvhhrkrncy6wr4fi5v55fdhc8byfrw5zd62hmx8xm9d";
-  buildDepends = [
-    blazeBuilder blazeBuilderEnumerator enumerator jsonTypes text
-    transformers
-  ];
-  meta = {
-    homepage = "http://github.com/snoyberg/json-enumerator";
-    description = "Pure-Haskell utilities for dealing with JSON with the enumerator package. (deprecated)";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/data-object/default.nix b/pkgs/development/libraries/haskell/monads-tf/default.nix
index c1b12ab038fb9..d61922dc508a3 100644
--- a/pkgs/development/libraries/haskell/data-object/default.nix
+++ b/pkgs/development/libraries/haskell/monads-tf/default.nix
@@ -1,13 +1,12 @@
-{ cabal, failure, text, time }:
+{ cabal, transformers }:
 
 cabal.mkDerivation (self: {
-  pname = "data-object";
-  version = "0.3.1.9";
-  sha256 = "0z8m23kw8mj6hhy1r8y1vvlxxpwl273dhanszig2673a1sw0l98l";
-  buildDepends = [ failure text time ];
+  pname = "monads-tf";
+  version = "0.1.0.0";
+  sha256 = "1d38rddm9h8crs96zhzj87a3ygix0ipyxy0qcyas88k60fgavg5i";
+  buildDepends = [ transformers ];
   meta = {
-    homepage = "http://github.com/snoyberg/data-object/tree/master";
-    description = "Represent hierachichal structures, called objects in JSON. (deprecated)";
+    description = "Monad classes, using type families";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
diff --git a/pkgs/development/libraries/haskell/neither/default.nix b/pkgs/development/libraries/haskell/neither/default.nix
deleted file mode 100644
index e5b3e6a8c487f..0000000000000
--- a/pkgs/development/libraries/haskell/neither/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ cabal, failure, transformers }:
-
-cabal.mkDerivation (self: {
-  pname = "neither";
-  version = "0.3.1";
-  sha256 = "1n00v2xs2ghm273barc3bbi67wgpvyihhgl1ij7qczyp9fhqlyfk";
-  buildDepends = [ failure transformers ];
-  meta = {
-    homepage = "http://github.com/snoyberg/neither";
-    description = "Provide versions of Either with good monad and applicative instances. (deprecated)";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/pandoc-types/default.nix b/pkgs/development/libraries/haskell/pandoc-types/default.nix
index 063fe6f45c564..b55c214bb7525 100644
--- a/pkgs/development/libraries/haskell/pandoc-types/default.nix
+++ b/pkgs/development/libraries/haskell/pandoc-types/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pandoc-types";
-  version = "1.9.0.2";
-  sha256 = "1rqqchxinjk3njgkp73i92q4iz1cl84p56i2fmgj2zn221r0zhyl";
+  version = "1.9.1";
+  sha256 = "1174nkaig0g71n3kqrhgqn7xmr9rni3l3dh1xpypc0ksjm0ym21i";
   buildDepends = [ syb ];
   meta = {
     homepage = "http://johnmacfarlane.net/pandoc";
diff --git a/pkgs/development/libraries/haskell/persistent/default.nix b/pkgs/development/libraries/haskell/persistent/default.nix
index 51fdacfcf2b37..d498aa6edd0a1 100644
--- a/pkgs/development/libraries/haskell/persistent/default.nix
+++ b/pkgs/development/libraries/haskell/persistent/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "persistent";
-  version = "0.8.0";
-  sha256 = "0z70ibicfbfripp1x9csfvfhn7k26j78jvvig9ylsjwldhysr7qr";
+  version = "0.8.0.1";
+  sha256 = "1lsmsx0zxa3h83z29r6h3r94czg7c8apid9mah48f8hxlfynbqhi";
   buildDepends = [
     aeson attoparsec base64Bytestring blazeHtml conduit liftedBase
     monadControl mtl pathPieces poolConduit text time transformers
diff --git a/pkgs/development/libraries/haskell/pool/default.nix b/pkgs/development/libraries/haskell/pool/default.nix
deleted file mode 100644
index fb417a3faf2ed..0000000000000
--- a/pkgs/development/libraries/haskell/pool/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ cabal, monadControl, transformers }:
-
-cabal.mkDerivation (self: {
-  pname = "pool";
-  version = "0.1.2.1";
-  sha256 = "1fwwnwxk3kprr2z9y7bwa1qwxfkzwcb2n5l6vkq1c5s8gjls581c";
-  buildDepends = [ monadControl transformers ];
-  meta = {
-    homepage = "http://www.yesodweb.com/book/persistent";
-    description = "Thread-safe resource pools. (deprecated)";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/stm/2.3.nix b/pkgs/development/libraries/haskell/stm/2.3.nix
new file mode 100644
index 0000000000000..7057ede7052e3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/stm/2.3.nix
@@ -0,0 +1,16 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "stm";
+  version = "2.3";
+  sha256 = "1321l1qkmvnqdw73i21jnh2b8c1iw1mxjbp23hmqdvljjb9mlzsm";
+  meta = {
+    description = "Software Transactional Memory";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/testpack/default.nix b/pkgs/development/libraries/haskell/testpack/default.nix
index 35b619166a4f5..bb729ef312014 100644
--- a/pkgs/development/libraries/haskell/testpack/default.nix
+++ b/pkgs/development/libraries/haskell/testpack/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "testpack";
-  version = "2.1.1";
-  sha256 = "1z8g3xhvy901h7kr7q4wcms5b23xniskrgxfpq42w4b34acwvhmg";
+  version = "2.1.2";
+  sha256 = "12dhl8svy0wmdwlvkp0p0j6wr6vgv4hrjcpdv48kc5rcwjvh8xif";
   buildDepends = [ HUnit mtl QuickCheck random ];
   meta = {
     homepage = "http://hackage.haskell.org/cgi-bin/hackage-scripts/package/testpack";
diff --git a/pkgs/development/libraries/haskell/utility-ht/default.nix b/pkgs/development/libraries/haskell/utility-ht/default.nix
index 6b79e4cdda84e..9a90eb5dd9f80 100644
--- a/pkgs/development/libraries/haskell/utility-ht/default.nix
+++ b/pkgs/development/libraries/haskell/utility-ht/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "utility-ht";
-  version = "0.0.7.1";
-  sha256 = "0k097kyv6rxjvg1drnphv2mg882xx2lk098hs557fcsr16w658ma";
+  version = "0.0.8";
+  sha256 = "02sm1xj5xa65hpkvl2yk89d9dlg3c2ap8qcviq9zj10asmsbzyd8";
   meta = {
     description = "Various small helper functions for Lists, Maybes, Tuples, Functions";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/wai-app-static/default.nix b/pkgs/development/libraries/haskell/wai-app-static/default.nix
index e7197e293f2a2..79baedeb23914 100644
--- a/pkgs/development/libraries/haskell/wai-app-static/default.nix
+++ b/pkgs/development/libraries/haskell/wai-app-static/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai-app-static";
-  version = "1.1.1";
-  sha256 = "0i73rxgmng7grs8cgxw8769jg0cvpsb5gi4s0iwrdyh3xd1vj7iy";
+  version = "1.1.2";
+  sha256 = "1nvzqg3wk7i2p1kcpb9f9wdzbrfl6gxid44l94mmvc7xjcmdl6qw";
   buildDepends = [
     base64Bytestring blazeBuilder blazeHtml cryptohash fileEmbed
     httpDate httpTypes text time transformers unixCompat wai
diff --git a/pkgs/development/libraries/haskell/wai-extra/default.nix b/pkgs/development/libraries/haskell/wai-extra/default.nix
index e0a3687858240..734e8a6fe1c81 100644
--- a/pkgs/development/libraries/haskell/wai-extra/default.nix
+++ b/pkgs/development/libraries/haskell/wai-extra/default.nix
@@ -1,16 +1,16 @@
-{ cabal, blazeBuilder, blazeBuilderConduit, caseInsensitive
-, conduit, dataDefault, fastLogger, httpTypes, network, text, time
-, transformers, wai, zlibConduit
+{ cabal, ansiTerminal, blazeBuilder, blazeBuilderConduit
+, caseInsensitive, conduit, dataDefault, fastLogger, httpTypes
+, network, text, time, transformers, wai, zlibConduit
 }:
 
 cabal.mkDerivation (self: {
   pname = "wai-extra";
-  version = "1.1.0";
-  sha256 = "1mj2swb2bgsay9prpw6h0wmwsqyan53ndyczmhppdax4y5088f55";
+  version = "1.1.0.1";
+  sha256 = "0kavvbywkkwj9914y622wsziwfca9qjaqz798mjhl1ip5bfy73b0";
   buildDepends = [
-    blazeBuilder blazeBuilderConduit caseInsensitive conduit
-    dataDefault fastLogger httpTypes network text time transformers wai
-    zlibConduit
+    ansiTerminal blazeBuilder blazeBuilderConduit caseInsensitive
+    conduit dataDefault fastLogger httpTypes network text time
+    transformers wai zlibConduit
   ];
   meta = {
     homepage = "http://github.com/yesodweb/wai";
diff --git a/pkgs/development/libraries/haskell/wai/default.nix b/pkgs/development/libraries/haskell/wai/default.nix
index f1d4210b667ea..4fb6227d2e8cf 100644
--- a/pkgs/development/libraries/haskell/wai/default.nix
+++ b/pkgs/development/libraries/haskell/wai/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai";
-  version = "1.1.0";
-  sha256 = "1kmmivcak9v13rgivs2vhr543dfdx19wncwlpda453570ywam7vh";
+  version = "1.1.0.1";
+  sha256 = "0klyi3d4rivgvbasamxccvkz1w44ak0rcbx840ypdcjq8mbcb85f";
   buildDepends = [
     blazeBuilder conduit httpTypes network text transformers vault
   ];
diff --git a/pkgs/development/libraries/haskell/warp/default.nix b/pkgs/development/libraries/haskell/warp/default.nix
index b6380981d00f5..03dee23b78ba3 100644
--- a/pkgs/development/libraries/haskell/warp/default.nix
+++ b/pkgs/development/libraries/haskell/warp/default.nix
@@ -1,15 +1,16 @@
-{ cabal, blazeBuilder, blazeBuilderConduit, caseInsensitive
-, conduit, httpTypes, liftedBase, network, simpleSendfile
-, transformers, unixCompat, wai
+{ cabal, blazeBuilder, blazeBuilderConduit, bytestringLexing
+, caseInsensitive, conduit, httpTypes, liftedBase, network
+, simpleSendfile, transformers, unixCompat, wai
 }:
 
 cabal.mkDerivation (self: {
   pname = "warp";
-  version = "1.1.0";
-  sha256 = "1an2j89422rcvrvrmhg1hwj8vpikjj5xdzb3h37rjsfj6qlqy5cf";
+  version = "1.1.0.1";
+  sha256 = "1bgjnnkqgcyj00jd4rgsnpmac0yfd1ydd6i61b252gyrr9dd0wm9";
   buildDepends = [
-    blazeBuilder blazeBuilderConduit caseInsensitive conduit httpTypes
-    liftedBase network simpleSendfile transformers unixCompat wai
+    blazeBuilder blazeBuilderConduit bytestringLexing caseInsensitive
+    conduit httpTypes liftedBase network simpleSendfile transformers
+    unixCompat wai
   ];
   meta = {
     homepage = "http://github.com/yesodweb/wai";
diff --git a/pkgs/development/libraries/haskell/web-routes-quasi/default.nix b/pkgs/development/libraries/haskell/web-routes-quasi/default.nix
deleted file mode 100644
index 7ecc85742e1e7..0000000000000
--- a/pkgs/development/libraries/haskell/web-routes-quasi/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ cabal, pathPieces, text }:
-
-cabal.mkDerivation (self: {
-  pname = "web-routes-quasi";
-  version = "0.7.1.1";
-  sha256 = "1rqbymi0n7kdhl272qfjhx9s3gspd5k0bjrhclj9l8mjf033vdmf";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ pathPieces text ];
-  meta = {
-    homepage = "http://docs.yesodweb.com/web-routes-quasi/";
-    description = "Define data types and parse/build functions for web-routes via a quasi-quoted DSL (deprecated)";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/web-routes/default.nix b/pkgs/development/libraries/haskell/web-routes/default.nix
deleted file mode 100644
index 270328441e1a1..0000000000000
--- a/pkgs/development/libraries/haskell/web-routes/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ cabal, blazeBuilder, httpTypes, mtl, network, parsec, text
-, utf8String
-}:
-
-cabal.mkDerivation (self: {
-  pname = "web-routes";
-  version = "0.27.1";
-  sha256 = "0rbl57qnn908hwfhj14m8z11pscrv44rlg7c9y9rm6jvwy4v58qz";
-  buildDepends = [
-    blazeBuilder httpTypes mtl network parsec text utf8String
-  ];
-  meta = {
-    description = "Library for maintaining correctness and composability of URLs within an application";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/xml-enumerator/default.nix b/pkgs/development/libraries/haskell/xml-enumerator/default.nix
deleted file mode 100644
index c891096c20571..0000000000000
--- a/pkgs/development/libraries/haskell/xml-enumerator/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ cabal, attoparsec, attoparsecEnumerator, blazeBuilder
-, blazeBuilderEnumerator, dataDefault, enumerator, failure, text
-, transformers, xmlTypes
-}:
-
-cabal.mkDerivation (self: {
-  pname = "xml-enumerator";
-  version = "0.4.4.1";
-  sha256 = "0vwn6s7x626970b8lgyhmngkqv5n5kvv0qikrvi9sjzq5rjyx1zj";
-  buildDepends = [
-    attoparsec attoparsecEnumerator blazeBuilder blazeBuilderEnumerator
-    dataDefault enumerator failure text transformers xmlTypes
-  ];
-  meta = {
-    homepage = "http://github.com/snoyberg/xml";
-    description = "Pure-Haskell utilities for dealing with XML with the enumerator package. (deprecated)";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/yesod/default.nix b/pkgs/development/libraries/haskell/yesod/default.nix
index 435aa7492bb3b..2ab9b56831342 100644
--- a/pkgs/development/libraries/haskell/yesod/default.nix
+++ b/pkgs/development/libraries/haskell/yesod/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod";
-  version = "0.10.1";
-  sha256 = "1m4prrpxdcj7qn755as37kn66f7didparhar520anr9cryn0wfr9";
+  version = "0.10.1.1";
+  sha256 = "1d64kx0jfk1d1r4k8r57y5wz84pjxs481qdnzgjfv279y467fki6";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/zlib-conduit/default.nix b/pkgs/development/libraries/haskell/zlib-conduit/default.nix
index decdd32676abf..1b8d40efe28b9 100644
--- a/pkgs/development/libraries/haskell/zlib-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/zlib-conduit/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "zlib-conduit";
-  version = "0.2.0";
-  sha256 = "1vwan9vglj7xdna3pfw71bcfcp10s4vn6fd6wwdz7wvxrbn52gsk";
+  version = "0.2.0.1";
+  sha256 = "0css7cr9jj6rn829bw8mlbdl0d6iz9ckhsbrlrdcppx8k4gzb4rg";
   buildDepends = [ conduit transformers zlibBindings ];
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
diff --git a/pkgs/development/libraries/itk/default.nix b/pkgs/development/libraries/itk/default.nix
index c0088d7a8d609..6be998b691a53 100644
--- a/pkgs/development/libraries/itk/default.nix
+++ b/pkgs/development/libraries/itk/default.nix
@@ -1,18 +1,19 @@
-{stdenv, fetchurl, cmake, libX11, libuuid}:
+{stdenv, fetchurl, cmake, libX11, libuuid, xz}:
 
 stdenv.mkDerivation rec {
-  name = "itk-3.16.0";
+  name = "itk-4.0.0";
 
   src = fetchurl {
-    url = mirror://sourceforge/itk/InsightToolkit-3.16.0.tar.gz;
-    sha256 = "18r021ib2g94qlajjsny0r6cpc61rmr0zrpb2l0mx1y7j9ckr6ks";
+    url = mirror://sourceforge/itk/InsightToolkit-4.0.0.tar.xz;
+    sha256 = "05z49sw612cbyiaghcsda0xylrkf06jh81ql79si5632w1hpgbd9";
   };
 
   cmakeFlags = [ "-DBUILD_TESTING=OFF" "-DBUILD_EXAMPLES=OFF" ];
 
-  # makeFlags = [ "VERBOSE=1" ];
+  enableParallelBuilding = true;
 
-  buildInputs = [ cmake libX11 libuuid ];
+  buildNativeInputs = [ cmake xz ];
+  buildInputs = [ libX11 libuuid ];
 
   meta = {
     description = "Insight Segmentation and Registration Toolkit";
diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix
index ae8165638d1a5..38272165a281a 100644
--- a/pkgs/development/libraries/kerberos/krb5.nix
+++ b/pkgs/development/libraries/kerberos/krb5.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "krb5";
-  version = "1.6.3";
+  version = "1.10";
   name = "${pname}-${version}";
   webpage = http://web.mit.edu/kerberos/;
 in
@@ -11,8 +11,8 @@ stdenv.mkDerivation (rec {
   inherit name;
 
   src = fetchurl {
-    url = "${webpage}/dist/krb5/1.6/${name}-signed.tar";
-    sha256 = "7a1bd7d4bd326828c8ee382ed2b69ccd6c58762601df897d6a32169d84583d2a";
+    url = "${webpage}/dist/krb5/1.10/${name}-signed.tar";
+    sha256 = "1pa4m6538drb51gsqxbbxlsnc9fm9ccid9m2s3pv3di5l0a7l8bg";
   };
 
   buildInputs = [ perl ncurses yacc ];
diff --git a/pkgs/development/libraries/libzip/default.nix b/pkgs/development/libraries/libzip/default.nix
index 0c490c63411a2..48ef55892c8f7 100644
--- a/pkgs/development/libraries/libzip/default.nix
+++ b/pkgs/development/libraries/libzip/default.nix
@@ -10,6 +10,12 @@ stdenv.mkDerivation rec {
   
   propagatedBuildInputs = [ zlib ];
 
+  # At least mysqlWorkbench cannot find zipconf.h; I think also openoffice
+  # had this same problem.  This links it somewhere that mysqlworkbench looks.
+  postInstall = ''
+    ( cd $out/include ; ln -s ../lib/libzip/include/zipconf.h zipconf.h )
+  '';
+
   meta = {
     homepage = http://www.nih.at/libzip;
     description = "A C library for reading, creating and modifying zip archives";
diff --git a/pkgs/development/libraries/mysocketw/default.nix b/pkgs/development/libraries/mysocketw/default.nix
new file mode 100644
index 0000000000000..c1cada63abeed
--- /dev/null
+++ b/pkgs/development/libraries/mysocketw/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, openssl}:
+
+stdenv.mkDerivation rec {
+  name = "mysocketw-031026";
+  src = fetchurl {
+    url = http://www.digitalfanatics.org/cal/socketw/files/SocketW031026.tar.gz;
+    sha256 = "0crinikhdl7xihzmc3k3k41pgxy16d5ci8m9sza1lbibns7pdwj4";
+  };
+
+  patches = [ ./gcc.patch ];
+
+  configurePhase = ''
+    sed -i s,/usr/local,$out, Makefile.conf
+  '';
+
+  buildInputs = [ openssl ];
+
+  meta = {
+    description = "Cross platform (Linux/FreeBSD/Unix/Win32) streaming socket C++";
+    license = "LGPLv2.1+";
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/mysocketw/gcc.patch b/pkgs/development/libraries/mysocketw/gcc.patch
new file mode 100644
index 0000000000000..7779a18fa528e
--- /dev/null
+++ b/pkgs/development/libraries/mysocketw/gcc.patch
@@ -0,0 +1,13 @@
+I picked it up from:
+http://www.rigsofrods.com/wiki/images/c/c0/Socketw.patch
+
+--- a/src/sw_base.cxx.old	2009-12-19 21:19:31.057051328 -0800
++++ b/src/sw_base.cxx	2009-12-19 21:19:44.939551918 -0800
+@@ -19,6 +19,7 @@
+ #include <time.h>
+ #include <stdio.h>
+ #include <string.h>
++#include <stdlib.h>
+ 
+ #ifndef __WIN32__
+   #include <netdb.h>
diff --git a/pkgs/development/libraries/ogrepaged/default.nix b/pkgs/development/libraries/ogrepaged/default.nix
new file mode 100644
index 0000000000000..6b2b9c9e4a654
--- /dev/null
+++ b/pkgs/development/libraries/ogrepaged/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, cmake, pkgconfig, ois, ogre, libX11, boost }:
+
+stdenv.mkDerivation rec {
+  name = "ogre-paged-1.1.3";
+
+  src = fetchurl {
+    url = "http://ogre-paged.googlecode.com/files/${name}.tar.gz";
+    sha256 = "1qqlkg17plk87dm3fsm34x8lkd5rxkhiz77ppcgc71a7z050vhjq";
+  };
+
+  buildInputs = [ ois ogre libX11 boost ];
+  buildNativeInputs = [ cmake pkgconfig ];
+
+  cmakeFlags = "-DPAGEDGEOMETRY_BUILD_SAMPLES=OFF";
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Paged Geometry for Ogre3D";
+    homepage = http://code.google.com/p/ogre-paged/;
+    license = "MIT";
+  };
+}
diff --git a/pkgs/development/libraries/zlib/latest.nix b/pkgs/development/libraries/zlib/latest.nix
new file mode 100644
index 0000000000000..1333c9fdfdf31
--- /dev/null
+++ b/pkgs/development/libraries/zlib/latest.nix
@@ -0,0 +1,11 @@
+{stdenv, fetchurl}:
+
+# To be removed in stdenv-updates, as default.nix is already right there.
+stdenv.mkDerivation rec {
+  name = "zlib-1.2.6";
+  
+  src = fetchurl {
+    url = "http://www.zlib.net/${name}.tar.gz";
+    sha256 = "06x6m33ls1606ni7275q5z392csvh18dgs55kshfnvrfal45w8r1";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ocamlmake/default.nix b/pkgs/development/ocaml-modules/ocamlmake/default.nix
index 69386bd757874..23858576efd5d 100644
--- a/pkgs/development/ocaml-modules/ocamlmake/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlmake/default.nix
@@ -1,16 +1,24 @@
 {stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "ocaml-make-6.33.0";
+let
+
+  version = "6.36.0";
+  sha256 = "7c9a771d79bf945050dc7530957f4b61669976177818185e64c002cbfd75e3a2";
+
+in stdenv.mkDerivation {
+  name = "ocaml-make-${version}";
 
   src = fetchurl {
-    url = "http://www.ocaml.info/ocaml_sources/ocaml-make-6.33.0.tar.gz";
-    sha256 = "3054303ba04e4bbbe038e08310fabc3e5a0e3899bbba33d9ac5ed7a1b9d1e05a";
+    url = "http://hg.ocaml.info/release/ocaml-make/archive/release-${version}.tar.bz2";
+    inherit sha256;
   };
 
-  phases = [ "unpackPhase" "installPhase" ];
+  installPhase = ''
+    ensureDir "$out/include/"
+    cp OCamlMakefile "$out/include/"
+  '';
 
-  installPhase = "cp OCamlMakefile $out";
+  setupHook = ./setup-hook.sh;
 
   meta = {
     homepage = "http://www.ocaml.info/home/ocaml_sources.html";
diff --git a/pkgs/development/ocaml-modules/ocamlmake/setup-hook.sh b/pkgs/development/ocaml-modules/ocamlmake/setup-hook.sh
new file mode 100644
index 0000000000000..876556a7b9223
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocamlmake/setup-hook.sh
@@ -0,0 +1,5 @@
+addOcamlMakefile () {
+    export OCAMLMAKEFILE="@out@/include/OCamlMakefile"
+}
+
+envHooks=(${envHooks[@]} addOcamlMakefile)
diff --git a/pkgs/development/ocaml-modules/pycaml/default.nix b/pkgs/development/ocaml-modules/pycaml/default.nix
index af7207064baee..b6c0df5ac15b3 100644
--- a/pkgs/development/ocaml-modules/pycaml/default.nix
+++ b/pkgs/development/ocaml-modules/pycaml/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
     sha256 = "ff6d863c42b4ef798f50ff5eff77b47b77b5c0d28b6f65364e8a436a216dc591";
   };
 
-  buildInputs = [ocaml findlib python]; 
+  buildInputs = [ocaml findlib python ocaml_make];
 
   createFindlibDestdir = true;
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
 
   # fix some paths to the appropriate store paths.
   patchPhase = ''
-    sed -i "Makefile" -e's|/usr/include/OCamlMakefile|${ocaml_make}|g'
+    sed -i "Makefile" -e's|/usr/include/OCamlMakefile|${ocaml_make}/include/OCamlMakefile|g'
     sed -i "Makefile" -e's|/usr|${python}|g'
     '';
 
diff --git a/pkgs/development/tools/build-managers/cmake/2.8.7.nix b/pkgs/development/tools/build-managers/cmake/2.8.7.nix
new file mode 100644
index 0000000000000..c440285671be7
--- /dev/null
+++ b/pkgs/development/tools/build-managers/cmake/2.8.7.nix
@@ -0,0 +1,61 @@
+{ fetchurl, stdenv, replace, curl, expat, zlib, bzip2, libarchive
+, useNcurses ? false, ncurses, useQt4 ? false, qt4
+, darwinInstallNameToolUtility }:
+
+with stdenv.lib;
+
+let
+  os = stdenv.lib.optionalString;
+  majorVersion = "2.8";
+  minorVersion = "7";
+  version = "${majorVersion}.${minorVersion}";
+in
+
+# WARNING: Do NOT upgrade cmake in trunk: it fails to build on i686-linux
+stdenv.mkDerivation rec {
+  name = "cmake-${os useNcurses "cursesUI-"}${os useQt4 "qt4UI-"}${version}";
+
+  inherit majorVersion;
+
+  src = fetchurl {
+    url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
+    sha256 = "130923053d8fe1a2ae032a3f09021f9024bf29d7a04ed10ae04647ff00ecf59f";
+  };
+
+  patches =
+    # Don't search in non-Nix locations such as /usr, but do search in
+    # Nixpkgs' Glibc.
+    optional (stdenv ? glibc) ./search-path.patch;
+
+  buildInputs = [ curl expat zlib bzip2 libarchive ]
+    ++ optional stdenv.isDarwin darwinInstallNameToolUtility
+    ++ optional useNcurses ncurses
+    ++ optional useQt4 qt4;
+
+  CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs;
+  
+  configureFlags =
+    "--docdir=/share/doc/${name} --mandir=/share/man --system-libs"
+    + stdenv.lib.optionalString useQt4 " --qt-gui";
+
+  setupHook = ./setup-hook.sh;
+
+  postUnpack =
+    ''
+      dontUseCmakeConfigure=1
+      source $setupHook
+      fixCmakeFiles $sourceRoot
+    '';
+
+  preConfigure = optionalString (stdenv ? glibc)
+    ''
+      substituteInPlace Modules/Platform/UnixPaths.cmake --subst-var-by glibc ${stdenv.glibc}
+    '';
+
+  meta = {
+    homepage = http://www.cmake.org/;
+    description = "Cross-Platform Makefile Generator";
+    platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.urkud ];
+  };
+}
diff --git a/pkgs/development/tools/build-managers/jam/default.nix b/pkgs/development/tools/build-managers/jam/default.nix
index d2a002a70cf79..6e2d79c6400d8 100644
--- a/pkgs/development/tools/build-managers/jam/default.nix
+++ b/pkgs/development/tools/build-managers/jam/default.nix
@@ -1,5 +1,11 @@
 {stdenv, fetchurl}:
 
+let
+  bindir = if stdenv.system == "i686-linux" then "bin.linuxx86"
+    else if stdenv.system == "x86_64-linux" then "bin.linux"
+    else throw "Unsupported platform by now";
+in
+
 stdenv.mkDerivation {
   name = "jam-2.5";
   src = fetchurl {
@@ -9,7 +15,7 @@ stdenv.mkDerivation {
 
   installPhase = ''
     ensureDir $out/bin
-    cp bin.linux/jam $out/bin
+    cp ${bindir}/jam $out/bin
   '';
 
   meta = {
diff --git a/pkgs/development/tools/build-managers/leiningen/builder.sh b/pkgs/development/tools/build-managers/leiningen/builder.sh
index 65d318c8f1e4c..2ee86d86d77b6 100644
--- a/pkgs/development/tools/build-managers/leiningen/builder.sh
+++ b/pkgs/development/tools/build-managers/leiningen/builder.sh
@@ -15,6 +15,8 @@ cp -v $clojuresrc $out/lib
 patch --verbose $out_bin -p0 < $patches
 chmod -v 755 $out_bin
 
+patchShebangs $out
+
 echo "Testing out \"lein version\"..."
 $out_bin version
 echo "Success."
diff --git a/pkgs/development/tools/build-managers/leiningen/default.nix b/pkgs/development/tools/build-managers/leiningen/default.nix
index 61a0374bdad1f..efdb578a61b66 100644
--- a/pkgs/development/tools/build-managers/leiningen/default.nix
+++ b/pkgs/development/tools/build-managers/leiningen/default.nix
@@ -2,17 +2,17 @@
 
 stdenv.mkDerivation rec {
   pname = "leiningen";
-  version = "1.6.2";
+  version = "1.7.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "https://raw.github.com/technomancy/leiningen/stable/bin/lein-pkg";
-    sha256 = "e177a493ed0c4a7874f1391d5cc72cc1e541e55ed3d6e075feec87b5da6f8277";
+    url = "https://raw.github.com/technomancy/leiningen/1.7.0/bin/lein-pkg";
+    sha256 = "1339f6ffc7bae3171174fc9eae990f5b9710ff2804038e931d531632c57f189c";
   };
 
   jarsrc = fetchurl {
-    url = "https://github.com/downloads/technomancy/leiningen/leiningen-1.6.2-standalone.jar";
-    sha256 = "e35272556ece82d9a6a54b86266626da1b5f990ff556639dd7dd1025d6ed4226";
+    url = "https://github.com/downloads/technomancy/leiningen/leiningen-1.7.0-standalone.jar";
+    sha256 = "501eaa1c2a19ca4ffc2fde1776552cb513d69ee874abb547c40cee92156e50bf";
   };
 
   clojuresrc = fetchurl {
@@ -30,7 +30,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/technomancy/leiningen;
     description = "Project automation for Clojure";
     license = "EPL";
-
     platforms = stdenv.lib.platforms.unix;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/tools/build-managers/leiningen/lein.patch b/pkgs/development/tools/build-managers/leiningen/lein.patch
index 1a7157568e432..2edf1370ff4b1 100644
--- a/pkgs/development/tools/build-managers/leiningen/lein.patch
+++ b/pkgs/development/tools/build-managers/leiningen/lein.patch
@@ -1,15 +1,14 @@
---- lein-pkg	2012-01-09 20:47:44.000000000 -0800
-+++ lein-pkg-nix	2012-01-09 20:45:01.000000000 -0800
-@@ -70,7 +70,7 @@
+--- lein-pkg	2012-02-28 15:26:40.000000000 -0800
++++ lein-pkg-nix	2012-02-28 17:17:02.000000000 -0800
+@@ -71,30 +71,14 @@
  LEIN_PLUGIN_PATH="$(echo "$DEV_PLUGINS" | tr \\n :)"
  LEIN_USER_PLUGIN_PATH="$(echo "$(unique_user_plugins)" | tr \\n :)"
  CLASSPATH="$CLASSPATH:$LEIN_PLUGIN_PATH:$LEIN_USER_PLUGIN_PATH:test/:src/:resources/"
 -CLOJURE_JAR="/usr/share/java/clojure-1.2.jar:/usr/share/java/asm3.jar:/usr/share/java/asm3-commons.jar"
 +CLOJURE_JAR="$(dirname $0)/../lib/*clojure-1.2.1.jar"
- NULL_DEVICE=/dev/null
  
  # apply context specific CLASSPATH entries
-@@ -78,23 +78,7 @@
+ if [ -f .lein-classpath ]; then
      CLASSPATH="`cat .lein-classpath`:$CLASSPATH"
  fi
  
@@ -26,11 +25,8 @@
 -
 -# Do not use installed leiningen jar during self-compilation
 -if ! { [ "$1" = "compile" ] &&
--       grep -qsE 'defproject leiningen[[:space:]]+"[[:digit:].]+"' \
--         project.clj ;}; then
+-        grep -qsE 'defproject leiningen[[:space:]]+"[[:digit:].]+"' \
+-            project.clj ;}; then
 -    CLASSPATH="$CLASSPATH":/usr/share/java/leiningen-$LEIN_VERSION.jar
 -fi
 +CLASSPATH="$CLASSPATH:$(dirname $0)/../lib/*"
- 
- if [ $DEBUG ]; then
-     echo $CLASSPATH
diff --git a/pkgs/development/tools/documentation/doxygen/1.7.nix b/pkgs/development/tools/documentation/doxygen/1.7.nix
new file mode 100644
index 0000000000000..86f2e8cf2b2eb
--- /dev/null
+++ b/pkgs/development/tools/documentation/doxygen/1.7.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchurl, perl, flex, bison, qt4 }:
+
+let
+  name = "doxygen-1.7.4";
+in
+stdenv.mkDerivation {
+  inherit name;
+
+  src = fetchurl {
+    url = "ftp://ftp.stack.nl/pub/users/dimitri/${name}.src.tar.gz";
+    sha256 = "0rnzyp5f8c454fdkgpg5hpxwmx642spgxcpw3blbvnyw8129jp44";
+  };
+
+  patches = [ ./tmake.patch ];
+
+  buildInputs =
+    [ perl flex bison ]
+    ++ stdenv.lib.optional (qt4 != null) qt4;
+
+  prefixKey = "--prefix ";
+
+  configureFlags =
+    [ "--dot dot" ]
+    ++ stdenv.lib.optional (qt4 != null) "--with-doxywizard";
+
+  preConfigure = stdenv.lib.optionalString (qt4 != null)
+    ''
+      echo "using QTDIR=${qt4}..."
+      export QTDIR=${qt4}
+    '';
+
+  makeFlags = "MAN1DIR=share/man/man1";
+
+  enableParallelBuilding = true;
+
+  meta = {
+    license = "GPLv2+";
+    homepage = "http://doxygen.org/";
+    description = "Doxygen, a source code documentation generator tool";
+
+    longDescription = ''
+      Doxygen is a documentation system for C++, C, Java, Objective-C,
+      Python, IDL (CORBA and Microsoft flavors), Fortran, VHDL, PHP,
+      C\#, and to some extent D.  It can generate an on-line
+      documentation browser (in HTML) and/or an off-line reference
+      manual (in LaTeX) from a set of documented source files.
+    '';
+
+    maintainers = [stdenv.lib.maintainers.simons];
+    platforms = if (qt4 != null) then stdenv.lib.platforms.linux else stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/documentation/doxygen/default.nix b/pkgs/development/tools/documentation/doxygen/default.nix
index 86f2e8cf2b2eb..776c0bf450c78 100644
--- a/pkgs/development/tools/documentation/doxygen/default.nix
+++ b/pkgs/development/tools/documentation/doxygen/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, perl, flex, bison, qt4 }:
 
 let
-  name = "doxygen-1.7.4";
+  name = "doxygen-1.8.0";
 in
 stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "ftp://ftp.stack.nl/pub/users/dimitri/${name}.src.tar.gz";
-    sha256 = "0rnzyp5f8c454fdkgpg5hpxwmx642spgxcpw3blbvnyw8129jp44";
+    sha256 = "0cymkk8wpws326aqpsixyzr4pk98xgpzrvxxjm76ar79pcs91ykh";
   };
 
   patches = [ ./tmake.patch ];
diff --git a/pkgs/development/tools/haskell/haskdogs/default.nix b/pkgs/development/tools/haskell/haskdogs/default.nix
new file mode 100644
index 0000000000000..2e158abaf8980
--- /dev/null
+++ b/pkgs/development/tools/haskell/haskdogs/default.nix
@@ -0,0 +1,20 @@
+{ cabal, Cabal, filepath, HSH }:
+
+cabal.mkDerivation (self: {
+  pname = "haskdogs";
+  version = "0.3";
+  sha256 = "0aji59sazlhn5yardgrsdpf85fvb0mwn4bpslcjxr7mnmpa7j0kz";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ Cabal filepath HSH ];
+  meta = {
+    homepage = "http://github.com/ierton/haskdogs";
+    description = "Generate ctags file for haskell project directory and it's deps";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
+  };
+})
diff --git a/pkgs/development/tools/haskell/hasktags/default.nix b/pkgs/development/tools/haskell/hasktags/default.nix
new file mode 100644
index 0000000000000..d3c373ae4df76
--- /dev/null
+++ b/pkgs/development/tools/haskell/hasktags/default.nix
@@ -0,0 +1,19 @@
+{ cabal, filepath }:
+
+cabal.mkDerivation (self: {
+  pname = "hasktags";
+  version = "0.68.2";
+  sha256 = "0lb28vj8mhaskw3n7wpjgbj0311ywh76yc0ajczzsiqa3p6mypss";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ filepath ];
+  meta = {
+    description = "Produces ctags \"tags\" and etags \"TAGS\" files for Haskell programs";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
+  };
+})
diff --git a/pkgs/development/tools/parsing/frown/builder.sh b/pkgs/development/tools/parsing/frown/builder.sh
deleted file mode 100644
index 82689b42d72d0..0000000000000
--- a/pkgs/development/tools/parsing/frown/builder.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-source $stdenv/setup
-
-makeFlags="-e PREFIX=\"$out\""
-
-ensureDir $out/bin
-
-genericBuild
diff --git a/pkgs/development/tools/parsing/frown/default.nix b/pkgs/development/tools/parsing/frown/default.nix
deleted file mode 100644
index f94a12e11d140..0000000000000
--- a/pkgs/development/tools/parsing/frown/default.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{stdenv, fetchurl, ghc}:
-
-stdenv.mkDerivation {
-  name = "frown-0.6.1";
-  src = fetchurl {
-    url = http://www.informatik.uni-bonn.de/~ralf/frown/frown-0.6.1.tar.gz;
-    md5 = "b6fe9a8bf029c2a7c31b574be05816cf";
-  };
-  builder = ./builder.sh;
-  buildInputs = [ghc];
-}
diff --git a/pkgs/development/web/nodejs/default.nix b/pkgs/development/web/nodejs/default.nix
index 9f48627e39243..19785753b2db9 100644
--- a/pkgs/development/web/nodejs/default.nix
+++ b/pkgs/development/web/nodejs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, openssl, python, zlib, v8 }:
+{ stdenv, fetchurl, openssl, python, zlib, v8, darwinInstallNameToolUtility }:
 
 stdenv.mkDerivation rec {
   version = "0.6.10";
@@ -17,11 +17,17 @@ stdenv.mkDerivation rec {
     "--shared-v8-libpath=${v8}/lib"
   ];
 
-  patchPhase = ''
+  patches = stdenv.lib.optional stdenv.isDarwin ./no-arch-flag.patch;
+
+  prePatch = ''
     sed -e 's|^#!/usr/bin/env python$|#!${python}/bin/python|g' -i tools/{*.py,waf-light,node-waf}
   '';
 
-  buildInputs = [ python openssl v8 zlib];
+  postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+    install_name_tool -change libv8.dylib ${v8}/lib/libv8.dylib $out/bin/node
+  '';
+
+  buildInputs = [ python openssl v8 zlib ] ++ stdenv.lib.optional stdenv.isDarwin darwinInstallNameToolUtility;
 
   meta = with stdenv.lib; {
     description = "Event-driven I/O framework for the V8 JavaScript engine";
diff --git a/pkgs/development/web/nodejs/no-arch-flag.patch b/pkgs/development/web/nodejs/no-arch-flag.patch
new file mode 100644
index 0000000000000..bbe96c0c55270
--- /dev/null
+++ b/pkgs/development/web/nodejs/no-arch-flag.patch
@@ -0,0 +1,21 @@
+diff -Naur node-v0.6.10-orig/wscript node-v0.6.10/wscript
+--- node-v0.6.10-orig/wscript	2012-02-02 19:56:42.000000000 -0500
++++ node-v0.6.10/wscript	2012-02-25 14:18:50.000000000 -0500
+@@ -443,17 +443,6 @@
+   if sys.platform.startswith("darwin"):
+     # used by platform_darwin_*.cc
+     conf.env.append_value('LINKFLAGS', ['-framework','Carbon'])
+-    # cross compile for architecture specified by DEST_CPU
+-    if 'DEST_CPU' in conf.env:
+-      arch = conf.env['DEST_CPU']
+-      # map supported_archs to GCC names:
+-      arch_mappings = {'ia32': 'i386', 'x64': 'x86_64'}
+-      if arch in arch_mappings:
+-        arch = arch_mappings[arch]
+-      flags = ['-arch', arch]
+-      conf.env.append_value('CCFLAGS', flags)
+-      conf.env.append_value('CXXFLAGS', flags)
+-      conf.env.append_value('LINKFLAGS', flags)
+   if 'DEST_CPU' in conf.env:
+     arch = conf.env['DEST_CPU']
+     # TODO: -m32 is only available on 64 bit machines, so check host type
diff --git a/pkgs/games/rigsofrods/default.nix b/pkgs/games/rigsofrods/default.nix
index 8fc623184ed9e..4fa8979830651 100644
--- a/pkgs/games/rigsofrods/default.nix
+++ b/pkgs/games/rigsofrods/default.nix
@@ -1,21 +1,15 @@
 { fetchsvn, fetchurl, stdenv, wxGTK290, freeimage, cmake, zziplib, mesa, boost, 
-  pkgconfig, libuuid, lua5, openal, ogre, ois, curl, gtk, pixman, mygui, unzip,
-  angelscript
+  pkgconfig, libuuid, openal, ogre, ois, curl, gtk, pixman, mygui, unzip,
+  angelscript, caelum, ogrepaged, mysocketw, libxcb
   }:
 
 stdenv.mkDerivation rec {
-  /* version = "1780"; */
-  version = "0.37";
+  version = "0.39.4";
   name = "rigsofrods-${version}";
 
-  /* src = fetchsvn {
-    url = https://rigsofrods.svn.sourceforge.net/svnroot/rigsofrods/trunk;
-    rev = version;
-  }; */
-  
   src = fetchurl {
-    url = mirror://sourceforge/rigsofrods/rigsofrods/0.37-dev/RoR-0.37.126-Sources.zip;
-    sha256 = "03mxmxpfdlsri0j3nqgyj2pc4gpzs8zq8qgg6qhnyazi7j95j4mk";
+    url = mirror://sourceforge/rigsofrods/rigsofrods-source-0.39.4.tar.bz2;
+    sha256 = "1kpjkski0yllwzdki0rjpqvifjs0fwpgs513y4dv4s9wfwan1qcx";
   };
 
   contentPackSrc = fetchurl {
@@ -26,45 +20,34 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   cmakeFlags = [
-    "-DROR_USE_LUA=TRUE" "-DLUA_LIBRARIES=${lua5}/lib/liblua.a"
     "-DROR_USE_CURL=TRUE"
     "-DROR_USE_MYGUI=TRUE"
-    # "-DROR_USE_OPNEAL=TRUE"
-    # "-DROR_USE_MOFILEREADER=TRUE"
-    # "-DROR_USE_CAELUM=TRUE"
-    # "-DROR_USE_PAGED=TRUE"
+    "-DROR_USE_OPNEAL=TRUE"
+    "-DROR_USE_CAELUM=TRUE"
+    "-DROR_USE_PAGED=TRUE"
     "-DROR_USE_ANGELSCRIPT=TRUE"
-    # "-DROR_USE_SOCKETW=TRUE"
+    "-DROR_USE_SOCKETW=TRUE"
+    "-DCMAKE_BUILD_TYPE=Release"
   ];
 
   installPhase = ''
-    sed -e "s@/usr/local/lib/OGRE@${ogre}/lib/OGRE@" -i ../bin/plugins.cfg
-    sed -e "/CgProgramManager/d" -i ../bin/plugins.cfg
+    sed -e "s@/usr/local/lib/OGRE@${ogre}/lib/OGRE@" -i ../tools/linux/binaries/plugins.cfg
     ensureDir $out/share/rigsofrods
-    cp -r .. $out/share/rigsofrods/build-dir
+    cp -r ../bin/* $out/share/rigsofrods
+    cp ../tools/linux/binaries/plugins.cfg $out/share/rigsofrods
     ensureDir $out/bin
-    for i in RoR rorconfig RoRViewer; do
-      echo '#! ${stdenv.shell}' >> "$out/bin/$i"
-      if [ "$i" = "rorconfig" ]; then
-        echo "[ -d \"\$HOME/.rigsofrods\" ] && cp -r '$out/share/rigsofrods/build-dirs/bin/skeleton' \"\$HOME/.rigsofrods\"" >> "$out/bin/$i"
-        echo "chmod u+w -R \"\$HOME/.rigsofrods\"" >> "$out/bin/$i"
-      fi
-      echo "\"$out/share/rigsofrods/build-dir/bin/$i\"" >> "$out/bin/$i"
-      chmod a+x "$out/bin/$i"
-    done
-    cd $out/share/rigsofrods/build-dir/bin/
+    ln -s $out/share/rigsofrods/{RoR,rorconfig} $out/bin
+    cd $out/share/rigsofrods
+    mkdir packs
+    cd packs
     unzip "${contentPackSrc}"
   '';
 
-  preConfigure = ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -langelscript -lgtk-x11-2.0"
-    sed -e 's@wxLOCALE_CONV_ENCODING@0@g' -i source/configurator/configurator.cpp
-  '';
-
-  # patches = [ ./wx.patch ];
+  patches = [ ./doubleslash.patch ./paths.patch ];
 
   buildInputs = [ wxGTK290 freeimage cmake zziplib mesa boost pkgconfig
-    libuuid lua5 openal ogre ois curl gtk mygui unzip angelscript ];
+    libuuid openal ogre ois curl gtk mygui unzip angelscript
+    caelum ogrepaged mysocketw libxcb ];
 
   meta = {
     description = "3D simulator game where you can drive, fly and sail various vehicles";
diff --git a/pkgs/games/rigsofrods/doubleslash.patch b/pkgs/games/rigsofrods/doubleslash.patch
new file mode 100644
index 0000000000000..c62c5470dfc78
--- /dev/null
+++ b/pkgs/games/rigsofrods/doubleslash.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeDependenciesConfig.txt b/CMakeDependenciesConfig.txt
+index 447a440..e2562de 100644
+--- a/CMakeDependenciesConfig.txt
++++ b/CMakeDependenciesConfig.txt
+@@ -228,7 +228,7 @@ ELSEIF(UNIX)
+    # Paged Geometry

+    find_path(PAGED_INCLUDE_DIRS "PagedGeometry/PagedGeometry.h")

+    if(PAGED_INCLUDE_DIRS)

+-      set(PAGED_INCLUDE_DIRS "${PAGED_INCLUDE_DIRS};/${PAGED_INCLUDE_DIRS}/PagedGeometry")

++      set(PAGED_INCLUDE_DIRS "${PAGED_INCLUDE_DIRS};${PAGED_INCLUDE_DIRS}/PagedGeometry")

+       find_library(PAGED_LIBRARIES "PagedGeometry")

+       set(ROR_USE_PAGED ON)

+    else()

diff --git a/pkgs/games/rigsofrods/paths.patch b/pkgs/games/rigsofrods/paths.patch
new file mode 100644
index 0000000000000..e20b00a76935d
--- /dev/null
+++ b/pkgs/games/rigsofrods/paths.patch
@@ -0,0 +1,12 @@
+diff --git a/source/main/framework/ContentManager.cpp b/source/main/framework/ContentManager.cpp
+index 0bfea8c..82cdab9 100644
+--- a/source/main/framework/ContentManager.cpp
++++ b/source/main/framework/ContentManager.cpp
+@@ -238,6 +238,7 @@ bool ContentManager::init(void)
+ #endif // USE_OPENAL
+ 
+ 	// and the content
++	ResourceGroupManager::getSingleton().addResourceLocation(SSETTING("Program Path")+"packs", "FileSystem", "Packs", true);
+ 	ResourceGroupManager::getSingleton().addResourceLocation(SSETTING("User Path")+"packs", "FileSystem", "Packs", true);
+ 	ResourceGroupManager::getSingleton().addResourceLocation(SSETTING("User Path")+"mods",  "FileSystem", "Packs", true);
+ 
diff --git a/pkgs/games/rigsofrods/wx.patch b/pkgs/games/rigsofrods/wx.patch
deleted file mode 100644
index d5b8e27de7b38..0000000000000
--- a/pkgs/games/rigsofrods/wx.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/source/configurator/configurator.cpp b/source/configurator/configurator.cpp
-index c058820..5a4b316 100644
---- a/source/configurator/configurator.cpp
-+++ b/source/configurator/configurator.cpp
-@@ -2155,7 +2155,7 @@ void MyDialog::OnsightrangesliderScroll(wxScrollEvent &e)
- 	int v = sightRange->GetValue();
- 	if(v == sightRange->GetMax())
- 	{
--		s = "Unlimited";
-+		s = _("Unlimited");
- 	} else
- 	{
- 		s.Printf(wxT("%i m"), v);
diff --git a/pkgs/games/spring/spring-lobby.nix b/pkgs/games/spring/spring-lobby.nix
index 9365f2e658588..4e34d3807ca73 100644
--- a/pkgs/games/spring/spring-lobby.nix
+++ b/pkgs/games/spring/spring-lobby.nix
@@ -3,17 +3,17 @@
 stdenv.mkDerivation rec {
 
   name = "spring-lobby-${version}";
-  version = "0.116";
+  version = "0.139";
 
   src = fetchurl {
     url = "http://www.springlobby.info/tarballs/springlobby-${version}.tar.bz2";
-    sha256 = "04gb2dc2xc0lj2d14jzz330kn5faffdz3xph9bg2m68b28fv0xsk";
+    sha256 = "0ibvv2p4c0qa933mr3hfn5lp8c6h1dycl6k6i1n2gvpa8jr598m5";
   };
 
   buildInputs = [ cmake wxGTK openal pkgconfig curl gettext libtorrentRasterbar boost ];
 
   prePatch = ''
-    substituteInPlace tools/regen_config_header.sh --replace "#!/bin/bash" "#!${bash}/bin/bash"
+    substituteInPlace tools/regen_config_header.sh --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
     substituteInPlace tools/test-susynclib.awk --replace "#!/usr/bin/awk" "#!${gawk}/bin/awk"
     substituteInPlace CMakeLists.txt --replace "boost_system-mt" "boost_system"
   '';
@@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
     description = "A free cross-platform lobby client for the Spring RTS project.";
     license = licenses.gpl2;
     maintainers = [ maintainers.phreedom ];
-    platforms = platforms.linux;
+    platforms = platforms.all;
   };
 }
\ No newline at end of file
diff --git a/pkgs/lib/debug.nix b/pkgs/lib/debug.nix
index d4d2702a2843f..e452151add6be 100644
--- a/pkgs/lib/debug.nix
+++ b/pkgs/lib/debug.nix
@@ -42,7 +42,7 @@ rec {
       else if x == null then "x is null"
       else if isInt x then "x is an integer `${toString x}'"
       else if isString x then "x is a string `${substring 0 50 x}...'"
-      else "x is probably a path `${substring 0 50 (toString x)}'";
+      else "x is probably a path `${substring 0 50 (toString x)}...'";
 
   # trace the arguments passed to function and its result 
   # maybe rewrite these functions in a traceCallXml like style. Then one function is enough
diff --git a/pkgs/misc/my-env/default.nix b/pkgs/misc/my-env/default.nix
index 76080d8e114a3..8485346e67b9f 100644
--- a/pkgs/misc/my-env/default.nix
+++ b/pkgs/misc/my-env/default.nix
@@ -45,7 +45,7 @@ mkDerivation {
   # the buildNativeInputs environment variable.
   buildNativeInputs = [ ] ++ buildInputs ;
   name = "env-${name}";
-  phases = [ "buildPhase" ];
+  phases = [ "buildPhase" "fixupPhase" ];
   setupNew = substituteAll {
     src = ../../stdenv/generic/setup.sh;
     preHook="";
@@ -56,7 +56,7 @@ mkDerivation {
 
   buildPhase = ''
     set -x
-    mkdir -p "$out/dev-envs" "$out/nix-support"
+    mkdir -p "$out/dev-envs" "$out/nix-support" "$out/bin"
     s="$out/nix-support/setup-new-modified"
     cp "$setupNew" "$s"
     # shut some warning up.., do not use set -e
@@ -111,6 +111,12 @@ mkDerivation {
       export PATH
       echo $name loaded
     EOF
-    exit 0
+
+    cat >> "$out/bin/load-''${name/env-/}-env" << EOF
+    #!/bin/sh
+
+    source "$out/dev-envs/''${name/env-/}"
+    EOF
+    chmod +x "$out/bin/load-''${name/env-/}-env" 
   '';
 }
diff --git a/pkgs/os-specific/linux/acpi-call/default.nix b/pkgs/os-specific/linux/acpi-call/default.nix
index d7c9e2c3695e3..f9615da0c2f69 100644
--- a/pkgs/os-specific/linux/acpi-call/default.nix
+++ b/pkgs/os-specific/linux/acpi-call/default.nix
@@ -10,16 +10,14 @@ stdenv.mkDerivation {
   };
   
   preBuild = ''
-    kernelVersion=$(cd ${kernel}/lib/modules && ls)
     sed -e 's/break/true/' -i test_off.sh
     sed -e 's@/bin/bash@.bin/sh@' -i test_off.sh
-    sed -e "s@/lib/modules/\$(.*)@${kernel}/lib/modules/$kernelVersion@" -i Makefile
+    sed -e "s@/lib/modules/\$(.*)@${kernel}/lib/modules/${kernel.version}@" -i Makefile
   '';
  
   installPhase = ''
-    kernelVersion=$(cd ${kernel}/lib/modules && ls)
-    ensureDir $out/lib/modules/$kernelVersion/misc
-    cp acpi_call.ko $out/lib/modules/$kernelVersion/misc
+    ensureDir $out/lib/modules/${kernel.version}/misc
+    cp acpi_call.ko $out/lib/modules/${kernel.version}/misc
     ensureDir $out/bin
     cp test_off.sh $out/bin/test_discrete_video_off.sh
   '';
diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix
new file mode 100644
index 0000000000000..8a7d2b9e45813
--- /dev/null
+++ b/pkgs/os-specific/linux/apparmor/default.nix
@@ -0,0 +1,93 @@
+{ stdenv, fetchurl
+, autoconf, automake, libtool, makeWrapper
+, perl, bison, flex, glibc, gettext, which, rpm, tetex, LocaleGettext, bash, pam, TermReadKey, RpcXML, swig}:
+stdenv.mkDerivation rec {
+
+  name = "apparmor-${version}";
+  version = "2.6.1";
+
+  src = fetchurl {
+    url = "http://launchpad.net/apparmor/2.6/2.6.1/+download/${name}.tar.gz";
+    sha256 = "1x7225xgzyc5agbn41xsip236anr1kmaw70xc94pag82q7c1bc4w";
+  };
+
+  buildInputs = [ autoconf automake libtool perl bison flex gettext which rpm tetex LocaleGettext pam TermReadKey RpcXML swig makeWrapper ];
+
+  prePatch = ''
+    substituteInPlace libraries/libapparmor/src/Makefile.in --replace "/usr/include" "${glibc}/include"
+    substituteInPlace libraries/libapparmor/src/Makefile.am --replace "/usr/include" "${glibc}/include"
+    substituteInPlace common/Make.rules --replace "/usr/bin/pod2man" "${perl}/bin/pod2man"
+    substituteInPlace common/Make.rules --replace "/usr/bin/pod2html" "${perl}/bin/pod2html"
+
+    substituteInPlace parser/Makefile --replace "/usr/bin/bison" "${bison}/bin/bison"
+    substituteInPlace parser/Makefile --replace "/usr/bin/flex" "${flex}/bin/flex"
+    substituteInPlace parser/Makefile --replace "/usr/include/bits/socket.h" "${glibc}/include/bits/socket.h"
+    substituteInPlace parser/Makefile --replace "/usr/include/linux/capability.h" "${glibc}/include/linux/capability.h"
+
+    substituteInPlace parser/tst/gen-xtrans.pl --replace "/usr/bin/perl" "${perl}/bin/perl"
+    substituteInPlace parser/tst/Makefile --replace "/usr/bin/prove" "${perl}/bin/prove"
+    substituteInPlace parser/tst/Makefile --replace "./caching.sh" "${bash}/bin/bash ./caching.sh"
+  '';
+
+  buildPhase =''
+    PERL5LIB=$PERL5LIB:$out/lib/perl5/site_perl:$out/lib
+
+    cd libraries/libapparmor
+    ./autogen.sh
+    ./configure --prefix=$out --with-perl	# see below
+    make
+    make check
+    make install
+    ensureDir $out/lib/perl5/site_perl/
+    cp swig/perl/LibAppArmor.pm $out/lib/perl5/site_perl/
+    cp swig/perl/LibAppArmor.bs $out/lib/perl5/site_perl/
+# this is automatically copied elsewhere....
+
+    cd ../../utils
+    make
+    make install DESTDIR=$out BINDIR=$out/bin VENDOR_PERL=/lib/perl5/site_perl
+
+    cd ../parser
+    make
+    make install DESTDIR=$out DISTRO=unknown
+
+#    cd ../changehat/mod_apparmor
+#    make		# depends on libapparmor having been built first
+#    make install
+
+    cd ../changehat/pam_apparmor
+    make		# depends on libapparmor having been built first
+    make install DESTDIR=$out
+
+    cd ../../profiles
+LD_LIBRARY_PATH=$out/lib    make
+#LD_LIBRARY_PATH=$out/lib    make check	# depends on the parser having been built first
+    make install DESTDIR=$out
+
+  '';
+  installPhase = ''
+    for i in $out/bin/*;  do
+      wrapProgram $i --prefix PERL5LIB : "$PERL5LIB:$out/lib/perl5/5.10.1/i686-linux-thread-multi/"
+    done
+  '';
+  passthru = {
+    linux_2_6_37_patch = {
+      name= "apparmor";
+      features.apparmor = true;
+      patch = [
+	"${src}/kernel-patches/2.6.37/0001-AppArmor-compatibility-patch-for-v5-network-controll.patch"
+	"${src}/kernel-patches/2.6.37/0002-AppArmor-compatibility-patch-for-v5-interface.patch"
+	"${src}/kernel-patches/2.6.37/0003-AppArmor-Allow-dfa-backward-compatibility-with-broke.patch"
+      ];
+    };
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://apparmor.net/;
+    description = "A Linux application security system";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.phreedom ];
+    platforms = platforms.linux;
+  };
+}
+
diff --git a/pkgs/os-specific/linux/bbswitch/default.nix b/pkgs/os-specific/linux/bbswitch/default.nix
index a8f8a9d33ef3b..7c5752b4e34ec 100644
--- a/pkgs/os-specific/linux/bbswitch/default.nix
+++ b/pkgs/os-specific/linux/bbswitch/default.nix
@@ -17,14 +17,13 @@ stdenv.mkDerivation {
   preBuild = ''
     kernelVersion=$(cd ${kernel}/lib/modules && ls)
     substituteInPlace Makefile \
-      --replace "\$(shell uname -r)" "$kernelVersion" \
+      --replace "\$(shell uname -r)" "${kernel.version}" \
       --replace "/lib/modules" "${kernel}/lib/modules"
   '';
  
   installPhase = ''
-    kernelVersion=$(cd ${kernel}/lib/modules && ls)
-    ensureDir $out/lib/modules/$kernelVersion/misc
-    cp bbswitch.ko $out/lib/modules/$kernelVersion/misc
+    ensureDir $out/lib/modules/${kernel.version}/misc
+    cp bbswitch.ko $out/lib/modules/${kernel.version}/misc
 
     ensureDir $out/bin
     tee $out/bin/discrete_vga_poweroff << EOF
diff --git a/pkgs/os-specific/linux/gogoclient/config-paths.patch b/pkgs/os-specific/linux/gogoclient/config-paths.patch
new file mode 100644
index 0000000000000..88358038bc7e7
--- /dev/null
+++ b/pkgs/os-specific/linux/gogoclient/config-paths.patch
@@ -0,0 +1,39 @@
+diff -urN gogoc-1_2-RELEASE/gogoc-tsp/conf/gogoc.conf.in gogoc-1_2-RELEASE-fix/gogoc-tsp/conf/gogoc.conf.in
+--- gogoc-1_2-RELEASE/gogoc-tsp/conf/gogoc.conf.in	2009-11-20 17:53:12.000000000 +0100
++++ gogoc-1_2-RELEASE-fix/gogoc-tsp/conf/gogoc.conf.in	2012-02-25 15:16:12.758849219 +0100
+@@ -224,7 +224,7 @@
+ #
+ #   broker_list=<file_name>
+ #  
+-broker_list=tsp-broker-list.txt
++broker_list=/var/lib/gogoc/tsp-broker-list.txt
+ 
+ #
+ # Last Server Used File Name:
+@@ -234,7 +234,7 @@
+ #
+ #   last_server=<file_name>
+ #
+-last_server=tsp-last-server.txt
++last_server=/var/lib/gogoc/tsp-last-server.txt
+ 
+ #
+ # Always Use Last Known Working Server:
+@@ -294,7 +294,7 @@
+ #
+ #   log_filename=<file_name>
+ #
+-log_filename=gogoc.log
++log_filename=/var/log/gogoc.log
+ 
+ #
+ # Log File Rotation:
+@@ -313,7 +313,7 @@
+ #
+ #   log_rotation=<yes|no>
+ #
+-log_rotation=yes
++log_rotation=no
+ 
+ #
+ # Log File Rotation Size:
diff --git a/pkgs/os-specific/linux/gogoclient/default.nix b/pkgs/os-specific/linux/gogoclient/default.nix
new file mode 100644
index 0000000000000..d1a4bf9feb65a
--- /dev/null
+++ b/pkgs/os-specific/linux/gogoclient/default.nix
@@ -0,0 +1,38 @@
+{stdenv, fetchurl, openssl, nettools, iproute, procps}:
+
+let baseName = "gogoclient";
+    version  = "1.2";
+in
+
+stdenv.mkDerivation rec {
+  name = "${baseName}-${version}";
+
+  src = fetchurl {
+    url = http://gogo6.com/downloads/gogoc-1_2-RELEASE.tar.gz;
+    sha256 = "a0ef45c0bd1fc9964dc8ac059b7d78c12674bf67ef641740554e166fa99a2f49";
+  };
+  patches = [./gcc46-include-fix.patch ./config-paths.patch ];
+  makeFlags = ["target=linux"];
+  installFlags = ["installdir=$(out)"];
+
+  buildInputs = [openssl];
+
+  preFixup = ''
+    ensureDir $out/share/${name}
+    chmod 444 $out/bin/gogoc.conf
+    mv $out/bin/gogoc.conf $out/share/${name}/gogoc.conf.sample
+    rm $out/bin/gogoc.conf.sample
+
+    substituteInPlace "$out/template/linux.sh" \
+      --replace "/sbin/ifconfig" "${nettools}/sbin/ifconfig" \
+      --replace "/sbin/route"    "${nettools}/sbin/route" \
+      --replace "/sbin/ip"       "${iproute}/sbin/ip" \
+      --replace "/sbin/sysctl"   "${procps}/sbin/sysctl"
+  '';
+
+  meta = {
+    homepage = http://gogonet.gogo6.com;
+    description = "Client to connect to the Freenet6 IPv6 tunnel broker service";
+    maintainers = [stdenv.lib.maintainers.bluescreen303];
+  };
+}
diff --git a/pkgs/os-specific/linux/gogoclient/gcc46-include-fix.patch b/pkgs/os-specific/linux/gogoclient/gcc46-include-fix.patch
new file mode 100644
index 0000000000000..22ecad187d62c
--- /dev/null
+++ b/pkgs/os-specific/linux/gogoclient/gcc46-include-fix.patch
@@ -0,0 +1,22 @@
+diff -urN gogoc-1_2-RELEASE/gogoc-messaging/src/clientmsgsender.cc gogoc-1_2-RELEASE-fix/gogoc-messaging/src/clientmsgsender.cc
+--- gogoc-1_2-RELEASE/gogoc-messaging/src/clientmsgsender.cc	2009-11-20 17:34:55.000000000 +0100
++++ gogoc-1_2-RELEASE-fix/gogoc-messaging/src/clientmsgsender.cc	2012-02-25 15:06:20.764698284 +0100
+@@ -15,6 +15,7 @@
+ // **************************************************************************
+ #include <gogocmessaging/clientmsgsender.h>
+ #include <assert.h>
++#include <stddef.h>
+ 
+ 
+ namespace gogocmessaging
+diff -urN gogoc-1_2-RELEASE/gogoc-messaging/src/servermsgsender.cc gogoc-1_2-RELEASE-fix/gogoc-messaging/src/servermsgsender.cc
+--- gogoc-1_2-RELEASE/gogoc-messaging/src/servermsgsender.cc	2009-11-20 17:34:56.000000000 +0100
++++ gogoc-1_2-RELEASE-fix/gogoc-messaging/src/servermsgsender.cc	2012-02-25 15:06:36.722740288 +0100
+@@ -15,6 +15,7 @@
+ // **************************************************************************
+ #include <gogocmessaging/servermsgsender.h>
+ #include <assert.h>
++#include <stddef.h>
+ 
+ 
+ namespace gogocmessaging
diff --git a/pkgs/os-specific/linux/mcelog/default.nix b/pkgs/os-specific/linux/mcelog/default.nix
new file mode 100644
index 0000000000000..82c502ede72fe
--- /dev/null
+++ b/pkgs/os-specific/linux/mcelog/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchgit }:
+
+# Shows the machine check exceptions logged by the kernel.
+# E.g. a log is generated when intel processors cpu-throttle.
+
+# The releases of this package are no longer on kernel.org
+# hence we fetch them from github. Apparently, these
+# are also more recent.
+
+let
+
+  rev = "7fa99818367a6d17014b36d6f918ad848cbe7ce2";
+  version = "1.0pre-${rev}"; 
+  sha256 = "15eea3acd76190c7922c71028b31963221a2eefd8afa713879e191a26bc22ae7";
+
+in stdenv.mkDerivation {
+
+  name = "mcelog-${version}";
+
+  src = fetchgit {
+    url = "https://github.com/andikleen/mcelog";
+    inherit sha256;
+    inherit rev;
+  };
+
+  makeFlags = "prefix=$(out) etcprefix=$(out) DOCDIR=$(out)/share/doc";
+
+  meta = {
+    description = "Tool to display logged machine check exceptions";
+    homepage = http://mcelog.org/;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 5b829db09cd0c..23d1062cc3982 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -7,7 +7,7 @@
 
 with stdenv.lib;
 
-let versionNumber = "290.10"; in
+let versionNumber = "295.20"; in
 
 stdenv.mkDerivation {
   name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}";
@@ -18,12 +18,12 @@ stdenv.mkDerivation {
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
-        sha256 = "1amdqmgi8rf8mafc5d8jnw6rk1bxrmxc5jm4wm2p8xqzm99qzglr";
+        sha256 = "006my8y7dkmzy1y3md1j2p9sy53cvhz7idkjgzizyg05jgac778g";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run";
-        sha256 = "01d4cci1ipnamrxisdvsxjr6d4qbj257b46y0glm6grnw11i3x2g";
+        sha256 = "1m69ki94szy7inqc5x2znab9jjqjfyjd4lwvx9qnazq918gdf1kx";
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix b/pkgs/os-specific/linux/nvidia-x11/legacy173.nix
index 638f2e4360e7a..541e442f6b175 100644
--- a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/legacy173.nix
@@ -2,7 +2,7 @@
 
 let 
 
-  versionNumber = "173.14.27";
+  versionNumber = "173.14.31";
 
 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 = "08l3zs7sb8n4vjm1vg3yy1pkj54dq7gfrjashlqwbznaa2cdwknb";
+        sha256 = "090rkl1psmcsx3mxb6lnirqipka8vp78y2j7pzqyzl592qpscmg8";
       }
     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 = "0pmg5whpk0rmzg8zb7qq2imva2hf346c4pvpz5sjir6346350blw";
+        sha256 = "0hs4fd61iha7b2936wj5w5fj3rxmw60jnkgf6l1pl3va7sfw30d2";
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
diff --git a/pkgs/os-specific/linux/qemu-kvm/1.0.nix b/pkgs/os-specific/linux/qemu-kvm/1.0.nix
new file mode 100644
index 0000000000000..162fcaee55a6e
--- /dev/null
+++ b/pkgs/os-specific/linux/qemu-kvm/1.0.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchurl, attr, zlib, SDL, alsaLib, pkgconfig, pciutils, libuuid, vde2
+, libjpeg, libpng, ncurses, python, glib }:
+
+assert stdenv.isLinux;
+
+let version = "1.0"; in
+stdenv.mkDerivation rec {
+  name = "qemu-kvm-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/kvm/qemu-kvm/${version}/${name}.tar.gz";
+    sha256 = "0vhigv9r9yrhph4wc4mhg99a683iwf121kjigqzg92x2l3ayl4dp";
+  };
+
+  patches = [ ./smb-tmpdir.patch ./qemu-img-fix-corrupt-vdi.patch ];
+  postPatch =
+    '' for i in $(find kvm -type f)
+       do
+         sed -i "$i" \
+             -e 's|/bin/bash|/bin/sh|g ;
+                 s|/usr/bin/python|${python}/bin/python|g ;
+                 s|/bin/rm|rm|g'
+       done
+    '';
+
+  configureFlags =
+    [ "--audio-drv-list=alsa"
+      "--smbd=smbd"                               # use `smbd' from $PATH
+    ];
+
+  enableParallelBuilding = true;
+
+  buildInputs =
+    [ attr zlib SDL alsaLib pkgconfig pciutils libuuid vde2 libjpeg libpng
+      ncurses python glib
+    ];
+
+  postInstall =
+    ''
+      # Libvirt expects us to be called `qemu-kvm'.  Otherwise it will
+      # set the domain type to "qemu" rather than "kvm", which can
+      # cause architecture selection to misbehave.
+      ln -sv $(cd $out/bin && echo qemu-system-*) $out/bin/qemu-kvm
+    '';
+
+  meta = {
+    homepage = http://www.linux-kvm.org/;
+    description = "A full virtualization solution for Linux on x86 hardware containing virtualization extensions";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/qemu-kvm/default.nix b/pkgs/os-specific/linux/qemu-kvm/default.nix
index 821084c1b3328..c5c7e0b01f0a0 100644
--- a/pkgs/os-specific/linux/qemu-kvm/default.nix
+++ b/pkgs/os-specific/linux/qemu-kvm/default.nix
@@ -11,9 +11,12 @@ stdenv.mkDerivation rec {
     sha256 = "0gkk96yid3nq8i4z8xbiarj0r9v7b2zavf5mnh0rc7kclzxa7mmf";
   };
 
-  patches = [ ./smb-tmpdir.patch ];
+  patches = [ ./smb-tmpdir.patch ./qemu-img-fix-corrupt-vdi.patch ];
 
-  configureFlags = "--audio-drv-list=alsa";
+  configureFlags =
+    [ "--audio-drv-list=alsa"
+      "--smbd=smbd"                               # use `smbd' from $PATH
+    ];
 
   enableParallelBuilding = true;
 
@@ -22,12 +25,6 @@ stdenv.mkDerivation rec {
       ncurses python glib
     ];
 
-  preBuild =
-    ''
-      # Don't use a hardcoded path to Samba.
-      substituteInPlace ./net.h --replace /usr/sbin/smbd smbd
-    '';
-
   postInstall =
     ''
       # extboot.bin isn't installed due to a bug in the Makefile.
diff --git a/pkgs/os-specific/linux/qemu-kvm/qemu-img-fix-corrupt-vdi.patch b/pkgs/os-specific/linux/qemu-kvm/qemu-img-fix-corrupt-vdi.patch
new file mode 100644
index 0000000000000..446a69a146b03
--- /dev/null
+++ b/pkgs/os-specific/linux/qemu-kvm/qemu-img-fix-corrupt-vdi.patch
@@ -0,0 +1,27 @@
+From http://patchwork.ozlabs.org/patch/137186/
+
+diff -ru qemu-kvm-0.15.1-orig/block/vdi.c qemu-kvm-0.15.1/block/vdi.c
+--- qemu-kvm-0.15.1-orig/block/vdi.c	2011-10-19 15:54:48.000000000 +0200
++++ qemu-kvm-0.15.1/block/vdi.c	2012-02-25 18:15:36.114574574 +0100
+@@ -1,7 +1,7 @@
+ /*
+  * Block driver for the Virtual Disk Image (VDI) format
+  *
+- * Copyright (c) 2009 Stefan Weil
++ * Copyright (c) 2009, 2012 Stefan Weil
+  *
+  * This program is free software: you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+@@ -767,8 +767,12 @@
+             acb->header_modified = 1;
+         }
+         acb->bmap_last = block_index;
++        /* Copy data to be written to new block and zero unused parts. */
++        memset(block, 0, sector_in_block * SECTOR_SIZE);
+         memcpy(block + sector_in_block * SECTOR_SIZE,
+                acb->buf, n_sectors * SECTOR_SIZE);
++        memset(block + (sector_in_block + n_sectors) * SECTOR_SIZE, 0,
++               (s->block_sectors - n_sectors - sector_in_block) * SECTOR_SIZE);
+         acb->hd_iov.iov_base = (void *)block;
+         acb->hd_iov.iov_len = s->block_size;
+         qemu_iovec_init_external(&acb->hd_qiov, &acb->hd_iov, 1);
diff --git a/pkgs/os-specific/linux/rfkill/rfkill-hook.sh b/pkgs/os-specific/linux/rfkill/rfkill-hook.sh
new file mode 100755
index 0000000000000..d07c729818317
--- /dev/null
+++ b/pkgs/os-specific/linux/rfkill/rfkill-hook.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+# Executes a hook in case of a change to the
+# rfkill state. The hook can be passed as
+# environment variable, or present as executable
+# file.
+
+if [ -z "$RFKILL_STATE" ]; then
+  echo "rfkill-hook: error: RFKILL_STATE variable not set"
+  exit 1
+fi
+
+if [ -x /var/run/current-system/etc/rfkill.hook ]; then
+  exec /var/run/current-system/etc/rfkill.hook
+elif [ ! -z "$RFKILL_HOOK" ]; then
+  exec $RFKILL_HOOK
+else
+  echo "rfkill-hook: $RFKILL_STATE"
+fi
\ No newline at end of file
diff --git a/pkgs/os-specific/linux/rfkill/udev.nix b/pkgs/os-specific/linux/rfkill/udev.nix
new file mode 100644
index 0000000000000..6cf6e4adfa074
--- /dev/null
+++ b/pkgs/os-specific/linux/rfkill/udev.nix
@@ -0,0 +1,49 @@
+{ stdenv }:
+
+# Provides a facility to hook into rfkill changes.
+#
+# Exemplary usage:
+#
+# Add this package to udev.packages, e.g.:
+#   udev.packages = [ pkgs.rfkill_udev ];
+#
+# Add a hook script in the managed etc directory, e.g.:
+#   etc = [
+#     { source = pkgs.writeScript "rtfkill.hook" ''
+#         #!/bin/sh
+#
+#         if [ "$RFKILL_STATE" -eq "1" ]; then
+#           exec ${config.system.build.upstart}/sbin/initctl emit -n antenna-on
+#         else
+#           exec ${config.system.build.upstart}/sbin/initctl emit -n antenna-off
+#         fi
+#       '';
+#       target = "rfkill.hook";
+#     }
+
+# Note: this package does not need the binaries
+# in the rfkill package.
+
+stdenv.mkDerivation {
+  name = "rfkill-udev";
+
+  unpackPhase = "true";
+  dontBuild = true;
+
+  installPhase = ''
+    ensureDir "$out/etc/udev/rules.d/";
+    cat > "$out/etc/udev/rules.d/90-rfkill.rules" << EOF
+      SUBSYSTEM=="rfkill", ATTR{type}=="wlan", RUN+="$out/bin/rfkill-hook.sh" 
+    EOF
+
+    ensureDir "$out/bin/";
+    cp ${./rfkill-hook.sh} "$out/bin/rfkill-hook.sh"
+    chmod +x "$out/bin/rfkill-hook.sh";
+  '';
+
+  meta = {
+    homepage = http://wireless.kernel.org/en/users/Documentation/rfkill;
+    description = "Rules+hook for udev to catch rfkill state changes";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/servers/sql/postgresql/8.3.x.nix b/pkgs/servers/sql/postgresql/8.3.x.nix
index ba0d57b3654ba..c69cb135f7c5d 100644
--- a/pkgs/servers/sql/postgresql/8.3.x.nix
+++ b/pkgs/servers/sql/postgresql/8.3.x.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, ncurses, readline }:
 
-let version = "8.3.17"; in
+let version = "8.3.18"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
   
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "0xq8yg8qwd4qvjk6764argaxl6fribyf1xnxmdsk4xfcmgmfw5gv";
+    sha256 = "0iip7irc8sqz75w6p52fpdfqs4jlqchpzvp0w5s95w2ri5591d2x";
   };
 
   buildInputs = [ zlib ncurses readline ];
diff --git a/pkgs/servers/sql/postgresql/8.4.x.nix b/pkgs/servers/sql/postgresql/8.4.x.nix
index 20b9bca5144c0..8460a8f41d153 100644
--- a/pkgs/servers/sql/postgresql/8.4.x.nix
+++ b/pkgs/servers/sql/postgresql/8.4.x.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, ncurses, readline }:
 
-let version = "8.4.10"; in
+let version = "8.4.11"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
   
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "1yvwn2qpn2dpgfi496r1zl8b8xy52lb2pprg076pvc37sklq77vl";
+    sha256 = "13ww30xv2pwd5hy1x5lsmba4jc59n6f6nz0dc29bb0k2s7qrzg2v";
   };
 
   buildInputs = [ zlib ncurses readline ];
diff --git a/pkgs/servers/sql/postgresql/9.0.x.nix b/pkgs/servers/sql/postgresql/9.0.x.nix
index 6813bd927c8a9..5b9c565d802ed 100644
--- a/pkgs/servers/sql/postgresql/9.0.x.nix
+++ b/pkgs/servers/sql/postgresql/9.0.x.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, readline }:
 
-let version = "9.0.6"; in
+let version = "9.0.7"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
   
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "317d99d2ff9e1de8da0cae107bc06c9fd455b1df0c0fb77b8fbb61fb08276056";
+    sha256 = "0cyqlr4c9jl4d786s0h8d45vkx6343f664ys2jamyncb3pbjdgns";
   };
 
   buildInputs = [ zlib readline ];
diff --git a/pkgs/servers/sql/postgresql/9.1.x.nix b/pkgs/servers/sql/postgresql/9.1.x.nix
index 161c3dc2ccf04..63c7255559c11 100644
--- a/pkgs/servers/sql/postgresql/9.1.x.nix
+++ b/pkgs/servers/sql/postgresql/9.1.x.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, readline }:
 
-let version = "9.1.2"; in
+let version = "9.1.3"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
   
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "0c6vwlfxppjvrikqfq6s87sxmxxvsx1qq03bwgk589sv9x8zym4d";
+    sha256 = "1mfmqimd3fvvpw60b0haql510l00nhyfgp4wpkcw2ca0c8580ybs";
   };
 
   buildInputs = [ zlib readline ];
diff --git a/pkgs/tools/archivers/zip/default.nix b/pkgs/tools/archivers/zip/default.nix
index e3b48f4832546..c7bddfd6de2ca 100644
--- a/pkgs/tools/archivers/zip/default.nix
+++ b/pkgs/tools/archivers/zip/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, libnatspec }:
+{ stdenv, fetchurl, enableNLS ? true, libnatspec ? null }:
+
+assert enableNLS -> libnatspec != null;
 
 stdenv.mkDerivation {
   name = "zip-3.0";
@@ -12,9 +14,9 @@ stdenv.mkDerivation {
 
   installFlags="-f unix/Makefile prefix=$(out) INSTALL=cp";
 
-  patches = [ ./natspec-gentoo.patch.bz2 ];
+  patches = if enableNLS then [ ./natspec-gentoo.patch.bz2 ] else [];
 
-  buildInputs = [ libnatspec ];
+  buildInputs = if enableNLS then [ libnatspec ] else [];
 
   meta = {
     homepage = http://www.info-zip.org;
@@ -22,4 +24,3 @@ stdenv.mkDerivation {
     maintainer = [ stdenv.lib.maintainers.urkud ];
   };
 }
-
diff --git a/pkgs/tools/misc/grub/1.98.nix b/pkgs/tools/misc/grub/1.98.nix
deleted file mode 100644
index df7d3408b6190..0000000000000
--- a/pkgs/tools/misc/grub/1.98.nix
+++ /dev/null
@@ -1,79 +0,0 @@
-{ fetchurl, stdenv, bison, gettext, ncurses, libusb, freetype, qemu }:
-
-let unifont_bdf = fetchurl {
-      url = "http://unifoundry.com/unifont-5.1.20080820.bdf.gz";
-      sha256 = "0s0qfff6n6282q28nwwblp5x295zd6n71kl43xj40vgvdqxv0fxx";
-    };
-in
-
-stdenv.mkDerivation rec {
-  name = "grub-1.98";
-
-  src = fetchurl {
-    url = "ftp://alpha.gnu.org/gnu/grub/${name}.tar.gz";
-    sha256 = "05660x82y2rwrzm0d1c4z07fbh02qwmacsmbbav6fa855s4w3wmy";
-  };
-
-  buildInputs = [ bison ncurses libusb freetype gettext ]
-    ++ stdenv.lib.optional doCheck qemu;
-
-  preConfigure =
-    '' for i in "tests/util/"*.in
-       do
-         sed -i "$i" -e's|/bin/bash|/bin/sh|g'
-       done
-
-       # Apparently, the QEMU executable is no longer called
-       # `qemu-system-i386', even on i386.
-       #
-       # In addition, use `-nodefaults' to avoid errors like:
-       #
-       #  chardev: opening backend "stdio" failed
-       #  qemu: could not open serial device 'stdio': Invalid argument
-       #
-       # See <http://www.mail-archive.com/qemu-devel@nongnu.org/msg22775.html>.
-       sed -i "tests/util/grub-shell.in" \
-           -e's/qemu-system-i386/qemu-system-x86_64 -nodefaults/g'
-    '';
-
-  patches =
-    [ # The udev rules for LVM create symlinks in /dev/mapper rathe
-      # than device nodes, causing GRUB to fail to recognize LVM
-      # volumes. See
-      # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=550704
-      # This ugly workaround makes `find_root_device' use stat() on
-      # files in /dev/mapper instead of lstat().
-      ./device-mapper-symlinks.patch
-    ];
-
-  postPatch =
-    '' gunzip < "${unifont_bdf}" > "unifont.bdf"
-       sed -i "configure" \
-           -e "s|/usr/src/unifont.bdf|$PWD/unifont.bdf|g"
-    '';
-
-  doCheck = true;
-
-  meta = {
-    description = "GNU GRUB, the Grand Unified Boot Loader (2.x alpha)";
-
-    longDescription =
-      '' GNU GRUB is a Multiboot boot loader. It was derived from GRUB, GRand
-         Unified Bootloader, which was originally designed and implemented by
-         Erich Stefan Boleyn.
-
-         Briefly, the boot loader is the first software program that runs when a
-         computer starts.  It is responsible for loading and transferring
-         control to the operating system kernel software (such as the Hurd or
-         the Linux).  The kernel, in turn, initializes the rest of the
-         operating system (e.g., GNU).
-      '';
-
-    homepage = http://www.gnu.org/software/grub/;
-
-    license = "GPLv3+";
-
-    maintainers = [ stdenv.lib.maintainers.ludo ];
-    platforms = stdenv.lib.platforms.gnu;
-  };
-}
diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix
index cb0ffe321594b..0a8832f4b5198 100644
--- a/pkgs/tools/networking/network-manager-applet/default.nix
+++ b/pkgs/tools/networking/network-manager-applet/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, intltool, pkgconfig, gtk, glib, libglade
 , networkmanager, GConf, libnotify, gnome_keyring, dbus_glib
-, polkit, xz }:
+, polkit, isocodes, xz }:
 
 let
   pn = "network-manager-applet";
   major = "0.9";
-  version = "${major}.0";
+  version = "${major}.2.0";
 in
 
 stdenv.mkDerivation rec {
@@ -13,11 +13,11 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pn}/${major}/${name}.tar.xz";
-    sha256 = "097y7c29bgd9wm0im06ka3cd94zssg4s626y5lw7yrypq3hzg18f";
+    sha256 = "ebe725d0140f658c6a3f384674c72fba7a7c417df3be0e84ee8f45e6dfc219de";
   };
 
   buildInputs = [ gtk libglade networkmanager GConf libnotify gnome_keyring
-    polkit];
+    polkit isocodes ];
 
   buildNativeInputs = [ intltool pkgconfig xz ];
 
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 8ca0be990397b..49aacaa4ef9ad 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, intltool, wirelesstools, pkgconfig, dbus_glib
+{ stdenv, fetchurl, intltool, wirelesstools, pkgconfig, dbus_glib, xz
 , udev, libnl1, libuuid, polkit, gnutls, ppp, dhcp, dhcpcd, iptables
 , libgcrypt, dnsmasq, avahi }:
 
 stdenv.mkDerivation rec {
   name = "network-manager-${version}";
-  version = "0.9.0";
+  version = "0.9.2.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/NetworkManager/0.9/NetworkManager-${version}.tar.bz2";
-    sha256 = "0kvi767c224zlja65r8gixmhj57292k0gsxa0217lw5i99l2incq";
+    url = "mirror://gnome/sources/NetworkManager/0.9/NetworkManager-${version}.tar.xz";
+    sha256 = "1pvd49ji7mh8ww2rfbvq6hmmjms5mb7w10fr7ihgzqbg589zjyj3";
   };
 
   # Right now we hardcode quite a few paths at build time. Probably we should
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     "--with-dbus-sys-dir=\${out}/etc/dbus-1/system.d"
     "--with-crypto=gnutls" "--disable-more-warnings" ];
 
-  buildInputs = [ wirelesstools udev libnl1 libuuid polkit ppp ];
+  buildInputs = [ wirelesstools udev libnl1 libuuid polkit ppp xz ];
 
   propagatedBuildInputs = [ dbus_glib gnutls libgcrypt ];
 
diff --git a/pkgs/tools/networking/openresolv/default.nix b/pkgs/tools/networking/openresolv/default.nix
index b2831fd4d7b62..3aa818db72816 100644
--- a/pkgs/tools/networking/openresolv/default.nix
+++ b/pkgs/tools/networking/openresolv/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
       LIBEXECDIR=$out/libexec/resolvconf
       VARDIR=/var/run/resolvconf
       MANDIR=$out/share/man
-      RESTARTCMD="initctl restart \1"
+      RESTARTCMD="false \1"
       EOF
     '';
 
diff --git a/pkgs/tools/networking/vpnc/default.nix b/pkgs/tools/networking/vpnc/default.nix
index 34f41272da8fc..8619cd9540904 100644
--- a/pkgs/tools/networking/vpnc/default.nix
+++ b/pkgs/tools/networking/vpnc/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
     sha256 = "1128860lis89g1s21hqxvap2nq426c9j4bvgghncc1zj0ays7kj6";
   };
 
-  patches = [ ./makefile.patch ];
+  patches = [ ./makefile.patch ./vpnc-script.patch ];
 
   # The `etc/vpnc/vpnc-script' script relies on `which' and on
   # `ifconfig' as found in net-tools (not GNU Inetutils).
@@ -28,17 +28,22 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = ''
-    for i in $out/{bin,sbin}/*
+    for i in "$out/{bin,sbin}/"*
     do
       wrapProgram $i --prefix PATH :  \
         "${nettools}/bin:${nettools}/sbin"
     done
+
+    mkdir -p $out/share/doc/vpnc
+    cp README nortel.txt ChangeLog $out/share/doc/vpnc/
   '';
 
   meta = {
-    description = ''VPNC, a virtual private network (VPN) client
-                    for Cisco's VPN concentrators'';
-    homepage = http://www.unix-ag.uni-kl.de/~massar/vpnc/;
+    homepage = "http://www.unix-ag.uni-kl.de/~massar/vpnc/";
+    description = "virtual private network (VPN) client for Cisco's VPN concentrators";
     license = "GPLv2+";
+
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/tools/networking/vpnc/vpnc-script.patch b/pkgs/tools/networking/vpnc/vpnc-script.patch
new file mode 100644
index 0000000000000..67a86d5d58fa8
--- /dev/null
+++ b/pkgs/tools/networking/vpnc/vpnc-script.patch
@@ -0,0 +1,12 @@
+diff -ubr vpnc-0.5.3-orig/vpnc-script.in vpnc-0.5.3/vpnc-script.in
+--- vpnc-0.5.3-orig/vpnc-script.in	2012-02-29 23:03:35.289636602 +0100
++++ vpnc-0.5.3/vpnc-script.in	2012-02-29 23:03:59.597307445 +0100
+@@ -116,7 +116,7 @@
+ 
+ if [ -n "$IPROUTE" ]; then
+ 	fix_ip_get_output () {
+-		sed 's/cache//;s/metric \?[0-9]\+ [0-9]\+//g;s/hoplimit [0-9]\+//g'
++		sed 's/cache//;s/metric \?[0-9]\+ [0-9]\+//g;s/hoplimit [0-9]\+//g;s/ipid 0x....//g'
+ 	}
+ 
+ 	set_vpngateway_route() {
diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix
index 175ae0693820d..7ad69e8353a9d 100644
--- a/pkgs/tools/package-management/nix/unstable.nix
+++ b/pkgs/tools/package-management/nix/unstable.nix
@@ -4,7 +4,7 @@
 , stateDir ? "/nix/var"
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (rec {
   name = "nix-1.0pre31851";
 
   src = fetchurl {
@@ -51,4 +51,6 @@ stdenv.mkDerivation rec {
     homepage = http://nixos.org/;
     license = "LGPLv2+";
   };
-}
+} // stdenv.lib.optionalAttrs stdenv.isDarwin {
+      phases = "$prePhases unpackPhase patchPhase $preConfigurePhases configurePhase $preBuildPhases buildPhase $preInstallPhases installPhase checkPhase fixupPhase $preDistPhases distPhase $postPhases";
+})
diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix
index 62a75c16b4e4c..3d2360196a665 100644
--- a/pkgs/tools/security/tor/default.nix
+++ b/pkgs/tools/security/tor/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl, libevent, openssl, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "tor-0.2.1.30";
+  name = "tor-0.2.2.35";
 
   src = fetchurl {
     url = "http://www.torproject.org/dist/${name}.tar.gz";
-    sha256 = "02g15k8w5r57r9r6lz0sxzzvqx200y397y142cjswsd4zyla2lpk";
+    sha256 = "f141a41fffd31494a0f96ebbb6b999eab33ce62d5c31f81222a0acd034adbf3a";
   };
 
-  patchPhase =
+#  patchPhase =
     # DNS lookups fail in chroots.
-    '' sed -i "src/or/test.c" -es/localhost/127.0.0.1/g
-    '';
+#    '' sed -i "src/or/test.c" -es/localhost/127.0.0.1/g
+#    '';
 
   buildInputs = [ libevent openssl zlib ];
 
diff --git a/pkgs/tools/security/vidalia/default.nix b/pkgs/tools/security/vidalia/default.nix
new file mode 100644
index 0000000000000..243604c2c79e0
--- /dev/null
+++ b/pkgs/tools/security/vidalia/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, cmake, qt4 }:
+stdenv.mkDerivation rec {
+
+  name = "vidalia-${version}";
+  version = "0.2.17";
+
+  src = fetchurl {
+    url = "https://www.torproject.org/dist/vidalia/${name}.tar.gz";
+    sha256 = "0x0vb37h2d5njxmqkss03ybv7b7jw25682xb793mix1m8l0hs44r";
+  };
+
+  buildInputs = [ cmake qt4 ];
+
+  meta = with stdenv.lib; {
+    homepage = https://www.torproject.org/projects/vidalia.html.en;
+    description = "a cross-platform graphical controller for the Tor software, built using the Qt framework";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.phreedom ];
+    platforms = platforms.all;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/typesetting/tex/texlive/moderncv.nix b/pkgs/tools/typesetting/tex/texlive/moderncv.nix
index b8e27bd93d3b6..f93724e4af103 100644
--- a/pkgs/tools/typesetting/tex/texlive/moderncv.nix
+++ b/pkgs/tools/typesetting/tex/texlive/moderncv.nix
@@ -1,9 +1,9 @@
 args: with args;
 rec {
-  name = "moderncv-2012.01.16";
+  name = "moderncv-0.19";
   src = fetchurl {
     url = "http://mirror.ctan.org/macros/latex/contrib/moderncv.zip";
-    sha256 = "5cd2117cd2a3572dbc055033ca81ca744ee65918c42d23687e133bb1e6ddd644";
+    sha256 = "0i6nvpkb2fqkgrl26bf431cyckklra0wlcsh0ny2smx3s9y13ljw";
   };
 
   buildInputs = [texLive unzip];
diff --git a/pkgs/tools/virtualization/amazon-ec2-ami-tools/default.nix b/pkgs/tools/virtualization/amazon-ec2-ami-tools/default.nix
index f6f32a7c5b790..36dc77bcd2d73 100644
--- a/pkgs/tools/virtualization/amazon-ec2-ami-tools/default.nix
+++ b/pkgs/tools/virtualization/amazon-ec2-ami-tools/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, unzip, ruby, openssl, makeWrapper }:
 
 stdenv.mkDerivation {
-  name = "ec2-ami-tools-1.4.0.1";
+  name = "ec2-ami-tools-1.4.0.5";
   
   buildInputs = [ unzip makeWrapper ];
   
   src = fetchurl {
     url = http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.zip;
-    sha256 = "1fjg3gx5k0z8r4apg5whz3yxc3xnz7z5g6j93hf765lfriz1rccz";
+    sha256 = "0vhdqmi076ipqj05dd7fn0drbhcvzccdcdhy8br9sp684scg9a75";
   };
 
   # Amazon EC2 requires that disk images are writable.  If they're
diff --git a/pkgs/tools/virtualization/amazon-ec2-ami-tools/writable.patch b/pkgs/tools/virtualization/amazon-ec2-ami-tools/writable.patch
index c8d0597b47998..54c2228911ebd 100644
--- a/pkgs/tools/virtualization/amazon-ec2-ami-tools/writable.patch
+++ b/pkgs/tools/virtualization/amazon-ec2-ami-tools/writable.patch
@@ -1,33 +1,23 @@
-diff -rc --exclude '*~' ec2-ami-tools-1.3-45758-orig/lib/ec2/amitools/bundle.rb ec2-ami-tools-1.3-45758/lib/ec2/amitools/bundle.rb
-*** ec2-ami-tools-1.3-45758-orig/lib/ec2/amitools/bundle.rb	2009-12-02 22:28:44.000000000 +0100
---- ec2-ami-tools-1.3-45758/lib/ec2/amitools/bundle.rb	2010-01-22 16:16:13.000000000 +0100
-***************
-*** 80,86 ****
-        # piped via several processes. The tee is used to allow a
-        # digest of the file to be calculated without having to re-read
-        # it from disk.
-!       tar = EC2::Platform::Current::Tar::Command.new.create.dereference.sparse
-        tar.add(File::basename( image_file ), File::dirname( image_file ))
-        openssl = EC2::Platform::Current::Constants::Utility::OPENSSL
-        pipeline = EC2::Platform::Current::Pipeline.new('image-bundle-pipeline', debug)
---- 80,86 ----
-        # piped via several processes. The tee is used to allow a
-        # digest of the file to be calculated without having to re-read
-        # it from disk.
-!       tar = EC2::Platform::Current::Tar::Command.new.create.dereference.sparse.writable
-        tar.add(File::basename( image_file ), File::dirname( image_file ))
-        openssl = EC2::Platform::Current::Constants::Utility::OPENSSL
-        pipeline = EC2::Platform::Current::Pipeline.new('image-bundle-pipeline', debug)
-diff -rc --exclude '*~' ec2-ami-tools-1.3-45758-orig/lib/ec2/platform/linux/tar.rb ec2-ami-tools-1.3-45758/lib/ec2/platform/linux/tar.rb
-*** ec2-ami-tools-1.3-45758-orig/lib/ec2/platform/linux/tar.rb	2009-12-02 22:28:44.000000000 +0100
---- ec2-ami-tools-1.3-45758/lib/ec2/platform/linux/tar.rb	2010-01-22 16:16:11.000000000 +0100
-***************
-*** 31,36 ****
---- 31,37 ----
-            def update;         @options << '-u';          self; end
-            def sparse;         @options << '-S';          self; end
-            def dereference;    @options << '-h';          self; end
-+           def writable;       @options << '--mode=0755'; self; end
-            
-            def archive(filename)
-              filename = '-' if filename.nil? 
+diff -ru ec2-ami-tools-1.4.0.5-orig/lib/ec2/amitools/bundle.rb ec2-ami-tools-1.4.0.5/lib/ec2/amitools/bundle.rb
+--- ec2-ami-tools-1.4.0.5-orig/lib/ec2/amitools/bundle.rb	2011-12-06 14:57:28.000000000 +0100
++++ ec2-ami-tools-1.4.0.5/lib/ec2/amitools/bundle.rb	2012-02-25 21:24:57.682427268 +0100
+@@ -80,7 +80,7 @@
+       # piped via several processes. The tee is used to allow a
+       # digest of the file to be calculated without having to re-read
+       # it from disk.
+-      tar = EC2::Platform::Current::Tar::Command.new.create.dereference.sparse
++      tar = EC2::Platform::Current::Tar::Command.new.create.dereference.sparse.writable
+       tar.owner(0).group(0)
+       tar.add(File::basename( image_file ), File::dirname( image_file ))
+       openssl = EC2::Platform::Current::Constants::Utility::OPENSSL
+diff -ru ec2-ami-tools-1.4.0.5-orig/lib/ec2/platform/linux/tar.rb ec2-ami-tools-1.4.0.5/lib/ec2/platform/linux/tar.rb
+--- ec2-ami-tools-1.4.0.5-orig/lib/ec2/platform/linux/tar.rb	2011-12-06 14:57:28.000000000 +0100
++++ ec2-ami-tools-1.4.0.5/lib/ec2/platform/linux/tar.rb	2012-02-25 21:23:36.342716403 +0100
+@@ -31,6 +31,7 @@
+           def update;         @options << '-u';          self; end
+           def sparse;         @options << '-S';          self; end
+           def dereference;    @options << '-h';          self; end
++          def writable;       @options << '--mode=0755'; self; end
+           
+           def archive(filename)
+             filename = '-' if filename.nil? 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b84fbfe9cff97..c43f03a02ecca 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -444,6 +444,8 @@ let
 
   syslogng = callPackage ../tools/system/syslog-ng { };
 
+  mcelog = callPackage ../os-specific/linux/mcelog { };
+
   asciidoc = callPackage ../tools/typesetting/asciidoc { };
 
   autossh = callPackage ../tools/networking/autossh { };
@@ -802,8 +804,6 @@ let
 
   grub19x = callPackage ../tools/misc/grub/1.9x.nix { };
 
-  grub198 = callPackage ../tools/misc/grub/1.98.nix { };
-
   grub2 = grub19x;
 
   grub2_efi = callPackage ../tools/misc/grub/1.9x.nix { EFIsupport = true; };
@@ -1462,6 +1462,8 @@ let
 
   vacuum = callPackage ../applications/networking/instant-messengers/vacuum {};
 
+  vidalia = callPackage ../tools/security/vidalia { };
+
   vbetool = builderDefsPackage ../tools/system/vbetool {
     inherit pciutils libx86 zlib;
   };
@@ -1924,9 +1926,6 @@ let
 
   gcc46_real = lowPrio (wrapGCC (callPackage ../development/compilers/gcc-4.6 {
     inherit noSysDirs;
-    cross = null;
-    libcCross = null;
-    binutilsCross = null;
 
     ppl = ppl0_11;
     cloogppl = null;
@@ -1934,6 +1933,16 @@ let
     # bootstrapping a profiled compiler does not work in the sheevaplug:
     # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944
     profiledCompiler = if stdenv.system == "armv5tel-linux" then false else true;
+
+    # When building `gcc.hostDrv' (a "Canadian cross", with host == target
+    # and host != build), `cross' must be null but the cross-libc must still
+    # be passed.
+    cross = null;
+    libcCross = if crossSystem != null then libcCross else null;
+    libpthreadCross =
+      if crossSystem != null && crossSystem.config == "i586-pc-gnu"
+      then gnu.libpthreadCross
+      else null;
   }));
 
   # A non-stripped version of GCC.
@@ -2766,7 +2775,8 @@ let
 
   ruby18 = callPackage ../development/interpreters/ruby/ruby-18.nix { };
   ruby19 = callPackage ../development/interpreters/ruby/ruby-19.nix { };
-  ruby = callPackage ../development/interpreters/ruby { };
+
+  ruby = ruby19;
 
   rubyLibs = recurseIntoAttrs (callPackage ../development/interpreters/ruby/libs.nix { });
 
@@ -2960,6 +2970,10 @@ let
 
   cmake = callPackage ../development/tools/build-managers/cmake { };
 
+  cmake_2_8_7 = callPackage ../development/tools/build-managers/cmake/2.8.7.nix {
+    zlib = zlib_latest;
+  };
+
   cmake264 = callPackage ../development/tools/build-managers/cmake/264.nix { };
 
   cmakeCurses = cmake.override { useNcurses = true; };
@@ -2995,6 +3009,12 @@ let
 
   doxygen = lowPrio (doxygen_gui.override { qt4 = null; });
 
+  /* XXX: The LaTeX output with Doxygen 1.8.0 makes LaTeX barf.
+     See <https://bugzilla.gnome.org/show_bug.cgi?id=670973>.  */
+  doxygen_1_7 = callPackage ../development/tools/documentation/doxygen/1.7.nix {
+    qt4 = null;
+  };
+
   doxygen_gui = callPackage ../development/tools/documentation/doxygen { };
 
   eggdbus = callPackage ../development/tools/misc/eggdbus { };
@@ -3260,7 +3280,8 @@ let
   boost146 = callPackage ../development/libraries/boost/1.46.nix { };
   boost147 = callPackage ../development/libraries/boost/1.47.nix { };
   boost148 = callPackage ../development/libraries/boost/1.48.nix { };
-  boost = boost148;
+  boost149 = callPackage ../development/libraries/boost/1.49.nix { };
+  boost = boost149;
 
   # A Boost build with all library variants enabled.  Very large (about 250 MB).
   boostFull = appendToName "full" (boost.override {
@@ -3276,6 +3297,8 @@ let
 
   buddy = callPackage ../development/libraries/buddy { };
 
+  caelum = callPackage ../development/libraries/caelum { };
+
   cairomm = callPackage ../development/libraries/cairomm { };
 
   scmccid = callPackage ../development/libraries/scmccid { };
@@ -4373,6 +4396,8 @@ let
 
   myguiSvn = callPackage ../development/libraries/mygui/svn.nix {};
 
+  mysocketw = callPackage ../development/libraries/mysocketw { };
+
   ncurses = makeOverridable (import ../development/libraries/ncurses) {
     inherit fetchurl stdenv;
     unicode = system != "i686-cygwin";
@@ -4418,6 +4443,8 @@ let
 
   ogre = callPackage ../development/libraries/ogre {};
 
+  ogrepaged = callPackage ../development/libraries/ogrepaged { };
+
   openal = callPackage ../development/libraries/openal { };
 
   # added because I hope that it has been easier to compile on x86 (for blender)
@@ -4844,6 +4871,9 @@ let
     fetchurl = fetchurlBoot;
   };
 
+  # To be removed in stdenv-updates; zlib is already fixed and the latest there
+  zlib_latest = callPackage ../development/libraries/zlib/latest.nix { };
+
   zlibStatic = lowPrio (appendToName "static" (import ../development/libraries/zlib {
     inherit fetchurl stdenv;
     static = true;
@@ -5281,6 +5311,10 @@ let
 
   microcodeIntel = callPackage ../os-specific/linux/microcode/intel.nix { };
 
+  apparmor = callPackage ../os-specific/linux/apparmor {
+    inherit (perlPackages) LocaleGettext TermReadKey RpcXML;
+  };
+
   bcm43xx = callPackage ../os-specific/linux/firmware/bcm43xx { };
 
   bluez = callPackage ../os-specific/linux/bluez { };
@@ -5974,6 +6008,8 @@ let
 
   numactl = callPackage ../os-specific/linux/numactl { };
 
+  gogoclient = callPackage ../os-specific/linux/gogoclient { };
+
   gw6c = builderDefsPackage (import ../os-specific/linux/gw6c) {
     inherit fetchurl stdenv nettools openssl procps iproute;
   };
@@ -6028,6 +6064,7 @@ let
   pwdutils = callPackage ../os-specific/linux/pwdutils { };
 
   qemu_kvm = callPackage ../os-specific/linux/qemu-kvm { };
+  qemu_kvm_1_0 = callPackage ../os-specific/linux/qemu-kvm/1.0.nix { };
 
   firmwareLinuxNonfree = callPackage ../os-specific/linux/firmware/firmware-linux-nonfree { };
 
@@ -6041,6 +6078,8 @@ let
 
   rfkill = callPackage ../os-specific/linux/rfkill { };
 
+  rfkill_udev = callPackage ../os-specific/linux/rfkill/udev.nix { };
+
   ralink_fw = callPackage ../os-specific/linux/firmware/ralink { };
 
   rt2860fw = callPackage ../os-specific/linux/firmware/rt2860 { };
@@ -6443,14 +6482,9 @@ let
     gnutls = gnutls2;
   };
 
-  blender = callPackage ../applications/misc/blender/2.49.nix { };
-
-  blender_2_57 = lowPrio (import ../applications/misc/blender {
-    inherit stdenv fetchurl SDL cmake gettext ilmbase libjpeg libpng
-      libsamplerate libtiff mesa openal openexr openjpeg zlib;
-    inherit (xlibs) libXi;
+  blender = callPackage  ../applications/misc/blender {
     python = python32;
-  });
+  };
 
   bvi = callPackage ../applications/editors/bvi { };
 
@@ -6653,6 +6687,8 @@ let
 
     haskellMode = callPackage ../applications/editors/emacs-modes/haskell { };
 
+    ocamlMode = callPackage ../applications/editors/emacs-modes/ocaml { };
+
     hol_light_mode = callPackage ../applications/editors/emacs-modes/hol_light { };
 
     htmlize = callPackage ../applications/editors/emacs-modes/htmlize { };
@@ -7043,6 +7079,8 @@ let
 
   irssi = callPackage ../applications/networking/irc/irssi { };
 
+  bip = callPackage ../applications/networking/irc/bip { };
+
   jackmeter = callPackage ../applications/audio/jackmeter { };
 
   jedit = callPackage ../applications/editors/jedit { };
@@ -7269,12 +7307,15 @@ let
     inherit (gnome) GConf ORBit2;
     neon = neon029;
     libwpd = libwpd_08;
+    zip = zip.override { enableNLS = false; };
   };
 
   go_oo = callPackage ../applications/office/openoffice/go-oo.nix {
     inherit (perlPackages) ArchiveZip CompressZlib;
     inherit (gnome) GConf ORBit2;
     neon = neon029;
+    libwpd = libwpd_08;
+    zip = zip.override { enableNLS = false; };
   };
 
   openscad = callPackage ../applications/graphics/openscad {};
@@ -7431,6 +7472,8 @@ let
     usePulseAudio = getConfig [ "pulseaudio" ] false; # disabled by default (the 100% cpu bug)
   };
 
+  dropbox = callPackage ../applications/networking/dropbox { };
+
   slim = callPackage ../applications/display-managers/slim { };
 
   sndBase = builderDefsPackage (import ../applications/audio/snd) {
@@ -7623,7 +7666,11 @@ let
     inherit (xlibs) libX11;
   };
 
-  vlc = callPackage ../applications/video/vlc { };
+  vlc = callPackage ../applications/video/vlc {
+    # To be removed on stdenv-updates. It fails on i686-linux with
+    # the stdenv zlib.
+    zlib = zlib_latest;
+  };
 
   vnstat = callPackage ../applications/networking/vnstat { };
 
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index fa4c6ac4d9b5d..31d8ef454b8fc 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -148,7 +148,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
     regexBase    = self.regexBase_0_93_2;       # 7.4.1 ok
     regexCompat  = self.regexCompat_0_93_1;     # 7.4.1 ok
     regexPosix   = self.regexPosix_0_95_1;      # 7.4.1 ok
-    stm          = self.stm_2_2_0_1;            # 7.4.1 ok
+    stm          = self.stm_2_3;		# 7.4.1 ok
     syb          = self.syb_0_3_6;              # 7.4.1 ok
     xhtml        = self.xhtml_3000_2_0_5;       # 7.4.1 ok
     zlib         = self.zlib_0_5_3_3;           # 7.4.1 ok
@@ -456,7 +456,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   base64String = callPackage ../development/libraries/haskell/base64-string {};
 
-  base64Bytestring = callPackage ../development/libraries/haskell/base64-bytestring {};
+  base64Bytestring_0_1_0_3 = callPackage ../development/libraries/haskell/base64-bytestring/0.1.0.3.nix {};
+  base64Bytestring_0_1_1_0 = callPackage ../development/libraries/haskell/base64-bytestring/0.1.1.0.nix {};
+  base64Bytestring = self.base64Bytestring_0_1_0_3; # Version 0.1.1.0 has serious performance issues.
 
   baseUnicodeSymbols = callPackage ../development/libraries/haskell/base-unicode-symbols {};
 
@@ -547,10 +549,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   ConfigFile = callPackage ../development/libraries/haskell/ConfigFile {};
 
-  containersDeepseq = callPackage ../development/libraries/haskell/containers-deepseq {};
-
-  controlMonadAttempt = callPackage ../development/libraries/haskell/control-monad-attempt {};
-
   convertible = callPackage ../development/libraries/haskell/convertible {
     time = self.time_1_1_3;
   };
@@ -600,12 +598,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   dataenc = callPackage ../development/libraries/haskell/dataenc {};
 
-  dataObject = callPackage ../development/libraries/haskell/data-object {
-    failure = self.failure_0_1_2;
-  };
-
-  dataObjectYaml = callPackage ../development/libraries/haskell/data-object-yaml {};
-
   dataReify = callPackage ../development/libraries/haskell/data-reify {};
 
   datetime = callPackage ../development/libraries/haskell/datetime {};
@@ -854,7 +846,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   #hledgerVty = callPackage ../development/libraries/haskell/hledger-vty {};
   #hledgerChart = callPackage ../development/libraries/haskell/hledger-chart {};
   hledgerInterest = callPackage ../applications/office/hledger-interest {};
-  hledgerWeb = callPackage ../development/libraries/haskell/hledger-web {};
+  #hledgerWeb = callPackage ../development/libraries/haskell/hledger-web {};
 
   HList = callPackage ../development/libraries/haskell/HList {};
 
@@ -878,6 +870,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   hsemail = callPackage ../development/libraries/haskell/hsemail {};
 
+  HSH = callPackage ../development/libraries/haskell/HSH {};
+
   HsSyck = callPackage ../development/libraries/haskell/HsSyck {};
 
   HsOpenSSL = callPackage ../development/libraries/haskell/HsOpenSSL {};
@@ -917,6 +911,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   hxtUnicode = callPackage ../development/libraries/haskell/hxt-unicode {};
 
+  IfElse = callPackage ../development/libraries/haskell/IfElse {};
+
   ieee754 = callPackage ../development/libraries/haskell/ieee754 {};
 
   instantGenerics = callPackage ../development/libraries/haskell/instant-generics {};
@@ -940,8 +936,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   json = callPackage ../development/libraries/haskell/json {};
 
-  jsonEnumerator = callPackage ../development/libraries/haskell/jsonEnumerator {};
-
   jsonTypes = callPackage ../development/libraries/haskell/jsonTypes {};
 
   languageJavascript = callPackage ../development/libraries/haskell/language-javascript {
@@ -1000,6 +994,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   MonadRandom = callPackage ../development/libraries/haskell/MonadRandom {};
 
+  monadsTf = callPackage ../development/libraries/haskell/monads-tf {};
+
   mongoDB = callPackage ../development/libraries/haskell/mongoDB {
     monadControl = self.monadControl_0_2_0_3;
   };
@@ -1031,8 +1027,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   NanoProlog = callPackage ../development/libraries/haskell/NanoProlog {};
 
-  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_2_3_0_2 = callPackage ../development/libraries/haskell/network/2.3.0.2.nix {};
@@ -1107,8 +1101,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   polyparse = callPackage ../development/libraries/haskell/polyparse/default.nix {};
 
-  pool = callPackage ../development/libraries/haskell/pool {};
-
   poolConduit = callPackage ../development/libraries/haskell/pool-conduit {};
 
   ppm = callPackage ../development/libraries/haskell/ppm {};
@@ -1297,7 +1289,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   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;
+  stm_2_3 = callPackage ../development/libraries/haskell/stm/2.3.nix {};
+  stm = self.stm_2_3;
 
   storableComplex = callPackage ../development/libraries/haskell/storable-complex {};
 
@@ -1448,12 +1441,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   };
   WebBitsHtml = self.WebBitsHtml_1_0_2;
 
-  webRoutes = callPackage ../development/libraries/haskell/web-routes {};
-
-  webRoutesQuasi = callPackage ../development/libraries/haskell/web-routes-quasi {
-    pathPieces = self.pathPieces_0_0_0;
-  };
-
   CouchDB = callPackage ../development/libraries/haskell/CouchDB {};
 
   wlPprintText = callPackage ../development/libraries/haskell/wl-pprint-text {};
@@ -1479,10 +1466,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   xmlConduit = callPackage ../development/libraries/haskell/xml-conduit {};
 
-  xmlEnumerator = callPackage ../development/libraries/haskell/xml-enumerator {
-    failure = self.failure_0_1_2;
-  };
-
   xmlTypes = callPackage ../development/libraries/haskell/xml-types {};
 
   xssSanitize = callPackage ../development/libraries/haskell/xss-sanitize {};
@@ -1576,10 +1559,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   Ebnf2ps = callPackage ../development/tools/parsing/Ebnf2ps {};
 
-  # 2012-02-09: Disabled because upstream site has disappeared. This tool is clearly
-  #             unmaintained, and we should delete it unless anyone complains.
-  # frown = callPackage ../development/tools/parsing/frown {};
-
   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 {};
   haddock_2_9_2 = callPackage ../development/tools/documentation/haddock/2.9.2.nix {};
@@ -1597,6 +1576,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   HaRe = callPackage ../development/tools/haskell/HaRe {};
 
+  haskdogs = callPackage ../development/tools/haskell/haskdogs {};
+
+  hasktags = callPackage ../development/tools/haskell/hasktags {};
+
   hlint = callPackage ../development/tools/haskell/hlint {};
 
   hslogger = callPackage ../development/tools/haskell/hslogger {};
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 85d50caf86351..842f127f576c8 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -3022,10 +3022,27 @@ rec {
       url = "mirror://cpan/authors/id/D/DA/DAVEBAIRD/${name}.tar.gz";
       sha256 = "1qqh89kz065mkgyg5pjcgbf8qcpzfk8vf1lgkbwynknadmv87zqg";
     };
-    propagatedBuildInputs = [
-      SQLAbstract TestException DBI TestDeep
-    ];
-    buildInputs = [TestPod TestPodCoverage];
+    propagatedBuildInputs =
+      [ SQLAbstract TestException DBI TestDeep ];
+    buildInputs = [ TestPod TestPodCoverage ];
+  };
+
+  SQLSplitStatement = buildPerlPackage rec {
+    name = "SQL-SplitStatement-1.00020";
+    src = fetchurl {
+      url = "mirror://cpan/modules/by-module/SQL/${name}.tar.gz";
+      sha256 = "0bqg45k4c9qkb2ypynlwhpvzsl4ssfagmsalys18s5c79ps30z7p";
+    };
+    buildInputs = [ TestException ];
+    propagatedBuildInputs = [ ClassAccessor ListMoreUtils RegexpCommon SQLTokenizer ];    
+  };
+
+  SQLTokenizer = buildPerlPackage rec {
+    name = "SQL-Tokenizer-0.24";
+    src = fetchurl {
+      url = "mirror://cpan/modules/by-module/SQL/${name}.tar.gz";
+      sha256 = "1qa2dfbzdlr5qqdam9yn78z5w3al5r8577x06qan8wv58ay6ka7s";
+    };
   };
 
   SQLTranslator = buildPerlPackage rec {
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 35de47cc5e52f..4feeaa316e0d7 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -597,6 +597,22 @@ let pythonPackages = python.modules // rec {
   };
 
 
+  iptools = buildPythonPackage rec {
+    version = "0.4.0";
+    name = "iptools-${version}";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/i/iptools/iptools-${version}.tar.gz";
+      md5 = "de60e5fab861f29dbf5f4446f8576532";
+    };
+
+    meta = {
+      description = "Utilities for manipulating IP addresses including a class that can be used to include CIDR network blocks in Django's INTERNAL_IPS setting.";
+      homepage = http://pypi.python.org/pypi/iptools;
+    };
+  };
+
+
   ipy = buildPythonPackage rec {
     version = "0.74";
     name = "ipy-${version}";
@@ -1918,11 +1934,11 @@ let pythonPackages = python.modules // rec {
   };
 
   taskcoach = buildPythonPackage rec {
-    name = "TaskCoach-1.3.7";
+    name = "TaskCoach-1.3.8";
 
     src = fetchurl {
       url = "mirror://sourceforge/taskcoach/${name}.tar.gz";
-      sha256 = "069hyxc8ypn51a8imfkfqdalp1l4pv09swj2v3bi4hjscq9af6i8";
+      sha256 = "0gc277cgnw6f167lrbxlf7rmgyjxwzgkmi77qz9xwvnwcj2l94xn";
     };
 
     propagatedBuildInputs = [ wxPython ];
diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix
index 71e4944b303c4..e6a4798f27b19 100644
--- a/pkgs/top-level/release-cross.nix
+++ b/pkgs/top-level/release-cross.nix
@@ -182,7 +182,7 @@ in {
     gnu.hurdCross = nativePlatforms;
     gnu.mach.hostDrv = nativePlatforms;
     gnu.mig = nativePlatforms;
-    gnu.smbfs = nativePlatforms;
+    gnu.smbfs.hostDrv = nativePlatforms;
 
     coreutils.hostDrv = nativePlatforms;
     ed.hostDrv = nativePlatforms;