about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools')
-rw-r--r--nixpkgs/pkgs/tools/X11/alttab/default.nix45
-rw-r--r--nixpkgs/pkgs/tools/admin/analog/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/compression/lz4/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/filesystems/android-file-transfer/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/filesystems/cpcfs/default.nix41
-rw-r--r--nixpkgs/pkgs/tools/filesystems/idsk/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/filesystems/mergerfs/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/filesystems/mergerfs/tools.nix14
-rw-r--r--nixpkgs/pkgs/tools/filesystems/yandex-disk/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/adafruit-ampy/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/misc/getopt/builder.sh4
-rw-r--r--nixpkgs/pkgs/tools/misc/getopt/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/misc/memtest86+/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/misc/memtest86/default.nix32
-rw-r--r--nixpkgs/pkgs/tools/misc/nyancat/default.nix32
-rw-r--r--nixpkgs/pkgs/tools/networking/dnstracer/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/networking/horst/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/networking/miniupnpc/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/miniupnpd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/network-manager/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/networking/network-manager/fix-docs-build.patch11
-rw-r--r--nixpkgs/pkgs/tools/networking/ngrok-2/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/networking/ngrok-2/versions.json30
-rw-r--r--nixpkgs/pkgs/tools/networking/openvpn/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/networking/ubridge/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/b2sum/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/bettercap/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/security/bettercap/deps.nix132
-rw-r--r--nixpkgs/pkgs/tools/security/fprintd/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/security/monkeysphere/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/security/monkeysphere/monkeysphere.patch21
-rw-r--r--nixpkgs/pkgs/tools/security/spectre-meltdown-checker/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/osquery/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/kdiff3/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/text/transifex-client/default.nix2
36 files changed, 432 insertions, 289 deletions
diff --git a/nixpkgs/pkgs/tools/X11/alttab/default.nix b/nixpkgs/pkgs/tools/X11/alttab/default.nix
new file mode 100644
index 000000000000..4efd86ca63fa
--- /dev/null
+++ b/nixpkgs/pkgs/tools/X11/alttab/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchFromGitHub, autoconf, automake, pkgconfig, ronn, libpng, uthash
+, xorg }:
+
+stdenv.mkDerivation rec {
+  version = "1.4.0";
+
+  pname = "alttab";
+
+  src = fetchFromGitHub {
+    owner = "sagb";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "028ifp54yl3xq5mj2ww9baga8p56nmrx4ypvj8k35akcaxdpyga9";
+  };
+
+  nativeBuildInputs = [ 
+    autoconf
+    automake
+    pkgconfig
+    ronn
+  ];
+
+  preConfigure = "./bootstrap.sh";
+
+  buildInputs = [
+    libpng
+    uthash
+    xorg.libX11
+    xorg.libXft
+    xorg.libXmu
+    xorg.libXpm
+    xorg.libXrandr
+    xorg.libXrender
+  ];
+
+  enableParallelBuild = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/sagb/alttab;
+    description = "X11 window switcher designed for minimalistic window managers or standalone X11 session";
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = [ maintainers.sgraf ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/admin/analog/default.nix b/nixpkgs/pkgs/tools/admin/analog/default.nix
index c6135e8d143f..d0731c1f5996 100644
--- a/nixpkgs/pkgs/tools/admin/analog/default.nix
+++ b/nixpkgs/pkgs/tools/admin/analog/default.nix
@@ -1,38 +1,38 @@
-{ stdenv, fetchurl, unzip }:
+{ stdenv, lib, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-
-  name = "analog-6.0.13";
-
-  buildInputs = [ unzip ];
-
-  src = fetchurl {
-    url = "http://www.c-amie.co.uk/static/analog/6013/analog-src-6013ce.zip";
-    sha256 = "1njfsclmxk8sn1i07k3qfk8fmsnz7qw9kmydk3bil7qjf4ngmzc6";
+  pname = "analog";
+  version = "6.0.15";
+
+  src = fetchFromGitHub {
+    owner = "c-amie";
+    repo = "analog-ce";
+    rev = version;
+    sha256 = "1clrx2xr3n5zh6gaavvdxkc127hayssxrplrd2qvw70givywza0m";
   };
 
   configurePhase = ''
     sed -i src/anlghead.h \
       -e "s|#define DEFAULTCONFIGFILE .*|#define DEFAULTCONFIGFILE \"$out/etc/analog.cfg\"|g" \
-      -e "s|#define LANGDIR .*|#define LANGDIR \"$out/share/${name}/lang/\"|g"
+      -e "s|#define LANGDIR .*|#define LANGDIR \"$out/share/$pname}/lang/\"|g"
   '';
 
   installPhase = ''
-    mkdir -p $out/bin $out/etc $out/share/doc/${name} $out/share/man/man1 $out/share/${name}
+    mkdir -p $out/bin $out/etc $out/share/doc/$pname $out/share/man/man1 $out/share/$pname
     mv analog $out/bin/
     cp examples/big.cfg $out/etc/analog.cfg
     mv analog.man $out/share/man/man1/analog.1
-    mv docs $out/share/doc/${name}/manual
-    mv how-to $out/share/doc/${name}/
-    mv lang images examples $out/share/${name}/
+    mv docs $out/share/doc/$pname/manual
+    mv how-to $out/share/doc/$pname/
+    mv lang images examples $out/share/$pname/
   '';
 
   meta = {
-    homepage = https://www.c-amie.co.uk/software/analog/;
-    license = stdenv.lib.licenses.gpl2;
+    homepage = "https://www.c-amie.co.uk/software/analog/";
+    license = lib.licenses.gpl2;
     description = "Powerful tool to generate web server statistics";
-    maintainers = [ stdenv.lib.maintainers.peti ];
-    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ lib.maintainers.peti ];
+    platforms = lib.platforms.linux;
   };
 
 }
diff --git a/nixpkgs/pkgs/tools/compression/lz4/default.nix b/nixpkgs/pkgs/tools/compression/lz4/default.nix
index 3ca56e91a9ec..3f2497cd8d22 100644
--- a/nixpkgs/pkgs/tools/compression/lz4/default.nix
+++ b/nixpkgs/pkgs/tools/compression/lz4/default.nix
@@ -1,18 +1,26 @@
-{ stdenv, fetchFromGitHub, valgrind
+{ stdenv, fetchFromGitHub, valgrind, fetchpatch
 , enableStatic ? false, enableShared ? true
 }:
 
 stdenv.mkDerivation rec {
-  name = "lz4-${version}";
+  pname = "lz4";
   version = "1.9.1";
 
   src = fetchFromGitHub {
     sha256 = "1l1caxrik1hqs40vj3bpv1pikw6b74cfazv5c0v6g48zpcbmshl0";
     rev = "v${version}";
-    repo = "lz4";
-    owner = "lz4";
+    repo = pname;
+    owner = pname;
   };
 
+  patches = [
+    # Fix detection of Darwin
+    (fetchpatch {
+      url = "https://github.com/lz4/lz4/commit/024216ef7394b6411eeaa5b52d0cec9953a44249.patch";
+      sha256 = "0j0j2pr6pkplxf083hlwl5q4cfp86q3wd8mc64bcfcr7ysc5pzl3";
+    })
+  ];
+
   outputs = [ "out" "dev" ];
 
   buildInputs = stdenv.lib.optional doCheck valgrind;
diff --git a/nixpkgs/pkgs/tools/filesystems/android-file-transfer/default.nix b/nixpkgs/pkgs/tools/filesystems/android-file-transfer/default.nix
index 6441ae5dbd1b..015408351fde 100644
--- a/nixpkgs/pkgs/tools/filesystems/android-file-transfer/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/android-file-transfer/default.nix
@@ -1,22 +1,19 @@
-{ lib, stdenv, fetchFromGitHub, cmake, fuse, readline, pkgconfig, qtbase }:
+{ stdenv, fetchFromGitHub, cmake, fuse, readline, pkgconfig, qtbase }:
 
 stdenv.mkDerivation rec {
-  name = "android-file-transfer-${version}";
-  version = "3.7";
+  pname = "android-file-transfer";
+  version = "3.8";
+
   src = fetchFromGitHub {
     owner = "whoozle";
     repo = "android-file-transfer-linux";
     rev = "v${version}";
-    sha256 = "0a388pqc0azgn0wy85wb1mjk3b5zb6vcr58l4warwfzhca400zn0";
+    sha256 = "0sym33a0ccdka2cpzv003n2xniid70z0gkjxx93gd2bajkgs9ggc";
   };
-  buildInputs = [ cmake fuse readline pkgconfig qtbase ];
-  buildPhase = ''
-    cmake .
-    make
-  '';
-  installPhase = ''
-    make install
-  '';
+
+  nativeBuildInputs = [ cmake readline pkgconfig ];
+  buildInputs = [ fuse qtbase ];
+
   meta = with stdenv.lib; {
     description = "Reliable MTP client with minimalistic UI";
     homepage = https://whoozle.github.io/android-file-transfer-linux/;
diff --git a/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix b/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix
index c33ae4e8304a..72e514fff6b0 100644
--- a/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   pname = "bcachefs-tools";
-  version = "2019-04-04";
+  version = "2019-05-08";
 
   src = fetchgit {
     url = "https://evilpiepirate.org/git/bcachefs-tools.git";
-    rev = "d13bbb2955f899f10be4ab315ad229d2951fdcda";
-    sha256 = "0cjy12qjd572sbg8h4i18fn001p6a6ahc4ljwids58nv83q99ll3";
+    rev = "93bdfcb2105afe7a45d512984b855ce97937cfc1";
+    sha256 = "125kjf66h9m31xvsanail1i10h4xld4fpv9gs9liqq91hdh0myyj";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/tools/filesystems/cpcfs/default.nix b/nixpkgs/pkgs/tools/filesystems/cpcfs/default.nix
new file mode 100644
index 000000000000..46635aa67412
--- /dev/null
+++ b/nixpkgs/pkgs/tools/filesystems/cpcfs/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchFromGitHub, makeWrapper, ncurses, readline, ronn }:
+
+stdenv.mkDerivation rec {
+
+  pname = "cpcfs";
+  version = "0.85.4";
+  
+  src = fetchFromGitHub {
+    owner = "derikz";
+    repo = "cpcfs";
+    rev = "v${version}";
+    sha256 = "0rfbry0qy8mv746mzk9zdfffkdgq4w7invgb5cszjma2cp83q3i2";
+  };
+
+  sourceRoot = "source/src";
+
+  nativeBuildInputs = [ makeWrapper ncurses readline ronn ];
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace '-ltermcap' '-lncurses' \
+      --replace '-L /usr/lib/termcap' ' '
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    mkdir -p $out/man/man1
+    cp cpcfs $out/bin
+    ronn --roff ../template.doc --pipe > $out/man/man1/cpcfs.1
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Manipulating CPC dsk images and files";
+    homepage = "https://github.com/derikz/cpcfs/" ;
+    license = licenses.bsd2;
+    maintainers = [ maintainers.genesis ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/filesystems/idsk/default.nix b/nixpkgs/pkgs/tools/filesystems/idsk/default.nix
index 617457f55b61..72ed4f0ee1b4 100644
--- a/nixpkgs/pkgs/tools/filesystems/idsk/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/idsk/default.nix
@@ -2,23 +2,14 @@
 
 stdenv.mkDerivation rec {
 
-  repo = "idsk";
-  version = "unstable-2018-02-11";
-  rev = "1846729ac3432aa8c2c0525be45cfff8a513e007";
-  name = "${repo}-${version}";
-
-  meta = with stdenv.lib; {
-    description = "Manipulating CPC dsk images and files";
-    homepage = https://github.com/cpcsdk/idsk ;
-    license = "unknown";
-    maintainers = [ maintainers.genesis ];
-    platforms = platforms.linux;
-  };
+  pname = "idsk";
+  version = "0.19";
 
   src = fetchFromGitHub {
-    inherit rev repo;
+    repo = "idsk";
     owner = "cpcsdk";
-    sha256 = "0d891lvf2nc8bys8kyf69k54rf3jlwqrcczbff8xi0w4wsiy5ckv";
+    rev = "v${version}";
+    sha256 = "0b4my5cz5kbzh4n65jr721piha6zixaxmfiss2zidip978k9rb6f";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -27,4 +18,12 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
     cp iDSK $out/bin
   '';
+
+  meta = with stdenv.lib; {
+    description = "Manipulating CPC dsk images and files";
+    homepage = "https://github.com/cpcsdk/idsk" ;
+    license = licenses.mit;
+    maintainers = [ maintainers.genesis ];
+    platforms = platforms.linux;
+  };
 }
diff --git a/nixpkgs/pkgs/tools/filesystems/mergerfs/default.nix b/nixpkgs/pkgs/tools/filesystems/mergerfs/default.nix
index 3a8d1d646be8..4d28869d1602 100644
--- a/nixpkgs/pkgs/tools/filesystems/mergerfs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/mergerfs/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, automake, autoconf, pkgconfig, gettext, libtool, pandoc, which, attr, libiconv }:
 
 stdenv.mkDerivation rec {
-  name = "mergerfs-${version}";
-  version = "2.25.1";
+  pname = "mergerfs";
+  version = "2.26.1";
 
   src = fetchFromGitHub {
     owner = "trapexit";
-    repo = "mergerfs";
+    repo = pname;
     rev = version;
-    sha256 = "1xrd18spp3wj25dd8513bah856w44gw8hilk190v13g6yafx64n6";
+    sha256 = "16dgm2n36n6k7s1nzprzsv5bdckk0x2s08qpcvc42ny6jbivpjn3";
   };
 
   nativeBuildInputs = [
@@ -17,21 +17,20 @@ stdenv.mkDerivation rec {
   buildInputs = [ attr libiconv ];
 
   preConfigure = ''
-    cat > src/version.hpp <<EOF
-    #pragma once
-    static const char MERGERFS_VERSION[] = "${version}";
-    EOF
+    echo "${version}" > VERSION
   '';
 
-  makeFlags = [ "PREFIX=$(out)" "XATTR_AVAILABLE=1" ];
+  makeFlags = [ "PREFIX=${placeholder "out"}" "XATTR_AVAILABLE=1" ];
+  enableParallelBuilding = true;
 
   postFixup = ''
-    ln -s $out/bin/mergerfs $out/bin/mount.fuse.mergerfs
+    ln -srf $out/bin/mergerfs $out/bin/mount.fuse.mergerfs
+    ln -srf $out/bin/mergerfs $out/bin/mount.mergerfs
   '';
 
   meta = {
     description = "A FUSE based union filesystem";
-    homepage = https://github.com/trapexit/mergerfs;
+    homepage = "https://github.com/trapexit/mergerfs";
     license = stdenv.lib.licenses.isc;
     platforms = stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [ jfrankenau makefu ];
diff --git a/nixpkgs/pkgs/tools/filesystems/mergerfs/tools.nix b/nixpkgs/pkgs/tools/filesystems/mergerfs/tools.nix
index 01f0de25a900..44337cf11619 100644
--- a/nixpkgs/pkgs/tools/filesystems/mergerfs/tools.nix
+++ b/nixpkgs/pkgs/tools/filesystems/mergerfs/tools.nix
@@ -2,14 +2,14 @@
 , rsync, python3, pythonPackages }:
 
 stdenv.mkDerivation rec {
-  name = "mergerfs-tools-${version}";
-  version = "20171221";
+  pname = "mergerfs-tools";
+  version = "20190411";
 
   src = fetchFromGitHub {
     owner = "trapexit";
-    repo = "mergerfs-tools";
-    rev = "9b4fe0097b5b51e1a7411a26eb344a24cc8ce1b4";
-    sha256 = "0qrixh3j58gzkmc8r2sgzgy56gm8bmhakwlc2gjb0yrpa1213na1";
+    repo = pname;
+    rev = "6e41fc5848c7cc4408caea86f3991c8cc2ac85a1";
+    sha256 = "0izswg6bya13scvb37l3gkl7mvi8q7l11p4hp4phdlcwh9jvdzcj";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = [
     "INSTALL=${coreutils}/bin/install"
-    "PREFIX=$(out)"
+    "PREFIX=${placeholder "out"}"
   ];
 
   postInstall = with stdenv.lib; ''
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Optional tools to help manage data in a mergerfs pool";
-    homepage = https://github.com/trapexit/mergerfs-tools;
+    homepage = "https://github.com/trapexit/mergerfs-tools";
     license = licenses.isc;
     platforms = platforms.linux;
     maintainers = with maintainers; [ jfrankenau ];
diff --git a/nixpkgs/pkgs/tools/filesystems/yandex-disk/default.nix b/nixpkgs/pkgs/tools/filesystems/yandex-disk/default.nix
index 6acb034d75b6..3b9e4a021080 100644
--- a/nixpkgs/pkgs/tools/filesystems/yandex-disk/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/yandex-disk/default.nix
@@ -4,18 +4,18 @@ let
   p = if stdenv.is64bit then {
       arch = "x86_64";
       gcclib = "${stdenv.cc.cc.lib}/lib64";
-      sha256 = "1skbzmrcjbw00a3jnbl2llqwz3ahsgvq74mjav68s2hw1wjidvk6";
+      sha256 = "1hxsizk3hm1465wkxwdbbcffgi3r64y3r0zsfzsvhvnzx4y5dadm";
     }
     else {
       arch = "i386";
       gcclib = "${stdenv.cc.cc.lib}/lib";
-      sha256 = "09h71i3k9d24ki81jdwhnav63fqbc44glbx228s9g3cr4ap41jcx";
+      sha256 = "1s829q8gy9xgz0jm7w70aljqs2h49x402blqfr9zvn806aprmrm5";
     };
 in
 stdenv.mkDerivation rec {
 
   name = "yandex-disk-${version}";
-  version = "0.1.5.978";
+  version = "0.1.5.1010";
 
   src = fetchurl {
     url = "https://repo.yandex.ru/yandex-disk/rpm/stable/${p.arch}/${name}-1.fedora.${p.arch}.rpm";
diff --git a/nixpkgs/pkgs/tools/misc/adafruit-ampy/default.nix b/nixpkgs/pkgs/tools/misc/adafruit-ampy/default.nix
new file mode 100644
index 000000000000..be47d42dc89f
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/adafruit-ampy/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, python3 }:
+
+with python3.pkgs;
+
+buildPythonApplication rec {
+  pname = "adafruit-ampy";
+  version = "1.0.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1dz5sksalccv4c3bzk3c1jxpg3s28lwlw8hfwc9dfxhw3a1np3fd";
+  };
+
+  nativeBuildInputs = [ setuptools_scm ];
+  propagatedBuildInputs = [ click python-dotenv pyserial ];
+
+  # No tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/pycampers/ampy";
+    license = licenses.mit;
+    description = "Utility to interact with a MicroPython board over a serial connection.";
+    maintainers = with maintainers; [ etu ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/getopt/builder.sh b/nixpkgs/pkgs/tools/misc/getopt/builder.sh
deleted file mode 100644
index a220ad0c66fb..000000000000
--- a/nixpkgs/pkgs/tools/misc/getopt/builder.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-source $stdenv/setup
-installFlags="prefix=$out"
-makeFlags="CFLAGS=-DWITHOUT_GETTEXT LIBCGETOPT=0"
-genericBuild
diff --git a/nixpkgs/pkgs/tools/misc/getopt/default.nix b/nixpkgs/pkgs/tools/misc/getopt/default.nix
index 8221bec6ccab..62414a604756 100644
--- a/nixpkgs/pkgs/tools/misc/getopt/default.nix
+++ b/nixpkgs/pkgs/tools/misc/getopt/default.nix
@@ -1,15 +1,19 @@
 {stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "getopt-1.1.4";
-  builder = ./builder.sh;
+stdenv.mkDerivation rec {
+  pname = "getopt";
+  version = "1.1.6";
   src = fetchurl {
-    url = http://tarballs.nixos.org/getopt-1.1.4.tar.gz;
-    sha256 = "1arvjfzw6p310zbgv629w5hkyslrj44imf3r3s2r4ry2jfcks221";
+    url = "http://frodo.looijaard.name/system/files/software/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "1zn5kp8ar853rin0ay2j3p17blxy16agpp8wi8wfg4x98b31vgyh";
   };
-  preBuild = ''
-    export buildFlags=CC="$CC" # for darwin
-  '';
+
+  makeFlags = [
+    "WITHOUT_GETTEXT=1"
+    "LIBCGETOPT=0"
+    "prefix=${placeholder "out"}"
+    "CC:=$(CC)"
+  ];
 
   meta = {
     platforms = stdenv.lib.platforms.unix;
diff --git a/nixpkgs/pkgs/tools/misc/memtest86+/default.nix b/nixpkgs/pkgs/tools/misc/memtest86+/default.nix
index 7bebc26d7ec2..b1d1971c75c7 100644
--- a/nixpkgs/pkgs/tools/misc/memtest86+/default.nix
+++ b/nixpkgs/pkgs/tools/misc/memtest86+/default.nix
@@ -1,23 +1,15 @@
 { stdenv, fetchgit }:
 
 stdenv.mkDerivation rec {
-  name = "memtest86+-5.01+coreboot-20180113";
+  pname = "memtest86+";
+  version = "5.01-coreboot-002";
 
   src = fetchgit {
-    url = "https://review.coreboot.org/memtest86plus";
-    rev = "5ca4eb9544e51254254d09ae6e70f93403469ec3";
-    sha256 = "08m4rjr0chhhb1whgggknz926zv9hm8bisnxqp8lffqiwhb55rgk";
+    url = "https://review.coreboot.org/memtest86plus.git";
+    rev = "v002";
+    sha256 = "0cwx20yja24bfknqh1rjb5rl2c0kwnppzsisg1dibbak0l8mxchk";
   };
 
-  preBuild = ''
-    # Really dirty hack to get Memtest to build without needing a Glibc
-    # with 32-bit libraries and headers.
-    if test "$system" = x86_64-linux; then
-        mkdir gnu
-        touch gnu/stubs-32.h
-    fi
-  '';
-
   NIX_CFLAGS_COMPILE = "-I. -std=gnu90";
 
   hardeningDisable = [ "all" ];
@@ -27,13 +19,11 @@ stdenv.mkDerivation rec {
   doCheck = false; # fails
 
   installPhase = ''
-    mkdir -p $out
-    chmod -x memtest.bin
-    cp memtest.bin $out/
+    install -Dm0444 -t $out/ memtest.bin
   '';
 
   meta = {
-    homepage = http://www.memtest.org/;
+    homepage = "http://www.memtest.org/";
     description = "A tool to detect memory errors";
     license = stdenv.lib.licenses.gpl2;
     platforms = [ "x86_64-linux" "i686-linux" ];
diff --git a/nixpkgs/pkgs/tools/misc/memtest86/default.nix b/nixpkgs/pkgs/tools/misc/memtest86/default.nix
deleted file mode 100644
index 2e364e33fc68..000000000000
--- a/nixpkgs/pkgs/tools/misc/memtest86/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchurl }:
-
-stdenv.mkDerivation {
-  name = "memtest86-4.3.6";
-  
-  src = fetchurl {
-    url = https://www.memtest86.com/downloads/memtest86-4.3.6-src.tar.gz;
-    sha256 = "0qbksyl2hmkm12n7zbmf2m2n3q811skhykxx6a9a7y6r7k8y5qmv";
-  };
-
-  preBuild = ''
-    # Really dirty hack to get Memtest to build without needing a Glibc
-    # with 32-bit libraries and headers.
-    if test "$system" = x86_64-linux; then
-        mkdir gnu
-        touch gnu/stubs-32.h
-    fi
-  '';
-
-  NIX_CFLAGS_COMPILE = "-I.";
-  
-  installPhase = ''
-    mkdir -p $out
-    cp memtest.bin $out/
-  '';
-
-  meta = {
-    homepage = http://memtest86.com/;
-    description = "A tool to detect memory errors, to be run from a bootloader";
-    broken = true;
-  };
-}
diff --git a/nixpkgs/pkgs/tools/misc/nyancat/default.nix b/nixpkgs/pkgs/tools/misc/nyancat/default.nix
new file mode 100644
index 000000000000..47a91915c431
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/nyancat/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "nyancat";
+  version = "1.5.2";
+
+  src = fetchFromGitHub {
+    owner = "klange";
+    repo = "nyancat";
+    rev = version;
+    sha256 = "1mg8nm5xzcq1xr8cvx24ym2vmafkw53rijllwcdm9miiz0p5ky9k";
+  };
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace /usr/bin "$out/bin" \
+      --replace /usr/share "$out/share"
+  '';
+
+  preInstall = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/man/man1
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Nyancat in your terminal, rendered through ANSI escape sequences.";
+    homepage = https://nyancat.dakko.us;
+    license = licenses.ncsa;
+    maintainers = with maintainers; [ midchildan ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/dnstracer/default.nix b/nixpkgs/pkgs/tools/networking/dnstracer/default.nix
index 5e2b27c6516c..5261fdb18960 100644
--- a/nixpkgs/pkgs/tools/networking/dnstracer/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dnstracer/default.nix
@@ -1,18 +1,25 @@
-{ stdenv, fetchurl, libresolv }:
+{ stdenv, fetchurl, libresolv, perl }:
 
 stdenv.mkDerivation rec {
-  version = "1.9";
-  name = "dnstracer-${version}";
+  version = "1.10";
+  pname = "dnstracer";
 
   src = fetchurl {
-    url = "https://www.mavetju.org/download/${name}.tar.gz";
-    sha256 = "177y58smnq2xhx9lbmj1gria371iv3r1d132l2gjvflkjsphig1f";
+    url = "https://www.mavetju.org/download/${pname}-${version}.tar.bz2";
+    sha256 = "089bmrjnmsga2n0r4xgw4bwbf41xdqsnmabjxhw8lngg2pns1kb4";
   };
 
   outputs = [ "out" "man" ];
 
+  nativeBuildInputs = [ perl /* for pod2man */ ];
+
   setOutputFlags = false;
 
+  installPhase = ''
+    install -Dm755 -t $out/bin dnstracer
+    install -Dm755 -t $man/share/man/man8 dnstracer.8
+  '';
+
   buildInputs = [] ++ stdenv.lib.optionals stdenv.isDarwin [ libresolv ];
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lresolv";
diff --git a/nixpkgs/pkgs/tools/networking/horst/default.nix b/nixpkgs/pkgs/tools/networking/horst/default.nix
index c7d06274bea0..ba76c37a4bba 100644
--- a/nixpkgs/pkgs/tools/networking/horst/default.nix
+++ b/nixpkgs/pkgs/tools/networking/horst/default.nix
@@ -2,25 +2,19 @@
 
 stdenv.mkDerivation rec {
   name = "horst-${version}";
-  version = "5.0";
+  version = "5.1";
 
   src = fetchFromGitHub {
     owner = "br101";
     repo = "horst";
-    rev = "version-${version}";
-    sha256 = "0m7gc6dj816z8wyq5bdkqj7fw6rmxaah84s34ncsaispz2llva1x";
+    rev = "v${version}";
+    sha256 = "140pyv6rlsh4c745w4b59pz3hrarr39qq3mz9z1lsd3avc12nx1a";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ ncurses libnl ];
 
-  installPhase = ''
-    mkdir -p $out/bin
-    mv horst $out/bin
-
-    mkdir -p $out/man/man1
-    cp horst.1 $out/man/man1
-  '';
+  installFlags = [ "DESTDIR=${placeholder "out"}" ];
 
   meta = with stdenv.lib; {
     description = "Small and lightweight IEEE802.11 wireless LAN analyzer with a text interface";
diff --git a/nixpkgs/pkgs/tools/networking/miniupnpc/default.nix b/nixpkgs/pkgs/tools/networking/miniupnpc/default.nix
index 88b4b7fab88f..82b961b6a12a 100644
--- a/nixpkgs/pkgs/tools/networking/miniupnpc/default.nix
+++ b/nixpkgs/pkgs/tools/networking/miniupnpc/default.nix
@@ -28,8 +28,8 @@ let
     };
 in {
   miniupnpc_2 = generic {
-    version = "2.1";
-    sha256 = "1ik440yspbp3clr4m01xsl9skwyrzcvzb5nbm3i0g9x53vhbb7z1";
+    version = "2.1.20190408";
+    sha256 = "1v0l2m8j7r6jiy871d6v11ls243xqn6s3856iwd3bmk5c37npi50";
   };
   miniupnpc_1 = generic {
     version = "1.9.20160209";
diff --git a/nixpkgs/pkgs/tools/networking/miniupnpd/default.nix b/nixpkgs/pkgs/tools/networking/miniupnpd/default.nix
index f3cd9ea6a819..f65c0c63370b 100644
--- a/nixpkgs/pkgs/tools/networking/miniupnpd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/miniupnpd/default.nix
@@ -6,11 +6,11 @@ let
   scriptBinEnv = lib.makeBinPath [ which iproute iptables gnused coreutils gawk ];
 in
 stdenv.mkDerivation rec {
-  name = "miniupnpd-2.1";
+  name = "miniupnpd-2.1.20190502";
 
   src = fetchurl {
     url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz";
-    sha256 = "1hg0zzvvzfgpnmngmd3ffnsk9x18lwlxlpw5jgh7y6b1jrvr824m";
+    sha256 = "1m8d0g9b0bjwsnqccw1yapp6n0jghmgzwixwjflwmvi2fi6hdp4b";
     name = "${name}.tar.gz";
   };
 
diff --git a/nixpkgs/pkgs/tools/networking/network-manager/default.nix b/nixpkgs/pkgs/tools/networking/network-manager/default.nix
index 79913d439687..f6077b8c2f83 100644
--- a/nixpkgs/pkgs/tools/networking/network-manager/default.nix
+++ b/nixpkgs/pkgs/tools/networking/network-manager/default.nix
@@ -61,13 +61,6 @@ in stdenv.mkDerivation rec {
     # Meson does not support using different directories during build and
     # for installation like Autotools did with flags passed to make install.
     ./fix-install-paths.patch
-
-    # Our gobject-introspection patches make the shared library paths absolute
-    # in the GIR files. When building docs, the library is not yet installed,
-    # though, so we need to replace the absolute path with a local one during build.
-    # We are replacing the variables in postPatch since substituteAll does not support
-    # placeholders.
-    ./fix-docs-build.patch
   ];
 
   buildInputs = [
@@ -91,10 +84,15 @@ in stdenv.mkDerivation rec {
   postPatch = ''
     patchShebangs ./tools
     patchShebangs libnm/generate-setting-docs.py
+  '';
 
-    substituteInPlace libnm/meson.build \
-      --subst-var-by DOCS_LD_PRELOAD "${libredirect}/lib/libredirect.so" \
-      --subst-var-by DOCS_NIX_REDIRECTS "${placeholder "out"}/lib/libnm.so.0=$PWD/build/libnm/libnm.so.0"
+  preBuild = ''
+    # Our gobject-introspection patches make the shared library paths absolute
+    # in the GIR files. When building docs, the library is not yet installed,
+    # though, so we need to replace the absolute path with a local one during build.
+    # We are using a symlink that will be overridden during installation.
+    mkdir -p ${placeholder "out"}/lib
+    ln -s $PWD/libnm/libnm.so.0 ${placeholder "out"}/lib/libnm.so.0
   '';
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/tools/networking/network-manager/fix-docs-build.patch b/nixpkgs/pkgs/tools/networking/network-manager/fix-docs-build.patch
deleted file mode 100644
index 45e18c42fbe1..000000000000
--- a/nixpkgs/pkgs/tools/networking/network-manager/fix-docs-build.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/libnm/meson.build
-+++ b/libnm/meson.build
-@@ -262,6 +262,8 @@
-     'env', '-i',
-     'GI_TYPELIB_PATH=' + gi_typelib_path,
-     'LD_LIBRARY_PATH=' + ld_library_path,
-+    'LD_PRELOAD=' + '@DOCS_LD_PRELOAD@',
-+    'NIX_REDIRECTS=' + '@DOCS_NIX_REDIRECTS@',
-   ]
- 
-   name = 'nm-property-docs.xml'
diff --git a/nixpkgs/pkgs/tools/networking/ngrok-2/default.nix b/nixpkgs/pkgs/tools/networking/ngrok-2/default.nix
index 89d6a9b454da..686bb1d7ebf3 100644
--- a/nixpkgs/pkgs/tools/networking/ngrok-2/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ngrok-2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, patchelfUnstable }:
 
 with stdenv.lib;
 
@@ -24,13 +24,18 @@ stdenv.mkDerivation {
 
   sourceRoot = ".";
 
+  nativeBuildInputs = [ patchelfUnstable ];
+
   unpackPhase = "cp $src ngrok";
 
   buildPhase = "chmod a+x ngrok";
 
   installPhase = ''
     install -D ngrok $out/bin/ngrok
-  '';
+
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+              $out/bin/ngrok
+    '';
 
   passthru.updateScript = ./update.sh;
 
diff --git a/nixpkgs/pkgs/tools/networking/ngrok-2/versions.json b/nixpkgs/pkgs/tools/networking/ngrok-2/versions.json
index 3d7aa8a56b6c..591e54a6f815 100644
--- a/nixpkgs/pkgs/tools/networking/ngrok-2/versions.json
+++ b/nixpkgs/pkgs/tools/networking/ngrok-2/versions.json
@@ -1,32 +1,32 @@
 {
   "linux-386": {
     "sys": "linux-386",
-    "url": "https://bin.equinox.io/a/jqJ2Vvh67gW/ngrok-2.3.18-linux-386",
-    "sha256": "2bebb8f39a3c19ca03eaf786b97c92876216d2297046e85271478edef2cd6404",
-    "version": "2.3.18"
+    "url": "https://bin.equinox.io/a/6i2VnqLBZqg/ngrok-2.3.29-linux-386",
+    "sha256": "c0859f783e66a661dc1490e0cec95dfcce0ae77deaf0aa1838613afcbd8f9451",
+    "version": "2.3.29"
   },
   "linux-amd64": {
     "sys": "linux-amd64",
-    "url": "https://bin.equinox.io/a/ik4d9aurG9/ngrok-2.3.18-linux-amd64",
-    "sha256": "75e19c343a208bf0e2d3b613d2fa3ce67abbf25c04a1d6be670598a4c25c1694",
-    "version": "2.3.18"
+    "url": "https://bin.equinox.io/a/6ws4BqFTLXR/ngrok-2.3.29-linux-amd64",
+    "sha256": "625e85af6d366be4cc54ba296a6e66d3311b99db36e6ea5fe7f88941874daabb",
+    "version": "2.3.29"
   },
   "linux-arm": {
     "sys": "linux-arm",
-    "url": "https://bin.equinox.io/a/c2KRZoJ5cb6/ngrok-2.3.18-linux-arm",
-    "sha256": "af4cdb9f116104921d7fbeeac9124e545a45495b3623b2b46da996400c305d9c",
-    "version": "2.3.18"
+    "url": "https://bin.equinox.io/a/3Qx4EX7AtXt/ngrok-2.3.29-linux-arm",
+    "sha256": "8a2ec453b407bb0983d22819f3b76044100870888cc976fbf76ced18e6f66fa7",
+    "version": "2.3.29"
   },
   "linux-arm64": {
     "sys": "linux-arm64",
-    "url": "https://bin.equinox.io/a/b2NBP9tpq2E/ngrok-2.3.18-linux-arm64",
-    "sha256": "9e5fa5b83dc65803291b59867c664085de248a4adb3d415c4dbba1dae90a0aaf",
-    "version": "2.3.18"
+    "url": "https://bin.equinox.io/a/7qbe9PkG69E/ngrok-2.3.29-linux-arm64",
+    "sha256": "c49a9c95dc0128e8129f9b7291b5049a45d13f27bb309ca8af59e498f98b97d0",
+    "version": "2.3.29"
   },
   "darwin-amd64": {
     "sys": "darwin-amd64",
-    "url": "https://bin.equinox.io/a/879TXbRQQRV/ngrok-2.3.18-darwin-amd64",
-    "sha256": "abb643bdba7ade5dabd60488b866804d814a41d4d7144fa09e01c9260e93659d",
-    "version": "2.3.18"
+    "url": "https://bin.equinox.io/a/eqL9fYWPxoV/ngrok-2.3.29-darwin-amd64",
+    "sha256": "916ad7b4706e4c770eb58667c5beabf227daa1ad35bbbee41883eb2bce3f254b",
+    "version": "2.3.29"
   }
 }
diff --git a/nixpkgs/pkgs/tools/networking/openvpn/default.nix b/nixpkgs/pkgs/tools/networking/openvpn/default.nix
index 3bcb1460a700..732687ecfa15 100644
--- a/nixpkgs/pkgs/tools/networking/openvpn/default.nix
+++ b/nixpkgs/pkgs/tools/networking/openvpn/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig
+{ stdenv, fetchurl, fetchpatch, pkgconfig
 , iproute, lzo, openssl, pam
 , useSystemd ? stdenv.isLinux, systemd ? null, utillinux ? null
 , pkcs11Support ? false, pkcs11helper ? null,
@@ -33,6 +33,13 @@ in stdenv.mkDerivation rec {
                   ++ optional useSystemd systemd
                   ++ optional pkcs11Support pkcs11helper;
 
+  patches = [
+    ( fetchpatch {
+      url = "https://sources.debian.org/data/main/o/openvpn/2.4.7-1/debian/patches/fix-pkcs11-helper-hang.patch";
+      sha256 = "0c8jzbfsmb0mm9f7kkjxac1hk8q6igm267s687vx3mdqs1wys6bm";
+    })
+  ];
+
   configureFlags = optionals stdenv.isLinux [
     "--enable-iproute2"
     "IPROUTE=${iproute}/sbin/ip" ]
diff --git a/nixpkgs/pkgs/tools/networking/ubridge/default.nix b/nixpkgs/pkgs/tools/networking/ubridge/default.nix
index 715a480e28dd..f6afddaba381 100644
--- a/nixpkgs/pkgs/tools/networking/ubridge/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ubridge/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "ubridge-${version}";
-  version = "0.9.15";
+  version = "0.9.16";
 
   src = fetchFromGitHub {
     owner = "GNS3";
     repo = "ubridge";
     rev = "v${version}";
-    sha256 = "0fl07zyall04map6v2l1bclqh8y3rrhsx61s2v0sr8b00j201jg4";
+    sha256 = "1bind7ylgxs743vfdmpdrpp4iamy461bc3i7nxza91kj7hyyjz6h";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/security/b2sum/default.nix b/nixpkgs/pkgs/tools/security/b2sum/default.nix
index f9d2855e739f..16811d8f8897 100644
--- a/nixpkgs/pkgs/tools/security/b2sum/default.nix
+++ b/nixpkgs/pkgs/tools/security/b2sum/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ openmp ];
 
-  buildFlags = [ (optional (isNull openmp) "NO_OPENMP=1") ];
+  buildFlags = [ (optional (openmp == null) "NO_OPENMP=1") ];
   installFlags = [ "PREFIX=$(out)" ];
 
   meta = {
diff --git a/nixpkgs/pkgs/tools/security/bettercap/default.nix b/nixpkgs/pkgs/tools/security/bettercap/default.nix
index f7e09d54de16..c72bc6d8b9e8 100644
--- a/nixpkgs/pkgs/tools/security/bettercap/default.nix
+++ b/nixpkgs/pkgs/tools/security/bettercap/default.nix
@@ -1,20 +1,20 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, pkgconfig, libpcap, libnfnetlink, libnetfilter_queue }:
+{ stdenv, buildGoPackage, fetchFromGitHub, pkgconfig, libpcap, libnfnetlink, libnetfilter_queue, libusb1 }:
 
 buildGoPackage rec {
-  name = "bettercap-${version}";
-  version = "2.11";
+  pname = "bettercap";
+  version = "2.24";
 
   goPackagePath = "github.com/bettercap/bettercap";
 
   src = fetchFromGitHub {
-    owner = "bettercap";
-    repo = "bettercap";
+    owner = pname;
+    repo = pname;
     rev = "v${version}";
-    sha256 = "08hd7hk0jllfhdiky1f5pfsvl1x0bkgv1p4z9qvsksdg9a7qjznw";
+    sha256 = "1f8bzxbcyf0bpyqj6hz4l8dp5xknnb537xy9y5skcznp03i44h55";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libpcap libnfnetlink libnetfilter_queue ];
+  buildInputs = [ libpcap libnfnetlink libnetfilter_queue libusb1 ];
 
   goDeps = ./deps.nix;
 
diff --git a/nixpkgs/pkgs/tools/security/bettercap/deps.nix b/nixpkgs/pkgs/tools/security/bettercap/deps.nix
index cbfe7c54dad9..ef09a821317e 100644
--- a/nixpkgs/pkgs/tools/security/bettercap/deps.nix
+++ b/nixpkgs/pkgs/tools/security/bettercap/deps.nix
@@ -10,12 +10,39 @@
     };
   }
   {
+    goPackagePath  = "github.com/antchfx/jsonquery";
+    fetch = {
+      type = "git";
+      url = "https://github.com/antchfx/jsonquery";
+      rev =  "a2896be8c82bb2229d1cf26204863180e34b2b31";
+      sha256 = "0mh6v21i3v3sxqjln7vph6wx3sm79p99010in9am1wh7k30rrjl5";
+    };
+  }
+  {
+    goPackagePath  = "github.com/antchfx/xpath";
+    fetch = {
+      type = "git";
+      url = "https://github.com/antchfx/xpath";
+      rev =  "ce1d48779e67a1ddfb380995fe532b2e0015919c";
+      sha256 = "0brd75mhd5ix7rz1ijhbggyp53v6g8kz9bc2n7g6zwavzxarfj5p";
+    };
+  }
+  {
     goPackagePath  = "github.com/bettercap/gatt";
     fetch = {
       type = "git";
       url = "https://github.com/bettercap/gatt";
-      rev =  "66e7446993acb3de936b3f487e5933522ed16923";
-      sha256 = "0hvm59zpbghgw8fq9yr4dd2x3209ii9856qklflkz2ywf7vryjqq";
+      rev =  "fac16c0ad797bbccae1fe4acf49761b98f7516e7";
+      sha256 = "08pyg4caw7lzb230l3k4rwgvn68zz6kmrlsdapaf3wa216pphyd9";
+    };
+  }
+  {
+    goPackagePath  = "github.com/bettercap/nrf24";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bettercap/nrf24";
+      rev =  "aa37e6d0e0eb125cee9ec71ed694db2ad58b509a";
+      sha256 = "1y6ffcj94hk7slajqw3lqpdxzx6iqpj2i2zpsvggg6kfaa1iklnj";
     };
   }
   {
@@ -28,6 +55,15 @@
     };
   }
   {
+    goPackagePath  = "github.com/bettercap/recording";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bettercap/recording";
+      rev =  "3ce1dcf032e391eb321311b34cdf31c6fc9523f5";
+      sha256 = "1arh12iz15anyrqr4q496lpd0gx5nf2cwyr5rv17rawqqz8ydg23";
+    };
+  }
+  {
     goPackagePath  = "github.com/chifflier/nfqueue-go";
     fetch = {
       type = "git";
@@ -50,8 +86,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/elazarl/goproxy";
-      rev =  "f58a169a71a51037728990b2d3597a14f56b525b";
-      sha256 = "103crrh6zwdwcj7j6z63rbm467nff3r1rvpwdk0qj8x275zi45g6";
+      rev =  "9d40249d3c2f14d1a9d75e070a738362adeb5a83";
+      sha256 = "0hpzna9dvs2ff0bj8baz3sc5gg49vqmb0cbi6p061lmwl09cd00i";
     };
   }
   {
@@ -59,8 +95,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/evilsocket/islazy";
-      rev =  "3d8400c74f9dbc626d913e0575cda05d914bea57";
-      sha256 = "0yfqvcxaympfgsda0jhqnaqhbhic2irdjn0h2bppz4misjv6sxn9";
+      rev =  "c5c7a41bb1c20e6df409825ed24af8de5fb7fb70";
+      sha256 = "1ayc4di6584yajybh724mcmng069q38j1dpljgi8fhsyhb4sila3";
     };
   }
   {
@@ -95,17 +131,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/google/gopacket";
-      rev =  "d67ddb98d5a1b7c79a8977ec2d552e1db45eda86";
-      sha256 = "0pk4hddx6fnbbjjgi86vx12xs5d8591dlkx1q5cswc0jghymbplh";
+      rev =  "v1.1.16";
+      sha256 = "1vnjgjz52l1bzrhx70qpvmwandf8v13zhiaj3rdljsphdp5cgadi";
     };
   }
   {
-    goPackagePath  = "github.com/gorilla/context";
+    goPackagePath  = "github.com/google/gousb";
     fetch = {
       type = "git";
-      url = "https://github.com/gorilla/context";
-      rev =  "08b5f424b9271eedf6f9f0ce86cb9396ed337a42";
-      sha256 = "03p4hn87vcmfih0p9w663qbx9lpsf7i7j3lc7yl7n84la3yz63m4";
+      url = "https://github.com/google/gousb";
+      rev =  "64d82086770b8b671e1e7f162372dd37f1f5efba";
+      sha256 = "1kjgg8cdp8wz9rck4nh48pcia741p7a8w2nikhzxsscn0ld33109";
     };
   }
   {
@@ -113,8 +149,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/gorilla/mux";
-      rev =  "e3702bed27f0d39777b0b37b664b6280e8ef8fbf";
-      sha256 = "0pvzm23hklxysspnz52mih6h1q74vfrdhjfm1l3sa9r8hhqmmld2";
+      rev =  "c5c6c98bc25355028a63748a498942a6398ccd22";
+      sha256 = "0im4da3hqxb6zr8g3m640qz234f5gs0a8hqhcz35mkvfqlv48f62";
     };
   }
   {
@@ -127,6 +163,15 @@
     };
   }
   {
+    goPackagePath  = "github.com/hashicorp/mdns";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/mdns";
+      rev =  "06dd1a31b32c42d4d6c2cf8dbce70597d1118f54";
+      sha256 = "185zpyj1jf1jm7hihg73gqnspr0a359aqwv11v4a6mwd5bkdh19j";
+    };
+  }
+  {
     goPackagePath  = "github.com/inconshreveable/go-vhost";
     fetch = {
       type = "git";
@@ -140,8 +185,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/jpillora/go-tld";
-      rev =  "4bfc8d9a90b591e101a56265afc2239359fb0810";
-      sha256 = "04pv1rwpfq3ip3vn0yfixxczcnv56w1l0z8bp4fjscw1bfqbb4pn";
+      rev =  "f16ca3b7b383d3f0373109cac19147de3e8ae2d1";
+      sha256 = "19v8bj14w0lcvysaw84klf5dg6ka351ixz9r6cd9mksdd80nvzcq";
+    };
+  }
+  {
+    goPackagePath  = "github.com/kr/binarydist";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/binarydist";
+      rev =  "88f551ae580780cc79d12ab4c218ba1ca346b83a";
+      sha256 = "0hz1yqlxmkdib8xsdkkvn4ian4i69jmfapadim9fhj632d6jpi7w";
     };
   }
   {
@@ -158,8 +212,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mattn/go-colorable";
-      rev =  "167de6bfdfba052fa6b2d3664c8f5272e23c9072";
-      sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx";
+      rev =  "3a70a971f94a22f2fa562ffcc7a0eb45f5daf045";
+      sha256 = "0l640974j804c1yyjfgyxqlsivz0yrzmbql4mhcw2azryigkp08p";
     };
   }
   {
@@ -167,8 +221,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mattn/go-isatty";
-      rev =  "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c";
-      sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w";
+      rev =  "c2a7a6ca930a4cd0bc33a3f298eb71960732a3a7";
+      sha256 = "1i77aq4gf9as03m8fpfh8fq49n4z9j7548blrcsidm1xhslzk5xd";
     };
   }
   {
@@ -176,8 +230,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mdlayher/dhcp6";
-      rev =  "e26af0688e455a82b14ebdbecf43f87ead3c4624";
-      sha256 = "0fvw8zz2yhla03jfb79bby9vg4rbmaj39v00ypb8yl4fb696zfip";
+      rev =  "2a67805d7d0b0bad6c1103058981afdea583b459";
+      sha256 = "0xn7canpik3lrz73dcz4jzapq1bfxpnashvjvnvshcpa2n1lh8yw";
     };
   }
   {
@@ -185,8 +239,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mdlayher/raw";
-      rev =  "67a536258490ec29bca6d465b51dea32c0db3623";
-      sha256 = "1fba4c6kc7llwr4n5rsspsc3yb0c81xsqzxv86wnj1b0d8l2s7nr";
+      rev =  "480b93709cce56651807d3fdeb260a5a7c4e2d5f";
+      sha256 = "0a0zlznk67nhpmgp21hxsbhyl5lvlkmwy5xvm3d3q0yaq0rqnh2x";
     };
   }
   {
@@ -208,12 +262,21 @@
     };
   }
   {
+    goPackagePath  = "github.com/miekg/dns";
+    fetch = {
+      type = "git";
+      url = "https://github.com/miekg/dns";
+      rev =  "8aa92d4e02c501ba21e26fb92cf2fb9f23f56917";
+      sha256 = "1niymj11xv82ghif3p7i60bgj0lqskwm7fmrzfjchd8wxwbk4bbi";
+    };
+  }
+  {
     goPackagePath  = "github.com/pkg/errors";
     fetch = {
       type = "git";
       url = "https://github.com/pkg/errors";
-      rev =  "645ef00459ed84a119197bfb8d8205042c6df63d";
-      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
+      rev =  "ba968bfe8b2f7e042a574c888954fccecfa385b4";
+      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
     };
   }
   {
@@ -235,12 +298,21 @@
     };
   }
   {
+    goPackagePath  = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev =  "a29dc8fdc73485234dbef99ebedb95d2eced08de";
+      sha256 = "07f0jj4haqs0ywc1akk1qjwn5msl2j0pry1rxjkkbfcq4r6ihc1p";
+    };
+  }
+  {
     goPackagePath  = "golang.org/x/net";
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev =  "49bb7cea24b1df9410e1712aa6433dae904ff66a";
-      sha256 = "111q4qm3hcjvzvyv9y5rz8ydnyg48rckcygxqy6gv63q618wz6gn";
+      rev =  "9ce7a6920f093fc0b908c4a5f66ae049110f417e";
+      sha256 = "1kbs85jsqbv4v89ii2zam4b8dhmllhsrf46njmi09x0w6s0b9cbk";
     };
   }
   {
@@ -248,8 +320,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev =  "fa43e7bc11baaae89f3f902b2b4d832b68234844";
-      sha256 = "1z96xhgw930jpd53g1sy9x6wiijgz751czbvr2zzgc55y0md1mfw";
+      rev =  "d89cdac9e8725f2aefce25fcbfef41134c9ad412";
+      sha256 = "0iazr13ir6i267nb2w81lc3pr740wdjs86nsliwpf90kkgzn853f";
     };
   }
   {
diff --git a/nixpkgs/pkgs/tools/security/fprintd/default.nix b/nixpkgs/pkgs/tools/security/fprintd/default.nix
index 65eec89a09fc..b43be1a69240 100644
--- a/nixpkgs/pkgs/tools/security/fprintd/default.nix
+++ b/nixpkgs/pkgs/tools/security/fprintd/default.nix
@@ -1,8 +1,9 @@
-{ stdenv, fetchurl, pkgconfig, intltool
-, libfprint, glib, dbus-glib, polkit, nss, pam, systemd }:
+{ thinkpad ? false
+, stdenv, fetchurl, pkgconfig, intltool, libfprint-thinkpad ? null
+, libfprint ? null, glib, dbus-glib, polkit, nss, pam, systemd }:
 
 stdenv.mkDerivation rec {
-  name = "fprintd-${version}";
+  pname = "fprintd" + stdenv.lib.optionalString thinkpad "-thinkpad";
   version = "0.8.1";
 
   src = fetchurl {
@@ -10,7 +11,10 @@ stdenv.mkDerivation rec {
     sha256 = "124s0g9syvglgsmqnavp2a8c0zcq8cyaph8p8iyvbla11vfizs9l";
   };
 
-  buildInputs = [ libfprint glib dbus-glib polkit nss pam systemd ];
+  buildInputs = [ glib dbus-glib polkit nss pam systemd ]
+    ++ stdenv.lib.optional thinkpad libfprint-thinkpad
+    ++ stdenv.lib.optional (!thinkpad) libfprint;
+
   nativeBuildInputs = [ pkgconfig intltool ];
 
   configureFlags = [ "--with-systemdsystemunitdir=$(out)/lib/systemd/system" "--localstatedir=/var" ];
diff --git a/nixpkgs/pkgs/tools/security/monkeysphere/default.nix b/nixpkgs/pkgs/tools/security/monkeysphere/default.nix
index af507dbf993b..ed1cda8030f2 100644
--- a/nixpkgs/pkgs/tools/security/monkeysphere/default.nix
+++ b/nixpkgs/pkgs/tools/security/monkeysphere/default.nix
@@ -2,7 +2,7 @@
 , perl, libassuan, libgcrypt
 , perlPackages, lockfileProgs, gnupg, coreutils
 # For the tests:
-, bash, openssh, which, socat, cpio, hexdump, openssl
+, bash, openssh, which, socat, cpio, hexdump, procps, openssl
 }:
 
 let
@@ -14,14 +14,14 @@ let
   });
 in stdenv.mkDerivation rec {
   name = "monkeysphere-${version}";
-  version = "0.43";
+  version = "0.44";
 
   # The patched OpenSSH binary MUST NOT be used (except in the check phase):
   disallowedRequisites = [ opensshUnsafe ];
 
   src = fetchurl {
     url = "http://archive.monkeysphere.info/debian/pool/monkeysphere/m/monkeysphere/monkeysphere_${version}.orig.tar.gz";
-    sha256 = "18i7qpvp5qb7mmd0z5rqai550rya9l3nbsq2hamwkl3smqsjdqc0";
+    sha256 = "1ah7hy8r9gj96pni8azzjb85454qky5l17m3pqn37854l6grgika";
   };
 
   patches = [ ./monkeysphere.patch ];
@@ -33,7 +33,7 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ perl libassuan libgcrypt ]
     ++ stdenv.lib.optional doCheck
-      ([ gnupg opensshUnsafe which socat cpio hexdump lockfileProgs ] ++
+      ([ gnupg opensshUnsafe which socat cpio hexdump procps lockfileProgs ] ++
       (with perlPackages; [ CryptOpenSSLRSA CryptOpenSSLBignum ]));
 
   makeFlags = ''
@@ -60,7 +60,7 @@ in stdenv.mkDerivation rec {
   postFixup =
     let wrapperArgs = runtimeDeps:
           "--prefix PERL5LIB : "
-          + (with perlPackages; makePerlPath [
+          + (with perlPackages; makePerlPath [ # Optional (only required for keytrans)
               CryptOpenSSLRSA
               CryptOpenSSLBignum
             ])
@@ -73,7 +73,7 @@ in stdenv.mkDerivation rec {
           (wrapMonkeysphere runtimeDeps)
           programs;
     in wrapPrograms [ gnupg ] [ "monkeysphere-authentication" "monkeysphere-host" ]
-      + wrapPrograms [ lockfileProgs ] [ "monkeysphere" ]
+      + wrapPrograms [ gnupg lockfileProgs ] [ "monkeysphere" ]
       + ''
         # These 4 programs depend on the program name ($0):
         for program in openpgp2pem openpgp2spki openpgp2ssh pem2openpgp; do
diff --git a/nixpkgs/pkgs/tools/security/monkeysphere/monkeysphere.patch b/nixpkgs/pkgs/tools/security/monkeysphere/monkeysphere.patch
index 0a05635d6a80..8cdd85017b93 100644
--- a/nixpkgs/pkgs/tools/security/monkeysphere/monkeysphere.patch
+++ b/nixpkgs/pkgs/tools/security/monkeysphere/monkeysphere.patch
@@ -10,15 +10,6 @@ diff --git a/Makefile b/Makefile
  	-e 's:__SYSCONFDIR_PREFIX__:$(ETCPREFIX):' \
  	-e 's:__SYSDATADIR_PREFIX__:$(LOCALSTATEDIR):'
  
-diff --git a/src/share/checkperms b/src/share/checkperms
---- a/src/share/checkperms
-+++ b/src/share/checkperms
-@@ -1,4 +1,4 @@
--#!/usr/bin/perl -T
-+#!/usr/bin/perl
- 
- # checkperms: ensure as best we can that a given file can only be
- # modified by the given user (or the superuser, naturally).  This
 diff --git a/src/share/keytrans b/src/share/keytrans
 --- a/src/share/keytrans
 +++ b/src/share/keytrans
@@ -28,17 +19,5 @@ diff --git a/src/share/keytrans b/src/share/keytrans
  
  # keytrans: this is an RSA key translation utility; it is capable of
  # transforming RSA keys (both public keys and secret keys) between
-diff --git a/tests/basic b/tests/basic
---- a/tests/basic
-+++ b/tests/basic
-@@ -343,7 +340,7 @@ if [ "$MONKEYSPHERE_TEST_USE_ED25519" = true ]; then
-     echo "### generating ed25519 key for testuser..."
-     # from the imported secret key
-     USER_FPR=8A4B353B4CBA6F30625498BAE00B5EEEBA79B482
--    gpg --quick-add-key "$USER_FPR" ed25519 auth 2d
-+    gpg --no-tty --quick-add-key "$USER_FPR" ed25519 auth 2d
- else
-     echo "### generating standard monkeysphere key for testuser..."
-     monkeysphere gen-subkey
 -- 
 2.16.3
diff --git a/nixpkgs/pkgs/tools/security/spectre-meltdown-checker/default.nix b/nixpkgs/pkgs/tools/security/spectre-meltdown-checker/default.nix
index 256423892c48..a3e6468c4fee 100644
--- a/nixpkgs/pkgs/tools/security/spectre-meltdown-checker/default.nix
+++ b/nixpkgs/pkgs/tools/security/spectre-meltdown-checker/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "spectre-meltdown-checker-${version}";
-  version = "0.40";
+  version = "0.41";
 
   src = fetchFromGitHub {
     owner = "speed47";
     repo = "spectre-meltdown-checker";
     rev = "v${version}";
-    sha256 = "0lhykc2andl0611bbs9b5dzp7c753crppvir2i7aw6bgwis23gjs";
+    sha256 = "0byjp7ph7g9di9xlg1fvspgq995a3b2yajq7sc8qap46ywvqr899";
   };
 
   prePatch = ''
diff --git a/nixpkgs/pkgs/tools/system/osquery/default.nix b/nixpkgs/pkgs/tools/system/osquery/default.nix
index 1e2882e1f1fe..1c1da724676d 100644
--- a/nixpkgs/pkgs/tools/system/osquery/default.nix
+++ b/nixpkgs/pkgs/tools/system/osquery/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = let
     gflags' = google-gflags.overrideAttrs (old: {
-      cmakeFlags = stdenv.lib.filter (f: isNull (builtins.match ".*STATIC.*" f)) old.cmakeFlags;
+      cmakeFlags = stdenv.lib.filter (f: (builtins.match ".*STATIC.*" f) == null) old.cmakeFlags;
     });
 
     # use older `lvm2` source for osquery, the 2.03 sourcetree
diff --git a/nixpkgs/pkgs/tools/text/kdiff3/default.nix b/nixpkgs/pkgs/tools/text/kdiff3/default.nix
index 514085bee64e..aa53aeb42061 100644
--- a/nixpkgs/pkgs/tools/text/kdiff3/default.nix
+++ b/nixpkgs/pkgs/tools/text/kdiff3/default.nix
@@ -1,35 +1,18 @@
 {
-  mkDerivation, lib, fetchgit, fetchpatch,
+  mkDerivation, lib, fetchurl,
   extra-cmake-modules, kdoctools, wrapGAppsHook,
   kcrash, kconfig, kinit, kparts
 }:
 
 mkDerivation rec {
-  name = "kdiff3-${version}";
-  version = "1.7.0-2017-02-19";
+  pname = "kdiff3";
+  version = "1.8.1";
 
-  src = fetchgit {
-    # gitlab is outdated
-    url = https://anongit.kde.org/scratch/thomasfischer/kdiff3.git;
-    sha256 = "0znlk9m844a6qsskbd898w4yk48dkg5bkqlkd5abvyrk1jipzyy8";
-    rev = "0d2ac328164e3cbe2db35875d3df3a86187ae84f";
+  src = fetchurl {
+    url = "https://download.kde.org/stable/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "0vj3rw5w0kry2c1y8gv6hniam417w7k3ydb1dkf5xwr4iprw0xvq";
   };
 
-  setSourceRoot = ''sourceRoot="$(echo */kdiff3/)"'';
-
-  patches = [
-    (fetchpatch {
-      name = "git-mergetool.diff"; # see https://gitlab.com/tfischer/kdiff3/merge_requests/2
-      url = "https://gitlab.com/vcunat/kdiff3/commit/6106126216.patch";
-      sha256 = "16xqc24y8bg8gzkdbwapiwi68rzqnkpz4hgn586mi01ngig2fd7y";
-    })
-  ];
-  patchFlags = "-p 2";
-
-  postPatch = ''
-    sed -re "s/(p\\[[^]]+] *== *)('([^']|\\\\')+')/\\1QChar(\\2)/g" -i src/diff.cpp
-  '';
-
   nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ];
 
   propagatedBuildInputs = [ kconfig kcrash kinit kparts ];
diff --git a/nixpkgs/pkgs/tools/text/transifex-client/default.nix b/nixpkgs/pkgs/tools/text/transifex-client/default.nix
index c765a801348a..9a11b5fba57a 100644
--- a/nixpkgs/pkgs/tools/text/transifex-client/default.nix
+++ b/nixpkgs/pkgs/tools/text/transifex-client/default.nix
@@ -17,7 +17,7 @@ buildPythonApplication rec {
   prePatch = ''
     substituteInPlace requirements.txt --replace "urllib3<1.24" "urllib3<2.0" \
       --replace "six==1.11.0" "six<2.0.0" \
-      --replace "python-slugify==1.2.6" "python-slugify<3.0.0"
+      --replace "python-slugify==1.2.6" "python-slugify<4.0.0"
   '';
 
   # Requires external resources