about summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2012-11-21 16:20:36 +0100
committerPeter Simons <simons@cryp.to>2012-11-21 16:20:36 +0100
commitf67d5a9a39c658ba38ce4efd3968fb76ed97ac70 (patch)
treefb0a753dab894f13519ea969ad7edcfc19e3b56f /pkgs/tools
parent473ba2212d3b8cc16b5ffb2f5a6367425614357c (diff)
parent9ada368ef842d5bc52d0db0b92ee0217cc213a83 (diff)
downloadnixlib-f67d5a9a39c658ba38ce4efd3968fb76ed97ac70.tar
nixlib-f67d5a9a39c658ba38ce4efd3968fb76ed97ac70.tar.gz
nixlib-f67d5a9a39c658ba38ce4efd3968fb76ed97ac70.tar.bz2
nixlib-f67d5a9a39c658ba38ce4efd3968fb76ed97ac70.tar.lz
nixlib-f67d5a9a39c658ba38ce4efd3968fb76ed97ac70.tar.xz
nixlib-f67d5a9a39c658ba38ce4efd3968fb76ed97ac70.tar.zst
nixlib-f67d5a9a39c658ba38ce4efd3968fb76ed97ac70.zip
Merge branch 'master' into stdenv-updates.
Conflicts have been resolved in:

        pkgs/tools/misc/file/default.nix
        pkgs/top-level/all-packages.nix
        pkgs/top-level/python-packages.nix
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/X11/xdg-utils/default.nix6
-rw-r--r--pkgs/tools/admin/tigervnc/default.nix45
-rw-r--r--pkgs/tools/archivers/cabextract/default.nix9
-rw-r--r--pkgs/tools/archivers/p7zip/default.nix8
-rw-r--r--pkgs/tools/archivers/sharutils/default.nix4
-rw-r--r--pkgs/tools/archivers/sharutils/sharutils-4.11.1-cross-binary-mode-popen.patch63
-rw-r--r--pkgs/tools/archivers/zip/default.nix5
-rw-r--r--pkgs/tools/backup/obnam/default.nix6
-rw-r--r--pkgs/tools/backup/tarsnap/default.nix18
-rw-r--r--pkgs/tools/bluetooth/obexd/default.nix4
-rw-r--r--pkgs/tools/filesystems/btrfsprogs/default.nix6
-rw-r--r--pkgs/tools/filesystems/dosfstools/default.nix5
-rw-r--r--pkgs/tools/filesystems/mtdutils/default.nix9
-rw-r--r--pkgs/tools/graphics/asymptote/default.nix7
-rw-r--r--pkgs/tools/graphics/asymptote/src-for-default.nix8
-rw-r--r--pkgs/tools/graphics/graphviz/default.nix2
-rw-r--r--pkgs/tools/graphics/graphviz/fix-broken-memcp-signature.patch15
-rw-r--r--pkgs/tools/graphics/plotutils/debian-patches.nix2
-rw-r--r--pkgs/tools/misc/debian-devscripts/default.nix36
-rw-r--r--pkgs/tools/misc/debootstrap/default.nix122
-rw-r--r--pkgs/tools/misc/file/default.nix2
-rw-r--r--pkgs/tools/misc/grub/2.0x.nix2
-rw-r--r--pkgs/tools/misc/grub/fix-bash-completion.patch24
-rw-r--r--pkgs/tools/misc/gsmartcontrol/default.nix23
-rw-r--r--pkgs/tools/misc/jdiskreport/builder.sh9
-rw-r--r--pkgs/tools/misc/jdiskreport/default.nix14
-rw-r--r--pkgs/tools/misc/picocom/default.nix23
-rw-r--r--pkgs/tools/misc/plowshare/default.nix12
-rw-r--r--pkgs/tools/misc/refind/default.nix8
-rw-r--r--pkgs/tools/misc/screen/default.nix6
-rw-r--r--pkgs/tools/misc/testdisk/default.nix12
-rw-r--r--pkgs/tools/misc/timidity/default.nix2
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix6
-rw-r--r--pkgs/tools/networking/aircrack-ng/default.nix2
-rw-r--r--pkgs/tools/networking/curl/default.nix6
-rw-r--r--pkgs/tools/networking/ddclient/ddclient-foreground.patch92
-rw-r--r--pkgs/tools/networking/ddclient/default.nix15
-rw-r--r--pkgs/tools/networking/dnsmasq/default.nix8
-rw-r--r--pkgs/tools/networking/miniupnpd/default.nix23
-rw-r--r--pkgs/tools/networking/modemmanager/default.nix4
-rw-r--r--pkgs/tools/networking/mosh/default.nix4
-rw-r--r--pkgs/tools/networking/nss-myhostname/default.nix19
-rw-r--r--pkgs/tools/networking/nss-myhostname/ignore-ipv6-link-local.patch13
-rw-r--r--pkgs/tools/networking/nss-myhostname/nscd-segfault.patch15
-rw-r--r--pkgs/tools/networking/nss-pam-ldapd/default.nix34
-rw-r--r--pkgs/tools/networking/openssh/default.nix4
-rw-r--r--pkgs/tools/networking/sitecopy/default.nix6
-rw-r--r--pkgs/tools/package-management/cabal-install/0.14.0.nix4
-rw-r--r--pkgs/tools/package-management/cabal-install/1.16.0.2.nix23
-rw-r--r--pkgs/tools/package-management/dpkg/default.nix30
-rw-r--r--pkgs/tools/package-management/nix/unstable.nix18
-rw-r--r--pkgs/tools/security/gnupg/default.nix2
-rw-r--r--pkgs/tools/security/gnupg1/default.nix4
-rw-r--r--pkgs/tools/security/pinentry/default.nix11
-rw-r--r--pkgs/tools/system/ddrescue/default.nix4
-rw-r--r--pkgs/tools/system/fakeroot/default.nix18
-rw-r--r--pkgs/tools/system/hardlink/default.nix34
-rw-r--r--pkgs/tools/system/pciutils/default.nix15
-rw-r--r--pkgs/tools/system/safecopy/default.nix30
-rw-r--r--pkgs/tools/system/smartmontools/default.nix16
-rw-r--r--pkgs/tools/typesetting/asciidoc/default.nix10
-rw-r--r--pkgs/tools/typesetting/tex/texlive/beamer.nix6
-rw-r--r--pkgs/tools/virtualization/ec2-api-tools/default.nix23
63 files changed, 682 insertions, 334 deletions
diff --git a/pkgs/tools/X11/xdg-utils/default.nix b/pkgs/tools/X11/xdg-utils/default.nix
index cc166ba20d99..df5d59c7b57c 100644
--- a/pkgs/tools/X11/xdg-utils/default.nix
+++ b/pkgs/tools/X11/xdg-utils/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, file }:
 
 stdenv.mkDerivation rec {
   name = "xdg-utils-1.0.2";
@@ -7,6 +7,10 @@ stdenv.mkDerivation rec {
     url = "http://portland.freedesktop.org/download/${name}.tgz";
     sha256 = "1b019d3r1379b60p33d6z44kx589xjgga62ijz9vha95dg8vgbi1";
   };
+
+  postInstall = ''
+    substituteInPlace $out/bin/xdg-mime --replace /usr/bin/file ${file}/bin/file
+  '';
   
   meta = {
     homepage = http://portland.freedesktop.org/wiki/;
diff --git a/pkgs/tools/admin/tigervnc/default.nix b/pkgs/tools/admin/tigervnc/default.nix
index 36aae0684385..f74463b10635 100644
--- a/pkgs/tools/admin/tigervnc/default.nix
+++ b/pkgs/tools/admin/tigervnc/default.nix
@@ -3,23 +3,25 @@
 , fontDirectories, fontutil, libgcrypt, gnutls, pam, flex, bison
 , fixesproto, damageproto, xcmiscproto, bigreqsproto, randrproto, renderproto
 , fontsproto, videoproto, compositeproto, scrnsaverproto, resourceproto
-, libxkbfile, libXfont, libpciaccess
+, libxkbfile, libXfont, libpciaccess, cmake, libjpeg_turbo, libXft, fltk, libXinerama
+, xineramaproto, libXcursor, fetchsvn, libxcrypt
 }:
 
-
-
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "tigervnc-1.1.0";
+  # Release version = "1.2.0";
+  revision = 5005;
+  version = "r${toString revision}";
+  name = "tigervnc-${version}";
   
-  src = fetchurl {
-    url = "mirror://sourceforge/tigervnc/${name}.tar.gz";
-    sha256 = "1x30s12fwv9rk0fnwwn631qq0d8rpjjx53bvzlx8c91cba170jsr";
+  src = fetchsvn {
+    # Release url = "mirror://sourceforge/tigervnc/${version}/${name}.tar.gz";
+    url = "https://tigervnc.svn.sourceforge.net/svnroot/tigervnc/trunk";
+    rev = revision;
+    sha256 = "2401e0ede9a2d50a37caeb094e5e832d24878749239578f44ae2acd42de01b43";
   };
 
-  configureFlags = "--enable-nls";
-
   inherit fontDirectories;
 
   patchPhase = ''
@@ -41,7 +43,11 @@ stdenv.mkDerivation rec {
   # this:  ${concatStringsSep " " (map (f: "${f}") xorgserver.patches)}
   xorgPatches = xorgserver.patches;
 
+  dontUseCmakeBuildDir = "yes";
+
   postBuild = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fpermissive -Wno-error=int-to-pointer-cast"
+
     # Build Xvnc
     tar xf ${xorgserver.src}
     cp -R xorg*/* unix/xserver
@@ -50,19 +56,13 @@ stdenv.mkDerivation rec {
     do
       patch -p1 < $a
     done
-    patch -p1 < ../xserver18.patch
+    patch -p1 < ../xserver113.patch
     autoreconf -vfi
-    ./configure $configureFlags --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg --disable-dmx --disable-dri --disable-dri2 --disable-glx
+    ./configure $configureFlags --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg --disable-dmx --disable-dri --disable-dri2 --disable-glx --prefix="$out"
     make TIGERVNC_SRCDIR=`pwd`/../..
     popd
   '';
 
-  # I don't know why I need this; it may have to do with this problem:
-  # http://bugs.gentoo.org/show_bug.cgi?id=142852
-  preInstall = ''
-    sed -i -e s,@MKINSTALLDIRS@,`pwd`/mkinstalldirs, po/Makefile
-  '';
-
   postInstall = ''
     pushd unix/xserver
     make TIGERVNC_SRCDIR=`pwd`/../.. install
@@ -72,17 +72,20 @@ stdenv.mkDerivation rec {
     buildInputs = (map (x : x.hostDrv) (buildInputs ++ [
       fixesproto damageproto xcmiscproto bigreqsproto randrproto renderproto
       fontsproto videoproto compositeproto scrnsaverproto resourceproto
-      libxkbfile libXfont libpciaccess
+      libxkbfile libXfont libpciaccess xineramaproto
     ]));
   };
 
   buildInputs =
-    [ libX11 libXext gettext libICE libXtst libXi libSM
-      nasm libgcrypt gnutls pam pixman
+    [ libX11 libXext gettext libICE libXtst libXi libSM libXft
+      nasm libgcrypt gnutls pam pixman libjpeg_turbo fltk xineramaproto
+      libXinerama libXcursor libxcrypt
     ];
   
   buildNativeInputs = 
-    [ autoconf automake cvs utilmacros fontutil libtool flex bison ] 
+    [ autoconf automake cvs utilmacros fontutil libtool flex bison 
+      cmake
+    ] 
       ++ xorgserver.buildNativeInputs;
 
   propagatedBuildNativeInputs = xorgserver.propagatedBuildNativeInputs;
diff --git a/pkgs/tools/archivers/cabextract/default.nix b/pkgs/tools/archivers/cabextract/default.nix
index 9e11a1bf761e..79be818bfb39 100644
--- a/pkgs/tools/archivers/cabextract/default.nix
+++ b/pkgs/tools/archivers/cabextract/default.nix
@@ -1,10 +1,11 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "cabextract-1.3";
+  name = "cabextract-1.4";
+
   src = fetchurl {
-    url = meta.homepage + name + ".tar.gz";
-    sha256 = "00f0qcrz9f2gwvm98qglbrjpwrzwrfdgh0hck6im93dl6lx3hr6l";
+    url = "http://www.cabextract.org.uk/${name}.tar.gz";
+    sha256 = "07p49053a727nwnw7vnx1bpj4xqa43cvx8mads2146fpqai8pfpp";
   };
 
   meta = {
diff --git a/pkgs/tools/archivers/p7zip/default.nix b/pkgs/tools/archivers/p7zip/default.nix
index bb9743e8e5d9..767e85d67733 100644
--- a/pkgs/tools/archivers/p7zip/default.nix
+++ b/pkgs/tools/archivers/p7zip/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "p7zip-9.13";
+  name = "p7zip-9.20.1";
   
   src = fetchurl {
-    url = mirror://sourceforge/p7zip/p7zip_9.13_src_all.tar.bz2;
-    sha256 = "08yr0cfbjx60r1ia7vhphzvc3gax62xhgsn3vdm7sdmxxai0z77w";
+    url = mirror://sourceforge/p7zip/p7zip_9.20.1_src_all.tar.bz2;
+    sha256 = "10j7rc1nzdp7vvcpc3340yi3qw7abby4szv8zkwh10d0zizpwma9";
   };
 
   preConfigure =
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
       buildFlags=all3
     '';
 
+  enableParallelBuilding = true;
+
   meta = {
     homepage = http://p7zip.sourceforge.net/;
     description = "A port of the 7-zip archiver";
diff --git a/pkgs/tools/archivers/sharutils/default.nix b/pkgs/tools/archivers/sharutils/default.nix
index bbf585d058bb..7346b8e4e058 100644
--- a/pkgs/tools/archivers/sharutils/default.nix
+++ b/pkgs/tools/archivers/sharutils/default.nix
@@ -20,6 +20,10 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  crossAttrs = {
+    patches = [ ./sharutils-4.11.1-cross-binary-mode-popen.patch ];
+  };
+
   meta = {
     description = "GNU Sharutils, tools for remote synchronization and `shell archives'";
 
diff --git a/pkgs/tools/archivers/sharutils/sharutils-4.11.1-cross-binary-mode-popen.patch b/pkgs/tools/archivers/sharutils/sharutils-4.11.1-cross-binary-mode-popen.patch
new file mode 100644
index 000000000000..f05eab251d4c
--- /dev/null
+++ b/pkgs/tools/archivers/sharutils/sharutils-4.11.1-cross-binary-mode-popen.patch
@@ -0,0 +1,63 @@
+diff -Naur sharutils-4.11.1.orig/configure sharutils-4.11.1/configure
+--- sharutils-4.11.1.orig/configure	2011-06-20 11:07:40.000000000 -0400
++++ sharutils-4.11.1/configure	2011-06-20 11:09:30.000000000 -0400
+@@ -26962,33 +26962,33 @@
+   CATALOGS="$new_CATALOGS"
+ fi
+ 
+-if test "$cross_compiling" = yes; then :
+-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error $? "cannot run test program while cross compiling
+-See \`config.log' for more details" "$LINENO" 5; }
+-else
+-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h.  */
+-
+-int
+-main ()
+-{
+-    FILE * fp = popen ("date", "rb");
+-    exit (fp == NULL);
+-  ;
+-  return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_run "$LINENO"; then :
+-
++#if test "$cross_compiling" = yes; then :
++#  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++#$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++#as_fn_error $? "cannot run test program while cross compiling
++#See \`config.log' for more details" "$LINENO" 5; }
++#else
++#  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++#/* end confdefs.h.  */
++#
++#int
++#main ()
++#{
++#    FILE * fp = popen ("date", "rb");
++#    exit (fp == NULL);
++#  ;
++#  return 0;
++#}
++#_ACEOF
++#if ac_fn_c_try_run "$LINENO"; then :
++#
+ $as_echo "#define BINARY_MODE_POPEN 1" >>confdefs.h
+-
+-
+-fi
+-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+-fi
++#
++#
++#fi
++#rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++#  conftest.$ac_objext conftest.beam conftest.$ac_ext
++#fi
+ 
+ 
+ 
diff --git a/pkgs/tools/archivers/zip/default.nix b/pkgs/tools/archivers/zip/default.nix
index c7bddfd6de2c..2e3f111aba46 100644
--- a/pkgs/tools/archivers/zip/default.nix
+++ b/pkgs/tools/archivers/zip/default.nix
@@ -6,7 +6,10 @@ stdenv.mkDerivation {
   name = "zip-3.0";
 
   src = fetchurl {
-    url = ftp://ftp.info-zip.org/pub/infozip/src/zip30.tgz;
+    urls = [
+      ftp://ftp.info-zip.org/pub/infozip/src/zip30.tgz
+      http://pkgs.fedoraproject.org/repo/pkgs/zip/zip30.tar.gz/7b74551e63f8ee6aab6fbc86676c0d37/zip30.tar.gz
+    ];
     sha256 = "0sb3h3067pzf3a7mlxn1hikpcjrsvycjcnj9hl9b1c3ykcgvps7h";
   };
 
diff --git a/pkgs/tools/backup/obnam/default.nix b/pkgs/tools/backup/obnam/default.nix
index 119633e06387..07b86c2e41ed 100644
--- a/pkgs/tools/backup/obnam/default.nix
+++ b/pkgs/tools/backup/obnam/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, python, pythonPackages, pycrypto, attr }:
 
 pythonPackages.buildPythonPackage {
-  name = "obnam-1.1";
+  name = "obnam-1.2";
   namePrefix = "";
 
   src = fetchurl rec {
-    url = "http://code.liw.fi/debian/pool/main/o/obnam/obnam_1.1.orig.tar.gz";
-    sha256 = "763693e5ea4e8d6a63b1a16c2aacd5fe0dc97abc687c8f0dde5840f77d549349";
+    url = "http://code.liw.fi/debian/pool/main/o/obnam/obnam_1.2.orig.tar.gz";
+    sha256 = "33457452726d5c393d98c565b8e1ab3ac11276cc42bf67c4eee6c4e4ac9976d6";
   };
 
   buildInputs = [ pythonPackages.sphinx attr ];
diff --git a/pkgs/tools/backup/tarsnap/default.nix b/pkgs/tools/backup/tarsnap/default.nix
new file mode 100644
index 000000000000..bcf03356c683
--- /dev/null
+++ b/pkgs/tools/backup/tarsnap/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, openssl, zlib, e2fsprogs }:
+
+stdenv.mkDerivation {
+  name = "tarsnap-1.0.33";
+
+  src = fetchurl {
+    url = "https://www.tarsnap.com/download/tarsnap-autoconf-1.0.33.tgz";
+    sha256 = "0z8bmra3xms9vcgvkiy9fy1j97192z6w7n658j6zr5cniid8438c";
+  };
+
+  buildInputs = [ openssl zlib e2fsprogs ];
+
+  meta = {
+    description = "Online backups for the truly paranoid";
+    homepage = "http://www.tarsnap.com/";
+    maintainers = with stdenv.lib.maintainers; [roconnor];
+  };
+}
diff --git a/pkgs/tools/bluetooth/obexd/default.nix b/pkgs/tools/bluetooth/obexd/default.nix
index 215ecb167bad..1cf3918c21fc 100644
--- a/pkgs/tools/bluetooth/obexd/default.nix
+++ b/pkgs/tools/bluetooth/obexd/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, dbus, openobex, bluez, libical }:
    
 stdenv.mkDerivation rec {
-  name = "obexd-0.40";
+  name = "obexd-0.47";
    
   src = fetchurl {
     url = "mirror://kernel/linux/bluetooth/${name}.tar.gz";
-    sha256 = "0jz0ldg2wvdzzl639xzf76hqwj23svlg3zv1r8nc3hik3pgs6h2l";
+    sha256 = "15zw008098qr5az9y1c010yv8gkw1f6hi3mnfcvpmwxwh23kfh4i";
   };
 
   buildInputs = [ glib dbus.libs openobex bluez libical ];
diff --git a/pkgs/tools/filesystems/btrfsprogs/default.nix b/pkgs/tools/filesystems/btrfsprogs/default.nix
index 861bacd46c2a..4c1963f46332 100644
--- a/pkgs/tools/filesystems/btrfsprogs/default.nix
+++ b/pkgs/tools/filesystems/btrfsprogs/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchgit, zlib, libuuid, acl, attr, e2fsprogs }:
 
-let version = "0.19-20120328"; in
+let version = "0.20pre20121005"; in
 
 stdenv.mkDerivation {
   name = "btrfs-progs-${version}";
 
   src = fetchgit {
     url = "git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git";
-    rev = "1957076ab4fefa47b6efed3da541bc974c83eed7";
-    sha256 = "566d863c5500652e999d0d6b823365fb06f2f8f9523e65e69eaa3e993e9b26e1";
+    rev = "91d9eec1ff044394f2b98ee7fcb76713dd33b994";
+    sha256 = "72d4cd4fb23d876a17146d6231ad40a2151fa47c648485c54cf7478239b43764";
   };
 
   buildInputs = [ zlib libuuid acl attr e2fsprogs ];
diff --git a/pkgs/tools/filesystems/dosfstools/default.nix b/pkgs/tools/filesystems/dosfstools/default.nix
index 21e2ceea9dd8..b0ee47e23b56 100644
--- a/pkgs/tools/filesystems/dosfstools/default.nix
+++ b/pkgs/tools/filesystems/dosfstools/default.nix
@@ -4,7 +4,10 @@ stdenv.mkDerivation rec {
   name = "dosfstools-3.0.11";
 
   src = fetchurl {
-    url = "http://www.daniel-baumann.ch/software/dosfstools/${name}.tar.bz2";
+    urls = [
+      "http://www.daniel-baumann.ch/software/dosfstools/${name}.tar.bz2"
+      "http://pkgs.fedoraproject.org/repo/pkgs/dosfstools/${name}.tar.bz2/8d2211d5bd813164e20740e7c852aa06/${name}.tar.bz2"
+    ];
     sha256 = "1a6rzjy82f6579ywaln33g1wc7k8gbgjdss9q2q8daplac7pmcll";
   };
 
diff --git a/pkgs/tools/filesystems/mtdutils/default.nix b/pkgs/tools/filesystems/mtdutils/default.nix
index 9e7e3a16e01c..4cb09d53adcf 100644
--- a/pkgs/tools/filesystems/mtdutils/default.nix
+++ b/pkgs/tools/filesystems/mtdutils/default.nix
@@ -1,22 +1,19 @@
 {stdenv, fetchgit, libuuid, lzo, zlib, acl}:
 
 let
-  version = "1.3.1";
+  version = "1.5.0";
 in
 stdenv.mkDerivation {
   name = "mtd-utils-${version}";
 
   src = fetchgit {
     url = git://git.infradead.org/mtd-utils.git;
-    rev = "v" + version;
-    sha256 = "0pjjs9x03bgvphqwlw99c2cpkpjsx0vkqi79vjl7fcb9pyrghgd1";
+    rev = "refs/tags/v" + version;
+    sha256 = "cc645c0ec28083431b11f3b38f9f7759378d89e11047a883529f703e1b6c1cce";
   };
 
   patchPhase = ''
     sed -i -e s,/usr/local,, -e s,/usr,$out, common.mk
-
-    # gcc 4.5.1 issues a warning where 4.4.3 did not
-    sed -i -e s/-Werror// ubi-utils/old-utils/Makefile
   '';
 
   buildInputs = [ libuuid lzo zlib acl ];
diff --git a/pkgs/tools/graphics/asymptote/default.nix b/pkgs/tools/graphics/asymptote/default.nix
index bdde709c2c22..e9baac43cbdd 100644
--- a/pkgs/tools/graphics/asymptote/default.nix
+++ b/pkgs/tools/graphics/asymptote/default.nix
@@ -3,11 +3,11 @@ a @ {
   boehmgc,mesa,ncurses,readline,gsl,libsigsegv,
   python,zlib, perl, texLive, texinfo, lzma,
 
-  noDepEntry, fullDepEntry, fetchUrlFromSrcInfo, 
+  noDepEntry, fullDepEntry, fetchUrlFromSrcInfo,
   lib,
 
   ...}:
-let 
+let
   s = import ./src-for-default.nix;
   buildInputs = with a; [
     freeglut ghostscriptX imagemagick fftw boehmgc
@@ -54,8 +54,9 @@ rec {
     description = "A tool for programming graphics intended to replace Metapost";
     maintainers = [
       a.lib.maintainers.raskin
+      a.lib.maintainers.simons
     ];
-    platforms = with a.lib.platforms; 
+    platforms = with a.lib.platforms;
       linux;
   };
 }
diff --git a/pkgs/tools/graphics/asymptote/src-for-default.nix b/pkgs/tools/graphics/asymptote/src-for-default.nix
index e9d822904afc..277393283abb 100644
--- a/pkgs/tools/graphics/asymptote/src-for-default.nix
+++ b/pkgs/tools/graphics/asymptote/src-for-default.nix
@@ -1,7 +1,7 @@
 rec {
-   version="2.16";
-   name="asymptote-2.16";
-   hash="1yj8dx320s1ypqbpb2116y4kkc8lwg5q4d49n992ds3g59w98djj";
+   version="2.20";
+   name="asymptote-2.20";
+   hash="0ji45v0d9jps8clsl86pvmr22acci3f0ciicmyzak6dbczqyrj80";
    url="http://downloads.sourceforge.net/project/asymptote/${version}/asymptote-${version}.src.tgz";
-   advertisedUrl="http://downloads.sourceforge.net/project/asymptote/2.16/asymptote-2.16.src.tgz";
+   advertisedUrl="http://downloads.sourceforge.net/project/asymptote/2.20/asymptote-2.20.src.tgz";
 }
diff --git a/pkgs/tools/graphics/graphviz/default.nix b/pkgs/tools/graphics/graphviz/default.nix
index 4edec43e243c..db4d766b7605 100644
--- a/pkgs/tools/graphics/graphviz/default.nix
+++ b/pkgs/tools/graphics/graphviz/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
       pango gd gts
     ] ++ stdenv.lib.optionals (xlibs != null) [ xlibs.xlibs xlibs.libXrender ];
 
+  patches = [ ./fix-broken-memcp-signature.patch ];
+
   configureFlags =
     [ "--with-pngincludedir=${libpng}/include"
       "--with-pnglibdir=${libpng}/lib"
diff --git a/pkgs/tools/graphics/graphviz/fix-broken-memcp-signature.patch b/pkgs/tools/graphics/graphviz/fix-broken-memcp-signature.patch
new file mode 100644
index 000000000000..e93728d4850e
--- /dev/null
+++ b/pkgs/tools/graphics/graphviz/fix-broken-memcp-signature.patch
@@ -0,0 +1,15 @@
+diff -ubr graphviz-2.28.0-orig/lib/cdt/cdt.h graphviz-2.28.0-new/lib/cdt/cdt.h
+--- graphviz-2.28.0-orig/lib/cdt/cdt.h	2012-11-11 20:05:55.674397100 +0100
++++ graphviz-2.28.0-new/lib/cdt/cdt.h	2012-11-11 20:06:28.069511092 +0100
+@@ -238,11 +238,6 @@
+ extern int		dtstat _ARG_((Dt_t*, Dtstat_t*, int));
+ extern unsigned int	dtstrhash _ARG_((unsigned int, Void_t*, int));
+ 
+-#if !_PACKAGE_ast
+-extern int		memcmp _ARG_((const Void_t*, const Void_t*, size_t));
+-extern int		strcmp _ARG_((const char*, const char*));
+-#endif
+-
+ #undef extern
+ _END_EXTERNS_
+ 
diff --git a/pkgs/tools/graphics/plotutils/debian-patches.nix b/pkgs/tools/graphics/plotutils/debian-patches.nix
index d72974445e6d..0615d1f52e1a 100644
--- a/pkgs/tools/graphics/plotutils/debian-patches.nix
+++ b/pkgs/tools/graphics/plotutils/debian-patches.nix
@@ -1,6 +1,6 @@
 # Generated by debian-patches.sh from debian-patches.txt
 let
-  prefix = "http://patch-tracker.debian.org/patch/series/dl/plotutils/2.6-2";
+  prefix = "http://patch-tracker.debian.org/patch/series/dl/plotutils/2.6-3";
 in
 [
   {
diff --git a/pkgs/tools/misc/debian-devscripts/default.nix b/pkgs/tools/misc/debian-devscripts/default.nix
new file mode 100644
index 000000000000..ddf30f342d15
--- /dev/null
+++ b/pkgs/tools/misc/debian-devscripts/default.nix
@@ -0,0 +1,36 @@
+{stdenv, fetchurl, perl, CryptSSLeay, LWP, unzip, xz, dpkg, TimeDate, DBFile
+  , FileDesktopEntry, libxslt, docbook_xsl, python, setuptools, makeWrapper
+}:
+stdenv.mkDerivation rec {
+  version = "2.12.4";
+  name = "debian-devscripts-${version}";
+  src = fetchurl {
+    url = "mirror://debian/pool/main/d/devscripts/devscripts_${version}.tar.gz";
+    sha256 = "34bcbec78bd4fe34d9f1326b9d1477ff2410e20e2dca6b7bfbf2bf92dbb83904";
+  };
+  buildInputs = [ perl CryptSSLeay LWP unzip xz dpkg TimeDate DBFile 
+    FileDesktopEntry libxslt python setuptools makeWrapper ];
+  preConfigure = ''
+    export PERL5LIB="$PERL5LIB''${PERL5LIB:+:}${dpkg}";
+    sed -e "s@/usr/share/sgml/[^ ]*/manpages/docbook.xsl@${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl@" -i scripts/Makefile
+    sed -e 's/ translated_manpages//; s/--install-layout=deb//; s@--root="[^ ]*"@--prefix="'"$out"'"@' -i Makefile */Makefile
+    tgtpy="$out/lib/${python.libPrefix}/site-packages"
+    mkdir -p "$tgtpy"
+    export PYTHONPATH="$PYTHONPATH''${PYTHONPATH:+:}$tgtpy"
+    sed -re "s@/usr( |$|/)@$out\\1@" -i Makefile* */Makefile*
+    sed -re "s@/etc( |$|/)@$out/etc\\1@" -i Makefile* */Makefile*
+  '';
+  postInstall = ''
+    sed -re 's@(^|[ !`"])/bin/bash@\1${stdenv.shell}@g' -i "$out/bin"/*
+    for i in "$out/bin"/*; do
+      wrapProgram "$i" \
+        --prefix PERL5LIB : "$PERL5LIB" \
+        --prefix PERL5LIB : "$out/share/devscripts"
+    done
+  '';
+  meta = {
+    description = ''Debian package maintenance scripts'';
+    license = "GPL (various)"; # Mix of public domain, Artistic+GPL, GPL1+, GPL2+, GPL3+, and GPL2-only...
+    maintainers = with stdenv.lib.maintainers; [raskin];
+  };
+}
diff --git a/pkgs/tools/misc/debootstrap/default.nix b/pkgs/tools/misc/debootstrap/default.nix
index 33a1fc839ce0..388cfa14e41e 100644
--- a/pkgs/tools/misc/debootstrap/default.nix
+++ b/pkgs/tools/misc/debootstrap/default.nix
@@ -1,55 +1,65 @@
-{ stdenv, fetchurl, dpkg, gettext, gawk, perl, wget }:
+{ stdenv, fetchurl, dpkg, gettext, gawk, perl, wget, coreutils, fakeroot }:
 
 let
 
-  devices = fetchurl {
-    url = mirror://gentoo/distfiles/devices.tar.gz;
-    sha256 = "0j4yhajmlgvbksr2ij0dm7jy3q52j3wzhx2fs5lh05i1icygk4qd";
+# USAGE like this: debootstrap sid /tmp/target-chroot-directory
+
+# There is also cdebootstrap now. Is that easier to maintain?
+
+  makedev = stdenv.mkDerivation {
+    name = "makedev-for-debootstrap";
+    src = fetchurl {
+            url = mirror://debian/pool/main/m/makedev/makedev_2.3.1.orig.tar.gz;
+            sha256 = "1yhxlj2mhn1nqkx1f0sn0bl898nf28arxxa4lgp7hdrb5cpp36c5";
+    };
+    patches = [
+      (fetchurl {
+       url = "http://ftp.de.debian.org/debian/pool/main/m/makedev/makedev_2.3.1-89.diff.gz";
+       sha256 = "1zbifw2jkq6471fb67y893nq4lq009xbfbi57jbjwxnhqmrppcy9";
+       })
+    ];
+    # TODO install man
+    installPhase = ''
+      ensureDir $out/sbin
+      ls -l
+      t=$out/sbin/MAKEDEV
+      cp MAKEDEV $t
+      chmod +x $t
+    '';
   };
   
 in
 
 stdenv.mkDerivation {
-  name = "debootstrap-1.0.10lenny";
+
+  name = "debootstrap-1.0.42";
 
   src = fetchurl {
-    # I'd like to use the source. However it's lacking the lanny script ?
-    url = mirror://debian/pool/main/d/debootstrap/debootstrap_1.0.10lenny1_all.deb;
-    sha256 = "a70af8e3369408ce9d6314fb5219de73f9523b347b75a3b07ee17ea92c445051";
+    # git clone git://git.debian.org/d-i/debootstrap.git
+    # I'd like to use the source. However it's lacking the lanny script ? (still true?)
+    url = http://ftp.de.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.42.tar.gz;
+    sha256 = "0a5azl22wz1q92b2c91zlpz6krd7wqyi63yk87vyczp363ml0nz0";
   };
-  
+
   buildInputs = [ dpkg gettext gawk perl ];
 
-  unpackPhase = ''
-    dpkg-deb --extract "$src" .
-  '';
-  
   buildPhase = ":";
 
-  patches = [
-    # replace /usr/* and /sbin/* executables by @executable@ so that they can be replaced by substitute
-    # Be careful not to replace code being run in the debian chroot !
-    ./subst.patch
-  ];
-
-  # from deb 
+  # If you have to update the patch for functions a vim regex like this
+  # can help you identify which lines are used to write scripts on TARGET and
+  # which should /bin/ paths should be replaced:
+  # \<echo\>\|\/bin\/\|^\s*\<cat\>\|EOF\|END
   installPhase = ''
-    cp -r . $out; cd $out
-    t=bin/debootstrap
-    mkdir -p bin man/man8
-    cat >> $t << EOF
-    #!/bin/sh
-    export DEBOOTSTRAP_DIR=$out/usr/share/debootstrap
-    # mount and other tools must be found in chroot. So add default debain paths!
-    # TODO only add paths which are required by the scripts!
-    export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
-    $out/usr/sbin/debootstrap "\$@"
-    EOF
-    chmod +x $t
-    mv usr/share/man/man8/debootstrap.8.gz man/man8
 
-    set -x
-    for file in usr/share/debootstrap/functions usr/sbin/debootstrap; do
+    sed -i \
+      -e 's@/usr/bin/id@id@' \
+      -e 's@/usr/bin/dpkg@${dpkg}/bin/dpkg@' \
+      -e 's@/usr/bin/sha@${coreutils}/bin/sha@' \
+      -e 's@/bin/sha@${coreutils}/bin/sha@' \
+      debootstrap
+
+
+    for file in functions debootstrap; do
       substituteInPlace "$file" \
         --subst-var-by gunzip "$(type -p gunzip)" \
         --subst-var-by bunzip "$(type -p bunzip)" \
@@ -61,28 +71,36 @@ stdenv.mkDerivation {
         --subst-var-by uname "$(type -p uname)" \
         --subst-var-by wget "${wget}/bin/wget"
     done
-  '';
 
-  /* build from source:
-  installPhase = ''
-    cp ${devices} devices.tar.gz
-    mkdir -p $out/{bin,man/man8};
-    cp debootstrap.8 $out/man/man8
+
     sed -i  \
-      -e 's@-o root@@'   \
-      -e 's@-g root@@'   \
-      -e 's@chown@true@' \
-      Makefile
-    make pkgdetails debootstrap-arch
-    make DESTDIR="''\${out}" install-arch
-    t=$out/bin/debootstrap
-    cat >> $t << EOF
+      -e 's@\<wget\>@${wget}/bin/wget@' \
+      functions
+
+    d=$out/share/debootstrap
+    ensureDir $out/{share/debootstrap,bin}
+
+    ${fakeroot}/bin/fakeroot -- make devices.tar.gz MAKEDEV=${makedev}/sbin/MAKEDEV
+
+    cp -r . $d
+
+    cat >> $out/bin/debootstrap << EOF
     #!/bin/sh
-    DEBOOTSTRAP_DIR=$out/usr/share/debootstrap $out/usr/sbin/debootstrap "\$@"
+    export DEBOOTSTRAP_DIR="''${DEBOOTSTRAP_DIR:-$d}"
+    # mount and other tools must be found in chroot. So add default debain paths!
+    # TODO only add paths which are required by the scripts!
+    export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+    exec $d/debootstrap "\$@"
     EOF
-    chmod +x $t
+    chmod +x $out/bin/debootstrap
+
+    ensureDir $out/man/man8
+    mv debootstrap.8 $out/man/man8
   '';
-  */
+
+  passthru = {
+    inherit makedev;
+  };
 
   meta = { 
     description = "Tool to create a Debian system in a chroot";
diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix
index 4e62462b8b35..d7e88ec1a8cd 100644
--- a/pkgs/tools/misc/file/default.nix
+++ b/pkgs/tools/misc/file/default.nix
@@ -1,5 +1,5 @@
 {stdenv, fetchurl, zlib}:
- 
+
 stdenv.mkDerivation rec {
   name = "file-5.11";
 
diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix
index e85e8de3dd84..fae10a10a2ea 100644
--- a/pkgs/tools/misc/grub/2.0x.nix
+++ b/pkgs/tools/misc/grub/2.0x.nix
@@ -55,6 +55,8 @@ stdenv.mkDerivation rec {
            -e "s|/usr/src/unifont.bdf|$PWD/unifont.bdf|g"
     '';
 
+  patches = [ ./fix-bash-completion.patch ];
+
   configureFlags =
     let arch = if stdenv.system == "i686-linux" then "i386"
                else if stdenv.system == "x86_64-linux" then "x86_64"
diff --git a/pkgs/tools/misc/grub/fix-bash-completion.patch b/pkgs/tools/misc/grub/fix-bash-completion.patch
new file mode 100644
index 000000000000..97cecdce373f
--- /dev/null
+++ b/pkgs/tools/misc/grub/fix-bash-completion.patch
@@ -0,0 +1,24 @@
+diff -ubr grub-2.00-orig/util/bash-completion.d/grub-completion.bash.in grub-2.00/util/bash-completion.d/grub-completion.bash.in
+--- grub-2.00-orig/util/bash-completion.d/grub-completion.bash.in	2012-10-16 19:02:36.342733957 +0200
++++ grub-2.00/util/bash-completion.d/grub-completion.bash.in	2012-10-16 19:04:48.262733941 +0200
+@@ -17,6 +17,12 @@
+ # along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
+ # bash completion for grub
+ 
++have()
++{
++    unset -v have
++    _have $1 && have=yes
++}
++
+ __grub_dir() {
+     local i c=1 boot_dir
+ 
+@@ -479,6 +485,7 @@
+ have ${__grub_script_check_program} && \
+  complete -F _grub_script_check -o filenames ${__grub_script_check_program}
+ 
++unset -f have
+ 
+ # Local variables:
+ # mode: shell-script
diff --git a/pkgs/tools/misc/gsmartcontrol/default.nix b/pkgs/tools/misc/gsmartcontrol/default.nix
new file mode 100644
index 000000000000..60003b3b5d53
--- /dev/null
+++ b/pkgs/tools/misc/gsmartcontrol/default.nix
@@ -0,0 +1,23 @@
+{ fetchurl, stdenv, smartmontools, gtk, gtkmm, libglademm, pkgconfig, pcre }:
+
+stdenv.mkDerivation rec {
+  version="0.8.7";
+  name = "gsmartcontrol";
+
+  src = fetchurl {
+    url = "http://artificialtime.com/gsmartcontrol/gsmartcontrol-${version}.tar.bz2";
+    sha256 = "1ipykzqpfvlr84j38hr7q2cag4imrn1gql10slp8bfrs4h1si3vh";
+  };
+
+  buildInputs = [ smartmontools gtk gtkmm libglademm pkgconfig pcre ];
+
+  #installTargets = "install datainstall";
+
+  meta = {
+    description = "GSmartControl is a graphical user interface for smartctl (from smartmontools package), which is a tool for querying and controlling SMART (Self-Monitoring, Analysis, and Reporting Technology) data on modern hard disk drives.";
+    homepage = http://gsmartcontrol.berlios.de;
+    license = "GPLv2+";
+    maintainers = with stdenv.lib.maintainers; [qknight];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/tools/misc/jdiskreport/builder.sh b/pkgs/tools/misc/jdiskreport/builder.sh
index 1e73b674c157..cdc5f94bde0c 100644
--- a/pkgs/tools/misc/jdiskreport/builder.sh
+++ b/pkgs/tools/misc/jdiskreport/builder.sh
@@ -2,13 +2,14 @@ source $stdenv/setup
 
 unzip $src
 
-mkdir -p $out/jars
-mv */*.jar $out/jars
-jar=$(ls $out/jars/jdiskreport-*.jar)
+jar=$(ls */*.jar)
+
+mkdir -p $out/lib/java
+mv $jar $out/lib/java
 
 mkdir -p $out/bin
 cat > $out/bin/jdiskreport <<EOF
 #! $SHELL -e
-exec $jdk/bin/java -jar $jar
+exec $jre/bin/java -jar $out/lib/java/$(basename $jar)
 EOF
 chmod +x $out/bin/jdiskreport
diff --git a/pkgs/tools/misc/jdiskreport/default.nix b/pkgs/tools/misc/jdiskreport/default.nix
index 7a4de418a8c3..2457668d5b02 100644
--- a/pkgs/tools/misc/jdiskreport/default.nix
+++ b/pkgs/tools/misc/jdiskreport/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, fetchurl, unzip, jdk }:
+{ stdenv, fetchurl, unzip, jre }:
 
 stdenv.mkDerivation rec {
   name = "jdiskreport-1.4.0";
-  
+
   builder = ./builder.sh;
-  
+
   src = fetchurl {
     url = http://www.jgoodies.com/download/jdiskreport/jdiskreport-1_4_0.zip;
     sha256 = "0kx43480p89wlyza94lzqygqfafsdf964syc2c24q28y42psz4kd";
   };
-  
+
   buildInputs = [ unzip ];
-  
-  inherit jdk;
+
+  inherit jre;
 
   meta = {
     homepage = http://www.jgoodies.com/freeware/jdiskreport/;
     description = "A graphical utility to visualize disk usage";
     license = "unfree-redistributable";
-  };  
+  };
 }
diff --git a/pkgs/tools/misc/picocom/default.nix b/pkgs/tools/misc/picocom/default.nix
new file mode 100644
index 000000000000..bb08091ad57a
--- /dev/null
+++ b/pkgs/tools/misc/picocom/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "picocom-1.7";
+
+  src = fetchurl {
+    url = "http://picocom.googlecode.com/files/${name}.tar.gz";
+    sha256 = "17hjq713naq02xar711aw24qqd52p591mj1h5n97cni1ga7irwyh";
+  };
+
+  installPhase = ''
+    ensureDir $out/bin $out/share/man/man8
+    cp picocom $out/bin
+    cp picocom.8 $out/share/man/man8
+  '';
+
+  meta = {
+    description = "Minimal dumb-terminal emulation program";
+    homepage = http://code.google.com/p/picocom/;
+    license = "GPLv2+";
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+  };
+}
diff --git a/pkgs/tools/misc/plowshare/default.nix b/pkgs/tools/misc/plowshare/default.nix
index 5e684cfa377f..4634585cbd26 100644
--- a/pkgs/tools/misc/plowshare/default.nix
+++ b/pkgs/tools/misc/plowshare/default.nix
@@ -1,16 +1,14 @@
 { stdenv, fetchurl, makeWrapper, curl }:
 
-let
+stdenv.mkDerivation rec {
 
-  v  = "20120807";
+  name = "plowshare-${version}";
 
-in stdenv.mkDerivation {
-
-  name = "plowshare-git${v}";
+  version = "20120916";
 
   src = fetchurl {
-    url = "http://plowshare.googlecode.com/files/plowshare-snapshot-git${v}.tar.gz";
-    sha256 = "0clryfssaa4rjvsy760p51ppq1275lwvhm9jh3g4mi973xv4n8si";
+    url = "http://plowshare.googlecode.com/files/plowshare-snapshot-git${version}.tar.gz";
+    sha256 = "eccdb28d49ac47782abc8614202b3a88426cd587371641ecf2ec008880dc6067";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/refind/default.nix b/pkgs/tools/misc/refind/default.nix
index bd0a7040adff..1fbb177afa06 100644
--- a/pkgs/tools/misc/refind/default.nix
+++ b/pkgs/tools/misc/refind/default.nix
@@ -1,22 +1,22 @@
 { stdenv, fetchurl, gnu_efi, unzip }:
 
-let version = "0.2.3"; in
+let version = "0.4.5"; in
 
 stdenv.mkDerivation {
   name = "refind-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/refind/refind-src-${version}.zip";
-    sha256 = "0q3p4mczr6wchk4vbgsb0cq7829vk3b3kg9qaizrb02pdak3s2nf";
+    sha256 = "05nbalsl5csgph0v2amzgay9k2vzm47z8n1n6blbh9hvb7j5vn2c";
   };
 
   buildInputs = [ unzip ];
 
-  buildFlags = [ "prefix=" "EFIINC=${gnu_efi}/include/efi" "GNUEFILIB=${gnu_efi}/lib" "EFILIB=${gnu_efi}/lib" "EFICRT0=${gnu_efi}/lib" ];
+  buildFlags = [ "prefix=" "EFIINC=${gnu_efi}/include/efi" "GNUEFILIB=${gnu_efi}/lib" "EFILIB=${gnu_efi}/lib" "EFICRT0=${gnu_efi}/lib" "LOCAL_CFLAGS=-I${gnu_efi}/include" ];
 
   installPhase = ''
     mkdir -pv $out
-    install -v -m644 refind/refind.efi refind.conf-sample $out
+    install -v -m644 refind/refind*.efi refind.conf-sample $out
     mv -v icons $out
   '';
 
diff --git a/pkgs/tools/misc/screen/default.nix b/pkgs/tools/misc/screen/default.nix
index 329754ab5f5f..930cd67bb135 100644
--- a/pkgs/tools/misc/screen/default.nix
+++ b/pkgs/tools/misc/screen/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ncurses}:
+{ stdenv, fetchurl, ncurses, pam }:
 
 stdenv.mkDerivation rec {
   name = "screen-4.0.3";
@@ -9,11 +9,11 @@ stdenv.mkDerivation rec {
   };
 
   preConfigure = ''
-    configureFlags="--enable-telnet --infodir=$out/share/info --mandir=$out/share/man"
+    configureFlags="--enable-telnet --enable-pam --infodir=$out/share/info --mandir=$out/share/man"
     sed -i -e "s|/usr/local|/non-existent|g" -e "s|/usr|/non-existent|g" configure Makefile.in */Makefile.in
   '';
 
-  buildInputs = [ ncurses ];
+  buildInputs = [ ncurses pam ];
 
   doCheck = true;
 
diff --git a/pkgs/tools/misc/testdisk/default.nix b/pkgs/tools/misc/testdisk/default.nix
index fd9f45782940..6ccfea50482b 100644
--- a/pkgs/tools/misc/testdisk/default.nix
+++ b/pkgs/tools/misc/testdisk/default.nix
@@ -1,18 +1,18 @@
-{stdenv, fetchurl, ncurses, libjpeg, e2fsprogs, zlib, openssl}:
+{stdenv, fetchurl, ncurses, libjpeg, e2fsprogs, zlib, openssl, libuuid}:
 
 stdenv.mkDerivation {
-  name = "testdisk-6.8";
+  name = "testdisk-6.13";
   
   src = fetchurl {
-    url = http://www.cgsecurity.org/testdisk-6.8.tar.bz2;
-    sha256 = "0cyqikcyi6zj671kkr8vydqskh2r7f3n1v3xks1vh1biaffqq2ir";
+    url = http://www.cgsecurity.org/testdisk-6.13.tar.bz2;
+    sha256 = "087jrn41z3ymf1b6njl2bg99pr79v8l1f63f7rn5ni69vz6mq9s8";
   };
 
-  buildInputs = [ncurses libjpeg e2fsprogs zlib openssl];
+  buildInputs = [ncurses libjpeg e2fsprogs zlib openssl libuuid];
 
   meta = {
     homepage = http://www.cgsecurity.org/wiki/TestDisk;
-    license = "GPL";
+    license = "GPLv2+";
     longDescription = ''
       TestDisk is a program for data recovery, primarily designed to
       help recover lost partitions and/or make non-booting disks
diff --git a/pkgs/tools/misc/timidity/default.nix b/pkgs/tools/misc/timidity/default.nix
index 4fae21250cac..89ff6f4677fc 100644
--- a/pkgs/tools/misc/timidity/default.nix
+++ b/pkgs/tools/misc/timidity/default.nix
@@ -7,7 +7,7 @@ composableDerivation.composableDerivation {} {
   name = "timidity-2.13.0";
 
   src = fetchurl {
-    url = http://ovh.dl.sourceforge.net/sourceforge/timidity/TiMidity++-2.13.0.tar.bz2;
+    url = mirror://sourceforge/timidity/TiMidity++-2.13.0.tar.bz2;
     sha256 = "1jbmk0m375fh5nj2awqzns7pdjbi7dxpjdwcix04zipfcilppbmf";
   };
 
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 0422383ed3bc..1fc5c08042cb 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchgit, python}:
 
 let pkgname = "youtube-dl";
-    pkgver  = "2011.12.08";
+    pkgver  = "2012.09.27";
     
 in
 stdenv.mkDerivation {
@@ -9,8 +9,8 @@ stdenv.mkDerivation {
 
   src = fetchgit {
     url = "git://github.com/rg3/${pkgname}";
-    rev = "661a807c65a154eccdddb875b45e4782ca86132c";
-    sha256 = "32fd193b867b122400e9d5d32f6dfaf15704f837a9dc2ff809e1ce06712857ba";
+    rev = "refs/tags/${pkgver}";
+    sha256 = "a98f3339301324ddd6620f7b1353abed807cd8dea5586d6901d7fe69bc6a397c";
   };
 
   buildInputs = [python];
diff --git a/pkgs/tools/networking/aircrack-ng/default.nix b/pkgs/tools/networking/aircrack-ng/default.nix
index 9ecaf183f1f6..ea4f517000a2 100644
--- a/pkgs/tools/networking/aircrack-ng/default.nix
+++ b/pkgs/tools/networking/aircrack-ng/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   src = fetchsvn {
     url = "http://trac.aircrack-ng.org/svn/trunk";
     inherit rev;
-    sha256 = "0rwj2nk4nyy0l9dg6rpg2h5gpvcygs5irj4i6fdcsr8xf0blq7yw";
+    sha256 = "d16fd3a4e918fd6a855c0d0ae0c863247a45189e6ec35c0c7082d3d07b6438db";
   };
 
   buildInputs = [libpcap openssl zlib];
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index 4dcab442119d..028b672380cf 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -10,11 +10,11 @@ assert sslSupport -> openssl != null;
 assert scpSupport -> libssh2 != null;
 
 stdenv.mkDerivation rec {
-  name = "curl-7.26.0";
+  name = "curl-7.28.0";
 
   src = fetchurl {
     url = "http://curl.haxx.se/download/${name}.tar.bz2";
-    sha256 = "0snj41knvy4xbfirr88l9gq5zjzz0mwlmq0mxbfgqszb2qpjdvgw";
+    sha256 = "b7f510db60f520ba0bc8a39cccee7e913362205b4a7709e16af2cba14093099b";
   };
 
   # Zlib and OpenSSL must be propagated because `libcurl.la' contains
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
+    homepage = "http://curl.haxx.se/";
     description = "A command line tool for transferring files with URL syntax";
-    homepage = http://curl.haxx.se/;
   };
 }
diff --git a/pkgs/tools/networking/ddclient/ddclient-foreground.patch b/pkgs/tools/networking/ddclient/ddclient-foreground.patch
index 954b3e1132fa..1ae3621f5079 100644
--- a/pkgs/tools/networking/ddclient/ddclient-foreground.patch
+++ b/pkgs/tools/networking/ddclient/ddclient-foreground.patch
@@ -1,80 +1,12 @@
-diff -rc ddclient-3.8.0/ddclient ddclient-3.8.0-new/ddclient
-*** ddclient-3.8.0/ddclient	2009-01-27 20:14:02.000000000 +0100
---- ddclient-3.8.0-new/ddclient	2009-09-16 12:56:43.720654327 +0200
-***************
-*** 307,313 ****
-  my %variables = (
-      'global-defaults'    => {
-  	'daemon'              => setv(T_DELAY, 0, 0, 1, 0,                    interval('60s')),
-! 	'file'                => setv(T_FILE,  0, 0, 1, "$etc$program.conf",  undef),
-  	'cache'               => setv(T_FILE,  0, 0, 1, "$cachedir$program.cache", undef),
-  	'pid'                 => setv(T_FILE,  0, 0, 1, "",                   undef),
-  	'proxy'               => setv(T_FQDNP, 0, 0, 1, '',                   undef),
---- 307,314 ----
-  my %variables = (
-      'global-defaults'    => {
-  	'daemon'              => setv(T_DELAY, 0, 0, 1, 0,                    interval('60s')),
-!         'foreground'          => setv(T_BOOL,  0, 0, 1, 0,                    undef),	
-!         'file'                => setv(T_FILE,  0, 0, 1, "$etc$program.conf",  undef),
-  	'cache'               => setv(T_FILE,  0, 0, 1, "$cachedir$program.cache", undef),
-  	'pid'                 => setv(T_FILE,  0, 0, 1, "",                   undef),
-  	'proxy'               => setv(T_FQDNP, 0, 0, 1, '',                   undef),
-***************
-*** 535,540 ****
---- 536,542 ----
-      "usage: ${program} [options]",
-      "options are:",
-      [ "daemon",      "=s", "-daemon delay         : run as a daemon, specify delay as an interval." ],
-+     [ "foreground",  "!",  "-foreground           : do not fork" ],
-      [ "proxy",       "=s", "-proxy host           : use 'host' as the HTTP proxy" ],
-      [ "server",      "=s", "-server host          : update DNS information on 'host'" ],
-      [ "protocol",    "=s", "-protocol type        : update protocol used" ],
-***************
-*** 623,629 ****
-  $SIG{'HUP'}    = sub { $caught_hup  = 1; };
-  $SIG{'TERM'}   = sub { $caught_term = 1; };
-  $SIG{'KILL'}   = sub { $caught_kill = 1; };
-! if (opt('daemon') && !opt('force')) {
-      $SIG{'CHLD'}   = 'IGNORE';
-      my $pid = fork;
-      if ($pid < 0) {
---- 625,634 ----
-  $SIG{'HUP'}    = sub { $caught_hup  = 1; };
-  $SIG{'TERM'}   = sub { $caught_term = 1; };
-  $SIG{'KILL'}   = sub { $caught_kill = 1; };
-! # don't fork() if foreground or force is on
-! if (opt('foreground') || opt('force')) {
-!     ;
-! } elsif (opt('daemon')) {
-      $SIG{'CHLD'}   = 'IGNORE';
-      my $pid = fork;
-      if ($pid < 0) {
-***************
-*** 633,644 ****
-  	exit 0;
-      }
-      $SIG{'CHLD'}   = 'DEFAULT';
--     $opt{'syslog'} = 1;
-      open(STDOUT, ">/dev/null");
-      open(STDERR, ">/dev/null");
-      open(STDIN,  "</dev/null");
-! 
-!     write_pid();
-  }
-  
-  umask 077;
---- 638,650 ----
-  	exit 0;
-      }
-      $SIG{'CHLD'}   = 'DEFAULT';
-      open(STDOUT, ">/dev/null");
-      open(STDERR, ">/dev/null");
-      open(STDIN,  "</dev/null");
-! }
-! if(opt('daemon')) {
-!      write_pid();
-!     $opt{'syslog'} = 1;
-  }
-  
-  umask 077;
-Only in ddclient-3.8.0-new: ddclient~
+diff -u ddclient-3.8.1/ddclient ddclient-3.8.1.patched/ddclient
+--- ddclient-3.8.1/ddclient	2011-07-11 23:04:21.000000000 +0200
++++ ddclient-3.8.1.patched/ddclient	2012-11-08 11:52:31.930647236 +0100
+@@ -574,7 +574,7 @@
+     "usage: ${program} [options]",
+     "options are:",
+     [ "daemon",      "=s", "-daemon delay         : run as a daemon, specify delay as an interval." ],
+-+     [ "foreground",  "!",  "-foreground           : do not fork" ],
++    [ "foreground",  "!",  "-foreground           : do not fork" ],
+     [ "proxy",       "=s", "-proxy host           : use 'host' as the HTTP proxy" ],
+     [ "server",      "=s", "-server host          : update DNS information on 'host'" ],
+     [ "protocol",    "=s", "-protocol type        : update protocol used" ],
diff --git a/pkgs/tools/networking/ddclient/default.nix b/pkgs/tools/networking/ddclient/default.nix
index e57ba489450f..22539657b1f1 100644
--- a/pkgs/tools/networking/ddclient/default.nix
+++ b/pkgs/tools/networking/ddclient/default.nix
@@ -1,17 +1,23 @@
-{buildPerlPackage, fetchurl, perl}:
+{buildPerlPackage, fetchurl, perlPackages, iproute}:
 
 buildPerlPackage {
-  name = "ddclient-3.8.0";
+  name = "ddclient-3.8.1";
 
   src = fetchurl {
-    url = mirror://sourceforge/ddclient/ddclient-3.8.0.tar.gz ;
-    sha256 = "1cqz6fwx8bcl7zdrvm6irh3bzs8858gkyficww9simyjmz7z3w48";
+    url = mirror://sourceforge/ddclient/ddclient-3.8.1.tar.gz ;
+    sha256 = "f22ac7b0ec78e310d7b88a1cf636e5c00360b2ed9c087f231b3522ef3e6295f2";
   };
 
+  buildInputs = [ perlPackages.IOSocketSSL ];
+
   patches = [ ./ddclient-foreground.patch ];
 
+  # Use iproute2 instead of ifconfig
   preConfigure = '' 
     touch Makefile.PL
+    substituteInPlace ddclient --replace 'in the output of ifconfig' 'in the output of ip addr show'
+    substituteInPlace ddclient --replace 'ifconfig -a' '${iproute}/sbin/ip addr show'
+    substituteInPlace ddclient --replace 'ifconfig $arg' '${iproute}/sbin/ip addr show $arg'
   ''; 
 
   installPhase = ''
@@ -20,5 +26,4 @@ buildPerlPackage {
   '';
 
   doCheck = false;
-
 }
diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix
index 89c15b91a1af..20964213d539 100644
--- a/pkgs/tools/networking/dnsmasq/default.nix
+++ b/pkgs/tools/networking/dnsmasq/default.nix
@@ -1,18 +1,20 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "dnsmasq-2.59";
+  name = "dnsmasq-2.63";
 
   src = fetchurl {
     url = "http://www.thekelleys.org.uk/dnsmasq/${name}.tar.gz";
-    sha256 = "02s1y5320aiqhcrgzc7c2zs292vidijc156k5w7apzzsk5hfdhdx";
+    sha256 = "043p8qjd1zx8bklcli9qnk3vzfz7j2kvl82abvipcg56qsyf71px";
   };
 
   makeFlags = "DESTDIR= BINDIR=$(out)/bin MANDIR=$(out)/man LOCALEDIR=$(out)/share/locale";
 
-  meta = { 
+  meta = {
     description = "An integrated DNS, DHCP and TFTP server for small networks";
     homepage = http://www.thekelleys.org.uk/dnsmasq/doc.html;
     license = "GPL";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/tools/networking/miniupnpd/default.nix b/pkgs/tools/networking/miniupnpd/default.nix
index 6db47f8e079f..b5002d229903 100644
--- a/pkgs/tools/networking/miniupnpd/default.nix
+++ b/pkgs/tools/networking/miniupnpd/default.nix
@@ -1,33 +1,34 @@
-{ stdenv, fetchurl, iptables }:
+{ stdenv, fetchurl, iptables, libnfnetlink, libnetfilter_conntrack }:
 
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "miniupnpd-1.4";
+  name = "miniupnpd-1.7.20121005";
 
   src = fetchurl {
     url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz";
-    sha256 = "06q5agkzv2snjxcsszpm27h8bqv41jijahs8jqnarxdrik97rfl5";
+    sha256 = "03kaxj808hgj1zf2528pzilgywgh70mh0qivjb5nm3spziiq32sv";
   };
 
-  buildInputs = [ iptables ];
+  buildInputs = [ iptables libnfnetlink libnetfilter_conntrack ];
+
+  patchPhase = ''
+    sed -i -e 's/upnputils\.o -lnfnetlink/upnputils.o/' Makefile.linux
+  '';
 
   NIX_CFLAGS_COMPILE = "-DIPTABLES_143";
 
-  NIX_CFLAGS_LINK = "-liptc";
-  
+  NIX_CFLAGS_LINK = "-liptc -lnfnetlink";
+
   makefile = "Makefile.linux";
 
   makeFlags = "LIBS=";
 
-  postBuild = "cat config.h";
-
   installFlags = "PREFIX=$(out) INSTALLPREFIX=$(out)";
 
-  postInstall =
+  preInstall =
     ''
-      mkdir -p $out/share/man/man1
-      cp miniupnpd.1 $out/share/man/man1/
+      mkdir -p $out/share/man/man8
     '';
 
   meta = {
diff --git a/pkgs/tools/networking/modemmanager/default.nix b/pkgs/tools/networking/modemmanager/default.nix
index c9c975d557c6..d3198cee32c7 100644
--- a/pkgs/tools/networking/modemmanager/default.nix
+++ b/pkgs/tools/networking/modemmanager/default.nix
@@ -5,8 +5,8 @@ stdenv.mkDerivation rec {
 
   src = fetchurl_gnome {
     project = "ModemManager";
-    major = "0"; minor = "5"; extension = "xz";
-    sha256 = "0zvwrni4l21d856nq28khigrhwgrq5cc7nh45zidwjj8q7bsxiz7";
+    major = "0"; minor = "5"; patchlevel = "4.0"; extension = "xz";
+    sha256 = "1fdf5d5cc494825afe9f551248e00a2d91e220e88435b47f109ca2a707a40f1f";
   };
 
   buildNativeInputs = [ intltool pkgconfig ];
diff --git a/pkgs/tools/networking/mosh/default.nix b/pkgs/tools/networking/mosh/default.nix
index 60a9e5cab871..e5d9a656494e 100644
--- a/pkgs/tools/networking/mosh/default.nix
+++ b/pkgs/tools/networking/mosh/default.nix
@@ -2,11 +2,11 @@
 , makeWrapper, perl }:
 
 stdenv.mkDerivation rec {
-  name = "mosh-1.1.3";
+  name = "mosh-1.2.2";
 
   src = fetchurl {
     url = "https://github.com/downloads/keithw/mosh/${name}.tar.gz";
-    sha256 = "1vkf7h8mcmfn9dgcwrww05mdijrl7321xv9wlhf7j99nwmklc8sk";
+    sha256 = "1763s6f398hmdgy73brpknwahnys28zk3pm37n66sr8iyz2cq8xp";
   };
 
   buildInputs = [ boost protobuf ncurses zlib pkgconfig IOTty makeWrapper perl ];
diff --git a/pkgs/tools/networking/nss-myhostname/default.nix b/pkgs/tools/networking/nss-myhostname/default.nix
new file mode 100644
index 000000000000..80296b0d992c
--- /dev/null
+++ b/pkgs/tools/networking/nss-myhostname/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "nss-myhostname-0.3";
+
+  src = fetchurl {
+    url = "http://0pointer.de/lennart/projects/nss-myhostname/${name}.tar.gz";
+    sha256 = "1wnawxklsv3z796l752j7a21gvj2615fk12qr1bir3apipm499rb";
+  };
+
+  patches = [ ./nscd-segfault.patch ./ignore-ipv6-link-local.patch ];
+
+  meta = {
+    description = "Name Service Switch module ensuring that the hostname always resolves to a valid address";
+    homepage = http://0pointer.de/lennart/projects/nss-myhostname/;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/nss-myhostname/ignore-ipv6-link-local.patch b/pkgs/tools/networking/nss-myhostname/ignore-ipv6-link-local.patch
new file mode 100644
index 000000000000..396bb2e10ccd
--- /dev/null
+++ b/pkgs/tools/networking/nss-myhostname/ignore-ipv6-link-local.patch
@@ -0,0 +1,13 @@
+--- nss-myhostname-0.3/netlink.c	2011-05-09 08:56:34.344579140 -0400
++++ nss-myhostname-0.3-new/netlink.c	2012-10-06 23:52:10.577755588 -0400
+@@ -179,6 +179,10 @@
+                             ifaddrmsg->ifa_scope == RT_SCOPE_NOWHERE)
+                                 continue;
+ 
++                        if (ifaddrmsg->ifa_family == AF_INET6 &&
++                            ifaddrmsg->ifa_scope == RT_SCOPE_LINK)
++                                continue;
++
+                         if (ifaddrmsg->ifa_flags & IFA_F_DEPRECATED)
+                                 continue;
+ 
diff --git a/pkgs/tools/networking/nss-myhostname/nscd-segfault.patch b/pkgs/tools/networking/nss-myhostname/nscd-segfault.patch
new file mode 100644
index 000000000000..a2947461c87d
--- /dev/null
+++ b/pkgs/tools/networking/nss-myhostname/nscd-segfault.patch
@@ -0,0 +1,15 @@
+--- nss-myhostname-0.3/nss-myhostname.c	2011-05-09 09:01:27.421581560 -0400
++++ nss-myhostname-0.3-new/nss-myhostname.c	2012-10-06 23:40:09.836894004 -0400
+@@ -177,7 +177,11 @@
+         /* Verify the size matches */
+         assert(idx == ms);
+ 
+-        *pat = r_tuple_prev;
++        /* Nscd expects us to store the first record in **pat. */
++        if (*pat)
++                **pat = *r_tuple_prev;
++        else
++                *pat = r_tuple_prev;
+ 
+         if (ttlp)
+                 *ttlp = 0;
diff --git a/pkgs/tools/networking/nss-pam-ldapd/default.nix b/pkgs/tools/networking/nss-pam-ldapd/default.nix
new file mode 100644
index 000000000000..92cb053bb44b
--- /dev/null
+++ b/pkgs/tools/networking/nss-pam-ldapd/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, pkgconfig, openldap, python, pam, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "nss-pam-ldapd-${version}";
+  version = "0.8.11";
+  
+  src = fetchurl {
+    url = "http://arthurdejong.org/nss-pam-ldapd/${name}.tar.gz";
+    sha256 = "9a841f6a46bf9f87213dc806c0f6507ac5016a2ee550d42c3ed9fb280c1e38e6";
+  };
+  
+  buildInputs = [ makeWrapper pkgconfig python openldap pam ];
+
+  preConfigure = ''
+    substituteInPlace Makefile.in --replace "install-data-local: " "# install-data-local: "
+  '';
+
+  configureFlags = [
+    "--with-bindpw-file=/run/nslcd/bindpw"
+    "--with-nslcd-socket=/run/nslcd/socket"
+    "--with-nslcd-pidfile=/run/nslcd/nslcd.pid"
+    "--with-pam-seclib-dir=$(out)/lib/security"
+  ];
+
+  postInstall = ''
+    wrapProgram $out/sbin/nslcd --prefix LD_LIBRARY_PATH ":" $out/lib
+  '';
+
+  meta = {
+    description = "LDAP identity and authentication for NSS/PAM";
+    homepage = http://arthurdejong.org/nss-pam-ldapd/;
+    license = [ "GPLv21" ];
+  };
+}
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index f708ede2f69f..c1504697a186 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -13,11 +13,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "openssh-6.0p1";
+  name = "openssh-6.1p1";
 
   src = fetchurl {
     url = "ftp://ftp.nl.uu.net/pub/OpenBSD/OpenSSH/portable/${name}.tar.gz";
-    sha1 = "f691e53ef83417031a2854b8b1b661c9c08e4422";
+    sha1 = "751c92c912310c3aa9cadc113e14458f843fc7b3";
   };
 
   prePatch = stdenv.lib.optionalString hpnSupport
diff --git a/pkgs/tools/networking/sitecopy/default.nix b/pkgs/tools/networking/sitecopy/default.nix
index 6beaff56aeab..5667744ef221 100644
--- a/pkgs/tools/networking/sitecopy/default.nix
+++ b/pkgs/tools/networking/sitecopy/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, neon, zlib, openssl, autoconf, automake, libtool }:
+{ stdenv, fetchurl, neon, zlib, openssl, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   name = "sitecopy-0.16.6";
@@ -10,9 +10,7 @@ stdenv.mkDerivation rec {
 
   patches = [ ./neon-29.patch ];
 
-  preConfigure = "autoreconf";
-
-  buildInputs = [ openssl neon zlib autoconf automake libtool ]; 
+  buildInputs = [ openssl neon zlib autoreconfHook ]; 
 
   configureFlags= "--with-ssl=openssl"; 
 }
diff --git a/pkgs/tools/package-management/cabal-install/0.14.0.nix b/pkgs/tools/package-management/cabal-install/0.14.0.nix
index ecbd46de52c2..15fe5f1e22ce 100644
--- a/pkgs/tools/package-management/cabal-install/0.14.0.nix
+++ b/pkgs/tools/package-management/cabal-install/0.14.0.nix
@@ -9,6 +9,10 @@ cabal.mkDerivation (self: {
   buildDepends = [
     Cabal filepath HTTP mtl network random time zlib
   ];
+  postInstall = ''
+    mkdir $out/etc
+    mv bash-completion $out/etc/bash_completion.d
+  '';
   meta = {
     homepage = "http://www.haskell.org/cabal/";
     description = "The command-line interface for Cabal and Hackage";
diff --git a/pkgs/tools/package-management/cabal-install/1.16.0.2.nix b/pkgs/tools/package-management/cabal-install/1.16.0.2.nix
new file mode 100644
index 000000000000..8f28f57c18f3
--- /dev/null
+++ b/pkgs/tools/package-management/cabal-install/1.16.0.2.nix
@@ -0,0 +1,23 @@
+{ cabal, Cabal, filepath, HTTP, mtl, network, random, time, zlib }:
+
+cabal.mkDerivation (self: {
+  pname = "cabal-install";
+  version = "1.16.0.2";
+  sha256 = "162nbkkffpbalg368m5s49jrvg9nibdwlwj0j1b8wriyyg4srpv6";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    Cabal filepath HTTP mtl network random time zlib
+  ];
+  postInstall = ''
+    mkdir $out/etc
+    mv bash-completion $out/etc/bash_completion.d
+  '';
+  meta = {
+    homepage = "http://www.haskell.org/cabal/";
+    description = "The command-line interface for Cabal and Hackage";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/tools/package-management/dpkg/default.nix b/pkgs/tools/package-management/dpkg/default.nix
index 2ffacb084793..849780ad047d 100644
--- a/pkgs/tools/package-management/dpkg/default.nix
+++ b/pkgs/tools/package-management/dpkg/default.nix
@@ -1,21 +1,18 @@
-{stdenv, fetchurl, perl, zlib, bzip2}:
+{ stdenv, fetchurl, perl, zlib, bzip2, xz, makeWrapper }:
 
-let version = "1.14.29"; in
+let version = "1.16.9"; in
 
 stdenv.mkDerivation {
   name = "dpkg-${version}";
 
   src = fetchurl {
-    url = "mirror://debian/pool/main/d/dpkg/dpkg_${version}.tar.gz";
-    sha256 = "0cynms4vziy957r4zskybbid87sz99vrfy8d999vlhxgc74c2zpa";
+    url = "mirror://debian/pool/main/d/dpkg/dpkg_${version}.tar.xz";
+    sha256 = "0ykby9x4x2zb7rfj30lfjcsrq2q32z2lnsrl8pbdvb2l9sx7zkbk";
   };
 
-  configureFlags = "--without-dselect --with-admindir=/var/lib/dpkg";
+  configureFlags = "--disable-dselect --with-admindir=/var/lib/dpkg PERL_LIBDIR=$(out)/${perl.libPrefix}";
 
   preConfigure = ''
-    # Can't use substitute pending resolution of NIXPKGS-89.
-    sed -s 's^/usr/bin/perl^${perl}/bin/perl^' -i scripts/dpkg-architecture.pl
-
     # Nice: dpkg has a circular dependency on itself.  Its configure
     # script calls scripts/dpkg-architecture, which calls "dpkg" in
     # $PATH.  It doesn't actually use its result, but fails if it
@@ -24,14 +21,25 @@ stdenv.mkDerivation {
     chmod +x $TMPDIR/dpkg
     PATH=$TMPDIR:$PATH
 
-    substituteInPlace src/Makefile.in --replace "install-data-local:" "disabled:"
-    substituteInPlace dpkg-split/Makefile.in --replace "install-data-local:" "disabled:"
+    for i in $(find . -name Makefile.in); do
+      substituteInPlace $i --replace "install-data-local:" "disabled:" ;
+    done
   '';
 
-  buildInputs = [ perl zlib bzip2 ];
+  buildInputs = [ perl zlib bzip2 xz makeWrapper ];
+
+  postInstall =
+    ''
+      for i in $out/bin/*; do
+        if head -n 1 $i | grep -q perl; then
+          wrapProgram $i --prefix PERL5LIB : $out/${perl.libPrefix}
+        fi
+      done # */
+    '';
 
   meta = {
     description = "The Debian package manager";
     homepage = http://wiki.debian.org/Teams/Dpkg;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix
index 103d92a0ee90..30e52da86389 100644
--- a/pkgs/tools/package-management/nix/unstable.nix
+++ b/pkgs/tools/package-management/nix/unstable.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "nix-1.2pre2793_d950cfe";
+  name = "nix-1.2pre2980_9de6bc5";
 
   src = fetchurl {
-    url = "http://hydra.nixos.org/build/2955697/download/4/${name}.tar.bz2";
-    sha256 = "f91367d8e7ed795b2bc9a47fb3ecff00d005633f248ecaafa25e8e101a5dc682";
+    url = "http://hydra.nixos.org/build/3338447/download/4/${name}.tar.bz2";
+    sha256 = "b767c2b75a0036edfc6be209dcaab23643887b192e3788640380ac27298b08d0";
   };
 
   buildNativeInputs = [ perl pkgconfig ];
@@ -27,8 +27,9 @@ stdenv.mkDerivation rec {
   configureFlags =
     ''
       --with-store-dir=${storeDir} --localstatedir=${stateDir}
-      --with-dbi=${perlPackages.DBI}/lib/perl5/site_perl
-      --with-dbd-sqlite=${perlPackages.DBDSQLite}/lib/perl5/site_perl
+      --with-dbi=${perlPackages.DBI}/${perl.libPrefix}
+      --with-dbd-sqlite=${perlPackages.DBDSQLite}/${perl.libPrefix}
+      --with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix}
       --disable-init-state
       --enable-gc
       CFLAGS=-O3 CXXFLAGS=-O3
@@ -45,15 +46,16 @@ stdenv.mkDerivation rec {
     configureFlags =
       ''
         --with-store-dir=${storeDir} --localstatedir=${stateDir}
-        --with-dbi=${perlPackages.DBI}/lib/perl5/site_perl
-        --with-dbd-sqlite=${perlPackages.DBDSQLite}/lib/perl5/site_perl
+        --with-dbi=${perlPackages.DBI}/${perl.libPrefix}
+        --with-dbd-sqlite=${perlPackages.DBDSQLite}/${perl.libPrefix}
+        --with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix}
         --disable-init-state
         --enable-gc
         CFLAGS=-O3 CXXFLAGS=-O3
       '' + stdenv.lib.optionalString (
           stdenv.cross ? nix && stdenv.cross.nix ? system
       ) ''--with-system=${stdenv.cross.nix.system}'';
-      
+
     doInstallCheck = false;
   };
 
diff --git a/pkgs/tools/security/gnupg/default.nix b/pkgs/tools/security/gnupg/default.nix
index 0667a7f9885c..ba680cb8ba43 100644
--- a/pkgs/tools/security/gnupg/default.nix
+++ b/pkgs/tools/security/gnupg/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     sha256 = "08n636sfffs5qvg9ppiprvsh00q0dmdw425psg3m3nssja53m8pg";
   };
 
-  buildInputs = [ readline zlib libgpgerror pth libgcrypt libassuan libksba ]
+  buildInputs = [ readline zlib libgpgerror libgcrypt libassuan libksba pth ]
     ++ stdenv.lib.optional useLdap openldap
     ++ stdenv.lib.optional useBzip2 bzip2
     ++ stdenv.lib.optional useUsb libusb
diff --git a/pkgs/tools/security/gnupg1/default.nix b/pkgs/tools/security/gnupg1/default.nix
index 0674fc4e4803..b3bf309b48e1 100644
--- a/pkgs/tools/security/gnupg1/default.nix
+++ b/pkgs/tools/security/gnupg1/default.nix
@@ -15,11 +15,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "gnupg-1.4.11";
+  name = "gnupg-1.4.12";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha256 = "1xkfxr4z2fy9d5d6hj4lzv854lk227kgv6qb2w0sam752snfx36i";
+    sha1 = "9b78e20328d35525af7b8a9c1cf081396910e937";
   };
 
   buildInputs = [ readline bzip2 ];
diff --git a/pkgs/tools/security/pinentry/default.nix b/pkgs/tools/security/pinentry/default.nix
index 524a582fcb02..ba4ce8a3e220 100644
--- a/pkgs/tools/security/pinentry/default.nix
+++ b/pkgs/tools/security/pinentry/default.nix
@@ -6,11 +6,11 @@
 assert useGtk || useNcurses || useQt4;
 
 stdenv.mkDerivation rec {
-  name = "pinentry-0.8.0";
+  name = "pinentry-0.8.2";
 
   src = fetchurl {
-    url = "mirror://gnupg/pinentry/${name}.tar.gz";
-    sha256 = "06phs3gbs6gf0z9g28z3jgsw312dhhpdgzrx4hhps53xrbwpyv22";
+    url = "mirror://gnupg/pinentry/${name}.tar.bz2";
+    sha256 = "1c9r99ck8072y7nkirddg3p372xadl95y65hyc1m6wn5mavbg12h";
   };
 
   buildInputs = let opt = stdenv.lib.optional; in []
@@ -27,14 +27,13 @@ stdenv.mkDerivation rec {
   buildNativeInputs = [ pkgconfig ];
 
   meta = {
+    homepage = "http://gnupg.org/aegypten2/";
     description = "GnuPG's interface to passphrase input";
+    license = "GPLv2+";
 
     longDescription = ''
       Pinentry provides a console and a GTK+ GUI that allows users to
       enter a passphrase when `gpg' or `gpg2' is run and needs it.
     '';
-
-    homepage = http://gnupg.org/aegypten2/;
-    license = "GPLv2+";
   };
 }
diff --git a/pkgs/tools/system/ddrescue/default.nix b/pkgs/tools/system/ddrescue/default.nix
index 0ca5d6af2d75..8fa40e5710f1 100644
--- a/pkgs/tools/system/ddrescue/default.nix
+++ b/pkgs/tools/system/ddrescue/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "ddrescue-1.15";
+  name = "ddrescue-1.16";
 
   src = fetchurl {
     url = "mirror://gnu/ddrescue/${name}.tar.gz";
-    sha256 = "0y1dxkbl82nli6xjlg2kaq5kxd19480rvpay4ydbb9av01i17q3m";
+    sha256 = "1rixya7p8c4jrn4p0flf6h5dqwybrilf3hrj4r7x41h3zgjz5cvn";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/system/fakeroot/default.nix b/pkgs/tools/system/fakeroot/default.nix
index d80b35e1a111..1bf18ed867c3 100644
--- a/pkgs/tools/system/fakeroot/default.nix
+++ b/pkgs/tools/system/fakeroot/default.nix
@@ -1,13 +1,21 @@
-{stdenv, fetchurl}:
+{stdenv, fetchurl, utillinux}:
 
-stdenv.mkDerivation {
-  name = "fakeroot-1.18.1";
+stdenv.mkDerivation rec {
+  name = "fakeroot-1.18.4";
 
   src = fetchurl {
-    url = http://ftp.de.debian.org/debian/pool/main/f/fakeroot/fakeroot_1.18.1.orig.tar.bz2;
-    sha256 = "0h5jsw715a9hv32cb1m1bajy26l7xxrbgrk6qk1b6m91lxh6rnw9";
+    url = https://launchpad.net/ubuntu/+archive/primary/+files/fakeroot_1.18.4.orig.tar.bz2;
+    sha256 = "18mydrz49n7ic7147pikkpdb96x00s9wisdk6hrc75ll7vx9wd8a";
   };
 
+  buildInputs = [ utillinux /* provides getopt */ ];
+
+  postUnpack = ''
+    for prog in getopt; do
+      sed -i "s@getopt@$(type -p getopt)@g" ${name}/scripts/fakeroot.in
+    done
+  '';
+
   meta = {
     homepage = http://fakeroot.alioth.debian.org/;
     description = "Give a fake root environment through LD_PRELOAD";
diff --git a/pkgs/tools/system/hardlink/default.nix b/pkgs/tools/system/hardlink/default.nix
index 1655fdba6f47..192f7d871a1f 100644
--- a/pkgs/tools/system/hardlink/default.nix
+++ b/pkgs/tools/system/hardlink/default.nix
@@ -1,33 +1,27 @@
-{ fetchurl, stdenv }:
+{ fetchurl, stdenv, unzip }:
 
 let
-  rev = "269cc6";
-
-  src = fetchurl {
-    url = "http://pkgs.fedoraproject.org/gitweb/?p=hardlink.git;a=blob_plain;f=hardlink.c;hb=${rev}";
-    sha256 = "721c54e653772e11bf0d30fb02aa21b96b147a1b68c0acb4f05cb87e7718bc12";
-    name = "hardlink.c";
-  };
-
-  man =  fetchurl {
-    url = "pkgs.fedoraproject.org/gitweb/?p=hardlink.git;a=blob_plain;f=hardlink.1;hb=${rev}";
-    sha256 = "2f7e18a0259a2ceae316592e8b18bee525eb7e83fe3bb6b881e5dafa24747f2d";
-    name = "hardlink.1";
-  };
+  rev = "3ec908d539";
 in
 stdenv.mkDerivation {
-  name = "hardlink-2010.1.${rev}";
+  name = "hardlink-2012.9.${rev}";
 
-  phases = ["buildPhase"];
+  src = fetchurl {
+    url = "pkgs.fedoraproject.org/cgit/hardlink.git/snapshot/hardlink-${rev}.zip";
+    sha256 = "fea1803170b538d5fecf6a8d312ded1d25d516e9386a3797441a247487551647";
+    name = "hardlink-${rev}.zip";
+  };
 
-  buildPhase = ''
+  installPhase = ''
     mkdir -p $out/bin $out/share/man/man1
-    gcc -O2 ${src} -o $out/bin/hardlink
-    install -m 444 ${man} $out/share/man/man1/hardlink.1
+    gcc -O2 hardlink.c -o $out/bin/hardlink
+    mv hardlink.1 $out/share/man/man1/hardlink.1
   '';
 
+  buildInputs = [ unzip ];
+
   meta = {
-    homepage = "http://pkgs.fedoraproject.org/gitweb/?p=hardlink.git;a=summary";
+    homepage = "http://pkgs.fedoraproject.org/cgit/hardlink.git/";
     description = "consolidate duplicate files via hardlinks";
     license = stdenv.lib.licenses.gpl2Plus;
 
diff --git a/pkgs/tools/system/pciutils/default.nix b/pkgs/tools/system/pciutils/default.nix
index 563521429a8e..3cab8b0ef104 100644
--- a/pkgs/tools/system/pciutils/default.nix
+++ b/pkgs/tools/system/pciutils/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchurl, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "pciutils-3.1.7";
-  
+  name = "pciutils-3.1.10";
+
   src = fetchurl {
     url = "mirror://kernel/software/utils/pciutils/${name}.tar.bz2";
-    sha256 = "0i7mqf1fkmdqsawdk2badv6k3xrkryq0i2xknclvy6kcjsv27znq";
+    sha256 = "0xdahcxd00c921wnxi0f0w3lzjqdfphwa5vglfcpf0lv3l2w40pl";
   };
-  
+
   buildInputs = [ zlib ];
 
   pciids = fetchurl {
     # Obtained from http://pciids.sourceforge.net/v2.2/pci.ids.bz2.
-    url = http://nixos.org/tarballs/pci.ids.20100714.bz2;
-    sha256 = "0vll4svr60l6217yna7bfhcjm3prxr2b62ynq4jaagdp1rilfbap";
+    url = http://nixos.org/tarballs/pci.ids.20120929.bz2;
+    sha256 = "1q3i479ay88wam1zz1vbgkbqb2axg8av9qjxaigrqbnw2pv0srmb";
   };
 
   # Override broken auto-detect logic.
@@ -27,6 +27,9 @@ stdenv.mkDerivation rec {
 
   installTargets = "install install-lib";
 
+  # Get rid of update-pciids as it won't work.
+  postInstall = "rm $out/sbin/update-pciids $out/man/man8/update-pciids.8";
+
   meta = {
     homepage = http://mj.ucw.cz/pciutils.shtml;
     description = "A collection of programs for inspecting and manipulating configuration of PCI devices";
diff --git a/pkgs/tools/system/safecopy/default.nix b/pkgs/tools/system/safecopy/default.nix
new file mode 100644
index 000000000000..a6a5fced8794
--- /dev/null
+++ b/pkgs/tools/system/safecopy/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "safecopy-1.7";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/safecopy/safecopy/${name}/${name}.tar.gz";
+    sha256 = "1zf4kk9r8za9pn4hzy1y3j02vrhl1rxfk5adyfq0w0k48xfyvys2";
+  };
+
+  meta = {
+    description = "data recovery tool for damaged hardware";
+
+    longDescription =
+      '' Safecopy is a data recovery tool which tries to extract as much data as possible from a
+         problematic (i.e. damaged sectors) source - like floppy drives, hard disk partitions, CDs,
+         tape devices, etc, where other tools like dd would fail due to I/O errors.
+
+         Safecopy includes a low level IO layer to read CDROM disks in raw mode, and issue device
+         resets and other helpful low level operations on a number of other device classes.
+       '';
+
+    homepage = http://safecopy.sourceforge.net;
+
+    license = "GPLv2+";
+
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
+  };
+}
diff --git a/pkgs/tools/system/smartmontools/default.nix b/pkgs/tools/system/smartmontools/default.nix
index eee0b0de571d..89f8d3f5e77f 100644
--- a/pkgs/tools/system/smartmontools/default.nix
+++ b/pkgs/tools/system/smartmontools/default.nix
@@ -1,13 +1,25 @@
 { stdenv, fetchurl }:
 
+let
+  driverdb = fetchurl {
+    url = "http://smartmontools.svn.sourceforge.net/viewvc/smartmontools/trunk/smartmontools/drivedb.h?revision=3685";
+    sha256 = "11zczy03asfpj4wwip5bf3fpingdc7biz1cs3cykg4vnlxiwjxkx";
+    name = "smartmontools-drivedb.h";
+  };
+in
 stdenv.mkDerivation rec {
-  name = "smartmontools-5.43";
+  name = "smartmontools-6.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/smartmontools/${name}.tar.gz";
-    sha256 = "d845187d1500b87ef8d2c43772bd0218a59114fe58474a903c56777c9175351e";
+    sha256 = "9fe4ff2b7bcd00fde19db82bba168f5462ed6e857d3ef439495e304e3231d3a6";
   };
 
+  patchPhase = ''
+    cp ${driverdb} drivedb.h
+    sed -i -e 's@which which >/dev/null || exit 1@alias which="type -p"@' update-smart-drivedb.in
+  '';
+
   meta = {
     description = "Tools for monitoring the health of hard drivers";
     homepage = "http://smartmontools.sourceforge.net/";
diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix
index a4b9d375bced..f392ad065cc8 100644
--- a/pkgs/tools/typesetting/asciidoc/default.nix
+++ b/pkgs/tools/typesetting/asciidoc/default.nix
@@ -1,10 +1,10 @@
 { fetchurl, stdenv, python }:
 
 stdenv.mkDerivation rec {
-  name = "asciidoc-8.6.6";
+  name = "asciidoc-8.6.8";
   src = fetchurl {
     url = "mirror://sourceforge/asciidoc/${name}.tar.gz";
-    sha256 = "9d54c11716e4309ff4d942cf6a6d9745d6a28754ff1de01efed0dc659457ac71";
+    sha256 = "ffb67f59dccaf6f15db72fcd04fdf21a2f9b703d31f94fcd0c49a424a9fcfbc4";
   };
 
   patchPhase = ''
@@ -20,11 +20,13 @@ stdenv.mkDerivation rec {
   buildInputs = [ python ];
 
   meta = {
+    homepage = "http://www.methods.co.nz/asciidoc/";
+    description = "ASCII text-based document generation system";
+    license = "GPLv2+";
+
     longDescription = ''
       AsciiDoc is a text-based document generation system.  AsciiDoc
       input files can be translated to HTML and DocBook markups.
     '';
-    homepage = http://www.methods.co.nz/asciidoc/;
-    license = "GPLv2+";
   };
 }
diff --git a/pkgs/tools/typesetting/tex/texlive/beamer.nix b/pkgs/tools/typesetting/tex/texlive/beamer.nix
index 851ad0707a1d..bf9079ab1046 100644
--- a/pkgs/tools/typesetting/tex/texlive/beamer.nix
+++ b/pkgs/tools/typesetting/tex/texlive/beamer.nix
@@ -1,9 +1,9 @@
 args: with args;
 rec {
-  name = "texlive-beamer-2007";
+  name = "texlive-beamer-2012";
   src = fetchurl {
-    url = mirror://debian/pool/main/l/latex-beamer/latex-beamer_3.07.orig.tar.gz;
-    sha256 = "07ldhg5f0hcnhjgzg5g8ailqacn8zhqc8nl2jkxc43c2qxbvswbv";
+    url = mirror://debian/pool/main/l/latex-beamer/latex-beamer_3.10.orig.tar.gz;
+    sha256 = "1vk7nr1lxinyj941nz5xzcpzircd60s8sgmq7jd2gqmf5ynd27nx";
   };
 
   buildInputs = [texLive];
diff --git a/pkgs/tools/virtualization/ec2-api-tools/default.nix b/pkgs/tools/virtualization/ec2-api-tools/default.nix
index 22669c67b121..ac2902aab94d 100644
--- a/pkgs/tools/virtualization/ec2-api-tools/default.nix
+++ b/pkgs/tools/virtualization/ec2-api-tools/default.nix
@@ -1,28 +1,31 @@
 { stdenv, fetchurl, unzip, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  name = "ec2-api-tools-1.6.0.0";
-  
+  name = "ec2-api-tools-1.6.5.1";
+
   src = fetchurl {
     url = "http://nixos.org/tarballs/${name}.zip";
-    sha256 = "1j9isvi6g68zhk7zxs29yad2d0rpnbqx8fz25yn5paqx9c8pzqcl";
+    sha256 = "1j2pc20vggi4hv950999mhh7dl6475yma76nyj6k0hzkd1lf5hda";
   };
 
   buildInputs = [ unzip makeWrapper ];
 
   installPhase =
     ''
-      mkdir -p $out
-      mv * $out
-      rm $out/bin/*.cmd # Windows stuff
+      d=$out/libexec/ec2-api-tools
+      mkdir -p $d
+      mv * $d
+      rm $d/bin/*.cmd # Windows stuff
 
-      for i in $out/bin/*; do
-          wrapProgram $i \
-            --set EC2_HOME $out \
+      for i in $d/bin/*; do
+          b=$(basename $i)
+          if [ $b = "ec2-cmd" ]; then continue; fi
+          makeWrapper $i $out/bin/$(basename $i) \
+            --set EC2_HOME $d \
             --set JAVA_HOME ${jre}
       done
     ''; # */
-  
+
   meta = {
     homepage = http://developer.amazonwebservices.com/connect/entry.jspa?externalID=351;
     description = "Command-line tools to create and manage Amazon EC2 virtual machines";