summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2014-08-30 10:04:02 +0200
committerVladimír Čunát <vcunat@gmail.com>2014-08-30 10:04:02 +0200
commite51f73652d38d5c53b331b7bcae2e2483e1b8afe (patch)
tree9126d3fd0737db3a0d57cda866d96c377fc0e452 /pkgs/tools
parenta283bec71cec60c2b9c84ea9af320fc8df0dfd5f (diff)
parent4e0d2706f174bb893378a8241df7bd2055901b9e (diff)
downloadnixpkgs-e51f73652d38d5c53b331b7bcae2e2483e1b8afe.tar
nixpkgs-e51f73652d38d5c53b331b7bcae2e2483e1b8afe.tar.gz
nixpkgs-e51f73652d38d5c53b331b7bcae2e2483e1b8afe.tar.bz2
nixpkgs-e51f73652d38d5c53b331b7bcae2e2483e1b8afe.tar.lz
nixpkgs-e51f73652d38d5c53b331b7bcae2e2483e1b8afe.tar.xz
nixpkgs-e51f73652d38d5c53b331b7bcae2e2483e1b8afe.tar.zst
nixpkgs-e51f73652d38d5c53b331b7bcae2e2483e1b8afe.zip
Merge recent master into staging
Hydra: ?compare=1149952

Conflicts:
	nixos/doc/manual/configuration.xml (changed split file)
	nixos/modules/config/users-groups.nix (choosing filterNull instead of inline definition)
	pkgs/development/libraries/readline/readline6.3.nix (auto-solved)
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/X11/hsetroot/default.nix2
-rw-r--r--pkgs/tools/X11/obconf/default.nix27
-rw-r--r--pkgs/tools/X11/wmctrl/default.nix2
-rw-r--r--pkgs/tools/X11/xinput_calibrator/default.nix21
-rw-r--r--pkgs/tools/X11/xnee/default.nix2
-rw-r--r--pkgs/tools/X11/xtrace/default.nix2
-rw-r--r--pkgs/tools/admin/tigervnc/default.nix7
-rw-r--r--pkgs/tools/admin/tightvnc/default.nix2
-rw-r--r--pkgs/tools/archivers/sharutils/default.nix2
-rw-r--r--pkgs/tools/audio/pnmixer/default.nix29
-rw-r--r--pkgs/tools/backup/partclone/default.nix8
-rw-r--r--pkgs/tools/cd-dvd/xorriso/default.nix2
-rw-r--r--pkgs/tools/compression/gzip/default.nix2
-rw-r--r--pkgs/tools/compression/rzip/default.nix2
-rw-r--r--pkgs/tools/filesystems/chunkfs/default.nix2
-rw-r--r--pkgs/tools/filesystems/encfs/default.nix2
-rw-r--r--pkgs/tools/filesystems/mtools/default.nix2
-rw-r--r--pkgs/tools/filesystems/svnfs/default.nix2
-rw-r--r--pkgs/tools/filesystems/wdfs/default.nix2
-rw-r--r--pkgs/tools/filesystems/yandex-disk/default.nix3
-rw-r--r--pkgs/tools/graphics/cuneiform/default.nix2
-rw-r--r--pkgs/tools/graphics/plotutils/default.nix2
-rw-r--r--pkgs/tools/inputmethods/anthy/default.nix18
-rw-r--r--pkgs/tools/inputmethods/uim/default.nix44
-rw-r--r--pkgs/tools/inputmethods/uim/immodules_cache.patch231
-rw-r--r--pkgs/tools/misc/abduco/default.nix28
-rw-r--r--pkgs/tools/misc/cpuminer-multi/default.nix31
-rw-r--r--pkgs/tools/misc/execline/default.nix54
-rw-r--r--pkgs/tools/misc/flashrom/default.nix23
-rw-r--r--pkgs/tools/misc/goaccess/default.nix2
-rw-r--r--pkgs/tools/misc/grub/2.0x.nix62
-rw-r--r--pkgs/tools/misc/hdf5/default.nix16
-rw-r--r--pkgs/tools/misc/idutils/default.nix2
-rw-r--r--pkgs/tools/misc/lbdb/default.nix2
-rw-r--r--pkgs/tools/misc/ldapvi/default.nix6
-rw-r--r--pkgs/tools/misc/logstash-forwarder/default.nix5
-rw-r--r--pkgs/tools/misc/minicom/default.nix2
-rw-r--r--pkgs/tools/misc/most/default.nix3
-rw-r--r--pkgs/tools/misc/parallel/default.nix6
-rw-r--r--pkgs/tools/misc/parted/default.nix2
-rw-r--r--pkgs/tools/misc/pg_top/default.nix2
-rw-r--r--pkgs/tools/misc/recutils/default.nix2
-rw-r--r--pkgs/tools/misc/time/default.nix2
-rw-r--r--pkgs/tools/misc/tmpwatch/default.nix2
-rw-r--r--pkgs/tools/misc/tmux/default.nix2
-rw-r--r--pkgs/tools/misc/yad/default.nix2
-rw-r--r--pkgs/tools/networking/atftp/default.nix72
-rw-r--r--pkgs/tools/networking/cntlm/default.nix2
-rw-r--r--pkgs/tools/networking/connman/default.nix2
-rw-r--r--pkgs/tools/networking/dnsmasq/default.nix32
-rw-r--r--pkgs/tools/networking/flvstreamer/default.nix2
-rw-r--r--pkgs/tools/networking/host/default.nix2
-rw-r--r--pkgs/tools/networking/inetutils/default.nix2
-rw-r--r--pkgs/tools/networking/jnettop/default.nix2
-rw-r--r--pkgs/tools/networking/lsh/default.nix2
-rwxr-xr-xpkgs/tools/networking/mailutils/default.nix2
-rw-r--r--pkgs/tools/networking/minidlna/default.nix2
-rw-r--r--pkgs/tools/networking/netboot/default.nix53
-rw-r--r--pkgs/tools/networking/ntopng/default.nix47
-rw-r--r--pkgs/tools/networking/radvd/default.nix20
-rw-r--r--pkgs/tools/networking/spiped/default.nix4
-rw-r--r--pkgs/tools/networking/tcpdump/default.nix2
-rw-r--r--pkgs/tools/networking/wget/default.nix2
-rw-r--r--pkgs/tools/package-management/nix/default.nix9
-rw-r--r--pkgs/tools/package-management/nix/unstable.nix6
-rw-r--r--pkgs/tools/security/chntpw/00-chntpw-build-arch-autodetect.patch25
-rw-r--r--pkgs/tools/security/chntpw/01-chntpw-install-target.patch26
-rw-r--r--pkgs/tools/security/chntpw/default.nix29
-rw-r--r--pkgs/tools/security/gnupg/default.nix4
-rw-r--r--pkgs/tools/security/hashcat/default.nix2
-rw-r--r--pkgs/tools/security/mfcuk/default.nix21
-rw-r--r--pkgs/tools/security/scrypt/default.nix2
-rw-r--r--pkgs/tools/security/steghide/default.nix2
-rw-r--r--pkgs/tools/security/stricat/default.nix24
-rw-r--r--pkgs/tools/security/tboot/default.nix4
-rw-r--r--pkgs/tools/security/tor/default.nix2
-rw-r--r--pkgs/tools/security/tpm-tools/default.nix9
-rw-r--r--pkgs/tools/security/trousers/default.nix2
-rw-r--r--pkgs/tools/system/cron/default.nix2
-rw-r--r--pkgs/tools/system/di/default.nix20
-rw-r--r--pkgs/tools/system/freeipmi/default.nix2
-rw-r--r--pkgs/tools/system/hardlink/default.nix2
-rw-r--r--pkgs/tools/system/mcron/default.nix2
-rw-r--r--pkgs/tools/system/thermald/default.nix36
-rw-r--r--pkgs/tools/text/enscript/default.nix2
-rw-r--r--pkgs/tools/text/mpage/default.nix2
-rw-r--r--pkgs/tools/text/namazu/default.nix2
-rw-r--r--pkgs/tools/text/sgml/openjade/default.nix2
-rw-r--r--pkgs/tools/text/sgml/openjade/msggen.patch34
-rw-r--r--pkgs/tools/text/wdiff/default.nix2
-rw-r--r--pkgs/tools/text/wgetpaste/default.nix51
-rw-r--r--pkgs/tools/typesetting/docbook2x/default.nix5
-rw-r--r--pkgs/tools/typesetting/lout/default.nix2
-rw-r--r--pkgs/tools/typesetting/rubber/default.nix2
-rw-r--r--pkgs/tools/typesetting/xmlto/default.nix2
-rw-r--r--pkgs/tools/video/dvgrab/default.nix2
96 files changed, 1011 insertions, 254 deletions
diff --git a/pkgs/tools/X11/hsetroot/default.nix b/pkgs/tools/X11/hsetroot/default.nix
index d91f4bfdf65..e226f1f93c4 100644
--- a/pkgs/tools/X11/hsetroot/default.nix
+++ b/pkgs/tools/X11/hsetroot/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
   buildInputs = [ imlib2 libX11 libXext ];
 
   meta = {
-    description = "hsetroot allows you to compose wallpapers ('root pixmaps') for X";
+    description = "Allows you to compose wallpapers ('root pixmaps') for X";
     homepage = http://thegraveyard.org/hsetroot.html;
     license = stdenv.lib.licenses.gpl2Plus;
   };
diff --git a/pkgs/tools/X11/obconf/default.nix b/pkgs/tools/X11/obconf/default.nix
new file mode 100644
index 00000000000..e1a2e0dd496
--- /dev/null
+++ b/pkgs/tools/X11/obconf/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, pkgconfig, gtk, libglade, openbox,
+  imlib2, libstartup_notification, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "obconf-${version}";
+  version = "2.0.4";
+
+  src = fetchurl {
+    url = "http://openbox.org/dist/obconf/obconf-${version}.tar.gz";
+    sha256 = "1fanjdmd8727kk74x5404vi8v7s4kpq48l583d12fsi4xvsfb8vi";
+  };
+
+  buildInputs = [
+    pkgconfig gtk libglade openbox imlib2 libstartup_notification makeWrapper
+  ];
+
+  postInstall = ''
+    wrapProgram $out/bin/obconf --prefix XDG_DATA_DIRS : ${openbox}/share/
+  '';
+
+  meta = {
+    description = "GUI configuration tool for openbox";
+    homepage = "http://openbox.org/wiki/ObConf";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.lhvwb ];
+  };
+}
diff --git a/pkgs/tools/X11/wmctrl/default.nix b/pkgs/tools/X11/wmctrl/default.nix
index 3f691b8ecd4..2e23e7bd4de 100644
--- a/pkgs/tools/X11/wmctrl/default.nix
+++ b/pkgs/tools/X11/wmctrl/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://tomas.styblo.name/wmctrl/;
-    description = "wmctrl is a UNIX/Linux command line tool to interact with an EWMH/NetWM compatible X Window Manager";
+    description = "Command line tool to interact with an EWMH/NetWM compatible X Window Manager";
     license = stdenv.lib.licenses.gpl2;
     platforms = with stdenv.lib.platforms; all;
   };
diff --git a/pkgs/tools/X11/xinput_calibrator/default.nix b/pkgs/tools/X11/xinput_calibrator/default.nix
new file mode 100644
index 00000000000..8f21f6558ff
--- /dev/null
+++ b/pkgs/tools/X11/xinput_calibrator/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, libXi, inputproto, autoconf, automake, libtool, m4, x11, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  version = "0.7.5";
+  name = "xinput_calibrator";
+  src = fetchurl {
+    url = "https://github.com/tias/${name}/archive/v${version}.tar.gz";
+    sha256 = "d8edbf84523d60f52311d086a1e3ad0f3536f448360063dd8029bf6290aa65e9";
+  };
+
+  preConfigure = "./autogen.sh --with-gui=X11";
+
+  buildInputs = [ inputproto libXi autoconf automake libtool m4 x11 pkgconfig ];
+
+  meta = {
+    homepage = https://github.com/tias/xinput_calibrator;
+    description = "A generic touchscreen calibration program for X.Org";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.flosse ];
+  };
+}
diff --git a/pkgs/tools/X11/xnee/default.nix b/pkgs/tools/X11/xnee/default.nix
index 0e92021b62c..35c4ca06c6c 100644
--- a/pkgs/tools/X11/xnee/default.nix
+++ b/pkgs/tools/X11/xnee/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = {
-    description = "GNU Xnee, an X11 event recording and replay tool";
+    description = "X11 event recording and replay tool";
 
     longDescription =
       '' Xnee is a suite of programs that can record, replay and distribute
diff --git a/pkgs/tools/X11/xtrace/default.nix b/pkgs/tools/X11/xtrace/default.nix
index efc0647f5db..c3c9c70fe92 100644
--- a/pkgs/tools/X11/xtrace/default.nix
+++ b/pkgs/tools/X11/xtrace/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://xtrace.alioth.debian.org/;
-    description = "xtrace, a tool to trace X11 protocol connections";
+    description = "Tool to trace X11 protocol connections";
     license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/tools/admin/tigervnc/default.nix b/pkgs/tools/admin/tigervnc/default.nix
index 7393336f2be..a7ec73f55d7 100644
--- a/pkgs/tools/admin/tigervnc/default.nix
+++ b/pkgs/tools/admin/tigervnc/default.nix
@@ -53,7 +53,12 @@ stdenv.mkDerivation rec {
       patch -p1 < $a
     done
     autoreconf -vfi
-    ./configure $configureFlags --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg --disable-dmx --disable-dri --disable-dri2 --disable-glx --prefix="$out" --disable-unit-tests
+    ./configure $configureFlags --disable-xinerama --disable-xvfb --disable-xnest \
+        --disable-xorg --disable-dmx --disable-dri --disable-dri2 --disable-glx \
+        --prefix="$out" --disable-unit-tests \
+        --with-xkb-path=${xkeyboard_config}/share/X11/xkb \
+        --with-xkb-bin-directory=${xkbcomp}/bin \
+        --with-xkb-output=$out/share/X11/xkb/compiled
     make TIGERVNC_SRCDIR=`pwd`/../..
     popd
   '';
diff --git a/pkgs/tools/admin/tightvnc/default.nix b/pkgs/tools/admin/tightvnc/default.nix
index acb8708ec14..407242cf2d9 100644
--- a/pkgs/tools/admin/tightvnc/default.nix
+++ b/pkgs/tools/admin/tightvnc/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   meta = {
     license = stdenv.lib.licenses.gpl2Plus;
     homepage = "http://vnc-tight.sourceforge.net/";
-    description = "TightVNC is an improved version of VNC";
+    description = "Improved version of VNC";
 
     longDescription = ''
       TightVNC is an improved version of VNC, the great free
diff --git a/pkgs/tools/archivers/sharutils/default.nix b/pkgs/tools/archivers/sharutils/default.nix
index afd734fbae0..f19564e4ad9 100644
--- a/pkgs/tools/archivers/sharutils/default.nix
+++ b/pkgs/tools/archivers/sharutils/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = {
-    description = "GNU Sharutils, tools for remote synchronization and `shell archives'";
+    description = "Tools for remote synchronization and `shell archives'";
 
     longDescription =
       '' GNU shar makes so-called shell archives out of many files, preparing
diff --git a/pkgs/tools/audio/pnmixer/default.nix b/pkgs/tools/audio/pnmixer/default.nix
new file mode 100644
index 00000000000..d7964c0961c
--- /dev/null
+++ b/pkgs/tools/audio/pnmixer/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchgit, alsaLib, pkgconfig, gtk3, glibc, autoconf, automake, libnotify, libX11, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "pnmixer";
+
+  src = fetchgit {
+    url = "git://github.com/nicklan/pnmixer.git";
+    rev = "1e09a075c0c63d8b161b13ea92528a798bdb464a";
+    sha256 = "15k689xycpc6pvq9vgg9ak92b9sg09dh4yrh83kjcaws63alrzl5";
+  };
+
+  buildInputs = [
+    alsaLib pkgconfig gtk3 glibc autoconf automake libnotify libX11 gettext
+  ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  # work around a problem related to gtk3 updates
+  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
+
+  meta = with stdenv.lib; {
+    description = "ALSA mixer for the system tray";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ campadrenalin ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/backup/partclone/default.nix b/pkgs/tools/backup/partclone/default.nix
index b446b06f987..fe2b9e00aaa 100644
--- a/pkgs/tools/backup/partclone/default.nix
+++ b/pkgs/tools/backup/partclone/default.nix
@@ -17,7 +17,13 @@ stdenv.mkDerivation {
   installPhase = ''make INSTPREFIX=$out install'';
 
   meta = {
-    description = "Partclone provides utilities to save and restore used blocks on a partition and is designed for higher compatibility of the file system by using existing libraries, e.g. e2fslibs is used to read and write the ext2 partition";
+    description = "Utilities to save and restore used blocks on a partition";
+    longDescription = ''
+      Partclone provides utilities to save and restore used blocks on a
+      partition and is designed for higher compatibility of the file system by
+      using existing libraries, e.g. e2fslibs is used to read and write the
+      ext2 partition.
+    '';
     homepage = http://partclone.org;
     license = stdenv.lib.licenses.gpl2;
     maintainers = [stdenv.lib.maintainers.marcweber];
diff --git a/pkgs/tools/cd-dvd/xorriso/default.nix b/pkgs/tools/cd-dvd/xorriso/default.nix
index 88cca66efb1..218ea9a1e7f 100644
--- a/pkgs/tools/cd-dvd/xorriso/default.nix
+++ b/pkgs/tools/cd-dvd/xorriso/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional stdenv.isLinux acl;
 
   meta = {
-    description = "GNU xorriso, an ISO 9660 Rock Ridge file system manipulator";
+    description = "ISO 9660 Rock Ridge file system manipulator";
 
     longDescription =
       '' GNU xorriso copies file objects from POSIX compliant filesystems
diff --git a/pkgs/tools/compression/gzip/default.nix b/pkgs/tools/compression/gzip/default.nix
index b7bf9c59f49..cc304d9aa1e 100644
--- a/pkgs/tools/compression/gzip/default.nix
+++ b/pkgs/tools/compression/gzip/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://www.gnu.org/software/gzip/;
-    description = "Gzip, the GNU zip compression program";
+    description = "GNU zip compression program";
 
     longDescription =
       ''gzip (GNU zip) is a popular data compression program written by
diff --git a/pkgs/tools/compression/rzip/default.nix b/pkgs/tools/compression/rzip/default.nix
index ca8d356abb3..4460ae6edf3 100644
--- a/pkgs/tools/compression/rzip/default.nix
+++ b/pkgs/tools/compression/rzip/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://rzip.samba.org/;
-    description = "The RZIP compression program";
+    description = "Compression program";
     license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/filesystems/chunkfs/default.nix b/pkgs/tools/filesystems/chunkfs/default.nix
index d91525e348f..f8c6942bad0 100644
--- a/pkgs/tools/filesystems/chunkfs/default.nix
+++ b/pkgs/tools/filesystems/chunkfs/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "(Un)ChunkFS is a pair of FUSE filesystems for viewing chunksync-style directory trees as a block device and vice versa.";
+    description = "FUSE filesystems for viewing chunksync-style directory trees as a block device and vice versa";
     homepage = "http://chunkfs.florz.de/";
     license = stdenv.lib.licenses.gpl2;
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/tools/filesystems/encfs/default.nix b/pkgs/tools/filesystems/encfs/default.nix
index 9ebab38984b..ea96001a421 100644
--- a/pkgs/tools/filesystems/encfs/default.nix
+++ b/pkgs/tools/filesystems/encfs/default.nix
@@ -14,6 +14,6 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://www.arg0.net/encfs;
-    description = "EncFS provides an encrypted filesystem in user-space via FUSE";
+    description = "Provides an encrypted filesystem in user-space via FUSE";
   };
 }
diff --git a/pkgs/tools/filesystems/mtools/default.nix b/pkgs/tools/filesystems/mtools/default.nix
index 0b666f38942..6b9631bfccf 100644
--- a/pkgs/tools/filesystems/mtools/default.nix
+++ b/pkgs/tools/filesystems/mtools/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://www.gnu.org/software/mtools/;
-    description = "GNU mtools, utilities to access MS-DOS disks";
+    description = "Utilities to access MS-DOS disks";
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
     maintainers = [ ];
   };
diff --git a/pkgs/tools/filesystems/svnfs/default.nix b/pkgs/tools/filesystems/svnfs/default.nix
index b6a296e6bc7..fba066d0f4c 100644
--- a/pkgs/tools/filesystems/svnfs/default.nix
+++ b/pkgs/tools/filesystems/svnfs/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   NIX_LDFLAGS="-lsvn_client-1";
 
   meta = {
-    description = "SvnFs is a filesystem written using FUSE for accessing Subversion repositories";
+    description = "FUSE filesystem for accessing Subversion repositories";
     homepage = http://www.jmadden.eu/index.php/svnfs/;
     license = stdenv.lib.licenses.gpl2;
     maintainers = [stdenv.lib.maintainers.marcweber];
diff --git a/pkgs/tools/filesystems/wdfs/default.nix b/pkgs/tools/filesystems/wdfs/default.nix
index 68d978a2a55..a28d5394fc1 100644
--- a/pkgs/tools/filesystems/wdfs/default.nix
+++ b/pkgs/tools/filesystems/wdfs/default.nix
@@ -10,6 +10,6 @@ stdenv.mkDerivation rec
   buildInputs = [fuse glib neon pkgconfig];
   meta = {
     homepage = "http://noedler.de/projekte/wdfs/";
-    description = "wdfs a user-space filesystem that allows to mount a webdav share";
+    description = "User-space filesystem that allows to mount a webdav share";
   };
 }
diff --git a/pkgs/tools/filesystems/yandex-disk/default.nix b/pkgs/tools/filesystems/yandex-disk/default.nix
index 24dbae08fab..c9078a0cb8b 100644
--- a/pkgs/tools/filesystems/yandex-disk/default.nix
+++ b/pkgs/tools/filesystems/yandex-disk/default.nix
@@ -1,4 +1,7 @@
 { stdenv, fetchurl, writeText, zlib, rpm, cpio, patchelf, which }:
+
+assert stdenv.isLinux;
+
 let
   p = if stdenv.is64bit then {
       arch = "x86_64";
diff --git a/pkgs/tools/graphics/cuneiform/default.nix b/pkgs/tools/graphics/cuneiform/default.nix
index 2638594903a..0e94571503c 100644
--- a/pkgs/tools/graphics/cuneiform/default.nix
+++ b/pkgs/tools/graphics/cuneiform/default.nix
@@ -37,6 +37,6 @@ rec {
   name = "cuneiform-" + version;
   meta = {
     inherit version;
-    description = "Cuneiform OCR";
+    description = "Multi-language OCR system";
   };
 }
diff --git a/pkgs/tools/graphics/plotutils/default.nix b/pkgs/tools/graphics/plotutils/default.nix
index ae0c4d19731..0f67de3c3ea 100644
--- a/pkgs/tools/graphics/plotutils/default.nix
+++ b/pkgs/tools/graphics/plotutils/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = {
-    description = "GNU Plotutils, a powerful C/C++ library for exporting 2D vector graphics";
+    description = "Powerful C/C++ library for exporting 2D vector graphics";
 
     longDescription =
       '' The GNU plotutils package contains software for both programmers and
diff --git a/pkgs/tools/inputmethods/anthy/default.nix b/pkgs/tools/inputmethods/anthy/default.nix
new file mode 100644
index 00000000000..34ffa1568b9
--- /dev/null
+++ b/pkgs/tools/inputmethods/anthy/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
+  name = "anthy-9100h";
+
+  meta = with stdenv.lib; {
+    description = "Hiragana text to Kana Kanji mixed text Japanese input method";
+    homepace    = http://sourceforge.jp/projects/anthy/;
+    license     = licenses.gpl2Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "http://dl.sourceforge.jp/anthy/37536/anthy-9100h.tar.gz";
+    sha256 = "0ism4zibcsa5nl77wwi12vdsfjys3waxcphn1p5s7d0qy1sz0mnj";
+  };
+}
diff --git a/pkgs/tools/inputmethods/uim/default.nix b/pkgs/tools/inputmethods/uim/default.nix
new file mode 100644
index 00000000000..b8ee95fae92
--- /dev/null
+++ b/pkgs/tools/inputmethods/uim/default.nix
@@ -0,0 +1,44 @@
+{stdenv, fetchurl, intltool, pkgconfig, qt4, gtk2, gtk3, kdelibs, cmake, ... }:
+
+stdenv.mkDerivation rec {
+  version = "1.8.6";
+  name = "uim-${version}";
+
+  buildInputs = [
+    intltool
+    pkgconfig
+    qt4
+    gtk2
+    gtk3
+    kdelibs
+    cmake
+  ];
+
+  patches = [ ./immodules_cache.patch ];
+
+  configureFlags = [
+    "--with-gtk2"
+    "--with-gtk3"
+    "--enable-kde4-applet"
+    "--enable-notify=knotify4"
+    "--enable-pref"
+    "--with-qt4"
+    "--with-qt4-immodule"
+    "--with-skk"
+    "--with-x"
+  ];
+
+  dontUseCmakeConfigure = true;
+
+  src = fetchurl {
+    url = "http://uim.googlecode.com/files/uim-${version}.tar.bz2";
+    sha1 = "43b9dbdead6797880e6cfc9c032ecb2d37d42777";
+  };
+
+  meta = {
+    homepage = "http://code.google.com/p/uim/";
+    description = "A multilingual input method framework";
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/inputmethods/uim/immodules_cache.patch b/pkgs/tools/inputmethods/uim/immodules_cache.patch
new file mode 100644
index 00000000000..c2d08b661e3
--- /dev/null
+++ b/pkgs/tools/inputmethods/uim/immodules_cache.patch
@@ -0,0 +1,231 @@
+diff -ru -x '*~' uim-1.8.6.orig/gtk2/immodule/Makefile.am uim-1.8.6/gtk2/immodule/Makefile.am
+--- uim-1.8.6.orig/gtk2/immodule/Makefile.am	2013-06-30 13:26:09.000000000 +0900
++++ uim-1.8.6/gtk2/immodule/Makefile.am	2014-07-13 21:51:26.538400004 +0900
+@@ -1,5 +1,5 @@
+ uim_gtk_im_module_path = $(libdir)/gtk-2.0
+-uim_gtk_im_module_file = $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk.immodules
++uim_gtk_im_module_file = $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@/immodules.cache
+ 
+ moduledir = $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@/immodules
+ 
+@@ -38,48 +38,12 @@
+ 
+ install-data-hook: gtk-rc-get-immodule-file
+ 	if test -z $(DESTDIR); then \
+-	  if test $(libdir) = $(GTK_LIBDIR); then \
+-	    if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
+-	      $(QUERY_COMMAND) > `$(GTK_RC_GET_IMMODULE_FILE)`; \
+-	      echo "*** \"`$(GTK_RC_GET_IMMODULE_FILE)`\" is updated. ***";  \
+-	    else \
+-	      echo "********************** Warning ***********************"; \
+-	      echo " $(QUERY_COMMAND) not found"; \
+-	      echo " Please make sure to update"; \
+-	      echo " \"`$(GTK_RC_GET_IMMODULE_FILE)`\""; \
+-	      echo " manually."; \
+-	      echo "******************************************************"; \
+-	    fi \
+-	  else \
+-	    if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
+-	      $(mkinstalldirs) $(sysconfdir)/gtk-2.0; \
+-	      GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \
+-	      echo "******************************************************"; \
+-	      echo " You need to set"; \
+-	      echo " GTK_IM_MODULE_FILE=$(uim_gtk_im_module_file)"; \
+-	      echo " environment variable to use this module."; \
+-	      echo "******************************************************"; \
+-	    else \
+-	      echo "********************** Warning ***********************"; \
+-	      echo " $(QUERY_COMMAND) not found"; \
+-	      echo " Please make sure to update"; \
+-	      echo " \"$(uim_gtk_im_module_file)\""; \
+-	      echo " manually, and set"; \
+-	      echo " GTK_IM_MODULE_FILE=$(uim_gtk_im_module_file)"; \
+-	      echo " environment variable to use this module."; \
+-	      echo "******************************************************"; \
+-	    fi \
+-	  fi \
++	  $(mkinstalldirs) $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@; \
++	  GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \
+ 	fi
+ uninstall-hook:
+ 	if test -z $(DESTDIR); then \
+-	  if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
+-	    if test $(libdir) = $(GTK_LIBDIR); then \
+-	      $(QUERY_COMMAND) > `$(GTK_RC_GET_IMMODULE_FILE)`; \
+-	    else \
+-	      GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \
+-	    fi \
+-	  fi \
++	  GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \
+ 	fi
+ else
+ install-data-hook:
+diff -ru -x '*~' uim-1.8.6.orig/gtk2/immodule/Makefile.in uim-1.8.6/gtk2/immodule/Makefile.in
+--- uim-1.8.6.orig/gtk2/immodule/Makefile.in	2013-06-30 13:27:08.000000000 +0900
++++ uim-1.8.6/gtk2/immodule/Makefile.in	2014-07-13 22:12:27.947595507 +0900
+@@ -434,7 +434,7 @@
+ top_srcdir = @top_srcdir@
+ uim_pixmapsdir = @uim_pixmapsdir@
+ uim_gtk_im_module_path = $(libdir)/gtk-2.0
+-uim_gtk_im_module_file = $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk.immodules
++uim_gtk_im_module_file = $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@/immodules.cache
+ moduledir = $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@/immodules
+ @GTK2_TRUE@im_uim_la = im-uim.la
+ @GTK2_TRUE@im_uim_la_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir)
+@@ -875,48 +875,12 @@
+ 
+ @GTK2_TRUE@install-data-hook: gtk-rc-get-immodule-file
+ @GTK2_TRUE@	if test -z $(DESTDIR); then \
+-@GTK2_TRUE@	  if test $(libdir) = $(GTK_LIBDIR); then \
+-@GTK2_TRUE@	    if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
+-@GTK2_TRUE@	      $(QUERY_COMMAND) > `$(GTK_RC_GET_IMMODULE_FILE)`; \
+-@GTK2_TRUE@	      echo "*** \"`$(GTK_RC_GET_IMMODULE_FILE)`\" is updated. ***";  \
+-@GTK2_TRUE@	    else \
+-@GTK2_TRUE@	      echo "********************** Warning ***********************"; \
+-@GTK2_TRUE@	      echo " $(QUERY_COMMAND) not found"; \
+-@GTK2_TRUE@	      echo " Please make sure to update"; \
+-@GTK2_TRUE@	      echo " \"`$(GTK_RC_GET_IMMODULE_FILE)`\""; \
+-@GTK2_TRUE@	      echo " manually."; \
+-@GTK2_TRUE@	      echo "******************************************************"; \
+-@GTK2_TRUE@	    fi \
+-@GTK2_TRUE@	  else \
+-@GTK2_TRUE@	    if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
+-@GTK2_TRUE@	      $(mkinstalldirs) $(sysconfdir)/gtk-2.0; \
+-@GTK2_TRUE@	      GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \
+-@GTK2_TRUE@	      echo "******************************************************"; \
+-@GTK2_TRUE@	      echo " You need to set"; \
+-@GTK2_TRUE@	      echo " GTK_IM_MODULE_FILE=$(uim_gtk_im_module_file)"; \
+-@GTK2_TRUE@	      echo " environment variable to use this module."; \
+-@GTK2_TRUE@	      echo "******************************************************"; \
+-@GTK2_TRUE@	    else \
+-@GTK2_TRUE@	      echo "********************** Warning ***********************"; \
+-@GTK2_TRUE@	      echo " $(QUERY_COMMAND) not found"; \
+-@GTK2_TRUE@	      echo " Please make sure to update"; \
+-@GTK2_TRUE@	      echo " \"$(uim_gtk_im_module_file)\""; \
+-@GTK2_TRUE@	      echo " manually, and set"; \
+-@GTK2_TRUE@	      echo " GTK_IM_MODULE_FILE=$(uim_gtk_im_module_file)"; \
+-@GTK2_TRUE@	      echo " environment variable to use this module."; \
+-@GTK2_TRUE@	      echo "******************************************************"; \
+-@GTK2_TRUE@	    fi \
+-@GTK2_TRUE@	  fi \
++@GTK2_TRUE@	  $(mkinstalldirs) $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@; \
++@GTK2_TRUE@	  GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \
+ @GTK2_TRUE@	fi
+ @GTK2_TRUE@uninstall-hook:
+ @GTK2_TRUE@	if test -z $(DESTDIR); then \
+-@GTK2_TRUE@	  if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
+-@GTK2_TRUE@	    if test $(libdir) = $(GTK_LIBDIR); then \
+-@GTK2_TRUE@	      $(QUERY_COMMAND) > `$(GTK_RC_GET_IMMODULE_FILE)`; \
+-@GTK2_TRUE@	    else \
+-@GTK2_TRUE@	      GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \
+-@GTK2_TRUE@	    fi \
+-@GTK2_TRUE@	  fi \
++@GTK2_TRUE@	  GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \
+ @GTK2_TRUE@	fi
+ @GTK2_FALSE@install-data-hook:
+ 
+diff -ru -x '*~' uim-1.8.6.orig/gtk3/immodule/Makefile.am uim-1.8.6/gtk3/immodule/Makefile.am
+--- uim-1.8.6.orig/gtk3/immodule/Makefile.am	2013-06-30 13:26:20.000000000 +0900
++++ uim-1.8.6/gtk3/immodule/Makefile.am	2014-07-13 21:55:38.114246503 +0900
+@@ -45,42 +45,11 @@
+ 
+ install-data-hook: gtk3-rc-get-immodule-file
+ 	if test -z $(DESTDIR); then \
+-	  if test $(libdir) = $(GTK3_LIBDIR); then \
+-	    if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
+-	      $(QUERY_COMMAND) --update-cache; \
+-	      echo "*** \"`$(GTK3_RC_GET_IMMODULE_FILE)`\" is updated. ***";  \
+-	    else \
+-	      echo "********************** Warning ***********************"; \
+-	      echo " $(QUERY_COMMAND) not found"; \
+-	      echo " Please make sure to update"; \
+-	      echo " \"`$(GTK3_RC_GET_IMMODULE_FILE)`\""; \
+-	      echo " manually."; \
+-	      echo "******************************************************"; \
+-	    fi \
+-	  else \
+-	    if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
+-	      GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) --update-cache; \
+-	    else \
+-	      echo "********************** Warning ***********************"; \
+-	      echo " $(QUERY_COMMAND) not found"; \
+-	      echo " Please make sure to update"; \
+-	      echo " immodules.cache"; \
+-	      echo " manually, and set"; \
+-	      echo " GTK_IM_MODULE_FILE=PATH_TO/immodule.cache"; \
+-	      echo " environment variable to use this module."; \
+-	      echo "******************************************************"; \
+-	    fi \
+-	  fi \
++	  GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) > $(uim_gtk3_im_module_path)/@GTK3_BINARY_VERSION@/immodules.cache ; \
+ 	fi
+ uninstall-hook:
+ 	if test -z $(DESTDIR); then \
+-	  if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
+-	    if test $(libdir) = $(GTK3_LIBDIR); then \
+-	      $(QUERY_COMMAND) --update-cache; \
+-	    else \
+-	      GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) --update-cache; \
+-	    fi \
+-	  fi \
++	  GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) > $(uim_gtk3_im_module_path)/@GTK3_BINARY_VERSION@/immodules.cache ; \
+ 	fi
+ else
+ install-data-hook:
+diff -ru -x '*~' uim-1.8.6.orig/gtk3/immodule/Makefile.in uim-1.8.6/gtk3/immodule/Makefile.in
+--- uim-1.8.6.orig/gtk3/immodule/Makefile.in	2013-06-30 13:27:08.000000000 +0900
++++ uim-1.8.6/gtk3/immodule/Makefile.in	2014-07-13 21:56:11.531225832 +0900
+@@ -893,42 +893,11 @@
+ 
+ @GTK3_TRUE@install-data-hook: gtk3-rc-get-immodule-file
+ @GTK3_TRUE@	if test -z $(DESTDIR); then \
+-@GTK3_TRUE@	  if test $(libdir) = $(GTK3_LIBDIR); then \
+-@GTK3_TRUE@	    if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
+-@GTK3_TRUE@	      $(QUERY_COMMAND) --update-cache; \
+-@GTK3_TRUE@	      echo "*** \"`$(GTK3_RC_GET_IMMODULE_FILE)`\" is updated. ***";  \
+-@GTK3_TRUE@	    else \
+-@GTK3_TRUE@	      echo "********************** Warning ***********************"; \
+-@GTK3_TRUE@	      echo " $(QUERY_COMMAND) not found"; \
+-@GTK3_TRUE@	      echo " Please make sure to update"; \
+-@GTK3_TRUE@	      echo " \"`$(GTK3_RC_GET_IMMODULE_FILE)`\""; \
+-@GTK3_TRUE@	      echo " manually."; \
+-@GTK3_TRUE@	      echo "******************************************************"; \
+-@GTK3_TRUE@	    fi \
+-@GTK3_TRUE@	  else \
+-@GTK3_TRUE@	    if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
+-@GTK3_TRUE@	      GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) --update-cache; \
+-@GTK3_TRUE@	    else \
+-@GTK3_TRUE@	      echo "********************** Warning ***********************"; \
+-@GTK3_TRUE@	      echo " $(QUERY_COMMAND) not found"; \
+-@GTK3_TRUE@	      echo " Please make sure to update"; \
+-@GTK3_TRUE@	      echo " immodules.cache"; \
+-@GTK3_TRUE@	      echo " manually, and set"; \
+-@GTK3_TRUE@	      echo " GTK_IM_MODULE_FILE=PATH_TO/immodule.cache"; \
+-@GTK3_TRUE@	      echo " environment variable to use this module."; \
+-@GTK3_TRUE@	      echo "******************************************************"; \
+-@GTK3_TRUE@	    fi \
+-@GTK3_TRUE@	  fi \
++@GTK3_TRUE@	  GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) > $(uim_gtk3_im_module_path)/@GTK3_BINARY_VERSION@/immodules.cache ; \
+ @GTK3_TRUE@	fi
+ @GTK3_TRUE@uninstall-hook:
+ @GTK3_TRUE@	if test -z $(DESTDIR); then \
+-@GTK3_TRUE@	  if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
+-@GTK3_TRUE@	    if test $(libdir) = $(GTK3_LIBDIR); then \
+-@GTK3_TRUE@	      $(QUERY_COMMAND) --update-cache; \
+-@GTK3_TRUE@	    else \
+-@GTK3_TRUE@	      GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) --update-cache; \
+-@GTK3_TRUE@	    fi \
+-@GTK3_TRUE@	  fi \
++@GTK3_TRUE@	  GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) > $(uim_gtk3_im_module_path)/@GTK3_BINARY_VERSION@/immodules.cache ; \
+ @GTK3_TRUE@	fi
+ @GTK3_FALSE@install-data-hook:
+ 
+diff -ru -x '*~' uim-1.8.6.orig/qt4/immodule/quiminputcontextplugin.pro.in uim-1.8.6/qt4/immodule/quiminputcontextplugin.pro.in
+--- uim-1.8.6.orig/qt4/immodule/quiminputcontextplugin.pro.in	2013-06-30 13:26:20.000000000 +0900
++++ uim-1.8.6/qt4/immodule/quiminputcontextplugin.pro.in	2014-03-09 11:31:19.388085048 +0900
+@@ -35,4 +35,4 @@
+ 
+ TARGET = uiminputcontextplugin
+ 
+-target.path += @DESTDIR@$$[QT_INSTALL_PLUGINS]/inputmethods
++target.path += @DESTDIR@@exec_prefix@/lib/qt4/plugins/inputmethods
diff --git a/pkgs/tools/misc/abduco/default.nix b/pkgs/tools/misc/abduco/default.nix
new file mode 100644
index 00000000000..a3f5c4a1d61
--- /dev/null
+++ b/pkgs/tools/misc/abduco/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, writeText, conf? null}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+    name = "abduco-0.1";
+
+    meta = {
+        homepage = http://brain-dump.org/projects/abduco;
+        license = licenses.isc;
+        description = "Allows programs to be run independently from its controlling terminal";
+        platforms = with platforms; linux;
+    };
+
+    src = fetchurl {
+        url = "http://www.brain-dump.org/projects/abduco/${name}.tar.gz";
+        sha256 = "b4ef297cb7cc81170dc7edf75385cb1c55e024a52f90c1dd0bc0e9862e6f39b5";
+    };
+
+    configFile = optionalString (conf!=null) (writeText "config.def.h" conf);
+    preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h";
+
+    buildInputs = [];
+
+    installPhase = ''
+      make PREFIX=$out install
+    '';
+}
diff --git a/pkgs/tools/misc/cpuminer-multi/default.nix b/pkgs/tools/misc/cpuminer-multi/default.nix
new file mode 100644
index 00000000000..c61e0ff00b3
--- /dev/null
+++ b/pkgs/tools/misc/cpuminer-multi/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchgit, curl, jansson, autoconf, automake, openssl
+, aesni ? true }:
+
+let
+  rev = "4230012da5d1cc491976c6f5e45da36db6d9f576";
+  date = "20140619";
+in
+stdenv.mkDerivation rec {
+  name = "cpuminer-multi-${date}-${stdenv.lib.strings.substring 0 7 rev}";
+
+  src = fetchgit {
+    inherit rev;
+    url = https://github.com/wolf9466/cpuminer-multi.git;
+    sha256 = "c19a5dd1bfdbbaec3729f61248e858a5d8701424fffe67fdabf8179ced9c110b";
+  };
+
+  buildInputs = [ autoconf automake curl jansson openssl ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  configureFlags = if aesni then [ "--disable-aes-ni" ] else [ ];
+
+  meta = with stdenv.lib; {
+    description = "Multi-algo CPUMiner";
+    homepage = https://github.com/wolf9466/cpuminer-multi;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.emery ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/misc/execline/default.nix b/pkgs/tools/misc/execline/default.nix
new file mode 100644
index 00000000000..ba0784138b3
--- /dev/null
+++ b/pkgs/tools/misc/execline/default.nix
@@ -0,0 +1,54 @@
+{stdenv, fetchurl, skalibs}:
+
+let
+
+  version = "1.3.1.1";
+
+in stdenv.mkDerivation rec {
+
+  name = "execline-${version}";
+
+  src = fetchurl {
+    url = "http://skarnet.org/software/execline/${name}.tar.gz";
+    sha256 = "1br3qzif166kbp4k813ljbyq058p7mfsp2lj88n8vi4dmj935nzg";
+  };
+
+  buildInputs = [ skalibs ];
+
+  sourceRoot = "admin/${name}";
+
+  configurePhase = ''
+    pushd conf-compile
+
+    printf "$out/bin"     > conf-install-command
+    printf "$out/include" > conf-install-include
+    printf "$out/lib"     > conf-install-library
+    printf "$out/lib"     > conf-install-library.so
+    printf "$out/sysdeps" > conf-install-sysdeps
+
+    printf "${skalibs}/sysdeps" > import
+    printf "${skalibs}/include" > path-include
+    printf "${skalibs}/lib"     > path-library
+
+    # let nix builder strip things, cross-platform
+    truncate --size 0 conf-stripbins
+    truncate --size 0 conf-striplibs
+
+    rm -f flag-slashpackage
+    touch flag-allstatic
+
+    popd
+  '';
+
+  preBuild = ''
+    patchShebangs src/sys
+  '';
+
+  meta = {
+    homepage = http://skarnet.org/software/execline/;
+    description = "A small scripting language, to be used in place of a shell in non-interactive scripts.";
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.isc;
+  };
+
+}
diff --git a/pkgs/tools/misc/flashrom/default.nix b/pkgs/tools/misc/flashrom/default.nix
new file mode 100644
index 00000000000..c4e74359b15
--- /dev/null
+++ b/pkgs/tools/misc/flashrom/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, libftdi, pciutils }:
+
+let version = "0.9.7"; in
+stdenv.mkDerivation rec {
+  name = "flashrom-${version}";
+
+  src = fetchurl {
+    url = "http://download.flashrom.org/releases/${name}.tar.bz2";
+    sha256 = "5a55212d00791981a9a1cb0cdca9d9e58bea6d399864251e7b410b4d3d6137e9";
+  };
+
+  buildInputs = [ pkgconfig libftdi pciutils ];
+
+  makeFlags = ["PREFIX=$out"];
+
+  meta = {
+    homepage = "http://www.flashrom.org";
+    description = "Utility for reading, writing, erasing and verifying flash ROM chips";
+    license = "GPLv2";
+    maintainers = [ stdenv.lib.maintainers.funfunctor ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/tools/misc/goaccess/default.nix b/pkgs/tools/misc/goaccess/default.nix
index 56e18227d66..0f8f82acaed 100644
--- a/pkgs/tools/misc/goaccess/default.nix
+++ b/pkgs/tools/misc/goaccess/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = {
-    description = "GoAccess is an open source real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems.";
+    description = "Real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems";
     homepage    = http://goaccess.prosoftcorp.com;
     license     = stdenv.lib.licenses.mit;
     platforms   = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix
index b1877bdcf98..e3c07af759c 100644
--- a/pkgs/tools/misc/grub/2.0x.nix
+++ b/pkgs/tools/misc/grub/2.0x.nix
@@ -1,30 +1,45 @@
-{ fetchurl, stdenv, flex, bison, gettext, ncurses, libusb, freetype, qemu
-, devicemapper, EFIsupport ? false }:
-
+{ stdenv, fetchurl, autogen, flex, bison, python, autoconf, automake
+, gettext, ncurses, libusb, freetype, qemu, devicemapper
+, linuxPackages ? null
+, efiSupport ? false
+, zfsSupport ? false
+}:
+
+with stdenv.lib;
 let
+  efiSystems = {
+    "i686-linux".target = "i386";
+    "x86_64-linux".target = "x86_64";
+  };
 
-  prefix = "grub${if EFIsupport then "-efi" else ""}";
+  canEfi = any (system: stdenv.system == system) (mapAttrsToList (name: _: name) efiSystems);
 
-  version = "2.00";
+  prefix = "grub${if efiSupport then "-efi" else ""}";
+
+  version = "2.02-beta2";
 
   unifont_bdf = fetchurl {
     url = "http://unifoundry.com/unifont-5.1.20080820.bdf.gz";
     sha256 = "0s0qfff6n6282q28nwwblp5x295zd6n71kl43xj40vgvdqxv0fxx";
   };
+in (
 
-in
+assert efiSupport -> canEfi;
+assert zfsSupport -> linuxPackages != null && linuxPackages.zfs != null;
 
 stdenv.mkDerivation rec {
   name = "${prefix}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnu/grub/grub-${version}.tar.xz";
-    sha256 = "0n64hpmsccvicagvr0c6v0kgp2yw0kgnd3jvsyd26cnwgs7c6kkq";
+    name = "grub-2.02-beta2.tar.xz";
+    url = "http://alpha.gnu.org/gnu/grub/grub-2.02~beta2.tar.xz";
+    sha256 = "13a13fhc0wf473dn73zhga15mjvkg6vqp4h25dxg4n7am2r05izn";
   };
 
-  nativeBuildInputs = [ flex bison ];
+  nativeBuildInputs = [ autogen flex bison python autoconf automake ];
   buildInputs = [ ncurses libusb freetype gettext devicemapper ]
-    ++ stdenv.lib.optional doCheck qemu;
+    ++ optional doCheck qemu
+    ++ optional zfsSupport linuxPackages.zfs;
 
   preConfigure =
     '' for i in "tests/util/"*.in
@@ -43,27 +58,19 @@ stdenv.mkDerivation rec {
        # 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'
-
-       # Fix for building on Glibc 2.16.  Won't be needed once the
-       # gnulib in grub is updated.
-       sed -i '/gets is a security hole/d' grub-core/gnulib/stdio.in.h
     '';
 
   prePatch =
-    '' gunzip < "${unifont_bdf}" > "unifont.bdf"
+    '' sh autogen.sh
+       gunzip < "${unifont_bdf}" > "unifont.bdf"
        sed -i "configure" \
            -e "s|/usr/src/unifont.bdf|$PWD/unifont.bdf|g"
     '';
 
   patches = [ ./fix-bash-completion.patch ];
 
-  configureFlags =
-    let arch = if stdenv.system == "i686-linux" then "i386"
-               else if stdenv.system == "x86_64-linux" then "x86_64"
-               else throw "unsupported EFI firmware architecture";
-    in
-      stdenv.lib.optionals EFIsupport
-        [ "--with-platform=efi" "--target=${arch}" "--program-prefix=" ];
+  configureFlags = optional zfsSupport "--enable-libzfs"
+    ++ optionals efiSupport [ "--with-platform=efi" "--target=${efiSystems.${stdenv.system}.target}" "--program-prefix=" ];
 
   doCheck = false;
   enableParallelBuilding = true;
@@ -72,7 +79,7 @@ stdenv.mkDerivation rec {
     paxmark pms $out/sbin/grub-{probe,bios-setup}
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "GNU GRUB, the Grand Unified Boot Loader (2.x beta)";
 
     longDescription =
@@ -89,11 +96,8 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/grub/;
 
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
 
-    platforms = if EFIsupport then
-      [ "i686-linux" "x86_64-linux" ]
-    else
-      stdenv.lib.platforms.gnu;
+    platforms = platforms.gnu;
   };
-}
+})
diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix
index a7d03d1335f..5cdc468c2a5 100644
--- a/pkgs/tools/misc/hdf5/default.nix
+++ b/pkgs/tools/misc/hdf5/default.nix
@@ -3,6 +3,8 @@
 , fetchurl
 , zlib ? null
 , szip ? null
+, mpi ? null
+, enableShared ? true
 }:
 stdenv.mkDerivation rec {
   version = "1.8.13";
@@ -12,11 +14,23 @@ stdenv.mkDerivation rec {
     sha256 = "1h9qdl321gzm3ihdhlijbl9sh9qcdrw94j7izg64yfqhxj7b7xl2";  			
   };
 
+  passthru = {
+    mpiSupport = (mpi != null);
+    inherit mpi;
+  };
+
   buildInputs = []
     ++ stdenv.lib.optional (zlib != null) zlib
     ++ stdenv.lib.optional (szip != null) szip;
 
-  configureFlags = if szip != null then "--with-szlib=${szip}" else "";
+  propagatedBuildInputs = []
+    ++ stdenv.lib.optional (mpi != null) mpi;
+
+  configureFlags = "
+    ${if szip != null then "--with-szlib=${szip}" else ""}
+    ${if mpi != null then "--enable-parallel" else ""}
+    ${if enableShared then "--enable-shared" else ""}
+  ";
   
   patches = [./bin-mv.patch];
   
diff --git a/pkgs/tools/misc/idutils/default.nix b/pkgs/tools/misc/idutils/default.nix
index 2b2f3aeaca3..503beefa15a 100644
--- a/pkgs/tools/misc/idutils/default.nix
+++ b/pkgs/tools/misc/idutils/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   patches = [ ./nix-mapping.patch ];
 
   meta = {
-    description = "GNU Idutils, a text searching utility";
+    description = "Text searching utility";
 
     longDescription = ''
       An "ID database" is a binary file containing a list of file
diff --git a/pkgs/tools/misc/lbdb/default.nix b/pkgs/tools/misc/lbdb/default.nix
index 20830bad6bf..6d03b09c588 100644
--- a/pkgs/tools/misc/lbdb/default.nix
+++ b/pkgs/tools/misc/lbdb/default.nix
@@ -17,6 +17,6 @@ stdenv.mkDerivation {
     homepage = "http://www.spinnaker.de/lbdb/";
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.all;
-    description = "The Little Brother's Database (lbdb)";
+    description = "The Little Brother's Database";
   };
 }
diff --git a/pkgs/tools/misc/ldapvi/default.nix b/pkgs/tools/misc/ldapvi/default.nix
index 28d9b4863d4..6dba834e8be 100644
--- a/pkgs/tools/misc/ldapvi/default.nix
+++ b/pkgs/tools/misc/ldapvi/default.nix
@@ -21,7 +21,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "ldapvi is an interactive LDAP client for Unix terminals. Using it, you can update LDAP entries with a text editor";
+    description = "Interactive LDAP client for Unix terminals";
+    longDescription = ''
+      ldapvi is an interactive LDAP client for Unix terminals. Using it, you
+      can update LDAP entries with a text editor.
+    '';
     homepage = http://www.lichteblau.com/ldapvi/;
     license = licenses.gpl2;
     maintainers = with maintainers; [ iElectric ];
diff --git a/pkgs/tools/misc/logstash-forwarder/default.nix b/pkgs/tools/misc/logstash-forwarder/default.nix
index 52180c75c98..961dbc08335 100644
--- a/pkgs/tools/misc/logstash-forwarder/default.nix
+++ b/pkgs/tools/misc/logstash-forwarder/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, go }:
+{ stdenv, fetchgit, go_1_1 }:
 stdenv.mkDerivation {
   name = "logstash-forwarder-20140410";
   src = fetchgit {
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
     rev = "ec504792108ab6536b45bcf6dff6d26a6b56fef3";
     sha256 = "309545ceaec171bee997cad260bef1433e041b9f3bfe617d475bcf79924f943d";
   };
-  buildInputs = [ go ];
+  buildInputs = [ go_1_1 ];
   installPhase = ''
     mkdir -p $out/bin
     cp build/bin/logstash-forwarder $out/bin
@@ -15,5 +15,6 @@ stdenv.mkDerivation {
   meta = {
     license = stdenv.lib.licenses.asl20;
     homepage = https://github.com/elasticsearch/logstash-forwarder;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/minicom/default.nix b/pkgs/tools/misc/minicom/default.nix
index 8ede3aa918b..d731e856790 100644
--- a/pkgs/tools/misc/minicom/default.nix
+++ b/pkgs/tools/misc/minicom/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     '';
 
   meta = {
-    description = "Minicom, a modem control and terminal emulation program";
+    description = "Modem control and terminal emulation program";
     homepage = http://alioth.debian.org/projects/minicom/;
 
     longDescription =
diff --git a/pkgs/tools/misc/most/default.nix b/pkgs/tools/misc/most/default.nix
index b7f7842680f..b97d8f0b719 100644
--- a/pkgs/tools/misc/most/default.nix
+++ b/pkgs/tools/misc/most/default.nix
@@ -20,7 +20,8 @@ stdenv.mkDerivation {
   buildInputs = [ slang ncurses ];
 
   meta = {
-    description = ''
+    description = "A terminal pager similar to 'more' and 'less'";
+    longDescription = ''
       MOST is a powerful paging program for Unix, VMS, MSDOS, and win32
       systems. Unlike other well-known paging programs most supports multiple
       windows and can scroll left and right. Why settle for less?
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index df360bb9804..727657ca6e8 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-20140222";
+  name = "parallel-20140822";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "0zb3hg92br6a53jn0pzfl16ffc1hfw81jk7nzw5spkshsdrcqx3y";
+    sha256 = "8a146a59bc71218921d561f2c801b85e06fe3a21571083b58e6e0966dd397fd4";
   };
 
   patchPhase =
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = {
-    description = "GNU Parallel, a shell tool for executing jobs in parallel";
+    description = "Shell tool for executing jobs in parallel";
 
     longDescription =
       '' GNU Parallel is a shell tool for executing jobs in parallel.  A job
diff --git a/pkgs/tools/misc/parted/default.nix b/pkgs/tools/misc/parted/default.nix
index 108d4d5e040..01b9f391a44 100644
--- a/pkgs/tools/misc/parted/default.nix
+++ b/pkgs/tools/misc/parted/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
       "export PATH=\"${utillinux}/sbin:$PATH\"";
 
   meta = {
-    description = "GNU Parted, a tool to create, destroy, resize, check, and copy partitions";
+    description = "Create, destroy, resize, check, and copy partitions";
 
     longDescription = ''
       GNU Parted is an industrial-strength package for creating, destroying,
diff --git a/pkgs/tools/misc/pg_top/default.nix b/pkgs/tools/misc/pg_top/default.nix
index 392fcbcc8ff..0d379cd11d4 100644
--- a/pkgs/tools/misc/pg_top/default.nix
+++ b/pkgs/tools/misc/pg_top/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
   buildInputs = [ncurses postgresql]; 
 
   meta = {
-    description = "pg_top is 'top' for PostgreSQL";
+    description = "A 'top' like tool for PostgreSQL";
     longDescription = '' 
       pg_top allows you to: 
       <itemizedlist>
diff --git a/pkgs/tools/misc/recutils/default.nix b/pkgs/tools/misc/recutils/default.nix
index f2f5f37ebe4..4d6829e99a4 100644
--- a/pkgs/tools/misc/recutils/default.nix
+++ b/pkgs/tools/misc/recutils/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ curl emacs ] ++ (stdenv.lib.optionals doCheck [ check bc ]);
 
   meta = {
-    description = "GNU Recutils, tools and libraries to access human-editable, text-based databases";
+    description = "Tools and libraries to access human-editable, text-based databases";
 
     longDescription =
       '' GNU Recutils is a set of tools and libraries to access
diff --git a/pkgs/tools/misc/time/default.nix b/pkgs/tools/misc/time/default.nix
index 3a35e9a9f1c..737ba244fe8 100644
--- a/pkgs/tools/misc/time/default.nix
+++ b/pkgs/tools/misc/time/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
   patches = [ ./max-resident.patch ];
 
   meta = {
-    description = "GNU Time, a tool that runs programs and summarizes the system resources they use";
+    description = "Tool that runs programs and summarizes the system resources they use";
 
     longDescription = ''
       The `time' command runs another program, then displays
diff --git a/pkgs/tools/misc/tmpwatch/default.nix b/pkgs/tools/misc/tmpwatch/default.nix
index c19d58b9816..760f56726fa 100644
--- a/pkgs/tools/misc/tmpwatch/default.nix
+++ b/pkgs/tools/misc/tmpwatch/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = https://fedorahosted.org/tmpwatch/;
-    description = "The tmpwatch utility recursively searches through specified directories and removes files which have not been accessed in a specified period of time.";
+    description = "Recursively searches through specified directories and removes files which have not been accessed in a specified period of time";
     license = licenses.gpl2;
     maintainers = with maintainers; [ vlstill ];
     platforms = platforms.unix;
diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix
index 4acbabb50f9..32f681dabeb 100644
--- a/pkgs/tools/misc/tmux/default.nix
+++ b/pkgs/tools/misc/tmux/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://tmux.sourceforge.net/;
-    description = "tmux is a terminal multiplexer";
+    description = "Terminal multiplexer";
 
     longDescription =
       '' tmux is intended to be a modern, BSD-licensed alternative to programs such as GNU screen. Major features include:
diff --git a/pkgs/tools/misc/yad/default.nix b/pkgs/tools/misc/yad/default.nix
index fcdf5095d70..d884d48f521 100644
--- a/pkgs/tools/misc/yad/default.nix
+++ b/pkgs/tools/misc/yad/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://code.google.com/p/yad/";
-    description = "Yad (yet another dialog) is a GUI dialog tool for shell scripts";
+    description = "GUI dialog tool for shell scripts";
     longDescription = ''
       Yad (yet another dialog) is a GUI dialog tool for shell scripts. It is a
       fork of Zenity with many improvements, such as custom buttons, additional
diff --git a/pkgs/tools/networking/atftp/default.nix b/pkgs/tools/networking/atftp/default.nix
index 225c3c04f7a..acd71ea893d 100644
--- a/pkgs/tools/networking/atftp/default.nix
+++ b/pkgs/tools/networking/atftp/default.nix
@@ -1,59 +1,27 @@
-x@{builderDefsPackage
-  , readline, tcp_wrappers, pcre, runCommand
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+{ stdenv, fetchurl, pcre, readline }:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="atftp";
-    version="0.7";
-    name="${baseName}-${version}";
-    url="mirror://debian/pool/main/a/atftp/atftp_${version}.dfsg.orig.tar.gz";
-    hash="0nd5dl14d6z5abgcbxcn41rfn3syza6s57bbgh4aq3r9cxdmz08q";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
-
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+stdenv.mkDerivation {
+  name = "atftp-0.7.1";
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doPatch" "doConfigure" "doMakeInstall"];
-      
-  debianPatchGz = a.fetchurl {
-    url = ftp://ftp.ru.debian.org/pub/debian/pool/main/a/atftp/atftp_0.7.dfsg-11.diff.gz;
-    sha256 = "07g4qbmp0lnscg2dkj6nsj657jaghibvfysdm1cdxcn215n3zwqd";
+  src = fetchurl {
+    url = "mirror://sourceforge/atftp/atftp-0.7.1.tar.gz";
+    sha256 = "0bgr31gbnr3qx4ixf8hz47l58sh3367xhcnfqd8233fvr84nyk5f";
   };
 
-  debianPatch = a.runCommand "atftp-0.7.dfsg-11" {} ''
-    gunzip < "${debianPatchGz}" > "$out"
-  '';
+  buildInputs = [ pcre readline ];
 
-  patches = [debianPatch];
+  NIX_LDFLAGS = "-lgcc_s"; # for pthread_cancel
 
-  meta = {
-    description = "Advanced tftp tools";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = a.lib.licenses.gpl2Plus;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://packages.debian.org/source/sid/atftp";
-    };
-  };
-}) x
+  configureFlags = [
+    "--enable-libreadline"
+    "--enable-libpcre"
+    "--enable-mtftp"
+  ];
 
+  meta = with stdenv.lib; {
+    description = "Advanced TFTP server and client";
+    homepage = http://sourceforge.net/projects/atftp/;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/cntlm/default.nix b/pkgs/tools/networking/cntlm/default.nix
index cd3ae12a11b..f890bdddb69 100644
--- a/pkgs/tools/networking/cntlm/default.nix
+++ b/pkgs/tools/networking/cntlm/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    description = "Cntlm is an NTLM/NTLMv2 authenticating HTTP proxy";
+    description = "NTLM/NTLMv2 authenticating HTTP proxy";
     homepage = http://cntlm.sourceforge.net/;
     license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.qknight ];
diff --git a/pkgs/tools/networking/connman/default.nix b/pkgs/tools/networking/connman/default.nix
index c99af220a56..7d955b44950 100644
--- a/pkgs/tools/networking/connman/default.nix
+++ b/pkgs/tools/networking/connman/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    description = "The ConnMan project provides a daemon for managing internet connections";
+    description = "Provides a daemon for managing internet connections";
     homepage = "https://connman.net/";
     maintainers = [ stdenv.lib.maintainers.matejc ];
     # tested only on linux, might work on others also
diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix
index cec4057a284..02f24ce4c00 100644
--- a/pkgs/tools/networking/dnsmasq/default.nix
+++ b/pkgs/tools/networking/dnsmasq/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ pkgconfig, dbus_libs, nettle, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
   name = "dnsmasq-2.71";
@@ -8,13 +8,35 @@ stdenv.mkDerivation rec {
     sha256 = "1fpzpzja7qr8b4kfdhh4i4sijp62c634yf0xvq2n4p7d5xbzn6a9";
   };
 
+  # Can't rely on make flags because of space in one of the parameters
+  buildPhase = ''
+    make COPTS="-DHAVE_DNSSEC -DHAVE_DBUS"
+  '';
+
+  # make flags used for installation only
   makeFlags = "DESTDIR= BINDIR=$(out)/bin MANDIR=$(out)/man LOCALEDIR=$(out)/share/locale";
 
-  meta = {
+  postInstall = ''
+    install -Dm644 dbus/dnsmasq.conf $out/etc/dbus-1/system.d/dnsmasq.conf
+    install -Dm644 trust-anchors.conf $out/share/dnsmasq/trust-anchors.conf
+
+    ensureDir $out/share/dbus-1/system-services
+    cat <<END > $out/share/dbus-1/system-services/uk.org.thekelleys.dnsmasq.service
+    [D-BUS Service]
+    Name=uk.org.thekelleys.dnsmasq
+    Exec=$out/sbin/dnsmasq -k -1
+    User=root
+    SystemdService=dnsmasq.service
+    END
+  '';
+
+  buildInputs = [ pkgconfig dbus_libs nettle ];
+
+  meta = with stdenv.lib; {
     description = "An integrated DNS, DHCP and TFTP server for small networks";
     homepage = http://www.thekelleys.org.uk/dnsmasq/doc.html;
-    license = "GPL";
-    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
+    license = licenses.gpl2;
+    platforms = with platforms; linux ++ darwin;
+    maintainers = with maintainers; [ eelco ];
   };
 }
diff --git a/pkgs/tools/networking/flvstreamer/default.nix b/pkgs/tools/networking/flvstreamer/default.nix
index f9322129612..ab8e14fddd0 100644
--- a/pkgs/tools/networking/flvstreamer/default.nix
+++ b/pkgs/tools/networking/flvstreamer/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "flvstreamer is an command-line RTMP client";
+    description = "Command-line RTMP client";
 
     longDescription =
       '' flvstreamer is an open source command-line RTMP client intended to 
diff --git a/pkgs/tools/networking/host/default.nix b/pkgs/tools/networking/host/default.nix
index c74dbe52829..54cb8b21aaf 100644
--- a/pkgs/tools/networking/host/default.nix
+++ b/pkgs/tools/networking/host/default.nix
@@ -18,7 +18,7 @@ let version = "20000331"; in
     installTargets = "install man";
 
     meta = {
-      description = "`host', a DNS resolution utility";
+      description = "DNS resolution utility";
       license = "BSD-style";
     };
   }
diff --git a/pkgs/tools/networking/inetutils/default.nix b/pkgs/tools/networking/inetutils/default.nix
index 20ee6da8a30..a6a921f6f58 100644
--- a/pkgs/tools/networking/inetutils/default.nix
+++ b/pkgs/tools/networking/inetutils/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "GNU Inetutils, a collection of common network programs";
+    description = "Collection of common network programs";
 
     longDescription =
       '' The GNU network utilities suite provides the
diff --git a/pkgs/tools/networking/jnettop/default.nix b/pkgs/tools/networking/jnettop/default.nix
index 49753d189d6..cfeaf47fdf2 100644
--- a/pkgs/tools/networking/jnettop/default.nix
+++ b/pkgs/tools/networking/jnettop/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   preConfigure = '' autoconf '';
 
   meta = {
-    description = "Jnettop, a network traffic visualizer";
+    description = "Network traffic visualizer";
 
     longDescription = ''
       Jnettop is a traffic visualiser, which captures traffic going
diff --git a/pkgs/tools/networking/lsh/default.nix b/pkgs/tools/networking/lsh/default.nix
index 6be4119469e..c86dba91f5e 100644
--- a/pkgs/tools/networking/lsh/default.nix
+++ b/pkgs/tools/networking/lsh/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ gperf guile gmp zlib liboop readline gnum4 pam ];
 
   meta = {
-    description = "GNU lsh, a GPL'd implementation of the SSH protocol";
+    description = "GPL'd implementation of the SSH protocol";
 
     longDescription = ''
       lsh is a free implementation (in the GNU sense) of the ssh
diff --git a/pkgs/tools/networking/mailutils/default.nix b/pkgs/tools/networking/mailutils/default.nix
index 4c1001310ae..0ee49032704 100755
--- a/pkgs/tools/networking/mailutils/default.nix
+++ b/pkgs/tools/networking/mailutils/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   doCheck = false;
 
   meta = {
-    description = "GNU Mailutils is a rich and powerful protocol-independent mail framework";
+    description = "Rich and powerful protocol-independent mail framework";
 
     longDescription = ''
       GNU Mailutils is a rich and powerful protocol-independent mail
diff --git a/pkgs/tools/networking/minidlna/default.nix b/pkgs/tools/networking/minidlna/default.nix
index 02013d8ede6..9db42f09d81 100644
--- a/pkgs/tools/networking/minidlna/default.nix
+++ b/pkgs/tools/networking/minidlna/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ ffmpeg flac libvorbis libogg libid3tag libexif libjpeg sqlite ];
 
   meta = {
-    description = "MiniDLNA Media Server";
+    description = "Media server software";
     longDescription = ''
       MiniDLNA (aka ReadyDLNA) is server software with the aim of being fully
       compliant with DLNA/UPnP-AV clients.
diff --git a/pkgs/tools/networking/netboot/default.nix b/pkgs/tools/networking/netboot/default.nix
index ec49770d269..dbf393094c8 100644
--- a/pkgs/tools/networking/netboot/default.nix
+++ b/pkgs/tools/networking/netboot/default.nix
@@ -1,47 +1,18 @@
-x@{builderDefsPackage
-  , fetchurl, yacc, bison, ...}:
-builderDefsPackage
-(a :
-let
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
-    [];
+{ stdenv, fetchurl, yacc, lzo, db4 }:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    version="0.10.2";
-    baseName="netboot";
-    name="${baseName}-${version}";
-    url="mirror://sourceforge/netboot/${name}.tar.gz";
-    hash="09w09bvwgb0xzn8hjz5rhi3aibysdadbg693ahn8rylnqfq4hwg0";
+stdenv.mkDerivation rec {
+  name = "netboot-0.10.2";
+  src = fetchurl {
+    url = "mirror://sourceforge/netboot/${name}.tar.gz";
+    sha256 = "09w09bvwgb0xzn8hjz5rhi3aibysdadbg693ahn8rylnqfq4hwg0";
   };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
-
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doUnpack" "doConfigure" "doMakeInstall"];
+  
+  buildInputs = [ yacc lzo db4 ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Mini PXE server";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
+    maintainers = [ maintainers.raskin ];
+    platforms = ["x86_64-linux"];
     license = "free-noncopyleft";
   };
-  passthru = {
-    updateInfo = {
-      downloadPage = "https://github.com/ITikhonov/netboot";
-    };
-  };
-}) x
-
+}
\ No newline at end of file
diff --git a/pkgs/tools/networking/ntopng/default.nix b/pkgs/tools/networking/ntopng/default.nix
index 3c33da1b661..52554209d59 100644
--- a/pkgs/tools/networking/ntopng/default.nix
+++ b/pkgs/tools/networking/ntopng/default.nix
@@ -1,16 +1,36 @@
 { stdenv, fetchurl, libpcap, gnutls, libgcrypt, libxml2, glib, geoip, sqlite
-, which
+, which, autoreconfHook, subversion, pkgconfig, groff
 }:
 
 # ntopng includes LuaJIT, mongoose, rrdtool and zeromq in its third-party/
 # directory.
 
 stdenv.mkDerivation rec {
-  name = "ntopng-1.1_6932";
+  name = "ntopng-1.2.0_r8116";
+
+  geoLiteCity = fetchurl {
+    url = "http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz";
+    sha256 = "1rv5yx5xgz04ymicx9pilidm19wh01ql2klwjcdakv558ndxdzd5";
+  };
+
+  geoLiteCityV6 = fetchurl {
+    url = "http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz";
+    sha256 = "0j974qpi92wwnibq46h16vxpcz7yy8bbqc4k8kmby1yx994k33v4";
+  };
+
+  geoIPASNum = fetchurl {
+    url = "http://geolite.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz";
+    sha256 = "1msnbls66npq001nmf1wmkrh6vyacgi8g5phfm1c34cz7vqnh683";
+  };
+
+  geoIPASNumV6 = fetchurl {
+    url = "http://geolite.maxmind.com/download/geoip/database/asnum/GeoIPASNumv6.dat.gz";
+    sha256 = "126syia75mkxs6xfinfp70xcfq6a3rgfmh673pzzkwxya393lbdn";
+  };
 
   src = fetchurl {
     url = "mirror://sourceforge/project/ntop/ntopng/${name}.tgz";
-    sha256 = "0cdbmrsjp3bb7xzci0vfnnkmbyxwxbf47l4kbnk4ydd7xwhwdnzr";
+    sha256 = "0y7xc0l77k2qi2qalwfqiw2z361hdypirfv4k5gi652pb20jc9j6";
   };
 
   patches = [
@@ -18,19 +38,13 @@ stdenv.mkDerivation rec {
     ./0002-Remove-requirement-to-have-writeable-callback-dir.patch
   ];
 
-  buildInputs = [ libpcap gnutls libgcrypt libxml2 glib geoip sqlite which ];
-
-  preBuild = ''
-    sed -e "s|^SHELL=.*|SHELL=${stdenv.shell}|" \
-        -e "s|/usr/local|$out|g" \
-        -e "s|/bin/rm|rm|g" \
-        -i Makefile
+  buildInputs = [ libpcap gnutls libgcrypt libxml2 glib geoip sqlite which autoreconfHook subversion pkgconfig groff ];
 
-    sed -e "s|^SHELL=.*|SHELL=${stdenv.shell}|" \
-        -e "s|/usr/local|$out|g" \
-        -e "s|/opt/local|/non-existing-dir|g" \
-        -i configure
+  preConfigure = ''
+    find . -name Makefile.in | xargs sed -i "s|/bin/rm|rm|"
+  '';
 
+  preBuild = ''
     sed -e "s|/usr/local|$out|g" \
         -i Ntop.cpp
 
@@ -40,6 +54,11 @@ stdenv.mkDerivation rec {
         -e "s|\(#define CONST_DEFAULT_CALLBACKS_DIR\).*|\1 \"$out/share/ntopng/scripts/callbacks\"|g" \
         -e "s|\(#define CONST_DEFAULT_INSTALL_DIR\).*|\1 \"$out/share/ntopng\"|g" \
         -i ntop_defines.h
+
+    gunzip -c $geoLiteCity > httpdocs/geoip/GeoLiteCity.dat
+    gunzip -c $geoLiteCityV6 > httpdocs/geoip/GeoLiteCityv6.dat
+    gunzip -c $geoIPASNum > httpdocs/geoip/GeoIPASNum.dat
+    gunzip -c $geoIPASNumV6 > httpdocs/geoip/GeoIPASNumv6.dat
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/networking/radvd/default.nix b/pkgs/tools/networking/radvd/default.nix
index 14d0d99119d..e74106ec67f 100644
--- a/pkgs/tools/networking/radvd/default.nix
+++ b/pkgs/tools/networking/radvd/default.nix
@@ -1,16 +1,20 @@
-{ stdenv, fetchurl, bison, flex }:
+{ stdenv, fetchurl, pkgconfig, libdaemon, bison, flex, check }:
 
 stdenv.mkDerivation rec {
-  name = "radvd-1.8.1";
+  name = "radvd-2.5";
   
   src = fetchurl {
-    url = "http://www.litech.org/radvd/dist/${name}.tar.gz";
-    sha256 = "1sg3halppbz3vwr88lbcdv7mndzwl4nkqnrafkyf2a248wwz2cbc";
+    url = "http://www.litech.org/radvd/dist/${name}.tar.xz";
+    sha256 = "0hsa647l236q9rhrwjb44xqmjfz4fxzcixlbf2chk4lzh8lzwjp0";
   };
 
-  buildInputs = [ bison flex ];
+  buildInputs = [ pkgconfig libdaemon bison flex check ];
 
-  meta.homepage = http://www.litech.org/radvd/;
-  meta.description = "IPv6 Router Advertisement Daemon";
-  meta.platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    homepage = http://www.litech.org/radvd/;
+    description = "IPv6 Router Advertisement Daemon";
+    platforms = platforms.linux;
+    license = licenses.bsdOriginal;
+    maintainers = with maintainers; [ wkennington ];
+  };
 }
diff --git a/pkgs/tools/networking/spiped/default.nix b/pkgs/tools/networking/spiped/default.nix
index ac2736ffb19..f854b92b87e 100644
--- a/pkgs/tools/networking/spiped/default.nix
+++ b/pkgs/tools/networking/spiped/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "spiped-${version}";
-  version = "1.3.1";
+  version = "1.4.0";
 
   src = fetchurl {
     url    = "http://www.tarsnap.com/spiped/${name}.tgz";
-    sha256 = "1viglk61v1v2ga1n31r0h8rvib5gy2h02lhhbbnqh2s6ps1sjn4a";
+    sha256 = "0pyg1llnqgfx7n7mi3dq4ra9xg3vkxlf01z5jzn7ncq5d6ii7ynq";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/networking/tcpdump/default.nix b/pkgs/tools/networking/tcpdump/default.nix
index 2e27c2b2dc3..ed295e95a38 100644
--- a/pkgs/tools/networking/tcpdump/default.nix
+++ b/pkgs/tools/networking/tcpdump/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = {
-    description = "tcpdump, a famous network sniffer";
+    description = "Network sniffer";
     homepage = http://www.tcpdump.org/;
     license = "BSD-style";
     maintainers = stdenv.lib.maintainers.mornfall;
diff --git a/pkgs/tools/networking/wget/default.nix b/pkgs/tools/networking/wget/default.nix
index 6ff5439c4bc..27d7fe2572a 100644
--- a/pkgs/tools/networking/wget/default.nix
+++ b/pkgs/tools/networking/wget/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
   doCheck = (perl != null);
 
   meta = {
-    description = "GNU Wget, a tool for retrieving files using HTTP, HTTPS, and FTP";
+    description = "Tool for retrieving files using HTTP, HTTPS, and FTP";
 
     longDescription =
       '' GNU Wget is a free software package for retrieving files using HTTP,
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index b2e86935b50..6631214f39a 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -66,7 +66,14 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
-    description = "The Nix Deployment System";
+    description = "Powerful package manager that makes package management reliable and reproducible";
+    longDescription = ''
+      Nix is a powerful package manager for Linux and other Unix systems that
+      makes package management reliable and reproducible. It provides atomic
+      upgrades and rollbacks, side-by-side installation of multiple versions of
+      a package, multi-user package management and easy setup of build
+      environments.
+    '';
     homepage = http://nixos.org/;
     license = stdenv.lib.licenses.lgpl2Plus;
     maintainers = [ stdenv.lib.maintainers.eelco ];
diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix
index 731965d9a7c..bba53b0002f 100644
--- a/pkgs/tools/package-management/nix/unstable.nix
+++ b/pkgs/tools/package-management/nix/unstable.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "nix-1.8pre3748_02843ba";
+  name = "nix-1.8pre3766_809ca33";
 
   src = fetchurl {
-    url = "http://hydra.nixos.org/build/13483092/download/5/${name}.tar.xz";
-    sha256 = "074k5spq07bz6ljbiiwfzsnnnpqlwssigxirkyrcamcyjmig4v34";
+    url = "http://hydra.nixos.org/build/13584170/download/5/${name}.tar.xz";
+    sha256 = "e6d91e73aabf8e8912f9701bf87b66089c197c5b8c8fbcc1707b888c88b96dfd";
   };
 
   nativeBuildInputs = [ perl pkgconfig ];
diff --git a/pkgs/tools/security/chntpw/00-chntpw-build-arch-autodetect.patch b/pkgs/tools/security/chntpw/00-chntpw-build-arch-autodetect.patch
new file mode 100644
index 00000000000..9c379adb7df
--- /dev/null
+++ b/pkgs/tools/security/chntpw/00-chntpw-build-arch-autodetect.patch
@@ -0,0 +1,25 @@
+diff -urN chntpw-140201.orig/Makefile chntpw-140201/Makefile
+--- chntpw-140201.orig/Makefile	2014-02-01 20:54:37.000000000 +0400
++++ chntpw-140201/Makefile	2014-08-03 20:26:56.497161881 +0400
+@@ -12,14 +12,13 @@
+ 
+ CC=gcc
+ 
+-# Force 32 bit
+-CFLAGS= -DUSEOPENSSL -g -I. -I$(OSSLINC) -Wall -m32 
+-OSSLLIB=$(OSSLPATH)/lib
+-
+-# 64 bit if default for compiler setup
+-#CFLAGS= -DUSEOPENSSL -g -I. -I$(OSSLINC) -Wall
+-#OSSLLIB=$(OSSLPATH)/lib64
+-
++ifeq      '$(shell gcc -dumpmachine)' 'x86_64-unknown-linux-gnu'
++  CFLAGS= -DUSEOPENSSL -g -I. -I$(OSSLINC) -Wall
++  OSSLLIB=$(OSSLPATH)/lib64
++else ifeq '$(shell gcc -dumpmachine)' 'i686-unknown-linux-gnu'
++  CFLAGS= -DUSEOPENSSL -g -I. -I$(OSSLINC) -Wall -m32 
++  OSSLLIB=$(OSSLPATH)/lib
++endif
+ 
+ # This is to link with whatever we have, SSL crypto lib we put in static
+ #LIBS=-L$(OSSLLIB) $(OSSLLIB)/libcrypto.a
diff --git a/pkgs/tools/security/chntpw/01-chntpw-install-target.patch b/pkgs/tools/security/chntpw/01-chntpw-install-target.patch
new file mode 100644
index 00000000000..d3163a026f9
--- /dev/null
+++ b/pkgs/tools/security/chntpw/01-chntpw-install-target.patch
@@ -0,0 +1,26 @@
+diff -urN chntpw-140201.orig/Makefile chntpw-140201/Makefile
+--- chntpw-140201.orig/Makefile	2014-08-03 20:26:56.497161881 +0400
++++ chntpw-140201/Makefile	2014-08-04 12:57:16.563818342 +0400
+@@ -10,6 +10,8 @@
+ OSSLPATH=/usr
+ OSSLINC=$(OSSLPATH)/include
+ 
++PREFIX ?= /usr
++
+ CC=gcc
+ 
+ ifeq      '$(shell gcc -dumpmachine)' 'x86_64-unknown-linux-gnu'
+@@ -24,8 +26,12 @@
+ #LIBS=-L$(OSSLLIB) $(OSSLLIB)/libcrypto.a
+ LIBS=-L$(OSSLLIB)
+ 
++BINARIES := chntpw chntpw.static cpnt reged reged.static samusrgrp samusrgrp.static sampasswd sampasswd.static
+ 
+-all: chntpw chntpw.static cpnt reged reged.static samusrgrp samusrgrp.static sampasswd sampasswd.static
++all: $(BINARIES)
++install: $(BINARIES)
++	mkdir -p $(PREFIX)/bin
++	cp $^ $(PREFIX)/bin
+ 
+ chntpw: chntpw.o ntreg.o edlib.o libsam.o
+ 	$(CC) $(CFLAGS) -o chntpw chntpw.o ntreg.o edlib.o libsam.o $(LIBS)
diff --git a/pkgs/tools/security/chntpw/default.nix b/pkgs/tools/security/chntpw/default.nix
new file mode 100644
index 00000000000..a1aab355a3c
--- /dev/null
+++ b/pkgs/tools/security/chntpw/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  name = "chntpw-${version}";
+
+  version = "140201";
+
+  src = fetchurl {
+    url = "http://pogostick.net/~pnh/ntpasswd/chntpw-source-${version}.zip";
+    sha256 = "1k1cxsj0221dpsqi5yibq2hr7n8xywnicl8yyaicn91y8h2hkqln";
+  };
+
+  buildInputs = [ unzip ];
+
+  patches = [
+    ./00-chntpw-build-arch-autodetect.patch
+    ./01-chntpw-install-target.patch
+  ];
+
+  installPhase = ''
+    make install PREFIX=$out
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://pogostick.net/~pnh/ntpasswd/;
+    description = "An utility to reset the password of any user that has a valid local account on a Windows system";
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/tools/security/gnupg/default.nix b/pkgs/tools/security/gnupg/default.nix
index 9b8d33b6b69..64e2be90d30 100644
--- a/pkgs/tools/security/gnupg/default.nix
+++ b/pkgs/tools/security/gnupg/default.nix
@@ -13,11 +13,11 @@ assert useUsb -> (libusb != null);
 assert useCurl -> (curl != null);
 
 stdenv.mkDerivation rec {
-  name = "gnupg-2.0.24";
+  name = "gnupg-2.0.26";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha256 = "0ch2hbindk832cy7ca00a7whw84ndm0nhqrl24a5fw4ldkca2x6r";
+    sha256 = "1q5qcl5panrvcvpwvz6nl9gayl5a6vwvfhgdcxqpmbl2qc6y6n3p";
   };
 
   buildInputs
diff --git a/pkgs/tools/security/hashcat/default.nix b/pkgs/tools/security/hashcat/default.nix
index 5e173724190..699901ad59e 100644
--- a/pkgs/tools/security/hashcat/default.nix
+++ b/pkgs/tools/security/hashcat/default.nix
@@ -1,5 +1,7 @@
 { stdenv, fetchurl, p7zip, patchelf }:
 
+assert stdenv.isLinux;
+
 let
   bits    = if stdenv.system == "x86_64-linux" then "64" else "32";
   libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.libc ];
diff --git a/pkgs/tools/security/mfcuk/default.nix b/pkgs/tools/security/mfcuk/default.nix
new file mode 100644
index 00000000000..9d92482f68f
--- /dev/null
+++ b/pkgs/tools/security/mfcuk/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pkgconfig, libnfc }:
+
+stdenv.mkDerivation rec {
+  name = "mfcuk-${version}";
+  version = "0.3.8";
+
+  src = fetchurl {
+    url = "http://mfcuk.googlecode.com/files/mfcuk-0.3.8.tar.gz";
+    sha256 = "0m9sy61rsbw63xk05jrrmnyc3xda0c3m1s8pg3sf8ijbbdv9axcp";
+  };
+
+  buildInputs = [ pkgconfig libnfc ];
+
+  meta = with stdenv.lib; {
+    description = "MiFare Classic Universal toolKit";
+    license = licenses.gpl2;
+    homepage = http://code.google.com/p/mfcuk/;
+    maintainers = with maintainers; [ offline ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/tools/security/scrypt/default.nix b/pkgs/tools/security/scrypt/default.nix
index fe2a19491d9..668a7605115 100644
--- a/pkgs/tools/security/scrypt/default.nix
+++ b/pkgs/tools/security/scrypt/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ openssl ];
 
   meta = {
-    description = "The scrypt encryption utility";
+    description = "Encryption utility";
     homepage    = https://www.tarsnap.com/scrypt.html;
     license     = stdenv.lib.licenses.bsd2;
     platforms   = stdenv.lib.platforms.all;
diff --git a/pkgs/tools/security/steghide/default.nix b/pkgs/tools/security/steghide/default.nix
index bc87c091a58..03e8c727022 100644
--- a/pkgs/tools/security/steghide/default.nix
+++ b/pkgs/tools/security/steghide/default.nix
@@ -7,7 +7,7 @@
 
     meta = with stdenv.lib; {
         homepage = http://steghide.sourceforge.net/;
-        description = "Steghide is a steganography program that is able to hide data in various kinds of image- and audio-files.";
+        description = "Steganography program that is able to hide data in various kinds of image- and audio-files";
         license = licenses.gpl2;
     };
 
diff --git a/pkgs/tools/security/stricat/default.nix b/pkgs/tools/security/stricat/default.nix
new file mode 100644
index 00000000000..64ebb4c0ca2
--- /dev/null
+++ b/pkgs/tools/security/stricat/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name    = "stricat-${version}";
+  version = "20140609100300";
+
+  src = fetchurl {
+    url    = "http://www.stribob.com/dist/${name}.tgz";
+    sha256 = "1axg8r4g5n5kdqj5013pgck80nni3z172xkg506vz4zx1zcmrm4r";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv stricat $out/bin
+  '';
+
+  meta = {
+    description = "multi-use cryptographic tool based on the STRIBOB algorithm";
+    homepage    = "https://www.stribob.com/stricat/";
+    license     = stdenv.lib.licenses.bsd3;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/tools/security/tboot/default.nix b/pkgs/tools/security/tboot/default.nix
index 1c9967edc47..854f67f2aee 100644
--- a/pkgs/tools/security/tboot/default.nix
+++ b/pkgs/tools/security/tboot/default.nix
@@ -21,9 +21,7 @@ stdenv.mkDerivation rec {
   installFlags = "DESTDIR=$(out)";
 
   meta = with stdenv.lib; {
-    description = ''Trusted Boot (tboot) is an open source, pre-kernel/VMM module that uses
-                    Intel(R) Trusted Execution Technology (Intel(R) TXT) to perform a measured
-                    and verified launch of an OS kernel/VMM.'';
+    description = "A pre-kernel/VMM module that uses Intel(R) TXT to perform a measured and verified launch of an OS kernel/VMM";
     homepage    = http://sourceforge.net/projects/tboot/;
     license     = licenses.bsd3;
     maintainers = [ maintainers.ak ];
diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix
index d71bbd891f9..3318d0c1102 100644
--- a/pkgs/tools/security/tor/default.nix
+++ b/pkgs/tools/security/tor/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.torproject.org/;
     repositories.git = https://git.torproject.org/git/tor;
-    description = "Tor, an anonymous network router to improve privacy on the Internet";
+    description = "Anonymous network router to improve privacy on the Internet";
 
     longDescription=''
       Tor protects you by bouncing your communications around a distributed
diff --git a/pkgs/tools/security/tpm-tools/default.nix b/pkgs/tools/security/tpm-tools/default.nix
index 95b3b6b51f7..6e7ff75a6a4 100644
--- a/pkgs/tools/security/tpm-tools/default.nix
+++ b/pkgs/tools/security/tpm-tools/default.nix
@@ -14,9 +14,12 @@ stdenv.mkDerivation rec {
   buildInputs = [ trousers openssl ];
 
   meta = with stdenv.lib; {
-    description = ''tpm-tools is an open-source package designed to enable user and application
-                    enablement of Trusted Computing using a Trusted Platform Module (TPM),
-                    similar to a smart card environment.'';
+    description = "Management tools for TPM hardware";
+    longDescription = ''
+      tpm-tools is an open-source package designed to enable user and
+      application enablement of Trusted Computing using a Trusted Platform
+      Module (TPM), similar to a smart card environment.
+    '';
     homepage    = http://sourceforge.net/projects/trousers/files/tpm-tools/;
     license     = licenses.cpl10;
     maintainers = [ maintainers.ak ];
diff --git a/pkgs/tools/security/trousers/default.nix b/pkgs/tools/security/trousers/default.nix
index 4c2af359b96..fe797291f9e 100644
--- a/pkgs/tools/security/trousers/default.nix
+++ b/pkgs/tools/security/trousers/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   NIX_LDFLAGS = "-lgcc_s";
 
   meta = with stdenv.lib; {
-    description = "TrouSerS is an CPL (Common Public License) licensed Trusted Computing Software Stack.";
+    description = "Trusted computing software stack";
     homepage    = http://trousers.sourceforge.net/;
     license     = licenses.cpl10;
     maintainers = [ maintainers.ak ];
diff --git a/pkgs/tools/system/cron/default.nix b/pkgs/tools/system/cron/default.nix
index 6132abc0879..0cf29a67b9d 100644
--- a/pkgs/tools/system/cron/default.nix
+++ b/pkgs/tools/system/cron/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation {
   preInstall = "mkdir -p $out/bin $out/sbin $out/share/man/man1 $out/share/man/man5 $out/share/man/man8";
   
   meta = {
-    description = "Vixie Cron, a daemon for running commands at specific times";
+    description = "Daemon for running commands at specific times (Vixie Cron)";
   };
 }
diff --git a/pkgs/tools/system/di/default.nix b/pkgs/tools/system/di/default.nix
new file mode 100644
index 00000000000..dc15ce13bcc
--- /dev/null
+++ b/pkgs/tools/system/di/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "di-4.35";
+
+  src = fetchurl {
+    url = "http://gentoo.com/di/${name}.tar.gz";
+    sha256 = "1lkiggvdm6wi14xy8845w6mqqr50j2q7g0i2rdcs7qw5gb7gmprc";
+  };
+
+  makeFlags = "INSTALL_DIR=$(out)";
+
+  meta = with stdenv.lib; {
+    description = "A disk information utility, displaying everything (and more) that your 'df' command does";
+    homepage = http://www.gentoo.com/di/;
+    license = licenses.zlib;
+    maintainers = with maintainers; [ manveru ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/system/freeipmi/default.nix b/pkgs/tools/system/freeipmi/default.nix
index 21a67dba305..48562adffeb 100644
--- a/pkgs/tools/system/freeipmi/default.nix
+++ b/pkgs/tools/system/freeipmi/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = {
-    description = "GNU FreeIPMI, an implementation of the Intelligent Platform Management Interface";
+    description = "Implementation of the Intelligent Platform Management Interface";
 
     longDescription =
       '' GNU FreeIPMI provides in-band and out-of-band IPMI software based on
diff --git a/pkgs/tools/system/hardlink/default.nix b/pkgs/tools/system/hardlink/default.nix
index 982aac3c990..6ae92b685cc 100644
--- a/pkgs/tools/system/hardlink/default.nix
+++ b/pkgs/tools/system/hardlink/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = "http://pkgs.fedoraproject.org/cgit/hardlink.git/";
-    description = "consolidate duplicate files via hardlinks";
+    description = "Consolidate duplicate files via hardlinks";
     license = stdenv.lib.licenses.gpl2Plus;
 
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/tools/system/mcron/default.nix b/pkgs/tools/system/mcron/default.nix
index 4bf95895996..842529c573f 100644
--- a/pkgs/tools/system/mcron/default.nix
+++ b/pkgs/tools/system/mcron/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = {
-    description = "GNU mcron, a flexible implementation of `cron' in Guile";
+    description = "Flexible implementation of `cron' in Guile";
 
     longDescription = ''
       The GNU package mcron (Mellor's cron) is a 100% compatible
diff --git a/pkgs/tools/system/thermald/default.nix b/pkgs/tools/system/thermald/default.nix
new file mode 100644
index 00000000000..86d121f0c22
--- /dev/null
+++ b/pkgs/tools/system/thermald/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, unzip, autoconf, automake, libtool, pkgconfig, dbus_libs, dbus_glib, libxml2 }:
+
+stdenv.mkDerivation rec {
+  version = "1.3";
+  name = "thermald-${version}";
+  src = fetchurl {
+    url = "https://github.com/01org/thermal_daemon/archive/v${version}.zip";
+    sha256 = "0jqxc8vvd4lx4z0kcdisk8lpdf823nysvjcfjxlr5wzla1xysqwc";
+  };
+  buildInputs = [ unzip autoconf automake libtool pkgconfig dbus_libs dbus_glib libxml2 ];
+
+  patchPhase = ''sed -e 's/upstartconfdir = \/etc\/init/upstartconfdir = $(out)\/etc\/init/' -i data/Makefile.am'';
+
+  preConfigure = ''
+                   export PKG_CONFIG_PATH="${dbus_libs}/lib/pkgconfig:$PKG_CONFIG_PATH"
+                   ./autogen.sh #--prefix="$out"
+                 '';
+
+  configureFlags = [
+    "--sysconfdir=$(out)/etc" "--localstatedir=/var"
+    "--with-dbus-sys-dir=$(out)/etc/dbus-1/system.d"
+    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+    ];
+
+  preInstall = "sysconfdir=$out/etc";
+
+
+  meta = {
+    description = "Thermal Daemon";
+    longDescription = ''
+         Thermal Daemon
+    '';
+    homepage = https://01.org/linux-thermal-daemon;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/tools/text/enscript/default.nix b/pkgs/tools/text/enscript/default.nix
index fe11ec59246..797f5b8b692 100644
--- a/pkgs/tools/text/enscript/default.nix
+++ b/pkgs/tools/text/enscript/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = {
-    description = "GNU Enscript, a converter from ASCII to PostScript, HTML, or RTF";
+    description = "Converter from ASCII to PostScript, HTML, or RTF";
 
     longDescription =
       '' GNU Enscript converts ASCII files to PostScript, HTML, or RTF and
diff --git a/pkgs/tools/text/mpage/default.nix b/pkgs/tools/text/mpage/default.nix
index 5b95c37c732..c147b3ea301 100644
--- a/pkgs/tools/text/mpage/default.nix
+++ b/pkgs/tools/text/mpage/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "Mpage, many-to-one page printing utility";
+    description = "Many-to-one page printing utility";
 
     longDescription = ''
       Mpage reads plain text files or PostScript documents and prints
diff --git a/pkgs/tools/text/namazu/default.nix b/pkgs/tools/text/namazu/default.nix
index fba52b69fba..72caa7ba5cb 100644
--- a/pkgs/tools/text/namazu/default.nix
+++ b/pkgs/tools/text/namazu/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   doCheck = !stdenv.isLinux;
 
   meta = {
-    description = "Namazu, a full-text search engine";
+    description = "Full-text search engine";
 
     longDescription = ''
       Namazu is a full-text search engine intended for easy use.  Not
diff --git a/pkgs/tools/text/sgml/openjade/default.nix b/pkgs/tools/text/sgml/openjade/default.nix
index a2920345afa..3427f62f15b 100644
--- a/pkgs/tools/text/sgml/openjade/default.nix
+++ b/pkgs/tools/text/sgml/openjade/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "1l92sfvx1f0wmkbvzv1385y1gb3hh010xksi1iyviyclrjb7jb8x";
   };
 
+  patches = [ ./msggen.patch ];
+
   buildInputs = [ opensp perl ];
 
   configureFlags = [
diff --git a/pkgs/tools/text/sgml/openjade/msggen.patch b/pkgs/tools/text/sgml/openjade/msggen.patch
new file mode 100644
index 00000000000..d59573fa49c
--- /dev/null
+++ b/pkgs/tools/text/sgml/openjade/msggen.patch
@@ -0,0 +1,34 @@
+http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-text/openjade/files/openjade-1.3.2-msggen.pl.patch?revision=1.2
+
+Use Getopt::Std in place of getopts.pl.
+https://bugs.gentoo.org/show_bug.cgi?id=420083
+
+--- a/msggen.pl
++++ b/msggen.pl
+@@ -4,6 +4,7 @@
+ # See the file COPYING for copying permission.
+ 
+ use POSIX;
++use Getopt::Std;
+ 
+ # Package and version.
+ $package = 'openjade';
+@@ -18,8 +19,7 @@
+ undef $opt_l;
+ undef $opt_p;
+ undef $opt_t;
+-do 'getopts.pl';
+-&Getopts('l:p:t:');
++getopts('l:p:t:');
+ $module = $opt_l;
+ $pot_file = $opt_p;
+ 
+@@ -72,7 +72,7 @@
+     else {
+ 	$field[0] =~ /^[IWQXE][0-9]$/ || &error("invalid first field");;
+ 	$type[$num] = substr($field[0], 0, 1);
+-	$argc = int(substr($field[0], 1, 1));
++	$argc = substr($field[0], 1, 1);
+     }
+     $nargs[$num] = $argc;
+     $field[1] =~ /^[a-zA-Z_][a-zA-Z0-9_]+$/ || &error("invalid tag");
diff --git a/pkgs/tools/text/wdiff/default.nix b/pkgs/tools/text/wdiff/default.nix
index e6fc3510cd4..c07caad15a3 100644
--- a/pkgs/tools/text/wdiff/default.nix
+++ b/pkgs/tools/text/wdiff/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://www.gnu.org/software/wdiff/;
-    description = "GNU wdiff, comparing files on a word by word basis";
+    description = "Comparing files on a word by word basis";
     license = stdenv.lib.licenses.gpl3Plus;
     maintainers = [ stdenv.lib.maintainers.eelco ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/tools/text/wgetpaste/default.nix b/pkgs/tools/text/wgetpaste/default.nix
index 7635e042499..3c0af0157a5 100644
--- a/pkgs/tools/text/wgetpaste/default.nix
+++ b/pkgs/tools/text/wgetpaste/default.nix
@@ -1,28 +1,29 @@
-{stdenv, fetchurl, wget, bash, coreutils}:
-  stdenv.mkDerivation rec {
-    version = "2.23";
-    name = "wgetpaste-${version}";
-      src = fetchurl {
-        url = "http://wgetpaste.zlin.dk/${name}.tar.bz2";
-        sha256 = "1xam745f5pmqi16br72a866117hnmcfwjyvsw1jhg3npbdnm9x6n";
-    };
-    # currently zsh-autocompletion support is not installed
+{ stdenv, fetchurl, wget, bash, coreutils }:
 
-    prePatch = ''
-      substituteInPlace wgetpaste --replace "/usr/bin/env bash" "${bash}/bin/bash"
-      substituteInPlace wgetpaste --replace "LC_ALL=C wget" "LC_ALL=C ${wget}/bin/wget"
-    '';
+stdenv.mkDerivation rec {
+  version = "2.25";
+  name = "wgetpaste-${version}";
+  src = fetchurl {
+    url = "http://wgetpaste.zlin.dk/${name}.tar.bz2";
+    sha256 = "1x209j85mryp3hxmv1gfsbvw03k306k5fa65ky0zxx07cs70fzka";
+  };
+  # currently zsh-autocompletion support is not installed
 
-    installPhase = ''
-      mkdir -p $out/bin;
-      cp wgetpaste $out/bin;
-    '';
+  prePatch = ''
+    substituteInPlace wgetpaste --replace "/usr/bin/env bash" "${bash}/bin/bash"
+    substituteInPlace wgetpaste --replace "LC_ALL=C wget" "LC_ALL=C ${wget}/bin/wget"
+  '';
 
-    meta = {
-      description = "Command-line interface to various pastebins";
-      homepage = http://wgetpaste.zlin.dk/;
-      license = "publicDomain";
-      maintainers = with stdenv.lib.maintainers; [qknight];
-      platforms = stdenv.lib.platforms.all;
-    };
-  }
+  installPhase = ''
+    mkdir -p $out/bin;
+    cp wgetpaste $out/bin;
+  '';
+
+  meta = {
+    description = "Command-line interface to various pastebins";
+    homepage = http://wgetpaste.zlin.dk/;
+    license = "publicDomain";
+    maintainers = with stdenv.lib.maintainers; [ qknight iElectric ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/typesetting/docbook2x/default.nix b/pkgs/tools/typesetting/docbook2x/default.nix
index 78dac0c6aa4..b31c64e6936 100644
--- a/pkgs/tools/typesetting/docbook2x/default.nix
+++ b/pkgs/tools/typesetting/docbook2x/default.nix
@@ -46,13 +46,14 @@ stdenv.mkDerivation rec {
       "${gnused}/bin"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     longDescription = ''
       docbook2X is a software package that converts DocBook documents
       into the traditional Unix man page format and the GNU Texinfo
       format.
     '';
-    license = stdenv.lib.licenses.mit;
+    license = licenses.mit;
     homepage = http://docbook2x.sourceforge.net/;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/typesetting/lout/default.nix b/pkgs/tools/typesetting/lout/default.nix
index c0fc4336297..a2ebfa0a9fd 100644
--- a/pkgs/tools/typesetting/lout/default.nix
+++ b/pkgs/tools/typesetting/lout/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   builder = ./builder.sh;
 
   meta = {
-    description = "Lout, a document layout system similar in style to LaTeX";
+    description = "Document layout system similar in style to LaTeX";
 
     longDescription = ''
       The Lout document formatting system is now reads a high-level
diff --git a/pkgs/tools/typesetting/rubber/default.nix b/pkgs/tools/typesetting/rubber/default.nix
index 8344735606c..32545abaff2 100644
--- a/pkgs/tools/typesetting/rubber/default.nix
+++ b/pkgs/tools/typesetting/rubber/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   patchPhase = "substituteInPlace configure --replace which \"type -P\"";
 
   meta = {
-    description = "Rubber, a wrapper for LaTeX and friends";
+    description = "Wrapper for LaTeX and friends";
 
     longDescription = ''
       Rubber is a program whose purpose is to handle all tasks related
diff --git a/pkgs/tools/typesetting/xmlto/default.nix b/pkgs/tools/typesetting/xmlto/default.nix
index 1b0602063e9..a1eee51b34d 100644
--- a/pkgs/tools/typesetting/xmlto/default.nix
+++ b/pkgs/tools/typesetting/xmlto/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "xmlto, a front-end to an XSL toolchain";
+    description = "Front-end to an XSL toolchain";
 
     longDescription = ''
       xmlto is a front-end to an XSL toolchain.  It chooses an
diff --git a/pkgs/tools/video/dvgrab/default.nix b/pkgs/tools/video/dvgrab/default.nix
index faaea6aaffc..73986b5be05 100644
--- a/pkgs/tools/video/dvgrab/default.nix
+++ b/pkgs/tools/video/dvgrab/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     ];
 
   meta = {
-    description = "dvgrab, receive and store audio & video over IEEE1394";
+    description = "Receive and store audio & video over IEEE1394";
 
     longDescription =
       '' dvgrab receives audio and video data from a digital camcorder via an