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/xidlehook/default.nix5
-rw-r--r--pkgs/tools/X11/xpra/default.nix4
-rw-r--r--pkgs/tools/X11/xsecurelock/default.nix33
-rw-r--r--pkgs/tools/X11/xwinwrap/default.nix4
-rw-r--r--pkgs/tools/admin/aws-rotate-key/default.nix25
-rw-r--r--pkgs/tools/admin/aws-rotate-key/deps.nix29
-rw-r--r--pkgs/tools/admin/awscli/default.nix4
-rw-r--r--pkgs/tools/admin/bluemix-cli/default.nix32
-rw-r--r--pkgs/tools/admin/bubblewrap/default.nix4
-rw-r--r--pkgs/tools/backup/dar/default.nix (renamed from pkgs/tools/archivers/dar/default.nix)22
-rw-r--r--pkgs/tools/backup/percona-xtrabackup/default.nix21
-rw-r--r--pkgs/tools/bluetooth/obex-data-server/default.nix10
-rw-r--r--pkgs/tools/compression/brotli/default.nix4
-rw-r--r--pkgs/tools/compression/pixz/default.nix6
-rw-r--r--pkgs/tools/compression/xz/default.nix4
-rw-r--r--pkgs/tools/filesystems/ceph/generic.nix30
-rw-r--r--pkgs/tools/filesystems/convoy/default.nix4
-rw-r--r--pkgs/tools/filesystems/mergerfs/tools.nix36
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/cryptsetup.nix4
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/default.nix9
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/dmraid.nix4
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/parted.nix6
-rw-r--r--pkgs/tools/filesystems/s3fs/default.nix4
-rw-r--r--pkgs/tools/filesystems/vmfs-tools/default.nix4
-rw-r--r--pkgs/tools/graphics/glmark2/default.nix4
-rw-r--r--pkgs/tools/graphics/gromit-mpx/default.nix4
-rw-r--r--pkgs/tools/graphics/ibniz/default.nix26
-rw-r--r--pkgs/tools/graphics/luxcorerender/default.nix5
-rw-r--r--pkgs/tools/graphics/povray/default.nix6
-rw-r--r--pkgs/tools/graphics/vulkan-tools/default.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-anthy/default.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-chewing/default.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-hangul/default.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-m17n/default.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix4
-rw-r--r--pkgs/tools/inputmethods/interception-tools/default.nix4
-rw-r--r--pkgs/tools/inputmethods/libkkc/default.nix4
-rw-r--r--pkgs/tools/misc/ckb/default.nix5
-rw-r--r--pkgs/tools/misc/clipnotify/default.nix26
-rw-r--r--pkgs/tools/misc/clipster/default.nix4
-rw-r--r--pkgs/tools/misc/debootstrap/default.nix4
-rw-r--r--pkgs/tools/misc/diffoscope/default.nix19
-rwxr-xr-xpkgs/tools/misc/diffoscope/list-missing-tools.sh (renamed from pkgs/tools/misc/diffoscope/list-tools.sh)3
-rw-r--r--pkgs/tools/misc/esptool/default.nix6
-rw-r--r--pkgs/tools/misc/fileschanged/default.nix4
-rw-r--r--pkgs/tools/misc/grub/2.0x.nix4
-rw-r--r--pkgs/tools/misc/grub/trusted.nix4
-rw-r--r--pkgs/tools/misc/hdf4/default.nix4
-rw-r--r--pkgs/tools/misc/lf/default.nix4
-rw-r--r--pkgs/tools/misc/mmake/default.nix8
-rw-r--r--pkgs/tools/misc/os-prober/default.nix4
-rw-r--r--pkgs/tools/misc/parted/default.nix11
-rw-r--r--pkgs/tools/misc/snapper/default.nix4
-rw-r--r--pkgs/tools/misc/toilet/default.nix7
-rw-r--r--pkgs/tools/misc/xxd/default.nix16
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix23
-rw-r--r--pkgs/tools/networking/curl/default.nix4
-rw-r--r--pkgs/tools/networking/dnsmasq/default.nix19
-rw-r--r--pkgs/tools/networking/i2p/default.nix4
-rw-r--r--pkgs/tools/networking/kea/default.nix8
-rw-r--r--pkgs/tools/networking/kea/dont-create-var.patch14
-rw-r--r--pkgs/tools/networking/network-manager/PppdPath.patch11
-rw-r--r--pkgs/tools/networking/network-manager/applet.nix16
-rw-r--r--pkgs/tools/networking/network-manager/default.nix57
-rw-r--r--pkgs/tools/networking/network-manager/fix-paths.patch69
-rw-r--r--pkgs/tools/networking/network-manager/modprobe.patch11
-rw-r--r--pkgs/tools/networking/network-manager/openconnect_helper_path.patch29
-rw-r--r--pkgs/tools/networking/network-manager/openvpn/default.nix (renamed from pkgs/tools/networking/network-manager/openvpn.nix)4
-rw-r--r--pkgs/tools/networking/network-manager/openvpn/fix-paths.patch34
-rw-r--r--pkgs/tools/networking/offlineimap/default.nix4
-rw-r--r--pkgs/tools/networking/s4cmd/default.nix35
-rw-r--r--pkgs/tools/networking/subfinder/default.nix29
-rw-r--r--pkgs/tools/networking/subfinder/deps.nix48
-rw-r--r--pkgs/tools/networking/whois/default.nix4
-rw-r--r--pkgs/tools/package-management/nix-index/default.nix6
-rw-r--r--pkgs/tools/package-management/nix/default.nix4
-rw-r--r--pkgs/tools/package-management/nixops/generic.nix4
-rw-r--r--pkgs/tools/security/clamav/default.nix13
-rw-r--r--pkgs/tools/security/gnu-pw-mgr/default.nix4
-rw-r--r--pkgs/tools/security/gnupg/20.nix2
-rw-r--r--pkgs/tools/security/gnupg/22.nix2
-rw-r--r--pkgs/tools/security/keybase/gui.nix7
-rw-r--r--pkgs/tools/security/libmodsecurity/default.nix4
-rw-r--r--pkgs/tools/security/nitrokey-app/default.nix23
-rw-r--r--pkgs/tools/security/nitrokey-app/udev-rules.nix4
-rw-r--r--pkgs/tools/security/open-ecard/default.nix2
-rw-r--r--pkgs/tools/security/opensc/default.nix2
-rw-r--r--pkgs/tools/security/pcsclite/default.nix11
-rw-r--r--pkgs/tools/security/pcsctools/default.nix4
-rw-r--r--pkgs/tools/security/sshguard/default.nix4
-rw-r--r--pkgs/tools/security/tor/default.nix4
-rw-r--r--pkgs/tools/security/vault/default.nix4
-rw-r--r--pkgs/tools/system/osquery/default.nix4
-rw-r--r--pkgs/tools/system/osquery/misc.patch30
-rw-r--r--pkgs/tools/system/s-tui/default.nix4
-rw-r--r--pkgs/tools/system/thermald/default.nix7
-rw-r--r--pkgs/tools/text/aha/default.nix1
-rw-r--r--pkgs/tools/text/fanficfare/default.nix4
-rw-r--r--pkgs/tools/text/markdown-pp/default.nix24
-rw-r--r--pkgs/tools/text/mdbook/default.nix8
-rw-r--r--pkgs/tools/text/peco/default.nix5
-rw-r--r--pkgs/tools/text/zimwriterfs/default.nix4
-rw-r--r--pkgs/tools/typesetting/asciidoc/default.nix6
104 files changed, 761 insertions, 389 deletions
diff --git a/pkgs/tools/X11/xidlehook/default.nix b/pkgs/tools/X11/xidlehook/default.nix
index 2faa8ead0716..b96235341401 100644
--- a/pkgs/tools/X11/xidlehook/default.nix
+++ b/pkgs/tools/X11/xidlehook/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv, rustPlatform, fetchFromGitHub, x11, xorg, libpulseaudio, pkgconfig, patchelf }:
+{ lib, stdenv, rustPlatform, fetchFromGitHub
+, xlibsWrapper, xorg, libpulseaudio, pkgconfig, patchelf }:
 
 rustPlatform.buildRustPackage rec {
   name = "xidlehook-${version}";
@@ -17,7 +18,7 @@ rustPlatform.buildRustPackage rec {
   cargoBuildFlags = lib.optionals (!stdenv.isLinux) ["--no-default-features" "--features" "pulse"];
   cargoSha256 = "1mrg59flmmqg5wwi2l8lw6p1xpgdw597fdfsmpn8b126rgzqmjl8";
 
-  buildInputs = [ x11 xorg.libXScrnSaver libpulseaudio ];
+  buildInputs = [ xlibsWrapper xorg.libXScrnSaver libpulseaudio ];
   nativeBuildInputs = [ pkgconfig patchelf ];
 
   postFixup = lib.optionalString stdenv.isLinux ''
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index 7523bab2e8c3..8bff5a2e714a 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -3,7 +3,7 @@
 , makeWrapper, xkbcomp, xorgserver, getopt, xauth, utillinux, which, fontsConf
 , ffmpeg, x264, libvpx, libwebp
 , libfakeXinerama
-, gst_all_1, pulseaudioLight, gobjectIntrospection
+, gst_all_1, pulseaudio, gobjectIntrospection
 , pam }:
 
 with lib;
@@ -61,7 +61,7 @@ in buildPythonApplication rec {
       --set GI_TYPELIB_PATH "$GI_TYPELIB_PATH" \
       --set GST_PLUGIN_SYSTEM_PATH_1_0 "$GST_PLUGIN_SYSTEM_PATH_1_0" \
       --prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib  \
-      --prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux pulseaudioLight ]}
+      --prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux pulseaudio ]}
   '';
 
   preCheck = "exit 0";
diff --git a/pkgs/tools/X11/xsecurelock/default.nix b/pkgs/tools/X11/xsecurelock/default.nix
new file mode 100644
index 000000000000..176b9fa0068a
--- /dev/null
+++ b/pkgs/tools/X11/xsecurelock/default.nix
@@ -0,0 +1,33 @@
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
+, libX11, libXcomposite, libXft, pam, apacheHttpd, imagemagick
+, pamtester, xscreensaver }:
+
+stdenv.mkDerivation rec {
+  name = "xsecurelock-git-2018-07-10";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "xsecurelock";
+    rev = "0fa0d7dd87a4cc4bdb402323f95c3fcacc6f5049";
+    sha256 = "071b3gslszql1mgabs53r82jgbk9mn263m5v6adskfxbkamks8g0";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  buildInputs = [
+    libX11 libXcomposite libXft pam
+    apacheHttpd imagemagick pamtester
+  ];
+
+  configureFlags = [
+    "--with-pam-service-name=login"
+    "--with-xscreensaver=${xscreensaver}/libexec/xscreensaver"
+  ];
+
+  meta = with lib; {
+    description = "X11 screen lock utility with security in mind";
+    homepage = https://github.com/google/xsecurelock;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fpletz ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/X11/xwinwrap/default.nix b/pkgs/tools/X11/xwinwrap/default.nix
index 6ea24ad2c6aa..cc2eb50ce1fd 100644
--- a/pkgs/tools/X11/xwinwrap/default.nix
+++ b/pkgs/tools/X11/xwinwrap/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchbzr, x11 }:
+{ stdenv, fetchbzr, xlibsWrapper }:
 
 let
   version = "4";
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   };
 
   buildInputs = [
-    x11
+    xlibsWrapper
   ];
 
   buildPhase = if stdenv.system == "x86_64-linux" then ''
diff --git a/pkgs/tools/admin/aws-rotate-key/default.nix b/pkgs/tools/admin/aws-rotate-key/default.nix
new file mode 100644
index 000000000000..cffb67e7d6ca
--- /dev/null
+++ b/pkgs/tools/admin/aws-rotate-key/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "aws-rotate-key-${version}";
+  version = "1.0.0";
+
+  goPackagePath = "github.com/Fullscreen/aws-rotate-key";
+
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "Fullscreen";
+    repo = "aws-rotate-key";
+    sha256 = "13q7rns65cj8b4i0s75dbswijpra9z74b462zribwfjdm29by5k1";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    description = "Easily rotate your AWS key";
+    homepage = https://github.com/Fullscreen/aws-rotate-key;
+    license = licenses.mit;
+    maintainers = [maintainers.mbode];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/admin/aws-rotate-key/deps.nix b/pkgs/tools/admin/aws-rotate-key/deps.nix
new file mode 100644
index 000000000000..680a18e7e2d3
--- /dev/null
+++ b/pkgs/tools/admin/aws-rotate-key/deps.nix
@@ -0,0 +1,29 @@
+[
+  {
+    goPackagePath = "github.com/go-ini/ini";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-ini/ini";
+      rev = "af26abd521cd7697481572fdbc4a53cbea3dde1b";
+      sha256 = "1yribbqy9i4i70dfg3yrjhkn3n0fywpr3kismn2mvi882mm01pxz";
+    };
+  }
+  {
+    goPackagePath = "github.com/jmespath/go-jmespath";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jmespath/go-jmespath";
+      rev = "c2b33e8439af944379acbdd9c3a5fe0bc44bd8a5";
+      sha256 = "1r6w7ydx8ydryxk3sfhzsk8m6f1nsik9jg3i1zhi69v4kfl4d5cz";
+    };
+  }
+  {
+    goPackagePath = "github.com/aws/aws-sdk-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/aws/aws-sdk-go";
+      rev = "f844700ba2a387dfee7ab3679e7544b5dbd6d394";
+      sha256 = "0s9100bzqj58nnax3dxfgi5qr4rbaa53cb0cj3s58k9jc9z6270m";
+    };
+  }
+]
diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix
index b7d41ac7a960..331a4bffb814 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.15.49";
+  version = "1.15.58";
 
   src = py.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "1rn1d274vg2zq93cswh6w5ybgqw6gk2pgiqxhsyd04f2v4smr98i";
+    sha256 = "19wnr498q2mwbp8l978ahy9y7p7icahx53898fki6sbhd9pn2miq";
   };
 
   # No tests included
diff --git a/pkgs/tools/admin/bluemix-cli/default.nix b/pkgs/tools/admin/bluemix-cli/default.nix
index 2c24728fab9f..7ae54aab4b9d 100644
--- a/pkgs/tools/admin/bluemix-cli/default.nix
+++ b/pkgs/tools/admin/bluemix-cli/default.nix
@@ -2,16 +2,30 @@
 
 stdenv.mkDerivation rec {
   name = "bluemix-cli-${version}";
-  version = "0.6.6";
+  version = "0.8.0";
 
-  src = fetchurl {
-    name = "linux64.tar.gz";
-    url = "https://clis.ng.bluemix.net/download/bluemix-cli/${version}/linux64";
-    sha256 = "1swjawc4szqrl0wgjcb4na1hbxylaqp2mp53lxsbfbk1db0c3y85";
-  };
+  src =
+    if stdenv.system == "i686-linux" then
+      fetchurl {
+        name = "linux32-${version}.tar.gz";
+        url = "https://clis.ng.bluemix.net/download/bluemix-cli/${version}/linux32";
+        sha256 = "1ryngbjlw59x33rfd32bcz49r93a1q1g92jh7xmi9vydgqnzsifh";
+      }
+    else
+      fetchurl {
+        name = "linux64-${version}.tar.gz";
+        url = "https://clis.ng.bluemix.net/download/bluemix-cli/${version}/linux64";
+        sha256 = "056zbaca430ldcn0s86vy40m5abvwpfrmvqybbr6fjwfv9zngywx";
+      }
+    ;
 
   installPhase = ''
-    install -m755 -D --target $out/bin bin/bluemix bin/bluemix-analytics bin/cfcli/cf
+    install -m755 -D -t $out/bin bin/ibmcloud bin/ibmcloud-analytics
+    install -m755 -D -t $out/bin/cfcli bin/cfcli/cf
+    ln -sv $out/bin/ibmcloud $out/bin/bx
+    ln -sv $out/bin/ibmcloud $out/bin/bluemix
+    install -D -t "$out/etc/bash_completion.d" bx/bash_autocomplete
+    install -D -t "$out/share/zsh/site-functions" bx/zsh_autocomplete
   '';
 
   meta = with lib; {
@@ -19,7 +33,7 @@ stdenv.mkDerivation rec {
     homepage     = "https://console.bluemix.net/docs/cli/index.html";
     downloadPage = "https://console.bluemix.net/docs/cli/reference/bluemix_cli/download_cli.html#download_install";
     license      = licenses.unfree;
-    maintainers  = [ maintainers.tazjin ];
-    platforms    = [ "x86_64-linux" ];
+    maintainers  = [ maintainers.tazjin maintainers.jensbin ];
+    platforms    = [ "x86_64-linux" "i686-linux" ];
   };
 }
diff --git a/pkgs/tools/admin/bubblewrap/default.nix b/pkgs/tools/admin/bubblewrap/default.nix
index a5e0186fa2dc..a037a2e42aaa 100644
--- a/pkgs/tools/admin/bubblewrap/default.nix
+++ b/pkgs/tools/admin/bubblewrap/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "bubblewrap-${version}";
-  version = "0.2.1";
+  version = "0.3.0";
 
   src = fetchurl {
     url = "https://github.com/projectatomic/bubblewrap/releases/download/v${version}/${name}.tar.xz";
-    sha256 = "1qhzwgpfsw66hcv5kqc7i4dbzhxr8drrqn3md4grcp7dn02wif2l";
+    sha256 = "0b5gkr5xiqnr9cz5padkkkhm74ia9cb06pkpfi8j642anmq2irf8";
   };
 
   nativeBuildInputs = [ libcap libxslt docbook_xsl ];
diff --git a/pkgs/tools/archivers/dar/default.nix b/pkgs/tools/backup/dar/default.nix
index 315ef7272838..99c0bd4a34ca 100644
--- a/pkgs/tools/archivers/dar/default.nix
+++ b/pkgs/tools/backup/dar/default.nix
@@ -3,27 +3,37 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "2.5.14";
+  version = "2.5.15";
   name = "dar-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/dar/${name}-bis.tar.gz";
-    sha256 = "1sbd7n5mfqkwxy5rz2v8575y21j94ypwrpinizr3l2yy9pq49rx5";
+    url = "mirror://sourceforge/dar/${name}.tar.gz";
+    sha256 = "1h700i2k524w5rf5gr9yxl50ca5jwzqlkifay4ffcbhbkqln1n2q";
   };
 
   buildInputs = [ zlib bzip2 openssl lzo libgcrypt gpgme xz ]
     ++ optionals stdenv.isLinux [ attr e2fsprogs ];
 
-  configureFlags = [ "--disable-dar-static" ];
+  configureFlags = [
+    "--disable-birthtime"
+    "--disable-upx"
+    "--disable-dar-static"
+    "--disable-build-html"
+    "--enable-threadar"
+  ];
+
+  postInstall = ''
+    rm -r "$out"/share/dar # Disable html help
+  '';
 
   enableParallelBuilding = true;
 
   hardeningDisable = [ "format" ];
 
   meta = {
-    homepage = http://dar.linux.free.fr/;
+    homepage = http://dar.linux.free.fr;
     description = "Disk ARchiver, allows backing up files into indexed archives";
-    maintainers = [ maintainers.viric ];
+    maintainers = with maintainers; [ viric ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/backup/percona-xtrabackup/default.nix b/pkgs/tools/backup/percona-xtrabackup/default.nix
index 6899ba88a22c..712d0af29a95 100644
--- a/pkgs/tools/backup/percona-xtrabackup/default.nix
+++ b/pkgs/tools/backup/percona-xtrabackup/default.nix
@@ -1,41 +1,40 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig
-, boost, bison, curl, ncurses, openssl, readline, xxd
+, boost, bison, curl, ncurses, openssl, xxd
 , libaio, libev, libgcrypt, libgpgerror, libtool, zlib
 }:
 
 stdenv.mkDerivation rec {
   name = "percona-xtrabackup-${version}";
-  version = "2.4.9";
+  version = "2.4.12";
 
   src = fetchFromGitHub {
     owner = "percona";
     repo = "percona-xtrabackup";
     rev = name;
-    sha256 = "11w87wj2jasrnygzjg3b59q9x0m6lhyg1wzdvclmgbmqsk9bvqv4";
+    sha256 = "1w17v2c677b3vfnm81bs63kjbfiin7f12wl9fbgp83hfpyx5msan";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
   buildInputs = [
-    boost bison curl ncurses openssl readline xxd
+    boost bison curl ncurses openssl xxd
     libaio libev libgcrypt libgpgerror libtool zlib
   ];
 
   cmakeFlags = [
     "-DBUILD_CONFIG=xtrabackup_release"
     "-DINSTALL_MYSQLTESTDIR=OFF"
-    "-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
+    "-DWITH_BOOST=system"
     "-DWITH_SSL=system"
     "-DWITH_ZLIB=system"
-    "-DWITH_MECAB=system"
-    "-DWITH_EXTRA_CHARSETS=all"
-    "-DWITH_INNODB_MEMCACHED=1"
     "-DWITH_MAN_PAGES=OFF"
-    "-DWITH_HTML_DOCS=OFF"
-    "-DWITH_LATEX_DOCS=OFF"
-    "-DWITH_PDF_DOCS=OFF"
+    "-DCMAKE_CXX_FLAGS=-std=gnu++03"
   ];
 
+  postInstall = ''
+    rm -r "$out"/lib/plugin/debug
+  '';
+
   meta = with stdenv.lib; {
     description = "Non-blocking backup tool for MySQL";
     homepage = http://www.percona.com/software/percona-xtrabackup;
diff --git a/pkgs/tools/bluetooth/obex-data-server/default.nix b/pkgs/tools/bluetooth/obex-data-server/default.nix
index ffc7ee192c90..5c272e3dbafc 100644
--- a/pkgs/tools/bluetooth/obex-data-server/default.nix
+++ b/pkgs/tools/bluetooth/obex-data-server/default.nix
@@ -1,21 +1,21 @@
-{ stdenv, fetchurl, pkgconfig, libusb, glib, dbus-glib, bluez, openobex, dbus_libs }:
-   
+{ stdenv, fetchurl, pkgconfig, libusb, glib, dbus-glib, bluez, openobex, dbus }:
+
 stdenv.mkDerivation rec {
   name = "obex-data-server-0.4.6";
-   
+
   src = fetchurl {
     url = "http://tadas.dailyda.com/software/${name}.tar.gz";
     sha256 = "0kq940wqs9j8qjnl58d6l3zhx0jaszci356xprx23l6nvdfld6dk";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libusb glib dbus-glib bluez openobex dbus_libs ];
+  buildInputs = [ libusb glib dbus-glib bluez openobex dbus ];
 
   patches = [ ./obex-data-server-0.4.6-build-fixes-1.patch ];
 
   preConfigure = ''
   addToSearchPath PKG_CONFIG_PATH ${openobex}/lib64/pkgconfig
-  export PKG_CONFIG_PATH="${dbus_libs.dev}/lib/pkgconfig:$PKG_CONFIG_PATH"
+  export PKG_CONFIG_PATH="${dbus.dev}/lib/pkgconfig:$PKG_CONFIG_PATH"
   '';
 
   meta = {
diff --git a/pkgs/tools/compression/brotli/default.nix b/pkgs/tools/compression/brotli/default.nix
index 1a42ba03d464..a63721466dbc 100644
--- a/pkgs/tools/compression/brotli/default.nix
+++ b/pkgs/tools/compression/brotli/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "brotli-${version}";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "brotli";
     rev = "v" + version;
-    sha256 = "0n5snycxgwqj2v8sgxiqxq4zqh5ydx70dr7qa4ygizs02ms69n1i";
+    sha256 = "0ssj7mnhpdpk7qnwr49qfd4gxhkmvbli5mhs274pz55cx1xp7xja";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/compression/pixz/default.nix b/pkgs/tools/compression/pixz/default.nix
index 2a5250a95aca..7eca80f8400c 100644
--- a/pkgs/tools/compression/pixz/default.nix
+++ b/pkgs/tools/compression/pixz/default.nix
@@ -1,6 +1,6 @@
-{ 
+{
   stdenv, fetchFromGitHub, autoconf, automake, libtool, pkgconfig
-  , asciidoc, libxslt, libxml2, docbook_xml_dtd_45, docbook_xml_xslt
+  , asciidoc, libxslt, libxml2, docbook_xml_dtd_45, docbook_xsl
   , libarchive, lzma
 }:
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
     autoconf automake libtool asciidoc libxslt libxml2
-    docbook_xml_dtd_45 docbook_xml_xslt
+    docbook_xml_dtd_45 docbook_xsl
     libarchive lzma
   ];
   preBuild = ''
diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix
index 37c0c6d1c7e8..0ff349e96e80 100644
--- a/pkgs/tools/compression/xz/default.nix
+++ b/pkgs/tools/compression/xz/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, enableStatic ? false }:
 
 stdenv.mkDerivation rec {
   name = "xz-5.2.4";
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
 
   outputs = [ "bin" "dev" "out" "man" "doc" ];
 
+  configureFlags = stdenv.lib.optional enableStatic "--disable-shared";
+
   doCheck = true;
 
   preCheck = ''
diff --git a/pkgs/tools/filesystems/ceph/generic.nix b/pkgs/tools/filesystems/ceph/generic.nix
index 4325a9355366..672b289b5bbd 100644
--- a/pkgs/tools/filesystems/ceph/generic.nix
+++ b/pkgs/tools/filesystems/ceph/generic.nix
@@ -2,7 +2,7 @@
 , which, git
 , boost, python2Packages
 , libxml2, zlib
-, openldap, lttngUst
+, openldap, lttng-ust
 , babeltrace, gperf
 , cunit, snappy
 , rocksdb, makeWrapper
@@ -84,11 +84,11 @@ let
     none = [ ];
   };
 
-  ceph-python-env = python2Packages.python.withPackages (ps: [ 
+  ceph-python-env = python2Packages.python.withPackages (ps: [
     ps.sphinx
     ps.flask
     ps.argparse
-    ps.cython 
+    ps.cython
     ps.setuptools
     ps.pip
     # Libraries needed by the python tools
@@ -105,9 +105,9 @@ stdenv.mkDerivation {
 
   inherit src;
 
-  patches = [ 
+  patches = [
  #	 ./ceph-patch-cmake-path.patch
-    ./0001-kv-RocksDBStore-API-break-additional.patch   
+    ./0001-kv-RocksDBStore-API-break-additional.patch
   ] ++ optionals stdenv.isLinux [
     ./0002-fix-absolute-include-path.patch
   ];
@@ -117,10 +117,10 @@ stdenv.mkDerivation {
     pkgconfig which git python2Packages.wrapPython makeWrapper
     (ensureNewerSourcesHook { year = "1980"; })
   ];
-  
+
   buildInputs = buildInputs ++ cryptoLibsMap.${cryptoStr} ++ [
-    boost ceph-python-env libxml2 optYasm optLibatomic_ops optLibs3 
-    malloc zlib openldap lttngUst babeltrace gperf cunit
+    boost ceph-python-env libxml2 optYasm optLibatomic_ops optLibs3
+    malloc zlib openldap lttng-ust babeltrace gperf cunit
     snappy rocksdb
   ] ++ optionals stdenv.isLinux [
     linuxHeaders libuuid udev keyutils optLibaio optLibxfs optZfs
@@ -130,28 +130,28 @@ stdenv.mkDerivation {
     optKinetic-cpp-client
   ];
 
-  
+
   preConfigure =''
     # rip off submodule that interfer with system libs
 	rm -rf src/boost
 	rm -rf src/rocksdb
-	
+
 	# require LD_LIBRARY_PATH for cython to find internal dep
 	export LD_LIBRARY_PATH="$PWD/build/lib:$LD_LIBRARY_PATH"
-	
+
 	# requires setuptools due to embedded in-cmake setup.py usage
 	export PYTHONPATH="${python2Packages.setuptools}/lib/python2.7/site-packages/:$PYTHONPATH"
   '';
 
-  cmakeFlags = [ 
+  cmakeFlags = [
     "-DENABLE_GIT_VERSION=OFF"
     "-DWITH_SYSTEM_BOOST=ON"
     "-DWITH_SYSTEM_ROCKSDB=ON"
     "-DWITH_LEVELDB=OFF"
-    
+
     # enforce shared lib
     "-DBUILD_SHARED_LIBS=ON"
-    
+
     # disable cephfs, cmake build broken for now
     "-DWITH_CEPHFS=OFF"
     "-DWITH_LIBCEPHFS=OFF"
@@ -163,7 +163,7 @@ stdenv.mkDerivation {
   '';
 
   enableParallelBuilding = true;
-  
+
   outputs = [ "dev" "lib" "out" "doc" ];
 
   meta = {
diff --git a/pkgs/tools/filesystems/convoy/default.nix b/pkgs/tools/filesystems/convoy/default.nix
index fe713556577d..8af745ed436e 100644
--- a/pkgs/tools/filesystems/convoy/default.nix
+++ b/pkgs/tools/filesystems/convoy/default.nix
@@ -1,5 +1,5 @@
 # This file was generated by go2nix.
-{ stdenv, buildGoPackage, fetchFromGitHub, devicemapper }:
+{ stdenv, buildGoPackage, fetchFromGitHub, lvm2 }:
 
 buildGoPackage rec {
   name = "convoy-${version}";
@@ -14,7 +14,7 @@ buildGoPackage rec {
     sha256 = "0ihy0cfq7sa2wml904ajwr165hx2mas3jb1bqk3i0m4fg1lx1xw1";
   };
 
-  buildInputs = [devicemapper];
+  buildInputs = [lvm2];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/rancher/convoy;
diff --git a/pkgs/tools/filesystems/mergerfs/tools.nix b/pkgs/tools/filesystems/mergerfs/tools.nix
new file mode 100644
index 000000000000..01f0de25a900
--- /dev/null
+++ b/pkgs/tools/filesystems/mergerfs/tools.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, coreutils, makeWrapper
+, rsync, python3, pythonPackages }:
+
+stdenv.mkDerivation rec {
+  name = "mergerfs-tools-${version}";
+  version = "20171221";
+
+  src = fetchFromGitHub {
+    owner = "trapexit";
+    repo = "mergerfs-tools";
+    rev = "9b4fe0097b5b51e1a7411a26eb344a24cc8ce1b4";
+    sha256 = "0qrixh3j58gzkmc8r2sgzgy56gm8bmhakwlc2gjb0yrpa1213na1";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ python3 ];
+
+  makeFlags = [
+    "INSTALL=${coreutils}/bin/install"
+    "PREFIX=$(out)"
+  ];
+
+  postInstall = with stdenv.lib; ''
+    wrapProgram $out/bin/mergerfs.balance --prefix PATH : ${makeBinPath [ rsync ]}
+    wrapProgram $out/bin/mergerfs.dup --prefix PATH : ${makeBinPath [ rsync ]}
+    wrapProgram $out/bin/mergerfs.mktrash --prefix PATH : ${makeBinPath [ pythonPackages.xattr ]}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Optional tools to help manage data in a mergerfs pool";
+    homepage = https://github.com/trapexit/mergerfs-tools;
+    license = licenses.isc;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ jfrankenau ];
+  };
+}
diff --git a/pkgs/tools/filesystems/nixpart/0.4/cryptsetup.nix b/pkgs/tools/filesystems/nixpart/0.4/cryptsetup.nix
index 24eec2f0dc46..b0c33212edb3 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/cryptsetup.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/cryptsetup.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, devicemapper, libgcrypt, libuuid, pkgconfig, popt
+{ stdenv, fetchurl, lvm2, libgcrypt, libuuid, pkgconfig, popt
 , enablePython ? true, python ? null
 }:
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
                 ++ stdenv.lib.optional enablePython "--enable-python";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ devicemapper libgcrypt libuuid popt ]
+  buildInputs = [ lvm2 libgcrypt libuuid popt ]
              ++ stdenv.lib.optional enablePython python;
 
   meta = {
diff --git a/pkgs/tools/filesystems/nixpart/0.4/default.nix b/pkgs/tools/filesystems/nixpart/0.4/default.nix
index 5ae32093e7f7..217056117ea7 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/default.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/default.nix
@@ -18,13 +18,11 @@ let
 
   cryptsetup = import ./cryptsetup.nix {
     inherit stdenv fetchurl python;
-    inherit (pkgs) pkgconfig libgcrypt libuuid popt;
-    devicemapper = lvm2;
+    inherit (pkgs) pkgconfig libgcrypt libuuid popt lvm2;
   };
 
   dmraid = import ./dmraid.nix {
-    inherit stdenv fetchurl;
-    devicemapper = lvm2;
+    inherit stdenv fetchurl lvm2;
   };
 
   lvm2 = import ./lvm2.nix {
@@ -39,8 +37,7 @@ let
 
   parted = import ./parted.nix {
     inherit stdenv fetchurl;
-    inherit (pkgs) utillinux readline libuuid gettext check;
-    devicemapper = lvm2;
+    inherit (pkgs) utillinux readline libuuid gettext check lvm2;
   };
 
   pyblock = import ./pyblock.nix {
diff --git a/pkgs/tools/filesystems/nixpart/0.4/dmraid.nix b/pkgs/tools/filesystems/nixpart/0.4/dmraid.nix
index defdf6702ea7..a4dcb408e058 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/dmraid.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/dmraid.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, devicemapper }:
+{ stdenv, fetchurl, lvm2 }:
 
 stdenv.mkDerivation rec {
   name = "dmraid-1.0.0.rc15";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   preConfigure = "cd */";
 
-  buildInputs = [ devicemapper ];
+  buildInputs = [ lvm2 ];
 
   meta = {
     description = "Old-style RAID configuration utility";
diff --git a/pkgs/tools/filesystems/nixpart/0.4/parted.nix b/pkgs/tools/filesystems/nixpart/0.4/parted.nix
index 04859020e36e..3f43fdc0c395 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/parted.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/parted.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, devicemapper, libuuid, gettext, readline
+{ stdenv, fetchurl, lvm2, libuuid, gettext, readline
 , utillinux, check, enableStatic ? false, hurd ? null }:
 
 stdenv.mkDerivation rec {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libuuid ]
     ++ stdenv.lib.optional (readline != null) readline
     ++ stdenv.lib.optional (gettext != null) gettext
-    ++ stdenv.lib.optional (devicemapper != null) devicemapper
+    ++ stdenv.lib.optional (lvm2 != null) lvm2
     ++ stdenv.lib.optional (hurd != null) hurd
     ++ stdenv.lib.optional doCheck check;
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
        (if (readline != null)
         then [ "--with-readline" ]
         else [ "--without-readline" ])
-    ++ stdenv.lib.optional (devicemapper == null) "--disable-device-mapper"
+    ++ stdenv.lib.optional (lvm2 == null) "--disable-device-mapper"
     ++ stdenv.lib.optional enableStatic "--enable-static";
 
   doCheck = true;
diff --git a/pkgs/tools/filesystems/s3fs/default.nix b/pkgs/tools/filesystems/s3fs/default.nix
index 11d836e66bcc..4d71d501b3c1 100644
--- a/pkgs/tools/filesystems/s3fs/default.nix
+++ b/pkgs/tools/filesystems/s3fs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "s3fs-fuse-${version}";
-  version = "1.83";
+  version = "1.84";
 
   src = fetchFromGitHub {
     owner  = "s3fs-fuse";
     repo   = "s3fs-fuse";
     rev    = "v${version}";
-    sha256 = "0rh0lkvjjy19lixqq07hjp4k9mhahmwc0pbp5cr3m59qbwwcprvx";
+    sha256 = "1iafzlrqrjyphd1p74q5xzhgacc4gzijq8f6mdkvikbdsibch871";
   };
 
   buildInputs = [ curl openssl libxml2 fuse ];
diff --git a/pkgs/tools/filesystems/vmfs-tools/default.nix b/pkgs/tools/filesystems/vmfs-tools/default.nix
index d563f4380209..b22f7e07a464 100644
--- a/pkgs/tools/filesystems/vmfs-tools/default.nix
+++ b/pkgs/tools/filesystems/vmfs-tools/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pkgconfig
-, asciidoc, docbook_xml_xslt, fuse, libuuid, libxslt }:
+, asciidoc, docbook_xsl, fuse, libuuid, libxslt }:
 
 stdenv.mkDerivation rec {
   name = "vmfs-tools";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "14y412ww5hxk336ils62s3fwykfh6mx1j0iiaa5cwc615pi6qvi4";
   };
 
-  nativeBuildInputs = [ asciidoc docbook_xml_xslt fuse libuuid libxslt pkgconfig ];
+  nativeBuildInputs = [ asciidoc docbook_xsl fuse libuuid libxslt pkgconfig ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/tools/graphics/glmark2/default.nix b/pkgs/tools/graphics/glmark2/default.nix
index 43da52634e68..14972fc5e56f 100644
--- a/pkgs/tools/graphics/glmark2/default.nix
+++ b/pkgs/tools/graphics/glmark2/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pkgconfig, libjpeg, libpng, xorg, libX11, libGL, libdrm,
-  python27, wayland, libudev, mesa_noglu }:
+  python27, wayland, udev, mesa_noglu }:
 
 stdenv.mkDerivation rec {
   name = "glmark2-${version}";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    libjpeg libpng xorg.libxcb libX11 libGL libdrm python27 wayland libudev mesa_noglu
+    libjpeg libpng xorg.libxcb libX11 libGL libdrm python27 wayland udev mesa_noglu
   ];
 
   buildPhase = ''
diff --git a/pkgs/tools/graphics/gromit-mpx/default.nix b/pkgs/tools/graphics/gromit-mpx/default.nix
index dc703cf02f75..48d40ac49652 100644
--- a/pkgs/tools/graphics/gromit-mpx/default.nix
+++ b/pkgs/tools/graphics/gromit-mpx/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, autoreconfHook, autoconf, automake, pkgconfig
 , gtk, glib, pcre, libappindicator, libpthreadstubs, libXdmcp
-, libxkbcommon, epoxy, at-spi2-core, dbus, libdbusmenu-glib
+, libxkbcommon, epoxy, at-spi2-core, dbus, libdbusmenu
 }:
 
 stdenv.mkDerivation rec {
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     autoconf automake autoreconfHook
     gtk glib pcre libappindicator libpthreadstubs
     libXdmcp libxkbcommon epoxy at-spi2-core
-    dbus libdbusmenu-glib
+    dbus libdbusmenu
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/graphics/ibniz/default.nix b/pkgs/tools/graphics/ibniz/default.nix
new file mode 100644
index 000000000000..11fad25b85ae
--- /dev/null
+++ b/pkgs/tools/graphics/ibniz/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, SDL }:
+
+stdenv.mkDerivation rec {
+  name = "ibniz-${version}";
+  version = "1.18";
+
+  src = fetchurl {
+    url = "http://www.pelulamu.net/ibniz/${name}.tar.gz";
+    sha256 = "10b4dka8zx7y84m1a58z9j2vly8mz9aw9wn8z9vx9av739j95wp2";
+  };
+
+  buildInputs = [ SDL ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ibniz $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Virtual machine designed for extremely compact low-level audiovisual programs";
+    homepage = "http://www.pelulamu.net/ibniz/";
+    license = licenses.zlib;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.dezgeg ];
+  };
+}
diff --git a/pkgs/tools/graphics/luxcorerender/default.nix b/pkgs/tools/graphics/luxcorerender/default.nix
index 08d5ff851407..85713a300ec6 100644
--- a/pkgs/tools/graphics/luxcorerender/default.nix
+++ b/pkgs/tools/graphics/luxcorerender/default.nix
@@ -3,13 +3,14 @@
 , freetype, openexr, libXdmcp, libxkbcommon, epoxy, at-spi2-core
 , dbus, doxygen, qt5, c-blosc, libGLU, gnome3, pcre
 , bison, flex, libpthreadstubs, libX11
-, embree2, makeWrapper, gsettings_desktop_schemas, glib
+, embree2, makeWrapper, gsettings-desktop-schemas, glib
 , withOpenCL ? true , opencl-headers, ocl-icd, opencl-clhpp
 }:
 
 let boost_static = boost165.override {
       python = python35;
       enableStatic = true;
+      enablePython = true;
     };
 
 in stdenv.mkDerivation rec {
@@ -30,7 +31,7 @@ in stdenv.mkDerivation rec {
      flex libX11 libpthreadstubs python35 libXdmcp libxkbcommon
      epoxy at-spi2-core dbus doxygen
      # needed for GSETTINGS_SCHEMAS_PATH
-     gsettings_desktop_schemas glib gnome3.gtk
+     gsettings-desktop-schemas glib gnome3.gtk
      # needed for XDG_ICON_DIRS
      gnome3.defaultIconTheme
      makeWrapper
diff --git a/pkgs/tools/graphics/povray/default.nix b/pkgs/tools/graphics/povray/default.nix
index 217a85f266ab..76829b6b7271 100644
--- a/pkgs/tools/graphics/povray/default.nix
+++ b/pkgs/tools/graphics/povray/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, autoconf, automake, boost
-, zlib, libpng, libjpeg, libtiff, x11, SDL
+, zlib, libpng, libjpeg, libtiff, xlibsWrapper, SDL
 }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
 
-  buildInputs = [ autoconf automake boost zlib libpng libjpeg libtiff x11 SDL ];
+  buildInputs = [ autoconf automake boost zlib libpng libjpeg libtiff xlibsWrapper SDL ];
 
   # the installPhase wants to put files into $HOME. I let it put the files
   # to $TMPDIR, so they don't get into the $out
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   configureFlags = [ "COMPILED_BY='nix'" "--with-boost-thread=boost_thread" "--with-x" ];
 
   enableParallelBuilding = true;
-  
+
   preInstall = ''
     mkdir "$TMP/bin"
     for i in chown chgrp; do
diff --git a/pkgs/tools/graphics/vulkan-tools/default.nix b/pkgs/tools/graphics/vulkan-tools/default.nix
index 778a12341540..e44021bad5d1 100644
--- a/pkgs/tools/graphics/vulkan-tools/default.nix
+++ b/pkgs/tools/graphics/vulkan-tools/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, python3, vulkan-loader,
-  glslang, pkgconfig, x11, libxcb, libXrandr, wayland }:
+  glslang, pkgconfig, xlibsWrapper, libxcb, libXrandr, wayland }:
 
 stdenv.mkDerivation rec {
   name = "vulkan-tools-${version}";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake python3 vulkan-loader x11 libxcb libXrandr wayland ];
+  buildInputs = [ cmake python3 vulkan-loader xlibsWrapper libxcb libXrandr wayland ];
   enableParallelBuilding = true;
 
   cmakeFlags = [ "-DBUILD_ICD=OFF" "-DGLSLANG_INSTALL_DIR=${glslang}" ];
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-anthy/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-anthy/default.nix
index 7f09b488c289..a3f12d648d55 100644
--- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-anthy/default.nix
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-anthy/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "fcitx-anthy-${version}";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchurl {
     url = "http://download.fcitx-im.org/fcitx-anthy/${name}.tar.xz";
-    sha256 = "0ayrzfx95670k86y19bzl6i6w98haaln3x8dxpb39a5dwgz59pf8";
+    sha256 = "01jx7wwq0mifqrzkswfglqhwkszbfcl4jinxgdgqx9kc6mb4k6zd";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-chewing/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-chewing/default.nix
index 361355d1d688..e2d58c564989 100644
--- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-chewing/default.nix
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-chewing/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "fcitx-chewing-${version}";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchurl {
     url = "http://download.fcitx-im.org/fcitx-chewing/${name}.tar.xz";
-    sha256 = "0l548xdx2fvjya1ixp37pn382yak0m4kwfh9lgh7l3y2sblqw9zs";
+    sha256 = "1w5smp5zvjx681cp1znjypyr9sw5x6v0wnsk8a7ncwxi9q9wf4xk";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix
index ebb6627dccae..f7bb7126bef0 100644
--- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "fcitx-cloudpinyin-${version}";
-  version = "0.3.4";
+  version = "0.3.6";
 
   src = fetchurl {
     url = "http://download.fcitx-im.org/fcitx-cloudpinyin/${name}.tar.xz";
-    sha256 = "143x9gbswzfngvgfy77zskrzrpywj8qg2d19kisgfwfisk7yhcf1";
+    sha256 = "1f3ryx817bxb8g942l50ng4xg0gp50rb7pv2p6zf98r2z804dcvf";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-hangul/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-hangul/default.nix
index 41560227bca0..32c9ecff9bd8 100644
--- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-hangul/default.nix
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-hangul/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "fcitx-hangul-${version}";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchurl {
     url = "http://download.fcitx-im.org/fcitx-hangul/${name}.tar.xz";
-    sha256 = "1jq78nczliw6pnhfac8hspffybrry6syk17y0wwcq05j3r3nd2lp";
+    sha256 = "0ds4071ljq620w7vnprm2jl8zqqkw7qsxvzbjapqak4jarczvmbd";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-m17n/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-m17n/default.nix
index c0c921f7b18d..292d2dbb57f5 100644
--- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-m17n/default.nix
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-m17n/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "fcitx-m17n-${version}";
-  version = "0.2.3";
+  version = "0.2.4";
 
   src = fetchurl {
     url = "http://download.fcitx-im.org/fcitx-m17n/${name}.tar.xz";
-    sha256 = "0ffyhsg7bc6525k94kfhnja1h6ajlfprq72d286dp54cksnakyc4";
+    sha256 = "15s52h979xz967f8lm0r0qkplig2w3wjck1ymndbg9kvj25ib0ng";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix b/pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix
index b69a9ec81f69..7943903d6f7c 100644
--- a/pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix
+++ b/pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, makeWrapper, pkgconfig, cmake, fcitx, gtk3, isocodes, gnome3 }:
 
 stdenv.mkDerivation rec {
-  name = "fcitx-configtool-0.4.9";
+  name = "fcitx-configtool-0.4.10";
 
   meta = with stdenv.lib; {
     description = "GTK-based config tool for Fcitx";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://download.fcitx-im.org/fcitx-configtool/${name}.tar.xz";
-    sha256 = "1ypr2jr3vzs2shqfrvhqy69xvagrn9x507180i9wxy14hb97a82r";
+    sha256 = "1yyi9jhkwn49lx9a47k1zbvwgazv4y4z72gnqgzdpgdzfrlrgi5w";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/inputmethods/interception-tools/default.nix b/pkgs/tools/inputmethods/interception-tools/default.nix
index 33fea9705acd..33c66fb7ff20 100644
--- a/pkgs/tools/inputmethods/interception-tools/default.nix
+++ b/pkgs/tools/inputmethods/interception-tools/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchFromGitHub, pkgconfig, cmake, libyamlcpp,
-  libevdev, libudev }:
+  libevdev, udev }:
 
 let
   version = "0.1.1";
@@ -13,7 +13,7 @@ in stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = [ libevdev libudev libyamlcpp ];
+  buildInputs = [ libevdev udev libyamlcpp ];
 
   prePatch = ''
     substituteInPlace CMakeLists.txt --replace \
diff --git a/pkgs/tools/inputmethods/libkkc/default.nix b/pkgs/tools/inputmethods/libkkc/default.nix
index 0051be14ee7c..7311b09008b9 100644
--- a/pkgs/tools/inputmethods/libkkc/default.nix
+++ b/pkgs/tools/inputmethods/libkkc/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl
 , vala, gobjectIntrospection, intltool, python2Packages, glib
 , pkgconfig
-, libgee, json_glib, marisa, libkkc-data
+, libgee, json-glib, marisa, libkkc-data
 }:
 
 stdenv.mkDerivation rec {
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ marisa libkkc-data ];
   enableParallelBuilding = true;
 
-  propagatedBuildInputs = [ libgee json_glib ];
+  propagatedBuildInputs = [ libgee json-glib ];
 
   postInstall = ''
     ln -s ${libkkc-data}/lib/libkkc/models $out/share/libkkc/models
diff --git a/pkgs/tools/misc/ckb/default.nix b/pkgs/tools/misc/ckb/default.nix
index 0af90ae2bf22..57be1b89e469 100644
--- a/pkgs/tools/misc/ckb/default.nix
+++ b/pkgs/tools/misc/ckb/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchFromGitHub, substituteAll, libudev, pkgconfig, qtbase, qmake, zlib, kmod }:
+{ stdenv, fetchFromGitHub, substituteAll, udev
+, pkgconfig, qtbase, qmake, zlib, kmod }:
 
 stdenv.mkDerivation rec {
   version = "0.2.9";
@@ -12,7 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    libudev
+    udev
     qtbase
     zlib
   ];
diff --git a/pkgs/tools/misc/clipnotify/default.nix b/pkgs/tools/misc/clipnotify/default.nix
new file mode 100644
index 000000000000..6bd0f8be2fa6
--- /dev/null
+++ b/pkgs/tools/misc/clipnotify/default.nix
@@ -0,0 +1,26 @@
+{ libX11, libXfixes, stdenv, fetchFromGitHub }:
+stdenv.mkDerivation rec {
+  name = "clipnotify-${version}";
+  version = "git-2018-02-20";
+
+  src = fetchFromGitHub {
+    owner = "cdown";
+    repo  = "clipnotify";
+    rev   = "9cb223fbe494c5b71678a9eae704c21a97e3bddd";
+    sha256 = "1x9avjq0fgw0svcbw6b6873qnsqxbacls9sipmcv86xia4bxh8dn";
+  };
+
+  buildInputs = [ libX11 libXfixes ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp clipnotify $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Notify on new X clipboard events";
+    inherit (src.meta) homepage;
+    maintainers = with maintainers; [ jb55 ];
+    license = licenses.publicDomain;
+  };
+}
diff --git a/pkgs/tools/misc/clipster/default.nix b/pkgs/tools/misc/clipster/default.nix
index 2181e1cb916f..bffcc597ea0a 100644
--- a/pkgs/tools/misc/clipster/default.nix
+++ b/pkgs/tools/misc/clipster/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation  rec {
   name = "clipster-${version}";
-  version = "1.5.0";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "mrichar1";
     repo = "clipster";
     rev = "${version}";
-    sha256 = "0bj7fk19z3c29vxm3mcp3s7vggkigmz3hrn4pcsqgfh96i5i5203";
+    sha256 = "0v1412zdkps21i5bw1p7jdv5ydnbw9dcr02318qr5mvk8lwdmsgw";
   };
 
   pythonEnv = python3.withPackages(ps: with ps; [ pygobject3 ]);
diff --git a/pkgs/tools/misc/debootstrap/default.nix b/pkgs/tools/misc/debootstrap/default.nix
index e68aaff1ddfb..054822e60699 100644
--- a/pkgs/tools/misc/debootstrap/default.nix
+++ b/pkgs/tools/misc/debootstrap/default.nix
@@ -4,13 +4,13 @@
 # There is also cdebootstrap now. Is that easier to maintain?
 stdenv.mkDerivation rec {
   name = "debootstrap-${version}";
-  version = "1.0.105";
+  version = "1.0.106";
 
   src = fetchurl {
     # git clone git://git.debian.org/d-i/debootstrap.git
     # I'd like to use the source. However it's lacking the lanny script ? (still true?)
     url = "mirror://debian/pool/main/d/debootstrap/debootstrap_${version}.tar.gz";
-    sha256 = "0m4630q8smn45pmck1azk5sv6cgdzza2r001paqvmasqa6qxbjq3";
+    sha256 = "0vn2camhwf6h2ja78km9ihi8df4pfzvm9hnppv6vq32lfwjd3z2g";
   };
 
   buildInputs = [ dpkg gettext gawk perl ];
diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix
index e2e2f66f558b..80e0cde7e54a 100644
--- a/pkgs/tools/misc/diffoscope/default.nix
+++ b/pkgs/tools/misc/diffoscope/default.nix
@@ -1,19 +1,20 @@
 { lib, stdenv, fetchgit, python3Packages, docutils, help2man
 , acl, apktool, binutils-unwrapped, bzip2, cbfstool, cdrkit, colord, colordiff, coreutils, cpio, db, diffutils, dtc
-, e2fsprogs, file, findutils, fontforge-fonttools, fpc, gettext, ghc, ghostscriptX, giflib, gnupg1, gnutar
-, gzip, imagemagick, jdk, libarchive, libcaca, llvm, mono, openssh, pdftk, pgpdump, poppler_utils, sng, sqlite
+, e2fsprogs, file, findutils, fontforge-fonttools, fpc, gettext, ghc, ghostscriptX, giflib, gnumeric, gnupg1, gnutar
+, gzip, imagemagick, jdk, libarchive, libcaca, llvm, lz4, mono, openssh, pdftk, pgpdump, poppler_utils, sng, sqlite
 , squashfsTools, tcpdump, unoconv, unzip, xxd, xz
 , enableBloat ? false
 }:
 
+# Note: when upgrading this package, please run the list-missing-tools.sh script as described below!
 python3Packages.buildPythonApplication rec {
   name = "diffoscope-${version}";
-  version = "95";
+  version = "99";
 
   src = fetchgit {
     url    = "https://anonscm.debian.org/git/reproducible/diffoscope.git";
     rev    = "refs/tags/${version}";
-    sha256 = "1x06krs3lp41x5w2l8ck8g47il3qzlclyphw9a2wv71sqkb5zxzi";
+    sha256 = "04a2sqv43g002b7s0crk9gnpdvf90j8j8p01b6shinxh6an8prs2";
   };
 
   patches = [
@@ -23,18 +24,24 @@ python3Packages.buildPythonApplication rec {
   postPatch = ''
     # Upstream doesn't provide a PKG-INFO file
     sed -i setup.py -e "/'rpm-python',/d"
+
+    # When generating manpage, use the installed version
+    substituteInPlace doc/Makefile --replace "../bin" "$out/bin"
   '';
 
   nativeBuildInputs = [ docutils help2man ];
 
+  # Most of the non-Python dependencies here are optional command-line tools for various file-format parsers.
+  # To help figuring out what's missing from the list, run: ./pkgs/tools/misc/diffoscope/list-missing-tools.sh
+  #
   # Still missing these tools: abootimg docx2txt dumpxsb enjarify js-beautify lipo oggDump otool procyon-decompiler Rscript
   # Also these libraries: python3-guestfs
   pythonPath = with python3Packages; [ debian libarchive-c python_magic tlsh rpm ] ++ [
       acl binutils-unwrapped bzip2 cdrkit colordiff coreutils cpio db diffutils
       dtc e2fsprogs file findutils fontforge-fonttools gettext gnutar gzip
-      libarchive libcaca pgpdump sng sqlite squashfsTools unzip xxd xz
+      libarchive libcaca lz4 pgpdump progressbar33 sng sqlite squashfsTools unzip xxd xz
     ] ++ lib.optionals enableBloat [
-      apktool cbfstool colord fpc ghc ghostscriptX giflib gnupg1 imagemagick
+      apktool cbfstool colord fpc ghc ghostscriptX giflib gnupg1 gnumeric imagemagick
       llvm jdk mono openssh pdftk poppler_utils tcpdump unoconv
     ];
 
diff --git a/pkgs/tools/misc/diffoscope/list-tools.sh b/pkgs/tools/misc/diffoscope/list-missing-tools.sh
index 9af7f0e38899..5f4d118cfed7 100755
--- a/pkgs/tools/misc/diffoscope/list-tools.sh
+++ b/pkgs/tools/misc/diffoscope/list-missing-tools.sh
@@ -1,5 +1,8 @@
 #!/usr/bin/env bash
 
+# This script lists all the optional command-line tools that diffoscope can use
+# (i.e. `diffoscope --list-tools`) but are missing from the Nix expression.
+
 diffoscope=$(nix-build --no-out-link -E 'with import ./. {}; diffoscope.override { enableBloat = true; }')/bin/diffoscope
 
 required=$($diffoscope --list-tools | \
diff --git a/pkgs/tools/misc/esptool/default.nix b/pkgs/tools/misc/esptool/default.nix
index 729b4cef03a4..abb0b4edc17e 100644
--- a/pkgs/tools/misc/esptool/default.nix
+++ b/pkgs/tools/misc/esptool/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, python3, openssl }:
 
 python3.pkgs.buildPythonApplication rec {
-  name = "esptool-${version}";
-  version = "2.4.1";
+  pname = "esptool";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "espressif";
     repo = "esptool";
     rev = "v${version}";
-    sha256 = "1djlmqdvcyqjqbj225xkn4ix9qr01b8pmsdija2h4nizx77xjyng";
+    sha256 = "0cvxapcln1xcz8hy0hidw6g8q61s5j3q03j3wrviagbh0zip8jdx";
   };
 
   checkInputs = with python3.pkgs; [ flake8 flake8-future-import flake8-import-order ];
diff --git a/pkgs/tools/misc/fileschanged/default.nix b/pkgs/tools/misc/fileschanged/default.nix
index 260151f5bd29..f761c1ec4c53 100644
--- a/pkgs/tools/misc/fileschanged/default.nix
+++ b/pkgs/tools/misc/fileschanged/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fam }:
+{ stdenv, fetchurl, gamin }:
 
 stdenv.mkDerivation rec {
   name = "fileschanged-0.6.9";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0ajc9h023vzpnlqqjli4wbvs0q36nr5p9msc3wzbic8rk687qcxc";
   };
 
-  buildInputs = [ fam ];
+  buildInputs = [ gamin ];
 
   patches = [./unused-variables.debian.patch];
 
diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix
index 84c06a49f843..58c9f18ec5aa 100644
--- a/pkgs/tools/misc/grub/2.0x.nix
+++ b/pkgs/tools/misc/grub/2.0x.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchFromSavannah, autogen, flex, bison, python, autoconf, automake
-, gettext, ncurses, libusb, freetype, qemu, devicemapper, unifont, pkgconfig
+, gettext, ncurses, libusb, freetype, qemu, lvm2, unifont, pkgconfig
 , fuse # only needed for grub-mount
 , zfs ? null
 , efiSupport ? false
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ bison flex python pkgconfig ];
-  buildInputs = [ ncurses libusb freetype gettext devicemapper fuse ]
+  buildInputs = [ ncurses libusb freetype gettext lvm2 fuse ]
     ++ optional doCheck qemu
     ++ optional zfsSupport zfs;
 
diff --git a/pkgs/tools/misc/grub/trusted.nix b/pkgs/tools/misc/grub/trusted.nix
index 2bf7e3dcf43b..63a73658e0ac 100644
--- a/pkgs/tools/misc/grub/trusted.nix
+++ b/pkgs/tools/misc/grub/trusted.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchgit, autogen, flex, bison, python, autoconf, automake
-, gettext, ncurses, libusb, freetype, qemu, devicemapper
+, gettext, ncurses, libusb, freetype, qemu, lvm2
 , for_HP_laptop ? false
 }:
 
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
         };
 
   nativeBuildInputs = [ autogen flex bison python autoconf automake ];
-  buildInputs = [ ncurses libusb freetype gettext devicemapper ]
+  buildInputs = [ ncurses libusb freetype gettext lvm2 ]
     ++ optional doCheck qemu;
 
   hardeningDisable = [ "stackprotector" "pic" ];
diff --git a/pkgs/tools/misc/hdf4/default.nix b/pkgs/tools/misc/hdf4/default.nix
index 1946cbeb3f01..d0bbd10d1e51 100644
--- a/pkgs/tools/misc/hdf4/default.nix
+++ b/pkgs/tools/misc/hdf4/default.nix
@@ -8,10 +8,10 @@
 
 stdenv.mkDerivation rec {
   name = "hdf-${version}";
-  version = "4.2.13";
+  version = "4.2.14";
   src = fetchurl {
     url = "https://support.hdfgroup.org/ftp/HDF/releases/HDF${version}/src/hdf-${version}.tar.bz2";
-    sha256 = "1wz0586zh91pqb95wvr0pbh71a8rz358fdj6n2ksp85x2cis9lsm";
+    sha256 = "0n29klrrbwan9307np0d9hr128dlpc4nnlf57a140080ll3jmp8l";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/misc/lf/default.nix b/pkgs/tools/misc/lf/default.nix
index 033e93609ab2..7f44dab71f4f 100644
--- a/pkgs/tools/misc/lf/default.nix
+++ b/pkgs/tools/misc/lf/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   name = "lf-${version}";
-  version = "6";
+  version = "7";
 
   src = fetchFromGitHub {
     owner = "gokcehan";
     repo = "lf";
     rev = "r${version}";
-    sha256 = "1wgmmz1gvphkz0rnjyvgn3860yzvxwackb1dwqbgjrqsqy8ba01z";
+    sha256 = "11n5svxhc2781ss7v15w40ac81mchhcvkszhb2r70zry7sa15li1";
   };
 
   goPackagePath = "github.com/gokcehan/lf";
diff --git a/pkgs/tools/misc/mmake/default.nix b/pkgs/tools/misc/mmake/default.nix
index ce8ad76ba829..c6f9f4749b34 100644
--- a/pkgs/tools/misc/mmake/default.nix
+++ b/pkgs/tools/misc/mmake/default.nix
@@ -17,7 +17,13 @@ buildGoPackage rec {
 
   meta = with stdenv.lib; {
     homepage = https://github.com/tj/mmake;
-    description = "Mmake is a small program which wraps make to provide additional functionality, such as user-friendly help output, remote includes, and eventually more. It otherwise acts as a pass-through to standard make.";
+    description = "A small program  which wraps make to provide additional functionality";
+    longDescription = ''
+      Mmake is a small program  which wraps make to provide additional
+      functionality,  such   as  user-friendly  help   output,  remote
+      includes,  and   eventually  more.   It  otherwise  acts   as  a
+      pass-through to standard make.
+      '';
     license = licenses.mit;
     platforms = platforms.all;
     maintainers = [ maintainers.gabesoft ];
diff --git a/pkgs/tools/misc/os-prober/default.nix b/pkgs/tools/misc/os-prober/default.nix
index c4a304e0d284..6211c863bd49 100644
--- a/pkgs/tools/misc/os-prober/default.nix
+++ b/pkgs/tools/misc/os-prober/default.nix
@@ -4,7 +4,7 @@ coreutils,  # mktemp
 grub2,      # grub-mount and grub-probe
 cryptsetup, # cryptsetup
 libuuid,    # blkid and blockdev
-libudev,    # udevadm udevinfo
+udev,    # udevadm udevinfo
 ntfs3g      # ntfs3g
 }:
 
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
     done;
     for file in $out/bin/*; do
       wrapProgram $file \
-        --suffix PATH : ${stdenv.lib.makeBinPath [ grub2 libudev coreutils cryptsetup libuuid ntfs3g ]} \
+        --suffix PATH : ${stdenv.lib.makeBinPath [ grub2 udev coreutils cryptsetup libuuid ntfs3g ]} \
         --run "[ -d /var/lib/os-prober ] || mkdir /var/lib/os-prober"
     done;
   '';
diff --git a/pkgs/tools/misc/parted/default.nix b/pkgs/tools/misc/parted/default.nix
index 0a0cece4fce6..6649db4c48da 100644
--- a/pkgs/tools/misc/parted/default.nix
+++ b/pkgs/tools/misc/parted/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, devicemapper, libuuid, gettext, readline, perl, python2
+{ stdenv, fetchurl, fetchpatch, lvm2, libuuid, gettext, readline, perl, python2
 , utillinux, check, enableStatic ? false, hurd ? null }:
 
 stdenv.mkDerivation rec {
@@ -16,6 +16,11 @@ stdenv.mkDerivation rec {
     (fetchpatch {
       url = "https://git.alpinelinux.org/cgit/aports/plain/main/parted/fix-includes.patch?id=9c5cd3c329a40ba4559cc1d8c7d17a9bf95c237b";
       sha256 = "117ypyiwvzym6pi8xmy16wa5z3sbpx7gh6haabs6kfb1x2894z7q";
+    })
+    ++ stdenv.lib.optional (lvm2 == null)
+    (fetchpatch {
+      url = https://git.savannah.gnu.org/cgit/parted.git/patch/?id=7e87ca3c531228d35e13e802d2622006138b104c;
+      sha256 = "0i29lfg8cwj342q5s7qwqhncz2bkifj5rjc7cx6jd4zqb6ykkndj";
     });
 
   postPatch = stdenv.lib.optionalString doCheck ''
@@ -25,7 +30,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libuuid ]
     ++ stdenv.lib.optional (readline != null) readline
     ++ stdenv.lib.optional (gettext != null) gettext
-    ++ stdenv.lib.optional (devicemapper != null) devicemapper
+    ++ stdenv.lib.optional (lvm2 != null) lvm2
     ++ stdenv.lib.optional (hurd != null) hurd
     ++ stdenv.lib.optionals doCheck [ check perl python2 ];
 
@@ -33,7 +38,7 @@ stdenv.mkDerivation rec {
        (if (readline != null)
         then [ "--with-readline" ]
         else [ "--without-readline" ])
-    ++ stdenv.lib.optional (devicemapper == null) "--disable-device-mapper"
+    ++ stdenv.lib.optional (lvm2 == null) "--disable-device-mapper"
     ++ stdenv.lib.optional enableStatic "--enable-static";
 
   # Tests were previously failing due to Hydra running builds as uid 0.
diff --git a/pkgs/tools/misc/snapper/default.nix b/pkgs/tools/misc/snapper/default.nix
index 52a57629cd10..563232dbe53d 100644
--- a/pkgs/tools/misc/snapper/default.nix
+++ b/pkgs/tools/misc/snapper/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, fetchpatch
 , autoreconfHook, pkgconfig, docbook_xsl, libxslt, docbook_xml_dtd_45
-, acl, attr, boost, btrfs-progs, dbus_libs, diffutils, e2fsprogs, libxml2
+, acl, attr, boost, btrfs-progs, dbus, diffutils, e2fsprogs, libxml2
 , lvm2, pam, python, utillinux }:
 
 stdenv.mkDerivation rec {
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     docbook_xsl libxslt docbook_xml_dtd_45
   ];
   buildInputs = [
-    acl attr boost btrfs-progs dbus_libs diffutils e2fsprogs libxml2
+    acl attr boost btrfs-progs dbus diffutils e2fsprogs libxml2
     lvm2 pam python utillinux
   ];
 
diff --git a/pkgs/tools/misc/toilet/default.nix b/pkgs/tools/misc/toilet/default.nix
index 2b240e022d81..10e481b7664b 100644
--- a/pkgs/tools/misc/toilet/default.nix
+++ b/pkgs/tools/misc/toilet/default.nix
@@ -12,10 +12,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libcaca ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Display large colourful characters in text mode";
     homepage = http://caca.zoy.org/wiki/toilet;
-    license = stdenv.lib.licenses.wtfpl;
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.wtfpl;
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/misc/xxd/default.nix b/pkgs/tools/misc/xxd/default.nix
deleted file mode 100644
index a4cfd4321ba0..000000000000
--- a/pkgs/tools/misc/xxd/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ stdenv, vim }:
-
-stdenv.mkDerivation rec {
-  name = "xxd-${version}";
-  inherit (vim) version;
-  phases = [ "installPhase" ];
-  installPhase = ''
-    mkdir -p $out/{bin,share/man/man1}
-    install -m755 ${stdenv.lib.getBin vim}/bin/xxd $out/bin/xxd
-    install -m644 ${stdenv.lib.getBin vim}/share/man/man1/xxd.1.gz $out/share/man/man1/xxd.1.gz
-  '';
-  meta = with stdenv.lib; {
-    description = "Make a hexdump or do the reverse.";
-    inherit (vim.meta) homepage license maintainers platforms;
-  };
-}
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 7e503f326fd5..90489e126fa5 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, targetPlatform, fetchurl, buildPythonPackage
+{ stdenv, lib, targetPlatform, fetchurl, buildPythonPackage
 , zip, ffmpeg, rtmpdump, phantomjs2, atomicparsley, pycryptodome, pandoc
 # Pandoc is required to build the package's man page. Release tarballs contain a
 # formatted man page already, though, it will still be installed. We keep the
@@ -12,20 +12,19 @@
 , hlsEncryptedSupport ? true
 , makeWrapper }:
 
-with stdenv.lib;
 buildPythonPackage rec {
 
   pname = "youtube-dl";
-  version = "2018.05.18";
+  version = "2018.07.10";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
-    sha256 = "11r0hv6885w8k4m307kvf9545vr5a3ym9bf7szghvbcgmgc8lm5w";
+    sha256 = "1rigah941k2drzx5qz937lk68gw9jrizj5lgd9f9znp0bgi2d0xd";
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ zip ] ++ optional generateManPage pandoc;
-  propagatedBuildInputs = optional hlsEncryptedSupport pycryptodome;
+  buildInputs = [ zip ] ++ lib.optional generateManPage pandoc;
+  propagatedBuildInputs = lib.optional hlsEncryptedSupport pycryptodome;
 
   # Ensure ffmpeg is available in $PATH for post-processing & transcoding support.
   # rtmpdump is required to download files over RTMP
@@ -33,10 +32,10 @@ buildPythonPackage rec {
   makeWrapperArgs = let
       packagesToBinPath =
         [ atomicparsley ]
-        ++ optional ffmpegSupport ffmpeg
-        ++ optional rtmpSupport rtmpdump
-        ++ optional phantomjsSupport phantomjs2;
-    in [ ''--prefix PATH : "${makeBinPath packagesToBinPath}"'' ];
+        ++ lib.optional ffmpegSupport ffmpeg
+        ++ lib.optional rtmpSupport rtmpdump
+        ++ lib.optional phantomjsSupport phantomjs2;
+    in [ ''--prefix PATH : "${lib.makeBinPath packagesToBinPath}"'' ];
 
   postInstall = ''
     mkdir -p $out/share/zsh/site-functions
@@ -46,7 +45,7 @@ buildPythonPackage rec {
   # Requires network
   doCheck = false;
 
-  meta = {
+  meta = with lib; {
     homepage = https://rg3.github.io/youtube-dl/;
     repositories.git = https://github.com/rg3/youtube-dl.git;
     description = "Command-line tool to download videos from YouTube.com and other sites";
@@ -58,6 +57,6 @@ buildPythonPackage rec {
     '';
     license = licenses.publicDomain;
     platforms = with platforms; linux ++ darwin;
-    maintainers = with maintainers; [ bluescreen303 phreedom AndersonTorres fuuzetsu fpletz ];
+    maintainers = with maintainers; [ bluescreen303 phreedom AndersonTorres fuuzetsu fpletz enzime ];
   };
 }
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index ab293a869d05..2ebae0b0c17f 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -63,6 +63,10 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [
+      # Disable default CA bundle, use NIX_SSL_CERT_FILE or fallback
+      # to nss-cacert from the default profile.
+      "--without-ca-bundle"
+      "--without-ca-path"
       "--with-ca-fallback"
       "--disable-manual"
       ( if sslSupport then "--with-ssl=${openssl.dev}" else "--without-ssl" )
diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix
index 6205934084e8..be14db79880f 100644
--- a/pkgs/tools/networking/dnsmasq/default.nix
+++ b/pkgs/tools/networking/dnsmasq/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, pkgconfig, dbus_libs, nettle, libidn, libnetfilter_conntrack, fetchpatch }:
+{ stdenv, fetchurl, pkgconfig, dbus, nettle
+, libidn, libnetfilter_conntrack, fetchpatch }:
 
 with stdenv.lib;
 let
@@ -11,23 +12,13 @@ let
   ]);
 in
 stdenv.mkDerivation rec {
-  name = "dnsmasq-2.78";
+  name = "dnsmasq-2.79";
 
   src = fetchurl {
     url = "http://www.thekelleys.org.uk/dnsmasq/${name}.tar.xz";
-    sha256 = "0ar5h5v3kas2qx2wgy5iqin15gc4jhqrqs067xacgc3lii1rz549";
+    sha256 = "07w6cw706yyahwvbvslhkrbjf2ynv567cgy9pal8bz8lrbsp9bbq";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2017-15107.patch";
-      url = "http://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=patch;h=4fe6744a220eddd3f1749b40cac3dfc510787de6";
-      sha256 = "0r8grhh1q46z8v6manx1vvfpf2vmchfzsg7l1djh63b1fy1mbjkk";
-      # changelog does not apply cleanly but its safe to skip
-      excludes = [ "CHANGELOG" ];
-    })
-  ];
-
   preBuild = ''
     makeFlagsArray=("COPTS=${copts}")
   '';
@@ -72,7 +63,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ nettle libidn ]
-    ++ optionals stdenv.isLinux [ dbus_libs libnetfilter_conntrack ];
+    ++ optionals stdenv.isLinux [ dbus libnetfilter_conntrack ];
 
   meta = {
     description = "An integrated DNS, DHCP and TFTP server for small networks";
diff --git a/pkgs/tools/networking/i2p/default.nix b/pkgs/tools/networking/i2p/default.nix
index e2049967e889..55abeb4f583d 100644
--- a/pkgs/tools/networking/i2p/default.nix
+++ b/pkgs/tools/networking/i2p/default.nix
@@ -27,10 +27,10 @@ let wrapper = stdenv.mkDerivation rec {
 in
 
 stdenv.mkDerivation rec {
-  name = "i2p-0.9.34";
+  name = "i2p-0.9.35";
   src = fetchurl {
     url = "https://github.com/i2p/i2p.i2p/archive/${name}.tar.gz";
-    sha256 = "1b3qw096b9i55izvrh2793sbg0ikvihfi6k15sz2pzmjn30hy37l";
+    sha256 = "02p76vn1777lgv4zs27r6i9s4yk7b2x61b25i8dqmn6j60y3fa4g";
   };
   buildInputs = [ jdk ant gettext which ];
   patches = [ ./i2p.patch ];
diff --git a/pkgs/tools/networking/kea/default.nix b/pkgs/tools/networking/kea/default.nix
index 67428664556a..f35ceeae8640 100644
--- a/pkgs/tools/networking/kea/default.nix
+++ b/pkgs/tools/networking/kea/default.nix
@@ -4,11 +4,11 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "kea";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchurl {
     url = "https://ftp.isc.org/isc/${pname}/${version}/${name}.tar.gz";
-    sha256 = "14f32lsdd1824cx9a4l4pfbhq1d4jik6l6hxd911ihi64nzwvpvf";
+    sha256 = "0a0inchisrjry59z14w4ha210q2ffl31gjbhp5dgrbap6swyry60";
   };
 
   patches = [ ./dont-create-var.patch ];
@@ -20,8 +20,8 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     "--localstatedir=/var"
-    "--with-dhcp-pgsql=${postgresql}/bin/pg_config"
-    "--with-dhcp-mysql=${mysql.connector-c}/bin/mysql_config"
+    "--with-pgsql=${postgresql}/bin/pg_config"
+    "--with-mysql=${mysql.connector-c}/bin/mysql_config"
   ];
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/networking/kea/dont-create-var.patch b/pkgs/tools/networking/kea/dont-create-var.patch
index 595942673c68..385113d160f6 100644
--- a/pkgs/tools/networking/kea/dont-create-var.patch
+++ b/pkgs/tools/networking/kea/dont-create-var.patch
@@ -1,8 +1,8 @@
 diff --git a/Makefile.am b/Makefile.am
-index 897be34..b146729 100644
+index 2c0733c..974bb5e 100644
 --- a/Makefile.am
 +++ b/Makefile.am
-@@ -103,11 +103,6 @@ cppcheck:
+@@ -135,11 +135,6 @@ cppcheck:
  		--template '{file}:{line}: check_fail: {message} ({severity},{id})' \
  		src
  
@@ -15,14 +15,12 @@ index 897be34..b146729 100644
  EXTRA_DIST += tools/mk_cfgrpt.sh
  
 diff --git a/src/lib/dhcpsrv/Makefile.am b/src/lib/dhcpsrv/Makefile.am
-index 066b410..16d3135 100755
+index 564f623..7cea9f2 100644
 --- a/src/lib/dhcpsrv/Makefile.am
 +++ b/src/lib/dhcpsrv/Makefile.am
-@@ -210,7 +210,3 @@ EXTRA_DIST += database_backends.dox libdhcpsrv.dox
- # Specification file
- EXTRA_DIST += logging.spec
+@@ -352,5 +352,3 @@ libkea_dhcpsrv_parsers_include_HEADERS = \
+ 	parsers/simple_parser6.h
+ 
  
 -install-data-local:
 -	$(mkinstalldirs) $(DESTDIR)$(dhcp_data_dir)
--
--
diff --git a/pkgs/tools/networking/network-manager/PppdPath.patch b/pkgs/tools/networking/network-manager/PppdPath.patch
deleted file mode 100644
index 4850d93716de..000000000000
--- a/pkgs/tools/networking/network-manager/PppdPath.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- NetworkManager-1.6.2.org/src/ppp/nm-ppp-manager.c	2017-02-15 13:10:27.000000000 +0100
-+++ NetworkManager-1.6.2/./src/ppp/nm-ppp-manager.c	2017-04-03 11:45:39.891653216 +0200
-@@ -724,7 +724,7 @@
- 
- 	g_return_val_if_fail (setting != NULL, NULL);
- 
--	pppd_binary = nm_utils_find_helper ("pppd", NULL, err);
-+	pppd_binary = nm_utils_find_helper ("pppd", PPPD_PATH, err);
- 	if (!pppd_binary)
- 		return NULL;
- 
diff --git a/pkgs/tools/networking/network-manager/applet.nix b/pkgs/tools/networking/network-manager/applet.nix
index ecd10a139766..98b9b0aef4d6 100644
--- a/pkgs/tools/networking/network-manager/applet.nix
+++ b/pkgs/tools/networking/network-manager/applet.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, meson, ninja, intltool, gtk-doc, pkgconfig, networkmanager, gnome3
+{ stdenv, fetchurl, fetchpatch, 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
 , libgudev, hicolor-icon-theme, jansson, wrapGAppsHook, webkitgtk, gobjectIntrospection
@@ -6,18 +6,25 @@
 
 let
   pname = "network-manager-applet";
-  version = "1.8.10";
+  version = "1.8.14";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1hy9ni2rwpy68h7jhn5lm2s1zm1vjchfy8lwj8fpm7xlx3x4pp0a";
+    sha256 = "1js0i2kwfklahsn77qgxzdscy33drrlym3mrj1qhlw0zf8ri56ya";
   };
 
+  patches = [
+    (fetchpatch {
+      url = https://gitlab.gnome.org/GNOME/network-manager-applet/merge_requests/12.patch;
+      sha256 = "0q5qbjpbrfvhqsprnwjwz4c42nly59cgnbn41w2zlxvqf29gjvwk";
+    })
+  ];
+
   mesonFlags = [
     "-Dselinux=false"
-    "-Dappindicator=true"
+    "-Dappindicator=yes"
     "-Dgcr=${if withGnome then "true" else "false"}"
   ];
 
@@ -34,7 +41,6 @@ in stdenv.mkDerivation rec {
 
   propagatedUserEnvPkgs = [
     hicolor-icon-theme
-    gnome3.gnome-keyring  # See https://github.com/NixOS/nixpkgs/issues/38967
   ];
 
   NIX_CFLAGS = [
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 9a129f522134..85c285fd3ece 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchurl, intltool, pkgconfig, dbus-glib, gnome3
-, systemd, libgudev, libnl, libuuid, polkit, gnutls, ppp, dhcp, iptables
+{ stdenv, fetchurl, substituteAll, intltool, pkgconfig, dbus-glib, gnome3
+, systemd, libuuid, polkit, gnutls, ppp, dhcp, iptables
 , libgcrypt, dnsmasq, bluez5, readline
 , gobjectIntrospection, modemmanager, openresolv, libndp, newt, libsoup
 , ethtool, iputils, gnused, coreutils, file, inetutils, kmod, jansson, libxslt
-, python3Packages, docbook_xsl, fetchpatch, openconnect, curl, autoreconfHook }:
+, python3Packages, docbook_xsl, openconnect, curl, autoreconfHook }:
 
 let
-  pname   = "NetworkManager";
-  version = "1.10.6";
+  pname = "NetworkManager";
 in stdenv.mkDerivation rec {
-  name    = "network-manager-${version}";
+  name = "network-manager-${version}";
+  version = "1.12.0";
 
   src = fetchurl {
-    url    = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0xmc3x41dbcaxjm85wfv405xq1a1n3xw8m8zg645ywm3avlb3w3a";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "15bzjkrfa7sw5p5hkdha4a67y1zfnzh1s6za11sh8s1yxmyvkziq";
   };
 
   outputs = [ "out" "dev" ];
@@ -25,11 +25,6 @@ in stdenv.mkDerivation rec {
   preConfigure = ''
     substituteInPlace configure --replace /usr/bin/uname ${coreutils}/bin/uname
     substituteInPlace configure --replace /usr/bin/file ${file}/bin/file
-    substituteInPlace src/devices/nm-device.c \
-       --replace /usr/bin/ping ${inetutils}/bin/ping \
-       --replace /usr/bin/ping6 ${inetutils}/bin/ping
-    substituteInPlace src/devices/nm-arping-manager.c \
-       --replace '("arping", NULL, NULL);' '("arping", "${iputils}/bin/arping", NULL);'
     substituteInPlace data/84-nm-drivers.rules \
       --replace /bin/sh ${stdenv.shell}
     substituteInPlace data/85-nm-unmanaged.rules \
@@ -38,10 +33,6 @@ in stdenv.mkDerivation rec {
       --replace /bin/sed ${gnused}/bin/sed
     substituteInPlace data/NetworkManager.service.in \
       --replace /bin/kill ${coreutils}/bin/kill
-    substituteInPlace clients/common/nm-vpn-helpers.c \
-      --subst-var-by openconnect ${openconnect}
-    substituteInPlace src/nm-core-utils.c \
-      --subst-var-by modprobeBinPath ${kmod}/bin/modprobe
     # to enable link-local connections
     configureFlags="$configureFlags --with-udev-dir=$out/lib/udev"
 
@@ -70,16 +61,32 @@ in stdenv.mkDerivation rec {
     "--with-modem-manager-1"
     "--with-nmtui"
     "--disable-gtk-doc"
+    "--with-libnm-glib" # legacy library, TODO: remove
+    "--disable-tests"
   ];
 
   patches = [
-    ./PppdPath.patch
-    ./openconnect_helper_path.patch
-    ./modprobe.patch
+    # https://bugzilla.gnome.org/show_bug.cgi?id=796752
+    (fetchurl {
+      url = https://bugzilla.gnome.org/attachment.cgi?id=372955;
+      sha256 = "17rl19lprnsz4wjmp54c1qw6a3pf8x97bhd69xavwy7cx6z84b3n";
+    })
+    # https://bugzilla.gnome.org/show_bug.cgi?id=796751
+    (fetchurl {
+      url = https://bugzilla.gnome.org/attachment.cgi?id=372953;
+      sha256 = "1crjplyiiipkhjjlifrv6hhvxinlcxd6irp9ijbc7jij31g44i0a";
+    })
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit inetutils kmod openconnect;
+    })
+
   ];
 
-  buildInputs = [ systemd libgudev libnl libuuid polkit ppp libndp curl
-                  bluez5 dnsmasq gobjectIntrospection modemmanager readline newt libsoup jansson ];
+  buildInputs = [
+    systemd libuuid polkit ppp libndp curl
+    bluez5 dnsmasq gobjectIntrospection modemmanager readline newt libsoup jansson
+  ];
 
   propagatedBuildInputs = [ dbus-glib gnutls libgcrypt python3Packages.pygobject3 ];
 
@@ -114,10 +121,10 @@ in stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
-    homepage    = https://wiki.gnome.org/Projects/NetworkManager;
+    homepage = https://wiki.gnome.org/Projects/NetworkManager;
     description = "Network configuration and management tool";
-    license     = licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ phreedom rickynils domenkozar obadz ];
-    platforms   = platforms.linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/network-manager/fix-paths.patch b/pkgs/tools/networking/network-manager/fix-paths.patch
index b735da28dca1..5deaa2026d0f 100644
--- a/pkgs/tools/networking/network-manager/fix-paths.patch
+++ b/pkgs/tools/networking/network-manager/fix-paths.patch
@@ -1,34 +1,41 @@
---- 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;
+--- a/clients/common/nm-vpn-helpers.c
++++ b/clients/common/nm-vpn-helpers.c
+@@ -205,7 +205,7 @@
+ 	char *argv[4];
+ 	const char *path;
  
-@@ -2326,7 +2324,7 @@
- 	_LOGD ("nm-openvpn-service (version " DIST_VERSION ") starting...");
+-	path = nm_utils_find_helper ("openconnect", "/usr/sbin/openconnect", error);
++	path = "@openconnect@/bin/openconnect";
+ 	if (!path)
+ 		return FALSE;
  
- 	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;
+--- a/src/devices/nm-device.c
++++ b/src/devices/nm-device.c
+@@ -11828,14 +11828,14 @@
+ 			gw = nm_ip4_config_best_default_route_get (priv->ip_config_4);
+ 			if (gw) {
+ 				nm_utils_inet4_ntop (NMP_OBJECT_CAST_IP4_ROUTE (gw)->gateway, buf);
+-				ping_binary = nm_utils_find_helper ("ping", "/usr/bin/ping", NULL);
++				ping_binary = "@inetutils@/bin/ping";
+ 				log_domain = LOGD_IP4;
+ 			}
+ 		} else if (priv->ip_config_6 && priv->ip6_state == IP_DONE) {
+ 			gw = nm_ip6_config_best_default_route_get (priv->ip_config_6);
+ 			if (gw) {
+ 				nm_utils_inet6_ntop (&NMP_OBJECT_CAST_IP6_ROUTE (gw)->gateway, buf);
+-				ping_binary = nm_utils_find_helper ("ping6", "/usr/bin/ping6", NULL);
++				ping_binary = "@inetutils@/bin/ping";
+ 				log_domain = LOGD_IP6;
+ 			}
+ 		}
+--- a/src/nm-core-utils.c
++++ b/src/nm-core-utils.c
+@@ -428,7 +428,7 @@
  
- 	plugin = nm_openvpn_plugin_new (bus_name);
+ 	/* construct the argument list */
+ 	argv = g_ptr_array_sized_new (4);
+-	g_ptr_array_add (argv, "/sbin/modprobe");
++	g_ptr_array_add (argv, "@kmod@/bin/modprobe");
+ 	g_ptr_array_add (argv, (char *) arg1);
+ 
+ 	va_start (ap, arg1);
diff --git a/pkgs/tools/networking/network-manager/modprobe.patch b/pkgs/tools/networking/network-manager/modprobe.patch
deleted file mode 100644
index 487c70b0165c..000000000000
--- a/pkgs/tools/networking/network-manager/modprobe.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/nm-core-utils.c	2017-02-15 13:10:27.000000000 +0100
-+++ b/src/nm-core-utils.c	2017-07-06 14:28:41.575815695 +0200
-@@ -419,7 +419,7 @@
- 
- 	/* construct the argument list */
- 	argv = g_ptr_array_sized_new (4);
--	g_ptr_array_add (argv, "/sbin/modprobe");
-+	g_ptr_array_add (argv, "@modprobeBinPath@");
- 	g_ptr_array_add (argv, (char *) arg1);
- 
- 	va_start (ap, arg1);
diff --git a/pkgs/tools/networking/network-manager/openconnect_helper_path.patch b/pkgs/tools/networking/network-manager/openconnect_helper_path.patch
deleted file mode 100644
index 597fb753e268..000000000000
--- a/pkgs/tools/networking/network-manager/openconnect_helper_path.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff --git a/clients/common/nm-vpn-helpers.c b/clients/common/nm-vpn-helpers.c
-index 15611c45c..4a7444d3a 100644
---- a/clients/common/nm-vpn-helpers.c
-+++ b/clients/common/nm-vpn-helpers.c
-@@ -203,23 +203,8 @@ nm_vpn_openconnect_authenticate_helper (const char *host,
- 	gboolean ret;
- 	char **strv = NULL, **iter;
- 	char *argv[4];
--	const char *path;
--	const char *const DEFAULT_PATHS[] = {
--		"/sbin/",
--		"/usr/sbin/",
--		"/usr/local/sbin/",
--		"/bin/",
--		"/usr/bin/",
--		"/usr/local/bin/",
--		NULL,
--	};
--
--	path = nm_utils_file_search_in_paths ("openconnect", "/usr/sbin/openconnect", DEFAULT_PATHS,
--	                                      G_FILE_TEST_IS_EXECUTABLE, NULL, NULL, error);
--	if (!path)
--		return FALSE;
- 
--	argv[0] = (char *) path;
-+	argv[0] = "@openconnect@/bin/openconnect";
- 	argv[1] = "--authenticate";
- 	argv[2] = (char *) host;
- 	argv[3] = NULL;
diff --git a/pkgs/tools/networking/network-manager/openvpn.nix b/pkgs/tools/networking/network-manager/openvpn/default.nix
index b1ee3da1b058..2eef7f31ab55 100644
--- a/pkgs/tools/networking/network-manager/openvpn.nix
+++ b/pkgs/tools/networking/network-manager/openvpn/default.nix
@@ -3,13 +3,13 @@
 
 let
   pname   = "NetworkManager-openvpn";
-  version = "1.8.2";
+  version = "1.8.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 = "0p9pjk81h1j1dk9jkkvvk17cq21wyq5kfa4j49fmx9b9yg8syqc8";
+    sha256 = "0gyrv46h9k17qym48qacq4zpxbap6hi17shn921824zm98m2bdvr";
   };
 
   patches = [
diff --git a/pkgs/tools/networking/network-manager/openvpn/fix-paths.patch b/pkgs/tools/networking/network-manager/openvpn/fix-paths.patch
new file mode 100644
index 000000000000..b735da28dca1
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/openvpn/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/offlineimap/default.nix b/pkgs/tools/networking/offlineimap/default.nix
index c7d153186986..647b7ed26da9 100644
--- a/pkgs/tools/networking/offlineimap/default.nix
+++ b/pkgs/tools/networking/offlineimap/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pythonPackages,
-  asciidoc, libxml2, libxslt, docbook_xml_xslt }:
+  asciidoc, libxml2, libxslt, docbook_xsl }:
 
 pythonPackages.buildPythonApplication rec {
   version = "7.2.1";
@@ -20,7 +20,7 @@ pythonPackages.buildPythonApplication rec {
 
   doCheck = false;
 
-  nativeBuildInputs = [ asciidoc libxml2 libxslt docbook_xml_xslt ];
+  nativeBuildInputs = [ asciidoc libxml2 libxslt docbook_xsl ];
   propagatedBuildInputs = [ pythonPackages.six pythonPackages.kerberos ];
 
   postInstall = ''
diff --git a/pkgs/tools/networking/s4cmd/default.nix b/pkgs/tools/networking/s4cmd/default.nix
new file mode 100644
index 000000000000..20f129357dff
--- /dev/null
+++ b/pkgs/tools/networking/s4cmd/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "s4cmd";
+  version = "2.0.1";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "14gfpnj4xa1sq3x3zd29drpzsygn998y32szwm069ma0w9jwjjz6";
+  };
+
+  propagatedBuildInputs = with python3Packages; [ boto3 pytz ];
+
+  # The upstream package tries to install some bash shell completion scripts in /etc.
+  # Setuptools is bugged and doesn't handle --prefix properly: https://github.com/pypa/setuptools/issues/130
+  patchPhase = ''
+    sed -i '/ data_files=/d' setup.py
+    sed -i 's|os.chmod("/etc.*|pass|' setup.py
+  '';
+
+  # Replace upstream's s4cmd wrapper script with the built-in Nix wrapper
+  postInstall = ''
+    ln -fs $out/bin/s4cmd.py $out/bin/s4cmd
+  '';
+
+  # Test suite requires an S3 bucket
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/bloomreach/s4cmd;
+    description = "Super S3 command line tool";
+    license = licenses.asl20;
+    maintainers = [ maintainers.bhipple ];
+  };
+}
diff --git a/pkgs/tools/networking/subfinder/default.nix b/pkgs/tools/networking/subfinder/default.nix
new file mode 100644
index 000000000000..2a4cf3506df8
--- /dev/null
+++ b/pkgs/tools/networking/subfinder/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "subfinder-git-${version}";
+  version = "2018-07-15";
+
+  goPackagePath = "github.com/subfinder/subfinder";
+
+  src = fetchFromGitHub {
+    owner = "subfinder";
+    repo = "subfinder";
+    rev = "26596affed961c535676395f443acc5af95ac9e6";
+    sha256 = "0m842jyrwlg4kaja1m3kca07jf20fxva0frg66b13zpsm8hdp10q";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    description = "Subdomain discovery tool";
+    longDescription = ''
+      SubFinder is a subdomain discovery tool that discovers valid
+      subdomains for websites. Designed as a passive framework to be
+      useful for bug bounties and safe for penetration testing.
+    '';
+    homepage = https://github.com/subfinder/subfinder;
+    license = licenses.mit;
+    maintainers = with maintainers; [ fpletz ];
+  };
+}
diff --git a/pkgs/tools/networking/subfinder/deps.nix b/pkgs/tools/networking/subfinder/deps.nix
new file mode 100644
index 000000000000..34095c814284
--- /dev/null
+++ b/pkgs/tools/networking/subfinder/deps.nix
@@ -0,0 +1,48 @@
+# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
+[
+  {
+    goPackagePath  = "github.com/bogdanovich/dns_resolver";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bogdanovich/dns_resolver";
+      rev =  "a8e42bc6a5b6c9a93be01ca204be7e17f7ba4cd2";
+      sha256 = "0l1hgxxqafappw0y18sbkkk2vijclvf1b8x73b0nhi4r74wyib49";
+    };
+  }
+  {
+    goPackagePath  = "github.com/miekg/dns";
+    fetch = {
+      type = "git";
+      url = "https://github.com/miekg/dns";
+      rev =  "3e6e47bc11bc7f93f9e2f1c7bd6481ba4802808b";
+      sha256 = "1vmsnv6r799z5lz5g9l2dh065m9003yfjb18w8n6c053hp8jvrfm";
+    };
+  }
+  {
+    goPackagePath  = "github.com/subfinder/urlx";
+    fetch = {
+      type = "git";
+      url = "https://github.com/subfinder/urlx";
+      rev =  "8e731c8be06edbae81cab15937cd3c291c2a7680";
+      sha256 = "11vrx1c0mq1h6lwpsvibd3386wy4kirzmmm8ibrlx2gj0h6pkkcb";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev =  "a49355c7e3f8fe157a85be2f77e6e269a0f89602";
+      sha256 = "020q1laxjx5kcmnqy4wmdb63zhb0lyq6wpy40axhswzg2nd21s44";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev =  "d0887baf81f4598189d4e12a37c6da86f0bba4d0";
+      sha256 = "00dmz9a5d3myyb0256b33vf1bk8wv1khhh88kcvbmqsfd6x1n6p5";
+    };
+  }
+]
diff --git a/pkgs/tools/networking/whois/default.nix b/pkgs/tools/networking/whois/default.nix
index e644578b6642..b11d149da889 100644
--- a/pkgs/tools/networking/whois/default.nix
+++ b/pkgs/tools/networking/whois/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, perl, gettext, pkgconfig, libidn2, libiconv }:
 
 stdenv.mkDerivation rec {
-  version = "5.3.1";
+  version = "5.3.2";
   name = "whois-${version}";
 
   src = fetchFromGitHub {
     owner = "rfc1036";
     repo = "whois";
     rev = "v${version}";
-    sha256 = "1xqvcsh70590bwmy37kwlwyl0rvnlqx987km3mnij93q4kvabg5n";
+    sha256 = "1sd6jl349kz3bjwm8rx9kihxyd3d35cac4swla843vwzdpczsk5f";
   };
 
   nativeBuildInputs = [ perl gettext pkgconfig ];
diff --git a/pkgs/tools/package-management/nix-index/default.nix b/pkgs/tools/package-management/nix-index/default.nix
index df5a39d6a031..b5d66bec5cca 100644
--- a/pkgs/tools/package-management/nix-index/default.nix
+++ b/pkgs/tools/package-management/nix-index/default.nix
@@ -4,15 +4,15 @@ with rustPlatform;
 
 buildRustPackage rec {
   name = "nix-index-${version}";
-  version = "0.1.0";
+  version = "0.1.1";
 
   src = fetchFromGitHub {
     owner = "bennofs";
     repo = "nix-index";
     rev = "v${version}";
-    sha256 = "1lmg65yqkwf2a5qxm3dmv8158kqhnriir062vlgar5wimf409rm5";
+    sha256 = "17pms3cq3i3jan1irxgqfr3nrjy6zb21y07pwqp9v08hyrjpfqin";
   };
-  cargoSha256 = "0cxdrzjmqq3ywdh0f5mzkcf50hbbgd3bak4398v2ls5gy5s9fcz2";
+  cargoSha256 = "0b7xwcgjds80g08sx91lqip8syb52n458si4q4xycvvsand5fa10";
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ openssl curl];
 
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index c3f1e4d8d459..07c130f1cb38 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, fetchFromGitHub, perl, curl, bzip2, sqlite, openssl ? null, xz
 , pkgconfig, boehmgc, perlPackages, libsodium, aws-sdk-cpp, brotli, boost
-, autoreconfHook, autoconf-archive, bison, flex, libxml2, libxslt, docbook5, docbook5_xsl
+, autoreconfHook, autoconf-archive, bison, flex, libxml2, libxslt, docbook5, docbook_xsl_ns
 , busybox-sandbox-shell
 , hostPlatform, buildPlatform
 , storeDir ? "/nix/store"
@@ -26,7 +26,7 @@ let
     nativeBuildInputs =
       [ pkgconfig ]
       ++ lib.optionals (!is20) [ curl perl ]
-      ++ lib.optionals fromGit [ autoreconfHook autoconf-archive bison flex libxml2 libxslt docbook5 docbook5_xsl ];
+      ++ lib.optionals fromGit [ autoreconfHook autoconf-archive bison flex libxml2 libxslt docbook5 docbook_xsl_ns ];
 
     buildInputs = [ curl openssl sqlite xz bzip2 ]
       ++ lib.optional (stdenv.isLinux || stdenv.isDarwin) libsodium
diff --git a/pkgs/tools/package-management/nixops/generic.nix b/pkgs/tools/package-management/nixops/generic.nix
index f392e0f50ed1..da62eba63fd3 100644
--- a/pkgs/tools/package-management/nixops/generic.nix
+++ b/pkgs/tools/package-management/nixops/generic.nix
@@ -1,4 +1,4 @@
-{ lib, python2Packages, fetchurl, libxslt, docbook5_xsl, openssh
+{ lib, python2Packages, fetchurl, libxslt, docbook_xsl_ns, openssh
 # version args
 , src, version
 }:
@@ -31,7 +31,7 @@ python2Packages.buildPythonApplication {
   doCheck = false;
 
   postInstall = ''
-    make -C doc/manual install nixops.1 docbookxsl=${docbook5_xsl}/xml/xsl/docbook \
+    make -C doc/manual install nixops.1 docbookxsl=${docbook_xsl_ns}/xml/xsl/docbook \
       docdir=$out/share/doc/nixops mandir=$out/share/man
 
     mkdir -p $out/share/nix/nixops
diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix
index c3aa92bf4b01..79644d357745 100644
--- a/pkgs/tools/security/clamav/default.nix
+++ b/pkgs/tools/security/clamav/default.nix
@@ -1,14 +1,15 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig
-, zlib, bzip2, libiconv, libxml2, openssl, ncurses, curl, libmilter, pcre
+, zlib, bzip2, libiconv, libxml2, openssl, ncurses, curl, libmilter, pcre2
+, libmspack, systemd
 }:
 
 stdenv.mkDerivation rec {
   name = "clamav-${version}";
-  version = "0.99.4";
+  version = "0.100.1";
 
   src = fetchurl {
     url = "https://www.clamav.net/downloads/production/${name}.tar.gz";
-    sha256 = "0q94iwi729id9pyc72w6zlllbaz37qvpi6gc51g2x3fy7ckw6anp";
+    sha256 = "17x5b2gh84b167h6ip9hw05w809p009yx13i4gkps92ja5jjdq44";
   };
 
   # don't install sample config files into the absolute sysconfdir folder
@@ -18,16 +19,20 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    zlib bzip2 libxml2 openssl ncurses curl libiconv libmilter pcre
+    zlib bzip2 libxml2 openssl ncurses curl libiconv libmilter pcre2 libmspack
+    systemd
   ];
 
   configureFlags = [
+    "--libdir=$(out)/lib"
     "--sysconfdir=/etc/clamav"
+    "--with-systemdsystemunitdir=$(out)/lib/systemd"
     "--disable-llvm" # enabling breaks the build at the moment
     "--with-zlib=${zlib.dev}"
     "--with-xml=${libxml2.dev}"
     "--with-openssl=${openssl.dev}"
     "--with-libcurl=${curl.dev}"
+    "--with-system-libmspack"
     "--enable-milter"
   ];
 
diff --git a/pkgs/tools/security/gnu-pw-mgr/default.nix b/pkgs/tools/security/gnu-pw-mgr/default.nix
index 23aec604d2d1..e71d313e20ab 100644
--- a/pkgs/tools/security/gnu-pw-mgr/default.nix
+++ b/pkgs/tools/security/gnu-pw-mgr/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "gnu-pw-mgr-${version}";
-  version = "2.3.2";
+  version = "2.3.3";
   src = fetchurl {
     url = "http://ftp.gnu.org/gnu/gnu-pw-mgr/${name}.tar.xz";
-    sha256 = "0x60g0syqpd107l8w4bl213imy2lspm4kz1j18yr1sh10rdxlgxd";
+    sha256 = "04xh38j7l0sfnb01kp05xc908pvqfc0lph94k7n9bi46zy3qy7ma";
   };
 
   buildInputs = [ gnulib ];
diff --git a/pkgs/tools/security/gnupg/20.nix b/pkgs/tools/security/gnupg/20.nix
index fdef447193d8..9404cb1d0655 100644
--- a/pkgs/tools/security/gnupg/20.nix
+++ b/pkgs/tools/security/gnupg/20.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   prePatch = ''
     find tests -type f | xargs sed -e 's@/bin/pwd@${coreutils}&@g' -i
   '' + stdenv.lib.optionalString stdenv.isLinux ''
-    sed -i 's,"libpcsclite\.so[^"]*","${pcsclite}/lib/libpcsclite.so",g' scd/scdaemon.c
+    sed -i 's,"libpcsclite\.so[^"]*","${stdenv.lib.getLib pcsclite}/lib/libpcsclite.so",g' scd/scdaemon.c
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
     find . -name pcsc-wrapper.c | xargs sed -i 's/typedef unsinged int pcsc_dword_t/typedef unsigned int pcsc_dword_t/'
   '' + ''
diff --git a/pkgs/tools/security/gnupg/22.nix b/pkgs/tools/security/gnupg/22.nix
index f28d57fa62bd..b0381b32bcfe 100644
--- a/pkgs/tools/security/gnupg/22.nix
+++ b/pkgs/tools/security/gnupg/22.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     ./fix-libusb-include-path.patch
   ];
   postPatch = stdenv.lib.optionalString stdenv.isLinux ''
-    sed -i 's,"libpcsclite\.so[^"]*","${pcsclite}/lib/libpcsclite.so",g' scd/scdaemon.c
+    sed -i 's,"libpcsclite\.so[^"]*","${stdenv.lib.getLib pcsclite}/lib/libpcsclite.so",g' scd/scdaemon.c
   ''; #" fix Emacs syntax highlighting :-(
 
   pinentryBinaryPath = pinentry.binaryPath or "bin/pinentry";
diff --git a/pkgs/tools/security/keybase/gui.nix b/pkgs/tools/security/keybase/gui.nix
index b53860e406d2..1a7cf30b9528 100644
--- a/pkgs/tools/security/keybase/gui.nix
+++ b/pkgs/tools/security/keybase/gui.nix
@@ -70,10 +70,9 @@ stdenv.mkDerivation rec {
       checkFailed
     fi
 
-    ${utillinuxMinimal}/bin/mountpoint /keybase &>/dev/null
-    if [ "\$?" -ne "0" ]; then
-      echo "Keybase is not mounted to /keybase." >&2
-      echo "You might need to run: kbfsfuse /keybase" >&2
+    if [ -z "\$(keybase status | grep kbfsfuse)" ]; then
+      echo "Could not find kbfsfuse client in keybase status." >&2
+      echo "You might need to run: kbfsfuse" >&2
       checkFailed
     fi
 
diff --git a/pkgs/tools/security/libmodsecurity/default.nix b/pkgs/tools/security/libmodsecurity/default.nix
index f746e8c8ffd9..3bf906fb4c12 100644
--- a/pkgs/tools/security/libmodsecurity/default.nix
+++ b/pkgs/tools/security/libmodsecurity/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   name = "libmodsecurity-${version}";
-  version = "3.0.0";
+  version = "3.0.2";
 
   src = fetchFromGitHub {
     owner = "SpiderLabs";
     repo = "ModSecurity";
     fetchSubmodules = true;
     rev = "v${version}";
-    sha256 = "1y9nxbf5vgip4zl948a27xpw4mpimqd7xmskfi40k6g0cmmsx1x1";
+    sha256 = "0jhyqsvcjxq9ybndcinc08awknrg3sbkaby5w3qw03aqbfjkpywc";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/security/nitrokey-app/default.nix b/pkgs/tools/security/nitrokey-app/default.nix
index 4407d5abbfa1..67e388d5728b 100644
--- a/pkgs/tools/security/nitrokey-app/default.nix
+++ b/pkgs/tools/security/nitrokey-app/default.nix
@@ -1,29 +1,42 @@
-{ stdenv, bash-completion, cmake, fetchgit, hidapi, libusb1, pkgconfig, qt5 }:
+{ stdenv, makeWrapper, bash-completion, cmake, fetchgit, hidapi, libusb1, pkgconfig
+, qtbase, qttranslations, qtsvg }:
 
 stdenv.mkDerivation rec {
   name = "nitrokey-app-${version}";
-  version = "1.2";
+  version = "1.3.1";
 
   # We use fetchgit instead of fetchFromGitHub because of necessary git submodules
   src = fetchgit {
     url = "https://github.com/Nitrokey/nitrokey-app.git";
     rev = "v${version}";
-    sha256 = "0mm6vlgxlmpahmmcn4awnfpx5rx5bj8m44cywhgxlmz012x73hzi";
+    sha256 = "0zf2f7g5scqd5xfzvmmpvfc7d1w66rf22av0qv6s37875c61j9r9";
   };
 
+  postPatch = ''
+    substituteInPlace libnitrokey/CMakeLists.txt \
+      --replace '/data/41-nitrokey.rules' '/libnitrokey/data/41-nitrokey.rules'
+  '';
+
   buildInputs = [
     bash-completion
     hidapi
     libusb1
-    qt5.qtbase
-    qt5.qttranslations
+    qtbase
+    qttranslations
+    qtsvg
   ];
   nativeBuildInputs = [
     cmake
     pkgconfig
+    makeWrapper
   ];
   cmakeFlags = "-DCMAKE_BUILD_TYPE=Release";
 
+  postFixup = ''
+    wrapProgram $out/bin/nitrokey-app \
+      --prefix QT_PLUGIN_PATH : "${qtbase}/${qtbase.qtPluginPrefix}"
+  '';
+
   meta = with stdenv.lib; {
     description      = "Provides extra functionality for the Nitrokey Pro and Storage";
     longDescription  = ''
diff --git a/pkgs/tools/security/nitrokey-app/udev-rules.nix b/pkgs/tools/security/nitrokey-app/udev-rules.nix
index 33d2dd1c8fa7..a89fa7238269 100644
--- a/pkgs/tools/security/nitrokey-app/udev-rules.nix
+++ b/pkgs/tools/security/nitrokey-app/udev-rules.nix
@@ -10,12 +10,12 @@ stdenv.mkDerivation {
   dontBuild = true;
 
   patchPhase = ''
-    substituteInPlace data/41-nitrokey.rules --replace plugdev "${group}"
+    substituteInPlace libnitrokey/data/41-nitrokey.rules --replace plugdev "${group}"
   '';
 
   installPhase = ''
     mkdir -p $out/etc/udev/rules.d
-    cp data/41-nitrokey.rules $out/etc/udev/rules.d
+    cp libnitrokey/data/41-nitrokey.rules $out/etc/udev/rules.d
   '';
 
   meta = {
diff --git a/pkgs/tools/security/open-ecard/default.nix b/pkgs/tools/security/open-ecard/default.nix
index a0af51186edf..98f2e56e7497 100644
--- a/pkgs/tools/security/open-ecard/default.nix
+++ b/pkgs/tools/security/open-ecard/default.nix
@@ -50,7 +50,7 @@ in stdenv.mkDerivation rec {
     makeWrapper ${jre}/bin/java $out/bin/${appName} \
       --add-flags "-cp $out/share/java/cifs-${version}.jar" \
       --add-flags "-jar $out/share/java/richclient-${version}.jar" \
-      --suffix LD_LIBRARY_PATH ':' ${pcsclite}/lib
+      --suffix LD_LIBRARY_PATH ':' ${stdenv.lib.getLib pcsclite}/lib
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/security/opensc/default.nix b/pkgs/tools/security/opensc/default.nix
index 819c01a0893f..7624e6cfa39e 100644
--- a/pkgs/tools/security/opensc/default.nix
+++ b/pkgs/tools/security/opensc/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     "--localstatedir=/var"
     "--sysconfdir=/etc"
     "--with-xsl-stylesheetsdir=${docbook_xsl}/xml/xsl/docbook"
-    "--with-pcsc-provider=${pcsclite}/lib/libpcsclite.so"
+    "--with-pcsc-provider=${stdenv.lib.getLib pcsclite}/lib/libpcsclite.so"
   ];
 
   installFlags = [
diff --git a/pkgs/tools/security/pcsclite/default.nix b/pkgs/tools/security/pcsclite/default.nix
index bf5856aec357..84072fd2840e 100644
--- a/pkgs/tools/security/pcsclite/default.nix
+++ b/pkgs/tools/security/pcsclite/default.nix
@@ -1,10 +1,12 @@
-{ stdenv, fetchurl, pkgconfig, udev, dbus_libs, perl, python2
+{ stdenv, fetchurl, pkgconfig, udev, dbus, perl, python2
 , IOKit ? null }:
 
 stdenv.mkDerivation rec {
   name = "pcsclite-${version}";
   version = "1.8.23";
 
+  outputs = [ "bin" "out" "dev" "doc" "man" ];
+
   src = fetchurl {
     url = "https://pcsclite.apdu.fr/files/pcsc-lite-${version}.tar.bz2";
     sha256 = "1jc9ws5ra6v3plwraqixin0w0wfxj64drahrbkyrrwzghqjjc9ss";
@@ -28,8 +30,13 @@ stdenv.mkDerivation rec {
     }' config.h
   '';
 
+  postInstall = ''
+    # pcsc-spy is a debugging utility and it drags python into the closure
+    moveToOutput bin/pcsc-spy "$dev"
+  '';
+
   nativeBuildInputs = [ pkgconfig perl python2 ];
-  buildInputs = stdenv.lib.optionals stdenv.isLinux [ udev dbus_libs ]
+  buildInputs = stdenv.lib.optionals stdenv.isLinux [ udev dbus ]
              ++ stdenv.lib.optionals stdenv.isDarwin [ IOKit ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/security/pcsctools/default.nix b/pkgs/tools/security/pcsctools/default.nix
index 585e089b8af4..d9e68c77d25c 100644
--- a/pkgs/tools/security/pcsctools/default.nix
+++ b/pkgs/tools/security/pcsctools/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, makeWrapper, pkgconfig, udev, dbus_libs, pcsclite
+{ stdenv, lib, fetchurl, makeWrapper, pkgconfig, udev, dbus, pcsclite
 , wget, coreutils
 , perl, pcscperl, Glib, Gtk2, Pango, Cairo
 }:
@@ -13,7 +13,7 @@ in stdenv.mkDerivation rec {
     sha256 = "0iqcy28pb963ds4pjrpi37577vm6nkgf3i0b3rr978jy9qi1bix9";
   };
 
-  buildInputs = [ udev dbus_libs perl pcsclite ];
+  buildInputs = [ udev dbus perl pcsclite ];
 
   makeFlags = [ "DESTDIR=$(out)" ];
 
diff --git a/pkgs/tools/security/sshguard/default.nix b/pkgs/tools/security/sshguard/default.nix
index 6db16c95fc88..facbfcad4cfd 100644
--- a/pkgs/tools/security/sshguard/default.nix
+++ b/pkgs/tools/security/sshguard/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, autoreconfHook, yacc, flex}:
 
 stdenv.mkDerivation rec {
-  version = "2.1.0";
+  version = "2.2.0";
   name = "sshguard-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/sshguard/${name}.tar.gz";
-    sha256 = "12h2rx40lf3p3kgazmgakkgajjk2d3sdvr2f73ghi15d6i42l991";
+    sha256 = "1hjn6smd6kc3yg2xm1kvszqpm5w9a6vic6a1spzy8czcwvz0gzra";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix
index 3efba58ea11d..4923a9019ed3 100644
--- a/pkgs/tools/security/tor/default.nix
+++ b/pkgs/tools/security/tor/default.nix
@@ -15,11 +15,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "tor-0.3.3.7";
+  name = "tor-0.3.3.9";
 
   src = fetchurl {
     url = "https://dist.torproject.org/${name}.tar.gz";
-    sha256 = "036ybfvldj7yfci9ipjki8smpzyxdg8c5r12bghc9yxdqh9basza";
+    sha256 = "0vyf5z0dn5jghp2qjp076aq62lsz9g32qv9jiqf08skf096nnd45";
   };
 
   outputs = [ "out" "geoip" ];
diff --git a/pkgs/tools/security/vault/default.nix b/pkgs/tools/security/vault/default.nix
index 02c0b27a5648..2c422d516046 100644
--- a/pkgs/tools/security/vault/default.nix
+++ b/pkgs/tools/security/vault/default.nix
@@ -9,13 +9,13 @@ let
   };
 in stdenv.mkDerivation rec {
   name = "vault-${version}";
-  version = "0.9.5";
+  version = "0.10.3";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "vault";
     rev = "v${version}";
-    sha256 = "1ddki3bnp6yrajc0cxxjkbdlfp0xqx407nxvvv611lsnlbr2sz5g";
+    sha256 = "16sndzbfciw4bccxm7sc83y2pma2bgsmc1kqyb2hp0jsdy4rl3k4";
   };
 
   nativeBuildInputs = [ go gox removeReferencesTo ];
diff --git a/pkgs/tools/system/osquery/default.nix b/pkgs/tools/system/osquery/default.nix
index c2d31ccb0fbf..7bbf42b11321 100644
--- a/pkgs/tools/system/osquery/default.nix
+++ b/pkgs/tools/system/osquery/default.nix
@@ -20,7 +20,7 @@ in
 
 stdenv.mkDerivation rec {
   name = "osquery-${version}";
-  version = "3.2.8";
+  version = "3.2.9";
 
   # this is what `osquery --help` will show as the version.
   OSQUERY_BUILD_VERSION = version;
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     owner = "facebook";
     repo = "osquery";
     rev = version;
-    sha256 = "1py5jizl7z1f9xzpg7pylbdnawvvifiyv9gpjwiim8ilgkmpaiv4";
+    sha256 = "1fac0yj1701469qhbsp38ab2fmavm3jw6x278bf78yvxdi99ivai";
   };
 
   patches = [ ./misc.patch ];
diff --git a/pkgs/tools/system/osquery/misc.patch b/pkgs/tools/system/osquery/misc.patch
index 859e398616ab..129c524521de 100644
--- a/pkgs/tools/system/osquery/misc.patch
+++ b/pkgs/tools/system/osquery/misc.patch
@@ -1,8 +1,16 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 71921740..156ea6dc 100644
+index 0242fb71..5007aace 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -456,12 +456,6 @@ elseif(CLANG AND DEPS AND NOT FREEBSD)
+@@ -304,7 +304,6 @@ else()
+     # To be safe, only include them when building 'release' outputs.
+     add_compile_options(
+       -g
+-      -fno-limit-debug-info
+       -fPIE
+       -fpie
+       -fPIC
+@@ -449,12 +448,6 @@ elseif(CLANG AND DEPS AND NOT FREEBSD)
    set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -flto=thin")
  endif()
  
@@ -15,7 +23,7 @@ index 71921740..156ea6dc 100644
  # Make sure deps were built before compiling (else show warning).
  execute_process(
    COMMAND "${CMAKE_SOURCE_DIR}/tools/provision.sh" check "${CMAKE_BINARY_DIR}"
-@@ -528,6 +522,8 @@ endif()
+@@ -521,6 +514,8 @@ endif()
  
  if(APPLE)
    LOG_PLATFORM("OS X")
@@ -24,7 +32,7 @@ index 71921740..156ea6dc 100644
  elseif(OSQUERY_BUILD_PLATFORM STREQUAL "debian")
    LOG_PLATFORM("Debian")
  elseif(OSQUERY_BUILD_PLATFORM STREQUAL "ubuntu")
-@@ -577,7 +573,6 @@ if(POSIX AND DEPS)
+@@ -570,7 +565,6 @@ if(POSIX AND DEPS)
    endif()
  endif()
  
@@ -32,7 +40,7 @@ index 71921740..156ea6dc 100644
  include_directories("${CMAKE_SOURCE_DIR}/include")
  include_directories("${CMAKE_SOURCE_DIR}")
  
-@@ -668,18 +663,6 @@ if(FREEBSD OR "${HAVE_TR1_TUPLE}" STREQUAL "")
+@@ -661,18 +655,6 @@ if(FREEBSD OR "${HAVE_TR1_TUPLE}" STREQUAL "")
    add_definitions(-DGTEST_USE_OWN_TR1_TUPLE=0)
  endif()
  
@@ -52,10 +60,10 @@ index 71921740..156ea6dc 100644
    add_subdirectory("${CMAKE_SOURCE_DIR}/third-party/linenoise-ng")
  endif()
 diff --git a/osquery/CMakeLists.txt b/osquery/CMakeLists.txt
-index c8cbac4e..a4382420 100644
+index e3842962..f405503d 100644
 --- a/osquery/CMakeLists.txt
 +++ b/osquery/CMakeLists.txt
-@@ -35,8 +35,6 @@ if(CLANG AND POSIX)
+@@ -33,8 +33,6 @@ if(CLANG AND POSIX)
      -Wextra
      -pedantic
      -Wuseless-cast
@@ -64,7 +72,7 @@ index c8cbac4e..a4382420 100644
      -Wno-unused-parameter
      -Wno-gnu-case-range
      -Weffc++
-@@ -65,14 +63,7 @@ endif()
+@@ -63,14 +61,7 @@ endif()
  
  # Construct a set of all object files, starting with third-party and all
  # of the osquery core objects (sources from ADD_CORE_LIBRARY macros).
@@ -80,7 +88,7 @@ index c8cbac4e..a4382420 100644
  
  # Add subdirectories
  add_subdirectory(config)
-@@ -153,10 +144,11 @@ if(APPLE OR LINUX)
+@@ -151,10 +142,11 @@ if(APPLE OR LINUX)
    ADD_OSQUERY_LINK_ADDITIONAL("rocksdb_lite")
  elseif(FREEBSD)
    ADD_OSQUERY_LINK_CORE("icuuc")
@@ -93,7 +101,7 @@ index c8cbac4e..a4382420 100644
  if(POSIX)
    ADD_OSQUERY_LINK_CORE("boost_system")
    ADD_OSQUERY_LINK_CORE("boost_filesystem")
-@@ -174,10 +166,10 @@ endif()
+@@ -172,10 +164,10 @@ endif()
  ADD_OSQUERY_LINK_CORE("glog${WO_KEY}")
  
  if(POSIX)
@@ -142,7 +150,7 @@ index ab91bd24..d8364991 100644
    ADD_OSQUERY_TEST_ADDITIONAL(${OSQUERY_LOGGER_KAFKA_PLUGINS_TESTS})
  endif()
 diff --git a/osquery/tables/CMakeLists.txt b/osquery/tables/CMakeLists.txt
-index dd78084f..158758e1 100644
+index 3ecbb711..af7220d3 100644
 --- a/osquery/tables/CMakeLists.txt
 +++ b/osquery/tables/CMakeLists.txt
 @@ -68,7 +68,7 @@ if(LINUX)
diff --git a/pkgs/tools/system/s-tui/default.nix b/pkgs/tools/system/s-tui/default.nix
index b5d4317eac2d..935b49f95db3 100644
--- a/pkgs/tools/system/s-tui/default.nix
+++ b/pkgs/tools/system/s-tui/default.nix
@@ -3,11 +3,11 @@
 pythonPackages.buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "s-tui";
-  version = "0.6.2";
+  version = "0.7.5";
 
   src = pythonPackages.fetchPypi {
     inherit pname version;
-    sha256 = "0fijk26sm51bnxf7plzd1fn2k4f8mdqd7j9zqc3d8zri7228vik2";
+    sha256 = "01w5jh0p66jk4h3cmif4glq42zv44zhziczxjwazkd034rp8dnv9";
   };
 
   propagatedBuildInputs = with pythonPackages; [
diff --git a/pkgs/tools/system/thermald/default.nix b/pkgs/tools/system/thermald/default.nix
index 27458174dc2a..a8670203775a 100644
--- a/pkgs/tools/system/thermald/default.nix
+++ b/pkgs/tools/system/thermald/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchFromGitHub, autoconf, automake, libtool, pkgconfig, dbus_libs, dbus-glib, libxml2 }:
+{ stdenv, fetchFromGitHub, autoconf, automake, libtool
+, pkgconfig, dbus, dbus-glib, libxml2 }:
 
 stdenv.mkDerivation rec {
   name = "thermald-${version}";
@@ -12,12 +13,12 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ autoconf automake libtool dbus_libs dbus-glib libxml2 ];
+  buildInputs = [ autoconf automake libtool dbus dbus-glib libxml2 ];
 
   patchPhase = ''sed -e 's/upstartconfdir = \/etc\/init/upstartconfdir = $(out)\/etc\/init/' -i data/Makefile.am'';
 
   preConfigure = ''
-    export PKG_CONFIG_PATH="${dbus_libs.dev}/lib/pkgconfig:$PKG_CONFIG_PATH"
+    export PKG_CONFIG_PATH="${dbus.dev}/lib/pkgconfig:$PKG_CONFIG_PATH"
     ./autogen.sh
   '';
 
diff --git a/pkgs/tools/text/aha/default.nix b/pkgs/tools/text/aha/default.nix
index d8c42a0f20d2..89319ac492f4 100644
--- a/pkgs/tools/text/aha/default.nix
+++ b/pkgs/tools/text/aha/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://github.com/theZiz/aha;
     license = with licenses; [ lgpl2Plus mpl11 ];
+    maintainers = with maintainers; [ pSub ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/text/fanficfare/default.nix b/pkgs/tools/text/fanficfare/default.nix
index 7a395eb8905e..e54933453b3f 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.26.0";
+  version = "2.27.0";
   name = "fanficfare-${version}";
   nameprefix = "";
 
   src = fetchurl {
     url = "https://github.com/JimmXinu/FanFicFare/archive/v${version}.tar.gz";
-    sha256 = "1gas5x0xzkxnc0rvyi04phzxpxxd1jfmx9a7l2fhqmlw67lml4rr";
+    sha256 = "02m1fr38hvxc1kby38xz9r75x5pcm8nly4d4ibnaf9i06xkg1pn0";
   };
 
   propagatedBuildInputs = with python27Packages; [ beautifulsoup4 chardet html5lib html2text ];
diff --git a/pkgs/tools/text/markdown-pp/default.nix b/pkgs/tools/text/markdown-pp/default.nix
new file mode 100644
index 000000000000..f479c221b65f
--- /dev/null
+++ b/pkgs/tools/text/markdown-pp/default.nix
@@ -0,0 +1,24 @@
+{ fetchFromGitHub, pythonPackages, stdenv }:
+
+with pythonPackages;
+buildPythonApplication rec {
+  pname = "MarkdownPP";
+  version = "1.4";
+  propagatedBuildInputs = [ pillow watchdog ];
+  checkPhase = ''
+    cd test
+    PATH=$out/bin:$PATH ${python}/bin/${python.executable} test.py
+  '';
+  src = fetchFromGitHub {
+    owner = "jreese";
+    repo = "markdown-pp";
+    rev = "v${version}";
+    sha256 = "1xmc0cxvvf6jzr7p4f0hm8icysrd44sy2kgff9b99lr1agwkmysq";
+  };
+  meta = with stdenv.lib; {
+    description = "Preprocessor for Markdown files to generate a table of contents and other documentation needs";
+    license = licenses.mit;
+    homepage = "https://github.com/jreese/markdown-pp";
+    maintainers = with maintainers; [ zgrannan ];
+  };
+}
diff --git a/pkgs/tools/text/mdbook/default.nix b/pkgs/tools/text/mdbook/default.nix
index 30f5b6ceaba5..36368e172a29 100644
--- a/pkgs/tools/text/mdbook/default.nix
+++ b/pkgs/tools/text/mdbook/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   name = "mdbook-${version}";
-  version = "0.1.7";
+  version = "0.1.8";
 
   src = fetchFromGitHub {
     owner = "rust-lang-nursery";
     repo = "mdBook";
-    rev = "ea0b835b38aba9566c1cc50ad119fbbf2c56f59d";
-    sha256 = "0jkyys8dg5mchbj8b73mmzsgv0k0zp7knima9s69s5ybplmd2n8s";
+    rev = "v${version}";
+    sha256 = "1xmw4v19ff6mvimwk5l437wslzw5npy60zdb8r4319bjf32pw9pn";
   };
 
-  cargoSha256 = "0w3slfzm29pkyr6zhr7k9rx9mddh42asyb46bzy57j0a2qvan3k4";
+  cargoSha256 = "0kcc0b2644qbalz7dnqwxsjdmw1h57k0rjrvwqh8apj2sgl64gyv";
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices ];
 
diff --git a/pkgs/tools/text/peco/default.nix b/pkgs/tools/text/peco/default.nix
index 7b87fd1e492c..b51f811644d1 100644
--- a/pkgs/tools/text/peco/default.nix
+++ b/pkgs/tools/text/peco/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "peco-${version}";
-  version = "0.5.2";
+  version = "0.5.3";
 
   goPackagePath = "github.com/peco/peco";
   subPackages = [ "cmd/peco" ];
@@ -11,7 +11,7 @@ buildGoPackage rec {
     owner = "peco";
     repo = "peco";
     rev = "v${version}";
-    sha256 = "0cgfwbnz4jp2nvmqf2i03xf69by8g0xgd3k5k9aj46y9hps1ka92";
+    sha256 = "1m3s1jrrhqccgg3frfnq6iprwwi97j13wksckpcyrg51z6y5q041";
   };
 
   goDeps = ./deps.nix;
@@ -23,5 +23,6 @@ buildGoPackage rec {
     # peco should work on Windows or other POSIX platforms, but the go package
     # declares only linux and darwin.
     platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/tools/text/zimwriterfs/default.nix b/pkgs/tools/text/zimwriterfs/default.nix
index 5a5757bf2f2d..085331ce0d5c 100644
--- a/pkgs/tools/text/zimwriterfs/default.nix
+++ b/pkgs/tools/text/zimwriterfs/default.nix
@@ -8,7 +8,7 @@
 
 , file
 , icu
-, libgumbo
+, gumbo
 , lzma
 , xapian
 , zimlib
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ automake autoconf libtool pkgconfig ];
-  buildInputs = [ file icu libgumbo lzma zimlib zlib xapian ];
+  buildInputs = [ file icu gumbo lzma zimlib zlib xapian ];
   setSourceRoot = ''
     sourceRoot=$(echo */zimwriterfs)
   '';
diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix
index d5da10b5cd43..efa1471f068b 100644
--- a/pkgs/tools/typesetting/asciidoc/default.nix
+++ b/pkgs/tools/typesetting/asciidoc/default.nix
@@ -14,7 +14,7 @@
 , lilypond ? null
 , libxml2 ? null
 , docbook_xml_dtd_45 ? null
-, docbook5_xsl ? null
+, docbook_xsl_ns ? null
 , docbook_xsl ? null
 , fop ? null
 # TODO: Package this:
@@ -56,7 +56,7 @@ assert enableStandardFeatures ->
   lilypond != null &&
   libxml2 != null &&
   docbook_xml_dtd_45 != null &&
-  docbook5_xsl != null &&
+  docbook_xsl_ns != null &&
   docbook_xsl != null &&
   (fop != null || !enableJava) &&
 # TODO: Package this:
@@ -238,7 +238,7 @@ stdenv.mkDerivation rec {
     # use it to work around an impurity in the tetex package; tetex tools
     # cannot find their neighbours (e.g. pdflatex doesn't find mktextfm).
     # We can remove PATH= when those impurities are fixed.
-    sed -e "s|^ENV =.*|ENV = dict(XML_CATALOG_FILES='${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml ${docbook5_xsl}/xml/xsl/docbook/catalog.xml ${docbook_xsl}/xml/xsl/docbook/catalog.xml', PATH='${stdenv.lib.makeBinPath [ tetex coreutils gnused ]}')|" \
+    sed -e "s|^ENV =.*|ENV = dict(XML_CATALOG_FILES='${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml ${docbook_xsl_ns}/xml/xsl/docbook/catalog.xml ${docbook_xsl}/xml/xsl/docbook/catalog.xml', PATH='${stdenv.lib.makeBinPath [ tetex coreutils gnused ]}')|" \
         -e "s|^ASCIIDOC =.*|ASCIIDOC = '$out/bin/asciidoc'|" \
         -e "s|^XSLTPROC =.*|XSLTPROC = '${libxslt.bin}/bin/xsltproc'|" \
         -e "s|^DBLATEX =.*|DBLATEX = '${dblatexFull}/bin/dblatex'|" \