summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-08-02 15:48:19 +0000
committerLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-08-02 15:48:19 +0000
commit5417c720fdcb3a607205a6a6b465095e5421f5af (patch)
tree7c215a4605f2b2e8ab1d141a7d34d168f9077a01 /pkgs/tools
parent9724fb271b4cdcd18b8ff9fc4d5ff934c328e2a9 (diff)
parentfd268b4852d39c18e604c584dd49a611dc795a9b (diff)
downloadnixpkgs-5417c720fdcb3a607205a6a6b465095e5421f5af.tar
nixpkgs-5417c720fdcb3a607205a6a6b465095e5421f5af.tar.gz
nixpkgs-5417c720fdcb3a607205a6a6b465095e5421f5af.tar.bz2
nixpkgs-5417c720fdcb3a607205a6a6b465095e5421f5af.tar.lz
nixpkgs-5417c720fdcb3a607205a6a6b465095e5421f5af.tar.xz
nixpkgs-5417c720fdcb3a607205a6a6b465095e5421f5af.tar.zst
nixpkgs-5417c720fdcb3a607205a6a6b465095e5421f5af.zip
Merging from trunk.
I tried to fix some trivial conflicts.
I don't know if I merged well some more difficult conflicts on openssl/darwin_patch
or haskell-platform.


svn path=/nixpkgs/branches/stdenv-updates/; revision=22878
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/X11/virtualgl/default.nix30
-rw-r--r--pkgs/tools/X11/virtualgl/xshm.patch13
-rw-r--r--pkgs/tools/X11/x11vnc/0.9.3.nix27
-rw-r--r--pkgs/tools/X11/x11vnc/default.nix23
-rw-r--r--pkgs/tools/X11/x2vnc/1.7.2.nix26
-rw-r--r--pkgs/tools/X11/x2vnc/default.nix22
-rw-r--r--pkgs/tools/X11/xlaunch/default.nix2
-rw-r--r--pkgs/tools/X11/xmacro/default.nix8
-rw-r--r--pkgs/tools/admin/tigervnc/default.nix82
-rw-r--r--pkgs/tools/archivers/cpio/darwin-fix.patch15
-rw-r--r--pkgs/tools/archivers/cpio/default.nix49
-rw-r--r--pkgs/tools/archivers/dar/default.nix21
-rw-r--r--pkgs/tools/bluetooth/blueman/default.nix38
-rw-r--r--pkgs/tools/bluetooth/obex-data-server/default.nix16
-rw-r--r--pkgs/tools/filesystems/dosfstools/default.nix2
-rw-r--r--pkgs/tools/filesystems/fusesmb/default.nix23
-rw-r--r--pkgs/tools/filesystems/httpfs/default.nix35
-rw-r--r--pkgs/tools/filesystems/reiserfsprogs/default.nix20
-rw-r--r--pkgs/tools/filesystems/reiserfsprogs/headers-fix.patch19
-rw-r--r--pkgs/tools/filesystems/reiserfsprogs/verbose-flag-ignore-for-compatibility.patch32
-rw-r--r--pkgs/tools/filesystems/relfs/default.nix12
-rw-r--r--pkgs/tools/filesystems/smbfs-fuse/default.nix28
-rw-r--r--pkgs/tools/graphics/cuneiform/default.nix8
-rw-r--r--pkgs/tools/graphics/gifscile/default.nix17
-rw-r--r--pkgs/tools/graphics/gifsicle/default.nix18
-rw-r--r--pkgs/tools/graphics/glxinfo/default.nix6
-rw-r--r--pkgs/tools/graphics/gnuplot/default.nix11
-rw-r--r--pkgs/tools/graphics/graphviz/2.0.nix31
-rw-r--r--pkgs/tools/graphics/pstoedit/default.nix10
-rw-r--r--pkgs/tools/misc/bfr/default.nix15
-rw-r--r--pkgs/tools/misc/convmv/default.nix29
-rw-r--r--pkgs/tools/misc/debootstrap/default.nix21
-rw-r--r--pkgs/tools/misc/eProver/default.nix2
-rw-r--r--pkgs/tools/misc/figlet/default.nix14
-rw-r--r--pkgs/tools/misc/findutils-wrapper/builder.sh12
-rw-r--r--pkgs/tools/misc/findutils-wrapper/default.nix10
-rw-r--r--pkgs/tools/misc/fontforge/default.nix12
-rw-r--r--pkgs/tools/misc/gparted/default.nix16
-rw-r--r--pkgs/tools/misc/grub/1.9x.nix30
-rw-r--r--pkgs/tools/misc/hddtemp/default.nix31
-rw-r--r--pkgs/tools/misc/hdf5/bin-mv.patch30
-rw-r--r--pkgs/tools/misc/hdf5/default.nix25
-rw-r--r--pkgs/tools/misc/idutils/default.nix9
-rw-r--r--pkgs/tools/misc/idutils/nix-mapping.patch20
-rw-r--r--pkgs/tools/misc/keychain/default.nix24
-rw-r--r--pkgs/tools/misc/mysql2pgsql/default.nix15
-rw-r--r--pkgs/tools/misc/parallel/default.nix4
-rw-r--r--pkgs/tools/misc/parted/default.nix4
-rw-r--r--pkgs/tools/misc/partition-manager/default.nix11
-rw-r--r--pkgs/tools/misc/proxytunnel/default.nix17
-rw-r--r--pkgs/tools/misc/rlwrap/0.28.nix22
-rw-r--r--pkgs/tools/misc/rlwrap/default.nix17
-rw-r--r--pkgs/tools/misc/shebangfix/default.nix3
-rw-r--r--pkgs/tools/misc/slsnif/default.nix15
-rw-r--r--pkgs/tools/misc/timidity/default.nix13
-rw-r--r--pkgs/tools/misc/ttf2pt1/default.nix12
-rw-r--r--pkgs/tools/misc/w3c-css-validator/default.nix29
-rw-r--r--pkgs/tools/misc/wv/default.nix5
-rw-r--r--pkgs/tools/misc/xburst-tools/default.nix42
-rw-r--r--pkgs/tools/misc/xburst-tools/gcc-4.4.patch12
-rw-r--r--pkgs/tools/misc/xclip/default.nix11
-rw-r--r--pkgs/tools/networking/bsd-finger/default.nix23
-rw-r--r--pkgs/tools/networking/curl/default.nix10
-rw-r--r--pkgs/tools/networking/dhcp/default.nix4
-rw-r--r--pkgs/tools/networking/dnsmasq/default.nix11
-rw-r--r--pkgs/tools/networking/gftp/default.nix9
-rw-r--r--pkgs/tools/networking/iodine/default.nix23
-rw-r--r--pkgs/tools/networking/iodine/iodine-0.4.1.nix21
-rw-r--r--pkgs/tools/networking/iperf/default.nix7
-rw-r--r--pkgs/tools/networking/nbd/default.nix21
-rw-r--r--pkgs/tools/networking/nc6/1.0.nix24
-rw-r--r--pkgs/tools/networking/nc6/default.nix15
-rw-r--r--pkgs/tools/networking/offlineimap/default.nix6
-rw-r--r--pkgs/tools/networking/p2p/amule/default.nix34
-rw-r--r--pkgs/tools/networking/p2p/libtorrent/default.nix11
-rw-r--r--pkgs/tools/networking/p2p/rtorrent/default.nix12
-rw-r--r--pkgs/tools/networking/p2p/seeks/default.nix49
-rw-r--r--pkgs/tools/networking/p2p/tahoe-lafs/default.nix19
-rw-r--r--pkgs/tools/networking/stun/default.nix10
-rw-r--r--pkgs/tools/networking/tcng/default.nix34
-rw-r--r--pkgs/tools/package-management/cabal-install/0.8.2.nix13
-rw-r--r--pkgs/tools/package-management/dpkg/default.nix12
-rw-r--r--pkgs/tools/package-management/nix/sqlite.nix6
-rw-r--r--pkgs/tools/pydb/default.nix17
-rw-r--r--pkgs/tools/security/nmap/default.nix25
-rw-r--r--pkgs/tools/security/pius/default.nix46
-rw-r--r--pkgs/tools/security/ssss/0.5.nix29
-rw-r--r--pkgs/tools/security/ssss/default.nix26
-rw-r--r--pkgs/tools/system/fcron/default.nix78
-rw-r--r--pkgs/tools/system/gdmap/0.7.5.nix21
-rw-r--r--pkgs/tools/system/gdmap/0.8.1.nix21
-rw-r--r--pkgs/tools/system/gdmap/default.nix16
-rw-r--r--pkgs/tools/system/mcron/default.nix6
-rw-r--r--pkgs/tools/system/mcron/install-vixie-programs.patch33
-rw-r--r--pkgs/tools/system/pciutils/default.nix16
-rw-r--r--pkgs/tools/text/multitran/libfacet/default.nix4
-rw-r--r--pkgs/tools/text/patchutils/default.nix22
-rw-r--r--pkgs/tools/text/wdiff/default.nix4
-rw-r--r--pkgs/tools/typesetting/lhs2tex/default.nix8
-rw-r--r--pkgs/tools/video/swftools/default.nix24
-rw-r--r--pkgs/tools/virtualization/amazon-ec2-ami-tools/default.nix6
-rw-r--r--pkgs/tools/virtualization/amazon-ec2-api-tools/default.nix4
102 files changed, 1223 insertions, 733 deletions
diff --git a/pkgs/tools/X11/virtualgl/default.nix b/pkgs/tools/X11/virtualgl/default.nix
new file mode 100644
index 00000000000..433c22d128d
--- /dev/null
+++ b/pkgs/tools/X11/virtualgl/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchurl, mesa, libX11, openssl, libXext, libjpeg_turbo}:
+
+let
+  libDir = if stdenv.is64bit then "lib64" else "lib";
+in
+stdenv.mkDerivation {
+  name = "virtualgl-2.1.4";
+  src = fetchurl {
+    url = mirror://sourceforge/virtualgl/VirtualGL-2.1.4.tar.gz;
+    sha256 = "d455e599620473a07711196615e59c73d08a7f392a9fcf60a6bc05d82809d89d";
+  };
+
+  patches = [ ./xshm.patch ];
+
+  prePatch = ''
+    sed -i s,LD_PRELOAD=lib,LD_PRELOAD=$out/${libDir}/lib, rr/vglrun
+  '';
+
+  preInstall =''
+    export makeFlags="prefix=$out"
+  '';
+
+  buildInputs = [ mesa libX11 openssl libXext libjpeg_turbo ];
+
+  meta = {
+    homepage = http://www.virtualgl.org/;
+    description = "X11 GL rendering in a remote computer with full 3D hw acceleration";
+    license = "free"; # many parts under different free licenses
+  };
+}
diff --git a/pkgs/tools/X11/virtualgl/xshm.patch b/pkgs/tools/X11/virtualgl/xshm.patch
new file mode 100644
index 00000000000..2ca81b559ea
--- /dev/null
+++ b/pkgs/tools/X11/virtualgl/xshm.patch
@@ -0,0 +1,13 @@
+diff --git a/util/fbx.c b/util/fbx.c
+index 06ea835..0d89842 100644
+--- a/util/fbx.c
++++ b/util/fbx.c
+@@ -15,6 +15,8 @@
+ // This library abstracts fast frame buffer access
+ #include <string.h>
+ #include <stdlib.h>
++#include <X11/Xmd.h>
++#include <X11/extensions/shmproto.h>
+ #include "fbx.h"
+ 
+ #define MINWIDTH  160
diff --git a/pkgs/tools/X11/x11vnc/0.9.3.nix b/pkgs/tools/X11/x11vnc/0.9.3.nix
deleted file mode 100644
index b8587ed223f..00000000000
--- a/pkgs/tools/X11/x11vnc/0.9.3.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-args : with args; with builderDefs;
-  let localDefs = builderDefs.passthru.function (rec {
-    src = /* put a fetchurl here */
-    fetchurl {
-      url = mirror://sourceforge/libvncserver/x11vnc-0.9.3.tar.gz;
-      sha256 = "0sfzkbqd2d94w51czci9w5j5z67amcl1gphgg6x77dyr2h46kc0a";
-    };
-
-    buildInputs = [libXfixes fixesproto openssl libXdamage damageproto
-      zlib libX11 xproto libjpeg libXtst libXinerama xineramaproto
-      libXrandr randrproto libXext xextproto inputproto recordproto libXi
-      libXrender renderproto];
-    configureFlags = [];
-  });
-  in with localDefs;
-stdenv.mkDerivation rec {
-  name = "x11vnc-0.9.3";
-  builder = writeScript (name + "-builder")
-    (textClosure localDefs 
-      [doConfigure doMakeInstall doForceShare doPropagate]);
-  meta = {
-    description = "A VNC server connected to a real X11 screen";
-    homepage = "http://www.karlrunge.com/x11vnc/";
-    inherit src;
-  };
-}
-
diff --git a/pkgs/tools/X11/x11vnc/default.nix b/pkgs/tools/X11/x11vnc/default.nix
new file mode 100644
index 00000000000..bc846312835
--- /dev/null
+++ b/pkgs/tools/X11/x11vnc/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, openssl, zlib, libjpeg, xorg }:
+
+stdenv.mkDerivation rec {
+  name = "x11vnc-0.9.10";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/libvncserver/${name}.tar.gz";
+    sha256 = "04g0da04g4iw0qwvn43a8vh2im4wx9rwl1w41acsbdi8b0amhlck";
+  };
+
+  buildInputs =
+    [ xorg.libXfixes xorg.fixesproto openssl xorg.libXdamage
+      xorg.damageproto zlib xorg.libX11 xorg.xproto libjpeg
+      xorg.libXtst xorg.libXinerama xorg.xineramaproto xorg.libXrandr
+      xorg.randrproto xorg.libXext xorg.xextproto xorg.inputproto
+      xorg.recordproto xorg.libXi xorg.libXrender xorg.renderproto
+    ];
+
+  meta = {
+    description = "A VNC server connected to a real X11 screen";
+    homepage = http://www.karlrunge.com/x11vnc/;
+  };
+}
diff --git a/pkgs/tools/X11/x2vnc/1.7.2.nix b/pkgs/tools/X11/x2vnc/1.7.2.nix
deleted file mode 100644
index c65105e4796..00000000000
--- a/pkgs/tools/X11/x2vnc/1.7.2.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-
-args : with args; with builderDefs.passthru.function {src="";};
-	let localDefs = builderDefs.passthru.function ((rec {
-		src = /* put a fetchurl here */
-		fetchurl {
-			url = http://fredrik.hubbe.net/x2vnc/x2vnc-1.7.2.tar.gz;
-			sha256 = "00bh9j3m6snyd2fgnzhj5vlkj9ibh69gfny9bfzlxbnivb06s1yw";
-		};
-
-		buildInputs = [libX11 xproto xextproto libXext libXrandr randrproto];
-		doCreatePrefix = fullDepEntry (''
-			ensureDir $out
-		'') ["defEnsureDir"];
-		configureFlags = [];
-	}) // args); /* null is a terminator for sumArgs */
-	in with localDefs;
-stdenv.mkDerivation rec {
-	name = "x2vnc-1.7.2";
-	builder = writeScript (name + "-builder")
-		(textClosure localDefs 
-			[doConfigure doCreatePrefix doMakeInstall doForceShare doPropagate]);
-	meta = {
-		description = "A program to control a remote VNC server";
-		inherit src;
-	};
-}
diff --git a/pkgs/tools/X11/x2vnc/default.nix b/pkgs/tools/X11/x2vnc/default.nix
new file mode 100644
index 00000000000..a3d21ab1800
--- /dev/null
+++ b/pkgs/tools/X11/x2vnc/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, xorg }:
+
+stdenv.mkDerivation rec {
+  name = "x2vnc-1.7.2";
+
+  src = fetchurl {
+    url = http://fredrik.hubbe.net/x2vnc/x2vnc-1.7.2.tar.gz;
+    sha256 = "00bh9j3m6snyd2fgnzhj5vlkj9ibh69gfny9bfzlxbnivb06s1yw";
+  };
+
+  buildInputs =
+    [ xorg.libX11 xorg.xproto xorg.xextproto xorg.libXext
+      xorg.libXrandr xorg.randrproto
+    ];
+
+  preInstall = "ensureDir $out";
+
+  meta = {
+    homepahe = http://fredrik.hubbe.net/x2vnc.html;
+    description = "A program to control a remote VNC server";
+  };
+}
diff --git a/pkgs/tools/X11/xlaunch/default.nix b/pkgs/tools/X11/xlaunch/default.nix
index 2c28e986afb..0bc33bcb7fa 100644
--- a/pkgs/tools/X11/xlaunch/default.nix
+++ b/pkgs/tools/X11/xlaunch/default.nix
@@ -1,4 +1,4 @@
-args: with args;
+{ stdenv, xorgserver }:
 
 # !!! What does this package do, and does it belong in Nixpkgs?
 
diff --git a/pkgs/tools/X11/xmacro/default.nix b/pkgs/tools/X11/xmacro/default.nix
index c0e3b9ac2f9..1b18138f28b 100644
--- a/pkgs/tools/X11/xmacro/default.nix
+++ b/pkgs/tools/X11/xmacro/default.nix
@@ -1,4 +1,4 @@
-args: with args;
+{ stdenv, fetchurl, libX11, libXtst, xextproto, libXi, inputproto }:
 
 stdenv.mkDerivation {
   name = "xmacro-0.3pre20000911";
@@ -8,9 +8,9 @@ stdenv.mkDerivation {
     md5 = "d2956b82f3d5380e58a75ccc721fb746";
   };
 
-  preBuild=" sed -e 's/-pedantic//g' -i Makefile ";
+  preBuild = " sed -e 's/-pedantic//g' -i Makefile ";
 
-  preInstall="echo -e 'install:\n	mkdir \${out}/bin;\n	cp xmacrorec xmacrorec2 xmacroplay \${out}/bin;' >>Makefile; ";
+  preInstall = "echo -e 'install:\n	mkdir \${out}/bin;\n	cp xmacrorec xmacrorec2 xmacroplay \${out}/bin;' >>Makefile; ";
 
-  buildInputs = [libX11 libXtst xextproto libXi inputproto];
+  buildInputs = [ libX11 libXtst xextproto libXi inputproto ];
 }
diff --git a/pkgs/tools/admin/tigervnc/default.nix b/pkgs/tools/admin/tigervnc/default.nix
new file mode 100644
index 00000000000..f76b86ffcb2
--- /dev/null
+++ b/pkgs/tools/admin/tigervnc/default.nix
@@ -0,0 +1,82 @@
+{stdenv, fetchsvn, libX11, libXext, gettext, libICE, libXtst, libXi, libSM, xorgserver,
+autoconf, automake, cvs, libtool, nasm, utilmacros, pixman, xkbcomp, xkeyboard_config,
+fontDirectories, fontutil }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation {
+  name = "tigervnc-svn-4086";
+  src = fetchsvn {
+    url = https://tigervnc.svn.sourceforge.net/svnroot/tigervnc/trunk;
+    rev = 4086;
+    sha256 = "0aqn9d5yz21k5l4mwh5f73il77w2rbvsrz91z3lz4bizivvkwszc";
+  };
+
+  preConfigure = ''
+    autoreconf -vfi
+  '';
+
+  configureFlags = "--enable-nls";
+
+  inherit fontDirectories;
+
+  patchPhase = ''
+    sed -i -e 's,$(includedir)/pixman-1,${pixman}/include/pixman-1,' unix/xserver/hw/vnc/Makefile.am
+    sed -i -e '/^$pidFile/a$ENV{XKB_BINDIR}="${xkbcomp}/bin";' unix/vncserver 
+    sed -i -e '/^\$cmd \.= " -pn";/a$cmd .= " -xkbdir ${xkeyboard_config}/etc/X11/xkb";' unix/vncserver 
+
+    fontPath=
+    for i in $fontDirectories; do
+      for j in $(find $i -name fonts.dir); do
+        addToSearchPathWithCustomDelimiter "," fontPath $(dirname $j)
+      done
+    done
+    
+    sed -i -e '/^\$cmd \.= " -pn";/a$cmd .= " -fp '"$fontPath"'";' unix/vncserver 
+  '';
+
+  # I don't know why I can't use in the script
+  # this:  ${concatStringsSep " " (map (f: "${f}") xorgserver.patches)}
+  xorgPatches = xorgserver.patches;
+
+  postBuild = ''
+    # Build Xvnc
+    tar xf ${xorgserver.src}
+    cp -R xorg*/* unix/xserver
+    pushd unix/xserver
+    for a in $xorgPatches
+    do
+      patch -p1 < $a
+    done
+    patch -p1 < ../xserver18.patch
+    autoreconf -vfi
+    ./configure --prefix=$out --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg --disable-dmx --disable-dri --disable-dri2 --disable-glx
+    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
+  '';
+
+  buildInputs = [ libX11 libXext gettext libICE libXtst libXi libSM autoconf automake cvs
+    libtool nasm utilmacros fontutil ] ++ xorgserver.buildNativeInputs;
+
+  propagatedBuildInputs = xorgserver.propagatedBuildNativeInputs;
+
+  meta = {
+    homepage = http://www.tigervnc.org/;
+    license = "GPLv2+";
+    description = "Fork of tightVNC, made in cooperation with VirtualGL";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+
+}
diff --git a/pkgs/tools/archivers/cpio/darwin-fix.patch b/pkgs/tools/archivers/cpio/darwin-fix.patch
new file mode 100644
index 00000000000..0e8ff168c52
--- /dev/null
+++ b/pkgs/tools/archivers/cpio/darwin-fix.patch
@@ -0,0 +1,15 @@
+Fix Darwin builds.
+
+From <http://git.savannah.gnu.org/cgit/cpio.git/commit/?id=3a7a1820d4cecbd77c7b74c785af5942510bf080>.
+See also <http://lists.gnu.org/archive/html/bug-cpio/2010-07/msg00001.html>.
+
+diff --git a/src/filetypes.h b/src/filetypes.h
+index f80faab..81f0c32 100644
+--- a/src/filetypes.h
++++ b/src/filetypes.h
+@@ -81,5 +81,3 @@
+ #ifndef S_ISLNK
+ #define lstat stat
+ #endif
+-int lstat ();
+-int stat ();
diff --git a/pkgs/tools/archivers/cpio/default.nix b/pkgs/tools/archivers/cpio/default.nix
index 1700f03d7bd..8e14ff17866 100644
--- a/pkgs/tools/archivers/cpio/default.nix
+++ b/pkgs/tools/archivers/cpio/default.nix
@@ -1,24 +1,45 @@
 {stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "cpio-2.9";
-  
+stdenv.mkDerivation ({
+  name = "cpio-2.11";
+
   src = fetchurl {
-    url = mirror://gnu/cpio/cpio-2.9.tar.bz2;
-    sha256 = "01s7f9hg8kgpis96j99hgkiqgdy53pm7qi7bhm3fzx58jfk5z6mv";
+    url = mirror://gnu/cpio/cpio-2.11.tar.bz2;
+    sha256 = "1gavgpzqwgkpagjxw72xgxz52y1ifgz0ckqh8g7cckz7jvyhp0mv";
   };
 
-  patches = [
-    # Make it compile on GCC 4.3.
-    (fetchurl {
-      name = "cpio-2.9-gnu-inline.patch";
-      url = "http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/app-arch/cpio/files/cpio-2.9-gnu-inline.patch?rev=1.1";
-      sha256 = "1167hrq64h9lh3qhgasm2rivfzkkgx6fik92b017qfa0q61ff8c3";
-    })
-  ];
+  # Tests fail on Darwin, see
+  # <http://lists.gnu.org/archive/html/bug-cpio/2010-07/msg00012.html> for
+  # details.
+  doCheck = !stdenv.isDarwin;
 
   meta = {
     homepage = http://www.gnu.org/software/cpio/;
-    description = "A program to create or extract from cpio archives";
+    description = "GNU cpio, a program to create or extract from cpio archives";
+
+    longDescription =
+      '' GNU cpio copies files into or out of a cpio or tar archive.  The
+         archive can be another file on the disk, a magnetic tape, or a pipe.
+
+         GNU cpio supports the following archive formats: binary, old ASCII,
+         new ASCII, crc, HPUX binary, HPUX old ASCII, old tar, and POSIX.1
+         tar.  The tar format is provided for compatability with the tar
+         program.  By default, cpio creates binary format archives, for
+         compatibility with older cpio programs.  When extracting from
+         archives, cpio automatically recognizes which kind of archive it is
+         reading and can read archives created on machines with a different
+         byte-order.
+      '';
+
+    license = "GPLv3+";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.all;
   };
 }
+
+//
+
+(if stdenv.isLinux
+ then {}
+ else { patches = [ ./darwin-fix.patch ]; }))
diff --git a/pkgs/tools/archivers/dar/default.nix b/pkgs/tools/archivers/dar/default.nix
index e096313a4c1..49c56d075d3 100644
--- a/pkgs/tools/archivers/dar/default.nix
+++ b/pkgs/tools/archivers/dar/default.nix
@@ -1,18 +1,21 @@
-{stdenv, fetchurl, zlib, bzip2, openssl}:
+{ stdenv, fetchurl, zlib, bzip2, openssl, attr }:
 
 stdenv.mkDerivation rec {
-  name = "dar-2.3.9";
+  name = "dar-2.3.10";
+  
   src = fetchurl {
-    url = "mirror://sourceforge/dar/dar-2.3.9.tar.gz";
-    sha256 = "037ak6wckqyn52000m8bapgnf70rw776dl3s61i9bdq548slq6yc";
+    url = "mirror://sourceforge/dar/${name}.tar.gz";
+    sha256 = "04qzdcz97bzz414khfj82hn8s1i1ry7qxaikq8lj1069gvhc6qjn";
   };
 
-  buildInputs = [zlib bzip2 openssl];
+  buildInputs = [ zlib bzip2 openssl attr ];
+
+  configureFlags = "--disable-dar-static";
 
   meta = {
-	  homepage = http://dar.linux.free.fr/;
-	  description = "Disk ARchiver, allows backing up files into indexed archives";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    homepage = http://dar.linux.free.fr/;
+    description = "Disk ARchiver, allows backing up files into indexed archives";
+    maintainers = [ stdenv.lib.maintainers.viric ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/bluetooth/blueman/default.nix b/pkgs/tools/bluetooth/blueman/default.nix
new file mode 100644
index 00000000000..47de82db158
--- /dev/null
+++ b/pkgs/tools/bluetooth/blueman/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, pkgconfig, intltool, python, pyrex, pygobject, pygtk
+, notify, pythonDBus, bluez, glib, gtk, libstartup_notification
+, makeWrapper, xdg_utils
+}:
+   
+stdenv.mkDerivation rec {
+  name = "blueman-1.21";
+   
+  src = fetchurl {
+    url = "http://download.tuxfamily.org/blueman/${name}.tar.gz";
+    sha256 = "1bz31w0cqcl77r7vfjwm9c4gmk4hvq3nqn1pjnd5qndia2mhs846";
+  };
+
+  configureFlags = "--disable-polkit";
+
+  buildInputs =
+    [ pkgconfig intltool python pyrex pygobject pygtk notify pythonDBus
+      bluez glib gtk libstartup_notification makeWrapper
+    ];
+
+  # !!! Ugly.
+  PYTHONPATH = "${pygobject}/lib/${python.libPrefix}/site-packages/gtk-2.0:${pygtk}/lib/${python.libPrefix}/site-packages/gtk-2.0:${notify}/lib/${python.libPrefix}/site-packages/gtk-2.0";
+
+  postInstall =
+    ''
+      # Create wrappers that set the environment correctly.
+      for i in $out/bin/* $out/libexec/*; do
+          wrapProgram $i \
+              --set PYTHONPATH "$(toPythonPath $out):$PYTHONPATH" \
+              --prefix PATH : ${xdg_utils}/bin
+      done
+    ''; # */
+
+  meta = {
+    homepage = http://blueman-project.org/;
+    description = "GTK+-based Bluetooth Manager";
+  };
+}
diff --git a/pkgs/tools/bluetooth/obex-data-server/default.nix b/pkgs/tools/bluetooth/obex-data-server/default.nix
new file mode 100644
index 00000000000..c01794b26ba
--- /dev/null
+++ b/pkgs/tools/bluetooth/obex-data-server/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchurl, pkgconfig, libusb, glib, dbus_glib, bluez, openobex }:
+   
+stdenv.mkDerivation rec {
+  name = "obex-data-server-0.4.5";
+   
+  src = fetchurl {
+    url = "http://tadas.dailyda.com/software/${name}.tar.gz";
+    sha256 = "0qy7mrwr3xfplcxlrq97hiiyda7r9jn24015y9azahi7q5xjfhg7";
+  };
+
+  buildInputs = [ pkgconfig libusb glib dbus_glib bluez openobex ];
+
+  meta = {
+    homepage = http://wiki.muiline.com/obex-data-server;
+  };
+}
diff --git a/pkgs/tools/filesystems/dosfstools/default.nix b/pkgs/tools/filesystems/dosfstools/default.nix
index 43691c22714..7ef741753ba 100644
--- a/pkgs/tools/filesystems/dosfstools/default.nix
+++ b/pkgs/tools/filesystems/dosfstools/default.nix
@@ -1,4 +1,4 @@
-args : with args; with builderDefs;
+{builderDefs}: with builderDefs;
        let localDefs = builderDefs.passthru.function (rec {
          src = /* put a fetchurl here */
            fetchurl {
diff --git a/pkgs/tools/filesystems/fusesmb/default.nix b/pkgs/tools/filesystems/fusesmb/default.nix
new file mode 100644
index 00000000000..4bc9348adbf
--- /dev/null
+++ b/pkgs/tools/filesystems/fusesmb/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, samba, fuse }:
+
+stdenv.mkDerivation rec {
+  name = "fusesmb-0.8.7";
+
+  src = fetchurl {
+    url = "http://www.ricardis.tudelft.nl/~vincent/fusesmb/download/${name}.tar.gz";
+    sha256 = "12gz2gn9iqjg27a233dn2wij7snm7q56h97k6gks0yijf6xcnpz1";
+  };
+
+  buildInputs = [ samba fuse ];
+
+  postInstall =
+    ''
+      ensureDir $out/lib
+      ln -fs ${samba}/lib/libsmbclient.so $out/lib/libsmbclient.so.0
+    '';
+
+  meta = {
+    description = "Samba mounted via FUSE";
+    homepage = http://www.ricardis.tudelft.nl/~vincent/fusesmb/;
+  };
+}
diff --git a/pkgs/tools/filesystems/httpfs/default.nix b/pkgs/tools/filesystems/httpfs/default.nix
new file mode 100644
index 00000000000..afa4be345a9
--- /dev/null
+++ b/pkgs/tools/filesystems/httpfs/default.nix
@@ -0,0 +1,35 @@
+{ fetchurl, stdenv, pkgconfig, fuse, openssl, asciidoc
+, docbook_xml_dtd_45, docbook_xsl , libxml2, libxslt }:
+
+stdenv.mkDerivation rec {
+  name = "httpfs2-0.1.4";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/httpfs/httpfs2/${name}.tar.gz";
+    sha256 = "0vlp6i119lz4ybnrd26hvvwms3h5d7x3jly5nzyyfcw24ngvpk7p";
+  };
+
+  buildInputs =
+    [ pkgconfig fuse openssl
+      asciidoc docbook_xml_dtd_45 docbook_xsl libxml2 libxslt
+    ];
+
+  installPhase =
+    '' ensureDir "$out/bin"
+       cp -v httpfs2 "$out/bin"
+
+       ensureDir "$out/share/man/man1"
+       cp -v *.1 "$out/share/man/man1"
+    '';
+
+  meta = {
+    description = "HTTPFS2, a FUSE-based HTTP file system for Linux";
+
+    homepage = http://httpfs.sourceforge.net/;
+
+    license = "GPLv2+";
+
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+  };
+}
diff --git a/pkgs/tools/filesystems/reiserfsprogs/default.nix b/pkgs/tools/filesystems/reiserfsprogs/default.nix
index f036e0a08bc..7cadc0dd649 100644
--- a/pkgs/tools/filesystems/reiserfsprogs/default.nix
+++ b/pkgs/tools/filesystems/reiserfsprogs/default.nix
@@ -1,18 +1,24 @@
-args: with args;
+{ stdenv, fetchurl, libuuid }:
 
-stdenv.mkDerivation {
-  name = "reiserfsprogs-3.6.19-patched";
+stdenv.mkDerivation rec {
+  name = "reiserfsprogs-3.6.21";
 
   src = fetchurl {
-    url = http://chichkin_i.zelnet.ru/namesys/reiserfsprogs-3.6.19.tar.gz;
-    sha256 = "1gv8gr0l5l2j52540y2wj9c9h7fn0r3vabykf95748ydmr9jr1n0";
+    url = "http://www.kernel.org/pub/linux/utils/fs/reiserfs/${name}.tar.bz2";
+    sha256 = "19mqzhh6jsf2gh8zr5scqi9pyk1fwivrxncd11rqnp2148c58jam";
   };
 
-  patches = [./headers-fix.patch ./verbose-flag-ignore-for-compatibility.patch ];
+  buildInputs = [ libuuid ];
+
+  postInstall =
+    ''
+      ln -s reiserfsck $out/sbin/fsck.reiserfs
+      ln -s mkreiserfs $out/sbin/mkfs.reiserfs
+    '';
 
   meta = {
     homepage = http://www.namesys.com/;
-    description = "Reiserfs utilities";
+    description = "ReiserFS utilities";
     license = "GPL-2";
   };
 }
diff --git a/pkgs/tools/filesystems/reiserfsprogs/headers-fix.patch b/pkgs/tools/filesystems/reiserfsprogs/headers-fix.patch
deleted file mode 100644
index 2c6693dae75..00000000000
--- a/pkgs/tools/filesystems/reiserfsprogs/headers-fix.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -pruN 1:3.6.19-4/include/reiserfs_fs.h 1:3.6.19-4ubuntu2/include/reiserfs_fs.h
---- 1:3.6.19-4/include/reiserfs_fs.h	2004-09-16 08:49:05.000000000 +0100
-+++ 1:3.6.19-4ubuntu2/include/reiserfs_fs.h	2006-12-14 18:08:28.000000000 +0000
-@@ -38,15 +38,10 @@
- # define extern_inline
- #endif
- 
--#include <asm/unaligned.h>
--
- #ifndef get_unaligned
--#if defined(__ppc__) || defined(ppc) || defined(__ppc) || \
--    defined(__PPC) || defined(powerpc) || defined(__powerpc__)
- #	define get_unaligned(ptr)	(*(ptr))
- #	define put_unaligned(val,ptr)	((void)(*(ptr) = (val)))
- #endif
--#endif
- 
- #define get_leXX(xx,p,field)	(le##xx##_to_cpu ((p)->field))
- #define set_leXX(xx,p,field,val) do { (p)->field = cpu_to_le##xx(val); } while (0)
diff --git a/pkgs/tools/filesystems/reiserfsprogs/verbose-flag-ignore-for-compatibility.patch b/pkgs/tools/filesystems/reiserfsprogs/verbose-flag-ignore-for-compatibility.patch
deleted file mode 100644
index 802971b73fd..00000000000
--- a/pkgs/tools/filesystems/reiserfsprogs/verbose-flag-ignore-for-compatibility.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/fsck/main.c b/fsck/main.c
-index ab3342a..79a0473 100644
---- a/fsck/main.c
-+++ b/fsck/main.c
-@@ -37,6 +37,7 @@ fsck_progress ("Usage: %s [mode] [options] "					\
- "  -z | --adjust-size\t\tfix file sizes to real size\n"				\
- "  -q | --quiet\t\t\tno speed info\n"						\
- "  -y | --yes\t\t\tno confirmations\n"						\
-+"  -v         \t\t ignore -v option for compatibility to fsck.* tools\n"						\
- "  -V\t\t\t\tprints version and exits\n"					\
- "  -a and -p\t\t\tsome light-weight auto checks for bootup\n"			\
- "  -f and -r\t\t\tignored\n"							\
-@@ -131,7 +132,7 @@ static char * parse_options (struct fsck_data * data, int argc, char * argv [])
- 	};
- 	int option_index;
-       
--	c = getopt_long (argc, argv, "iql:nb:Szd:R:h:j:gafVrpyt:B:",
-+	c = getopt_long (argc, argv, "iql:nb:Szd:R:h:j:gafVrpyvt:B:",
- 			 options, &option_index);
- 	if (c == -1)
- 	    break;
-@@ -158,6 +159,10 @@ static char * parse_options (struct fsck_data * data, int argc, char * argv [])
- 	    data->options |= OPT_YES;
- 	    break;
- 
-+	case 'v': /* --quiet */
-+            reiserfs_warning(stdout, "\nignoring -v option for compatibility\n");
-+	    break;
-+
- 	case 'l': /* --logfile */
- 	    data->log_file_name = optarg;
- 	    /*asprintf (&data->log_file_name, "%s", optarg);*/
diff --git a/pkgs/tools/filesystems/relfs/default.nix b/pkgs/tools/filesystems/relfs/default.nix
index 178aa700fa5..2eb8e3a0b3b 100644
--- a/pkgs/tools/filesystems/relfs/default.nix
+++ b/pkgs/tools/filesystems/relfs/default.nix
@@ -1,8 +1,8 @@
+{ stdenv, fetchcvs, builderDefs, ocaml, fuse, postgresql, pcre
+, libuuid, gnomevfs, pkgconfig, GConf }:
 
-args : with args;
 	let localDefs = builderDefs.passthru.function {
-	src = /* put a fetchurl here */
-	if args ? src then args.src else fetchcvs {
+	src = fetchcvs {
 		cvsRoot = ":pserver:anonymous@relfs.cvs.sourceforge.net:/cvsroot/relfs";
 		module = "relfs";
 		date = "2008-03-05";
@@ -40,7 +40,7 @@ args : with args;
 	};
 	in with localDefs;
 
-assert args.libuuid != null;
+assert libuuid != null;
         
 stdenv.mkDerivation rec {
 	name = "relfs-2008.03.05";
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
 	meta = {
 		description = "A relational filesystem on top of FUSE";
 		inherit src;
-    		maintainers = [args.stdenv.lib.maintainers.raskin];
-		platforms = args.stdenv.lib.platforms.linux;
+    		maintainers = [stdenv.lib.maintainers.raskin];
+		platforms = stdenv.lib.platforms.linux;
 	};
 }
diff --git a/pkgs/tools/filesystems/smbfs-fuse/default.nix b/pkgs/tools/filesystems/smbfs-fuse/default.nix
deleted file mode 100644
index 4b656b70388..00000000000
--- a/pkgs/tools/filesystems/smbfs-fuse/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-args : with args; with builderDefs;
-	let localDefs = builderDefs.passthru.function {
-		src = /* put a fetchurl here */
-		fetchurl {
-			url = http://www.ricardis.tudelft.nl/~vincent/fusesmb/download/fusesmb-0.8.7.tar.gz;
-			sha256 = "12gz2gn9iqjg27a233dn2wij7snm7q56h97k6gks0yijf6xcnpz1";
-		};
-
-		buildInputs = [samba fuse];
-		configureFlags = [];
-		postInstall = fullDepEntry 
-		(''
-		ensureDir $out/lib
-		ln -fs ${samba}/lib/libsmbclient.so $out/lib/libsmbclient.so.0
-		'')
-		[ "minInit" "defEnsureDir" "doMakeInstall"];
-	};
-	in with localDefs;
-stdenv.mkDerivation rec {
-	name = "smbfs-fuse-0.8.7";
-	builder = writeScript (name + "-builder")
-		(textClosure localDefs 
-			[doConfigure doMakeInstall postInstall doForceShare doPropagate]);
-  meta = {
-   description = "Samba mounted via FUSE";
-   inherit src;
-  };
-}
diff --git a/pkgs/tools/graphics/cuneiform/default.nix b/pkgs/tools/graphics/cuneiform/default.nix
index e72f96ea85e..0e5131b603d 100644
--- a/pkgs/tools/graphics/cuneiform/default.nix
+++ b/pkgs/tools/graphics/cuneiform/default.nix
@@ -2,15 +2,15 @@ a :
 let 
   fetchurl = a.fetchurl;
 
-  version = a.lib.attrByPath ["version"] "0.6" a; 
+  version = a.lib.attrByPath ["version"] "1.0" a; 
   buildInputs = with a; [
     cmake imagemagick patchelf
   ];
 in
 rec {
   src = fetchurl {
-    url = "http://launchpad.net/cuneiform-linux/${version}/${version}/+download/cuneiform-${version}.tar.bz2";
-    sha256 = "0jgiccimwv1aqp9gzl9937gdlh9zl5qpaygf0n1xcbfd5aqz14ig";
+    url = "http://launchpad.net/cuneiform-linux/${version}/${version}/+download/cuneiform-linux-${version}.0.tar.bz2";
+    sha256 = "bfa7acc6aade966ab62bc0f19e0ac1a843b659a70202229570c087ca8b15f39e";
   };
 
   inherit buildInputs;
@@ -29,7 +29,7 @@ rec {
   '') ["minInit" "addInputs" "doUnpack" "defEnsureDir"];
       
   postInstall = a.fullDepEntry(''
-    patchelf --set-rpath $out/lib${if a.stdenv.gcc.gcc != null then ":${a.stdenv.gcc.gcc}/lib" else ""} $out/bin/cuneiform
+    patchelf --set-rpath $out/lib${if a.stdenv.gcc.gcc != null then ":${a.stdenv.gcc.gcc}/lib" else ""}:${a.imagemagick}/lib $out/bin/cuneiform
   '') ["minInit" "addInputs" "doMakeInstall"];
 
   name = "cuneiform-" + version;
diff --git a/pkgs/tools/graphics/gifscile/default.nix b/pkgs/tools/graphics/gifscile/default.nix
deleted file mode 100644
index 31f7a4e4527..00000000000
--- a/pkgs/tools/graphics/gifscile/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-args:
-args.stdenv.mkDerivation {
-  name = "gifsicle-1.52";
-
-  src = args.fetchurl {
-    url = http://www.lcdf.org/gifsicle/gifsicle-1.52.tar.gz;
-    sha256 = "1fp47grvk46bkj22zixrhgpgs3qbkmijicf3wkjk4y8fsx0idbgk";
-  };
-
-  buildInputs =(with args; [xproto libXt libX11]);
-
-  meta = { 
-      description = "command-line tool for creating, editing, and getting information about GIF images and animations";
-      homepage = http://www.lcdf.org/gifsicle/;
-      license = "GPL2";
-  };
-}
diff --git a/pkgs/tools/graphics/gifsicle/default.nix b/pkgs/tools/graphics/gifsicle/default.nix
new file mode 100644
index 00000000000..515858bd439
--- /dev/null
+++ b/pkgs/tools/graphics/gifsicle/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, xproto, libXt, libX11 }:
+
+stdenv.mkDerivation {
+  name = "gifsicle-1.52";
+
+  src = fetchurl {
+    url = http://www.lcdf.org/gifsicle/gifsicle-1.52.tar.gz;
+    sha256 = "1fp47grvk46bkj22zixrhgpgs3qbkmijicf3wkjk4y8fsx0idbgk";
+  };
+
+  buildInputs = [ xproto libXt libX11 ];
+
+  meta = { 
+    description = "Command-line tool for creating, editing, and getting information about GIF images and animations";
+    homepage = http://www.lcdf.org/gifsicle/;
+    license = "GPL2";
+  };
+}
diff --git a/pkgs/tools/graphics/glxinfo/default.nix b/pkgs/tools/graphics/glxinfo/default.nix
index 8a055d274c9..d1978134a71 100644
--- a/pkgs/tools/graphics/glxinfo/default.nix
+++ b/pkgs/tools/graphics/glxinfo/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, x11, mesa}:
 
 stdenv.mkDerivation {
-  name = "glxinfo-7.4.1";
+  name = "glxinfo-7.8.2";
   
   src = fetchurl {
-    url = mirror://sourceforge/mesa3d/MesaDemos-7.4.1.tar.bz2;
-    md5 = "1e169fb6abc2b45613f1c98a82dfe690";
+    url = ftp://ftp.freedesktop.org/pub/mesa/7.8.2/MesaDemos-7.8.2.tar.bz2;
+    md5 = "757d9e2e06f48b1a52848be9b0307ced";
   };
 
   buildInputs = [x11 mesa];
diff --git a/pkgs/tools/graphics/gnuplot/default.nix b/pkgs/tools/graphics/gnuplot/default.nix
index 003169415d3..105cccea3d9 100644
--- a/pkgs/tools/graphics/gnuplot/default.nix
+++ b/pkgs/tools/graphics/gnuplot/default.nix
@@ -15,15 +15,16 @@
 
 stdenv.mkDerivation {
   name = "gnuplot-4.4.0";
+  
   src = fetchurl {
     url = "mirror://sourceforge/gnuplot/gnuplot-4.4.0.tar.gz";
     sha256 = "0akb2lzxa3b0j4nr6anr0mhsk10b1fcnixk8vk9aa82rl1a2rph0";
   };
 
-  configureFlags = if (libX11 != null) then ["--with-x"] else ["--without-x"];
+  configureFlags = if libX11 != null then ["--with-x"] else ["--without-x"];
 
-  buildInputs = [
-    zlib gd texinfo readline emacs lua texLive libX11 libXt libXpm libXaw
-    wxGTK pango cairo pkgconfig
-  ];
+  buildInputs =
+    [ zlib gd texinfo readline emacs lua texLive libX11 libXt libXpm libXaw
+      wxGTK pango cairo pkgconfig
+    ];
 }
diff --git a/pkgs/tools/graphics/graphviz/2.0.nix b/pkgs/tools/graphics/graphviz/2.0.nix
new file mode 100644
index 00000000000..07fbbc967d9
--- /dev/null
+++ b/pkgs/tools/graphics/graphviz/2.0.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, pkgconfig, x11, libpng, libjpeg, expat, libXaw
+, yacc, libtool, fontconfig, pango, gd
+}:
+
+assert libpng != null && libjpeg != null && expat != null;
+
+stdenv.mkDerivation rec {
+  name = "graphviz-2.0";
+
+  src = fetchurl {
+    url = "http://www.graphviz.org/pub/graphviz/ARCHIVE/${name}.tar.gz";
+    sha256 = "39b8e1f2ba4cc1f5bdc8e39c7be35e5f831253008e4ee2c176984f080416676c";
+  };
+
+  buildInputs = [pkgconfig x11 libpng libjpeg expat libXaw yacc libtool fontconfig pango gd];
+  
+  configureFlags =
+    [ "--with-pngincludedir=${libpng}/include"
+      "--with-pnglibdir=${libpng}/lib"
+      "--with-jpegincludedir=${libjpeg}/include"
+      "--with-jpeglibdir=${libjpeg}/lib"
+      "--with-expatincludedir=${expat}/include"
+      "--with-expatlibdir=${expat}/lib"
+    ]
+    ++ stdenv.lib.optional (x11 == null) "--without-x";
+
+  meta = {
+    description = "A program for visualising graphs";
+    homepage = http://www.graphviz.org/;
+  };
+}
diff --git a/pkgs/tools/graphics/pstoedit/default.nix b/pkgs/tools/graphics/pstoedit/default.nix
index 6f4a41d2425..b3d75106980 100644
--- a/pkgs/tools/graphics/pstoedit/default.nix
+++ b/pkgs/tools/graphics/pstoedit/default.nix
@@ -1,4 +1,5 @@
-args: with args;
+{ stdenv, fetchurl, pkgconfig, ghostscript, gd, zlib, plotutils }:
+
 stdenv.mkDerivation {
   name = "pstoedit-3.50";
 
@@ -7,14 +8,13 @@ stdenv.mkDerivation {
     sha256 = "04ap21fxj2zn6vj9mv7zknj4svcbkb1gxwfzxkw5i0sksx969c92";
   };
 
-  buildInputs = [pkgconfig ghostscript gd zlib plotutils];
+  buildInputs = [ pkgconfig ghostscript gd zlib plotutils ];
 
   meta = { 
     description = "translates PostScript and PDF graphics into other vector formats";
     homepage = http://www.helga-glunz.homepage.t-online.de/pstoedit;
     license = "GPLv2";
-    maintainers = [args.lib.maintainers.marcweber];
-    platforms = args.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.marcweber ];
+    platforms = stdenv.lib.platforms.linux;
   };
-
 }
diff --git a/pkgs/tools/misc/bfr/default.nix b/pkgs/tools/misc/bfr/default.nix
index f91a3fabc32..024798a84e3 100644
--- a/pkgs/tools/misc/bfr/default.nix
+++ b/pkgs/tools/misc/bfr/default.nix
@@ -1,17 +1,18 @@
-args:
-args.stdenv.mkDerivation {
+{ stdenv, fetchurl, perl }:
+
+stdenv.mkDerivation {
   name = "bfr-1.6";
 
-  src = args.fetchurl {
+  src = fetchurl {
     url = http://www.glines.org/bin/pk/bfr-1.6.tar.bz2;
     sha256 = "0fadfssvj9klj4dq9wdrzys1k2a1z2j0p6kgnfgbjv0n1bq6h4cy";
   };
 
-  buildInputs =(with args; [perl]);
+  buildInputs = [ perl ];
 
   meta = {
-      description = "general-purpose command-line pipe buffer";
-      homepage = http://www.glines.org/wiki/bfr;
-      license = "GPL2";
+    description = "general-purpose command-line pipe buffer";
+    homepage = http://www.glines.org/wiki/bfr;
+    license = "GPL2";
   };
 }
diff --git a/pkgs/tools/misc/convmv/default.nix b/pkgs/tools/misc/convmv/default.nix
new file mode 100644
index 00000000000..c49e25a4dc5
--- /dev/null
+++ b/pkgs/tools/misc/convmv/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, perl }:
+
+stdenv.mkDerivation rec {
+  name = "convmv-1.14";
+
+  src = fetchurl {
+    url = "http://www.j3e.de/linux/convmv/${name}.tar.gz";
+    sha256 = "1vvwrbys5kkfpn6kvn0sj3hls5v03d6gr7j7d5phbj8p9bigb5cn";
+  };
+
+  preBuild=''
+    makeFlags="PREFIX=$out"
+  '';
+
+  patchPhase=''
+    tar -xf testsuite.tar
+    patchShebangs .
+  '';
+
+  doCheck = true;
+  checkTarget = "test";
+
+  buildInputs = [ perl ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.all;
+    maintainers = [ maintainers.urkud ];
+  };
+}
diff --git a/pkgs/tools/misc/debootstrap/default.nix b/pkgs/tools/misc/debootstrap/default.nix
index 447c69b22e1..53027246b7f 100644
--- a/pkgs/tools/misc/debootstrap/default.nix
+++ b/pkgs/tools/misc/debootstrap/default.nix
@@ -1,24 +1,29 @@
-args: with args;
+{ stdenv, fetchurl, dpkg, gettext, gawk, perl, wget }:
 
-let devices = fetchurl {
+let
+
+  devices = fetchurl {
     url = mirror://gentoo/distfiles/devices.tar.gz;
     sha256 = "0j4yhajmlgvbksr2ij0dm7jy3q52j3wzhx2fs5lh05i1icygk4qd";
   };
+  
 in
 
 stdenv.mkDerivation {
-  name = "debotstrap-1.0.10lenny";
+  name = "debootstrap-1.0.10lenny";
 
   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";
   };
-  buildInputs = [dpkg gettext gawk perl];
+  
+  buildInputs = [ dpkg gettext gawk perl ];
 
   unpackPhase = ''
     dpkg-deb --extract "$src" .
   '';
+  
   buildPhase = ":";
 
   patches = [
@@ -80,12 +85,10 @@ stdenv.mkDerivation {
   */
 
   meta = { 
-    description = "create a debian system in a chroot easily.";
-    longDescription = "this way you can use debian packages we don't have in nixpkgs yet.
-      ";
+    description = "Tool to create a Debian system in a chroot";
     homepage = http://packages.debian.org/de/lenny/debootstrap; # http://code.erisian.com.au/Wiki/debootstrap
     license = "GPL-2"; # gentoo says so.. ?
-    maintainers = [args.lib.maintainers.marcweber];
-    platforms = args.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.marcweber ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/eProver/default.nix b/pkgs/tools/misc/eProver/default.nix
index 30353e122c1..ff92b235e09 100644
--- a/pkgs/tools/misc/eProver/default.nix
+++ b/pkgs/tools/misc/eProver/default.nix
@@ -1,4 +1,4 @@
-args: with args;
+{ stdenv, fetchurl, which, texLive }:
 
 stdenv.mkDerivation {
   name = "EProver-0.999";
diff --git a/pkgs/tools/misc/figlet/default.nix b/pkgs/tools/misc/figlet/default.nix
index b42919430dd..00265d1f31d 100644
--- a/pkgs/tools/misc/figlet/default.nix
+++ b/pkgs/tools/misc/figlet/default.nix
@@ -1,22 +1,22 @@
-args:
-args.stdenv.mkDerivation {
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
   name = "figlet-222";
 
   # some tools can be found here ftp://ftp.figlet.org/pub/figlet/util/
-  src = args.fetchurl {
+  src = fetchurl {
     url = ftp://ftp.figlet.org/pub/figlet/program/unix/figlet222.tar.gz;
     sha256 = "1y22hhwxhnwd6yrjgl5p3p44r22xzrhv9cksj58n85laac6jdfhs";
   };
 
-  buildInputs =(with args; []);
   preConfigure = ''
     ensureDir $out/{man/man6,bin}
     makeFlags="DESTDIR=$out/bin MANDIR=$out/man/man6 DEFAULTFONTDIR=$out/share/figlet"
   '';
 
   meta = { 
-      description="program for making large letters out of ordinary text";
-      homepage = http://www.figlet.org/;
-      license = "AFL-2.1";
+    description = "Program for making large letters out of ordinary text";
+    homepage = http://www.figlet.org/;
+    license = "AFL-2.1";
   };
 }
diff --git a/pkgs/tools/misc/findutils-wrapper/builder.sh b/pkgs/tools/misc/findutils-wrapper/builder.sh
deleted file mode 100644
index 6fc2eacd9c1..00000000000
--- a/pkgs/tools/misc/findutils-wrapper/builder.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-source $stdenv/setup
-source $makeWrapper
-
-makeWrapper "$findutils/bin/locate" "$out/bin/locate" \
---set LOCATE_PATH /var/locatedb
-
-makeWrapper "$findutils/bin/updatedb" "$out/bin/updatedb" \
---set LOCATE_DB /var/locatedb
-
-makeWrapper "$findutils/bin/find" "$out/bin/find"
-
-makeWrapper "$findutils/bin/xargs" "$out/bin/xargs"
diff --git a/pkgs/tools/misc/findutils-wrapper/default.nix b/pkgs/tools/misc/findutils-wrapper/default.nix
deleted file mode 100644
index cc9aa7acf63..00000000000
--- a/pkgs/tools/misc/findutils-wrapper/default.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{stdenv, findutils}:
-
-stdenv.mkDerivation {
-  name = findutils.name;
-
-  builder = ./builder.sh;
-  makeWrapper = ../../../build-support/make-wrapper/make-wrapper.sh;
-
-  inherit findutils;
-}
diff --git a/pkgs/tools/misc/fontforge/default.nix b/pkgs/tools/misc/fontforge/default.nix
index b9532510411..9402fad2287 100644
--- a/pkgs/tools/misc/fontforge/default.nix
+++ b/pkgs/tools/misc/fontforge/default.nix
@@ -1,12 +1,13 @@
 { stdenv, fetchurl, gettext, freetype, zlib
 , libungif, libpng, libjpeg, libtiff, libxml2
+, withX11 ? false
 , libX11 ? null, lib, xproto ? null, libXt ? null
 }:
 
 let 
   version = "20090408";
   name = "fontforge-${version}";
-  in
+in
 
 stdenv.mkDerivation {
   inherit name;
@@ -16,7 +17,7 @@ stdenv.mkDerivation {
     sha256 = "1s9a1mgbr5sv5jx6rdj2v3p6s52hgjr9wqd1aq57kn9whc8ny8y4";
   };
     
-  configureFlags = if libX11 != null then "--with-gui=gdraw" else "";
+  configureFlags = lib.optionalString withX11 "--with-gui=gdraw";
   
   preConfigure = ''
     unpackFile ${freetype.src}
@@ -30,9 +31,6 @@ stdenv.mkDerivation {
   '';
 
   buildInputs =
-    [gettext freetype zlib libungif libpng libjpeg libtiff libxml2]
-    ++ lib.optional (libX11 != null) libX11
-    ++ lib.optional (xproto != null) xproto
-    ++ lib.optional (libXt != null) libXt
-    ;
+    [ gettext freetype zlib libungif libpng libjpeg libtiff libxml2 ]
+    ++ lib.optionals withX11 [ libX11 xproto libXt ];
 }
diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix
index df805c10698..5cc8d54f393 100644
--- a/pkgs/tools/misc/gparted/default.nix
+++ b/pkgs/tools/misc/gparted/default.nix
@@ -1,4 +1,6 @@
-args: with args;
+{ stdenv, fetchurl, parted, gtk, glib, intltool, gettext, libuuid
+, pkgconfig, gtkmm, gnomedocutils, libxml2 }:
+
 stdenv.mkDerivation {
   name = "gparted-0.5.1";
 
@@ -9,12 +11,14 @@ stdenv.mkDerivation {
 
   configureFlags = "--disable-doc";
 
-  buildInputs = [parted gtk glib intltool gettext libuuid pkgconfig
-    gtkmm gnomedocutils libxml2];
+  buildInputs =
+    [ parted gtk glib intltool gettext libuuid pkgconfig gtkmm
+      gnomedocutils libxml2
+    ];
 
   meta = { 
-      description = "gui partition tool";
-      homepage = http://gparted.sourceforge.net;
-      license = "GPLv2";
+    description = "Graphical disk partitioning tool";
+    homepage = http://gparted.sourceforge.net;
+    license = "GPLv2";
   };
 }
diff --git a/pkgs/tools/misc/grub/1.9x.nix b/pkgs/tools/misc/grub/1.9x.nix
index b57a98dd5ba..25d56c28511 100644
--- a/pkgs/tools/misc/grub/1.9x.nix
+++ b/pkgs/tools/misc/grub/1.9x.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, bison, ncurses, libusb, freetype }:
+{ fetchurl, stdenv, bison, gettext, ncurses, libusb, freetype, qemu }:
 
 let unifont_bdf = fetchurl {
       url = "http://unifoundry.com/unifont-5.1.20080820.bdf.gz";
@@ -7,14 +7,34 @@ let unifont_bdf = fetchurl {
 in
 
 stdenv.mkDerivation rec {
-  name = "grub-1.97.2";
+  name = "grub-1.98";
 
   src = fetchurl {
     url = "ftp://alpha.gnu.org/gnu/grub/${name}.tar.gz";
-    sha256 = "0j8wdaq9r0ayfsz25lbq2k3q0iasq5cyldlip8jyq2g87iid5hcq";
+    sha256 = "05660x82y2rwrzm0d1c4z07fbh02qwmacsmbbav6fa855s4w3wmy";
   };
 
-  buildInputs = [ bison ncurses libusb freetype ];
+  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
@@ -32,7 +52,7 @@ stdenv.mkDerivation rec {
            -e "s|/usr/src/unifont.bdf|$PWD/unifont.bdf|g"
     '';
 
-  doCheck = true;
+  doCheck = false;
 
   meta = {
     description = "GNU GRUB, the Grand Unified Boot Loader (2.x alpha)";
diff --git a/pkgs/tools/misc/hddtemp/default.nix b/pkgs/tools/misc/hddtemp/default.nix
index 9f285a6cd51..202d28684d0 100644
--- a/pkgs/tools/misc/hddtemp/default.nix
+++ b/pkgs/tools/misc/hddtemp/default.nix
@@ -1,25 +1,28 @@
-args: with args;
+{ stdenv, fetchurl }:
+
 stdenv.mkDerivation {
   name = "hddtemp-0.3-beta15";
 
   db = fetchurl{
-              url = http://download.savannah.nongnu.org/releases/hddtemp/hddtemp.db;
-              sha256 = "1fr6qgns6qv7cr40lic5yqwkkc7yjmmgx8j0z6d93csg3smzhhya";
-       };
+    url = http://download.savannah.nongnu.org/releases/hddtemp/hddtemp.db;
+    sha256 = "1fr6qgns6qv7cr40lic5yqwkkc7yjmmgx8j0z6d93csg3smzhhya";
+  };
+  
   src = fetchurl {
-            url = http://download.savannah.nongnu.org/releases/hddtemp/hddtemp-0.3-beta15.tar.bz2;
-            sha256 = "0nzgg4nl8zm9023wp4dg007z6x3ir60rwbcapr9ks2al81c431b1";
+    url = http://download.savannah.nongnu.org/releases/hddtemp/hddtemp-0.3-beta15.tar.bz2;
+    sha256 = "0nzgg4nl8zm9023wp4dg007z6x3ir60rwbcapr9ks2al81c431b1";
   };
 
-  configurePhase = "
-    ensureDir \$out/nix-support
-    cp \$db \$out/nix-support/hddtemp.db
-    ./configure --prefix=\$out --with-db-path=\$out/nix-support/hddtemp.db
-  "; 
+  configurePhase =
+    ''
+      ensureDir $out/nix-support
+      cp $db $out/nix-support/hddtemp.db
+      ./configure --prefix=$out --with-db-path=$out/nix-support/hddtemp.db
+    ''; 
 
   meta = { 
-      description = "shows the harddisk temperature";
-      homepage = https://savannah.nongnu.org/projects/hddtemp/;
-      license = "GPL2";
+    description = "Tool for displaying hard disk temperature";
+    homepage = https://savannah.nongnu.org/projects/hddtemp/;
+    license = "GPL2";
   };
 }
diff --git a/pkgs/tools/misc/hdf5/bin-mv.patch b/pkgs/tools/misc/hdf5/bin-mv.patch
new file mode 100644
index 00000000000..45649977e56
--- /dev/null
+++ b/pkgs/tools/misc/hdf5/bin-mv.patch
@@ -0,0 +1,30 @@
+diff -rc hdf5-1.8.5/configure hdf5-1.8.5-new/configure
+*** hdf5-1.8.5/configure	2010-06-04 20:26:04.000000000 +0200
+--- hdf5-1.8.5-new/configure	2010-08-02 10:30:26.000000000 +0200
+***************
+*** 30587,30598 ****
+    sed 's/#define /#define H5_/' <src/H5config.h |\
+      sed 's/#undef /#undef H5_/' >pubconf
+    if test ! -f src/H5pubconf.h; then
+!     /bin/mv -f pubconf src/H5pubconf.h
+    elif (diff pubconf src/H5pubconf.h >/dev/null); then
+      rm -f pubconf
+      echo "src/H5pubconf.h is unchanged"
+    else
+!     /bin/mv -f pubconf src/H5pubconf.h
+    fi
+    echo "Post process src/libhdf5.settings"
+    sed '/^#/d' < src/libhdf5.settings > libhdf5.settings.TMP
+--- 30587,30598 ----
+    sed 's/#define /#define H5_/' <src/H5config.h |\
+      sed 's/#undef /#undef H5_/' >pubconf
+    if test ! -f src/H5pubconf.h; then
+!     mv -f pubconf src/H5pubconf.h
+    elif (diff pubconf src/H5pubconf.h >/dev/null); then
+      rm -f pubconf
+      echo "src/H5pubconf.h is unchanged"
+    else
+!     mv -f pubconf src/H5pubconf.h
+    fi
+    echo "Post process src/libhdf5.settings"
+    sed '/^#/d' < src/libhdf5.settings > libhdf5.settings.TMP
diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix
new file mode 100644
index 00000000000..e21b3945552
--- /dev/null
+++ b/pkgs/tools/misc/hdf5/default.nix
@@ -0,0 +1,25 @@
+
+{ stdenv
+, fetchurl
+}:
+stdenv.mkDerivation {
+  name = "hdf5";
+  src = fetchurl {
+    url = http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-1.8.5.tar.gz ;
+    sha256 = "0nykbpxg154akgp6va6fkab7kjvybbvpsr7n7i1l8xxmv3h3hbsa";  			
+  };
+  buildInputs = [] ;
+  
+  patches = [./bin-mv.patch];
+  
+  meta = {
+    description = "HDF5 is a data model, library, and file format for storing and managing data.";
+    longDescription = ''
+      It supports an unlimited variety of datatypes, and is designed for flexible and efficient 
+      I/O and for high volume and complex data. HDF5 is portable and is extensible, allowing 
+      applications to evolve in their use of HDF5. The HDF5 Technology suite includes tools and 
+      applications for managing, manipulating, viewing, and analyzing data in the HDF5 format.
+    '';
+    homepage = http://www.hdfgroup.org/HDF5/;
+  };
+}
diff --git a/pkgs/tools/misc/idutils/default.nix b/pkgs/tools/misc/idutils/default.nix
index a1ed9e9e449..00541c05339 100644
--- a/pkgs/tools/misc/idutils/default.nix
+++ b/pkgs/tools/misc/idutils/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, emacs }:
 
 stdenv.mkDerivation rec {
-  name = "idutils-4.2";
+  name = "idutils-4.5";
   
   src = fetchurl {
     url = "mirror://gnu/idutils/${name}.tar.gz";
-    sha256 = "16gsy7vrjax2zl4galwq03l0y97d18p0pyd5cccyc4i8y3mhwx65";
+    sha256 = "0j92k2dwg381kx2z556v9162l16mfra3xqbfcjrkdd2fw5jsgn2q";
   };
 
   buildInputs = stdenv.lib.optional stdenv.isLinux emacs;
@@ -39,6 +39,9 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = http://www.gnu.org/software/idutils/;
-    license = "GPLv2+";
+    license = "GPLv3+";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/tools/misc/idutils/nix-mapping.patch b/pkgs/tools/misc/idutils/nix-mapping.patch
index 43e7439e2f6..6f92ffa07b5 100644
--- a/pkgs/tools/misc/idutils/nix-mapping.patch
+++ b/pkgs/tools/misc/idutils/nix-mapping.patch
@@ -1,10 +1,12 @@
-diff --git a/libidu/id-lang.map b/libidu/id-lang.map
-index 7edb860..6dccd28 100644
---- a/libidu/id-lang.map
-+++ b/libidu/id-lang.map
-@@ -92,3 +92,5 @@ Makefile.*		make
- 
- *.gz			FILTER gzip -d <%s
- *.Z			FILTER gzip -d <%s
-+
+Recognize `.nix' files as text files.
+
+--- idutils-4.5/libidu/id-lang.map	2009-05-17 16:38:42.000000000 +0200
++++ idutils-4.5/libidu/id-lang.map	2010-07-04 15:52:48.000000000 +0200
+@@ -88,6 +88,7 @@ GNUmakefile		make
+ *.doc			text
+ *.txt			text
+ *.org			text
 +*.nix			text
+ 
+ *.m4			m4
+ *.ac			m4
diff --git a/pkgs/tools/misc/keychain/default.nix b/pkgs/tools/misc/keychain/default.nix
index 54c50c15d23..36b29083e08 100644
--- a/pkgs/tools/misc/keychain/default.nix
+++ b/pkgs/tools/misc/keychain/default.nix
@@ -1,24 +1,24 @@
-args:
-args.stdenv.mkDerivation {
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
   name = "keychain-2.6.6";
 
-  src = args.fetchurl {
+  src = fetchurl {
     url = http://gentoo.chem.wisc.edu/gentoo/distfiles/keychain-2.6.6.tar.bz2;
     sha256 = "10v0hzkgrb5cazm1gk0g4ncwp8sqvfk7xfyx59cjd69kzhbbn6ic";
   };
 
   phases = "unpackPhase buildPhase";
 
-  buildPhase ="
-    mkdir -p \$out/bin
-    cp keychain \$out/bin
-  ";
-
-  buildInputs =(with args; []);
+  buildPhase =
+    ''
+      mkdir -p $out/bin
+      cp keychain $out/bin
+    '';
 
   meta = { 
-      description = "tool starting ssh and gpg management tool";
-      homepage = "http://www.gentoo.org/proj/en/keychain/";
-      license = "GPL2";
+    description = "Keychain management tool";
+    homepage = "http://www.gentoo.org/proj/en/keychain/";
+    license = "GPL2";
   };
 }
diff --git a/pkgs/tools/misc/mysql2pgsql/default.nix b/pkgs/tools/misc/mysql2pgsql/default.nix
index 77ea33dc1e9..5d93ef44b36 100644
--- a/pkgs/tools/misc/mysql2pgsql/default.nix
+++ b/pkgs/tools/misc/mysql2pgsql/default.nix
@@ -1,16 +1,17 @@
-args:
+{ stdenv, fetchurl, perl, shebangfix }:
+
 # The homepage says this script is mature..
-args.stdenv.mkDerivation {
+stdenv.mkDerivation {
   name = "mysql2pgsql-0.0.1a";
 
-  src = args.fetchurl {
+  src = fetchurl {
     url = http://ftp.plusline.de/ftp.postgresql.org/projects/gborg/mysql2psql/devel/mysql2psql-0.0.1a.tgz;
     sha256 = "0dpbxf3kdvpihz9cisx6wi3zzd0cnifaqvjxavrbwm4k4sz1qamp";
   };
 
   phases = "unpackPhase installPhase";
 
-  buildInputs = with args; [ perl shebangfix ];
+  buildInputs = [ perl shebangfix ];
 
   installPhase = ''
     mkdir -p $out/bin;
@@ -20,8 +21,8 @@ args.stdenv.mkDerivation {
   '';
 
   meta = { 
-      description = "converts mysql dump files to psql loadable files ";
-      homepage = http://pgfoundry.org/projects/mysql2pgsql/;
-      license = "GPL";
+    description = "converts mysql dump files to psql loadable files ";
+    homepage = http://pgfoundry.org/projects/mysql2pgsql/;
+    license = "GPL";
   };
 }
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index 2526606adc2..f2223d5ce3e 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, perl }:
 
 stdenv.mkDerivation rec {
-  name = "parallel-20100424";
+  name = "parallel-20100620";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "0japyn4n044zpd88czsrfh4lyjmckih25jl671vby8v5mhk42vw4";
+    sha256 = "1hzdzvkm5cqciy6lhcbdzi4aar09fgsf0lfb4a89mnlq4xdmr8jj";
   };
 
   patchPhase =
diff --git a/pkgs/tools/misc/parted/default.nix b/pkgs/tools/misc/parted/default.nix
index 7e91873b46a..c4061949424 100644
--- a/pkgs/tools/misc/parted/default.nix
+++ b/pkgs/tools/misc/parted/default.nix
@@ -2,11 +2,11 @@
 , utillinuxng, xz }:
 
 stdenv.mkDerivation rec {
-  name = "parted-2.2";
+  name = "parted-2.3";
 
   src = fetchurl {
     url = "mirror://gnu/parted/${name}.tar.xz";
-    sha256 = "13gxq542lsm5jfq0kmrwgk4h61pcxy8s6rkqlw9qirqazsk9q9ik";
+    sha256 = "0sabj81nawcjm8ww34lxg65ka8crv3w2ab4crh8ypw5agg681836";
   };
 
   buildInputs = [ xz libuuid gettext readline libuuid devicemapper ];
diff --git a/pkgs/tools/misc/partition-manager/default.nix b/pkgs/tools/misc/partition-manager/default.nix
index 20f88acaed7..fd8abf7caf3 100644
--- a/pkgs/tools/misc/partition-manager/default.nix
+++ b/pkgs/tools/misc/partition-manager/default.nix
@@ -1,4 +1,4 @@
-args: with args; with kde;
+{ stdenv, fetchurl, cmake, gettext, parted, libuuid, qt, kde, perl }:
 
 stdenv.mkDerivation {
   name = "partitionmanager-1.0.0";
@@ -8,8 +8,8 @@ stdenv.mkDerivation {
     sha256 = "03ibn4vns7pa0ygkp2jh6zcdy106as5cc7p6rv1f5c15wxx0zsk1";
   };
 
-  buildInputs = [cmake gettext parted libuuid
-      qt kdelibs kdebase automoc4 perl phonon];
+  buildInputs =
+    [ cmake gettext parted libuuid qt kde.kdelibs kde.kdebase kde.automoc4 perl kde.phonon ];
 
   preConfigure = ''
     export VERBOSE=1
@@ -25,10 +25,9 @@ stdenv.mkDerivation {
   '';
 
   meta = { 
-    description = "utility program to help you manage the disk devices";
+    description = "Utility program to help you manage the disk devices";
     homepage = http://www.kde-apps.org/content/show.php/KDE+Partition+Manager?content=89595; # ?
     license = "GPL";
-    #maintainers = [args.lib.maintainers.marcweber];
-    platforms = args.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/proxytunnel/default.nix b/pkgs/tools/misc/proxytunnel/default.nix
index f587437b5da..f5be7b8a46d 100644
--- a/pkgs/tools/misc/proxytunnel/default.nix
+++ b/pkgs/tools/misc/proxytunnel/default.nix
@@ -1,19 +1,20 @@
-args:
-args.stdenv.mkDerivation {
+{ stdenv, fetchurl, openssl }:
+
+stdenv.mkDerivation {
   name = "proxytunnel-1.9.0";
 
-  src = args.fetchurl {
+  src = fetchurl {
     url = mirror://sourceforge/proxytunnel/proxytunnel-1.9.0.tgz;
     sha256 = "1fd644kldsg14czkqjybqh3wrzwsp3dcargqf4fjkpqxv3wbpx9f";
   };
 
-  buildInputs =(with args; [openssl]);
+  buildInputs = [ openssl ];
 
-  installPhase=''make DESTDIR="$out" PREFIX="" install'';
+  installPhase = ''make DESTDIR="$out" PREFIX="" install'';
 
   meta = {
-      description = "program that connects stdin and stdout to a server somewhere on the network, through a standard HTTPS proxy";
-      homepage = http://proxytunnel.sourceforge.net/download.php;
-      license = "GPLv2";
+    description = "program that connects stdin and stdout to a server somewhere on the network, through a standard HTTPS proxy";
+    homepage = http://proxytunnel.sourceforge.net/download.php;
+    license = "GPLv2";
   };
 }
diff --git a/pkgs/tools/misc/rlwrap/0.28.nix b/pkgs/tools/misc/rlwrap/0.28.nix
deleted file mode 100644
index 1b9bbb995ac..00000000000
--- a/pkgs/tools/misc/rlwrap/0.28.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-args : with args; with builderDefs;
-	let localDefs = builderDefs.passthru.function {
-		src = /* put a fetchurl here */
-		fetchurl {
-			url = ftp://ftp.chg.ru/mirrors/ftp.freebsd.org/pub/FreeBSD/ports/distfiles/rlwrap-0.28.tar.gz;
-			sha256 = "07jzhcqzb8jsmsscc28dk4md7swnhn3vyai5fpxwdj6a1kbn4y3p";
-		};
-
-		buildInputs = [readline ];
-		configureFlags = [];
-	};
-	in with localDefs;
-stdenv.mkDerivation rec {
-	name = "rlwrap-0.28";
-	builder = writeScript (name + "-builder")
-		(textClosure localDefs 
-			[doConfigure doMakeInstall doForceShare doPropagate]);
-	meta = {
-		description = "Readline wrapper for console programs";
-		inherit src;
-	};
-}
diff --git a/pkgs/tools/misc/rlwrap/default.nix b/pkgs/tools/misc/rlwrap/default.nix
new file mode 100644
index 00000000000..7402209960d
--- /dev/null
+++ b/pkgs/tools/misc/rlwrap/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, readline }:
+
+stdenv.mkDerivation rec {
+  name = "rlwrap-0.37";
+
+  src = fetchurl {
+    url = "http://utopia.knoware.nl/~hlub/uck/rlwrap/${name}.tar.gz";
+    sha256 = "1gcb95i839pwn9a3phs2wq7bwz9f6v8sydq6lf9y4gm3hk0s40w4";
+  };
+
+  buildInputs = [ readline ];
+
+  meta = {
+    description = "Readline wrapper for console programs";
+    homepage = http://utopia.knoware.nl/~hlub/uck/rlwrap/;
+  };
+}
diff --git a/pkgs/tools/misc/shebangfix/default.nix b/pkgs/tools/misc/shebangfix/default.nix
index ca4a0004d19..082b04b95d7 100644
--- a/pkgs/tools/misc/shebangfix/default.nix
+++ b/pkgs/tools/misc/shebangfix/default.nix
@@ -1,4 +1,5 @@
-args: with args;
+{ stdenv, perl }:
+
 stdenv.mkDerivation {
   name = "shebangfix-0.0";
 
diff --git a/pkgs/tools/misc/slsnif/default.nix b/pkgs/tools/misc/slsnif/default.nix
index cc9f1f6f0dc..c861fc6f73a 100644
--- a/pkgs/tools/misc/slsnif/default.nix
+++ b/pkgs/tools/misc/slsnif/default.nix
@@ -1,17 +1,16 @@
-args:
-args.stdenv.mkDerivation {
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
   name = "slsnif-0.4.4";
 
-  src = args.fetchurl {
+  src = fetchurl {
     url = mirror://sourceforge/slsnif/slsnif-0.4.4.tar.gz;
     sha256 = "0gn8c5hj8m3sywpwdgn6w5xl4rzsvg0z7d2w8dxi6p152j5b0pii";
   };
 
-  buildInputs =(with args; []);
-
   meta = { 
-      description = "serial line sniffer";
-      homepage = http://slsnif.sourceforge.net/;
-      license = "GPLv2";
+    description = "Serial line sniffer";
+    homepage = http://slsnif.sourceforge.net/;
+    license = "GPLv2";
   };
 }
diff --git a/pkgs/tools/misc/timidity/default.nix b/pkgs/tools/misc/timidity/default.nix
index e92b5a1cd2b..4fae21250ca 100644
--- a/pkgs/tools/misc/timidity/default.nix
+++ b/pkgs/tools/misc/timidity/default.nix
@@ -1,6 +1,8 @@
-args: with args;
-let inherit (args.composableDerivation) composableDerivation edf; in
-composableDerivation {} {
+{ composableDerivation, stdenv, fetchurl, alsaLib, jackaudio, ncurses }:
+
+let inherit (composableDerivation) edf; in
+
+composableDerivation.composableDerivation {} {
 
   name = "timidity-2.13.0";
 
@@ -9,8 +11,6 @@ composableDerivation {} {
     sha256 = "1jbmk0m375fh5nj2awqzns7pdjbi7dxpjdwcix04zipfcilppbmf";
   };
 
-  buildInputs = [];
-
   mergeAttrBy.audioModes = a : b : "${a},${b}";
 
   preConfigure = ''
@@ -57,7 +57,6 @@ composableDerivation {} {
 
   meta = {
     description = "A software MIDI renderer";
-    maintainers = [args.lib.maintainers.marcweber];
+    maintainers = [ stdenv.lib.maintainers.marcweber ];
   };
-
 }
diff --git a/pkgs/tools/misc/ttf2pt1/default.nix b/pkgs/tools/misc/ttf2pt1/default.nix
index 870c5b1e121..c112afaee0f 100644
--- a/pkgs/tools/misc/ttf2pt1/default.nix
+++ b/pkgs/tools/misc/ttf2pt1/default.nix
@@ -1,4 +1,5 @@
-args: with args;
+{ stdenv, fetchurl, perl, freetype }:
+
 stdenv.mkDerivation {
   name = "ttf2pt1-3.4.4";
 
@@ -17,12 +18,13 @@ stdenv.mkDerivation {
     makeFlags="INSTDIR=$out OWNER=`id -u`"
   '';
 
-  buildInputs = [freetype];
+  buildInputs = [ freetype ];
+  
   patches = ./gentoo-makefile.patch; # also contains the freetype patch
 
   meta = { 
-      description = "True Type to Postscript Type 3 converter, fpdf";
-      homepage = "http://ttf2pt1.sourceforge.net/index.html";
-      license = "ttf2pt1";
+    description = "True Type to Postscript Type 3 converter, fpdf";
+    homepage = "http://ttf2pt1.sourceforge.net/index.html";
+    license = "ttf2pt1";
   };
 }
diff --git a/pkgs/tools/misc/w3c-css-validator/default.nix b/pkgs/tools/misc/w3c-css-validator/default.nix
index dd4e8bbfd9a..93231397feb 100644
--- a/pkgs/tools/misc/w3c-css-validator/default.nix
+++ b/pkgs/tools/misc/w3c-css-validator/default.nix
@@ -1,11 +1,9 @@
-args: with args;
+{ stdenv, fetchurl, sourceFromHead, apacheAnt, tomcat, jre }:
 
 let 
 
-    inherit (args.stdenv) lib;
-
-    sources = [
-      (fetchurl {
+  sources =
+    [ (fetchurl {
         name = "jigsaw_2.2.6.tar.gz";
         url="http://jigsaw.w3.org/Distrib/jigsaw_2.2.6.tar.gz";
         sha256 = "01cjpqjcs8gbvvzy0f488cb552f9b38hvwr97wydglrzndmcwypd";
@@ -20,7 +18,6 @@ let
         url="http://www.apache.org/dist/commons/lang/binaries/commons-lang-2.4-bin.tar.gz";
         sha256 = "0phwlgnvwj3n3j1aka2pkm0biacvgs72qc0ldir6s69i9qbv7rh0";
       })
-
       (fetchurl {
         name = "velocity-1.6.1.tar.gz";
         url="http://www.apache.org/dist/velocity/engine/1.6.1/velocity-1.6.1.tar.gz";
@@ -35,7 +32,7 @@ let
 
 in
 
-stdenv.mkDerivation  {
+stdenv.mkDerivation {
   name = "w3c-css-validator";
 
   # REGION AUTO UPDATE:       { name="w3c-css-validator"; type="cvs"; cvsRoot=":pserver:anonymous:anonymous@dev.w3.org:/sources/public"; module="2002/css-validator"; }
@@ -43,14 +40,14 @@ stdenv.mkDerivation  {
                (fetchurl { url = "http://mawercer.de/~nix/repos/w3c-css-validator-F_17-52-37.tar.gz"; sha256 = "b6f05d4812eaa464906d101242689effa8b5516d32d6420315740a77d8ee11fd"; });
   # END
 
-  buildInputs = [apacheAnt];
+  buildInputs = [ apacheAnt ];
 
   # prepare target downloads dependency .tar.gz into tmp
   # note: There is a .war as well which could be deployed to tomcat
   installPhase = ''
     cd css-validator
     mkdir tmp
-    ${ lib.concatStringsSep "\n" (map (src: "tar xfz ${src} -C tmp") sources) }
+    ${ stdenv.lib.concatStringsSep "\n" (map (src: "tar xfz ${src} -C tmp") sources) }
     sed -i -e 's@<property name="servlet.lib" value=".*"/>@<property name="servlet.lib" value="${tomcat}/lib/servlet-api.jar"/>@' \
           -e '/dest="tmp\//d' \
           -e '/untar/d' \
@@ -68,12 +65,12 @@ stdenv.mkDerivation  {
   '';
 
   meta = {
-      description = "w3c CSS validator";
-      homepage = http://dev.w3.org/cvsweb/2002/css-validator/;
-      # dependencies ship their own license files
-      # I think all .java files are covered by this license (?)
-      license = "w3c"; # http://www.w3.org/Consortium/Legal/ 
-      maintainers = [args.lib.maintainers.marcweber];
-      platforms = args.lib.platforms.linux;
+    description = "W3C CSS validator";
+    homepage = http://dev.w3.org/cvsweb/2002/css-validator/;
+    # dependencies ship their own license files
+    # I think all .java files are covered by this license (?)
+    license = "w3c"; # http://www.w3.org/Consortium/Legal/ 
+    maintainers = [ stdenv.lib.maintainers.marcweber ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/wv/default.nix b/pkgs/tools/misc/wv/default.nix
index 361a7b927b1..dbb46cea832 100644
--- a/pkgs/tools/misc/wv/default.nix
+++ b/pkgs/tools/misc/wv/default.nix
@@ -1,4 +1,5 @@
-args: with args;
+{ stdenv, fetchurl, zlib, imagemagick, libpng, glib, pkgconfig, libgsf
+, libxml2, bzip2 }:
 
 stdenv.mkDerivation {
   name = "wv-1.2.4";
@@ -8,7 +9,7 @@ stdenv.mkDerivation {
     sha256 = "1mn2ax6qjy3pvixlnvbkn6ymy6y4l2wxrr4brjaczm121s8hjcb7";
   };
 
-  buildInputs = [zlib imagemagick libpng glib pkgconfig libgsf libxml2 bzip2];
+  buildInputs = [ zlib imagemagick libpng glib pkgconfig libgsf libxml2 bzip2 ];
 
   meta = {
     description = "Converter from Microsoft Word formats to human-editable ones";
diff --git a/pkgs/tools/misc/xburst-tools/default.nix b/pkgs/tools/misc/xburst-tools/default.nix
new file mode 100644
index 00000000000..2408a1cd35c
--- /dev/null
+++ b/pkgs/tools/misc/xburst-tools/default.nix
@@ -0,0 +1,42 @@
+{stdenv, fetchgit, libusb, autoconf, automake, confuse
+, gccCross ? null}:
+
+let
+  version = "2010-07-29";
+in
+stdenv.mkDerivation {
+  name = "xburst-tools-${version}";
+
+  src = fetchgit {
+    url = git://projects.qi-hardware.com/xburst-tools.git;
+    rev = "00be212db22643ad602eaf60b30eb943f119e78d";
+    sha256 = "66ea1a81b71bad599d76691f07a986f9bb2ccecf397e8486b661d8baace3460e";
+  };
+
+  prePatch = ''
+    find . -name Makefile* -exec sed -i \
+      -e s/mipsel-openwrt-linux-/mipsel-unknown-linux-/ {} \;
+  '';
+
+  patches = [ ./gcc-4.4.patch ];
+
+  preConfigure = ''
+    sh autogen.sh
+  '';
+
+  configureFlags = if gccCross != null then "--enable-firmware" else "";
+
+  # Not to strip cross build binaries (this is for the gcc-cross-wrapper)
+  dontCrossStrip = true;
+
+  buildInputs = [ libusb autoconf automake confuse ] ++
+    stdenv.lib.optional (gccCross != null) gccCross;
+
+  meta = {
+    description = "Qi tools to access the Ben Nanonote USB_BOOT mode";
+    license = "GPLv3";
+    homepage = http://www.linux-mtd.infradead.org/;
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/tools/misc/xburst-tools/gcc-4.4.patch b/pkgs/tools/misc/xburst-tools/gcc-4.4.patch
new file mode 100644
index 00000000000..79b7be3d34f
--- /dev/null
+++ b/pkgs/tools/misc/xburst-tools/gcc-4.4.patch
@@ -0,0 +1,12 @@
+diff --git a/xbboot/host-app/host_main.c b/xbboot/host-app/host_main.c
+index 8835869..0d6fcc0 100644
+--- a/xbboot/host-app/host_main.c
++++ b/xbboot/host-app/host_main.c
+@@ -9,6 +9,7 @@
+ //
+ 
+ #include <stdio.h>
++#include <stdint.h>
+ #include <string.h>
+ #include <usb.h>
+ #include <time.h>
diff --git a/pkgs/tools/misc/xclip/default.nix b/pkgs/tools/misc/xclip/default.nix
index e751b9aa177..ae9fed67117 100644
--- a/pkgs/tools/misc/xclip/default.nix
+++ b/pkgs/tools/misc/xclip/default.nix
@@ -1,4 +1,5 @@
-args: with args;
+{ stdenv, fetchurl, x11, libXmu }:
+
 stdenv.mkDerivation {
   name = "xclip-0.11";
 
@@ -7,11 +8,11 @@ stdenv.mkDerivation {
     sha256 = "0ipwxkfqz66fz6jlln1v46sd2kr6bkqzq6j5hkzn6pb3grmzsacg";
   };
 
-  buildInputs = [x11 libXmu];
+  buildInputs = [ x11 libXmu ];
 
   meta = { 
-      description = "access X clipboard from this console application";
-      homepage = http://people.debian.org/~kims/xclip/;
-      license = "GPL-2";
+    description = "Tool to access the X clipboard from a console application";
+    homepage = http://people.debian.org/~kims/xclip/;
+    license = "GPL-2";
   };
 }
diff --git a/pkgs/tools/networking/bsd-finger/default.nix b/pkgs/tools/networking/bsd-finger/default.nix
index d627235494b..fc29af989ce 100644
--- a/pkgs/tools/networking/bsd-finger/default.nix
+++ b/pkgs/tools/networking/bsd-finger/default.nix
@@ -1,17 +1,20 @@
-args: with args;
+{ stdenv, fetchurl }:
+
+# !!! Duplication: this package is almost exactly the same as `bsd-finger'.
+
 stdenv.mkDerivation rec {
-	name = "bsd-finger-0.17";
+  name = "bsd-finger-0.17";
 
-	src = fetchurl {
-		url = "ftp://ftp.metalab.unc.edu/pub/linux/system/network/finger/${name}.tar.gz";
-		sha256 = "1yhkiv0in588il7f84k2xiy78g9lv12ll0y7047gazhiimk5v244";
-	};
+  src = fetchurl {
+    url = "ftp://ftp.metalab.unc.edu/pub/linux/system/network/finger/${name}.tar.gz";
+    sha256 = "1yhkiv0in588il7f84k2xiy78g9lv12ll0y7047gazhiimk5v244";
+  };
 
-	NIX_CFLAGS_COMPILE="-D_GNU_SOURCE";
+  NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE";
 
-	patches = [./ubuntu-0.17-9.patch];
+  patches = [ ./ubuntu-0.17-9.patch ];
 
-	preBuild = "cd finger";
+  preBuild = "cd finger";
 
-	preInstall = '' ensureDir $out/man/man1 $out/bin '';
+  preInstall = '' ensureDir $out/man/man1 $out/bin '';
 }
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index 0cfd6adef86..7d545e8c7fb 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -1,14 +1,18 @@
-{stdenv, fetchurl, zlibSupport ? false, zlib ? null, sslSupport ? false, openssl ? null, linkStatic ? false}:
+{ stdenv, fetchurl
+, zlibSupport ? false, zlib ? null
+, sslSupport ? false, openssl ? null
+, linkStatic ? false
+}:
 
 assert zlibSupport -> zlib != null;
 assert sslSupport -> openssl != null;
 
 stdenv.mkDerivation rec {
-  name = "curl-7.19.7";
+  name = "curl-7.21.0";
   
   src = fetchurl {
     url = "http://curl.haxx.se/download/${name}.tar.bz2";
-    sha256 = "0w2aqlms289jzpkymg14k00iay2pq9al3rlc43b3n7j0wd5gj58s";
+    sha256 = "1fl7sh38i746b57aqjqjaykwq4rhm2p1phzrgnc2h6wm2k2b95gy";
   };
   
   # Zlib and OpenSSL must be propagated because `libcurl.la' contains
diff --git a/pkgs/tools/networking/dhcp/default.nix b/pkgs/tools/networking/dhcp/default.nix
index 14dccbe6896..49a2de6e08f 100644
--- a/pkgs/tools/networking/dhcp/default.nix
+++ b/pkgs/tools/networking/dhcp/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, nettools, iputils, iproute, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "dhcp-4.1.0p1";
+  name = "dhcp-4.1.1-P1";
   
   src = fetchurl {
     url = "http://ftp.isc.org/isc/dhcp/${name}.tar.gz";
-    sha256 = "0il966bcls7nfd93qfqrgvd2apkm0kv7pk35lnl1nvbm7fyrik7z";
+    sha256 = "1nk36bk7yiqaj779czvlbxjs6jfn53qw7601171nx5mird806r1g";
   };
 
   patches =
diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix
index fec96d06ea3..f7c881b1859 100644
--- a/pkgs/tools/networking/dnsmasq/default.nix
+++ b/pkgs/tools/networking/dnsmasq/default.nix
@@ -1,4 +1,5 @@
-args: with args;
+{ stdenv, fetchurl }:
+
 stdenv.mkDerivation {
   name = "dnsmasq-2.40";
 
@@ -10,8 +11,8 @@ stdenv.mkDerivation {
   installPhase = "ensureDir \$out/bin; make DESTDIR= BINDIR=\$out/bin MANDIR=\$out/man LOCALEDIR=\$out/share/locale install"; 
 
   meta = { 
-      description = "DNS forwarder and DHCP server";
-      homepage = http://www.thekelleys.org.uk/dnsmasq/doc.html;
-      license = "GPL";
-    };
+    description = "DNS forwarder and DHCP server";
+    homepage = http://www.thekelleys.org.uk/dnsmasq/doc.html;
+    license = "GPL";
+  };
 }
diff --git a/pkgs/tools/networking/gftp/default.nix b/pkgs/tools/networking/gftp/default.nix
index 852e6a25e90..e6b5cd9daab 100644
--- a/pkgs/tools/networking/gftp/default.nix
+++ b/pkgs/tools/networking/gftp/default.nix
@@ -1,4 +1,5 @@
-args: with args;
+{ stdenv, fetchurl, gtk, readline, ncurses, gettext, openssl, pkgconfig }:
+
 stdenv.mkDerivation {
   name = "gftp-2.0.19";
 
@@ -10,8 +11,8 @@ stdenv.mkDerivation {
   buildInputs = [ gtk readline ncurses gettext openssl pkgconfig ];
 
   meta = { 
-      description = "GTK based FTP client";
-      homepage = http://www.gftp.org;
-      license = "GPLv2+";
+    description = "GTK+-based FTP client";
+    homepage = http://www.gftp.org;
+    license = "GPLv2+";
   };
 }
diff --git a/pkgs/tools/networking/iodine/default.nix b/pkgs/tools/networking/iodine/default.nix
index 9ce1731eb76..86430d3865c 100644
--- a/pkgs/tools/networking/iodine/default.nix
+++ b/pkgs/tools/networking/iodine/default.nix
@@ -1 +1,22 @@
-import ./iodine-0.4.1.nix
+{ stdenv, fetchurl, zlib, nettools }:
+
+stdenv.mkDerivation rec {
+  name = "iodine-0.4.1";
+
+  src = fetchurl {
+    url = "http://code.kryo.se/iodine/${name}.tar.gz";
+    sha256 = "1d0v6wbrciwd0xi9khrna956v5wy7wy1inllzrn187as358kiiv5";
+  };
+
+  buildInputs = [ zlib ];
+
+  patchPhase = ''sed -i "s,/sbin/ifconfig,${nettools}/sbin/ifconfig,; s,/sbin/route,${nettools}/sbin/route," src/tun.c'';
+
+  installFlags = "prefix=\${out}";
+
+  meta = {
+    homepage = http://code.kryo.se/iodine/;
+    description = "Tool to tunnel IPv4 data through a DNS server";
+    license = "ISC";
+  };
+}
diff --git a/pkgs/tools/networking/iodine/iodine-0.4.1.nix b/pkgs/tools/networking/iodine/iodine-0.4.1.nix
deleted file mode 100644
index e20c86debe3..00000000000
--- a/pkgs/tools/networking/iodine/iodine-0.4.1.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-args: with args;
-stdenv.mkDerivation rec {
-  name = "iodine-0.4.1";
-
-  src = fetchurl {
-    url = "http://code.kryo.se/iodine/${name}.tar.gz";
-    sha256 = "1d0v6wbrciwd0xi9khrna956v5wy7wy1inllzrn187as358kiiv5";
-  };
-
-  buildInputs = [zlib];
-
-  patchPhase = ''sed -i "s,/sbin/ifconfig,${nettools}/sbin/ifconfig,; s,/sbin/route,${nettools}/sbin/route," src/tun.c'';
-
-  installFlags = "prefix=\${out}";
-
-  meta = {
-    homepage = http://code.kryo.se/iodine/;
-    description = "iodine lets you tunnel IPv4 data through a DNS server.";
-    license = "ISC";
-  };
-}
diff --git a/pkgs/tools/networking/iperf/default.nix b/pkgs/tools/networking/iperf/default.nix
index e799e5118f9..1cb984e3d1c 100644
--- a/pkgs/tools/networking/iperf/default.nix
+++ b/pkgs/tools/networking/iperf/default.nix
@@ -1,14 +1,13 @@
-args: with args;
+{ stdenv, fetchurl }:
+
 stdenv.mkDerivation {
   name = "iperf-2.0.4";
 
-  src = args.fetchurl {
+  src = fetchurl {
     url = http://garr.dl.sourceforge.net/sourceforge/iperf/iperf-2.0.4.tar.gz;
     sha256 = "0i3r75prbyxs56rngjbrag8rg480ki3daaa924krrafng30z2liv";
   };
 
-#buildInputs =(with args; []);
-
   meta = {
     homepage = ""; 
     description = "tool to measure IP bandwidth using UDP or TCP";
diff --git a/pkgs/tools/networking/nbd/default.nix b/pkgs/tools/networking/nbd/default.nix
index dd6339ae105..551d2109f28 100644
--- a/pkgs/tools/networking/nbd/default.nix
+++ b/pkgs/tools/networking/nbd/default.nix
@@ -1,20 +1,27 @@
 {stdenv, fetchurl, pkgconfig, glib}:
 
 stdenv.mkDerivation rec {
-  name = "nbd-2.9.13";
-  meta = {
-    homepage = "http://nbd.sourceforge.net";
-    description = "map arbitrary files as block devices over the network";
-    license = "GPLv2";
-  };
+  name = "nbd-2.9.15";
+
   src = fetchurl {
     url = "mirror://sourceforge/nbd/${name}.tar.bz2";
-    sha256 = "d83da56a97ae70c6c52c994a64e960eaae0664fcadf1fc30f4c9f68c00d19da1";
+    sha256 = "26e2ef18cc2f214d666eef1cfb31df1ba8ee6eaa78390afd6d18f2cce9c0c704";
   };
+
   buildInputs = [pkgconfig glib];
 
   # Link this package statically to generate an nbd-server binary that
   # has no dynamic dependencies and that can be used on (non-Nix) remote
   # machines that have a different setup than the local one.
   configureFlags = "LDFLAGS=-static";
+
+  postInstall = ''install -D -m 444 README "$out/share/doc/nbd/README"'';
+
+  meta = {
+    homepage = "http://nbd.sourceforge.net";
+    description = "map arbitrary files as block devices over the network";
+    license = "GPLv2";
+    maintainers = [ stdenv.lib.maintainers.simons  ];
+    platforms = stdenv.lib.platforms.gnu;
+  };
 }
diff --git a/pkgs/tools/networking/nc6/1.0.nix b/pkgs/tools/networking/nc6/1.0.nix
deleted file mode 100644
index 5cba3ae017c..00000000000
--- a/pkgs/tools/networking/nc6/1.0.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-args : with args; with builderDefs;
-let localDefs = builderDefs.passthru.function (rec {
-    src = /* put a fetchurl here */
-    fetchurl {
-      url = ftp://ftp.deepspace6.net/pub/ds6/sources/nc6/nc6-1.0.tar.bz2;
-      sha256 = "01l28zv1yal58ilfnz6albdzqqxzsx3a58vmc14r9gv0bahffdgb";
-    };
-
-    buildInputs = [];
-    configureFlags = [];
-    });
-in with localDefs;
-stdenv.mkDerivation rec {
-  name = "nc6-1.0";
-  builder = writeScript (name + "-builder")
-    (textClosure localDefs 
-     [doConfigure doMakeInstall doForceShare doPropagate]);
-  meta = {
-    description = "A netcat implementation with IPv6 support";
-    homepage = "http://www.deepspace6.net/projects/netcat6.html";
-    inherit src;
-  };
-}
-
diff --git a/pkgs/tools/networking/nc6/default.nix b/pkgs/tools/networking/nc6/default.nix
new file mode 100644
index 00000000000..348fc2e26a6
--- /dev/null
+++ b/pkgs/tools/networking/nc6/default.nix
@@ -0,0 +1,15 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
+  name = "nc6-1.0";
+
+  src = fetchurl {
+    url = ftp://ftp.deepspace6.net/pub/ds6/sources/nc6/nc6-1.0.tar.bz2;
+    sha256 = "01l28zv1yal58ilfnz6albdzqqxzsx3a58vmc14r9gv0bahffdgb";
+  };
+
+  meta = {
+    description = "A netcat implementation with IPv6 support";
+    homepage = http://www.deepspace6.net/projects/netcat6.html;
+  };
+}
diff --git a/pkgs/tools/networking/offlineimap/default.nix b/pkgs/tools/networking/offlineimap/default.nix
index fe9225d73fb..70db2a9d991 100644
--- a/pkgs/tools/networking/offlineimap/default.nix
+++ b/pkgs/tools/networking/offlineimap/default.nix
@@ -1,11 +1,11 @@
 {fetchurl, buildPythonPackage}:
 
 buildPythonPackage {
-  name = "offlineimap-6.2.0";
+  name = "offlineimap-6.2.0.1";
 
   src = fetchurl {
-    url = "http://software.complete.org/software/attachments/download/413/offlineimap_6.2.0.orig.tar.gz";
-    sha256 = "057pcz2291mdpkjyrwdzxfg831337sg7bbqyxmwfy42k7np5bdi4";
+    url = "http://ftp.de.debian.org/debian/pool/main/o/offlineimap/offlineimap_6.2.0.1.tar.gz";
+    sha256 = "16s7whlw7vix54dil2ri871vyggr742agykk950lnlixcv66gyhn";
   };
 
   doCheck = false;
diff --git a/pkgs/tools/networking/p2p/amule/default.nix b/pkgs/tools/networking/p2p/amule/default.nix
index 68bf5baa333..eafa51fb4f2 100644
--- a/pkgs/tools/networking/p2p/amule/default.nix
+++ b/pkgs/tools/networking/p2p/amule/default.nix
@@ -1,7 +1,17 @@
-{ fetchurl, stdenv, zlib, wxGTK, perl, cryptopp, libupnp, gettext
+{ monolithic ? true # build monolithic amule
+, daemon ? false # build amule daemon
+, httpServer ? false # build web interface for the daemon
+, client ? false # build amule remote gui 
+, fetchurl, stdenv, zlib, wxGTK, perl, cryptopp, libupnp, gettext, libpng ? null
 , pkgconfig, makeWrapper }:
 
-stdenv.mkDerivation rec {
+assert httpServer -> libpng != null;
+with stdenv;
+let
+  # Enable/Disable Feature
+  edf = enabled: flag: if enabled then "--enable-" + flag else "--disable-" + flag;
+in 
+mkDerivation rec {
   name = "aMule-2.2.6";
 
   src = fetchurl {
@@ -10,9 +20,18 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ zlib wxGTK perl cryptopp libupnp gettext pkgconfig makeWrapper ];
+    [ zlib wxGTK perl cryptopp libupnp gettext pkgconfig makeWrapper ]
+    ++ lib.optional httpServer libpng;
 
-  configureFlags = "--with-crypto-prefix=${cryptopp}";
+  configureFlags = ''
+    --with-crypto-prefix=${cryptopp}
+    --disable-debug
+    --enable-optimize
+    ${edf monolithic "monolithic"}
+    ${edf daemon "amule-daemon"}
+    ${edf client "amule-gui"}
+    ${edf httpServer "webserver"}
+  '';
 
   postConfigure = ''
     sed -i "src/libs/ec/file_generator.pl"     \
@@ -21,9 +40,8 @@ stdenv.mkDerivation rec {
 
   # aMule will try to `dlopen' libupnp and libixml, so help it
   # find them.
-  postInstall = ''
-    wrapProgram "$out/bin/amule" \
-      --prefix LD_LIBRARY_PATH ":" "${libupnp}/lib"
+  postInstall = lib.optionalString monolithic ''
+    wrapProgram "$out/bin/amule" --prefix LD_LIBRARY_PATH ":" "${libupnp}/lib"
   '';
 
   meta = {
@@ -44,6 +62,6 @@ stdenv.mkDerivation rec {
     license = "GPLv2+";
 
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.phreedom ];
   };
 }
diff --git a/pkgs/tools/networking/p2p/libtorrent/default.nix b/pkgs/tools/networking/p2p/libtorrent/default.nix
index 52729f78766..b1456c0666e 100644
--- a/pkgs/tools/networking/p2p/libtorrent/default.nix
+++ b/pkgs/tools/networking/p2p/libtorrent/default.nix
@@ -1,13 +1,14 @@
-args: with args;
-stdenv.mkDerivation ( rec {
+{ stdenv, fetchurl, pkgconfig, openssl, libsigcxx }:
+
+stdenv.mkDerivation rec {
   pname = "libtorrent";
-  version = "0.12.5";
+  version = "0.12.6";
 
   name = "${pname}-${version}";
   
   src = fetchurl {
     url = "http://libtorrent.rakshasa.no/downloads/${name}.tar.gz";
-    sha256 = "1hcxc9aalkswb1v6ww8yf0a8dfc449g6cghndhbj0m9rzl6gfqz9";
+    sha256 = "0abisz3jgfv4zmyzbsknzvz9hwakxxpdgfl33qk0aslnchqz60kv";
   };
 
   buildInputs = [ pkgconfig openssl libsigcxx ];
@@ -15,4 +16,4 @@ stdenv.mkDerivation ( rec {
   meta = {
     description = "A BitTorrent library written in C++ for *nix, with a focus on high performance and good code";
   };
-})
+}
diff --git a/pkgs/tools/networking/p2p/rtorrent/default.nix b/pkgs/tools/networking/p2p/rtorrent/default.nix
index 019cf4c6973..eee5b5acbaa 100644
--- a/pkgs/tools/networking/p2p/rtorrent/default.nix
+++ b/pkgs/tools/networking/p2p/rtorrent/default.nix
@@ -1,13 +1,15 @@
-args: with args;
-stdenv.mkDerivation ( rec {
+{ stdenv, fetchurl, libtorrent, ncurses, pkgconfig, libsigcxx, curl
+, zlib, openssl }:
+
+stdenv.mkDerivation rec {
   pname = "rtorrent";
-  version = "0.8.5";
+  version = "0.8.6";
 
   name = "${pname}-${version}";
   
   src = fetchurl {
     url = "http://libtorrent.rakshasa.no/downloads/${name}.tar.gz";
-    sha256 = "0ra6k0avh85fx1rr6wldxy6ns5p0np4c5dc7wsjqycg9f8brkihf";
+    sha256 = "1nrj1cgjhscf40zhp70m4p6gq96rqg815dn43yyjl5i42n7cd5lc";
   };
 
   buildInputs = [ libtorrent ncurses pkgconfig libsigcxx curl zlib openssl ];
@@ -15,4 +17,4 @@ stdenv.mkDerivation ( rec {
   meta = {
     description = "An ncurses client for libtorrent, ideal for use with screen or dtach";
   };
-})
+}
diff --git a/pkgs/tools/networking/p2p/seeks/default.nix b/pkgs/tools/networking/p2p/seeks/default.nix
new file mode 100644
index 00000000000..83f9b74e11a
--- /dev/null
+++ b/pkgs/tools/networking/p2p/seeks/default.nix
@@ -0,0 +1,49 @@
+{ fetchurl, stdenv, zlib, docbook2x, pcre, curl, libxml2, libevent, perl
+, autoconf, automake, libtool }:
+
+let version = "0.2.3a"; in
+stdenv.mkDerivation {
+  name = "seeks-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/seeks/solo/seeks_solo_stable-${version}.src.tar.gz";
+    sha256 = "0hjaqwcaa19qbq28y5gq0415fz10vx034aghqa01hrhhl9yrjvc4";
+  };
+
+  buildInputs =
+    [ zlib docbook2x pcre curl libxml2 libevent perl
+      autoconf automake libtool
+    ];
+
+  # The tarball doesn't contain `configure' & co.  Sigh...
+  preConfigure = "autoreconf -vfi";
+
+  configureFlags =
+    [ # Enable the built-in web server providing a web search interface.
+      # See <http://www.seeks-project.info/wiki/index.php/Seeks_On_Web>.
+      "--enable-httpserv-plugin=yes"
+      "--with-libevent=${libevent}"
+    ];
+
+  meta = {
+    description = "Seeks, a social web search engine";
+
+    longDescription =
+      '' Seeks is a free and open technical design and application for
+         enabling social websearch.  Its specific purpose is to regroup users
+         whose queries are similar so they can share both the query results
+         and their experience on these results.  On this basis, Seeks allows
+         for true real-time, decentralized, websearch to emerge.
+
+         In the long term, there is no need for web crawlers and third-party
+         web indexes as users can push content directly to search groups.
+      '';
+
+    license = "AGPLv3+";
+
+    homepage = http://www.seeks-project.info/;
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+  };
+}
diff --git a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
index 5a3374fbef0..d111d459aba 100644
--- a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
+++ b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
@@ -1,14 +1,19 @@
 { fetchurl, lib, unzip, buildPythonPackage, twisted, foolscap, nevow
 , simplejson, zfec, pycryptopp, pysqlite, darcsver, setuptoolsTrial
-, setuptoolsDarcs, numpy, nettools }:
+, setuptoolsDarcs, numpy, nettools, pycrypto, pyasn1, mock }:
+
+# FAILURES: The "running build_ext" phase fails to compile Twisted
+# plugins, because it tries to write them into Twisted's (immutable)
+# store path. The problem appears to be non-fatal, but there's probably
+# some loss of functionality because of it.
 
 buildPythonPackage (rec {
-  name = "tahoe-lafs-1.6.1";
+  name = "tahoe-lafs-1.7.1";
   namePrefix = "";
 
   src = fetchurl {
-    url = "http://allmydata.org/source/tahoe/releases/allmydata-tahoe-1.6.1.zip";
-    sha256 = "1b0m1fj1lrd9kvlavd6303jjgvzasj6rnlwhdysn4i2zqriv8d9f";
+    url = "http://allmydata.org/source/tahoe/releases/allmydata-tahoe-1.7.1.zip";
+    sha256 = "7e676e1ea517b3f6f6f76d56f712e72a5c2d4287fdd474abc9523aa533fd9038";
   };
 
   patches = [ ./test-timeout.patch ];
@@ -39,12 +44,12 @@ buildPythonPackage (rec {
   '';
 
   buildInputs = [ unzip ]
-    ++ [ numpy ]; # Some tests want this
+    ++ [ numpy ]; # Some tests want this + http://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-dep-sdists/mock-0.6.0.tar.bz2
 
   # The `backup' command requires `pysqlite'.
   propagatedBuildInputs =
     [ twisted foolscap nevow simplejson zfec pycryptopp pysqlite
-      darcsver setuptoolsTrial
+      darcsver setuptoolsTrial setuptoolsDarcs pycrypto pyasn1 mock
     ];
 
   # The test suite is run in `postInstall'.
@@ -82,7 +87,7 @@ buildPythonPackage (rec {
 
     license = [ "GPLv2+" /* or */ "TGPPLv1+" ];
 
-    maintainers = [ lib.maintainers.ludo ];
+    maintainers = [ lib.maintainers.ludo lib.maintainers.simons  ];
     platforms = lib.platforms.gnu;  # arbitrary choice
   };
 })
diff --git a/pkgs/tools/networking/stun/default.nix b/pkgs/tools/networking/stun/default.nix
index 8023175c52a..65a1d241c0b 100644
--- a/pkgs/tools/networking/stun/default.nix
+++ b/pkgs/tools/networking/stun/default.nix
@@ -1,4 +1,5 @@
-args: with args;
+{ stdenv, fetchurl }:
+
 stdenv.mkDerivation {
   name = "stun-0.96.dfsg-5";
 
@@ -26,11 +27,10 @@ stdenv.mkDerivation {
   };
 
   meta = {
-    description = "stun server and test client";
-    longDescription = "eg useful to debug voip trouble";
+    description = "Stun server and test client";
     homepage = http://sourceforge.net/projects/stun/;
     license = "Vovida 1.0"; # See any header file.
-    maintainers = [args.lib.maintainers.marcweber];
-    platforms = args.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.marcweber ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/tcng/default.nix b/pkgs/tools/networking/tcng/default.nix
index e0f66df830d..dd2082d30b2 100644
--- a/pkgs/tools/networking/tcng/default.nix
+++ b/pkgs/tools/networking/tcng/default.nix
@@ -1,4 +1,4 @@
-args: with args;
+{ stdenv, fetchurl, bison, flex, db4, perl, kernel, iproute }:
 
 # tcc can even compile kernel modules for speed reason.
 # that would be a nice use case to test!
@@ -10,7 +10,7 @@ args: with args;
 
 let version = "10b"; in
 
-args.stdenv.mkDerivation {
+stdenv.mkDerivation {
 
   name = "tcng-${version}";
 
@@ -19,13 +19,14 @@ args.stdenv.mkDerivation {
     sha256 = "1xjs0yn90rfa8ibxybg3gab1xzcjg60njymq2bd1b0a9i0arx7ji";
   };
 
-  iproute2Src=iproute.src;
+  iproute2Src = iproute.src;
 
-  patches = [
-    (fetchurl {
-      url = mirror://debian/pool/main/t/tcng/tcng_10b-2.diff.gz;
-      sha256 = "17i4s2ffif0k4b78gfhkp08lvvharbfvyhwbd0vkwgpria0b9zrd";
-    })];
+  patches =
+    [ (fetchurl {
+        url = mirror://debian/pool/main/t/tcng/tcng_10b-2.diff.gz;
+        sha256 = "17i4s2ffif0k4b78gfhkp08lvvharbfvyhwbd0vkwgpria0b9zrd";
+      })
+    ];
   
   # one mailinglist post says you should just add your kernel version to the list.. (?)
   patchPhase = ''
@@ -38,7 +39,6 @@ args.stdenv.mkDerivation {
     find . -type f | xargs sed -i 's@/lib/cpp@cpp@g'
   '';
 
-
   # gentoo ebulid says tcsim doesn't compile with 2.6 headers..
   # DATADIR can still be overridden by env TOPDIR=...
   # Don't know whats it for except including the default .tc files
@@ -55,12 +55,11 @@ args.stdenv.mkDerivation {
     --with-tcsim
   '';
 
-
   # hacky, how to enable building tcc the correct way?
   # adding shared and tcc to SUBDIRS and run make again isn't nice but works
   buildPhase = ''
     sed -i 's@^\(SUBDIRS.*\)@\1 shared tcc@' Makefile 
-    make;
+    make
   '';
 
   # manually copy tcc and include files.. see comment above
@@ -71,16 +70,11 @@ args.stdenv.mkDerivation {
     cp tcc/*.tc $out/lib/tcng/include
   '';
 
-  buildInputs =(with args; [bison flex db4 perl]);
+  buildInputs = [ bison flex db4 perl ];
 
   meta = { 
-      description="tcng - Traffic Control Next Generation";
-      homepage = "http://tcng.sourceforge.net/";
-      license = "GPLv2";
-      longDescription = ''
-        useful links: http://linux-ip.net/articles/Traffic-Control-HOWTO,
-        http://blog.edseek.com/~jasonb/articles/traffic_shaping/
-        tcng language: http://linux-ip.net/gl/tcng/node9.html tcng language
-      '';
+    description = "tcng - Traffic Control Next Generation";
+    homepage = "http://tcng.sourceforge.net/";
+    license = "GPLv2";
   };
 }
diff --git a/pkgs/tools/package-management/cabal-install/0.8.2.nix b/pkgs/tools/package-management/cabal-install/0.8.2.nix
new file mode 100644
index 00000000000..e739f806e6c
--- /dev/null
+++ b/pkgs/tools/package-management/cabal-install/0.8.2.nix
@@ -0,0 +1,13 @@
+{cabal, HTTP, network, zlib} :
+
+cabal.mkDerivation (self : {
+  pname = "cabal-install";
+  name = self.fname;
+  version = "0.8.2"; # Haskell Platform 2010.2.0.0
+  sha256 = "8f896ab46ec6c578f620ce4150f7cd04a2088be793113b33cc570b13b6b86e0b";
+  extraBuildInputs = [HTTP network zlib];
+
+  meta = {
+    description = "The command-line interface for Cabal and Hackage";
+  };
+})
diff --git a/pkgs/tools/package-management/dpkg/default.nix b/pkgs/tools/package-management/dpkg/default.nix
index e10abe9ac81..2ffacb08479 100644
--- a/pkgs/tools/package-management/dpkg/default.nix
+++ b/pkgs/tools/package-management/dpkg/default.nix
@@ -1,11 +1,13 @@
 {stdenv, fetchurl, perl, zlib, bzip2}:
 
+let version = "1.14.29"; in
+
 stdenv.mkDerivation {
-  name = "dpkg-1.14.28";
-  
+  name = "dpkg-${version}";
+
   src = fetchurl {
-    url = mirror://debian/pool/main/d/dpkg/dpkg_1.14.28.tar.gz;
-    sha256 = "1k3h1rv2qd6ha6mpifhjkpasd4dzr8l45jvc49p7fldqm4nzyixc";
+    url = "mirror://debian/pool/main/d/dpkg/dpkg_${version}.tar.gz";
+    sha256 = "0cynms4vziy957r4zskybbid87sz99vrfy8d999vlhxgc74c2zpa";
   };
 
   configureFlags = "--without-dselect --with-admindir=/var/lib/dpkg";
@@ -26,7 +28,7 @@ stdenv.mkDerivation {
     substituteInPlace dpkg-split/Makefile.in --replace "install-data-local:" "disabled:"
   '';
 
-  buildInputs = [perl zlib bzip2];
+  buildInputs = [ perl zlib bzip2 ];
 
   meta = {
     description = "The Debian package manager";
diff --git a/pkgs/tools/package-management/nix/sqlite.nix b/pkgs/tools/package-management/nix/sqlite.nix
index d62352d0790..8fe65ad3936 100644
--- a/pkgs/tools/package-management/nix/sqlite.nix
+++ b/pkgs/tools/package-management/nix/sqlite.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "nix-0.16pre22073";
+  name = "nix-0.16pre22378";
 
   src = fetchurl {
-    url = "http://hydra.nixos.org/build/429995/download/4/${name}.tar.bz2";
-    sha256 = "90caa59a2b09acc0fdd3951e2751105adf4051ca307a3060c4063aa8b75df752";
+    url = "http://hydra.nixos.org/build/467032/download/4/${name}.tar.bz2";
+    sha256 = "1bd3645da0bc03b70e4b0d687c6c0868bb1522b01b6acf4af858556f8f21ee57";
   };
 
   buildInputs = [ perl curl openssl ];
diff --git a/pkgs/tools/pydb/default.nix b/pkgs/tools/pydb/default.nix
index 07d9545529b..7aa2d57955f 100644
--- a/pkgs/tools/pydb/default.nix
+++ b/pkgs/tools/pydb/default.nix
@@ -1,22 +1,23 @@
-args:
-args.stdenv.mkDerivation {
+{ stdenv, fetchurl, python, emacs }:
+
+stdenv.mkDerivation {
   name = "pydb-1.26";
 
-  src = args.fetchurl {
+  src = fetchurl {
     url =  "mirror://sourceforge.net/sourceforge/bashdb/pydb-1.26.tar.bz2";
     sha256 = "1wlkz1hd5d4gkzhkjkzcm650c1lchj28hj36jx96mklglm41h4q1";
   };
 
-  buildInputs =(with args; [python emacs /* emacs is optional */]);
+  buildInputs = [ python emacs /* emacs is optional */ ];
 
   preConfigure = ''
     p="$(toPythonPath $out)"
-    configureFlags="$configureFlags --with-python=${args.python}/bin/python --with-site-packages=$p"
+    configureFlags="$configureFlags --with-python=${python}/bin/python --with-site-packages=$p"
   '';
 
   meta = { 
-      description = "python debugger with gdb like commands and emacs bindings";
-      homepage = http://bashdb.sourceforge.net/pydb/;
-      license = "GPLv3";
+    description = "Python debugger with GDB-like commands and Emacs bindings";
+    homepage = http://bashdb.sourceforge.net/pydb/;
+    license = "GPLv3";
   };
 }
diff --git a/pkgs/tools/security/nmap/default.nix b/pkgs/tools/security/nmap/default.nix
index 4a5627072ca..46966835e14 100644
--- a/pkgs/tools/security/nmap/default.nix
+++ b/pkgs/tools/security/nmap/default.nix
@@ -3,7 +3,7 @@
 , pycairo, pysqlite
 }:
   
-stdenv.mkDerivation (rec {
+stdenv.mkDerivation rec {
   name = "nmap-5.21";
 
   src = fetchurl {
@@ -11,11 +11,20 @@ stdenv.mkDerivation (rec {
     sha256 = "1fmh05iamynmr8zic3bja6dr0pfiwp0hr2nc2wpiqm2pc7w29jwz";
   };
 
-  postInstall =''
-    wrapProgram $out/bin/zenmap --prefix PYTHONPATH : "$(toPythonPath $out)" --prefix PYTHONPATH : "$PYTHONPATH" --prefix PYTHONPATH : $(toPythonPath ${pygtk})/gtk-2.0 --prefix PYTHONPATH : $(toPythonPath ${pygobject})/gtk-2.0 --prefix PYTHONPATH : $(toPythonPath ${pycairo})/gtk-2.0
-  '';
+  patches =
+    [ (fetchurl {
+        url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-analyzer/nmap/files/nmap-5.21-openssl-1.patch?revision=1.1";
+        sha256 = "0q0kgwvg5b770xpp31a5a3lxh8d5ik6d5bv11nlh3syd78q6f08y";
+      })
+    ];
 
-  buildInputs = [
-    libpcap libX11 gtk pkgconfig openssl python pygtk makeWrapper pysqlite
-  ];
-})
+  patchFlags = "-p0";
+
+  postInstall =
+    ''
+      wrapProgram $out/bin/zenmap --prefix PYTHONPATH : "$(toPythonPath $out)" --prefix PYTHONPATH : "$PYTHONPATH" --prefix PYTHONPATH : $(toPythonPath ${pygtk})/gtk-2.0 --prefix PYTHONPATH : $(toPythonPath ${pygobject})/gtk-2.0 --prefix PYTHONPATH : $(toPythonPath ${pycairo})/gtk-2.0
+    '';
+
+  buildInputs =
+    [ libpcap libX11 gtk pkgconfig openssl python pygtk makeWrapper pysqlite ];
+}
diff --git a/pkgs/tools/security/pius/default.nix b/pkgs/tools/security/pius/default.nix
new file mode 100644
index 00000000000..5939037abfe
--- /dev/null
+++ b/pkgs/tools/security/pius/default.nix
@@ -0,0 +1,46 @@
+{ fetchurl, stdenv, python, gnupg }:
+
+let version = "2.0.7"; in
+stdenv.mkDerivation {
+  name = "pius-${version}";
+  namePrefix = "";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/pgpius/pius/${version}/pius-${version}.tar.bz2";
+    sha256 = "1iyd3z96vp2g7r6s1v34x3vpxikkcy60f15d84r0qla373zl4xd8";
+  };
+
+  buildInputs = [ python ];
+
+  patchPhase =
+    '' sed -i "pius" -e's|/usr/bin/gpg|${gnupg}/bin/gpg2|g'
+    '';
+
+  buildPhase = "true";
+
+  installPhase =
+    '' ensureDir "$out/bin"
+       cp -v pius "$out/bin"
+
+       ensureDir "$out/doc/pius-${version}"
+       cp -v README "$out/doc/pius-${version}"
+    '';
+
+  meta = {
+    homepage = http://www.phildev.net/pius/;
+
+    description = "PGP Individual UID Signer (PIUS), quickly and easily sign UIDs on a set of PGP keys";
+
+    longDescription =
+      '' This software will allow you to quickly and easily sign each UID on
+         a set of PGP keys.  It is designed to take the pain out of the
+         sign-all-the-keys part of PGP Keysigning Party while adding security
+         to the process.
+      '';
+
+    license = "GPLv2";
+
+    platforms = stdenv.lib.platforms.gnu;
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+  };
+}
diff --git a/pkgs/tools/security/ssss/0.5.nix b/pkgs/tools/security/ssss/0.5.nix
deleted file mode 100644
index 15288361baf..00000000000
--- a/pkgs/tools/security/ssss/0.5.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-args : with args; with builderDefs;
-	let localDefs = builderDefs.passthru.function (rec {
-		src = /* put a fetchurl here */
-		fetchurl {
-			url = http://point-at-infinity.org/ssss/ssss-0.5.tar.gz;
-			sha256 = "15grn2fp1x8p92kxkwbmsx8rz16g93y9grl3hfqbh1jn21ama5jx";
-		};
-
-		buildInputs = [gmp];
-		configureFlags = [];
-		doPatch = fullDepEntry (''
-			sed -e s@/usr/@$out/@g -i Makefile
-			cp ssss.manpage.xml ssss.1
-			cp ssss.manpage.xml ssss.1.html
-			ensureDir $out/bin $out/share/man/man1
-			echo -e 'install:\n\tcp ssss-combine ssss-split '"$out"'/bin' >>Makefile
-		'') ["minInit" "doUnpack" "defEnsureDir"];
-	});
-	in with localDefs;
-stdenv.mkDerivation rec {
-	name = "ssss-0.5";
-	builder = writeScript (name + "-builder")
-		(textClosure localDefs 
-			["doPatch" doMakeInstall doForceShare doPropagate]);
-	meta = {
-		description = "Shamir Secret Sharing Scheme";
-		inherit src;
-	};
-}
diff --git a/pkgs/tools/security/ssss/default.nix b/pkgs/tools/security/ssss/default.nix
new file mode 100644
index 00000000000..3816df415c6
--- /dev/null
+++ b/pkgs/tools/security/ssss/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, gmp }:
+
+stdenv.mkDerivation rec {
+  name = "ssss-0.5";
+
+  src = fetchurl {
+    url = http://point-at-infinity.org/ssss/ssss-0.5.tar.gz;
+    sha256 = "15grn2fp1x8p92kxkwbmsx8rz16g93y9grl3hfqbh1jn21ama5jx";
+  };
+
+  buildInputs = [ gmp ];
+
+  preBuild =
+    ''
+      sed -e s@/usr/@$out/@g -i Makefile
+      cp ssss.manpage.xml ssss.1
+      cp ssss.manpage.xml ssss.1.html
+      ensureDir $out/bin $out/share/man/man1
+      echo -e 'install:\n\tcp ssss-combine ssss-split '"$out"'/bin' >>Makefile
+    '';
+
+  meta = {
+    description = "Shamir Secret Sharing Scheme";
+    homepage = http://point-at-infinity.org/ssss/;
+  };
+}
diff --git a/pkgs/tools/system/fcron/default.nix b/pkgs/tools/system/fcron/default.nix
index 6ad363d2d55..233a0c39d17 100644
--- a/pkgs/tools/system/fcron/default.nix
+++ b/pkgs/tools/system/fcron/default.nix
@@ -2,51 +2,55 @@
 # restart using 'killall -TERM fcron; fcron -b
 # use convert-fcrontab to update fcrontab files
 
-args:
-args.stdenv.mkDerivation {
+{ stdenv, fetchurl, perl }:
+
+stdenv.mkDerivation {
   name = "fcron-3.0.4";
 
-  src = args.fetchurl {
+  src = fetchurl {
     url = http://fcron.free.fr/archives/fcron-3.0.4.src.tar.gz;
     sha256 = "15kgphsfa0nqgjd8yxyz947x2xyljj4iyh298kw4c8bz6iznqxn8";
   };
 
-  buildInputs =(with args; [perl]);
-
-  configureFlags = [ "--with-sendmail=/var/setuid-wrappers/sendmail"
-                    "--with-editor=/var/run/current-system/sw/bin/vi"
-                    "--with-bootinstall=no"
-                    "--sysconfdir=/etc"
-                    # fcron would have been default user/grp
-                    "--with-username=root"
-                    "--with-groupname=root"
-                    # fcron must not try to verify that sendmail has already been installed int /var/setuid-wrappers/sendmail
-                    "--disable-checks"
-                  ];
+  buildInputs = [ perl ];
+
+  configureFlags =
+    [ "--with-sendmail=/var/setuid-wrappers/sendmail"
+      "--with-editor=/var/run/current-system/sw/bin/vi"
+      "--with-bootinstall=no"
+      "--sysconfdir=/etc"
+      # fcron would have been default user/grp
+      "--with-username=root"
+      "--with-groupname=root"
+      # fcron must not try to verify that sendmail has already been installed int /var/setuid-wrappers/sendmail
+      "--disable-checks"
+    ];
+    
   installTargets = "install-staged"; # install does also try to change permissions of /etc/* files
-  preConfigure = ''
-    sed -i 's@/usr/bin/env perl@${args.perl}/bin/perl@g' configure script/*
-    # Don't let fcron create the group fcron, nix(os) should do this
-    sed -i '2s@.*@exit 0@' script/user-group
-
-    # --with-bootinstall=no shoud do this, didn't work. So just exit the script before doing anything
-    sed -i '2s@.*@exit 0@' script/boot-install
-
-    # also don't use chown or chgrp for documentation (or whatever) when installing
-    find -type f | xargs sed -i -e 's@^\(\s\)*chown@\1:@' -e 's@^\(\s\)*chgrp@\1:@'
-
-  '';
-
-  patchPhase = ''
-    # don't try to create /etc/fcron.{allow,deny,conf} 
-
-    sed -i -e 's@test -f $(DESTDIR)$(ETC)/fcron.conf @ # @' \
-           -e 's@if test ! -f $(DESTDIR)$(ETC)/fcron.allow@ # @' Makefile.in
-  '';
+  
+  preConfigure =
+    ''
+      sed -i 's@/usr/bin/env perl@${perl}/bin/perl@g' configure script/*
+      # Don't let fcron create the group fcron, nix(os) should do this
+      sed -i '2s@.*@exit 0@' script/user-group
+
+      # --with-bootinstall=no shoud do this, didn't work. So just exit the script before doing anything
+      sed -i '2s@.*@exit 0@' script/boot-install
+
+      # also don't use chown or chgrp for documentation (or whatever) when installing
+      find -type f | xargs sed -i -e 's@^\(\s\)*chown@\1:@' -e 's@^\(\s\)*chgrp@\1:@'
+    '';
+
+  patchPhase =
+    ''
+      # don't try to create /etc/fcron.{allow,deny,conf} 
+      sed -i -e 's@test -f $(DESTDIR)$(ETC)/fcron.conf @ # @' \
+             -e 's@if test ! -f $(DESTDIR)$(ETC)/fcron.allow@ # @' Makefile.in
+    '';
 
   meta = { 
-      description="A command scheduler with extended capabilities over cron and anacron";
-      homepage =  http://fcron.free.fr;
-      license = "GPLv2";
+    description="A command scheduler with extended capabilities over cron and anacron";
+    homepage = http://fcron.free.fr;
+    license = "GPLv2";
   };
 }
diff --git a/pkgs/tools/system/gdmap/0.7.5.nix b/pkgs/tools/system/gdmap/0.7.5.nix
deleted file mode 100644
index ef07df5bf8d..00000000000
--- a/pkgs/tools/system/gdmap/0.7.5.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-args : with args;
-	let localDefs = builderDefs {
-		src = /* put a fetchurl here */
-		fetchurl {
-			url = http://dfn.dl.sourceforge.net/sourceforge/gdmap/gdmap-0.7.5.tar.gz;
-			sha256 = "0vxfgz1bq0jvny6dy7dkzg2kl56plrxby6c4y5d6bv4bq2xd6v26";
-		};
-
-		buildInputs = [gtk pkgconfig libxml2 intltool];
-		configureFlags = [];
-	} null; /* null is a terminator for sumArgs */
-	in with localDefs;
-stdenv.mkDerivation rec {
-	name = "gdmap"+version;
-	builder = writeScript (name + "-builder")
-		(textClosure localDefs [doConfigure doMakeInstall doForceShare doPropagate]);
-	meta = {
-		description = "Recursive rectangle map of disk usage";
-		inherit src;
-	};
-}
diff --git a/pkgs/tools/system/gdmap/0.8.1.nix b/pkgs/tools/system/gdmap/0.8.1.nix
deleted file mode 100644
index 73d3ff92323..00000000000
--- a/pkgs/tools/system/gdmap/0.8.1.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-args : with args;
-	let localDefs = builderDefs.passthru.function {
-		src = /* put a fetchurl here */
-		fetchurl {
-		    url = http://downloads.sourceforge.net/gdmap/gdmap-0.8.1.tar.gz;
-		    sha256 = "0nr8l88cg19zj585hczj8v73yh21k7j13xivhlzl8jdk0j0cj052";
-		};
-
-		buildInputs = [gtk pkgconfig libxml2 intltool gettext];
-		configureFlags = [];
-	};
-	in with localDefs;
-stdenv.mkDerivation rec {
-	name = "gdmap-0.8.1";
-	builder = writeScript (name + "-builder")
-		(textClosure localDefs [doConfigure doMakeInstall doForceShare doPropagate]);
-	meta = {
-		description = "Recursive rectangle map of disk usage";
-		inherit src;
-	};
-}
diff --git a/pkgs/tools/system/gdmap/default.nix b/pkgs/tools/system/gdmap/default.nix
new file mode 100644
index 00000000000..f361e862b63
--- /dev/null
+++ b/pkgs/tools/system/gdmap/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchurl, gtk, pkgconfig, libxml2, intltool, gettext }:
+
+stdenv.mkDerivation {
+  name = "gdmap-0.8.1";
+  
+  src = fetchurl {
+    url = http://downloads.sourceforge.net/gdmap/gdmap-0.8.1.tar.gz;
+    sha256 = "0nr8l88cg19zj585hczj8v73yh21k7j13xivhlzl8jdk0j0cj052";
+  };
+
+  buildInputs = [ gtk pkgconfig libxml2 intltool gettext ];
+
+  meta = {
+    description = "Recursive rectangle map of disk usage";
+  };
+}
diff --git a/pkgs/tools/system/mcron/default.nix b/pkgs/tools/system/mcron/default.nix
index 3c14d207a56..2b4f28fa868 100644
--- a/pkgs/tools/system/mcron/default.nix
+++ b/pkgs/tools/system/mcron/default.nix
@@ -1,17 +1,19 @@
 { fetchurl, stdenv, guile, which, ed }:
 
 stdenv.mkDerivation rec {
-  name = "mcron-1.0.4";
+  name = "mcron-1.0.6";
 
   src = fetchurl {
     url = "mirror://gnu/mcron/${name}.tar.gz";
-    sha256 = "0wrpi9qj50a8wfslapnkmsr6d3qx40hfw57a022m1z1syiljq4xl";
+    sha256 = "0yvrfzzdy2m7fbqkr61fw01wd9r2jpnbyabxhcsfivgxywknl0fy";
   };
 
   patches = [ ./install-vixie-programs.patch ];
 
   buildInputs = [ guile which ed ];
 
+  doCheck = true;
+
   meta = {
     description = "GNU mcron, a flexible implementation of `cron' in Guile";
 
diff --git a/pkgs/tools/system/mcron/install-vixie-programs.patch b/pkgs/tools/system/mcron/install-vixie-programs.patch
index 98cdb6d142c..d268ecb4a0a 100644
--- a/pkgs/tools/system/mcron/install-vixie-programs.patch
+++ b/pkgs/tools/system/mcron/install-vixie-programs.patch
@@ -1,22 +1,23 @@
 This patch allows us to install the Vixie-compatible binaries as
-non-root.
+non-root without creating /var/run, etc.
 
---- mcron-1.0.4/makefile.in	2008-02-21 20:55:24.000000000 +0100
-+++ mcron-1.0.4/makefile.in	2009-04-03 20:18:44.000000000 +0200
-@@ -872,15 +872,11 @@ mcron.c : main.scm crontab.scm makefile.
+--- mcron-1.0.6/makefile.in	2010-06-19 20:44:17.000000000 +0200
++++ mcron-1.0.6/makefile.in	2010-07-04 16:16:25.000000000 +0200
+@@ -1004,15 +1004,11 @@ mcron.c : main.scm crontab.scm makefile.
  	@rm -f mcron.escaped.scm > /dev/null 2>&1
  
  install-exec-hook:
--	@if [ "`id -u`" -eq "0" ]; then \
-+	@if true; then \
- 	   rm -f $(fpp)cron$(EXEEXT) > /dev/null 2>&1; \
- 	   $(INSTALL) --mode='u=rwx' mcron$(EXEEXT) $(fpp)cron$(EXEEXT); \
- 	   rm -f $(fpp)crontab$(EXEEXT) > /dev/null 2>&1; \
- 	   $(INSTALL) --mode='u=rwxs,og=rx' mcron$(EXEEXT) $(fpp)crontab$(EXEEXT); \
--	   ./mkinstalldirs -m 'u=rwx' /var/cron; \
--	   ./mkinstalldirs -m 'u=rwx,og=rx' /var/run; \
--	   ./mkinstalldirs -m 'u=rwx,og=rx' @GUILE_SITE@; \
--	   ./mkinstalldirs -m 'u=rwx,og=rx' @GUILE_SITE@/mcron; \
+-	@if [ "x@NO_VIXIE_CLOBBER@" != "xyes"   -a   "`id -u`" -eq "0" ]; then \
++	@if [ "x@NO_VIXIE_CLOBBER@" != "xyes" ]; then \
+        rm -f $(fpp)cron$(EXEEXT) > /dev/null 2>&1; \
+        $(INSTALL) --mode='u=rwx' mcron$(EXEEXT) $(fpp)cron$(EXEEXT); \
+        rm -f $(fpp)crontab$(EXEEXT) > /dev/null 2>&1; \
+        $(INSTALL) --mode='u=rwxs,og=rx' mcron$(EXEEXT) $(fpp)crontab$(EXEEXT); \
+-       $(INSTALL) -d --mode='u=rwx' $(DESTDIR)/var/cron; \
+-       $(INSTALL) -d --mode='u=rwx,og=rx' $(DESTDIR)/var/run; \
+-       $(INSTALL) -d --mode='u=rwx,og=rx' $(DESTDIR)@GUILE_SITE@; \
+-       $(INSTALL) -d --mode='u=rwx,og=rx' $(DESTDIR)@GUILE_SITE@/mcron; \
+     elif [ "x@NO_VIXIE_CLOBBER@" = "xyes" ]; then \
+        echo "Not installing Vixie-style programs"; \
      else \
-        echo "+++ WARNING: NON-ROOT INSTALL: ONLY mcron WILL BE INSTALLED, NOT ANY OF THE VIXIE REPLACEMENT PROGRAMS"; \
- 	fi
+
diff --git a/pkgs/tools/system/pciutils/default.nix b/pkgs/tools/system/pciutils/default.nix
index 0c933967113..563521429a8 100644
--- a/pkgs/tools/system/pciutils/default.nix
+++ b/pkgs/tools/system/pciutils/default.nix
@@ -1,19 +1,19 @@
-{stdenv, fetchurl, zlib}:
+{ stdenv, fetchurl, zlib }:
 
-stdenv.mkDerivation {
-  name = "pciutils-3.1.2";
+stdenv.mkDerivation rec {
+  name = "pciutils-3.1.7";
   
   src = fetchurl {
-    url = mirror://kernel/software/utils/pciutils/pciutils-3.1.2.tar.bz2;
-    sha256 = "15wksvqcgdj0hvsp5irc1igiqid69rrzpc33qj9nlyssvyw40vpn";
+    url = "mirror://kernel/software/utils/pciutils/${name}.tar.bz2";
+    sha256 = "0i7mqf1fkmdqsawdk2badv6k3xrkryq0i2xknclvy6kcjsv27znq";
   };
   
-  buildInputs = [zlib];
+  buildInputs = [ zlib ];
 
   pciids = fetchurl {
     # Obtained from http://pciids.sourceforge.net/v2.2/pci.ids.bz2.
-    url = http://nixos.org/tarballs/pci.ids.20090727.bz2;
-    sha256 = "0q7fs5ww92a6v5dc514ff4vy7v9hzpdqbd1agbafc2wk2zgi10mk";
+    url = http://nixos.org/tarballs/pci.ids.20100714.bz2;
+    sha256 = "0vll4svr60l6217yna7bfhcjm3prxr2b62ynq4jaagdp1rilfbap";
   };
 
   # Override broken auto-detect logic.
diff --git a/pkgs/tools/text/multitran/libfacet/default.nix b/pkgs/tools/text/multitran/libfacet/default.nix
index 2111a2b8dc1..6dab8f86c32 100644
--- a/pkgs/tools/text/multitran/libfacet/default.nix
+++ b/pkgs/tools/text/multitran/libfacet/default.nix
@@ -1,7 +1,8 @@
-{stdenv, fetchurl, libmtsupport} :
+{ stdenv, fetchurl, libmtsupport }:
 
 stdenv.mkDerivation {
   name = "libfacet-0.0.1alpha2";
+  
   src = fetchurl {
     url = mirror://sourceforge/multitran/libfacet-0.0.1alpha2.tar.bz2;
     sha256 = "dc53351c4035a3c27dc6c1d0410e808346fbc107e7e7c112ec65c59d0df7a144";
@@ -15,7 +16,6 @@ stdenv.mkDerivation {
       src/Makefile;
   '';
 
-
   meta = {
     homepage = http://multitran.sourceforge.net/;
     description = "Multitran lib: enchanced locale facets";
diff --git a/pkgs/tools/text/patchutils/default.nix b/pkgs/tools/text/patchutils/default.nix
index b89ffb850a0..0ab73142ea0 100644
--- a/pkgs/tools/text/patchutils/default.nix
+++ b/pkgs/tools/text/patchutils/default.nix
@@ -1,21 +1,19 @@
-args:
-args.stdenv.mkDerivation {
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
   name = "patchutils-0.3.0";
 
-  src = args.fetchurl {
+  src = fetchurl {
     url = http://cyberelk.net/tim/data/patchutils/stable/patchutils-0.3.0.tar.bz2;
     sha256 = "08jzvprhpcgwvx0xlkwc8dbdd9ilvwyr3cwnq96xmbfipch69yi7";
   };
 
-  buildInputs =(with args; []);
-
   meta = { 
-      description = "collection of programs that operate on patch files, fix"
-        + " diffs after manually editing them, create a diff of diffs etc";
-      homepage = http://cyberelk.net/tim/software/patchutils;
-      license = "GPLv2";
-      executables = [ "combinediff" "dehtmldiff" "editdiff" "espdiff"
-        "filterdiff" "fixcvsdiff" "flipdiff" "grepdiff" "interdiff" "lsdiff"
-        "recountdiff" "rediff" "splitdiff" "unwrapdiff" ];
+    description = "Tools to manipulate patch files";
+    homepage = http://cyberelk.net/tim/software/patchutils;
+    license = "GPLv2";
+    executables = [ "combinediff" "dehtmldiff" "editdiff" "espdiff"
+      "filterdiff" "fixcvsdiff" "flipdiff" "grepdiff" "interdiff" "lsdiff"
+      "recountdiff" "rediff" "splitdiff" "unwrapdiff" ];
   };
 }
diff --git a/pkgs/tools/text/wdiff/default.nix b/pkgs/tools/text/wdiff/default.nix
index 7ae7241c40b..760ab077012 100644
--- a/pkgs/tools/text/wdiff/default.nix
+++ b/pkgs/tools/text/wdiff/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "wdiff-0.6.1";
+  name = "wdiff-0.6.3";
 
   src = fetchurl {
     url = "mirror://gnu/wdiff/${name}.tar.gz";
-    sha256 = "0cgmx9k8sj0l79kp4m2lmn4ifx55ah68q4qk7xsanx69m1061ghf";
+    sha256 = "04x0snfyahw9si160zwghh5nmijn535iacbbfsd376w4p0k5zk08";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/typesetting/lhs2tex/default.nix b/pkgs/tools/typesetting/lhs2tex/default.nix
index ce74a0812d3..012c98f6887 100644
--- a/pkgs/tools/typesetting/lhs2tex/default.nix
+++ b/pkgs/tools/typesetting/lhs2tex/default.nix
@@ -1,13 +1,13 @@
-{cabal, tetex, polytable, regexCompat, utf8String}:
+{cabal, tetex, polytable, regexCompat}:
 
 #assert tetex == polytable.tetex;
 
 cabal.mkDerivation (self : {
   pname = "lhs2tex";
-  version = "1.15";
+  version = "1.16";
   name = self.fname;
-  sha256 = "77f25c1f22823587ceca6eead133a403540319a0ae3bf03a369b3e8c86baf124";
-  extraBuildInputs = [tetex regexCompat utf8String];
+  sha256 = "aa43ec92e8d7c94213365a7211d605314476977155e36420caa3cfb394f7c76f";
+  extraBuildInputs = [tetex regexCompat];
   propagatedBuildInputs = [polytable]; # automatically in user-env now with cabal
 
   postInstall = ''
diff --git a/pkgs/tools/video/swftools/default.nix b/pkgs/tools/video/swftools/default.nix
index 4249d32b3ce..806a0b21096 100644
--- a/pkgs/tools/video/swftools/default.nix
+++ b/pkgs/tools/video/swftools/default.nix
@@ -1,24 +1,18 @@
-args:
-args.stdenv.mkDerivation {
-  # snapshot version does'nt compile
-  #name = "swftools-2008-10-13-1554";
-  name = "swftools-0.8.1";
+{ stdenv, fetchurl, zlib }:
 
-  src = args.fetchurl {
-    #url = http://www.swftools.org/swftools-2008-10-13-1554.tar.gz;
-    #sha256 = "05r2qg8yc6lpj5263jyrdykr2vkq9rlyqxydx0rnfnkqpr7s6931";
+stdenv.mkDerivation {
+  name = "swftools-0.8.1";
 
+  src = fetchurl {
     url = http://www.swftools.org/swftools-0.8.1.tar.gz;
     sha256 = "0l75c3ibwd24g9nqghp1rv1dfrlicw87s0rbdnyffjv4izz6gc2l";
   };
 
-  buildInputs =(with args; [zlib 
-                            # the following are not needed to compile 0.8.1
-                            libjpeg giflib freetype]);
+  buildInputs = [ zlib ];
 
   meta = { 
-      description = "collection of SWF manipulation and creation utilities";
-      homepage = http://www.swftools.org/about.html;
-      license = "GPLv2";
-    };
+    description = "Collection of SWF manipulation and creation utilities";
+    homepage = http://www.swftools.org/about.html;
+    license = "GPLv2";
+  };
 }
diff --git a/pkgs/tools/virtualization/amazon-ec2-ami-tools/default.nix b/pkgs/tools/virtualization/amazon-ec2-ami-tools/default.nix
index e5114ddaed6..622b26f0b35 100644
--- a/pkgs/tools/virtualization/amazon-ec2-ami-tools/default.nix
+++ b/pkgs/tools/virtualization/amazon-ec2-ami-tools/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, unzip, ruby, openssl, makeWrapper }:
 
 stdenv.mkDerivation {
-  name = "ec2-ami-tools";
+  name = "ec2-ami-tools-1.3-53773";
   
-  buildInputs = [unzip makeWrapper];
+  buildInputs = [ unzip makeWrapper ];
   
   src = fetchurl {
     url = http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.zip;
-    sha256 = "2a7c848abea286234adcbb08938cfad50b844ecdfc7770e781289d9d396a1972";
+    sha256 = "0wsgd656wiwn0maqanz6c61jdwaz0gva8wx25x312xnsl8k0gy94";
   };
 
   # Amazon EC2 requires that disk images are writable.  If they're
diff --git a/pkgs/tools/virtualization/amazon-ec2-api-tools/default.nix b/pkgs/tools/virtualization/amazon-ec2-api-tools/default.nix
index 6c568a95c2f..e242b1e69d1 100644
--- a/pkgs/tools/virtualization/amazon-ec2-api-tools/default.nix
+++ b/pkgs/tools/virtualization/amazon-ec2-api-tools/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, unzip, makeWrapper, jre }:
 
 stdenv.mkDerivation {
-  name = "ec2-api-tools-1.3-46266";
+  name = "ec2-api-tools-1.3-53907";
   
   src = fetchurl {
     url = http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip;
-    sha256 = "06d5hpzc18bj30hjc477xx62hsspgfkn3fdccrg1avadgwsykgq6";
+    sha256 = "1jdkc74a9fmjqwvq1pnbsnfqyxxjg5zgaynybmdms5piinvb204d";
   };
 
   buildInputs = [ unzip makeWrapper ];