about summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/X11/ckbcomp/default.nix2
-rw-r--r--pkgs/tools/X11/screen-message/default.nix9
-rw-r--r--pkgs/tools/admin/nxproxy/default.nix21
-rw-r--r--pkgs/tools/admin/webdruid/default.nix30
-rw-r--r--pkgs/tools/admin/webdruid/src-for-default.nix8
-rw-r--r--pkgs/tools/admin/webdruid/src-info-for-default.nix7
-rw-r--r--pkgs/tools/archivers/runzip/default.nix17
-rw-r--r--pkgs/tools/archivers/zip/default.nix2
-rw-r--r--pkgs/tools/audio/beets/default.nix55
-rw-r--r--pkgs/tools/backup/b2/default.nix30
-rw-r--r--pkgs/tools/backup/borg/default.nix27
-rw-r--r--pkgs/tools/backup/duplicity/default.nix4
-rw-r--r--pkgs/tools/backup/obnam/default.nix4
-rw-r--r--pkgs/tools/bluetooth/blueman/default.nix68
-rw-r--r--pkgs/tools/bluetooth/bluez-tools/default.nix24
-rw-r--r--pkgs/tools/bluetooth/obexfs/default.nix11
-rw-r--r--pkgs/tools/bluetooth/obexftp/default.nix18
-rw-r--r--pkgs/tools/bluetooth/openobex/default.nix12
-rw-r--r--pkgs/tools/cd-dvd/bashburn/default.nix64
-rw-r--r--pkgs/tools/cd-dvd/cuetools/default.nix4
-rw-r--r--pkgs/tools/cd-dvd/dvdisaster/default.nix3
-rw-r--r--pkgs/tools/compression/brotli/default.nix47
-rw-r--r--pkgs/tools/compression/bzip2/default.nix26
-rw-r--r--pkgs/tools/compression/lz4/default.nix3
-rw-r--r--pkgs/tools/compression/xdelta/default.nix5
-rw-r--r--pkgs/tools/compression/xdelta/unstable.nix5
-rw-r--r--pkgs/tools/compression/zopfli/default.nix3
-rw-r--r--pkgs/tools/compression/zstd/default.nix45
-rw-r--r--pkgs/tools/filesystems/boxfs/default.nix5
-rw-r--r--pkgs/tools/filesystems/ceph/0001-Cleanup-boost-optionals.patch42
-rw-r--r--pkgs/tools/filesystems/ceph/boost-158.patch27
-rw-r--r--pkgs/tools/filesystems/ceph/fix-pgrefdebugging.patch17
-rw-r--r--pkgs/tools/filesystems/darling-dmg/default.nix24
-rw-r--r--pkgs/tools/filesystems/duff/default.nix9
-rw-r--r--pkgs/tools/filesystems/encfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/exfat/default.nix3
-rw-r--r--pkgs/tools/filesystems/glusterfs/default.nix8
-rw-r--r--pkgs/tools/filesystems/gpart/default.nix3
-rw-r--r--pkgs/tools/filesystems/hfsprogs/default.nix45
-rw-r--r--pkgs/tools/filesystems/mp3fs/default.nix2
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/blivet.patch12
-rw-r--r--pkgs/tools/filesystems/sshfs-fuse/default.nix2
-rw-r--r--pkgs/tools/graphics/asymptote/default.nix26
-rw-r--r--pkgs/tools/graphics/cuneiform/default.nix37
-rw-r--r--pkgs/tools/graphics/scanbd/default.nix57
-rw-r--r--pkgs/tools/graphics/scrot/default.nix23
-rw-r--r--pkgs/tools/graphics/vips/default.nix4
-rw-r--r--pkgs/tools/graphics/welkin/default.nix68
-rw-r--r--pkgs/tools/graphics/xcftools/default.nix39
-rw-r--r--pkgs/tools/inputmethods/m17n-db/default.nix24
-rw-r--r--pkgs/tools/inputmethods/m17n-lib/default.nix19
-rw-r--r--pkgs/tools/inputmethods/uim/default.nix6
-rw-r--r--pkgs/tools/misc/bibutils/default.nix25
-rw-r--r--pkgs/tools/misc/clex/default.nix10
-rw-r--r--pkgs/tools/misc/cpulimit/default.nix2
-rw-r--r--pkgs/tools/misc/cpuminer/default.nix4
-rw-r--r--pkgs/tools/misc/debian-devscripts/default.nix4
-rw-r--r--pkgs/tools/misc/debootstrap/subst.patch190
-rw-r--r--pkgs/tools/misc/dvtm/default.nix4
-rw-r--r--pkgs/tools/misc/exa/default.nix38
-rw-r--r--pkgs/tools/misc/gnokii/default.nix34
-rw-r--r--pkgs/tools/misc/gnokii/src-for-default.nix9
-rw-r--r--pkgs/tools/misc/gnokii/src-info-for-default.nix4
-rw-r--r--pkgs/tools/misc/gparted/default.nix6
-rw-r--r--pkgs/tools/misc/grub/default.nix11
-rw-r--r--pkgs/tools/misc/heimdall/default.nix61
-rw-r--r--pkgs/tools/misc/homesick/Gemfile3
-rw-r--r--pkgs/tools/misc/homesick/Gemfile.lock15
-rw-r--r--pkgs/tools/misc/homesick/default.nix28
-rw-r--r--pkgs/tools/misc/homesick/gemset.nix16
-rw-r--r--pkgs/tools/misc/ipad_charge/default.nix3
-rw-r--r--pkgs/tools/misc/mdbtools/git.nix19
-rw-r--r--pkgs/tools/misc/ms-sys/default.nix3
-rw-r--r--pkgs/tools/misc/parallel/default.nix4
-rw-r--r--pkgs/tools/misc/progress/default.nix7
-rw-r--r--pkgs/tools/misc/riemann-c-client/default.nix7
-rw-r--r--pkgs/tools/misc/rrdtool/default.nix5
-rw-r--r--pkgs/tools/misc/snapper/default.nix51
-rw-r--r--pkgs/tools/misc/svtplay-dl/default.nix4
-rw-r--r--pkgs/tools/misc/system-config-printer/default.nix27
-rw-r--r--pkgs/tools/misc/system-config-printer/detect_serverbindir.patch17
-rw-r--r--pkgs/tools/misc/tldr/default.nix5
-rw-r--r--pkgs/tools/misc/trash-cli/default.nix2
-rw-r--r--pkgs/tools/misc/vdirsyncer/default.nix9
-rw-r--r--pkgs/tools/misc/xclip/default.nix11
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix6
-rw-r--r--pkgs/tools/networking/altermime/default.nix54
-rw-r--r--pkgs/tools/networking/babeld/default.nix6
-rw-r--r--pkgs/tools/networking/biosdevname/default.nix18
-rw-r--r--pkgs/tools/networking/cmst/default.nix16
-rw-r--r--pkgs/tools/networking/connman/default.nix4
-rw-r--r--pkgs/tools/networking/curl/7.15.nix6
-rw-r--r--pkgs/tools/networking/curl/default.nix20
-rw-r--r--pkgs/tools/networking/dhcping/default.nix7
-rw-r--r--pkgs/tools/networking/driftnet/default.nix11
-rw-r--r--pkgs/tools/networking/dropbear/default.nix2
-rw-r--r--pkgs/tools/networking/easyrsa/2.x.nix46
-rw-r--r--pkgs/tools/networking/email/default.nix40
-rw-r--r--pkgs/tools/networking/getmail/default.nix4
-rw-r--r--pkgs/tools/networking/hans/default.nix29
-rw-r--r--pkgs/tools/networking/httping/default.nix2
-rw-r--r--pkgs/tools/networking/i2pd/default.nix4
-rw-r--r--pkgs/tools/networking/ip2location/default.nix5
-rw-r--r--pkgs/tools/networking/ipv6calc/default.nix3
-rw-r--r--pkgs/tools/networking/isync/isync-recursice-imap.patch114
-rw-r--r--pkgs/tools/networking/minissdpd/default.nix7
-rw-r--r--pkgs/tools/networking/miniupnpd/default.nix10
-rw-r--r--pkgs/tools/networking/mtr/edd425.patch218
-rw-r--r--pkgs/tools/networking/mu/default.nix18
-rw-r--r--pkgs/tools/networking/nethogs/default.nix2
-rw-r--r--pkgs/tools/networking/netsniff-ng/default.nix5
-rw-r--r--pkgs/tools/networking/ntp/no-openssl.patch161
-rw-r--r--pkgs/tools/networking/openssh/default.nix15
-rw-r--r--pkgs/tools/networking/openssh/disable-roaming.patch51
-rw-r--r--pkgs/tools/networking/openssh/openssh-6.9p1-security-7.0.patch65
-rw-r--r--pkgs/tools/networking/p2p/tahoe-lafs/default.nix26
-rw-r--r--pkgs/tools/networking/par2cmdline/default.nix6
-rw-r--r--pkgs/tools/networking/pcapc/default.nix3
-rw-r--r--pkgs/tools/networking/pdnsd/default.nix2
-rw-r--r--pkgs/tools/networking/pingtcp/default.nix5
-rw-r--r--pkgs/tools/networking/privoxy/default.nix10
-rw-r--r--pkgs/tools/networking/sipsak/default.nix25
-rw-r--r--pkgs/tools/networking/unbound/default.nix12
-rw-r--r--pkgs/tools/package-management/disnix/DisnixWebService/default.nix6
-rw-r--r--pkgs/tools/package-management/disnix/default.nix10
-rw-r--r--pkgs/tools/package-management/disnix/disnixos/default.nix6
-rw-r--r--pkgs/tools/package-management/disnix/dysnomia/default.nix6
-rw-r--r--pkgs/tools/package-management/dpkg/default.nix5
-rw-r--r--pkgs/tools/package-management/nix/default.nix37
-rw-r--r--pkgs/tools/package-management/packagekit/default.nix5
-rw-r--r--pkgs/tools/security/bruteforce-luks/default.nix36
-rw-r--r--pkgs/tools/security/cipherscan/default.nix43
-rw-r--r--pkgs/tools/security/cipherscan/path.patch93
-rw-r--r--pkgs/tools/security/eid-mw/default.nix7
-rw-r--r--pkgs/tools/security/eid-viewer/default.nix3
-rw-r--r--pkgs/tools/security/gnupg/21.nix6
-rw-r--r--pkgs/tools/security/gnupg/gpgkey2ssh-21.patch13
-rw-r--r--pkgs/tools/security/haka/default.nix34
-rw-r--r--pkgs/tools/security/pass/default.nix4
-rw-r--r--pkgs/tools/security/pass/program-name.patch13
-rw-r--r--pkgs/tools/security/rarcrack/default.nix39
-rw-r--r--pkgs/tools/security/sshuttle/default.nix3
-rw-r--r--pkgs/tools/security/tor/torbrowser.nix6
-rw-r--r--pkgs/tools/system/foremost/default.nix3
-rw-r--r--pkgs/tools/system/gptfdisk/default.nix3
-rw-r--r--pkgs/tools/system/lr/default.nix26
-rw-r--r--pkgs/tools/system/nq/default.nix25
-rw-r--r--pkgs/tools/system/stress-ng/default.nix7
-rw-r--r--pkgs/tools/system/suid-chroot/default.nix3
-rw-r--r--pkgs/tools/system/xe/default.nix20
-rw-r--r--pkgs/tools/text/aha/default.nix5
-rw-r--r--pkgs/tools/text/colordiff/default.nix2
-rw-r--r--pkgs/tools/text/popfile/default.nix71
-rw-r--r--pkgs/tools/text/recode/default.nix10
-rw-r--r--pkgs/tools/text/yaml-merge/default.nix28
-rw-r--r--pkgs/tools/typesetting/git-latexdiff/default.nix36
-rw-r--r--pkgs/tools/typesetting/git-latexdiff/shebang.patch10
-rw-r--r--pkgs/tools/typesetting/git-latexdiff/version-test.patch17
-rw-r--r--pkgs/tools/typesetting/odpdown/default.nix33
-rw-r--r--pkgs/tools/typesetting/tex/disser/default.nix55
-rw-r--r--pkgs/tools/virtualization/azure-cli/node-packages.nix701
161 files changed, 2185 insertions, 1981 deletions
diff --git a/pkgs/tools/X11/ckbcomp/default.nix b/pkgs/tools/X11/ckbcomp/default.nix
index 474486b6d6ce..87161a6442a4 100644
--- a/pkgs/tools/X11/ckbcomp/default.nix
+++ b/pkgs/tools/X11/ckbcomp/default.nix
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
     homepage = http://anonscm.debian.org/cgit/d-i/console-setup.git;
     license = licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [ dezgeg ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/X11/screen-message/default.nix b/pkgs/tools/X11/screen-message/default.nix
index 977a82230a52..87487442ada9 100644
--- a/pkgs/tools/X11/screen-message/default.nix
+++ b/pkgs/tools/X11/screen-message/default.nix
@@ -1,11 +1,12 @@
-{ stdenv, fetchdarcs, autoreconfHook, pkgconfig, gtk3 }:
+{ stdenv, fetchgit, autoreconfHook, pkgconfig, gtk3 }:
 
 stdenv.mkDerivation {
   name = "screen-message-0.23";
 
-  src = fetchdarcs {
-    url = "http://darcs.nomeata.de/screen-message.debian";
-    rev = "0.23-1";
+  srcs = fetchgit {
+    url = "git://git.nomeata.de/darcs-mirror-screen-message.debian.git";
+    rev = "refs/tags/0_23-1";
+    sha256 = "fddddd28703676b2908af71cca7225e6c7bdb15b2fdfd67679cac129028a431c";
   };
 
   buildInputs = [ autoreconfHook pkgconfig gtk3 ];
diff --git a/pkgs/tools/admin/nxproxy/default.nix b/pkgs/tools/admin/nxproxy/default.nix
index 70e1b55984dd..42bd284e73f2 100644
--- a/pkgs/tools/admin/nxproxy/default.nix
+++ b/pkgs/tools/admin/nxproxy/default.nix
@@ -1,23 +1,14 @@
 { stdenv, fetchurl, autoreconfHook, libxcomp }:
 
-let version = "3.5.0.32"; in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "nxproxy-${version}";
+  version = "3.5.0.32";
 
   src = fetchurl {
     sha256 = "02n5bdc1jsq999agb4w6dmdj5l2wlln2lka84qz6rpswwc59zaxm";
     url = "http://code.x2go.org/releases/source/nx-libs/nx-libs-${version}-lite.tar.gz";
   };
 
-  meta = with stdenv.lib; {
-    inherit version;
-    description = "NX compression proxy";
-    homepage = "http://wiki.x2go.org/doku.php/wiki:libs:nx-libs";
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ nckx ];
-  };
-
   buildInputs = [ libxcomp ];
   nativeBuildInputs = [ autoreconfHook ];
 
@@ -28,4 +19,12 @@ stdenv.mkDerivation {
   makeFlags = [ "exec_prefix=$(out)" ];
 
   enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "NX compression proxy";
+    homepage = "http://wiki.x2go.org/doku.php/wiki:libs:nx-libs";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ nckx ];
+  };
 }
diff --git a/pkgs/tools/admin/webdruid/default.nix b/pkgs/tools/admin/webdruid/default.nix
deleted file mode 100644
index ee4dabf78e78..000000000000
--- a/pkgs/tools/admin/webdruid/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-a @ { zlib, libpng, freetype, gd, which, libxml2, geoip, ... } :
-let
-  s = import ./src-for-default.nix;
-  buildInputs = with a; [
-    zlib libpng freetype gd which libxml2
-    geoip
-  ];
-in
-rec {
-  src = a.fetchUrlFromSrcInfo s;
-
-  inherit (s) name;
-  inherit buildInputs;
-  configureFlags = [];
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall" "doLinks"];
-
-  doLinks = a.fullDepEntry (''
-    ln -s shared_en.xsl $out/share/webdruid/classic/shared.xsl
-  '') ["minInit"];
-
-  meta = {
-    description = "A web log analyzer";
-    maintainers = [
-      a.lib.maintainers.raskin
-    ];
-    platforms = a.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/tools/admin/webdruid/src-for-default.nix b/pkgs/tools/admin/webdruid/src-for-default.nix
deleted file mode 100644
index 73102be6afe5..000000000000
--- a/pkgs/tools/admin/webdruid/src-for-default.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-rec {
-  advertisedUrl="http://downloads.sourceforge.net/webdruid/files/webdruid/0.6.0-alpha5/webdruid-0.6.0-alpha5.tar.gz";
-  version = "0.6.0-alpha5";
-  url="mirror://sourceforge/webdruid/webdruid-${version}.tar.gz";
-  hash = "1aiqffccayvf02snl9la62zqb1674cp4rv19af6xyxgvw4334hw0";
-  name = "webdruid-0.6.0-alpha5";
-  
-}
diff --git a/pkgs/tools/admin/webdruid/src-info-for-default.nix b/pkgs/tools/admin/webdruid/src-info-for-default.nix
deleted file mode 100644
index 9a4eff296828..000000000000
--- a/pkgs/tools/admin/webdruid/src-info-for-default.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  downloadPage = "http://sourceforge.net/projects/webdruid/files/";
-  choiceCommand = ''head -1 | sed -re "$skipRedirectSF"'';
-  versionExtractorSedScript = ''$extractReleaseSF'';
-  versionReferenceCreator = ''s@$version@\''${version}@g'';
-  baseName = "webdruid";
-}
diff --git a/pkgs/tools/archivers/runzip/default.nix b/pkgs/tools/archivers/runzip/default.nix
index 9b2fd0eda594..1ed453f0d4f8 100644
--- a/pkgs/tools/archivers/runzip/default.nix
+++ b/pkgs/tools/archivers/runzip/default.nix
@@ -1,21 +1,20 @@
-{stdenv, fetchFromGitHub, libzip, autoconf, automake, libtool, m4}:
+{ stdenv, fetchFromGitHub, libzip, autoreconfHook }:
+
 stdenv.mkDerivation rec {
-  baseName = "runzip";
   version = "1.4";
-  name = "${baseName}-${version}";
-  buildInputs = [libzip autoconf automake libtool m4];
+  name = "runzip-${version}";
+
+  buildInputs = [ libzip autoreconfHook ];
+
   src = fetchFromGitHub {
     owner = "vlm";
     repo = "zip-fix-filename-encoding";
     rev = "v${version}";
     sha256 = "0l5zbb5hswxczigvyal877j0aiq3fc01j3gv88bvy7ikyvw3lc07";
   };
-  preConfigure = ''
-    autoreconf -iv
-  '';
+
   meta = {
-    inherit version;
-    description = ''A tool to convert filename encoding inside a ZIP archive'';
+    description = "A tool to convert filename encoding inside a ZIP archive";
     license = stdenv.lib.licenses.bsd2 ;
     maintainers = [stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/tools/archivers/zip/default.nix b/pkgs/tools/archivers/zip/default.nix
index 585bc72ad967..431ed354d21c 100644
--- a/pkgs/tools/archivers/zip/default.nix
+++ b/pkgs/tools/archivers/zip/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, enableNLS ? true, libnatspec ? null, libiconv }:
+{ stdenv, fetchurl, enableNLS ? false, libnatspec ? null, libiconv }:
 
 assert enableNLS -> libnatspec != null;
 
diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix
index 35a69262acde..91407331d7ca 100644
--- a/pkgs/tools/audio/beets/default.nix
+++ b/pkgs/tools/audio/beets/default.nix
@@ -1,16 +1,18 @@
 { stdenv, fetchFromGitHub, writeScript, glibcLocales
 , buildPythonPackage, pythonPackages, python, imagemagick
 
-, enableAcoustid   ? true
-, enableBadfiles   ? true, flac ? null, mp3val ? null
-, enableDiscogs    ? true
-, enableEchonest   ? true
-, enableFetchart   ? true
-, enableLastfm     ? true
-, enableMpd        ? true
-, enableReplaygain ? true, bs1770gain ? null
-, enableThumbnails ? true
-, enableWeb        ? true
+, enableAcousticbrainz ? true
+, enableAcoustid       ? true
+, enableBadfiles       ? true, flac ? null, mp3val ? null
+, enableDiscogs        ? true
+, enableEchonest       ? true
+, enableEmbyupdate     ? true
+, enableFetchart       ? true
+, enableLastfm         ? true
+, enableMpd            ? true
+, enableReplaygain     ? true, bs1770gain ? null
+, enableThumbnails     ? true
+, enableWeb            ? true
 
 # External plugins
 , enableAlternatives ? false
@@ -33,10 +35,12 @@ with stdenv.lib;
 
 let
   optionalPlugins = {
+    acousticbrainz = enableAcousticbrainz;
     badfiles = enableBadfiles;
     chroma = enableAcoustid;
     discogs = enableDiscogs;
     echonest = enableEchonest;
+    embyupdate = enableEmbyupdate;
     fetchart = enableFetchart;
     lastgenre = enableLastfm;
     lastimport = enableLastfm;
@@ -48,10 +52,10 @@ let
   };
 
   pluginsWithoutDeps = [
-    "bench" "bpd" "bpm" "bucket" "convert" "cue" "duplicates" "embedart"
+    "bench" "bpd" "bpm" "bucket" "convert" "cue" "duplicates" "edit" "embedart"
     "filefilter" "freedesktop" "fromfilename" "ftintitle" "fuzzy" "ihate"
     "importadded" "importfeeds" "info" "inline" "ipfs" "keyfinder" "lyrics"
-    "mbcollection" "mbsync" "metasync" "missing" "permissions" "play"
+    "mbcollection" "mbsubmit" "mbsync" "metasync" "missing" "permissions" "play"
     "plexupdate" "random" "rewrite" "scrub" "smartplaylist" "spotify" "the"
     "types" "zero"
   ];
@@ -66,14 +70,14 @@ let
 
 in buildPythonPackage rec {
   name = "beets-${version}";
-  version = "1.3.15";
+  version = "1.3.17";
   namePrefix = "";
 
   src = fetchFromGitHub {
     owner = "sampsyo";
     repo = "beets";
     rev = "v${version}";
-    sha256 = "17mbkilqqkxxa8ra8b4zlsax712jb0nfkvcx9iyq9303rqwv5sx2";
+    sha256 = "1fskxx5xxjqf4xmfjrinh7idjiq6qncb24hiyccv09l47fr1yipc";
   };
 
   propagatedBuildInputs = [
@@ -87,14 +91,17 @@ in buildPythonPackage rec {
     pythonPackages.unidecode
     python.modules.sqlite3
     python.modules.readline
-  ] ++ optional enableAcoustid   pythonPackages.pyacoustid
-    ++ optional enableFetchart   pythonPackages.requests2
-    ++ optional enableDiscogs    pythonPackages.discogs_client
-    ++ optional enableEchonest   pythonPackages.pyechonest
-    ++ optional enableLastfm     pythonPackages.pylast
-    ++ optional enableMpd        pythonPackages.mpd
-    ++ optional enableThumbnails pythonPackages.pyxdg
-    ++ optional enableWeb        pythonPackages.flask
+  ] ++ optional enableAcoustid     pythonPackages.pyacoustid
+    ++ optional (enableFetchart
+              || enableEmbyupdate
+              || enableAcousticbrainz)
+                                   pythonPackages.requests2
+    ++ optional enableDiscogs      pythonPackages.discogs_client
+    ++ optional enableEchonest     pythonPackages.pyechonest
+    ++ optional enableLastfm       pythonPackages.pylast
+    ++ optional enableMpd          pythonPackages.mpd
+    ++ optional enableThumbnails   pythonPackages.pyxdg
+    ++ optional enableWeb          pythonPackages.flask
     ++ optional enableAlternatives (import ./alternatives-plugin.nix {
       inherit stdenv buildPythonPackage pythonPackages fetchFromGitHub;
     });
@@ -114,7 +121,7 @@ in buildPythonPackage rec {
 
   postPatch = ''
     sed -i -e '/assertIn.*item.*path/d' test/test_info.py
-    echo echo completion tests passed > test/test_completion.sh
+    echo echo completion tests passed > test/rsrc/test_completion.sh
 
     sed -i -e '/^BASH_COMPLETION_PATHS *=/,/^])$/ {
       /^])$/i u"${completion}"
@@ -186,7 +193,7 @@ in buildPythonPackage rec {
     description = "Music tagger and library organizer";
     homepage = http://beets.radbox.org;
     license = licenses.mit;
-    maintainers = with maintainers; [ aszlig iElectric pjones ];
+    maintainers = with maintainers; [ aszlig iElectric pjones profpatsch ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/backup/b2/default.nix b/pkgs/tools/backup/b2/default.nix
new file mode 100644
index 000000000000..15a48b765798
--- /dev/null
+++ b/pkgs/tools/backup/b2/default.nix
@@ -0,0 +1,30 @@
+{ fetchFromGitHub, pythonPackages, stdenv }:
+
+stdenv.mkDerivation rec {
+  name = "b2-${version}";
+  version = "git-26.01.2016";
+
+  src = fetchFromGitHub {
+    owner = "Backblaze";
+    repo = "B2_Command_Line_Tool";
+    rev = "b3f06fd53eb1c9a07740b962284753cba413a7b8";
+    sha256 = "0kn2lkh8hp6g8q88glyz03z1r8a47pqm91dc5w083i334swqkjp2";
+  };
+
+  buildInputs = [ pythonPackages.wrapPython ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp b2 $out/bin
+  '';
+
+  postInstall = "wrapPythonPrograms";
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/Backblaze/B2_Command_Line_Tool;
+    description = "CLI for accessing Backblaze's B2 Cloud Storage";
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ hrdinka ];
+  };
+}
diff --git a/pkgs/tools/backup/borg/default.nix b/pkgs/tools/backup/borg/default.nix
index a68a5a7313e5..1ea8095bd38c 100644
--- a/pkgs/tools/backup/borg/default.nix
+++ b/pkgs/tools/backup/borg/default.nix
@@ -1,23 +1,40 @@
-{ stdenv, fetchurl, python3Packages, openssl, acl, lz4 }:
+{ stdenv, fetchurl, python3Packages, acl, lz4, openssl }:
 
 python3Packages.buildPythonPackage rec {
   name = "borgbackup-${version}";
-  version = "0.29.0";
+  version = "0.30.0";
   namePrefix = "";
 
   src = fetchurl {
     url = "https://pypi.python.org/packages/source/b/borgbackup/borgbackup-${version}.tar.gz";
-    sha256 = "1gvx036a7j16hd5rg8cr3ibiig7gwqhmddrilsakcw4wnfimjy5m";
+    sha256 = "0n78c982kdfqbyi9jawcvzgdik4l36c2s7rpzkfr1ka6506k2rx4";
   };
 
-  propagatedBuildInputs = with python3Packages;
-    [ cython msgpack openssl acl llfuse tox detox lz4 setuptools_scm ];
+  nativeBuildInputs = with python3Packages; [
+    # For building documentation:
+    sphinx
+  ];
+  propagatedBuildInputs = [
+    acl lz4 openssl
+  ] ++ (with python3Packages; [
+    cython msgpack llfuse tox detox setuptools_scm
+  ]);
 
   preConfigure = ''
     export BORG_OPENSSL_PREFIX="${openssl}"
     export BORG_LZ4_PREFIX="${lz4}"
   '';
 
+  postInstall = ''
+    make -C docs singlehtml
+    mkdir -p $out/share/doc/borg
+    cp -R docs/_build/singlehtml $out/share/doc/borg/html
+
+    make -C docs man
+    mkdir -p $out/share/man
+    cp -R docs/_build/man $out/share/man/man1
+  '';
+
   meta = with stdenv.lib; {
     description = "A deduplicating backup program (attic fork)";
     homepage = https://borgbackup.github.io/;
diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix
index 556b96512009..ea58ca3f8c1c 100644
--- a/pkgs/tools/backup/duplicity/default.nix
+++ b/pkgs/tools/backup/duplicity/default.nix
@@ -3,14 +3,14 @@
 }:
 
 let
-  version = "0.7.02";
+  version = "0.7.06";
 in
 stdenv.mkDerivation {
   name = "duplicity-${version}";
 
   src = fetchurl {
     url = "http://code.launchpad.net/duplicity/0.7-series/${version}/+download/duplicity-${version}.tar.gz";
-    sha256 = "0fh3xl4xc7cpi7iam34qd0ndqp1641kfw2609yp40lr78fx65530";
+    sha256 = "133zdi1rbiacvzjys7q3vjm7x84kmr51bsgs037rjhw9vdg5jx80";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/backup/obnam/default.nix b/pkgs/tools/backup/obnam/default.nix
index a861d4c8f77b..c287efe8e112 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.18.2";
+  version = "1.19.1";
 
   namePrefix = "";
 
   src = fetchurl rec {
     url = "http://code.liw.fi/debian/pool/main/o/obnam/obnam_${version}.orig.tar.xz";
-    sha256 = "185pjd77lnq99x2sskpl7n6h25z0v069575l4qz206npsywbypnb";
+    sha256 = "096abbvz2c9vm8r7zm82yqrd7zj04pb1xzlv6z0dspkngd0cfdqc";
   };
 
   buildInputs = [ pythonPackages.sphinx attr ];
diff --git a/pkgs/tools/bluetooth/blueman/default.nix b/pkgs/tools/bluetooth/blueman/default.nix
index 5330dfb82bd2..82d9f085f78e 100644
--- a/pkgs/tools/bluetooth/blueman/default.nix
+++ b/pkgs/tools/bluetooth/blueman/default.nix
@@ -1,43 +1,49 @@
-{ stdenv, fetchurl, pkgconfig, intltool, python, pyrex, pygobject, pygtk
-, notify, pythonDBus, bluez, glib, gtk, libstartup_notification
-, makeWrapper, xdg_utils, obex_data_server
-, libpulseaudio
-}:
-   
-stdenv.mkDerivation rec {
-  name = "blueman-1.23";
+{ stdenv, lib, fetchurl, intltool, pkgconfig, pythonPackages, bluez, polkit, gtk3
+, obex_data_server, xdg_utils, libnotify, dconf
+, withPulseAudio ? true, libpulseaudio }:
+
+let
+  binPath = lib.makeBinPath [ xdg_utils ];
+
+in stdenv.mkDerivation rec {
+  name = "blueman-${version}";
+  version = "2.0.3";
    
   src = fetchurl {
-    url = "http://download.tuxfamily.org/blueman/${name}.tar.gz";
-    sha256 = "04ghlh4h5bwp9mqr5jxcmjm01595l5fq5561qxvf369fvjy63cjh";
+    url = "https://github.com/blueman-project/blueman/releases/download/${version}/${name}.tar.xz";
+    sha256 = "09aqlk4c2qzqpmyf7b40sic7d45c1l8fyrb9f3s22b8w83j0adi4";
   };
 
-  configureFlags = "--disable-polkit";
+  nativeBuildInputs = [ intltool pkgconfig pythonPackages.wrapPython pythonPackages.cython ];
+
+  buildInputs = [ bluez gtk3 pythonPackages.python libnotify dconf ]
+                ++ pythonPath
+                ++ lib.optional withPulseAudio libpulseaudio;
+
+  postPatch = lib.optionalString withPulseAudio ''
+    sed -i 's,CDLL(",CDLL("${libpulseaudio}/lib/,g' blueman/main/PulseAudioUtils.py
+  '';
 
-  buildInputs =
-    [ pkgconfig intltool python pyrex pygobject pygtk notify pythonDBus
-      bluez glib gtk libstartup_notification makeWrapper
-    ];
+  pythonPath = with pythonPackages; [ dbus pygobject3 ];
 
-  # !!! Ugly.
-  PYTHONPATH = "${pygobject}/lib/${python.libPrefix}/site-packages/gtk-2.0:${pygtk}/lib/${python.libPrefix}/site-packages/gtk-2.0:${notify}/lib/${python.libPrefix}/site-packages/gtk-2.0";
+  propagatedUserEnvPkgs = [ obex_data_server ];
 
-  postInstall =
-    ''
-      # Create wrappers that set the environment correctly.
-      for i in $out/bin/* $out/libexec/*; do
-          wrapProgram $i \
-              --set PYTHONPATH "$(toPythonPath $out):$PYTHONPATH" \
-              --set LD_LIBRARY_PATH "${libpulseaudio}/lib:" \
-              --prefix PATH : ${xdg_utils}/bin
-      done
+  configureFlags = [ (lib.enableFeature withPulseAudio "pulseaudio") ];
 
-      mkdir -p $out/nix-support
-      echo ${obex_data_server} > $out/nix-support/propagated-user-env-packages
-    ''; # */
+  postFixup = ''
+    makeWrapperArgs="\
+      --prefix PATH ':' ${binPath} \
+      --prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH \
+      --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \
+      --prefix GIO_EXTRA_MODULES : ${dconf}/lib/gio/modules"
+    wrapPythonPrograms
+  '';
 
-  meta = {
-    homepage = http://blueman-project.org/;
+  meta = with lib; {
+    homepage = https://github.com/blueman-project;
     description = "GTK+-based Bluetooth Manager";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
   };
 }
diff --git a/pkgs/tools/bluetooth/bluez-tools/default.nix b/pkgs/tools/bluetooth/bluez-tools/default.nix
new file mode 100644
index 000000000000..4469ba67b3b8
--- /dev/null
+++ b/pkgs/tools/bluetooth/bluez-tools/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, autoconf, automake, glib, pkgconfig, readline, fetchgit }:
+
+stdenv.mkDerivation rec {
+  date    = "2015-09-10";
+  name    = "bluez-tools-${date}";
+  rev     = "193ad6bb3db";
+
+  src = fetchgit {
+    inherit rev;
+    url    = "https://github.com/khvzak/bluez-tools.git";
+    sha256 = "3f264d14ba8ef1b0d3c45e621a5c685035a60d789da64f64d25055047f45c55b";
+  };
+  preConfigure = ''
+    ./autogen.sh
+  '';
+  buildInputs = [ stdenv autoconf automake glib pkgconfig readline ];
+
+  meta = with stdenv.lib; {
+    description = "Command line bluetooth manager for Bluez5";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ maintainers.dasuxullebt ];
+  };
+
+}
diff --git a/pkgs/tools/bluetooth/obexfs/default.nix b/pkgs/tools/bluetooth/obexfs/default.nix
index aeeeb4bf8d0a..94c011152da6 100644
--- a/pkgs/tools/bluetooth/obexfs/default.nix
+++ b/pkgs/tools/bluetooth/obexfs/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, pkgconfig, fuse, obexftp}:
+{ stdenv, fetchurl, pkgconfig, fuse, obexftp }:
    
 stdenv.mkDerivation rec {
   name = "obexfs-0.12";
@@ -8,12 +8,13 @@ stdenv.mkDerivation rec {
     sha256 = "1g3krpygk6swa47vbmp9j9s8ahqqcl9ra8r25ybgzv2d9pmjm9kj";
   };
 
-  buildInputs = [pkgconfig fuse obexftp];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ fuse obexftp ];
 
-  NIX_LDFLAGS = "-lobexftp";
-
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://dev.zuckschwerdt.org/openobex/wiki/ObexFs;
     description = "A tool to mount OBEX-based devices (such as Bluetooth phones)";
+    platforms = platforms.linux;
+    license = licenses.lgpl2Plus;
   };
 }
diff --git a/pkgs/tools/bluetooth/obexftp/default.nix b/pkgs/tools/bluetooth/obexftp/default.nix
index 4a40b4393c37..12b021d5d3b3 100644
--- a/pkgs/tools/bluetooth/obexftp/default.nix
+++ b/pkgs/tools/bluetooth/obexftp/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, pkgconfig, openobex, bluez, cmake}:
+{ stdenv, fetchurl, pkgconfig, openobex, bluez, cmake }:
    
 stdenv.mkDerivation rec {
   name = "obexftp-0.24";
@@ -8,13 +8,21 @@ stdenv.mkDerivation rec {
     sha256 = "0szy7p3y75bd5h4af0j5kf0fpzx2w560fpy4kg3603mz11b9c1xr";
   };
 
-  buildInputs = [pkgconfig bluez cmake];
+  nativeBuildInputs = [ pkgconfig cmake ];
 
-  propagatedBuildInputs = [openobex];
+  buildInputs = [ bluez ];
 
-  meta = {
+  propagatedBuildInputs = [ openobex ];
+
+  # There's no such thing like "bluetooth" library; possibly they meant "bluez" but it links correctly without this.
+  postFixup = ''
+    sed -i 's,^Requires: bluetooth,Requires:,' $out/lib/pkgconfig/obexftp.pc
+  '';
+
+  meta = with stdenv.lib; {
     homepage = http://dev.zuckschwerdt.org/openobex/wiki/ObexFtp;
     description = "A library and tool to access files on OBEX-based devices (such as Bluetooth phones)";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    license = licenses.lgpl2Plus;
   };
 }
diff --git a/pkgs/tools/bluetooth/openobex/default.nix b/pkgs/tools/bluetooth/openobex/default.nix
index 7baf1ac3ed98..ec5ca0706f49 100644
--- a/pkgs/tools/bluetooth/openobex/default.nix
+++ b/pkgs/tools/bluetooth/openobex/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, pkgconfig, bluez, libusb, cmake}:
+{ stdenv, fetchurl, pkgconfig, bluez, libusb, cmake }:
    
 stdenv.mkDerivation rec {
   name = "openobex-1.7.1";
@@ -8,18 +8,20 @@ stdenv.mkDerivation rec {
     sha256 = "0mza0mrdrbcw4yix6qvl31kqy7bdkgxjycr0yx7yl089v5jlc9iv";
   };
 
-  buildInputs = [pkgconfig bluez libusb cmake];
+  nativeBuildInputs = [ pkgconfig cmake ];
+  buildInputs = [ bluez libusb ];
 
-  configureFlags = "--enable-apps";
+  configureFlags = [ "--enable-apps" ];
 
   patchPhase = ''
     sed -i "s!/lib/udev!$out/lib/udev!" udev/CMakeLists.txt
     sed -i "/if ( PKGCONFIG_UDEV_FOUND )/,/endif ( PKGCONFIG_UDEV_FOUND )/d" udev/CMakeLists.txt
     '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://dev.zuckschwerdt.org/openobex/;
     description = "An open source implementation of the Object Exchange (OBEX) protocol";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    license = licenses.lgpl2Plus;
   };
 }
diff --git a/pkgs/tools/cd-dvd/bashburn/default.nix b/pkgs/tools/cd-dvd/bashburn/default.nix
new file mode 100644
index 000000000000..5d4ed2414c79
--- /dev/null
+++ b/pkgs/tools/cd-dvd/bashburn/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchurl, utillinux
+, cdparanoia, cdrdao, dvdplusrwtools, flac, lame, mpg123, normalize
+, vorbis-tools, xorriso }:
+
+stdenv.mkDerivation rec {
+  name = "bashburn-${version}";
+  version = "3.1.0";
+
+  src = fetchurl {
+    sha256 = "0g5va5rjdrvacanmqr6pbxk2rl565ahkfbsvxsp1jvhvxvhmv3dp";
+    url = "http://bashburn.dose.se/index.php?s=file_download&id=25";
+    name = "${name}.tar.gz";
+  };
+
+  nativeBuildInputs = [ utillinux ];
+
+  postPatch = ''
+    for path in \
+      BB_CDBURNCMD=${xorriso}/bin/"xorriso -as cdrecord" \
+      BB_DVDBURNCMD=${dvdplusrwtools}/bin/growisofs \
+      BB_ISOCMD=${xorriso}/bin/"xorriso -as mkisofs" \
+      BB_DVDBLANK=${dvdplusrwtools}/bin/dvd+rw-format \
+      BB_CDIMAGECMD=${cdrdao}/bin/cdrdao \
+      BB_CDAUDIORIP=${cdparanoia}/bin/cdparanoia \
+      BB_READCD=${xorriso}/bin/"xorriso -as mkisofs" \
+      BB_MP3ENC=${lame}/bin/lame \
+      BB_MP3DEC=${mpg123}/bin/mpg123 \
+      BB_OGGENC=${vorbis-tools}/bin/oggenc \
+      BB_OGGDEC=${vorbis-tools}/bin/oggdec \
+      BB_FLACCMD=${flac}/bin/flac \
+      BB_EJECT=${utillinux}/bin/eject \
+      BB_NORMCMD=${normalize}/bin/normalize \
+    ; do
+      echo $path
+      sed -i BashBurn.sh \
+        -e "s,\(''${path%%=*}:\).*,\1 ''${path#*=},"
+      sed -i menus/advanced.sh \
+        -e "s,\(''${path%%=*}|\).*\('.*\),\1''${path#*=}\2,"
+    done
+  '';
+
+  installPhase = ''
+    sh Install.sh --prefix $out
+  '';
+
+  meta = with stdenv.lib; {
+    description = "bash script CD Burner Writer";
+    longDescription = ''
+      It might not be the best looking application out there, but it works.
+      It’s simple, fast and small, and can handle most things you throw at it.
+      Currently (and with the right dependencies installed), BashBurn can:
+      - burn data CDs/DVDs (Including CDRWs)
+      - burn music CDs
+      - burn CD/DVD-images
+      - rip data/music CDs
+      - manipulate ISO-files
+      - and probably more...
+    '';
+    homepage = http://bashburn.dose.se/;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+}
diff --git a/pkgs/tools/cd-dvd/cuetools/default.nix b/pkgs/tools/cd-dvd/cuetools/default.nix
index bf876d52d45a..d600f2804004 100644
--- a/pkgs/tools/cd-dvd/cuetools/default.nix
+++ b/pkgs/tools/cd-dvd/cuetools/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, autoreconfHook
-, bison, flac, flex, id3v2, vorbisTools
+, bison, flac, flex, id3v2, vorbis-tools
 }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook ];
 
-  buildInputs = [ bison flac flex id3v2 vorbisTools ];
+  buildInputs = [ bison flac flex id3v2 vorbis-tools ];
 
   meta = with stdenv.lib; {
     description = "A set of utilities for working with cue files and toc files";
diff --git a/pkgs/tools/cd-dvd/dvdisaster/default.nix b/pkgs/tools/cd-dvd/dvdisaster/default.nix
index a98ce2088bd0..7cb1bf7506da 100644
--- a/pkgs/tools/cd-dvd/dvdisaster/default.nix
+++ b/pkgs/tools/cd-dvd/dvdisaster/default.nix
@@ -3,9 +3,9 @@
 , enableSoftening ? true
 }:
 
-let version = "0.79.5"; in
 stdenv.mkDerivation rec {
   name = "dvdisaster-${version}";
+  version = "0.79.5";
 
   src = fetchurl {
     url = "http://dvdisaster.net/downloads/${name}.tar.bz2";
@@ -70,7 +70,6 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    inherit version;
     homepage = http://dvdisaster.net/;
     description = "Data loss/scratch/aging protection for CD/DVD media";
     longDescription = ''
diff --git a/pkgs/tools/compression/brotli/default.nix b/pkgs/tools/compression/brotli/default.nix
new file mode 100644
index 000000000000..eac4af0ec5f0
--- /dev/null
+++ b/pkgs/tools/compression/brotli/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchFromGitHub }:
+
+# ?TODO: there's also python lib in there
+
+stdenv.mkDerivation rec {
+  name = "brotli-${version}";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "brotli";
+    rev = "v" + version;
+    sha256 = "1ijwr8fbrajp4gh8x6lrrpf8gymm0i6w06s97rv294q5dcszn299";
+  };
+
+  preConfigure = "cd tools";
+
+  # Debian installs "brotli" instead of "bro" but let's keep upstream choice for now.
+  installPhase = ''
+    mkdir -p "$out/bin"
+    mv ./bro "$out/bin/"
+  '';
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+
+    description = "A generic-purpose lossless compression algorithm and tool";
+
+    longDescription =
+      ''  Brotli is a generic-purpose lossless compression algorithm that
+          compresses data using a combination of a modern variant of the LZ77
+          algorithm, Huffman coding and 2nd order context modeling, with a
+          compression ratio comparable to the best currently available
+          general-purpose compression methods. It is similar in speed with
+          deflate but offers more dense compression.
+
+          The specification of the Brotli Compressed Data Format is defined
+          in the following internet draft:
+          http://www.ietf.org/id/draft-alakuijala-brotli
+      '';
+
+    license = licenses.mit;
+    maintainers = [ maintainers.vcunat ];
+    platforms = platforms.all;
+  };
+}
+
diff --git a/pkgs/tools/compression/bzip2/default.nix b/pkgs/tools/compression/bzip2/default.nix
index bb04049d8a66..66ff5612dd4a 100644
--- a/pkgs/tools/compression/bzip2/default.nix
+++ b/pkgs/tools/compression/bzip2/default.nix
@@ -3,9 +3,13 @@
 let
   version = "1.0.6";
 
-  sharedLibrary = !stdenv.isDarwin && !(stdenv ? isStatic)
+  sharedLibrary = !(stdenv ? isStatic)
                && stdenv.system != "i686-cygwin" && !linkStatic;
 
+  darwinMakefile = fetchurl {
+    url    = "https://gitweb.gentoo.org/repo/proj/prefix.git/plain/app-arch/bzip2/files/bzip2-1.0.6-Makefile-libbz2_dylib";
+    sha256 = "1lq6g98kfpwv2f7wn4sk8hzcf87dwf92gviq0b4691f5bvc9mawz";
+  };
 in stdenv.mkDerivation {
   name = "bzip2-${version}";
 
@@ -38,17 +42,24 @@ in stdenv.mkDerivation {
   };
 
   preBuild = stdenv.lib.optionalString sharedLibrary ''
-    make -f Makefile-libbz2_so
+    make -f ${if stdenv.isDarwin then "Makefile-libbz2_dylib" else "Makefile-libbz2_so"}
   '';
 
-  preInstall = stdenv.lib.optionalString sharedLibrary ''
+  preInstall = stdenv.lib.optionalString sharedLibrary (if !stdenv.isDarwin then ''
     mkdir -p $out/lib
     mv libbz2.so* $out/lib
     ( cd $out/lib &&
       ln -s libbz2.so.1.0.? libbz2.so &&
       ln -s libbz2.so.1.0.? libbz2.so.1
     )
-  '';
+  '' else ''
+    mkdir -p $out/lib
+    mv libbz2.*.dylib $out/lib
+    ( cd $out/lib &&
+      ln -s libbz2.1.0.?.dylib libbz2.dylib &&
+      ln -s libbz2.1.0.?.dylib libbz2.1.dylib
+    )
+  '');
 
   installFlags = [ "PREFIX=$(out)" ];
 
@@ -58,9 +69,14 @@ in stdenv.mkDerivation {
     ln -s bzip2 $out/bin/bzcat
   '';
 
-  patchPhase = ''
+  postPatch = ''
     substituteInPlace Makefile --replace CC=gcc CC=cc
     substituteInPlace Makefile-libbz2_so --replace CC=gcc CC=cc
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    cp ${darwinMakefile} Makefile-libbz2_dylib
+    substituteInPlace Makefile-libbz2_dylib \
+      --replace "CC=gcc" "CC=cc" \
+      --replace "PREFIX=/usr" "PREFIX=$out"
   '';
 
   preConfigure = ''
diff --git a/pkgs/tools/compression/lz4/default.nix b/pkgs/tools/compression/lz4/default.nix
index 13236da5ab44..8340ea3fe8b0 100644
--- a/pkgs/tools/compression/lz4/default.nix
+++ b/pkgs/tools/compression/lz4/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, valgrind }:
 
-let version = "131"; in
 stdenv.mkDerivation rec {
   name = "lz4-${version}";
+  version = "131";
 
   src = fetchFromGitHub {
     sha256 = "1bhvcq8fxxsqnpg5qa6k3nsyhq0nl0iarh08sqzclww27hlpyay2";
@@ -23,7 +23,6 @@ stdenv.mkDerivation rec {
   patches = [ ./install-on-freebsd.patch ] ;
 
   meta = with stdenv.lib; {
-    inherit version;
     description = "Extremely fast compression algorithm";
     longDescription = ''
       Very fast lossless compression algorithm, providing compression speed
diff --git a/pkgs/tools/compression/xdelta/default.nix b/pkgs/tools/compression/xdelta/default.nix
index 396099df41cc..8bc5e464ee74 100644
--- a/pkgs/tools/compression/xdelta/default.nix
+++ b/pkgs/tools/compression/xdelta/default.nix
@@ -5,12 +5,12 @@
 assert lzmaSupport -> xz != null;
 
 let
-  version = "3.0.11";
   mkWith = flag: name: if flag
     then "--with-${name}"
     else "--without-${name}";
-in stdenv.mkDerivation {
+in stdenv.mkDerivation rec {
   name = "xdelta-${version}";
+  version = "3.0.11";
 
   src = fetchFromGitHub {
     sha256 = "1c7xym7xr26phyf4wb9hh2w88ybzbzh2w3h1kyqq3da0ndidmf2r";
@@ -48,7 +48,6 @@ in stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    inherit version;
     description = "Binary differential compression in VCDIFF (RFC 3284) format";
     longDescription = ''
       xdelta is a command line program for delta encoding, which generates two
diff --git a/pkgs/tools/compression/xdelta/unstable.nix b/pkgs/tools/compression/xdelta/unstable.nix
index a19fb4de68a4..dd7277c4e8fb 100644
--- a/pkgs/tools/compression/xdelta/unstable.nix
+++ b/pkgs/tools/compression/xdelta/unstable.nix
@@ -5,12 +5,12 @@
 assert lzmaSupport -> xz != null;
 
 let
-  version = "3.1.0";
   mkWith = flag: name: if flag
     then "--with-${name}"
     else "--without-${name}";
-in stdenv.mkDerivation {
+in stdenv.mkDerivation rec {
   name = "xdelta-${version}";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     sha256 = "09mmsalc7dwlvgrda56s2k927rpl3a5dzfa88aslkqcjnr790wjy";
@@ -52,7 +52,6 @@ in stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    inherit version;
     description = "Binary differential compression in VCDIFF (RFC 3284) format";
     longDescription = ''
       xdelta is a command line program for delta encoding, which generates two
diff --git a/pkgs/tools/compression/zopfli/default.nix b/pkgs/tools/compression/zopfli/default.nix
index 3c455ca5635f..8aeeb3b9e516 100644
--- a/pkgs/tools/compression/zopfli/default.nix
+++ b/pkgs/tools/compression/zopfli/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, fetchpatch }:
 
-let version = "1.0.1"; in
 stdenv.mkDerivation rec {
   name = "zopfli-${version}";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "google";
@@ -45,7 +45,6 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    inherit version;
     inherit (src.meta) homepage;
     description = "Very good, but slow, deflate or zlib compression";
     longDescription = ''
diff --git a/pkgs/tools/compression/zstd/default.nix b/pkgs/tools/compression/zstd/default.nix
new file mode 100644
index 000000000000..e095b2d4e073
--- /dev/null
+++ b/pkgs/tools/compression/zstd/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchFromGitHub
+, legacySupport ? false }:
+
+stdenv.mkDerivation rec {
+  name = "zstd-${version}";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    sha256 = "18jwhvzj3kv8lpr6fgild7a574lsak93fc1z8nvhcdbc1b1n2dsj";
+    rev = "v${version}";
+    repo = "zstd";
+    owner = "Cyan4973";
+  };
+
+  # The Makefiles don't properly use file targets, but blindly rebuild
+  # all dependencies on every make invocation. So no nice phases. :-(
+  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
+
+  makeFlags = [
+    "ZSTD_LEGACY_SUPPORT=${if legacySupport then "1" else "0"}"
+  ];
+
+  installFlags = [
+    "PREFIX=$(out)"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Zstandard real-time compression algorithm";
+    longDescription = ''
+      Zstd, short for Zstandard, is a fast lossless compression algorithm,
+      targeting real-time compression scenarios at zlib-level compression
+      ratio. Zstd can also offer stronger compression ratio at the cost of
+      compression speed. Speed/ratio trade-off is configurable by small
+      increment, to fit different situations. Note however that decompression
+      speed is preserved and remain roughly the same at all settings, a
+      property shared by most LZ compression algorithms, such as zlib. 
+    '';
+    homepage = http://www.zstd.net/;
+    # The licence of the CLI programme is GPLv2+, that of the library BSD-2.
+    license = with licenses; [ gpl2Plus bsd2 ];
+
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+}
diff --git a/pkgs/tools/filesystems/boxfs/default.nix b/pkgs/tools/filesystems/boxfs/default.nix
index 3c8c1b6e1809..99a118160b7e 100644
--- a/pkgs/tools/filesystems/boxfs/default.nix
+++ b/pkgs/tools/filesystems/boxfs/default.nix
@@ -1,7 +1,6 @@
 { stdenv, fetchFromGitHub, curl, fuse, libxml2, pkgconfig }:
 
 let
-  version = "2-20150109";
   srcs = {
     boxfs2 = fetchFromGitHub {
       sha256 = "10af1l3sjnh25shmq5gdnpyqk4vrq7i1zklv4csf1n2nrahln8j8";
@@ -22,8 +21,9 @@ let
       owner = "vincenthz";
     };
   };
-in stdenv.mkDerivation {
+in stdenv.mkDerivation rec {
   name = "boxfs-${version}";
+  version = "2-20150109";
 
   src = srcs.boxfs2;
 
@@ -45,7 +45,6 @@ in stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    inherit version;
     description = "FUSE file system for box.com accounts";
     longDescription = ''
       Store files on box.com (an account is required). The first time you run
diff --git a/pkgs/tools/filesystems/ceph/0001-Cleanup-boost-optionals.patch b/pkgs/tools/filesystems/ceph/0001-Cleanup-boost-optionals.patch
deleted file mode 100644
index a99e16ddc266..000000000000
--- a/pkgs/tools/filesystems/ceph/0001-Cleanup-boost-optionals.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 2507ab33236f0da12899fbcdd36535f7c7b68a06 Mon Sep 17 00:00:00 2001
-From: "William A. Kennington III" <william@wkennington.com>
-Date: Sat, 20 Sep 2014 22:52:31 -0700
-Subject: [PATCH] Cleanup boost optionals
-
----
- src/osd/ECBackend.cc    | 2 +-
- src/osd/ReplicatedPG.cc | 5 ++++-
- 2 files changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/src/osd/ECBackend.cc b/src/osd/ECBackend.cc
-index a87b5b4..c386900 100644
---- a/src/osd/ECBackend.cc
-+++ b/src/osd/ECBackend.cc
-@@ -81,7 +81,7 @@ ostream &operator<<(ostream &lhs, const ECBackend::read_result_t &rhs)
-   lhs << "read_result_t(r=" << rhs.r
-       << ", errors=" << rhs.errors;
-   if (rhs.attrs) {
--    lhs << ", attrs=" << rhs.attrs;
-+    lhs << ", attrs=" << rhs.attrs.get();
-   } else {
-     lhs << ", noattrs";
-   }
-diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc
-index 5e5510d..79e8616 100644
---- a/src/osd/ReplicatedPG.cc
-+++ b/src/osd/ReplicatedPG.cc
-@@ -5259,7 +5259,10 @@ void ReplicatedPG::do_osd_op_effects(OpContext *ctx)
-   for (list<OpContext::NotifyAck>::iterator p = ctx->notify_acks.begin();
-        p != ctx->notify_acks.end();
-        ++p) {
--    dout(10) << "notify_ack " << make_pair(p->watch_cookie, p->notify_id) << dendl;
-+    if (p->watch_cookie)
-+      dout(10) << "notify_ack " << make_pair(p->watch_cookie.get(), p->notify_id) << dendl;
-+    else
-+      dout(10) << "notify_ack " << make_pair("NULL", p->notify_id) << dendl;
-     for (map<pair<uint64_t, entity_name_t>, WatchRef>::iterator i =
- 	   ctx->obc->watchers.begin();
- 	 i != ctx->obc->watchers.end();
--- 
-2.1.0
-
diff --git a/pkgs/tools/filesystems/ceph/boost-158.patch b/pkgs/tools/filesystems/ceph/boost-158.patch
deleted file mode 100644
index 11a1d55c4948..000000000000
--- a/pkgs/tools/filesystems/ceph/boost-158.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From e7b196a4a091c0ea258866559ba06e7ed0cc4247 Mon Sep 17 00:00:00 2001
-From: Kefu Chai <kchai@redhat.com>
-Date: Fri, 8 May 2015 15:21:20 +0800
-Subject: [PATCH] mon: remove unused variable
-
-* as a side effect, this change silences
-  http://tracker.ceph.com/issues/11576
-
-Fixes: #11576
-Signed-off-by: Kefu Chai <kchai@redhat.com>
----
- src/mon/OSDMonitor.cc | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc
-index 73dcd5f..7caaa45 100644
---- a/src/mon/OSDMonitor.cc
-+++ b/src/mon/OSDMonitor.cc
-@@ -3174,8 +3174,6 @@ bool OSDMonitor::preprocess_command(MMonCommand *m)
-   } else if (prefix == "osd crush get-tunable") {
-     string tunable;
-     cmd_getval(g_ceph_context, cmdmap, "tunable", tunable);
--    int value;
--    cmd_getval(g_ceph_context, cmdmap, "value", value);
-     ostringstream rss;
-     if (f)
-       f->open_object_section("tunable");
diff --git a/pkgs/tools/filesystems/ceph/fix-pgrefdebugging.patch b/pkgs/tools/filesystems/ceph/fix-pgrefdebugging.patch
deleted file mode 100644
index 4d13a0572d87..000000000000
--- a/pkgs/tools/filesystems/ceph/fix-pgrefdebugging.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 38ab682..febb58e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -541,8 +541,10 @@ fi
- #set pg ref debugging?
- AC_ARG_ENABLE([pgrefdebugging],
- 	    [AS_HELP_STRING([--enable-pgrefdebugging], [enable pg ref debugging])],
--			[AC_DEFINE([PG_DEBUG_REFS], [1], [Defined if you want pg ref debugging])],
--			[])
-+			[], [enable_pgrefdebugging=no])
-+AS_IF([test "x$enable_pgrefdebugging" = "xyes"],
-+	  [AC_DEFINE([PG_DEBUG_REFS], [1], [Defined if you want pg ref debugging])],
-+	  [])
- 
- #
- # Java is painful
diff --git a/pkgs/tools/filesystems/darling-dmg/default.nix b/pkgs/tools/filesystems/darling-dmg/default.nix
new file mode 100644
index 000000000000..74e7686a3d17
--- /dev/null
+++ b/pkgs/tools/filesystems/darling-dmg/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, cmake, fuse, zlib, bzip2, openssl, libxml2, icu } :
+
+stdenv.mkDerivation rec {
+  name = "darling-dmg-${version}";
+  version = "1.0.4";
+
+  src = fetchFromGitHub {
+    owner = "darlinghq";
+    repo = "darling-dmg";
+    rev = "v${version}";
+    sha256 = "0x285p16zfnp0p6injw1frc8krif748sfgxhdd7gb75kz0dfbkrk";
+  };
+
+  buildInputs = [ cmake fuse openssl zlib bzip2 libxml2 icu ];
+
+  cmakeConfigureFlagFlags = ["-DCMAKE_BUILD_TYPE=RELEASE"];
+
+  meta = {
+    homepage = http://www.darlinghq.org/;
+    description = "Darling lets you open OS X dmgs on Linux";
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl3;
+  };
+}
diff --git a/pkgs/tools/filesystems/duff/default.nix b/pkgs/tools/filesystems/duff/default.nix
index 1c4d068c4c13..078c80a8b703 100644
--- a/pkgs/tools/filesystems/duff/default.nix
+++ b/pkgs/tools/filesystems/duff/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchFromGitHub, autoreconfHook, gettext }:
 
-# The last release (0.5.2) is more than 2 years old and lacks features like -D,
-# limiting its usefulness. Upstream appears comatose if not dead.
-let version = "2014-07-03"; in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "duff-${version}";
+  # The last release (0.5.2) is more than 2 years old and lacks features like -D,
+  # limiting its usefulness. Upstream appears comatose if not dead.
+  version = "2014-07-03";
 
   src = fetchFromGitHub {
     sha256 = "1k2dx38pjzc5d624vw1cs5ipj9fprsm5vqv55agksc29m63lswnx";
@@ -28,7 +28,6 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    inherit version;
     description = "Quickly find duplicate files";
     longDescription = ''
       Duff is a Unix command-line utility for quickly finding duplicates in
diff --git a/pkgs/tools/filesystems/encfs/default.nix b/pkgs/tools/filesystems/encfs/default.nix
index b21054e478df..158050f6291e 100644
--- a/pkgs/tools/filesystems/encfs/default.nix
+++ b/pkgs/tools/filesystems/encfs/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchFromGitHub, autoreconfHook, boost, fuse, openssl, perl
 , pkgconfig, rlog }:
 
-let version = "1.8.1"; in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "encfs-${version}";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     sha256 = "1cxihqwpnqbzy8qz0134199pwfnd7ikr2835p5p1yzqnl203wcdb";
diff --git a/pkgs/tools/filesystems/exfat/default.nix b/pkgs/tools/filesystems/exfat/default.nix
index 507c5e7a6c0e..7c483c9258a6 100644
--- a/pkgs/tools/filesystems/exfat/default.nix
+++ b/pkgs/tools/filesystems/exfat/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, fuse }:
 
-let version = "1.2.3"; in
 stdenv.mkDerivation rec {
   name = "exfat-${version}";
+  version = "1.2.3";
 
   src = fetchFromGitHub {
     sha256 = "147s11sqmn5flbvz2hwpl6kdfqi2gnm1c2nsn5fxygyw7qyhpzda";
@@ -15,7 +15,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
 
   meta = with stdenv.lib; {
-    inherit version;
     inherit (src.meta) homepage;
     description = "Free exFAT file system implementation";
     platforms = platforms.linux;
diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix
index 2563c4428a4c..7fd56e7dd7f8 100644
--- a/pkgs/tools/filesystems/glusterfs/default.nix
+++ b/pkgs/tools/filesystems/glusterfs/default.nix
@@ -6,11 +6,11 @@ let
   s = # Generated upstream information 
   rec {
     baseName="glusterfs";
-    version="3.7.6";
+    version="3.7.8";
     name="${baseName}-${version}";
-    hash="01fg132k4gvvx5p0bi88956yzd77pcnw3iyi88vrsncmpnvg10xv";
-    url="http://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.6/glusterfs-3.7.6.tar.gz";
-    sha256="01fg132k4gvvx5p0bi88956yzd77pcnw3iyi88vrsncmpnvg10xv";
+    hash="0r5l8ax1gavhl06k30lg88xs8fj7w6iyd69s5qq5fw1jvavkx709";
+    url="http://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.8/glusterfs-3.7.8.tar.gz";
+    sha256="0r5l8ax1gavhl06k30lg88xs8fj7w6iyd69s5qq5fw1jvavkx709";
   };
   buildInputs = [
     fuse bison flex_2_5_35 openssl python ncurses readline
diff --git a/pkgs/tools/filesystems/gpart/default.nix b/pkgs/tools/filesystems/gpart/default.nix
index 359ef16c2b84..dfa6fe3234c2 100644
--- a/pkgs/tools/filesystems/gpart/default.nix
+++ b/pkgs/tools/filesystems/gpart/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, autoreconfHook }:
 
-let version = "0.3"; in
 stdenv.mkDerivation rec {
   name = "gpart-${version}";
+  version = "0.3";
 
   # GitHub repository 'collating patches for gpart from all distributions':
   src = fetchFromGitHub {
@@ -19,7 +19,6 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = with stdenv.lib; {
-    inherit version;
     inherit (src.meta) homepage;
     description = "Guess PC-type hard disk partitions";
     longDescription = ''
diff --git a/pkgs/tools/filesystems/hfsprogs/default.nix b/pkgs/tools/filesystems/hfsprogs/default.nix
new file mode 100644
index 000000000000..25ec31ea698a
--- /dev/null
+++ b/pkgs/tools/filesystems/hfsprogs/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchurl, openssl, libbsd }:
+
+let version = "332.25";
+    package_name = "hfsprogs"; in
+stdenv.mkDerivation rec {
+  name = "${package_name}-${version}";
+  srcs = [
+    (fetchurl {
+      url = "http://ftp.de.debian.org/debian/pool/main/h/hfsprogs/${package_name}_${version}-11.debian.tar.gz";
+      sha256 = "62d9b8599c66ebffbc57ce5d776e20b41341130d9b27341d63bda08460ebde7c";
+    })
+    (fetchurl {
+      url = "https://opensource.apple.com/tarballs/diskdev_cmds/diskdev_cmds-${version}.tar.gz";
+      sha256 = "74c9aeca899ed7f4bf155c65fc45bf0f250c0f6d57360ea953b1d536d9aa45e6";
+    })
+  ];
+
+  sourceRoot = "diskdev_cmds-" + version;
+  patches = [ "../debian/patches/*.patch" ];
+
+  buildInputs = [ openssl libbsd ];
+  makefile = "Makefile.lnx";
+
+  # Inspired by PKGBUILD of https://www.archlinux.org/packages/community/x86_64/hfsprogs/
+  installPhase = ''
+    # Create required package directories
+    install -m 755 -d "$out/bin"
+    install -m 755 -d "$out/share/${package_name}"
+    install -m 755 -d "$out/share/man/man8/"
+    # Copy executables
+    install -m 755 "newfs_hfs.tproj/newfs_hfs" "$out/bin/mkfs.hfsplus"
+    install -m 755 "fsck_hfs.tproj/fsck_hfs" "$out/bin/fsck.hfsplus"
+    # Copy shared data
+    install -m 644 "newfs_hfs.tproj/hfsbootdata.img" "$out/share/${package_name}/hfsbootdata"
+    # Copy man pages
+    install -m 644 "newfs_hfs.tproj/newfs_hfs.8" "$out/share/man/man8/mkfs.hfsplus.8"
+    install -m 644 "fsck_hfs.tproj/fsck_hfs.8" "$out/share/man/man8/fsck.hfsplus.8"
+  '';
+
+  meta = {
+    description = "HFS/HFS+ user space utils";
+    license = stdenv.lib.licenses.apsl20;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/filesystems/mp3fs/default.nix b/pkgs/tools/filesystems/mp3fs/default.nix
index 3b6b3c919cd7..77207cb8b3a1 100644
--- a/pkgs/tools/filesystems/mp3fs/default.nix
+++ b/pkgs/tools/filesystems/mp3fs/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, flac, fuse, lame, libid3tag, pkgconfig }:
 
-let version = "0.91"; in
 stdenv.mkDerivation rec {
   name = "mp3fs-${version}";
+  version = "0.91";
 
   src = fetchurl {
     url = "https://github.com/khenriks/mp3fs/releases/download/v${version}/${name}.tar.gz";
diff --git a/pkgs/tools/filesystems/nixpart/0.4/blivet.patch b/pkgs/tools/filesystems/nixpart/0.4/blivet.patch
index 1758d18442d2..d53231a84fd6 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/blivet.patch
+++ b/pkgs/tools/filesystems/nixpart/0.4/blivet.patch
@@ -37,3 +37,15 @@ index 705b93d..7268d71 100644
  
  # load the udev library
  libudev = CDLL(libudev)
+diff --git a/blivet/deviceaction.py b/blivet/deviceaction.py
+index 705b93d..60f8f32 100644
+--- a/blivet/deviceaction.py
++++ b/blivet/deviceaction.py
+@@ -467,6 +467,7 @@ def execute(self):
+ 
+                 self.device.disk.format.commitToDisk()
+ 
++            self.device.setup()
+             self.device.format.create(device=self.device.path,
+                                       options=self.device.formatArgs)
+ 
diff --git a/pkgs/tools/filesystems/sshfs-fuse/default.nix b/pkgs/tools/filesystems/sshfs-fuse/default.nix
index d1e33098a94f..a5b01db4cd2a 100644
--- a/pkgs/tools/filesystems/sshfs-fuse/default.nix
+++ b/pkgs/tools/filesystems/sshfs-fuse/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://fuse.sourceforge.net/sshfs.html;
+    homepage = https://github.com/libfuse/sshfs;
     description = "FUSE-based filesystem that allows remote filesystems to be mounted over SSH";
     platforms = platforms.linux;
     maintainers = with maintainers; [ jgeerds ];
diff --git a/pkgs/tools/graphics/asymptote/default.nix b/pkgs/tools/graphics/asymptote/default.nix
index 7a15b00b365f..db7fad78a49c 100644
--- a/pkgs/tools/graphics/asymptote/default.nix
+++ b/pkgs/tools/graphics/asymptote/default.nix
@@ -1,44 +1,56 @@
 {stdenv, fetchurl
   , freeglut, ghostscriptX, imagemagick, fftw 
-  , boehmgc, mesa, ncurses, readline, gsl, libsigsegv
+  , boehmgc, mesa_glu, mesa_noglu, ncurses, readline, gsl, libsigsegv
   , python, zlib, perl, texLive, texinfo, xz
 }:
+
+assert stdenv.isLinux;
+
 let
   s = # Generated upstream information
   rec {
     baseName="asymptote";
-    version="2.35";
+    version="2.36";
     name="${baseName}-${version}";
-    hash="11f28vxw0ybhvl7vxmqcdwvw7y6gz55ykw9ybgzb2px6lsvgag7z";
-    url="mirror://sourceforge/asymptote/2.35/asymptote-2.35.src.tgz";
-    sha256="11f28vxw0ybhvl7vxmqcdwvw7y6gz55ykw9ybgzb2px6lsvgag7z";
+    hash="0l0pznrn4k3v07cmn5rx8nq088zjs9bv2mkcks65z5lqlk5pccnd";
+    url="mirror://sourceforge/project/asymptote/2.36/asymptote-2.36.src.tgz";
+    sha256="0l0pznrn4k3v07cmn5rx8nq088zjs9bv2mkcks65z5lqlk5pccnd";
   };
   buildInputs = [
    freeglut ghostscriptX imagemagick fftw 
-   boehmgc mesa ncurses readline gsl libsigsegv
+   boehmgc mesa_glu mesa_noglu mesa_noglu.osmesa ncurses readline gsl libsigsegv
    python zlib perl texLive texinfo xz
   ];
 in
 stdenv.mkDerivation {
   inherit (s) name version;
   inherit buildInputs;
+
   src = fetchurl {
     inherit (s) url sha256;
   };
+
   preConfigure = ''
     export HOME="$PWD"
     patchShebangs . 
     sed -e 's@epswrite@eps2write@g' -i runlabel.in
     xz -d < ${texinfo.src} | tar --wildcards -x texinfo-'*'/doc/texinfo.tex
     cp texinfo-*/doc/texinfo.tex doc/
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${boehmgc}/include/gc"
+    rm *.tar.gz
+    configureFlags="$configureFlags --with-latex=$out/share/texmf/tex/latex --with-context=$out/share/texmf/tex/context/third"
   '';
+
+  NIX_CFLAGS_COMPILE = [ "-I${boehmgc}/include/gc" ];
+
   postInstall = ''
     mv -v "$out/share/info/asymptote/"*.info $out/share/info/
     sed -i -e 's|(asymptote/asymptote)|(asymptote)|' $out/share/info/asymptote.info
     rmdir $out/share/info/asymptote
     rm $out/share/info/dir
   '';
+
+  enableParallelBuilding = true;
+
   meta = {
     inherit (s) version;
     description =  "A tool for programming graphics intended to replace Metapost";
diff --git a/pkgs/tools/graphics/cuneiform/default.nix b/pkgs/tools/graphics/cuneiform/default.nix
index 138ae58da064..c357c96fac8d 100644
--- a/pkgs/tools/graphics/cuneiform/default.nix
+++ b/pkgs/tools/graphics/cuneiform/default.nix
@@ -1,42 +1,19 @@
-a @ { cmake, patchelf, imagemagick, ... } :
-let
-  fetchurl = a.fetchurl;
+{ stdenv, fetchurl, cmake, patchelf, imagemagick }:
 
+stdenv.mkDerivation rec {
+  name = "cuneiform-${version}";
   version = "1.1.0";
-  buildInputs = with a; [
-    cmake imagemagick patchelf
-  ];
-in
-rec {
+
   src = fetchurl {
     url = "https://launchpad.net/cuneiform-linux/1.1/1.1/+download/cuneiform-linux-1.1.0.tar.bz2";
     sha256 = "1bdvppyfx2184zmzcylskd87cxv56d8f32jf7g1qc8779l2hszjp";
   };
 
-  inherit buildInputs;
-  configureFlags = [];
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doCmake" "doMakeInstall" "postInstall"];
-
-  libc = if a.stdenv ? glibc then a.stdenv.glibc else "";
-
-  doCmake = a.fullDepEntry(''
-    mkdir -p $PWD/builddir
-    cd builddir
-    export NIX_LDFLAGS="$NIX_LDFLAGS -ldl -L$out/lib"
-    cmake .. -DCMAKE_BUILD_TYPE=debug -DCMAKE_INSTALL_PREFIX=$out -DDL_LIB=${libc}/lib
-  '') ["minInit" "addInputs" "doUnpack" "defEnsureDir"];
-
-  needLib64 = a.stdenv.system == "x86_64-linux";
-
-  postInstall = a.fullDepEntry(''
-    patchelf --set-rpath $out/lib${if needLib64 then "64" else ""}${if a.stdenv.cc.cc != null then ":${a.stdenv.cc.cc}/lib" else ""}${if a.stdenv.cc.cc != null && needLib64 then ":${a.stdenv.cc.cc}/lib64" else ""}:${a.imagemagick}/lib $out/bin/cuneiform
-  '') ["minInit" "addInputs" "doMakeInstall"];
+  buildInputs = [
+    cmake imagemagick
+  ];
 
-  name = "cuneiform-" + version;
   meta = {
-    inherit version;
     description = "Multi-language OCR system";
   };
 }
diff --git a/pkgs/tools/graphics/scanbd/default.nix b/pkgs/tools/graphics/scanbd/default.nix
new file mode 100644
index 000000000000..b3fd986165a7
--- /dev/null
+++ b/pkgs/tools/graphics/scanbd/default.nix
@@ -0,0 +1,57 @@
+{ stdenv, fetchurl, pkgconfig
+, dbus, libconfuse, sane-backends, systemd }:
+
+stdenv.mkDerivation rec {
+  name = "scanbd-${version}";
+  version = "1.4.4";
+
+  src = fetchurl {
+    sha256 = "07a59jk9b2hh49v5lcpckp64f5lny9sq8h0h2p2jcs9cqazf6q9s";
+    url = "mirror://sourceforge/scanbd/${name}.tgz";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ dbus libconfuse sane-backends systemd ];
+
+  configureFlags = [
+    "--disable-Werror"
+    "--enable-udev"
+    "--with-scanbdconfdir=/etc/scanbd"
+    "--with-systemdsystemunitdir=$out/lib/systemd/system"
+  ];
+
+  enableParallelBuilding = true;
+
+  installFlags = [
+    "scanbdconfdir=$(out)/etc/scanbd"
+    "scannerconfdir=$(scanbdconfdir)/scanner.d"
+  ];
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "Scanner button daemon";
+    longDescription = ''
+      scanbd polls a scanner's buttons, looking for button presses, function
+      knob changes, or other scanner events such as paper inserts and removals,
+      while at the same time allowing scan-applications to access the scanner.
+      
+      Various actions can be submitted (scan, copy, email, ...) via action
+      scripts. The function knob values are passed to the action scripts as
+      well. Scan actions are also signaled via dbus. This can be useful for
+      foreign applications. Scans can also be triggered via dbus from foreign
+      applications.
+      
+      On platforms which support signaling of dynamic device insertion/removal
+      (libudev, dbus, hal), scanbd supports this as well.
+
+      scanbd can use all sane-backends or some special backends from the (old)
+      scanbuttond project. 
+    '';
+    homepage = http://scanbd.sourceforge.net/;
+    downloadPage = http://sourceforge.net/projects/scanbd/;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+}
diff --git a/pkgs/tools/graphics/scrot/default.nix b/pkgs/tools/graphics/scrot/default.nix
index aa8958bb63df..5e4fd3ff0624 100644
--- a/pkgs/tools/graphics/scrot/default.nix
+++ b/pkgs/tools/graphics/scrot/default.nix
@@ -1,18 +1,33 @@
-{ stdenv, fetchurl, giblib, xlibsWrapper }:
+{ stdenv, fetchurl, fetchzip, giblib, xlibsWrapper }:
 
+let
+  debPatch = fetchzip {
+    url = mirror://debian/pool/main/s/scrot/scrot_0.8-17.debian.tar.xz;
+    sha256 = "0ydsr3vah5wkcbnp91knkdbil4hx0cn0iy57frl03azqzc29bkw5";
+  };
+in
 stdenv.mkDerivation rec {
-  name = "scrot-0.8";
+  name = "scrot-0.8-17";
 
   src = fetchurl {
     url = "http://linuxbrit.co.uk/downloads/${name}.tar.gz";
     sha256 = "1wll744rhb49lvr2zs6m93rdmiq59zm344jzqvijrdn24ksiqgb1";
   };
 
+  inherit debPatch;
+
+  postPatch = ''
+    for patch in $(cat $debPatch/patches/series); do
+      patch -p1 < "$debPatch/patches/$patch"
+    done
+  '';
+
   buildInputs = [ giblib xlibsWrapper ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://linuxbrit.co.uk/scrot/;
     description = "A command-line screen capture utility";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ garbas ];
   };
 }
diff --git a/pkgs/tools/graphics/vips/default.nix b/pkgs/tools/graphics/vips/default.nix
index 153611e05874..7b0cbc16e11a 100644
--- a/pkgs/tools/graphics/vips/default.nix
+++ b/pkgs/tools/graphics/vips/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "vips-8.1.1";
+  name = "vips-8.2.2";
 
   src = fetchurl {
     url = "http://www.vips.ecs.soton.ac.uk/supported/current/${name}.tar.gz";
-    sha256 = "014sgpqj832vl5k212jv25sjakrsifnspjfclywpmn7cwaqwjlvx";
+    sha256 = "12b319aicr129cpi5sixwd3q91y97vwwva6b044zy54px4s8ls0g";
   };
 
   buildInputs =
diff --git a/pkgs/tools/graphics/welkin/default.nix b/pkgs/tools/graphics/welkin/default.nix
index 3d1a2aa5bdc0..6e268ef5941d 100644
--- a/pkgs/tools/graphics/welkin/default.nix
+++ b/pkgs/tools/graphics/welkin/default.nix
@@ -1,57 +1,35 @@
-x@{builderDefsPackage
-  , jre
-  , ...}:
-builderDefsPackage
-(a :
-let
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
-    ["jre"];
+{ stdenv, fetchsvn, jre, makeWrapper }:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="welkin";
-    version="1.1";
-    name="${baseName}-${version}";
-    url="http://simile.mit.edu/dist/welkin/${name}.tar.gz";
-    hash="0hr2xvfz887fdf2ysiqydv6m13gbdl5x0fh4960i655d5imvd5x0";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
+stdenv.mkDerivation rec {
+  name = "welkin-${version}";
+  version = "1.1";
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  src = fetchsvn {
+    url = "http://simile.mit.edu/repository/welkin";
+    rev = "9638";
+    sha256 = "1bqh3vam7y805xrmdw7k0ckcfwjg88wypxgv3njkkwyn7kxnfnqp";
+  };
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doDeploy" "createBin"];
+  sourceRoot = "welkin-r9638/tags/${version}";
 
-  doDeploy = a.simplyShare "welkin";
+  buildInputs = [ jre makeWrapper ];
 
-  createBin = a.fullDepEntry ''
-    mkdir -p "$out/bin"
-    echo "#! ${a.stdenv.shell}" > "$out/bin/welkin"
-    echo "export JAVA_HOME=${jre}" >> "$out/bin/welkin"
-    echo "\"$out/share/welkin/welkin.sh\" \"\$@\"" >> "$out/bin/welkin"
-    sed -e 's@[.]/lib/welkin[.]jar@"'"$out"'/share/welkin/lib/welkin.jar"@' -i "$out/share/welkin/welkin.sh"
-    chmod a+x "$out/bin/welkin"
-  '' ["minInit" "defEnsureDir"];
+  installPhase = ''
+    mkdir -p $out/{bin,share}
+    cp -R . $out/share
+    cp $out/share/welkin.sh $out/bin/welkin
+    sed -e 's@\./lib/welkin\.jar@'"$out"'/share/lib/welkin.jar@' -i $out/bin/welkin
+    wrapProgram $out/bin/welkin \
+      --set JAVA_HOME ${jre}
+    chmod a+x $out/bin/welkin
+  '';
 
   meta = {
     description = "An RDF visualizer";
-    maintainers = with a.lib.maintainers;
-    [
+    maintainers = with stdenv.lib.maintainers; [
       raskin
     ];
     hydraPlatforms = [];
-    license = a.lib.licenses.free;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://simile.mit.edu/dist/welkin/";
-    };
+    license = stdenv.lib.licenses.free;
   };
-}) x
+}
diff --git a/pkgs/tools/graphics/xcftools/default.nix b/pkgs/tools/graphics/xcftools/default.nix
new file mode 100644
index 000000000000..457f47f75d61
--- /dev/null
+++ b/pkgs/tools/graphics/xcftools/default.nix
@@ -0,0 +1,39 @@
+{stdenv, fetchurl, libpng, perl, gettext }:
+
+stdenv.mkDerivation {
+  name = "xcftools-1.0.7";
+
+  src = fetchurl {
+    url = "http://henning.makholm.net/xcftools/xcftools-1.0.7.tar.gz";
+    sha256 = "19i0x7yhlw6hd2gp013884zchg63yzjdj4hpany011il0n26vgqy";
+  };
+
+  buildInputs = [ libpng perl gettext ];
+
+  patchPhase = ''
+    # Required if building with libpng-1.6, innocuous otherwise
+    substituteInPlace xcf2png.c         \
+      --replace png_voidp_NULL NULL     \
+      --replace png_error_ptr_NULL NULL
+
+    # xcfview needs mailcap and isn't that useful anyway
+    sed -i -e '/BINARIES/s/xcfview//' Makefile.in
+  '';
+
+  meta = {
+    homepage = http://henning.makholm.net/software;
+    description = "Command-line tools for converting Gimp XCF files";
+    longDescription = ''
+      A set of fast command-line tools for extracting information from
+      the Gimp's native file format XCF.
+
+      The tools are designed to allow efficient use of layered XCF
+      files as sources in a build system that use 'make' and similar
+      tools to manage automatic processing of the graphics.
+
+      These tools work independently of the Gimp engine and do not
+      require the Gimp to even be installed.
+    '';
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/tools/inputmethods/m17n-db/default.nix b/pkgs/tools/inputmethods/m17n-db/default.nix
new file mode 100644
index 000000000000..fbe7188ef9ac
--- /dev/null
+++ b/pkgs/tools/inputmethods/m17n-db/default.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchurl, gettext}:
+
+stdenv.mkDerivation rec {
+  name = "m17n-db-1.7.0";
+
+  src = fetchurl {
+    url = "http://download.savannah.gnu.org/releases/m17n/${name}.tar.gz";
+    sha256 = "1w08hnsbknrcjlzp42c99bgwc9hzsnf5m4apdv0dacql2s09zfm2";
+  };
+
+  buildInputs = [ gettext ];
+
+  configureFlags = stdenv.lib.optional (stdenv ? glibc)
+    "--with-charmaps=${stdenv.glibc}/share/i18n/charmaps"
+  ;
+
+  meta = {
+    homepage = http://www.nongnu.org/m17n/;
+    description = "Multilingual text processing library (database)";
+    license = stdenv.lib.licenses.lgpl21Plus;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ astsmtl ];
+  };
+}
diff --git a/pkgs/tools/inputmethods/m17n-lib/default.nix b/pkgs/tools/inputmethods/m17n-lib/default.nix
new file mode 100644
index 000000000000..982f35a9fe68
--- /dev/null
+++ b/pkgs/tools/inputmethods/m17n-lib/default.nix
@@ -0,0 +1,19 @@
+{stdenv, fetchurl, m17n_db}:
+stdenv.mkDerivation rec {
+  name = "m17n-lib-1.7.0";
+
+  src = fetchurl {
+    url = "http://download.savannah.gnu.org/releases/m17n/${name}.tar.gz";
+    sha256 = "10yv730i25g1rpzv6q49m6xn4p8fjm7jdwvik2h70sn8w3hm7f4f";
+  };
+
+  buildInputs = [ m17n_db ];
+
+  meta = {
+    homepage = http://www.nongnu.org/m17n/;
+    description = "Multilingual text processing library (runtime)";
+    license = stdenv.lib.licenses.lgpl21Plus;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ astsmtl ];
+  };
+}
diff --git a/pkgs/tools/inputmethods/uim/default.nix b/pkgs/tools/inputmethods/uim/default.nix
index 160efe2ded8f..19de302e7b1f 100644
--- a/pkgs/tools/inputmethods/uim/default.nix
+++ b/pkgs/tools/inputmethods/uim/default.nix
@@ -1,4 +1,5 @@
-{stdenv, fetchurl, intltool, pkgconfig, qt4, gtk2, gtk3, kdelibs, cmake, anthy}:
+{stdenv, fetchurl, intltool, pkgconfig, qt4, gtk2, gtk3, kdelibs,
+ cmake, anthy, automoc4, m17n_lib, m17n_db}:
 
 stdenv.mkDerivation rec {
   version = "1.8.6";
@@ -13,6 +14,9 @@ stdenv.mkDerivation rec {
     kdelibs
     cmake
     anthy
+    automoc4
+    m17n_lib
+    m17n_db
   ];
 
   patches = [ ./immodules_cache.patch ];
diff --git a/pkgs/tools/misc/bibutils/default.nix b/pkgs/tools/misc/bibutils/default.nix
new file mode 100644
index 000000000000..fb83e6996e33
--- /dev/null
+++ b/pkgs/tools/misc/bibutils/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, perl }:
+
+stdenv.mkDerivation rec {
+  name = "bibutils-${version}";
+  version = "5.6";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/bibutils/bibutils_${version}_src.tgz";
+    sha256 = "08vlaf1rs881v61hb0dnab5brbpbwbv2hqlxmw0yaycknqwbmiwz";
+  };
+
+  configureFlags = [ "--dynamic" "--install-dir" "$(out)/bin" "--install-lib" "$(out)/lib" ];
+  dontAddPrefix = true;
+
+  doCheck = true;
+  checkTarget = "test";
+
+  meta = with stdenv.lib; {
+    description = "Bibliography format interconversion";
+    longDescription = "The bibutils program set interconverts between various bibliography formats using a common MODS-format XML intermediate. For example, one can convert RIS-format files to Bibtex by doing two transformations: RIS->MODS->Bibtex. By using a common intermediate for N formats, only 2N programs are required and not N²-N. These programs operate on the command line and are styled after standard UNIX-like filters.";
+    homepage = "http://sourceforge.net/p/bibutils/home/Bibutils/";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.garrison ];
+  };
+}
diff --git a/pkgs/tools/misc/clex/default.nix b/pkgs/tools/misc/clex/default.nix
index 996254a54a25..b9e3fc179d50 100644
--- a/pkgs/tools/misc/clex/default.nix
+++ b/pkgs/tools/misc/clex/default.nix
@@ -1,14 +1,18 @@
 { stdenv, fetchurl, ncurses }:
 
-let version = "4.6.patch6"; in
 stdenv.mkDerivation rec {
   name = "clex-${version}";
+  version = "4.6.patch6";
 
   src = fetchurl {
     sha256 = "0bqa2hc9721d62cfsy5c7a5pzgh9b4px7g4q60xlybkwll19qbbp";
     url = "${meta.homepage}/download/${name}.tar.gz";
   };
 
+  buildInputs = [ ncurses ];
+
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "File manager with full-screen terminal interface";
     longDescription = ''
@@ -23,8 +27,4 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     maintainers = with maintainers; [ nckx ];
   };
-
-  buildInputs = [ ncurses ];
-
-  enableParallelBuilding = true;
 }
diff --git a/pkgs/tools/misc/cpulimit/default.nix b/pkgs/tools/misc/cpulimit/default.nix
index 72656d2969de..1bae4b16bd82 100644
--- a/pkgs/tools/misc/cpulimit/default.nix
+++ b/pkgs/tools/misc/cpulimit/default.nix
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
     description = "A tool to throttle the CPU usage of programs";
     platforms = with platforms; linux ++ freebsd;
     license = licenses.gpl2;
-    maintainer = [maintainers.rycee];
+    maintainers = [maintainers.rycee];
   };
 }
diff --git a/pkgs/tools/misc/cpuminer/default.nix b/pkgs/tools/misc/cpuminer/default.nix
index 713c0a92329f..67249161e841 100644
--- a/pkgs/tools/misc/cpuminer/default.nix
+++ b/pkgs/tools/misc/cpuminer/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "cpuminer-${version}";
-  version = "2.4.2";
+  version = "2.4.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/cpuminer/pooler-${name}.tar.gz";
-    sha256 = "1ds5yfxf25pd8y5z5gh689qb80m4dqw2dy3yx87hibnprlaiym0n";
+    sha256 = "1p66v96pz3vk1khwlmc26fg2d06c001755rrkcdv5wh8zyg6wv99";
   };
 
   buildInputs = [ curl jansson ];
diff --git a/pkgs/tools/misc/debian-devscripts/default.nix b/pkgs/tools/misc/debian-devscripts/default.nix
index 9a4dcae7dd26..9430b1349a1e 100644
--- a/pkgs/tools/misc/debian-devscripts/default.nix
+++ b/pkgs/tools/misc/debian-devscripts/default.nix
@@ -5,12 +5,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.15.10";
+  version = "2.16.1";
   name = "debian-devscripts-${version}";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/d/devscripts/devscripts_${version}.tar.xz";
-    sha256 = "1yb26xpjxp9q5vsjzc9bv8vydpx2rs1v0i7phxhylfjn0fgpfnc6";
+    sha256 = "096f26b0z6kwv47qy99gak40wcc8mp24n0nvqwgifcicr18qv4rz";
   };
 
   buildInputs = [ perl CryptSSLeay LWP unzip xz dpkg TimeDate DBFile 
diff --git a/pkgs/tools/misc/debootstrap/subst.patch b/pkgs/tools/misc/debootstrap/subst.patch
deleted file mode 100644
index 6ead80d6a79f..000000000000
--- a/pkgs/tools/misc/debootstrap/subst.patch
+++ /dev/null
@@ -1,190 +0,0 @@
-diff --git a/usr/sbin/debootstrap b/usr/sbin/debootstrap
-index a0dacf3..6331b3d 100755
---- a/usr/sbin/debootstrap
-+++ b/usr/sbin/debootstrap
-@@ -14,7 +14,7 @@ if [ "$DEBOOTSTRAP_DIR" = "" ]; then
- 	fi
- fi
- 
--if [ -x "/usr/bin/gettext" ]; then
-+if [ -x "@gettext@" ]; then
- 	USE_GETTEXT_INTERACTION=yes
- fi
- 
-@@ -334,12 +334,12 @@ fi
- 
- if [ "$ARCH" != "" ]; then
- 	true
--elif [ -x /usr/bin/dpkg ] && \
--     /usr/bin/dpkg --print-installation-architecture >/dev/null 2>&1; then
--	ARCH=`/usr/bin/dpkg --print-installation-architecture`
-+elif [ -x @dpkg@ ] && \
-+     @dpkg@ --print-installation-architecture >/dev/null 2>&1; then
-+	ARCH=`@dpkg@ --print-installation-architecture`
- elif type udpkg >/dev/null 2>&1 && \
-      udpkg --print-architecture >/dev/null 2>&1; then
--	ARCH=`/usr/bin/udpkg --print-architecture`
-+	ARCH=`@udpkg@ --print-architecture`
- elif [ -e $DEBOOTSTRAP_DIR/arch ]; then
- 	ARCH=`cat $DEBOOTSTRAP_DIR/arch`
- else
-@@ -349,7 +349,7 @@ fi
- export ARCH SUITE TARGET
- 
- if am_doing_phase first_stage second_stage; then
--	if [ -x /usr/bin/id ] && [ `id -u` -ne 0 ]; then
-+	if [ -x @id@ ] && [ `id -u` -ne 0 ]; then
- 		error 1 NEEDROOT "debootstrap can only run as root"
- 	fi
- 	# Ensure that we can create working devices and executables on the target.
-diff --git a/usr/share/debootstrap/functions b/usr/share/debootstrap/functions
-index b9180ba..33feac3 100755
---- a/usr/share/debootstrap/functions
-+++ b/usr/share/debootstrap/functions
-@@ -914,7 +914,7 @@ setup_dselect_method () {
- # For the debootstrap udeb, pkgdetails is provided by the bootstrap-base
- # udeb, so the pkgdetails API needs to be kept in sync with that.
- 
--if [ -x /usr/bin/perl ]; then
-+if [ -x @perl@ ]; then
- 	PKGDETAILS=pkgdetails_perl
- 
- 	pkgdetails_field () {
-@@ -1264,7 +1264,7 @@ close LD_SO_CONF;
- 
- unshift @ld_library_path, split(/:/, $ENV{LD_LIBRARY_PATH});
- 
--$unamearch = `/bin/uname -m`;
-+$unamearch = `@uname -m`;
- chomp $unamearch;
- 
- foreach my $file (@ARGV) {
-
-
-diff --git a/usr/share/debootstrap/functions b/usr/share/debootstrap/functions
-index 730df3a..197b2fb 100755
---- a/usr/share/debootstrap/functions
-+++ b/usr/share/debootstrap/functions
-@@ -18,7 +18,7 @@ error () {
- 		for x in "$@"; do echo "EA: $x"; done
- 		echo "EF: $fmt") >&4
- 	elif [ "$USE_GETTEXT_INTERACTION" ]; then
--		(printf "E: `LANG=$GETTEXT_LANG gettext debootstrap "$fmt"`\n" "$@") >&4
-+		(printf "E: `LANG=$GETTEXT_LANG @gettext@ debootstrap "$fmt"`\n" "$@") >&4
- 	else
- 		(printf "E: $fmt\n" "$@") >&4
- 	fi
-@@ -35,7 +35,7 @@ warning () {
- 		for x in "$@"; do echo "WA: $x"; done
- 		echo "WF: $fmt") >&4
- 	elif [ "$USE_GETTEXT_INTERACTION" ]; then
--		printf "W: `LANG=$GETTEXT_LANG gettext debootstrap "$fmt"`\n" "$@" >&4
-+		printf "W: `LANG=$GETTEXT_LANG @gettext@ debootstrap "$fmt"`\n" "$@" >&4
- 	else
- 		printf "W: $fmt\n" "$@" >&4
- 	fi
-@@ -51,7 +51,7 @@ info () {
- 		for x in "$@"; do echo "IA: $x"; done
- 		echo "IF: $fmt") >&4
- 	elif [ "$USE_GETTEXT_INTERACTION" ]; then
--		printf "I: `LANG=$GETTEXT_LANG gettext debootstrap "$fmt"`\n" "$@" >&4
-+		printf "I: `LANG=$GETTEXT_LANG @gettext@ debootstrap "$fmt"`\n" "$@" >&4
- 	else
- 		printf "I: $fmt\n" "$@" >&4
- 	fi
-
-
-diff --git a/usr/share/debootstrap/functions b/usr/share/debootstrap/functions
-index 98d2056..c1d7430 100755
---- a/usr/share/debootstrap/functions
-+++ b/usr/share/debootstrap/functions
-@@ -501,9 +501,9 @@ download_release_indices () {
- 		local md=
- 		if [ "$normmd" != "" ]; then
- 			md="$normmd"
--		elif [ -x /bin/bunzip2 ] && [ "$bz2md" != "" ]; then
-+		elif [ -x @bunzip2@ ] && [ "$bz2md" != "" ]; then
- 			md="$bz2md"
--		elif [ -x /bin/gunzip ] && [ "$gzmd" != "" ]; then
-+		elif [ -x @gunzip@ ] && [ "$gzmd" != "" ]; then
- 			md="$gzmd"
- 		fi
- 		if [ "$md" != "" ]; then
-@@ -529,11 +529,11 @@ download_release_indices () {
- 			ext="$ext $normmd ."
- 			md="$normmd"
- 		fi
--		if [ -x /bin/bunzip2 ] && [ "$bz2md" != "" ]; then
-+		if [ -x @bunzip2@ ] && [ "$bz2md" != "" ]; then
- 			ext="$ext $bz2md bz2"
- 			md="${md:-$bz2md}"
- 		fi
--		if [ -x /bin/gunzip ] && [ "$gzmd" != "" ]; then
-+		if [ -x @gunzip@ ] && [ "$gzmd" != "" ]; then
- 			ext="$ext $gzmd gz"
- 			md="${md:-$gzmd}"
- 		fi
-@@ -663,7 +663,7 @@ download_main_indices () {
- 	    for c in $COMPONENTS; do
- 		local path="dists/$SUITE/$c/binary-$ARCH/Packages"
- 		local pkgdest="$TARGET/$($DLDEST pkg "$SUITE" "$c" "$ARCH" "$m" "$path")"
--		if [ -x /bin/gunzip ] && get "$m/${path}.gz" "${pkgdest}.gz"; then
-+		if [ -x @gunzip@ ] && get "$m/${path}.gz" "${pkgdest}.gz"; then
- 			rm -f "$pkgdest"
- 			gunzip "$pkgdest.gz"
- 		elif get "$m/$path" "$pkgdest"; then
-
-
-diff --git a/usr/share/debootstrap/functions b/usr/share/debootstrap/functions
-index 15051e8..a5de422 100755
---- a/usr/share/debootstrap/functions
-+++ b/usr/share/debootstrap/functions
-@@ -70,13 +70,13 @@ wgetprogress () {
- 	[ ! "$verbose" ] && QSWITCH="-q"
- 	local ret=0
- 	if [ "$USE_DEBIANINSTALLER_INTERACTION" ] && [ "$PROGRESS_NEXT" ]; then
--		wget "$@" 2>&1 >/dev/null | $PKGDETAILS "WGET%" $PROGRESS_NOW $PROGRESS_NEXT $PROGRESS_END >&3
-+		@wget@ "$@" 2>&1 >/dev/null | $PKGDETAILS "WGET%" $PROGRESS_NOW $PROGRESS_NEXT $PROGRESS_END >&3
- 		ret=$?
- 	elif [ "$USE_BOOTFLOPPIES_INTERACTION" ] && [ "$PROGRESS_NEXT" ]; then
--		wget "$@" 2>&1 >/dev/null | $PKGDETAILS "WGET%" $PROGRESS_NOW $PROGRESS_NEXT $PROGRESS_END "$PROGRESS_WHAT" >&3
-+		@wget@ "$@" 2>&1 >/dev/null | $PKGDETAILS "WGET%" $PROGRESS_NOW $PROGRESS_NEXT $PROGRESS_END "$PROGRESS_WHAT" >&3
- 		ret=$?
- 	else
--		wget $QSWITCH "$@"
-+		@wget@ $QSWITCH "$@"
- 		ret=$?
- 	fi
- 	return $ret
-
-diff --git a/usr/share/debootstrap/functions b/usr/share/debootstrap/functions
-index 8d60d8e..e238644 100755
---- a/usr/share/debootstrap/functions
-+++ b/usr/share/debootstrap/functions
-@@ -921,7 +921,7 @@ if [ -x  ]; then
- 
- 	pkgdetails_field () {
- 		# uniq field mirror Packages values...
--		perl -le '
-+		@perl@ -le '
- $unique = shift @ARGV; $field = lc(shift @ARGV); $mirror = shift @ARGV;
- $cnt = length(@ARGV);
- %fields = map { $_, 0 } @ARGV;
-@@ -959,7 +959,7 @@ for $v (keys %fields) {
- 	pkgdetails_perl () {
- 		if [ "$1" = "WGET%" ]; then
- 			shift;
--			perl -e '
-+			@perl@ -e '
- $v = 0;
- while (read STDIN, $x, 1) {
- 	if ($x =~ m/\d/) {
-@@ -974,7 +974,7 @@ while (read STDIN, $x, 1) {
- }' "$@"
- 		elif [ "$1" = "GETDEPS" ]; then
- 			local pkgdest="$2"; shift; shift
--			perl -e '
-+			@perl@ -e '
- while (<STDIN>) {
- 	chomp;
- 	$in = 1 if (/^Package: (.*)$/ && grep {$_ eq $1} @ARGV);
diff --git a/pkgs/tools/misc/dvtm/default.nix b/pkgs/tools/misc/dvtm/default.nix
index 32d6b6fa6ef1..5969c9562369 100644
--- a/pkgs/tools/misc/dvtm/default.nix
+++ b/pkgs/tools/misc/dvtm/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "dvtm-0.14";
+  name = "dvtm-0.15";
 
   meta = {
     description = "Dynamic virtual terminal manager";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/${name}.tar.gz";
-    sha256 = "0ykl8dz7ivjgdzhmhlgidnp2ffh5gxq9lbg276w7iid4z10v76wa";
+    sha256 = "0475w514b7i3gxk6khy8pfj2gx9l7lv2pwacmq92zn1abv01a84g";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/tools/misc/exa/default.nix b/pkgs/tools/misc/exa/default.nix
new file mode 100644
index 000000000000..8518a7331b95
--- /dev/null
+++ b/pkgs/tools/misc/exa/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub, rustPlatform, openssl, cmake, zlib }:
+
+with rustPlatform;
+
+buildRustPackage rec {
+  name = "exa-${version}";
+  version = "2016-02-15";
+
+  depsSha256 = "1925nhpfph82wn755zf2nmad24f1hzbxq60gpva9sic6rnap4c1x";
+
+  src = fetchFromGitHub {
+    owner = "ogham";
+    repo = "exa";
+    rev = "252eba484476369bb966fb1af7f739732b968fc0";
+    sha256 = "1smyy32z44zgmhyhlbjaxcgfnlbcwz7am9225yppqfdsiqqgdybf";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ openssl zlib ];
+
+  # Some tests fail, but Travis ensures a proper build
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Replacement for 'ls' written in Rust";
+    longDescription = ''
+      exa is a modern replacement for ls. It uses colours for information by
+      default, helping you distinguish between many types of files, such as
+      whether you are the owner, or in the owning group. It also has extra
+      features not present in the original ls, such as viewing the Git status
+      for a directory, or recursing into directories with a tree view. exa is
+      written in Rust, so it’s small, fast, and portable.
+    '';
+    homepage = http://bsago.me/exa;
+    license = licenses.mit;
+    maintainer = [ maintainers.ehegnes ];
+  };
+}
diff --git a/pkgs/tools/misc/gnokii/default.nix b/pkgs/tools/misc/gnokii/default.nix
index c0593e5c0177..d1551eb4ccd6 100644
--- a/pkgs/tools/misc/gnokii/default.nix
+++ b/pkgs/tools/misc/gnokii/default.nix
@@ -1,31 +1,25 @@
-a @ { intltool, perl, gettext, libusb, pkgconfig, bluez, readline, pcsclite, libical, gtk, glib, libXpm, ... } :
-let
-  fetchurl = a.fetchurl;
+{ stdenv, fetchurl, intltool, perl, gettext, libusb, pkgconfig, bluez
+, readline, pcsclite, libical, gtk, glib, libXpm }:
 
-  s = import ./src-for-default.nix;
-  buildInputs = with a; [
+stdenv.mkDerivation rec {
+  name = "gnokii-${version}";
+  version = "0.6.31";
+
+  src = fetchurl {
+    sha256 = "0sjjhm40662bj6j0jh3sd25b8nww54nirpwamz618rg6pb5hjwm8";
+    url = "http://www.gnokii.org/download/gnokii/${name}.tar.gz";
+  };
+
+  buildInputs = [
     perl intltool gettext libusb
     glib gtk pkgconfig bluez readline
     libXpm pcsclite libical
   ];
-in
-
-assert a.stdenv ? glibc;
-
-rec {
-  src = a.fetchUrlFromSrcInfo s;
-
-  inherit buildInputs;
-  configureFlags = [];
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = [ "doConfigure" "doMakeInstall"];
 
-  inherit(s) name;
   meta = {
     description = "Cellphone tool";
     homepage = http://www.gnokii.org;
-    maintainers = [a.lib.maintainers.raskin];
-    platforms = with a.lib.platforms; linux;
+    maintainers = [ stdenv.lib.maintainers.raskin ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/gnokii/src-for-default.nix b/pkgs/tools/misc/gnokii/src-for-default.nix
deleted file mode 100644
index af2768ddfa3b..000000000000
--- a/pkgs/tools/misc/gnokii/src-for-default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-rec {
-   version="0.6.31";
-   name="gnokii-0.6.31";
-   hash="0sjjhm40662bj6j0jh3sd25b8nww54nirpwamz618rg6pb5hjwm8";
-   url="http://www.gnokii.org/download/gnokii/gnokii-${version}.tar.gz";
-   advertisedUrl="http://www.gnokii.org/download/gnokii/gnokii-0.6.31.tar.gz";
-  
-  
-}
diff --git a/pkgs/tools/misc/gnokii/src-info-for-default.nix b/pkgs/tools/misc/gnokii/src-info-for-default.nix
deleted file mode 100644
index 6d68b555b181..000000000000
--- a/pkgs/tools/misc/gnokii/src-info-for-default.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  downloadPage = "http://www.gnokii.org/download/gnokii/?C=M;O=D";
-  baseName = "gnokii";
-}
diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix
index be5eb0e66214..808fb2c841c0 100644
--- a/pkgs/tools/misc/gparted/default.nix
+++ b/pkgs/tools/misc/gparted/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gparted-0.24.0";
+  name = "gparted-0.25.0";
 
   src = fetchurl {
-    sha256 = "0q6d1s9f4qgdivj4vm9w87qmdfyq8s65jzkhv05rp9cl72rqlf82";
-    url = "mirror://sourceforge/gparted/${name}.tar.bz2";
+    sha256 = "1bllvj66rka8f9h9rfwvxaqrj4mbp2n2860ahnp9xm1195gnv69d";
+    url = "mirror://sourceforge/gparted/${name}.tar.gz";
   };
 
   configureFlags = [ "--disable-doc" ];
diff --git a/pkgs/tools/misc/grub/default.nix b/pkgs/tools/misc/grub/default.nix
index cb561e8172fe..d6534fc5ee61 100644
--- a/pkgs/tools/misc/grub/default.nix
+++ b/pkgs/tools/misc/grub/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, autoconf, automake, texinfo, buggyBiosCDSupport ? true}:
+{stdenv, fetchurl, autoreconfHook, texinfo, buggyBiosCDSupport ? true}:
 
 stdenv.mkDerivation {
   name = "grub-0.97-patch-1.12";
@@ -33,8 +33,8 @@ stdenv.mkDerivation {
 
   ] ++ (stdenv.lib.optional buggyBiosCDSupport ./buggybios.patch);
 
-  # Autoconf/automake required for the splashimage patch.
-  buildInputs = [autoconf automake texinfo];
+  # autoreconfHook required for the splashimage patch.
+  buildInputs = [ autoreconfHook texinfo ];
 
   prePatch = ''
     unpackFile $gentooPatches
@@ -45,11 +45,6 @@ stdenv.mkDerivation {
     done
   '';
 
-  preConfigure = ''
-    autoreconf
-    automake --add-missing
-  '';
-
   passthru.grubTarget = "";
 
   meta = {
diff --git a/pkgs/tools/misc/heimdall/default.nix b/pkgs/tools/misc/heimdall/default.nix
index 17689a4848ae..e82f61e69f5b 100644
--- a/pkgs/tools/misc/heimdall/default.nix
+++ b/pkgs/tools/misc/heimdall/default.nix
@@ -1,54 +1,43 @@
-{ stdenv, fetchFromGitHub, pkgconfig, libusb1, udev
-, enableGUI ? true, qt4 ? null
-}:
+{ stdenv, fetchFromGitHub, zlib, libusb1, cmake, qt5
+, enableGUI ? false }:
+
+let version = "d0526a3"; in
+let verName = "1.4.2pre"; in
 
 stdenv.mkDerivation rec {
-  version = "1.4.1";
-  name = "heimdall-${version}";
+  name = "heimdall-${verName}";
 
   src = fetchFromGitHub {
     owner  = "Benjamin-Dobell";
     repo   = "Heimdall";
-    rev    = "v${version}";
-    sha256 = "1b7xpamwvw5r2d9yf73f0axv35vg8zaz1345xs3lmsr105phnnp4";
+    rev    = "${version}";
+    sha256 = "1y8gvqprajlml1z6mjcrlj54m9xsr8691nqagakkkis7hs1lgzmp";
   };
 
-  buildInputs =
-    [ pkgconfig libusb1 udev ]
-    ++ stdenv.lib.optional enableGUI qt4 ;
-
-  makeFlags = "udevrulesdir=$(out)/lib/udev/rules.d";
+  buildInputs = [ zlib libusb1 cmake ];
+  patchPhase = stdenv.lib.optional (!enableGUI) ''
+    sed -i '/heimdall-frontend/d' CMakeLists.txt
+  '';
+  enableParallelBuilding = true;
+  cmakeFlags = ["-DQt5Widgets_DIR=${qt5.qtbase}/lib/cmake/Qt5Widgets"
+                "-DQt5Gui_DIR=${qt5.qtbase}/lib/cmake/Qt5Gui"
+                "-DQt5Core_DIR=${qt5.qtbase}/lib/cmake/Qt5Core"
+                "-DBUILD_TYPE=Release"];
 
   preConfigure =
     ''
-      pushd libpit
-      ./configure
-      make
-      popd
-
-      cd heimdall
-      substituteInPlace Makefile.in --replace sudo true
-
-      # Give ownership of the Galaxy S USB device to the logged in
-      # user.
-      substituteInPlace 60-heimdall-galaxy-s.rules --replace 'MODE="0666"' 'TAG+="udev-acl"'
-    '';
-
-  postBuild = stdenv.lib.optionalString enableGUI
-    ''
-      pushd ../heimdall-frontend
-      substituteInPlace Source/mainwindow.cpp --replace /usr/bin $out/bin
-      qmake heimdall-frontend.pro OUTPUTDIR=$out/bin
-      make
-      popd
+      # Give ownership of the Galaxy S USB device to the logged in user.
+      substituteInPlace heimdall/60-heimdall.rules --replace 'MODE="0666"' 'TAG+="uaccess"'
     '';
 
-  postInstall =
+  installPhase =
     ''
-      mkdir -p $out/share/doc/heimdall
-      cp ../Linux/README $out/share/doc/heimdall/
+      mkdir -p $out/bin $out/share/doc/heimdall $out/lib/udev/rules.d
+      cp bin/heimdall $out/bin
+      cp ../Linux/README $out/share/doc/heimdall
+      cp ../heimdall/60-heimdall.rules $out/lib/udev/rules.d
     '' + stdenv.lib.optionalString enableGUI ''
-      make -C ../heimdall-frontend install
+      cp bin/heimdall-frontend $out/bin
     '';
 
   meta = {
diff --git a/pkgs/tools/misc/homesick/Gemfile b/pkgs/tools/misc/homesick/Gemfile
new file mode 100644
index 000000000000..fb1d6a5584f9
--- /dev/null
+++ b/pkgs/tools/misc/homesick/Gemfile
@@ -0,0 +1,3 @@
+source "https://rubygems.org"
+
+gem "homesick"
diff --git a/pkgs/tools/misc/homesick/Gemfile.lock b/pkgs/tools/misc/homesick/Gemfile.lock
new file mode 100644
index 000000000000..cac0e8d083ef
--- /dev/null
+++ b/pkgs/tools/misc/homesick/Gemfile.lock
@@ -0,0 +1,15 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    homesick (1.1.3)
+      thor (>= 0.14.0)
+    thor (0.19.1)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  homesick
+
+BUNDLED WITH
+   1.10.6
diff --git a/pkgs/tools/misc/homesick/default.nix b/pkgs/tools/misc/homesick/default.nix
new file mode 100644
index 000000000000..9ea54f1f0b32
--- /dev/null
+++ b/pkgs/tools/misc/homesick/default.nix
@@ -0,0 +1,28 @@
+{ lib, bundlerEnv, git}:
+bundlerEnv {
+  name = "homesick-1.1.3";
+
+  gemfile = ./Gemfile;
+  lockfile = ./Gemfile.lock;
+  gemset = ./gemset.nix;
+
+  # Cannot use `wrapProgram` because the the help is aware of the file name.
+  postInstall = ''
+    rm $out/bin/thor
+    sed 1a'ENV["PATH"] = "${git}/bin:#{ENV["PATH"] ? ":#{ENV["PATH"]}" : "" }"' -i $out/bin/homesick
+  '';
+
+  meta = with lib; {
+    description = "Your home directory is your castle. Don't leave your dotfiles behind.";
+    long_description =
+      ''
+        Homesick is sorta like rip, but for dotfiles. It uses git to clone a repository containing
+        dotfiles, and saves them in ~/.homesick. It then allows you to symlink all the dotfiles into
+        place with a single command.
+      '';
+    homepage = https://github.com/technicalpickles/homesick;
+    license = licenses.mit;
+    maintainers = with maintainers; [ aaronschif ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/misc/homesick/gemset.nix b/pkgs/tools/misc/homesick/gemset.nix
new file mode 100644
index 000000000000..b4a3b608bcb1
--- /dev/null
+++ b/pkgs/tools/misc/homesick/gemset.nix
@@ -0,0 +1,16 @@
+{
+  homesick = {
+    version = "1.1.3";
+    source = {
+        type = "gem";
+        sha256 = "1pqsnbykisc6qamkz1gcbgis4az95sggxfdkq9v5hjr1a46q0s91";
+    };
+  };
+  thor = {
+      version = "0.19.1";
+      source = {
+          type = "gem";
+          sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
+      };
+  };
+}
diff --git a/pkgs/tools/misc/ipad_charge/default.nix b/pkgs/tools/misc/ipad_charge/default.nix
index 73fee38cbf20..9fbc915ad2eb 100644
--- a/pkgs/tools/misc/ipad_charge/default.nix
+++ b/pkgs/tools/misc/ipad_charge/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, libusb1 }:
 
-let version = "2015-02-03"; in
 stdenv.mkDerivation rec {
   name = "ipad_charge-${version}";
+  version = "2015-02-03";
 
   src = fetchFromGitHub {
     sha256 = "0f40hqx1dbqpwrhyf42h5982jwqv8j5zp5hwwakz6600hyqvnnz7";
@@ -27,7 +27,6 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    inherit version;
     inherit (src.meta) homepage;
     description = "Apple device USB charging utility for Linux";
     longDescription = ''
diff --git a/pkgs/tools/misc/mdbtools/git.nix b/pkgs/tools/misc/mdbtools/git.nix
index 8cf5e5e9a38d..777fc7bfd16d 100644
--- a/pkgs/tools/misc/mdbtools/git.nix
+++ b/pkgs/tools/misc/mdbtools/git.nix
@@ -1,6 +1,5 @@
-{ stdenv, fetchurl, fetchgit, glib, readline, bison, flex, pkgconfig,
-  libiconv, autoconf, automake, libtool, which, txt2man, gnome_doc_utils,
-  scrollkeeper}:
+{ stdenv, fetchgit, glib, readline, bison, flex, pkgconfig,
+  libiconv, autoreconfHook, which, txt2man, gnome_doc_utils, scrollkeeper }:
 
 stdenv.mkDerivation {
   name = "mdbtools-git-2014-07-25";
@@ -12,16 +11,18 @@ stdenv.mkDerivation {
   };
 
   buildInputs = [
-    glib readline bison flex pkgconfig autoconf automake
-    libtool which txt2man gnome_doc_utils scrollkeeper libiconv
+    glib readline bison flex autoreconfHook pkgconfig which txt2man
+    gnome_doc_utils scrollkeeper libiconv
   ];
 
+  preAutoreconf = ''
+    sed -e '/ENABLE_GTK_DOC/aAM_CONDITIONAL(HAVE_GNOME_DOC_UTILS, test x$enable_gtk_doc = xyes)' \
+        -e  '/ENABLE_GTK_DOC/aAM_CONDITIONAL(ENABLE_SK, test x$enable_scrollkeeper = xyes)' \
+        -i configure.ac
+  '';
+
   preConfigure = ''
     sed -e 's@static \(GHashTable [*]mdb_backends;\)@\1@' -i src/libmdb/backend.c
-    sed -e '/ENABLE_GTK_DOC/aAM_CONDITIONAL(HAVE_GNOME_DOC_UTILS, test x$enable_gtk_doc = xyes)' \
-    -e  '/ENABLE_GTK_DOC/aAM_CONDITIONAL(ENABLE_SK, test x$enable_scrollkeeper = xyes)'          \
-    -i configure.ac
-    autoreconf -i -f
   '';
 
   meta = {
diff --git a/pkgs/tools/misc/ms-sys/default.nix b/pkgs/tools/misc/ms-sys/default.nix
index f9512b09ce66..c0b1de6c1e8c 100644
--- a/pkgs/tools/misc/ms-sys/default.nix
+++ b/pkgs/tools/misc/ms-sys/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, gettext }:
 
-let version = "2.5.2"; in
 stdenv.mkDerivation rec {
   name = "ms-sys-${version}";
+  version = "2.5.2";
  
   src = fetchurl {
     url = "mirror://sourceforge/ms-sys/${name}.tar.gz";
@@ -16,7 +16,6 @@ stdenv.mkDerivation rec {
   makeFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
-    inherit version;
     description = "A program for writing Microsoft compatible boot records";
     homepage = http://ms-sys.sourceforge.net/;
     license = licenses.gpl2Plus;
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index 7e8a8312f509..c45c62cb3ada 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-20151222";
+  name = "parallel-20160122";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "03czpnsj77xxzqxzzr1b39ym9acn94hknzbilbh28v5q1wk7r4mf";
+    sha256 = "1xs8y8jh7wyjs27079xz0ja7xfi4dywz8d6hbkl44mafdnnfjfiy";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/progress/default.nix b/pkgs/tools/misc/progress/default.nix
index cf70b234b88a..ab72dc69fa47 100644
--- a/pkgs/tools/misc/progress/default.nix
+++ b/pkgs/tools/misc/progress/default.nix
@@ -1,16 +1,17 @@
-{ stdenv, fetchFromGitHub, ncurses }:
+{ stdenv, fetchFromGitHub, pkgconfig, ncurses }:
 
 stdenv.mkDerivation rec {
   name = "progress-${version}";
-  version = "0.9";
+  version = "0.13";
 
   src = fetchFromGitHub {
     owner = "Xfennec";
     repo = "progress";
     rev = "v${version}";
-    sha256 = "07bl5fsr538nk4l8vwj1kf5bivlh3a8cy8jliqfadxmhf1knn2mw";
+    sha256 = "0xzpcvz4n0h8m0mhxgpvn1qg8993naip3asjbk3nmk3d4lbyh0b3";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ ncurses ];
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/tools/misc/riemann-c-client/default.nix b/pkgs/tools/misc/riemann-c-client/default.nix
index 5dde592aade2..eb8e17a86938 100644
--- a/pkgs/tools/misc/riemann-c-client/default.nix
+++ b/pkgs/tools/misc/riemann-c-client/default.nix
@@ -1,5 +1,4 @@
-{ stdenv, fetchFromGitHub, autoconf, automake, libtool, pkgconfig, file
-, protobufc }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, file , protobufc }:
 
 stdenv.mkDerivation rec {
   name = "riemann-c-client-${version}";
@@ -13,9 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "0jc2bbw7sp2gr4cswx78srs0p1kp81prcarq4ivqpfw4bmzg6xg4";
   };
 
-  buildInputs = [ autoconf automake libtool pkgconfig file protobufc ];
-
-  preConfigure = "autoreconf -i";
+  buildInputs = [ autoreconfHook pkgconfig file protobufc ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/algernon/riemann-c-client;
diff --git a/pkgs/tools/misc/rrdtool/default.nix b/pkgs/tools/misc/rrdtool/default.nix
index 11f9d32b1545..524e61dfaf37 100644
--- a/pkgs/tools/misc/rrdtool/default.nix
+++ b/pkgs/tools/misc/rrdtool/default.nix
@@ -9,8 +9,9 @@ stdenv.mkDerivation rec {
   buildInputs = [ gettext perl pkgconfig libxml2 pango cairo groff ];
   
   postInstall = ''
-    # for munin support
-    mv $out/lib/perl/5*/*/*.pm $out/lib/perl/5*/
+    # for munin and rrdtool support
+    mkdir -p $out/lib/perl5/site_perl/
+    mv $out/lib/perl/5* $out/lib/perl5/site_perl/
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/snapper/default.nix b/pkgs/tools/misc/snapper/default.nix
index 1a0c805a2ec6..933788f57855 100644
--- a/pkgs/tools/misc/snapper/default.nix
+++ b/pkgs/tools/misc/snapper/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchFromGitHub
 , autoreconfHook, pkgconfig, docbook_xsl, libxslt, docbook_xml_dtd_45
 , acl, attr, boost, btrfs-progs, dbus_libs, diffutils, e2fsprogs, libxml2
-, lvm2, pam, utillinux }:
+, lvm2, pam, python, utillinux }:
 
 stdenv.mkDerivation rec {
-  name = "snapper-${ver}";
-  ver = "0.2.8";
+  name = "snapper-${version}";
+  version = "0.2.8";
 
   src = fetchFromGitHub {
     owner = "openSUSE";
     repo = "snapper";
-    rev = "v${ver}";
+    rev = "v${version}";
     sha256 = "1rj8vy6hq140pbnc7mjjb34mfqdgdah1dmlv2073izdgakh7p38j";
   };
 
@@ -20,33 +20,48 @@ stdenv.mkDerivation rec {
   ];
   buildInputs = [
     acl attr boost btrfs-progs dbus_libs diffutils e2fsprogs libxml2
-    lvm2 pam utillinux
+    lvm2 pam python utillinux
   ];
 
-  patchPhase = ''
-    # work around missing btrfs/version.h; otherwise, use "-DHAVE_BTRFS_VERSION_H"
-    substituteInPlace snapper/Btrfs.cc --replace "define BTRFS_LIB_VERSION (100)" "define BTRFS_LIB_VERSION (200)";
+  postPatch = ''
+    # Hard-coded root paths, hard-coded root paths everywhere...
+    for file in {client,data,pam,scripts}/Makefile.am; do
+      substituteInPlace $file \
+        --replace '$(DESTDIR)/usr' "$out" \
+        --replace "DESTDIR" "out" \
+        --replace "/usr" "$out"
+    done
+    substituteInPlace pam/Makefile.am \
+      --replace '/`basename $(libdir)`' "$out/lib"
   '';
 
-  configurePhase = ''
-    ./configure --disable-silent-rules --disable-ext4 --disable-btrfs-quota --prefix=$out
-    '';
+  configureFlags = [
+    "--disable-ext4"	# requires patched kernel & e2fsprogs
+  ];
 
-  makeFlags = "DESTDIR=$(out)";
+  enableParallelBuilding = true;
 
-  NIX_CFLAGS_COMPILE = [ "-I${libxml2}/include/libxml2" ];
+  NIX_CFLAGS_COMPILE = [
+    "-I${libxml2}/include/libxml2"
+  ];
 
-  # Probably a hack, but using DESTDIR and PREFIX makes everything work!
   postInstall = ''
-    cp -r $out/$out/* $out
-    rm -r $out/nix
-    '';
+    rm -r $out/etc/cron.*
+    patchShebangs $out/lib/zypp/plugins/commit/*
+    for file in \
+      $out/lib/pam_snapper/* \
+      $out/lib/systemd/system/* \
+      $out/share/dbus-1/system-services/* \
+    ; do
+      substituteInPlace $file --replace "/usr" "$out"
+    done
+  '';
 
   meta = with stdenv.lib; {
     description = "Tool for Linux filesystem snapshot management";
     homepage = http://snapper.io;
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = [ maintainers.tstrobel ];
+    maintainers = with maintainers; [ nckx tstrobel ];
   };
 }
diff --git a/pkgs/tools/misc/svtplay-dl/default.nix b/pkgs/tools/misc/svtplay-dl/default.nix
index dafc30bd6472..270e1c0cb62a 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.11.29";
+  version = "0.30.2016.02.08";
 
   src = fetchFromGitHub {
     owner = "spaam";
     repo = "svtplay-dl";
     rev = version;
-    sha256 = "10y0qxyyfw9kxiax3b0gdd38yz2y3lii75mgvlq6q6h77r3wham4";
+    sha256 = "0nkgc43lf06h0w8k4zm5pdzp6r6jjc6j94ciljcm8333n0ykfzpr";
   };
 
   pythonPaths = [ pycrypto requests2 ];
diff --git a/pkgs/tools/misc/system-config-printer/default.nix b/pkgs/tools/misc/system-config-printer/default.nix
index 6b0be9d2f6e8..7ed25fb549b0 100644
--- a/pkgs/tools/misc/system-config-printer/default.nix
+++ b/pkgs/tools/misc/system-config-printer/default.nix
@@ -5,16 +5,20 @@
 , withGUI ? true
 }:
 
-stdenv.mkDerivation rec {
-  name = "system-config-printer-1.3.12";
+let majorVersion = "1.5";
+
+in stdenv.mkDerivation rec {
+  name = "system-config-printer-${majorVersion}.7";
 
   src = fetchurl {
-    url = "http://cyberelk.net/tim/data/system-config-printer/1.3/${name}.tar.xz";
+    url = "http://cyberelk.net/tim/data/system-config-printer/${majorVersion}/${name}.tar.xz";
     sha256 = "1cg9n75rg5l9vr1925n2g771kga33imikyl0mf70lww2sfgvs18r";
   };
 
   propagatedBuildInputs = [ pythonPackages.pycurl ];
 
+  patches = [ ./detect_serverbindir.patch ];
+
   buildInputs =
     [ intltool pkgconfig glib udev libusb1 cups xmlto
       libxml2 docbook_xml_dtd_412 docbook_xsl desktop_file_utils
@@ -32,17 +36,28 @@ stdenv.mkDerivation rec {
 
   postInstall =
     ''
+      export makeWrapperArgs="--set prefix $out"
       wrapPythonPrograms
+      # The program imports itself, so we need to move shell wrappers to a proper place.
+      fixupWrapper() {
+        mv "$out/share/system-config-printer/$2.py" \
+           "$out/bin/$1"
+        sed -i "s/.$2.py-wrapped/$2.py/g" "$out/bin/$1"
+        mv "$out/share/system-config-printer/.$2.py-wrapped" \
+           "$out/share/system-config-printer/$2.py"
+      }
+      fixupWrapper scp-dbus-service scp-dbus-service
+      fixupWrapper system-config-printer system-config-printer
+      fixupWrapper system-config-printer-applet applet
+      # This __init__.py is both executed and imported.
       ( cd $out/share/system-config-printer/troubleshoot
         mv .__init__.py-wrapped __init__.py
       )
-
-      # Upstream issue: https://github.com/twaugh/system-config-printer/issues/28
-      sed -i -e "s|/usr/bin|$out/bin|" "$out/share/dbus-1/services/org.fedoraproject.Config.Printing.service"
     '';
 
   meta = {
     homepage = http://cyberelk.net/tim/software/system-config-printer/;
     platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/misc/system-config-printer/detect_serverbindir.patch b/pkgs/tools/misc/system-config-printer/detect_serverbindir.patch
new file mode 100644
index 000000000000..2cd3058f2330
--- /dev/null
+++ b/pkgs/tools/misc/system-config-printer/detect_serverbindir.patch
@@ -0,0 +1,17 @@
+diff --git a/cupshelpers/config.py.in b/cupshelpers/config.py.in
+index 55abbfc..1244327 100644
+--- a/cupshelpers/config.py.in
++++ b/cupshelpers/config.py.in
+@@ -22,3 +22,12 @@
+ prefix="@prefix@"
+ sysconfdir="@sysconfdir@"
+ cupsserverbindir="@cupsserverbindir@"
++
++try:
++    with open("/etc/cups/cups-files.conf") as config:
++        for cfgline in config:
++            args = cfgline.split(" ")
++            if len(args) == 2 and args[0] == "ServerBin":
++                cupsserverbindir = args[1].strip()
++except OSError:
++    pass
diff --git a/pkgs/tools/misc/tldr/default.nix b/pkgs/tools/misc/tldr/default.nix
index 46dbc2a2a224..f223a97520b0 100644
--- a/pkgs/tools/misc/tldr/default.nix
+++ b/pkgs/tools/misc/tldr/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, clang, curl, libzip, pkgconfig }:
 
-let version = "1.1.0"; in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "tldr-${version}";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     sha256 = "0hxkrzp5njhy7c19v8i3svcb148f1jni7dlv36gc1nmcrz5izsiz";
@@ -23,7 +23,6 @@ stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    inherit version;
     description = "Simplified and community-driven man pages";
     longDescription = ''
       tldr pages gives common use cases for commands, so you don't need to hunt
diff --git a/pkgs/tools/misc/trash-cli/default.nix b/pkgs/tools/misc/trash-cli/default.nix
index 1c8a2e495b69..78835afddef5 100644
--- a/pkgs/tools/misc/trash-cli/default.nix
+++ b/pkgs/tools/misc/trash-cli/default.nix
@@ -34,7 +34,7 @@ python2Packages.buildPythonPackage rec {
   meta = with stdenv.lib; {
     homepage = https://github.com/andreafrancia/trash-cli;
     description = "Command line tool for the desktop trash can";
-    maintainer = [ maintainers.rycee ];
+    maintainers = [ maintainers.rycee ];
     license = licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/misc/vdirsyncer/default.nix b/pkgs/tools/misc/vdirsyncer/default.nix
index 04e88fd98d5f..df7cbc04a142 100644
--- a/pkgs/tools/misc/vdirsyncer/default.nix
+++ b/pkgs/tools/misc/vdirsyncer/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, pythonPackages }:
 
 pythonPackages.buildPythonPackage rec {
-  version = "0.7.3";
+  version = "0.9.0";
   name = "vdirsyncer-${version}";
   namePrefix = "";
 
   src = fetchurl {
     url = "https://pypi.python.org/packages/source/v/vdirsyncer/${name}.tar.gz";
-    sha256 = "0ahi5ngqwsrv30bgziz35dx4gif7rbn9vqv340pigbzmywjxz1ry";
+    sha256 = "0s9awjr9v60rr80xcpwmdhkf4v1yqnydahjmxwvxmh64565is465";
   };
 
   propagatedBuildInputs = with pythonPackages; [
@@ -20,6 +20,11 @@ pythonPackages.buildPythonPackage rec {
     atomicwrites
   ];
 
+  # Unfortunately, checking this package seems a bit too complex
+  # https://github.com/NixOS/nixpkgs/pull/13098#issuecomment-185914025
+  # https://github.com/untitaker/vdirsyncer/issues/334#issuecomment-185872854
+  doCheck = false;
+
   meta = with stdenv.lib; {
     homepage = https://github.com/untitaker/vdirsyncer;
     description = "Synchronize calendars and contacts";
diff --git a/pkgs/tools/misc/xclip/default.nix b/pkgs/tools/misc/xclip/default.nix
index 3f616fdad681..197b92295a82 100644
--- a/pkgs/tools/misc/xclip/default.nix
+++ b/pkgs/tools/misc/xclip/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchsvn, xlibsWrapper, libXmu, autoconf, automake, libtool }:
+{ stdenv, fetchsvn, xlibsWrapper, libXmu, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   # The last release from 2012, 0.12, lacks '-targets'
@@ -6,14 +6,13 @@ stdenv.mkDerivation rec {
 
   src = fetchsvn {
     url = "svn://svn.code.sf.net/p/xclip/code/trunk";
-    sha256 = "0d6r38xas5l79l700sdm14l41vvjqhah613367ha8kcvx54zkddz";
+    rev = "87";
+    sha256 = "1rbcdgr73916wvzfgqjs1jhgzk8qs1yw2iiqy7ifrkjafhi37w6b";
   };
 
-  preConfigure = "autoreconf -vfi";
+  buildInputs = [ xlibsWrapper libXmu autoreconfHook ];
 
-  buildInputs = [ xlibsWrapper libXmu autoconf automake libtool ];
-
-  meta = { 
+  meta = {
     description = "Tool to access the X clipboard from a console application";
     homepage = http://sourceforge.net/projects/xclip/;
     license = stdenv.lib.licenses.gpl2;
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 09328c8d8aba..8baa5cc91740 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -11,7 +11,8 @@
 
 buildPythonPackage rec {
 
-  name = "youtube-dl-2016.01.01";
+  name = "youtube-dl-${version}";
+  version = "2016.01.01";
 
   src = fetchurl {
     url = "http://yt-dl.org/downloads/${stdenv.lib.getVersion name}/${name}.tar.gz";
@@ -24,6 +25,9 @@ buildPythonPackage rec {
   postInstall = stdenv.lib.optionalString (ffmpeg != null)
     ''wrapProgram $out/bin/youtube-dl --prefix PATH : "${ffmpeg}/bin"'';
 
+  # Requires network
+  doCheck = false;
+
   meta = with stdenv.lib; {
     homepage = http://rg3.github.io/youtube-dl/;
     repositories.git = https://github.com/rg3/youtube-dl.git;
diff --git a/pkgs/tools/networking/altermime/default.nix b/pkgs/tools/networking/altermime/default.nix
index 1c9dbfe62354..e532739ecd4f 100644
--- a/pkgs/tools/networking/altermime/default.nix
+++ b/pkgs/tools/networking/altermime/default.nix
@@ -1,50 +1,28 @@
-x@{builderDefsPackage
-  
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+{ stdenv, fetchurl }:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="altermime";
-    version="0.3.10";
-    name="${baseName}-${version}";
-    url="http://www.pldaniels.com/${baseName}/${name}.tar.gz";
-    hash="0vn3vmbcimv0n14khxr1782m76983zz9sf4j2kz5v86lammxld43";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
+stdenv.mkDerivation rec {
+  baseName = "altermime";
+  name = "${baseName}-${version}";
+  version = "0.3.10";
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  src = fetchurl {
+    url = "http://www.pldaniels.com/${baseName}/${name}.tar.gz";
+    sha256 = "0vn3vmbcimv0n14khxr1782m76983zz9sf4j2kz5v86lammxld43";
+  };
 
-  patches = map a.fetchurl (import ./debian-patches.nix);
+  patches = map fetchurl (import ./debian-patches.nix);
 
-  phaseNames = ["doPatch" "fixTarget" "doMakeInstall"];
-  fixTarget = a.fullDepEntry (''
+  postPatch = ''
     sed -i Makefile -e "s@/usr/local@$out@"
     mkdir -p "$out/bin"
-  '') ["doUnpack" "minInit" "defEnsureDir"];
-      
+  '';
+
   meta = {
     description = "MIME alteration tool";
-    maintainers = with a.lib.maintainers;
-    [
+    maintainers = with stdenv.lib.maintainers; [
       raskin
     ];
-    platforms = with a.lib.platforms;
-      linux;
+    platforms = with stdenv.lib.platforms; linux;
     downloadPage = "http://www.pldaniels.com/altermime/";
-    inherit version;
-    updateWalker = true;
   };
-}) x
-
+}
diff --git a/pkgs/tools/networking/babeld/default.nix b/pkgs/tools/networking/babeld/default.nix
index 7af9aa901a83..7a54887e9d8d 100644
--- a/pkgs/tools/networking/babeld/default.nix
+++ b/pkgs/tools/networking/babeld/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "babeld-1.6.1";
+  name = "babeld-1.7.1";
 
   src = fetchurl {
     url = "http://www.pps.univ-paris-diderot.fr/~jch/software/files/${name}.tar.gz";
-    sha256 = "1d45f12mhlxsf8jlpgb1gig5bjg5izdkfk173rd9a1wi7s82pisl";
+    sha256 = "1dl7s2lb40kiysrqhr7zd0s90yfxy6xfsp0fhqgdlwfr99ymx59c";
   };
 
   preBuild = ''
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
     homepage = "http://www.pps.univ-paris-diderot.fr/~jch/software/babel/";
     description = "Loop-avoiding distance-vector routing protocol";
     license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ fuuzetsu fpletz ];
   };
 }
diff --git a/pkgs/tools/networking/biosdevname/default.nix b/pkgs/tools/networking/biosdevname/default.nix
index 86fe18e01583..f39f37453551 100644
--- a/pkgs/tools/networking/biosdevname/default.nix
+++ b/pkgs/tools/networking/biosdevname/default.nix
@@ -1,10 +1,9 @@
-{stdenv, fetchgit, automake, autoconf, zlib, pciutils}:
-let
-  version = "0.6.1";
-in
-stdenv.mkDerivation {
+{ stdenv, fetchgit, autoreconfHook, zlib, pciutils }:
+
+stdenv.mkDerivation rec {
   name = "biosdevname-${version}";
-  
+  version = "0.6.1";
+
   src = fetchgit {
     url = git://linux.dell.com/biosdevname.git;
     rev = "refs/tags/v${version}";
@@ -12,16 +11,11 @@ stdenv.mkDerivation {
   };
 
   buildInputs = [
-    automake
-    autoconf
+    autoreconfHook
     zlib
     pciutils
   ];
 
-  preConfigure = ''
-    autoreconf -i
-  '';
-
   # Don't install /lib/udev/rules.d/*-biosdevname.rules
   patches = [ ./makefile.patch ];
 
diff --git a/pkgs/tools/networking/cmst/default.nix b/pkgs/tools/networking/cmst/default.nix
index 1b5767653fe2..24010e20f374 100644
--- a/pkgs/tools/networking/cmst/default.nix
+++ b/pkgs/tools/networking/cmst/default.nix
@@ -1,12 +1,13 @@
-{ stdenv, fetchgit, qtbase, makeWrapper, libX11 }:
+{ stdenv, fetchFromGitHub, qtbase, makeWrapper, libX11 }:
 
 stdenv.mkDerivation rec {
-  name = "cmst-2014.12.05";
-  rev = "refs/tags/${name}";
-  src = fetchgit {
-    url = "git://github.com/andrew-bibb/cmst.git";
-    inherit rev;
-    sha256 = "070rxv3kyn41ra7nnk1wbqvy6fjg38h7hrdv4dn71b201kmzd194";
+  name = "cmst-2016.01.28";
+
+  src = fetchFromGitHub {
+    sha256 = "1zf4jnrnbi05mrq1fnsji5zx60h1knrkr64pwcz2c7q8p59k4646";
+    rev    = name;
+    repo   = "cmst";
+    owner  = "andrew-bibb";
   };
 
   buildInputs = [ qtbase makeWrapper ];
@@ -27,7 +28,6 @@ stdenv.mkDerivation rec {
     substituteInPlace ./apps/rootapp/rootapp.pro \
       --replace "/etc" "$out/etc" \
       --replace "/usr/share" "$out/share"
-
   '';
 
   buildPhase = ''
diff --git a/pkgs/tools/networking/connman/default.nix b/pkgs/tools/networking/connman/default.nix
index 6142f53c0564..7af692f782e8 100644
--- a/pkgs/tools/networking/connman/default.nix
+++ b/pkgs/tools/networking/connman/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "connman-${version}";
-  version = "1.30";
+  version = "1.31";
   src = fetchgit {
     url = "git://git.kernel.org/pub/scm/network/connman/connman.git";
     rev = "refs/tags/${version}";
-    sha256 = "715474351e22b52334d37c146fd5eb87d692be8501d8dac33a0e330437235295";
+    sha256 = "90dab6b11841cb4b6400711d234b59fb4fad4e8778bed6e7ad3ac7ac135d6893";
   };
 
   buildInputs = [ autoconf automake libtool pkgconfig openconnect polkit
diff --git a/pkgs/tools/networking/curl/7.15.nix b/pkgs/tools/networking/curl/7.15.nix
index 4e533878ec18..1e91d6bd0883 100644
--- a/pkgs/tools/networking/curl/7.15.nix
+++ b/pkgs/tools/networking/curl/7.15.nix
@@ -33,12 +33,8 @@ stdenv.mkDerivation rec {
     sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure
   '';
 
-  # make curl honor CURL_CA_BUNDLE & SSL_CERT_FILE
-  postConfigure = ''
-    echo  '#define CURL_CA_BUNDLE (getenv("CURL_CA_BUNDLE") || getenv("SSL_CERT_FILE"))' >> lib/curl_config.h
-  '';
-
   configureFlags = [
+      "--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt"
       ( if sslSupport then "--with-ssl=${openssl}" else "--without-ssl" )
       ( if scpSupport then "--with-libssh2=${libssh2}" else "--without-libssh2" )
     ]
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index 3c77d2a6c8d6..910d86066d9a 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl
+{ stdenv, fetchurl, pkgconfig, perl
+, http2Support ? true, libnghttp2
 , idnSupport ? false, libidn ? null
 , ldapSupport ? false, openldap ? null
 , zlibSupport ? false, zlib ? null
@@ -8,6 +9,7 @@
 , c-aresSupport ? false, c-ares ? null
 }:
 
+assert http2Support -> libnghttp2 != null;
 assert idnSupport -> libidn != null;
 assert ldapSupport -> openldap != null;
 assert zlibSupport -> zlib != null;
@@ -16,17 +18,20 @@ assert scpSupport -> libssh2 != null;
 assert c-aresSupport -> c-ares != null;
 
 stdenv.mkDerivation rec {
-  name = "curl-7.45.0";
+  name = "curl-7.47.0";
 
   src = fetchurl {
-    url = "http://curl.haxx.se/download/${name}.tar.bz2";
-    sha256 = "1slq5c0v9wa8hajgimhkxhvsrd07jmih8sa3gjsl597qp5k4w5b5";
+    url = "http://ngcobalt13.uxnr.de/mirror/curl/${name}.tar.bz2";
+    sha256 = "0riz70pjg82gbcfi2ndvsksb2dv55g31ir8piph2p6zvhy9ny29b";
   };
 
+  nativeBuildInputs = [ pkgconfig perl ];
+
   # Zlib and OpenSSL must be propagated because `libcurl.la' contains
   # "-lz -lssl", which aren't necessary direct build inputs of
   # applications that use Curl.
   propagatedBuildInputs = with stdenv.lib;
+    optional http2Support libnghttp2 ++
     optional idnSupport libidn ++
     optional ldapSupport openldap ++
     optional zlibSupport zlib ++
@@ -41,13 +46,10 @@ stdenv.mkDerivation rec {
     rm src/tool_hugehelp.c
   '';
 
-  # make curl honor CURL_CA_BUNDLE & SSL_CERT_FILE
-  postConfigure = ''
-    echo  '#define CURL_CA_BUNDLE (getenv("CURL_CA_BUNDLE") ? getenv("CURL_CA_BUNDLE") : getenv("SSL_CERT_FILE"))' >> lib/curl_config.h
-  '';
-
   configureFlags = [
+      "--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt"
       "--disable-manual"
+      ( if http2Support then "--with-nghttp2=${libnghttp2}" else "--without-nghttp2" )
       ( if sslSupport then "--with-ssl=${openssl}" else "--without-ssl" )
       ( if scpSupport then "--with-libssh2=${libssh2}" else "--without-libssh2" )
       ( if ldapSupport then "--enable-ldap" else "--disable-ldap" )
diff --git a/pkgs/tools/networking/dhcping/default.nix b/pkgs/tools/networking/dhcping/default.nix
index 53d87b2e3faf..19c2383c1c28 100644
--- a/pkgs/tools/networking/dhcping/default.nix
+++ b/pkgs/tools/networking/dhcping/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl }:
 
-let version = "1.2"; in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "dhcping-${version}";
+  version = "1.2";
 
   src = fetchurl {
     sha256 = "0sk4sg3hn88n44dxikipf3ggfj3ixrp22asb7nry9p0bkfaqdvrj";
@@ -14,7 +14,6 @@ stdenv.mkDerivation {
   doCheck = true;
 
   meta = with stdenv.lib; {
-    inherit version;
     description = "Send DHCP request to find out if a DHCP server is running";
     longDescription = ''
       dhcping sends either a DHCPREQUEST or DHCPINFORM packet to the server
@@ -31,4 +30,4 @@ stdenv.mkDerivation {
     platforms = platforms.linux;
     maintainers = with maintainers; [ nckx ];
   };
- }
+}
diff --git a/pkgs/tools/networking/driftnet/default.nix b/pkgs/tools/networking/driftnet/default.nix
index 83a26f98d8b6..6666612419d9 100644
--- a/pkgs/tools/networking/driftnet/default.nix
+++ b/pkgs/tools/networking/driftnet/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, lib, fetchFromGitHub, autoconf, automake, libpcap, libjpeg, libungif, libpng, giflib, glib, gtk2, cairo, pango, gdk_pixbuf, atk, pkgconfig }:
+{ stdenv, lib, fetchFromGitHub, libpcap, libjpeg , libungif, libpng
+, giflib, glib, gtk2, cairo, pango, gdk_pixbuf, atk
+, pkgconfig, autoreconfHook }:
 
 with lib;
 
@@ -6,9 +8,10 @@ stdenv.mkDerivation rec {
   name = "driftnet-${stdenv.lib.strings.substring 0 7 rev}";
   rev = "8d47fd563a06122d4a6f9b9b9d27ba3d635148c0";
 
-  buildInputs = [ autoconf automake pkgconfig libpcap libjpeg libungif libpng giflib glib gtk2 glib cairo pango gdk_pixbuf atk ];
-
-  preConfigure = "autoreconf -fi";
+  buildInputs = [
+    pkgconfig libpcap libjpeg libungif libpng giflib
+    glib gtk2 glib cairo pango gdk_pixbuf atk autoreconfHook
+  ];
 
   src = fetchFromGitHub {
     inherit rev;
diff --git a/pkgs/tools/networking/dropbear/default.nix b/pkgs/tools/networking/dropbear/default.nix
index 0ec0f35f1bd4..c76c6d0dd7f4 100644
--- a/pkgs/tools/networking/dropbear/default.nix
+++ b/pkgs/tools/networking/dropbear/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = http://matt.ucc.asn.au/dropbear/dropbear.html;
-    description = "An small footprint implementation of the SSH 2 protocol";
+    description = "A small footprint implementation of the SSH 2 protocol";
     license = licenses.mit;
     maintainers = with maintainers; [ abbradar ];
     platforms = platforms.unix;
diff --git a/pkgs/tools/networking/easyrsa/2.x.nix b/pkgs/tools/networking/easyrsa/2.x.nix
new file mode 100644
index 000000000000..e49c32aac704
--- /dev/null
+++ b/pkgs/tools/networking/easyrsa/2.x.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, autoconf, automake111x, makeWrapper
+, gnugrep, openssl}:
+
+stdenv.mkDerivation rec {
+  name = "easyrsa-2.2.0";
+
+  src = fetchurl {
+    url = "https://github.com/OpenVPN/easy-rsa/archive/v2.2.0.tar.gz";
+    sha256 = "1xq4by5frb6ikn53ss3y8v7ss639dccxfq8jfrbk07ynkmk668qk";
+  };
+
+  # Copy missing files and autoreconf
+  preConfigure = ''
+    cp ${automake111x}/share/automake/install-sh .
+    cp ${automake111x}/share/automake/missing .
+
+    autoreconf
+  '';
+
+  preBuild = ''
+    mkdir -p $out/share/easy-rsa
+  '';
+
+  nativeBuildInputs = [ autoconf makeWrapper automake111x ];
+  buildInputs = [ gnugrep openssl];
+
+  # Make sane defaults and patch default config vars
+  postInstall = ''
+    cp $out/share/easy-rsa/openssl-1.0.0.cnf $out/share/easy-rsa/openssl.cnf
+    for prog in $(find "$out/share/easy-rsa" -executable -type f); do
+      makeWrapper "$prog" "$out/bin/$(basename $prog)" \
+        --set EASY_RSA "$out/share/easy-rsa" \
+        --set OPENSSL "${openssl}/bin/openssl" \
+        --set GREP "${gnugrep}/bin/grep"
+    done
+    sed -i "/EASY_RSA=\|OPENSSL=\|GREP=/d" $out/share/easy-rsa/vars
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Simple shell based CA utility";
+    homepage = http://openvpn.net/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.offline ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/email/default.nix b/pkgs/tools/networking/email/default.nix
new file mode 100644
index 000000000000..2ff22c061811
--- /dev/null
+++ b/pkgs/tools/networking/email/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, lib, fetchFromGitHub, openssl }:
+
+let
+  eMailSrc = fetchFromGitHub {
+    #awaiting acceptance of https://github.com/deanproxy/eMail/pull/29
+    owner = "jerith666";
+    repo = "eMail";
+    rev = "d9fd259f952b573d320916ee34e807dd3dd24b1f";
+    sha256 = "0q4ly4bhlv6lrlj5kmjs491aah1afmkjyw63i9yqnz4d2k6npvl9";
+  };
+
+  srcRoot = "eMail-${eMailSrc.rev}-src";
+
+  dlibSrc = fetchFromGitHub {
+    owner = "deanproxy";
+    repo = "dlib";
+    rev = "f62f29e918748b7cea476220f7492672be81c9de";
+    sha256 = "0h34cikch98sb7nsqjnb9wl384c8ndln3m6yb1172l4y89qjg9rr";
+  };
+
+in
+
+stdenv.mkDerivation {
+  name = "email-git-2016-01-31";
+  src = eMailSrc;
+
+  buildInputs = [ openssl ];
+
+  unpackPhase = ''
+    unpackPhase;
+    cp -Rp ${dlibSrc}/* ${srcRoot}/dlib;
+    chmod -R +w ${srcRoot}/dlib;
+  '';
+
+  meta = {
+    description = "Command line SMTP client";
+    license = with lib.licenses; [ gpl2 ];
+    homepage = http://deanproxy.com/code;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/networking/getmail/default.nix b/pkgs/tools/networking/getmail/default.nix
index a05b3ccfa9aa..8dd288b5588a 100644
--- a/pkgs/tools/networking/getmail/default.nix
+++ b/pkgs/tools/networking/getmail/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, buildPythonPackage }:
 
 buildPythonPackage rec {
-  version = "4.48.0";
+  version = "4.49.0";
   name = "getmail-${version}";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://pyropus.ca/software/getmail/old-versions/${name}.tar.gz";
-    sha256 = "0k5rm5kag14izng2ajcagvli9sns5mzvkyfa65ri4xymxs91wi29";
+    sha256 = "1m0yzxd05fklwbmjj1n2q4sx397c1j5qi9a0r5fv3h8pplz4lv0w";
   };
 
   doCheck = false;
diff --git a/pkgs/tools/networking/hans/default.nix b/pkgs/tools/networking/hans/default.nix
index aecc0bb63fa3..0e838a896cb2 100644
--- a/pkgs/tools/networking/hans/default.nix
+++ b/pkgs/tools/networking/hans/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, nettools }:
 
-let version = "0.4.4"; in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "hans-${version}";
+  version = "0.4.4";
 
   src = fetchFromGitHub {
     sha256 = "1xskffmmdmg1whlrl5wpkv9z29vh0igrbmsz0b45s9v0761a7kis";
@@ -11,8 +11,19 @@ stdenv.mkDerivation {
     owner = "friedrich";
   };
 
+  buildInputs = [ nettools ];
+
+  postPatch = ''
+    substituteInPlace src/tun.cpp --replace "/sbin/" "${nettools}/bin/"
+  '';
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    install -D -m0755 hans $out/bin/hans
+  '';
+
   meta = with stdenv.lib; {
-    inherit version;
     description = "Tunnel IPv4 over ICMP";
     longDescription = ''
       Hans makes it possible to tunnel IPv4 through ICMP echo packets, so you
@@ -25,16 +36,4 @@ stdenv.mkDerivation {
     platforms = platforms.linux;
     maintainers = with maintainers; [ nckx ];
   };
-
-  buildInputs = [ nettools ];
-
-  postPatch = ''
-    substituteInPlace src/tun.cpp --replace "/sbin/" "${nettools}/bin/"
-  '';
-
-  enableParallelBuilding = true;
-
-  installPhase = ''
-    install -D -m0755 hans $out/bin/hans
-  '';
 }
diff --git a/pkgs/tools/networking/httping/default.nix b/pkgs/tools/networking/httping/default.nix
index 9b1de33cf6d2..00f7bde429fe 100644
--- a/pkgs/tools/networking/httping/default.nix
+++ b/pkgs/tools/networking/httping/default.nix
@@ -3,7 +3,6 @@
 
 stdenv.mkDerivation rec {
   name = "httping-${version}";
-
   version = "2.4";
 
   src = fetchurl {
@@ -20,7 +19,6 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with stdenv.lib; {
-    inherit version;
     homepage = http://www.vanheusden.com/httping;
     description = "ping with HTTP requests";
     longDescription = ''
diff --git a/pkgs/tools/networking/i2pd/default.nix b/pkgs/tools/networking/i2pd/default.nix
index ff41beaeb05b..2d490b917a4e 100644
--- a/pkgs/tools/networking/i2pd/default.nix
+++ b/pkgs/tools/networking/i2pd/default.nix
@@ -4,13 +4,13 @@ stdenv.mkDerivation rec {
 
   name = pname + "-" + version;
   pname = "i2pd";
-  version = "2.3.0";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "PurpleI2P";
     repo = pname;
     rev = version;
-    sha256 = "0gb6bdsyb7m0jkilln9h7z2l8gr8ia10jah17ygc15jzycygijis";
+    sha256 = "1nkf3dplvyg2lgygd3jd4bqh5s4nm6ppyks3a05a1dcbwm8ws42y";
   };
 
   buildInputs = [ boost zlib openssl ];
diff --git a/pkgs/tools/networking/ip2location/default.nix b/pkgs/tools/networking/ip2location/default.nix
index 18fd2d12131d..22eb31384a19 100644
--- a/pkgs/tools/networking/ip2location/default.nix
+++ b/pkgs/tools/networking/ip2location/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl }:
 
-let version = "7.0.0"; in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "ip2location-${version}";
+  version = "7.0.0";
 
   src = fetchurl {
     sha256 = "05zbc02z7vm19byafi05i1rnkxc6yrfkhnm30ly68zzyipkmzx1l";
@@ -14,7 +14,6 @@ stdenv.mkDerivation {
   doCheck = true;
 
   meta = with stdenv.lib; {
-    inherit version;
     description = "Look up locations of host names and IP addresses";
     longDescription = ''
       A command-line tool to find the country, region, city,coordinates,
diff --git a/pkgs/tools/networking/ipv6calc/default.nix b/pkgs/tools/networking/ipv6calc/default.nix
index a7c844932c96..e41b65d3d25e 100644
--- a/pkgs/tools/networking/ipv6calc/default.nix
+++ b/pkgs/tools/networking/ipv6calc/default.nix
@@ -2,9 +2,9 @@
 , geoip ? null, geolite-legacy ? null
 , ip2location-database ? null }:
 
-let version = "0.99.1"; in
 stdenv.mkDerivation rec {
   name = "ipv6calc-${version}";
+  version = "0.99.1";
 
   src = fetchurl {
     url = "ftp://ftp.deepspace6.net/pub/ds6/sources/ipv6calc/${name}.tar.gz";
@@ -39,7 +39,6 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    inherit version;
     description = "Calculate/manipulate (not only) IPv6 addresses";
     longDescription = ''
       ipv6calc is a small utility to manipulate (not only) IPv6 addresses and
diff --git a/pkgs/tools/networking/isync/isync-recursice-imap.patch b/pkgs/tools/networking/isync/isync-recursice-imap.patch
deleted file mode 100644
index db12069950fd..000000000000
--- a/pkgs/tools/networking/isync/isync-recursice-imap.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-diff -rupN ../isync-1.0.4_original/./src/drv_imap.c ./src/drv_imap.c
---- ../isync-1.0.4_original/./src/drv_imap.c	2007-09-22 01:44:12.000000000 -0700
-+++ ./src/drv_imap.c	2009-04-22 15:28:58.000000000 -0700
-@@ -1678,7 +1678,7 @@ imap_list( store_t *gctx, string_list_t 
- 	int ret;
- 
- 	imap->boxes = 0;
--	if ((ret = imap_exec_b( ctx, 0, "LIST \"\" \"%s%%\"", ctx->prefix )) != DRV_OK)
-+	if ((ret = imap_exec_b( ctx, 0, "LIST \"\" \"%s*\"", ctx->prefix )) != DRV_OK)
- 		return ret;
- 	*retb = imap->boxes;
- 	return DRV_OK;
-diff -rupN ../isync-1.0.4_original/./src/drv_maildir.c ./src/drv_maildir.c
---- ../isync-1.0.4_original/./src/drv_maildir.c	2008-02-23 01:02:21.000000000 -0800
-+++ ./src/drv_maildir.c	2009-04-22 15:34:05.000000000 -0700
-@@ -24,6 +24,7 @@
- 
- #include "isync.h"
- 
-+#include <assert.h>
- #include <limits.h>
- #include <stdlib.h>
- #include <string.h>
-@@ -46,6 +47,56 @@
- #include <db.h>
- #endif /* USE_DB */
- 
-+static void encode_maildir_box(const char* in, char* out, size_t size)
-+{
-+	const char* p;
-+	char c;
-+	size_t out_chars;
-+
-+	for (p = in, out_chars = 0; (c = *p); ++p, ++out, ++out_chars) {
-+		assert(out_chars < size);
-+		if (c == '/') {
-+			assert(out_chars < size - 1);
-+			*(out++) = '~';
-+			*out = '-';
-+			++out_chars;
-+		}
-+		else if (c == '~') {
-+			assert(out_chars < size - 1);
-+			*(out++) = '~';
-+			*out = '~';
-+			++out_chars;
-+		}
-+		else {
-+			*out = c;
-+		}
-+	}
-+	assert(out_chars < size);
-+	*out = 0;
-+}
-+
-+static void decode_maildir_box(const char* in, char* out, size_t size)
-+{
-+	const char* p;
-+	char c;
-+	size_t out_chars;
-+
-+	for (p = in, out_chars = 0; (c = *p); ++p, ++out, ++out_chars) {
-+		assert(out_chars < size);
-+		if (c == '~') {
-+			assert(out_chars < size - 1);
-+			c = *(++p);
-+			*out = (c == '-' ? '/' : '~');
-+			++out_chars;
-+		}
-+		else {
-+			*out = c;
-+		}
-+	}
-+	assert(out_chars < size);
-+	*out = 0;
-+}
-+
- typedef struct maildir_store_conf {
- 	store_conf_t gen;
- 	char *inbox;
-@@ -164,14 +215,17 @@ maildir_list( store_t *gctx, string_list
- 		const char *inbox = ((maildir_store_conf_t *)gctx->conf)->inbox;
- 		int bl;
- 		struct stat st;
--		char buf[PATH_MAX];
-+ 		char buf[PATH_MAX], box[PATH_MAX];
- 
- 		if (*de->d_name == '.')
- 			continue;
- 		bl = nfsnprintf( buf, sizeof(buf), "%s%s/cur", gctx->conf->path, de->d_name );
- 		if (stat( buf, &st ) || !S_ISDIR(st.st_mode))
- 			continue;
--		add_string_list( retb, !memcmp( buf, inbox, bl - 4 ) && !inbox[bl - 4] ? "INBOX" : de->d_name );
-+ 
-+ 		decode_maildir_box(de->d_name, box, PATH_MAX);
-+  		add_string_list( retb,
-+ 		                 !memcmp( buf, inbox, bl - 4 ) && !inbox[bl - 4] ? "INBOX" : box );
- 	}
- 	closedir (dir);
- 
-@@ -717,8 +771,11 @@ maildir_prepare( store_t *gctx, int opts
- #endif /* USE_DB */
- 	if (!strcmp( gctx->name, "INBOX" ))
- 		gctx->path = nfstrdup( ((maildir_store_conf_t *)gctx->conf)->inbox );
--	else
--		nfasprintf( &gctx->path, "%s%s", gctx->conf->path, gctx->name );
-+ 	else {
-+ 		char box[_POSIX_PATH_MAX];
-+ 		encode_maildir_box(gctx->name, box, _POSIX_PATH_MAX);
-+ 		nfasprintf( &gctx->path, "%s%s", gctx->conf->path, box );
-+ 	}
- 	if (opts & OPEN_SETFLAGS)
- 		opts |= OPEN_OLD;
- 	if (opts & OPEN_EXPUNGE)
diff --git a/pkgs/tools/networking/minissdpd/default.nix b/pkgs/tools/networking/minissdpd/default.nix
index 92b6d9ff9b5f..a414b6f092ee 100644
--- a/pkgs/tools/networking/minissdpd/default.nix
+++ b/pkgs/tools/networking/minissdpd/default.nix
@@ -1,10 +1,8 @@
 { stdenv, fetchurl, libnfnetlink }:
 
-let
-  version = "1.5.20160119";
+stdenv.mkDerivation rec {
   name = "minissdpd-${version}";
-in stdenv.mkDerivation {
-  inherit name;
+  version = "1.5.20160119";
 
   src = fetchurl {
     sha256 = "0z0h2fqjlys9g08fbv0jg8l53h8cjlpdk45z4g71kwdk1m9ld8r2";
@@ -21,7 +19,6 @@ in stdenv.mkDerivation {
   doCheck = true;
 
   meta = with stdenv.lib; {
-    inherit version;
     description = "Small daemon to speed up UPnP device discoveries";
     longDescription = ''
       MiniSSDPd receives NOTIFY packets and stores (caches) that information
diff --git a/pkgs/tools/networking/miniupnpd/default.nix b/pkgs/tools/networking/miniupnpd/default.nix
index e88ae7a1403e..8eb96913bcab 100644
--- a/pkgs/tools/networking/miniupnpd/default.nix
+++ b/pkgs/tools/networking/miniupnpd/default.nix
@@ -1,21 +1,19 @@
-{ stdenv, fetchurl, iptables, pkgconfig }:
+{ stdenv, fetchurl, iptables, libuuid, pkgconfig }:
 
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "miniupnpd-1.9.20160113";
+  name = "miniupnpd-1.9.20160212";
 
   src = fetchurl {
     url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz";
-    sha256 = "084ii5vb54rr8sg50cqvsw5rj6linj23p3gnxwfyl100dkkgvcaa";
+    sha256 = "1fsl46f7lrhpb597m0a905nwijpf188cchgg6pz39fx2mgjjjk9l";
     name = "${name}.tar.gz";
   };
 
-  buildInputs = [ iptables ];
+  buildInputs = [ iptables libuuid ];
   nativeBuildInputs= [ pkgconfig ];
 
-  NIX_CFLAGS_LINK = "-liptc";
-
   makefile = "Makefile.linux";
 
   buildFlags = "miniupnpd genuuid";
diff --git a/pkgs/tools/networking/mtr/edd425.patch b/pkgs/tools/networking/mtr/edd425.patch
deleted file mode 100644
index b950cacd2e57..000000000000
--- a/pkgs/tools/networking/mtr/edd425.patch
+++ /dev/null
@@ -1,218 +0,0 @@
-diff --git a/asn.c b/asn.c
-index eac8d5e..33622ca 100644
---- a/asn.c
-+++ b/asn.c
-@@ -16,6 +16,8 @@
-     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
- 
-+#include "config.h"
-+
- #include <unistd.h>
- #include <stdio.h>
- #include <stdlib.h>
-@@ -35,7 +37,6 @@
- #include <sys/socket.h>
- #include <search.h>
- 
--#include "config.h"
- #include "mtr.h"
- #include "asn.h"
- 
-diff --git a/curses.c b/curses.c
-index eacc40d..b96daee 100644
---- a/curses.c
-+++ b/curses.c
-@@ -16,7 +16,8 @@
-     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
- 
--#include <config.h>
-+#include "config.h"
-+
- #include <strings.h>
- #include <unistd.h>
- 
-diff --git a/display.c b/display.c
-index aa369ee..3545467 100644
---- a/display.c
-+++ b/display.c
-@@ -16,7 +16,8 @@
-     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
- 
--#include <config.h>
-+#include "config.h"
-+
- #include <stdio.h>
- #include <stdlib.h>
- #include <sys/types.h>
-diff --git a/dns.c b/dns.c
-index e89fd4b..4076b71 100644
---- a/dns.c
-+++ b/dns.c
-@@ -22,7 +22,8 @@
-     Released under GPL, as above.
- */
- 
--#include <config.h>
-+#include "config.h"
-+
- #include <sys/types.h>
- #include <sys/time.h>
- #include <sys/select.h>
-diff --git a/getopt.c b/getopt.c
-index 3d43e26..e2f8758 100644
---- a/getopt.c
-+++ b/getopt.c
-@@ -27,7 +27,7 @@
- #endif
- 
- #ifdef HAVE_CONFIG_H
--#include <config.h>
-+#include "config.h"
- #endif
- 
- #if !defined (__STDC__) || !__STDC__
-diff --git a/getopt1.c b/getopt1.c
-index bccf8b2..0a2d405 100644
---- a/getopt1.c
-+++ b/getopt1.c
-@@ -16,7 +16,7 @@
-    Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
- 
- #ifdef HAVE_CONFIG_H
--#include <config.h>
-+#include "config.h"
- #endif
- 
- #include "getopt.h"
-diff --git a/gtk.c b/gtk.c
-index 38ed507..7faa132 100644
---- a/gtk.c
-+++ b/gtk.c
-@@ -17,7 +17,7 @@
-     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
- 
--#include <config.h>
-+#include "config.h"
- 
- #include <stdio.h>
- #include <stdlib.h>
-diff --git a/mtr.c b/mtr.c
-index 50eb464..416b744 100644
---- a/mtr.c
-+++ b/mtr.c
-@@ -16,19 +16,21 @@
-     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
- 
-+#include "config.h"
-+
- #include <sys/types.h>
--#include <config.h>
--#include <netdb.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
--#include <netinet/in.h>
--#include <sys/socket.h>
- #include <unistd.h>
--#include <strings.h>
--#include <time.h>
- #include <errno.h>
- #include <string.h>
-+#include <strings.h>
-+
-+#include <netdb.h>
-+#include <netinet/in.h>
-+#include <sys/socket.h>
-+#include <time.h>
- #include <ctype.h>
- #include <assert.h>
- #include <fcntl.h>
-diff --git a/net.c b/net.c
-index 1c8d28f..d648804 100644
---- a/net.c
-+++ b/net.c
-@@ -16,7 +16,7 @@
-     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
- 
--#include <config.h>
-+#include "config.h"
- 
- #if defined(HAVE_SYS_XTI_H)
- #include <sys/xti.h>
-@@ -1562,4 +1562,4 @@ void net_harvest_fds(void)
-   net_add_fds(&writefd, &maxfd);
-   select(maxfd, NULL, &writefd, NULL, &tv);
-   net_process_fds(&writefd);
--}
-\ No newline at end of file
-+}
-diff --git a/raw.c b/raw.c
-index 8b0df47..0e1f4f4 100644
---- a/raw.c
-+++ b/raw.c
-@@ -18,7 +18,8 @@
-     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
- 
--#include <config.h>
-+#include "config.h"
-+
- #include <ctype.h>
- #include <stdlib.h>
- #include <stdio.h>
-@@ -27,7 +28,6 @@
- #include <netinet/in.h>
- #include <arpa/inet.h>
- 
--
- #include "mtr.h"
- #include "raw.h"
- #include "net.h"
-diff --git a/report.c b/report.c
-index 71040e4..39b2fb2 100644
---- a/report.c
-+++ b/report.c
-@@ -16,7 +16,8 @@
-     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
- 
--#include <config.h>
-+#include "config.h"
-+
- #include <sys/types.h>
- #include <stdio.h>
- #include <netdb.h>
-diff --git a/select.c b/select.c
-index 31bfd5f..7553675 100644
---- a/select.c
-+++ b/select.c
-@@ -16,7 +16,8 @@
-     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
- 
--#include <config.h>
-+#include "config.h"
-+
- #include <sys/types.h>
- #include <sys/time.h>
- #include <stdlib.h>
-diff --git a/split.c b/split.c
-index 642353e..5ead235 100644
---- a/split.c
-+++ b/split.c
-@@ -20,7 +20,8 @@
-     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
- 
--#include <config.h>
-+#include "config.h"
-+
- #include <ctype.h>
- #include <stdlib.h>
- #include <stdio.h>
diff --git a/pkgs/tools/networking/mu/default.nix b/pkgs/tools/networking/mu/default.nix
index 1191129894c1..5829dc9d5509 100644
--- a/pkgs/tools/networking/mu/default.nix
+++ b/pkgs/tools/networking/mu/default.nix
@@ -1,24 +1,20 @@
-{ fetchurl, stdenv, sqlite, pkgconfig, autoconf, automake
+{ fetchurl, stdenv, sqlite, pkgconfig, autoreconfHook
 , xapian, glib, gmime, texinfo , emacs, guile
 , gtk3, webkit, libsoup, icu, withMug ? false /* doesn't build with current gtk3 */ }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.13";
+  version = "0.9.16";
   name = "mu-${version}";
 
   src = fetchurl {
     url = "https://github.com/djcb/mu/archive/v${version}.tar.gz";
-    sha256 = "0wj33pma8xgjvn2akk7khzbycwn4c9sshxvzdph9dnpy7gyqxj51";
+    sha256 = "0p7hqri1r1x6750x138cc29mh81kdav2dcim26y58s8an206h25g";
   };
 
-  buildInputs =
-    [ sqlite pkgconfig autoconf automake xapian
-      glib gmime texinfo emacs guile libsoup icu ]
-    ++ stdenv.lib.optionals withMug [ gtk3 webkit ];
-
-  preConfigure = ''
-    autoreconf -i
-  '';
+  buildInputs = [
+    sqlite pkgconfig xapian glib gmime texinfo emacs guile libsoup icu
+    autoreconfHook
+  ] ++ stdenv.lib.optionals withMug [ gtk3 webkit ];
 
   preBuild = ''
     # Fix mu4e-builddir (set it to $out)
diff --git a/pkgs/tools/networking/nethogs/default.nix b/pkgs/tools/networking/nethogs/default.nix
index c8ff0c7a1609..dfa9b26a38e8 100644
--- a/pkgs/tools/networking/nethogs/default.nix
+++ b/pkgs/tools/networking/nethogs/default.nix
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     homepage = http://nethogs.sourceforge.net/;
     platforms = platforms.linux;
-    maintainer = [ maintainers.rycee ];
+    maintainers = [ maintainers.rycee ];
   };
 }
diff --git a/pkgs/tools/networking/netsniff-ng/default.nix b/pkgs/tools/networking/netsniff-ng/default.nix
index 535a96c1db7c..b83b7927679d 100644
--- a/pkgs/tools/networking/netsniff-ng/default.nix
+++ b/pkgs/tools/networking/netsniff-ng/default.nix
@@ -2,9 +2,9 @@
 , libnetfilter_conntrack, libnl, libpcap, libsodium, liburcu, ncurses, perl
 , pkgconfig, zlib }:
 
-let version = "0.6.0"; in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "netsniff-ng-${version}";
+  version = "0.6.0";
 
   # Upstream recommends and supports git
   src = fetchFromGitHub rec {
@@ -41,7 +41,6 @@ stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    inherit version;
     description = "Swiss army knife for daily Linux network plumbing";
     longDescription = ''
       netsniff-ng is a free Linux networking toolkit. Its gain of performance
diff --git a/pkgs/tools/networking/ntp/no-openssl.patch b/pkgs/tools/networking/ntp/no-openssl.patch
deleted file mode 100644
index 3a7784016ffa..000000000000
--- a/pkgs/tools/networking/ntp/no-openssl.patch
+++ /dev/null
@@ -1,161 +0,0 @@
-Fix ntp-keygen build without OpenSSL
-
-http://bk1.ntp.org/ntp-stable/?PAGE=patch&REV=5497b345z5MNTuNvJWuqPSje25NQTg
-
-Index: ntp-4.2.8/Makefile.am
-===================================================================
---- ntp-4.2.8.orig/Makefile.am
-+++ ntp-4.2.8/Makefile.am
-@@ -2,7 +2,10 @@ ACLOCAL_AMFLAGS = -I sntp/m4 -I sntp/lib
- 
- NULL =
- 
-+# moved sntp first to get libtool and libevent built.
-+
- SUBDIRS =		\
-+	sntp		\
- 	scripts		\
- 	include		\
- 	libntp		\
-@@ -17,7 +20,6 @@ SUBDIRS =		\
- 	clockstuff	\
- 	kernel		\
- 	util		\
--	sntp		\
- 	tests		\
- 	$(NULL)
- 
-@@ -64,7 +66,6 @@ BUILT_SOURCES =				\
- 	.gcc-warning			\
- 	libtool				\
- 	html/.datecheck			\
--	sntp/built-sources-only		\
- 	$(srcdir)/COPYRIGHT		\
- 	$(srcdir)/.checkChangeLog	\
- 	$(NULL)
-Index: ntp-4.2.8/configure.ac
-===================================================================
---- ntp-4.2.8.orig/configure.ac
-+++ ntp-4.2.8/configure.ac
-@@ -102,7 +102,7 @@ esac
- enable_nls=no
- LIBOPTS_CHECK_NOBUILD([sntp/libopts])
- 
--NTP_ENABLE_LOCAL_LIBEVENT
-+NTP_LIBEVENT_CHECK_NOBUILD([2], [sntp/libevent])
- 
- NTP_LIBNTP
- 
-@@ -771,6 +771,10 @@ esac
- 
- #### 
- 
-+AC_CHECK_FUNCS([arc4random_buf])
-+
-+#### 
-+
- saved_LIBS="$LIBS"
- LIBS="$LIBS $LDADD_LIBNTP"
- AC_CHECK_FUNCS([daemon])
-Index: ntp-4.2.8/libntp/ntp_crypto_rnd.c
-===================================================================
---- ntp-4.2.8.orig/libntp/ntp_crypto_rnd.c
-+++ ntp-4.2.8/libntp/ntp_crypto_rnd.c
-@@ -24,6 +24,21 @@
- int crypto_rand_init = 0;
- #endif
- 
-+#ifndef HAVE_ARC4RANDOM_BUF
-+static void
-+arc4random_buf(void *buf, size_t nbytes);
-+
-+void
-+evutil_secure_rng_get_bytes(void *buf, size_t nbytes);
-+
-+static void
-+arc4random_buf(void *buf, size_t nbytes)
-+{
-+	evutil_secure_rng_get_bytes(buf, nbytes);
-+	return;
-+}
-+#endif
-+
- /*
-  * As of late 2014, here's how we plan to provide cryptographic-quality
-  * random numbers:
-Index: ntp-4.2.8/sntp/configure.ac
-===================================================================
---- ntp-4.2.8.orig/sntp/configure.ac
-+++ ntp-4.2.8/sntp/configure.ac
-@@ -97,11 +97,14 @@ esac
- enable_nls=no
- LIBOPTS_CHECK
- 
--AM_COND_IF(
--    [BUILD_SNTP],
--    [NTP_LIBEVENT_CHECK],
--    [NTP_LIBEVENT_CHECK_NOBUILD]
--)
-+# From when we only used libevent for sntp:
-+#AM_COND_IF(
-+#    [BUILD_SNTP],
-+#    [NTP_LIBEVENT_CHECK],
-+#    [NTP_LIBEVENT_CHECK_NOBUILD]
-+#)
-+
-+NTP_LIBEVENT_CHECK([2])
- 
- # Checks for libraries.
- 
-Index: ntp-4.2.8/sntp/m4/ntp_libevent.m4
-===================================================================
---- ntp-4.2.8.orig/sntp/m4/ntp_libevent.m4
-+++ ntp-4.2.8/sntp/m4/ntp_libevent.m4
-@@ -1,4 +1,25 @@
--dnl NTP_ENABLE_LOCAL_LIBEVENT				     -*- Autoconf -*-
-+# SYNOPSIS						-*- Autoconf -*-
-+#
-+#  NTP_ENABLE_LOCAL_LIBEVENT
-+#  NTP_LIBEVENT_CHECK([MINVERSION [, DIR]])
-+#  NTP_LIBEVENT_CHECK_NOBUILD([MINVERSION [, DIR]])
-+#
-+# DESCRIPTION
-+#
-+# AUTHOR
-+#
-+#  Harlan Stenn
-+#
-+# LICENSE
-+#
-+#  This file is Copyright (c) 2014 Network Time Foundation
-+# 
-+#  Copying and distribution of this file, with or without modification, are
-+#  permitted in any medium without royalty provided the copyright notice,
-+#  author attribution and this notice are preserved.  This file is offered
-+#  as-is, without any warranty.
-+
-+dnl NTP_ENABLE_LOCAL_LIBEVENT
- dnl
- dnl Provide only the --enable-local-libevent command-line option.
- dnl
-@@ -29,7 +50,7 @@ dnl If NOBUILD is provided as the 3rd ar
- dnl but DO NOT invoke DIR/configure if we are going to use our bundled
- dnl version.  This may be the case for nested packages.
- dnl
--dnl provide --enable-local-libevent .
-+dnl provides --enable-local-libevent .
- dnl
- dnl Examples:
- dnl
-Index: ntp-4.2.8/util/Makefile.am
-===================================================================
---- ntp-4.2.8.orig/util/Makefile.am
-+++ ntp-4.2.8/util/Makefile.am
-@@ -19,6 +19,7 @@ AM_LDFLAGS = $(LDFLAGS_NTP)
- LDADD=		../libntp/libntp.a $(LDADD_LIBNTP) $(LIBM) $(PTHREAD_LIBS)
- tg2_LDADD=	../libntp/libntp.a $(LDADD_LIBNTP) $(LIBM)
- ntp_keygen_LDADD  = version.o $(LIBOPTS_LDADD) ../libntp/libntp.a
-+ntp_keygen_LDADD += $(LDADD_LIBEVENT)
- ntp_keygen_LDADD += $(LDADD_LIBNTP) $(PTHREAD_LIBS) $(LDADD_NTP) $(LIBM)
- ntp_keygen_SOURCES = ntp-keygen.c ntp-keygen-opts.c ntp-keygen-opts.h
- 
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index fecaabe95f94..73e92aa4b8e5 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -23,11 +23,11 @@ let
 in
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "openssh-6.9p1";
+  name = "openssh-7.1p2";
 
   src = fetchurl {
     url = "mirror://openbsd/OpenSSH/portable/${name}.tar.gz";
-    sha256 = "1zkci5nbpb4frmzj2vr3kv9j47x2h72kvybcpr0d8mzk73sls1vf";
+    sha256 = "1gbbvszz74lkc7b2mqr3ccgpm65zj0k5h7a2ssh0c7pjvhjg0xfx";
   };
 
   prePatch = optionalString hpnSupport
@@ -36,7 +36,16 @@ stdenv.mkDerivation rec {
       export NIX_LDFLAGS="$NIX_LDFLAGS -lgcc_s"
     '';
 
-  patches = [ ./locale_archive.patch ./openssh-6.9p1-security-7.0.patch ./disable-roaming.patch ]
+  patches =
+    [ ./locale_archive.patch
+
+      # Fix "HostKeyAlgoritms +...", which we need to enable DSA
+      # host key support.
+      (fetchurl {
+        url = "https://pkgs.fedoraproject.org/cgit/rpms/openssh.git/plain/openssh-7.1p1-hostkeyalgorithms.patch?id=c98f5597250d6f9a8e8d96960beb6306d150ef0f";
+        sha256 = "029lzp9qv1af8wdm0wwj7qwjj1nimgsjj214jqm3amwz0857qgvp";
+      })
+    ]
     ++ optional withGssapiPatches gssapiSrc;
 
   buildInputs = [ zlib openssl libedit pkgconfig pam ]
diff --git a/pkgs/tools/networking/openssh/disable-roaming.patch b/pkgs/tools/networking/openssh/disable-roaming.patch
deleted file mode 100644
index cd81d52f6c18..000000000000
--- a/pkgs/tools/networking/openssh/disable-roaming.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From b842c1891b9979e30a6b53292a236ceb9231be79 Mon Sep 17 00:00:00 2001
-From: Franz Pletz <fpletz@fnordicwalking.de>
-Date: Thu, 14 Jan 2016 16:25:50 +0100
-Subject: [PATCH] Disable roaming, fixes CVE-2016-0777 and CVE-0216-0778
-
-Based on http://ftp.openbsd.org/pub/OpenBSD/patches/5.8/common/010_ssh.patch.sig
----
- readconf.c | 5 ++---
- ssh.c      | 3 ---
- 2 files changed, 2 insertions(+), 6 deletions(-)
-
-diff --git a/readconf.c b/readconf.c
-index db7d0bb..5b03f97 100644
---- a/readconf.c
-+++ b/readconf.c
-@@ -1660,7 +1660,7 @@ initialize_options(Options * options)
- 	options->tun_remote = -1;
- 	options->local_command = NULL;
- 	options->permit_local_command = -1;
--	options->use_roaming = -1;
-+	options->use_roaming = 0;
- 	options->visual_host_key = -1;
- 	options->ip_qos_interactive = -1;
- 	options->ip_qos_bulk = -1;
-@@ -1835,8 +1835,7 @@ fill_default_options(Options * options)
- 		options->tun_remote = SSH_TUNID_ANY;
- 	if (options->permit_local_command == -1)
- 		options->permit_local_command = 0;
--	if (options->use_roaming == -1)
--		options->use_roaming = 1;
-+	options->use_roaming = 0;
- 	if (options->visual_host_key == -1)
- 		options->visual_host_key = 0;
- 	if (options->ip_qos_interactive == -1)
-diff --git a/ssh.c b/ssh.c
-index 3fd5a94..e8428b5 100644
---- a/ssh.c
-+++ b/ssh.c
-@@ -1931,9 +1931,6 @@ ssh_session2(void)
- 			fork_postauth();
- 	}
- 
--	if (options.use_roaming)
--		request_roaming();
--
- 	return client_loop(tty_flag, tty_flag ?
- 	    options.escape_char : SSH_ESCAPECHAR_NONE, id);
- }
--- 
-2.7.0
-
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
deleted file mode 100644
index 02e9eb3a9739..000000000000
--- a/pkgs/tools/networking/openssh/openssh-6.9p1-security-7.0.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-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/p2p/tahoe-lafs/default.nix b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
index 1f935c2f83b0..dae985febbb3 100644
--- a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
+++ b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
@@ -1,19 +1,18 @@
-{ fetchurl, lib, unzip, buildPythonPackage, twisted, foolscap, nevow
-, simplejson, zfec, pycryptopp, sqlite3, darcsver, setuptoolsTrial, python
-, setuptoolsDarcs, numpy, nettools, pycrypto, pyasn1, mock, zope_interface }:
+{ fetchurl, lib, unzip, nettools, pythonPackages }:
 
 # FAILURES: The "running build_ext" phase fails to compile Twisted
 # plugins, because it tries to write them into Twisted's (immutable)
 # store path. The problem appears to be non-fatal, but there's probably
 # some loss of functionality because of it.
 
-buildPythonPackage rec {
-  name = "tahoe-lafs-1.10.0";
+pythonPackages.buildPythonPackage rec {
+  version = "1.10.2";
+  name = "tahoe-lafs-${version}";
   namePrefix = "";
 
   src = fetchurl {
-    url = "http://tahoe-lafs.org/source/tahoe-lafs/releases/allmydata-tahoe-1.10.0.tar.bz2";
-    sha256 = "1qng7j1vykk8zl5da9yklkljvgxfnjky58gcay6dypz91xq1cmcw";
+    url = "http://tahoe-lafs.org/source/tahoe-lafs/releases/allmydata-tahoe-${version}.tar.bz2";
+    sha256 = "1rvv0ik5biy7ji8pg56v0qycnggzr3k6dbg88n555nb6r4cxgmgy";
   };
 
   patchPhase = ''
@@ -32,13 +31,14 @@ buildPythonPackage rec {
   '';
 
   # Some tests want this + http://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-dep-sdists/mock-0.6.0.tar.bz2
-  buildInputs = [ unzip numpy ];
+  buildInputs = with pythonPackages; [ unzip numpy mock ];
 
   # The `backup' command requires `sqlite3'.
-  propagatedBuildInputs =
-    [ twisted foolscap nevow simplejson zfec pycryptopp sqlite3
-      darcsver setuptoolsTrial setuptoolsDarcs pycrypto pyasn1 zope_interface mock
-    ];
+  propagatedBuildInputs = with pythonPackages; [
+    twisted foolscap nevow simplejson zfec pycryptopp sqlite3 darcsver
+    setuptoolsTrial setuptoolsDarcs pycrypto pyasn1 zope_interface
+    service-identity
+  ];
 
   postInstall = ''
     # Install the documentation.
@@ -49,7 +49,7 @@ buildPythonPackage rec {
 
   checkPhase = ''
     # TODO: broken with wheels
-    #${python.interpreter} setup.py trial
+    #${pythonPackages.python.interpreter} setup.py trial
   '';
 
   meta = {
diff --git a/pkgs/tools/networking/par2cmdline/default.nix b/pkgs/tools/networking/par2cmdline/default.nix
index 68f1f7632971..94b9f3bdc7c2 100644
--- a/pkgs/tools/networking/par2cmdline/default.nix
+++ b/pkgs/tools/networking/par2cmdline/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchzip, autoconf, automake}:
+{ stdenv, fetchzip, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   name    = "par2cmdline-${version}";
@@ -9,9 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "0maywssv468ia7rf8jyq4axwahgli3nfykl7x3zip503psywjj8a";
   };
 
-  buildInputs = [ autoconf automake ];
-
-  preConfigure = "autoreconf";
+  buildInputs = [ autoreconfHook ];
 
   meta = {
     homepage = https://github.com/BlackIkeEagle/par2cmdline;
diff --git a/pkgs/tools/networking/pcapc/default.nix b/pkgs/tools/networking/pcapc/default.nix
index 7da123a377be..66028a973b3c 100644
--- a/pkgs/tools/networking/pcapc/default.nix
+++ b/pkgs/tools/networking/pcapc/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, libpcap }:
 
-let version = "2015-03-06"; in
 stdenv.mkDerivation rec {
   name = "pcapc-${version}";
+  version = "2015-03-06";
 
   src = fetchFromGitHub {
     sha256 = "02j45wmxy8qcji0giwx3364pbqb6849s8y0xfvzx40g98mssl027";
@@ -24,7 +24,6 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    inherit version;
     inherit (src.meta) homepage;
     description = "Compile libpcap filter expressions into BPF opcodes";
     license = licenses.gpl3;
diff --git a/pkgs/tools/networking/pdnsd/default.nix b/pkgs/tools/networking/pdnsd/default.nix
index 40d57cd65b63..b1e7e92e815c 100644
--- a/pkgs/tools/networking/pdnsd/default.nix
+++ b/pkgs/tools/networking/pdnsd/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
     sed -i 's/.*(cachedir).*/:/' Makefile.in
   '';
 
+  configureFlags = [ "--enable-ipv6" ];
+
   meta = { 
     description = "Permanent DNS caching";
     homepage = http://www.phys.uu.nl/~rombouts/pdnsd.html;
diff --git a/pkgs/tools/networking/pingtcp/default.nix b/pkgs/tools/networking/pingtcp/default.nix
index 784639b788c3..4d99eaaeff66 100644
--- a/pkgs/tools/networking/pingtcp/default.nix
+++ b/pkgs/tools/networking/pingtcp/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchgit, cmake }:
 
-let version = "0.0.3"; in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "pingtcp-${version}";
+  version = "0.0.3";
 
   # This project uses git submodules, which fetchFromGitHub doesn't support:
   src = fetchgit {
@@ -27,7 +27,6 @@ stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    inherit version;
     description = "Measure TCP handshake time";
     homepage = https://github.com/LanetNetwork/pingtcp;
     license = licenses.gpl3;
diff --git a/pkgs/tools/networking/privoxy/default.nix b/pkgs/tools/networking/privoxy/default.nix
index 2d2136907299..a6dcd1fc0c3e 100644
--- a/pkgs/tools/networking/privoxy/default.nix
+++ b/pkgs/tools/networking/privoxy/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, autoreconfHook, zlib, pcre, w3m, man }:
 
-stdenv.mkDerivation {
-  name = "privoxy-3.0.22";
+stdenv.mkDerivation rec{
+
+  name = "privoxy-3.0.24";
 
   src = fetchurl {
-    url = mirror://sourceforge/ijbswa/Sources/3.0.22%20%28stable%29/privoxy-3.0.22-stable-src.tar.gz;
-    sha256 = "0hfcxyb0i7dr6jfxw0y4kqcr09p8gjvcs7igyizyl5in3zn4y88s";
+    url = "mirror://sourceforge/ijbswa/Sources/3.0.22%20%28stable%29/${name}-stable-src.tar.gz";
+    sha256 = "a381f6dc78f08de0d4a2342d47a5949a6608073ada34b933137184f3ca9fb012";
   };
 
   buildInputs = [ autoreconfHook zlib pcre w3m man ];
@@ -17,4 +18,5 @@ stdenv.mkDerivation {
     platforms = platforms.all;
     maintainers = [ maintainers.phreedom ];
   };
+
 }
diff --git a/pkgs/tools/networking/sipsak/default.nix b/pkgs/tools/networking/sipsak/default.nix
new file mode 100644
index 000000000000..941e1d809ba1
--- /dev/null
+++ b/pkgs/tools/networking/sipsak/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, autoreconfHook, c-ares, openssl ? null }:
+
+stdenv.mkDerivation rec {
+  name = "sipsak-${version}";
+  version = "4.1.2.1";
+
+  buildInputs = [
+    autoreconfHook
+    openssl
+    c-ares
+  ];
+
+  src = fetchurl {
+    url = "https://github.com/sipwise/sipsak/archive/mr${version}.tar.gz";
+    sha256 = "769fe59966b1962b67aa35aad7beb9a2110ebdface36558072a05c6405fb5374";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/sipwise/sipsak;
+    description = "SIP Swiss army knife";
+    license = stdenv.lib.licenses.gpl2;
+  };
+
+}
+
diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix
index b15473ddf4c9..4819c004c1b8 100644
--- a/pkgs/tools/networking/unbound/default.nix
+++ b/pkgs/tools/networking/unbound/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "unbound-${version}";
-  version = "1.5.3";
+  version = "1.5.7";
 
   src = fetchurl {
     url = "http://unbound.net/downloads/${name}.tar.gz";
-    sha256 = "1jly2apag4yg649w3flaq73wdrcfyxnhx5py9j73y7adxmswigbn";
+    sha256 = "1a0wfgp6wqpf7cxlcbprqhnjx6z9ywf0rhrpcf7x98l1mbjqh82b";
   };
 
   buildInputs = [ openssl expat libevent ];
@@ -17,15 +17,17 @@ stdenv.mkDerivation rec {
     "--with-libevent=${libevent}"
     "--localstatedir=/var"
     "--sysconfdir=/etc"
+    "--enable-pie"
+    "--enable-relro-now"
   ];
 
   installFlags = [ "configfile=\${out}/etc/unbound/unbound.conf" ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Validating, recursive, and caching DNS resolver";
-    license = stdenv.lib.licenses.bsd3;
+    license = licenses.bsd3;
     homepage = http://www.unbound.net;
-    maintainers = [ stdenv.lib.maintainers.ehmry ];
+    maintainers = with maintainers; [ ehmry fpletz ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
index 65a90bfae96d..a4599cf049f9 100644
--- a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
+++ b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, apacheAnt, jdk, axis2, dbus_java}:
 
 stdenv.mkDerivation {
-  name = "DisnixWebService-0.4";
+  name = "DisnixWebService-0.5";
   src = fetchurl {
-    url = http://hydra.nixos.org/build/23484798/download/4/DisnixWebService-0.4.tar.bz2;
-    sha256 = "1rfzmh4rxip8nq25fvi6vw51xb7h0nch4l06s0xgwwv4gw8p0lhm";
+    url = http://hydra.nixos.org/build/31143438/download/4/DisnixWebService-0.5.tar.bz2;
+    sha256 = "0wddrb9cf62hzfcrnyq5jn2pb8vc0bzfcl5z53aczkij0rbamw7k";
   };
   buildInputs = [ apacheAnt jdk ];
   PREFIX = ''''${env.out}'';
diff --git a/pkgs/tools/package-management/disnix/default.nix b/pkgs/tools/package-management/disnix/default.nix
index 39d8132ba097..bd215b769d41 100644
--- a/pkgs/tools/package-management/disnix/default.nix
+++ b/pkgs/tools/package-management/disnix/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, pkgconfig, dbus_glib, libxml2, libxslt, getopt, nixUnstable, dysnomia, libintlOrEmpty, libiconv }:
+{ stdenv, fetchurl, pkgconfig, glib, libxml2, libxslt, getopt, nixUnstable, dysnomia, libintlOrEmpty, libiconv }:
 
 stdenv.mkDerivation {
-  name = "disnix-0.4";
+  name = "disnix-0.5";
   
   src = fetchurl {
-    url = http://hydra.nixos.org/build/23484781/download/4/disnix-0.4.tar.gz;
-    sha256 = "1hvjy19br4x7cvgn0rslysrp3w7jfh30s7piq6v9j2b6k6wmh2hk";
+    url = http://hydra.nixos.org/build/31143411/download/4/disnix-0.5.tar.gz;
+    sha256 = "0v0gbbcspaj67sn8ncrripa5af0m2xykyjjn2n55smz5fwx6d124";
   };
   
-  buildInputs = [ pkgconfig dbus_glib libxml2 libxslt getopt nixUnstable libintlOrEmpty libiconv dysnomia ];
+  buildInputs = [ pkgconfig glib libxml2 libxslt getopt nixUnstable libintlOrEmpty libiconv dysnomia ];
 
   dontStrip = true;
   
diff --git a/pkgs/tools/package-management/disnix/disnixos/default.nix b/pkgs/tools/package-management/disnix/disnixos/default.nix
index 4603f108d378..0dd6d5e09b6a 100644
--- a/pkgs/tools/package-management/disnix/disnixos/default.nix
+++ b/pkgs/tools/package-management/disnix/disnixos/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, disnix, socat, pkgconfig, getopt }:
 
 stdenv.mkDerivation {
-  name = "disnixos-0.3";
+  name = "disnixos-0.4";
   
   src = fetchurl {
-    url = http://hydra.nixos.org/build/23484787/download/3/disnixos-0.3.tar.gz;
-    sha256 = "08v9vbg3727mv4iyzwfnf5x3la2xjj1agbbzm8aaa09q7alqasvw";
+    url = http://hydra.nixos.org/build/31143419/download/3/disnixos-0.4.tar.gz;
+    sha256 = "0ff2k15j34b947b8pnw5xhsv9blk9kq350pcp3p3p2qclgf9ahfh";
   };
   
   buildInputs = [ socat pkgconfig disnix getopt ];
diff --git a/pkgs/tools/package-management/disnix/dysnomia/default.nix b/pkgs/tools/package-management/disnix/dysnomia/default.nix
index b5969aa327d0..720526d72a62 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.1";
+  name = "dysnomia-0.5";
   src = fetchurl {
-    url = http://hydra.nixos.org/build/26970202/download/1/dysnomia-0.4.1.tar.gz;
-    sha256 = "03ljlsmdpglimvql2qnr4wj8ci2hj7wcc8bqipndqcahcpcc8k0f";
+    url = http://hydra.nixos.org/build/31143399/download/1/dysnomia-0.5.tar.gz;
+    sha256 = "1dxilzcqnv60l418k1ihyh0gkai5xgzj13s9hcbbb0yp71mv7n9x";
   };
   
   preConfigure = if enableEjabberdDump then "export PATH=$PATH:${ejabberd}/sbin" else "";
diff --git a/pkgs/tools/package-management/dpkg/default.nix b/pkgs/tools/package-management/dpkg/default.nix
index 7b4486a8d862..f65b25d119d8 100644
--- a/pkgs/tools/package-management/dpkg/default.nix
+++ b/pkgs/tools/package-management/dpkg/default.nix
@@ -1,9 +1,8 @@
 { stdenv, fetchurl, perl, zlib, bzip2, xz, makeWrapper }:
 
-let version = "1.18.4"; in
-
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "dpkg-${version}";
+  version = "1.18.4";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/d/dpkg/dpkg_${version}.tar.xz";
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index b7b240780773..3b303bab3b74 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -86,22 +86,25 @@ let
 
 in rec {
 
-   nix = nixStable;
-
-   nixStable = common rec {
-     name = "nix-1.10";
-     src = fetchurl {
-       url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz";
-       sha256 = "5612ca7a549dd1ee20b208123e041aaa95a414a0e8f650ea88c672dc023d10f6";
-     };
-   };
-
-   nixUnstable = lib.lowPrio (common rec {
-     name = "nix-1.11pre4379_786046c";
-     src = fetchurl {
-       url = "http://hydra.nixos.org/build/30375557/download/4/${name}.tar.xz";
-       sha256 = "ff42c70697fce7ca6eade622a31e5fbe45aed0edf1204fb491b40df207a807d5";
-     };
-   });
+  nix = nixStable;
+
+  nixStable = common rec {
+    name = "nix-1.11.2";
+    src = fetchurl {
+      url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz";
+      sha256 = "fc1233814ebb385a2a991c1fb88c97b344267281e173fea7d9acd3f9caf969d6";
+    };
+  };
+
+  nixUnstable = nixStable;
+  /*
+  nixUnstable = lib.lowPrio (common rec {
+    name = "nix-1.11pre4379_786046c";
+    src = fetchurl {
+      url = "http://hydra.nixos.org/build/30375557/download/4/${name}.tar.xz";
+      sha256 = "ff42c70697fce7ca6eade622a31e5fbe45aed0edf1204fb491b40df207a807d5";
+    };
+  });
+  */
 
 }
diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix
index b41afd357513..ae8e1b252c4c 100644
--- a/pkgs/tools/package-management/packagekit/default.nix
+++ b/pkgs/tools/package-management/packagekit/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, intltool, glib, pkgconfig, polkit, python, sqlite }:
 
-let version = "1.0.8"; in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "packagekit-${version}";
+  version = "1.0.8";
 
   src = fetchurl {
     sha256 = "1vaxn4kwdwx6p03n88k4pnbd2l6lb0cbxpcs88kjack1jml17c3l";
@@ -53,7 +53,6 @@ stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    inherit version;
     description = "System to facilitate installing and updating packages";
     longDescription = ''
       PackageKit is a system designed to make installing and updating software
diff --git a/pkgs/tools/security/bruteforce-luks/default.nix b/pkgs/tools/security/bruteforce-luks/default.nix
new file mode 100644
index 000000000000..a28f949c7fdd
--- /dev/null
+++ b/pkgs/tools/security/bruteforce-luks/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, cryptsetup }:
+
+stdenv.mkDerivation rec {
+  name = "bruteforce-luks-${version}";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    sha256 = "0d01rn45dg7ysa75r8z0b31hj1z7w47vv5vr359pl71zxgzngjd2";
+    rev = version;
+    repo = "bruteforce-luks";
+    owner = "glv2";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ cryptsetup ];
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Cracks passwords of LUKS encrypted volumes";
+    longDescription = ''
+      The program tries to decrypt at least one of the key slots by trying
+      all the possible passwords. It is especially useful if you know
+      something about the password (i.e. you forgot a part of your password but
+      still remember most of it). Finding the password of a volume without
+      knowing anything about it would take way too much time (unless the
+      password is really short and/or weak). It can also use a dictionary.
+    '';
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+}
diff --git a/pkgs/tools/security/cipherscan/default.nix b/pkgs/tools/security/cipherscan/default.nix
new file mode 100644
index 000000000000..bde9756ee1a0
--- /dev/null
+++ b/pkgs/tools/security/cipherscan/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, lib, fetchFromGitHub, pkgconfig, openssl, makeWrapper, python, coreutils }:
+
+stdenv.mkDerivation rec {
+  name = "cipherscan-${version}";
+  version = "2015-12-17";
+  src = fetchFromGitHub {
+    owner = "jvehent";
+    repo = "cipherscan";
+    rev = "18b0d1b952d027d20e38f07329817873ec077d26";
+    sha256 = "0b6fkfm2y8w04am4krspmapcc5ngn603n5rlwyjly92z2dawc7h8";
+  };
+  buildInputs = [ makeWrapper python ];
+  patches = [ ./path.patch ];
+  buildPhase = ''
+    substituteInPlace cipherscan \
+      --replace "@OPENSSLBIN@" \
+                "${openssl}/bin/openssl" \
+      --replace "@TIMEOUTBIN@" \
+                "${coreutils}/bin/timeout" \
+      --replace "@READLINKBIN@" \
+                "${coreutils}/bin/readlink"
+
+    substituteInPlace analyze.py \
+      --replace "@OPENSSLBIN@" \
+                "${openssl}/bin/openssl"
+  '';
+  installPhase = ''
+    mkdir -p $out/bin
+
+    cp cipherscan $out/bin
+    cp openssl.cnf $out/bin
+    cp analyze.py $out/bin
+
+    wrapProgram $out/bin/analyze.py --set PYTHONPATH "$PYTHONPATH"
+  '';
+  meta = with lib; {
+    description = "Very simple way to find out which SSL ciphersuites are supported by a target";
+    homepage = "https://github.com/jvehent/cipherscan";
+    license = licenses.mpl20;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/pkgs/tools/security/cipherscan/path.patch b/pkgs/tools/security/cipherscan/path.patch
new file mode 100644
index 000000000000..3b6d8ef80509
--- /dev/null
+++ b/pkgs/tools/security/cipherscan/path.patch
@@ -0,0 +1,93 @@
+diff --git a/analyze.py b/analyze.py
+index bb62af8..e929253 100755
+--- a/analyze.py
++++ b/analyze.py
+@@ -418,13 +418,7 @@ def build_ciphers_lists(opensslbin):
+ 
+     # use system openssl if not on linux 64
+     if not opensslbin:
+-        if platform.system() == 'Linux' and platform.architecture()[0] == '64bit':
+-            opensslbin = mypath + '/openssl'
+-        elif platform.system() == 'Darwin' and platform.architecture()[0] == '64bit':
+-            opensslbin = mypath + '/openssl-darwin64'
+-        else:
+-            opensslbin='openssl'
+-            print("warning: analyze.py is using system's openssl, which may limit the tested ciphers and recommendations")
++        opensslbin = "@OPENSSLBIN@"
+ 
+     logging.debug('Loading all ciphers: ' + allC)
+     all_ciphers = subprocess.Popen([opensslbin, 'ciphers', allC],
+diff --git a/cipherscan b/cipherscan
+index 236b34f..a240d13 100755
+--- a/cipherscan
++++ b/cipherscan
+@@ -30,43 +30,12 @@ if [[ -n $NOAUTODETECT ]]; then
+ else
+     case "$(uname -s)" in
+         Darwin)
+-            opensslbin_name="openssl-darwin64"
+-
+-            READLINKBIN=$(which greadlink 2>/dev/null)
+-            if [[ -z $READLINKBIN ]]; then
+-                echo "greadlink not found. (try: brew install coreutils)" 1>&2
+-                exit 1
+-            fi
+-            TIMEOUTBIN=$(which gtimeout 2>/dev/null)
+-            if [[ -z $TIMEOUTBIN ]]; then
+-                echo "gtimeout not found. (try: brew install coreutils)" 1>&2
+-                exit 1
+-            fi
++            READLINKBIN="@READLINKBIN@"
++            TIMEOUTBIN="@TIMEOUTBIN@"
+             ;;
+         *)
+-            opensslbin_name="openssl"
+-
+-            # test that readlink or greadlink (darwin) are present
+-            READLINKBIN="$(which readlink)"
+-
+-            if [[ -z $READLINKBIN ]]; then
+-                READLINKBIN="$(which greadlink)"
+-                if [[ -z $READLINKBIN ]]; then
+-                    echo "neither readlink nor greadlink are present. install coreutils with {apt-get,yum,brew} install coreutils" 1>&2
+-                    exit 1
+-                fi
+-            fi
+-
+-            # test that timeout or gtimeout (darwin) are present
+-            TIMEOUTBIN="$(which timeout)"
+-
+-            if [[ -z $TIMEOUTBIN ]]; then
+-                TIMEOUTBIN="$(which gtimeout)"
+-                if [[ -z $TIMEOUTBIN ]]; then
+-                    echo "neither timeout nor gtimeout are present. install coreutils with {apt-get,yum,brew} install coreutils" 1>&2
+-                    exit 1
+-                fi
+-            fi
++            READLINKBIN="@READLINKBIN@"
++            TIMEOUTBIN="@TIMEOUTBIN@"
+ 
+             # Check for busybox, which has different arguments
+             TIMEOUTOUTPUT="$($TIMEOUTBIN --help 2>&1)"
+@@ -1944,20 +1913,7 @@ do
+ done
+ 
+ if [[ -z $OPENSSLBIN ]]; then
+-    readlink_result=$("$READLINKBIN" -f "$0")
+-    if [[ -z $readlink_result ]]; then
+-        echo "$READLINKBIN -f $0 failed, aborting." 1>&2
+-        exit 1
+-    fi
+-    REALPATH=$(dirname "$readlink_result")
+-    if [[ -z $REALPATH ]]; then
+-        echo "dirname $REALPATH failed, aborting." 1>&2
+-        exit 1
+-    fi
+-    OPENSSLBIN="${REALPATH}/${opensslbin_name}"
+-    if ! [[ -x "${OPENSSLBIN}" ]]; then
+-        OPENSSLBIN="$(which openssl)"  # fallback to generic openssl
+-    fi
++    OPENSSLBIN="@OPENSSLBIN@"
+ fi
+ # use custom config file to enable GOST ciphers
+ if [[ -e $DIRNAMEPATH/openssl.cnf ]]; then
diff --git a/pkgs/tools/security/eid-mw/default.nix b/pkgs/tools/security/eid-mw/default.nix
index 725242914414..32cf4f9a4e2c 100644
--- a/pkgs/tools/security/eid-mw/default.nix
+++ b/pkgs/tools/security/eid-mw/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchFromGitHub, autoreconfHook, gtk3, nssTools, pcsclite
 , pkgconfig }:
 
-let version = "4.1.12"; in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "eid-mw-${version}";
+  version = "4.1.13";
 
   src = fetchFromGitHub {
-    sha256 = "12nnzh3idnl5bdjqmm8si5nj7yr42mkxhzq70s760bnfmvbqgbmc";
+    sha256 = "1fkazhw6gs191w789fnp6mwnxrx9p38b3kh5bngb1ir0zhkgghkq";
     rev = "v${version}";
     repo = "eid-mw";
     owner = "Fedict";
@@ -35,7 +35,6 @@ stdenv.mkDerivation {
   '';
 
   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/eid-viewer/default.nix b/pkgs/tools/security/eid-viewer/default.nix
index ac6dee4beaa3..d1b29e137df9 100644
--- a/pkgs/tools/security/eid-viewer/default.nix
+++ b/pkgs/tools/security/eid-viewer/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, makeWrapper, jre, pcsclite }:
 
-let version = "4.1.9"; in
 stdenv.mkDerivation rec {
   name = "eid-viewer-${version}";
+  version = "4.1.9";
 
   src = fetchurl {
     url = "https://downloads.services.belgium.be/eid/eid-viewer-${version}-v${version}.src.tar.gz";
@@ -29,7 +29,6 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = with stdenv.lib; {
-    inherit version;
     description = "Belgian electronic identity card (eID) viewer";
     homepage = http://eid.belgium.be/en/using_your_eid/installing_the_eid_software/linux/;
     license = licenses.lgpl3;
diff --git a/pkgs/tools/security/gnupg/21.nix b/pkgs/tools/security/gnupg/21.nix
index bafcd88f1b90..dc86c6e420ef 100644
--- a/pkgs/tools/security/gnupg/21.nix
+++ b/pkgs/tools/security/gnupg/21.nix
@@ -13,15 +13,13 @@ with stdenv.lib;
 assert x11Support -> pinentry != null;
 
 stdenv.mkDerivation rec {
-  name = "gnupg-2.1.10";
+  name = "gnupg-2.1.11";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha256 = "1ybcsazjm21i2ys1wh49cz4azmqz7ghx5rb6hm4gm93i2zc5igck";
+    sha256 = "06mn2viiwsyq991arh5i5fhr9jyxq2bi0jkdj7ndfisxihngpc5p";
   };
 
-  patches = [ ./gpgkey2ssh-21.patch ];
-
   postPatch = stdenv.lib.optionalString stdenv.isLinux ''
     sed -i 's,"libpcsclite\.so[^"]*","${pcsclite}/lib/libpcsclite.so",g' scd/scdaemon.c
   ''; #" fix Emacs syntax highlighting :-(
diff --git a/pkgs/tools/security/gnupg/gpgkey2ssh-21.patch b/pkgs/tools/security/gnupg/gpgkey2ssh-21.patch
deleted file mode 100644
index 198869423e5c..000000000000
--- a/pkgs/tools/security/gnupg/gpgkey2ssh-21.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/tools/gpgkey2ssh.c b/tools/gpgkey2ssh.c
-index f12c5f4..2e3f2ac 100644
---- a/tools/gpgkey2ssh.c
-+++ b/tools/gpgkey2ssh.c
-@@ -281,7 +281,7 @@ main (int argc, char **argv)
-   keyid = argv[1];
- 
-   asprintf (&command,
--            "gpg2 --list-keys --with-colons --with-key-data '%s'",
-+            "@out@/bin/gpg2 --list-keys --with-colons --with-key-data '%s'",
-             keyid);
-   if (! command)
-     {
diff --git a/pkgs/tools/security/haka/default.nix b/pkgs/tools/security/haka/default.nix
new file mode 100644
index 000000000000..d040aaa6aea8
--- /dev/null
+++ b/pkgs/tools/security/haka/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, cmake, swig, wireshark, check, rsync, libpcap, gawk, libedit, pcre }:
+
+let version = "0.3.0"; in
+
+stdenv.mkDerivation rec {
+  name = "haka-${version}";
+
+  src = fetchurl {
+    name = "haka_${version}_source.tar.gz";
+    url = "https://github.com/haka-security/haka/releases/download/v${version}/haka_${version}_source.tar.gz";
+
+    # https://github.com/haka-security/haka/releases/download/v${version}/haka_${version}_source.tar.gz.sha1.txt
+    sha1 = "87625ed32841cc0b3aa92aa49397ce71ce434bc2";
+  };
+
+  preConfigure = ''
+    sed -i 's,/etc,'$out'/etc,' src/haka/haka.c
+    sed -i 's,/etc,'$out'/etc,' src/haka/CMakeLists.txt
+    sed -i 's,/opt/haka/etc,$out/opt/haka/etc,' src/haka/haka.1
+    sed -i 's,/etc,'$out'/etc,' doc/user/tool_suite_haka.rst
+  '';
+
+  buildInputs = [ cmake swig wireshark check rsync libpcap gawk libedit pcre ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    dscription = "A collection of tools that allows capturing TCP/IP packets and filtering them based on Lua policy files";
+    homepage = http://www.haka-security.org/;
+    license = stdenv.lib.licenses.mpl20;
+    maintaineres = [ stdenv.lib.maintainers.tvestelind ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/security/pass/default.nix b/pkgs/tools/security/pass/default.nix
index 03720d6abe1a..56e20726793d 100644
--- a/pkgs/tools/security/pass/default.nix
+++ b/pkgs/tools/security/pass/default.nix
@@ -19,7 +19,9 @@ stdenv.mkDerivation rec {
     sha256 = "05bk3lrp5jwg0v338lvylp7glpliydzz4jf5pjr6k3kagrv3jyik";
   };
 
-  patches = if stdenv.isDarwin then [ ./no-darwin-getopt.patch ] else null;
+  patches =
+    [ ./program-name.patch ] ++
+    stdenv.lib.optional stdenv.isDarwin ./no-darwin-getopt.patch;
 
   buildInputs = [ makeWrapper ];
 
diff --git a/pkgs/tools/security/pass/program-name.patch b/pkgs/tools/security/pass/program-name.patch
new file mode 100644
index 000000000000..db01942f638d
--- /dev/null
+++ b/pkgs/tools/security/pass/program-name.patch
@@ -0,0 +1,13 @@
+diff --git a/src/password-store.sh b/src/password-store.sh
+index 6313384..6607a98 100755
+--- a/src/password-store.sh
++++ b/src/password-store.sh
+@@ -573,7 +573,7 @@ cmd_git() {
+ # END subcommand functions
+ #
+ 
+-PROGRAM="${0##*/}"
++PROGRAM="pass"
+ COMMAND="$1"
+ 
+ case "$1" in
diff --git a/pkgs/tools/security/rarcrack/default.nix b/pkgs/tools/security/rarcrack/default.nix
new file mode 100644
index 000000000000..3491feccc45c
--- /dev/null
+++ b/pkgs/tools/security/rarcrack/default.nix
@@ -0,0 +1,39 @@
+{stdenv, fetchFromGitHub, libxml2, file, p7zip, unrar, unzip}:
+
+stdenv.mkDerivation rec {
+  name = "rarcrack-${version}";
+  version = "0.2";
+
+  src = fetchFromGitHub {
+    owner = "jaredsburrows";
+    repo = "Rarcrack";
+    rev = "35ead64cd2b967eec3e3e3a4c328b89b11ff32a0";
+    sha256 = "134fq84896w5vp8vg4qg0ybpb466njibigyd7bqqm1xydr07qrgn";
+  };
+
+  buildInputs = [ libxml2 file p7zip unrar unzip ];
+  buildFlags = if stdenv.cc.isClang then [ "CC=clang" ] else null;
+  installFlags = "PREFIX=\${out}";
+
+  patchPhase = ''
+   substituteInPlace rarcrack.c --replace "file -i" "${file}/bin/file -i"
+  '';
+
+  preInstall = ''
+    mkdir -p $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "This program can crack zip,7z and rar file passwords";
+    longDescription = ''
+    If you forget your password for compressed archive (rar, 7z, zip), this program is the solution.
+    This program uses bruteforce algorithm to find correct password. You can specify wich characters will be used in password generations.
+    Warning: Please don't use this program for any illegal things!
+    '';
+    homepage = https://github.com/jaredsburrows/Rarcrack;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ davidak ];
+    platforms = with platforms; unix;
+  };
+}
+
diff --git a/pkgs/tools/security/sshuttle/default.nix b/pkgs/tools/security/sshuttle/default.nix
index 62d3d2613cc1..b7cefdd86ea4 100644
--- a/pkgs/tools/security/sshuttle/default.nix
+++ b/pkgs/tools/security/sshuttle/default.nix
@@ -2,8 +2,8 @@
 , coreutils, iptables, nettools, openssh, procps }:
   
 pythonPackages.buildPythonPackage rec {
-  version = "0.76";
   name = "sshuttle-${version}";
+  version = "0.76";
 
   src = fetchurl {
     sha256 = "1q0hr0vhdvv23cw5dqndsmf61283mvs6b14662ci00xj6zp5v48b";
@@ -26,7 +26,6 @@ pythonPackages.buildPythonPackage rec {
   '';
   
   meta = with stdenv.lib; {
-    inherit version;
     homepage = https://github.com/sshuttle/sshuttle/;
     description = "Transparent proxy server that works as a poor man's VPN";
     longDescription = ''
diff --git a/pkgs/tools/security/tor/torbrowser.nix b/pkgs/tools/security/tor/torbrowser.nix
index ca3e3aa10566..dfde2b57aa69 100644
--- a/pkgs/tools/security/tor/torbrowser.nix
+++ b/pkgs/tools/security/tor/torbrowser.nix
@@ -16,13 +16,13 @@ let
 
 in stdenv.mkDerivation rec {
   name = "tor-browser-${version}";
-  version = "5.0.7";
+  version = "5.5.2";
 
   src = fetchurl {
     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
-      "0igqh02bcdr0b4m6df46l1l1z38d4nh4pyfn6jqsvahacdl2qbsg" else
-      "1401j340348rqwd5c1m8hnxw7qkwpzqfa64q01cp08lz9cxxml4r";
+      "1zb5fssy9c37cb0ab083f2jifw47wnck32nc6zpijmqm059yccxc" else
+      "1gjc6prx3n769nj4gzhfjrb2qpw3ypvsb3pp0a130db1ssgnzqqr";
   };
 
   desktopItem = makeDesktopItem {
diff --git a/pkgs/tools/system/foremost/default.nix b/pkgs/tools/system/foremost/default.nix
index af28565f4661..cfac89237795 100644
--- a/pkgs/tools/system/foremost/default.nix
+++ b/pkgs/tools/system/foremost/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl }:
 
-let version = "1.5.7"; in
 stdenv.mkDerivation rec {
   name = "foremost-${version}";
+  version = "1.5.7";
 
   src = fetchurl {
     sha256 = "0d2zxw0ijg8cd3ksgm8cf8jg128zr5x7z779jar90g9f47pm882h";
@@ -20,7 +20,6 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    inherit version;
     description = "Recover files based on their contents";
     longDescription = ''
       Foremost is a console program to recover files based on their headers,
diff --git a/pkgs/tools/system/gptfdisk/default.nix b/pkgs/tools/system/gptfdisk/default.nix
index 9306b0e84cca..264dbf1eb279 100644
--- a/pkgs/tools/system/gptfdisk/default.nix
+++ b/pkgs/tools/system/gptfdisk/default.nix
@@ -1,8 +1,8 @@
 { fetchurl, stdenv, libuuid, popt, icu, ncurses }:
 
-let version = "1.0.1"; in
 stdenv.mkDerivation rec {
   name = "gptfdisk-${version}";
+  version = "1.0.1";
 
   src = fetchurl {
     # http://www.rodsbooks.com/gdisk/${name}.tar.gz also works, but the home
@@ -36,7 +36,6 @@ stdenv.mkDerivation rec {
   '';
 
   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/;
diff --git a/pkgs/tools/system/lr/default.nix b/pkgs/tools/system/lr/default.nix
new file mode 100644
index 000000000000..47233532df3c
--- /dev/null
+++ b/pkgs/tools/system/lr/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub }:
+
+let
+  version = "0.2";
+in
+stdenv.mkDerivation {
+  name = "lr-${version}";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "chneukirchen";
+    repo = "lr";
+    rev = "v${version}";
+    sha256 = "1wn1j0cf84r4nli92myf3waackh2p6r2hkavgx6533x15kdyfnf7";
+  };
+
+  makeFlags = "PREFIX=$(out)";
+
+  meta = {
+    homepage = "http://github.com/chneukirchen/lr";
+    description = "List files recursively";
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [stdenv.lib.maintainers.globin];
+  };
+}
diff --git a/pkgs/tools/system/nq/default.nix b/pkgs/tools/system/nq/default.nix
new file mode 100644
index 000000000000..2f34b354d52e
--- /dev/null
+++ b/pkgs/tools/system/nq/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, lib, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "nq-${version}";
+  version = "0.1";
+  src = fetchFromGitHub {
+    owner = "chneukirchen";
+    repo = "nq";
+    rev = "v${version}";
+    sha256 = "17n0yqhpsys3s872ki5rf82ky73ylahz6xi9x0rfrv7fqr5nzsz4";
+  };
+  makeFlags = "PREFIX=$(out)";
+  postPatch = ''
+    sed -i tq \
+      -e 's|\bfq\b|'$out'/bin/fq|g' \
+      -e 's|\bnq\b|'$out'/bin/nq|g'
+  '';
+  meta = with lib; {
+    description = "Unix command line queue utility";
+    homepage = "https://github.com/chneukirchen/nq";
+    license = licenses.publicDomain;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/pkgs/tools/system/stress-ng/default.nix b/pkgs/tools/system/stress-ng/default.nix
index 12c250788390..a973d143fa97 100644
--- a/pkgs/tools/system/stress-ng/default.nix
+++ b/pkgs/tools/system/stress-ng/default.nix
@@ -1,10 +1,8 @@
 { stdenv, fetchurl, attr, keyutils }:
 
-let
-  version = "0.05.00";
+stdenv.mkDerivation rec {
   name = "stress-ng-${version}";
-in stdenv.mkDerivation {
-  inherit name;
+  version = "0.05.00";
 
   src = fetchurl {
     sha256 = "0ppri86z6fj48nm5l0x1r8mh7mwaf7bvhmi10jz6a8w7apnc181w";
@@ -22,7 +20,6 @@ in stdenv.mkDerivation {
   installFlags = [ "DESTDIR=$(out)" ];
 
   meta = with stdenv.lib; {
-    inherit version;
     description = "Stress test a computer system";
     longDescription = ''
       Stress test a system in various selectable ways, exercising both various
diff --git a/pkgs/tools/system/suid-chroot/default.nix b/pkgs/tools/system/suid-chroot/default.nix
index 4aba9f48b764..3d4fe6e18a24 100644
--- a/pkgs/tools/system/suid-chroot/default.nix
+++ b/pkgs/tools/system/suid-chroot/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl }:
 
-let version = "1.0.2"; in
 stdenv.mkDerivation rec {
   name = "suid-chroot-${version}";
+  version = "1.0.2";
 
   src = fetchurl {
     sha256 = "1a9xqhck0ikn8kfjk338h9v1yjn113gd83q0c50k78xa68xrnxjx";
@@ -14,7 +14,6 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    inherit version;
     description = "Setuid-safe wrapper for chroot";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ nckx ];
diff --git a/pkgs/tools/system/xe/default.nix b/pkgs/tools/system/xe/default.nix
new file mode 100644
index 000000000000..303374942c0d
--- /dev/null
+++ b/pkgs/tools/system/xe/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, lib, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "xe-${version}";
+  version = "0.5";
+  src = fetchFromGitHub {
+    owner = "chneukirchen";
+    repo = "xe";
+    rev = "v${version}";
+    sha256 = "0rv9npgjb695slql39asyp6znv9r3a6jbcsrsa1cmhk82iy4bljc";
+  };
+  makeFlags = "PREFIX=$(out)";
+  meta = with lib; {
+    description = "Simple xargs and apply replacement";
+    homepage = "https://github.com/chneukirchen/xe";
+    license = licenses.publicDomain;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/pkgs/tools/text/aha/default.nix b/pkgs/tools/text/aha/default.nix
index 152a46cd50c4..7eb1c022a959 100644
--- a/pkgs/tools/text/aha/default.nix
+++ b/pkgs/tools/text/aha/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub }:
 
-let version = "0.4.8"; in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "aha-${version}";
+  version = "0.4.8";
 
   src = fetchFromGitHub {
     sha256 = "1209rda6kc9x88b47y1035zs9lxk0x3qzsb87f8m5b55fdkgxqlj";
@@ -16,7 +16,6 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    inherit version;
     description = "ANSI HTML Adapter";
     longDescription = ''
       aha takes ANSI SGR-coloured input and produces W3C-conformant HTML code.
diff --git a/pkgs/tools/text/colordiff/default.nix b/pkgs/tools/text/colordiff/default.nix
index 53e683561fb8..b22a1da22641 100644
--- a/pkgs/tools/text/colordiff/default.nix
+++ b/pkgs/tools/text/colordiff/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.colordiff.org/;
     license = licenses.gpl3;
     platforms = platforms.linux ++ platforms.darwin;
-    maintainer = with maintainers; [ nckx ];
+    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/text/popfile/default.nix b/pkgs/tools/text/popfile/default.nix
new file mode 100644
index 000000000000..3310c1a2fe4a
--- /dev/null
+++ b/pkgs/tools/text/popfile/default.nix
@@ -0,0 +1,71 @@
+{ stdenv, fetchzip, makeWrapper, perlPackages,
+... }:
+
+stdenv.mkDerivation rec {
+  appname = "popfile";
+  version = "1.1.3";
+  name = "${appname}-${version}";
+
+  src = fetchzip {
+    url = "http://getpopfile.org/downloads/${appname}-${version}.zip";
+    sha256 = "0gcib9j7zxk8r2vb5dbdz836djnyfza36vi8215nxcdfx1xc7l63";
+    stripRoot = false;
+  };
+
+  buildInputs = [ makeWrapper ] ++ (with perlPackages; [
+    ## These are all taken from the popfile documentation as applicable to Linux
+    ## http://getpopfile.org/docs/howtos:allplatformsrequireperl
+    perl
+    DBI
+    DBDSQLite
+    Digest
+    DigestMD5
+    HTMLTagset
+    MIMEBase64 # == MIMEQuotedPrint
+    TimeDate # == DateParse
+    HTMLTemplate
+    # IO::Socket::Socks is not in nixpkgs
+    # IOSocketSocks 
+    IOSocketSSL
+    NetSSLeay
+    SOAPLite
+  ]);
+
+
+  phases = [ "unpackPhase" "installPhase" "patchPhase" "postInstall" ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    # I user `cd` rather than `cp $out/* ...` b/c the * breaks syntax
+    # highlighting in emacs for me.
+    cd $src
+    cp -r * $out/bin
+    cd $out/bin
+    chmod +x *.pl
+  '';
+
+  patchPhase = "patchShebangs $out";
+
+  postInstall = ''
+    find $out -name '*.pl' -executable | while read path; do
+      wrapProgram "$path" \
+        --prefix PERL5LIB : $PERL5LIB:$out/bin \
+        --set POPFILE_ROOT $out/bin \
+        --set POPFILE_USER \$\{POPFILE_USER:-\$HOME/.popfile\} \
+        --run "test -d \$POPFILE_USER || mkdir -m 0700 -p \$POPFILE_USER"
+    done
+  '';
+
+  meta = {
+    description = "An email classification system that automatically sorts messages and fights spam.";
+    homepage = http://getpopfile.org;
+    license = stdenv.lib.licenses.gpl2;
+
+    # Should work on OS X, but havent tested it.
+    # Windows support is more complicated.
+    # http://getpopfile.org/docs/faq:systemrequirements
+    platforms = stdenv.lib.platforms.linux;
+  };
+
+}
+  
diff --git a/pkgs/tools/text/recode/default.nix b/pkgs/tools/text/recode/default.nix
index 004a93f6ebdd..4ea2631bcb72 100644
--- a/pkgs/tools/text/recode/default.nix
+++ b/pkgs/tools/text/recode/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, python, perl, autoconf, automake, libtool, intltool, flex,
+{ stdenv, fetchFromGitHub, python, perl, intltool, flex, autoreconfHook,
 texinfo, libiconv }:
 
 stdenv.mkDerivation rec {
@@ -11,17 +11,13 @@ stdenv.mkDerivation rec {
     sha256 = "06vyjqaraamcc5vka66mlvxj27ihccqc74aymv2wn8nphr2rhh03";
   };
 
-  nativeBuildInputs = [ python perl autoconf automake libtool intltool flex texinfo
-  libiconv ];
+  nativeBuildInputs = [ python perl intltool flex texinfo autoreconfHook libiconv ];
 
-  preConfigure = ''
+  preAutoreconf = ''
     # fix build with new automake, https://bugs.gentoo.org/show_bug.cgi?id=419455
-    #rm acinclude.m4
     substituteInPlace Makefile.am --replace "ACLOCAL = ./aclocal.sh @ACLOCAL@" ""
     sed -i '/^AM_C_PROTOTYPES/d' configure.ac
     substituteInPlace src/Makefile.am --replace "ansi2knr" ""
-
-    autoreconf -fi
   ''
   + stdenv.lib.optionalString stdenv.isDarwin ''
     export LDFLAGS=-lintl
diff --git a/pkgs/tools/text/yaml-merge/default.nix b/pkgs/tools/text/yaml-merge/default.nix
new file mode 100644
index 000000000000..00673341cfc6
--- /dev/null
+++ b/pkgs/tools/text/yaml-merge/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, pythonPackages }:
+
+stdenv.mkDerivation rec {
+  name= "yaml-merge-2016-02-16";
+
+  src = fetchFromGitHub {
+    owner = "abbradar";
+    repo = "yaml-merge";
+    rev = "4eef7b68632d79dec369b4eff5a8c63f995f81dc";
+    sha256 = "0mwda2shk43i6f22l379fcdchmb07fm7nf4i2ii7fk3ihkhb8dgp";
+  };
+
+  pythonPath = with pythonPackages; [ pyyaml ];
+  nativeBuildInputs = [ pythonPackages.wrapPython ];
+
+  installPhase = ''
+    install -Dm755 yaml-merge.py $out/bin/yaml-merge
+    wrapPythonPrograms
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Merge YAML data files";
+    homepage = https://github.com/abbradar/yaml-merge;
+    license = licenses.bsd2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/tools/typesetting/git-latexdiff/default.nix b/pkgs/tools/typesetting/git-latexdiff/default.nix
new file mode 100644
index 000000000000..76536190f345
--- /dev/null
+++ b/pkgs/tools/typesetting/git-latexdiff/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitLab, git, bash }:
+
+stdenv.mkDerivation rec {
+  version = "1.1.2";
+  name = "git-latexdiff-${version}";
+
+  src = fetchFromGitLab {
+    sha256 = "1alnrjcf3f1qv7fk8h9yachmdz7mjgcynlgsvchfgcb2cpdavxjg";
+    rev = "v${version}";
+    repo = "git-latexdiff";
+    owner = "git-latexdiff";
+  };
+
+  buildInputs = [ git bash ];
+
+  dontBuild = true;
+
+  patches = [ ./shebang.patch ./version-test.patch ];
+
+  postPatch = ''
+    substituteInPlace git-latexdiff \
+      --replace "@GIT_LATEXDIFF_VERSION@" "v${version}"
+  '';
+
+  installPhase = ''
+    mkdir -p $prefix/bin
+    mv git-latexdiff $prefix/bin
+    chmod +x $prefix/bin/git-latexdiff
+  '';
+
+  meta = with stdenv.lib; {
+    description = "View diff on LaTeX source files on the generated PDF files";
+    maintainers = [ maintainers.DamienCassou ];
+    license = licenses.free; # https://gitlab.com/git-latexdiff/git-latexdiff/issues/9
+  };
+}
diff --git a/pkgs/tools/typesetting/git-latexdiff/shebang.patch b/pkgs/tools/typesetting/git-latexdiff/shebang.patch
new file mode 100644
index 000000000000..1d6d27c6e310
--- /dev/null
+++ b/pkgs/tools/typesetting/git-latexdiff/shebang.patch
@@ -0,0 +1,10 @@
+Fix for https://gitlab.com/git-latexdiff/git-latexdiff/issues/8
+---
+--- src/git-latexdiff	2016-01-26 14:04:54.338568955 +0100
++++ src/git-latexdiff	2016-01-26 14:40:23.700381943 +0100
+@@ -1,4 +1,4 @@
+-#! /bin/bash
++#!/usr/bin/env bash
+ 
+ # Main author: Matthieu Moy <Matthieu.Moy@imag.fr> (2012 - 2015)
+ # (See the Git history for other contributors)
diff --git a/pkgs/tools/typesetting/git-latexdiff/version-test.patch b/pkgs/tools/typesetting/git-latexdiff/version-test.patch
new file mode 100644
index 000000000000..e116bbd2c24d
--- /dev/null
+++ b/pkgs/tools/typesetting/git-latexdiff/version-test.patch
@@ -0,0 +1,17 @@
+Fix for https://gitlab.com/git-latexdiff/git-latexdiff/issues/7
+---
+--- src/git-latexdiff	2016-01-26 14:04:54.338568955 +0100
++++ src/git-latexdiff	2016-01-26 14:40:23.700381943 +0100
+@@ -44,11 +44,7 @@
+ git_latexdiff_version='@GIT_LATEXDIFF_VERSION@'
+ 
+ git_latexdiff_compute_version () {
+-    if [ "$git_latexdiff_version" = '@GIT_LATEXDIFF_VERSION@' ]; then
+-	(cd "$(dirname "$0")" && git describe --tags HEAD 2>/dev/null || echo 'Unknown version')
+-    else
+-	echo "$git_latexdiff_version"
+-    fi
++    echo "$git_latexdiff_version"
+ }
+ 
+ usage () {
diff --git a/pkgs/tools/typesetting/odpdown/default.nix b/pkgs/tools/typesetting/odpdown/default.nix
new file mode 100644
index 000000000000..9ff33b2fb698
--- /dev/null
+++ b/pkgs/tools/typesetting/odpdown/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, buildPythonPackage, libreoffice, lpod, lxml, mistune, pillow
+, pygments
+}:
+
+buildPythonPackage rec {
+
+  name = "odpdown-${version}";
+  version = "0.4.1";
+
+  src = fetchurl {
+    url = "https://github.com/thorstenb/odpdown/archive/v${version}.tar.gz";
+    sha256 = "005eecc73c65b9d4c09532547940718a7b308cd565f62a213dfa040827d4d565";
+  };
+
+  propagatedBuildInputs = [ libreoffice lpod lxml mistune pillow pygments ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/thorstenb/odpdown;
+    repositories.git = https://github.com/thorstenb/odpdown.git;
+    description = "Create nice-looking slides from your favourite text editor";
+    longDescription = ''
+      Have a tool like pandoc, latex beamer etc, that you can write (or
+      auto-generate) input for within your favourite hacker's editor, and
+      generate nice-looking slides from. Using your corporation's mandatory,
+      CI-compliant and lovely-artsy Impress template. Including
+      syntax-highlighted code snippets of your latest hack, auto-fitted into the
+      slides.
+    '';
+    license = licenses.bsd3;
+    platforms = with platforms; linux ++ darwin;
+    maintainers = with maintainers; [ vandenoever ];
+  };
+}
diff --git a/pkgs/tools/typesetting/tex/disser/default.nix b/pkgs/tools/typesetting/tex/disser/default.nix
deleted file mode 100644
index cbbc3844fefb..000000000000
--- a/pkgs/tools/typesetting/tex/disser/default.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-x@{builderDefsPackage
-  , unzip, texLive, texLiveCMSuper, texLiveAggregationFun
-  , ...}:
-builderDefsPackage
-(a :
-let
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
-    ["texLive" "texLiveCMSuper" "texLiveAggregationFun"];
-
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames))
-    ++ [(a.texLiveAggregationFun {paths=[a.texLive a.texLiveCMSuper];})];
-  sourceInfo = rec {
-    baseName="disser";
-    version="1.3.0";
-    name="${baseName}-${version}";
-    project="${baseName}";
-    url="mirror://sourceforge/project/${project}/${baseName}/${version}/${name}.zip";
-    hash="1iab3va6xw53l8xzmd83kbnzqah9f6imzzfd3c2054q53p0ndlim";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
-
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["setVars" "doMakeInstall"];
-
-  setVars = a.noDepEntry ''
-    export HOME="$TMPDIR"
-  '';
-
-  makeFlags = ["DESTDIR=$out/share/texmf-dist"];
-
-  meta = {
-    description = "Russian PhD thesis LaTeX package";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux; # platform-independent
-    license = a.lib.licenses.free; # LaTeX Project Public License
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://sourceforge.net/projects/disser/files/disser/";
-    };
-  };
-}) x
diff --git a/pkgs/tools/virtualization/azure-cli/node-packages.nix b/pkgs/tools/virtualization/azure-cli/node-packages.nix
index 9601e4215abe..2cf7380caee7 100644
--- a/pkgs/tools/virtualization/azure-cli/node-packages.nix
+++ b/pkgs/tools/virtualization/azure-cli/node-packages.nix
@@ -13,12 +13,12 @@
       sha1 = "ed205574c05ae93c68f0b59909588242f2c9ccf8";
     };
     deps = {
-      "date-utils-1.2.17" = self.by-version."date-utils"."1.2.17";
-      "jws-3.1.0" = self.by-version."jws"."3.1.0";
+      "date-utils-1.2.18" = self.by-version."date-utils"."1.2.18";
+      "jws-3.1.1" = self.by-version."jws"."3.1.1";
       "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
-      "request-2.67.0" = self.by-version."request"."2.67.0";
+      "request-2.69.0" = self.by-version."request"."2.69.0";
       "underscore-1.8.3" = self.by-version."underscore"."1.8.3";
-      "xmldom-0.1.20" = self.by-version."xmldom"."0.1.20";
+      "xmldom-0.1.22" = self.by-version."xmldom"."0.1.22";
       "xpath.js-1.0.6" = self.by-version."xpath.js"."1.0.6";
       "async-1.5.2" = self.by-version."async"."1.5.2";
     };
@@ -40,12 +40,12 @@
       sha1 = "7946eb374c837730bd3cc49b0894928154e505d0";
     };
     deps = {
-      "date-utils-1.2.17" = self.by-version."date-utils"."1.2.17";
-      "jws-3.1.0" = self.by-version."jws"."3.1.0";
+      "date-utils-1.2.18" = self.by-version."date-utils"."1.2.18";
+      "jws-3.1.1" = self.by-version."jws"."3.1.1";
       "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
-      "request-2.67.0" = self.by-version."request"."2.67.0";
+      "request-2.69.0" = self.by-version."request"."2.69.0";
       "underscore-1.8.3" = self.by-version."underscore"."1.8.3";
-      "xmldom-0.1.20" = self.by-version."xmldom"."0.1.20";
+      "xmldom-0.1.22" = self.by-version."xmldom"."0.1.22";
       "xpath.js-1.0.6" = self.by-version."xpath.js"."1.0.6";
       "async-1.5.2" = self.by-version."async"."1.5.2";
     };
@@ -150,21 +150,18 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."asn1.js"."^2.0.3" =
-    self.by-version."asn1.js"."2.2.1";
-  by-version."asn1.js"."2.2.1" = self.buildNodePackage {
-    name = "asn1.js-2.2.1";
-    version = "2.2.1";
+  by-spec."assert-plus".">=0.2.0 <0.3.0" =
+    self.by-version."assert-plus"."0.2.0";
+  by-version."assert-plus"."0.2.0" = self.buildNodePackage {
+    name = "assert-plus-0.2.0";
+    version = "0.2.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/asn1.js/-/asn1.js-2.2.1.tgz";
-      name = "asn1.js-2.2.1.tgz";
-      sha1 = "c8ba4dd68e84431288126230cb2045bdfa9fbfe1";
+      url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz";
+      name = "assert-plus-0.2.0.tgz";
+      sha1 = "d74e1b87e7affc0db8aadb7021f3fe48101ab234";
     };
     deps = {
-      "bn.js-2.2.0" = self.by-version."bn.js"."2.2.0";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "minimalistic-assert-1.0.0" = self.by-version."minimalistic-assert"."1.0.0";
     };
     optionalDependencies = {
     };
@@ -172,7 +169,7 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."assert-plus"."0.1.x" =
+  by-spec."assert-plus"."^0.1.5" =
     self.by-version."assert-plus"."0.1.5";
   by-version."assert-plus"."0.1.5" = self.buildNodePackage {
     name = "assert-plus-0.1.5";
@@ -191,27 +188,8 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."assert-plus".">=0.2.0 <0.3.0" =
+  by-spec."assert-plus"."^0.2.0" =
     self.by-version."assert-plus"."0.2.0";
-  by-version."assert-plus"."0.2.0" = self.buildNodePackage {
-    name = "assert-plus-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz";
-      name = "assert-plus-0.2.0.tgz";
-      sha1 = "d74e1b87e7affc0db8aadb7021f3fe48101ab234";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."assert-plus"."^0.1.5" =
-    self.by-version."assert-plus"."0.1.5";
   by-spec."async"."0.1.x" =
     self.by-version."async"."0.1.22";
   by-version."async"."0.1.22" = self.buildNodePackage {
@@ -347,6 +325,26 @@
     os = [ ];
     cpu = [ ];
   };
+  by-spec."aws4"."^1.2.1" =
+    self.by-version."aws4"."1.2.1";
+  by-version."aws4"."1.2.1" = self.buildNodePackage {
+    name = "aws4-1.2.1";
+    version = "1.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/aws4/-/aws4-1.2.1.tgz";
+      name = "aws4-1.2.1.tgz";
+      sha1 = "52b5659a4d32583d405f65e1124ac436d07fe5ac";
+    };
+    deps = {
+      "lru-cache-2.7.3" = self.by-version."lru-cache"."2.7.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."azure-arm-apiapp"."0.1.3" =
     self.by-version."azure-arm-apiapp"."0.1.3";
   by-version."azure-arm-apiapp"."0.1.3" = self.buildNodePackage {
@@ -410,20 +408,20 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."azure-arm-compute"."0.13.0" =
-    self.by-version."azure-arm-compute"."0.13.0";
-  by-version."azure-arm-compute"."0.13.0" = self.buildNodePackage {
-    name = "azure-arm-compute-0.13.0";
-    version = "0.13.0";
+  by-spec."azure-arm-compute"."0.14.0" =
+    self.by-version."azure-arm-compute"."0.14.0";
+  by-version."azure-arm-compute"."0.14.0" = self.buildNodePackage {
+    name = "azure-arm-compute-0.14.0";
+    version = "0.14.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/azure-arm-compute/-/azure-arm-compute-0.13.0.tgz";
-      name = "azure-arm-compute-0.13.0.tgz";
-      sha1 = "0442a5f9d49d9dea8fc7391a100c916e19e0b1d9";
+      url = "http://registry.npmjs.org/azure-arm-compute/-/azure-arm-compute-0.14.0.tgz";
+      name = "azure-arm-compute-0.14.0.tgz";
+      sha1 = "5c2d2b981541b703335294a60718bd96a19cd285";
     };
     deps = {
-      "azure-common-0.9.16" = self.by-version."azure-common"."0.9.16";
-      "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
+      "ms-rest-1.9.0" = self.by-version."ms-rest"."1.9.0";
+      "ms-rest-azure-1.9.0" = self.by-version."ms-rest-azure"."1.9.0";
     };
     optionalDependencies = {
     };
@@ -444,7 +442,7 @@
     };
     deps = {
       "azure-common-0.9.16" = self.by-version."azure-common"."0.9.16";
-      "moment-2.11.1" = self.by-version."moment"."2.11.1";
+      "moment-2.11.2" = self.by-version."moment"."2.11.2";
       "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
       "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
     };
@@ -559,19 +557,20 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."azure-arm-network"."0.10.6" =
-    self.by-version."azure-arm-network"."0.10.6";
-  by-version."azure-arm-network"."0.10.6" = self.buildNodePackage {
-    name = "azure-arm-network-0.10.6";
-    version = "0.10.6";
+  by-spec."azure-arm-network"."0.12.0" =
+    self.by-version."azure-arm-network"."0.12.0";
+  by-version."azure-arm-network"."0.12.0" = self.buildNodePackage {
+    name = "azure-arm-network-0.12.0";
+    version = "0.12.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/azure-arm-network/-/azure-arm-network-0.10.6.tgz";
-      name = "azure-arm-network-0.10.6.tgz";
-      sha1 = "d7e77e34fe41007a54154475185ac405e59073b3";
+      url = "http://registry.npmjs.org/azure-arm-network/-/azure-arm-network-0.12.0.tgz";
+      name = "azure-arm-network-0.12.0.tgz";
+      sha1 = "676f042f643c49d2af0071dd809789b53a70162b";
     };
     deps = {
-      "azure-common-0.9.16" = self.by-version."azure-common"."0.9.16";
+      "ms-rest-1.9.0" = self.by-version."ms-rest"."1.9.0";
+      "ms-rest-azure-1.9.0" = self.by-version."ms-rest-azure"."1.9.0";
     };
     optionalDependencies = {
     };
@@ -579,20 +578,20 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."azure-arm-rediscache"."0.1.0" =
-    self.by-version."azure-arm-rediscache"."0.1.0";
-  by-version."azure-arm-rediscache"."0.1.0" = self.buildNodePackage {
-    name = "azure-arm-rediscache-0.1.0";
-    version = "0.1.0";
+  by-spec."azure-arm-rediscache"."0.2.0" =
+    self.by-version."azure-arm-rediscache"."0.2.0";
+  by-version."azure-arm-rediscache"."0.2.0" = self.buildNodePackage {
+    name = "azure-arm-rediscache-0.2.0";
+    version = "0.2.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/azure-arm-rediscache/-/azure-arm-rediscache-0.1.0.tgz";
-      name = "azure-arm-rediscache-0.1.0.tgz";
-      sha1 = "2527ce57541fc5264627f93f62e4ffcfd01df498";
+      url = "http://registry.npmjs.org/azure-arm-rediscache/-/azure-arm-rediscache-0.2.0.tgz";
+      name = "azure-arm-rediscache-0.2.0.tgz";
+      sha1 = "cd9a25e4a2e0e58accdba5064811ddaa62eafeef";
     };
     deps = {
-      "ms-rest-1.2.0" = self.by-version."ms-rest"."1.2.0";
-      "ms-rest-azure-1.2.0" = self.by-version."ms-rest-azure"."1.2.0";
+      "ms-rest-1.9.0" = self.by-version."ms-rest"."1.9.0";
+      "ms-rest-azure-1.9.0" = self.by-version."ms-rest-azure"."1.9.0";
     };
     optionalDependencies = {
     };
@@ -621,19 +620,20 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."azure-arm-storage"."0.11.0" =
-    self.by-version."azure-arm-storage"."0.11.0";
-  by-version."azure-arm-storage"."0.11.0" = self.buildNodePackage {
-    name = "azure-arm-storage-0.11.0";
-    version = "0.11.0";
+  by-spec."azure-arm-storage"."0.12.1-preview" =
+    self.by-version."azure-arm-storage"."0.12.1-preview";
+  by-version."azure-arm-storage"."0.12.1-preview" = self.buildNodePackage {
+    name = "azure-arm-storage-0.12.1-preview";
+    version = "0.12.1-preview";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/azure-arm-storage/-/azure-arm-storage-0.11.0.tgz";
-      name = "azure-arm-storage-0.11.0.tgz";
-      sha1 = "ba5bc8d616b835ddb6149d462a424d534ac87c95";
+      url = "http://registry.npmjs.org/azure-arm-storage/-/azure-arm-storage-0.12.1-preview.tgz";
+      name = "azure-arm-storage-0.12.1-preview.tgz";
+      sha1 = "e793fe390348d809763623bbdc7ab5a7d1dd0d27";
     };
     deps = {
-      "azure-common-0.9.16" = self.by-version."azure-common"."0.9.16";
+      "ms-rest-1.9.0" = self.by-version."ms-rest"."1.9.0";
+      "ms-rest-azure-1.9.0" = self.by-version."ms-rest-azure"."1.9.0";
     };
     optionalDependencies = {
     };
@@ -641,16 +641,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."azure-arm-trafficmanager"."0.10.4" =
-    self.by-version."azure-arm-trafficmanager"."0.10.4";
-  by-version."azure-arm-trafficmanager"."0.10.4" = self.buildNodePackage {
-    name = "azure-arm-trafficmanager-0.10.4";
-    version = "0.10.4";
+  by-spec."azure-arm-trafficmanager"."0.10.5" =
+    self.by-version."azure-arm-trafficmanager"."0.10.5";
+  by-version."azure-arm-trafficmanager"."0.10.5" = self.buildNodePackage {
+    name = "azure-arm-trafficmanager-0.10.5";
+    version = "0.10.5";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/azure-arm-trafficmanager/-/azure-arm-trafficmanager-0.10.4.tgz";
-      name = "azure-arm-trafficmanager-0.10.4.tgz";
-      sha1 = "f1a788c3c97c7c6f8d82cef6034bbdbe68bb29e3";
+      url = "http://registry.npmjs.org/azure-arm-trafficmanager/-/azure-arm-trafficmanager-0.10.5.tgz";
+      name = "azure-arm-trafficmanager-0.10.5.tgz";
+      sha1 = "b42683cb6dfdfed0f93875d72a0b8a53b3204d01";
     };
     deps = {
       "azure-common-0.9.16" = self.by-version."azure-common"."0.9.16";
@@ -891,15 +891,15 @@
     cpu = [ ];
   };
   by-spec."azure-cli"."*" =
-    self.by-version."azure-cli"."0.9.13";
-  by-version."azure-cli"."0.9.13" = self.buildNodePackage {
-    name = "azure-cli-0.9.13";
-    version = "0.9.13";
+    self.by-version."azure-cli"."0.9.15";
+  by-version."azure-cli"."0.9.15" = self.buildNodePackage {
+    name = "azure-cli-0.9.15";
+    version = "0.9.15";
     bin = true;
     src = fetchurl {
-      url = "http://registry.npmjs.org/azure-cli/-/azure-cli-0.9.13.tgz";
-      name = "azure-cli-0.9.13.tgz";
-      sha1 = "6792c21c0b826d07759e0c7e9b718c291be1381f";
+      url = "http://registry.npmjs.org/azure-cli/-/azure-cli-0.9.15.tgz";
+      name = "azure-cli-0.9.15.tgz";
+      sha1 = "c629199efd96c217c8b4341c5b8489c119fdbe4a";
     };
     deps = {
       "adal-node-0.1.17" = self.by-version."adal-node"."0.1.17";
@@ -908,18 +908,18 @@
       "azure-arm-apiapp-0.1.3" = self.by-version."azure-arm-apiapp"."0.1.3";
       "azure-arm-authorization-2.0.0" = self.by-version."azure-arm-authorization"."2.0.0";
       "azure-arm-commerce-0.1.1" = self.by-version."azure-arm-commerce"."0.1.1";
-      "azure-arm-compute-0.13.0" = self.by-version."azure-arm-compute"."0.13.0";
+      "azure-arm-compute-0.14.0" = self.by-version."azure-arm-compute"."0.14.0";
       "azure-arm-hdinsight-0.1.0" = self.by-version."azure-arm-hdinsight"."0.1.0";
       "azure-arm-hdinsight-jobs-0.1.0" = self.by-version."azure-arm-hdinsight-jobs"."0.1.0";
       "azure-arm-insights-0.10.2" = self.by-version."azure-arm-insights"."0.10.2";
-      "azure-arm-network-0.10.6" = self.by-version."azure-arm-network"."0.10.6";
-      "azure-arm-trafficmanager-0.10.4" = self.by-version."azure-arm-trafficmanager"."0.10.4";
+      "azure-arm-network-0.12.0" = self.by-version."azure-arm-network"."0.12.0";
+      "azure-arm-trafficmanager-0.10.5" = self.by-version."azure-arm-trafficmanager"."0.10.5";
       "azure-arm-dns-0.10.1" = self.by-version."azure-arm-dns"."0.10.1";
       "azure-arm-website-0.10.0" = self.by-version."azure-arm-website"."0.10.0";
-      "azure-arm-rediscache-0.1.0" = self.by-version."azure-arm-rediscache"."0.1.0";
+      "azure-arm-rediscache-0.2.0" = self.by-version."azure-arm-rediscache"."0.2.0";
       "azure-arm-datalake-analytics-0.1.2" = self.by-version."azure-arm-datalake-analytics"."0.1.2";
       "azure-arm-datalake-store-0.1.2" = self.by-version."azure-arm-datalake-store"."0.1.2";
-      "azure-extra-0.1.12" = self.by-version."azure-extra"."0.1.12";
+      "azure-extra-0.2.12" = self.by-version."azure-extra"."0.2.12";
       "azure-gallery-2.0.0-pre.18" = self.by-version."azure-gallery"."2.0.0-pre.18";
       "azure-keyvault-0.10.1" = self.by-version."azure-keyvault"."0.10.1";
       "azure-asm-compute-0.11.0" = self.by-version."azure-asm-compute"."0.11.0";
@@ -929,13 +929,13 @@
       "azure-monitoring-0.10.2" = self.by-version."azure-monitoring"."0.10.2";
       "azure-asm-network-0.10.2" = self.by-version."azure-asm-network"."0.10.2";
       "azure-arm-resource-0.10.7" = self.by-version."azure-arm-resource"."0.10.7";
-      "azure-arm-storage-0.11.0" = self.by-version."azure-arm-storage"."0.11.0";
+      "azure-arm-storage-0.12.1-preview" = self.by-version."azure-arm-storage"."0.12.1-preview";
       "azure-asm-sb-0.10.1" = self.by-version."azure-asm-sb"."0.10.1";
       "azure-asm-sql-0.10.1" = self.by-version."azure-asm-sql"."0.10.1";
       "azure-asm-storage-0.10.1" = self.by-version."azure-asm-storage"."0.10.1";
       "azure-asm-subscription-0.10.1" = self.by-version."azure-asm-subscription"."0.10.1";
       "azure-asm-website-0.10.1" = self.by-version."azure-asm-website"."0.10.1";
-      "azure-storage-0.6.0" = self.by-version."azure-storage"."0.6.0";
+      "azure-storage-0.7.0" = self.by-version."azure-storage"."0.7.0";
       "caller-id-0.1.0" = self.by-version."caller-id"."0.1.0";
       "colors-0.6.2" = self.by-version."colors"."0.6.2";
       "commander-1.0.4" = self.by-version."commander"."1.0.4";
@@ -950,7 +950,7 @@
       "kuduscript-1.0.6" = self.by-version."kuduscript"."1.0.6";
       "mime-1.2.11" = self.by-version."mime"."1.2.11";
       "moment-2.6.0" = self.by-version."moment"."2.6.0";
-      "ms-rest-azure-1.2.0" = self.by-version."ms-rest-azure"."1.2.0";
+      "ms-rest-azure-1.9.0" = self.by-version."ms-rest-azure"."1.9.0";
       "node-forge-0.6.23" = self.by-version."node-forge"."0.6.23";
       "node-uuid-1.2.0" = self.by-version."node-uuid"."1.2.0";
       "number-is-nan-1.0.0" = self.by-version."number-is-nan"."1.0.0";
@@ -980,7 +980,7 @@
     os = [ ];
     cpu = [ ];
   };
-  "azure-cli" = self.by-version."azure-cli"."0.9.13";
+  "azure-cli" = self.by-version."azure-cli"."0.9.15";
   by-spec."azure-common"."0.9.12" =
     self.by-version."azure-common"."0.9.12";
   by-version."azure-common"."0.9.12" = self.buildNodePackage {
@@ -997,7 +997,7 @@
       "xmlbuilder-0.4.3" = self.by-version."xmlbuilder"."0.4.3";
       "dateformat-1.0.2-1.2.3" = self.by-version."dateformat"."1.0.2-1.2.3";
       "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
-      "tunnel-0.0.3" = self.by-version."tunnel"."0.0.3";
+      "tunnel-0.0.4" = self.by-version."tunnel"."0.0.4";
       "request-2.45.0" = self.by-version."request"."2.45.0";
       "validator-3.1.0" = self.by-version."validator"."3.1.0";
       "envconf-0.0.4" = self.by-version."envconf"."0.0.4";
@@ -1026,7 +1026,7 @@
       "xmlbuilder-0.4.3" = self.by-version."xmlbuilder"."0.4.3";
       "dateformat-1.0.2-1.2.3" = self.by-version."dateformat"."1.0.2-1.2.3";
       "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
-      "tunnel-0.0.3" = self.by-version."tunnel"."0.0.3";
+      "tunnel-0.0.4" = self.by-version."tunnel"."0.0.4";
       "request-2.45.0" = self.by-version."request"."2.45.0";
       "validator-3.22.2" = self.by-version."validator"."3.22.2";
       "envconf-0.0.4" = self.by-version."envconf"."0.0.4";
@@ -1043,16 +1043,16 @@
     self.by-version."azure-common"."0.9.16";
   by-spec."azure-common"."^0.9.13" =
     self.by-version."azure-common"."0.9.16";
-  by-spec."azure-extra"."0.1.12" =
-    self.by-version."azure-extra"."0.1.12";
-  by-version."azure-extra"."0.1.12" = self.buildNodePackage {
-    name = "azure-extra-0.1.12";
-    version = "0.1.12";
+  by-spec."azure-extra"."0.2.12" =
+    self.by-version."azure-extra"."0.2.12";
+  by-version."azure-extra"."0.2.12" = self.buildNodePackage {
+    name = "azure-extra-0.2.12";
+    version = "0.2.12";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/azure-extra/-/azure-extra-0.1.12.tgz";
-      name = "azure-extra-0.1.12.tgz";
-      sha1 = "78a0c3b65e981df59e23428b56172f6337a8920a";
+      url = "http://registry.npmjs.org/azure-extra/-/azure-extra-0.2.12.tgz";
+      name = "azure-extra-0.2.12.tgz";
+      sha1 = "9fa99fb577f678eadcc4d292a9c1aed8aed9d088";
     };
     deps = {
       "azure-common-0.9.16" = self.by-version."azure-common"."0.9.16";
@@ -1129,22 +1129,22 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."azure-storage"."0.6.0" =
-    self.by-version."azure-storage"."0.6.0";
-  by-version."azure-storage"."0.6.0" = self.buildNodePackage {
-    name = "azure-storage-0.6.0";
-    version = "0.6.0";
+  by-spec."azure-storage"."0.7.0" =
+    self.by-version."azure-storage"."0.7.0";
+  by-version."azure-storage"."0.7.0" = self.buildNodePackage {
+    name = "azure-storage-0.7.0";
+    version = "0.7.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/azure-storage/-/azure-storage-0.6.0.tgz";
-      name = "azure-storage-0.6.0.tgz";
-      sha1 = "e856c2069d1a9a6926936d70d6854d69230e7b4a";
+      url = "http://registry.npmjs.org/azure-storage/-/azure-storage-0.7.0.tgz";
+      name = "azure-storage-0.7.0.tgz";
+      sha1 = "246fc65adf96b3332043ecbc2b0176506b8a7359";
     };
     deps = {
       "extend-1.2.1" = self.by-version."extend"."1.2.1";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "browserify-mime-1.2.9" = self.by-version."browserify-mime"."1.2.9";
       "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "readable-stream-1.0.33" = self.by-version."readable-stream"."1.0.33";
+      "readable-stream-2.0.5" = self.by-version."readable-stream"."2.0.5";
       "request-2.57.0" = self.by-version."request"."2.57.0";
       "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
       "validator-3.22.2" = self.by-version."validator"."3.22.2";
@@ -1217,15 +1217,15 @@
     cpu = [ ];
   };
   by-spec."bl"."~0.9.0" =
-    self.by-version."bl"."0.9.4";
-  by-version."bl"."0.9.4" = self.buildNodePackage {
-    name = "bl-0.9.4";
-    version = "0.9.4";
+    self.by-version."bl"."0.9.5";
+  by-version."bl"."0.9.5" = self.buildNodePackage {
+    name = "bl-0.9.5";
+    version = "0.9.5";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/bl/-/bl-0.9.4.tgz";
-      name = "bl-0.9.4.tgz";
-      sha1 = "4702ddf72fbe0ecd82787c00c113aea1935ad0e7";
+      url = "http://registry.npmjs.org/bl/-/bl-0.9.5.tgz";
+      name = "bl-0.9.5.tgz";
+      sha1 = "c06b797af085ea00bc527afc8efcf11de2232054";
     };
     deps = {
       "readable-stream-1.0.33" = self.by-version."readable-stream"."1.0.33";
@@ -1237,15 +1237,15 @@
     cpu = [ ];
   };
   by-spec."bl"."~1.0.0" =
-    self.by-version."bl"."1.0.0";
-  by-version."bl"."1.0.0" = self.buildNodePackage {
-    name = "bl-1.0.0";
-    version = "1.0.0";
+    self.by-version."bl"."1.0.2";
+  by-version."bl"."1.0.2" = self.buildNodePackage {
+    name = "bl-1.0.2";
+    version = "1.0.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/bl/-/bl-1.0.0.tgz";
-      name = "bl-1.0.0.tgz";
-      sha1 = "ada9a8a89a6d7ac60862f7dec7db207873e0c3f5";
+      url = "http://registry.npmjs.org/bl/-/bl-1.0.2.tgz";
+      name = "bl-1.0.2.tgz";
+      sha1 = "8c66490d825ba84d560de1f62196a29555b3a0c4";
     };
     deps = {
       "readable-stream-2.0.5" = self.by-version."readable-stream"."2.0.5";
@@ -1275,25 +1275,6 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."bn.js"."^2.0.0" =
-    self.by-version."bn.js"."2.2.0";
-  by-version."bn.js"."2.2.0" = self.buildNodePackage {
-    name = "bn.js-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/bn.js/-/bn.js-2.2.0.tgz";
-      name = "bn.js-2.2.0.tgz";
-      sha1 = "12162bc2ae71fc40a5626c33438f3a875cd37625";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
   by-spec."boom"."0.4.x" =
     self.by-version."boom"."0.4.2";
   by-version."boom"."0.4.2" = self.buildNodePackage {
@@ -1334,6 +1315,25 @@
     os = [ ];
     cpu = [ ];
   };
+  by-spec."browserify-mime"."~1.2.9" =
+    self.by-version."browserify-mime"."1.2.9";
+  by-version."browserify-mime"."1.2.9" = self.buildNodePackage {
+    name = "browserify-mime-1.2.9";
+    version = "1.2.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/browserify-mime/-/browserify-mime-1.2.9.tgz";
+      name = "browserify-mime-1.2.9.tgz";
+      sha1 = "aeb1af28de6c0d7a6a2ce40adb68ff18422af31f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."buffer-equal-constant-time"."^1.0.1" =
     self.by-version."buffer-equal-constant-time"."1.0.1";
   by-version."buffer-equal-constant-time"."1.0.1" = self.buildNodePackage {
@@ -1781,18 +1781,18 @@
     cpu = [ ];
   };
   by-spec."dashdash".">=1.10.1 <2.0.0" =
-    self.by-version."dashdash"."1.12.1";
-  by-version."dashdash"."1.12.1" = self.buildNodePackage {
-    name = "dashdash-1.12.1";
-    version = "1.12.1";
+    self.by-version."dashdash"."1.12.2";
+  by-version."dashdash"."1.12.2" = self.buildNodePackage {
+    name = "dashdash-1.12.2";
+    version = "1.12.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/dashdash/-/dashdash-1.12.1.tgz";
-      name = "dashdash-1.12.1.tgz";
-      sha1 = "ed5fd0f9d2dc189e1fbf11e40f6a412167203b6a";
+      url = "http://registry.npmjs.org/dashdash/-/dashdash-1.12.2.tgz";
+      name = "dashdash-1.12.2.tgz";
+      sha1 = "1c6f70588498d047b8cd5777b32ba85a5e25be36";
     };
     deps = {
-      "assert-plus-0.1.5" = self.by-version."assert-plus"."0.1.5";
+      "assert-plus-0.2.0" = self.by-version."assert-plus"."0.2.0";
     };
     optionalDependencies = {
     };
@@ -1801,15 +1801,15 @@
     cpu = [ ];
   };
   by-spec."date-utils"."*" =
-    self.by-version."date-utils"."1.2.17";
-  by-version."date-utils"."1.2.17" = self.buildNodePackage {
-    name = "date-utils-1.2.17";
-    version = "1.2.17";
+    self.by-version."date-utils"."1.2.18";
+  by-version."date-utils"."1.2.18" = self.buildNodePackage {
+    name = "date-utils-1.2.18";
+    version = "1.2.18";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/date-utils/-/date-utils-1.2.17.tgz";
-      name = "date-utils-1.2.17.tgz";
-      sha1 = "b469652478afc2647917ec1c7c00d9c371f2ad53";
+      url = "http://registry.npmjs.org/date-utils/-/date-utils-1.2.18.tgz";
+      name = "date-utils-1.2.18.tgz";
+      sha1 = "6a55e61b20250e9c24d836b1eaac9b32ee255d51";
     };
     deps = {
     };
@@ -1954,18 +1954,17 @@
     cpu = [ ];
   };
   by-spec."ecdsa-sig-formatter"."^1.0.0" =
-    self.by-version."ecdsa-sig-formatter"."1.0.2";
-  by-version."ecdsa-sig-formatter"."1.0.2" = self.buildNodePackage {
-    name = "ecdsa-sig-formatter-1.0.2";
-    version = "1.0.2";
+    self.by-version."ecdsa-sig-formatter"."1.0.5";
+  by-version."ecdsa-sig-formatter"."1.0.5" = self.buildNodePackage {
+    name = "ecdsa-sig-formatter-1.0.5";
+    version = "1.0.5";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.2.tgz";
-      name = "ecdsa-sig-formatter-1.0.2.tgz";
-      sha1 = "2074b4bd06be5e7479c9f71e73358bc3deea4a9b";
+      url = "http://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.5.tgz";
+      name = "ecdsa-sig-formatter-1.0.5.tgz";
+      sha1 = "0d0f32b638611f6b8f36ffd305a3e512ea5444e6";
     };
     deps = {
-      "asn1.js-2.2.1" = self.by-version."asn1.js"."2.2.1";
       "base64-url-1.2.1" = self.by-version."base64-url"."1.2.1";
     };
     optionalDependencies = {
@@ -2409,7 +2408,7 @@
       "bluebird-2.10.2" = self.by-version."bluebird"."2.10.2";
       "chalk-1.1.1" = self.by-version."chalk"."1.1.1";
       "commander-2.9.0" = self.by-version."commander"."2.9.0";
-      "is-my-json-valid-2.12.3" = self.by-version."is-my-json-valid"."2.12.3";
+      "is-my-json-valid-2.12.4" = self.by-version."is-my-json-valid"."2.12.4";
     };
     optionalDependencies = {
     };
@@ -2417,21 +2416,21 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."har-validator"."~2.0.2" =
-    self.by-version."har-validator"."2.0.3";
-  by-version."har-validator"."2.0.3" = self.buildNodePackage {
-    name = "har-validator-2.0.3";
-    version = "2.0.3";
+  by-spec."har-validator"."~2.0.6" =
+    self.by-version."har-validator"."2.0.6";
+  by-version."har-validator"."2.0.6" = self.buildNodePackage {
+    name = "har-validator-2.0.6";
+    version = "2.0.6";
     bin = true;
     src = fetchurl {
-      url = "http://registry.npmjs.org/har-validator/-/har-validator-2.0.3.tgz";
-      name = "har-validator-2.0.3.tgz";
-      sha1 = "5a9e12564a571cf0b81ef93c2157bd1617168883";
+      url = "http://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz";
+      name = "har-validator-2.0.6.tgz";
+      sha1 = "cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d";
     };
     deps = {
       "chalk-1.1.1" = self.by-version."chalk"."1.1.1";
       "commander-2.9.0" = self.by-version."commander"."2.9.0";
-      "is-my-json-valid-2.12.3" = self.by-version."is-my-json-valid"."2.12.3";
+      "is-my-json-valid-2.12.4" = self.by-version."is-my-json-valid"."2.12.4";
       "pinkie-promise-2.0.0" = self.by-version."pinkie-promise"."2.0.0";
     };
     optionalDependencies = {
@@ -2507,15 +2506,15 @@
     cpu = [ ];
   };
   by-spec."hawk"."~3.1.0" =
-    self.by-version."hawk"."3.1.2";
-  by-version."hawk"."3.1.2" = self.buildNodePackage {
-    name = "hawk-3.1.2";
-    version = "3.1.2";
+    self.by-version."hawk"."3.1.3";
+  by-version."hawk"."3.1.3" = self.buildNodePackage {
+    name = "hawk-3.1.3";
+    version = "3.1.3";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/hawk/-/hawk-3.1.2.tgz";
-      name = "hawk-3.1.2.tgz";
-      sha1 = "90c90118886e21975d1ad4ae9b3e284ed19a2de8";
+      url = "http://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz";
+      name = "hawk-3.1.3.tgz";
+      sha1 = "078444bd7c1640b0fe540d2c9b73d59678e8e1c4";
     };
     deps = {
       "hoek-2.16.3" = self.by-version."hoek"."2.16.3";
@@ -2612,20 +2611,20 @@
     cpu = [ ];
   };
   by-spec."http-signature"."~1.1.0" =
-    self.by-version."http-signature"."1.1.0";
-  by-version."http-signature"."1.1.0" = self.buildNodePackage {
-    name = "http-signature-1.1.0";
-    version = "1.1.0";
+    self.by-version."http-signature"."1.1.1";
+  by-version."http-signature"."1.1.1" = self.buildNodePackage {
+    name = "http-signature-1.1.1";
+    version = "1.1.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/http-signature/-/http-signature-1.1.0.tgz";
-      name = "http-signature-1.1.0.tgz";
-      sha1 = "5d2d7e9b6ef49980ad5b128d8e4ef09a31c90d95";
+      url = "http://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz";
+      name = "http-signature-1.1.1.tgz";
+      sha1 = "df72e267066cd0ac67fb76adf8e134a8fbcf91bf";
     };
     deps = {
-      "assert-plus-0.1.5" = self.by-version."assert-plus"."0.1.5";
+      "assert-plus-0.2.0" = self.by-version."assert-plus"."0.2.0";
       "jsprim-1.2.2" = self.by-version."jsprim"."1.2.2";
-      "sshpk-1.7.2" = self.by-version."sshpk"."1.7.2";
+      "sshpk-1.7.3" = self.by-version."sshpk"."1.7.3";
     };
     optionalDependencies = {
     };
@@ -2674,7 +2673,7 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."inherits"."^2.0.1" =
+  by-spec."inherits"."~2.0.1" =
     self.by-version."inherits"."2.0.1";
   by-version."inherits"."2.0.1" = self.buildNodePackage {
     name = "inherits-2.0.1";
@@ -2693,8 +2692,6 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."inherits"."~2.0.1" =
-    self.by-version."inherits"."2.0.1";
   by-spec."is-finite"."^1.0.0" =
     self.by-version."is-finite"."1.0.1";
   by-version."is-finite"."1.0.1" = self.buildNodePackage {
@@ -2716,15 +2713,15 @@
     cpu = [ ];
   };
   by-spec."is-my-json-valid"."^2.12.0" =
-    self.by-version."is-my-json-valid"."2.12.3";
-  by-version."is-my-json-valid"."2.12.3" = self.buildNodePackage {
-    name = "is-my-json-valid-2.12.3";
-    version = "2.12.3";
+    self.by-version."is-my-json-valid"."2.12.4";
+  by-version."is-my-json-valid"."2.12.4" = self.buildNodePackage {
+    name = "is-my-json-valid-2.12.4";
+    version = "2.12.4";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.12.3.tgz";
-      name = "is-my-json-valid-2.12.3.tgz";
-      sha1 = "5a39d1d76b2dbb83140bbd157b1d5ee4bdc85ad6";
+      url = "http://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.12.4.tgz";
+      name = "is-my-json-valid-2.12.4.tgz";
+      sha1 = "d4ed2bc1d7f88daf8d0f763b3e3e39a69bd37880";
     };
     deps = {
       "generate-function-2.0.0" = self.by-version."generate-function"."2.0.0";
@@ -2738,8 +2735,8 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."is-my-json-valid"."^2.12.3" =
-    self.by-version."is-my-json-valid"."2.12.3";
+  by-spec."is-my-json-valid"."^2.12.4" =
+    self.by-version."is-my-json-valid"."2.12.4";
   by-spec."is-property"."^1.0.0" =
     self.by-version."is-property"."1.0.2";
   by-version."is-property"."1.0.2" = self.buildNodePackage {
@@ -3012,7 +3009,7 @@
     deps = {
       "base64url-0.0.6" = self.by-version."base64url"."0.0.6";
       "buffer-equal-constant-time-1.0.1" = self.by-version."buffer-equal-constant-time"."1.0.1";
-      "ecdsa-sig-formatter-1.0.2" = self.by-version."ecdsa-sig-formatter"."1.0.2";
+      "ecdsa-sig-formatter-1.0.5" = self.by-version."ecdsa-sig-formatter"."1.0.5";
     };
     optionalDependencies = {
     };
@@ -3021,15 +3018,15 @@
     cpu = [ ];
   };
   by-spec."jws"."3.x.x" =
-    self.by-version."jws"."3.1.0";
-  by-version."jws"."3.1.0" = self.buildNodePackage {
-    name = "jws-3.1.0";
-    version = "3.1.0";
+    self.by-version."jws"."3.1.1";
+  by-version."jws"."3.1.1" = self.buildNodePackage {
+    name = "jws-3.1.1";
+    version = "3.1.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/jws/-/jws-3.1.0.tgz";
-      name = "jws-3.1.0.tgz";
-      sha1 = "885a89127d24119a2a93f234ddd492337a7c85a0";
+      url = "http://registry.npmjs.org/jws/-/jws-3.1.1.tgz";
+      name = "jws-3.1.1.tgz";
+      sha1 = "34f5a424e628af4551121e860ba279f55cfa6629";
     };
     deps = {
       "base64url-1.0.5" = self.by-version."base64url"."1.0.5";
@@ -3081,6 +3078,25 @@
     os = [ ];
     cpu = [ ];
   };
+  by-spec."lru-cache"."^2.6.5" =
+    self.by-version."lru-cache"."2.7.3";
+  by-version."lru-cache"."2.7.3" = self.buildNodePackage {
+    name = "lru-cache-2.7.3";
+    version = "2.7.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz";
+      name = "lru-cache-2.7.3.tgz";
+      sha1 = "6d4524e8b955f95d4f5b58851ce21dd72fb4e952";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."map-obj"."^1.0.0" =
     self.by-version."map-obj"."1.0.1";
   by-version."map-obj"."1.0.1" = self.buildNodePackage {
@@ -3264,25 +3280,6 @@
     self.by-version."mime-types"."2.0.14";
   by-spec."mime-types"."~2.1.7" =
     self.by-version."mime-types"."2.1.9";
-  by-spec."minimalistic-assert"."^1.0.0" =
-    self.by-version."minimalistic-assert"."1.0.0";
-  by-version."minimalistic-assert"."1.0.0" = self.buildNodePackage {
-    name = "minimalistic-assert-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz";
-      name = "minimalistic-assert-1.0.0.tgz";
-      sha1 = "702be2dda6b37f4836bcb3f5db56641b64a1d3d3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
   by-spec."minimist"."^1.1.0" =
     self.by-version."minimist"."1.2.0";
   by-version."minimist"."1.2.0" = self.buildNodePackage {
@@ -3322,15 +3319,15 @@
     cpu = [ ];
   };
   by-spec."moment"."^2.6.0" =
-    self.by-version."moment"."2.11.1";
-  by-version."moment"."2.11.1" = self.buildNodePackage {
-    name = "moment-2.11.1";
-    version = "2.11.1";
+    self.by-version."moment"."2.11.2";
+  by-version."moment"."2.11.2" = self.buildNodePackage {
+    name = "moment-2.11.2";
+    version = "2.11.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/moment/-/moment-2.11.1.tgz";
-      name = "moment-2.11.1.tgz";
-      sha1 = "bf4026413640d1b802467cf353607f8464d6af47";
+      url = "http://registry.npmjs.org/moment/-/moment-2.11.2.tgz";
+      name = "moment-2.11.2.tgz";
+      sha1 = "87968e5f95ac038c2e42ac959c75819cd3f52901";
     };
     deps = {
     };
@@ -3340,25 +3337,26 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."ms-rest"."1.2.0" =
-    self.by-version."ms-rest"."1.2.0";
-  by-version."ms-rest"."1.2.0" = self.buildNodePackage {
-    name = "ms-rest-1.2.0";
-    version = "1.2.0";
+  by-spec."ms-rest"."^1.8.0" =
+    self.by-version."ms-rest"."1.9.0";
+  by-version."ms-rest"."1.9.0" = self.buildNodePackage {
+    name = "ms-rest-1.9.0";
+    version = "1.9.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/ms-rest/-/ms-rest-1.2.0.tgz";
-      name = "ms-rest-1.2.0.tgz";
-      sha1 = "269ad1efe28c3ab92bd3db46c6eefd8740946380";
+      url = "http://registry.npmjs.org/ms-rest/-/ms-rest-1.9.0.tgz";
+      name = "ms-rest-1.9.0.tgz";
+      sha1 = "12b20c5477874c1ec09133b5fa77ea4bb67824ce";
     };
     deps = {
-      "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
-      "tunnel-0.0.3" = self.by-version."tunnel"."0.0.3";
+      "underscore-1.8.3" = self.by-version."underscore"."1.8.3";
+      "tunnel-0.0.4" = self.by-version."tunnel"."0.0.4";
       "request-2.52.0" = self.by-version."request"."2.52.0";
       "validator-3.1.0" = self.by-version."validator"."3.1.0";
       "duplexer-0.1.1" = self.by-version."duplexer"."0.1.1";
       "through-2.3.8" = self.by-version."through"."2.3.8";
       "tough-cookie-2.2.1" = self.by-version."tough-cookie"."2.2.1";
+      "moment-2.11.2" = self.by-version."moment"."2.11.2";
     };
     optionalDependencies = {
     };
@@ -3366,22 +3364,26 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."ms-rest-azure"."1.2.0" =
-    self.by-version."ms-rest-azure"."1.2.0";
-  by-version."ms-rest-azure"."1.2.0" = self.buildNodePackage {
-    name = "ms-rest-azure-1.2.0";
-    version = "1.2.0";
+  by-spec."ms-rest"."^1.9.0" =
+    self.by-version."ms-rest"."1.9.0";
+  by-spec."ms-rest-azure"."^1.8.0" =
+    self.by-version."ms-rest-azure"."1.9.0";
+  by-version."ms-rest-azure"."1.9.0" = self.buildNodePackage {
+    name = "ms-rest-azure-1.9.0";
+    version = "1.9.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/ms-rest-azure/-/ms-rest-azure-1.2.0.tgz";
-      name = "ms-rest-azure-1.2.0.tgz";
-      sha1 = "5a9e137963d5c7d28f188aa93e5df2e8bc44ca9b";
+      url = "http://registry.npmjs.org/ms-rest-azure/-/ms-rest-azure-1.9.0.tgz";
+      name = "ms-rest-azure-1.9.0.tgz";
+      sha1 = "b172ac72f890ac31511e9c68899f4aa4d50c5bd1";
     };
     deps = {
       "async-0.2.7" = self.by-version."async"."0.2.7";
       "uuid-2.0.1" = self.by-version."uuid"."2.0.1";
       "adal-node-0.1.16" = self.by-version."adal-node"."0.1.16";
-      "ms-rest-1.2.0" = self.by-version."ms-rest"."1.2.0";
+      "ms-rest-1.9.0" = self.by-version."ms-rest"."1.9.0";
+      "underscore-1.8.3" = self.by-version."underscore"."1.8.3";
+      "moment-2.11.2" = self.by-version."moment"."2.11.2";
     };
     optionalDependencies = {
     };
@@ -3531,15 +3533,15 @@
     cpu = [ ];
   };
   by-spec."oauth-sign"."~0.8.0" =
-    self.by-version."oauth-sign"."0.8.0";
-  by-version."oauth-sign"."0.8.0" = self.buildNodePackage {
-    name = "oauth-sign-0.8.0";
-    version = "0.8.0";
+    self.by-version."oauth-sign"."0.8.1";
+  by-version."oauth-sign"."0.8.1" = self.buildNodePackage {
+    name = "oauth-sign-0.8.1";
+    version = "0.8.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.0.tgz";
-      name = "oauth-sign-0.8.0.tgz";
-      sha1 = "938fdc875765ba527137d8aec9d178e24debc553";
+      url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.1.tgz";
+      name = "oauth-sign-0.8.1.tgz";
+      sha1 = "182439bdb91378bf7460e75c64ea43e6448def06";
     };
     deps = {
     };
@@ -3648,15 +3650,15 @@
     cpu = [ ];
   };
   by-spec."pinkie"."^2.0.0" =
-    self.by-version."pinkie"."2.0.1";
-  by-version."pinkie"."2.0.1" = self.buildNodePackage {
-    name = "pinkie-2.0.1";
-    version = "2.0.1";
+    self.by-version."pinkie"."2.0.4";
+  by-version."pinkie"."2.0.4" = self.buildNodePackage {
+    name = "pinkie-2.0.4";
+    version = "2.0.4";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/pinkie/-/pinkie-2.0.1.tgz";
-      name = "pinkie-2.0.1.tgz";
-      sha1 = "4236c86fc29f261c2045bbe81f78cbb2a5e8306c";
+      url = "http://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz";
+      name = "pinkie-2.0.4.tgz";
+      sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
     };
     deps = {
     };
@@ -3678,7 +3680,7 @@
       sha1 = "4c83538de1f6e660c29e0a13446844f7a7e88259";
     };
     deps = {
-      "pinkie-2.0.1" = self.by-version."pinkie"."2.0.1";
+      "pinkie-2.0.4" = self.by-version."pinkie"."2.0.4";
     };
     optionalDependencies = {
     };
@@ -3800,16 +3802,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."qs"."~5.2.0" =
-    self.by-version."qs"."5.2.0";
-  by-version."qs"."5.2.0" = self.buildNodePackage {
-    name = "qs-5.2.0";
-    version = "5.2.0";
+  by-spec."qs"."~6.0.2" =
+    self.by-version."qs"."6.0.2";
+  by-version."qs"."6.0.2" = self.buildNodePackage {
+    name = "qs-6.0.2";
+    version = "6.0.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/qs/-/qs-5.2.0.tgz";
-      name = "qs-5.2.0.tgz";
-      sha1 = "a9f31142af468cb72b25b30136ba2456834916be";
+      url = "http://registry.npmjs.org/qs/-/qs-6.0.2.tgz";
+      name = "qs-6.0.2.tgz";
+      sha1 = "88c68d590e8ed56c76c79f352c17b982466abfcd";
     };
     deps = {
     };
@@ -3892,6 +3894,8 @@
     os = [ ];
     cpu = [ ];
   };
+  by-spec."readable-stream"."~2.0.5" =
+    self.by-version."readable-stream"."2.0.5";
   by-spec."repeating"."^1.1.0" =
     self.by-version."repeating"."1.1.3";
   by-version."repeating"."1.1.3" = self.buildNodePackage {
@@ -3924,7 +3928,7 @@
       sha1 = "29d713a0a07f17fb2e7b61815d2010681718e93c";
     };
     deps = {
-      "bl-0.9.4" = self.by-version."bl"."0.9.4";
+      "bl-0.9.5" = self.by-version."bl"."0.9.5";
       "caseless-0.6.0" = self.by-version."caseless"."0.6.0";
       "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
       "qs-1.2.2" = self.by-version."qs"."1.2.2";
@@ -3958,7 +3962,7 @@
       sha1 = "02d82a8adc04dc94a3a79f09fc850ade9aa21e74";
     };
     deps = {
-      "bl-0.9.4" = self.by-version."bl"."0.9.4";
+      "bl-0.9.5" = self.by-version."bl"."0.9.5";
       "caseless-0.9.0" = self.by-version."caseless"."0.9.0";
       "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
       "form-data-0.2.0" = self.by-version."form-data"."0.2.0";
@@ -4002,37 +4006,38 @@
     cpu = [ ];
   };
   by-spec."request".">= 2.52.0" =
-    self.by-version."request"."2.67.0";
-  by-version."request"."2.67.0" = self.buildNodePackage {
-    name = "request-2.67.0";
-    version = "2.67.0";
+    self.by-version."request"."2.69.0";
+  by-version."request"."2.69.0" = self.buildNodePackage {
+    name = "request-2.69.0";
+    version = "2.69.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/request/-/request-2.67.0.tgz";
-      name = "request-2.67.0.tgz";
-      sha1 = "8af74780e2bf11ea0ae9aa965c11f11afd272742";
+      url = "http://registry.npmjs.org/request/-/request-2.69.0.tgz";
+      name = "request-2.69.0.tgz";
+      sha1 = "cf91d2e000752b1217155c005241911991a2346a";
     };
     deps = {
-      "bl-1.0.0" = self.by-version."bl"."1.0.0";
+      "aws-sign2-0.6.0" = self.by-version."aws-sign2"."0.6.0";
+      "aws4-1.2.1" = self.by-version."aws4"."1.2.1";
+      "bl-1.0.2" = self.by-version."bl"."1.0.2";
       "caseless-0.11.0" = self.by-version."caseless"."0.11.0";
+      "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5";
       "extend-3.0.0" = self.by-version."extend"."3.0.0";
       "forever-agent-0.6.1" = self.by-version."forever-agent"."0.6.1";
       "form-data-1.0.0-rc3" = self.by-version."form-data"."1.0.0-rc3";
+      "har-validator-2.0.6" = self.by-version."har-validator"."2.0.6";
+      "hawk-3.1.3" = self.by-version."hawk"."3.1.3";
+      "http-signature-1.1.1" = self.by-version."http-signature"."1.1.1";
+      "is-typedarray-1.0.0" = self.by-version."is-typedarray"."1.0.0";
+      "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
       "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
       "mime-types-2.1.9" = self.by-version."mime-types"."2.1.9";
       "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "qs-5.2.0" = self.by-version."qs"."5.2.0";
-      "tunnel-agent-0.4.2" = self.by-version."tunnel-agent"."0.4.2";
-      "tough-cookie-2.2.1" = self.by-version."tough-cookie"."2.2.1";
-      "http-signature-1.1.0" = self.by-version."http-signature"."1.1.0";
-      "oauth-sign-0.8.0" = self.by-version."oauth-sign"."0.8.0";
-      "hawk-3.1.2" = self.by-version."hawk"."3.1.2";
-      "aws-sign2-0.6.0" = self.by-version."aws-sign2"."0.6.0";
+      "oauth-sign-0.8.1" = self.by-version."oauth-sign"."0.8.1";
+      "qs-6.0.2" = self.by-version."qs"."6.0.2";
       "stringstream-0.0.5" = self.by-version."stringstream"."0.0.5";
-      "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5";
-      "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
-      "is-typedarray-1.0.0" = self.by-version."is-typedarray"."1.0.0";
-      "har-validator-2.0.3" = self.by-version."har-validator"."2.0.3";
+      "tough-cookie-2.2.1" = self.by-version."tough-cookie"."2.2.1";
+      "tunnel-agent-0.4.2" = self.by-version."tunnel-agent"."0.4.2";
     };
     optionalDependencies = {
     };
@@ -4041,7 +4046,7 @@
     cpu = [ ];
   };
   by-spec."request".">= 2.9.203" =
-    self.by-version."request"."2.67.0";
+    self.by-version."request"."2.69.0";
   by-spec."request"."~2.57.0" =
     self.by-version."request"."2.57.0";
   by-version."request"."2.57.0" = self.buildNodePackage {
@@ -4054,7 +4059,7 @@
       sha1 = "d445105a42d009b9d724289633b449a6d723d989";
     };
     deps = {
-      "bl-0.9.4" = self.by-version."bl"."0.9.4";
+      "bl-0.9.5" = self.by-version."bl"."0.9.5";
       "caseless-0.10.0" = self.by-version."caseless"."0.10.0";
       "forever-agent-0.6.1" = self.by-version."forever-agent"."0.6.1";
       "form-data-0.2.0" = self.by-version."form-data"."0.2.0";
@@ -4065,7 +4070,7 @@
       "tunnel-agent-0.4.2" = self.by-version."tunnel-agent"."0.4.2";
       "tough-cookie-2.2.1" = self.by-version."tough-cookie"."2.2.1";
       "http-signature-0.11.0" = self.by-version."http-signature"."0.11.0";
-      "oauth-sign-0.8.0" = self.by-version."oauth-sign"."0.8.0";
+      "oauth-sign-0.8.1" = self.by-version."oauth-sign"."0.8.1";
       "hawk-2.3.1" = self.by-version."hawk"."2.3.1";
       "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
       "stringstream-0.0.5" = self.by-version."stringstream"."0.0.5";
@@ -4099,15 +4104,15 @@
     cpu = [ ];
   };
   by-spec."sax".">=0.1.1" =
-    self.by-version."sax"."1.1.4";
-  by-version."sax"."1.1.4" = self.buildNodePackage {
-    name = "sax-1.1.4";
-    version = "1.1.4";
+    self.by-version."sax"."1.1.5";
+  by-version."sax"."1.1.5" = self.buildNodePackage {
+    name = "sax-1.1.5";
+    version = "1.1.5";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/sax/-/sax-1.1.4.tgz";
-      name = "sax-1.1.4.tgz";
-      sha1 = "74b6d33c9ae1e001510f179a91168588f1aedaa9";
+      url = "http://registry.npmjs.org/sax/-/sax-1.1.5.tgz";
+      name = "sax-1.1.5.tgz";
+      sha1 = "1da50a8d00cdecd59405659f5ff85349fe773743";
     };
     deps = {
     };
@@ -4219,20 +4224,20 @@
     cpu = [ ];
   };
   by-spec."sshpk"."^1.7.0" =
-    self.by-version."sshpk"."1.7.2";
-  by-version."sshpk"."1.7.2" = self.buildNodePackage {
-    name = "sshpk-1.7.2";
-    version = "1.7.2";
+    self.by-version."sshpk"."1.7.3";
+  by-version."sshpk"."1.7.3" = self.buildNodePackage {
+    name = "sshpk-1.7.3";
+    version = "1.7.3";
     bin = true;
     src = fetchurl {
-      url = "http://registry.npmjs.org/sshpk/-/sshpk-1.7.2.tgz";
-      name = "sshpk-1.7.2.tgz";
-      sha1 = "e5eb43d0662bd201037327edb8b8f64656aca842";
+      url = "http://registry.npmjs.org/sshpk/-/sshpk-1.7.3.tgz";
+      name = "sshpk-1.7.3.tgz";
+      sha1 = "caa8ef95e30765d856698b7025f9f211ab65962f";
     };
     deps = {
       "asn1-0.2.3" = self.by-version."asn1"."0.2.3";
       "assert-plus-0.2.0" = self.by-version."assert-plus"."0.2.0";
-      "dashdash-1.12.1" = self.by-version."dashdash"."1.12.1";
+      "dashdash-1.12.2" = self.by-version."dashdash"."1.12.2";
     };
     optionalDependencies = {
       "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0";
@@ -4547,15 +4552,15 @@
     cpu = [ ];
   };
   by-spec."tunnel"."~0.0.2" =
-    self.by-version."tunnel"."0.0.3";
-  by-version."tunnel"."0.0.3" = self.buildNodePackage {
-    name = "tunnel-0.0.3";
-    version = "0.0.3";
+    self.by-version."tunnel"."0.0.4";
+  by-version."tunnel"."0.0.4" = self.buildNodePackage {
+    name = "tunnel-0.0.4";
+    version = "0.0.4";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/tunnel/-/tunnel-0.0.3.tgz";
-      name = "tunnel-0.0.3.tgz";
-      sha1 = "e8f988115ca7be9d076c7a1fae4788be708f0cf1";
+      url = "http://registry.npmjs.org/tunnel/-/tunnel-0.0.4.tgz";
+      name = "tunnel-0.0.4.tgz";
+      sha1 = "2d3785a158c174c9a16dc2c046ec5fc5f1742213";
     };
     deps = {
     };
@@ -4681,6 +4686,8 @@
     os = [ ];
     cpu = [ ];
   };
+  by-spec."underscore"."^1.4.0" =
+    self.by-version."underscore"."1.8.3";
   by-spec."underscore"."~1.4.4" =
     self.by-version."underscore"."1.4.4";
   by-spec."util-deprecate"."~1.0.1" =
@@ -4856,7 +4863,7 @@
       sha1 = "5274e67f5a64c5f92974cd85139e0332adc6b90c";
     };
     deps = {
-      "sax-1.1.4" = self.by-version."sax"."1.1.4";
+      "sax-1.1.5" = self.by-version."sax"."1.1.5";
     };
     optionalDependencies = {
     };
@@ -4906,15 +4913,15 @@
   by-spec."xmlbuilder"."0.4.x" =
     self.by-version."xmlbuilder"."0.4.3";
   by-spec."xmldom".">= 0.1.x" =
-    self.by-version."xmldom"."0.1.20";
-  by-version."xmldom"."0.1.20" = self.buildNodePackage {
-    name = "xmldom-0.1.20";
-    version = "0.1.20";
+    self.by-version."xmldom"."0.1.22";
+  by-version."xmldom"."0.1.22" = self.buildNodePackage {
+    name = "xmldom-0.1.22";
+    version = "0.1.22";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/xmldom/-/xmldom-0.1.20.tgz";
-      name = "xmldom-0.1.20.tgz";
-      sha1 = "a70b6d9035a8b16f89727d4f0dddeba0f4077892";
+      url = "http://registry.npmjs.org/xmldom/-/xmldom-0.1.22.tgz";
+      name = "xmldom-0.1.22.tgz";
+      sha1 = "10de4e5e964981f03c8cc72fadc08d14b6c3aa26";
     };
     deps = {
     };