about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorYury G. Kudryashov <urkud.urkud@gmail.com>2012-03-01 07:04:39 +0000
committerYury G. Kudryashov <urkud.urkud@gmail.com>2012-03-01 07:04:39 +0000
commit0210e20b5ae5ee9f9652d2eedf955974cc9e5ddc (patch)
treec1c7f6ea999ae4f455500ba2599c58e41aa581ad /pkgs
parentb14a737a4d86608bd61acf08cfc479bf262e9d99 (diff)
parent57b612cb050778c4ded12fe8e45de26b91eeef70 (diff)
downloadnixlib-0210e20b5ae5ee9f9652d2eedf955974cc9e5ddc.tar
nixlib-0210e20b5ae5ee9f9652d2eedf955974cc9e5ddc.tar.gz
nixlib-0210e20b5ae5ee9f9652d2eedf955974cc9e5ddc.tar.bz2
nixlib-0210e20b5ae5ee9f9652d2eedf955974cc9e5ddc.tar.lz
nixlib-0210e20b5ae5ee9f9652d2eedf955974cc9e5ddc.tar.xz
nixlib-0210e20b5ae5ee9f9652d2eedf955974cc9e5ddc.tar.zst
nixlib-0210e20b5ae5ee9f9652d2eedf955974cc9e5ddc.zip
svn merge ^/nixpkgs/trunk
svn path=/nixpkgs/branches/stdenv-updates/; revision=32713
Diffstat (limited to 'pkgs')
-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.nix6
-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.nix14
-rw-r--r--pkgs/applications/networking/newsreaders/kwooty/default.nix2
-rw-r--r--pkgs/applications/science/misc/tulip/default.nix10
-rw-r--r--pkgs/build-support/make-startupitem/default.nix9
-rw-r--r--pkgs/build-support/release/nix-build.nix4
-rw-r--r--pkgs/development/compilers/epic/default.nix4
-rw-r--r--pkgs/development/compilers/idris/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/haskell/HSH/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/IfElse/default.nix17
-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/clientsession/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/convertible/default.nix4
-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/persistent/default.nix4
-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/yesod/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/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/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/games/spring/spring-lobby.nix8
-rw-r--r--pkgs/misc/my-env/default.nix12
-rw-r--r--pkgs/os-specific/linux/apparmor/default.nix93
-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/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.nix11
-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/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/vpnc/default.nix2
-rw-r--r--pkgs/tools/networking/vpnc/vpnc-script.patch12
-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/top-level/all-packages.nix57
-rw-r--r--pkgs/top-level/haskell-packages.nix17
-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
74 files changed, 833 insertions, 339 deletions
diff --git a/pkgs/applications/audio/audacious/default.nix b/pkgs/applications/audio/audacious/default.nix
index 5124ff5d6dd9..edec7dcb41d0 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 000000000000..1d81a0b7ff1e
--- /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 b27f60e9bffa..000000000000
--- 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 = ''
-    mkdir -p $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 75d737e5996e..c291192ef01e 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 27ac0b7bd6a8..64ff3142ef17 100644
--- a/pkgs/applications/misc/lyx/default.nix
+++ b/pkgs/applications/misc/lyx/default.nix
@@ -1,6 +1,6 @@
 # I haven't put much effort into this expressions .. so some optional depencencies may be missing - Marc
-{ fetchurl, stdenv, texLive, python, makeWrapper
-, libX11, qt, xz
+{ fetchurl, stdenv, texLive, python, makeWrapper, pkgconfig
+, libX11, qt
 }:
 
 stdenv.mkDerivation rec {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "a790951d6ed660b254e82d682b478665f119dd522ab4759fdeb5cd8d42f66f61";
   };
 
-  buildInputs = [texLive qt python makeWrapper ];
+  buildInputs = [texLive qt python makeWrapper 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 bf524dc957d0..000000000000
--- 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 fa9dec049600..2944df496f23 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
index 5e7e921710f0..936fedd1491e 100644
--- a/pkgs/applications/networking/dropbox/default.nix
+++ b/pkgs/applications/networking/dropbox/default.nix
@@ -23,7 +23,7 @@ let
   sha256 = "72aeaf00727da9f3fe39386dcf883bb303de928ba43c738fcc5bb62b93eca252";
 
   # relative location where the dropbox libraries are stored
-  sharedir = "share/dropbox";
+  appdir = "opt/dropbox";
 
   # Libraries referenced by dropbox binary.
   # Be aware that future versions of the dropbox binary may refer
@@ -60,17 +60,17 @@ in stdenv.mkDerivation {
   '';
 
   installPhase = ''
-    ensureDir "$out/${sharedir}"
-    cp -r .dropbox-dist/* "$out/${sharedir}/"
+    ensureDir "$out/${appdir}"
+    cp -r .dropbox-dist/* "$out/${appdir}/"
     ensureDir "$out/bin"
-    ln -s "$out/${sharedir}/dropbox" "$out/bin/dropbox"
+    ln -s "$out/${appdir}/dropbox" "$out/bin/dropbox"
 
     patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 \
-      "$out/${sharedir}/dropbox"
+      "$out/${appdir}/dropbox"
 
-    RPATH=${ldpath}:${gcc.gcc}/lib64:$out/${sharedir}
+    RPATH=${ldpath}:${gcc.gcc}/lib64:$out/${appdir}
     echo "updating rpaths to: $RPATH"
-    find "$out/${sharedir}" -type f -a -perm +0100 \
+    find "$out/${appdir}" -type f -a -perm +0100 \
       -print -exec patchelf --force-rpath --set-rpath "$RPATH" {} \;
 
     ensureDir "$out/share/applications"
diff --git a/pkgs/applications/networking/newsreaders/kwooty/default.nix b/pkgs/applications/networking/newsreaders/kwooty/default.nix
index 003157dd1291..15b1c6c6b4ea 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 c3e39145dd81..52b93c8e1742 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/build-support/make-startupitem/default.nix b/pkgs/build-support/make-startupitem/default.nix
index 07cdee600d45..dc78b8a704e2 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 64d8b8f19247..7e2a0d4f03b9 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/development/compilers/epic/default.nix b/pkgs/development/compilers/epic/default.nix
index 33087f23c9ae..9060d313be5a 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/idris/default.nix b/pkgs/development/compilers/idris/default.nix
index e030fee76583..f0fd33e439f0 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/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix
deleted file mode 100644
index 550edcc004aa..000000000000
--- 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 a64f10e268cc..8ec80b785de0 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 37f103f7772d..a2d2d753a4af 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/haskell/HSH/default.nix b/pkgs/development/libraries/haskell/HSH/default.nix
new file mode 100644
index 000000000000..ad6ee08bffdf
--- /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 000000000000..632de1f30e5b
--- /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/authenticate/default.nix b/pkgs/development/libraries/haskell/authenticate/default.nix
index 8818aa2d9727..6aa1e4498402 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 000000000000..f974a72347fd
--- /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 304889991f05..304889991f05 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/clientsession/default.nix b/pkgs/development/libraries/haskell/clientsession/default.nix
index a59b3b9ef0e4..d4a770d34b74 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/convertible/default.nix b/pkgs/development/libraries/haskell/convertible/default.nix
index 5497500c0a86..a3fa0208e2d0 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/filestore/default.nix b/pkgs/development/libraries/haskell/filestore/default.nix
index db4412238437..0abd073c51c0 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 65aab04f9147..b9fc9fa3ae9c 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 cc1827ac3425..0e1668a58183 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/persistent/default.nix b/pkgs/development/libraries/haskell/persistent/default.nix
index 51fdacfcf2b3..d498aa6edd0a 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/stm/2.3.nix b/pkgs/development/libraries/haskell/stm/2.3.nix
new file mode 100644
index 000000000000..7057ede7052e
--- /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 35b619166a4f..bb729ef31201 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 6b79e4cdda84..9a90eb5dd9f8 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/yesod/default.nix b/pkgs/development/libraries/haskell/yesod/default.nix
index 435aa7492bb3..2ab9b5683134 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/itk/default.nix b/pkgs/development/libraries/itk/default.nix
index c0088d7a8d60..6be998b691a5 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 ae8165638d1a..38272165a281 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 0c490c63411a..48ef55892c8f 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/zlib/latest.nix b/pkgs/development/libraries/zlib/latest.nix
new file mode 100644
index 000000000000..1333c9fdfdf3
--- /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 69386bd75787..23858576efd5 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 000000000000..876556a7b922
--- /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 af7207064bae..b6c0df5ac15b 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 000000000000..c440285671be
--- /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/leiningen/builder.sh b/pkgs/development/tools/build-managers/leiningen/builder.sh
index 65d318c8f1e4..2ee86d86d77b 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 61a0374bdad1..efdb578a61b6 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 1a7157568e43..2edf1370ff4b 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 000000000000..86f2e8cf2b2e
--- /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 86f2e8cf2b2e..776c0bf450c7 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 000000000000..2e158abaf898
--- /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 000000000000..d3c373ae4df7
--- /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/games/spring/spring-lobby.nix b/pkgs/games/spring/spring-lobby.nix
index 9365f2e65858..4e34d3807ca7 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/misc/my-env/default.nix b/pkgs/misc/my-env/default.nix
index 4e63cca439b4..eb319b1c9b34 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;
     initialPath= (import ../../stdenv/common-path.nix) { inherit pkgs; };
@@ -54,7 +54,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
@@ -109,6 +109,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/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix
new file mode 100644
index 000000000000..8a7d2b9e4581
--- /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/gogoclient/config-paths.patch b/pkgs/os-specific/linux/gogoclient/config-paths.patch
new file mode 100644
index 000000000000..88358038bc7e
--- /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 000000000000..d1a4bf9feb65
--- /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 000000000000..22ecad187d62
--- /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/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 5b829db09cd0..23d1062cc398 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 638f2e4360e7..541e442f6b17 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 000000000000..162fcaee55a6
--- /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 aa92b2f2d0d1..c5c7e0b01f0a 100644
--- a/pkgs/os-specific/linux/qemu-kvm/default.nix
+++ b/pkgs/os-specific/linux/qemu-kvm/default.nix
@@ -13,7 +13,10 @@ stdenv.mkDerivation rec {
 
   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/servers/sql/postgresql/8.3.x.nix b/pkgs/servers/sql/postgresql/8.3.x.nix
index ba0d57b3654b..c69cb135f7c5 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 20b9bca5144c..8460a8f41d15 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 6813bd927c8a..5b9c565d802e 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 161c3dc2ccf0..63c7255559c1 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/misc/grub/1.98.nix b/pkgs/tools/misc/grub/1.98.nix
deleted file mode 100644
index df7d3408b619..000000000000
--- 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 d41b2ad00109..ba743722e3b8 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 }:
+, polkit, isocodes }:
 
 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 ];
 
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 8ca0be990397..49aacaa4ef9a 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/vpnc/default.nix b/pkgs/tools/networking/vpnc/default.nix
index 88ef6bd8e59a..8619cd954090 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).
diff --git a/pkgs/tools/networking/vpnc/vpnc-script.patch b/pkgs/tools/networking/vpnc/vpnc-script.patch
new file mode 100644
index 000000000000..67a86d5d58fa
--- /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/security/tor/default.nix b/pkgs/tools/security/tor/default.nix
index 62a75c16b4e4..3d2360196a66 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 000000000000..243604c2c79e
--- /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 c4cd1ee3a05a..021983370e1d 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 30f2532abdd3..a65b00f053a9 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -802,8 +802,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; };
@@ -1456,6 +1454,8 @@ let
 
   vacuum = callPackage ../applications/networking/instant-messengers/vacuum {};
 
+  vidalia = callPackage ../tools/security/vidalia { };
+
   vbetool = builderDefsPackage ../tools/system/vbetool {
     inherit pciutils libx86 zlib;
   };
@@ -1892,9 +1892,6 @@ let
     stripped = false;
 
     inherit noSysDirs;
-    cross = null;
-    libcCross = null;
-    binutilsCross = null;
 
     # bootstrapping a profiled compiler does not work in the sheevaplug:
     # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944
@@ -1910,6 +1907,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.
@@ -2738,7 +2745,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 { });
 
@@ -2932,6 +2940,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; };
@@ -2967,6 +2979,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 { };
@@ -4812,6 +4830,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;
@@ -5249,6 +5270,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 { };
@@ -5807,6 +5832,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;
   };
@@ -5861,6 +5888,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 { };
 
@@ -6271,14 +6299,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 { };
 
@@ -6480,6 +6503,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 { };
@@ -7451,7 +7476,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 90fd84573b11..31d8ef454b8f 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 {};
 
@@ -868,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 {};
@@ -907,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 {};
@@ -1283,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 {};
 
@@ -1569,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 85d50caf8635..842f127f576c 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 ec80fd58a025..0e8b8b9f8ac2 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 71e4944b303c..e6a4798f27b1 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;