about summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2015-11-20 14:32:58 +0100
committerVladimír Čunát <vcunat@gmail.com>2015-11-20 14:32:58 +0100
commit333d69a5f0e7ccfe7b8c0bdb14ebd3934b3f77fb (patch)
tree0f4757ddd2bb3d73b438eea85828d8e01c049583 /pkgs/tools
parentbdbbfa0d4247e203ffe3171621b614374da05f70 (diff)
parentb809f886c0bdbd4665fc65a4c308d38a30c368d8 (diff)
Merge staging into closure-size
The most complex problems were from dealing with switches reverted in
the meantime (gcc5, gmp6, ncurses6).
It's likely that darwin is (still) broken nontrivially.
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/X11/ckbcomp/default.nix4
-rw-r--r--pkgs/tools/X11/dex/default.nix23
-rw-r--r--pkgs/tools/X11/dragon-drop/default.nix28
-rw-r--r--pkgs/tools/X11/numlockx/default.nix22
-rw-r--r--pkgs/tools/X11/x2vnc/default.nix2
-rw-r--r--pkgs/tools/X11/xdg-utils/default.nix2
-rw-r--r--pkgs/tools/X11/xvkbd/default.nix4
-rw-r--r--pkgs/tools/admin/awscli/default.nix2
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/default.nix6
-rw-r--r--pkgs/tools/admin/letsencrypt/default.nix50
-rw-r--r--pkgs/tools/archivers/innoextract/default.nix31
-rw-r--r--pkgs/tools/archivers/unzip/CVE-2015-7696.diff66
-rw-r--r--pkgs/tools/archivers/unzip/CVE-2015-7697.diff36
-rw-r--r--pkgs/tools/archivers/unzip/default.nix2
-rw-r--r--pkgs/tools/audio/beets/default.nix12
-rw-r--r--pkgs/tools/audio/darkice/default.nix16
-rw-r--r--pkgs/tools/backup/borg/default.nix18
-rw-r--r--pkgs/tools/backup/burp/1.3.48.nix30
-rw-r--r--pkgs/tools/backup/burp/burp_1.3.48.patch12
-rw-r--r--pkgs/tools/backup/burp/burp_1.4.40.patch12
-rw-r--r--pkgs/tools/backup/burp/default.nix30
-rw-r--r--pkgs/tools/backup/duplicity/default.nix7
-rw-r--r--pkgs/tools/backup/obnam/default.nix4
-rw-r--r--pkgs/tools/backup/zbackup/default.nix17
-rw-r--r--pkgs/tools/bootloaders/refind/default.nix16
-rw-r--r--pkgs/tools/compression/bzip2/default.nix60
-rw-r--r--pkgs/tools/compression/xz/default.nix4
-rw-r--r--pkgs/tools/filesystems/btrfsprogs/default.nix4
-rw-r--r--pkgs/tools/filesystems/ceph/0.94.nix4
-rw-r--r--pkgs/tools/filesystems/ceph/9.0.3-i686-fix.patch25
-rw-r--r--pkgs/tools/filesystems/ceph/9.nix13
-rw-r--r--[l---------]pkgs/tools/filesystems/ceph/default.nix14
l---------[-rw-r--r--]pkgs/tools/filesystems/ceph/dev.nix17
-rw-r--r--pkgs/tools/filesystems/ceph/generic.nix4
-rw-r--r--pkgs/tools/filesystems/ceph/git.nix6
-rw-r--r--pkgs/tools/filesystems/djmount/default.nix20
-rw-r--r--pkgs/tools/filesystems/exfat/default.nix4
-rw-r--r--pkgs/tools/filesystems/fuse-7z-ng/default.nix40
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/blivet.nix13
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/blivet.patch39
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/default.nix6
-rw-r--r--pkgs/tools/filesystems/snapraid/default.nix18
-rw-r--r--pkgs/tools/filesystems/yandex-disk/default.nix6
-rw-r--r--pkgs/tools/graphics/dcraw/default.nix4
-rw-r--r--pkgs/tools/graphics/graphviz/default.nix7
-rw-r--r--pkgs/tools/graphics/imgur-screenshot/default.nix29
-rw-r--r--pkgs/tools/graphics/leela/default.nix23
-rw-r--r--pkgs/tools/graphics/logstalgia/default.nix6
-rw-r--r--pkgs/tools/graphics/sng/default.nix25
-rw-r--r--pkgs/tools/graphics/wkhtmltopdf/default.nix17
-rw-r--r--pkgs/tools/inputmethods/ibus/default.nix4
-rw-r--r--pkgs/tools/misc/binwalk/default.nix4
-rw-r--r--pkgs/tools/misc/cloc/default.nix8
-rw-r--r--pkgs/tools/misc/colord-gtk/default.nix4
-rw-r--r--pkgs/tools/misc/coreutils/default.nix13
-rw-r--r--pkgs/tools/misc/fontforge/default.nix4
-rw-r--r--pkgs/tools/misc/goaccess/default.nix8
-rw-r--r--pkgs/tools/misc/gparted/default.nix16
-rw-r--r--pkgs/tools/misc/grub/2.0x.nix6
-rw-r--r--pkgs/tools/misc/grub/trusted.nix6
-rw-r--r--pkgs/tools/misc/grub4dos/default.nix35
-rw-r--r--pkgs/tools/misc/hdf5/default.nix34
-rw-r--r--pkgs/tools/misc/ipxe/default.nix2
-rw-r--r--pkgs/tools/misc/less/default.nix4
-rw-r--r--pkgs/tools/misc/man-db/default.nix4
-rw-r--r--pkgs/tools/misc/mates/default.nix24
-rw-r--r--pkgs/tools/misc/mbuffer/default.nix23
-rw-r--r--pkgs/tools/misc/parallel/default.nix4
-rw-r--r--pkgs/tools/misc/picocom/default.nix4
-rw-r--r--pkgs/tools/misc/rmlint/default.nix4
-rw-r--r--pkgs/tools/misc/screen/default.nix6
-rw-r--r--pkgs/tools/misc/sdl-jstest/default.nix6
-rw-r--r--pkgs/tools/misc/svtplay-dl/default.nix4
-rw-r--r--pkgs/tools/misc/t1utils/default.nix2
-rw-r--r--pkgs/tools/misc/testdisk/default.nix5
-rw-r--r--pkgs/tools/misc/tlp/default.nix36
-rw-r--r--pkgs/tools/misc/tmate/default.nix4
-rw-r--r--pkgs/tools/misc/tmux-cssh/default.nix41
-rw-r--r--pkgs/tools/misc/tmux/default.nix4
-rw-r--r--pkgs/tools/misc/units/default.nix9
-rw-r--r--pkgs/tools/misc/vdirsyncer/default.nix6
-rw-r--r--pkgs/tools/misc/yank/default.nix35
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix13
-rw-r--r--pkgs/tools/networking/aria2/default.nix6
-rw-r--r--pkgs/tools/networking/curl/default.nix4
-rw-r--r--pkgs/tools/networking/cutter/default.nix4
-rw-r--r--pkgs/tools/networking/dropbear/default.nix6
-rw-r--r--pkgs/tools/networking/dropbear/pass-path.patch23
-rw-r--r--pkgs/tools/networking/i2p/default.nix4
-rw-r--r--pkgs/tools/networking/iftop/default.nix6
-rw-r--r--pkgs/tools/networking/iperf/3.nix4
-rw-r--r--pkgs/tools/networking/nbd/default.nix4
-rw-r--r--pkgs/tools/networking/netsniff-ng/default.nix6
-rw-r--r--pkgs/tools/networking/network-manager-applet/default.nix2
-rw-r--r--pkgs/tools/networking/network-manager/0.9.8.nix58
-rw-r--r--pkgs/tools/networking/network-manager/default.nix8
-rw-r--r--pkgs/tools/networking/network-manager/libnl-3.2.25.patch61
-rw-r--r--pkgs/tools/networking/network-manager/nm-platform.patch17
-rw-r--r--pkgs/tools/networking/network-manager/openconnect.nix4
-rw-r--r--pkgs/tools/networking/network-manager/openvpn.nix2
-rw-r--r--pkgs/tools/networking/network-manager/pptp.nix2
-rw-r--r--pkgs/tools/networking/network-manager/vpnc.nix2
-rw-r--r--pkgs/tools/networking/ntopng/0001-Undo-weird-modification-of-data_dir.patch26
-rw-r--r--pkgs/tools/networking/ntopng/0002-Remove-requirement-to-have-writeable-callback-dir.patch31
-rw-r--r--pkgs/tools/networking/ntopng/default.nix34
-rw-r--r--pkgs/tools/networking/ntp/default.nix4
-rw-r--r--pkgs/tools/networking/nzbget/default.nix6
-rw-r--r--pkgs/tools/networking/openssh/default.nix6
-rw-r--r--pkgs/tools/networking/openssh/openssh-6.9p1-security-7.0.patch65
-rw-r--r--pkgs/tools/networking/openvpn/update-resolv-conf.nix2
-rw-r--r--pkgs/tools/networking/plasma-nm/default.nix5
-rw-r--r--pkgs/tools/networking/reaver-wps/default.nix1
-rw-r--r--pkgs/tools/networking/ripmime/default.nix4
-rw-r--r--pkgs/tools/networking/smbldaptools/default.nix2
-rw-r--r--pkgs/tools/networking/snabb/default.nix32
-rw-r--r--pkgs/tools/networking/tgt/default.nix7
-rw-r--r--pkgs/tools/networking/tinc/pre.nix6
-rw-r--r--pkgs/tools/networking/wavemon/default.nix57
-rw-r--r--pkgs/tools/networking/whois/default.nix40
-rw-r--r--pkgs/tools/networking/zerotierone/default.nix4
-rw-r--r--pkgs/tools/package-management/disnix/dysnomia/default.nix6
-rw-r--r--pkgs/tools/package-management/nix/default.nix23
-rw-r--r--pkgs/tools/security/chkrootkit/default.nix2
-rw-r--r--pkgs/tools/security/eid-mw/default.nix7
-rw-r--r--pkgs/tools/security/gencfsm/default.nix34
-rw-r--r--pkgs/tools/security/gencfsm/makefile-mkdir.patch14
-rw-r--r--pkgs/tools/security/gnupg/21.nix4
-rw-r--r--pkgs/tools/security/gpgstats/default.nix30
-rw-r--r--pkgs/tools/security/john/default.nix55
-rw-r--r--pkgs/tools/security/knockknock/default.nix1
-rw-r--r--pkgs/tools/security/mkpasswd/default.nix23
-rw-r--r--pkgs/tools/security/nasty/default.nix32
-rw-r--r--pkgs/tools/security/pcsclite/default.nix4
-rw-r--r--pkgs/tools/security/pcsctools/default.nix34
-rw-r--r--pkgs/tools/security/ssdeep/default.nix4
-rw-r--r--pkgs/tools/security/sslscan/default.nix27
-rw-r--r--pkgs/tools/security/tor/torbrowser.nix16
-rw-r--r--pkgs/tools/security/yara/default.nix64
-rw-r--r--pkgs/tools/system/ansible/default.nix6
-rw-r--r--pkgs/tools/system/bootchart/default.nix30
-rw-r--r--pkgs/tools/system/collectd/default.nix20
-rw-r--r--pkgs/tools/system/dd_rescue/default.nix4
-rw-r--r--pkgs/tools/system/di/default.nix4
-rw-r--r--pkgs/tools/system/fakeroot/default.nix11
-rw-r--r--pkgs/tools/system/fio/default.nix4
-rw-r--r--pkgs/tools/system/gptfdisk/default.nix32
-rw-r--r--pkgs/tools/system/iops/default.nix2
-rw-r--r--pkgs/tools/system/rsyslog/default.nix6
-rw-r--r--pkgs/tools/system/s6-rc/default.nix42
-rw-r--r--pkgs/tools/system/s6/default.nix44
-rw-r--r--pkgs/tools/system/stress-ng/default.nix4
-rw-r--r--pkgs/tools/text/ascii/default.nix2
-rw-r--r--pkgs/tools/text/gist/Gemfile.lock2
-rw-r--r--pkgs/tools/text/gist/default.nix2
-rw-r--r--pkgs/tools/text/gist/gemset.nix4
-rw-r--r--pkgs/tools/text/gnugrep/cve-2015-1345.patch60
-rw-r--r--pkgs/tools/text/gnugrep/default.nix12
-rw-r--r--pkgs/tools/text/tidy-html5/default.nix5
-rw-r--r--pkgs/tools/typesetting/pdf2djvu/default.nix4
-rw-r--r--pkgs/tools/typesetting/tex/texlive-new/combine.nix14
-rw-r--r--pkgs/tools/typesetting/tex/texlive-new/default.nix5
161 files changed, 1877 insertions, 619 deletions
diff --git a/pkgs/tools/X11/ckbcomp/default.nix b/pkgs/tools/X11/ckbcomp/default.nix
index 6495b2de7f379..474486b6d6ceb 100644
--- a/pkgs/tools/X11/ckbcomp/default.nix
+++ b/pkgs/tools/X11/ckbcomp/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "ckbcomp-${version}";
-  version = "1.131";
+  version = "1.133";
 
   src = fetchgit {
     url = "git://anonscm.debian.org/d-i/console-setup.git";
     rev = "refs/tags/${version}";
-    sha256 = "0xmdnzhm1wsdpjb0wsi24xzk1xpv5h2bxgwm9f4awb7aj7wv59ma";
+    sha256 = "0za7y5v5rsl9da67rfiwzyfaia4xgnavqdadq0l6v8blc2kcsxr7";
   };
 
   buildInputs = [ perl ];
diff --git a/pkgs/tools/X11/dex/default.nix b/pkgs/tools/X11/dex/default.nix
new file mode 100644
index 0000000000000..d147ef4a70c10
--- /dev/null
+++ b/pkgs/tools/X11/dex/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, python3 }:
+
+stdenv.mkDerivation rec {
+  program = "dex";
+  name = "${program}-${version}";
+  version = "0.7";
+
+  src = fetchFromGitHub {
+    owner = "jceb";
+    repo = program;
+    rev = "v${version}";
+    sha256 = "041ms01snalapapaniabr92d8iim1qrxian626nharjmp2rd69v5";
+  };
+
+  propagatedBuildInputs = [ python3 ];
+  makeFlags = [ "PREFIX=$(out)" "VERSION=$(version)" ];
+
+  meta = {
+    description = "A program to generate and execute DesktopEntry files of the Application type";
+    homepage = https://github.com/jceb/dex;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/X11/dragon-drop/default.nix b/pkgs/tools/X11/dragon-drop/default.nix
new file mode 100644
index 0000000000000..0aa1c8a8b5a9b
--- /dev/null
+++ b/pkgs/tools/X11/dragon-drop/default.nix
@@ -0,0 +1,28 @@
+
+{ stdenv, gtk, pkgconfig, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "dragon-drop-${version}";
+  version = "git-2014-08-14";
+
+  src = fetchFromGitHub {
+    owner = "mwh";
+    repo = "dragon";
+    rev = "a49d775dd9d43bd22cee4c1fd3e32ede0dc2e9c2";
+    sha256 = "03vdbmqlbmk3j2ay1wy6snrm2y27faxz7qv81vyzjzngj345095a";
+  };
+
+  buildInputs = [ gtk pkgconfig ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv dragon $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Simple drag-and-drop source/sink for X";
+    homepage = "https://github.com/mwh/dragon";
+    maintainers = with maintainers; [ jb55 ];
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/tools/X11/numlockx/default.nix b/pkgs/tools/X11/numlockx/default.nix
new file mode 100644
index 0000000000000..2c4807e4661fb
--- /dev/null
+++ b/pkgs/tools/X11/numlockx/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchFromGitHub, libX11, libXext, autoconf }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  version = "1.2";
+  pname = "numlockx";
+
+  src = fetchFromGitHub {
+    owner = "rg3";
+    repo = pname;
+    rev = "9159fd3c5717c595dadfcb33b380a85c88406185";
+    sha256 = "1w49fayhwzn5rx0z1q2lrvm7z8jrd34lgb89p853a024bixc3cf2";
+  };
+
+  buildInputs = [ libX11 libXext autoconf ];
+
+  meta = with stdenv.lib; {
+    description = "Allows to start X with NumLock turned on";
+    license = licenses.mit;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/X11/x2vnc/default.nix b/pkgs/tools/X11/x2vnc/default.nix
index adc04b629444a..b377369f464ce 100644
--- a/pkgs/tools/X11/x2vnc/default.nix
+++ b/pkgs/tools/X11/x2vnc/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   preInstall = "mkdir -p $out";
 
   meta = {
-    homepahe = http://fredrik.hubbe.net/x2vnc.html;
+    homepage = http://fredrik.hubbe.net/x2vnc.html;
     description = "A program to control a remote VNC server";
   };
 }
diff --git a/pkgs/tools/X11/xdg-utils/default.nix b/pkgs/tools/X11/xdg-utils/default.nix
index a8915e38d3755..23b406c2d43f9 100644
--- a/pkgs/tools/X11/xdg-utils/default.nix
+++ b/pkgs/tools/X11/xdg-utils/default.nix
@@ -47,6 +47,6 @@ stdenv.mkDerivation rec {
     description = "A set of command line tools that assist applications with a variety of desktop integration tasks";
     license = if mimiSupport then licenses.gpl2 else licenses.free;
     maintainers = [ maintainers.eelco ];
-    platforms = platforms.linux;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/X11/xvkbd/default.nix b/pkgs/tools/X11/xvkbd/default.nix
index 7e570cbd396de..035b4fd6ee73f 100644
--- a/pkgs/tools/X11/xvkbd/default.nix
+++ b/pkgs/tools/X11/xvkbd/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "xvkbd-${version}";
-  version = "3.6";
+  version = "3.7";
   src = fetchurl {
     url = "http://homepage3.nifty.com/tsato/xvkbd/xvkbd-${version}.tar.gz";
-    sha256 = "1bjvv93xmmjjk6ir95shwrk6aaiqiprwk12npyahfsik4cf58y16";
+    sha256 = "02y9ks9sa4sn3vkbgswjs5qcd85xhwvarnmhg41pq3l2d617cpw9";
   };
 
   buildInputs = [ imake libXt libXaw libXtst xextproto libXi Xaw3d libXpm gccmakedep ];
diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix
index 06c9b85b8d6ae..c4de8090e0597 100644
--- a/pkgs/tools/admin/awscli/default.nix
+++ b/pkgs/tools/admin/awscli/default.nix
@@ -13,7 +13,7 @@ pythonPackages.buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    pythonPackages.botocore
+    pythonPackages.botocore_1_1_10
     pythonPackages.bcdoc
     pythonPackages.six
     pythonPackages.colorama
diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix
index c5fbf621e2de4..75860bc27d340 100644
--- a/pkgs/tools/admin/google-cloud-sdk/default.nix
+++ b/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, python27, python27Packages, makeWrapper}:
 
 stdenv.mkDerivation rec {
-  version = "0.9.74";
+  version = "0.9.82";
   name = "google-cloud-sdk-${version}";
 
   src = fetchurl {
-    url = "https://dl.google.com/dl/cloudsdk/release/packages/google-cloud-sdk-coretools-linux-static-20150817103450.tar.gz";
-    sha256 = "0qdry40xk23c6dvr6qzqn23bg8yfflm1m00gw1mqnpr4m1425vfg";
+    url = "https://dl.google.com/dl/cloudsdk/release/packages/google-cloud-sdk-coretools-linux-static-20151008123015.tar.gz";
+    sha256 = "11gnhgjj4y4dzi3wfdpnz918m7xraz1k3ady1d6y446hmc5q2512";
   };
 
   buildInputs = [python27 makeWrapper];
diff --git a/pkgs/tools/admin/letsencrypt/default.nix b/pkgs/tools/admin/letsencrypt/default.nix
new file mode 100644
index 0000000000000..de32d34bde1c6
--- /dev/null
+++ b/pkgs/tools/admin/letsencrypt/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, pythonPackages, fetchurl, dialog }:
+
+let
+  src = fetchurl {
+    url = "https://github.com/letsencrypt/letsencrypt/archive/v${version}.tar.gz";
+    sha256 = "1xr1ii2kfbhspyirwyqlk4vyx88irif92mw02jwfx9mnslk9gral";
+  };
+  version = "0.0.0.dev20151030";
+  acme = pythonPackages.buildPythonPackage rec {
+    name = "acme-${version}";
+    inherit src version;
+
+    propagatedBuildInputs = with pythonPackages; [
+      cryptography pyasn1 pyopenssl pyRFC3339 pytz requests2 six werkzeug mock
+      ndg-httpsclient
+    ];
+
+    buildInputs = with pythonPackages; [ nose ];
+
+    sourceRoot = "letsencrypt-${version}/acme";
+  };
+in pythonPackages.buildPythonPackage rec {
+  name = "letsencrypt-${version}";
+  inherit src version;
+
+  propagatedBuildInputs = with pythonPackages; [
+    zope_interface zope_component six requests2 pytz pyopenssl psutil mock acme
+    cryptography configobj pyRFC3339 python2-pythondialog parsedatetime ConfigArgParse
+  ];
+  buildInputs = with pythonPackages; [ nose dialog ];
+
+  patchPhase = ''
+    substituteInPlace letsencrypt/notify.py --replace "/usr/sbin/sendmail" "/var/setuid-wrappers/sendmail"
+  '';
+
+  postInstall = ''
+    for i in $out/bin/*; do
+      wrapProgram "$i" --prefix PYTHONPATH : "$PYTHONPATH" \
+                       --prefix PATH : "${dialog}/bin:$PATH"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/letsencrypt/letsencrypt;
+    description = "ACME client that can obtain certs and extensibly update server configurations";
+    platforms = platforms.unix;
+    maintainers = [ maintainers.iElectric ];
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/tools/archivers/innoextract/default.nix b/pkgs/tools/archivers/innoextract/default.nix
index d8c88b6ee6578..6b442e7bf6607 100644
--- a/pkgs/tools/archivers/innoextract/default.nix
+++ b/pkgs/tools/archivers/innoextract/default.nix
@@ -1,10 +1,21 @@
-{stdenv, fetchurl, cmake, python, doxygen, lzma, boost}:

-stdenv.mkDerivation rec {

-  name = "innoextract-1.4";

-  src = fetchurl {

-    url = "http://constexpr.org/innoextract/files/${name}.tar.gz";

-    sha256 = "1j8wj0ijdnfh0r9qjr7ykp9v3n2yd4qisxln81bl6474w5d4njas";

-  };

-  buildInputs = [ python doxygen lzma boost ];

-  nativeBuildInputs = [ cmake ];

-}
\ No newline at end of file
+{stdenv, fetchurl, cmake, python, doxygen, lzma, boost}:
+
+stdenv.mkDerivation rec {
+  name = "innoextract-1.5";
+
+  src = fetchurl {
+    url = "http://constexpr.org/innoextract/files/${name}.tar.gz";
+    sha256 = "1ks8z8glak63xvqlv7dnmlzkjrwsn81lhybmai2mja6g5jclwngj";
+  };
+
+  buildInputs = [ python doxygen lzma boost ];
+  nativeBuildInputs = [ cmake ];
+
+  meta = with stdenv.lib; {
+    description = "A tool to unpack installers created by Inno Setup";
+    homepage = "http://constexpr.org/innoextract/";
+    platforms = platforms.linux;
+    license = licenses.zlib;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/tools/archivers/unzip/CVE-2015-7696.diff b/pkgs/tools/archivers/unzip/CVE-2015-7696.diff
new file mode 100644
index 0000000000000..3aad17bddd780
--- /dev/null
+++ b/pkgs/tools/archivers/unzip/CVE-2015-7696.diff
@@ -0,0 +1,66 @@
+From 68efed87fabddd450c08f3112f62a73f61d493c9 Mon Sep 17 00:00:00 2001
+From: Petr Stodulka <pstodulk@redhat.com>
+Date: Mon, 14 Sep 2015 18:23:17 +0200
+Subject: [PATCH 1/2] upstream fix for heap overflow
+
+https://bugzilla.redhat.com/attachment.cgi?id=1073002
+---
+ crypt.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/crypt.c b/crypt.c
+index 784e411..a8975f2 100644
+--- a/crypt.c
++++ b/crypt.c
+@@ -465,7 +465,17 @@ int decrypt(__G__ passwrd)
+     GLOBAL(pInfo->encrypted) = FALSE;
+     defer_leftover_input(__G);
+     for (n = 0; n < RAND_HEAD_LEN; n++) {
+-        b = NEXTBYTE;
++        /* 2012-11-23 SMS.  (OUSPG report.)
++         * Quit early if compressed size < HEAD_LEN.  The resulting
++         * error message ("unable to get password") could be improved,
++         * but it's better than trying to read nonexistent data, and
++         * then continuing with a negative G.csize.  (See
++         * fileio.c:readbyte()).
++         */
++        if ((b = NEXTBYTE) == (ush)EOF)
++        {
++            return PK_ERR;
++        }
+         h[n] = (uch)b;
+         Trace((stdout, " (%02x)", h[n]));
+     }
+-- 
+2.4.6
+
+
+From bd8a743ee0a77e65ad07ef4196c4cd366add3f26 Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Mon, 14 Sep 2015 18:24:56 +0200
+Subject: [PATCH 2/2] fix infinite loop when extracting empty bzip2 data
+
+---
+ extract.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/extract.c b/extract.c
+index 7134bfe..29db027 100644
+--- a/extract.c
++++ b/extract.c
+@@ -2733,6 +2733,12 @@ __GDEF
+     int repeated_buf_err;
+     bz_stream bstrm;
+ 
++    if (G.incnt <= 0 && G.csize <= 0L) {
++        /* avoid an infinite loop */
++        Trace((stderr, "UZbunzip2() got empty input\n"));
++        return 2;
++    }
++
+ #if (defined(DLL) && !defined(NO_SLIDE_REDIR))
+     if (G.redirect_slide)
+         wsize = G.redirect_size, redirSlide = G.redirect_buffer;
+-- 
+2.4.6
+
diff --git a/pkgs/tools/archivers/unzip/CVE-2015-7697.diff b/pkgs/tools/archivers/unzip/CVE-2015-7697.diff
new file mode 100644
index 0000000000000..98ebf53c4782b
--- /dev/null
+++ b/pkgs/tools/archivers/unzip/CVE-2015-7697.diff
@@ -0,0 +1,36 @@
+From bd150334fb4084f5555a6be26b015a0671cb5b74 Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Tue, 22 Sep 2015 18:52:23 +0200
+Subject: [PATCH] extract: prevent unsigned overflow on invalid input
+
+Suggested-by: Stefan Cornelius
+---
+ extract.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/extract.c b/extract.c
+index 29db027..b9ae667 100644
+--- a/extract.c
++++ b/extract.c
+@@ -1257,8 +1257,17 @@ static int extract_or_test_entrylist(__G__ numchunk,
+         if (G.lrec.compression_method == STORED) {
+             zusz_t csiz_decrypted = G.lrec.csize;
+ 
+-            if (G.pInfo->encrypted)
++            if (G.pInfo->encrypted) {
++                if (csiz_decrypted <= 12) {
++                    /* handle the error now to prevent unsigned overflow */
++                    Info(slide, 0x401, ((char *)slide,
++                      LoadFarStringSmall(ErrUnzipNoFile),
++                      LoadFarString(InvalidComprData),
++                      LoadFarStringSmall2(Inflate)));
++                    return PK_ERR;
++                }
+                 csiz_decrypted -= 12;
++            }
+             if (G.lrec.ucsize != csiz_decrypted) {
+                 Info(slide, 0x401, ((char *)slide,
+                   LoadFarStringSmall2(WrnStorUCSizCSizDiff),
+-- 
+2.5.2
+
diff --git a/pkgs/tools/archivers/unzip/default.nix b/pkgs/tools/archivers/unzip/default.nix
index c5e06663dc030..b5d03bc18b271 100644
--- a/pkgs/tools/archivers/unzip/default.nix
+++ b/pkgs/tools/archivers/unzip/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation {
     ./CVE-2014-8140.diff
     ./CVE-2014-8141.diff
     ./CVE-2014-9636.diff
+    ./CVE-2015-7696.diff
+    ./CVE-2015-7697.diff
   ] ++ stdenv.lib.optional enableNLS
     (fetchurl {
       url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-arch/unzip/files/unzip-6.0-natspec.patch?revision=1.1";
diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix
index 51e81ef9193e0..123b183f2d30b 100644
--- a/pkgs/tools/audio/beets/default.nix
+++ b/pkgs/tools/audio/beets/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage, pythonPackages, python, imagemagick
 
 , enableAcoustid   ? true
+, enableBadfiles   ? true, flac ? null, mp3val ? null
 , enableDiscogs    ? true
 , enableEchonest   ? true
 , enableFetchart   ? true
@@ -15,6 +16,7 @@
 }:
 
 assert enableAcoustid    -> pythonPackages.pyacoustid     != null;
+assert enableBadfiles    -> flac != null && mp3val != null;
 assert enableDiscogs     -> pythonPackages.discogs_client != null;
 assert enableEchonest    -> pythonPackages.pyechonest     != null;
 assert enableFetchart    -> pythonPackages.responses      != null;
@@ -28,6 +30,7 @@ with stdenv.lib;
 
 let
   optionalPlugins = {
+    badfiles = enableBadfiles;
     chroma = enableAcoustid;
     discogs = enableDiscogs;
     echonest = enableEchonest;
@@ -60,14 +63,14 @@ let
 
 in buildPythonPackage rec {
   name = "beets-${version}";
-  version = "1.3.14";
+  version = "1.3.15";
   namePrefix = "";
 
   src = fetchFromGitHub {
     owner = "sampsyo";
     repo = "beets";
     rev = "v${version}";
-    sha256 = "0bha101x1wdrl2hj31fhixm3hp7ahdm2064b9k5gg0ywm651128g";
+    sha256 = "17mbkilqqkxxa8ra8b4zlsax712jb0nfkvcx9iyq9303rqwv5sx2";
   };
 
   propagatedBuildInputs = [
@@ -111,6 +114,11 @@ in buildPythonPackage rec {
     sed -i -e '/^BASH_COMPLETION_PATHS *=/,/^])$/ {
       /^])$/i u"${completion}"
     }' beets/ui/commands.py
+  '' + optionalString enableBadfiles ''
+    sed -i -e '/self\.run_command(\[/ {
+      s,"flac","${flac}/bin/flac",
+      s,"mp3val","${mp3val}/bin/mp3val",
+    }' beetsplug/badfiles.py
   '';
 
   doCheck = true;
diff --git a/pkgs/tools/audio/darkice/default.nix b/pkgs/tools/audio/darkice/default.nix
index edc8fe2dffc86..e4fc129ef601b 100644
--- a/pkgs/tools/audio/darkice/default.nix
+++ b/pkgs/tools/audio/darkice/default.nix
@@ -1,8 +1,14 @@
-{ stdenv, fetchurl, alsaLib, faac, libjack2, lame, libopus, libpulseaudio, libsamplerate, libvorbis }:
+{ stdenv, buildEnv, fetchurl, alsaLib, faac, libjack2, lame, libogg, libopus, libpulseaudio, libsamplerate, libvorbis }:
 
-with stdenv.lib;
+let
+  oggEnv = buildEnv {
+    name = "env-darkice-ogg";
+    paths = [
+      libopus libvorbis libogg
+    ];
+  };
 
-stdenv.mkDerivation rec {
+in stdenv.mkDerivation rec {
   name = "darkice-${version}";
   version = "1.2";
 
@@ -16,10 +22,10 @@ stdenv.mkDerivation rec {
     "--with-faac-prefix=${faac}"
     "--with-jack-prefix=${libjack2}"
     "--with-lame-prefix=${lame}"
-    "--with-opus-prefix=${libopus}"
+    "--with-opus-prefix=${oggEnv}"
     "--with-pulseaudio-prefix=${libpulseaudio}"
     "--with-samplerate-prefix=${libsamplerate}"	
-    "--with-vorbis-prefix=${libvorbis}"
+    "--with-vorbis-prefix=${oggEnv}"
 #    "--with-aacplus-prefix=${aacplus}" ### missing: aacplus
 #    "--with-twolame-prefix=${twolame}" ### missing: twolame
   ];
diff --git a/pkgs/tools/backup/borg/default.nix b/pkgs/tools/backup/borg/default.nix
index f9a949f4d3fca..df3523322e860 100644
--- a/pkgs/tools/backup/borg/default.nix
+++ b/pkgs/tools/backup/borg/default.nix
@@ -1,21 +1,23 @@
-{ stdenv, fetchzip, python3Packages, openssl, acl }:
+{ stdenv, fetchurl, python3Packages, openssl, acl, lz4 }:
 
 python3Packages.buildPythonPackage rec {
-  name = "borg-${version}";
-  version = "0.23.0";
+  name = "borgbackup-${version}";
+  version = "0.27.0";
   namePrefix = "";
 
-  src = fetchzip {
-    name = "${name}-src";
-    url = "https://github.com/borgbackup/borg/archive/${version}.tar.gz";
-    sha256 = "1ns00bhrh4zm1s70mm32gnahj7yh4jdpkb8ziarhvcnknz7aga67";
+  src = fetchurl {
+    url = "https://pypi.python.org/packages/source/b/borgbackup/borgbackup-${version}.tar.gz";
+    sha256 = "04iizidag4fwy6kx1747d633s1amr81slgk743qsfbwixaxfjq9b";
   };
 
   propagatedBuildInputs = with python3Packages;
-    [ cython msgpack openssl acl llfuse tox detox ];
+    [ cython msgpack openssl acl llfuse tox detox lz4 setuptools_scm ];
 
   preConfigure = ''
     export BORG_OPENSSL_PREFIX="${openssl}"
+    export BORG_LZ4_PREFIX="${lz4}"
+    # note: fix for this issue already upstream and probably in 0.27.1 (or whatever the next release is called)
+    substituteInPlace setup.py --replace "possible_openssl_prefixes.insert(0, os.environ.get('BORG_LZ4_PREFIX'))" "possible_lz4_prefixes.insert(0, os.environ.get('BORG_LZ4_PREFIX'))"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/backup/burp/1.3.48.nix b/pkgs/tools/backup/burp/1.3.48.nix
new file mode 100644
index 0000000000000..a3cef656bdbc0
--- /dev/null
+++ b/pkgs/tools/backup/burp/1.3.48.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchgit, acl, librsync_0_9, ncurses, openssl, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "burp-1.3.48";
+
+  src = fetchgit {
+    url = "https://github.com/grke/burp.git";
+    rev = "3636ce0a992904a374234d68170fc1c265bff357";
+    sha256 = "708e06b758e8f918aaf7cc8f7517a7eadd456263fe34618e32330e5ad69438c0";
+  };
+
+  patches = [ ./burp_1.3.48.patch ];
+
+  buildInputs = [ librsync_0_9 ncurses openssl zlib ]
+    # next two lines copied from bacula, as burp needs acl as well
+    # acl relies on attr, which I can't get to build on darwin
+    ++ stdenv.lib.optional (!stdenv.isDarwin) acl;
+
+  configureFlags = [
+      "--sbindir=$out/bin"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "BURP - BackUp and Restore Program";
+    homepage    = http://burp.grke.org;
+    license     = licenses.agpl3;
+    maintainers = with maintainers; [ tokudan ];
+    platforms   = platforms.all;
+  };
+}
diff --git a/pkgs/tools/backup/burp/burp_1.3.48.patch b/pkgs/tools/backup/burp/burp_1.3.48.patch
new file mode 100644
index 0000000000000..fe57202bc34ad
--- /dev/null
+++ b/pkgs/tools/backup/burp/burp_1.3.48.patch
@@ -0,0 +1,12 @@
+diff -Naur burp~/Makefile.in burp/Makefile.in
+--- burp~/Makefile.in	2015-11-01 21:14:52.621376413 +0000
++++ burp/Makefile.in	2015-11-01 22:09:25.098997115 +0000
+@@ -90,8 +90,6 @@
+ 	$(MKDIR) $(DESTDIR)$(sbindir)
+ 	$(MKDIR) $(DESTDIR)$(sysconfdir)
+ 	$(MKDIR) $(DESTDIR)$(sysconfdir)/CA-client
+-	$(MKDIR) $(DESTDIR)/var/run
+-	$(MKDIR) $(DESTDIR)/var/spool/burp
+ 	@if [ ! -d $(DESTDIR)$(sysconfdir)/clientconfdir ] ; then $(MKDIR) $(DESTDIR)$(sysconfdir)/clientconfdir ; cp configs/server/clientconfdir/testclient $(DESTDIR)$(sysconfdir)/clientconfdir/testclient ; fi
+ 	@if [ ! -d $(DESTDIR)$(sysconfdir)/clientconfdir/incexc ] ; then $(MKDIR) $(DESTDIR)$(sysconfdir)/clientconfdir/incexc ; cp configs/server/clientconfdir/incexc $(DESTDIR)$(sysconfdir)/clientconfdir/incexc/example ; fi
+ 	@if [ ! -d $(DESTDIR)$(sysconfdir)/autoupgrade/client ] ; then $(MKDIR) $(DESTDIR)$(sysconfdir)/autoupgrade/client ; fi
diff --git a/pkgs/tools/backup/burp/burp_1.4.40.patch b/pkgs/tools/backup/burp/burp_1.4.40.patch
new file mode 100644
index 0000000000000..fe57202bc34ad
--- /dev/null
+++ b/pkgs/tools/backup/burp/burp_1.4.40.patch
@@ -0,0 +1,12 @@
+diff -Naur burp~/Makefile.in burp/Makefile.in
+--- burp~/Makefile.in	2015-11-01 21:14:52.621376413 +0000
++++ burp/Makefile.in	2015-11-01 22:09:25.098997115 +0000
+@@ -90,8 +90,6 @@
+ 	$(MKDIR) $(DESTDIR)$(sbindir)
+ 	$(MKDIR) $(DESTDIR)$(sysconfdir)
+ 	$(MKDIR) $(DESTDIR)$(sysconfdir)/CA-client
+-	$(MKDIR) $(DESTDIR)/var/run
+-	$(MKDIR) $(DESTDIR)/var/spool/burp
+ 	@if [ ! -d $(DESTDIR)$(sysconfdir)/clientconfdir ] ; then $(MKDIR) $(DESTDIR)$(sysconfdir)/clientconfdir ; cp configs/server/clientconfdir/testclient $(DESTDIR)$(sysconfdir)/clientconfdir/testclient ; fi
+ 	@if [ ! -d $(DESTDIR)$(sysconfdir)/clientconfdir/incexc ] ; then $(MKDIR) $(DESTDIR)$(sysconfdir)/clientconfdir/incexc ; cp configs/server/clientconfdir/incexc $(DESTDIR)$(sysconfdir)/clientconfdir/incexc/example ; fi
+ 	@if [ ! -d $(DESTDIR)$(sysconfdir)/autoupgrade/client ] ; then $(MKDIR) $(DESTDIR)$(sysconfdir)/autoupgrade/client ; fi
diff --git a/pkgs/tools/backup/burp/default.nix b/pkgs/tools/backup/burp/default.nix
new file mode 100644
index 0000000000000..5dea4eba48959
--- /dev/null
+++ b/pkgs/tools/backup/burp/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchgit, acl, librsync, ncurses, openssl, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "burp-1.4.40";
+
+  src = fetchgit {
+    url = "https://github.com/grke/burp.git";
+    rev = "1e8eebac420f2b0dc29102602b7e5e437d58d5b7";
+    sha256 = "201fe6daf598543eaf3c8cf3495812b3a65695c6841f555410aaaab1098b8f03";
+  };
+
+  patches = [ ./burp_1.4.40.patch ];
+
+  buildInputs = [ librsync ncurses openssl zlib ]
+    # next two lines copied from bacula, as burp needs acl as well
+    # acl relies on attr, which I can't get to build on darwin
+    ++ stdenv.lib.optional (!stdenv.isDarwin) acl;
+
+  configureFlags = [
+    "--sbindir=$out/bin"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "BURP - BackUp and Restore Program";
+    homepage    = http://burp.grke.org;
+    license     = licenses.agpl3;
+    maintainers = with maintainers; [ tokudan ];
+    platforms   = platforms.all;
+  };
+}
diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix
index 79f394c2aaccd..556b965120092 100644
--- a/pkgs/tools/backup/duplicity/default.nix
+++ b/pkgs/tools/backup/duplicity/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, python, librsync, ncftp, gnupg, boto, makeWrapper
-, lockfile, setuptools }:
+, lockfile, setuptools, paramiko, pycrypto, ecdsa
+}:
 
 let
   version = "0.7.02";
@@ -15,10 +16,10 @@ stdenv.mkDerivation {
   installPhase = ''
     python setup.py install --prefix=$out
     wrapProgram $out/bin/duplicity \
-      --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${boto}):$(toPythonPath ${lockfile})" \
+      --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pycrypto}):$(toPythonPath ${ecdsa}):$(toPythonPath ${paramiko}):$(toPythonPath ${boto}):$(toPythonPath ${lockfile})" \
       --prefix PATH : "${gnupg}/bin:${ncftp}/bin"
     wrapProgram $out/bin/rdiffdir \
-      --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${boto}):$(toPythonPath ${lockfile})" \
+      --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pycrypto}):$(toPythonPath ${ecdsa}):$(toPythonPath ${paramiko}):$(toPythonPath ${boto}):$(toPythonPath ${lockfile})"
   '';
 
   buildInputs = [ python librsync makeWrapper setuptools ];
diff --git a/pkgs/tools/backup/obnam/default.nix b/pkgs/tools/backup/obnam/default.nix
index 4b6ffd09a412c..5f2c9b2a69d46 100644
--- a/pkgs/tools/backup/obnam/default.nix
+++ b/pkgs/tools/backup/obnam/default.nix
@@ -2,13 +2,13 @@
 
 pythonPackages.buildPythonPackage rec {
   name = "obnam-${version}";
-  version = "1.17";
+  version = "1.18.1";
 
   namePrefix = "";
 
   src = fetchurl rec {
     url = "http://code.liw.fi/debian/pool/main/o/obnam/obnam_${version}.orig.tar.xz";
-    sha256 = "01h1la07ra9v5zaqbs1qzsri2pdc9qrk2pz8y07msqg850w59k3v";
+    sha256 = "0ziwabd58hml0qziv94fhrffdn9wpaa4zh5cgnzdsv6fcahmjla5";
   };
 
   buildInputs = [ pythonPackages.sphinx attr ];
diff --git a/pkgs/tools/backup/zbackup/default.nix b/pkgs/tools/backup/zbackup/default.nix
new file mode 100644
index 0000000000000..25bd7236e681e
--- /dev/null
+++ b/pkgs/tools/backup/zbackup/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, cmake, zlib, openssl, protobuf, protobufc, lzo, libunwind } :
+stdenv.mkDerivation rec {
+  name = "zbackup-${version}";
+  version = "1.4.4";
+  src = fetchurl {
+    url = "https://github.com/zbackup/zbackup/archive/1.4.4.tar.gz";
+    sha256 = "11csla7n44lg7x6yqg9frb21vnkr8cvnh6ardibr3nj5l39crk7g";
+  };
+  buildInputs = [ zlib openssl protobuf lzo libunwind ];
+  nativeBuildInputs = [ cmake protobufc ];
+  meta = {
+    description = "A versatile deduplicating backup tool";
+    homepage = "http://zbackup.org/";
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/tools/bootloaders/refind/default.nix b/pkgs/tools/bootloaders/refind/default.nix
index aa44c1924bf6d..7a57225ce8e81 100644
--- a/pkgs/tools/bootloaders/refind/default.nix
+++ b/pkgs/tools/bootloaders/refind/default.nix
@@ -5,20 +5,20 @@ assert (stdenv.system == "x86_64-linux" ||stdenv.system == "i686-linux");
 
 stdenv.mkDerivation rec {
 
-  name = "refind-${version}";
-  srcName = "refind-src-${version}";
-  version = "0.8.4";
+  name = "refind-${meta.version}";
+  srcName = "refind-src-${meta.version}";
 
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/project/refind/${version}/${srcName}.zip";
-    sha256 = "09g6x41fc7vvwv2y9kggjmazyhdvkn8qr02v769x33f20bfiz2zc";
+    url = "http://downloads.sourceforge.net/project/refind/${meta.version}/${srcName}.zip";
+    sha256 = "0ai150rzx20sfl92j6y1p6qnyy0wbmazrlp2fg19acs98qyxl8lh";
   };
 
   buildInputs = [ unzip gnu-efi efibootmgr dosfstools imagemagick ];
 
   HOSTARCH =
     if stdenv.system == "x86_64-linux" then "x64"
-    else if stdenv.system == "i686-linux" then "ia32" else "null";
+    else if stdenv.system == "i686-linux" then "ia32"
+    else "null";
 
   patchPhase = ''
     sed -e 's|-DEFI_FUNCTION_WRAPPER|-DEFI_FUNCTION_WRAPPER -maccumulate-outgoing-args|g' -i Make.common
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
       if stdenv.system == "x86_64-linux" then "elf_x86_64_efi.lds"
       else if stdenv.system == "i686-linux" then "elf_ia32_efi.lds" else "null";
     in ''
-      make prefix= EFIINC=${gnu-efi}/include/efi EFILIB=${gnu-efi}/lib GNUEFILIB=${gnu-efi}/lib  EFICRT0=${gnu-efi}/lib LDSCRIPT=${gnu-efi}/lib/${ldScript} gnuefi fs_gnuefi
+      make prefix= EFIINC=${gnu-efi}/include/efi EFILIB=${gnu-efi}/lib GNUEFILIB=${gnu-efi}/lib EFICRT0=${gnu-efi}/lib LDSCRIPT=${gnu-efi}/lib/${ldScript} gnuefi fs_gnuefi
     '';
 
   installPhase = ''
@@ -94,6 +94,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
+    version = "0.9.2";
     description = "A graphical {,U}EFI boot manager";
     longDescription = ''
       rEFInd is a graphical boot manager for EFI- and UEFI-based
@@ -116,4 +117,3 @@ stdenv.mkDerivation rec {
   };
 
 }
-# TODO: detect CPU host architecture (HOSTARCH can be ia32 or x64)
diff --git a/pkgs/tools/compression/bzip2/default.nix b/pkgs/tools/compression/bzip2/default.nix
index da6695ee1da9c..48f4c4fe3c356 100644
--- a/pkgs/tools/compression/bzip2/default.nix
+++ b/pkgs/tools/compression/bzip2/default.nix
@@ -2,12 +2,11 @@
 
 let
   version = "1.0.6";
-  inherit (stdenv.lib) optionalString;
-  sharedLibrary = with stdenv;
-    !( isDarwin || (stdenv ? isStatic) || system == "i686-cygwin" || linkStatic );
-in
 
-stdenv.mkDerivation rec {
+  sharedLibrary = !stdenv.isDarwin && !(stdenv ? isStatic)
+               && stdenv.system != "i686-cygwin" && !linkStatic;
+
+in stdenv.mkDerivation {
   name = "bzip2-${version}";
 
   src = fetchurl {
@@ -15,11 +14,6 @@ stdenv.mkDerivation rec {
     sha256 = "1kfrc7f0ja9fdn6j1y6yir6li818npy6217hvr3wzmnmzhs8z152";
   };
 
-  patchPhase = optionalString stdenv.isDarwin
-    "substituteInPlace Makefile --replace 'CC=gcc' 'CC=clang'";
-
-  outputs = [ "dev" "bin" "static" ] ++ stdenv.lib.optional sharedLibrary "out";
-
   crossAttrs = {
     patchPhase = ''
       sed -i -e '/<sys\\stat\.h>/s|\\|/|' bzip2.c
@@ -31,28 +25,44 @@ stdenv.mkDerivation rec {
     '';
   };
 
-  preConfigure = "substituteInPlace Makefile --replace '$(PREFIX)/man' '$(PREFIX)/share/man'";
-
-  preBuild = optionalString sharedLibrary "make -f Makefile-libbz2_so";
-  makeFlags = optionalString linkStatic "LDFLAGS=-static";
+  outputs = [ "dev" "bin" "static" ] ++ stdenv.lib.optional sharedLibrary "out";
 
-  installFlags = "PREFIX=$(bin)";
+  preBuild = stdenv.lib.optionalString sharedLibrary ''
+    make -f Makefile-libbz2_so
+  '';
 
-  postInstall = optionalString sharedLibrary ''
+  preInstall = stdenv.lib.optionalString sharedLibrary ''
     mkdir -p $out/lib
     mv libbz2.so* $out/lib
-    ( cd $out/lib && ln -s libbz2.so.1.*.* libbz2.so && ln -s libbz2.so.1.*.* libbz2.so.1 )
-  '' + ''
-    mkdir -p "$static"
-    mv "$bin/lib" "$static/"
-    (
-      cd "$bin/bin"
-      rm {bunzip2,bzcat}*
-      ln -s bzip2 bunzip2
-      ln -s bzip2 bzcat
+    ( cd $out/lib &&
+      ln -s libbz2.so.1.0.? libbz2.so &&
+      ln -s libbz2.so.1.0.? libbz2.so.1
     )
   '';
 
+  installFlags = [ "PREFIX=$(bin)" ];
+
+  postInstall = ''
+    rm $bin/bin/bunzip2* $bin/bin/bzcat*
+    ln -s bzip2 $bin/bin/bunzip2
+    ln -s bzip2 $bin/bin/bzcat
+
+    mkdir "$static"
+    mv "$bin/lib" "$static/"
+  '';
+
+  patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace Makefile --replace 'CC=gcc' 'CC=clang'
+  '';
+
+  preConfigure = ''
+    substituteInPlace Makefile --replace '$(PREFIX)/man' '$(PREFIX)/share/man'
+  '';
+
+  makeFlags = stdenv.lib.optional linkStatic "LDFLAGS=-static";
+
+  inherit linkStatic;
+
   meta = {
     homepage = "http://www.bzip.org";
     description = "high-quality data compression program";
diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix
index 44b0bbb2d82ba..5d6a8634b1baa 100644
--- a/pkgs/tools/compression/xz/default.nix
+++ b/pkgs/tools/compression/xz/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "xz-5.2.1";
+  name = "xz-5.2.2";
 
   src = fetchurl {
     url = "http://tukaani.org/xz/${name}.tar.bz2";
-    sha256 = "101a1kih58s1ysqfncqw69qnwx1zlbjxwhnfmp0z5gz0jzs4i4b7";
+    sha256 = "1da071wyx921pyx3zkxlnbpp14p6km98pnp66mg1arwi9dxgbxbg";
   };
 
   outputs = [ "dev" "out" "bin" "man" "doc" ];
diff --git a/pkgs/tools/filesystems/btrfsprogs/default.nix b/pkgs/tools/filesystems/btrfsprogs/default.nix
index d0fac3c93c917..d375c450b3f35 100644
--- a/pkgs/tools/filesystems/btrfsprogs/default.nix
+++ b/pkgs/tools/filesystems/btrfsprogs/default.nix
@@ -2,14 +2,14 @@
 , asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt
 }:
 
-let version = "4.2.1"; in
+let version = "4.3"; in
 
 stdenv.mkDerivation rec {
   name = "btrfs-progs-${version}";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    sha256 = "1nzyyfj84q98n7lf798k6695pbsd02hg2ffd1kgn8g3qcbwqhwar";
+    sha256 = "1755bjysbw7m2zgzp0jyr03x2vrnxvzdh8wvzmqqgmg97ngv4rxb";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/filesystems/ceph/0.94.nix b/pkgs/tools/filesystems/ceph/0.94.nix
index f564e28c5a3bf..abaea41b8c5c8 100644
--- a/pkgs/tools/filesystems/ceph/0.94.nix
+++ b/pkgs/tools/filesystems/ceph/0.94.nix
@@ -1,12 +1,12 @@
 { callPackage, fetchgit, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "0.94.3";
+  version = "0.94.5";
 
   src = fetchgit {
     url = "https://github.com/ceph/ceph.git";
     rev = "refs/tags/v${version}";
-    sha256 = "020khb9978wayi4jnx7f9g1fzfg3r2xn9qw66snpd3k8w2dmycxy";
+    sha256 = "0xjbs26c06awpsas4ywdqvql7hdx37slk49zmc4k8w87ff4wwxmc";
   };
 
   patches = [ ./fix-pgrefdebugging.patch ];
diff --git a/pkgs/tools/filesystems/ceph/9.0.3-i686-fix.patch b/pkgs/tools/filesystems/ceph/9.0.3-i686-fix.patch
deleted file mode 100644
index 142bcabec5448..0000000000000
--- a/pkgs/tools/filesystems/ceph/9.0.3-i686-fix.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 1213dde3d207d0d91ccecfca4dd6af1bdee0ed65 Mon Sep 17 00:00:00 2001
-From: Kefu Chai <kchai@redhat.com>
-Date: Fri, 17 Jul 2015 01:12:03 +0800
-Subject: [PATCH] cls: fix the build on i386
-
-this is a leftover of 0dae022
-
-Signed-off-by: Kefu Chai <kchai@redhat.com>
----
- src/cls/cephfs/cls_cephfs.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/cls/cephfs/cls_cephfs.h b/src/cls/cephfs/cls_cephfs.h
-index 3cee0db..d4a5f23 100644
---- a/src/cls/cephfs/cls_cephfs.h
-+++ b/src/cls/cephfs/cls_cephfs.h
-@@ -118,7 +118,7 @@ class AccumulateResult
-   // Largest object seen
-   uint64_t max_obj_size;
-   // Highest mtime seen
--  time_t   max_mtime;
-+  int64_t   max_mtime;
- 
-   AccumulateResult()
-     : ceiling_obj_index(0), ceiling_obj_size(0), max_obj_size(0), max_mtime(0)
diff --git a/pkgs/tools/filesystems/ceph/9.nix b/pkgs/tools/filesystems/ceph/9.nix
new file mode 100644
index 0000000000000..f3d15a252cb8a
--- /dev/null
+++ b/pkgs/tools/filesystems/ceph/9.nix
@@ -0,0 +1,13 @@
+{ callPackage, fetchgit, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "9.2.0";
+
+  src = fetchgit {
+    url = "https://github.com/ceph/ceph.git";
+    rev = "refs/tags/v${version}";
+    sha256 = "1f8z0dxl945370ifz2ila9bc55d81h41bmdq241y9z4pvaynl6pa";
+  };
+
+  patches = [ ./fix-pythonpath.patch ];
+})
diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix
index 31d5e95359c20..a82867e59a21a 120000..100644
--- a/pkgs/tools/filesystems/ceph/default.nix
+++ b/pkgs/tools/filesystems/ceph/default.nix
@@ -1 +1,13 @@
-0.94.nix
\ No newline at end of file
+{ callPackage, fetchgit, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "9.2.0";
+
+  src = fetchgit {
+    url = "https://github.com/ceph/ceph.git";
+    rev = "refs/tags/v${version}";
+    sha256 = "1lcal0jbpnm6y91s2v0g2zdnq7q0i5ql4bky294cz7g011di12vc";
+  };
+
+  patches = [ ./fix-pythonpath.patch ];
+})
diff --git a/pkgs/tools/filesystems/ceph/dev.nix b/pkgs/tools/filesystems/ceph/dev.nix
index 23757278b6f0c..0f6f2dfda1d1b 100644..120000
--- a/pkgs/tools/filesystems/ceph/dev.nix
+++ b/pkgs/tools/filesystems/ceph/dev.nix
@@ -1,16 +1 @@
-{ callPackage, fetchgit, ... } @ args:
-
-callPackage ./generic.nix (args // rec {
-  version = "9.0.3";
-
-  src = fetchgit {
-    url = "https://github.com/ceph/ceph.git";
-    rev = "refs/tags/v${version}";
-    sha256 = "08ccy735srzmi505qlrpqdh5js40mpd5k1vdhnysknra0vqlpmdx";
-  };
-
-  patches = [
-    ./fix-pythonpath.patch
-    ./9.0.3-i686-fix.patch
-  ];
-})
+9.nix
\ No newline at end of file
diff --git a/pkgs/tools/filesystems/ceph/generic.nix b/pkgs/tools/filesystems/ceph/generic.nix
index cfc020b107d21..8c169f131ed2a 100644
--- a/pkgs/tools/filesystems/ceph/generic.nix
+++ b/pkgs/tools/filesystems/ceph/generic.nix
@@ -206,10 +206,10 @@ stdenv.mkDerivation {
   ] ++ optional (versionAtLeast version "9.0.2") [
     (mkWith   true                         "man-pages"            null)
     (mkWith   true                         "systemd-libexec-dir"  "\${out}/libexec")
-  ] ++ optional (versionOlder version "10.0.0") [
+  ] ++ optional (versionOlder version "9.1.0") [
     (mkWith   (optLibs3 != null)           "system-libs3"         null)
     (mkWith   true                         "rest-bench"           null)
-  ] ++ optional (versionAtLeast version "10.0.0") [
+  ] ++ optional (versionAtLeast version "9.1.0") [
     (mkWith   true                         "rgw-user"             "rgw")
     (mkWith   true                         "rgw-group"            "rgw")
     (mkWith   true                         "systemd-unit-dir"     "\${out}/etc/systemd/system")
diff --git a/pkgs/tools/filesystems/ceph/git.nix b/pkgs/tools/filesystems/ceph/git.nix
index 5b44a7d20f801..53fe43b93fadd 100644
--- a/pkgs/tools/filesystems/ceph/git.nix
+++ b/pkgs/tools/filesystems/ceph/git.nix
@@ -1,12 +1,12 @@
 { callPackage, fetchgit, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "2015-09-22";
+  version = "2015-10-16";
 
   src = fetchgit {
     url = "git://github.com/ceph/ceph.git";
-    rev = "f1ead76f80cc3d078778080c35a6427256874062";
-    sha256 = "16c01b9v04slp80dlgw8n9a5ndjqxi6lv0pnklh1ykh4xb248gjh";
+    rev = "63d868106efd4d8aef71d498ba84cb2271a95a07";
+    sha256 = "1sx0j50zp0is34x7rpddiizspg2qfscyfwc5yrw3y6hiklpzhz96";
   };
 
   patches = [ ./fix-pythonpath.patch ];
diff --git a/pkgs/tools/filesystems/djmount/default.nix b/pkgs/tools/filesystems/djmount/default.nix
new file mode 100644
index 0000000000000..7010a60bcbc03
--- /dev/null
+++ b/pkgs/tools/filesystems/djmount/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, fuse }:
+
+stdenv.mkDerivation rec {
+  name = "djmount-${version}";
+  version = "0.71";
+  src = fetchurl {
+    url = "mirror://sourceforge/djmount/${version}/${name}.tar.gz";
+    sha256 = "0kqf0cy3h4cfiy5a2sigmisx0lvvsi1n0fbyb9ll5gacmy1b8nxa";
+  };
+
+  buildInputs = [ pkgconfig fuse];
+
+  meta = {
+    homepage = http://djmount.sourceforge.net/;
+    description = "UPnP AV client, mounts as a Linux filesystem the media content of compatible UPnP AV devices";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.jagajaga ];
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/tools/filesystems/exfat/default.nix b/pkgs/tools/filesystems/exfat/default.nix
index 08cb70dcfc884..f8a0d09bc52a8 100644
--- a/pkgs/tools/filesystems/exfat/default.nix
+++ b/pkgs/tools/filesystems/exfat/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, fuse }:
 
-let version = "1.2.1"; in
+let version = "1.2.2"; in
 stdenv.mkDerivation rec {
   name = "exfat-${version}";
 
   src = fetchFromGitHub {
-    sha256 = "1k716civkxszkzpc7bcqqcmfik8lpwk3zwp2nl4v844b8g7r5xz9";
+    sha256 = "17yyd988l4r5w3q3h3hjlxprbw74wdg4n759lzg325smh96qk7p1";
     rev = "v${version}";
     repo = "exfat";
     owner = "relan";
diff --git a/pkgs/tools/filesystems/fuse-7z-ng/default.nix b/pkgs/tools/filesystems/fuse-7z-ng/default.nix
new file mode 100644
index 0000000000000..8b3df52bcb74c
--- /dev/null
+++ b/pkgs/tools/filesystems/fuse-7z-ng/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchFromGitHub, fuse, p7zip, autoconf, automake, pkgconfig, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "fuse-7z-ng";
+  version = "git-2014-06-08";
+
+  src = fetchFromGitHub {
+    owner = "kedazo";
+    repo = pname;
+    rev = "eb5efb1f304c2b7bc2e0389ba06c9bf2ac4b932c";
+    sha256 = "17v1gcmg5q661b047zxjar735i4d3508dimw1x3z1pk4d1zjhp3x";
+  };
+
+  buildInputs = [ fuse autoconf automake pkgconfig makeWrapper ];
+
+  preConfigure = "./autogen.sh";
+
+  libs = stdenv.lib.makeLibraryPath [ p7zip ]; # 'cause 7z.so is loaded manually
+  postInstall = ''
+    wrapProgram $out/bin/${pname} --suffix LD_LIBRARY_PATH : "${libs}/p7zip"
+
+    mkdir -p $out/share/doc/${pname}
+    cp TODO README NEWS COPYING ChangeLog AUTHORS $out/share/doc/${pname}/
+  '';
+
+  meta = with stdenv.lib; {
+    inherit version;
+    inherit (src.homepage);
+    description = "A FUSE-based filesystem that uses the p7zip library";
+    longDescription = ''
+      fuse-7z-ng is a FUSE file system that uses the p7zip
+      library to access all archive formats supported by 7-zip.
+
+      This project is a fork of fuse-7z ( https://gitorious.org/fuse-7z/fuse-7z ).
+    '';
+    platforms = platforms.linux;
+    license = licenses.gpl3Plus;
+  };
+}
diff --git a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
index 0995a8bfd23e6..1776c30ecae0a 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
@@ -1,8 +1,6 @@
 { stdenv, fetchurl, buildPythonPackage, pykickstart, pyparted, pyblock
 , libselinux, cryptsetup, multipath_tools, lsof, utillinux
 , useNixUdev ? true, libudev ? null
-# This is only used when useNixUdev is false
-, udevSoMajor ? 1
 }:
 
 assert useNixUdev -> libudev != null;
@@ -17,6 +15,8 @@ buildPythonPackage rec {
     sha256 = "1k3mws2q0ryb7422mml6idmaasz2i2v6ngyvg6d976dx090qnmci";
   };
 
+  patches = [ ./blivet.patch ];
+
   postPatch = ''
     sed -i -e 's|"multipath"|"${multipath_tools}/sbin/multipath"|' \
       blivet/devicelibs/mpath.py blivet/devices.py
@@ -27,16 +27,11 @@ buildPythonPackage rec {
     sed -i -e 's|"lsof"|"${lsof}/bin/lsof"|' blivet/formats/fs.py
     sed -i -r -e 's|"(u?mount)"|"${utillinux.bin}/bin/\1"|' blivet/util.py
     sed -i '/pvscan/s/, *"--cache"//' blivet/devicelibs/lvm.py
-  '' + (if useNixUdev then ''
+  '' + stdenv.lib.optionalString useNixUdev ''
     sed -i -e '/find_library/,/find_library/ {
       c libudev = "${libudev.out}/lib/libudev.so.1"
     }' blivet/pyudev.py
-  '' else ''
-    sed -i \
-      -e '/^somajor *=/s/=.*/= ${toString udevSoMajor}/p' \
-      -e 's|common =.*|& + ["/lib/x86_64-linux-gnu", "/lib/i686-linux-gnu"]|' \
-      blivet/pyudev.py
-  '');
+  '';
 
   propagatedBuildInputs = [
     pykickstart pyparted pyblock libselinux cryptsetup
diff --git a/pkgs/tools/filesystems/nixpart/0.4/blivet.patch b/pkgs/tools/filesystems/nixpart/0.4/blivet.patch
new file mode 100644
index 0000000000000..1758d18442d2f
--- /dev/null
+++ b/pkgs/tools/filesystems/nixpart/0.4/blivet.patch
@@ -0,0 +1,39 @@
+diff --git a/blivet/pyudev.py b/blivet/pyudev.py
+index 705b93d..7268d71 100644
+--- a/blivet/pyudev.py
++++ b/blivet/pyudev.py
+@@ -7,9 +7,9 @@ from ctypes import *
+ 
+ 
+ # XXX this one may need some tweaking...
+-def find_library(name, somajor=0):
++def find_library(name):
+     env = os.environ.get("LD_LIBRARY_PATH")
+-    common = ["/lib64", "/lib"]
++    common = ["/lib64", "/lib", "/lib/x86_64-linux-gnu", "/lib/i686-linux-gnu"]
+ 
+     if env:
+         libdirs = env.split(":") + common
+@@ -19,7 +19,7 @@ def find_library(name, somajor=0):
+     libdirs = filter(os.path.isdir, libdirs)
+ 
+     for dir in libdirs:
+-        files = fnmatch.filter(os.listdir(dir), "lib%s.so.%d" % (name, somajor))
++        files = fnmatch.filter(os.listdir(dir), "lib%s.so.*" % name)
+         files = [os.path.join(dir, file) for file in files]
+ 
+         if files:
+@@ -32,11 +32,10 @@ def find_library(name, somajor=0):
+ 
+ # find the udev library
+ name = "udev"
+-somajor = 1
+-libudev = find_library(name=name, somajor=somajor)
++libudev = find_library(name)
+ 
+ if not libudev or not os.path.exists(libudev):
+-    raise ImportError, "No library named %s.%d" % (name, somajor)
++    raise ImportError, "No library named lib%s.so" % name
+ 
+ # load the udev library
+ libudev = CDLL(libudev)
diff --git a/pkgs/tools/filesystems/nixpart/0.4/default.nix b/pkgs/tools/filesystems/nixpart/0.4/default.nix
index 1ac8083c2594c..cbedf6a70a5d7 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/default.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/default.nix
@@ -1,6 +1,8 @@
 { stdenv, fetchurl, python, buildPythonPackage
 # Propagated to blivet
-, useNixUdev ? true, udevSoMajor ? null
+, useNixUdev ? true
+# No longer needed, but kept for backwards-compatibility with older NixOps.
+, udevSoMajor ? null
 # Propagated dependencies
 , pkgs, urlgrabber
 }:
@@ -9,7 +11,7 @@ let
   blivet = import ./blivet.nix {
     inherit stdenv fetchurl buildPythonPackage;
     inherit pykickstart pyparted pyblock cryptsetup multipath_tools;
-    inherit useNixUdev udevSoMajor;
+    inherit useNixUdev;
     inherit (pkgs) lsof utillinux libudev;
     libselinux = pkgs.libselinux.override { enablePython = true; };
   };
diff --git a/pkgs/tools/filesystems/snapraid/default.nix b/pkgs/tools/filesystems/snapraid/default.nix
new file mode 100644
index 0000000000000..bbddedf5077be
--- /dev/null
+++ b/pkgs/tools/filesystems/snapraid/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "snapraid";
+  version = "8.1";
+
+  src = fetchurl {
+    url = "https://github.com/amadvance/snapraid/releases/download/v${version}/snapraid-${version}.tar.gz";
+    sha256 = "0pafqn9ismn4j3fsx8fgf008qwh2c6f8mjfjijah6d5c349rmy3b";
+  };
+
+  meta = {
+    homepage = http://www.snapraid.it/;
+    description = "A backup program for disk arrays";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.makefu ];
+  };
+}
diff --git a/pkgs/tools/filesystems/yandex-disk/default.nix b/pkgs/tools/filesystems/yandex-disk/default.nix
index 97d70d1a45b9d..42308947c07b9 100644
--- a/pkgs/tools/filesystems/yandex-disk/default.nix
+++ b/pkgs/tools/filesystems/yandex-disk/default.nix
@@ -6,18 +6,18 @@ let
   p = if stdenv.is64bit then {
       arch = "x86_64";
       gcclib = "${stdenv.cc.cc}/lib64";
-      sha256 = "08mmjz061b0hrqp8zg31w089n5bk3sq4r3w84zr33d8pnvkgq2wk";
+      sha256 = "1dr976z0zgg5jk477hrnfmpcx4llh5xi1493k0pkp28m6ypbxy2q";
     }
     else {
       arch = "i386";
       gcclib = "${stdenv.cc.cc}/lib";
-      sha256 = "1zb6cnldd43nr4k2qg9hnrkgj0iik2gpxqrjypbhwv75hnvjma93";
+      sha256 = "01v0caf194y6yb0zc0d3ywx3y0rwb7sxkav4ickd4l968jpi8p91";
     };
 in 
 stdenv.mkDerivation rec {
 
   name = "yandex-disk-${version}";
-  version = "0.1.5.905";
+  version = "0.1.5.940";
 
   src = fetchurl {
     url = "http://repo.yandex.ru/yandex-disk/rpm/stable/${p.arch}/${name}-1.fedora.${p.arch}.rpm";
diff --git a/pkgs/tools/graphics/dcraw/default.nix b/pkgs/tools/graphics/dcraw/default.nix
index 5dcac6a021592..b8cdb64da8788 100644
--- a/pkgs/tools/graphics/dcraw/default.nix
+++ b/pkgs/tools/graphics/dcraw/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, libjpeg, lcms2, gettext, jasper }:
 
 stdenv.mkDerivation rec {
-  name = "dcraw-9.22";
+  name = "dcraw-9.26.0";
 
   src = fetchurl {
     url = "http://www.cybercom.net/~dcoffin/dcraw/archive/${name}.tar.gz";
-    sha256 = "00dz85fr5r9k3nlwdbdi30fpqr8wihamzpyair7l7zk0vkrax402";
+    sha256 = "18zvzaxjq1yaj90xm8bwb30lqbjyjyp002bp175dayh3kr91syc5";
   };
 
   buildInputs = [ libjpeg lcms2 gettext jasper ];
diff --git a/pkgs/tools/graphics/graphviz/default.nix b/pkgs/tools/graphics/graphviz/default.nix
index 0e83899f0b736..78784580eacca 100644
--- a/pkgs/tools/graphics/graphviz/default.nix
+++ b/pkgs/tools/graphics/graphviz/default.nix
@@ -31,6 +31,13 @@ stdenv.mkDerivation rec {
 
   configureFlags = stdenv.lib.optional (xorg == null) "--without-x";
 
+  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+    for foo in cmd/dot/Makefile.in cmd/edgepaint/Makefile.in \
+                    cmd/mingle/Makefile.in plugin/gdiplus/Makefile.in; do
+      substituteInPlace "$foo" --replace "-lstdc++" "-lc++"
+    done
+  '';
+
   preBuild = ''
     sed -e 's@am__append_5 *=.*@am_append_5 =@' -i lib/gvc/Makefile
   '';
diff --git a/pkgs/tools/graphics/imgur-screenshot/default.nix b/pkgs/tools/graphics/imgur-screenshot/default.nix
new file mode 100644
index 0000000000000..d1badc7350959
--- /dev/null
+++ b/pkgs/tools/graphics/imgur-screenshot/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, makeWrapper, curl, gnugrep, libnotify, scrot, which, xclip }:
+
+let deps = stdenv.lib.makeSearchPath "bin" [ curl gnugrep libnotify scrot which xclip ];
+in stdenv.mkDerivation rec {
+  version = "1.5.4";
+  name = "imgur-screenshot-${version}";
+
+  src = fetchFromGitHub {
+    owner = "jomo";
+    repo = "imgur-screenshot";
+    rev = "v${version}";
+    sha256 = "1ff88mvrd0b7nmrkjljs3rnprk5ih0iif92dn39s3vnag3fp9f10";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    install -Dm755 imgur-screenshot.sh $out/bin/imgur-screenshot
+    wrapProgram $out/bin/imgur-screenshot --prefix PATH ':' ${deps}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A tool for easy screencapping and uploading to imgur.";
+    homepage = "https://https://github.com/jomo/imgur-screenshot/";
+    platforms = platforms.linux;
+    license = licenses.mit;
+    maintainers = with maintainers; [ lw ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/graphics/leela/default.nix b/pkgs/tools/graphics/leela/default.nix
new file mode 100644
index 0000000000000..fa151420ebb56
--- /dev/null
+++ b/pkgs/tools/graphics/leela/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, pkgconfig, poppler }:
+
+stdenv.mkDerivation {
+  name = "leela-12.fe7a35a";
+
+  src = fetchFromGitHub {
+    owner = "TrilbyWhite";
+    repo = "Leela";
+    rev = "576a60185b191d3a3030fef10492fe32d2125563";
+    sha256 = "1k6n758r9dhjmc1pnpk6qzpg0q7pkq2hf18z3b0s2z198jpkg9s3";
+  };
+
+  buildInputs = [ pkgconfig poppler ];
+
+  installFlags = [ "PREFIX=$(out)" "MANDIR=$(out)/share/man" ];
+
+  meta = {
+    description = "CLI frontend to the poppler-glib libary of PDF tools";
+    homepage = https://github.com/TrilbyWhite/Leela;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.puffnfresh ];
+  };
+}
diff --git a/pkgs/tools/graphics/logstalgia/default.nix b/pkgs/tools/graphics/logstalgia/default.nix
index ef825bcca4547..0deb24ed56f96 100644
--- a/pkgs/tools/graphics/logstalgia/default.nix
+++ b/pkgs/tools/graphics/logstalgia/default.nix
@@ -3,18 +3,16 @@
 
 stdenv.mkDerivation rec {
   name = "logstalgia-${version}";
-  version = "1.0.6";
+  version = "1.0.7";
 
   src = fetchurl {
     url = "https://github.com/acaudwell/Logstalgia/releases/download/${name}/${name}.tar.gz";
-    sha256 = "0d2zhn0q26rv2nb3hdbg0mb69l66g8pkys5is6rb0r6f5is986x8";
+    sha256 = "1qghz1j3jmfj093br2hfyibayg3fmhg8fvp5ix9n9rbvzc1zslsm";
   };
 
   buildInputs = [ glew SDL ftgl pkgconfig libpng libjpeg pcre SDL_image mesa boost
                   glm ];
 
-  NIX_CFLAGS_COMPILE = "-std=c++11"; # fix build with glm >= 0.9.6.0
-
   meta = with stdenv.lib; {
     homepage = http://code.google.com/p/logstalgia;
     description = "Website traffic visualization tool";
diff --git a/pkgs/tools/graphics/sng/default.nix b/pkgs/tools/graphics/sng/default.nix
new file mode 100644
index 0000000000000..d9b06c2adf35f
--- /dev/null
+++ b/pkgs/tools/graphics/sng/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, libpng, netpbm }:
+
+stdenv.mkDerivation rec {
+  name = "sng-${version}";
+  version = "1.0.6";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/sng/sng-${version}.tar.gz";
+    sha256 = "04ym62qh8blsqigm3kr1shj9pn62y373wdaavk74rzwjzlhwhmq6";
+  };
+
+  buildInputs = [ libpng ];
+
+  configureFlags = [
+    "--with-rgbtxt=${netpbm}/share/netpbm/misc/rgb.txt"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Minilanguage designed to represent the entire contents of a PNG file in an editable form";
+    homepage = http://sng.sourceforge.net/;
+    license = licenses.zlib;
+    maintainers = [ maintainers.dezgeg ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/graphics/wkhtmltopdf/default.nix b/pkgs/tools/graphics/wkhtmltopdf/default.nix
index 2f3929b82b8e0..89ea0e9444402 100644
--- a/pkgs/tools/graphics/wkhtmltopdf/default.nix
+++ b/pkgs/tools/graphics/wkhtmltopdf/default.nix
@@ -2,21 +2,23 @@
 , openssl, libX11, libXext, libXrender, overrideDerivation }:
 
 stdenv.mkDerivation rec {
-  version = "0.12.1";
+  version = "0.12.2.4";
   name = "wkhtmltopdf-${version}";
 
   src = fetchgit {
     url = "https://github.com/wkhtmltopdf/wkhtmltopdf.git";
     rev = "refs/tags/${version}";
-    sha256 = "0wjzaaviy1k3z8r2kzb2rmyx6xdj23a338b86sxcb15ws3kzwgwh";
+    sha256 = "0g96vgi3s633j4myjfzakkyiml1zspvdvbc0q1vhw8fp5n1xdknm";
+    fetchSubmodules = false;
   };
 
   wkQt = overrideDerivation qt4 (deriv: {
     name = "qt-mod-4.8.6";
+    enableParallelBuilding = true;
     src = fetchgit {
       url = "https://github.com/wkhtmltopdf/qt.git";
-      rev = "82b568b"; # From git submodule spec in wkhtml repo.
-      sha256 = "0whppwxnymh5bdayqsqx54n074m99yk6v78z7f0k5prja55yvwyx";
+      rev = "48e71c19c7fc67517fb3dca6d42eacb57341c9ba"; # From git submodule spec in wkhtml repo.
+      sha256 = "1ygr7g3k900zjf54ji6kkfppqnxaqwbh8npr53g2krdw3bmny6fx";
     };
     configureFlags =
       ''
@@ -67,12 +69,12 @@ stdenv.mkDerivation rec {
     ];
 
   configurePhase = "qmake wkhtmltopdf.pro INSTALLBASE=$out";
-  
+
   patches = [ ./makefix.patch ];
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://wkhtmltopdf.org/;
     description = "Tools for rendering web pages to PDF or images";
     longDescription = ''
@@ -83,6 +85,7 @@ stdenv.mkDerivation rec {
 
       There is also a C library, if you're into that kind of thing.
     '';
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ jb55 ];
   };
 }
diff --git a/pkgs/tools/inputmethods/ibus/default.nix b/pkgs/tools/inputmethods/ibus/default.nix
index 61e6594e358a0..b62f81ba8fece 100644
--- a/pkgs/tools/inputmethods/ibus/default.nix
+++ b/pkgs/tools/inputmethods/ibus/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "ibus-${version}";
-  version = "1.5.10";
+  version = "1.5.11";
 
   src = fetchurl {
     url = "https://github.com/ibus/ibus/releases/download/${version}/${name}.tar.gz";
-    sha256 = "152mdzi9hr246spnn7bkb4gy16x30082xwq460gmm1q2cs0bf08x";
+    sha256 = "1g26llizd26h9sfz4xdq8krhz19hn08pirvfbkk3g89ri8lmm6a9";
   };
 
   configureFlags = "--disable-gconf --enable-dconf --disable-memconf --enable-ui --enable-python-library";
diff --git a/pkgs/tools/misc/binwalk/default.nix b/pkgs/tools/misc/binwalk/default.nix
index 761ae6169ebee..6e16957aac261 100644
--- a/pkgs/tools/misc/binwalk/default.nix
+++ b/pkgs/tools/misc/binwalk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, python, wrapPython, curses, mtdutils, zlib, xz, ncompress, gzip, bzip2, gnutar, p7zip, cabextract
+{ stdenv, fetchFromGitHub, python, wrapPython, curses, zlib, xz, ncompress, gzip, bzip2, gnutar, p7zip, cabextract
 , pyqtgraph ? null
 , visualizationSupport ? false }:
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   pythonPath = with stdenv.lib; [ curses ]
                ++ optional visualizationSupport [ pyqtgraph ];
 
-  propagatedBuildInputs = with stdenv.lib; [ python wrapPython curses mtdutils zlib xz ncompress gzip bzip2 gnutar p7zip cabextract ]
+  propagatedBuildInputs = with stdenv.lib; [ python wrapPython curses zlib xz ncompress gzip bzip2 gnutar p7zip cabextract ]
                           ++ optional visualizationSupport [ pyqtgraph ];
 
   postInstall = "wrapPythonPrograms";
diff --git a/pkgs/tools/misc/cloc/default.nix b/pkgs/tools/misc/cloc/default.nix
index bb278dbe1b199..0b5796d4ac380 100644
--- a/pkgs/tools/misc/cloc/default.nix
+++ b/pkgs/tools/misc/cloc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl, AlgorithmDiff, RegexpCommon }:
+{ stdenv, fetchurl, fetchpatch, perl, AlgorithmDiff, RegexpCommon }:
 
 stdenv.mkDerivation rec {
 
@@ -11,6 +11,12 @@ stdenv.mkDerivation rec {
     sha256 = "1w3mz69h2i7pscvi9q7yp7wimds8g38c5ph78cj5pvjl5wa035rh";
   };
 
+  patches = [ (fetchpatch {
+    name = "perl-5.22.patch";
+    url = "https://bugs.archlinux.org/task/45494?getfile=13174";
+    sha256 = "1xxwqjy2q2fdza7kfp9ld0yzljkdsrgm8a9pwnmx5q4adigcjjsz";
+  }) ];
+
   buildInputs = [ perl AlgorithmDiff RegexpCommon ];
 
   makeFlags = [ "prefix=" "DESTDIR=$(out)" "INSTALL=install" ];
diff --git a/pkgs/tools/misc/colord-gtk/default.nix b/pkgs/tools/misc/colord-gtk/default.nix
index f46bf3ef7a48d..96022d01ef7d0 100644
--- a/pkgs/tools/misc/colord-gtk/default.nix
+++ b/pkgs/tools/misc/colord-gtk/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, colord, intltool, glib, gtk3, pkgconfig, lcms2 }:
 
 stdenv.mkDerivation rec {
-  name = "colord-gtk-0.1.25";
+  name = "colord-gtk-0.1.26";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/colord/releases/${name}.tar.xz";
-    sha256 = "02hblw9rw24dhj0wqfw86pfq4y4icb6iaa92308a9jwa6k2923xx";
+    sha256 = "0i9y3bb5apj6a0f8cx36l6mjzs7xc0k7nf0magmf58vy2mzhpl18";
   };
 
   buildInputs = [ intltool colord glib gtk3 pkgconfig lcms2 ];
diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix
index 8e5ccdd243dbd..40ebf2174ae26 100644
--- a/pkgs/tools/misc/coreutils/default.nix
+++ b/pkgs/tools/misc/coreutils/default.nix
@@ -19,13 +19,22 @@ let
       sha256 = "0w11jw3fb5sslf0f72kxy7llxgk1ia3a6bcw0c9kmvxrlj355mx2";
     };
 
-    patches = if stdenv.isCygwin then [ ./coreutils-8.23-4.cygwin.patch ] else null;
+    patches = if stdenv.isCygwin then ./coreutils-8.23-4.cygwin.patch else
+              (if stdenv.isArm then (fetchurl {
+                  url = "http://git.savannah.gnu.org/cgit/coreutils.git/patch/?id=3ba68f9e64fa2eb8af22d510437a0c6441feb5e0";
+                  sha256 = "1dnlszhc8lihhg801i9sz896mlrgfsjfcz62636prb27k5hmixqz";
+                  name = "coreutils-tail-inotify-race.patch";
+              }) else null);
 
     # The test tends to fail on btrfs and maybe other unusual filesystems.
     postPatch = stdenv.lib.optionalString (!stdenv.isDarwin) ''
       sed '2i echo Skipping dd sparse test && exit 0' -i ./tests/dd/sparse.sh
       sed '2i echo Skipping cp sparse test && exit 0' -i ./tests/cp/sparse.sh
-    '';
+    '' +
+       # This is required by coreutils-tail-inotify-race.patch to avoid more deps
+       stdenv.lib.optionalString stdenv.isArm ''
+         touch -r src/stat.c src/tail.c
+       '';
 
     outputs = [ "out" "info" ];
 
diff --git a/pkgs/tools/misc/fontforge/default.nix b/pkgs/tools/misc/fontforge/default.nix
index 886495a27ebbb..3ecb886419f28 100644
--- a/pkgs/tools/misc/fontforge/default.nix
+++ b/pkgs/tools/misc/fontforge/default.nix
@@ -6,7 +6,7 @@
 }:
 
 let
-  version = "20141230"; # also tagged v2.1.0
+  version = "20150824"; # also tagged v2.1.0
 in
 
 stdenv.mkDerivation {
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://github.com/fontforge/fontforge/archive/${version}.tar.gz";
-    sha256 = "1xfi13knn1x7hd7pvr6090qz6qfa5znbs85rg1p5mfj377z2h8rb";
+    sha256 = "09zzg166lw5ldbzsa2j9x7hizn6y3ld1kf4abfkiy301rdqj9ar8";
   };
 
   patches = [(fetchpatch {
diff --git a/pkgs/tools/misc/goaccess/default.nix b/pkgs/tools/misc/goaccess/default.nix
index e73bc487f2117..b9310db0ee86c 100644
--- a/pkgs/tools/misc/goaccess/default.nix
+++ b/pkgs/tools/misc/goaccess/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, pkgconfig, geoip, ncurses, glib }:
+{ stdenv, fetchurl, pkgconfig, geoipWithDatabase, ncurses, glib }:
 
 let
-  version = "0.9";
+  version = "0.9.4";
   mainSrc = fetchurl {
     url = "http://tar.goaccess.io/goaccess-${version}.tar.gz";
-    sha256 = "1yi7bxrmhvd11ha405bqpz7q442l9bnnx317iy22xzxjl96frn29";
+    sha256 = "1kn5yvgzrzjlxd0zhr2d2gbjdin9j9vmfbk5gkrwqc4kd9zicvla";
   };
 in
 
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     pkgconfig
-    geoip
+    geoipWithDatabase
     ncurses
     glib
   ];
diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix
index 2b9c2297af283..fd6920e623dcd 100644
--- a/pkgs/tools/misc/gparted/default.nix
+++ b/pkgs/tools/misc/gparted/default.nix
@@ -1,19 +1,25 @@
-{ stdenv, fetchurl, parted, gtk, glib, intltool, gettext, libuuid
-, pkgconfig, gtkmm, libxml2, hicolor_icon_theme
+{ stdenv, fetchurl, intltool, gettext, makeWrapper
+, parted, gtk, glib, libuuid, pkgconfig, gtkmm, libxml2, hicolor_icon_theme
+, hdparm, utillinux
 }:
 
 stdenv.mkDerivation rec {
-  name = "gparted-0.23.0";
+  name = "gparted-0.24.0";
 
   src = fetchurl {
-    sha256 = "0m57bni3nkbbqq920ydzvasy2qc5j6w6bdssyn12jk4157gxvlbz";
+    sha256 = "0q6d1s9f4qgdivj4vm9w87qmdfyq8s65jzkhv05rp9cl72rqlf82";
     url = "mirror://sourceforge/gparted/${name}.tar.bz2";
   };
 
   configureFlags = "--disable-doc";
 
   buildInputs = [ parted gtk glib libuuid gtkmm libxml2 hicolor_icon_theme ];
-  nativeBuildInputs = [ intltool gettext pkgconfig ];
+  nativeBuildInputs = [ intltool gettext makeWrapper pkgconfig ];
+
+  postInstall = ''
+    wrapProgram $out/sbin/gpartedbin \
+      --prefix PATH : "${hdparm}/bin:${utillinux}/bin"
+  '';
 
   meta = with stdenv.lib; {
     description = "Graphical disk partitioning tool";
diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix
index e0a811a61e75f..62676fd05a843 100644
--- a/pkgs/tools/misc/grub/2.0x.nix
+++ b/pkgs/tools/misc/grub/2.0x.nix
@@ -20,7 +20,7 @@ let
   canEfi = any (system: stdenv.system == system) (mapAttrsToList (name: _: name) efiSystems);
   inPCSystems = any (system: stdenv.system == system) (mapAttrsToList (name: _: name) pcSystems);
 
-  version = "2.x-2015-07-27";
+  version = "2.x-2015-10-13";
 
   unifont_bdf = fetchurl {
     url = "http://unifoundry.com/unifont-5.1.20080820.bdf.gz";
@@ -43,8 +43,8 @@ stdenv.mkDerivation rec {
 
   src = fetchFromSavannah {
     repo = "grub";
-    rev = "72fc110d95129410443b898e931ff7a1db75312e";
-    sha256 = "0l2hws8h1jhww5s0m8pkwdggacpqb7fvz2jx83syg7ynczpgzbxs";
+    rev = "a3645c1240a0b89c3b51593bd3efc14fe66d67cf";
+    sha256 = "0vxc2hi4qgv3hm90q6m3s5a9xi3j40fkc0wqv09hfkw25rabqk60";
   };
 
   nativeBuildInputs = [ autogen flex bison python autoconf automake ];
diff --git a/pkgs/tools/misc/grub/trusted.nix b/pkgs/tools/misc/grub/trusted.nix
index 315c7145cbe34..87c551db4e387 100644
--- a/pkgs/tools/misc/grub/trusted.nix
+++ b/pkgs/tools/misc/grub/trusted.nix
@@ -11,7 +11,7 @@ let
 
   inPCSystems = any (system: stdenv.system == system) (mapAttrsToList (name: _: name) pcSystems);
 
-  version = "1.2.0";
+  version = "1.2.1";
 
   unifont_bdf = fetchurl {
     url = "http://unifoundry.com/unifont-5.1.20080820.bdf.gz";
@@ -32,8 +32,8 @@ stdenv.mkDerivation rec {
 
   src = fetchgit {
     url = "https://github.com/Sirrix-AG/TrustedGRUB2";
-    rev = "1ff54a5fbe02ea01df5a7de59b1e0201e08d4f76";
-    sha256 = "8c17bd7e14dd96ae9c4e98723f4e18ec6b21d45ac486ecf771447649829d0b34";
+    rev = "ab483d389bda3115ca0ae4202fd71f2e4a31ad41";
+    sha256 = "4b715837f8632278720d8b29aec06332f5302c6ba78183ced5f48d3c376d89c0";
   };
 
   nativeBuildInputs = [ autogen flex bison python autoconf automake ];
diff --git a/pkgs/tools/misc/grub4dos/default.nix b/pkgs/tools/misc/grub4dos/default.nix
new file mode 100644
index 0000000000000..18464574d4407
--- /dev/null
+++ b/pkgs/tools/misc/grub4dos/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, unzip, nasm }:
+
+let arch =
+  if stdenv.isi686 then "i386"
+  else if stdenv.isx86_64 then "x86_64"
+  else abort "Unknown architecture";
+in stdenv.mkDerivation {
+  name = "grub4dos-0.4.6a";
+
+  src = fetchurl {
+    url = https://github.com/chenall/grub4dos/archive/e855b293432bd4d155e42d48356f9aa1974ec385.zip;
+    sha256 = "1vihzllsdshd5dyr7i7dp5ragyg77gg8r279pz954p7lkcda4kx7";
+  };
+
+  nativeBuildInputs = [ unzip nasm ];
+
+  configureFlags = [ "--host=${arch}-pc-linux-gnu" ];
+
+  postInstall = ''
+    mv $out/lib/grub/${arch}-pc/* $out/lib/grub
+    rmdir $out/lib/grub/${arch}-pc
+    chmod +x $out/lib/grub/bootlace.com
+  '';
+
+  dontStrip = true;
+  dontPatchELF = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://grub4dos.chenall.net/;
+    description = "GRUB for DOS is the dos extension of GRUB";
+    maintainers = with maintainers; [ abbradar ];
+    platforms = platforms.all;
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix
index bcfca5fddb5d5..0655fddeb87a6 100644
--- a/pkgs/tools/misc/hdf5/default.nix
+++ b/pkgs/tools/misc/hdf5/default.nix
@@ -1,17 +1,21 @@
-
 { stdenv
 , fetchurl
+, cpp ? false
+, gfortran ? null
 , zlib ? null
 , szip ? null
 , mpi ? null
 , enableShared ? true
 }:
+
+with { inherit (stdenv.lib) optional; };
+
 stdenv.mkDerivation rec {
-  version = "1.8.14";
+  version = "1.8.15-patch1";
   name = "hdf5-${version}";
   src = fetchurl {
     url = "http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-${version}/src/hdf5-${version}.tar.gz";
-    sha256 = "0f86gv32pjrrphvamgims1dd7f3bp46hjarbcdy8k4gmyzpgxghx";
+    sha256 = "19k39da6zzxyr0fnffn4iqlls9v1fsih877rznq8ypqy8mzf5dci";
  };
 
   passthru = {
@@ -20,20 +24,22 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = []
-    ++ stdenv.lib.optional (zlib != null) zlib
-    ++ stdenv.lib.optional (szip != null) szip;
+    ++ optional (gfortran != null) gfortran
+    ++ optional (zlib != null) zlib
+    ++ optional (szip != null) szip;
 
   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 ""}
-  ";
-  
+    ++ optional (mpi != null) mpi;
+
+  configureFlags = []
+    ++ optional cpp "--enable-cxx"
+    ++ optional (gfortran != null) "--enable-fortran"
+    ++ optional (szip != null) "--with-szlib=${szip}"
+    ++ optional (mpi != null) "--enable-parallel"
+    ++ optional enableShared "--enable-shared";
+
   patches = [./bin-mv.patch];
-  
+
   meta = {
     description = "Data model, library, and file format for storing and managing data";
     longDescription = ''
diff --git a/pkgs/tools/misc/ipxe/default.nix b/pkgs/tools/misc/ipxe/default.nix
index 345e36fed7115..ec9458e70aebf 100644
--- a/pkgs/tools/misc/ipxe/default.nix
+++ b/pkgs/tools/misc/ipxe/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
   installPhase =
     ''
       mkdir $out
-      cp bin/ipxe.dsk bin/ipxe.usb bin/ipxe.iso bin/ipxe.lkrn $out
+      cp bin/ipxe.dsk bin/ipxe.usb bin/ipxe.iso bin/ipxe.lkrn bin/undionly.kpxe $out
     '';
 
   meta = with stdenv.lib;
diff --git a/pkgs/tools/misc/less/default.nix b/pkgs/tools/misc/less/default.nix
index 8c0f0e96d21ed..af8a0dd7d81b5 100644
--- a/pkgs/tools/misc/less/default.nix
+++ b/pkgs/tools/misc/less/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "less-475";
+  name = "less-481";
 
   src = fetchurl {
     url = "http://www.greenwoodsoftware.com/less/${name}.tar.gz";
-    sha256 = "16703m6g5l97af3jwpypgac7gpmh3yjkdpqygf5a2scfip0hxm2g";
+    sha256 = "19fxj0h10y5bhr3a1xa7kqvnwl44db3sdypz8jxl1q79yln8z8rz";
   };
 
   # Look for ‘sysless’ in /etc.
diff --git a/pkgs/tools/misc/man-db/default.nix b/pkgs/tools/misc/man-db/default.nix
index 69af77e18677f..3ec429269a347 100644
--- a/pkgs/tools/misc/man-db/default.nix
+++ b/pkgs/tools/misc/man-db/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libpipeline, db, groff }:
  
 stdenv.mkDerivation rec {
-  name = "man-db-2.7.3";
+  name = "man-db-2.7.5";
   
   src = fetchurl {
     url = "mirror://savannah/man-db/${name}.tar.xz";
-    sha256 = "1shl07w3251ih6g6zx3xa3p1193difxwdz4ysnmff1v0jp4l8iwx";
+    sha256 = "056a3il7agfazac12yggcg4gf412yq34k065im0cpfxbcw6xskaw";
   };
   
   buildInputs = [ pkgconfig libpipeline db groff ];
diff --git a/pkgs/tools/misc/mates/default.nix b/pkgs/tools/misc/mates/default.nix
new file mode 100644
index 0000000000000..952bd1a2b7d99
--- /dev/null
+++ b/pkgs/tools/misc/mates/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, rustPlatform }:
+
+with rustPlatform;
+
+buildRustPackage rec {
+  name = "mates-${version}";
+  version = "0.1.0";
+
+  depsSha256 = "03mqw9zs3hbsgz8m3qbrbbcg2q47nldfx280dyv0ivfksnlc7lyc";
+
+  src = fetchFromGitHub {
+    owner = "untitaker";
+    repo = "mates";
+    rev = "${version}";
+    sha256 = "00dpl7vh2byb4v94zxjbcqj7jnq65vcbrlpkxrrii0ip13dr69pw";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Very simple commandline addressbook";
+    homepage = https://github.com/untitaker/mates.rs;
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ maintainers.DamienCassou ];
+  };
+}
diff --git a/pkgs/tools/misc/mbuffer/default.nix b/pkgs/tools/misc/mbuffer/default.nix
new file mode 100644
index 0000000000000..b75b5dfbebd5c
--- /dev/null
+++ b/pkgs/tools/misc/mbuffer/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl,
+	openssl,
+ } :
+
+stdenv.mkDerivation rec {
+  version = "20151002";
+  name = "mbuffer-${version}";
+
+  src = fetchurl {
+    url = "http://www.maier-komor.de/software/mbuffer/mbuffer-${version}.tgz";
+    sha256 = "04pz70jr7fkdyax7b67g9jr0msl6ff2i8s6fl8zginqz5rrxckqk";
+  };
+
+  buildInputs = [ openssl ];
+
+  meta = {
+    homepage = http://www.maier-komor.de/mbuffer.html;
+    description  = "mbuffer is a tool for buffering data streams with a large set of unique features";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ tokudan ];
+    platforms = with stdenv.lib.platforms; all;
+  };
+}
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index 1d3d14d7e2341..c44aabbb416a8 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, perl, makeWrapper, procps }:
 
 stdenv.mkDerivation rec {
-  name = "parallel-20150822";
+  name = "parallel-20150922";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "1ij7bjxhk2866mzh0v0v2m629b6d39r5ivwdzmh72s471m9hg45d";
+    sha256 = "05zf3jhjmswfr63lgxw8q26kysd72b8m0zy5jbc94r6appx8bd7j";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/picocom/default.nix b/pkgs/tools/misc/picocom/default.nix
index cc5b6a707158f..f287e39e7b23b 100644
--- a/pkgs/tools/misc/picocom/default.nix
+++ b/pkgs/tools/misc/picocom/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "picocom-${version}";
-  version = "2.0";
+  version = "2.1";
 
   src = fetchFromGitHub {
     owner = "npat-efault";
     repo = "picocom";
     rev = version;
-    sha256 = "0s990jiqlbcg3isvhr3bn4sb7b0k6qqbf1jdvs1fyy9h0iiwprjw";
+    sha256 = "1ac3xdfiw5bd24lw4l9hxc75rcagw0y182x7svhkqp2gwsvzkbjv";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/rmlint/default.nix b/pkgs/tools/misc/rmlint/default.nix
index 392734e2256df..967efd3fae3eb 100644
--- a/pkgs/tools/misc/rmlint/default.nix
+++ b/pkgs/tools/misc/rmlint/default.nix
@@ -4,11 +4,11 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "rmlint-${version}";
-  version = "2.2.0";
+  version = "2.4.1";
 
   src = fetchurl {
     url = "https://github.com/sahib/rmlint/archive/v${version}.tar.gz";
-    sha256 = "1wg6br30ccvxl2189a75lb3d03kg8spfkkp9qlf3whl0xirsm15n";
+    sha256 = "1ja73r6ijklvw34yv0fgflc1ps58xnd559rjnxkqfmi33xjwx7f0";
   };
 
   configurePhase = "scons config";
diff --git a/pkgs/tools/misc/screen/default.nix b/pkgs/tools/misc/screen/default.nix
index 1fe71ae96160d..8c132d5ba02fe 100644
--- a/pkgs/tools/misc/screen/default.nix
+++ b/pkgs/tools/misc/screen/default.nix
@@ -13,6 +13,12 @@ stdenv.mkDerivation rec {
     sed -i -e "s|/usr/local|/non-existent|g" -e "s|/usr|/non-existent|g" configure Makefile.in */Makefile.in
   '';
 
+  # TODO: remove when updating the version of screen. Only a patch for 4.3.1
+  patches = stdenv.lib.optional stdenv.isDarwin (fetchurl {
+    url = "http://savannah.gnu.org/file/screen-utmp.patch\?file_id=34815";
+    sha256 = "192dsa8hm1zw8m638avzhwhnrddgizhyrwaxgwa96zr9vwai2nvc";
+  });
+
   buildInputs = [ ncurses ] ++ stdenv.lib.optional stdenv.isLinux pam;
 
   doCheck = true;
diff --git a/pkgs/tools/misc/sdl-jstest/default.nix b/pkgs/tools/misc/sdl-jstest/default.nix
index cf62039fc036d..677f52c2c328a 100644
--- a/pkgs/tools/misc/sdl-jstest/default.nix
+++ b/pkgs/tools/misc/sdl-jstest/default.nix
@@ -1,11 +1,11 @@
 { fetchgit, stdenv, cmake, pkgconfig, SDL, SDL2, ncurses, docbook_xsl }:
 
 stdenv.mkDerivation rec {
-  name = "sdl-jstest-20150625";
+  name = "sdl-jstest-20150806";
   src = fetchgit {
     url = "https://github.com/Grumbel/sdl-jstest";
-    rev = "3f54b86ebe0d2f95e9c1d034bc4ed02d6d2b6409";
-    sha256 = "d33e0a2c66b551ecf333590f1a6e1730093af31cee1be8757748624d42e14df1";
+    rev = "7b792376178c9656c851ddf106c7d57b2495e8b9";
+    sha256 = "3aa9a002de9c9999bd7c6248b94148f15dba6106489e418b2a1a410324f75eb8";
   };
 
   buildInputs = [ SDL SDL2 ncurses ];
diff --git a/pkgs/tools/misc/svtplay-dl/default.nix b/pkgs/tools/misc/svtplay-dl/default.nix
index e29556faad480..1d5da633061d4 100644
--- a/pkgs/tools/misc/svtplay-dl/default.nix
+++ b/pkgs/tools/misc/svtplay-dl/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "svtplay-dl-${version}";
-  version = "0.20.2015.09.13";
+  version = "0.20.2015.10.25";
 
   src = fetchFromGitHub {
     owner = "spaam";
     repo = "svtplay-dl";
     rev = version;
-    sha256 = "07wcjwc6kk0z8s7i3sc2n7zbbkbc2wwiclf3n0h5yk54marixql0";
+    sha256 = "0azai5clc96lhsx4kj5rvp5bhiq4bwgl51r49b9x4i5s1bhfaz40";
   };
 
   pythonPaths = [ pycrypto requests2 ];
diff --git a/pkgs/tools/misc/t1utils/default.nix b/pkgs/tools/misc/t1utils/default.nix
index c00db07ed1f47..d68ab942e494f 100644
--- a/pkgs/tools/misc/t1utils/default.nix
+++ b/pkgs/tools/misc/t1utils/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     # README from tarball says "BSD-like" and points to non-existing LICENSE
     # file...
     license = "Click"; # MIT with extra clause, https://github.com/kohler/t1utils/blob/master/LICENSE
-    platforms = platforms.linux;
+    platforms = platforms.all;
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/tools/misc/testdisk/default.nix b/pkgs/tools/misc/testdisk/default.nix
index fd237ac15f4ac..a80e560b5ebcd 100644
--- a/pkgs/tools/misc/testdisk/default.nix
+++ b/pkgs/tools/misc/testdisk/default.nix
@@ -8,14 +8,15 @@ stdenv.mkDerivation {
     sha256 = "0v1jap83f5h99zv01v3qmqm160d36n4ysi0gyq7xzb3mqgmw75x5";
   };
 
-  buildInputs = [ ncurses libjpeg e2fsprogs zlib openssl libuuid ntfs3g ];
+  buildInputs = [ ncurses libjpeg zlib openssl libuuid ]
+    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ e2fsprogs ntfs3g ];
 
   enableParallelBuilding = true;
 
   meta = {
     homepage = http://www.cgsecurity.org/wiki/TestDisk;
     license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.all;
     maintainers = [ stdenv.lib.maintainers.eelco ];
     longDescription = ''
       TestDisk is a program for data recovery, primarily designed to
diff --git a/pkgs/tools/misc/tlp/default.nix b/pkgs/tools/misc/tlp/default.nix
index 1e90ecfee3286..52d79a9bd5d2b 100644
--- a/pkgs/tools/misc/tlp/default.nix
+++ b/pkgs/tools/misc/tlp/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchFromGitHub, makeWrapper, perl, systemd, iw, rfkill, hdparm, ethtool, inetutils, kmod
-, enableRDW ? true, networkmanager }:
+{ stdenv, lib, fetchFromGitHub, makeWrapper, perl, systemd, iw, rfkill, hdparm, ethtool, inetutils
+, kmod, pciutils, smartmontools, x86_energy_perf_policy
+, enableRDW ? false, networkmanager
+}:
 
-let version = "0.7";
+let version = "0.8";
 in stdenv.mkDerivation {
-  inherit enableRDW;
-
   name = "tlp-${version}";
 
   src = fetchFromGitHub {
         owner = "linrunner";
         repo = "TLP";
         rev = "${version}";
-        sha256 = "0vgx2jnk9gp41fw992l9dmv462jpcrnwqkzsa8z0lh0l77ax2jcg";
+        sha256 = "19fvk0xz6i2ryf41akk4jg1c4sb4rcyxdl9fr0w4lja7g76d5zww";
       };
 
   makeFlags = [ "DESTDIR=$(out)"
@@ -26,10 +26,11 @@ in stdenv.mkDerivation {
 
   buildInputs = [ perl ];
 
-  paths = with stdenv.lib;
-          concatMapStringsSep ":" (x: "${x}/bin")
-          ([ iw rfkill hdparm ethtool inetutils systemd kmod ]
-           ++ optional enableRDW networkmanager
+  paths = lib.makeSearchPath "bin"
+          ([ iw rfkill hdparm ethtool inetutils systemd kmod pciutils smartmontools
+             x86_energy_perf_policy
+           ]
+           ++ lib.optional enableRDW networkmanager
           );
 
   installTargets = [ "install-tlp" ] ++ stdenv.lib.optional enableRDW "install-rdw";
@@ -40,13 +41,6 @@ in stdenv.mkDerivation {
       wrapProgram "$i" \
         --prefix PATH : "$paths"
     done
-    if [ "$enableRDW" = "1" ]; then
-      for i in $out/etc/NetworkManager/dispatcher.d/*; do
-        sed -i "s,/usr/lib/,$out/lib/,g" "$i"
-        wrapProgram "$i" \
-          --prefix PATH : "$paths"
-      done
-    fi
 
     for i in $out/lib/udev/rules.d/*; do
       sed -i "s,RUN+=\",\\0$out,g; s,/usr/sbin,/bin,g" "$i"
@@ -55,10 +49,14 @@ in stdenv.mkDerivation {
     for i in man/*; do
       install -D $i $out/share/man/man''${i##*.}/$(basename $i)
     done
+  '' + lib.optionalString enableRDW ''
+    for i in $out/etc/NetworkManager/dispatcher.d/*; do
+      sed -i "s,/usr/lib/,$out/lib/,g" "$i"
+      wrapProgram "$i" \
+        --prefix PATH : "$paths"
+    done
   '';
 
-  passthru = { inherit enableRDW; };
-
   meta = with stdenv.lib; {
     description = "Advanced Power Management for Linux";
     homepage = "http://linrunner.de/en/tlp/docs/tlp-linux-advanced-power-management.html";
diff --git a/pkgs/tools/misc/tmate/default.nix b/pkgs/tools/misc/tmate/default.nix
index 5fbb394311557..881c9f1c54f83 100644
--- a/pkgs/tools/misc/tmate/default.nix
+++ b/pkgs/tools/misc/tmate/default.nix
@@ -17,6 +17,10 @@ stdenv.mkDerivation rec {
 
   preConfigure = "./autogen.sh";
 
+  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace msgpack/bootstrap --replace glibtoolize libtoolize
+  '';
+
   meta = {
     homepage = http://tmate.io/;
     description = "Instant Terminal Sharing";
diff --git a/pkgs/tools/misc/tmux-cssh/default.nix b/pkgs/tools/misc/tmux-cssh/default.nix
new file mode 100644
index 0000000000000..f54cd2756eb11
--- /dev/null
+++ b/pkgs/tools/misc/tmux-cssh/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchFromGitHub, makeWrapper, tmux }:
+
+stdenv.mkDerivation {
+  name = "tmux-cssh-20151015";
+
+  src = fetchFromGitHub {
+    owner = "dennishafemann";
+    repo = "tmux-cssh";
+    rev = "21750733c5b6fa2fe23b9e50ce69d8564f2f742a";
+    sha256 = "473e27f3b69864b905d1340d97917cd202705c761611eb3aec4c24521f69b52c";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp tmux-cssh $out/bin/tmux-cssh
+    wrapProgram $out/bin/tmux-cssh --suffix PATH : ${tmux}/bin
+  '';
+
+  meta = {
+    homepage = https://github.com/dennishafemann/tmux-cssh;
+    description = "SSH to multiple hosts at the same time using tmux";
+
+    longDescription =
+      ''
+      tmux is a terminal multiplexer, like e.g. screen, which gives you a
+      possibility to use multiple virtual terminal session within one real
+      terminal session. tmux-cssh (tmux-cluster-ssh) sets a comfortable and
+      easy to use functionality, clustering and synchronizing virtual
+      tmux-sessions, on top of tmux. No need for a x-server or x-forwarding.
+      tmux-cssh works just with tmux and in an low-level terminal-environment,
+      like most server do.
+      '';
+
+    license = stdenv.lib.licenses.asl20;
+
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ zimbatm ];
+  };
+}
diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix
index 6cc54536eb190..aab229c0ad220 100644
--- a/pkgs/tools/misc/tmux/default.nix
+++ b/pkgs/tools/misc/tmux/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "tmux-${version}";
-  version = "2.0";
+  version = "2.1";
 
   src = fetchurl {
     url = "https://github.com/tmux/tmux/releases/download/${version}/${name}.tar.gz";
-    sha256 = "0qnkda8kb747vmbldjpb23ksv9pq3s65xhh1ja5rdsmh8r24npvr";
+    sha256 = "0xk1mylsb08sf0w597mdgj9s6hxxjvjvjd6bngpjvvxwyixlwmii";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/misc/units/default.nix b/pkgs/tools/misc/units/default.nix
index 85d3049b27071..6a7c3b130bd0b 100644
--- a/pkgs/tools/misc/units/default.nix
+++ b/pkgs/tools/misc/units/default.nix
@@ -1,10 +1,11 @@
 {stdenv, fetchurl}:
-stdenv.mkDerivation {
-  name = "units-2.11";
+stdenv.mkDerivation rec {
+  name = "units-${version}";
+  version = "2.12";
 
   src = fetchurl {
-    url = mirror://gnu/units/units-2.11.tar.gz;
-    sha256 = "1gjs3wc212aaiq4r76hx9nl1h3fa39n0ljwl9420d6ixl3rdmdjk";
+    url = "mirror://gnu/units/${name}.tar.gz";
+    sha256 = "1jxvjknz2jhq773jrwx9gc1df3gfy73yqmkjkygqxzpi318yls3q";
   };
 
   meta = {
diff --git a/pkgs/tools/misc/vdirsyncer/default.nix b/pkgs/tools/misc/vdirsyncer/default.nix
index d07e99e266040..04e88fd98d5f3 100644
--- a/pkgs/tools/misc/vdirsyncer/default.nix
+++ b/pkgs/tools/misc/vdirsyncer/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl, pythonPackages }:
 
 pythonPackages.buildPythonPackage rec {
-  version = "0.6.0";
+  version = "0.7.3";
   name = "vdirsyncer-${version}";
   namePrefix = "";
 
   src = fetchurl {
     url = "https://pypi.python.org/packages/source/v/vdirsyncer/${name}.tar.gz";
-    sha256 = "1mb0pws5vsgnmyp5dp5m5jvgl6jcvdamxjz7wmgvxkw6n1vrcahd";
+    sha256 = "0ahi5ngqwsrv30bgziz35dx4gif7rbn9vqv340pigbzmywjxz1ry";
   };
 
   propagatedBuildInputs = with pythonPackages; [
-    click
+    click click-log click-threading
     lxml
     setuptools
     setuptools_scm
diff --git a/pkgs/tools/misc/yank/default.nix b/pkgs/tools/misc/yank/default.nix
new file mode 100644
index 0000000000000..049fc1b5f3fe4
--- /dev/null
+++ b/pkgs/tools/misc/yank/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+
+  name = "yank-${meta.version}";
+
+  src = fetchFromGitHub {
+    owner = "mptre";
+    repo = "yank";
+    rev = "v${meta.version}";
+    sha256 = "066nsm8b5785r2zaajihf8g6x9hc4n8kpk3j2n1slp5alnhx93mx";
+    inherit name;
+  };
+
+  installPhase = ''
+    PREFIX=$out make install
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/mptre/yank";
+    description = "Yank terminal output to clipboard";
+    longDescription = ''
+      Read input from stdin and display a selection interface that allows a
+      field to be selected and copied to the clipboard. Fields are determined
+      by splitting the input on a delimiter sequence, optionally specified
+      using the -d option. New line, carriage return and tab characters are
+      always treated as delimiters.
+    '';
+    downloadPage = "https://github.com/mptre/yank/releases";
+    license = licenses.mit;
+    version = "0.4.1";
+    maintainers = [ maintainers.dochang ];
+  };
+
+}
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 1c9e19750849a..2037c351d4acd 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, makeWrapper, buildPythonPackage, zip, ffmpeg
+{ stdenv, fetchurl, buildPythonPackage, makeWrapper, ffmpeg, zip
 , pandoc ? null }:
 
 # Pandoc is required to build the package's man page. Release tarballs
@@ -9,12 +9,12 @@
 # the tool that doesn't have the formatted man page included.
 
 buildPythonPackage rec {
-  name = "youtube-dl-${version}";
-  version = "2015.08.28";
+
+  name = "youtube-dl-${meta.version}";
 
   src = fetchurl {
-    url = "http://youtube-dl.org/downloads/${version}/${name}.tar.gz";
-    sha256 = "0iahbynd6fw097a4cc57w26szlbqsmhb8v5ny6qrcil0d4wdqqvp";
+    url = "http://yt-dl.org/downloads/${meta.version}/${name}.tar.gz";
+    sha256 = "c5a34ecbcf27ff34e1aae7c17732095309012e33ea9d1d4def613ca73f47e6be";
   };
 
   buildInputs = [ makeWrapper zip pandoc ];
@@ -24,7 +24,8 @@ buildPythonPackage rec {
     ''wrapProgram $out/bin/youtube-dl --prefix PATH : "${ffmpeg.bin}/bin"'';
 
   meta = with stdenv.lib; {
-    homepage = "http://rg3.github.com/youtube-dl/";
+    version = "2015.11.10";
+    homepage = http://rg3.github.io/youtube-dl/;
     repositories.git = https://github.com/rg3/youtube-dl.git;
     description = "Command-line tool to download videos from YouTube.com and other sites";
     longDescription = ''
diff --git a/pkgs/tools/networking/aria2/default.nix b/pkgs/tools/networking/aria2/default.nix
index 07671ffe81f1b..77226ae0be904 100644
--- a/pkgs/tools/networking/aria2/default.nix
+++ b/pkgs/tools/networking/aria2/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "aria2-${version}";
-  version = "1.19.0";
+  version = "1.19.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/aria2/${name}.tar.xz";
-    sha256 = "0xm4fmap9gp2pz6z01mnnpmazw6pnhzs8qc58181m5ai4gy5ksp2";
+    url = "https://github.com/tatsuhiro-t/aria2/releases/download/release-${version}/${name}.tar.xz";
+    sha256 = "0gnm1b7yp5q6fcajz1ln2f1rv64p6dv0nz9bcwpqrkcmsinlh19n";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index 288b2d0863d53..ed650b87b212c 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -16,11 +16,11 @@ assert scpSupport -> libssh2 != null;
 assert c-aresSupport -> c-ares != null;
 
 stdenv.mkDerivation rec {
-  name = "curl-7.44.0";
+  name = "curl-7.45.0";
 
   src = fetchurl {
     url = "http://curl.haxx.se/download/${name}.tar.bz2";
-    sha256 = "050q6i20lbh7dyyhva2sbp8dbyp6sghlkbpvq2bvcasqwsx4298y";
+    sha256 = "1slq5c0v9wa8hajgimhkxhvsrd07jmih8sa3gjsl597qp5k4w5b5";
   };
 
   outputs = [ "dev" "out" "bin" "man" "docdev" ];
diff --git a/pkgs/tools/networking/cutter/default.nix b/pkgs/tools/networking/cutter/default.nix
index ad7d254040698..28eab7f495aa7 100644
--- a/pkgs/tools/networking/cutter/default.nix
+++ b/pkgs/tools/networking/cutter/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "cutter-1.03";
+  name = "cutter-1.04";
 
   src = fetchurl {
     url = "http://www.digitage.co.uk/digitage/files/cutter/${name}.tgz";
-    sha256 = "05cn22wi70l9ybhmzw0sy3fd6xxz0lq49fws4zxzm2i0qb3zmx2d";
+    sha256 = "100iy31a3njif6vh9gfsqrm14hac05rrflla275gd4rkxdlnqcqv";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/networking/dropbear/default.nix b/pkgs/tools/networking/dropbear/default.nix
index 79a23ae383276..98ea4c82304ba 100644
--- a/pkgs/tools/networking/dropbear/default.nix
+++ b/pkgs/tools/networking/dropbear/default.nix
@@ -35,9 +35,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ zlib ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://matt.ucc.asn.au/dropbear/dropbear.html;
     description = "An small footprint implementation of the SSH 2 protocol";
-    license = stdenv.lib.licenses.mit;
+    license = licenses.mit;
+    maintainers = with maintainers; [ abbradar ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/dropbear/pass-path.patch b/pkgs/tools/networking/dropbear/pass-path.patch
index 1e223e0ad64d3..2ce08b05799de 100644
--- a/pkgs/tools/networking/dropbear/pass-path.patch
+++ b/pkgs/tools/networking/dropbear/pass-path.patch
@@ -1,31 +1,36 @@
 diff --git a/svr-chansession.c b/svr-chansession.c
-index 23dad8c..32cac13 100644
+index e44299e..7ef750a 100644
 --- a/svr-chansession.c
 +++ b/svr-chansession.c
-@@ -823,6 +823,7 @@ static void addchildpid(struct ChanSess *chansess, pid_t pid) {
+@@ -893,6 +893,8 @@ static void addchildpid(struct ChanSess *chansess, pid_t pid) {
  static void execchild(void *user_data) {
  	struct ChanSess *chansess = user_data;
  	char *usershell = NULL;
 +	const char *path = DEFAULT_PATH;
++	const char *ldpath = NULL;
  
-     /* with uClinux we'll have vfork()ed, so don't want to overwrite the
-      * hostkey. can't think of a workaround to clear it */
-@@ -835,6 +836,9 @@ static void execchild(void *user_data) {
- 	reseedrandom();
+ 	/* with uClinux we'll have vfork()ed, so don't want to overwrite the
+ 	 * hostkey. can't think of a workaround to clear it */
+@@ -905,6 +907,10 @@ static void execchild(void *user_data) {
+ 	seedrandom();
  #endif
  
-+    if (getenv("PATH"))
-+        path = getenv("PATH");
++	if (getenv("PATH"))
++		path = getenv("PATH");
++	ldpath = getenv("LD_LIBRARY_PATH");
 +
  	/* clear environment */
  	/* if we're debugging using valgrind etc, we need to keep the LD_PRELOAD
  	 * etc. This is hazardous, so should only be used for debugging. */
-@@ -878,7 +882,7 @@ static void execchild(void *user_data) {
+@@ -948,7 +954,10 @@ static void execchild(void *user_data) {
  	addnewvar("LOGNAME", ses.authstate.pw_name);
  	addnewvar("HOME", ses.authstate.pw_dir);
  	addnewvar("SHELL", get_user_shell());
 -	addnewvar("PATH", DEFAULT_PATH);
 +	addnewvar("PATH", path);
++	if (ldpath != NULL) {
++		addnewvar("LD_LIBRARY_PATH", ldpath);
++	}
  	if (chansess->term != NULL) {
  		addnewvar("TERM", chansess->term);
  	}
diff --git a/pkgs/tools/networking/i2p/default.nix b/pkgs/tools/networking/i2p/default.nix
index cbfedab0faf2b..5b439eb8f3f5f 100644
--- a/pkgs/tools/networking/i2p/default.nix
+++ b/pkgs/tools/networking/i2p/default.nix
@@ -1,10 +1,10 @@
 { stdenv, procps, coreutils, fetchurl, jdk, jre, ant, gettext, which }:
 
 stdenv.mkDerivation rec {
-  name = "i2p-0.9.21";
+  name = "i2p-0.9.22";
   src = fetchurl {
     url = "https://github.com/i2p/i2p.i2p/archive/${name}.tar.gz";
-    sha256 = "1cgki9sg0pc4d66rr556lw0682c4mmdvmr6awvsn7ch0rp4zav9f";
+    sha256 = "0y21dx5d95gq1i6ip56nmawr19974zawzwa315dm8lmz32bj8g6n";
   };
   buildInputs = [ jdk ant gettext which ];
   patches = [ ./i2p.patch ];
diff --git a/pkgs/tools/networking/iftop/default.nix b/pkgs/tools/networking/iftop/default.nix
index a7fc4414f2c9e..9e432c946cf51 100644
--- a/pkgs/tools/networking/iftop/default.nix
+++ b/pkgs/tools/networking/iftop/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, ncurses, libpcap, automake}:
 
 stdenv.mkDerivation rec {
-  name = "iftop-0.17";
+  name = "iftop-1.0pre4";
 
   src = fetchurl {
-    url = http://ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz;
-    sha256 = "1b0fis53280qx85gldhmqfcpgyiwplzg43gxyngia1w3f1y58cnh";
+    url = http://ex-parrot.com/pdw/iftop/download/iftop-1.0pre4.tar.gz;
+    sha256 = "15sgkdyijb7vbxpxjavh5qm5nvyii3fqcg9mzvw7fx8s6zmfwczp";
   };
 
   # Explicitly link against libgcc_s, to work around the infamous
diff --git a/pkgs/tools/networking/iperf/3.nix b/pkgs/tools/networking/iperf/3.nix
index 0efc789a0b2d9..944989f47c345 100644
--- a/pkgs/tools/networking/iperf/3.nix
+++ b/pkgs/tools/networking/iperf/3.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "iperf-3.0.11";
+  name = "iperf-3.1";
 
   src = fetchurl {
     url = "http://downloads.es.net/pub/iperf/${name}.tar.gz";
-    sha256 = "0vkzx7yxhah49l83jb5r3y4zzfdqypj5y2b3fjc7rxj7dyzba7g0";
+    sha256 = "0mp6bhfbkkcrdc2sl65k0g5x5csnccqrjk3bc3a0kjr5rqpa71a3";
   };
 
   postInstall = ''
diff --git a/pkgs/tools/networking/nbd/default.nix b/pkgs/tools/networking/nbd/default.nix
index d0011c6676632..6cb75152af067 100644
--- a/pkgs/tools/networking/nbd/default.nix
+++ b/pkgs/tools/networking/nbd/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib }:
 
 stdenv.mkDerivation rec {
-  name = "nbd-3.11";
+  name = "nbd-3.12.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/nbd/${name}.tar.xz";
-    sha256 = "187jwc43dhxbv9rrszimm3bvwr1hcpyixv82jfd61p0nrds0yhhl";
+    sha256 = "1pkkid657zgjymwxv3fm32cxnq9llfz29rl15vp6mn42vnzbj1di";
   };
 
   buildInputs = [ pkgconfig glib ] ++ stdenv.lib.optional (stdenv ? glibc) stdenv.glibc.kernelHeaders;
diff --git a/pkgs/tools/networking/netsniff-ng/default.nix b/pkgs/tools/networking/netsniff-ng/default.nix
index 7176af696a94e..9d8095b0a5f15 100644
--- a/pkgs/tools/networking/netsniff-ng/default.nix
+++ b/pkgs/tools/networking/netsniff-ng/default.nix
@@ -2,7 +2,7 @@
 , libnetfilter_conntrack, libnl, libpcap, libsodium, liburcu, ncurses, perl
 , pkgconfig, zlib }:
 
-let version = "0.5.9-98-gb3a9f17"; in
+let version = "0.6.0"; in
 stdenv.mkDerivation {
   name = "netsniff-ng-${version}";
 
@@ -10,8 +10,8 @@ stdenv.mkDerivation {
   src = fetchFromGitHub rec {
     repo = "netsniff-ng";
     owner = repo;
-    rev = "b3a9f17eb9c7a47e6c4aee3649179b2a54d17eca";
-    sha256 = "05nwi5ksijv42w7km08dhymiyyvcj43b5lrpdf9x5j725l79yqdb";
+    rev = "v${version}";
+    sha256 = "0vfs1vsrsbiqxp6nrdibxa60wivapjhj3sdpa4v90m3pfnqif46z";
   };
 
   buildInputs = [ bison flex geoip geolite-legacy libcli libnet libnl
diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix
index 0a8a1f10c0067..e089f69ebd827 100644
--- a/pkgs/tools/networking/network-manager-applet/default.nix
+++ b/pkgs/tools/networking/network-manager-applet/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pn}/${major}/${name}.tar.xz";
-    sha256 = "1afri2zln5p59660hqzbwm2r8phx9inrm2bgp5scynzs8ddzh2kn";
+    sha256 = "1yj0m6fb9v12d0di0rfmk3hx1vmygjkiff2c476rf792sbh56kax";
   };
 
   configureFlags = [ "--sysconfdir=/etc" ];
diff --git a/pkgs/tools/networking/network-manager/0.9.8.nix b/pkgs/tools/networking/network-manager/0.9.8.nix
new file mode 100644
index 0000000000000..4fad1ca2ab9af
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/0.9.8.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchurl, intltool, pkgconfig, dbus_glib
+, udev, libnl, libuuid, gnutls, dhcp
+, libgcrypt, perl, libgudev }:
+
+stdenv.mkDerivation rec {
+  name = "network-manager-${version}";
+  version = "0.9.8.10";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/NetworkManager/0.9/NetworkManager-${version}.tar.xz";
+    sha256 = "0wn9qh8r56r8l19dqr68pdl1rv3zg1dv47rfy6fqa91q7li2fk86";
+  };
+
+  preConfigure = ''
+    substituteInPlace tools/glib-mkenums --replace /usr/bin/perl ${perl}/bin/perl
+  '';
+
+  # Right now we hardcode quite a few paths at build time. Probably we should
+  # patch networkmanager to allow passing these path in config file. This will
+  # remove unneeded build-time dependencies.
+  configureFlags = [
+    "--with-distro=exherbo"
+    "--with-dhclient=${dhcp}/sbin/dhclient"
+    "--with-dhcpcd=no"
+    "--with-iptables=no"
+    "--with-udev-dir=\${out}/lib/udev"
+    "--with-resolvconf=no"
+    "--sysconfdir=/etc" "--localstatedir=/var"
+    "--with-dbus-sys-dir=\${out}/etc/dbus-1/system.d"
+    "--with-crypto=gnutls" "--disable-more-warnings"
+    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+    "--with-kernel-firmware-dir=/run/current-system/firmware"
+    "--disable-ppp"
+  ];
+
+  buildInputs = [ udev libnl libuuid gnutls libgcrypt libgudev ];
+
+  propagatedBuildInputs = [ dbus_glib ];
+
+  nativeBuildInputs = [ intltool pkgconfig ];
+
+  patches =
+    [ ./libnl-3.2.25.patch
+      ./nixos-purity.patch
+    ];
+
+  preInstall =
+    ''
+      installFlagsArray=( "sysconfdir=$out/etc" "localstatedir=$out/var" )
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = http://projects.gnome.org/NetworkManager/;
+    description = "Network configuration and management tool";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 7c9d6080b0039..464461194daaf 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "network-manager-${version}";
-  version = "1.0.2";
+  version = "1.0.6";
 
   src = fetchurl {
     url = "mirror://gnome/sources/NetworkManager/1.0/NetworkManager-${version}.tar.xz";
-    sha256 = "1zq8jm1rc7n7amqa9xz1v93w2jnczg6942gyijsdpgllfiq8b4rm";
+    sha256 = "38ea002403e3b884ffa9aae25aea431d2a8420f81f4919761c83fb92648254bd";
   };
 
   preConfigure = ''
@@ -45,12 +45,14 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [ wirelesstools systemd libgudev libnl libuuid polkit ppp libndp
-                  xz bluez5 gobjectIntrospection modemmanager readline newt libsoup ];
+                  xz bluez5 dnsmasq gobjectIntrospection modemmanager readline newt libsoup ];
 
   propagatedBuildInputs = [ dbus_glib gnutls libgcrypt ];
 
   nativeBuildInputs = [ intltool pkgconfig ];
 
+  patches = [ ./nm-platform.patch ];
+
   preInstall =
     ''
       installFlagsArray=( "sysconfdir=$out/etc" "localstatedir=$out/var" )
diff --git a/pkgs/tools/networking/network-manager/libnl-3.2.25.patch b/pkgs/tools/networking/network-manager/libnl-3.2.25.patch
new file mode 100644
index 0000000000000..17c2966b7064b
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/libnl-3.2.25.patch
@@ -0,0 +1,61 @@
+diff --git a/src/nm-netlink-monitor.c b/src/nm-netlink-monitor.c
+index ba8053e..5ac39d3 100644
+--- a/src/nm-netlink-monitor.c
++++ b/src/nm-netlink-monitor.c
+@@ -177,40 +177,15 @@ link_msg_handler (struct nl_object *obj, void *arg)
+ static int
+ event_msg_recv (struct nl_msg *msg, void *arg)
+ {
+-	struct nl_sock *nlh = arg;
+-	struct nlmsghdr *hdr = nlmsg_hdr (msg);
+ 	struct ucred *creds = nlmsg_get_creds (msg);
+-	const struct sockaddr_nl *snl;
+-	guint32 local_port;
+-	gboolean accept_msg = FALSE;
+-
+-	/* Only messages sent from the kernel */
+-	if (!creds || creds->uid != 0) {
+-		nm_log_dbg (LOGD_HW, "ignoring netlink message from UID %d",
+-		            creds ? creds->uid : -1);
+-		return NL_SKIP;
+-	}
+-
+-	snl = nlmsg_get_src (msg);
+-	g_assert (snl);
+-
+-	/* Accept any messages from the kernel */
+-	if (hdr->nlmsg_pid == 0 || snl->nl_pid == 0)
+-		accept_msg = TRUE;
+ 
+-	/* And any multicast message directed to our netlink PID, since multicast
+-	 * currently requires CAP_ADMIN to use.
+-	 */
+-	local_port = nl_socket_get_local_port (nlh);
+-	if ((hdr->nlmsg_pid == local_port) && snl->nl_groups)
+-		accept_msg = TRUE;
+-
+-	if (accept_msg == FALSE) {
+-		nm_log_dbg (LOGD_HW, "ignoring netlink message from PID %d (local PID %d, multicast %d)",
+-		            hdr->nlmsg_pid,
+-		            local_port,
+-		            (hdr->nlmsg_flags & NLM_F_MULTI));
+-		return NL_SKIP;
++	if (!creds || creds->pid || creds->uid || creds->gid) {
++		if (creds)
++			nm_log_dbg (LOGD_HW, "netlink: received non-kernel message (pid %d uid %d gid %d)",
++			            creds->pid, creds->uid, creds->gid);
++		else
++			nm_log_dbg (LOGD_HW, "netlink: received message without credentials");
++		return NL_STOP;
+ 	}
+ 
+ 	return NL_OK;
+@@ -285,7 +260,7 @@ nlh_setup (struct nl_sock *nlh,
+ {
+ 	int err;
+ 
+-	nl_socket_modify_cb (nlh, NL_CB_MSG_IN, NL_CB_CUSTOM, event_msg_recv, cb_data);
++	nl_socket_modify_cb (nlh, NL_CB_MSG_IN, NL_CB_CUSTOM, event_msg_recv, NULL);
+ 
+ 	if (valid_func)
+ 		nl_socket_modify_cb (nlh, NL_CB_VALID, NL_CB_CUSTOM, valid_func, cb_data);
diff --git a/pkgs/tools/networking/network-manager/nm-platform.patch b/pkgs/tools/networking/network-manager/nm-platform.patch
new file mode 100644
index 0000000000000..880d1a2e49214
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/nm-platform.patch
@@ -0,0 +1,17 @@
+diff --git a/src/platform/nm-platform.c b/src/platform/nm-platform.c
+index 8803377..14e5726 100644
+--- a/src/platform/nm-platform.c
++++ b/src/platform/nm-platform.c
+@@ -39,6 +39,12 @@
+ #include "nm-enum-types.h"
+ #include "nm-core-internal.h"
+
++#if HAVE_LIBNL_INET6_ADDR_GEN_MODE && HAVE_KERNEL_INET6_ADDR_GEN_MODE
++#include <linux/if_link.h>
++#else
++#define IN6_ADDR_GEN_MODE_NONE  1
++#endif
++
+ #define ADDRESS_LIFETIME_PADDING 5
+
+ G_STATIC_ASSERT (sizeof ( ((NMPlatformLink *) NULL)->addr.data ) == NM_UTILS_HWADDR_LEN_MAX);
diff --git a/pkgs/tools/networking/network-manager/openconnect.nix b/pkgs/tools/networking/network-manager/openconnect.nix
index 9416923c9e1e1..0009aaf6b4402 100644
--- a/pkgs/tools/networking/network-manager/openconnect.nix
+++ b/pkgs/tools/networking/network-manager/openconnect.nix
@@ -4,7 +4,9 @@
 stdenv.mkDerivation rec {
   name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
   pname = "NetworkManager-openconnect";
-  version = networkmanager.version;
+  version = "1.0.2";
+
+# FixMe: Change version back to "networkmanager.version"
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/1.0/${pname}-${version}.tar.xz";
diff --git a/pkgs/tools/networking/network-manager/openvpn.nix b/pkgs/tools/networking/network-manager/openvpn.nix
index d4e1b50489c82..be02645719532 100644
--- a/pkgs/tools/networking/network-manager/openvpn.nix
+++ b/pkgs/tools/networking/network-manager/openvpn.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/1.0/${pname}-${version}.tar.xz";
-    sha256 = "1c2b74xhkjifc3g6n53gr2aj4s98qf0vydmqvbhl5azxqx5q4hqn";
+    sha256 = "132xwkgyfnpma7m6b06jhrd1g9xk5dlpx8alnsf03ls3z92bd0n9";
   };
 
   buildInputs = [ openvpn networkmanager libsecret ]
diff --git a/pkgs/tools/networking/network-manager/pptp.nix b/pkgs/tools/networking/network-manager/pptp.nix
index 1dfce02981a38..1b1cf69119e47 100644
--- a/pkgs/tools/networking/network-manager/pptp.nix
+++ b/pkgs/tools/networking/network-manager/pptp.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/1.0/${pname}-${version}.tar.xz";
-    sha256 = "05r06f7f990z908jjnmmryrlshy28wcx7fbvnslmx9nicih7rjrp";
+    sha256 = "1gn1f8r32wznk4rsn2lg2slw1ccli00svz0fi4bx0qiylimlbyln";
   };
 
   buildInputs = [ networkmanager pptp ppp libsecret ]
diff --git a/pkgs/tools/networking/network-manager/vpnc.nix b/pkgs/tools/networking/network-manager/vpnc.nix
index 1435e5ebf7c3f..5f3ab00ebc438 100644
--- a/pkgs/tools/networking/network-manager/vpnc.nix
+++ b/pkgs/tools/networking/network-manager/vpnc.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/1.0/${pname}-${version}.tar.xz";
-    sha256 = "0055vshgnva969vb91k8zpdan34r9gy0ck3q3b9b616k0p2vy5ry";
+    sha256 = "0hycplnc78688sgpzdh3ifra6chascrh751mckqkp1j553bri0jk";
   };
 
   buildInputs = [ vpnc networkmanager libsecret ]
diff --git a/pkgs/tools/networking/ntopng/0001-Undo-weird-modification-of-data_dir.patch b/pkgs/tools/networking/ntopng/0001-Undo-weird-modification-of-data_dir.patch
index 8bec643c6e5f0..d794efeac08ae 100644
--- a/pkgs/tools/networking/ntopng/0001-Undo-weird-modification-of-data_dir.patch
+++ b/pkgs/tools/networking/ntopng/0001-Undo-weird-modification-of-data_dir.patch
@@ -1,24 +1,12 @@
-From d0c56a14e0432faca1e9438b84e5e4090d293bb9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= <bjorn.forsman@gmail.com>
-Date: Tue, 3 Dec 2013 20:42:24 +0000
-Subject: [PATCH 1/2] Undo weird modification of data_dir
-
----
- Prefs.cpp | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/Prefs.cpp b/Prefs.cpp
-index b4fde5f..ca04ca1 100644
---- a/Prefs.cpp
-+++ b/Prefs.cpp
-@@ -408,7 +408,6 @@ int Prefs::checkOptions() {
- 			ntop->getTrace()->traceEvent(TRACE_ERROR, "Unable to create log %s", path);
-   }
+diff --git a/src/Prefs.cpp b/src/Prefs.cpp
+index 76385c4..db8d20d 100755
+--- a/src/Prefs.cpp
++++ b/src/Prefs.cpp
+@@ -795,7 +795,6 @@ int Prefs::checkOptions() {
+          ntop->getTrace()->traceEvent(TRACE_ERROR, "Unable to create log %s", path);
+     }
  
 -  free(data_dir); data_dir = strdup(ntop->get_install_dir());
    docs_dir      = ntop->getValidPath(docs_dir);
    scripts_dir   = ntop->getValidPath(scripts_dir);
    callbacks_dir = ntop->getValidPath(callbacks_dir);
--- 
-1.8.4.3
-
diff --git a/pkgs/tools/networking/ntopng/0002-Remove-requirement-to-have-writeable-callback-dir.patch b/pkgs/tools/networking/ntopng/0002-Remove-requirement-to-have-writeable-callback-dir.patch
index 99467c3712640..50ed1daebd484 100644
--- a/pkgs/tools/networking/ntopng/0002-Remove-requirement-to-have-writeable-callback-dir.patch
+++ b/pkgs/tools/networking/ntopng/0002-Remove-requirement-to-have-writeable-callback-dir.patch
@@ -1,29 +1,14 @@
-From d77b42003d13e2775be3255a26f380d6ccda8042 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= <bjorn.forsman@gmail.com>
-Date: Tue, 3 Dec 2013 21:10:06 +0000
-Subject: [PATCH 2/2] Remove requirement to have writeable callback dir
-
-* ntopng doesn't write anything to the callback dir
-* it seems to be a copy-paste leftover error from data_dir a couple of
-  lines above
----
- Ntop.cpp | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/Ntop.cpp b/Ntop.cpp
-index 2fb027b..0b4881b 100644
---- a/Ntop.cpp
-+++ b/Ntop.cpp
-@@ -114,8 +114,7 @@ void Ntop::registerPrefs(Prefs *_prefs) {
+diff --git a/src/Ntop.cpp b/src/Ntop.cpp
+index 8de92a9..510418f 100644
+--- a/src/Ntop.cpp
++++ b/src/Ntop.cpp
+@@ -197,8 +197,7 @@ void Ntop::registerPrefs(Prefs *_prefs) {
    }
  
    if(stat(prefs->get_callbacks_dir(), &statbuf)
--     || (!(statbuf.st_mode & S_IFDIR)) /* It's not a directory */
+-     || (!(statbuf.st_mode & S_IFDIR))  /* It's not a directory */
 -     || (!(statbuf.st_mode & S_IWRITE)) /* It's not writable    */) {
-+     || (!(statbuf.st_mode & S_IFDIR))) { /* It's not a directory */
++     || (!(statbuf.st_mode & S_IFDIR))  /* It's not a directory */) {
      ntop->getTrace()->traceEvent(TRACE_ERROR, "Invalid directory %s specified",
  				 prefs->get_callbacks_dir());
-     exit(-1);
--- 
-1.8.4.3
-
+     _exit(-1);
diff --git a/pkgs/tools/networking/ntopng/default.nix b/pkgs/tools/networking/ntopng/default.nix
index ddb6a7bec36dd..c17c33af17ed6 100644
--- a/pkgs/tools/networking/ntopng/default.nix
+++ b/pkgs/tools/networking/ntopng/default.nix
@@ -1,20 +1,20 @@
-{ stdenv, fetchurl, libpcap, gnutls, libgcrypt, libxml2, glib
-, geoip, geolite-legacy, sqlite, which, autoreconfHook, subversion
-, pkgconfig, groff
+{ stdenv, fetchurl, libpcap,/* gnutls, libgcrypt,*/ libxml2, glib
+, geoip, geolite-legacy, sqlite, which, autoreconfHook, git
+, pkgconfig, groff, curl, json_c
 }:
 
 # ntopng includes LuaJIT, mongoose, rrdtool and zeromq in its third-party/
 # directory.
 
 stdenv.mkDerivation rec {
-  name = "ntopng-1.2.1";
+  name = "ntopng-2.0";
 
   src = fetchurl {
     urls = [
-      "mirror://sourceforge/project/ntop/ntopng/old/${name}.tgz"
-      "mirror://sourceforge/project/ntop/ntopng/${name}.tgz"
+      "mirror://sourceforge/project/ntop/ntopng/old/${name}.tar.gz"
+      "mirror://sourceforge/project/ntop/ntopng/${name}.tar.gz"
     ];
-    sha256 = "1db83cd1v4ivl8hxzzdvvdcgk22ji7mwrfnd5nnwll6kb11i364v";
+    sha256 = "0l82ivh05cmmqcvs26r6y69z849d28njipphqzvnakf43ggddgrw";
   };
 
   patches = [
@@ -22,25 +22,31 @@ stdenv.mkDerivation rec {
     ./0002-Remove-requirement-to-have-writeable-callback-dir.patch
   ];
 
-  buildInputs = [ libpcap gnutls libgcrypt libxml2 glib geoip geolite-legacy
-    sqlite which autoreconfHook subversion pkgconfig groff ];
+  buildInputs = [ libpcap/* gnutls libgcrypt*/ libxml2 glib geoip geolite-legacy
+    sqlite which autoreconfHook git pkgconfig groff curl json_c ];
+
+
+  autoreconfPhase = ''
+    substituteInPlace autogen.sh --replace "/bin/rm" "rm"
+    substituteInPlace nDPI/autogen.sh --replace "/bin/rm" "rm"
+    $shell autogen.sh
+  '';
 
   preConfigure = ''
-    find . -name Makefile.in | xargs sed -i "s|/bin/rm|rm|"
+    substituteInPlace Makefile.in --replace "/bin/rm" "rm"
   '';
 
   preBuild = ''
-    sed -e "s|/usr/local|$out|g" \
-        -i Ntop.cpp
+    substituteInPlace src/Ntop.cpp --replace "/usr/local" "$out"
 
     sed -e "s|\(#define CONST_DEFAULT_DATA_DIR\).*|\1 \"/var/lib/ntopng\"|g" \
         -e "s|\(#define CONST_DEFAULT_DOCS_DIR\).*|\1 \"$out/share/ntopng/httpdocs\"|g" \
         -e "s|\(#define CONST_DEFAULT_SCRIPTS_DIR\).*|\1 \"$out/share/ntopng/scripts\"|g" \
         -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
+        -i include/ntop_defines.h
 
-    rmdir httpdocs/geoip
+    rm -rf httpdocs/geoip
     ln -s ${geolite-legacy}/share/GeoIP httpdocs/geoip
   '';
 
diff --git a/pkgs/tools/networking/ntp/default.nix b/pkgs/tools/networking/ntp/default.nix
index a131c567d89f4..8a23eeb60f4f3 100644
--- a/pkgs/tools/networking/ntp/default.nix
+++ b/pkgs/tools/networking/ntp/default.nix
@@ -3,11 +3,11 @@
 assert stdenv.isLinux -> libcap != null;
 
 stdenv.mkDerivation rec {
-  name = "ntp-4.2.8p3";
+  name = "ntp-4.2.8p4";
 
   src = fetchurl {
     url = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/${name}.tar.gz";
-    sha256 = "13zkzcvjm5kbxl4xbcmaq07slplhmpkgahzcqnqlba3cxpra9341";
+    sha256 = "1fgxbhv0wyiivi6kh5zpzrd0yqmc48z7d3zmjspw9lj84mbn2s8d";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/networking/nzbget/default.nix b/pkgs/tools/networking/nzbget/default.nix
index 3497fd8efaf52..733e12d1e9b1e 100644
--- a/pkgs/tools/networking/nzbget/default.nix
+++ b/pkgs/tools/networking/nzbget/default.nix
@@ -1,15 +1,13 @@
 { stdenv, fetchurl, pkgconfig, libxml2, ncurses, libsigcxx, libpar2
 , gnutls, libgcrypt, zlib }:
 
-let
-  version = "15.0";
-in
 stdenv.mkDerivation rec {
   name = "nzbget-${version}";
+  version = "16.3";
 
   src = fetchurl {
     url = "http://github.com/nzbget/nzbget/releases/download/v${version}/${name}-src.tar.gz";
-    sha256 = "02nclq97gqr4zwww4j1l9sds2rwrwwvwvh2gkjhwvr0pb4z3zw9y";
+    sha256 = "03xzrvgqh90wx183sjrcyn7yilip92g2x5wffnw956ywxb3nsy2g";
   };
 
   buildInputs = [ pkgconfig libxml2 ncurses libsigcxx libpar2 gnutls
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 50d53bdff2cd6..2004e453a0d95 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -17,11 +17,11 @@ let
 in
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "openssh-7.1p1";
+  name = "openssh-6.9p1";
 
   src = fetchurl {
     url = "mirror://openbsd/OpenSSH/portable/${name}.tar.gz";
-    sha256 = "0a44mnr8bvw41zg83xh4sb55d8nds29j95gxvxk5qg863lnns2pw";
+    sha256 = "1zkci5nbpb4frmzj2vr3kv9j47x2h72kvybcpr0d8mzk73sls1vf";
   };
 
   prePatch = optionalString hpnSupport
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
       export NIX_LDFLAGS="$NIX_LDFLAGS -lgcc_s"
     '';
 
-  patches = [ ./locale_archive.patch ];
+  patches = [ ./locale_archive.patch ./openssh-6.9p1-security-7.0.patch];
 
   buildInputs = [ zlib openssl libedit pkgconfig pam ]
     ++ optional withKerberos [ kerberos ];
diff --git a/pkgs/tools/networking/openssh/openssh-6.9p1-security-7.0.patch b/pkgs/tools/networking/openssh/openssh-6.9p1-security-7.0.patch
new file mode 100644
index 0000000000000..02e9eb3a9739a
--- /dev/null
+++ b/pkgs/tools/networking/openssh/openssh-6.9p1-security-7.0.patch
@@ -0,0 +1,65 @@
+http://pkgs.fedoraproject.org/cgit/openssh.git/commit/openssh-6.9p1-security-7.0.patch?h=f22&id=4776fad91e7e1f626f33e8c240d0ccecd663554d
+
+diff --git a/sshpty.c b/sshpty.c
+index 7bb7641..15da8c6 100644
+--- a/sshpty.c
++++ b/sshpty.c
+@@ -1,4 +1,4 @@
+-/* $OpenBSD: sshpty.c,v 1.29 2014/09/03 18:55:07 djm Exp $ */
++/* $OpenBSD: sshpty.c,v 1.30 2015/07/30 23:09:15 djm Exp $ */
+ /*
+  * Author: Tatu Ylonen <ylo@cs.hut.fi>
+  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
+@@ -197,7 +197,7 @@ pty_setowner(struct passwd *pw, const char *tty)
+ 	/* Determine the group to make the owner of the tty. */
+ 	grp = getgrnam("tty");
+ 	gid = (grp != NULL) ? grp->gr_gid : pw->pw_gid;
+-	mode = (grp != NULL) ? 0622 : 0600;
++	mode = (grp != NULL) ? 0620 : 0600;
+ 
+ 	/*
+ 	 * Change owner and mode of the tty as required.
+diff --git a/monitor.c b/monitor.c
+index b410965..f1b873d 100644
+--- a/monitor.c
++++ b/monitor.c
+@@ -1084,9 +1084,7 @@ extern KbdintDevice sshpam_device;
+ int
+ mm_answer_pam_init_ctx(int sock, Buffer *m)
+ {
+-
+ 	debug3("%s", __func__);
+-	authctxt->user = buffer_get_string(m, NULL);
+ 	sshpam_ctxt = (sshpam_device.init_ctx)(authctxt);
+ 	sshpam_authok = NULL;
+ 	buffer_clear(m);
+@@ -1166,14 +1166,16 @@ mm_answer_pam_respond(int sock, Buffer *m)
+ int
+ mm_answer_pam_free_ctx(int sock, Buffer *m)
+ {
++	int r = sshpam_authok != NULL && sshpam_authok == sshpam_ctxt;
+ 
+ 	debug3("%s", __func__);
+ 	(sshpam_device.free_ctx)(sshpam_ctxt);
++	sshpam_ctxt = sshpam_authok = NULL;
+ 	buffer_clear(m);
+ 	mm_request_send(sock, MONITOR_ANS_PAM_FREE_CTX, m);
+ 	auth_method = "keyboard-interactive";
+ 	auth_submethod = "pam";
+-	return (sshpam_authok == sshpam_ctxt);
++	return r;
+ }
+ #endif
+ 
+diff --git a/monitor_wrap.c b/monitor_wrap.c
+index e6217b3..eac421b 100644
+--- a/monitor_wrap.c
++++ b/monitor_wrap.c
+@@ -614,7 +614,6 @@ mm_sshpam_init_ctx(Authctxt *authctxt)
+ 
+ 	debug3("%s", __func__);
+ 	buffer_init(&m);
+-	buffer_put_cstring(&m, authctxt->user);
+ 	mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_PAM_INIT_CTX, &m);
+ 	debug3("%s: waiting for MONITOR_ANS_PAM_INIT_CTX", __func__);
+ 	mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_PAM_INIT_CTX, &m);
diff --git a/pkgs/tools/networking/openvpn/update-resolv-conf.nix b/pkgs/tools/networking/openvpn/update-resolv-conf.nix
index de04c1419e2d8..f5937f0500438 100644
--- a/pkgs/tools/networking/openvpn/update-resolv-conf.nix
+++ b/pkgs/tools/networking/openvpn/update-resolv-conf.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchgit, makeWrapper, openresolv, coreutils }:
 
 stdenv.mkDerivation rec {
-  name = "update-resolv-conf-2014-10-03";
+  name = "update-resolv-conf-20141003";
 
   src = fetchgit {
     url = https://github.com/masterkorp/openvpn-update-resolv-conf/;
diff --git a/pkgs/tools/networking/plasma-nm/default.nix b/pkgs/tools/networking/plasma-nm/default.nix
index 17f809ddb8c94..0c10e6655b8e1 100644
--- a/pkgs/tools/networking/plasma-nm/default.nix
+++ b/pkgs/tools/networking/plasma-nm/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, automoc4, cmake, gettext, perl, pkgconfig
-, kdelibs, networkmanager, libnm-qt }:
+, kdelibs, networkmanager, libnm-qt, glib }:
 
 let
   pname = "plasma-nm";
@@ -14,6 +14,8 @@ stdenv.mkDerivation {
     sha256 = "0xj14isvjq8ll70b6q66n8adm8ff4j9ng195ndk2gmavjf6bb751";
   };
 
+  NIX_CFLAGS_COMPILE = "-I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include";
+
   nativeBuildInputs = [ automoc4 cmake gettext perl pkgconfig ];
 
   buildInputs = [ kdelibs networkmanager libnm-qt ];
@@ -23,6 +25,5 @@ stdenv.mkDerivation {
     description = "Plasma applet written in QML for managing network connections";
     license = licenses.lgpl21;
     inherit (kdelibs.meta) platforms;
-    maintainers = with maintainers; [ jgeerds ];
   };
 }
diff --git a/pkgs/tools/networking/reaver-wps/default.nix b/pkgs/tools/networking/reaver-wps/default.nix
index afce95fbd449f..9efe3df752015 100644
--- a/pkgs/tools/networking/reaver-wps/default.nix
+++ b/pkgs/tools/networking/reaver-wps/default.nix
@@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
     description = "Brute force attack against Wifi Protected Setup";
     homepage = http://code.google.com/p/reaver-wps;
     license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/ripmime/default.nix b/pkgs/tools/networking/ripmime/default.nix
index d9445b7497613..fd5964cb55fc5 100644
--- a/pkgs/tools/networking/ripmime/default.nix
+++ b/pkgs/tools/networking/ripmime/default.nix
@@ -29,8 +29,8 @@ rec {
   /* doConfigure should be removed if not needed */
   phaseNames = ["fixTarget" "doMakeInstall"];
   fixTarget = a.fullDepEntry (''
-    sed -i Makefile -e "s@LOCATION=.*@LOCATION=$out@"
-    mkdir -p "$out/bin" "$out/man/man1"
+    sed -i Makefile -e "s@LOCATION=.*@LOCATION=$out@" -e "s@man/man1@share/&@"
+    mkdir -p "$out/bin" "$out/share/man/man1"
   '') ["doUnpack" "minInit" "defEnsureDir"];
       
   meta = {
diff --git a/pkgs/tools/networking/smbldaptools/default.nix b/pkgs/tools/networking/smbldaptools/default.nix
index af1849565fe2d..9ca5c3be177ae 100644
--- a/pkgs/tools/networking/smbldaptools/default.nix
+++ b/pkgs/tools/networking/smbldaptools/default.nix
@@ -27,5 +27,7 @@ stdenv.mkDerivation {
     homepage = http://gna.org/projects/smbldap-tools/;
     description = "SAMBA LDAP tools";
     license = stdenv.lib.licenses.gpl2Plus;
+    # pod2man: unable to format smbldap-config.cmd
+    broken = true;
   };
 }
diff --git a/pkgs/tools/networking/snabb/default.nix b/pkgs/tools/networking/snabb/default.nix
new file mode 100644
index 0000000000000..9ca8b56491d14
--- /dev/null
+++ b/pkgs/tools/networking/snabb/default.nix
@@ -0,0 +1,32 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "snabb-2015.10";
+
+  src = fetchurl {
+    url = "https://github.com/SnabbCo/snabbswitch/archive/v2015.10.tar.gz";
+    sha256 = "15cmw7k2siy9m7s1383l1h8kix8cwb143yvwhxdahbnx4lfnzfz8";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp src/snabb $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/SnabbCo/snabbswitch;
+    description = "Simple and fast packet networking toolkit";
+    longDescription = ''
+      Snabb Switch is a LuaJIT-based toolkit for writing high-speed
+      packet networking code (such as routing, switching, firewalling,
+      and so on). It includes both a scripting inteface for creating
+      new applications and also some built-in applications that are
+      ready to run.
+      It is especially intended for ISPs and other network operators.
+    '';
+    platforms = [ "x86_64-linux" ];
+    license = licenses.asl20;
+    maintainers = [ maintainers.lukego ];
+  };
+}
+
diff --git a/pkgs/tools/networking/tgt/default.nix b/pkgs/tools/networking/tgt/default.nix
index b5acdce800a00..f870b5463b604 100644
--- a/pkgs/tools/networking/tgt/default.nix
+++ b/pkgs/tools/networking/tgt/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchFromGitHub, libxslt, libaio, systemd, perl, perlPackages }:
+{ stdenv, fetchFromGitHub, libxslt, libaio, systemd, perl, perlPackages
+, docbook_xsl }:
 
 let
   version = "1.0.60";
@@ -11,7 +12,7 @@ in stdenv.mkDerivation rec {
     sha256 = "1bf8rn3mavjrzkp5k23akqn5ilw43g8mpfr68z1bi8s9lr2gkf37";
   };
 
-  buildInputs = [ libxslt systemd libaio ];
+  buildInputs = [ libxslt systemd libaio docbook_xsl ];
 
   DESTDIR = "$(out)";
   PREFIX = "/";
@@ -34,4 +35,4 @@ in stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/tools/networking/tinc/pre.nix b/pkgs/tools/networking/tinc/pre.nix
index f7d74b6a39aae..81b143921379c 100644
--- a/pkgs/tools/networking/tinc/pre.nix
+++ b/pkgs/tools/networking/tinc/pre.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchgit, autoreconfHook, texinfo, ncurses, readline, zlib, lzo, openssl }:
 
 stdenv.mkDerivation rec {
-  name = "tinc-1.1pre-2015-07-22";
+  name = "tinc-1.1pre-2015-09-25";
 
   src = fetchgit {
     url = "git://tinc-vpn.org/tinc";
-    rev = "56a8b90d863171d62e0a337b5635fbfc53a67fb0";
-    sha256 = "081z4xs5l988g1s0yr7fvnysajd05bx6s54sh84jvq7ij8af71dm";
+    rev = "73068238436d8a22abb86e67b08f573b09fd04e1";
+    sha256 = "1j8bvvzvciy21s24jdpi089svy7wipg9pm84s98xjlp2plchj5dj";
   };
 
   nativeBuildInputs = [ autoreconfHook texinfo ];
diff --git a/pkgs/tools/networking/wavemon/default.nix b/pkgs/tools/networking/wavemon/default.nix
index b5927fd247806..ece252a9b6c72 100644
--- a/pkgs/tools/networking/wavemon/default.nix
+++ b/pkgs/tools/networking/wavemon/default.nix
@@ -1,45 +1,20 @@
-x@{builderDefsPackage
-  , ncurses
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
-
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="wavemon";
-    version = "0.7.6";
-    name="${baseName}-${version}";
-    url="http://eden-feed.erg.abdn.ac.uk/wavemon/stable-releases/${name}.tar.bz2";
+{stdenv, fetchgit, ncurses, libnl, pkgconfig}:
+stdenv.mkDerivation rec {
+  version = "0.7.6.20151001";
+  baseName="wavemon";
+  name="${baseName}-${version}";
+  buildInputs = [ncurses libnl pkgconfig];
+  src = fetchgit {
+    url = https://github.com/uoaerg/wavemon.git ;
+    rev = "05753aed2ec5a786d602c7903c89fc6a230f8d42";
+    sha256 = "13y4bi4qz4596f11ng6zaqir5j234wv64z4670q3pzh3fqmzmpm4";
   };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = "18cwlzgmwzy7z9dfr6lwd8kmkv0pqiihizm4gi0kkm52bzz6836y";
-  };
-
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
   meta = {
-    description = "WiFi state monitor";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = a.lib.licenses.gpl2Plus;
-    downloadPage = "http://eden-feed.erg.abdn.ac.uk/wavemon/";
     inherit version;
-    updateWalker = true;
+    description = "WiFi state monitor";
+    license = stdenv.lib.licenses.gpl3Plus ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    downloadPage = https://github.com/uoaerg/wavemon.git ;
   };
-}) x
-
+}
diff --git a/pkgs/tools/networking/whois/default.nix b/pkgs/tools/networking/whois/default.nix
new file mode 100644
index 0000000000000..bab487f5fab85
--- /dev/null
+++ b/pkgs/tools/networking/whois/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchFromGitHub, perl, gettext }:
+
+stdenv.mkDerivation rec {
+  version = "5.2.10";
+  name = "whois-${version}";
+
+  src = fetchFromGitHub {
+    owner = "rfc1036";
+    repo = "whois";
+    rev = "v${version}";
+    sha256 = "0fqxbys3ssyplh70wjs83jsljqhmrnjic02ayaznw9m9l6fzhkkr";
+  };
+
+  buildInputs = [ perl gettext ];
+
+  preConfigure = ''
+    for i in Makefile po/Makefile; do
+      substituteInPlace $i --replace "prefix = /usr" "prefix = $out"
+    done
+  '';
+
+  buildPhase = "make whois";
+
+  installPhase = "make install-whois";
+
+  meta = with stdenv.lib; {
+    description = "Intelligent WHOIS client from Debian";
+    longDescription = ''
+      This package provides a commandline client for the WHOIS (RFC 3912)
+      protocol, which queries online servers for information such as contact
+      details for domains and IP address assignments. It can intelligently
+      select the appropriate WHOIS server for most queries.
+    '';
+
+    homepage = http://packages.qa.debian.org/w/whois.html;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ fpletz ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/zerotierone/default.nix b/pkgs/tools/networking/zerotierone/default.nix
index c6a456e202aba..f38b3becf4c70 100644
--- a/pkgs/tools/networking/zerotierone/default.nix
+++ b/pkgs/tools/networking/zerotierone/default.nix
@@ -3,12 +3,12 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "1.0.4";
+  version = "1.0.5";
   name = "zerotierone";
 
   src = fetchurl {
     url = "https://github.com/zerotier/ZeroTierOne/archive/${version}.tar.gz";
-    sha256 = "1klnsjajlas71flbf6w2q3iqhhqrmzqpd2g4qw9my66l7kcsbxfd";
+    sha256 = "6e2de5477fefdab21802b1047d753ac38c85074a7d6b41387125fd6941f25ab2";
   };
 
   preConfigure = ''
diff --git a/pkgs/tools/package-management/disnix/dysnomia/default.nix b/pkgs/tools/package-management/disnix/dysnomia/default.nix
index 275c4b6e61f11..b5969aa327d00 100644
--- a/pkgs/tools/package-management/disnix/dysnomia/default.nix
+++ b/pkgs/tools/package-management/disnix/dysnomia/default.nix
@@ -20,10 +20,10 @@ assert enableEjabberdDump -> ejabberd != null;
 assert enableMongoDatabase -> (mongodb != null && mongodb-tools != null);
 
 stdenv.mkDerivation {
-  name = "dysnomia-0.4";
+  name = "dysnomia-0.4.1";
   src = fetchurl {
-    url = http://hydra.nixos.org/build/23484767/download/1/dysnomia-0.4.tar.gz;
-    sha256 = "1xyd1gzsy4nlbv2l2lrrs964vvb74yhmb8snr4chf7hcyaybb6cq";
+    url = http://hydra.nixos.org/build/26970202/download/1/dysnomia-0.4.1.tar.gz;
+    sha256 = "03ljlsmdpglimvql2qnr4wj8ci2hj7wcc8bqipndqcahcpcc8k0f";
   };
   
   preConfigure = if enableEjabberdDump then "export PATH=$PATH:${ejabberd}/sbin" else "";
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 5153467d44924..364032b70e93c 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -43,6 +43,8 @@ let
 
     doInstallCheck = false;
 
+    separateDebugInfo = stdenv.isLinux;
+
     crossAttrs = {
       postUnpack =
         '' export CPATH="${bzip2.crossDrv}/include"
@@ -88,21 +90,18 @@ in rec {
 
    nixStable = common rec {
      name = "nix-1.10";
-      src = fetchurl {
-        url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz";
-        sha256 = "5612ca7a549dd1ee20b208123e041aaa95a414a0e8f650ea88c672dc023d10f6";
-      };
+     src = fetchurl {
+       url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz";
+       sha256 = "5612ca7a549dd1ee20b208123e041aaa95a414a0e8f650ea88c672dc023d10f6";
+     };
    };
 
-   nixUnstable = nix;
-   /*
    nixUnstable = lib.lowPrio (common rec {
-     name = "nix-1.10pre4212_e12cf82";
-      src = fetchurl {
-        url = "http://hydra.nixos.org/build/24982847/download/4/${name}.tar.xz";
-        sha256 = "4165db0ea9bb6b5cd96d294348299f20ac045fc18db680104ff98fe9ac893f72";
-      };
+     name = "nix-1.11pre4273_71039be";
+     src = fetchurl {
+       url = "http://hydra.nixos.org/build/27061065/download/4/${name}.tar.xz";
+       sha256 = "4a1bc541868c317708fc8b532e22f5ead8d9759eee6a2680719584841cf897af";
+     };
    });
-   */
 
 }
diff --git a/pkgs/tools/security/chkrootkit/default.nix b/pkgs/tools/security/chkrootkit/default.nix
index 36a203a7b5078..2dad4b3e43aa4 100644
--- a/pkgs/tools/security/chkrootkit/default.nix
+++ b/pkgs/tools/security/chkrootkit/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "chkrootkit-0.50";
 
   src = fetchurl {
-    url = ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz;
+    url = ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit-0.50.tar.gz;
     sha256 = "1ivclp7ixndacjmf7xgj8lfa6h7ihx44mzzsapqdvf0c5f9gqj4m";
   };
 
diff --git a/pkgs/tools/security/eid-mw/default.nix b/pkgs/tools/security/eid-mw/default.nix
index fbb8f0321ef91..5e06d2f32e293 100644
--- a/pkgs/tools/security/eid-mw/default.nix
+++ b/pkgs/tools/security/eid-mw/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchFromGitHub, autoreconfHook, gtk2, nssTools, pcsclite
 , pkgconfig }:
 
-let version = "4.1.6"; in
+let version = "4.1.8"; in
 stdenv.mkDerivation {
   name = "eid-mw-${version}";
 
   src = fetchFromGitHub {
-    sha256 = "006s7093wqmk36mrlakjv89bqddyh599rvmgv0zgsp15vf9160zi";
+    sha256 = "1nmw4c2gvbpkrgjxyd2g0lbh85lb2czbgqplqrv69fr6azaddyyk";
     rev = "v${version}";
     repo = "eid-mw";
     owner = "Fedict";
@@ -29,10 +29,11 @@ stdenv.mkDerivation {
       --replace "modutil" "${nssTools}/bin/modutil"
 
     # Only provides a useless "about-eid-mw.desktop" that segfaults anyway:
-    rm -rf $out/share/applications $out/bin/about-eid-mw
+    rm -r $out/share/applications $out/bin/about-eid-mw
   '';
 
   meta = with stdenv.lib; {
+    inherit version;
     description = "Belgian electronic identity card (eID) middleware";
     homepage = http://eid.belgium.be/en/using_your_eid/installing_the_eid_software/linux/;
     license = licenses.lgpl3;
diff --git a/pkgs/tools/security/gencfsm/default.nix b/pkgs/tools/security/gencfsm/default.nix
new file mode 100644
index 0000000000000..ff55411f32a5f
--- /dev/null
+++ b/pkgs/tools/security/gencfsm/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, autoconf, automake, intltool, libtool, pkgconfig, encfs
+, glib , gnome3, gtk3, libgnome_keyring, vala, wrapGAppsHook, xorg }:
+
+stdenv.mkDerivation rec {
+  version = "1.8.15";
+  name = "gnome-encfs-manager-${version}";
+
+  src = fetchurl {
+    url = "https://launchpad.net/gencfsm/trunk/1.8/+download/gnome-encfs-manager_${version}.tar.gz";
+    sha256 = "1iryli6fgw6a45abkrjacfac7dwjhbrhw652rqf0s183373db0mx";
+  };
+
+  buildInputs = [ autoconf automake intltool libtool pkgconfig vala glib encfs
+    gtk3 libgnome_keyring gnome3.libgee_1 xorg.libSM xorg.libICE
+    wrapGAppsHook ];
+
+  patches = [ ./makefile-mkdir.patch ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  configureFlags = [ "--disable-appindicator" ];
+
+  preFixup = ''gappsWrapperArgs+=(--prefix PATH : ${encfs}/bin)'';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.libertyzero.com/GEncfsM/;
+    description = "EncFS manager and mounter with GNOME3 integration";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.spacefrogg ];
+  };
+}
diff --git a/pkgs/tools/security/gencfsm/makefile-mkdir.patch b/pkgs/tools/security/gencfsm/makefile-mkdir.patch
new file mode 100644
index 0000000000000..49c7b0b4d9d12
--- /dev/null
+++ b/pkgs/tools/security/gencfsm/makefile-mkdir.patch
@@ -0,0 +1,14 @@
+--- a/dist/Makefile.am
++++ b/dist/Makefile.am
+@@ -10,9 +10,9 @@ install-data-hook:
+ 	chmod 0755 $(shell find $(dist) -type d)
+ 	chmod 0644 $(shell find $(dist) -type f)
+ 	chmod 0755 $(shell find "scripts" -type f)
+-	test -z "$(DESTDIR)$(datadir)/dbus-1/services/" || /bin/mkdir -p "$(DESTDIR)$(datadir)/dbus-1/services/"
++	test -z "$(DESTDIR)$(datadir)/dbus-1/services/" || $(MKDIR_P) "$(DESTDIR)$(datadir)/dbus-1/services/"
+ 	cp "extra/com.libertyzero.gnome-encfs-manager.service" "$(DESTDIR)$(datadir)/dbus-1/services/"
+-	test -z "$(gencfsmdir)" || /bin/mkdir -p "$(gencfsmdir)"
++	test -z "$(gencfsmdir)" || $(MKDIR_P) "$(gencfsmdir)"
+ 	cp --parent -rf $(dist) "$(gencfsmdir)"
+ 	cp --parent -rf $(icons) $(DESTDIR)$(datadir)
+ 
diff --git a/pkgs/tools/security/gnupg/21.nix b/pkgs/tools/security/gnupg/21.nix
index 20d2eb15b9788..5fbd6e83970c3 100644
--- a/pkgs/tools/security/gnupg/21.nix
+++ b/pkgs/tools/security/gnupg/21.nix
@@ -13,11 +13,11 @@ with stdenv.lib;
 assert x11Support -> pinentry != null;
 
 stdenv.mkDerivation rec {
-  name = "gnupg-2.1.8";
+  name = "gnupg-2.1.9";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha256 = "18w14xp0ynzzwpklyplkzbrncds1hly4k2gjx115swch8qgd1f53";
+    sha256 = "1dpp555glln6fldk72ad7lkrn8h3cr2bg714z5kfn2qrawx67dqw";
   };
 
   postPatch = stdenv.lib.optionalString stdenv.isLinux ''
diff --git a/pkgs/tools/security/gpgstats/default.nix b/pkgs/tools/security/gpgstats/default.nix
new file mode 100644
index 0000000000000..a04b87c8e3133
--- /dev/null
+++ b/pkgs/tools/security/gpgstats/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, ncurses, gpgme }:
+
+stdenv.mkDerivation rec {
+  name = "gpgstats-${version}";
+  version = "0.5";
+
+  src = fetchurl {
+    url = "http://www.vanheusden.com/gpgstats/${name}.tgz";
+    sha256 = "1n3njqhjwgfllcxs0xmk89dzgirrpfpfzkj71kqyvq97gc1wbcxy";
+  };
+
+  buildInputs = [ ncurses gpgme ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp gpgstats $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Calculates statistics on the keys in your gpg key-ring";
+    longDescription = ''
+    GPGstats calculates statistics on the keys in your key-ring.
+    '';
+    homepage = http://www.vanheusden.com/gpgstats/;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ davidak ];
+    platforms = with platforms; unix;
+  };
+}
+
diff --git a/pkgs/tools/security/john/default.nix b/pkgs/tools/security/john/default.nix
index 4ef9b8f65b6bd..24a6782c20657 100644
--- a/pkgs/tools/security/john/default.nix
+++ b/pkgs/tools/security/john/default.nix
@@ -1,29 +1,54 @@
-{ stdenv, fetchgit, openssl, nss, nspr, kerberos, gmp, zlib, libpcap, re2 }:
+{ stdenv, fetchurl, openssl, nss, nspr, kerberos, gmp, zlib, libpcap, re2
+, writeText
+}:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "JohnTheRipper-${version}";
-  version = "8a3e3c1d";
+  name = "john-${version}";
+  version = "1.8.0-jumbo-1";
+
+  src = fetchurl {
+    url = "http://www.openwall.com/john/j/${name}.tar.xz";
+    sha256 = "08q92sfdvkz47rx6qjn7qv57cmlpy7i7rgddapq5384mb413vjds";
+  };
+
+  postPatch = ''
+    sed -ri -e '
+      s!^(#define\s+CFG_[A-Z]+_NAME\s+).*/!\1"'"$out"'/etc/john/!
+      /^#define\s+JOHN_SYSTEMWIDE/s!/usr!'"$out"'!
+    ' src/params.h
+    sed -ri -e '/^\.include/ {
+      s!\$JOHN!'"$out"'/etc/john!
+      s!^(\.include\s*)<([^./]+\.conf)>!\1"'"$out"'/etc/john/\2"!
+    }' run/*.conf
+  '';
+
+  preConfigure = "cd src";
+  configureFlags = [ "--disable-native-macro" ];
+
   buildInputs = [ openssl nss nspr kerberos gmp zlib libpcap re2 ];
-  NIX_CFLAGS_COMPILE = "-DJOHN_SYSTEMWIDE=1";
-  preConfigure = ''cd src'';
+  enableParallelBuilding = true;
+
+  NIX_CFLAGS_COMPILE = [ "-DJOHN_SYSTEMWIDE=1" ];
+
   installPhase = ''
-    ensureDir $out/share/john/
-    ensureDir $out/bin
-    cp -R ../run/* $out/share/john
-    ln -s $out/share/john/john $out/bin/john
+    mkdir -p "$out/etc/john" "$out/share/john" "$out/share/doc/john"
+    find ../run -mindepth 1 -maxdepth 1 -type f -executable \
+      -exec "${stdenv.shell}" "${writeText "john-binary-install.sh" ''
+        filename="$(basename "$1")"
+        install -vD "$1" "$out/bin/''${filename%.*}"
+      ''}" {} \;
+    cp -vt "$out/etc/john" ../run/*.conf
+    cp -vt "$out/share/john" ../run/*.chr ../run/password.lst
+    cp -vrt "$out/share/doc/john" ../doc/*
   '';
-  src = fetchgit {
-    url = https://github.com/magnumripper/JohnTheRipper.git;
-    rev = "93f061bc41652c94ae049b52572aac709d18aa4c";
-    sha256 = "1rnfi09830n34jcqaxmsam54p4zsq9a49ic2ljh44lahcipympvy";
-  };
+
   meta = {
     description = "John the Ripper password cracker";
     license = licenses.gpl2;
     homepage = https://github.com/magnumripper/JohnTheRipper/;
-    maintainers = with maintainers; [offline];
+    maintainers = with maintainers; [ offline ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/tools/security/knockknock/default.nix b/pkgs/tools/security/knockknock/default.nix
index 2341d2110bfd1..7cf68d48e18df 100644
--- a/pkgs/tools/security/knockknock/default.nix
+++ b/pkgs/tools/security/knockknock/default.nix
@@ -14,6 +14,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ pycrypto ];
 
   patchPhase = ''
+    sed -i '/build\//d' setup.py
     substituteInPlace setup.py --replace "/etc" "$out/etc"
     substituteInPlace knockknock.py --replace 'existsInPath("hping3")' '"${hping}/bin/hping3"'
   '';
diff --git a/pkgs/tools/security/mkpasswd/default.nix b/pkgs/tools/security/mkpasswd/default.nix
index 8975ca4324d1a..88aa71810dcf6 100644
--- a/pkgs/tools/security/mkpasswd/default.nix
+++ b/pkgs/tools/security/mkpasswd/default.nix
@@ -1,30 +1,21 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, whois, perl }:
 
-stdenv.mkDerivation rec {
-  name = "mkpasswd-${version}";
+stdenv.mkDerivation {
+  name = "mkpasswd-${whois.version}";
 
-  version = "5.1.1";
+  src = whois.src;
 
-  src = fetchFromGitHub {
-    owner = "rfc1036";
-    repo = "whois";
-    rev = "v${version}";
-    sha256 = "026x8byx8pcpkdxca64368p0nlspk4phw18jg4p04di6cg6nc1m5";
-  };
-
-  preConfigure = ''
-    substituteInPlace Makefile --replace "prefix = /usr" "prefix = $out"
-  '';
+  buildInputs = [ perl ];
 
+  preConfigure = whois.preConfigure;
   buildPhase = "make mkpasswd";
-
   installPhase = "make install-mkpasswd";
 
   meta = with stdenv.lib; {
     homepage = http://packages.qa.debian.org/w/whois.html;
     description = "Overfeatured front-end to crypt, from the Debian whois package";
     license = licenses.gpl2;
-    maintainers = [ maintainers.cstrahan ];
+    maintainers = with maintainers; [ cstrahan fpletz ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/nasty/default.nix b/pkgs/tools/security/nasty/default.nix
new file mode 100644
index 0000000000000..099547c2f3216
--- /dev/null
+++ b/pkgs/tools/security/nasty/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, gpgme }:
+
+stdenv.mkDerivation rec {
+  name = "nasty-${version}";
+  version = "0.6";
+
+  src = fetchurl {
+    url = "http://www.vanheusden.com/nasty/${name}.tgz";
+    sha256 = "1dznlxr728k1pgy1kwmlm7ivyl3j3rlvkmq34qpwbwbj8rnja1vn";
+  };
+
+  buildInputs = [ gpgme ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp nasty $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Recover the passphrase of your PGP or GPG-key";
+    longDescription = ''
+    Nasty is a program that helps you to recover the passphrase of your PGP or GPG-key
+    in case you forget or lost it. It is mostly a proof-of-concept: with a different implementation
+    this program could be at least 100x faster.
+    '';
+    homepage = http://www.vanheusden.com/nasty/;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ davidak ];
+    platforms = with platforms; unix;
+  };
+}
+
diff --git a/pkgs/tools/security/pcsclite/default.nix b/pkgs/tools/security/pcsclite/default.nix
index 6ec0cb2386412..dd33e68c1526a 100644
--- a/pkgs/tools/security/pcsclite/default.nix
+++ b/pkgs/tools/security/pcsclite/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, udev, dbus_libs, perl }:
+{ stdenv, fetchurl, pkgconfig, udev, dbus_libs, perl, python2 }:
 
 stdenv.mkDerivation rec {
   name = "pcsclite-1.8.14";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     "--enable-confdir=/etc"
   ];
 
-  nativeBuildInputs = [ pkgconfig perl ];
+  nativeBuildInputs = [ pkgconfig perl python2 ];
   buildInputs = [ udev dbus_libs ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/security/pcsctools/default.nix b/pkgs/tools/security/pcsctools/default.nix
index 72e43f15fe62d..59db6889a5789 100644
--- a/pkgs/tools/security/pcsctools/default.nix
+++ b/pkgs/tools/security/pcsctools/default.nix
@@ -1,22 +1,36 @@
-{ stdenv, fetchurl, pkgconfig, udev, dbus_libs, perl, pcsclite }:
+{ stdenv, lib, fetchurl, makeWrapper, pkgconfig, udev, dbus_libs, pcsclite
+, wget, coreutils
+, perl, pcscperl, Glib, Gtk2, Pango
+}:
 
-stdenv.mkDerivation rec {
-  name = "pcsc-tools-1.4.23";
+let deps = lib.makeSearchPath "bin" [ wget coreutils ];
+
+in stdenv.mkDerivation rec {
+  name = "pcsc-tools-1.4.25";
 
   src = fetchurl {
-    url = "http://ludovic.rousseau.free.fr/softwares/pcsc-tools/pcsc-tools-1.4.23.tar.gz";
-    sha256 = "1qjgvvvwhykmzn4js9s3rjnp9pbjc3sz4lb4d7i9kvr3xsv7pjk9";
+    url = "http://ludovic.rousseau.free.fr/softwares/pcsc-tools/${name}.tar.gz";
+    sha256 = "0iqcy28pb963ds4pjrpi37577vm6nkgf3i0b3rr978jy9qi1bix9";
   };
 
   buildInputs = [ udev dbus_libs perl pcsclite ];
 
-  preBuild = ''
-    makeFlags=DESTDIR=$out
-  '';
+  makeFlags = [ "DESTDIR=$(out)" ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ makeWrapper pkgconfig ];
+
+  postInstall = ''
+    wrapProgram $out/bin/scriptor \
+      --set PERL5LIB "${lib.makePerlPath [ pcscperl ]}"
+    wrapProgram $out/bin/gscriptor \
+      --set PERL5LIB "${lib.makePerlPath [ pcscperl Glib Gtk2 Pango ]}"
+    wrapProgram $out/bin/ATR_analysis \
+      --set PERL5LIB "${lib.makePerlPath [ pcscperl ]}"
+    wrapProgram $out/bin/pcsc_scan \
+      --set PATH "$out/bin:${deps}"
+  '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Tools used to test a PC/SC driver, card or reader";
     homepage = http://ludovic.rousseau.free.fr/softwares/pcsc-tools/;
     license = licenses.gpl2Plus;
diff --git a/pkgs/tools/security/ssdeep/default.nix b/pkgs/tools/security/ssdeep/default.nix
index a17fc36b013c2..4f2cf551816b3 100644
--- a/pkgs/tools/security/ssdeep/default.nix
+++ b/pkgs/tools/security/ssdeep/default.nix
@@ -9,9 +9,11 @@ stdenv.mkDerivation rec {
     sha256 = "1igqy0j7jrklb8fdlrm6ald4cyl1fda5ipfl8crzyl6bax2ajk3f";
   };
 
+  buildInputs = stdenv.lib.optional (!stdenv.isDarwin) [ patchelf ];
+
   # For some reason (probably a build system bug), the binary isn't
   # properly linked to $out/lib to find libfuzzy.so
-  postFixup = ''
+  postFixup = stdenv.lib.optionalString (!stdenv.isDarwin) ''
     rp=$(patchelf --print-rpath $out/bin/ssdeep)
     patchelf --set-rpath $rp:$out/lib $out/bin/ssdeep
   '';
diff --git a/pkgs/tools/security/sslscan/default.nix b/pkgs/tools/security/sslscan/default.nix
new file mode 100644
index 0000000000000..dd124c4efe6d0
--- /dev/null
+++ b/pkgs/tools/security/sslscan/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "sslscan-${version}";
+  version = "1.11.0";
+
+  src = fetchurl {
+    url = "https://github.com/rbsec/sslscan/archive/${version}-rbsec.tar.gz";
+    sha256 = "19d6vpcihfqs35hni4vigcpqabbnd3sndr5wyvfsladgp40vz3b9";
+  };
+
+  buildInputs = [ openssl ];
+
+  installFlags = [
+    "BINPATH=$(out)/bin"
+    "MANPATH=$(out)/share/man"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Tests SSL/TLS services and discover supported cipher suites";
+    homepage = https://github.com/rbsec/sslscan;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ fpletz globin ];
+    platforms = platforms.all;
+  };
+}
+
diff --git a/pkgs/tools/security/tor/torbrowser.nix b/pkgs/tools/security/tor/torbrowser.nix
index bd7531af18f7f..3ff4ce724b800 100644
--- a/pkgs/tools/security/tor/torbrowser.nix
+++ b/pkgs/tools/security/tor/torbrowser.nix
@@ -2,9 +2,6 @@
 , xorg, alsaLib, dbus, dbus_glib, glib, gtk, atk, pango, freetype, fontconfig
 , gdk_pixbuf, cairo, zlib}:
 let
-  bits = if stdenv.system == "x86_64-linux" then "64"
-         else "32";
-
   # isolated tor environment
   torEnv = buildEnv {
     name = "tor-env";
@@ -15,18 +12,17 @@ let
     ];
   };
 
-  ldLibraryPath = if bits == "64" then torEnv+"/lib:"+torEnv+"/lib64"
-        else torEnv+"/lib";
+  ldLibraryPath = ''${torEnv}/lib${stdenv.lib.optionalString stdenv.is64bit ":${torEnv}/lib64"}'';
 
 in stdenv.mkDerivation rec {
   name = "tor-browser-${version}";
-  version = "4.5.3";
+  version = "5.0.4";
 
   src = fetchurl {
-    url = "https://archive.torproject.org/tor-package-archive/torbrowser/${version}/tor-browser-linux${bits}-${version}_en-US.tar.xz";
-    sha256 = if bits == "64" then
-      "24c517d2aeb15ba5eeda1eb87f483ed4fb0c22b07a95ca26af9f692e0d4d9b7c" else
-      "154d659583048e91870c40921561f0519babf6d3c9ac439f6fb74ed66824463f";
+    url = "https://archive.torproject.org/tor-package-archive/torbrowser/${version}/tor-browser-linux${if stdenv.is64bit then "64" else "32"}-${version}_en-US.tar.xz";
+    sha256 = if stdenv.is64bit then
+      "03vn1wkkpgr6wzd6iiyqs7zv7yxl9q99j755n8l2579bd10w1xcn" else
+      "1yc13cykr4fafz6r8hnjccl0s33sk297c779cknbdbhj3z3yn163";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/security/yara/default.nix b/pkgs/tools/security/yara/default.nix
new file mode 100644
index 0000000000000..6a5269c03dc51
--- /dev/null
+++ b/pkgs/tools/security/yara/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchurl, fetchFromGitHub, autoconf, automake, libtool, pcre
+, withCrypto ? true, openssl
+, enableMagic ? true, file
+, enableCuckoo ? true, jansson
+}:
+
+stdenv.mkDerivation rec {
+  version = "3.4.0";
+  name = "yara-${version}";
+
+  src = fetchFromGitHub {
+    owner = "plusvic";
+    repo = "yara";
+    rev = "v${version}";
+    sha256 = "1rv1xixbjqx1vkcij8r01rq08ncqgy6nn98xvkrpixwvi4fy956s";
+  };
+
+  # FIXME: this is probably not the right way to make it work
+  # make[2]: *** No rule to make target 'libyara/.libs/libyara.a', needed by 'yara'.  Stop.
+  dynamic_library_extension = ""
+    + stdenv.lib.optionalString stdenv.isLinux "so"
+    + stdenv.lib.optionalString stdenv.isDarwin "dylib"
+  ;
+  prePatch = ''
+    cat >staticlibrary.patch <<EOF
+    --- a/Makefile.am 2015-11-01 11:39:12.000000000 +0100
+    +++ b/Makefile.am 2015-11-01 11:45:32.000000000 +0100
+    @@ -12 +12 @@
+    -yara_LDADD = libyara/.libs/libyara.a
+    +yara_LDADD = libyara/.libs/libyara.${dynamic_library_extension}
+    @@ -15 +15 @@
+    -yarac_LDADD = libyara/.libs/libyara.a
+    +yarac_LDADD = libyara/.libs/libyara.${dynamic_library_extension}
+    EOF
+  '';
+  patches = [
+    (fetchurl {
+      url = "https://github.com/plusvic/yara/pull/261.diff";
+      sha256 = "1fkxnk84ryvrjq7p225xvw9pn5gm2bjia2jz38fclwbsaxdi6p3b";
+    })
+    "staticlibrary.patch"
+  ];
+
+  buildInputs = [ autoconf automake libtool pcre]
+    ++ stdenv.lib.optionals withCrypto [ openssl ]
+    ++ stdenv.lib.optionals enableMagic [ file ]
+    ++ stdenv.lib.optionals enableCuckoo [ jansson ]
+  ;
+
+  preConfigure = "./bootstrap.sh";
+
+  configureFlags = ""
+    + stdenv.lib.optionalString withCrypto "--with-crypto "
+    + stdenv.lib.optionalString enableMagic "--enable-magic "
+    + stdenv.lib.optionalString enableCuckoo "--enable-cuckoo "
+  ;
+
+  meta = with stdenv.lib; {
+    description = "The pattern matching swiss knife for malware researchers";
+    homepage    = http://plusvic.github.io/yara/;
+    license     = licenses.asl20;
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/system/ansible/default.nix b/pkgs/tools/system/ansible/default.nix
index 0177eec9435ea..0e72efb33bd2a 100644
--- a/pkgs/tools/system/ansible/default.nix
+++ b/pkgs/tools/system/ansible/default.nix
@@ -1,13 +1,13 @@
 { windowsSupport ? true, stdenv, fetchurl, pythonPackages, python }:
 
 pythonPackages.buildPythonPackage rec {
-  version = "1.9.3";
+  version = "1.9.4";
   name = "ansible-${version}";
   namePrefix = "";
 
   src = fetchurl {
-    url = "http://releases.ansible.com/ansible/ansible-${version}.tar.gz";
-    sha256 = "1vgfsjqb5gbs30ymqgq3q2kxzn3fvh8680n14yj5c040zm1gd515";
+    url = "https://releases.ansible.com/ansible/${name}.tar.gz";
+    sha256 = "1qvgzb66nlyc2ncmgmqhzdk0x0p2px09967p1yypf5czwjn2yb4p";
   };
 
   prePatch = ''
diff --git a/pkgs/tools/system/bootchart/default.nix b/pkgs/tools/system/bootchart/default.nix
index ef0a6d251a39f..dacb143a480bb 100644
--- a/pkgs/tools/system/bootchart/default.nix
+++ b/pkgs/tools/system/bootchart/default.nix
@@ -1,31 +1,21 @@
-{stdenv, fetchurl, gnutar, gzip, coreutils, utillinux, gnugrep, gnused, psmisc, nettools}:
+{stdenv, fetchurl, lib, pkgconfig, glib, gtk, python27, pythonPackages }:
 
 stdenv.mkDerivation rec {
-  name = "bootchart-0.9";
+  version = "0.14.7";
+  name = "bootchart-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/bootchart/${name}.tar.bz2";
-    sha256 = "0z9jvi7cyp3hpx6hf1fyaa8fhnaz7aqid8wrkwp29cngryg3jf3p";
+    url = "https://github.com/mmeeks/bootchart/archive/${version}.tar.gz";
+    sha256 = "1abn4amsyys6vwn7csxsxny94n24ycca3xhqxqcmdc4j0dzn3kmb";
   };
 
-  buildInputs = [ gnutar gzip coreutils utillinux gnugrep gnused psmisc nettools ];
-
-  patchPhase = ''
-    export MYPATH=
-    for i in $buildInputs; do
-       export MYPATH=''${MYPATH}''${MYPATH:+:}$i/bin:$i/sbin
-    done
-
-    sed -i -e 's,PATH.*,PATH='$MYPATH, \
-       -e 's,^CONF.*,CONF='$out/etc/bootchartd.conf, \
-      script/bootchartd
-  '';
+  buildInputs = [ pkgconfig glib gtk python27 pythonPackages.wrapPython pythonPackages.pygtk ];
+  pythonPath = with pythonPackages; [ pygtk pycairo ];
 
   installPhase = ''
-    mkdir -p $out/sbin $out/etc
-    cp script/bootchartd $out/sbin
-    cp script/bootchartd.conf $out/etc
-    chmod +x $out/sbin/bootchartd
+    make install DESTDIR=$out BINDIR=/bin PY_LIBDIR=/lib/python2.7
+    wrapProgram $out/bin/pybootchartgui \
+      --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/system/collectd/default.nix b/pkgs/tools/system/collectd/default.nix
index 80d9d2d98efb6..ff64b54b98577 100644
--- a/pkgs/tools/system/collectd/default.nix
+++ b/pkgs/tools/system/collectd/default.nix
@@ -3,6 +3,8 @@
 , pkgconfig ? null  # most of the extra deps need pkgconfig to be found
 , curl ? null
 , iptables ? null
+, jdk ? null
+, libatasmart ? null
 , libcredis ? null
 , libdbi ? null
 , libgcrypt ? null
@@ -14,34 +16,40 @@
 , libsigrok ? null
 , libvirt ? null
 , libxml2 ? null
+, libtool ? null
 , lm_sensors ? null
 , lvm2 ? null
 , mysql ? null
 , postgresql ? null
 , protobufc ? null
+, python ? null
 , rabbitmq-c ? null
+, riemann ? null
 , rrdtool ? null
+, udev ? null
 , varnish ? null
 , yajl ? null
 }:
 
 stdenv.mkDerivation rec {
-  name = "collectd-5.4.2";
+  name = "collectd-5.5.0";
 
   src = fetchurl {
     url = "http://collectd.org/files/${name}.tar.bz2";
-    sha256 = "14z3qkqbmfjvqvcb2v17480f7c8j7wa49myk0zlxpd9qq40fk2cp";
+    sha256 = "847684cf5c10de1dc34145078af3fcf6e0d168ba98c14f1343b1062a4b569e88";
   };
 
   buildInputs = [
-    pkgconfig curl iptables libcredis libdbi libgcrypt libmemcached cyrus_sasl
-    libmodbus libnotify gdk_pixbuf liboping libpcap libsigrok libvirt
+    pkgconfig curl iptables libatasmart libcredis libdbi libgcrypt libmemcached
+    cyrus_sasl libmodbus libnotify gdk_pixbuf liboping libpcap libsigrok libvirt
     lm_sensors libxml2 lvm2 mysql.lib postgresql protobufc rabbitmq-c rrdtool
-    varnish yajl
+    varnish yajl jdk libtool python udev
   ];
 
   # for some reason libsigrok isn't auto-detected
-  configureFlags = stdenv.lib.optional (libsigrok != null) "--with-libsigrok";
+  configureFlags =
+    stdenv.lib.optional (libsigrok != null) "--with-libsigrok" ++
+    stdenv.lib.optional (python != null) "--with-python=${python}/bin/python";
 
   NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
 
diff --git a/pkgs/tools/system/dd_rescue/default.nix b/pkgs/tools/system/dd_rescue/default.nix
index a0ff9b063dd80..d90b5d1d2f009 100644
--- a/pkgs/tools/system/dd_rescue/default.nix
+++ b/pkgs/tools/system/dd_rescue/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoconf }:
 
 stdenv.mkDerivation rec {
-  version = "1.98";
+  version = "1.99";
   name = "dd_rescue-${version}";
 
   src = fetchurl {
-    sha256 = "14lf2pv52sr16977qjq1rsr42rfd3ywsss2xw9svgaa14g49ss6b";
+    sha256 = "0gkbwssn134fjyyvjvylyvassw4fwv5mbis9gcb969xdc64dfhg1";
     url="http://www.garloff.de/kurt/linux/ddrescue/${name}.tar.bz2";
   };
 
diff --git a/pkgs/tools/system/di/default.nix b/pkgs/tools/system/di/default.nix
index dc15ce13bccbe..9dec905379bef 100644
--- a/pkgs/tools/system/di/default.nix
+++ b/pkgs/tools/system/di/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "di-4.35";
+  name = "di-4.36";
 
   src = fetchurl {
     url = "http://gentoo.com/di/${name}.tar.gz";
-    sha256 = "1lkiggvdm6wi14xy8845w6mqqr50j2q7g0i2rdcs7qw5gb7gmprc";
+    sha256 = "11kd9jawpkir6qwjciis9l5fdvgbp9yndcv4rg6k3x9x1and40zb";
   };
 
   makeFlags = "INSTALL_DIR=$(out)";
diff --git a/pkgs/tools/system/fakeroot/default.nix b/pkgs/tools/system/fakeroot/default.nix
index 9764ae6ce0e4e..7995a656c1e3f 100644
--- a/pkgs/tools/system/fakeroot/default.nix
+++ b/pkgs/tools/system/fakeroot/default.nix
@@ -1,14 +1,15 @@
-{stdenv, fetchurl, utillinux}:
+{ stdenv, fetchurl, utillinux, libcap }:
 
 stdenv.mkDerivation rec {
-  name = "fakeroot-1.18.4";
+  version = "1.20.2";
+  name = "fakeroot-${version}";
 
   src = fetchurl {
-    url = https://launchpad.net/ubuntu/+archive/primary/+files/fakeroot_1.18.4.orig.tar.bz2;
-    sha256 = "18mydrz49n7ic7147pikkpdb96x00s9wisdk6hrc75ll7vx9wd8a";
+    url = "http://http.debian.net/debian/pool/main/f/fakeroot/fakeroot_${version}.orig.tar.bz2";
+    sha256 = "0313xb2j6a4wihrw9gfd4rnyqw7zzv6wf3rfh2gglgnv356ic2kw";
   };
 
-  buildInputs = [ utillinux /* provides getopt */ ];
+  buildInputs = [ utillinux /* provides getopt */ libcap ];
 
   postUnpack = ''
     for prog in getopt; do
diff --git a/pkgs/tools/system/fio/default.nix b/pkgs/tools/system/fio/default.nix
index 8589cbe923635..dccfbbcf747f9 100644
--- a/pkgs/tools/system/fio/default.nix
+++ b/pkgs/tools/system/fio/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, libaio, python, zlib }:
 
-let version = "2.2.10"; in
+let version = "2.2.11"; in
 
 stdenv.mkDerivation rec {
   name = "fio-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     owner = "axboe";
     repo = "fio";
     rev = "fio-${version}";
-    sha256 = "0hg72k8cifw6lc46kyiic7ai4gqn2819d6g998vmx01jnlcixp8q";
+    sha256 = "0g26xvbb60f96ks8q7jpap0xc2grb5j5w4m4glz910ndgf0s45wm";
   };
 
   buildInputs = [ libaio python zlib ];
diff --git a/pkgs/tools/system/gptfdisk/default.nix b/pkgs/tools/system/gptfdisk/default.nix
index 6551f27e77217..9306b0e84ccac 100644
--- a/pkgs/tools/system/gptfdisk/default.nix
+++ b/pkgs/tools/system/gptfdisk/default.nix
@@ -1,13 +1,28 @@
 { fetchurl, stdenv, libuuid, popt, icu, ncurses }:
 
+let version = "1.0.1"; in
 stdenv.mkDerivation rec {
-  name = "gptfdisk-1.0.0";
+  name = "gptfdisk-${version}";
 
   src = fetchurl {
+    # http://www.rodsbooks.com/gdisk/${name}.tar.gz also works, but the home
+    # page clearly implies a preference for using SourceForge's bandwidth:
     url = "mirror://sourceforge/gptfdisk/${name}.tar.gz";
-    sha256 = "0v0xl0mzwabdf9yisgsvkhpyi48kbik35c6df42gr6d78dkrarjv";
+    sha256 = "1izazbyv5n2d81qdym77i8mg9m870hiydmq4d0s51npx5vp8lk46";
   };
 
+  patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace Makefile.mac --replace \
+      "-mmacosx-version-min=10.4" "-mmacosx-version-min=10.6"
+    substituteInPlace Makefile.mac --replace \
+      " -arch i386" ""
+    substituteInPlace Makefile.mac --replace \
+      " -I/opt/local/include -I /usr/local/include -I/opt/local/include" ""
+    substituteInPlace Makefile.mac --replace \
+      "/opt/local/lib/libncurses.a" "${ncurses}/lib/libncurses.dylib"
+  '';
+
+  buildPhase = stdenv.lib.optionalString stdenv.isDarwin "make -f Makefile.mac";
   buildInputs = [ libuuid popt icu ncurses ];
 
   installPhase = ''
@@ -20,13 +35,12 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  meta = {
-    description = "A set of text-mode partitioning tools for Globally Unique Identifier (GUID) Partition Table (GPT) disks";
-
-    license = stdenv.lib.licenses.gpl2;
-
+  meta = with stdenv.lib; {
+    inherit version;
+    description = "Set of text-mode partitioning tools for Globally Unique Identifier (GUID) Partition Table (GPT) disks";
+    license = licenses.gpl2;
     homepage = http://www.rodsbooks.com/gdisk/;
-
-    platforms = stdenv.lib.platforms.linux;
+    maintainers = with maintainers; [ nckx ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/system/iops/default.nix b/pkgs/tools/system/iops/default.nix
index 300fe59a97df3..03c1c85ea84d9 100644
--- a/pkgs/tools/system/iops/default.nix
+++ b/pkgs/tools/system/iops/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.vanheusden.com/iops/;
     license = licenses.gpl2;
     maintainers = with maintainers; davidak;
-    platforms = with platforms; unix;
+    platforms = with platforms; linux; # build problems on Darwin
   };
 }
 
diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix
index 3ba17f9e7d2c7..5d3dbd861aa14 100644
--- a/pkgs/tools/system/rsyslog/default.nix
+++ b/pkgs/tools/system/rsyslog/default.nix
@@ -11,14 +11,14 @@ let
   mkFlag = cond: name: if cond then "--enable-${name}" else "--disable-${name}";
 in
 stdenv.mkDerivation rec {
-  name = "rsyslog-8.12.0";
+  name = "rsyslog-8.14.0";
 
   src = fetchurl {
     url = "http://www.rsyslog.com/files/download/rsyslog/${name}.tar.gz";
-    sha256 = "083yrgv7s5j7pfbk254lav15yyxsk04qhachxghrvs4nhangwss6";
+    sha256 = "1hp7ga543m6vhijcnjb4z8v26ddjgypk1lh6km1cvxc45cfmnfs4";
   };
 
-  patches = [ ./fix-gnutls-detection.patch ];
+  #patches = [ ./fix-gnutls-detection.patch ];
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
   buildInputs = [
diff --git a/pkgs/tools/system/s6-rc/default.nix b/pkgs/tools/system/s6-rc/default.nix
new file mode 100644
index 0000000000000..a3b244d875b6f
--- /dev/null
+++ b/pkgs/tools/system/s6-rc/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, execline, fetchgit, skalibs, s6 }:
+
+let
+
+  version = "0.0.1.0";
+
+in stdenv.mkDerivation rec {
+
+  name = "s6-rc-${version}";
+
+  src = fetchgit {
+    url = "git://git.skarnet.org/s6-rc";
+    rev = "refs/tags/v${version}";
+    sha256 = "02ppsda8pg7mph3r7lrh7dhi6ip99bgghsl3lf902cg9i4n50q6q";
+  };
+
+  dontDisableStatic = true;
+
+  enableParallelBuilding = true;
+
+  configureFlags = [
+    "--with-sysdeps=${skalibs}/lib/skalibs/sysdeps"
+    "--with-include=${skalibs}/include"
+    "--with-include=${execline}/include"
+    "--with-include=${s6}/include"
+    "--with-lib=${skalibs}/lib"
+    "--with-lib=${execline}/lib"
+    "--with-lib=${s6}/lib/s6"
+    "--with-dynlib=${skalibs}/lib"
+    "--with-dynlib=${execline}/lib"
+    "--with-dynlib=${s6}/lib"
+  ] ++ [ (if stdenv.isDarwin then "--disable-shared" else "--enable-shared") ];
+
+  meta = {
+    homepage = http://skarnet.org/software/s6-rc/;
+    description = "a service manager for s6-based systems";
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.isc;
+    maintainers = with stdenv.lib.maintainers; [ pmahoney ];
+  };
+
+}
diff --git a/pkgs/tools/system/s6/default.nix b/pkgs/tools/system/s6/default.nix
new file mode 100644
index 0000000000000..5e29c20339cf5
--- /dev/null
+++ b/pkgs/tools/system/s6/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, execline, fetchgit, skalibs }:
+
+let
+
+  version = "2.2.1.0";
+
+in stdenv.mkDerivation rec {
+
+  name = "s6-${version}";
+
+  src = fetchgit {
+    url = "git://git.skarnet.org/s6";
+    rev = "refs/tags/v${version}";
+    sha256 = "1g8gr3znxj8lyqpwrmgzh47yb64zldrvvvgpp1m4pb37k5k11bj9";
+  };
+
+  dontDisableStatic = true;
+
+  enableParallelBuilding = true;
+
+  configureFlags = [
+    "--with-sysdeps=${skalibs}/lib/skalibs/sysdeps"
+    "--with-include=${skalibs}/include"
+    "--with-include=${execline}/include"
+    "--with-lib=${skalibs}/lib"
+    "--with-lib=${execline}/lib"
+    "--with-dynlib=${skalibs}/lib"
+    "--with-dynlib=${execline}/lib"
+  ] ++ [ (if stdenv.isDarwin then "--disable-shared" else "--enable-shared") ];
+
+  preBuild = ''
+    substituteInPlace "src/daemontools-extras/s6-log.c" \
+      --replace '"execlineb"' '"${execline}/bin/execlineb"'
+  '';
+
+  meta = {
+    homepage = http://www.skarnet.org/software/s6/;
+    description = "skarnet.org's small & secure supervision software suite";
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.isc;
+    maintainers = with stdenv.lib.maintainers; [ pmahoney ];
+  };
+
+}
diff --git a/pkgs/tools/system/stress-ng/default.nix b/pkgs/tools/system/stress-ng/default.nix
index 58f6f81da3186..705fd5cb3c701 100644
--- a/pkgs/tools/system/stress-ng/default.nix
+++ b/pkgs/tools/system/stress-ng/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, attr, keyutils }:
 
 let
-  version = "0.04.20";
+  version = "0.04.21";
   name = "stress-ng-${version}";
 in stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
-    sha256 = "0zzlnqmld804h08iabhcrj3ggm5wiry9g2jrdr33cqp44lrw402v";
+    sha256 = "01308c31dx7ln7w3r74f18c473hz9236f118b27z1js94dsya0hw";
     url = "http://kernel.ubuntu.com/~cking/tarballs/stress-ng/${name}.tar.gz";
   };
 
diff --git a/pkgs/tools/text/ascii/default.nix b/pkgs/tools/text/ascii/default.nix
index 4557916451330..1dde1638b81d5 100644
--- a/pkgs/tools/text/ascii/default.nix
+++ b/pkgs/tools/text/ascii/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     description = "Interactive ASCII name and synonym chart";
     homepage = "http://www.catb.org/~esr/ascii/";
     license = licenses.bsd3;
-    platforms = platforms.linux;
+    platforms = platforms.all;
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/tools/text/gist/Gemfile.lock b/pkgs/tools/text/gist/Gemfile.lock
index a2d2659b69a09..7414da072ada0 100644
--- a/pkgs/tools/text/gist/Gemfile.lock
+++ b/pkgs/tools/text/gist/Gemfile.lock
@@ -1,7 +1,7 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    gist (4.3.0)
+    gist (4.4.2)
 
 PLATFORMS
   ruby
diff --git a/pkgs/tools/text/gist/default.nix b/pkgs/tools/text/gist/default.nix
index 0833fd6ce1868..223ba59eecbe3 100644
--- a/pkgs/tools/text/gist/default.nix
+++ b/pkgs/tools/text/gist/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, bundlerEnv }:
 
-let version = "4.3.0";
+let version = "4.4.2";
 in bundlerEnv {
   name = "gist-${version}";
   gemfile = ./Gemfile;
diff --git a/pkgs/tools/text/gist/gemset.nix b/pkgs/tools/text/gist/gemset.nix
index 7d207374fe3b7..961f96dcb97fa 100644
--- a/pkgs/tools/text/gist/gemset.nix
+++ b/pkgs/tools/text/gist/gemset.nix
@@ -1,9 +1,9 @@
 {
   "gist" = {
-    version = "4.3.0";
+    version = "4.4.2";
     source = {
       type = "gem";
-      sha256 = "0az6l8nq433sszailr7kglh21l3gkcb11k7ag6668nyxxplm9rp0";
+      sha256 = "0lr4rywpm549llk0ypdpb3sjdpqw9snzwzqc3dggg8qn5wj69k81";
     };
   };
 }
\ No newline at end of file
diff --git a/pkgs/tools/text/gnugrep/cve-2015-1345.patch b/pkgs/tools/text/gnugrep/cve-2015-1345.patch
deleted file mode 100644
index 7156f475e7e8d..0000000000000
--- a/pkgs/tools/text/gnugrep/cve-2015-1345.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 83a95bd8c8561875b948cadd417c653dbe7ef2e2 Mon Sep 17 00:00:00 2001
-From: Yuliy Pisetsky <ypisetsky@fb.com>
-Date: Thu, 01 Jan 2015 23:36:55 +0000
-Subject: grep -F: fix a heap buffer (read) overrun
-
-grep's read buffer is often filled to its full size, except when
-reading the final buffer of a file.  In that case, the number of
-bytes read may be far less than the size of the buffer.  However, for
-certain unusual pattern/text combinations, grep -F would mistakenly
-examine bytes in that uninitialized region of memory when searching
-for a match.  With carefully chosen inputs, one can cause grep -F to
-read beyond the end of that buffer altogether.  This problem arose via
-commit v2.18-90-g73893ff with the introduction of a more efficient
-heuristic using what is now the memchr_kwset function. The use of
-that function in bmexec_trans could leave TP much larger than EP,
-and the subsequent call to bm_delta2_search would mistakenly access
-beyond end of the main input read buffer.
-
-* src/kwset.c (bmexec_trans): When TP reaches or exceeds EP,
-do not call bm_delta2_search.
-* tests/kwset-abuse: New file.
-* tests/Makefile.am (TESTS): Add it.
-* THANKS.in: Update.
-* NEWS (Bug fixes): Mention it.
-
-Prior to this patch, this command would trigger a UMR:
-
-  printf %0360db 0 | valgrind src/grep -F $(printf %019dXb 0)
-
-  Use of uninitialised value of size 8
-     at 0x4142BE: bmexec_trans (kwset.c:657)
-     by 0x4143CA: bmexec (kwset.c:678)
-     by 0x414973: kwsexec (kwset.c:848)
-     by 0x414DC4: Fexecute (kwsearch.c:128)
-     by 0x404E2E: grepbuf (grep.c:1238)
-     by 0x4054BF: grep (grep.c:1417)
-     by 0x405CEB: grepdesc (grep.c:1645)
-     by 0x405EC1: grep_command_line_arg (grep.c:1692)
-     by 0x4077D4: main (grep.c:2570)
-
-See the accompanying test for how to trigger the heap buffer overrun.
-
-Thanks to Nima Aghdaii for testing and finding numerous
-ways to break early iterations of this patch.
-
-Nix: @vcunat restricted this to the runtime code only to avoid needing autoreconfiguration.
----
-diff --git a/src/kwset.c b/src/kwset.c
-index 4003c8d..376f7c3 100644
---- a/src/kwset.c
-+++ b/src/kwset.c
-@@ -643,6 +643,8 @@ bmexec_trans (kwset_t kwset, char const *text, size_t size)
-                     if (! tp)
-                       return -1;
-                     tp++;
-+                    if (ep <= tp)
-+                      break;
-                   }
-               }
-           }
diff --git a/pkgs/tools/text/gnugrep/default.nix b/pkgs/tools/text/gnugrep/default.nix
index 8a96f2ca863cb..d0259362df61d 100644
--- a/pkgs/tools/text/gnugrep/default.nix
+++ b/pkgs/tools/text/gnugrep/default.nix
@@ -1,20 +1,20 @@
-{ stdenv, fetchurl, xz, pcre, libiconv }:
+{ stdenv, fetchurl, pcre, libiconv, perl }:
 
-let version = "2.21"; in
+let version = "2.22"; in
 
 stdenv.mkDerivation {
   name = "gnugrep-${version}";
 
   src = fetchurl {
     url = "mirror://gnu/grep/grep-${version}.tar.xz";
-    sha256 = "1pp5n15qwxrw1pibwjhhgsibyv5cafhamf8lwzjygs6y00fa2i2j";
+    sha256 = "1srn321x7whlhs5ks36zlcrrmj4iahll8fxwsh1vbz3v04px54fa";
   };
 
-  patches = [ ./cve-2015-1345.patch ];
-
+  # Perl is needed for testing
+  nativeBuildInputs = [ perl ];
   outputs = [ "out" "info" ]; # the man pages are rather small
 
-  buildInputs = [ pcre xz.bin libiconv ];
+  buildInputs = [ pcre libiconv ];
 
   # cygwin: FAIL: multibyte-white-space
   doCheck = !stdenv.isDarwin && !stdenv.isCygwin;
diff --git a/pkgs/tools/text/tidy-html5/default.nix b/pkgs/tools/text/tidy-html5/default.nix
index e2651e2029380..ef3bcc46ba737 100644
--- a/pkgs/tools/text/tidy-html5/default.nix
+++ b/pkgs/tools/text/tidy-html5/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, cmake, fetchFromGitHub, ... }:
+{ stdenv, lib, cmake, fetchFromGitHub, libxslt, ... }:
 
 stdenv.mkDerivation rec {
 
@@ -12,12 +12,13 @@ stdenv.mkDerivation rec {
     sha256 = "0hd4c23352r5lnh23mx137wb4mkxcjdrl1dy8kgghszik5fprs3s";
   };
 
-  buildInputs = [ cmake ];
+  buildInputs = [ cmake libxslt ];
 
   meta = with stdenv.lib; {
     description = "The granddaddy of HTML tools, with support for modern standards";
     homepage = "http://www.html-tidy.org/";
     license = licenses.w3c;
+    platforms = platforms.all;
     maintainers = with maintainers; [ edwtjo ];
   };
 
diff --git a/pkgs/tools/typesetting/pdf2djvu/default.nix b/pkgs/tools/typesetting/pdf2djvu/default.nix
index eb8b30381ce26..5540a3fdca252 100644
--- a/pkgs/tools/typesetting/pdf2djvu/default.nix
+++ b/pkgs/tools/typesetting/pdf2djvu/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, djvulibre, poppler, fontconfig, libjpeg }:
 
 stdenv.mkDerivation rec {
-  version = "0.8.2";
+  version = "0.9.2";
   name = "pdf2djvu-${version}";
 
   src = fetchurl {
     url = "https://bitbucket.org/jwilk/pdf2djvu/downloads/${name}.tar.xz";
-    sha256 = "1mlkprbq02yyaqfdziif79i48rvgg195kfwdpl24fdsgjlp83c20";
+    sha256 = "0b1rbbxfa8qzggzwmq4m9wykrv5cl74688z95qq9lns35qz2j2b5";
   };
 
   buildInputs = [ pkgconfig djvulibre poppler fontconfig libjpeg ];
diff --git a/pkgs/tools/typesetting/tex/texlive-new/combine.nix b/pkgs/tools/typesetting/tex/texlive-new/combine.nix
index 2c9119b934f83..e69c6ec425c3c 100644
--- a/pkgs/tools/typesetting/tex/texlive-new/combine.nix
+++ b/pkgs/tools/typesetting/tex/texlive-new/combine.nix
@@ -82,21 +82,21 @@ in buildEnv {
     # updmap.cfg seems like not needing changes
 
     # now filter hyphenation patterns, in a hacky way ATM
-  ''
+  (let script =
+    writeText "hyphens.sed" (
+      lib.concatMapStrings (pkg: "/^\% from ${pkg.pname}/,/^\%/p;\n") pkgList.splitBin.wrong
+      + "1,/^\% from/p;" );
+  in ''
     (
-      local script='${
-        lib.concatMapStrings (pkg: "/^\% from ${pkg.pname}/,/^\%/p;\n")
-          pkgList.splitBin.wrong
-      } 1,/^\% from/p;'
       cd ./share/texmf/tex/generic/config/
       for fname in language.dat language.def; do
         [ -e $fname ] || continue;
         cnfOrig="$(realpath ./$fname)"
         rm ./$fname
-        cat "$cnfOrig" | sed -n "$script" > ./$fname
+        cat "$cnfOrig" | sed -n -f '${script}' > ./$fname
       done
     )
-  '' +
+  '') +
 
   # function to wrap created executables with required env vars
   ''
diff --git a/pkgs/tools/typesetting/tex/texlive-new/default.nix b/pkgs/tools/typesetting/tex/texlive-new/default.nix
index c8b2a414fa310..a084c973b780e 100644
--- a/pkgs/tools/typesetting/tex/texlive-new/default.nix
+++ b/pkgs/tools/typesetting/tex/texlive-new/default.nix
@@ -24,7 +24,7 @@
     * in case of any bugs or feature requests, file a github issue and /cc @vcunat
 */
 
-{ stdenv, lib, fetchurl, runCommand, buildEnv
+{ stdenv, lib, fetchurl, runCommand, writeText, buildEnv
 , callPackage, ghostscriptX, harfbuzz, poppler_min
 , makeWrapper, perl, python, ruby
 , useFixedHashes ? true
@@ -48,7 +48,8 @@ let
 
   # function for creating a working environment from a set of TL packages
   combine = import ./combine.nix {
-    inherit bin combinePkgs buildEnv fastUnique lib makeWrapper perl stdenv python ruby;
+    inherit bin combinePkgs buildEnv fastUnique lib makeWrapper writeText
+      perl stdenv python ruby;
   };
 
   # the set of TeX Live packages, collections, and schemes; using upstream naming