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/xdg-user-dirs/default.nix4
-rw-r--r--pkgs/tools/X11/xdg-utils/default.nix3
-rw-r--r--pkgs/tools/X11/xpra/default.nix4
-rw-r--r--pkgs/tools/admin/aws-auth/default.nix31
-rw-r--r--pkgs/tools/admin/awscli/default.nix4
-rw-r--r--pkgs/tools/admin/certbot/default.nix12
-rw-r--r--pkgs/tools/admin/chkcrontab/default.nix20
-rw-r--r--pkgs/tools/admin/dehydrated/default.nix4
-rw-r--r--pkgs/tools/admin/simp_le/default.nix19
-rw-r--r--pkgs/tools/archivers/unp/default.nix39
-rw-r--r--pkgs/tools/audio/abcmidi/default.nix4
-rw-r--r--pkgs/tools/backup/bareos/default.nix4
-rw-r--r--pkgs/tools/backup/btrbk/default.nix4
-rw-r--r--pkgs/tools/compression/zstd/default.nix3
-rw-r--r--pkgs/tools/filesystems/archivemount/default.nix4
-rw-r--r--pkgs/tools/filesystems/irods/default.nix13
-rw-r--r--pkgs/tools/filesystems/irods/irods_root_path.patch64
-rw-r--r--pkgs/tools/graphics/gmic/default.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix4
-rw-r--r--pkgs/tools/misc/colord/default.nix23
-rw-r--r--pkgs/tools/misc/colord/fix-build-paths.patch74
-rw-r--r--pkgs/tools/misc/datamash/default.nix4
-rw-r--r--pkgs/tools/misc/fwup/default.nix4
-rw-r--r--pkgs/tools/misc/gparted/default.nix4
-rw-r--r--pkgs/tools/misc/h5utils/default.nix38
-rw-r--r--pkgs/tools/misc/lf/default.nix22
-rw-r--r--pkgs/tools/misc/lf/deps.nix4
-rw-r--r--pkgs/tools/misc/libbitcoin/libbitcoin-client.nix4
-rw-r--r--pkgs/tools/misc/libbitcoin/libbitcoin-explorer.nix4
-rw-r--r--pkgs/tools/misc/libbitcoin/libbitcoin-protocol.nix4
-rw-r--r--pkgs/tools/misc/libbitcoin/libbitcoin.nix4
-rw-r--r--pkgs/tools/misc/most/default.nix6
-rw-r--r--pkgs/tools/misc/nixbot/default.nix25
-rw-r--r--pkgs/tools/misc/noteshrink/default.nix24
-rw-r--r--pkgs/tools/misc/opentimestamps-client/default.nix23
-rw-r--r--pkgs/tools/misc/riemann-c-client/default.nix10
-rw-r--r--pkgs/tools/misc/svtplay-dl/default.nix4
-rw-r--r--pkgs/tools/misc/t/Gemfile.lock59
-rw-r--r--pkgs/tools/misc/t/default.nix2
-rw-r--r--pkgs/tools/misc/t/gemset.nix210
-rw-r--r--pkgs/tools/misc/tmuxp/default.nix4
-rw-r--r--pkgs/tools/misc/xvfb-run/default.nix1
-rw-r--r--pkgs/tools/networking/altermime/default.nix6
-rw-r--r--pkgs/tools/networking/dnscrypt-wrapper/default.nix4
-rw-r--r--pkgs/tools/networking/gupnp-tools/default.nix38
-rw-r--r--pkgs/tools/networking/memtier-benchmark/default.nix31
-rw-r--r--pkgs/tools/networking/minissdpd/default.nix4
-rw-r--r--pkgs/tools/networking/miniupnpd/default.nix4
-rw-r--r--pkgs/tools/networking/modem-manager/default.nix64
-rw-r--r--pkgs/tools/networking/modemmanager/default.nix52
-rw-r--r--pkgs/tools/networking/network-manager-applet/default.nix47
-rw-r--r--pkgs/tools/networking/network-manager/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/fix-paths.patch34
-rw-r--r--pkgs/tools/networking/network-manager/fortisslvpn.nix4
-rw-r--r--pkgs/tools/networking/network-manager/openvpn.nix25
-rw-r--r--pkgs/tools/networking/network-manager/pptp.nix43
-rw-r--r--pkgs/tools/networking/openvpn/default.nix4
-rw-r--r--pkgs/tools/networking/redir/default.nix4
-rw-r--r--pkgs/tools/networking/uget/default.nix4
-rw-r--r--pkgs/tools/networking/whois/default.nix6
-rw-r--r--pkgs/tools/networking/wrk2/default.nix42
-rw-r--r--pkgs/tools/networking/xnbd/default.nix31
-rw-r--r--pkgs/tools/package-management/nix-serve/default.nix6
-rw-r--r--pkgs/tools/package-management/opkg/default.nix4
-rw-r--r--pkgs/tools/package-management/packagekit/default.nix4
-rw-r--r--pkgs/tools/package-management/rpm/default.nix4
-rw-r--r--pkgs/tools/security/browserpass/default.nix4
-rw-r--r--pkgs/tools/security/browserpass/deps.nix9
-rw-r--r--pkgs/tools/security/clamav/default.nix6
-rw-r--r--pkgs/tools/security/clamav/fd-leak.patch49
-rw-r--r--pkgs/tools/security/hologram/default.nix14
-rw-r--r--pkgs/tools/security/lastpass-cli/default.nix4
-rw-r--r--pkgs/tools/security/lynis/default.nix4
-rw-r--r--pkgs/tools/security/masscan/default.nix8
-rw-r--r--pkgs/tools/security/neopg/default.nix47
-rw-r--r--pkgs/tools/security/nmap/default.nix4
-rw-r--r--pkgs/tools/system/acpica-tools/default.nix4
-rw-r--r--pkgs/tools/system/bar/default.nix18
-rw-r--r--pkgs/tools/system/journalbeat/default.nix4
-rw-r--r--pkgs/tools/system/logrotate/default.nix4
-rw-r--r--pkgs/tools/system/mcron/default.nix4
-rw-r--r--pkgs/tools/system/mq-cli/default.nix24
-rw-r--r--pkgs/tools/system/nq/default.nix4
-rw-r--r--pkgs/tools/system/vboot_reference/default.nix6
-rw-r--r--pkgs/tools/system/xe/default.nix4
-rw-r--r--pkgs/tools/text/fanficfare/default.nix4
-rw-r--r--pkgs/tools/text/languagetool/default.nix4
-rw-r--r--pkgs/tools/text/mir-qualia/default.nix6
-rw-r--r--pkgs/tools/text/vale/default.nix25
-rw-r--r--pkgs/tools/text/vale/deps.nix275
-rw-r--r--pkgs/tools/typesetting/asciidoc/default.nix11
-rw-r--r--pkgs/tools/typesetting/mmark/default.nix26
-rw-r--r--pkgs/tools/typesetting/mmark/deps.nix12
-rw-r--r--pkgs/tools/typesetting/xml2rfc/default.nix24
96 files changed, 1273 insertions, 613 deletions
diff --git a/pkgs/tools/X11/xdg-user-dirs/default.nix b/pkgs/tools/X11/xdg-user-dirs/default.nix
index 0af945317530..3e0680cac449 100644
--- a/pkgs/tools/X11/xdg-user-dirs/default.nix
+++ b/pkgs/tools/X11/xdg-user-dirs/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libxslt, docbook_xsl, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "xdg-user-dirs-0.16";
+  name = "xdg-user-dirs-0.17";
 
   src = fetchurl {
     url = "http://user-dirs.freedesktop.org/releases/${name}.tar.gz";
-    sha256 = "1rp3c94hxjlfsryvwajklynfnrcvxplhwnjqc7395l89i0nb83vp";
+    sha256 = "13216b8rfkzak5k6bvpx6jvqv3cnbgpijnjwj8a8d3kq4cl0a1ra";
   };
 
   buildInputs = [ libxslt docbook_xsl makeWrapper ];
diff --git a/pkgs/tools/X11/xdg-utils/default.nix b/pkgs/tools/X11/xdg-utils/default.nix
index 52ecdc267340..28839891aa55 100644
--- a/pkgs/tools/X11/xdg-utils/default.nix
+++ b/pkgs/tools/X11/xdg-utils/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, fetchFromGitHub
 , file, libxslt, docbook_xml_dtd_412, docbook_xsl, xmlto
-, w3m, which, gnugrep, gnused, coreutils
+, w3m, which, gnugrep, gnused, coreutils, xset
 , mimiSupport ? false, gawk ? null }:
 
 assert mimiSupport -> gawk != null;
@@ -38,6 +38,7 @@ stdenv.mkDerivation rec {
     file()  { ${file}/bin/file      "$@"; }\
     awk()   { ${gawk}/bin/awk       "$@"; }\
     sort()  { ${coreutils}/bin/sort "$@"; }\
+    xset()  { ${xset}/bin/xset      "$@"; }\
     &#' -i "$out"/bin/*
 
     substituteInPlace $out/bin/xdg-open \
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index a3aa7a0aa234..805e5c03816c 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -12,11 +12,11 @@ let
   inherit (python2Packages) python cython buildPythonApplication;
 in buildPythonApplication rec {
   name = "xpra-${version}";
-  version = "2.1.3";
+  version = "2.2.4";
 
   src = fetchurl {
     url = "http://xpra.org/src/${name}.tar.xz";
-    sha256 = "0r0l3p59q05fmvkp3jv8vmny2v8m1vyhqkg6b9r2qgxn1kcxx7rm";
+    sha256 = "0v8yflvisk94bfj0zg4ggdfwrig0f3ss9kjnws3zflsr33cb2hxy";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/admin/aws-auth/default.nix b/pkgs/tools/admin/aws-auth/default.nix
deleted file mode 100644
index 9f36a6403a17..000000000000
--- a/pkgs/tools/admin/aws-auth/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchFromGitHub, makeWrapper, jq, awscli }:
-
-stdenv.mkDerivation rec {
-  version = "unstable-2017-07-24";
-  name = "aws-auth-${version}";
-
-  src = fetchFromGitHub {
-    owner = "alphagov";
-    repo = "aws-auth";
-    rev = "5a4c9673f9f00ebaa4bb538827e1c2f277c475e1";
-    sha256 = "095j9zqxra8hi2iyz0y4azs9yigy5f6alqkfmv180pm75nbc031g";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  dontBuild = true;
-
-  # copy script and set $PATH
-  installPhase = ''
-    install -D $src/aws-auth.sh $out/bin/aws-auth
-    wrapProgram $out/bin/aws-auth \
-      --prefix PATH : ${stdenv.lib.makeBinPath [ awscli jq ]}
-  '';
-
-  meta = {
-    homepage = https://github.com/alphagov/aws-auth;
-    description = "AWS authentication wrapper to handle MFA and IAM roles";
-    license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [ ris ];
-  };
-}
diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix
index eb735a04abb9..23908a8b66f9 100644
--- a/pkgs/tools/admin/awscli/default.nix
+++ b/pkgs/tools/admin/awscli/default.nix
@@ -19,11 +19,11 @@ let
 
 in py.pkgs.buildPythonApplication rec {
   pname = "awscli";
-  version = "1.14.47";
+  version = "1.14.50";
 
   src = py.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "269483910c820ae5b4f60021375f07e4f1c23f86505e1b9e29243880a660c1d8";
+    sha256 = "1yiwj7cl9r1k9226mdq6pcmrs044k7p3d133lzgv9rb1dgp4053c";
   };
 
   # No tests included
diff --git a/pkgs/tools/admin/certbot/default.nix b/pkgs/tools/admin/certbot/default.nix
index 78a38e07cc29..bf2b4ac6799d 100644
--- a/pkgs/tools/admin/certbot/default.nix
+++ b/pkgs/tools/admin/certbot/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, python2Packages, fetchFromGitHub, dialog }:
+{ stdenv, pythonPackages, fetchFromGitHub, dialog }:
 
 # Latest version of certbot supports python3 and python3 version of pythondialog
 
-python2Packages.buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   name = "certbot-${version}";
-  version = "0.19.0";
+  version = "0.22.2";
 
   src = fetchFromGitHub {
     owner = "certbot";
     repo = "certbot";
     rev = "v${version}";
-    sha256 = "14i3q59v7j0q2pa1dri420fhil4h0vgl4vb471hp81f4y14gq6h7";
+    sha256 = "08x80x9d71j84mwjm5wzd0x5gcw6gwyvkvadi2js39js6hfnc6jg";
   };
 
-  propagatedBuildInputs = with python2Packages; [
+  propagatedBuildInputs = with pythonPackages; [
     ConfigArgParse
     acme
     configobj
@@ -28,7 +28,7 @@ python2Packages.buildPythonApplication rec {
     zope_component
     zope_interface
   ];
-  buildInputs = [ dialog ] ++ (with python2Packages; [ nose mock gnureadline ]);
+  buildInputs = [ dialog ] ++ (with pythonPackages; [ nose mock gnureadline ]);
 
   patchPhase = ''
     substituteInPlace certbot/notify.py --replace "/usr/sbin/sendmail" "/run/wrappers/bin/sendmail"
diff --git a/pkgs/tools/admin/chkcrontab/default.nix b/pkgs/tools/admin/chkcrontab/default.nix
new file mode 100644
index 000000000000..a4b119f126a4
--- /dev/null
+++ b/pkgs/tools/admin/chkcrontab/default.nix
@@ -0,0 +1,20 @@
+{ python, stdenv }:
+
+with python.pkgs;
+
+buildPythonApplication rec {
+  pname = "chkcrontab";
+  version = "1.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0gmxavjkjkvjysgf9cf5fcpk589gb75n1mn20iki82wifi1pk1jn";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A tool to detect crontab errors";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ma27 ];
+    homepage = https://github.com/lyda/chkcrontab;
+  };
+}
diff --git a/pkgs/tools/admin/dehydrated/default.nix b/pkgs/tools/admin/dehydrated/default.nix
index cbd76b2e7b7f..d4211328b959 100644
--- a/pkgs/tools/admin/dehydrated/default.nix
+++ b/pkgs/tools/admin/dehydrated/default.nix
@@ -1,7 +1,7 @@
 { stdenv, bash, coreutils, curl, diffutils, gawk, gnugrep, gnused, openssl, makeWrapper, fetchFromGitHub }:
 let
   pkgName = "dehydrated";
-  version = "0.5.0";
+  version = "0.6.1";
 in
 stdenv.mkDerivation rec {
   name = pkgName + "-" + version;
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "lukas2511";
     repo = "dehydrated";
     rev = "v${version}";
-    sha256 = "0ysfsz1ny3gcc4r9szrr09dg63zd7ppv6aih13wmai806yapwxrr";
+    sha256 = "0390fnycl3l4yqacwvaf7dp08rx2vvs27s06q7b478qzrn59flz4";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/admin/simp_le/default.nix b/pkgs/tools/admin/simp_le/default.nix
index ce416e7cd250..b618e71568d3 100644
--- a/pkgs/tools/admin/simp_le/default.nix
+++ b/pkgs/tools/admin/simp_le/default.nix
@@ -1,26 +1,31 @@
-{ stdenv, fetchFromGitHub, fetchpatch, pythonPackages }:
-
+{ stdenv, fetchFromGitHub, fetchpatch, pythonPackages, bash }:
+ 
 pythonPackages.buildPythonApplication rec {
   pname = "simp_le-client";
-  version = "0.6.1";
-  name = "${pname}-${version}";
+  version = "0.8.0";
 
   src = pythonPackages.fetchPypi {
     inherit pname version;
-    sha256 = "0x4fky9jizs3xi55cdy217cvm3ikpghiabysan71b07ackkdfj6k";
+    sha256 = "0nv9mm99rm8i9flgfgwvmajbsxb5rm162nfxlq3wk66bbbyr6y1i";
   };
 
+  postPatch = ''
+    substituteInPlace simp_le.py \
+      --replace "/bin/sh" "${bash}/bin/sh"
+  '';
+
   checkPhase = ''
     $out/bin/simp_le --test
   '';
 
-  propagatedBuildInputs = with pythonPackages; [ acme setuptools_scm ];
+  propagatedBuildInputs = with pythonPackages; [ acme setuptools_scm josepy ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/zenhack/simp_le;
     description = "Simple Let's Encrypt client";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ gebner ];
+    maintainers = with maintainers; [ gebner makefu ];
     platforms = platforms.all;
   };
 }
+
diff --git a/pkgs/tools/archivers/unp/default.nix b/pkgs/tools/archivers/unp/default.nix
new file mode 100644
index 000000000000..7583663ebf0a
--- /dev/null
+++ b/pkgs/tools/archivers/unp/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, pkgs, lib, fetchurl, makeWrapper, perl, unrar, unzip, gzip, file, extraBackends ? [] }:
+
+stdenv.mkDerivation rec {
+  name = "unp-${version}";
+  version = "2.0-pre7";
+
+  runtime_bins =  [ file unrar unzip gzip ] ++ extraBackends;
+  buildInputs = [ perl makeWrapper ] ++ runtime_bins;
+
+  src = fetchurl {
+    # url = "http://http.debian.net/debian/pool/main/u/unp/unp_2.0~pre7+nmu1.tar.bz2";
+    url = "mirror://debian/pool/main/u/unp/unp_2.0~pre7+nmu1.tar.bz2";
+    sha256 = "09w2sy7ivmylxf8blf0ywxicvb4pbl0xhrlbb3i9x9d56ll6ybbw";
+    name = "unp_2.0_pre7+nmu1.tar.bz2";
+  };
+
+  configurePhase = "true";
+  buildPhase = "true";
+  installPhase = ''
+  mkdir -p $out/bin
+  mkdir -p $out/share/man
+  cp unp $out/bin/
+  cp ucat $out/bin/
+  cp debian/unp.1 $out/share/man
+
+  wrapProgram $out/bin/unp \
+    --prefix PATH : ${lib.makeBinPath runtime_bins}
+  wrapProgram $out/bin/ucat \
+    --prefix PATH : ${lib.makeBinPath runtime_bins}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Command line tool for unpacking archives easily";
+    homepage = https://packages.qa.debian.org/u/unp.html;
+    license = with licenses; [ gpl2 ];
+    maintainers = [ maintainers.timor ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/audio/abcmidi/default.nix b/pkgs/tools/audio/abcmidi/default.nix
index 0aaf018cb22f..7af507c35bec 100644
--- a/pkgs/tools/audio/abcmidi/default.nix
+++ b/pkgs/tools/audio/abcmidi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "abcMIDI-${version}";
-  version = "2018.02.22";
+  version = "2018.03.08";
 
   src = fetchzip {
     url = "http://ifdo.ca/~seymour/runabc/${name}.zip";
-    sha256 = "03ln05012yhlq8aalm00af6pidb44phmmidlc953453isfllg82a";
+    sha256 = "0pdia3n23l4nhc4lmyphgh6swq35nnzqk2z4ykif1xajbkbddxm3";
   };
 
   # There is also a file called "makefile" which seems to be preferred by the standard build phase
diff --git a/pkgs/tools/backup/bareos/default.nix b/pkgs/tools/backup/bareos/default.nix
index 4af20f76449a..691568673df3 100644
--- a/pkgs/tools/backup/bareos/default.nix
+++ b/pkgs/tools/backup/bareos/default.nix
@@ -12,14 +12,14 @@ let
 in
 stdenv.mkDerivation rec {
   name = "bareos-${version}";
-  version = "15.2.4";
+  version = "17.2.5";
 
   src = fetchFromGitHub {
     owner = "bareos";
     repo = "bareos";
     rev = "Release/${version}";
     name = "${name}-src";
-    sha256 = "02k6wmr2n12dc6vwda8xczmbqidg6fs8nfg9n2cwwpm3k1a21qnd";
+    sha256 = "1mgh25lhd05m26sq1sj5ir2b4n7560x93ib25cvf9vmmypm1c7pn";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/backup/btrbk/default.nix b/pkgs/tools/backup/btrbk/default.nix
index 3565d8cbeb20..ace543186651 100644
--- a/pkgs/tools/backup/btrbk/default.nix
+++ b/pkgs/tools/backup/btrbk/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "btrbk-${version}";
-  version = "0.26.0";
+  version = "0.26.1";
 
   src = fetchurl {
     url = "http://digint.ch/download/btrbk/releases/${name}.tar.xz";
-    sha256 = "1brnh5x3fd91j3v8rz3van08m9i0ym4lv4hqz274s86v1kx4k330";
+    sha256 = "04ahfm52vcf1w0c2km0wdgj2jpffp45bpawczmygcg8fdcm021lp";
   };
 
   buildInputs = with perlPackages; [ asciidoc-full makeWrapper perl DateCalc ];
diff --git a/pkgs/tools/compression/zstd/default.nix b/pkgs/tools/compression/zstd/default.nix
index 457170013ce5..6617a4346e5e 100644
--- a/pkgs/tools/compression/zstd/default.nix
+++ b/pkgs/tools/compression/zstd/default.nix
@@ -1,4 +1,5 @@
 { stdenv, fetchFromGitHub, gnugrep
+, fixDarwinDylibNames
 , legacySupport ? false }:
 
 stdenv.mkDerivation rec {
@@ -12,6 +13,8 @@ stdenv.mkDerivation rec {
     owner = "facebook";
   };
 
+  buildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
+
   makeFlags = [
     "ZSTD_LEGACY_SUPPORT=${if legacySupport then "1" else "0"}"
   ];
diff --git a/pkgs/tools/filesystems/archivemount/default.nix b/pkgs/tools/filesystems/archivemount/default.nix
index 72403bd3dc0c..b7ade4c5abc2 100644
--- a/pkgs/tools/filesystems/archivemount/default.nix
+++ b/pkgs/tools/filesystems/archivemount/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, fuse, libarchive }:
 
 let
-  name = "archivemount-0.8.7";
+  name = "archivemount-0.8.9";
 in
 stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "http://www.cybernoia.de/software/archivemount/${name}.tar.gz";
-    sha256 = "1diiw6pnlnrnikn6l5ld92dx59lhrxjlqms8885vwbynsjl5q127";
+    sha256 = "0v4si1ri6lhnq9q87gkx7fsh6lv6xz4bynknwndqncpvfp5cy1jg";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/filesystems/irods/default.nix b/pkgs/tools/filesystems/irods/default.nix
index 523028f5fb2e..c2066f95ef5a 100644
--- a/pkgs/tools/filesystems/irods/default.nix
+++ b/pkgs/tools/filesystems/irods/default.nix
@@ -1,8 +1,11 @@
-{ stdenv, fetchurl, python, bzip2, zlib, autoconf, automake, cmake, gnumake, help2man , texinfo, libtool , cppzmq , libarchive, avro-cpp, boost, jansson, zeromq, openssl , pam, libiodbc, kerberos, gcc, libcxx, which }:
+{ stdenv, fetchurl, python, bzip2, zlib, autoconf, automake, cmake, gnumake, help2man , texinfo, libtool , cppzmq , libarchive, avro-cpp_llvm, boost, jansson, zeromq, openssl , pam, libiodbc, kerberos, gcc, libcxx, which }:
 
 with stdenv;
 
 let
+  avro-cpp=avro-cpp_llvm;
+in
+let
   common = import ./common.nix {
     inherit stdenv bzip2 zlib autoconf automake cmake gnumake
             help2man texinfo libtool cppzmq libarchive jansson
@@ -13,13 +16,13 @@ in rec {
 
   # irods: libs and server package
   irods = stdenv.mkDerivation (common // rec {
-    version = "4.2.1";
+    version = "4.2.2";
     prefix = "irods";
     name = "${prefix}-${version}";
 
     src = fetchurl {
       url = "https://github.com/irods/irods/releases/download/${version}/irods-${version}.tar.gz";
-      sha256 = "07yj5g1mwra4sankhqx967mk4z28kc40rir5cb85x23ljql74abq";
+      sha256 = "0b89hs7sizwrs2ja7jl521byiwb58g297p0p7zg5frxmv4ig8dw7";
     };
 
     # Patches:
@@ -53,11 +56,11 @@ in rec {
 
   # icommands (CLI) package, depends on the irods package
   irods-icommands = stdenv.mkDerivation (common // rec {
-     version = "4.2.1";
+     version = "4.2.2";
      name = "irods-icommands-${version}";
      src = fetchurl {
        url = "http://github.com/irods/irods_client_icommands/archive/${version}.tar.gz";
-       sha256 = "1kg07frv2rf32nf53a1nxscwzgr0rpgxvp5fkmh5439knby10fqw";
+       sha256 = "15zcxrx0q5c3rli3snd0b2q4i0hs3zzcrbpnibbhsip855qvs77h";
      };
 
      buildInputs = common.buildInputs ++ [ irods ];
diff --git a/pkgs/tools/filesystems/irods/irods_root_path.patch b/pkgs/tools/filesystems/irods/irods_root_path.patch
index c88169ac023f..16b6ba08cbb2 100644
--- a/pkgs/tools/filesystems/irods/irods_root_path.patch
+++ b/pkgs/tools/filesystems/irods/irods_root_path.patch
@@ -1,5 +1,6 @@
---- a/lib/core/src/irods_default_paths.cpp	2016-10-24 17:09:02.955889536 +0200
-+++ b/lib/core/src/irods_default_paths.cpp	2016-10-24 17:09:43.178722157 +0200
+diff -r -u irods-4.2.0.orig/lib/core/src/irods_default_paths.cpp irods-4.2.0/lib/core/src/irods_default_paths.cpp
+--- irods-4.2.0.orig/lib/core/src/irods_default_paths.cpp	2016-11-15 06:23:55.000000000 +0000
++++ irods-4.2.0/lib/core/src/irods_default_paths.cpp	2016-12-20 18:03:17.156883399 +0000
 @@ -18,7 +18,7 @@
          try {
              boost::filesystem::path path{dl_info.dli_fname};
@@ -9,3 +10,62 @@
              return path;
          } catch(const boost::filesystem::filesystem_error& e) {
              THROW(-1, e.what());
+@@ -27,8 +27,7 @@
+ 
+     boost::filesystem::path
+     get_irods_config_directory() {
+-        boost::filesystem::path path{get_irods_root_directory()};
+-        path.append("etc").append("irods");
++        boost::filesystem::path path("/etc/irods");
+         return path;
+     }
+ 
+diff -r -u irods-4.2.0.orig/scripts/irods/paths.py irods-4.2.0/scripts/irods/paths.py
+--- irods-4.2.0.orig/scripts/irods/paths.py	2016-11-15 06:23:55.000000000 +0000
++++ irods-4.2.0/scripts/irods/paths.py	2016-12-21 15:17:07.437864606 +0000
+@@ -10,7 +10,7 @@
+     return os.path.join(root_directory(), 'var', 'lib', 'irods')
+ 
+ def config_directory():
+-    return os.path.join(root_directory(), 'etc', 'irods')
++    return os.path.join(os.path.abspath('/'), 'etc', 'irods')
+ 
+ def plugins_directory():
+     return os.path.join(root_directory(), 'usr', 'lib', 'irods', 'plugins')
+@@ -37,7 +37,7 @@
+ 
+ def version_path():
+     return os.path.join(
+-        irods_directory(),
++        home_directory(),
+         'VERSION.json')
+ 
+ def hosts_config_path():
+@@ -64,7 +64,7 @@
+ 
+ def log_directory():
+     return os.path.join(
+-        irods_directory(),
++        home_directory(),
+         'log')
+ 
+ def control_log_path():
+@@ -110,8 +110,7 @@
+ def server_bin_directory():
+     return os.path.join(
+         root_directory(),
+-        'usr',
+-        'sbin')
++        'bin')
+ 
+ def server_executable():
+     return os.path.join(
+@@ -132,7 +131,7 @@
+     return os.path.join(config_directory(), 'service_account.config')
+ 
+ def genosauth_path():
+-    return os.path.join(irods_directory(), 'clients', 'bin', 'genOSAuth')
++    return os.path.join(home_directory(), 'clients', 'bin', 'genOSAuth')
+ 
+ def irods_user_and_group_entries():
+     try:
diff --git a/pkgs/tools/graphics/gmic/default.nix b/pkgs/tools/graphics/gmic/default.nix
index 6ac152cb7b8c..cbfdd56cca10 100644
--- a/pkgs/tools/graphics/gmic/default.nix
+++ b/pkgs/tools/graphics/gmic/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gmic-${version}";
-  version = "1.7.9";
+  version = "2.2.0";
 
   src = fetchurl {
     url = "http://gmic.eu/files/source/gmic_${version}.tar.gz";
-    sha256 = "0cvi5kmcrrg5pm774ligyy33fasgsfp3mr6ingjzd99rn4710bqm";
+    sha256 = "0yvb9iwwmjxvck2in3ymqszaddz502v2ryk50qs0wskhbhdh96c7";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
index 53b2a3abf28e..c7f7369ba88d 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   name = "ibus-anthy-${version}";
-  version = "1.5.9";
+  version = "1.5.10";
 
   meta = with stdenv.lib; {
     isIbusEngine = true;
@@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/ibus/ibus-anthy/releases/download/${version}/${name}.tar.gz";
-    sha256 = "1y8sf837rmp662bv6zakny0xcm7c9c5qda7f9kq9riv9ywpcbw6x";
+    sha256 = "0jpqz7pb9brlqiwrbr3i6wvj3b39a9bs9lljl3qa3r77mz8y0cyc";
   };
 }
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix
index 328c803e7dbc..ff01c8419260 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ibus-table-others-${version}";
-  version = "1.3.7";
+  version = "1.3.9";
 
   src = fetchurl {
     url = "https://github.com/moebiuscurve/ibus-table-others/releases/download/${version}/${name}.tar.gz";
-    sha256 = "0vmz82il796062jbla5pawsr5dqyhs7ald7xjp84zfccc09dg9kx";
+    sha256 = "0270a9njyzb1f8nw5w9ghwxcl3m6f13d8p8a01fjm8rnjs04mcb3";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
index 8c552799432b..04a0a1e36dbc 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "ibus-table-${version}";
-  version = "1.9.16";
+  version = "1.9.18";
 
   src = fetchFromGitHub {
     owner  = "kaio";
     repo   = "ibus-table";
     rev    = version;
-    sha256 = "1gkb6nsibk59kp404b394sg638jgah2a2b6ffq3gkacqg5j30wjb";
+    sha256 = "0isxgz7f6xhrcv5qrdd6gm3ysmqp3mi5ngnbqz08f7pclllaridp";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/colord/default.nix b/pkgs/tools/misc/colord/default.nix
index 9af7de8b35e4..043ea44bb8c8 100644
--- a/pkgs/tools/misc/colord/default.nix
+++ b/pkgs/tools/misc/colord/default.nix
@@ -1,18 +1,16 @@
 { stdenv, fetchurl, bash-completion
 , glib, polkit, pkgconfig, gettext, gusb, lcms2, sqlite, systemd, dbus
-, gobjectIntrospection, argyllcms, meson, ninja, libxml2, vala_0_38
+, gobjectIntrospection, argyllcms, meson, ninja, libxml2, vala_0_40
 , libgudev, sane-backends, udev, gnome3, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "colord-1.4.1";
+  name = "colord-1.4.2";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/colord/releases/${name}.tar.xz";
-    sha256 = "0m854clp8szvq38z16jpazzlqfb3lb3icxcfnsisfrc25748y1ib";
+    sha256 = "19zc9gldz469jshl16av7na459kwr5nhvs2pz98xm5lw582xaw2c";
   };
 
-  enableParallelBuilding = true;
-
   mesonFlags = [
     "-Denable-sane=true"
     "-Denable-vala=true"
@@ -23,19 +21,20 @@ stdenv.mkDerivation rec {
     "-Denable-docs=false"
   ];
 
-  patches = [
-    ./fix-build-paths.patch
-  ];
-
-  nativeBuildInputs = [ meson pkgconfig vala_0_38 ninja gettext libxml2 gobjectIntrospection makeWrapper ];
+  nativeBuildInputs = [ meson pkgconfig vala_0_40 ninja gettext libxml2 gobjectIntrospection makeWrapper ];
 
-  buildInputs = [ glib polkit gusb lcms2 sqlite systemd dbus
-                  bash-completion argyllcms libgudev sane-backends ];
+  buildInputs = [ glib polkit gusb lcms2 sqlite systemd dbus bash-completion argyllcms libgudev sane-backends ];
 
   postInstall = ''
     glib-compile-schemas $out/share/glib-2.0/schemas
   '';
 
+  PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system";
+  PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "${placeholder "out"}/lib/systemd/user";
+  PKG_CONFIG_SYSTEMD_TMPFILESDIR = "${placeholder "out"}/lib/tmpfiles.d";
+  PKG_CONFIG_BASH_COMPLETION_COMPLETIONSDIR= "${placeholder "out"}/share/bash-completion/completions";
+  PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev";
+
   postFixup = ''
     wrapProgram "$out/libexec/colord-session" \
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share" \
diff --git a/pkgs/tools/misc/colord/fix-build-paths.patch b/pkgs/tools/misc/colord/fix-build-paths.patch
deleted file mode 100644
index d4bf0f36ad74..000000000000
--- a/pkgs/tools/misc/colord/fix-build-paths.patch
+++ /dev/null
@@ -1,74 +0,0 @@
---- a/contrib/session-helper/meson.build
-+++ b/contrib/session-helper/meson.build
-@@ -21,7 +21,7 @@
-     output : 'colord-session.service',
-     configuration : con2,
-     install: true,
--    install_dir: systemd.get_pkgconfig_variable('systemduserunitdir'),
-+    install_dir: join_paths(get_option('prefix'), 'etc', 'systemd', 'user'),
-   )
- endif
- 
---- a/data/meson.build
-+++ b/data/meson.build
-@@ -8,13 +8,13 @@
- 
- if get_option('enable-systemd')
-   install_data('colord.conf',
--    install_dir: systemd.get_pkgconfig_variable('tmpfilesdir')
-+    install_dir: join_paths(get_option('prefix'), 'lib', 'tmpfiles.d')
-   )
- endif
- 
- if get_option('enable-bash-completion')
-   install_data('colormgr',
--    install_dir: bash_completion.get_pkgconfig_variable('completionsdir')
-+    install_dir: join_paths(get_option('prefix'), 'etc', 'bash_completion.d')
-   )
- endif
- 
-@@ -31,7 +31,7 @@
-     output : 'colord.service',
-     configuration : con2,
-     install: true,
--    install_dir: systemd.get_pkgconfig_variable('systemdsystemunitdir'),
-+    install_dir: join_paths(get_option('prefix'), 'etc', 'systemd', 'system'),
-   )
- endif
- 
-@@ -50,5 +50,5 @@
-   output : 'org.freedesktop.ColorManager.conf',
-   configuration : con2,
-   install: true,
--  install_dir: join_paths(get_option('datadir'), 'dbus-1', 'system.d') ,
-+  install_dir: join_paths(get_option('prefix'), 'etc', 'dbus-1', 'system.d') ,
- )
---- a/meson.build
-+++ b/meson.build
-@@ -258,6 +258,3 @@
- subdir('policy')
- subdir('rules')
- subdir('src')
--
--meson.add_install_script('meson_post_install.sh',
--                         localstatedir, get_option('with-daemon-user'))
---- a/rules/meson.build
-+++ b/rules/meson.build
-@@ -9,5 +9,5 @@
-     sensor_rules_in,
-     '95-cd-devices.rules',
-   ],
--  install_dir : join_paths(udev.get_pkgconfig_variable('udevdir'), 'rules.d')
-+  install_dir : join_paths(get_option('prefix'), 'lib', 'udev', 'rules.d')
- )
---- a/src/plugins/meson.build
-+++ b/src/plugins/meson.build
-@@ -66,7 +66,7 @@
-     install_dir: join_paths(get_option('libdir'), 'colord-plugins'),
-     c_args : [
-       cargs,
--      '-DCOLORD_SANE_BINARY="' + join_paths(get_option('libexecdir'), 'colord-sane' + '"'),
-+      '-DCOLORD_SANE_BINARY="' + join_paths(get_option('prefix'), get_option('libexecdir'), 'colord-sane' + '"'),
-     ],
-     dependencies : [
-       gio,
diff --git a/pkgs/tools/misc/datamash/default.nix b/pkgs/tools/misc/datamash/default.nix
index 9b9735cbfcdc..064fd00cc27c 100644
--- a/pkgs/tools/misc/datamash/default.nix
+++ b/pkgs/tools/misc/datamash/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "datamash-${version}";
-  version = "1.2";
+  version = "1.3";
 
   src = fetchurl {
     url = "mirror://gnu/datamash/${name}.tar.gz";
-    sha256 = "15jrv3ly0vgvwwi2qjmhi39n7wrklwifdk961wwfaxyc5jr6zm78";
+    sha256 = "19jpcv4ryvbz0476d6dgpxpbjkpmih4q84wj06nslls338bm5fzf";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/fwup/default.nix b/pkgs/tools/misc/fwup/default.nix
index 592707be20ab..e7e40bc851e2 100644
--- a/pkgs/tools/misc/fwup/default.nix
+++ b/pkgs/tools/misc/fwup/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "fwup-${version}";
-  version = "0.18.1";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "fhunleth";
     repo = "fwup";
     rev = "v${version}";
-    sha256 = "0qdld8jy1rkpfzbfhnssr58q1gciln3pw9m6fj0jarfgja4gj31l";
+    sha256 = "1v79q5s4lm8scrz9nmqcszyh40is6k7hkr15r4aljyfbp1gamsfs";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix
index 99c54b6d3964..451bcae1efd1 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.30.0";
+  name = "gparted-0.31.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/gparted/${name}.tar.gz";
-    sha256 = "0jngbsbvg8k8vbpsphqbk8br2cbmxhabbm2c5bmxm2q5zvpr64fk";
+    sha256 = "1fh7rpgb4xxdhgyjsirb83zvjfc5mfngb8a1pjbv7r6r6jj4jyrv";
   };
 
   configureFlags = [ "--disable-doc" ];
diff --git a/pkgs/tools/misc/h5utils/default.nix b/pkgs/tools/misc/h5utils/default.nix
new file mode 100644
index 000000000000..db18cae77b1f
--- /dev/null
+++ b/pkgs/tools/misc/h5utils/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, lib
+, hdf5, libpng, libjpeg
+, hdf4 ? null
+, libmatheval ? null
+}:
+
+stdenv.mkDerivation rec {
+  version = "1.13.1";
+  name = "h5utils-${version}";
+
+  # fetchurl is used instead of fetchFromGitHub because the git repo version requires
+  # additional tools to build compared to the tarball release; see the README for details.
+  src = fetchurl {
+    url = "https://github.com/stevengj/h5utils/releases/download/${version}/h5utils-${version}.tar.gz";
+    sha256 = "0rbx3m8p5am8z5m0f3sryryfc41541hjpkixb1jkxakd9l36z9y5";
+  };
+
+  # libdf is an alternative name for libhdf (hdf4)
+  preConfigure = lib.optionalString (hdf4 != null)
+  ''
+    substituteInPlace configure \
+    --replace "-ldf" "-lhdf" \
+  '';
+
+  preBuild = lib.optionalString hdf5.mpiSupport "export CC=${hdf5.mpi}/bin/mpicc";
+
+  buildInputs = with lib; [ hdf5 libjpeg libpng ] ++ optional hdf5.mpiSupport hdf5.mpi
+    ++ optional (hdf4 != null) hdf4
+    ++ optional (libmatheval != null) libmatheval;
+
+  meta = with lib; {
+    description = "A set of utilities for visualization and conversion of scientific data in the free, portable HDF5 format";
+    homepage = https://github.com/stevengj/h5utils;
+    license = with licenses; [ mit gpl2 ];
+    maintainers = with maintainers; [ sfrijters ];
+  };
+
+}
diff --git a/pkgs/tools/misc/lf/default.nix b/pkgs/tools/misc/lf/default.nix
index 7e5a464764ab..0a7073f4d489 100644
--- a/pkgs/tools/misc/lf/default.nix
+++ b/pkgs/tools/misc/lf/default.nix
@@ -1,19 +1,33 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "lf-unstable-${version}";
-  version = "2018-01-11";
+  name = "lf-${version}";
+  version = "1";
 
   src = fetchFromGitHub {
     owner = "gokcehan";
     repo = "lf";
-    rev = "58538c802044a3a2590ebe4979f3c85d807ea2d9"; # nightly
-    sha256 = "0xp5accliwz1d0nbsc6cnsv38czcfqn5nyxfndkpw8jkh8w2pm9p";
+    rev = "r${version}";
+    sha256 = "0mq83m7mvavd0dzhk8g6ffldy57i22n0846yzqnlz733chiy3anz";
   };
 
   goPackagePath = "github.com/gokcehan/lf";
   goDeps = ./deps.nix;
 
+  # TODO: Setting buildFlags probably isn't working properly. I've tried a few
+  # variants, e.g.:
+  # - buildFlags = "-ldflags \"-s -w -X 'main.gVersion=${version}'\"";
+  # - buildFlags = "-ldflags \\\"-X ${goPackagePath}/main.gVersion=${version}\\\"";
+
+  # Override the build phase (to set buildFlags):
+  buildPhase = ''
+    runHook preBuild
+    runHook renameImports
+    cd go/src/${goPackagePath}
+    go install -ldflags="-s -w -X main.gVersion=${version}"
+    runHook postBuild
+  '';
+
   meta = with stdenv.lib; {
     description = "A terminal file manager written in Go and heavily inspired by ranger";
     longDescription = ''
diff --git a/pkgs/tools/misc/lf/deps.nix b/pkgs/tools/misc/lf/deps.nix
index 6c1e07667b35..ec9dc30e0cd6 100644
--- a/pkgs/tools/misc/lf/deps.nix
+++ b/pkgs/tools/misc/lf/deps.nix
@@ -4,8 +4,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/nsf/termbox-go";
-      rev = "aa4a75b1c20a2b03751b1a9f7e41d58bd6f71c43"; # master
-      sha256 = "1xfd0mq6jkq55dx14nksyyfc66qla7cz0xxscpw07b25qmww9518";
+      rev = "e2050e41c8847748ec5288741c0b19a8cb26d084"; # master
+      sha256 = "181b1df2b6fcn5wizq2qqxl1kwqbih5k15n08rx3bcz36q34n23s";
     };
   }
   {
diff --git a/pkgs/tools/misc/libbitcoin/libbitcoin-client.nix b/pkgs/tools/misc/libbitcoin/libbitcoin-client.nix
index d2f988396ca7..8d55b2cdc00e 100644
--- a/pkgs/tools/misc/libbitcoin/libbitcoin-client.nix
+++ b/pkgs/tools/misc/libbitcoin/libbitcoin-client.nix
@@ -3,7 +3,7 @@
 
 let
   pname = "libbitcoin-client";
-  version = "3.4.0";
+  version = "3.5.0";
 
 in stdenv.mkDerivation {
   name = "${pname}-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     owner = "libbitcoin";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1vdp6qgpxshh6nhdvr81z3nvh42wgmsm4prli4ajigwp970y8p56";
+    sha256 = "0a9c00f1pfi8wczbfd1djkvr7di3iw1ynak6if910w01dkhbm6v4";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/misc/libbitcoin/libbitcoin-explorer.nix b/pkgs/tools/misc/libbitcoin/libbitcoin-explorer.nix
index e9f4c977779f..e49614834ae3 100644
--- a/pkgs/tools/misc/libbitcoin/libbitcoin-explorer.nix
+++ b/pkgs/tools/misc/libbitcoin/libbitcoin-explorer.nix
@@ -3,7 +3,7 @@
 
 let
   pname = "libbitcoin-explorer";
-  version = "3.4.0";
+  version = "3.5.0";
 
 in stdenv.mkDerivation {
   name = "${pname}-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     owner = "libbitcoin";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0rxiimklzqyp9vswznz9aia71dn6jxm2pxx5ljlhzs5rs583cj00";
+    sha256 = "033nrdzrha4kypxk4biixjsbjd16r4m2mjvpid4gdj5hzbbj1p93";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/misc/libbitcoin/libbitcoin-protocol.nix b/pkgs/tools/misc/libbitcoin/libbitcoin-protocol.nix
index 5fbc2f403087..fbfcfc100740 100644
--- a/pkgs/tools/misc/libbitcoin/libbitcoin-protocol.nix
+++ b/pkgs/tools/misc/libbitcoin/libbitcoin-protocol.nix
@@ -3,7 +3,7 @@
 
 let
   pname = "libbitcoin-protocol";
-  version = "3.4.0";
+  version = "3.5.0";
 
 in stdenv.mkDerivation {
   name = "${pname}-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     owner = "libbitcoin";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1wrlzani3wdjkmxqwjh30i8lg3clrzwcx2di7c9sdpnsbda985gb";
+    sha256 = "1ln9r04hlnc7qmv17rakyhrnzw1a541pg5jc1sw3ccn90a5x6cfv";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/misc/libbitcoin/libbitcoin.nix b/pkgs/tools/misc/libbitcoin/libbitcoin.nix
index 623f34e8b615..f8910f83ec57 100644
--- a/pkgs/tools/misc/libbitcoin/libbitcoin.nix
+++ b/pkgs/tools/misc/libbitcoin/libbitcoin.nix
@@ -3,7 +3,7 @@
 
 let
   pname = "libbitcoin";
-  version = "3.4.0";
+  version = "3.5.0";
 
 in stdenv.mkDerivation {
   name = "${pname}-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1h6h7cxbwkdk8bzbkfvnrrdzajw1d4lr8wqs66is735bksh6gk1y";
+    sha256 = "1qy637hpv6kkhf602yxxi5b9j0qhsp644fazljcqbnxzp7vv2qyd";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/misc/most/default.nix b/pkgs/tools/misc/most/default.nix
index 107aa094dd7b..61ddec3caaa2 100644
--- a/pkgs/tools/misc/most/default.nix
+++ b/pkgs/tools/misc/most/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, slang, ncurses }:
 
 stdenv.mkDerivation {
-  name = "most-5.0.0";
+  name = "most-5.0.0a";
 
   src = fetchurl {
-    url = ftp://space.mit.edu/pub/davis/most/most-5.0.0.tar.bz2;
-    sha256 = "1f5x7rvjg89b5klfqs1gb91jmbnd3fy08d8rwgdvgg0plqkxr7ja";
+    url = ftp://space.mit.edu/pub/davis/most/most-5.0.0a.tar.bz2;
+    sha256 = "1aas904g8x48vsfh3wcr2k6mjzkm5808lfgl2qqhdfdnf4p5mjwl";
   };
 
   preConfigure = ''
diff --git a/pkgs/tools/misc/nixbot/default.nix b/pkgs/tools/misc/nixbot/default.nix
deleted file mode 100644
index 554aa0bccee2..000000000000
--- a/pkgs/tools/misc/nixbot/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, python3Packages, fetchFromGitHub }:
-
-python3Packages.buildPythonApplication rec {
-  name = "nixbot-unstable-2016-10-09";
-
-  src = fetchFromGitHub {
-    owner = "domenkozar";
-    repo = "nixbot";
-    rev = "dc490e4954cb08f0eff97f74ad39dedb54670aa9";
-    sha256 = "1l8rlhd2b7x5m79vb2vgszachygasv0pk8drnwgxyvsn0k88xcan";
-  };
-
-  propagatedBuildInputs = with python3Packages; [
-    pygit2 pyramid waitress github3_py
-  ];
-
-  doCheck = false;
-
-  meta = with stdenv.lib; {
-    description = "Github bot for reviewing/testing pull requests with the help of Hydra";
-    maintainers = with maintainers; [ domenkozar fpletz globin ];
-    license = licenses.asl20;
-    homepage = https://github.com/domenkozar/nixbot;
-  };
-}
diff --git a/pkgs/tools/misc/noteshrink/default.nix b/pkgs/tools/misc/noteshrink/default.nix
new file mode 100644
index 000000000000..77c84ab45118
--- /dev/null
+++ b/pkgs/tools/misc/noteshrink/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, python3, imagemagick }:
+
+with python3.pkgs;
+
+buildPythonApplication rec {
+  name = "noteshrink-${version}";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner  = "mzucker";
+    repo   = "noteshrink";
+    rev    = version;
+    sha256 = "0xhrvg3d8ffnbbizsrfppcd2y98znvkgxjdmvbvin458m2rwccka";
+  };
+
+  propagatedBuildInputs = [ numpy scipy imagemagick pillow ];
+
+  meta = with stdenv.lib; {
+    description = "Convert scans of handwritten notes to beautiful, compact PDFs";
+    homepage    = https://mzucker.github.io/2016/09/20/noteshrink.html;
+    license     = licenses.mit;
+    maintainers = with maintainers; [ rnhmjoj ];
+  };
+}
diff --git a/pkgs/tools/misc/opentimestamps-client/default.nix b/pkgs/tools/misc/opentimestamps-client/default.nix
new file mode 100644
index 000000000000..a062aa992be6
--- /dev/null
+++ b/pkgs/tools/misc/opentimestamps-client/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonApplication, fetchFromGitHub, isPy3k
+, opentimestamps, GitPython, pysocks }:
+
+buildPythonApplication rec {
+  name = "opentimestamps-client-${version}";
+  version = "0.5.1";
+  disabled = (!isPy3k);
+
+  src = fetchFromGitHub {
+    owner = "opentimestamps";
+    repo = "opentimestamps-client";
+    rev = "opentimestamps-client-v0.5.1";
+    sha256 = "0s549xkb75r5wyvjlfmac8a1df6w0y55l98f492zsihdns1d6rzq";
+  };
+
+  propagatedBuildInputs = [ opentimestamps GitPython pysocks ];
+
+  meta = {
+    description = "Command-line tool to create and verify OpenTimestamps proofs";
+    homepage = https://github.com/opentimestamps/opentimestamps-client;
+    license = lib.licenses.lgpl3;
+  };
+}
diff --git a/pkgs/tools/misc/riemann-c-client/default.nix b/pkgs/tools/misc/riemann-c-client/default.nix
index 07c14ac76267..42a94207be79 100644
--- a/pkgs/tools/misc/riemann-c-client/default.nix
+++ b/pkgs/tools/misc/riemann-c-client/default.nix
@@ -1,20 +1,22 @@
 { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, file , protobufc }:
 
 stdenv.mkDerivation rec {
-  pname = "riemann-c-client";
-  version = "1.9.1";
-  name = "${pname}-${version}";
+  name = "riemann-c-client-1.10.1";
 
   src = fetchFromGitHub {
     owner = "algernon";
     repo = "riemann-c-client";
     rev = "${name}";
-    sha256 = "1j3wgf9xigsv6ckmv82gjj4wavi7xjn2zvj1f63fzbaa1rv7pf3s";
+    sha256 = "1pzyngvj9aq1w2185qpg6rxrjn406pnpy40bnh4c21fn4ql5kk9p";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ file protobufc ];
 
+  preBuild = ''
+    make lib/riemann/proto/riemann.pb-c.h
+  '';
+
   meta = with stdenv.lib; {
     homepage = https://github.com/algernon/riemann-c-client;
     description = "A C client library for the Riemann monitoring system";
diff --git a/pkgs/tools/misc/svtplay-dl/default.nix b/pkgs/tools/misc/svtplay-dl/default.nix
index dfd784b72488..f0abb38706b0 100644
--- a/pkgs/tools/misc/svtplay-dl/default.nix
+++ b/pkgs/tools/misc/svtplay-dl/default.nix
@@ -5,13 +5,13 @@ let
   inherit (pythonPackages) python nose pycrypto requests mock;
 in stdenv.mkDerivation rec {
   name = "svtplay-dl-${version}";
-  version = "1.9.10";
+  version = "1.9.11";
 
   src = fetchFromGitHub {
     owner = "spaam";
     repo = "svtplay-dl";
     rev = version;
-    sha256 = "1qi5c9ii3qq5s1rk7vj6n0kxbfqanbl0151id79b2qs96bpvj7vi";
+    sha256 = "14p2362rzyblma9321z4zrcbzfs9m269ry6sz44ly0bv5fik7gdy";
   };
 
   pythonPaths = [ pycrypto requests ];
diff --git a/pkgs/tools/misc/t/Gemfile.lock b/pkgs/tools/misc/t/Gemfile.lock
index d85f5a1a7526..6506d32b0ce9 100644
--- a/pkgs/tools/misc/t/Gemfile.lock
+++ b/pkgs/tools/misc/t/Gemfile.lock
@@ -1,52 +1,63 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    addressable (2.3.7)
+    addressable (2.5.2)
+      public_suffix (>= 2.0.2, < 4.0)
     buftok (0.2.0)
-    equalizer (0.0.9)
-    faraday (0.9.1)
-      multipart-post (>= 1.2, < 3)
-    geokit (1.9.0)
-      multi_json (>= 1.3.2)
-    htmlentities (4.3.3)
-    http (0.6.3)
+    domain_name (0.5.20170404)
+      unf (>= 0.0.5, < 1.0.0)
+    equalizer (0.0.11)
+    geokit (1.11.0)
+    htmlentities (4.3.4)
+    http (3.0.0)
+      addressable (~> 2.3)
+      http-cookie (~> 1.0)
+      http-form_data (>= 2.0.0.pre.pre2, < 3)
       http_parser.rb (~> 0.6.0)
+    http-cookie (1.0.3)
+      domain_name (~> 0.5)
+    http-form_data (2.1.0)
     http_parser.rb (0.6.0)
-    json (1.8.2)
     launchy (2.4.3)
       addressable (~> 2.3)
     memoizable (0.4.2)
       thread_safe (~> 0.3, >= 0.3.1)
-    multi_json (1.11.0)
     multipart-post (2.0.0)
-    naught (1.0.0)
-    oauth (0.4.7)
-    retryable (2.0.1)
+    naught (1.1.0)
+    oauth (0.5.4)
+    public_suffix (3.0.2)
+    retryable (2.0.4)
     simple_oauth (0.3.1)
-    t (2.9.0)
-      geokit (>= 1.8.3, < 2)
+    t (3.1.0)
+      geokit (~> 1.9)
       htmlentities (~> 4.3)
       launchy (~> 2.4)
-      oauth (~> 0.4.7)
+      oauth (~> 0.5.1)
       retryable (~> 2.0)
       thor (>= 0.19.1, < 2)
-      twitter (~> 5.13)
-    thor (0.19.1)
-    thread_safe (0.3.5)
-    twitter (5.14.0)
+      twitter (~> 6.0)
+    thor (0.20.0)
+    thread_safe (0.3.6)
+    twitter (6.2.0)
       addressable (~> 2.3)
       buftok (~> 0.2.0)
-      equalizer (~> 0.0.9)
-      faraday (~> 0.9.0)
-      http (~> 0.6.0)
+      equalizer (~> 0.0.11)
+      http (~> 3.0)
+      http-form_data (~> 2.0)
       http_parser.rb (~> 0.6.0)
-      json (~> 1.8)
       memoizable (~> 0.4.0)
+      multipart-post (~> 2.0)
       naught (~> 1.0)
       simple_oauth (~> 0.3.0)
+    unf (0.1.4)
+      unf_ext
+    unf_ext (0.0.7.5)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
   t
+
+BUNDLED WITH
+   1.14.6
diff --git a/pkgs/tools/misc/t/default.nix b/pkgs/tools/misc/t/default.nix
index ad9e0949ce87..b9c93c639549 100644
--- a/pkgs/tools/misc/t/default.nix
+++ b/pkgs/tools/misc/t/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, bundlerEnv, ruby }:
 
 bundlerEnv {
-  name = "t-2.9.0";
+  name = "t-3.1.0";
 
   inherit ruby;
   gemfile = ./Gemfile;
diff --git a/pkgs/tools/misc/t/gemset.nix b/pkgs/tools/misc/t/gemset.nix
index 6c721111c67e..268cbae5e80e 100644
--- a/pkgs/tools/misc/t/gemset.nix
+++ b/pkgs/tools/misc/t/gemset.nix
@@ -1,185 +1,203 @@
 {
-  "addressable" = {
-    version = "2.3.7";
+  addressable = {
+    dependencies = ["public_suffix"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk";
       type = "gem";
-      sha256 = "1x1401m59snw59c2bxr10jj10z1n4r4jvz8c55d0c3sh2smbl8kh";
     };
+    version = "2.5.2";
   };
-  "buftok" = {
+  buftok = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1rzsy1vy50v55x9z0nivf23y0r9jkmq6i130xa75pq9i8qrn1mxs";
+      type = "gem";
+    };
     version = "0.2.0";
+  };
+  domain_name = {
+    dependencies = ["unf"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "12hs8yijhak7p2hf1xkh98g0mnp5phq3mrrhywzaxpwz1gw5r3kf";
       type = "gem";
-      sha256 = "1rzsy1vy50v55x9z0nivf23y0r9jkmq6i130xa75pq9i8qrn1mxs";
     };
+    version = "0.5.20170404";
   };
-  "equalizer" = {
-    version = "0.0.9";
+  equalizer = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4";
       type = "gem";
-      sha256 = "1i6vfh2lzyrvvm35qa9cf3xh2gxj941x0v78pp0c7bwji3f5hawr";
     };
+    version = "0.0.11";
   };
-  "faraday" = {
-    version = "0.9.1";
+  geokit = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1iryy9gcrayd4c2xfxnb0acnmqcz5bv7pp6ilaifwlwl6jnc40dm";
       type = "gem";
-      sha256 = "1h33znnfzxpscgpq28i9fcqijd61h61zgs3gabpdgqfa1043axsn";
     };
-    dependencies = [
-      "multipart-post"
-    ];
+    version = "1.11.0";
   };
-  "geokit" = {
-    version = "1.9.0";
+  htmlentities = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj";
       type = "gem";
-      sha256 = "1bpkjz2q8hm7i4mrrp1if51zq6fz3qkqj55qwlb7jh9jlgyvjmqy";
     };
-    dependencies = [
-      "multi_json"
-    ];
+    version = "4.3.4";
   };
-  "htmlentities" = {
-    version = "4.3.3";
+  http = {
+    dependencies = ["addressable" "http-cookie" "http-form_data" "http_parser.rb"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1mqjjqgdq83rz3nvq69bn0n5x45hnwd4794fmfbi0wrd1n47syfs";
       type = "gem";
-      sha256 = "0v4m2pn6q2h7iqdkxk9z3j4828harcjgk1h77v9i4x87avv5130p";
     };
+    version = "3.0.0";
   };
-  "http" = {
-    version = "0.6.3";
+  http-cookie = {
+    dependencies = ["domain_name"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g";
       type = "gem";
-      sha256 = "0wmj5i1l0f6ajhs8wi1h3sdwhrl00llrpsmh6xs9dwjm2amvdvxv";
     };
-    dependencies = [
-      "http_parser.rb"
-    ];
+    version = "1.0.3";
+  };
+  http-form_data = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1j90dydw36h9s09n760aid8asabigqcgi7agsyqh53iz5s3qv9v0";
+      type = "gem";
+    };
+    version = "2.1.0";
   };
   "http_parser.rb" = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi";
+      type = "gem";
+    };
     version = "0.6.0";
+  };
+  launchy = {
+    dependencies = ["addressable"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2";
       type = "gem";
-      sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi";
     };
+    version = "2.4.3";
   };
-  "json" = {
-    version = "1.8.2";
+  memoizable = {
+    dependencies = ["thread_safe"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c";
       type = "gem";
-      sha256 = "0zzvv25vjikavd3b1bp6lvbgj23vv9jvmnl4vpim8pv30z8p6vr5";
     };
+    version = "0.4.2";
   };
-  "launchy" = {
-    version = "2.4.3";
+  multipart-post = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x";
       type = "gem";
-      sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2";
     };
-    dependencies = [
-      "addressable"
-    ];
+    version = "2.0.0";
   };
-  "memoizable" = {
-    version = "0.4.2";
+  naught = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1wwjx35zgbc0nplp8a866iafk4zsrbhwwz4pav5gydr2wm26nksg";
       type = "gem";
-      sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c";
     };
-    dependencies = [
-      "thread_safe"
-    ];
+    version = "1.1.0";
   };
-  "multi_json" = {
-    version = "1.11.0";
+  oauth = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zszdg8q1b135z7l7crjj234k4j0m347hywp5kj6zsq7q78pw09y";
       type = "gem";
-      sha256 = "1mg3hp17ch8bkf3ndj40s50yjs0vrqbfh3aq5r02jkpjkh23wgxl";
     };
+    version = "0.5.4";
   };
-  "multipart-post" = {
-    version = "2.0.0";
+  public_suffix = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1x5h1dh1i3gwc01jbg01rly2g6a1qwhynb1s8a30ic507z1nh09s";
       type = "gem";
-      sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x";
     };
+    version = "3.0.2";
   };
-  "naught" = {
-    version = "1.0.0";
+  retryable = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1pxv5xgr08s9gv5npj7h3raxibywznrv2wcrb85ibhlhzgzcxggf";
       type = "gem";
-      sha256 = "04m6hh63c96kcnzwy5mpl826yn6sm465zz1z87mmsig86gqi1izd";
     };
+    version = "2.0.4";
   };
-  "oauth" = {
-    version = "0.4.7";
+  simple_oauth = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0dw9ii6m7wckml100xhjc6vxpjcry174lbi9jz5v7ibjr3i94y8l";
       type = "gem";
-      sha256 = "1k5j09p3al3clpjl6lax62qmhy43f3j3g7i6f9l4dbs6r5vpv95w";
     };
+    version = "0.3.1";
   };
-  "retryable" = {
-    version = "2.0.1";
+  t = {
+    dependencies = ["geokit" "htmlentities" "launchy" "oauth" "retryable" "thor" "twitter"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0qj5zqc819yiscqbyb93alxillyli5ajvrr4gzq52clgkvyap7bd";
       type = "gem";
-      sha256 = "0wg4vh76cmhwzwrgd0k6kbx4dlp4r98l8yizr72lmzph187dg48f";
     };
+    version = "3.1.0";
   };
-  "simple_oauth" = {
-    version = "0.3.1";
+  thor = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nmqpyj642sk4g16nkbq6pj856adpv91lp4krwhqkh2iw63aszdl";
       type = "gem";
-      sha256 = "0dw9ii6m7wckml100xhjc6vxpjcry174lbi9jz5v7ibjr3i94y8l";
     };
+    version = "0.20.0";
   };
-  "t" = {
-    version = "2.9.0";
+  thread_safe = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
       type = "gem";
-      sha256 = "0qdsyblnnan2wcvql2mzg10jaj3gfv5pbfac54b1y7qkr56dc4dv";
     };
-    dependencies = [
-      "geokit"
-      "htmlentities"
-      "launchy"
-      "oauth"
-      "retryable"
-      "thor"
-      "twitter"
-    ];
+    version = "0.3.6";
   };
-  "thor" = {
-    version = "0.19.1";
+  twitter = {
+    dependencies = ["addressable" "buftok" "equalizer" "http" "http-form_data" "http_parser.rb" "memoizable" "multipart-post" "naught" "simple_oauth"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0fjyz3viabz3xs5d9aad18zgdbhfwm51jsnzigc8kxk77p1x58n5";
       type = "gem";
-      sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
     };
+    version = "6.2.0";
   };
-  "thread_safe" = {
-    version = "0.3.5";
+  unf = {
+    dependencies = ["unf_ext"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
       type = "gem";
-      sha256 = "1hq46wqsyylx5afkp6jmcihdpv4ynzzq9ygb6z2pb1cbz5js0gcr";
     };
+    version = "0.1.4";
   };
-  "twitter" = {
-    version = "5.14.0";
+  unf_ext = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06p1i6qhy34bpb8q8ms88y6f2kz86azwm098yvcc0nyqk9y729j1";
       type = "gem";
-      sha256 = "0vx7x3fmwgk3axqyw9hyf6yh99kx3ssdy14w2686hz7c4v3qwlc5";
     };
-    dependencies = [
-      "addressable"
-      "buftok"
-      "equalizer"
-      "faraday"
-      "http"
-      "http_parser.rb"
-      "json"
-      "memoizable"
-      "naught"
-      "simple_oauth"
-    ];
+    version = "0.0.7.5";
   };
 }
\ No newline at end of file
diff --git a/pkgs/tools/misc/tmuxp/default.nix b/pkgs/tools/misc/tmuxp/default.nix
index 33a4ebd70b37..3932e06192ed 100644
--- a/pkgs/tools/misc/tmuxp/default.nix
+++ b/pkgs/tools/misc/tmuxp/default.nix
@@ -4,11 +4,11 @@ with python.pkgs;
 
 buildPythonApplication rec {
   pname = "tmuxp";
-  version = "1.3.5";
+  version = "1.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bdbbbf5980d6ec21838396a46cd5b599787e8540782b8e2e3f20d2135560a5d3";
+    sha256 = "1ghi6w0cfgs94zlz304q37h3lga2jalfm0hqi3g2060zfdnb96n7";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/xvfb-run/default.nix b/pkgs/tools/misc/xvfb-run/default.nix
index 8bcbf4951d12..80135f4ab447 100644
--- a/pkgs/tools/misc/xvfb-run/default.nix
+++ b/pkgs/tools/misc/xvfb-run/default.nix
@@ -14,6 +14,7 @@ stdenv.mkDerivation {
     cp ${xvfb_run} $out/bin/xvfb-run
 
     chmod a+x $out/bin/xvfb-run
+    patchShebangs $out/bin/xvfb-run
     wrapProgram $out/bin/xvfb-run \
       --set FONTCONFIG_FILE "${fontsConf}" \
       --prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux gawk coreutils ]}
diff --git a/pkgs/tools/networking/altermime/default.nix b/pkgs/tools/networking/altermime/default.nix
index f05669a4e502..f1e85487d8fc 100644
--- a/pkgs/tools/networking/altermime/default.nix
+++ b/pkgs/tools/networking/altermime/default.nix
@@ -10,7 +10,11 @@ stdenv.mkDerivation rec {
     sha256 = "15zxg6spcmd35r6xbidq2fgcg2nzyv1sbbqds08lzll70mqx4pj7";
   };
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=format";
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=format"
+    "-Wno-error=format-truncation"
+    "-Wno-error=pointer-compare"
+    "-Wno-error=memset-elt-size"
+  ];
 
   postPatch = ''
     sed -i Makefile -e "s@/usr/local@$out@"
diff --git a/pkgs/tools/networking/dnscrypt-wrapper/default.nix b/pkgs/tools/networking/dnscrypt-wrapper/default.nix
index cb12300d51ea..4351fd84dcdb 100644
--- a/pkgs/tools/networking/dnscrypt-wrapper/default.nix
+++ b/pkgs/tools/networking/dnscrypt-wrapper/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "dnscrypt-wrapper-${version}";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "Cofyc";
     repo = "dnscrypt-wrapper";
     rev = "v${version}";
-    sha256 = "121y93sb06qc50fj7vv47r6dpzv77hh7ywl7sgrfp8i4jf4kaspa";
+    sha256 = "187sq99zxdfv3xhq939rybb0pps3l6wgyyvbj3zns5jr6mms64vd";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/networking/gupnp-tools/default.nix b/pkgs/tools/networking/gupnp-tools/default.nix
index e008c9183c98..1b306bc5e363 100644
--- a/pkgs/tools/networking/gupnp-tools/default.nix
+++ b/pkgs/tools/networking/gupnp-tools/default.nix
@@ -1,26 +1,30 @@
-{fetchurl, stdenv, gupnp, gssdp, pkgconfig, gtk3, libuuid, intltool, gupnp-av, gnome3, gnome2, makeWrapper}:
+{fetchurl, stdenv, gupnp, gssdp, pkgconfig, gtk3, libuuid, intltool, gupnp-av, gnome3, wrapGAppsHook}:
+
+let
+  pname = "gupnp-tools";
+  version = "0.8.13";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
-stdenv.mkDerivation rec {
-  name = "gupnp-tools-${version}";
-  majorVersion = "0.8";
-  version = "${majorVersion}.13";
   src = fetchurl {
-    url = "mirror://gnome/sources/gupnp-tools/${majorVersion}/gupnp-tools-${version}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
     sha256 = "1vbr4iqi7nl7kq982agd3liw10gx67s95idd0pjy5h1jsnwyqgda";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [gupnp libuuid gssdp gtk3 intltool gupnp-av
-                 gnome2.gnome_icon_theme makeWrapper];
+  nativeBuildInputs = [ pkgconfig intltool wrapGAppsHook ];
+  buildInputs = [ gupnp libuuid gssdp gtk3 gupnp-av gnome3.defaultIconTheme ];
 
-  postInstall = ''
-    for program in gupnp-av-cp gupnp-universal-cp; do
-      wrapProgram "$out/bin/$program" \
-        --prefix XDG_DATA_DIRS : "${gtk3.out}/share:${gnome3.gnome-themes-standard}/share:${gnome2.gnome_icon_theme}/share:$out/share"
-    done
-  '';
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    description = "Set of utilities and demos to work with UPnP";
+    homepage = https://wiki.gnome.org/Projects/GUPnP;
+    license = licenses.gpl2Plus;
+    maintainers = gnome3.maintainers;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/memtier-benchmark/default.nix b/pkgs/tools/networking/memtier-benchmark/default.nix
new file mode 100644
index 000000000000..ae8d3d964832
--- /dev/null
+++ b/pkgs/tools/networking/memtier-benchmark/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, autoreconfHook
+, pkgconfig, libevent, pcre, zlib, openssl
+}:
+
+stdenv.mkDerivation rec {
+  name = "memtier-benchmark-${version}";
+  version = "1.2.11";
+
+  src = fetchFromGitHub {
+    owner  = "redislabs";
+    repo   = "memtier_benchmark";
+    rev    = "refs/tags/${version}";
+    sha256 = "0a1lz4j9whj6yf94xn7rna00abgrv2qs30vmpns1n9zqlpaj6b6a";
+  };
+
+  patchPhase = ''
+    substituteInPlace ./configure.ac \
+      --replace '1.2.8' '${version}'
+  '';
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  buildInputs = [ libevent pcre zlib openssl ];
+
+  meta = {
+    description = "Redis and Memcached traffic generation and benchmarking tool";
+    homepage    = https://github.com/redislabs/memtier_benchmark;
+    license     = stdenv.lib.licenses.gpl2;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ thoughtpolice ];
+  };
+}
diff --git a/pkgs/tools/networking/minissdpd/default.nix b/pkgs/tools/networking/minissdpd/default.nix
index a451750503ab..9809b330faba 100644
--- a/pkgs/tools/networking/minissdpd/default.nix
+++ b/pkgs/tools/networking/minissdpd/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "minissdpd-${version}";
-  version = "1.5.20180203";
+  version = "1.5.20180223";
 
   src = fetchurl {
-    sha256 = "1yiri887s8wxh4zrjc5dw19gyypqg63962aimcgd19blvpbwnfcv";
+    sha256 = "1c47h1zil04jnbxiaaci2rm8jij47zp5156v48hb6m87nh4l5adv";
     url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz";
     name = "${name}.tar.gz";
   };
diff --git a/pkgs/tools/networking/miniupnpd/default.nix b/pkgs/tools/networking/miniupnpd/default.nix
index 1e0200794305..a9e67701eb03 100644
--- a/pkgs/tools/networking/miniupnpd/default.nix
+++ b/pkgs/tools/networking/miniupnpd/default.nix
@@ -3,11 +3,11 @@
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "miniupnpd-2.0.20180203";
+  name = "miniupnpd-2.0.20180222";
 
   src = fetchurl {
     url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz";
-    sha256 = "1djb0w76yd5jyqm5mzmxlxikxzzwqzjgy75h8saxc3rlz3r1a346";
+    sha256 = "1hdpyvz1z6crpa7as3srmbl64fx0k4wjra57jw7qaysdsb1b2kqr";
     name = "${name}.tar.gz";
   };
 
diff --git a/pkgs/tools/networking/modem-manager/default.nix b/pkgs/tools/networking/modem-manager/default.nix
new file mode 100644
index 000000000000..e9af9dc980e7
--- /dev/null
+++ b/pkgs/tools/networking/modem-manager/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchurl, udev, libgudev, polkit, dbus-glib, ppp, gettext, pkgconfig
+, libmbim, libqmi, systemd, fetchpatch }:
+
+stdenv.mkDerivation rec {
+  name = "modem-manager-${version}";
+  pname = "ModemManager";
+  version = "1.7.990";
+
+  src = fetchurl {
+    url = "http://www.freedesktop.org/software/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "1v4hixmghlrw7w4ajq2x4k62js0594h223d0yma365zwqr7hjrfl";
+  };
+
+  nativeBuildInputs = [ gettext pkgconfig ];
+
+  buildInputs = [ udev libgudev polkit dbus-glib ppp libmbim libqmi systemd ];
+
+  patches = [
+    # Patch dependency on glib headers, this breaks packages using core headers (networkmanager-qt)
+    (fetchpatch {
+      url = "https://cgit.freedesktop.org/ModemManager/ModemManager/patch/?id=0f377f943eeb81472fd73189f2c3d8fc65b8c609";
+      sha256 = "0av0sqdvbhwjnhqqylkc7rmqcj6awqmz5693l9x93nlwp7zya95j";
+    })
+  ];
+
+  configureFlags = [
+    "--with-polkit"
+    "--with-udev-base-dir=$(out)/lib/udev"
+    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+    "--with-suspend-resume=systemd"
+  ];
+
+  installFlags = [ "DESTDIR=\${out}" ];
+
+  preInstall = ''
+    mkdir -p $out/etc/systemd/system
+  '';
+
+  postInstall = ''
+    # rename to modem-manager to be in style
+    mv $out/$out/etc/systemd/system/ModemManager.service $out/etc/systemd/system/modem-manager.service
+    rm -rf $out/$out/etc
+    mv $out/$out/* $out
+    DIR=$out/$out
+    while rmdir $DIR 2>/dev/null; do
+      DIR="$(dirname "$DIR")"
+    done
+
+    # systemd in NixOS doesn't use `systemctl enable`, so we need to establish
+    # aliases ourselves.
+    ln -s $out/etc/systemd/system/modem-manager.service \
+      $out/etc/systemd/system/dbus-org.freedesktop.ModemManager1.service
+  '';
+
+  meta = with stdenv.lib; {
+    description = "WWAN modem manager, part of NetworkManager";
+    homepage = https://www.freedesktop.org/wiki/Software/ModemManager/;
+    license = licenses.gpl2Plus;
+    maintainers = [ ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/modemmanager/default.nix b/pkgs/tools/networking/modemmanager/default.nix
deleted file mode 100644
index f4631d39b010..000000000000
--- a/pkgs/tools/networking/modemmanager/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ stdenv, fetchurl, udev, libgudev, polkit, dbus-glib, ppp, intltool, pkgconfig
-, libmbim, libqmi, systemd }:
-
-stdenv.mkDerivation rec {
-  name = "ModemManager-${version}";
-  version = "1.6.8";
-
-  src = fetchurl {
-    url = "http://www.freedesktop.org/software/ModemManager/${name}.tar.xz";
-    sha256 = "0xj3ng7qcqxkib5qkprwghcivaz0mn449fw08l67h1zbpz23bh7z";
-  };
-
-  nativeBuildInputs = [ intltool pkgconfig ];
-
-  buildInputs = [ udev libgudev polkit dbus-glib ppp libmbim libqmi systemd ];
-
-  configureFlags = [
-    "--with-polkit"
-    "--with-udev-base-dir=$(out)/lib/udev"
-    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
-    "--sysconfdir=/etc"
-    "--localstatedir=/var"
-    "--with-suspend-resume=systemd"
-  ];
-
-  installFlags = [ "DESTDIR=\${out}" ];
-
-  preInstall = ''
-    mkdir -p $out/etc/systemd/system
-  '';
-
-  postInstall = ''
-    mv $out/$out/etc/systemd/system/ModemManager.service $out/etc/systemd/system
-    rm -rf $out/$out/etc
-    mv $out/$out/* $out
-    DIR=$out/$out
-    while rmdir $DIR 2>/dev/null; do
-      DIR="$(dirname "$DIR")"
-    done
-
-    # systemd in NixOS doesn't use `systemctl enable`, so we need to establish
-    # aliases ourselves.
-    ln -s $out/etc/systemd/system/ModemManager.service \
-      $out/etc/systemd/system/dbus-org.freedesktop.ModemManager1.service
-  '';
-
-  meta = {
-    description = "WWAN modem manager, part of NetworkManager";
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix
index 578505f1e247..dd32cebea111 100644
--- a/pkgs/tools/networking/network-manager-applet/default.nix
+++ b/pkgs/tools/networking/network-manager-applet/default.nix
@@ -1,45 +1,46 @@
-{ stdenv, fetchurl, intltool, pkgconfig, libglade, networkmanager, gnome3
-, libnotify, libsecret, polkit, isocodes, modemmanager
+{ stdenv, fetchurl, meson, ninja, intltool, gtk-doc, pkgconfig, networkmanager, gnome3
+, libnotify, libsecret, polkit, isocodes, modemmanager, libxml2, docbook_xsl
 , mobile-broadband-provider-info, glib-networking, gsettings-desktop-schemas
-, udev, libgudev, hicolor-icon-theme, jansson, wrapGAppsHook, webkitgtk
+, libgudev, hicolor-icon-theme, jansson, wrapGAppsHook, webkitgtk, gobjectIntrospection
 , libindicator-gtk3, libappindicator-gtk3, withGnome ? false }:
 
 let
-  pname   = "network-manager-applet";
+  pname = "network-manager-applet";
   version = "1.8.10";
 in stdenv.mkDerivation rec {
-  name    = "${pname}-${version}";
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url    = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
     sha256 = "1hy9ni2rwpy68h7jhn5lm2s1zm1vjchfy8lwj8fpm7xlx3x4pp0a";
   };
 
-  configureFlags = [
-    "--sysconfdir=/etc"
-    "--without-selinux"
-    "--with-appindicator"
+  mesonFlags = [
+    "-Dselinux=false"
+    "-Dappindicator=true"
+    "-Dgcr=${if withGnome then "true" else "false"}"
   ];
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "dev" "devdoc" ];
 
   buildInputs = [
-    gnome3.gtk libglade networkmanager libnotify libsecret gsettings-desktop-schemas
-    polkit isocodes udev libgudev gnome3.libgnome-keyring
+    gnome3.gtk networkmanager libnotify libsecret gsettings-desktop-schemas
+    polkit isocodes libgudev
     modemmanager jansson glib-networking
     libindicator-gtk3 libappindicator-gtk3
-  ] ++ stdenv.lib.optional withGnome webkitgtk;
+  ] ++ stdenv.lib.optionals withGnome [ gnome3.gcr webkitgtk ];
 
-  nativeBuildInputs = [ intltool pkgconfig wrapGAppsHook ];
+  nativeBuildInputs = [ meson ninja intltool pkgconfig wrapGAppsHook gobjectIntrospection gtk-doc docbook_xsl libxml2 ];
 
-  propagatedUserEnvPkgs = [ gnome3.gnome-keyring hicolor-icon-theme ];
+  propagatedUserEnvPkgs = [ hicolor-icon-theme ];
 
-  makeFlags = [
-    ''CFLAGS=-DMOBILE_BROADBAND_PROVIDER_INFO=\"${mobile-broadband-provider-info}/share/mobile-broadband-provider-info/serviceproviders.xml\"''
+  NIX_CFLAGS = [
+    ''-DMOBILE_BROADBAND_PROVIDER_INFO=\"${mobile-broadband-provider-info}/share/mobile-broadband-provider-info/serviceproviders.xml\"''
   ];
 
-  preInstall = ''
-    installFlagsArray=( "sysconfdir=$out/etc" )
+  postPatch = ''
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
   '';
 
   passthru = {
@@ -50,10 +51,10 @@ in stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
-    homepage    = http://projects.gnome.org/NetworkManager/;
+    homepage = https://wiki.gnome.org/Projects/NetworkManager;
     description = "NetworkManager control applet for GNOME";
-    license     = licenses.gpl2;
+    license = licenses.gpl2;
     maintainers = with maintainers; [ phreedom rickynils ];
-    platforms   = platforms.linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index fc7d352757db..ebe40c6192cd 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -7,13 +7,13 @@
 
 let
   pname   = "NetworkManager";
-  version = "1.10.2";
+  version = "1.10.6";
 in stdenv.mkDerivation rec {
   name    = "network-manager-${version}";
 
   src = fetchurl {
     url    = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0nv2jm2lsidlrzn4dkbc5rpj8ma4cpzjqz8z8dmwkqvh0zsk970n";
+    sha256 = "0xmc3x41dbcaxjm85wfv405xq1a1n3xw8m8zg645ywm3avlb3w3a";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/tools/networking/network-manager/fix-paths.patch b/pkgs/tools/networking/network-manager/fix-paths.patch
new file mode 100644
index 000000000000..b735da28dca1
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/fix-paths.patch
@@ -0,0 +1,34 @@
+--- a/properties/nm-openvpn-editor.c
++++ b/properties/nm-openvpn-editor.c
+@@ -775,8 +775,7 @@
+ nm_find_openvpn (void)
+ {
+ 	static const char *openvpn_binary_paths[] = {
+-		"/usr/sbin/openvpn",
+-		"/sbin/openvpn",
++		"@openvpn@/bin/openvpn",
+ 		NULL
+ 	};
+ 	const char  **openvpn_binary = openvpn_binary_paths;
+--- a/src/nm-openvpn-service.c
++++ b/src/nm-openvpn-service.c
+@@ -522,9 +522,7 @@
+ openvpn_binary_find_exepath (void)
+ {
+ 	static const char *paths[] = {
+-		"/usr/sbin/openvpn",
+-		"/sbin/openvpn",
+-		"/usr/local/sbin/openvpn",
++		"@openvpn@/bin/openvpn",
+ 	};
+ 	int i;
+ 
+@@ -2326,7 +2324,7 @@
+ 	_LOGD ("nm-openvpn-service (version " DIST_VERSION ") starting...");
+ 
+ 	if (   !g_file_test ("/sys/class/misc/tun", G_FILE_TEST_EXISTS)
+-	    && (system ("/sbin/modprobe tun") == -1))
++	    && (system ("@kmod@/bin/modprobe tun") == -1))
+ 		return EXIT_FAILURE;
+ 
+ 	plugin = nm_openvpn_plugin_new (bus_name);
diff --git a/pkgs/tools/networking/network-manager/fortisslvpn.nix b/pkgs/tools/networking/network-manager/fortisslvpn.nix
index b924a02438fd..73aaea06c917 100644
--- a/pkgs/tools/networking/network-manager/fortisslvpn.nix
+++ b/pkgs/tools/networking/network-manager/fortisslvpn.nix
@@ -3,13 +3,13 @@ networkmanager, ppp, lib, libsecret, withGnome ? true, gnome3, procps, kmod }:
 
 let
   pname   = "NetworkManager-fortisslvpn";
-  version = "1.2.4";
+  version = "1.2.8";
 in stdenv.mkDerivation rec {
   name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
 
   src = fetchurl {
     url    = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0wsbj5lvf9l1w8k5nmaqnzmldilh482bn4z4k8a3wnm62xfxgscr";
+    sha256 = "01gvdv9dknvzx05plq863jh1xz1v8vgj5w7v9fmw5v601ggybf4w";
   };
 
   buildInputs = [ openfortivpn networkmanager ppp libtool libsecret ]
diff --git a/pkgs/tools/networking/network-manager/openvpn.nix b/pkgs/tools/networking/network-manager/openvpn.nix
index edda84ab43e2..b1ee3da1b058 100644
--- a/pkgs/tools/networking/network-manager/openvpn.nix
+++ b/pkgs/tools/networking/network-manager/openvpn.nix
@@ -1,22 +1,29 @@
-{ stdenv, fetchurl, openvpn, intltool, pkgconfig, networkmanager, libsecret
+{ stdenv, fetchurl, substituteAll, openvpn, intltool, libxml2, pkgconfig, networkmanager, libsecret
 , withGnome ? true, gnome3, procps, kmod }:
 
 let
   pname   = "NetworkManager-openvpn";
-  version = "1.8.0";
+  version = "1.8.2";
 in stdenv.mkDerivation rec {
   name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
 
   src = fetchurl {
     url    = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1973n89g66a3jfx8r45a811fga4kadh6r1w35cb25cz1mlii2vhn";
+    sha256 = "0p9pjk81h1j1dk9jkkvvk17cq21wyq5kfa4j49fmx9b9yg8syqc8";
   };
 
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit kmod openvpn;
+    })
+  ];
+
   buildInputs = [ openvpn networkmanager libsecret ]
     ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome-keyring
                                         gnome3.networkmanagerapplet ];
 
-  nativeBuildInputs = [ intltool pkgconfig ];
+  nativeBuildInputs = [ intltool pkgconfig libxml2 ];
 
   configureFlags = [
     "${if withGnome then "--with-gnome --with-gtkver=3" else "--without-gnome"}"
@@ -24,16 +31,6 @@ in stdenv.mkDerivation rec {
     "--localstatedir=/" # needed for the management socket under /run/NetworkManager
   ];
 
-  preConfigure = ''
-     substituteInPlace "configure" \
-       --replace "/sbin/sysctl" "${procps}/sbin/sysctl"
-     substituteInPlace "src/nm-openvpn-service.c" \
-       --replace "/sbin/openvpn" "${openvpn}/bin/openvpn" \
-       --replace "/sbin/modprobe" "${kmod}/bin/modprobe"
-     substituteInPlace "properties/auth-helpers.c" \
-       --replace "/sbin/openvpn" "${openvpn}/bin/openvpn"
-  '';
-
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
diff --git a/pkgs/tools/networking/network-manager/pptp.nix b/pkgs/tools/networking/network-manager/pptp.nix
deleted file mode 100644
index 6844ca53456f..000000000000
--- a/pkgs/tools/networking/network-manager/pptp.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv, fetchurl, networkmanager, pptp, ppp, intltool, pkgconfig
-, libsecret, withGnome ? true, gnome3 }:
-
-let
-  pname   = "NetworkManager-pptp";
-  version = "1.2.4";
-in stdenv.mkDerivation rec {
-  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
-
-  src = fetchurl {
-    url    = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "bd97ce768c34cce6d5b5d43681149a8300bec754397a3f46a0d8d0aea7030c5e";
-  };
-
-  buildInputs = [ networkmanager pptp ppp libsecret ]
-    ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome-keyring
-                                        gnome3.networkmanagerapplet ];
-
-  nativeBuildInputs = [ intltool pkgconfig ];
-
-  postPatch = ''
-    sed -i -e 's%"\(/usr/sbin\|/usr/pkg/sbin\|/usr/local/sbin\)/[^"]*",%%g' ./src/nm-pptp-service.c
-
-    substituteInPlace ./src/nm-pptp-service.c \
-      --replace /sbin/pptp ${pptp}/bin/pptp \
-      --replace /sbin/pppd ${ppp}/bin/pppd
-  '';
-
-  configureFlags =
-    if withGnome then "--with-gnome --with-gtkver=3" else "--without-gnome";
-
-  passthru = {
-    updateScript = gnome3.updateScript {
-      packageName = pname;
-      attrPath = "networkmanager-pptp";
-    };
-  };
-
-  meta = {
-    description = "PPtP plugin for NetworkManager";
-    inherit (networkmanager.meta) maintainers platforms;
-  };
-}
diff --git a/pkgs/tools/networking/openvpn/default.nix b/pkgs/tools/networking/openvpn/default.nix
index 272900e0e5b0..31fccbffa790 100644
--- a/pkgs/tools/networking/openvpn/default.nix
+++ b/pkgs/tools/networking/openvpn/default.nix
@@ -10,11 +10,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "openvpn-${version}";
-  version = "2.4.4";
+  version = "2.4.5";
 
   src = fetchurl {
     url = "http://swupdate.openvpn.net/community/releases/${name}.tar.xz";
-    sha256 = "102an395nv8l7qfx3syydzhmd9xfbycd6gvwy0h2kjz8w67ipkcn";
+    sha256 = "17njq59hsraqyxrbhkrxr7dvx0p066s3pn8w1mi0yd9jldis7h23";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/networking/redir/default.nix b/pkgs/tools/networking/redir/default.nix
index a257cb713db5..350d31c19dad 100644
--- a/pkgs/tools/networking/redir/default.nix
+++ b/pkgs/tools/networking/redir/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "redir-${version}";
-  version = "3.1";
+  version = "3.2";
 
   src = fetchFromGitHub {
     owner = "troglobit";
     repo = "redir";
     rev = "v${version}";
-    sha256 = "1m05dchi15bzz9zfdb7jg59624sx4khp5zq0wf4pzr31s64f69cx";
+    sha256 = "015vxpy6n7xflkq0lgls4f4vw7ynvv2635bwykzglin3v5ssrm2k";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/tools/networking/uget/default.nix b/pkgs/tools/networking/uget/default.nix
index 620584ab1df1..6779d864ce24 100644
--- a/pkgs/tools/networking/uget/default.nix
+++ b/pkgs/tools/networking/uget/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "uget-${version}";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/urlget/${name}.tar.gz";
-    sha256 = "0rg2mr2cndxvnjib8zm5dp7y2hgbvnqkz2j2jmg0xlzfh9d34b2m";
+    sha256 = "0dlrjhnm1pg2vwmp7nl2xv1aia5hyirb3021rl46x859k63zap24";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/networking/whois/default.nix b/pkgs/tools/networking/whois/default.nix
index 6f37e88f4f6d..48a3d1591fc9 100644
--- a/pkgs/tools/networking/whois/default.nix
+++ b/pkgs/tools/networking/whois/default.nix
@@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
     for i in Makefile po/Makefile; do
       substituteInPlace $i --replace "prefix = /usr" "prefix = $out"
     done
-
-    substituteInPlace Makefile --replace "DEFS += HAVE_ICONV" "DEFS += HAVE_ICONV\nwhois_LDADD += -liconv"
+  '' + stdenv.lib.optionalString (stdenv.isDarwin || stdenv.hostPlatform.isMusl) ''
+    echo "whois_LDADD += -liconv" >> Makefile
   '';
 
   makeFlags = [ "HAVE_ICONV=1" ];
@@ -39,6 +39,6 @@ stdenv.mkDerivation rec {
     homepage = https://packages.qa.debian.org/w/whois.html;
     license = licenses.gpl2;
     maintainers = with maintainers; [ fpletz ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/wrk2/default.nix b/pkgs/tools/networking/wrk2/default.nix
new file mode 100644
index 000000000000..5caad0874f7c
--- /dev/null
+++ b/pkgs/tools/networking/wrk2/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchFromGitHub, luajit, openssl, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "wrk2-${version}";
+  version = "4.0.0-${builtins.substring 0 7 src.rev}";
+
+  src = fetchFromGitHub {
+    owner  = "giltene";
+    repo   = "wrk2";
+    rev    = "e0109df5b9de09251adb5f5848f223fbee2aa9f5";
+    sha256 = "1aqdwmgdd74wq73f1zp28yqj91gd6p6nf9nbdfibl7mlklbzvak8";
+  };
+
+  buildInputs = [ luajit openssl zlib ];
+
+  patchPhase = ''
+    rm -rf deps/luajit && mkdir deps/luajit
+
+    substituteInPlace ./Makefile \
+      --replace '-lluajit' '-lluajit-5.1' \
+      --replace '_BSD_SOURCE' '_DEFAULT_SOURCE' \
+      --replace 'cd $(LDIR) && ./luajit' '${luajit}/bin/luajit' \
+      --replace 'config.h Makefile $(LDIR)/libluajit.a' 'config.h Makefile'
+
+    substituteInPlace ./src/script.c \
+      --replace 'struct luaL_reg ' 'struct luaL_Reg '
+  '';
+
+  configurePhase = ":";
+  installPhase = ''
+    mkdir -p $out/bin
+    mv ./wrk $out/bin/wrk2
+  '';
+
+  meta = {
+    description = "Constant throughput, correct latency recording variant of wrk";
+    homepage    = https://github.com/giltene/wrk2;
+    license     = stdenv.lib.licenses.bsd3;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ thoughtpolice ];
+  };
+}
diff --git a/pkgs/tools/networking/xnbd/default.nix b/pkgs/tools/networking/xnbd/default.nix
new file mode 100644
index 000000000000..e898904c6d4b
--- /dev/null
+++ b/pkgs/tools/networking/xnbd/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, pkgconfig, autoreconfHook, glib, jansson }:
+
+stdenv.mkDerivation rec {
+  name = "xnbd-0.4.0";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/hirofuchi/xnbd/downloads/${name}.tgz";
+    sha256 = "00wkvsa0yaq4mabczcbfpj6rjvp02yahw8vdrq8hgb3wpm80x913";
+  };
+
+  sourceRoot = "${name}/trunk";
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+  buildInputs = [ glib jansson ];
+
+  # do not build docs, it is slow and it fails on Hydra
+  prePatch = ''
+    rm -rf doc
+    substituteInPlace configure.ac --replace "doc/Makefile" ""
+    substituteInPlace Makefile.am --replace "lib doc ." "lib ."
+  '';
+
+  meta = {
+    homepage = https://bitbucket.org/hirofuchi/xnbd;
+    description = "Yet another NBD (Network Block Device) server program";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.volth ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/package-management/nix-serve/default.nix b/pkgs/tools/package-management/nix-serve/default.nix
index dadcab1ea4f5..d03e6f614e57 100644
--- a/pkgs/tools/package-management/nix-serve/default.nix
+++ b/pkgs/tools/package-management/nix-serve/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchFromGitHub,
+{ stdenv, fetchFromGitHub, fetchpatch,
   bzip2, nix, perl, perlPackages,
 }:
 
 with stdenv.lib;
 
 let
-  rev = "7e09caa2a7a435aeb2cd5446aa590d6f9ae1699d";
-  sha256 = "0mjzsiknln3isdri9004wwjjjpak5fj8ncizyncf5jv7g4m4q1pj";
+  rev = "e4675e38ab54942e351c7686e40fabec822120b9";
+  sha256 = "1wm24p6pkxl1d7hrvf4ph6mwzawvqi22c60z9xzndn5xfyr4v0yr";
 in
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/tools/package-management/opkg/default.nix b/pkgs/tools/package-management/opkg/default.nix
index a0368b0df89e..440f91a6d64c 100644
--- a/pkgs/tools/package-management/opkg/default.nix
+++ b/pkgs/tools/package-management/opkg/default.nix
@@ -2,11 +2,11 @@
 , autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  version = "0.3.5";
+  version = "0.3.6";
   name = "opkg-${version}";
   src = fetchurl {
     url = "http://downloads.yoctoproject.org/releases/opkg/opkg-${version}.tar.gz";
-    sha256 = "0ciz6h6sx9hnz463alpkcqwqnq8jk382ifc6z89j29hix8fw4jvk";
+    sha256 = "02ykhjpyxmh0qrqvc1s3vlhnr6wyxkcwqb8dplxqmkz83gkg01zn";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix
index cdc035072daf..b40c8ea26aa2 100644
--- a/pkgs/tools/package-management/packagekit/default.nix
+++ b/pkgs/tools/package-management/packagekit/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   name = "packagekit-${version}";
-  version = "1.1.8";
+  version = "1.1.9";
 
   src = fetchFromGitHub {
     owner = "hughsie";
     repo = "PackageKit";
     rev = "PACKAGEKIT_${lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "0bn9flsjbzlwmlbv2gphqwgzy9sx8ahch28z6dzgak4csbz5wcws";
+    sha256 = "1zs7xkk3b2izdnis7ir5h93p8f2i9513663h2xhxb0sh6i2h18y4";
   };
 
   buildInputs = [ glib polkit systemd python gobjectIntrospection vala_0_38 ]
diff --git a/pkgs/tools/package-management/rpm/default.nix b/pkgs/tools/package-management/rpm/default.nix
index 3a56db1e0d3f..a46550d59cdb 100644
--- a/pkgs/tools/package-management/rpm/default.nix
+++ b/pkgs/tools/package-management/rpm/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "rpm-${version}";
-  version = "4.14.0";
+  version = "4.14.1";
 
   src = fetchurl {
     url = "http://ftp.rpm.org/releases/rpm-4.14.x/rpm-${version}.tar.bz2";
-    sha256 = "053396glswgszzg6wizn76vc8zc5m2bicw025vj44g0dc1aav806";
+    sha256 = "0fvrjq6jsvbllb5q6blchzh7p5flk61rz34g4g9mp9iwrhn0xx23";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/tools/security/browserpass/default.nix b/pkgs/tools/security/browserpass/default.nix
index af1bb14d02a1..c6d4a78e6b4b 100644
--- a/pkgs/tools/security/browserpass/default.nix
+++ b/pkgs/tools/security/browserpass/default.nix
@@ -3,7 +3,7 @@
 
 buildGoPackage rec {
   name = "browserpass-${version}";
-  version = "2.0.11";
+  version = "2.0.13";
 
   goPackagePath = "github.com/dannyvankooten/browserpass";
 
@@ -13,7 +13,7 @@ buildGoPackage rec {
     repo = "browserpass";
     owner = "dannyvankooten";
     rev = version;
-    sha256 = "0d6rpkka27a57nv69yiw71jj3m6axdj5hygsz36dznnn8w76vvyv";
+    sha256 = "0pch0jddphgaaw208ddqjhnkiy5916n0kjxfza1cpc78fa8zw82l";
   };
 
   postInstall = ''
diff --git a/pkgs/tools/security/browserpass/deps.nix b/pkgs/tools/security/browserpass/deps.nix
index 763317aafc7b..631463a69d11 100644
--- a/pkgs/tools/security/browserpass/deps.nix
+++ b/pkgs/tools/security/browserpass/deps.nix
@@ -19,6 +19,15 @@
     };
   }
   {
+    goPackagePath = "github.com/sahilm/fuzzy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sahilm/fuzzy";
+      rev = "a154b19bb758dcdd6ede58dc11ea53c2950527b2";
+      sha256 = "0jkw6474d5ik2fq2zznqxj4y3p42z47r7mbg856ln5wyara2sg0l";
+    };
+  }
+  {
     goPackagePath = "rsc.io/qr";
     fetch = {
       type = "git";
diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix
index 976c58eb1e32..8c12e4e30c3e 100644
--- a/pkgs/tools/security/clamav/default.nix
+++ b/pkgs/tools/security/clamav/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "clamav-${version}";
-  version = "0.99.3";
+  version = "0.99.4";
 
   src = fetchurl {
     url = "https://www.clamav.net/downloads/production/${name}.tar.gz";
-    sha256 = "114f7qk3h0klgm0zzn2394n5spcn91vjc9mq6m03l2p0ls955yh0";
+    sha256 = "0q94iwi729id9pyc72w6zlllbaz37qvpi6gc51g2x3fy7ckw6anp";
   };
 
   # don't install sample config files into the absolute sysconfdir folder
@@ -21,8 +21,6 @@ stdenv.mkDerivation rec {
     zlib bzip2 libxml2 openssl ncurses curl libiconv libmilter pcre
   ];
 
-  patches = [ ./fd-leak.patch ];
-
   configureFlags = [
     "--sysconfdir=/etc/clamav"
     "--disable-llvm" # enabling breaks the build at the moment
diff --git a/pkgs/tools/security/clamav/fd-leak.patch b/pkgs/tools/security/clamav/fd-leak.patch
deleted file mode 100644
index 2c147901e446..000000000000
--- a/pkgs/tools/security/clamav/fd-leak.patch
+++ /dev/null
@@ -1,49 +0,0 @@
---- a/libclamav/scanners.c	2018-01-26 16:59:00.820231425 +0100
-+++ b/libclamav/scanners.c	2018-01-26 17:39:07.523633805 +0100
-@@ -1366,12 +1366,14 @@
- 
- 	if ((ret = cli_ac_initdata(&tmdata, troot?troot->ac_partsigs:0, troot?troot->ac_lsigs:0, troot?troot->ac_reloff_num:0, CLI_DEFAULT_AC_TRACKLEN))) {
- 		free(tmpname);
-+		free(normalized);
- 		return ret;
- 	}
- 
- 	if ((ret = cli_ac_initdata(&gmdata, groot->ac_partsigs, groot->ac_lsigs, groot->ac_reloff_num, CLI_DEFAULT_AC_TRACKLEN))) {
- 		cli_ac_freedata(&tmdata);
- 		free(tmpname);
-+		free(normalized);
- 		return ret;
- 	}
- 
-@@ -1390,6 +1392,7 @@
- 				cli_errmsg("cli_scanscript: can't write to file %s\n",tmpname);
- 				close(ofd);
- 				free(tmpname);
-+				free(normalized);
- 				return CL_EWRITE;
- 			}
- 			text_normalize_reset(&state);
-@@ -1424,6 +1427,8 @@
- 			if (ret) {
- 				cli_ac_freedata(&tmdata);
- 				free(tmpname);
-+				free(normalized);
-+				close(ofd);
- 				return ret;
- 			}
- 		}
-@@ -1466,11 +1471,9 @@
- 
- 	}
- 
--	if(ctx->engine->keeptmp) {
--		free(tmpname);
--		if (ofd >= 0)
--			close(ofd);
--	}
-+	if (ofd >= 0)
-+		close(ofd);
-+	free(tmpname);
- 	free(normalized);
- 
- 	if(ret != CL_VIRUS || SCAN_ALL)  {
diff --git a/pkgs/tools/security/hologram/default.nix b/pkgs/tools/security/hologram/default.nix
index 911c1b12562a..5d873885b1fd 100644
--- a/pkgs/tools/security/hologram/default.nix
+++ b/pkgs/tools/security/hologram/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, lib, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "hologram-${version}";
-  version = "20170130-${stdenv.lib.strings.substring 0 7 rev}";
-  rev = "d20d1c30379e7010e8f9c428a5b9e82f54d390e1";
+  name = "hologram-2018-03-19";
+  rev = "a7bab58642b530edb75b9cf6c1d834c85822ceac";
 
-  src = fetchgit {
+  src = fetchFromGitHub {
+    owner = "AdRoll";
+    repo = "hologram";
     inherit rev;
-    url = "https://github.com/AdRoll/hologram";
-    sha256 = "0dg5kfs16kf2gzhpmzsg83qzi2pxgnc9g81lw5zpa6fmzpa9kgsn";
+    sha256 = "00scryz8js6gbw8lp2y23qikbazz2dd992r97rqh0l1q4baa0ckn";
   };
 
   goPackagePath = "github.com/AdRoll/hologram";
diff --git a/pkgs/tools/security/lastpass-cli/default.nix b/pkgs/tools/security/lastpass-cli/default.nix
index 9395d4acb8b9..e9dffa5dbfa9 100644
--- a/pkgs/tools/security/lastpass-cli/default.nix
+++ b/pkgs/tools/security/lastpass-cli/default.nix
@@ -4,13 +4,13 @@
 stdenv.mkDerivation rec {
   name = "lastpass-cli-${version}";
 
-  version = "1.2.2";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "lastpass";
     repo = "lastpass-cli";
     rev = "v${version}";
-    sha256 = "0041z2awpmwq2fk8lbgp4fcia0r6wss2csvq5bxps0cx7fq69wc1";
+    sha256 = "0k3vnlibv05wnn6qn3qjlcyj2s07di7zkmdnijd6cp1hfk76z2r5";
   };
 
   nativeBuildInputs = [ asciidoc cmake docbook_xsl pkgconfig ];
diff --git a/pkgs/tools/security/lynis/default.nix b/pkgs/tools/security/lynis/default.nix
index cbbb9b4dd3c2..e0a11f574181 100644
--- a/pkgs/tools/security/lynis/default.nix
+++ b/pkgs/tools/security/lynis/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "lynis";
-  version = "2.6.2";
+  version = "2.6.3";
   name = "${pname}-${version}";
 
   src = fetchFromGitHub {
     owner = "CISOfy";
     repo = "${pname}";
     rev = "${version}";
-    sha256 = "0jymp44dmc22cdrsd5hfyv9wc8a5sq92yh9p9c0rg22g53733910";
+    sha256 = "17xfs0jr0rf8xvk860l2wpxg0h1m2c1dq41lqnq6wga9jifxmzqd";
   };
 
   nativeBuildInputs = [ makeWrapper perl ];
diff --git a/pkgs/tools/security/masscan/default.nix b/pkgs/tools/security/masscan/default.nix
index 22a452ccabdd..26497659d23d 100644
--- a/pkgs/tools/security/masscan/default.nix
+++ b/pkgs/tools/security/masscan/default.nix
@@ -11,9 +11,13 @@ stdenv.mkDerivation rec {
     sha256 = "0mjvwh4i0ncsa3ywavw2s55v5bfv7pyga028c8m8xfash9764wwf";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
-  makeFlags = [ "PREFIX=$(out)" "CC=cc" "-j" ];
+  makeFlags = [ "PREFIX=$(out)" "GITVER=${version}" "CC=cc" ];
+
+  preInstall = ''
+    mkdir -p $out/bin
+  '';
 
   postInstall = ''
     mkdir -p $out/share/man/man8
diff --git a/pkgs/tools/security/neopg/default.nix b/pkgs/tools/security/neopg/default.nix
new file mode 100644
index 000000000000..10efe0e7f21d
--- /dev/null
+++ b/pkgs/tools/security/neopg/default.nix
@@ -0,0 +1,47 @@
+{ stdenv
+, fetchgit
+, cmake
+, sqlite
+, botan2
+, boost164
+, curl
+, gettext
+, pkgconfig
+, libusb
+, gnutls }:
+
+stdenv.mkDerivation rec {
+  name = "neopg";
+  version = "0.0.4";
+
+  # no fetchFromGitHub, as repo contains submodules
+  src = fetchgit {
+    url = "https://github.com/das-labor/neopg.git";
+    rev = "refs/tags/v${version}";
+    sha256 = "0hhkl326ff6f76k8pwggpzmivbm13fz497nlyy6ybn5bmi9xfblm";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ cmake sqlite botan2 boost164 curl gettext libusb gnutls ]; 
+
+  doCheck = true;
+  checkTarget = "test";
+
+  postInstall = ''
+    mkdir -p $out/bin
+    cp src/neopg $out/bin/neopg
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://neopg.io/;
+    description = "Modern replacement for GnuPG 2";
+    license = licenses.gpl3;
+    longDescription = ''
+      NeoPG starts as an opiniated fork of GnuPG 2 to clean up the code and make it easier to develop.
+      It is written in C++11.
+    '';
+    maintainers = with maintainers; [ erictapen ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/security/nmap/default.nix b/pkgs/tools/security/nmap/default.nix
index 3d31596a43fc..a81fffa20357 100644
--- a/pkgs/tools/security/nmap/default.nix
+++ b/pkgs/tools/security/nmap/default.nix
@@ -19,11 +19,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "nmap${optionalString graphicalSupport "-graphical"}-${version}";
-  version = "7.60";
+  version = "7.70";
 
   src = fetchurl {
     url = "https://nmap.org/dist/nmap-${version}.tar.bz2";
-    sha256 = "08bga42ipymmbxd7wy4x5sl26c0ir1fm3n9rc6nqmhx69z66wyd8";
+    sha256 = "063fg8adx23l4irrh5kn57hsmi1xvjkar4vm4k6g94ppan4hcyw4";
   };
 
   patches = ./zenmap.patch;
diff --git a/pkgs/tools/system/acpica-tools/default.nix b/pkgs/tools/system/acpica-tools/default.nix
index 1381f13fd3c5..a8fb57b2fba0 100644
--- a/pkgs/tools/system/acpica-tools/default.nix
+++ b/pkgs/tools/system/acpica-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "acpica-tools-${version}";
-  version = "20180209";
+  version = "20180313";
 
   src = fetchurl {
     url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
-    sha256 = "1rpdfwa4vwnvyxdp9ygqjckmabc3s8kyg3jyq4n4f0rhr1zl4zy5";
+    sha256 = "05ab2xfv9wqwbzjaa9xqgrvvan87rxv29hw48h1gcckpc5smp2wm";
   };
 
   NIX_CFLAGS_COMPILE = "-O3";
diff --git a/pkgs/tools/system/bar/default.nix b/pkgs/tools/system/bar/default.nix
new file mode 100644
index 000000000000..cd4770bf609a
--- /dev/null
+++ b/pkgs/tools/system/bar/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "bar-1.11.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/clpbar/clpbar/bar-1.11.1/bar_1.11.1.tar.gz";
+    sha256 = "00v5cb6vzizyyhflgr62d3k8dqc0rg6wdgfyyk11c0s0r32mw3zs";
+  };
+
+  meta = {
+    description = "Console progress bar";
+    homepage = http://clpbar.sourceforge.net/;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.rdnetto ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/system/journalbeat/default.nix b/pkgs/tools/system/journalbeat/default.nix
index b914ffaa0cb6..20951fe52406 100644
--- a/pkgs/tools/system/journalbeat/default.nix
+++ b/pkgs/tools/system/journalbeat/default.nix
@@ -7,7 +7,7 @@ let
 in buildGoPackage rec {
 
   name = "journalbeat-${version}";
-  version = "5.6.0";
+  version = "5.6.8";
 
   goPackagePath = "github.com/mheese/journalbeat";
 
@@ -23,7 +23,7 @@ in buildGoPackage rec {
     owner = "mheese";
     repo = "journalbeat";
     rev = "v${version}";
-    sha256 = "0b5yqzw1h945mwwyy7cza6bc7kzv3x1p9w2xkzmvr7rw3pd32r06";
+    sha256 = "1vgpwnwqjc93nvdpcd52748bwl3r371jb55l17bsgdzrmlcyfm8a";
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/system/logrotate/default.nix b/pkgs/tools/system/logrotate/default.nix
index fa5df06dae37..75e25bcc6730 100644
--- a/pkgs/tools/system/logrotate/default.nix
+++ b/pkgs/tools/system/logrotate/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "logrotate-${version}";
-  version = "3.13.0";
+  version = "3.14.0";
 
   src = fetchFromGitHub {
     owner = "logrotate";
     repo = "logrotate";
     rev = version;
-    sha256 = "0b7dnch74pddml3ysavizq26jgwdv0rjmwc8lf6zfvn9fjz19vvs";
+    sha256 = "1wdjqbly97y1i11nl6cmlfpld3yqak270ixf29wixjgrjn8p4xzh";
   };
 
   # Logrotate wants to access the 'mail' program; to be done.
diff --git a/pkgs/tools/system/mcron/default.nix b/pkgs/tools/system/mcron/default.nix
index 5863504c7040..dbc679eb8ad3 100644
--- a/pkgs/tools/system/mcron/default.nix
+++ b/pkgs/tools/system/mcron/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, guile, which, ed }:
+{ fetchurl, stdenv, guile, which, ed, libtool }:
 
 stdenv.mkDerivation rec {
   name = "mcron-1.0.6";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     substituteInPlace makefile.in --replace "rwxs" "rwx"
   '';
 
-  buildInputs = [ guile which ed ];
+  buildInputs = [ guile which ed libtool ];
 
   doCheck = true;
 
diff --git a/pkgs/tools/system/mq-cli/default.nix b/pkgs/tools/system/mq-cli/default.nix
new file mode 100644
index 000000000000..b01b91452dc0
--- /dev/null
+++ b/pkgs/tools/system/mq-cli/default.nix
@@ -0,0 +1,24 @@
+{ fetchFromGitHub, lib, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  name    = "mq-cli-${version}";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner  = "aprilabank";
+    repo   = "mq-cli";
+    rev    = "v${version}";
+    sha256 = "02z85waj5jc312biv2qhbgplsggxgjmfmyv9v8b1ky0iq1mpxjw7";
+  };
+
+  cargoSha256 = "0kpv52474bp3k2wmz8xykca8iz46dwnjmly2nivblnaap49w2zsz";
+
+  meta = with lib; {
+    description      = "CLI tool to manage POSIX message queues";
+    homepage         = "https://github.com/aprilabank/mq-cli";
+    license          = licenses.mit;
+    maintainers      = with maintainers; [ tazjin ];
+    platforms        = platforms.linux;
+    repositories.git = git://github.com/aprilabank/mq-cli.git;
+  };
+}
diff --git a/pkgs/tools/system/nq/default.nix b/pkgs/tools/system/nq/default.nix
index 59980566290d..5044e5c9a96a 100644
--- a/pkgs/tools/system/nq/default.nix
+++ b/pkgs/tools/system/nq/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "nq-${version}";
-  version = "0.2.2";
+  version = "0.3.1";
   src = fetchFromGitHub {
     owner = "chneukirchen";
     repo = "nq";
     rev = "v${version}";
-    sha256 = "0348r3j5y445psm8lj35z100cfvbfp05s7ji6bxd0gg4n66l2c4l";
+    sha256 = "1db96ykz35r273jyhf7cdknqk4p2jj9l8gbz7pjy1hq4pb6ffk99";
   };
   makeFlags = "PREFIX=$(out)";
   postPatch = ''
diff --git a/pkgs/tools/system/vboot_reference/default.nix b/pkgs/tools/system/vboot_reference/default.nix
index ba885555cde1..b252b74a0bdd 100644
--- a/pkgs/tools/system/vboot_reference/default.nix
+++ b/pkgs/tools/system/vboot_reference/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchgit, pkgconfig, libuuid, openssl, libyaml, lzma }:
 
 stdenv.mkDerivation rec {
-  version = "20171023";
-  checkout = "8122e0b8b13794";
+  version = "20180311";
+  checkout = "4c84e077858c809ee80a9a6f9b38185cf7dcded7";
 
   name = "vboot_reference-${version}";
 
   src = fetchgit {
     url = https://chromium.googlesource.com/chromiumos/platform/vboot_reference;
     rev = "${checkout}";
-    sha256 = "0qxm3qlvm2fgjrn9b3n8rdccw2f5pdi7z542m2hdfddflx7jz1w7";
+    sha256 = "1zja4ma6flch08h5j2l1hqnxmw2xwylidnddxxd5y2x05dai9ddj";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/system/xe/default.nix b/pkgs/tools/system/xe/default.nix
index e0444fcfd9f8..934aa6fc2793 100644
--- a/pkgs/tools/system/xe/default.nix
+++ b/pkgs/tools/system/xe/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "xe-${version}";
-  version = "0.6.1";
+  version = "0.11";
   
   src = fetchFromGitHub {
     owner = "chneukirchen";
     repo = "xe";
     rev = "v${version}";
-    sha256 = "1dr3xlfq3zfdba1q96iags572lbk3z6s2179rs3pvsgkxn4m0qpf";
+    sha256 = "04jr8f6jcijr0bsmn8ajm0aj35qh9my3xjsaq64h8lwg5bpyn29x";
   };
 
   makeFlags = "PREFIX=$(out)";
diff --git a/pkgs/tools/text/fanficfare/default.nix b/pkgs/tools/text/fanficfare/default.nix
index 2af9baeb5c51..cffce8e3b883 100644
--- a/pkgs/tools/text/fanficfare/default.nix
+++ b/pkgs/tools/text/fanficfare/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, python27Packages }:
 
 python27Packages.buildPythonApplication rec {
-  version = "2.22.0";
+  version = "2.23.0";
   name = "fanficfare-${version}";
   nameprefix = "";
 
   src = fetchurl {
     url = "https://github.com/JimmXinu/FanFicFare/archive/v${version}.tar.gz";
-    sha256 = "1gwr2qk0wff8f69w21ffj6cq8jklqd89vcdhhln6ii1h1kf8k031";
+    sha256 = "0589b5pg03rfv9x753cnbkz6pz508xs1n2lla3qfpagxc0pyg8i1";
   };
 
   propagatedBuildInputs = with python27Packages; [ beautifulsoup4 chardet html5lib html2text ];
diff --git a/pkgs/tools/text/languagetool/default.nix b/pkgs/tools/text/languagetool/default.nix
index 6fcfd6fff85f..2d18edeb44d6 100644
--- a/pkgs/tools/text/languagetool/default.nix
+++ b/pkgs/tools/text/languagetool/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "LanguageTool-${version}";
-  version = "3.9";
+  version = "4.0";
 
   src = fetchzip {
     url = "https://www.languagetool.org/download/${name}.zip";
-    sha256 = "0hqb4hbl7iryw1xk8q1i606azzgzdr17sy6xfr1zpas4r2pnvhfq";
+    sha256 = "0nfqn04fb5kvxvpsc6xbgj03rmqcsn8vy2xj0zazijhvbxaf0zfb";
   };
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre ];
diff --git a/pkgs/tools/text/mir-qualia/default.nix b/pkgs/tools/text/mir-qualia/default.nix
index b22d58939151..4e3be9e17e0c 100644
--- a/pkgs/tools/text/mir-qualia/default.nix
+++ b/pkgs/tools/text/mir-qualia/default.nix
@@ -2,14 +2,14 @@
 
 pythonPackages.buildPythonApplication rec {
   name = "mir.qualia-${version}";
-  version = "1.0.0";
-  doCheck = false; # 1.0.0-released pytests are broken
+  version = "2.0.0";
+  doCheck = false; # 2.0.0-released pytests are broken
 
   buildInputs = with pythonPackages; [ pytest ];
 
   src = fetchurl {
     url = "mirror://pypi/m/mir.qualia/mir.qualia-${version}.tar.gz";
-    sha256 = "1g0nwncwk4nq7b7zszqi1q4d2bdga1q50g9nkxigdaq647wqdf7x";
+    sha256 = "1ybq6jb5clh9hw0sp3idp4hjv2gkm9yiaph48gcc208affflc8m9";
   };
 
   meta = {
diff --git a/pkgs/tools/text/vale/default.nix b/pkgs/tools/text/vale/default.nix
new file mode 100644
index 000000000000..057f1c48a1f2
--- /dev/null
+++ b/pkgs/tools/text/vale/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "vale-${version}";
+  version = "0.10.1";
+  rev    = "${version}";
+
+  goPackagePath = "github.com/ValeLint/vale";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner  = "ValeLint";
+    repo   = "vale";
+    sha256 = "1iyc9mny3nb6j3allj3szkiygc2v3gi7l7syq9ifjrm1wknk8wrf";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Vale is an open source linter for prose";
+    license = licenses.mit;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/tools/text/vale/deps.nix b/pkgs/tools/text/vale/deps.nix
new file mode 100644
index 000000000000..7bf61f433cee
--- /dev/null
+++ b/pkgs/tools/text/vale/deps.nix
@@ -0,0 +1,275 @@
+
+  # file automatically generated from Gopkg.lock with https://github.com/nixcloud/dep2nix (golang dep)
+  [
+
+    {
+      goPackagePath  = "github.com/ValeLint/gospell";
+      fetch = {
+        type = "git";
+        url = "https://github.com/ValeLint/gospell";
+        rev =  "90dfc71015dfebd3a7274f1ad2756c1dbf09e250";
+        sha256 = "0i2ha76q2xja8r4j72kqiarnylrbk4l1b29632skgzib6k4fh4g1";
+      };
+    }
+
+    {
+      goPackagePath  = "github.com/client9/gospell";
+      fetch = {
+        type = "git";
+        url = "https://github.com/client9/gospell";
+        rev =  "90dfc71015dfebd3a7274f1ad2756c1dbf09e250";
+        sha256 = "0i2ha76q2xja8r4j72kqiarnylrbk4l1b29632skgzib6k4fh4g1";
+      };
+    }
+
+    {
+      goPackagePath  = "github.com/davecgh/go-spew";
+      fetch = {
+        type = "git";
+        url = "https://github.com/davecgh/go-spew";
+        rev =  "346938d642f2ec3594ed81d874461961cd0faa76";
+        sha256 = "0d4jfmak5p6lb7n2r6yvf5p1zcw0l8j74kn55ghvr7zr7b7axm6c";
+      };
+    }
+
+    {
+      goPackagePath  = "github.com/fatih/color";
+      fetch = {
+        type = "git";
+        url = "https://github.com/fatih/color";
+        rev =  "570b54cabe6b8eb0bc2dfce68d964677d63b5260";
+        sha256 = "1hw9hgkfzbzqjhy29pqpk20xggxaqjv45wx8yn69488mw5ph7khh";
+      };
+    }
+
+    {
+      goPackagePath  = "github.com/gobwas/glob";
+      fetch = {
+        type = "git";
+        url = "https://github.com/gobwas/glob";
+        rev =  "bea32b9cd2d6f55753d94a28e959b13f0244797a";
+        sha256 = "0dx0f293v1a0d8qi7ik5hdl26dapd8xm0hj9a9gc620vhj7khi9q";
+      };
+    }
+
+    {
+      goPackagePath  = "github.com/jdkato/prose";
+      fetch = {
+        type = "git";
+        url = "https://github.com/jdkato/prose";
+        rev =  "4d68d1b77f66e36b6897a79f59f434d558e5e0c2";
+        sha256 = "1g2wwj6azpcjy6j7pk4dqx868v3hrqwjg5d737p4441a55026prj";
+      };
+    }
+
+    {
+      goPackagePath  = "github.com/jdkato/regexp";
+      fetch = {
+        type = "git";
+        url = "https://github.com/jdkato/regexp";
+        rev =  "38ab2f7842bf2a539528aa7d0014b37421b886e1";
+        sha256 = "11z21z2h2l8vlh4nwkcn7vbfdcmdjk9sc90kn8ji1923i3s7p3bw";
+      };
+    }
+
+    {
+      goPackagePath  = "github.com/mattn/go-colorable";
+      fetch = {
+        type = "git";
+        url = "https://github.com/mattn/go-colorable";
+        rev =  "941b50ebc6efddf4c41c8e4537a5f68a4e686b24";
+        sha256 = "0dw492z5w0fzv1cxm3xx26n8qpqjaf2ybiwpmvimzyhv65n8nrf8";
+      };
+    }
+
+    {
+      goPackagePath  = "github.com/mattn/go-isatty";
+      fetch = {
+        type = "git";
+        url = "https://github.com/mattn/go-isatty";
+        rev =  "fc9e8d8ef48496124e79ae0df75490096eccf6fe";
+        sha256 = "1r5f9gkavkb1w6sr0qs5kj16706xirl3qnlq3hqpszkw9w27x65a";
+      };
+    }
+
+    {
+      goPackagePath  = "github.com/mattn/go-runewidth";
+      fetch = {
+        type = "git";
+        url = "https://github.com/mattn/go-runewidth";
+        rev =  "9e777a8366cce605130a531d2cd6363d07ad7317";
+        sha256 = "0vkrfrz3fzn5n6ix4k8s0cg0b448459sldq8bp4riavsxm932jzb";
+      };
+    }
+
+    {
+      goPackagePath  = "github.com/mitchellh/go-homedir";
+      fetch = {
+        type = "git";
+        url = "https://github.com/mitchellh/go-homedir";
+        rev =  "b8bc1bf767474819792c23f32d8286a45736f1c6";
+        sha256 = "13ry4lylalkh4g2vny9cxwvryslzyzwp9r92z0b10idhdq3wad1q";
+      };
+    }
+
+    {
+      goPackagePath  = "github.com/mitchellh/mapstructure";
+      fetch = {
+        type = "git";
+        url = "https://github.com/mitchellh/mapstructure";
+        rev =  "d0303fe809921458f417bcf828397a65db30a7e4";
+        sha256 = "1fjwi5ghc1ibyx93apz31n4hj6gcq1hzismpdfbg2qxwshyg0ya8";
+      };
+    }
+
+    {
+      goPackagePath  = "github.com/montanaflynn/stats";
+      fetch = {
+        type = "git";
+        url = "https://github.com/montanaflynn/stats";
+        rev =  "eeaced052adbcfeea372c749c281099ed7fdaa38";
+        sha256 = "0kamcla633692n81w0j0d423ws3qdds97r2c0i193ypsh9xknpq9";
+      };
+    }
+
+    {
+      goPackagePath  = "github.com/olekukonko/tablewriter";
+      fetch = {
+        type = "git";
+        url = "https://github.com/olekukonko/tablewriter";
+        rev =  "be5337e7b39e64e5f91445ce7e721888dbab7387";
+        sha256 = "04zg261i4bq29bc460nyx9r2j70mj0sbxlprn87ylk8y5j2m1d1w";
+      };
+    }
+
+    {
+      goPackagePath  = "github.com/pmezard/go-difflib";
+      fetch = {
+        type = "git";
+        url = "https://github.com/pmezard/go-difflib";
+        rev =  "792786c7400a136282c1664665ae0a8db921c6c2";
+        sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+      };
+    }
+
+    {
+      goPackagePath  = "github.com/remeh/sizedwaitgroup";
+      fetch = {
+        type = "git";
+        url = "https://github.com/remeh/sizedwaitgroup";
+        rev =  "4b44541c93591ee0e73747d6081e61bd8c58b5c7";
+        sha256 = "1kz7h8r09c95r3hc8bngznc4lrnkz2vm50lrl96cqxja0pw8jl92";
+      };
+    }
+
+    {
+      goPackagePath  = "github.com/russross/blackfriday";
+      fetch = {
+        type = "git";
+        url = "https://github.com/russross/blackfriday";
+        rev =  "0b647d0506a698cca42caca173e55559b12a69f2";
+        sha256 = "1bv6mvnrqrcrp5d45l5p07q855sval8l3jzw1cf2dajkpcpysqln";
+      };
+    }
+
+    {
+      goPackagePath  = "github.com/shogo82148/go-shuffle";
+      fetch = {
+        type = "git";
+        url = "https://github.com/shogo82148/go-shuffle";
+        rev =  "4789c7c401f229b3ae1673acbccca451480660cd";
+        sha256 = "1gaii1h51df8vr28ww5np8nhvfcy4plv0nja9b9h0cmcxa3jf1lp";
+      };
+    }
+
+    {
+      goPackagePath  = "github.com/shurcooL/sanitized_anchor_name";
+      fetch = {
+        type = "git";
+        url = "https://github.com/shurcooL/sanitized_anchor_name";
+        rev =  "541ff5ee47f1dddf6a5281af78307d921524bcb5";
+        sha256 = "1fslblamqkd0yrvl1kbq95hnnji78bq9m33nnxiqs7y9w32zylv5";
+      };
+    }
+
+    {
+      goPackagePath  = "github.com/stretchr/testify";
+      fetch = {
+        type = "git";
+        url = "https://github.com/stretchr/testify";
+        rev =  "69483b4bd14f5845b5a1e55bca19e954e827f1d0";
+        sha256 = "11lzrwkdzdd8yyag92akncc008h2f9d1bpc489mxiwp0jrmz4ivb";
+      };
+    }
+
+    {
+      goPackagePath  = "github.com/urfave/cli";
+      fetch = {
+        type = "git";
+        url = "https://github.com/urfave/cli";
+        rev =  "0bdeddeeb0f650497d603c4ad7b20cfe685682f6";
+        sha256 = "1ny63c7bfwfrsp7vfkvb4i0xhq4v7yxqnwxa52y4xlfxs4r6v6fg";
+      };
+    }
+
+    {
+      goPackagePath  = "github.com/xrash/smetrics";
+      fetch = {
+        type = "git";
+        url = "https://github.com/xrash/smetrics";
+        rev =  "a3153f7040e90324c58c6287535e26a0ac5c1cc1";
+        sha256 = "1phq5y6mcg741spq7snc6xsky1ybc7fllh2444sfr3p41sjq9hg6";
+      };
+    }
+
+    {
+      goPackagePath  = "golang.org/x/net";
+      fetch = {
+        type = "git";
+        url = "https://go.googlesource.com/net";
+        rev =  "ab5485076ff3407ad2d02db054635913f017b0ed";
+        sha256 = "10805rk5rfgc3ivx35r9qmnps8hy3k3m57g0j6mz10w96k8i7pk7";
+      };
+    }
+
+    {
+      goPackagePath  = "golang.org/x/sys";
+      fetch = {
+        type = "git";
+        url = "https://go.googlesource.com/sys";
+        rev =  "14ac33bf8474b62c65cae263af2e4d3b543cc699";
+        sha256 = "1453l5v5kizq142fiq3bg5hka7b0yvnf9fsq8y2ayj4bc9h5vqf3";
+      };
+    }
+
+    {
+      goPackagePath  = "gopkg.in/ini.v1";
+      fetch = {
+        type = "git";
+        url = "https://gopkg.in/ini.v1";
+        rev =  "d3de07a94d22b4a0972deb4b96d790c2c0ce8333";
+        sha256 = "1lpwqhcfhaa6aighd2lpjfswbb6aw5d5bsmyr0vqaqg6g5kz0ikg";
+      };
+    }
+
+    {
+      goPackagePath  = "gopkg.in/neurosnap/sentences.v1";
+      fetch = {
+        type = "git";
+        url = "https://gopkg.in/neurosnap/sentences.v1";
+        rev =  "a7f18ead1433a139742a8b42ce7a059cfb484d60";
+        sha256 = "1b64xv5anfbnq6354jaygxapwgkdhbszzi604b96sm682brwl0p7";
+      };
+    }
+
+    {
+      goPackagePath  = "gopkg.in/yaml.v2";
+      fetch = {
+        type = "git";
+        url = "https://gopkg.in/yaml.v2";
+        rev =  "25c4ec802a7d637f88d584ab26798e94ad14c13b";
+        sha256 = "053mknsl3xhjscmd552005xnwbfcg0z2iphvbvj3wi0w3pvmlw44";
+      };
+    }
+
+]
\ No newline at end of file
diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix
index 9df89a8072a2..d5da10b5cd43 100644
--- a/pkgs/tools/typesetting/asciidoc/default.nix
+++ b/pkgs/tools/typesetting/asciidoc/default.nix
@@ -37,6 +37,9 @@
 # backends
 , enableDeckjsBackend ? false
 , enableOdfBackend ? false
+
+# java is problematic on some platforms, where it is unfree
+, enableJava ? true
 }:
 
 assert enableStandardFeatures ->
@@ -55,7 +58,7 @@ assert enableStandardFeatures ->
   docbook_xml_dtd_45 != null &&
   docbook5_xsl != null &&
   docbook_xsl != null &&
-  fop != null &&
+  (fop != null || !enableJava) &&
 # TODO: Package this:
 #  epubcheck != null &&
   gnused != null &&
@@ -63,7 +66,7 @@ assert enableStandardFeatures ->
 
 # filters
 assert enableExtraPlugins || enableDitaaFilter || enableMscgenFilter || enableDiagFilter || enableQrcodeFilter || enableAafigureFilter -> unzip != null;
-assert enableExtraPlugins || enableDitaaFilter -> jre != null;
+assert (enableExtraPlugins && enableJava) || enableDitaaFilter -> jre != null;
 assert enableExtraPlugins || enableMscgenFilter -> mscgen != null;
 assert enableExtraPlugins || enableDiagFilter -> blockdiag != null && seqdiag != null && actdiag != null && nwdiag != null;
 assert enableExtraPlugins || enableMatplotlibFilter -> matplotlib != null && numpy != null;
@@ -73,7 +76,7 @@ assert enableExtraPlugins || enableDeckjsBackend || enableOdfBackend -> unzip !=
 
 let
 
-  _enableDitaaFilter = enableExtraPlugins || enableDitaaFilter;
+  _enableDitaaFilter = (enableExtraPlugins && enableJava) || enableDitaaFilter;
   _enableMscgenFilter = enableExtraPlugins || enableMscgenFilter;
   _enableDiagFilter = enableExtraPlugins || enableDiagFilter;
   _enableQrcodeFilter = enableExtraPlugins || enableQrcodeFilter;
@@ -239,7 +242,7 @@ stdenv.mkDerivation rec {
         -e "s|^ASCIIDOC =.*|ASCIIDOC = '$out/bin/asciidoc'|" \
         -e "s|^XSLTPROC =.*|XSLTPROC = '${libxslt.bin}/bin/xsltproc'|" \
         -e "s|^DBLATEX =.*|DBLATEX = '${dblatexFull}/bin/dblatex'|" \
-        -e "s|^FOP =.*|FOP = '${fop}/bin/fop'|" \
+        ${optionalString enableJava ''-e "s|^FOP =.*|FOP = '${fop}/bin/fop'|"''} \
         -e "s|^W3M =.*|W3M = '${w3m}/bin/w3m'|" \
         -e "s|^LYNX =.*|LYNX = '${lynx}/bin/lynx'|" \
         -e "s|^XMLLINT =.*|XMLLINT = '${libxml2.bin}/bin/xmllint'|" \
diff --git a/pkgs/tools/typesetting/mmark/default.nix b/pkgs/tools/typesetting/mmark/default.nix
new file mode 100644
index 000000000000..2b7a6f3ffb44
--- /dev/null
+++ b/pkgs/tools/typesetting/mmark/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "mmark-${version}";
+  version = "1.3.6";
+  rev = "v${version}";
+
+  goPackagePath = "github.com/miekg/mmark";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "miekg";
+    repo = "mmark";
+    sha256 = "0q2zrwa2vwk7a0zhmi000zpqrc01zssrj9c5n3573rg68fksg77m";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = {
+    description = "A powerful markdown processor in Go geared towards the IETF";
+    homepage = https://github.com/miekg/mmark;
+    license = with stdenv.lib.licenses; bsd2;
+    maintainers = with stdenv.lib.maintainers; [ yrashk ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/tools/typesetting/mmark/deps.nix b/pkgs/tools/typesetting/mmark/deps.nix
new file mode 100644
index 000000000000..47f964c6a477
--- /dev/null
+++ b/pkgs/tools/typesetting/mmark/deps.nix
@@ -0,0 +1,12 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/BurntSushi/toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/BurntSushi/toml";
+      rev = "a368813c5e648fee92e5f6c30e3944ff9d5e8895";
+      sha256 = "1sjxs2lwc8jpln80s4rlzp7nprbcljhy5mz4rf9995gq93wqnym5";
+    };
+  }
+]
diff --git a/pkgs/tools/typesetting/xml2rfc/default.nix b/pkgs/tools/typesetting/xml2rfc/default.nix
new file mode 100644
index 000000000000..d1f01ccd8677
--- /dev/null
+++ b/pkgs/tools/typesetting/xml2rfc/default.nix
@@ -0,0 +1,24 @@
+{ python, stdenv }:
+
+with python.pkgs;
+
+buildPythonPackage rec {
+  pname = "xml2rfc";
+  version = "2.9.6";
+
+  buildInputs = [ intervaltree lxml requests pyflakes ];
+  propagatedBuildInputs = [ intervaltree lxml requests six ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1wr161lx6f1b3fq14ddr3y4jl0myrcmqs1s3fzsighvlmqfdihj7";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = "https://xml2rfc.tools.ietf.org/";
+    license = licenses.bsdOriginal;
+    description = "Xml2rfc generates RFCs and IETF drafts from document source in XML according to the dtd in RFC2629.";
+    maintainers = [ maintainers.yrashk ];
+  };
+
+}