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/xpra/default.nix4
-rw-r--r--pkgs/tools/admin/nxproxy/default.nix9
-rw-r--r--pkgs/tools/audio/abcmidi/default.nix4
-rw-r--r--pkgs/tools/backup/borg/default.nix21
-rw-r--r--pkgs/tools/backup/diskrsync/default.nix8
-rw-r--r--pkgs/tools/backup/duplicati/default.nix37
-rw-r--r--pkgs/tools/backup/mtx/default.nix2
-rw-r--r--pkgs/tools/filesystems/archivemount/default.nix4
-rw-r--r--pkgs/tools/filesystems/fatsort/default.nix6
-rw-r--r--pkgs/tools/graphics/asymptote/default.nix8
-rw-r--r--pkgs/tools/graphics/dcraw/default.nix4
-rw-r--r--pkgs/tools/graphics/gmic/default.nix4
-rw-r--r--pkgs/tools/graphics/icoutils/default.nix4
-rw-r--r--pkgs/tools/graphics/pywal/default.nix28
-rw-r--r--pkgs/tools/graphics/swfdec/default.nix38
-rw-r--r--pkgs/tools/inputmethods/m17n-db/default.nix4
-rw-r--r--pkgs/tools/misc/autorandr/default.nix4
-rw-r--r--pkgs/tools/misc/byobu/default.nix4
-rw-r--r--pkgs/tools/misc/convmv/default.nix4
-rw-r--r--pkgs/tools/misc/debootstrap/default.nix4
-rw-r--r--pkgs/tools/misc/gsmartcontrol/default.nix26
-rw-r--r--pkgs/tools/misc/gsmartcontrol/fix-paths.patch58
-rw-r--r--pkgs/tools/misc/lf/default.nix6
-rw-r--r--pkgs/tools/misc/libbitcoin/libbitcoin-network.nix4
-rw-r--r--pkgs/tools/misc/mbuffer/default.nix4
-rw-r--r--pkgs/tools/misc/mpdscribble/default.nix2
-rw-r--r--pkgs/tools/misc/multitail/default.nix2
-rw-r--r--pkgs/tools/misc/neofetch/default.nix4
-rw-r--r--pkgs/tools/misc/parallel/default.nix4
-rw-r--r--pkgs/tools/misc/pdd/default.nix34
-rw-r--r--pkgs/tools/misc/plantuml/default.nix2
-rw-r--r--pkgs/tools/misc/pspg/default.nix28
-rw-r--r--pkgs/tools/misc/recoverjpeg/default.nix4
-rw-r--r--pkgs/tools/misc/smc/default.nix6
-rw-r--r--pkgs/tools/misc/smenu/default.nix2
-rw-r--r--pkgs/tools/misc/txt2man/default.nix7
-rw-r--r--pkgs/tools/misc/vdirsyncer/default.nix2
-rw-r--r--pkgs/tools/misc/vimer/default.nix2
-rw-r--r--pkgs/tools/misc/woeusb/default.nix4
-rw-r--r--pkgs/tools/misc/xburst-tools/default.nix2
-rw-r--r--pkgs/tools/misc/yad/default.nix4
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/tools/networking/axel/default.nix2
-rw-r--r--pkgs/tools/networking/ccnet/default.nix6
-rw-r--r--pkgs/tools/networking/dhcpcd/default.nix2
-rw-r--r--pkgs/tools/networking/getmail/default.nix4
-rw-r--r--pkgs/tools/networking/htpdate/default.nix2
-rw-r--r--pkgs/tools/networking/http-prompt/default.nix2
-rw-r--r--pkgs/tools/networking/mailutils/default.nix2
-rw-r--r--pkgs/tools/networking/minio-client/default.nix4
-rw-r--r--pkgs/tools/networking/ngrok-2/default.nix17
-rw-r--r--pkgs/tools/networking/nzbget/default.nix4
-rw-r--r--pkgs/tools/networking/openssh/default.nix6
-rw-r--r--pkgs/tools/networking/p2p/libtorrent/default.nix2
-rw-r--r--pkgs/tools/networking/p2p/tahoe-lafs/default.nix43
-rw-r--r--pkgs/tools/networking/tlspool/configvar-fix.patch36
-rw-r--r--pkgs/tools/networking/tlspool/default.nix53
-rw-r--r--pkgs/tools/networking/tlspool/fixing-rpath.patch36
-rw-r--r--pkgs/tools/networking/urlwatch/default.nix4
-rw-r--r--pkgs/tools/package-management/nix-review/default.nix31
-rw-r--r--pkgs/tools/package-management/nixops/default.nix4
-rw-r--r--pkgs/tools/package-management/nixops/generic.nix1
-rw-r--r--pkgs/tools/security/apg/default.nix7
-rw-r--r--pkgs/tools/security/apg/phony-install-target.patch11
-rw-r--r--pkgs/tools/security/bettercap/Gemfile2
-rw-r--r--pkgs/tools/security/bettercap/Gemfile.lock42
-rw-r--r--pkgs/tools/security/bettercap/default.nix23
-rw-r--r--pkgs/tools/security/bettercap/deps.nix228
-rw-r--r--pkgs/tools/security/bettercap/gemset.nix121
-rw-r--r--pkgs/tools/security/browserpass/default.nix6
-rw-r--r--pkgs/tools/security/krunner-pass/default.nix44
-rw-r--r--pkgs/tools/security/krunner-pass/pass-path.patch13
-rw-r--r--pkgs/tools/security/paperkey/default.nix2
-rw-r--r--pkgs/tools/security/pcsc-scm-scl011/default.nix49
-rw-r--r--pkgs/tools/security/pcsc-scm-scl011/eid.patch28
-rw-r--r--pkgs/tools/security/radamsa/default.nix6
-rw-r--r--pkgs/tools/security/spectre-meltdown-checker/default.nix4
-rw-r--r--pkgs/tools/security/srm/default.nix4
-rw-r--r--pkgs/tools/system/facter/default.nix4
-rw-r--r--pkgs/tools/system/ipmitool/default.nix2
-rw-r--r--pkgs/tools/system/localtime/default.nix9
-rw-r--r--pkgs/tools/system/s6-rc/default.nix2
-rw-r--r--pkgs/tools/system/sg3_utils/default.nix2
-rw-r--r--pkgs/tools/system/syslog-ng/default.nix6
-rw-r--r--pkgs/tools/text/ansifilter/default.nix4
-rw-r--r--pkgs/tools/text/cconv/default.nix20
-rw-r--r--pkgs/tools/text/diction/default.nix7
-rw-r--r--pkgs/tools/text/discount/default.nix4
-rw-r--r--pkgs/tools/text/languagetool/default.nix4
-rw-r--r--pkgs/tools/text/mdbook/default.nix7
-rw-r--r--pkgs/tools/text/untex/default.nix6
-rw-r--r--pkgs/tools/typesetting/tectonic/default.nix5
-rw-r--r--pkgs/tools/typesetting/ted/default.nix84
93 files changed, 999 insertions, 430 deletions
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index 805e5c03816c..b931f270dee2 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -12,11 +12,11 @@ let
   inherit (python2Packages) python cython buildPythonApplication;
 in buildPythonApplication rec {
   name = "xpra-${version}";
-  version = "2.2.4";
+  version = "2.2.5";
 
   src = fetchurl {
     url = "http://xpra.org/src/${name}.tar.xz";
-    sha256 = "0v8yflvisk94bfj0zg4ggdfwrig0f3ss9kjnws3zflsr33cb2hxy";
+    sha256 = "1q2l00nc3bgwlhjzkbk4a8x2l8z9w1799yn31icsx5hrgh98a1js";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/admin/nxproxy/default.nix b/pkgs/tools/admin/nxproxy/default.nix
index 608a9e5a65b0..c39c378d2216 100644
--- a/pkgs/tools/admin/nxproxy/default.nix
+++ b/pkgs/tools/admin/nxproxy/default.nix
@@ -1,19 +1,20 @@
-{ stdenv, fetchurl, autoreconfHook, libxcomp }:
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, libxcomp }:
 
 stdenv.mkDerivation rec {
   name = "nxproxy-${version}";
-  version = "3.5.0.33";
+  version = "3.5.99.16";
 
   src = fetchurl {
-    sha256 = "17qjsd6v2ldpfmyjrkdnlq4qk05hz5l6qs54g8h0glzq43w28f74";
+    sha256 = "1m3z9w3h6qpgk265xf030w7lcs181jgw2cdyzshb7l97mn1f7hh2";
     url = "http://code.x2go.org/releases/source/nx-libs/nx-libs-${version}-lite.tar.gz";
   };
 
   buildInputs = [ libxcomp ];
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
 
   preAutoreconf = ''
     cd nxproxy/
+    sed -i 's|-L\$(top_srcdir)/../nxcomp/src/.libs ||' src/Makefile.am
   '';
 
   makeFlags = [ "exec_prefix=$(out)" ];
diff --git a/pkgs/tools/audio/abcmidi/default.nix b/pkgs/tools/audio/abcmidi/default.nix
index 7af507c35bec..ab06a3b6983e 100644
--- a/pkgs/tools/audio/abcmidi/default.nix
+++ b/pkgs/tools/audio/abcmidi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "abcMIDI-${version}";
-  version = "2018.03.08";
+  version = "2018.03.21";
 
   src = fetchzip {
     url = "http://ifdo.ca/~seymour/runabc/${name}.zip";
-    sha256 = "0pdia3n23l4nhc4lmyphgh6swq35nnzqk2z4ykif1xajbkbddxm3";
+    sha256 = "0h34bjs5p3vkabg6c1dpwrwfxypki0xyd0m6jf4ys7xbs9qnal6l";
   };
 
   # There is also a file called "makefile" which seems to be preferred by the standard build phase
diff --git a/pkgs/tools/backup/borg/default.nix b/pkgs/tools/backup/borg/default.nix
index 4f0d24a27d90..77d7626a526a 100644
--- a/pkgs/tools/backup/borg/default.nix
+++ b/pkgs/tools/backup/borg/default.nix
@@ -1,16 +1,19 @@
-{ stdenv, fetchurl, python3Packages, acl, lz4, openssl, openssh }:
+{ stdenv, python3Packages, acl, lz4, openssl, openssh }:
 
 python3Packages.buildPythonApplication rec {
-  name = "borgbackup-${version}";
-  version = "1.1.4";
-  namePrefix = "";
-
-  src = fetchurl {
-    url = "https://github.com/borgbackup/borg/releases/download/"
-      + "${version}/${name}.tar.gz";
-    sha256 = "1cicqwh85wfp65y00qaq6q4i4jcyy9b66qz5gpl80qc880wab912";
+  pname = "borgbackup";
+  version = "1.1.5";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "4356e6c712871f389e3cb1d6382e341ea635f9e5c65de1cd8fcd103d0fb66d3d";
   };
 
+  postPatch = ''
+    # loosen constraint on msgpack version, only 0.5.0 had problems
+    sed -i "s/'msgpack-python.*'/'msgpack-python'/g" setup.py
+  '';
+
   nativeBuildInputs = with python3Packages; [
     # For building documentation:
     sphinx guzzle_sphinx_theme
diff --git a/pkgs/tools/backup/diskrsync/default.nix b/pkgs/tools/backup/diskrsync/default.nix
index b04a1dab40f5..2e86ad0deda8 100644
--- a/pkgs/tools/backup/diskrsync/default.nix
+++ b/pkgs/tools/backup/diskrsync/default.nix
@@ -1,4 +1,4 @@
-{ buildGoPackage, fetchFromGitHub, stdenv }:
+{ buildGoPackage, fetchFromGitHub, stdenv, openssh, makeWrapper }:
 
 buildGoPackage rec {
 
@@ -16,6 +16,12 @@ buildGoPackage rec {
   goPackagePath = "github.com/dop251/diskrsync";
   goDeps = ./deps.nix;
 
+  buildInputs = [ makeWrapper ];
+
+  preFixup = ''
+    wrapProgram "$bin/bin/diskrsync" --prefix PATH : ${openssh}/bin
+  '';
+
   meta = with stdenv.lib; {
     description = "Rsync for block devices and disk images";
     homepage = https://github.com/dop251/diskrsync;
diff --git a/pkgs/tools/backup/duplicati/default.nix b/pkgs/tools/backup/duplicati/default.nix
new file mode 100644
index 000000000000..d36ef7ea64fb
--- /dev/null
+++ b/pkgs/tools/backup/duplicati/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchzip, mono, sqlite, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "duplicati-${version}";
+  version = "2.0.3.3";
+  channel = "beta";
+  build_date = "2018-04-02";
+
+  src = fetchzip {
+    url = "https://github.com/duplicati/duplicati/releases/download/v${version}-${version}_${channel}_${build_date}/duplicati-${version}_${channel}_${build_date}.zip";
+    sha256 = "0hwdpsgrvm3gq648mg9g0z0rk49g71dd8r5i1a8w83pwdqv0hn9c";
+    stripRoot = false;
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/{bin,share/${name}}
+    cp -r * $out/share/${name}
+    makeWrapper "${mono}/bin/mono" $out/bin/duplicati-cli \
+      --add-flags "$out/share/${name}/Duplicati.CommandLine.exe" \
+      --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [
+          sqlite ]}
+    makeWrapper "${mono}/bin/mono" $out/bin/duplicati-server \
+      --add-flags "$out/share/${name}/Duplicati.Server.exe" \
+      --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [
+          sqlite ]}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A free backup client that securely stores encrypted, incremental, compressed backups on cloud storage services and remote file servers";
+    homepage = https://www.duplicati.com/;
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ nyanloutre ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/backup/mtx/default.nix b/pkgs/tools/backup/mtx/default.nix
index bc1f584f1c02..46f213a6ef4c 100644
--- a/pkgs/tools/backup/mtx/default.nix
+++ b/pkgs/tools/backup/mtx/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
     homepage = https://sourceforge.net/projects/mtx/;
     license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.redvers ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/filesystems/archivemount/default.nix b/pkgs/tools/filesystems/archivemount/default.nix
index b7ade4c5abc2..e720634ca44a 100644
--- a/pkgs/tools/filesystems/archivemount/default.nix
+++ b/pkgs/tools/filesystems/archivemount/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, fuse, libarchive }:
 
 let
-  name = "archivemount-0.8.9";
+  name = "archivemount-0.8.12";
 in
 stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "http://www.cybernoia.de/software/archivemount/${name}.tar.gz";
-    sha256 = "0v4si1ri6lhnq9q87gkx7fsh6lv6xz4bynknwndqncpvfp5cy1jg";
+    sha256 = "12fb8fcmd1zwvfgzx4pay47md5cr2kgxcgq82cm6skmq75alfzi4";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/filesystems/fatsort/default.nix b/pkgs/tools/filesystems/fatsort/default.nix
index 3e4425847fa0..75a94400627d 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.3.365";
+  version = "1.4.2.439";
   name = "fatsort-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/fatsort/${name}.tar.gz";
-    sha256 = "0g9zn2ns86g7zmy0y8hw1w1zhnd51hy8yl6kflyhxs49n5sc7b3p";
+    url = "mirror://sourceforge/fatsort/${name}.tar.xz";
+    sha256 = "1q51qq69854kr12knhyqjv7skj95qld6j04pv5v3xvxs0y9zkg5x";
   };
 
   patches = [ ./fatsort-Makefiles.patch ];
diff --git a/pkgs/tools/graphics/asymptote/default.nix b/pkgs/tools/graphics/asymptote/default.nix
index 04863d6ce625..ce66402d09fc 100644
--- a/pkgs/tools/graphics/asymptote/default.nix
+++ b/pkgs/tools/graphics/asymptote/default.nix
@@ -9,11 +9,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="asymptote";
-    version="2.41";
+    version="2.42";
     name="${baseName}-${version}";
-    hash="1w7fbq6gy65g0mxg6wdxi7v178c5yxvh9yrnv3bzm4sjzf4pwvhx";
-    url="https://freefr.dl.sourceforge.net/project/asymptote/2.41/asymptote-2.41.src.tgz";
-    sha256="1w7fbq6gy65g0mxg6wdxi7v178c5yxvh9yrnv3bzm4sjzf4pwvhx";
+    hash="0dprc4shzdpvp87kc97ggh5ay2zmskjjaciay7mnblx63rhk1d95";
+    url="https://freefr.dl.sourceforge.net/project/asymptote/2.42/asymptote-2.42.src.tgz";
+    sha256="0dprc4shzdpvp87kc97ggh5ay2zmskjjaciay7mnblx63rhk1d95";
   };
   buildInputs = [
    ghostscriptX imagemagick fftw
diff --git a/pkgs/tools/graphics/dcraw/default.nix b/pkgs/tools/graphics/dcraw/default.nix
index 30546865bcc1..0223375a0884 100644
--- a/pkgs/tools/graphics/dcraw/default.nix
+++ b/pkgs/tools/graphics/dcraw/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, libjpeg, lcms2, gettext, jasper }:
 
 stdenv.mkDerivation rec {
-  name = "dcraw-9.26.0";
+  name = "dcraw-9.27.0";
 
   src = fetchurl {
     url = "http://www.cybercom.net/~dcoffin/dcraw/archive/${name}.tar.gz";
-    sha256 = "18zvzaxjq1yaj90xm8bwb30lqbjyjyp002bp175dayh3kr91syc5";
+    sha256 = "16bhk3pl5kb9ikv367szl8m92nx85rqypz5im8x3sakm357wrn61";
   };
 
   buildInputs = [ libjpeg lcms2 gettext jasper ];
diff --git a/pkgs/tools/graphics/gmic/default.nix b/pkgs/tools/graphics/gmic/default.nix
index cbfdd56cca10..a8c491b049ff 100644
--- a/pkgs/tools/graphics/gmic/default.nix
+++ b/pkgs/tools/graphics/gmic/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gmic-${version}";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchurl {
     url = "http://gmic.eu/files/source/gmic_${version}.tar.gz";
-    sha256 = "0yvb9iwwmjxvck2in3ymqszaddz502v2ryk50qs0wskhbhdh96c7";
+    sha256 = "0iac1zaix2zv1dfp45ca0wk9pj6k02gf8l1vmg820z8jd12pa19w";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/graphics/icoutils/default.nix b/pkgs/tools/graphics/icoutils/default.nix
index 0941b3eabf95..3ab2232e26c6 100644
--- a/pkgs/tools/graphics/icoutils/default.nix
+++ b/pkgs/tools/graphics/icoutils/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libpng, perl, perlPackages, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "icoutils-0.32.2";
+  name = "icoutils-0.32.3";
 
   src = fetchurl {
     url = "mirror://savannah/icoutils/${name}.tar.bz2";
-    sha256 = "1g8ihxw24gbiy189h36w16lbyfq7fn260qkbc85n9jqrvkxsz4p8";
+    sha256 = "1q66cksms4l62y0wizb8vfavhmf7kyfgcfkynil3n99s0hny1aqp";
   };
 
   buildInputs = [ makeWrapper libpng perl ];
diff --git a/pkgs/tools/graphics/pywal/default.nix b/pkgs/tools/graphics/pywal/default.nix
new file mode 100644
index 000000000000..95f7c547b559
--- /dev/null
+++ b/pkgs/tools/graphics/pywal/default.nix
@@ -0,0 +1,28 @@
+{ lib, python3Packages, fetchFromGitHub, imagemagick, feh }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "pywal";
+  version = "2.0.5";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "117f61db013409ee2657aab9230cc5c2cb2b428c17f7fbcf664909122962165e";
+  };
+
+  # necessary for imagemagick to be found during tests
+  buildInputs = [ imagemagick ];
+
+  makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ imagemagick feh ]}" ];
+
+  preCheck = ''
+    mkdir tmp
+    HOME=$PWD/tmp
+  '';
+
+  meta = with lib; {
+    description = "Generate and change colorschemes on the fly. A 'wal' rewrite in Python 3.";
+    homepage = https://github.com/dylanaraps/pywal;
+    license = licenses.mit;
+    maintainers = with maintainers; [ Fresheyeball ];
+  };
+}
diff --git a/pkgs/tools/graphics/swfdec/default.nix b/pkgs/tools/graphics/swfdec/default.nix
new file mode 100644
index 000000000000..1c3c0f3b4515
--- /dev/null
+++ b/pkgs/tools/graphics/swfdec/default.nix
@@ -0,0 +1,38 @@
+{stdenv, fetchurl
+, cairo, pango, glib, liboil, zlib, gstreamer, gst-plugins-base
+, gst-plugins-good , gtk2, libsoup, alsaLib, pkgconfig
+}:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "swfdec";
+  version = "0.8.4";
+
+  src = fetchurl {
+    url = "http://swfdec.freedesktop.org/download/swfdec/0.8/swfdec-${version}.tar.gz";
+    sha256 = "00nqrd0fzf0g76rn80d7h56n6hxv7x1x6k89zj45bj564lzwc3vs";
+  };
+
+  buildInputs = [
+    cairo glib liboil pango zlib gstreamer gst-plugins-base gst-plugins-good
+    gtk2 libsoup alsaLib pkgconfig
+  ];
+  
+  postInstall = ''
+    mkdir "$out/bin"
+    cp tools/.libs/swfdec-extract "$out/bin"
+    cp tools/.libs/dump "$out/bin/swfdec-dump"
+    cp player/.libs/swfplay "$out/bin/swfplay"
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    inherit version;
+    description = "Decoder/renderer for Macromedia Flash animations";
+    license = stdenv.lib.licenses.lgpl21 ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = https://swfdec.freedesktop.org/wiki/;
+  };
+}
diff --git a/pkgs/tools/inputmethods/m17n-db/default.nix b/pkgs/tools/inputmethods/m17n-db/default.nix
index 944d6de1084a..dd8e96f8a6f8 100644
--- a/pkgs/tools/inputmethods/m17n-db/default.nix
+++ b/pkgs/tools/inputmethods/m17n-db/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "m17n-db-1.7.0";
+  name = "m17n-db-1.8.0";
 
   src = fetchurl {
     url = "http://download.savannah.gnu.org/releases/m17n/${name}.tar.gz";
-    sha256 = "1w08hnsbknrcjlzp42c99bgwc9hzsnf5m4apdv0dacql2s09zfm2";
+    sha256 = "0vfw7z9i2s9np6nmx1d4dlsywm044rkaqarn7akffmb6bf1j6zv5";
   };
 
   buildInputs = [ gettext ];
diff --git a/pkgs/tools/misc/autorandr/default.nix b/pkgs/tools/misc/autorandr/default.nix
index db2e1fc622fa..9a51553ae43a 100644
--- a/pkgs/tools/misc/autorandr/default.nix
+++ b/pkgs/tools/misc/autorandr/default.nix
@@ -6,7 +6,7 @@
 
 let
   python = python3Packages.python;
-  version = "1.4";
+  version = "1.5";
 in
   stdenv.mkDerivation {
     name = "autorandr-${version}";
@@ -48,7 +48,7 @@ in
       owner = "phillipberndt";
       repo = "autorandr";
       rev = "${version}";
-      sha256 = "08i71r221ilc8k1c59w89g3iq5m7zwhnjjzapavhqxlr8y9dcpf5";
+      sha256 = "01pij2r73f190qk7q3cgf5cmk0w59g9l9v4vah5vf4ddn7nnk7yq";
     };
 
     meta = {
diff --git a/pkgs/tools/misc/byobu/default.nix b/pkgs/tools/misc/byobu/default.nix
index 8f3c067018df..c5ebe7cf32ee 100644
--- a/pkgs/tools/misc/byobu/default.nix
+++ b/pkgs/tools/misc/byobu/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ncurses, python, perl, textual-window-manager }:
 
 stdenv.mkDerivation rec {
-  version = "5.124";
+  version = "5.125";
   name = "byobu-" + version;
 
   src = fetchurl {
     url = "https://launchpad.net/byobu/trunk/${version}/+download/byobu_${version}.orig.tar.gz";
-    sha256 = "08pipvh2iwy5d4b1bnrh0vwlmm884cqzgsz6jx3ar4shp63i5jjf";
+    sha256 = "1nx9vpyfn9zs8iyqnqdlskr8lqh4zlciijwd9qfpzmd50lkwh8jh";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/misc/convmv/default.nix b/pkgs/tools/misc/convmv/default.nix
index e6ff7e99353b..253e6a50b361 100644
--- a/pkgs/tools/misc/convmv/default.nix
+++ b/pkgs/tools/misc/convmv/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl }:
 
 stdenv.mkDerivation rec {
-  name = "convmv-2.04";
+  name = "convmv-2.05";
 
   src = fetchurl {
     url = "http://www.j3e.de/linux/convmv/${name}.tar.gz";
-    sha256 = "075xn1ill26hbhg4nl54sp75b55db3ikl7lvhqb9ijvkpi67j6yy";
+    sha256 = "19hwv197p7c23f43vvav5bs19z9b72jzca2npkjsxgprwj5ardjk";
   };
 
   preBuild=''
diff --git a/pkgs/tools/misc/debootstrap/default.nix b/pkgs/tools/misc/debootstrap/default.nix
index bd5678c651fb..9e3abaaedfca 100644
--- a/pkgs/tools/misc/debootstrap/default.nix
+++ b/pkgs/tools/misc/debootstrap/default.nix
@@ -4,13 +4,13 @@
 # There is also cdebootstrap now. Is that easier to maintain?
 stdenv.mkDerivation rec {
   name = "debootstrap-${version}";
-  version = "1.0.93";
+  version = "1.0.95";
 
   src = fetchurl {
     # git clone git://git.debian.org/d-i/debootstrap.git
     # I'd like to use the source. However it's lacking the lanny script ? (still true?)
     url = "mirror://debian/pool/main/d/debootstrap/debootstrap_${version}.tar.gz";
-    sha256 = "1nyp9fwb7xrk1vin81dmgx2g9rb52yg4gwz4rcx97gamw4mlvbfd";
+    sha256 = "1xpd1yblcgwhri64hzgxhalpf5j8gqbmkrsm1fs0pbwiy0wdz0ry";
   };
 
   buildInputs = [ dpkg gettext gawk perl ];
diff --git a/pkgs/tools/misc/gsmartcontrol/default.nix b/pkgs/tools/misc/gsmartcontrol/default.nix
index d4322f051d0a..f7cdf5ca608b 100644
--- a/pkgs/tools/misc/gsmartcontrol/default.nix
+++ b/pkgs/tools/misc/gsmartcontrol/default.nix
@@ -1,18 +1,28 @@
-{ fetchurl, stdenv, smartmontools, gtkmm2, libglademm, pkgconfig, pcre }:
+{ fetchurl, stdenv, smartmontools, autoreconfHook, gettext, gtkmm3, pkgconfig, wrapGAppsHook, pcre-cpp, gnome3 }:
 
 stdenv.mkDerivation rec {
-  version="0.8.7";
+  version="1.1.3";
   name = "gsmartcontrol-${version}";
 
   src = fetchurl {
-    url = "http://artificialtime.com/gsmartcontrol/gsmartcontrol-${version}.tar.bz2";
-    sha256 = "1ipykzqpfvlr84j38hr7q2cag4imrn1gql10slp8bfrs4h1si3vh";
+    url = "mirror://sourceforge/gsmartcontrol/gsmartcontrol-${version}.tar.bz2";
+    sha256 = "1a8j7dkml9zvgpk83xcdajfz7g6mmpmm5k86dl5sjc24zb7n4kxn";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ smartmontools gtkmm2 libglademm pcre ];
+  patches = [
+    ./fix-paths.patch
+  ];
 
-  #installTargets = "install datainstall";
+  nativeBuildInputs = [ autoreconfHook gettext pkgconfig wrapGAppsHook ];
+  buildInputs = [ gtkmm3 pcre-cpp gnome3.adwaita-icon-theme ];
+
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix PATH : "${stdenv.lib.makeBinPath [ smartmontools ]}"
+    )
+  '';
 
   meta = {
     description = "Hard disk drive health inspection tool";
@@ -25,7 +35,7 @@ stdenv.mkDerivation rec {
       It allows you to inspect the drive's SMART data to determine its health,
       as well as run various tests on it.
     '';
-    homepage = http://gsmartcontrol.sourceforge.net/;
+    homepage = https://gsmartcontrol.sourceforge.io/;
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [qknight];
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/tools/misc/gsmartcontrol/fix-paths.patch b/pkgs/tools/misc/gsmartcontrol/fix-paths.patch
new file mode 100644
index 000000000000..905b63bee0c4
--- /dev/null
+++ b/pkgs/tools/misc/gsmartcontrol/fix-paths.patch
@@ -0,0 +1,58 @@
+diff --git a/configure.ac b/configure.ac
+--- a/configure.ac
++++ b/configure.ac
+@@ -475,6 +475,7 @@
+ 
+ 
+ AC_CONFIG_FILES([ data/gsmartcontrol.desktop data/gsmartcontrol.appdata.xml \
++	data/org.gsmartcontrol.policy \
+ 	data/nsis/distribution.txt data/nsis/gsmartcontrol.nsi \
+ 	debian.dist/changelog \
+ 	src/gsc_winres.rc src/gsmartcontrol.exe.manifest \
+diff --git a/data/gsmartcontrol-root.in b/data/gsmartcontrol-root.in
+--- a/data/gsmartcontrol-root.in
++++ b/data/gsmartcontrol-root.in
+@@ -8,7 +8,7 @@
+ # Run gsmartcontrol with root, asking for root password first.
+ # export GSMARTCONTROL_SU to override a su command (e.g. "kdesu -c").
+ 
+-EXEC_BIN="@prefix@/sbin/gsmartcontrol";
++EXEC_BIN="@prefix@/bin/gsmartcontrol";
+ prog_name="gsmartcontrol"
+ 
+ 
+@@ -118,7 +118,7 @@
+ # Add @prefix@/sbin as well (freebsd seems to require it).
+ # Note that beesu won't show a GUI login box if /usr/sbin is before /usr/bin,
+ # so add it first as well.
+-EXTRA_PATHS="/usr/bin:/usr/sbin:/usr/local/sbin:@prefix@/sbin";
++EXTRA_PATHS="/usr/bin:/usr/sbin:/usr/local/sbin:@prefix@/bin";
+ export PATH="$EXTRA_PATHS:$PATH"
+ 
+ 
+diff --git a/data/org.gsmartcontrol.policy b/data/org.gsmartcontrol.policy.in
+rename from data/org.gsmartcontrol.policy
+rename to data/org.gsmartcontrol.policy.in
+--- a/data/org.gsmartcontrol.policy
++++ b/data/org.gsmartcontrol.policy.in
+@@ -12,7 +12,7 @@
+       <allow_inactive>auth_admin</allow_inactive>
+       <allow_active>auth_admin</allow_active>
+     </defaults>
+-    <annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/gsmartcontrol</annotate>
++    <annotate key="org.freedesktop.policykit.exec.path">@prefix@/bin/gsmartcontrol</annotate>
+     <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
+   </action>
+ 
+diff --git a/src/Makefile.am b/src/Makefile.am
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -24,7 +24,7 @@
+ # endif
+ 
+ 
+-sbin_PROGRAMS = gsmartcontrol
++bin_PROGRAMS = gsmartcontrol
+ 
+ gsmartcontrol_LDADD = $(top_builddir)/src/applib/libapplib.a \
+ 	$(top_builddir)/src/libdebug/libdebug.a \
diff --git a/pkgs/tools/misc/lf/default.nix b/pkgs/tools/misc/lf/default.nix
index 0a7073f4d489..8ef5bd1c07cf 100644
--- a/pkgs/tools/misc/lf/default.nix
+++ b/pkgs/tools/misc/lf/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   name = "lf-${version}";
-  version = "1";
+  version = "2";
 
   src = fetchFromGitHub {
     owner = "gokcehan";
     repo = "lf";
     rev = "r${version}";
-    sha256 = "0mq83m7mvavd0dzhk8g6ffldy57i22n0846yzqnlz733chiy3anz";
+    sha256 = "0g9fy6x3wc5hda886ci79wj7rnjwvaidbwhsrckqgiqymbzvrdb8";
   };
 
   goPackagePath = "github.com/gokcehan/lf";
@@ -24,7 +24,7 @@ buildGoPackage rec {
     runHook preBuild
     runHook renameImports
     cd go/src/${goPackagePath}
-    go install -ldflags="-s -w -X main.gVersion=${version}"
+    go install -ldflags="-s -w -X main.gVersion=r${version}"
     runHook postBuild
   '';
 
diff --git a/pkgs/tools/misc/libbitcoin/libbitcoin-network.nix b/pkgs/tools/misc/libbitcoin/libbitcoin-network.nix
index 11657c03615d..c17c99980a88 100644
--- a/pkgs/tools/misc/libbitcoin/libbitcoin-network.nix
+++ b/pkgs/tools/misc/libbitcoin/libbitcoin-network.nix
@@ -3,7 +3,7 @@
 
 let
   pname = "libbitcoin-network";
-  version = "3.4.0";
+  version = "3.5.0";
 
 in stdenv.mkDerivation {
   name = "${pname}-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     owner = "libbitcoin";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1zlhyh5z0fla1yc6kwkx65ycwgmrcrkvzj8119wbkxy3xhzpwxpv";
+    sha256 = "0vqg3i40kwmbys4lyp82xvg2nx3ik4qhc66gcm8k66a86wpj9ji6";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/misc/mbuffer/default.nix b/pkgs/tools/misc/mbuffer/default.nix
index ed6c08d55545..664c5cc8e78e 100644
--- a/pkgs/tools/misc/mbuffer/default.nix
+++ b/pkgs/tools/misc/mbuffer/default.nix
@@ -3,12 +3,12 @@
  } :
 
 stdenv.mkDerivation rec {
-  version = "20171011";
+  version = "20180318";
   name = "mbuffer-${version}";
 
   src = fetchurl {
     url = "http://www.maier-komor.de/software/mbuffer/mbuffer-${version}.tgz";
-    sha256 = "1z6is359dnlf61n6ida9ivghafzz5m8cf4hzdhma8nxv12brfbzb";
+    sha256 = "1sh0ipf77aav1k17dgl9dcjlb17zygs07x01g0nn0cg7yw5y5hfk";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/misc/mpdscribble/default.nix b/pkgs/tools/misc/mpdscribble/default.nix
index 56684848ebaa..47eec54e127e 100644
--- a/pkgs/tools/misc/mpdscribble/default.nix
+++ b/pkgs/tools/misc/mpdscribble/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     description = "A Music Player Daemon (MPD) client which submits information about tracks beeing played to a scrobbler (e.g. last.fm)";
     homepage = http://mpd.wikia.com/wiki/Client:mpdscribble;
     license = licenses.gpl2;
-    maintainers = [ maintainers.matthiasbeyer ];
+    maintainers = [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/multitail/default.nix b/pkgs/tools/misc/multitail/default.nix
index bd446395bc78..82155eb51c7f 100644
--- a/pkgs/tools/misc/multitail/default.nix
+++ b/pkgs/tools/misc/multitail/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.vanheusden.com/multitail/;
     description = "tail on Steroids";
-    maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/neofetch/default.nix b/pkgs/tools/misc/neofetch/default.nix
index de4a22ee9e47..097eb2408f85 100644
--- a/pkgs/tools/misc/neofetch/default.nix
+++ b/pkgs/tools/misc/neofetch/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "neofetch-${version}";
-  version = "3.3.0";
+  version = "3.4.0";
   src = fetchFromGitHub {
     owner = "dylanaraps";
     repo = "neofetch";
     rev = version;
-    sha256 = "1f1hvd635wv81qg802jdi0yggi4631w9nlznipaxkvk4y1zpdq5j";
+    sha256 = "10h4f7n6bllbq459nm9wppvk65n81zzv556njfqplzw3mpdrbiyx";
   };
 
   dontBuild = true;
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index 7287da2079a1..e42a45b260eb 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-20180222";
+  name = "parallel-20180322";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "1bwx1rcrqz04d8fajlllhrfkjqxg0mfvsd86wf6p067gmgdrf6g8";
+    sha256 = "15v46pv4z98xm3fkwy7335faw4r7pilrxp4xis5a4zi4319sv2b3";
   };
 
   nativeBuildInputs = [ makeWrapper perl ];
diff --git a/pkgs/tools/misc/pdd/default.nix b/pkgs/tools/misc/pdd/default.nix
new file mode 100644
index 000000000000..d362bccb993e
--- /dev/null
+++ b/pkgs/tools/misc/pdd/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, buildPythonApplication, dateutil }:
+
+buildPythonApplication rec {
+  pname = "pdd";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "jarun";
+    repo = "pdd";
+    rev = "v${version}";
+    sha256 = "1nb64vdlym4najjyfxq1nprqcwgrwnqj1mml0fcg20hrgbjm4bf2";
+  };
+
+  format = "other";
+
+  propagatedBuildInputs = [ dateutil ];
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/jarun/pdd";
+    description = "Tiny date, time diff calculator";
+    longDescription = ''
+      There are times you want to check how old you are (in years, months, days)
+      or how long you need to wait for the next flash sale or the number of days
+      left of your notice period in your current job. pdd (Python3 Date Diff) is
+      a small cmdline utility to calculate date and time difference. If no
+      program arguments are specified it shows the current date, time and
+      timezone.
+    '';
+    maintainers = [ maintainers.infinisil ];
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/tools/misc/plantuml/default.nix b/pkgs/tools/misc/plantuml/default.nix
index 447ef9dd5ec5..2eb6f1aa8e6d 100644
--- a/pkgs/tools/misc/plantuml/default.nix
+++ b/pkgs/tools/misc/plantuml/default.nix
@@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
     # "java -jar plantuml.jar -license" says GPLv3 or later
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.bjornfor ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/pspg/default.nix b/pkgs/tools/misc/pspg/default.nix
new file mode 100644
index 000000000000..b9543dc143cf
--- /dev/null
+++ b/pkgs/tools/misc/pspg/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, gnugrep, ncurses, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "pspg-${version}";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "okbob";
+    repo = "pspg";
+    rev = "${version}";
+    sha256 = "1swrg4bg7i4xpdrsg8dsfldbxaffni04x8i1s0g6h691qcin675v";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ gnugrep ncurses ];
+
+  preBuild = ''
+    makeFlags="PREFIX=$out PKG_CONFIG=${pkgconfig}/bin/pkg-config"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/okbob/pspg;
+    description = "Postgres Pager";
+    license = licenses.bsd2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.jlesquembre ];
+  };
+}
diff --git a/pkgs/tools/misc/recoverjpeg/default.nix b/pkgs/tools/misc/recoverjpeg/default.nix
index e0fefe85b9fd..72ea7f2ea0b0 100644
--- a/pkgs/tools/misc/recoverjpeg/default.nix
+++ b/pkgs/tools/misc/recoverjpeg/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "recoverjpeg-${version}";
-  version = "2.6.1";
+  version = "2.6.2";
 
   src = fetchurl {
     url = "https://www.rfc1149.net/download/recoverjpeg/${name}.tar.gz";
-    sha256 = "00zi23l4nq9nfjg1zzbpsfxf1s47r5w713aws90w13fd19jqn0rj";
+    sha256 = "01vayn2b3mqmyqz2ka2j3k4a93bjdvkhv5ry9207v04r83r7iwfp";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/smc/default.nix b/pkgs/tools/misc/smc/default.nix
index 83c384e5ec0a..e0d1ff208353 100644
--- a/pkgs/tools/misc/smc/default.nix
+++ b/pkgs/tools/misc/smc/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, jre }:
 
 stdenv.mkDerivation rec {
-  name = "smc-6.6.0";
+  name = "smc-6.6.3";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/smc/smc/6_6_0/smc_6_6_0.tgz";
-    sha256 = "14lf286dslm7ymkr4my1xgjvwvqc9181mwkfr65ab49cxl0q85wz";
+    url = "mirror://sourceforge/project/smc/smc/6_6_3/smc_6_6_3.tgz";
+    sha256 = "1gv0hrgdl4wp562virpf9sib6pdhapwv4zvwbl0d5f5xyx04il11";
   };
 
   # Prebuilt Java package.
diff --git a/pkgs/tools/misc/smenu/default.nix b/pkgs/tools/misc/smenu/default.nix
index 061a6c58d237..3db0ee9af267 100644
--- a/pkgs/tools/misc/smenu/default.nix
+++ b/pkgs/tools/misc/smenu/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
       your selection will be sent to standard output.
     '';
     license     = licenses.gpl2;
-    maintainers = [ maintainers.matthiasbeyer ];
+    maintainers = [ ];
     platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/txt2man/default.nix b/pkgs/tools/misc/txt2man/default.nix
index 29bd3235dfb9..f37892a231a5 100644
--- a/pkgs/tools/misc/txt2man/default.nix
+++ b/pkgs/tools/misc/txt2man/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, coreutils, gawk }:
 
 stdenv.mkDerivation rec {
-  name = "txt2man-1.5.6";
+  name = "txt2man-${version}";
+  version = "1.6.0";
 
   src = fetchurl {
-    url = "http://mvertes.free.fr/download/${name}.tar.gz";
-    sha256 = "0ammlb4pwc4ya1kc9791vjl830074zrpfcmzc18lkcqczp2jaj4q";
+    url = "https://github.com/mvertes/txt2man/archive/${name}.tar.gz";
+    sha256 = "168cj96974n2z0igin6j1ic1m45zyic7nm5ark7frq8j78rrx4zn";
   };
 
   preConfigure = ''
diff --git a/pkgs/tools/misc/vdirsyncer/default.nix b/pkgs/tools/misc/vdirsyncer/default.nix
index ad5b259eb77a..9d1e4096776a 100644
--- a/pkgs/tools/misc/vdirsyncer/default.nix
+++ b/pkgs/tools/misc/vdirsyncer/default.nix
@@ -33,7 +33,7 @@ pythonPackages.buildPythonApplication rec {
   meta = with stdenv.lib; {
     homepage = https://github.com/pimutils/vdirsyncer;
     description = "Synchronize calendars and contacts";
-    maintainers = with maintainers; [ matthiasbeyer jgeerds ];
+    maintainers = with maintainers; [ jgeerds ];
     platforms = platforms.all;
     license = licenses.mit;
   };
diff --git a/pkgs/tools/misc/vimer/default.nix b/pkgs/tools/misc/vimer/default.nix
index a655aa9502e5..7ccc6e9dc271 100644
--- a/pkgs/tools/misc/vimer/default.nix
+++ b/pkgs/tools/misc/vimer/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
       in an existing instance of GVim or MacVim.
     '';
     license = licenses.mit;
-    maintainers = [ maintainers.matthiasbeyer ];
+    maintainers = [ ];
     platforms = platforms.linux;
   };
 
diff --git a/pkgs/tools/misc/woeusb/default.nix b/pkgs/tools/misc/woeusb/default.nix
index 436a252e678d..197eea17d886 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.1.4";
+  version = "3.1.5";
   name = "woeusb-${version}";
 
   src = fetchFromGitHub {
     owner = "slacka";
     repo = "WoeUSB";
     rev = "v${version}";
-    sha256 = "0hvxsm6k6s29wnr3i5b9drf6ml0i32is2l50l3cxvf1f499w4bpc";
+    sha256 = "0jbyrd49ikwkfpnka884y3p600bm3nfil2zinrgbac7vyhxxqjmw";
   };
 
   buildInputs = [ wxGTK30 autoreconfHook makeWrapper ];
diff --git a/pkgs/tools/misc/xburst-tools/default.nix b/pkgs/tools/misc/xburst-tools/default.nix
index c64ae609bcbb..6b63e2f55a27 100644
--- a/pkgs/tools/misc/xburst-tools/default.nix
+++ b/pkgs/tools/misc/xburst-tools/default.nix
@@ -22,6 +22,8 @@ stdenv.mkDerivation {
     "--enable-firmware CROSS_COMPILE=${crossPrefix}-"
     else "";
 
+  hardeningDisable = [ "pic" "stackprotector" ];
+
   # Not to strip cross build binaries (this is for the gcc-cross-wrapper)
   dontCrossStrip = true;
 
diff --git a/pkgs/tools/misc/yad/default.nix b/pkgs/tools/misc/yad/default.nix
index 31b8d673a988..2c5a2b808a57 100644
--- a/pkgs/tools/misc/yad/default.nix
+++ b/pkgs/tools/misc/yad/default.nix
@@ -2,11 +2,11 @@
 , wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
-  name = "yad-0.37.0";
+  name = "yad-0.40.0";
 
   src = fetchurl {
     url = "http://sourceforge.net/projects/yad-dialog/files/${name}.tar.xz";
-    sha256 = "0fhqsgml1axaa9avd0hbam5wm77c2c7q1bz4hs7fvyvdnljazvwi";
+    sha256 = "1x0fsv8nfkm8lchdawnf3zw79jaqbnvhv87sk5r8g86knv8vgl62";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 316d3f181fef..cbfbf77739ba 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -16,11 +16,11 @@ with stdenv.lib;
 buildPythonApplication rec {
 
   pname = "youtube-dl";
-  version = "2018.03.14";
+  version = "2018.03.26.1";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0j8j797gqc29fd5ra3cjvwkp8dgvigdydsj0zzjs05zccfqrj9lh";
+    sha256 = "1sbapwx2zdhprvmljqs6rzxnhiyfpxgin7qyjdrg6h25hhq63vss";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/networking/axel/default.nix b/pkgs/tools/networking/axel/default.nix
index c9d689b8b2c1..2155d3c1b3d8 100644
--- a/pkgs/tools/networking/axel/default.nix
+++ b/pkgs/tools/networking/axel/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     description = "Console downloading program with some features for parallel connections for faster downloading";
     homepage = http://axel.alioth.debian.org/;
     maintainers = with maintainers; [ pSub ];
-    platforms = with platforms; linux ++ darwin;
+    platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/tools/networking/ccnet/default.nix b/pkgs/tools/networking/ccnet/default.nix
index d4a279bcc424..408fd0f8c8fe 100644
--- a/pkgs/tools/networking/ccnet/default.nix
+++ b/pkgs/tools/networking/ccnet/default.nix
@@ -1,13 +1,13 @@
 {stdenv, fetchurl, which, autoreconfHook, pkgconfig, vala, python, libsearpc, libzdb, libuuid, libevent, sqlite, openssl}:
 
 stdenv.mkDerivation rec {
-  version = "6.1.0";
-  seafileVersion = "6.1.0";
+  version = "6.1.7";
+  seafileVersion = "6.1.7";
   name = "ccnet-${version}";
 
   src = fetchurl {
     url = "https://github.com/haiwen/ccnet/archive/v${version}.tar.gz";
-    sha256 = "0q4a102xlcsxlr53h4jr4w8qzkbzvm2f3nk9fsha48h6l2hw34bb";
+    sha256 = "1kkzdxa9r7sw1niwniznfkvilgvb7q039wq07cfk73qs3231bj7r";
   };
 
   nativeBuildInputs = [ pkgconfig which autoreconfHook vala python ];
diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix
index 02d5a3073f4b..93529fe4ce53 100644
--- a/pkgs/tools/networking/dhcpcd/default.nix
+++ b/pkgs/tools/networking/dhcpcd/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ udev ];
 
+  preConfigure = "patchShebangs ./configure";
+
   configureFlags = [
     "--sysconfdir=/etc"
     "--localstatedir=/var"
diff --git a/pkgs/tools/networking/getmail/default.nix b/pkgs/tools/networking/getmail/default.nix
index 4a358255b10c..224c7a4ab484 100644
--- a/pkgs/tools/networking/getmail/default.nix
+++ b/pkgs/tools/networking/getmail/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, python2Packages }:
 
 python2Packages.buildPythonApplication rec {
-  version = "5.5";
+  version = "5.6";
   name = "getmail-${version}";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://pyropus.ca/software/getmail/old-versions/${name}.tar.gz";
-    sha256 = "0l43lbnrnyyrq8mlnw37saq6v0mh3nkirdq1dwnsrihykzjjwf70";
+    sha256 = "16nmvj80szr6yvcxxgmxn2lxqpjqqj4xg5a0b66zhvck6j42q3a6";
   };
 
   doCheck = false;
diff --git a/pkgs/tools/networking/htpdate/default.nix b/pkgs/tools/networking/htpdate/default.nix
index f0bb4ab46fae..c8e14ad7f697 100644
--- a/pkgs/tools/networking/htpdate/default.nix
+++ b/pkgs/tools/networking/htpdate/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Utility to fetch time and set the system clock over HTTP";
     homepage = http://www.vervest.org/htp/;
-    platforms = platforms.unix;
+    platforms = platforms.linux;
     license = licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/networking/http-prompt/default.nix b/pkgs/tools/networking/http-prompt/default.nix
index b1f83c8b2161..37f4f96a3172 100644
--- a/pkgs/tools/networking/http-prompt/default.nix
+++ b/pkgs/tools/networking/http-prompt/default.nix
@@ -28,7 +28,7 @@ pythonPackages.buildPythonApplication rec {
     description = "An interactive command-line HTTP client featuring autocomplete and syntax highlighting";
     homepage = https://github.com/eliangcs/http-prompt;
     license = licenses.mit;
-    maintainers = with maintainers; [ matthiasbeyer ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux; # can only test on linux
   };
 }
diff --git a/pkgs/tools/networking/mailutils/default.nix b/pkgs/tools/networking/mailutils/default.nix
index 6f47b4b55766..c85aaea6f3b9 100644
--- a/pkgs/tools/networking/mailutils/default.nix
+++ b/pkgs/tools/networking/mailutils/default.nix
@@ -34,7 +34,7 @@ in stdenv.mkDerivation rec {
   ];
 
   doCheck = true;
-  enableParallelBuilding = true;
+  enableParallelBuilding = false;
   hardeningDisable = [ "format" ];
 
   configureFlags = [
diff --git a/pkgs/tools/networking/minio-client/default.nix b/pkgs/tools/networking/minio-client/default.nix
index 7538c08249c0..bfe7dfc2dc0d 100644
--- a/pkgs/tools/networking/minio-client/default.nix
+++ b/pkgs/tools/networking/minio-client/default.nix
@@ -3,13 +3,13 @@
 buildGoPackage rec {
   name = "minio-client-${version}";
 
-  version = "2018-02-09T23-07-36Z";
+  version = "2018-03-25T01-22-22Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "mc";
     rev = "RELEASE.${version}";
-    sha256 = "1mzjqcvl8740jkkrsyycwqminnd0vdl1m2mvq8hnywj8hs816bfd";
+    sha256 = "1x71va37jaqsi99d0i0mccybrs9kjgmpfsm0dchmc58mmhyagh3k";
   };
 
   goPackagePath = "github.com/minio/mc";
diff --git a/pkgs/tools/networking/ngrok-2/default.nix b/pkgs/tools/networking/ngrok-2/default.nix
index 031161da4d57..23725fb2d874 100644
--- a/pkgs/tools/networking/ngrok-2/default.nix
+++ b/pkgs/tools/networking/ngrok-2/default.nix
@@ -1,31 +1,38 @@
 { stdenv, fetchurl, unzip }:
 
+with stdenv.lib;
+
 stdenv.mkDerivation rec {
   name = "ngrok-${version}";
   version = "2.2.8";
 
-  src = if stdenv.system == "i686-linux" then fetchurl {
+  src = if stdenv.isLinux && stdenv.isi686 then fetchurl {
     url = "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-i386.tgz";
     sha256 = "0s5ymlaxrvm13q3mlvfirh74sx60qh56c5sgdma2r7q5qlsq41xg";
-  } else if stdenv.system == "x86_64-linux" then fetchurl {
+  } else if stdenv.isLinux && stdenv.isx86_64 then fetchurl {
     url = "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.tgz";
     sha256 = "1mn9iwgy6xzrjihikwc2k2j59igqmph0cwx17qp0ziap9lp5xxad";
+  } else if stdenv.isDarwin then fetchurl {
+    url = "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-darwin-386.zip";
+    sha256 = "0yfd250b55wcpgqd00rqfaa7a82f35fmybb31q5xwdbgc2i47pbh";
   } else throw "platform ${stdenv.system} not supported!";
 
   sourceRoot = ".";
 
+  nativeBuildInputs = optional stdenv.isDarwin unzip;
+
   installPhase = ''
     install -D ngrok $out/bin/ngrok
   '';
 
-  meta = with stdenv.lib; {
+  meta = {
     description = "ngrok";
     longDescription = ''
       Allows you to expose a web server running on your local machine to the internet.
     '';
     homepage = https://ngrok.com/;
-    license = stdenv.lib.licenses.unfree;
-    platforms = [ "i686-linux" "x86_64-linux" ];
+    license = licenses.unfree;
+    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
     maintainers = [ maintainers.bobvanderlinden ];
   };
 }
diff --git a/pkgs/tools/networking/nzbget/default.nix b/pkgs/tools/networking/nzbget/default.nix
index d72ee844c0ec..ef65444ae331 100644
--- a/pkgs/tools/networking/nzbget/default.nix
+++ b/pkgs/tools/networking/nzbget/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "nzbget-${version}";
-  version = "19.0";
+  version = "19.1";
 
   src = fetchurl {
     url = "http://github.com/nzbget/nzbget/releases/download/v${version}/nzbget-${version}-src.tar.gz";
-    sha256 = "08kgi4zmh4h1pvxh8x4c3ydf9xl2s6ncm579f0wdm2zknvpf0j16";
+    sha256 = "1rjwv555zc2hiagf00k8l1pzav91qglsnqbqkyy3pmn2d8sl5pq6";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 1c135cd36f48..42fcc842ad55 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -21,12 +21,12 @@ in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "openssh-${version}";
-  version = if hpnSupport then "7.5p1" else "7.6p1";
+  version = if hpnSupport then "7.6p1" else "7.6p1";
 
   src = if hpnSupport then
       fetchurl {
-        url = "https://github.com/rapier1/openssh-portable/archive/hpn-KitchenSink-7_5_P1.tar.gz";
-        sha256 = "1hasdcfjl6xf5nbbbvqyyq5v7ad10nywrq89j7naxz9wln58nhnn";
+        url = "https://github.com/rapier1/openssh-portable/archive/hpn-KitchenSink-7_6_P1.tar.gz";
+        sha256 = "15b1zjk9f3jlxji1vpqfla40cnzy8hv2clk925cvpgz7lqgv4a1d";
       }
     else
       fetchurl {
diff --git a/pkgs/tools/networking/p2p/libtorrent/default.nix b/pkgs/tools/networking/p2p/libtorrent/default.nix
index 87785f50e6fa..87cf6d172c0c 100644
--- a/pkgs/tools/networking/p2p/libtorrent/default.nix
+++ b/pkgs/tools/networking/p2p/libtorrent/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     homepage = "http://rtorrent.net/downloads/";
     description = "A BitTorrent library written in C++ for *nix, with focus on high performance and good code";
 
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ ebzzry codyopel ];
   };
 }
diff --git a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
index 4bdc630efd79..8c0c4a6c5664 100644
--- a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
+++ b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, lib, unzip, nettools, pythonPackages }:
+{ fetchurl, lib, unzip, nettools, pythonPackages, texinfo }:
 
 # FAILURES: The "running build_ext" phase fails to compile Twisted
 # plugins, because it tries to write them into Twisted's (immutable)
@@ -15,7 +15,9 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "0x9f1kjym1188fp6l5sqy0zz8mdb4xw861bni2ccv26q482ynbks";
   };
 
-  patchPhase = ''
+  outputs = [ "out" "doc" "info" ];
+
+  postPatch = ''
     sed -i "src/allmydata/util/iputil.py" \
         -es"|_linux_path = '/sbin/ifconfig'|_linux_path = '${nettools}/bin/ifconfig'|g"
 
@@ -30,6 +32,24 @@ pythonPackages.buildPythonApplication rec {
     sed -i 's/"pycrypto.*"/"pycrypto"/' src/allmydata/_auto_deps.py
   '';
 
+  # Remove broken and expensive tests.
+  preConfigure = ''
+    (
+      cd src/allmydata/test
+
+      # Buggy?
+      rm cli/test_create.py test_backupdb.py
+
+      # These require Tor and I2P.
+      rm test_connections.py test_iputil.py test_hung_server.py test_i2p_provider.py test_tor_provider.py
+
+      # Expensive
+      rm test_system.py
+    )
+  '';
+
+  nativeBuildInputs = with pythonPackages; [ sphinx texinfo ];
+
   buildInputs = with pythonPackages; [ unzip numpy mock ];
 
   # The `backup' command requires `sqlite3'.
@@ -39,16 +59,23 @@ pythonPackages.buildPythonApplication rec {
     service-identity pyyaml
   ];
 
+  # Install the documentation.
   postInstall = ''
-    # Install the documentation.
-    mkdir -p "$out/share/doc/${name}"
-    cp -rv "docs/"* "$out/share/doc/${name}"
-    find "$out/share/doc/${name}" -name Makefile -exec rm -v {} \;
+    (
+      cd docs
+
+      make singlehtml
+      mkdir -p "$doc/share/doc/${name}"
+      cp -rv _build/singlehtml/* "$doc/share/doc/${name}"
+
+      make info
+      mkdir -p "$info/share/info"
+      cp -rv _build/texinfo/*.info "$info/share/info"
+    )
   '';
 
   checkPhase = ''
-    # Still broken. ~ C.
-    #   trial allmydata
+    trial --rterrors allmydata
   '';
 
   meta = {
diff --git a/pkgs/tools/networking/tlspool/configvar-fix.patch b/pkgs/tools/networking/tlspool/configvar-fix.patch
deleted file mode 100644
index 424fef20dcfd..000000000000
--- a/pkgs/tools/networking/tlspool/configvar-fix.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 8561789ba70ae5d741992b143ee288b8e11a5e2b Mon Sep 17 00:00:00 2001
-From: joachim schiele <js@lastlog.de>
-Date: Wed, 1 Mar 2017 15:15:22 +0100
-Subject: [PATCH] fix to
- https://github.com/arpa2/tlspool/issues/58#issuecomment-283333738
-
----
- tool/Makefile | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/tool/Makefile b/tool/Makefile
-index 9a15012..0f655e9 100644
---- a/tool/Makefile
-+++ b/tool/Makefile
-@@ -38,7 +38,6 @@ pgp11genkey_LIBS = $(P11KIT_LIBS) -lcrypto
- 
- configvar_CFLAGS = $(tlspool_CFLAGS)
- configvar_LDFLAGS = $(tlspool_LDFLAGS)
--configvar_LIBS = $(tlspool_LIBS)
- 
- P11KIT_CFLAGS = $(shell pkg-config --cflags p11-kit-1)
- P11KIT_LIBS   = $(shell pkg-config --libs   p11-kit-1)
-@@ -96,8 +95,8 @@ have_db: have_db.c
- pgp11_genkey: pgp11_genkey.c
- 	gcc -std=gnu11 $(CFLAGS) $(pgp11genkey_CFLAGS) -o "$@" "$<" $(pgp11genkey_LIBS)
- 
--configvar: configvar.c $(configvar_LIBS)
--	gcc -std=gnu11 $(CFLAGS) $(configvar_CFLAGS) $(configvar_LDFLAGS) $(configvar_CFLAGS) -o "$@" "$<" $(configvar_LIBS)
-+configvar: configvar.c
-+	gcc -std=gnu11 $(CFLAGS) $(configvar_CFLAGS) $(configvar_LDFLAGS) $(configvar_CFLAGS) -o "$@" "$<"
- 
- $(tlspool_LIBS):
- 	$(MAKE) -C ../lib `basename $(tlspool_LIBS)`
--- 
-2.12.0
-
diff --git a/pkgs/tools/networking/tlspool/default.nix b/pkgs/tools/networking/tlspool/default.nix
index 02d3f2c29488..b992fef2253f 100644
--- a/pkgs/tools/networking/tlspool/default.nix
+++ b/pkgs/tools/networking/tlspool/default.nix
@@ -1,56 +1,51 @@
-{ pkgs, stdenv, fetchFromGitHub, unzip, libtool, pkgconfig, git, p11-kit,
-  libtasn1, db, openldap, libmemcached, cyrus_sasl, openssl, softhsm, bash,
-  python, libkrb5, quickder, unbound, ldns, gnupg, gnutls-kdh,
-  useSystemd ? true, systemd, swig
+{ stdenv, fetchFromGitHub
+, cmake, pkgconfig, arpa2cm
+, openldap, p11-kit, unbound, libtasn1, db, openssl, quickder, libkrb5, ldns, gnutls-kdh
+, softhsm
 }:
 
 let
   pname = "tlspool";
-  version = "20170123";
+  version = "20180227";
 in
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  src = fetchFromGitHub { 
+  src = fetchFromGitHub {
     owner = "arpa2";
     repo = "tlspool";
-    rev = "90cfa0758b02849114ba6373f280a4f2d3e534bf";
-    sha256 = "1qyq6da5bsgb8y9f3jhfrnhbvjns4k80lpkrydkvfx83bg494370";
+    rev = "b4459637d71c7602e94d455e23c74f3973b9cf30";
+    sha256 = "0x78f2bdsiglwicwn3injm5ysfjlfa0yzdpnc0r3iw4z0n89rj2r";
   };
 
-  propagatedBuildInputs = [ python softhsm openldap p11-kit.dev p11-kit.out gnupg ];
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ unbound unzip git libtasn1 db libmemcached cyrus_sasl openssl bash quickder
-                  libkrb5 ldns libtool swig pkgs.pythonPackages.pip gnutls-kdh ]
-                ++ stdenv.lib.optional useSystemd systemd;
+  nativeBuildInputs = [
+    cmake pkgconfig arpa2cm
+  ];
 
-  patches = [ ./fixing-rpath.patch ./configvar-fix.patch ];
+  buildInputs = [
+    openldap p11-kit unbound libtasn1 db openssl quickder libkrb5 ldns gnutls-kdh
+  ];
 
   postPatch = ''
+    # CMake is probably confused because the current version isn't 1.2.6, but 1.2-6
+    substituteInPlace CMakeLists.txt \
+      --replace "Quick-DER 1.2.4" "Quick-DER 1.2"
     substituteInPlace etc/tlspool.conf \
       --replace "dnssec_rootkey ../etc/root.key" "dnssec_rootkey $out/etc/root.key" \
       --replace "pkcs11_path /usr/local/lib/softhsm/libsofthsm2.so" "pkcs11_path ${softhsm}/lib/softhsm/libsofthsm2.so"
-    substituteInPlace lib/Makefile \
-      --replace "DESTDIR=\$(DESTDIR) PREFIX=\$(PREFIX)" "DESTDIR=\$(DESTDIR) PREFIX=\$(PREFIX) SWIG=${swig}/bin/swig"
   '';
 
-  buildPhase = ''
-    make clean
-    make DESTDIR=$out PREFIX=/ all
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin $out/lib $out/sbin $out/etc/tlspool/ $out/include/${pname}/pulleyback
-    make DESTDIR=$out PREFIX=/ install
-    cp -R etc/* $out/etc/tlspool/
-    cp include/tlspool/*.h $out/include/${pname}
-    cp pulleyback/*.h $out/include/${pname}/pulleyback/
-    cp src/*.h $out/include/${pname}
+  postInstall = ''
+    mkdir -p $out/include/${pname}/pulleyback $out/etc/tlspool
+    cp -R $src/etc/* $out/etc/tlspool/
+    cp $src/include/tlspool/*.h $out/include/${pname}
+    cp $src/pulleyback/*.h $out/include/${pname}/pulleyback/
+    cp $src/src/*.h $out/include/${pname}
   '';
 
   meta = with stdenv.lib; {
     description = "A supercharged TLS daemon that allows for easy, strong and consistent deployment";
-    license = licenses.bsd2;
+    license = licenses.gpl3;
     homepage = http://www.tlspool.org;
     maintainers = with maintainers; [ leenaars qknight ];
   };
diff --git a/pkgs/tools/networking/tlspool/fixing-rpath.patch b/pkgs/tools/networking/tlspool/fixing-rpath.patch
deleted file mode 100644
index 6a434f3e4008..000000000000
--- a/pkgs/tools/networking/tlspool/fixing-rpath.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 8082f050794f771d1afb8e5c3d08862fc633922b Mon Sep 17 00:00:00 2001
-From: joachim schiele <js@lastlog.de>
-Date: Wed, 1 Mar 2017 13:12:19 +0100
-Subject: [PATCH] RPATH is back
- https://github.com/arpa2/tlspool/issues/58#issuecomment-283318767
-
----
- tool/Makefile | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/tool/Makefile b/tool/Makefile
-index c1e6ce9..9a15012 100644
---- a/tool/Makefile
-+++ b/tool/Makefile
-@@ -18,9 +18,17 @@ LIBS =
- 
- PREFIX = /usr/local
- 
-+DIR := ${CURDIR}
-+LIBDIR := ""
-+ifndef DESTDIR
-+       LIBDIR=$(DIR)/../lib/
-+else
-+       LIBDIR=$(DESTDIR)/lib
-+endif
-+
- tlspool_CFLAGS =
- tlspool_LIBS = ../lib/libtlspool.so
--tlspool_LDFLAGS = -L ../lib -ltlspool
-+tlspool_LDFLAGS = -L ../lib -ltlspool -Wl,-rpath,$(LIBDIR)
- 
- donai_CFLAGS = -DDONAI_ONLY_TEXTPROC
- donai_SRC = ../src/donai.c
--- 
-2.11.1
-
diff --git a/pkgs/tools/networking/urlwatch/default.nix b/pkgs/tools/networking/urlwatch/default.nix
index 0c37043de9bb..3e77117e55f0 100644
--- a/pkgs/tools/networking/urlwatch/default.nix
+++ b/pkgs/tools/networking/urlwatch/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   name = "urlwatch-${version}";
-  version = "2.8";
+  version = "2.9";
 
   src = fetchFromGitHub {
     owner  = "thp";
     repo   = "urlwatch";
     rev    = version;
-    sha256 = "1nja7n6pc45azd3l1xyvav89855lvcgwabrvf34rps81dbl8cnl4";
+    sha256 = "0biy02vyhdwghy9qjmjwlfd8hzaz9gfsssd53ng6zpww4wkkiydz";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/tools/package-management/nix-review/default.nix b/pkgs/tools/package-management/nix-review/default.nix
new file mode 100644
index 000000000000..3dc452db3e26
--- /dev/null
+++ b/pkgs/tools/package-management/nix-review/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, python3
+, fetchFromGitHub
+, nix
+, makeWrapper
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "nix-review";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "Mic92";
+    repo = "nix-review";
+    rev = version;
+    sha256 = "1kafp3x95dklydy5224w0a292rd8pv30lz6z5ddk6y7zg3fsxrcr";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  preFixup = ''
+    wrapProgram $out/bin/nix-review --prefix PATH : ${nix}/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Review pull-requests on https://github.com/NixOS/nixpkgs";
+    homepage = https://github.com/Mic92/nix-review;
+    license = licenses.mit;
+    maintainers = [ maintainers.mic92 ];
+  };
+}
diff --git a/pkgs/tools/package-management/nixops/default.nix b/pkgs/tools/package-management/nixops/default.nix
index daecb8746eaf..ec82115087b7 100644
--- a/pkgs/tools/package-management/nixops/default.nix
+++ b/pkgs/tools/package-management/nixops/default.nix
@@ -1,9 +1,9 @@
 { callPackage, fetchurl }:
 
 callPackage ./generic.nix (rec {
-  version = "1.5.2";
+  version = "1.6";
   src = fetchurl {
     url = "http://nixos.org/releases/nixops/nixops-${version}/nixops-${version}.tar.bz2";
-    sha256 = "00y2arc5rffvy6xmx4p6ibpjyc61k8dkiabq7ccwwjgckz1d2dpb";
+    sha256 = "0f8ql1a9maf9swl8q054b1haxqckdn78p2xgpwl7paxc98l67i7x";
   };
 })
diff --git a/pkgs/tools/package-management/nixops/generic.nix b/pkgs/tools/package-management/nixops/generic.nix
index d9c9661d41a4..f392e0f50ed1 100644
--- a/pkgs/tools/package-management/nixops/generic.nix
+++ b/pkgs/tools/package-management/nixops/generic.nix
@@ -25,6 +25,7 @@ python2Packages.buildPythonApplication {
       pysqlite
       datadog
       digital-ocean
+      libvirt
     ];
 
   doCheck = false;
diff --git a/pkgs/tools/security/apg/default.nix b/pkgs/tools/security/apg/default.nix
index 04b29bcf8f7c..db490c7822f8 100644
--- a/pkgs/tools/security/apg/default.nix
+++ b/pkgs/tools/security/apg/default.nix
@@ -10,7 +10,10 @@ stdenv.mkDerivation rec {
   '';
   makeFlags = stdenv.lib.optionals stdenv.isDarwin ["CC=cc"];
 
-  patches = [ ./apg.patch ];
+  patches = [
+    ./apg.patch
+    ./phony-install-target.patch
+  ];
 
   postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
     sed -i -e 's|APG_CLIBS += -lcrypt|APG_CLIBS += -L${openssl.out}/lib -lcrypto|' Makefile
@@ -64,6 +67,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.adel.nursat.kz/apg/;
     license = stdenv.lib.licenses.bsd3;
     maintainers = with stdenv.lib.maintainers; [ astsmtl ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/apg/phony-install-target.patch b/pkgs/tools/security/apg/phony-install-target.patch
new file mode 100644
index 000000000000..9edf50b4b599
--- /dev/null
+++ b/pkgs/tools/security/apg/phony-install-target.patch
@@ -0,0 +1,11 @@
+diff -ur a/Makefile b/Makefile
+--- a/Makefile	2003-08-08 00:40:39.000000000 +0900
++++ b/Makefile	2018-04-05 22:29:39.284191020 +0900
+@@ -142,6 +142,7 @@
+ 	strip ${CS_PROGNAME}
+ 	strip ${BFM_PROGNAME}
+ 
++.PHONY: install
+ install:
+ 	if test -x ./apg; then \
+ ./mkinstalldirs ${INSTALL_PREFIX}${APG_BIN_DIR}; \
diff --git a/pkgs/tools/security/bettercap/Gemfile b/pkgs/tools/security/bettercap/Gemfile
deleted file mode 100644
index 8fb2a1c300a7..000000000000
--- a/pkgs/tools/security/bettercap/Gemfile
+++ /dev/null
@@ -1,2 +0,0 @@
-source 'https://rubygems.org'
-gem 'bettercap'
diff --git a/pkgs/tools/security/bettercap/Gemfile.lock b/pkgs/tools/security/bettercap/Gemfile.lock
deleted file mode 100644
index 9260d1fd5ab6..000000000000
--- a/pkgs/tools/security/bettercap/Gemfile.lock
+++ /dev/null
@@ -1,42 +0,0 @@
-GEM
-  remote: https://rubygems.org/
-  specs:
-    bettercap (1.6.2)
-      colorize (~> 0.8.0)
-      em-proxy (~> 0.1, >= 0.1.8)
-      net-dns (~> 0.8, >= 0.8.0)
-      network_interface (~> 0.0, >= 0.0.1)
-      packetfu (~> 1.1, >= 1.1.10)
-      pcaprub (~> 0.12, >= 0.12.0, <= 1.1.11)
-      rubydns (~> 1.0, >= 1.0.3)
-    celluloid (0.16.0)
-      timers (~> 4.0.0)
-    celluloid-io (0.16.2)
-      celluloid (>= 0.16.0)
-      nio4r (>= 1.1.0)
-    colorize (0.8.1)
-    em-proxy (0.1.9)
-      eventmachine
-    eventmachine (1.2.5)
-    hitimes (1.2.6)
-    net-dns (0.8.0)
-    network_interface (0.0.2)
-    nio4r (2.2.0)
-    packetfu (1.1.13)
-      pcaprub
-    pcaprub (0.12.4)
-    rubydns (1.0.3)
-      celluloid (= 0.16.0)
-      celluloid-io (= 0.16.2)
-      timers (~> 4.0.1)
-    timers (4.0.4)
-      hitimes
-
-PLATFORMS
-  ruby
-
-DEPENDENCIES
-  bettercap
-
-BUNDLED WITH
-   1.14.6
diff --git a/pkgs/tools/security/bettercap/default.nix b/pkgs/tools/security/bettercap/default.nix
index 46832e83ac96..a85ce7df9216 100644
--- a/pkgs/tools/security/bettercap/default.nix
+++ b/pkgs/tools/security/bettercap/default.nix
@@ -1,16 +1,23 @@
-{ lib, bundlerEnv, ruby, libpcap}:
+{ stdenv, buildGoPackage, fetchFromGitHub, pkgconfig, libpcap, libnfnetlink, libnetfilter_queue }:
 
-bundlerEnv rec {
+buildGoPackage rec {
   name = "bettercap-${version}";
+  version = "2.4";
 
-  version = (import gemset).bettercap.version;
-  inherit ruby;
-  gemdir = ./.;
-  gemset = ./gemset.nix;
+  goPackagePath = "github.com/bettercap/bettercap";
 
-  buildInputs = [ libpcap ruby ];
+  src = fetchFromGitHub {
+    owner = "bettercap";
+    repo = "bettercap";
+    rev = "v${version}";
+    sha256 = "1k1ank8z9sr3vxm86dfcrn1y3qa3gfwyb2z0fvkvi38gc88pfljb";
+  };
+
+  buildInputs = [libpcap libnfnetlink libnetfilter_queue pkgconfig];
+
+  goDeps = ./deps.nix;
 
-  meta = with lib; {
+  meta = with stdenv.lib; {
     description = "A man in the middle tool";
     longDescription = ''
       BetterCAP is a powerful, flexible and portable tool created to perform various types of MITM attacks against a network, manipulate HTTP, HTTPS and TCP traffic in realtime, sniff for credentials and much more.
diff --git a/pkgs/tools/security/bettercap/deps.nix b/pkgs/tools/security/bettercap/deps.nix
new file mode 100644
index 000000000000..6a03e88000c2
--- /dev/null
+++ b/pkgs/tools/security/bettercap/deps.nix
@@ -0,0 +1,228 @@
+# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
+[
+  {
+    goPackagePath  = "github.com/adrianmo/go-nmea";
+    fetch = {
+      type = "git";
+      url = "https://github.com/adrianmo/go-nmea";
+      rev =  "22095aa1b48050243d3eb9a001ca80eb91a0c6fa";
+      sha256 = "0hgjfmnff794j537kbrjcsxzr9xyggm09rw3wp2xrzahh9pxdlm5";
+    };
+  }
+  {
+    goPackagePath  = "github.com/bettercap/gatt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bettercap/gatt";
+      rev =  "6475b946a0bff32e906c25d861f2b1c6d2056baa";
+      sha256 = "0f2n35yz6fcbmswy1wyv2z72d3iia7xxapjkvwkbj2zqfxxwn26s";
+    };
+  }
+  {
+    goPackagePath  = "github.com/bettercap/readline";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bettercap/readline";
+      rev =  "9cec905dd29109b64e6752507fba73474c2efd46";
+      sha256 = "1lsnyckg2l78hz4la8dhwvjsyff706khw10nxds5afzl4mrih3vn";
+    };
+  }
+  {
+    goPackagePath  = "github.com/chifflier/nfqueue-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/chifflier/nfqueue-go";
+      rev =  "61ca646babef3bd4dea1deb610bfb0005c0a1298";
+      sha256 = "1i1q2xl86f3s9x3j2ffxprwqhcrkh4w23hh4ib7jksxvaq36v33l";
+    };
+  }
+  {
+    goPackagePath  = "github.com/dustin/go-humanize";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dustin/go-humanize";
+      rev =  "bb3d318650d48840a39aa21a027c6630e198e626";
+      sha256 = "1lqd8ix3cb164j5iazjby2jpa6bdsflhy0h9mi4yldvvcvrc194c";
+    };
+  }
+  {
+    goPackagePath  = "github.com/elazarl/goproxy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/elazarl/goproxy";
+      rev =  "a96fa3a318260eab29abaf32f7128c9eb07fb073";
+      sha256 = "0grm4n28mkj2w4c42ghl797svxykv1z3hsdi1ihnrvq6pr08xky4";
+    };
+  }
+  {
+    goPackagePath  = "github.com/google/go-github";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-github";
+      rev =  "437797734d06eec5394734a84cb5b59c82a66ee6";
+      sha256 = "09ajj73rwsxc03dmm39g8b0qaz88h6gnraw2xn8h7z57qqv6ikcx";
+    };
+  }
+  {
+    goPackagePath  = "github.com/google/go-querystring";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-querystring";
+      rev =  "53e6ce116135b80d037921a7fdd5138cf32d7a8a";
+      sha256 = "0lkbm067nhmxk66pyjx59d77dbjjzwyi43gdvzyx2f8m1942rq7f";
+    };
+  }
+  {
+    goPackagePath  = "github.com/google/gopacket";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/gopacket";
+      rev =  "1d3841317373a001d49e2abcc5be4e442211d454";
+      sha256 = "1jffnrvrma3rm5zxmig52145y9bxc3b4ys4jr1nwmq43jk15s3kp";
+    };
+  }
+  {
+    goPackagePath  = "github.com/gorilla/context";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/context";
+      rev =  "08b5f424b9271eedf6f9f0ce86cb9396ed337a42";
+      sha256 = "03p4hn87vcmfih0p9w663qbx9lpsf7i7j3lc7yl7n84la3yz63m4";
+    };
+  }
+  {
+    goPackagePath  = "github.com/gorilla/mux";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/mux";
+      rev =  "4dbd923b0c9e99ff63ad54b0e9705ff92d3cdb06";
+      sha256 = "02d5c3vh81v2j6g6fnca87ksxjx0xrgp7x7iivfw5x92q1l5h254";
+    };
+  }
+  {
+    goPackagePath  = "github.com/gorilla/websocket";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/websocket";
+      rev =  "eb925808374e5ca90c83401a40d711dc08c0c0f6";
+      sha256 = "0swncxnl97pmsl78q1p4npx9jghnrzj7alkxab89jy9cza5w165x";
+    };
+  }
+  {
+    goPackagePath  = "github.com/inconshreveable/go-vhost";
+    fetch = {
+      type = "git";
+      url = "https://github.com/inconshreveable/go-vhost";
+      rev =  "06d84117953b22058c096b49a429ebd4f3d3d97b";
+      sha256 = "0wliilsybm7xf5h685a23rsm8bnlhkr332pkdkhf32q16sr1a9rk";
+    };
+  }
+  {
+    goPackagePath  = "github.com/jpillora/go-tld";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jpillora/go-tld";
+      rev =  "a31ae10e978ab5f352c5dad2cfbd60546dcea75f";
+      sha256 = "1gfxnbr1xsnlja2qpqxis8ynnk1lrz9c65aah7vc2c44g8vyy78x";
+    };
+  }
+  {
+    goPackagePath  = "github.com/malfunkt/iprange";
+    fetch = {
+      type = "git";
+      url = "https://github.com/malfunkt/iprange";
+      rev =  "3a31f5ed42d2d8a1fc46f1be91fd693bdef2dd52";
+      sha256 = "0gv5w678r74jval675xp0y1hzpf7mm5m9apa1rz9krxc9zd0ycr8";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mattn/go-colorable";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-colorable";
+      rev =  "efa589957cd060542a26d2dd7832fd6a6c6c3ade";
+      sha256 = "0kshi4hvm0ayrsxqxy0599iv81kryhd2fn9lwjyczpj593cq069r";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev =  "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c";
+      sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mdlayher/dhcp6";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mdlayher/dhcp6";
+      rev =  "e26af0688e455a82b14ebdbecf43f87ead3c4624";
+      sha256 = "0fvw8zz2yhla03jfb79bby9vg4rbmaj39v00ypb8yl4fb696zfip";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mgutz/ansi";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mgutz/ansi";
+      rev =  "9520e82c474b0a04dd04f8a40959027271bab992";
+      sha256 = "00bz22314j26736w1f0q4jy9d9dfaml17vn890n5zqy3cmvmww1j";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mgutz/logxi";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mgutz/logxi";
+      rev =  "aebf8a7d67ab4625e0fd4a665766fef9a709161b";
+      sha256 = "1f8sqibkzz9wfplvvblz9s0xvvmhkd2af8ghcsmjw8818gcrzsqx";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev =  "816c9085562cd7ee03e7f8188a1cfd942858cded";
+      sha256 = "1ws5crb7c70wdicavl6qr4g03nn6m92zd6wwp9n2ygz5c8rmxh8k";
+    };
+  }
+  {
+    goPackagePath  = "github.com/robertkrimen/otto";
+    fetch = {
+      type = "git";
+      url = "https://github.com/robertkrimen/otto";
+      rev =  "6c383dd335ef8dcccef05e651ce1eccfe4d0f011";
+      sha256 = "1n6h7c8gi6wv4nklqd7ygzx2afvh7ddxbml9w9x0jxwcfb3bdy17";
+    };
+  }
+  {
+    goPackagePath  = "github.com/tarm/serial";
+    fetch = {
+      type = "git";
+      url = "https://github.com/tarm/serial";
+      rev =  "eaafced92e9619f03c72527efeab21e326f3bc36";
+      sha256 = "09pii3q72bygv40v9xsh3nzj821iwqwa0b14wvkagid8mfnl3a7k";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev =  "378d26f46672a356c46195c28f61bdb4c0a781dd";
+      sha256 = "1d02saysx8lh2wv8s915k4shiqicg4j1fh6sxmcxy6bvywax2q9c";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/sourcemap.v1";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-sourcemap/sourcemap";
+      rev =  "b019cc30c1eaa584753491b0d8f8c1534bf1eb44";
+      sha256 = "03k44fdrnknba05f7cd58lq4rzk7jdpiqksmc0wxrdzwschrbgw8";
+    };
+  }
+]
\ No newline at end of file
diff --git a/pkgs/tools/security/bettercap/gemset.nix b/pkgs/tools/security/bettercap/gemset.nix
deleted file mode 100644
index bd5c33ba22c6..000000000000
--- a/pkgs/tools/security/bettercap/gemset.nix
+++ /dev/null
@@ -1,121 +0,0 @@
-{
-  bettercap = {
-    dependencies = ["colorize" "em-proxy" "net-dns" "network_interface" "packetfu" "pcaprub" "rubydns"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1mns96yfyfnksk720p8k83qkwwsid4sicwgrzxaa9gbc53aalll0";
-      type = "gem";
-    };
-    version = "1.6.2";
-  };
-  celluloid = {
-    dependencies = ["timers"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "044xk0y7i1xjafzv7blzj5r56s7zr8nzb619arkrl390mf19jxv3";
-      type = "gem";
-    };
-    version = "0.16.0";
-  };
-  celluloid-io = {
-    dependencies = ["celluloid" "nio4r"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1l1x0p6daa5vskywrvaxdlanwib3k5pps16axwyy4p8d49pn9rnx";
-      type = "gem";
-    };
-    version = "0.16.2";
-  };
-  colorize = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "133rqj85n400qk6g3dhf2bmfws34mak1wqihvh3bgy9jhajw580b";
-      type = "gem";
-    };
-    version = "0.8.1";
-  };
-  em-proxy = {
-    dependencies = ["eventmachine"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1yzkg6jkmcg859b5mf13igpf8q2bjhsmqjsva05948fi733w5n2j";
-      type = "gem";
-    };
-    version = "0.1.9";
-  };
-  eventmachine = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "075hdw0fgzldgss3xaqm2dk545736khcvv1fmzbf1sgdlkyh1v8z";
-      type = "gem";
-    };
-    version = "1.2.5";
-  };
-  hitimes = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "06222h9236jw9jgmdlpi0q7psac1shvxqxqx905qkvabmxdxlfar";
-      type = "gem";
-    };
-    version = "1.2.6";
-  };
-  net-dns = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "12nal6vhdyg0pbcqpsxqr59h7mbgdhcqp3v0xnzvy167n40gabf9";
-      type = "gem";
-    };
-    version = "0.8.0";
-  };
-  network_interface = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1xh4knfq77ii4pjzsd2z1p3nd6nrcdjhb2vi5gw36jqj43ffw0zp";
-      type = "gem";
-    };
-    version = "0.0.2";
-  };
-  nio4r = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0jjrj7vs29w6dfgsxq08226jfbi2j0x62lf4p9zmvyp19dj4z00a";
-      type = "gem";
-    };
-    version = "2.2.0";
-  };
-  packetfu = {
-    dependencies = ["pcaprub"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "16ppq9wfxq4x2hss61l5brs3s6fmi8gb50mnp1nnnzb1asq4g8ll";
-      type = "gem";
-    };
-    version = "1.1.13";
-  };
-  pcaprub = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0pl4lqy7308185pfv0197n8b4v20fhd0zb3wlpz284rk8ssclkvz";
-      type = "gem";
-    };
-    version = "0.12.4";
-  };
-  rubydns = {
-    dependencies = ["celluloid" "celluloid-io" "timers"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1cvj8li8shz7zn1rc5hdrkqmvr9j187g4y28mvkfvmv1j9hdln62";
-      type = "gem";
-    };
-    version = "1.0.3";
-  };
-  timers = {
-    dependencies = ["hitimes"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1jx4wb0x182gmbcs90vz0wzfyp8afi1mpl9w5ippfncyk4kffvrz";
-      type = "gem";
-    };
-    version = "4.0.4";
-  };
-}
\ No newline at end of file
diff --git a/pkgs/tools/security/browserpass/default.nix b/pkgs/tools/security/browserpass/default.nix
index 1e6e9e788d78..a4656b5db046 100644
--- a/pkgs/tools/security/browserpass/default.nix
+++ b/pkgs/tools/security/browserpass/default.nix
@@ -1,9 +1,9 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.0
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
 { stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "browserpass-${version}";
-  version = "2.0.17";
+  version = "2.0.18";
 
   goPackagePath = "github.com/dannyvankooten/browserpass";
 
@@ -13,7 +13,7 @@ buildGoPackage rec {
     repo = "browserpass";
     owner = "dannyvankooten";
     rev = version;
-    sha256 = "1gbhpx75bcacj6z5p4av0011c4chhzqcjjs2bvmfxpi7826hn9kn";
+    sha256 = "0wszjpxfa0krr2zdx7a33vl1r86k74dpy5c940r6ww1zbgqzcibg";
   };
 
   postInstall = ''
diff --git a/pkgs/tools/security/krunner-pass/default.nix b/pkgs/tools/security/krunner-pass/default.nix
new file mode 100644
index 000000000000..dac6df56a796
--- /dev/null
+++ b/pkgs/tools/security/krunner-pass/default.nix
@@ -0,0 +1,44 @@
+{ mkDerivation, stdenv,
+  fetchFromGitHub,
+  cmake, extra-cmake-modules, gnumake,
+
+  pass, pass-otp ? null, krunner,
+}:
+let
+  pname = "krunner-pass";
+  version = "1.3.0";
+in
+mkDerivation rec {
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "akermu";
+    repo = "krunner-pass";
+    rev = "v${version}";
+    sha256 = "032fs2174ls545kjixbhzyd65wgxkw4s5vg8b20irc5c9ak3pxm0";
+  };
+
+  buildInputs  = [
+    pass
+    pass-otp
+    krunner
+  ];
+
+  nativeBuildInputs = [cmake extra-cmake-modules gnumake];
+
+  patches = [
+    ./pass-path.patch
+  ];
+
+  CXXFLAGS = [
+    ''-DNIXPKGS_PASS=\"${stdenv.lib.getBin pass}/bin/pass\"''
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Integrates krunner with pass the unix standard password manager (https://www.passwordstore.org/)";
+    homepage = https://github.com/akermu/krunner-pass;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ ysndr ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/security/krunner-pass/pass-path.patch b/pkgs/tools/security/krunner-pass/pass-path.patch
new file mode 100644
index 000000000000..4ceb3c5d92da
--- /dev/null
+++ b/pkgs/tools/security/krunner-pass/pass-path.patch
@@ -0,0 +1,13 @@
+diff --git a/pass.cpp b/pass.cpp
+index c02f9d0..85c5b99 100644
+--- a/pass.cpp
++++ b/pass.cpp
+@@ -193,7 +193,7 @@ void Pass::run(const Plasma::RunnerContext &context, const Plasma::QueryMatch &m
+     } else {
+         args << "show" << match.text();
+     }
+-    pass->start("pass", args);
++    pass->start(NIXPKGS_PASS, args);
+
+     connect(pass, static_cast<void(QProcess::*)(int, QProcess::ExitStatus)>(&QProcess::finished),
+             [=](int exitCode, QProcess::ExitStatus exitStatus) {
diff --git a/pkgs/tools/security/paperkey/default.nix b/pkgs/tools/security/paperkey/default.nix
index eba707b7d07c..1c235c9d8839 100644
--- a/pkgs/tools/security/paperkey/default.nix
+++ b/pkgs/tools/security/paperkey/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://www.jabberwocky.com/software/paperkey/;
     license = licenses.gpl2;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ skeidel ];
   };
 }
diff --git a/pkgs/tools/security/pcsc-scm-scl011/default.nix b/pkgs/tools/security/pcsc-scm-scl011/default.nix
new file mode 100644
index 000000000000..88b5c147f303
--- /dev/null
+++ b/pkgs/tools/security/pcsc-scm-scl011/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl, unzip, libusb }:
+
+let
+  arch = if stdenv.system == "i686-linux" then "32"
+  else if stdenv.system == "x86_64-linux" then "64"
+  else throw "Unsupported system: ${stdenv.system}";
+in
+stdenv.mkDerivation rec {
+  name = "pcsc-scm-scl-${version}";
+  version = "2.09";
+
+  src = fetchurl {
+    url = "http://files.identiv.com/products/smart-card-readers/contactless/scl010-011/Linux_Driver_Ver${version}.zip";
+    sha256 = "0ik26sxgqgsqplksl87z61vwmx51k7plaqmrkdid7xidgfhfxr42";
+  };
+
+  buildInputs = [ unzip ];
+
+  unpackPhase = ''
+    echo ${stdenv.system}
+    unzip $src
+    tar xf "Linux Driver Ver${version}/sclgeneric_${version}_linux_${arch}bit.tar.gz"
+    cd sclgeneric_${version}_linux_${arch}bit; export sourceRoot=`pwd`
+  '';
+
+  # Add support for SCL011 nPA (subsidized model for German eID)
+  patches = [ ./eid.patch ];
+
+  installPhase = ''
+    mkdir -p $out/pcsc/drivers
+    cp -r proprietary/*.bundle $out/pcsc/drivers
+  '';
+
+  libPath = stdenv.lib.makeLibraryPath [ libusb ];
+
+  fixupPhase = ''
+    patchelf --set-rpath $libPath \
+      $out/pcsc/drivers/SCLGENERIC.bundle/Contents/Linux/libSCLGENERIC.so.${version};
+  '';
+
+  meta = with stdenv.lib; {
+    description = "SCM Microsystems SCL011 chipcard reader user space driver";
+    homepage = http://www.scm-pc-card.de/index.php?lang=en&page=product&function=show_product&product_id=630;
+    downloadPage = https://support.identiv.com/scl010-scl011/;
+    license = licenses.unfreeRedistributable;
+    maintainers = with maintainers; [ sephalon ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/security/pcsc-scm-scl011/eid.patch b/pkgs/tools/security/pcsc-scm-scl011/eid.patch
new file mode 100644
index 000000000000..6e7ffd60f72f
--- /dev/null
+++ b/pkgs/tools/security/pcsc-scm-scl011/eid.patch
@@ -0,0 +1,28 @@
+diff --git a/proprietary/SCLGENERIC.bundle/Contents/Info.plist b/proprietary/SCLGENERIC.bundle/Contents/Info.plist
+index 412d6b9..5d1c6cc 100755
+--- a/proprietary/SCLGENERIC.bundle/Contents/Info.plist
++++ b/proprietary/SCLGENERIC.bundle/Contents/Info.plist
+@@ -34,6 +34,7 @@
+ 		<string>0x04E6</string>		

+ 		<string>0x04E6</string>

+ 		<string>0x04E6</string>

++		<string>0x04E6</string>

+ 	</array>

+ 

+ 	<key>ifdProductID</key>

+@@ -42,6 +43,7 @@
+ 		<string>0x5291</string>

+ 		<string>0x5290</string>

+ 		<string>0x5293</string>

++		<string>0x5292</string>

+ 	</array>

+ 

+ 	<key>ifdFriendlyName</key>

+@@ -50,6 +52,7 @@
+ 		<string>SCL010 Contactless Reader</string>

+ 		<string>SCR331CL-NTTCom</string>

+ 		<string>SCL011G Contactless Reader</string>

++		<string>SCM Microsystems, Inc. SCL011 RFID reader</string>

+ 	</array>

+ 

+ </dict>

diff --git a/pkgs/tools/security/radamsa/default.nix b/pkgs/tools/security/radamsa/default.nix
index 3a6c09b9291d..3126dd2b4faf 100644
--- a/pkgs/tools/security/radamsa/default.nix
+++ b/pkgs/tools/security/radamsa/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "radamsa-${version}";
-  version = "0.4";
+  version = "0.5";
 
   src = fetchurl {
-    url = "http://haltp.org/download/${name}.tar.gz";
-    sha256 = "1xs9dsrq6qrf104yi9x21scpr73crfikbi8q9njimiw5c1y6alrv";
+    url = "https://github.com/aoh/radamsa/releases/download/v${version}/${name}.tar.gz";
+    sha256 = "1d2chp45fbdb2v5zpsx6gh3bv8fhcjv0zijz10clcznadnm8c6p2";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/security/spectre-meltdown-checker/default.nix b/pkgs/tools/security/spectre-meltdown-checker/default.nix
index 13bebe10c623..0baa1538ea15 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.35";
+  version = "0.36";
 
   src = fetchFromGitHub {
     owner = "speed47";
     repo = "spectre-meltdown-checker";
     rev = "v${version}";
-    sha256 = "0pzs6iznrar5zkg92gsh6d0zhdi715zwqcb8hh1aaykx9igjb1xw";
+    sha256 = "0pcw300hizzm130d0ip7j0ivf53sjlv6qzsdk9l68bj2lpx9n3kd";
   };
 
   prePatch = ''
diff --git a/pkgs/tools/security/srm/default.nix b/pkgs/tools/security/srm/default.nix
index fd81933fb587..9782d00267f5 100644
--- a/pkgs/tools/security/srm/default.nix
+++ b/pkgs/tools/security/srm/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     homepage = http://srm.sourceforge.net;
     license = licenses.mit;
     maintainers = with maintainers; [ edwtjo ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 
-}
\ No newline at end of file
+}
diff --git a/pkgs/tools/system/facter/default.nix b/pkgs/tools/system/facter/default.nix
index 9ff5f58f558a..42d34c9a8230 100644
--- a/pkgs/tools/system/facter/default.nix
+++ b/pkgs/tools/system/facter/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "facter-${version}";
-  version = "3.10.0";
+  version = "3.11.0";
 
   src = fetchFromGitHub {
-    sha256 = "0qj23n5h98iirwhnjpcqzmirqf92sjd8mws5dky0pap359j6w792";
+    sha256 = "15cqn09ng23k6a70xvxbpjjqlxw46838k7qr9216lcvxwl2banih";
     rev = version;
     repo = "facter";
     owner = "puppetlabs";
diff --git a/pkgs/tools/system/ipmitool/default.nix b/pkgs/tools/system/ipmitool/default.nix
index fe411edfcdac..c906ad3c8cf1 100644
--- a/pkgs/tools/system/ipmitool/default.nix
+++ b/pkgs/tools/system/ipmitool/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
     description = ''Command-line interface to IPMI-enabled devices'';
     license = licenses.bsd3;
     homepage = https://sourceforge.net/projects/ipmitool/;
-    platforms = platforms.unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ fpletz ];
   };
 }
diff --git a/pkgs/tools/system/localtime/default.nix b/pkgs/tools/system/localtime/default.nix
index d9cfc77203e1..c49054f3a67c 100644
--- a/pkgs/tools/system/localtime/default.nix
+++ b/pkgs/tools/system/localtime/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, go, systemd, polkit, fetchFromGitHub, m4 }:
+{ stdenv, go, systemd, polkit, fetchFromGitHub, m4, removeReferencesTo }:
 
 stdenv.mkDerivation {
   name = "localtime-2017-11-07";
@@ -10,10 +10,15 @@ stdenv.mkDerivation {
     sha256 = "04fyna8p7q7skzx9fzmncd6gx7x5pwa9jh8a84hpljlvj0kldfs8";
   };
   
-  buildInputs = [ go systemd polkit m4 ];
+  buildInputs = [ go systemd polkit m4 removeReferencesTo ];
+  disallowedRequisites = [ go ];
 
   makeFlags = [ "PREFIX=$(out)" ];
 
+  preFixup = ''
+    find $out/bin -type f -exec remove-references-to -t ${go} '{}' +
+  '';
+
   meta = {
     description = "A daemon for keeping the system timezone up-to-date based on the current location";
     homepage = https://github.com/Stebalien/localtime;
diff --git a/pkgs/tools/system/s6-rc/default.nix b/pkgs/tools/system/s6-rc/default.nix
index 13ce2414abf0..ed1da8d450dc 100644
--- a/pkgs/tools/system/s6-rc/default.nix
+++ b/pkgs/tools/system/s6-rc/default.nix
@@ -37,7 +37,7 @@ in stdenv.mkDerivation rec {
   meta = {
     homepage = http://skarnet.org/software/s6-rc/;
     description = "A service manager for s6-based systems";
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.isc;
     maintainers = with stdenv.lib.maintainers; [ pmahoney ];
   };
diff --git a/pkgs/tools/system/sg3_utils/default.nix b/pkgs/tools/system/sg3_utils/default.nix
index c1c4527d0a0a..ca1af7a74e4b 100644
--- a/pkgs/tools/system/sg3_utils/default.nix
+++ b/pkgs/tools/system/sg3_utils/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://sg.danny.cz/sg/;
     description = "Utilities that send SCSI commands to devices";
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
     maintainers = [ ];
   };
 }
diff --git a/pkgs/tools/system/syslog-ng/default.nix b/pkgs/tools/system/syslog-ng/default.nix
index a2230503551f..b356cd1d484a 100644
--- a/pkgs/tools/system/syslog-ng/default.nix
+++ b/pkgs/tools/system/syslog-ng/default.nix
@@ -1,7 +1,9 @@
 { stdenv, fetchurl, openssl, libcap, curl, which
 , eventlog, pkgconfig, glib, python, systemd, perl
 , riemann_c_client, protobufc, pcre, libnet
-, json_c, libuuid, libivykis, mongoc, rabbitmq-c }:
+, json_c, libuuid, libivykis, mongoc, rabbitmq-c
+, libesmtp
+}:
 
 let
   pname = "syslog-ng";
@@ -36,12 +38,14 @@ stdenv.mkDerivation rec {
     libivykis
     mongoc
     rabbitmq-c
+    libesmtp
   ];
 
   configureFlags = [
     "--enable-manpages"
     "--enable-dynamic-linking"
     "--enable-systemd"
+    "--enable-smtp"
     "--with-ivykis=system"
     "--with-librabbitmq-client=system"
     "--with-mongoc=system"
diff --git a/pkgs/tools/text/ansifilter/default.nix b/pkgs/tools/text/ansifilter/default.nix
index 7b899e0399ef..3e9511fefdaa 100644
--- a/pkgs/tools/text/ansifilter/default.nix
+++ b/pkgs/tools/text/ansifilter/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ansifilter-${version}";
-  version = "2.9";
+  version = "2.10";
 
   src = fetchurl {
     url = "http://www.andre-simon.de/zip/ansifilter-${version}.tar.bz2";
-    sha256 = "0fmwb8w1bpfxjwddal6cnhgmip26xqgcanpz2vp8jasklkcc1i7r";
+    sha256 = "0gzfxfpic47cs2kqrbvaw166ji62c5nq5cjhh3ngpm2fkm1wzli3";
 
   };
 
diff --git a/pkgs/tools/text/cconv/default.nix b/pkgs/tools/text/cconv/default.nix
new file mode 100644
index 000000000000..9f6b7a7f1227
--- /dev/null
+++ b/pkgs/tools/text/cconv/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, autoreconfHook }:
+let version = "0.6.3"; in
+  stdenv.mkDerivation {
+  name = "cconv-${version}";
+  
+  src = fetchurl {
+    url = "https://github.com/xiaoyjy/cconv/archive/v${version}.tar.gz";
+    sha256 = "82f46a94829f5a8157d6f686e302ff5710108931973e133d6e19593061b81d84";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+  
+  meta = with stdenv.lib; {
+    description = "A iconv based simplified-traditional chinese conversion tool";
+    homepage = https://github.com/xiaoyjy/cconv;
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.redfish64 ];
+  };
+}
diff --git a/pkgs/tools/text/diction/default.nix b/pkgs/tools/text/diction/default.nix
index bf27fc3de5d3..cfb627d70428 100644
--- a/pkgs/tools/text/diction/default.nix
+++ b/pkgs/tools/text/diction/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "diction-1.11";
+  name = "diction-${version}";
+  version = "1.13";
 
   src = fetchurl {
-    url = "mirror://gnu/diction/${name}.tar.gz";
-    sha256 = "1xi4l1x1vvzmzmbhpx0ghmfnwwrhabjwizrpyylmy3fzinzz3him";
+    url = "http://www.moria.de/~michael/diction/${name}.tar.gz";
+    sha256 = "08fi971b8qa4xycxbgb42i6b5ms3qx9zpp5hwpbxy2vypfs0wph9";
   };
 
   meta = {
diff --git a/pkgs/tools/text/discount/default.nix b/pkgs/tools/text/discount/default.nix
index 8a1de29b0d9c..81b88ff8d835 100644
--- a/pkgs/tools/text/discount/default.nix
+++ b/pkgs/tools/text/discount/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  version = "2.2.3";
+  version = "2.2.3a";
   name = "discount-${version}";
 
   src = fetchurl {
     url = "http://www.pell.portland.or.us/~orc/Code/discount/discount-${version}.tar.bz2";
-    sha256 = "17797xiaq0kk152pj4rvd9grg4i518x3glnwg1lgl8rry3dbrzx8";
+    sha256 = "0m09x9dd75d3pqvmrwr0kqw3dm2x3ss9clj5fxf7lq79lbyxbxbm";
   };
 
   patches = ./fix-configure-path.patch;
diff --git a/pkgs/tools/text/languagetool/default.nix b/pkgs/tools/text/languagetool/default.nix
index 2d18edeb44d6..e60ead5bc8f5 100644
--- a/pkgs/tools/text/languagetool/default.nix
+++ b/pkgs/tools/text/languagetool/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "LanguageTool-${version}";
-  version = "4.0";
+  version = "4.1";
 
   src = fetchzip {
     url = "https://www.languagetool.org/download/${name}.zip";
-    sha256 = "0nfqn04fb5kvxvpsc6xbgj03rmqcsn8vy2xj0zazijhvbxaf0zfb";
+    sha256 = "0qc4z5rl9239lqfi2jrggzmjkx4f33n0arlqm5xgfaqgi8wypz0l";
   };
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre ];
diff --git a/pkgs/tools/text/mdbook/default.nix b/pkgs/tools/text/mdbook/default.nix
index 5bbe8cfd0943..4ea36ddbd5e7 100644
--- a/pkgs/tools/text/mdbook/default.nix
+++ b/pkgs/tools/text/mdbook/default.nix
@@ -2,17 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   name = "mdbook-${version}";
-  version = "0.1.3";
+  version = "0.1.5";
 
   src = fetchFromGitHub {
     owner = "rust-lang-nursery";
     repo = "mdBook";
     rev = "v${version}";
-    sha256 = "0m0vprjpd02z4nr3vd4qha2jka7l36k4liw8jcbf4xs09c584sjv";
+    sha256 = "0k86zjrqb5wdxvmzz9cxl9c0mpjnr46fh5r5sbs5q9fk2h4lp4ip";
   };
 
-  cargoSha256 = "19hpr78p9rzgirq6fjw8v11d5mgcglms6vbqgjyvg49xmkklsqzr";
-  depsSha256 = "0q68qyl2h6i0qsz82z840myxlnjay8p1w5z7hfyr8fqp7wgwa9cx";
+  cargoSha256 = "0gj1x996lvn9j87dfmng2fn3fgz8rgvrw3akcz641psj4hlfgm5w";
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices ];
 
diff --git a/pkgs/tools/text/untex/default.nix b/pkgs/tools/text/untex/default.nix
index ec99e8b4a27a..b1671ad38b53 100644
--- a/pkgs/tools/text/untex/default.nix
+++ b/pkgs/tools/text/untex/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "untex-${version}";
-  version = "1.2";
+  version = "1.3";
 
   src = fetchurl {
-    url = "https://www.ctan.org/tex-archive/support/untex/${name}.tar.gz";
-    sha256 = "07p836jydd5yjy905m5ylnnac1h4cc4jsr41panqb808mlsiwmmy";
+    url = "ftp://ftp.thp.uni-duisburg.de/pub/source/${name}.tar.gz";
+    sha256 = "1jww43pl9qvg6kwh4h8imp966fzd62dk99pb4s93786lmp3kgdjv";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/tools/typesetting/tectonic/default.nix b/pkgs/tools/typesetting/tectonic/default.nix
index ad612fa18af6..f3f0a60b4802 100644
--- a/pkgs/tools/typesetting/tectonic/default.nix
+++ b/pkgs/tools/typesetting/tectonic/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, rustPlatform, makeWrapper
-, fontconfig, harfbuzz-icu, openssl, pkgconfig }:
+, darwin, fontconfig, harfbuzz-icu, openssl, pkgconfig }:
 
 rustPlatform.buildRustPackage rec {
   name = "tectonic-${version}";
@@ -16,7 +16,8 @@ rustPlatform.buildRustPackage rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ fontconfig harfbuzz-icu openssl ];
+  buildInputs = [ fontconfig harfbuzz-icu openssl ]
+    ++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ ApplicationServices Cocoa Foundation ]);
 
   # tests fail due to read-only nix store
   doCheck = false;
diff --git a/pkgs/tools/typesetting/ted/default.nix b/pkgs/tools/typesetting/ted/default.nix
new file mode 100644
index 000000000000..b60cbcf22ad0
--- /dev/null
+++ b/pkgs/tools/typesetting/ted/default.nix
@@ -0,0 +1,84 @@
+{ stdenv, fetchurl, pkgconfig, zlib, pcre, xorg, libjpeg, libtiff, libpng, gtk2, libpaper, makeWrapper, ghostscript }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "ted";
+  version = "2.23";
+
+  src = fetchurl {
+    url = "http://ftp.nluug.nl/pub/editors/${pname}/${name}.src.tar.gz";
+    sha256 = "0v1ipynyjklb3chd1vq26a21sjjg66sir57gi2kkrbwnpk195a9z";
+  };
+
+  preConfigure = ''
+    mkdir pkgconfig-append
+    pushd pkgconfig-append
+
+    # ted looks for libtiff, not libtiff-4 in its pkg-config invokations
+    cp ${libtiff.dev}/lib/pkgconfig/libtiff-4.pc libtiff.pc
+
+    # ted needs a libpaper pkg-config file
+    cat > libpaper.pc << EOF
+    prefix=${libpaper}
+    libdir=${libpaper}/lib
+    includedir=${libpaper}/include
+    exec_prefix=\''${prefix}
+
+    Name: libpaper
+    Version: ${libpaper.version}
+    Description: ${libpaper.meta.description}
+    Libs: -L\''${libdir} -lpaper
+    Cflags: -I\''${includedir}
+    EOF
+
+    export PKG_CONFIG_PATH="$PWD:$PKG_CONFIG_PATH"
+
+    popd
+  '';
+
+  makeFlags = [ "CONFIGURE_OPTIONS=--with-GTK" "CONFIGURE_OPTIONS+=--prefix=$(out)" "compile.shared" ];
+
+  installPhase = ''
+    runHook preInstall
+
+    make tedPackage/makefile
+    pushd tedPackage
+    substituteInPlace makefile --replace /usr ""
+    make PKGDESTDIR=$out datadir
+    popd
+
+    pushd $out/share/Ted/examples
+    for f in rtf2*.sh
+    do
+        makeWrapper "$PWD/$f" "$out/bin/$f" --prefix PATH : $out/bin:${stdenv.lib.makeBinPath [ ghostscript ]}
+    done
+    popd
+
+    cp -v Ted/Ted $out/bin
+
+    runHook postInstall
+  '';
+
+  buildInputs = [ pkgconfig zlib pcre xorg.xlibsWrapper xorg.libXpm libjpeg libtiff libpng gtk2 libpaper makeWrapper ];
+
+  meta = with stdenv.lib; {
+    description = "Ted, an easy rich text processor";
+    longDescription = ''
+      Ted is a text processor running under X Windows on Unix/Linux systems.
+      Ted was developed as a standard easy light weight word processor, having
+      the role of Wordpad on MS-Windows. Since then, Ted has evolved to a real
+      word processor. It still has the same easy appearance and the same speed
+      as the original. The possibility to type a letter, a note or a report
+      with a simple light weight program on a Unix/Linux machine is clearly
+      missing. Ted was made to make it possible to edit rich text documents on
+      Unix/Linux in a wysiwyg way. RTF files from Ted are fully compatible with
+      MS-Word. Additionally, Ted also is an RTF to PostScript and an RTF to
+      Acrobat PDF converter.
+    '';
+    homepage    = https://nllgg.nl/Ted/;
+    license     = licenses.gpl2;
+    platforms   = platforms.all;
+    broken      = stdenv.isDarwin;
+    maintainers = with maintainers; [ obadz ];
+  };
+}