about summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/X11/go-sct/default.nix17
-rw-r--r--pkgs/tools/X11/x11vnc/default.nix36
-rw-r--r--pkgs/tools/X11/xpra/default.nix64
-rw-r--r--pkgs/tools/X11/xpra/fix-paths.patch33
-rw-r--r--pkgs/tools/X11/xpra/gtk3.nix79
-rw-r--r--pkgs/tools/audio/abcm2ps/default.nix8
-rw-r--r--pkgs/tools/backup/btrbk/default.nix4
-rw-r--r--pkgs/tools/compression/brotli/default.nix4
-rw-r--r--pkgs/tools/compression/zstd/default.nix11
-rw-r--r--pkgs/tools/filesystems/bcachefs-tools/default.nix6
-rw-r--r--pkgs/tools/filesystems/bindfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/fatsort/default.nix4
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/blivet.nix2
-rw-r--r--pkgs/tools/graphics/feedgnuplot/default.nix4
-rw-r--r--pkgs/tools/graphics/graph-easy/default.nix4
-rw-r--r--pkgs/tools/misc/bat/default.nix13
-rw-r--r--pkgs/tools/misc/bepasty/default.nix11
-rw-r--r--pkgs/tools/misc/coreutils/default.nix2
-rw-r--r--pkgs/tools/misc/debootstrap/default.nix75
-rw-r--r--pkgs/tools/misc/esptool/default.nix4
-rw-r--r--pkgs/tools/misc/parallel/default.nix4
-rw-r--r--pkgs/tools/misc/rename/default.nix4
-rw-r--r--pkgs/tools/misc/staruml/default.nix4
-rw-r--r--pkgs/tools/misc/tmux/default.nix8
-rw-r--r--pkgs/tools/misc/vdirsyncer/default.nix2
-rw-r--r--pkgs/tools/misc/woeusb/default.nix4
-rw-r--r--pkgs/tools/networking/curl/7_59.nix6
-rw-r--r--pkgs/tools/networking/curl/default.nix6
-rw-r--r--pkgs/tools/networking/ddclient/default.nix4
-rw-r--r--pkgs/tools/networking/easyrsa/default.nix2
-rw-r--r--pkgs/tools/networking/eternal-terminal/default.nix12
-rw-r--r--pkgs/tools/networking/httping/default.nix10
-rw-r--r--pkgs/tools/networking/ipv6calc/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/default.nix12
-rw-r--r--pkgs/tools/networking/openssh/default.nix7
-rw-r--r--pkgs/tools/networking/speedtest-cli/default.nix21
-rw-r--r--pkgs/tools/networking/strongswan/default.nix4
-rw-r--r--pkgs/tools/networking/unbound/default.nix4
-rw-r--r--pkgs/tools/networking/wireguard-go/default.nix4
-rw-r--r--pkgs/tools/networking/wireguard-tools/default.nix4
-rw-r--r--pkgs/tools/package-management/appimage-run/default.nix3
-rw-r--r--pkgs/tools/package-management/xbps/default.nix8
-rw-r--r--pkgs/tools/security/fail2ban/default.nix6
-rw-r--r--pkgs/tools/security/monkeysphere/default.nix27
-rw-r--r--pkgs/tools/security/nmap/default.nix10
-rw-r--r--pkgs/tools/security/spectre-meltdown-checker/default.nix4
-rw-r--r--pkgs/tools/system/fio/default.nix4
-rw-r--r--pkgs/tools/system/gotop/default.nix4
-rw-r--r--pkgs/tools/system/hwinfo/default.nix4
-rw-r--r--pkgs/tools/text/gnupatch/default.nix2
-rw-r--r--pkgs/tools/text/html-tidy/default.nix3
-rw-r--r--pkgs/tools/video/bento4/default.nix30
-rw-r--r--pkgs/tools/virtualization/linode-cli/default.nix4
53 files changed, 322 insertions, 298 deletions
diff --git a/pkgs/tools/X11/go-sct/default.nix b/pkgs/tools/X11/go-sct/default.nix
index 189dc56975f3..c750a5ce1c66 100644
--- a/pkgs/tools/X11/go-sct/default.nix
+++ b/pkgs/tools/X11/go-sct/default.nix
@@ -1,16 +1,17 @@
-{ stdenv, xorg, buildGoPackage, fetchgit }:
+{ stdenv, xorg, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "go-sct-${version}";
-  version = "20160529-${stdenv.lib.strings.substring 0 7 rev}";
-  rev = "1d6b5e05a0b63bfeac9df55003efec352e1bc19d";
+  version = "20180605-${stdenv.lib.strings.substring 0 7 rev}";
+  rev = "eb1e851f2d5017038d2b8e3653645c36d3a279f4";
 
   goPackagePath = "github.com/d4l3k/go-sct";
 
-  src = fetchgit {
+  src = fetchFromGitHub {
     inherit rev;
-    url = "https://github.com/d4l3k/go-sct";
-    sha256 = "1iqdagrq0j7sqxgsj31skgk73k2rbpbvj41v087af9103wf8h9z7";
+    owner = "d4l3k";
+    repo = "go-sct";
+    sha256 = "16z2ml9x424cnliazyxlw7pm7q64pppjam3dnmq2xab0wlbbm3nm";
   };
 
   goDeps = ./deps.nix;
@@ -20,7 +21,7 @@ buildGoPackage rec {
   meta = with stdenv.lib; {
     description = "Color temperature setting library and CLI that operates in a similar way to f.lux and Redshift";
     license = licenses.mit;
-    maintainers = with maintainers; [ cstrahan ];
-    platforms = platforms.linux;
+    maintainers = with maintainers; [ rvolosatovs cstrahan ];
+    platforms = platforms.linux ++ platforms.windows;
   };
 }
diff --git a/pkgs/tools/X11/x11vnc/default.nix b/pkgs/tools/X11/x11vnc/default.nix
index 2dc6d8ffd78c..6dc785621b59 100644
--- a/pkgs/tools/X11/x11vnc/default.nix
+++ b/pkgs/tools/X11/x11vnc/default.nix
@@ -1,35 +1,49 @@
-{ stdenv, fetchurl, openssl, zlib, libjpeg, xorg, coreutils }:
+{ stdenv, fetchFromGitHub,
+  openssl, zlib, libjpeg, xorg, coreutils, libvncserver,
+  autoreconfHook, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "x11vnc-0.9.13";
+  name = "x11vnc-${version}";
+  version = "0.9.15";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/libvncserver/${name}.tar.gz";
-    sha256 = "0fzib5xb1vbs8kdprr4z94v0fshj2c5hhaz69llaarwnc8p9z0pn";
+  src = fetchFromGitHub {
+    owner = "LibVNC";
+    repo = "x11vnc";
+    rev = version;
+    sha256 = "1a1b65k1hsy4nhg2sx1yrpaz3vx6s7rmrx8nwygpaam8wpdlkh8p";
   };
 
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
   buildInputs =
     [ xorg.libXfixes xorg.fixesproto openssl xorg.libXdamage
       xorg.damageproto zlib xorg.libX11 xorg.xproto libjpeg
       xorg.libXtst xorg.libXinerama xorg.xineramaproto xorg.libXrandr
       xorg.randrproto xorg.libXext xorg.xextproto xorg.inputproto
       xorg.recordproto xorg.libXi xorg.libXrender xorg.renderproto
+      libvncserver
     ];
 
-  preConfigure = ''
-    configureFlags="--mandir=$out/share/man"
-
-    substituteInPlace x11vnc/unixpw.c \
+  postPatch = ''
+    substituteInPlace src/unixpw.c \
         --replace '"/bin/su"' '"/run/wrappers/bin/su"' \
         --replace '"/bin/true"' '"${coreutils}/bin/true"'
 
-    sed -i -e '/#!\/bin\/sh/a"PATH=${xorg.xdpyinfo}\/bin:${xorg.xauth}\/bin:$PATH\\n"' -e 's|/bin/su|/run/wrappers/bin/su|g' x11vnc/ssltools.h
+    sed -i -e '/#!\/bin\/sh/a"PATH=${xorg.xdpyinfo}\/bin:${xorg.xauth}\/bin:$PATH\\n"' -e 's|/bin/su|/run/wrappers/bin/su|g' src/ssltools.h
+
+    # Xdummy script is currently broken, so we avoid building it. This removes everything Xdummy-related from the affected Makefile
+    sed -i -e '/^\tXdummy.c\ \\$/,$d' -e 's/\tx11vnc_loop\ \\/\tx11vnc_loop/' misc/Makefile.am
+  '';
+
+  preConfigure = ''
+    configureFlags="--mandir=$out/share/man"
   '';
 
   meta = with stdenv.lib; {
     description = "A VNC server connected to a real X11 screen";
-    homepage = http://www.karlrunge.com/x11vnc/;
+    homepage = https://github.com/LibVNC/x11vnc/;
     platforms = platforms.linux;
     license = licenses.gpl2;
+    maintainers = with maintainers; [ OPNA2608 ];
   };
 }
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index 3e4d49108b71..7f1552f91979 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, lib, fetchurl, callPackage, python2Packages, pkgconfig
-, xorg, gtk2, glib, pango, cairo, gdk_pixbuf, atk
-, makeWrapper, xorgserver, getopt, xauth, utillinux, which
+{ stdenv, lib, fetchurl, callPackage, substituteAll, python3, pkgconfig
+, xorg, gtk3, glib, pango, cairo, gdk_pixbuf, atk
+, wrapGAppsHook, xorgserver, getopt, xauth, utillinux, which
 , ffmpeg, x264, libvpx, libwebp
 , libfakeXinerama
 , gst_all_1, pulseaudio, gobjectIntrospection
@@ -9,7 +9,7 @@
 with lib;
 
 let
-  inherit (python2Packages) cython buildPythonApplication;
+  inherit (python3.pkgs) cython buildPythonApplication;
 
   xf86videodummy = callPackage ./xf86videodummy { };
 in buildPythonApplication rec {
@@ -21,7 +21,14 @@ in buildPythonApplication rec {
     sha256 = "0wa3kx54himy3i1b2801hlzfilh3cf4kjk40k1cjl0ds28m5hija";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit (xorg) xkeyboardconfig;
+    })
+  ];
+
+  nativeBuildInputs = [ pkgconfig gobjectIntrospection wrapGAppsHook ];
   buildInputs = [
     cython
 
@@ -30,11 +37,10 @@ in buildPythonApplication rec {
     xorg.xproto xorg.fixesproto xorg.libXtst xorg.libXfixes xorg.libXcomposite xorg.libXdamage
     xorg.libXrandr xorg.libxkbfile
 
-    pango cairo gdk_pixbuf atk gtk2 glib
+    pango cairo gdk_pixbuf atk gtk3 glib
 
     ffmpeg libvpx x264 libwebp
 
-    gobjectIntrospection
     gst_all_1.gstreamer
     gst_all_1.gst-plugins-base
     gst_all_1.gst-plugins-good
@@ -42,38 +48,34 @@ in buildPythonApplication rec {
     gst_all_1.gst-libav
 
     pam
+  ];
 
-    makeWrapper
+  propagatedBuildInputs = with python3.pkgs; [
+    pillow rencode pycrypto cryptography pycups lz4 dbus-python
+    netifaces numpy websockify pygobject3 pycairo gst-python pam
   ];
 
-  propagatedBuildInputs = with python2Packages; [
-    pillow pygtk pygobject2 rencode pycrypto cryptography pycups lz4 dbus-python
-    netifaces numpy websockify pygobject3 gst-python pam
+  NIX_CFLAGS_COMPILE = [
+    # error: 'import_cairo' defined but not used
+    "-Wno-error=unused-function"
   ];
 
-  preBuild = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags gtk+-2.0) $(pkg-config --cflags pygtk-2.0) $(pkg-config --cflags xtst)"
-    substituteInPlace xpra/server/auth/pam_auth.py --replace "/lib/libpam.so.1" "${pam}/lib/libpam.so"
-    substituteInPlace xpra/x11/bindings/keyboard_bindings.pyx --replace "/usr/share/X11/xkb" "${xorg.xkeyboardconfig}/share/X11/xkb"
-  '';
-  setupPyBuildFlags = ["--with-Xdummy" "--without-strict"];
-
-  postInstall = ''
-    wrapProgram $out/bin/xpra \
-      --set XPRA_INSTALL_PREFIX "$out" \
-      --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  \
+  setupPyBuildFlags = [
+    "--with-Xdummy"
+    "--without-strict"
+    "--with-gtk3"
+    "--without-gtk2"
+  ];
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --set XPRA_INSTALL_PREFIX "$out"
+      --prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib
       --prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux pulseaudio ]}
+    )
   '';
 
-  preCheck = "exit 0";
-
-  #TODO: replace postInstall with postFixup to avoid double wrapping of xpra; needs more work though
-  #postFixup = ''
-  #  sed -i '3iexport FONTCONFIG_FILE="${fontsConf}"' $out/bin/xpra
-  #  sed -i '4iexport PATH=${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux ]}\${PATH:+:}\$PATH' $out/bin/xpra
-  #'';
+  doCheck = false;
 
   passthru = { inherit xf86videodummy; };
 
diff --git a/pkgs/tools/X11/xpra/fix-paths.patch b/pkgs/tools/X11/xpra/fix-paths.patch
new file mode 100644
index 000000000000..c50ec28c35e2
--- /dev/null
+++ b/pkgs/tools/X11/xpra/fix-paths.patch
@@ -0,0 +1,33 @@
+--- a/setup.py
++++ b/setup.py
+@@ -1885,7 +1885,7 @@
+     if OSX:
+         pycairo = "py3cairo"
+     else:
+-        pycairo = "pycairo"
++        pycairo = "py3cairo"
+     cython_add(Extension("xpra.client.gtk3.cairo_workaround",
+                 ["xpra/client/gtk3/cairo_workaround.pyx"],
+                 **pkgconfig(pycairo)
+--- a/xpra/client/gtk3/cairo_workaround.pyx
++++ b/xpra/client/gtk3/cairo_workaround.pyx
+@@ -65,7 +65,7 @@
+     void cairo_surface_flush (cairo_surface_t *surface)
+     void cairo_surface_mark_dirty (cairo_surface_t *surface)
+ 
+-cdef extern from "pycairo/pycairo.h":
++cdef extern from "py3cairo.h":
+     ctypedef struct Pycairo_CAPI_t:
+         pass
+     ctypedef struct PycairoSurface:
+--- a/xpra/x11/bindings/keyboard_bindings.pyx
++++ b/xpra/x11/bindings/keyboard_bindings.pyx
+@@ -19,7 +19,7 @@
+ 
+ DEF PATH_MAX = 1024
+ DEF DFLT_XKB_RULES_FILE = "base"
+-DEF DFLT_XKB_CONFIG_ROOT = "/usr/share/X11/xkb"
++DEF DFLT_XKB_CONFIG_ROOT = "@xkeyboardconfig@/share/X11/xkb"
+ 
+ ###################################
+ # Headers, python magic
diff --git a/pkgs/tools/X11/xpra/gtk3.nix b/pkgs/tools/X11/xpra/gtk3.nix
deleted file mode 100644
index ceba4269e808..000000000000
--- a/pkgs/tools/X11/xpra/gtk3.nix
+++ /dev/null
@@ -1,79 +0,0 @@
-{ stdenv, fetchurl, buildPythonApplication
-, python, cython, pkgconfig
-, xorg, gtk3, glib, pango, cairo, gdk_pixbuf, atk, pygobject3, pycairo, gobjectIntrospection
-, makeWrapper, xorgserver, getopt, xauth, utillinux, which, fontsConf
-, ffmpeg, x264, libvpx, libwebp
-, libfakeXinerama, pam }:
-
-buildPythonApplication rec {
-  name = "xpra-${version}";
-  version = "2.2.5";
-
-  src = fetchurl {
-    url = "https://xpra.org/src/${name}.tar.xz";
-    sha256 = "1q2l00nc3bgwlhjzkbk4a8x2l8z9w1799yn31icsx5hrgh98a1js";
-  };
-
-  patchPhase = ''
-    substituteInPlace setup.py --replace 'pycairo' 'py3cairo'
-    substituteInPlace xpra/client/gtk3/cairo_workaround.pyx --replace 'pycairo/pycairo.h' 'py3cairo.h'
-  '';
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    xorg.libX11 xorg.renderproto xorg.libXrender xorg.libXi xorg.inputproto xorg.kbproto
-    xorg.randrproto xorg.damageproto xorg.compositeproto xorg.xextproto xorg.recordproto
-    xorg.xproto xorg.fixesproto xorg.libXtst xorg.libXfixes xorg.libXcomposite xorg.libXdamage
-    xorg.libXrandr xorg.libxkbfile
-
-    pango cairo gdk_pixbuf atk gtk3 glib gobjectIntrospection
-
-    ffmpeg libvpx x264 libwebp
-
-    makeWrapper
-
-    pam
-  ];
-
-  propagatedBuildInputs = [
-    pygobject3 pycairo cython
-  ];
-
-  preBuild = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags gtk+-3.0) $(pkg-config --cflags xtst)"
-    substituteInPlace xpra/server/auth/pam_auth.py --replace "/lib/libpam.so.1" "${pam}/lib/libpam.so"
-  '';
-  setupPyBuildFlags = [ "--without-strict" "--with-gtk3" "--without-gtk2" "--with-Xdummy" ];
-
-  preInstall = ''
-    # see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix
-    ${python}/bin/${python.executable} setup.py install_data --install-dir=$out --root=$out
-    sed -i '/ = data_files/d' setup.py
-  '';
-
-  postInstall = ''
-    wrapProgram $out/bin/xpra \
-      --set FONTCONFIG_FILE "${fontsConf}" \
-      --prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib \
-      --prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux ]}
-  '';
-
-  preCheck = "exit 0";
-  doInstallCheck = false;
-
-  #TODO: replace postInstall with postFixup to avoid double wrapping of xpra; needs more work though
-  #postFixup = ''
-  #  sed -i '3iexport FONTCONFIG_FILE="${fontsConf}"' $out/bin/xpra
-  #  sed -i '4iexport PATH=${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux ]}\${PATH:+:}\$PATH' $out/bin/xpra
-  #'';
-
-
-  meta = with stdenv.lib; {
-    homepage = http://xpra.org/;
-    downloadPage = "https://xpra.org/src/";
-    downloadURLRegexp = "xpra-.*[.]tar[.]xz$";
-    description = "Persistent remote applications for X";
-    platforms = platforms.linux;
-    license = licenses.gpl2;
-  };
-}
diff --git a/pkgs/tools/audio/abcm2ps/default.nix b/pkgs/tools/audio/abcm2ps/default.nix
index 023d03f0414d..5d3050108b8a 100644
--- a/pkgs/tools/audio/abcm2ps/default.nix
+++ b/pkgs/tools/audio/abcm2ps/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchFromGitHub, pkgconfig, which, freetype, pango }:
+{ stdenv, fetchFromGitHub, pkgconfig, which, docutils, freetype, pango }:
 
 stdenv.mkDerivation rec {
   name = "abcm2ps-${version}";
-  version = "8.13.24";
+  version = "8.14.0";
 
   src = fetchFromGitHub {
     owner = "leesavide";
     repo = "abcm2ps";
     rev = "v${version}";
-    sha256 = "0xb0gdxbagy6bzrh61s667svab43r06d6yi20gw52dh022mj99ag";
+    sha256 = "1nlvq2cfdy5pghll3aprws7yx5p14gcrhz10q9fa6myrd8ad4if1";
   };
 
   prePatch = ''
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     "CC=${stdenv.cc}/bin/cc"
   ];
 
-  nativeBuildInputs = [ which pkgconfig ];
+  nativeBuildInputs = [ which pkgconfig docutils ];
 
   buildInputs = [ freetype pango ];
 
diff --git a/pkgs/tools/backup/btrbk/default.nix b/pkgs/tools/backup/btrbk/default.nix
index e9ae73547863..6ff43a94af90 100644
--- a/pkgs/tools/backup/btrbk/default.nix
+++ b/pkgs/tools/backup/btrbk/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "btrbk-${version}";
-  version = "0.26.1";
+  version = "0.27.0";
 
   src = fetchurl {
     url = "https://digint.ch/download/btrbk/releases/${name}.tar.xz";
-    sha256 = "04ahfm52vcf1w0c2km0wdgj2jpffp45bpawczmygcg8fdcm021lp";
+    sha256 = "0nsqpmfymh9df32fy8qg6bhimd65yxdjpany97s1n08qb110zh2y";
   };
 
   nativeBuildInputs = [ asciidoc makeWrapper ];
diff --git a/pkgs/tools/compression/brotli/default.nix b/pkgs/tools/compression/brotli/default.nix
index 754c0e581563..7047eeeefa61 100644
--- a/pkgs/tools/compression/brotli/default.nix
+++ b/pkgs/tools/compression/brotli/default.nix
@@ -15,8 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  cmakeFlags = stdenv.lib.optional
-    (stdenv.hostPlatform.libc == "msvcrt") "-DCMAKE_SYSTEM_NAME=Windows";
+  cmakeFlags = [];
 
   outputs = [ "out" "dev" "lib" ];
 
@@ -59,4 +58,3 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
   };
 }
-
diff --git a/pkgs/tools/compression/zstd/default.nix b/pkgs/tools/compression/zstd/default.nix
index f9a05c4281af..53aaf1004906 100644
--- a/pkgs/tools/compression/zstd/default.nix
+++ b/pkgs/tools/compression/zstd/default.nix
@@ -5,10 +5,10 @@
 
 stdenv.mkDerivation rec {
   name = "zstd-${version}";
-  version = "1.3.5";
+  version = "1.3.6";
 
   src = fetchFromGitHub {
-    sha256 = "0fpv8k16s14g0r552mhbh0mkr716cqy41d2znyrvks6qfphkgir4";
+    sha256 = "1x4a8r4m68m93q52ffxvaip9nnwx9yqvd1m90v80777c11s20a4n";
     rev = "v${version}";
     repo = "zstd";
     owner = "facebook";
@@ -21,8 +21,11 @@ stdenv.mkDerivation rec {
   ];
 
   checkInputs = [ file ];
-  doCheck = false; # fails with "zstd: --list does not support reading from standard input"
-                   # probably a bug
+  doCheck = true;
+  preCheck = ''
+    substituteInPlace tests/playTests.sh \
+      --replace 'MD5SUM="md5 -r"' 'MD5SUM="md5sum"'
+  '';
 
   installFlags = [
     "PREFIX=$(out)"
diff --git a/pkgs/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix
index ee1ee2e61789..75737e2da7fc 100644
--- a/pkgs/tools/filesystems/bcachefs-tools/default.nix
+++ b/pkgs/tools/filesystems/bcachefs-tools/default.nix
@@ -2,12 +2,12 @@
 , liburcu, zlib, libaio, zstd, lz4 }:
 
 stdenv.mkDerivation rec {
-  name = "bcachefs-tools-unstable-2018-08-22";
+  name = "bcachefs-tools-unstable-2018-10-12";
 
   src = fetchgit {
     url = "https://evilpiepirate.org/git/bcachefs-tools.git";
-    rev = "ebf97e8e01a8e76ff4bec23f29106430852c3081";
-    sha256 = "0f2ycin0gmi1a4fm7qln0c10zn451gljfbc2piy1fm768xqqrmld";
+    rev = "55fbb25501330038e1714905b9ddeb25d875c11c";
+    sha256 = "0cwzbyf133jc0fkc8nmjcvv3wmglqhyxda1hh10hgxrbq5vm39wx";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/filesystems/bindfs/default.nix b/pkgs/tools/filesystems/bindfs/default.nix
index 1499e81b624e..a674de9ac49b 100644
--- a/pkgs/tools/filesystems/bindfs/default.nix
+++ b/pkgs/tools/filesystems/bindfs/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, fuse, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  version = "1.13.9";
+  version = "1.13.10";
   name    = "bindfs-${version}";
 
   src = fetchurl {
     url    = "https://bindfs.org/downloads/${name}.tar.gz";
-    sha256 = "1dgqjq2plpds442ygpv8czr5v199ljscp33m89y19x04ssljrymc";
+    sha256 = "14wfp2dcjm0f1pmqqvkf94k7pijbi8ka395cm3hryqpi4k0w3f4j";
   };
 
   dontStrip = true;
diff --git a/pkgs/tools/filesystems/fatsort/default.nix b/pkgs/tools/filesystems/fatsort/default.nix
index 75a94400627d..18d9097dacbc 100644
--- a/pkgs/tools/filesystems/fatsort/default.nix
+++ b/pkgs/tools/filesystems/fatsort/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, help2man}:
 
 stdenv.mkDerivation rec {
-  version = "1.4.2.439";
+  version = "1.5.0.456";
   name = "fatsort-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/fatsort/${name}.tar.xz";
-    sha256 = "1q51qq69854kr12knhyqjv7skj95qld6j04pv5v3xvxs0y9zkg5x";
+    sha256 = "15fy2m4p9s8cfvnzdcd5ynkc2js0zklkkf34sjxdac7x2iwb8dd8";
   };
 
   patches = [ ./fatsort-Makefiles.patch ];
diff --git a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
index 5879fd9d0821..24aab7dc6dd4 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
@@ -35,7 +35,7 @@ buildPythonApplication rec {
   '';
 
   propagatedBuildInputs = [
-    pykickstart pyparted pyblock libselinux cryptsetup
+    pykickstart pyparted pyblock libselinux.py cryptsetup
   ] ++ stdenv.lib.optional useNixUdev systemd;
 
   # tests are currently _heavily_ broken upstream
diff --git a/pkgs/tools/graphics/feedgnuplot/default.nix b/pkgs/tools/graphics/feedgnuplot/default.nix
index fef5c657a7a2..4ff769eadf54 100644
--- a/pkgs/tools/graphics/feedgnuplot/default.nix
+++ b/pkgs/tools/graphics/feedgnuplot/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, buildPerlPackage, makeWrapper, gawk
+{ stdenv, fetchFromGitHub, makeWrapper, gawk
 , makeFontsConf, freefont_ttf, gnuplot, perl, perlPackages
 }:
 
@@ -8,7 +8,7 @@ let
 
 in
 
-buildPerlPackage rec {
+perlPackages.buildPerlPackage rec {
   name = "feedgnuplot-${version}";
   version = "1.51";
 
diff --git a/pkgs/tools/graphics/graph-easy/default.nix b/pkgs/tools/graphics/graph-easy/default.nix
index 9b4c46779626..c21fc02753ec 100644
--- a/pkgs/tools/graphics/graph-easy/default.nix
+++ b/pkgs/tools/graphics/graph-easy/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, buildPerlPackage, fetchurl }:
+{ stdenv, perlPackages, fetchurl }:
 
-buildPerlPackage rec {
+perlPackages.buildPerlPackage rec {
   name = "Graph-Easy-${version}";
   version = "0.76";
   src = fetchurl {
diff --git a/pkgs/tools/misc/bat/default.nix b/pkgs/tools/misc/bat/default.nix
index 0cacfa6e54e4..4bd4a02c7a2d 100644
--- a/pkgs/tools/misc/bat/default.nix
+++ b/pkgs/tools/misc/bat/default.nix
@@ -4,17 +4,17 @@
 
 rustPlatform.buildRustPackage rec {
   name    = "bat-${version}";
-  version = "0.7.1";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner  = "sharkdp";
     repo   = "bat";
     rev    = "v${version}";
-    sha256 = "1fzk0z7r70rjvv2c6531zaa1jzbcb7j9wbi0xqb9y4dls538bmz0";
+    sha256 = "1xvjw61q0qbnzj95g7g8xckcqha9jrf2172b5l7faj7i0jhmz2kx";
     fetchSubmodules = true;
   };
 
-  cargoSha256 = "19syz0sxcpk3i4675bfq5gpb9i6hp81in36w820kkvamaimq10nd";
+  cargoSha256 = "0xv769f2iqrgnbmb7ma9p3gbb2xpx2lhqc0kq5nizf8w8xdc5m11";
 
   nativeBuildInputs = [ cmake pkgconfig zlib ];
 
@@ -22,6 +22,13 @@ rustPlatform.buildRustPackage rec {
 
   postInstall = ''
     install -m 444 -Dt $out/share/man/man1 doc/bat.1
+
+    install -Dm644 target/release/build/bat-*/out/_bat \
+      "$out/share/zsh/site-functions/_bat"
+    install -Dm644 target/release/build/bat-*/out/bat.bash \
+      "$out/share/bash-completions/completions/bat.bash"
+    install -Dm644 target/release/build/bat-*/out/bat.fish \
+      "$out/share/fish/vendor_completions.d/bat.fish"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/bepasty/default.nix b/pkgs/tools/misc/bepasty/default.nix
index ae88b7e99c65..a1e9f21c52cc 100644
--- a/pkgs/tools/misc/bepasty/default.nix
+++ b/pkgs/tools/misc/bepasty/default.nix
@@ -1,15 +1,15 @@
-{ python
+{ python3Packages
 , lib
 }:
 
-with python.pkgs;
+with python3Packages;
 
 #We need to use buildPythonPackage here to get the PYTHONPATH build correctly.
 #This is needed for services.bepasty
 #https://github.com/NixOS/nixpkgs/pull/38300
 buildPythonPackage rec {
   pname = "bepasty";
-  version = "0.4.0";
+  version = "0.5.0";
 
   propagatedBuildInputs = [
     flask
@@ -22,9 +22,12 @@ buildPythonPackage rec {
     xstatic-jquery-ui
     xstatic-pygments
   ];
+
+  buildInputs = [ setuptools_scm ];
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0bs79pgrjlnkmjfyj2hllbx3rw757va5w2g2aghi9cydmsl7gyi4";
+    sha256 = "1y3smw9620w2ia4zfsl2svb9j7mkfgc8z1bzjffyk1w5vryhwikh";
   };
 
   checkInputs = [
diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix
index fe8d1a8380fc..de97e94ae42e 100644
--- a/pkgs/tools/misc/coreutils/default.nix
+++ b/pkgs/tools/misc/coreutils/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   patches = optional stdenv.hostPlatform.isCygwin ./coreutils-8.23-4.cygwin.patch;
 
   # The test tends to fail on btrfs and maybe other unusual filesystems.
-  postPatch = optionalString (!stdenv.hostPlatform.isDarwin) ''
+  postPatch = ''
     sed '2i echo Skipping dd sparse test && exit 0' -i ./tests/dd/sparse.sh
     sed '2i echo Skipping cp sparse test && exit 0' -i ./tests/cp/sparse.sh
     sed '2i echo Skipping rm deep-2 test && exit 0' -i ./tests/rm/deep-2.sh
diff --git a/pkgs/tools/misc/debootstrap/default.nix b/pkgs/tools/misc/debootstrap/default.nix
index bb4302d8aaec..9c3db47213ec 100644
--- a/pkgs/tools/misc/debootstrap/default.nix
+++ b/pkgs/tools/misc/debootstrap/default.nix
@@ -1,8 +1,19 @@
-{ stdenv, fetchurl, dpkg, gettext, gawk, perl, wget, coreutils }:
-
+{ stdenv, fetchurl, dpkg, gawk, perl, wget, coreutils, utillinux
+, gnugrep, gnutar, gnused, gzip, makeWrapper }:
 # USAGE like this: debootstrap sid /tmp/target-chroot-directory
 # There is also cdebootstrap now. Is that easier to maintain?
-stdenv.mkDerivation rec {
+let binPath = stdenv.lib.makeBinPath [
+    coreutils
+    dpkg
+    gawk
+    gnugrep
+    gnused
+    gnutar
+    gzip
+    perl
+    wget
+  ];
+in stdenv.mkDerivation rec {
   name = "debootstrap-${version}";
   version = "1.0.109";
 
@@ -13,63 +24,43 @@ stdenv.mkDerivation rec {
     sha256 = "117xgrv6mpszyndmsvkn4ynh57b2s40qc68bpmfmxggw58j42klw";
   };
 
-  buildInputs = [ dpkg gettext gawk perl wget ];
+  nativeBuildInputs = [ makeWrapper ];
 
   dontBuild = true;
 
-  # If you have to update the patch for functions a vim regex like this
-  # can help you identify which lines are used to write scripts on TARGET and
-  # which should /bin/ paths should be replaced:
-  # \<echo\>\|\/bin\/\|^\s*\<cat\>\|EOF\|END
   installPhase = ''
-    sed -i \
-      -e 's@/usr/bin/id@id@' \
-      -e 's@/usr/bin/dpkg@${dpkg}/bin/dpkg@' \
-      -e 's@/usr/bin/sha@${coreutils}/bin/sha@' \
-      -e 's@/bin/sha@${coreutils}/bin/sha@' \
-      debootstrap
-
-    for file in functions debootstrap; do
-      substituteInPlace "$file" \
-        --subst-var-by gunzip "$(type -p gunzip)" \
-        --subst-var-by bunzip "$(type -p bunzip)" \
-        --subst-var-by gettext "$(type -p gettext)" \
-        --subst-var-by dpkg "$(type -p dpkg)" \
-        --subst-var-by udpkg "$(type -p udpkg)" \
-        --subst-var-by id "$(type -p id)" \
-        --subst-var-by perl "$(type -p perl)" \
-        --subst-var-by uname "$(type -p uname)" \
-        --subst-var-by wget "$(type -p wget)"
-    done
-
+    runHook preInstall
 
-    sed -i  \
-      -e 's@\<wget\>@${wget}/bin/wget@' \
-      functions
+    substituteInPlace debootstrap \
+      --replace 'CHROOT_CMD="chroot '  'CHROOT_CMD="${coreutils}/bin/chroot ' \
+      --replace 'CHROOT_CMD="unshare ' 'CHROOT_CMD="${utillinux}/bin/unshare ' \
+      --replace /usr/bin/dpkg ${dpkg}/bin/dpkg \
+      --replace '#!/bin/sh' '#!/bin/bash' \
+      --subst-var-by VERSION ${version}
 
     d=$out/share/debootstrap
     mkdir -p $out/{share/debootstrap,bin}
 
+    mv debootstrap $out/bin
+
     cp -r . $d
 
-    cat >> $out/bin/debootstrap << EOF
-    #!/bin/sh
-    export DEBOOTSTRAP_DIR="''${DEBOOTSTRAP_DIR:-$d}"
-    # mount and other tools must be found in chroot. So add default debain paths!
-    # TODO only add paths which are required by the scripts!
-    export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
-    exec $d/debootstrap "\$@"
-    EOF
-    chmod +x $out/bin/debootstrap
+    wrapProgram $out/bin/debootstrap \
+      --set PATH ${binPath} \
+      --set-default DEBOOTSTRAP_DIR $d
 
     mkdir -p $out/man/man8
     mv debootstrap.8 $out/man/man8
+
+    rm -rf $d/debian
+
+    runHook postInstall
   '';
 
   meta = {
     description = "Tool to create a Debian system in a chroot";
-    homepage = http://packages.debian.org/de/lenny/debootstrap; # http://code.erisian.com.au/Wiki/debootstrap
-    license = stdenv.lib.licenses.gpl2; # gentoo says so.. ?
+    homepage = https://wiki.debian.org/Debootstrap;
+    license = stdenv.lib.licenses.mit;
     maintainers = [ stdenv.lib.maintainers.marcweber ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/misc/esptool/default.nix b/pkgs/tools/misc/esptool/default.nix
index abb0b4edc17e..fe574b4f8d43 100644
--- a/pkgs/tools/misc/esptool/default.nix
+++ b/pkgs/tools/misc/esptool/default.nix
@@ -2,13 +2,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "esptool";
-  version = "2.5.0";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "espressif";
     repo = "esptool";
     rev = "v${version}";
-    sha256 = "0cvxapcln1xcz8hy0hidw6g8q61s5j3q03j3wrviagbh0zip8jdx";
+    sha256 = "19l3b1fqg1n3ch484dcibbi5a3nbmjq086has5pwqn348h4k57mh";
   };
 
   checkInputs = with python3.pkgs; [ flake8 flake8-future-import flake8-import-order ];
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index 11a9cd4ff87a..9da8b1c25522 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, perl, makeWrapper, procps }:
 
 stdenv.mkDerivation rec {
-  name = "parallel-20180822";
+  name = "parallel-20180922";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "0jjs7fpvdjjb5v0j39a6k7hq9h5ap3db1j7vg1r2dq4swk23h9bm";
+    sha256 = "07q7lzway2qf8mx6fb4q45jmirsc8pw6rgv03ifrp32jw3q8w1za";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/rename/default.nix b/pkgs/tools/misc/rename/default.nix
index 3f2a66bf4c82..89f76bb9b1b1 100644
--- a/pkgs/tools/misc/rename/default.nix
+++ b/pkgs/tools/misc/rename/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, buildPerlPackage }:
+{ stdenv, fetchFromGitHub, perlPackages }:
 
-buildPerlPackage rec {
+perlPackages.buildPerlPackage rec {
   name = "rename-${version}";
   version = "1.9";
   outputs = [ "out" ];
diff --git a/pkgs/tools/misc/staruml/default.nix b/pkgs/tools/misc/staruml/default.nix
index 486634452ae9..a7518625771f 100644
--- a/pkgs/tools/misc/staruml/default.nix
+++ b/pkgs/tools/misc/staruml/default.nix
@@ -14,10 +14,10 @@ stdenv.mkDerivation rec {
 
   src =
     if stdenv.hostPlatform.system == "i686-linux" then fetchurl {
-      url = "http://staruml.io/download/release/v${version}/StarUML-v${version}-32-bit.deb";
+      url = "https://s3.amazonaws.com/staruml-bucket/releases-v2/StarUML-v${version}-32-bit.deb";
       sha256 = "0vb3k9m3l6pmsid4shlk0xdjsriq3gxzm8q7l04didsppg0vvq1n";
     } else fetchurl {
-      url = "http://staruml.io/download/release/v${version}/StarUML-v${version}-64-bit.deb";
+      url = "https://s3.amazonaws.com/staruml-bucket/releases-v2/StarUML-v${version}-64-bit.deb";
       sha256 = "05gzrnlssjkhyh0wv019d4r7p40lxnsa1sghazll6f233yrqmxb0";
     };
 
diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix
index fcec511b7ef5..038b3206ac24 100644
--- a/pkgs/tools/misc/tmux/default.nix
+++ b/pkgs/tools/misc/tmux/default.nix
@@ -13,7 +13,7 @@ in
 
 stdenv.mkDerivation rec {
   name = "tmux-${version}";
-  version = "2.7";
+  version = "2.8";
 
   outputs = [ "out" "man" ];
 
@@ -21,9 +21,13 @@ stdenv.mkDerivation rec {
     owner = "tmux";
     repo = "tmux";
     rev = version;
-    sha256 = "1yr4l8ckd67c3id4vrbpha91xxpdfpw0cpbr3v81lam0m7k4rgba";
+    sha256 = "0n8sjddy00xgh1rvvw968hh72pyslg1gahmzajfc4b3xax87drpi";
   };
 
+  postPatch = ''
+    sed -i 's/2.8-rc/2.8/' configure.ac
+  '';
+
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
 
   buildInputs = [ ncurses libevent makeWrapper ];
diff --git a/pkgs/tools/misc/vdirsyncer/default.nix b/pkgs/tools/misc/vdirsyncer/default.nix
index 0655264cc542..c273ef879682 100644
--- a/pkgs/tools/misc/vdirsyncer/default.nix
+++ b/pkgs/tools/misc/vdirsyncer/default.nix
@@ -41,7 +41,7 @@ in pythonPackages.buildPythonApplication rec {
 
   preBuild = ''
     mkdir -p rust/target/release
-    ln -s ${native}/bin/libvdirsyncer_rustext* rust/target/release/
+    ln -s ${native}/lib/libvdirsyncer_rustext* rust/target/release/
   '';
 
   LC_ALL = "en_US.utf8";
diff --git a/pkgs/tools/misc/woeusb/default.nix b/pkgs/tools/misc/woeusb/default.nix
index 0f0455fe0fe3..5232088ab1b1 100644
--- a/pkgs/tools/misc/woeusb/default.nix
+++ b/pkgs/tools/misc/woeusb/default.nix
@@ -3,14 +3,14 @@
 , wxGTK30 }:
 
 stdenv.mkDerivation rec {
-  version = "3.2.9";
+  version = "3.2.10";
   name = "woeusb-${version}";
 
   src = fetchFromGitHub {
     owner = "slacka";
     repo = "WoeUSB";
     rev = "v${version}";
-    sha256 = "1h2msp45slcd2s5jgw7ma9r7pl7schrvifw3kp53skxfpyax4j35";
+    sha256 = "0jzgwh9xv92yns5yi5zpl49zbp3csh6m6iclgq070awpjpsqlqi0";
   };
 
   buildInputs = [ wxGTK30 autoreconfHook makeWrapper ];
diff --git a/pkgs/tools/networking/curl/7_59.nix b/pkgs/tools/networking/curl/7_59.nix
index 0482bcf52629..508b357e3fde 100644
--- a/pkgs/tools/networking/curl/7_59.nix
+++ b/pkgs/tools/networking/curl/7_59.nix
@@ -77,7 +77,11 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional gssSupport "--with-gssapi=${kerberos.dev}"
        # For the 'urandom', maybe it should be a cross-system option
     ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
-       "--with-random=/dev/urandom";
+       "--with-random=/dev/urandom"
+    ++ stdenv.lib.optionals stdenv.hostPlatform.isWindows [
+      "--disable-shared"
+      "--enable-static"
+    ];
 
   CXX = "${stdenv.cc.targetPrefix}c++";
   CXXCPP = "${stdenv.cc.targetPrefix}c++ -E";
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index dda97d34d869..4af8ff75e210 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -81,7 +81,11 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional gssSupport "--with-gssapi=${kerberos.dev}"
        # For the 'urandom', maybe it should be a cross-system option
     ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
-       "--with-random=/dev/urandom";
+       "--with-random=/dev/urandom"
+    ++ stdenv.lib.optionals stdenv.hostPlatform.isWindows [
+      "--disable-shared"
+      "--enable-static"
+    ];
 
   CXX = "${stdenv.cc.targetPrefix}c++";
   CXXCPP = "${stdenv.cc.targetPrefix}c++ -E";
diff --git a/pkgs/tools/networking/ddclient/default.nix b/pkgs/tools/networking/ddclient/default.nix
index 93828c10d135..14de1fea4790 100644
--- a/pkgs/tools/networking/ddclient/default.nix
+++ b/pkgs/tools/networking/ddclient/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, buildPerlPackage, fetchurl, perlPackages, iproute }:
+{ stdenv, fetchurl, perlPackages, iproute }:
 
-buildPerlPackage rec {
+perlPackages.buildPerlPackage rec {
   name = "ddclient-${version}";
   version = "3.8.3";
 
diff --git a/pkgs/tools/networking/easyrsa/default.nix b/pkgs/tools/networking/easyrsa/default.nix
index fcc6c1d86bdf..8205bddc7fe0 100644
--- a/pkgs/tools/networking/easyrsa/default.nix
+++ b/pkgs/tools/networking/easyrsa/default.nix
@@ -35,6 +35,6 @@ in stdenv.mkDerivation rec {
     homepage = https://openvpn.net/;
     license = licenses.gpl2;
     maintainers = [ maintainers.offline ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/eternal-terminal/default.nix b/pkgs/tools/networking/eternal-terminal/default.nix
index 8941494e316e..fda5d25aa17d 100644
--- a/pkgs/tools/networking/eternal-terminal/default.nix
+++ b/pkgs/tools/networking/eternal-terminal/default.nix
@@ -1,20 +1,18 @@
-{ stdenv, fetchFromGitHub, cmake, gflags, glog, libsodium, protobuf }:
+{ stdenv, fetchFromGitHub, cmake, ninja, gflags, libsodium, protobuf }:
 
 stdenv.mkDerivation rec {
   name = "eternal-terminal-${version}";
-  version = "4.1.2";
+  version = "5.1.6";
 
   src = fetchFromGitHub {
     owner = "MisterTea";
     repo = "EternalTCP";
     rev = "refs/tags/et-v${version}";
-    sha256 = "1zy30ccsddgs2wqwxphnx5i00j4gf69lr68mzg9x6imqfz0sbcjz";
+    sha256 = "0df573c5hi3hxa0d3m02zf2iyh841540dklj9lmp6faik8cp39jz";
   };
 
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ gflags glog libsodium protobuf ];
-
-  enableParallelBuilding = true;
+  nativeBuildInputs = [ cmake ninja ];
+  buildInputs = [ gflags libsodium protobuf ];
 
   meta = with stdenv.lib; {
     description = "Remote shell that automatically reconnects without interrupting the session";
diff --git a/pkgs/tools/networking/httping/default.nix b/pkgs/tools/networking/httping/default.nix
index bfe9f115133c..abde3f2a380d 100644
--- a/pkgs/tools/networking/httping/default.nix
+++ b/pkgs/tools/networking/httping/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gettext, ncurses, openssl
+{ stdenv, fetchurl, gettext, libintl, ncurses, openssl
 , fftw ? null }:
 
 stdenv.mkDerivation rec {
@@ -6,11 +6,11 @@ stdenv.mkDerivation rec {
   version = "2.5";
 
   src = fetchurl {
-    url = "https://www.vanheusden.com/httping/${name}.tgz";
+    url = "https://vanheusden.com/httping/${name}.tgz";
     sha256 = "1y7sbgkhgadmd93x1zafqc4yp26ssiv16ni5bbi9vmvvdl55m29y";
   };
 
-  buildInputs = [ fftw ncurses openssl ];
+  buildInputs = [ fftw libintl ncurses openssl ];
   nativeBuildInputs = [ gettext ];
 
   makeFlags = [
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with stdenv.lib; {
-    homepage = http://www.vanheusden.com/httping;
+    homepage = https://vanheusden.com/httping;
     description = "ping with HTTP requests";
     longDescription = ''
       Give httping an url, and it'll show you how long it takes to connect,
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.agpl3;
     maintainers = with maintainers; [ rickynils ];
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/tools/networking/ipv6calc/default.nix b/pkgs/tools/networking/ipv6calc/default.nix
index c66218c48986..9b4edd763057 100644
--- a/pkgs/tools/networking/ipv6calc/default.nix
+++ b/pkgs/tools/networking/ipv6calc/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "ipv6calc-${version}";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchurl {
     url = "ftp://ftp.deepspace6.net/pub/ds6/sources/ipv6calc/${name}.tar.gz";
-    sha256 = "1gcl8mqjdn5j1rcnv2gz2j0i8ayx747hwzjyiazl6j43c5g4bc3l";
+    sha256 = "1q74ikg780v5hllbq08wdfvxr2lf0fc7i41hclqrh1ajc6dqybbq";
   };
 
   buildInputs = [ geoip geolite-legacy getopt ip2location-c openssl ];
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 01b979c3c5bf..66d9434a470a 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, substituteAll, intltool, pkgconfig, dbus-glib, gnome3
-, systemd, libuuid, polkit, gnutls, ppp, dhcp, iptables
+{ stdenv, fetchurl, fetchpatch, substituteAll, intltool, pkgconfig, dbus-glib
+, gnome3, systemd, libuuid, polkit, gnutls, ppp, dhcp, iptables
 , libgcrypt, dnsmasq, bluez5, readline
 , gobjectIntrospection, modemmanager, openresolv, libndp, newt, libsoup
 , ethtool, gnused, coreutils, file, inetutils, kmod, jansson, libxslt
@@ -67,13 +67,13 @@ in stdenv.mkDerivation rec {
 
   patches = [
     # https://bugzilla.gnome.org/show_bug.cgi?id=796751
-    (fetchurl {
+    (fetchpatch {
       url = https://bugzilla.gnome.org/attachment.cgi?id=372953;
-      sha256 = "1crjplyiiipkhjjlifrv6hhvxinlcxd6irp9ijbc7jij31g44i0a";
+      sha256 = "0xg7bzs6dvkbv2qp67i7mi1c5yrmfd471xgmlkn15b33pqkzy3mc";
     })
-    (fetchurl {
+    (fetchpatch {
       url = https://gitlab.freedesktop.org/NetworkManager/NetworkManager/commit/0a3755c1799d3a4dc1875d4c59c7c568a64c8456.patch;
-      sha256 = "af1717f7c6fdd6dadb4082dd847f4bbc42cf1574833299f3e47024e785533f2e";
+      sha256 = "0r7338q3za7mf419a244vi65b1q497rg84avijybmv6w4x6p1ksd";
     })
     (substituteAll {
       src = ./fix-paths.patch;
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 04a77176682d..96bc2c56ece8 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -37,6 +37,13 @@ stdenv.mkDerivation rec {
 
   patches =
     [
+      # Remove on update!
+      (fetchpatch {
+        name = "fix-tunnel-forwarding.diff";
+        url = "https://github.com/openssh/openssh-portable/commit/cfb1d9bc767.diff";
+        sha256 = "1mszj7f1kj6bazr7asbi1bi4238lfpilpp98f6c1dn3py4fbsdg8";
+      })
+
       ./locale_archive.patch
       ./fix-host-key-algorithms-plus.patch
 
diff --git a/pkgs/tools/networking/speedtest-cli/default.nix b/pkgs/tools/networking/speedtest-cli/default.nix
deleted file mode 100644
index eedea841356d..000000000000
--- a/pkgs/tools/networking/speedtest-cli/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchFromGitHub, python3Packages }:
-
-python3Packages.buildPythonApplication rec {
-  name = "speedtest-cli-${version}";
-  version = "2.0.2";
-
-  src = fetchFromGitHub {
-    owner = "sivel";
-    repo = "speedtest-cli";
-    rev = "v${version}";
-    sha256 = "0vv2z37g2kgm2dzkfa4bhri92hs0d1acxi8z66gznsl5148q7sdi";
-  };
-
-  meta = with stdenv.lib; {
-    homepage = https://github.com/sivel/speedtest-cli;
-    description = "Command line interface for testing internet bandwidth using speedtest.net";
-    platforms = platforms.all;
-    license = licenses.asl20;
-    maintainers = with maintainers; [ domenkozar ndowens ];
-  };
-}
diff --git a/pkgs/tools/networking/strongswan/default.nix b/pkgs/tools/networking/strongswan/default.nix
index d176c08829e5..eac1ccb253fc 100644
--- a/pkgs/tools/networking/strongswan/default.nix
+++ b/pkgs/tools/networking/strongswan/default.nix
@@ -16,11 +16,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "strongswan-${version}";
-  version = "5.6.3";
+  version = "5.7.1";
 
   src = fetchurl {
     url = "https://download.strongswan.org/${name}.tar.bz2";
-    sha256 = "095zg7h7qwsc456sqgwb1lhhk29ac3mk5z9gm6xja1pl061driy3";
+    sha256 = "1v2b8lnqrkbc9hx3p2rw36xvphdy5ayy3dblm3kz98p24s8rqvq0";
   };
 
   dontPatchELF = true;
diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix
index a009e76d9e0a..f26cef3e61d3 100644
--- a/pkgs/tools/networking/unbound/default.nix
+++ b/pkgs/tools/networking/unbound/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "unbound-${version}";
-  version = "1.7.3";
+  version = "1.8.0";
 
   src = fetchurl {
     url = "https://unbound.net/downloads/${name}.tar.gz";
-    sha256 = "c11de115d928a6b48b2165e0214402a7a7da313cd479203a7ce7a8b62cba602d";
+    sha256 = "0gxqc4ynd2g1a5dwaazqh9n8injh49a7dz0l9bbxqgv47dnrvxvq";
   };
 
   outputs = [ "out" "lib" "man" ]; # "dev" would only split ~20 kB
diff --git a/pkgs/tools/networking/wireguard-go/default.nix b/pkgs/tools/networking/wireguard-go/default.nix
index c6b8cb242fdc..a6a32ccf12ad 100644
--- a/pkgs/tools/networking/wireguard-go/default.nix
+++ b/pkgs/tools/networking/wireguard-go/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   name = "wireguard-go-${version}";
-  version = "0.0.20180613";
+  version = "0.0.20181001";
 
   goPackagePath = "git.zx2c4.com/wireguard-go";
 
   src = fetchzip {
     url = "https://git.zx2c4.com/wireguard-go/snapshot/wireguard-go-${version}.tar.xz";
-    sha256 = "0pvg7s1kyn48az54lsnyn1ryhjk0flmpz5dx520rc94g6xn88fic";
+    sha256 = "0yh9f58xn8kcq3wgx2s8j19k2h1vbmg70fn5gvw9k98f5mzynls3";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/tools/networking/wireguard-tools/default.nix b/pkgs/tools/networking/wireguard-tools/default.nix
index 493f52bd11b1..33b62d1bb380 100644
--- a/pkgs/tools/networking/wireguard-tools/default.nix
+++ b/pkgs/tools/networking/wireguard-tools/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "wireguard-tools-${version}";
-  version = "0.0.20180925";
+  version = "0.0.20181007";
 
   src = fetchzip {
     url = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${version}.tar.xz";
-    sha256 = "10k63ld0f5q5aykpcrg9m3xmrsf3qmlkvhiv18q73hnky2cjfx62";
+    sha256 = "1nrhwnccs6sqq1qs7yhxqb989inrc9n2saibpqs6ga6gb0pvpac6";
   };
 
   sourceRoot = "source/src/tools";
diff --git a/pkgs/tools/package-management/appimage-run/default.nix b/pkgs/tools/package-management/appimage-run/default.nix
index 8e236aa426fd..e744b897f46a 100644
--- a/pkgs/tools/package-management/appimage-run/default.nix
+++ b/pkgs/tools/package-management/appimage-run/default.nix
@@ -134,7 +134,8 @@ buildFHSUserEnv {
 
       if ${file}/bin/file --mime-type --brief --keep-going "$APPIMAGE" | grep -q iso; then
         # is type-1 appimage
-        ${libarchive}/bin/bsdtar -x -C "$SQUASHFS_ROOT" -f "$APPIMAGE"
+        mkdir "$APPDIR"
+        ${libarchive}/bin/bsdtar -x -C "$APPDIR" -f "$APPIMAGE"
       else
         # is type-2 appimage
         "$APPIMAGE" --appimage-extract 2>/dev/null
diff --git a/pkgs/tools/package-management/xbps/default.nix b/pkgs/tools/package-management/xbps/default.nix
index dbcd9dafbef6..d29b46b87bed 100644
--- a/pkgs/tools/package-management/xbps/default.nix
+++ b/pkgs/tools/package-management/xbps/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "xbps-${version}";
-  version = "0.52";
+  version = "0.53";
 
   src = fetchFromGitHub {
-    owner = "voidlinux";
+    owner = "void-linux";
     repo = "xbps";
     rev = version;
-    sha256 = "1sf6iy9l3dijsczsngzbhksshfm1374g2rrdasc04l6gz35l2cdp";
+    sha256 = "1zicin2z5j7vg2ixzpd6nahjhrjwdcavm817wzgs9x013b596paa";
   };
 
   nativeBuildInputs = [ pkgconfig which ];
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/voidlinux/xbps;
+    homepage = https://github.com/void-linux/xbps;
     description = "The X Binary Package System";
     platforms = platforms.linux; # known to not work on Darwin, at least
     license = licenses.bsd2;
diff --git a/pkgs/tools/security/fail2ban/default.nix b/pkgs/tools/security/fail2ban/default.nix
index 30e8d4303dc1..6b1d8e6c4f88 100644
--- a/pkgs/tools/security/fail2ban/default.nix
+++ b/pkgs/tools/security/fail2ban/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, python, pythonPackages, gamin }:
 
-let version = "0.10.3.1"; in
+let version = "0.10.4"; in
 
 pythonPackages.buildPythonApplication {
   name = "fail2ban-${version}";
@@ -9,7 +9,7 @@ pythonPackages.buildPythonApplication {
     owner  = "fail2ban";
     repo   = "fail2ban";
     rev    = version;
-    sha256 = "03gljmqykwwvwxcfhqqfccmnsjhsl93052i38r9mf7hj4jj8v7x5";
+    sha256 = "07ik6rm856q0ic2r7vbg6j3hsdcdgkv44hh5ck0c2y21fqwrck3l";
   };
 
   propagatedBuildInputs = [ gamin ]
@@ -27,7 +27,7 @@ pythonPackages.buildPythonApplication {
 
   preInstall = ''
     substituteInPlace setup.py --replace /usr/share/doc/ share/doc/
-  
+
     # see https://github.com/NixOS/nixpkgs/issues/4968
     ${python}/bin/${python.executable} setup.py install_data --install-dir=$out --root=$out
   '';
diff --git a/pkgs/tools/security/monkeysphere/default.nix b/pkgs/tools/security/monkeysphere/default.nix
index f4def72b728c..0cf59dc555c2 100644
--- a/pkgs/tools/security/monkeysphere/default.nix
+++ b/pkgs/tools/security/monkeysphere/default.nix
@@ -1,27 +1,46 @@
 { stdenv, fetchurl, makeWrapper
 , perl, libassuan, libgcrypt
-, perlPackages, lockfileProgs, gnupg
+, perlPackages, lockfileProgs, gnupg, coreutils
+# For the tests:
+, bash, openssh, which, socat, cpio, hexdump
 }:
 
 stdenv.mkDerivation rec {
   name = "monkeysphere-${version}";
-  version = "0.41";
+  version = "0.42";
 
   src = fetchurl {
     url = "http://archive.monkeysphere.info/debian/pool/monkeysphere/m/monkeysphere/monkeysphere_${version}.orig.tar.gz";
-    sha256 = "0jz7kwkwgylqprnl8bwvl084s5gjrilza77ln18i3f6x48b2y6li";
+    sha256 = "1haqgjxm8v2xnhc652lx79p2cqggb9gxgaf19w9l9akar2qmdjf1";
   };
 
   patches = [ ./monkeysphere.patch ];
 
+  postPatch = ''
+    sed -i "s,/usr/bin/env,${coreutils}/bin/env," src/share/ma/update_users
+  '';
+
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ perl libassuan libgcrypt ];
+  buildInputs = [ perl libassuan libgcrypt ]
+    ++ stdenv.lib.optional doCheck
+      ([ gnupg openssh which socat cpio hexdump lockfileProgs ] ++
+      (with perlPackages; [ CryptOpenSSLRSA CryptOpenSSLBignum ]));
 
   makeFlags = ''
     PREFIX=/
     DESTDIR=$(out)
   '';
 
+  # Not all checks pass yet (NixOS specific problems) and the tests "drain"
+  # entropy (apparently GnuPG still uses /dev/random).
+  doCheck = false;
+  preCheck = ''
+    patchShebangs tests/
+    patchShebangs src/
+    sed -i "s,/usr/sbin/sshd,${openssh}/bin/sshd," tests/basic
+    sed -i "s/<(hd/<(hexdump/" tests/keytrans
+  '';
+
   postFixup =
     let wrapperArgs = runtimeDeps:
           "--prefix PERL5LIB : "
diff --git a/pkgs/tools/security/nmap/default.nix b/pkgs/tools/security/nmap/default.nix
index 4c6df817a72d..09423a96ef96 100644
--- a/pkgs/tools/security/nmap/default.nix
+++ b/pkgs/tools/security/nmap/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libpcap, pkgconfig, openssl
+{ stdenv, fetchurl, libpcap, pkgconfig, openssl, lua5_3
 , graphicalSupport ? false
 , libX11 ? null
 , gtk2 ? null
@@ -35,11 +35,17 @@ in stdenv.mkDerivation rec {
         --replace 'ARFLAGS="-o"' 'ARFLAGS="-r"'
   '';
 
-  configureFlags = []
+  configureFlags = [ "--with-liblua=${lua5_3}" ]
     ++ optional (!pythonSupport) "--without-ndiff"
     ++ optional (!graphicalSupport) "--without-zenmap"
     ;
 
+  makeFlags = optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
+    "AR=${stdenv.cc.bintools.targetPrefix}ar"
+    "RANLIB=${stdenv.cc.bintools.targetPrefix}ranlib"
+    "CC=${stdenv.cc.targetPrefix}gcc"
+  ];
+
   postInstall = optionalString pythonSupport ''
       wrapProgram $out/bin/ndiff --prefix PYTHONPATH : "$(toPythonPath $out)" --prefix PYTHONPATH : "$PYTHONPATH"
   '' + optionalString graphicalSupport ''
diff --git a/pkgs/tools/security/spectre-meltdown-checker/default.nix b/pkgs/tools/security/spectre-meltdown-checker/default.nix
index c406316940e4..256423892c48 100644
--- a/pkgs/tools/security/spectre-meltdown-checker/default.nix
+++ b/pkgs/tools/security/spectre-meltdown-checker/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "spectre-meltdown-checker-${version}";
-  version = "0.39";
+  version = "0.40";
 
   src = fetchFromGitHub {
     owner = "speed47";
     repo = "spectre-meltdown-checker";
     rev = "v${version}";
-    sha256 = "1llp6iyvbykn9w7vnz1jklmy6gmbksk234b46mzjfvg7mvg91dc5";
+    sha256 = "0lhykc2andl0611bbs9b5dzp7c753crppvir2i7aw6bgwis23gjs";
   };
 
   prePatch = ''
diff --git a/pkgs/tools/system/fio/default.nix b/pkgs/tools/system/fio/default.nix
index 41016dc49fa5..c0210127d9f2 100644
--- a/pkgs/tools/system/fio/default.nix
+++ b/pkgs/tools/system/fio/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "fio-${version}";
-  version = "3.10";
+  version = "3.11";
 
   src = fetchFromGitHub {
     owner  = "axboe";
     repo   = "fio";
     rev    = "fio-${version}";
-    sha256 = "0cg6knaja32g46j1vlf0qw4q8yng7hrnnvh6b768pbjdxpn3wvi0";
+    sha256 = "0k5hja50qmz6qwm8h7z00zdgxhf1vg1g168jinqzn1521fihvlvz";
   };
 
   buildInputs = [ python zlib ]
diff --git a/pkgs/tools/system/gotop/default.nix b/pkgs/tools/system/gotop/default.nix
index 0afdb28728c8..3aba05f7aefe 100644
--- a/pkgs/tools/system/gotop/default.nix
+++ b/pkgs/tools/system/gotop/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "gotop-${version}";
-  version = "1.2.9";
+  version = "1.5.0";
 
   goPackagePath = "github.com/cjbassi/gotop";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     repo = "gotop";
     owner = "cjbassi";
     rev = version;
-    sha256 = "07s2f04yhc79vqr1gdh2v974kpn7flp4slnp99mavpa331lv9q8a";
+    sha256 = "19kj7mziwkfcf9kkwph05jh5vlkfqpyrpxdk5gdf2swg07w1ld35";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/system/hwinfo/default.nix b/pkgs/tools/system/hwinfo/default.nix
index af934b54185a..59ece285676c 100644
--- a/pkgs/tools/system/hwinfo/default.nix
+++ b/pkgs/tools/system/hwinfo/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "hwinfo-${version}";
-  version = "21.57";
+  version = "21.58";
 
   src = fetchFromGitHub {
     owner = "opensuse";
     repo = "hwinfo";
     rev = "${version}";
-    sha256 = "1zxc26bljhj04mqzpwnqd6zfnz4dd2syapzn8xcakj882v4a8gnz";
+    sha256 = "15gfgb711cs42nynmql2dyi8hs7f5wj3pcm75snnbz5arp8lx3j2";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/text/gnupatch/default.nix b/pkgs/tools/text/gnupatch/default.nix
index e22850a63f01..238dba3a9f1e 100644
--- a/pkgs/tools/text/gnupatch/default.nix
+++ b/pkgs/tools/text/gnupatch/default.nix
@@ -23,7 +23,6 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  buildInputs = stdenv.lib.optional doCheck ed;
   nativeBuildInputs = [ autoreconfHook ];
 
   configureFlags = stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
@@ -31,6 +30,7 @@ stdenv.mkDerivation rec {
   ];
 
   doCheck = stdenv.hostPlatform.libc != "musl"; # not cross;
+  checkInputs = [ed];
 
   meta = {
     description = "GNU Patch, a program to apply differences to files";
diff --git a/pkgs/tools/text/html-tidy/default.nix b/pkgs/tools/text/html-tidy/default.nix
index 51ce4baa0beb..1974c0aa4f36 100644
--- a/pkgs/tools/text/html-tidy/default.nix
+++ b/pkgs/tools/text/html-tidy/default.nix
@@ -13,8 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake libxslt/*manpage*/ ];
 
-  cmakeFlags = stdenv.lib.optional
-    (stdenv.hostPlatform.libc or null == "msvcrt") "-DCMAKE_SYSTEM_NAME=Windows";
+  cmakeFlags = [];
 
   # ATM bin/tidy is statically linked, as upstream provides no other option yet.
   # https://github.com/htacg/tidy-html5/issues/326#issuecomment-160322107
diff --git a/pkgs/tools/video/bento4/default.nix b/pkgs/tools/video/bento4/default.nix
new file mode 100644
index 000000000000..687f80f1adfc
--- /dev/null
+++ b/pkgs/tools/video/bento4/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub
+, cmake
+}:
+stdenv.mkDerivation rec {
+  name = "bento4-${version}";
+  version = "1.5.1-624";
+
+  src = fetchFromGitHub {
+    owner = "axiomatic-systems";
+    repo = "Bento4";
+    rev = "v${version}";
+    sha256 = "1cq6vhrq3n3lc1n454slbc66qdyqam2srxgdhfpyfxbq5c4y06nf";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  installPhase = ''
+    mkdir -p $out/{lib,bin}
+    find -iname '*.so' -exec mv --target-directory="$out/lib" {} \;
+    find -maxdepth 1 -executable -type f -exec mv --target-directory="$out/bin" {} \;
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Full-featured MP4 format and MPEG DASH library and tools";
+    homepage = http://bento4.com;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ makefu ];
+    broken = stdenv.isAarch64;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/virtualization/linode-cli/default.nix b/pkgs/tools/virtualization/linode-cli/default.nix
index 12852265c406..c4fb74cf1a1d 100644
--- a/pkgs/tools/virtualization/linode-cli/default.nix
+++ b/pkgs/tools/virtualization/linode-cli/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, buildPerlPackage, perlPackages, makeWrapper}:
+{ stdenv, fetchFromGitHub, perlPackages, makeWrapper}:
 
-buildPerlPackage rec {
+perlPackages.buildPerlPackage rec {
   name = "linode-cli-${version}";
   version = "1.4.7";