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/x2x/default.nix16
-rw-r--r--pkgs/tools/X11/xbrightness/default.nix22
-rw-r--r--pkgs/tools/X11/xvkbd/default.nix15
-rw-r--r--pkgs/tools/X11/xzoom/default.nix17
-rw-r--r--pkgs/tools/admin/aws-google-auth/default.nix62
-rw-r--r--pkgs/tools/admin/pulumi/default.nix39
-rw-r--r--pkgs/tools/admin/tightvnc/default.nix38
-rw-r--r--pkgs/tools/audio/beets/alternatives-plugin.nix13
-rw-r--r--pkgs/tools/audio/beets/default.nix9
-rw-r--r--pkgs/tools/filesystems/jfsutils/ar-fix.patch10
-rw-r--r--pkgs/tools/filesystems/jfsutils/default.nix10
-rw-r--r--pkgs/tools/filesystems/reiserfsprogs/default.nix4
-rw-r--r--pkgs/tools/filesystems/reiserfsprogs/reiserfsprogs-ar-fix.patch10
-rw-r--r--pkgs/tools/graphics/oxipng/default.nix6
-rw-r--r--pkgs/tools/graphics/perceptualdiff/default.nix25
-rw-r--r--pkgs/tools/graphics/transfig/default.nix12
-rw-r--r--pkgs/tools/misc/ethtool/default.nix4
-rw-r--r--pkgs/tools/misc/hdf5/default.nix6
-rw-r--r--pkgs/tools/misc/hid-listen/default.nix2
-rw-r--r--pkgs/tools/misc/otfcc/default.nix14
-rw-r--r--pkgs/tools/misc/vdirsyncer/default.nix19
-rw-r--r--pkgs/tools/networking/curl/default.nix5
-rw-r--r--pkgs/tools/networking/curl/fix-ipv6-url-parsing.patch54
-rw-r--r--pkgs/tools/networking/dnsmasq/default.nix4
-rw-r--r--pkgs/tools/networking/gandi-cli/default.nix19
-rw-r--r--pkgs/tools/networking/modem-manager/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/applet.nix2
-rw-r--r--pkgs/tools/networking/quickserve/default.nix2
-rw-r--r--pkgs/tools/networking/x11-ssh-askpass/default.nix10
-rw-r--r--pkgs/tools/package-management/nix-pin/default.nix1
-rw-r--r--pkgs/tools/package-management/nix-update-source/default.nix3
-rw-r--r--pkgs/tools/security/gnupg/22.nix4
-rw-r--r--pkgs/tools/security/mkpasswd/default.nix2
-rw-r--r--pkgs/tools/security/monkeysphere/default.nix6
-rw-r--r--pkgs/tools/security/sudo/default.nix4
-rw-r--r--pkgs/tools/system/efivar/default.nix3
-rw-r--r--pkgs/tools/system/lshw/default.nix4
-rw-r--r--pkgs/tools/system/s-tui/default.nix4
-rw-r--r--pkgs/tools/text/gist/default.nix16
-rw-r--r--pkgs/tools/video/vncrec/default.nix13
-rw-r--r--pkgs/tools/virtualization/awsebcli/default.nix1
41 files changed, 367 insertions, 147 deletions
diff --git a/pkgs/tools/X11/x2x/default.nix b/pkgs/tools/X11/x2x/default.nix
index 24cf4f6b2e16..0c3538a0db9c 100644
--- a/pkgs/tools/X11/x2x/default.nix
+++ b/pkgs/tools/X11/x2x/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, imake, libX11, libXtst, libXext}:
+{ stdenv, fetchurl, imake, libX11, libXtst, libXext, gccmakedep }:
 
 stdenv.mkDerivation {
   name = "x2x-1.27";
@@ -8,20 +8,16 @@ stdenv.mkDerivation {
     sha256 = "0dha0kn1lbc4as0wixsvk6bn4innv49z9a0sm5wlx4q1v0vzqzyj";
   };
 
-  buildInputs = [ imake libX11 libXtst libXext ];
+  nativeBuildInputs = [ imake gccmakedep ];
+  buildInputs = [ libX11 libXtst libXext ];
 
   hardeningDisable = [ "format" ];
 
-  configurePhase = ''
-    xmkmf
-    makeFlags="BINDIR=$out/bin x2x"
-  '';
+  buildFlags = [ "x2x" ];
 
   installPhase = ''
-    mkdir -p $out/bin
-    mkdir -p $out/man/man1
-    cp x2x $out/bin/
-    cp x2x.1 $out/man/man1/
+    install -D x2x $out/bin/x2x
+    install -D x2x.1 $out/man/man1/x2x.1
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/X11/xbrightness/default.nix b/pkgs/tools/X11/xbrightness/default.nix
index f4112765e675..2857ea6c7be4 100644
--- a/pkgs/tools/X11/xbrightness/default.nix
+++ b/pkgs/tools/X11/xbrightness/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, xorg }:
+{ stdenv, fetchurl, imake, gccmakedep
+, libX11, libXaw, libXext, libXmu, libXpm, libXxf86vm  }:
 
 stdenv.mkDerivation {
 
@@ -8,22 +9,11 @@ stdenv.mkDerivation {
     sha256 = "2564dbd393544657cdabe4cbf535d9cfb9abe8edddb1b8cdb1ed4d12f358626e";
   };
 
-  buildInputs = [
-    xorg.imake
-    xorg.libX11
-    xorg.libXaw
-    xorg.libXext
-    xorg.libXmu
-    xorg.libXpm
-    xorg.libXxf86vm
-  ];
+  nativeBuildInputs = [ imake gccmakedep ];
+  buildInputs = [ libX11 libXaw libXext libXmu libXpm libXxf86vm ];
 
-  configurePhase = "xmkmf";
-
-  installPhase = ''
-    make install BINDIR=$out/bin
-    make install.man MANPATH=$out/share/man
-  '';
+  makeFlags = [ "BINDIR=$(out)/bin" "MANPATH=$(out)/share/man" ];
+  installTargets = "install install.man";
 
   meta = {
     description = "X11 brigthness and gamma software control";
diff --git a/pkgs/tools/X11/xvkbd/default.nix b/pkgs/tools/X11/xvkbd/default.nix
index 06824f882a44..6ccc8a24caee 100644
--- a/pkgs/tools/X11/xvkbd/default.nix
+++ b/pkgs/tools/X11/xvkbd/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, imake, libXt, libXaw, libXtst, libXi, libXpm, xextproto, gccmakedep, Xaw3d }:
+{ stdenv, fetchurl, imake, libXt, libXaw, libXtst
+, libXi, libXpm, xextproto, gccmakedep, Xaw3d }:
 
 stdenv.mkDerivation rec {
   name = "xvkbd-${version}";
@@ -8,12 +9,14 @@ stdenv.mkDerivation rec {
     sha256 = "17csj6x5zm3g67izfwhagkal1rbqzpw09lqmmlyrjy3vzgfkf75q";
   };
 
-  buildInputs = [ imake libXt libXaw libXtst xextproto libXi Xaw3d libXpm gccmakedep ];
+  nativeBuildInputs = [ imake gccmakedep ];
+  buildInputs = [ libXt libXaw libXtst xextproto libXi Xaw3d libXpm ];
   installTargets = [ "install" "install.man" ];
-  preBuild = ''
-    makeFlagsArray=( BINDIR=$out/bin XAPPLOADDIR=$out/etc/X11/app-defaults MANPATH=$out/man )
-  '';
-  configurePhase = '' xmkmf -a '';
+  makeFlags = [
+    "BINDIR=$(out)/bin"
+    "XAPPLOADDIR=$(out)/etc/X11/app-defaults"
+    "MANPATH=$(out)/man"
+  ];
 
   meta = with stdenv.lib; {
     description = "Virtual keyboard for X window system";
diff --git a/pkgs/tools/X11/xzoom/default.nix b/pkgs/tools/X11/xzoom/default.nix
index 05154e282636..d1867e3b077b 100644
--- a/pkgs/tools/X11/xzoom/default.nix
+++ b/pkgs/tools/X11/xzoom/default.nix
@@ -1,4 +1,5 @@
-{stdenv, fetchurl, libX11, imake, libXext, libXt}:
+{ stdenv, fetchurl, libX11, libXext, libXt, imake, gccmakedep}:
+
 stdenv.mkDerivation rec {
   name = "${pname}-${version}.${patchlevel}";
   pname = "xzoom";
@@ -16,12 +17,16 @@ stdenv.mkDerivation rec {
        sha256 = "0zhc06whbvaz987bzzzi2bz6h9jp6rv812qs7b71drivvd820qbh";
     })
   ];
-  buildInputs = [libX11 imake libXext libXt];
 
-  configurePhase = ''
-    xmkmf
-    makeFlags="$makeFlags PREFIX=$out BINDIR=$out/bin MANPATH=$out/share/man"
-  '';
+  nativeBuildInputs = [ imake gccmakedep ];
+  buildInputs = [ libX11 libXext libXt ];
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "BINDIR=$(out)/bin"
+    "MANPATH=$(out)/share/man"
+  ];
+  installTargets = "install install.man";
 
   meta = {
     inherit version;
diff --git a/pkgs/tools/admin/aws-google-auth/default.nix b/pkgs/tools/admin/aws-google-auth/default.nix
new file mode 100644
index 000000000000..5d4ba0bfbc8c
--- /dev/null
+++ b/pkgs/tools/admin/aws-google-auth/default.nix
@@ -0,0 +1,62 @@
+{ lib
+, buildPythonApplication
+, fetchFromGitHub
+, beautifulsoup4
+, boto3
+, configparser
+, keyring
+, keyrings-alt
+, lxml
+, pillow
+, requests
+, six
+, tabulate
+, tzlocal
+, nose
+, mock
+, withU2F ? false, python-u2flib-host
+}:
+
+buildPythonApplication rec {
+  pname = "aws-google-auth";
+  version = "0.0.29";
+
+  # Pypi doesn't ship the tests, so we fetch directly from GitHub
+  # https://github.com/cevoaustralia/aws-google-auth/issues/120
+  src = fetchFromGitHub {
+    owner = "cevoaustralia";
+    repo = "aws-google-auth";
+    rev = version;
+    sha256 = "06dalrwjy1sbc5wvj5ip4h999izlb0j5g6b6f3l5znnsm0vfvfia";
+  };
+
+  propagatedBuildInputs = [ 
+    beautifulsoup4
+    boto3
+    configparser
+    keyring
+    keyrings-alt
+    lxml
+    pillow
+    requests
+    six
+    tabulate
+    tzlocal
+  ] ++ lib.optional withU2F python-u2flib-host;
+  
+  checkInputs = [ 
+    mock
+    nose 
+  ];
+
+  preCheck = ''
+    export HOME=$TMPDIR
+  '';
+
+  meta = with lib; {
+    description = "Acquire AWS STS (temporary) credentials via Google Apps SAML Single Sign On";
+    homepage = https://github.com/cevoaustralia/aws-google-auth;
+    maintainers = [ maintainers.marsam ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/tools/admin/pulumi/default.nix b/pkgs/tools/admin/pulumi/default.nix
new file mode 100644
index 000000000000..b24b88fa96a2
--- /dev/null
+++ b/pkgs/tools/admin/pulumi/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl }:
+
+let
+
+  version = "0.16.2";
+
+  # switch the dropdown to “manual” on https://pulumi.io/quickstart/install.html # TODO: update script
+  pulumiArchPackage = {
+    "x86_64-linux" = {
+      url = "https://get.pulumi.com/releases/sdk/pulumi-v${version}-linux-x64.tar.gz";
+      sha256 = "16qgy2pj3xkf1adi3882fpsl99jwsm19111fi5vzh1xqf39sg549";
+    };
+    "x86_64-darwin" = {
+      url = "https://get.pulumi.com/releases/sdk/pulumi-v${version}-darwin-x64.tar.gz";
+      sha256 = "18ck9khspa0x798bdlwk8dzylbsq7s35xmla8yasd9qqlab1yy1a";
+    };
+  };
+
+in stdenv.mkDerivation rec {
+  inherit version;
+  name = "pulumi-${version}";
+
+  src = fetchurl pulumiArchPackage.${stdenv.hostPlatform.system};
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp * $out/bin/
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://pulumi.io/;
+    description = "Pulumi is a cloud development platform that makes creating cloud programs easy and productive";
+    license = with licenses; [ asl20 ];
+    platforms = builtins.attrNames pulumiArchPackage;
+    maintainers = with maintainers; [
+      peterromfeldhk
+    ];
+  };
+}
diff --git a/pkgs/tools/admin/tightvnc/default.nix b/pkgs/tools/admin/tightvnc/default.nix
index 4027b3d531c3..5a76b500d149 100644
--- a/pkgs/tools/admin/tightvnc/default.nix
+++ b/pkgs/tools/admin/tightvnc/default.nix
@@ -10,15 +10,14 @@ stdenv.mkDerivation {
   };
 
   # for the builder script
-  inherit xauth fontDirectories perl;
-  gcc = stdenv.cc.cc;
+  inherit fontDirectories;
 
   hardeningDisable = [ "format" ];
 
   buildInputs = [ xlibsWrapper zlib libjpeg imake gccmakedep libXmu libXaw
                   libXpm libXp xauth openssh ];
 
-  patchPhase = ''
+  postPatch = ''
     fontPath=
     for i in $fontDirectories; do
       for j in $(find $i -name fonts.dir); do
@@ -27,37 +26,38 @@ stdenv.mkDerivation {
     done
 
     sed -i "s@/usr/bin/ssh@${openssh}/bin/ssh@g" vncviewer/vncviewer.h
-  '';
 
-  buildPhase = ''
-    xmkmf
-    make World
     sed -e 's@/usr/bin/perl@${perl}/bin/perl@' \
         -e 's@unix/:7100@'$fontPath'@' \
         -i vncserver
 
-    cd Xvnc
-    sed -e 's@.* CppCmd .*@#define CppCmd		'$gcc'/bin/cpp@' -i config/cf/linux.cf
-    sed -e 's@.* CppCmd .*@#define CppCmd		'$gcc'/bin/cpp@' -i config/cf/Imake.tmpl
+    sed -e 's@.* CppCmd .*@#define CppCmd		cpp@' -i Xvnc/config/cf/linux.cf
+    sed -e 's@.* CppCmd .*@#define CppCmd		cpp@' -i Xvnc/config/cf/Imake.tmpl
     sed -i \
         -e 's@"uname","xauth","Xvnc","vncpasswd"@"uname","Xvnc","vncpasswd"@g' \
         -e "s@\<xauth\>@${xauth}/bin/xauth@g" \
-        ../vncserver
-    ./configure
-    make
-    cd ..
+        vncserver
   '';
 
-  installPhase = ''
+  preInstall = ''
     mkdir -p $out/bin
     mkdir -p $out/share/man/man1
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
     ./vncinstall $out/bin $out/share/man
 
+    runHook postInstall
+  '';
+
+  postInstall = ''
     # fix HTTP client:
-    t=$out/share/tightvnc
-    mkdir -p $t
-    sed -i "s@/usr/local/vnc/classes@$out/vnc/classes@g" $out/bin/vncserver
-    cp -r classes $t
+    mkdir -p $out/share/tightvnc
+    cp -r classes $out/share/tightvnc
+    substituteInPlace $out/bin/vncserver \
+      --replace /usr/local/vnc/classes $out/share/tightvnc/classes
   '';
 
   meta = {
diff --git a/pkgs/tools/audio/beets/alternatives-plugin.nix b/pkgs/tools/audio/beets/alternatives-plugin.nix
index a3e7f9a63d65..38902f234a2b 100644
--- a/pkgs/tools/audio/beets/alternatives-plugin.nix
+++ b/pkgs/tools/audio/beets/alternatives-plugin.nix
@@ -2,20 +2,16 @@
 
 pythonPackages.buildPythonApplication rec {
   name = "beets-alternatives-${version}";
-  version = "0.8.2";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     repo = "beets-alternatives";
-    owner = "wisp3rwind";
+    owner = "geigerzaehler";
     # This is 0.8.2 with fixes against Beets 1.4.6 and Python 3 compatibility.
-    rev = "331eb406786a2d4dc3dd721a534225b087474b1e";
-    sha256 = "1avds2x5sp72c89l1j52pszprm85g9sm750jh1dhnyvgcbk91cb5";
+    rev = "v${version}";
+    sha256 = "19160gwg5j6asy8mc21g2kf87mx4zs9x2gbk8q4r6330z4kpl5pm";
   };
 
-  postPatch = ''
-    sed -i -e '/long_description/d' setup.py
-  '';
-
   nativeBuildInputs = [ beets pythonPackages.nose ];
 
   checkPhase = "nosetests";
@@ -23,6 +19,7 @@ pythonPackages.buildPythonApplication rec {
   meta = {
     description = "Beets plugin to manage external files";
     homepage = https://github.com/geigerzaehler/beets-alternatives;
+    maintainers = [ stdenv.lib.maintainers.aszlig ];
     license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix
index 8f0cc6c4f5c6..1cba381a57bf 100644
--- a/pkgs/tools/audio/beets/default.nix
+++ b/pkgs/tools/audio/beets/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchFromGitHub, writeScript, glibcLocales, diffPlugins
 , pythonPackages, imagemagick, gobjectIntrospection, gst_all_1
+, fetchpatch
 
 # Attributes needed for tests of the external plugins
 , callPackage, beets
@@ -155,6 +156,14 @@ in pythonPackages.buildPythonApplication rec {
   patches = [
     ./replaygain-default-bs1770gain.patch
     ./keyfinder-default-bin.patch
+
+    # Fix Python 3.7 compatibility
+    (fetchpatch {
+      url = "https://github.com/beetbox/beets/commit/"
+          + "15d44f02a391764da1ce1f239caef819f08beed8.patch";
+      sha256 = "12rjb4959nvnrm3fvvki7chxjkipa0cy8i0yi132xrcn8141dnpm";
+      excludes = [ "docs/changelog.rst" ];
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/tools/filesystems/jfsutils/ar-fix.patch b/pkgs/tools/filesystems/jfsutils/ar-fix.patch
new file mode 100644
index 000000000000..697029cd5a8c
--- /dev/null
+++ b/pkgs/tools/filesystems/jfsutils/ar-fix.patch
@@ -0,0 +1,10 @@
+--- jfsutils-1.1.15/configure.in.orig	2018-11-27 20:46:55.830242385 +0300
++++ jfsutils-1.1.15/configure.in	2018-11-27 20:47:00.596307630 +0300
+@@ -15,6 +15,7 @@
+ AC_PATH_PROG(LN, ln, ln)
+ AC_PROG_LN_S
+ AC_PROG_RANLIB
++AM_PROG_AR
+ 
+ dnl Checks for header files.
+ AC_HEADER_STDC
diff --git a/pkgs/tools/filesystems/jfsutils/default.nix b/pkgs/tools/filesystems/jfsutils/default.nix
index acc7a91d93f5..92dfe00c9514 100644
--- a/pkgs/tools/filesystems/jfsutils/default.nix
+++ b/pkgs/tools/filesystems/jfsutils/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libuuid }:
+{ stdenv, fetchurl, libuuid, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   name = "jfsutils-1.1.15";
@@ -8,8 +8,14 @@ stdenv.mkDerivation rec {
     sha256 = "0kbsy2sk1jv4m82rxyl25gwrlkzvl3hzdga9gshkxkhm83v1aji4";
   };
 
-  patches = [ ./types.patch ./hardening-format.patch ];
+  patches = [
+    ./types.patch
+    ./hardening-format.patch
+    # required for cross-compilation
+    ./ar-fix.patch
+  ];
 
+  nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ libuuid ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/filesystems/reiserfsprogs/default.nix b/pkgs/tools/filesystems/reiserfsprogs/default.nix
index e23dd5f0bd14..345974bed58d 100644
--- a/pkgs/tools/filesystems/reiserfsprogs/default.nix
+++ b/pkgs/tools/filesystems/reiserfsprogs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libuuid }:
+{ stdenv, fetchurl, libuuid, autoreconfHook }:
 
 let version = "3.6.24"; in
 stdenv.mkDerivation rec {
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0q07df9wxxih8714a3mdp61h5n347l7j2a0l351acs3xapzgwi3y";
   };
 
+  patches = [ ./reiserfsprogs-ar-fix.patch ];
+  nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ libuuid ];
 
   NIX_CFLAGS_COMPILE = "-std=gnu90";
diff --git a/pkgs/tools/filesystems/reiserfsprogs/reiserfsprogs-ar-fix.patch b/pkgs/tools/filesystems/reiserfsprogs/reiserfsprogs-ar-fix.patch
new file mode 100644
index 000000000000..356782a3d984
--- /dev/null
+++ b/pkgs/tools/filesystems/reiserfsprogs/reiserfsprogs-ar-fix.patch
@@ -0,0 +1,10 @@
+--- reiserfsprogs-3.6.24/configure.ac.orig	2018-11-29 17:16:52.313624894 +0300
++++ reiserfsprogs-3.6.24/configure.ac	2018-11-29 17:16:54.480669132 +0300
+@@ -21,6 +21,7 @@
+ AC_PROG_LN_S
+ AC_PROG_MAKE_SET
+ AC_PROG_RANLIB
++AM_PROG_AR
+ 
+ dnl Checks for libraries.
+ 
diff --git a/pkgs/tools/graphics/oxipng/default.nix b/pkgs/tools/graphics/oxipng/default.nix
index c5737554b777..10b4dd4a0318 100644
--- a/pkgs/tools/graphics/oxipng/default.nix
+++ b/pkgs/tools/graphics/oxipng/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchFromGitHub, rustPlatform }:
 
 rustPlatform.buildRustPackage rec {
-  version = "2.1.6";
+  version = "2.1.8";
   name = "oxipng-${version}";
 
   src = fetchFromGitHub {
     owner = "shssoichiro";
     repo = "oxipng";
     rev = "v${version}";
-    sha256 = "0n3v2dxybfkf07hb4p2hbhhkwx907b85wzj8wa4whwil89igyrdm";
+    sha256 = "18ld65vm58s6x918g6bhfkrg7lw2lca8daidv88ff14wm5khjvik";
   };
 
-  cargoSha256 = "1ycacwhwbn27i81jpp55m1446b9a50knlqv0kzkjcv8yf27213y9";
+  cargoSha256 = "034i8hgi0zgv085bimlja1hl3nd096rqpi167pw6rda5aj18c625";
 
   meta = with stdenv.lib; {
     homepage = https://github.com/shssoichiro/oxipng;
diff --git a/pkgs/tools/graphics/perceptualdiff/default.nix b/pkgs/tools/graphics/perceptualdiff/default.nix
new file mode 100644
index 000000000000..d394a816a49d
--- /dev/null
+++ b/pkgs/tools/graphics/perceptualdiff/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, cmake, freeimage }:
+
+stdenv.mkDerivation rec {
+  pname = "perceptualdiff";
+  name = "${pname}-${version}";
+  version = "2.1";
+
+  src = fetchFromGitHub {
+    owner = "myint";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "176n518xv0pczf1yyz9r5a8zw5r6sh5ym596kmvw30qznp8n4a8j";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ freeimage ];
+
+  meta = with stdenv.lib; {
+    description = "A program that compares two images using a perceptually based image metric";
+    homepage = "https://github.com/myint/perceptualdiff";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ uri-canva ];
+    platforms = platforms.x86;
+  };
+}
diff --git a/pkgs/tools/graphics/transfig/default.nix b/pkgs/tools/graphics/transfig/default.nix
index cb3f0edff0f8..ceee3b7674d9 100644
--- a/pkgs/tools/graphics/transfig/default.nix
+++ b/pkgs/tools/graphics/transfig/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, zlib, libjpeg, libpng, imake}:
+{ stdenv, fetchurl, zlib, libjpeg, libpng, imake, gccmakedep }:
 
 stdenv.mkDerivation rec {
   name = "transfig-3.2.4";
@@ -7,7 +7,8 @@ stdenv.mkDerivation rec {
     sha256 = "0429snhp5acbz61pvblwlrwv8nxr6gf12p37f9xxwrkqv4ir7dd4";
   };
 
-  buildInputs = [zlib libjpeg libpng imake];
+  nativeBuildInputs = [ imake gccmakedep ];
+  buildInputs = [ zlib libjpeg libpng ];
 
   patches = [
     ./patch-fig2dev-dev-Imakefile
@@ -45,12 +46,7 @@ stdenv.mkDerivation rec {
     runHook postPatch
   '';
 
-  preBuild = ''
-    xmkmf
-    make Makefiles
-  '';
-
-  makeFlags = [ "CC=cc" ];
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
 
   preInstall = ''
     mkdir -p $out
diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix
index 105733e00333..5bca02037c7b 100644
--- a/pkgs/tools/misc/ethtool/default.nix
+++ b/pkgs/tools/misc/ethtool/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ethtool-${version}";
-  version = "4.18";
+  version = "4.19";
 
   src = fetchurl {
     url = "mirror://kernel/software/network/ethtool/${name}.tar.xz";
-    sha256 = "0461nwqp1z9a89nmxf7kq0r4jfl9c7fg55c71lfmc5y0siaqb54h";
+    sha256 = "1j6hyr809af2m3gqm11hdfwks5kljqy1ikspq3d9rhj29qv6r2mi";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix
index e481a31e9267..3d50b068cc49 100644
--- a/pkgs/tools/misc/hdf5/default.nix
+++ b/pkgs/tools/misc/hdf5/default.nix
@@ -16,11 +16,11 @@ assert !cpp || mpi == null;
 let inherit (stdenv.lib) optional optionals; in
 
 stdenv.mkDerivation rec {
-  version = "1.10.3";
+  version = "1.10.4";
   name = "hdf5-${version}";
   src = fetchurl {
     url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/${name}/src/${name}.tar.bz2";
-    sha256 = "1a85v6812afi6k3gmfdcj80f6ys9kc80v7ysz39pz9948z7dqp66";
+    sha256 = "1pr85fa1sh2ky6ai2hs3f21lp252grl2cq3wbyi4rh7dm83gyrqj";
  };
 
   passthru = {
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
       applications to evolve in their use of HDF5. The HDF5 Technology suite includes tools and
       applications for managing, manipulating, viewing, and analyzing data in the HDF5 format.
     '';
-    license = stdenv.lib.licenses.free; # BSD-like
+    license = stdenv.lib.licenses.bsd3; # Lawrence Berkeley National Labs BSD 3-Clause variant
     homepage = https://www.hdfgroup.org/HDF5/;
     platforms = stdenv.lib.platforms.unix;
     broken = (gfortran != null) && stdenv.isDarwin;
diff --git a/pkgs/tools/misc/hid-listen/default.nix b/pkgs/tools/misc/hid-listen/default.nix
index 0ebad4f7117d..6bbe4888d1b8 100644
--- a/pkgs/tools/misc/hid-listen/default.nix
+++ b/pkgs/tools/misc/hid-listen/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchzip }:
 stdenv.mkDerivation rec {
-  name = "hid-listen";
+  pname = "hid-listen";
   version = "1.01";
 
   src = fetchzip {
diff --git a/pkgs/tools/misc/otfcc/default.nix b/pkgs/tools/misc/otfcc/default.nix
index acf46a58a6bf..96e5e6a1d94e 100644
--- a/pkgs/tools/misc/otfcc/default.nix
+++ b/pkgs/tools/misc/otfcc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, premake5, ninja }:
+{ stdenv, fetchFromGitHub, premake5 }:
 
 stdenv.mkDerivation rec {
   name = "otfcc-${version}";
@@ -11,15 +11,15 @@ stdenv.mkDerivation rec {
     sha256 = "1rnjfqqyc6d9nhlh8if9k37wk94mcwz4wf3k239v6idg48nrk10b";
   };
 
-  nativeBuildInputs = [ premake5 ninja ];
+  nativeBuildInputs = [ premake5 ];
 
-  configurePhase = ''
-    premake5 ninja
+  # Don’t guess where our makefiles will end up. Just use current
+  # directory.
+  patchPhase = ''
+    substituteInPlace premake5.lua \
+      --replace 'location "build/gmake"' 'location "."'
   '';
 
-  ninjaFlags = let x = if stdenv.hostPlatform.isi686 then "x86" else "x64"; in
-    [ "-C" "build/ninja" "otfccdump_release_${x}" "otfccbuild_release_${x}" ];
-
   installPhase = ''
     mkdir -p $out/bin
     cp bin/release-x*/otfcc* $out/bin/
diff --git a/pkgs/tools/misc/vdirsyncer/default.nix b/pkgs/tools/misc/vdirsyncer/default.nix
index c273ef879682..49583ee28902 100644
--- a/pkgs/tools/misc/vdirsyncer/default.nix
+++ b/pkgs/tools/misc/vdirsyncer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, python3Packages, glibcLocales, rustPlatform, pkgconfig, openssl }:
+{ stdenv, python3Packages, fetchpatch, glibcLocales, rustPlatform, pkgconfig, openssl, Security }:
 
 # Packaging documentation at:
 # https://github.com/untitaker/vdirsyncer/blob/master/docs/packaging.rst
@@ -16,7 +16,7 @@ let
     inherit src;
     sourceRoot = name + "/rust";
     cargoSha256 = "08xq9q5fx37azzkqqgwcnds1yd8687gh26dsl3ivql5h13fa2w3q";
-    buildInputs = [ pkgconfig openssl ];
+    buildInputs = [ pkgconfig openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security;
   };
 in pythonPackages.buildPythonApplication rec {
   inherit version pname src native;
@@ -35,6 +35,21 @@ in pythonPackages.buildPythonApplication rec {
 
   checkInputs = with pythonPackages; [ hypothesis pytest pytest-localserver pytest-subtesthack ] ++ [ glibcLocales ];
 
+  patches = [
+    (fetchpatch {
+      url = https://github.com/pimutils/vdirsyncer/commit/80a42e4c6c18ca4db737bc6700c50a3866832bbb.patch;
+      sha256 = "1vrhn0ma3y08w6f5abhl3r5rq30g60h1bp3wmyszw909hyvyzp5l";
+    })
+    (fetchpatch {
+      url = https://github.com/pimutils/vdirsyncer/commit/22ad88a6b18b0979c5d1f1d610c1d2f8f87f4b89.patch;
+      sha256 = "0dbzj6jlxhdidnm3i21a758z83sdiwzhpd45pbkhycfhgmqmhjpl";
+    })
+    (fetchpatch {
+      url = https://github.com/pimutils/vdirsyncer/commit/29417235321c249c65904bc7948b066ef5683aee.patch;
+      sha256 = "0zvr0y88gm3vprjcdzs4m151laa9qhkyi61rvrfdjmf42fwhbm80";
+    })
+  ];
+
   postPatch = ''
     sed -i 's/spec.add_external_build(cmd=cmd/spec.add_external_build(cmd="true"/g' setup.py
   '';
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index dac92f98223c..42ea641afb67 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -34,6 +34,11 @@ stdenv.mkDerivation rec {
     sha256 = "084niy7cin13ba65p8x38w2xcyc54n3fgzbin40fa2shfr0ca0kq";
   };
 
+  patches = [
+    # Cherry picked fix for https://github.com/curl/curl/issues/3218
+    ./fix-ipv6-url-parsing.patch
+  ];
+
   outputs = [ "bin" "dev" "out" "man" "devdoc" ];
   separateDebugInfo = stdenv.isLinux;
 
diff --git a/pkgs/tools/networking/curl/fix-ipv6-url-parsing.patch b/pkgs/tools/networking/curl/fix-ipv6-url-parsing.patch
new file mode 100644
index 000000000000..8a74b27ce7fd
--- /dev/null
+++ b/pkgs/tools/networking/curl/fix-ipv6-url-parsing.patch
@@ -0,0 +1,54 @@
+From b28094833a971870fd8c07960b3b12bf6fbbaad3 Mon Sep 17 00:00:00 2001
+From: Daniel Stenberg <daniel@haxx.se>
+Date: Fri, 2 Nov 2018 15:11:16 +0100
+Subject: [PATCH] URL: fix IPv6 numeral address parser
+
+Regression from 46e164069d1a52. Extended test 1560 to verify.
+
+Reported-by: tpaukrt on github
+Fixes #3218
+Closes #3219
+---
+ lib/urlapi.c            | 8 ++++++--
+ tests/libtest/lib1560.c | 9 +++++++++
+ 2 files changed, 15 insertions(+), 2 deletions(-)
+
+diff --git a/lib/urlapi.c b/lib/urlapi.c
+index c53e523434..18a6076fff 100644
+--- a/lib/urlapi.c
++++ b/lib/urlapi.c
+@@ -499,8 +499,12 @@ static CURLUcode parse_port(struct Curl_URL *u, char *hostname)
+      (']' == endbracket)) {
+     /* this is a RFC2732-style specified IP-address */
+     portptr = &hostname[len];
+-    if (*portptr != ':')
+-      return CURLUE_MALFORMED_INPUT;
++    if(*portptr) {
++      if(*portptr != ':')
++        return CURLUE_MALFORMED_INPUT;
++    }
++    else
++      portptr = NULL;
+   }
+   else
+     portptr = strchr(hostname, ':');
+diff --git a/tests/libtest/lib1560.c b/tests/libtest/lib1560.c
+index e0faa12b29..57469a9063 100644
+--- a/tests/libtest/lib1560.c
++++ b/tests/libtest/lib1560.c
+@@ -128,6 +128,15 @@ struct querycase {
+ };
+ 
+ static struct testcase get_parts_list[] ={
++  {"http://[fd00:a41::50]:8080",
++   "http | [11] | [12] | [13] | [fd00:a41::50] | 8080 | / | [16] | [17]",
++   CURLU_DEFAULT_SCHEME, 0, CURLUE_OK},
++  {"http://[fd00:a41::50]/",
++   "http | [11] | [12] | [13] | [fd00:a41::50] | [15] | / | [16] | [17]",
++   CURLU_DEFAULT_SCHEME, 0, CURLUE_OK},
++  {"http://[fd00:a41::50]",
++   "http | [11] | [12] | [13] | [fd00:a41::50] | [15] | / | [16] | [17]",
++   CURLU_DEFAULT_SCHEME, 0, CURLUE_OK},
+   {"https://[::1%252]:1234",
+    "https | [11] | [12] | [13] | [::1%252] | 1234 | / | [16] | [17]",
+    CURLU_DEFAULT_SCHEME, 0, CURLUE_OK},
diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix
index 9adb95d1d3fb..315e12cc155e 100644
--- a/pkgs/tools/networking/dnsmasq/default.nix
+++ b/pkgs/tools/networking/dnsmasq/default.nix
@@ -12,11 +12,11 @@ let
   ]);
 in
 stdenv.mkDerivation rec {
-  name = "dnsmasq-2.79";
+  name = "dnsmasq-2.80";
 
   src = fetchurl {
     url = "http://www.thekelleys.org.uk/dnsmasq/${name}.tar.xz";
-    sha256 = "07w6cw706yyahwvbvslhkrbjf2ynv567cgy9pal8bz8lrbsp9bbq";
+    sha256 = "1fv3g8vikj3sn37x1j6qsywn09w1jipvlv34j3q5qrljbrwa5ayd";
   };
 
   preBuild = ''
diff --git a/pkgs/tools/networking/gandi-cli/default.nix b/pkgs/tools/networking/gandi-cli/default.nix
index be488e788b41..99db0ab25075 100644
--- a/pkgs/tools/networking/gandi-cli/default.nix
+++ b/pkgs/tools/networking/gandi-cli/default.nix
@@ -1,17 +1,16 @@
-{ stdenv, pythonPackages, fetchFromGitHub }:
+{ stdenv, python3Packages, fetchFromGitHub }:
 
-with pythonPackages;
+with python3Packages;
 
-buildPythonPackage rec {
-  namePrefix = "";
-  name = "gandi-cli-${version}";
-  version = "0.19";
+buildPythonApplication rec {
+  pname = "gandi-cli";
+  version = "1.3";
 
   src = fetchFromGitHub {
-    sha256 = "0xbf97p75zl6sjxqcgmaa4p5rax2h6ixn8srwdr4rsx2zz9dpwgp";
-    rev = version;
-    repo = "gandi.cli";
     owner = "Gandi";
+    repo = "gandi.cli";
+    rev = version;
+    sha256 = "07i1y88j5awsw7qadk7gnmax8mi7vgh1nflnc8j54z53fjyamlcs";
   };
 
   propagatedBuildInputs = [ click ipy pyyaml requests ];
@@ -22,6 +21,6 @@ buildPythonPackage rec {
     description = "Command-line interface to the public Gandi.net API";
     homepage = http://cli.gandi.net/;
     license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ ckampka ];
   };
 }
-
diff --git a/pkgs/tools/networking/modem-manager/default.nix b/pkgs/tools/networking/modem-manager/default.nix
index 6ca8c8925621..15ec2ef41cd7 100644
--- a/pkgs/tools/networking/modem-manager/default.nix
+++ b/pkgs/tools/networking/modem-manager/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "modem-manager-${version}";
-  pname = "ModemManager";
   version = "1.7.990";
 
+  package = "ModemManager";
   src = fetchurl {
-    url = "https://www.freedesktop.org/software/${pname}/${pname}-${version}.tar.xz";
+    url = "https://www.freedesktop.org/software/${package}/${package}-${version}.tar.xz";
     sha256 = "1v4hixmghlrw7w4ajq2x4k62js0594h223d0yma365zwqr7hjrfl";
   };
 
diff --git a/pkgs/tools/networking/network-manager/applet.nix b/pkgs/tools/networking/network-manager/applet.nix
index bead4556cb7a..63c142d760aa 100644
--- a/pkgs/tools/networking/network-manager/applet.nix
+++ b/pkgs/tools/networking/network-manager/applet.nix
@@ -28,7 +28,7 @@ in stdenv.mkDerivation rec {
     gnome3.gtk networkmanager libnotify libsecret gsettings-desktop-schemas
     polkit isocodes mobile-broadband-provider-info libgudev
     modemmanager jansson glib-networking
-    libappindicator-gtk3
+    libappindicator-gtk3 gnome3.defaultIconTheme
   ] ++ stdenv.lib.optionals withGnome [ gnome3.gcr ]; # advanced certificate chooser
 
   nativeBuildInputs = [ meson ninja intltool pkgconfig wrapGAppsHook gobjectIntrospection python3 gtk-doc docbook_xsl docbook_xml_dtd_43 libxml2 ];
diff --git a/pkgs/tools/networking/quickserve/default.nix b/pkgs/tools/networking/quickserve/default.nix
index 06e5918dccd8..7269eb7b80a9 100644
--- a/pkgs/tools/networking/quickserve/default.nix
+++ b/pkgs/tools/networking/quickserve/default.nix
@@ -12,7 +12,7 @@ let
   };
   wrappedPython = python3.withPackages (_: [ threaded_servers ]);
 in stdenv.mkDerivation {
-  name = "quickserve";
+  pname = "quickserve";
   version = "2018";
 
   unpackPhase = ":";
diff --git a/pkgs/tools/networking/x11-ssh-askpass/default.nix b/pkgs/tools/networking/x11-ssh-askpass/default.nix
index 896a2ff4daaa..1b9d55349030 100644
--- a/pkgs/tools/networking/x11-ssh-askpass/default.nix
+++ b/pkgs/tools/networking/x11-ssh-askpass/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, xlibsWrapper, imake }:
+{ stdenv, fetchurl, xlibsWrapper, imake, gccmakedep }:
 
 stdenv.mkDerivation {
   name = "x11-ssh-askpass-1.2.4.1";
@@ -10,16 +10,16 @@ stdenv.mkDerivation {
     sha256 = "620de3c32ae72185a2c9aeaec03af24242b9621964e38eb625afb6cdb30b8c88";
   };
 
-  nativeBuildInputs = [ imake ];
+  nativeBuildInputs = [ imake gccmakedep ];
   buildInputs = [ xlibsWrapper ];
 
   configureFlags = [
     "--with-app-defaults-dir=$out/etc/X11/app-defaults"
   ];
 
-  preBuild = ''
-    xmkmf
-    make includes
+  dontUseImakeConfigure = true;
+  postConfigure = ''
+    xmkmf -a
   '';
 
   installTargets = [ "install" "install.man" ];
diff --git a/pkgs/tools/package-management/nix-pin/default.nix b/pkgs/tools/package-management/nix-pin/default.nix
index f5d62b250e22..063c173a4019 100644
--- a/pkgs/tools/package-management/nix-pin/default.nix
+++ b/pkgs/tools/package-management/nix-pin/default.nix
@@ -26,6 +26,7 @@ let self = stdenv.mkDerivation rec {
         let impl = import "${self}/share/nix/api.nix" { inherit pkgs pinConfig; }; in
         { inherit (impl) augmentedPkgs pins callPackage; };
       updateScript = ''
+        #!${stdenv.shell}
         set -e
         echo
         cd ${toString ./.}
diff --git a/pkgs/tools/package-management/nix-update-source/default.nix b/pkgs/tools/package-management/nix-update-source/default.nix
index e7eb497b4b9f..7584496f2585 100644
--- a/pkgs/tools/package-management/nix-update-source/default.nix
+++ b/pkgs/tools/package-management/nix-update-source/default.nix
@@ -1,4 +1,4 @@
-{ lib, pkgs, fetchFromGitHub, python3Packages, nix-prefetch-scripts }:
+{ stdenv, lib, pkgs, fetchFromGitHub, python3Packages, nix-prefetch-scripts }:
 python3Packages.buildPythonApplication rec {
   version = "0.6.3";
   name = "nix-update-source-${version}";
@@ -28,6 +28,7 @@ python3Packages.buildPythonApplication rec {
         overrideSrc = drv: lib.overrideDerivation drv (orig: { inherit src; });
       };
     updateScript = ''
+      #!${stdenv.shell}
       set -e
       echo
       cd ${toString ./.}
diff --git a/pkgs/tools/security/gnupg/22.nix b/pkgs/tools/security/gnupg/22.nix
index 06a06f5721c9..08dc68889809 100644
--- a/pkgs/tools/security/gnupg/22.nix
+++ b/pkgs/tools/security/gnupg/22.nix
@@ -15,11 +15,11 @@ assert guiSupport -> pinentry != null;
 stdenv.mkDerivation rec {
   name = "gnupg-${version}";
 
-  version = "2.2.10";
+  version = "2.2.11";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha256 = "05f9804g72pffdxgvxjmjzkfcpjg1x221g9rwcr8fi51hrxd77br";
+    sha256 = "1ncwqjhcxh46fgkp84g2lhf91amcha7abk6wdm1kagzm7q93wv29";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/security/mkpasswd/default.nix b/pkgs/tools/security/mkpasswd/default.nix
index b8da305c36d1..3d30fef02e29 100644
--- a/pkgs/tools/security/mkpasswd/default.nix
+++ b/pkgs/tools/security/mkpasswd/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation {
 
   src = whois.src;
 
-  buildInputs = [ perl ];
+  nativeBuildInputs = [ perl ];
 
   preConfigure = whois.preConfigure;
   buildPhase = "make mkpasswd";
diff --git a/pkgs/tools/security/monkeysphere/default.nix b/pkgs/tools/security/monkeysphere/default.nix
index 0cf59dc555c2..b1c36871fe6b 100644
--- a/pkgs/tools/security/monkeysphere/default.nix
+++ b/pkgs/tools/security/monkeysphere/default.nix
@@ -31,8 +31,10 @@ stdenv.mkDerivation rec {
     DESTDIR=$(out)
   '';
 
-  # Not all checks pass yet (NixOS specific problems) and the tests "drain"
-  # entropy (apparently GnuPG still uses /dev/random).
+  # The tests "drain" entropy (GnuPG still uses /dev/random) and they don't run
+  # inside of the sandbox, because nixbld isn't allowed to login via SSH
+  # (/etc/passwd: "nixbld:x:1000:100:Nix build user:/build:/noshell",
+  # sshd: "User nixbld not allowed because shell /noshell does not exist").
   doCheck = false;
   preCheck = ''
     patchShebangs tests/
diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix
index 975e533d4771..56848af71f65 100644
--- a/pkgs/tools/security/sudo/default.nix
+++ b/pkgs/tools/security/sudo/default.nix
@@ -5,14 +5,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "sudo-1.8.25p1";
+  name = "sudo-1.8.26";
 
   src = fetchurl {
     urls =
       [ "ftp://ftp.sudo.ws/pub/sudo/${name}.tar.gz"
         "ftp://ftp.sudo.ws/pub/sudo/OLD/${name}.tar.gz"
       ];
-    sha256 = "0nqri46d4dpycj96zin2f2wszmhm7q9mr68hhj9sp81pgmx9rjcx";
+    sha256 = "1qpyyfga8rs02p3186sns8qvh2bzwa48ka845nrcqh83dyd23nj0";
   };
 
   prePatch = ''
diff --git a/pkgs/tools/system/efivar/default.nix b/pkgs/tools/system/efivar/default.nix
index 8f1367d3fdce..4072b8834cab 100644
--- a/pkgs/tools/system/efivar/default.nix
+++ b/pkgs/tools/system/efivar/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pkgconfig, popt }:
+{ stdenv, buildPackages, fetchFromGitHub, pkgconfig, popt }:
 
 stdenv.mkDerivation rec {
   name = "efivar-${version}";
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ popt ];
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
 
   makeFlags = [
     "prefix=$(out)"
diff --git a/pkgs/tools/system/lshw/default.nix b/pkgs/tools/system/lshw/default.nix
index d57b65189753..5711dff57839 100644
--- a/pkgs/tools/system/lshw/default.nix
+++ b/pkgs/tools/system/lshw/default.nix
@@ -6,10 +6,10 @@ let numVersion = "02.18"; # :(
 in
 stdenv.mkDerivation rec {
   name = "lshw-${numVersion}b";
-  version = "B.${numVersion}";
+  version = "${numVersion}";
 
   src = fetchurl {
-    url = "https://ezix.org/software/files/lshw-${version}.tar.gz";
+    url = "https://ezix.org/software/files/lshw-B.${version}.tar.gz";
     sha256 = "0brwra4jld0d53d7jsgca415ljglmmx1l2iazpj4ndilr48yy8mf";
   };
 
diff --git a/pkgs/tools/system/s-tui/default.nix b/pkgs/tools/system/s-tui/default.nix
index 35a26eb7daee..5d4ed355ba9d 100644
--- a/pkgs/tools/system/s-tui/default.nix
+++ b/pkgs/tools/system/s-tui/default.nix
@@ -3,11 +3,11 @@
 pythonPackages.buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "s-tui";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = pythonPackages.fetchPypi {
     inherit pname version;
-    sha256 = "18bn0bpnrljx11gj95m2x5hlsnb8jkivlm6b1xx035ldgj1svgzh";
+    sha256 = "00lsh2v4i8rwfyjyxx5lijd6rnk9smcfffhzg5sv94ijpcnh216m";
   };
 
   propagatedBuildInputs = with pythonPackages; [
diff --git a/pkgs/tools/text/gist/default.nix b/pkgs/tools/text/gist/default.nix
index f5dcbb9191c6..7091031d28f0 100644
--- a/pkgs/tools/text/gist/default.nix
+++ b/pkgs/tools/text/gist/default.nix
@@ -1,21 +1,11 @@
-{ buildRubyGem, lib, ruby, makeWrapper }:
+{ buildRubyGem, lib, ruby }:
 
 buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "gist";
-  version = "4.6.2";
-  source.sha256 = "0zrw84k2982aiansmv2aj3101d3giwa58221n6aisvg5jq5kmiib";
-
-  buildInputs = [ makeWrapper ];
-
-  postInstall = ''
-    # Fix the default ruby wrapper
-    makeWrapper $out/${ruby.gemPath}/bin/gist $out/bin/gist \
-      --set GEM_PATH $out/${ruby.gemPath}:${ruby}/${ruby.gemPath}
-  '';
-
-  dontStrip = true;
+  version = "5.0.0";
+  source.sha256 = "1i0a73mzcjv4mj5vjqwkrx815ydsppx3v812lxxd9mk2s7cj1vyd";
 
   meta = with lib; {
     description = "Upload code to https://gist.github.com (or github enterprise)";
diff --git a/pkgs/tools/video/vncrec/default.nix b/pkgs/tools/video/vncrec/default.nix
index 7efcf6cbf83a..49a2c4d4acb0 100644
--- a/pkgs/tools/video/vncrec/default.nix
+++ b/pkgs/tools/video/vncrec/default.nix
@@ -12,16 +12,17 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
+  nativeBuildInputs = [ imake gccmakedep ];
   buildInputs = [
-    libX11 xproto imake gccmakedep libXt libXmu libXaw
+    libX11 xproto libXt libXmu libXaw
     libXext xextproto libSM libICE libXpm libXp
   ];
 
-  buildPhase = ''xmkmf && make World'';
-
-  installPhase = ''
-    make DESTDIR=$out BINDIR=/bin MANDIR=/share/man/man1 install install.man
-  '';
+  makeFlags = [
+    "BINDIR=${placeholder "out"}/bin"
+    "MANDIR=${placeholder "out"}/share/man"
+  ];
+  installTargets = "install install.man";
 
   meta = {
     description = "VNC recorder";
diff --git a/pkgs/tools/virtualization/awsebcli/default.nix b/pkgs/tools/virtualization/awsebcli/default.nix
index b1693bd262fe..fabdd5357743 100644
--- a/pkgs/tools/virtualization/awsebcli/default.nix
+++ b/pkgs/tools/virtualization/awsebcli/default.nix
@@ -20,6 +20,7 @@ let
       });
 
       pathspec = super.pathspec.overridePythonAttrs (oldAttrs: rec {
+        name = "${oldAttrs.pname}-${version}";
         version = "0.5.5";
         src = oldAttrs.src.override {
           inherit version;