about summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2019-09-10 07:06:45 +0200
committerJan Tojnar <jtojnar@gmail.com>2019-09-10 07:06:45 +0200
commit1716d62f633cd091fce0d61517bb79504c300d36 (patch)
tree5abe8333c83e247f364cf835efc7fc669d36c311 /pkgs/tools
parentdc051dfdef1ec4c9bdd90b228764b6c24372597e (diff)
parent8752ff225446422b902d9f88d6f75f9928d4eb34 (diff)
downloadnixlib-1716d62f633cd091fce0d61517bb79504c300d36.tar
nixlib-1716d62f633cd091fce0d61517bb79504c300d36.tar.gz
nixlib-1716d62f633cd091fce0d61517bb79504c300d36.tar.bz2
nixlib-1716d62f633cd091fce0d61517bb79504c300d36.tar.lz
nixlib-1716d62f633cd091fce0d61517bb79504c300d36.tar.xz
nixlib-1716d62f633cd091fce0d61517bb79504c300d36.tar.zst
nixlib-1716d62f633cd091fce0d61517bb79504c300d36.zip
Merge branch 'staging-next' into staging
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/admin/gixy/default.nix1
-rw-r--r--pkgs/tools/graphics/gmic-qt/default.nix144
-rw-r--r--pkgs/tools/graphics/gmic-qt/fix-gimp-plugin-path.patch21
-rw-r--r--pkgs/tools/graphics/gmic/default.nix63
-rw-r--r--pkgs/tools/graphics/gmic_krita_qt/default.nix83
-rw-r--r--pkgs/tools/graphics/zbar/default.nix77
-rw-r--r--pkgs/tools/misc/exa/default.nix22
-rw-r--r--pkgs/tools/misc/ffsend/default.nix8
-rw-r--r--pkgs/tools/misc/remind/default.nix14
-rw-r--r--pkgs/tools/misc/vdirsyncer/default.nix7
-rw-r--r--pkgs/tools/networking/toxvpn/default.nix8
-rw-r--r--pkgs/tools/package-management/disnix/DisnixWebService/default.nix15
-rw-r--r--pkgs/tools/package-management/disnix/default.nix6
-rw-r--r--pkgs/tools/package-management/disnix/disnixos/default.nix10
-rw-r--r--pkgs/tools/package-management/disnix/dysnomia/default.nix14
-rw-r--r--pkgs/tools/security/asc-key-to-qr-code-gif/default.nix15
16 files changed, 317 insertions, 191 deletions
diff --git a/pkgs/tools/admin/gixy/default.nix b/pkgs/tools/admin/gixy/default.nix
index ab5aad6d68cd..bbec64c0aee9 100644
--- a/pkgs/tools/admin/gixy/default.nix
+++ b/pkgs/tools/admin/gixy/default.nix
@@ -25,6 +25,7 @@ python.pkgs.buildPythonApplication rec {
     pyparsing
     jinja2
     nose
+    setuptools
     six
   ];
 
diff --git a/pkgs/tools/graphics/gmic-qt/default.nix b/pkgs/tools/graphics/gmic-qt/default.nix
new file mode 100644
index 000000000000..cb0862c63736
--- /dev/null
+++ b/pkgs/tools/graphics/gmic-qt/default.nix
@@ -0,0 +1,144 @@
+{ lib
+, mkDerivation
+, fetchurl
+, fetchpatch
+, variant ? "standalone"
+, fetchFromGitHub
+, fetchFromGitLab
+, cmake
+, pkgconfig
+, opencv
+, openexr
+, graphicsmagick
+, fftw
+, zlib
+, libjpeg
+, libtiff
+, libpng
+, curl
+, krita ? null
+, gimp ? null
+, qtbase
+, qttools
+}:
+
+let
+  variants = {
+    gimp = {
+      extraDeps = [
+        gimp
+        gimp.gtk
+      ];
+      description = "GIMP plugin for the G'MIC image processing framework";
+    };
+
+    krita = {
+      extraDeps = [
+        krita
+      ];
+      description = "Krita plugin for the G'MIC image processing framework";
+    };
+
+    standalone = {
+      description = "Versatile front-end to the image processing framework G'MIC";
+    };
+  };
+
+in
+
+assert lib.assertMsg (builtins.hasAttr variant variants) "gmic-qt variant “${variant}” is not supported. Please use one of ${lib.concatStringsSep ", " (builtins.attrNames variants)}.";
+
+assert lib.assertMsg (builtins.all (d: d != null) variants.${variant}.extraDeps or []) "gmic-qt variant “${variant}” is missing one of its dependencies.";
+
+mkDerivation rec {
+  pname = "gmic-qt${lib.optionalString (variant != "standalone") ''-${variant}''}";
+  version = "2.7.1";
+
+  gmic-community = fetchFromGitHub {
+    owner = "dtschump";
+    repo = "gmic-community";
+    rev = "3fd528f20a2a7d651e96078c205ff21efb9cdd1a";
+    sha256 = "08d37b49qgh5d4rds7hvr5wjj4p1y8cnbidz1cyqsibq0555pwq2";
+  };
+
+  CImg = fetchFromGitLab {
+    domain = "framagit.org";
+    owner = "dtschump";
+    repo = "CImg";
+    rev = "v.${version}";
+    sha256 = "1mfkjvf5r3ppc1dd6yvqn7xlhgzfg9k1k5v2sq2k9m70g8p7rgpd";
+  };
+
+  gmic_stdlib = fetchurl {
+    name = "gmic_stdlib.h";
+    url = "http://gmic.eu/gmic_stdlib${lib.replaceStrings ["."] [""] version}.h";
+    sha256 = "0v12smknr1s44s6wq2gbnw0hb98xrwp6i3zg9wf49cl7s9qf76j3";
+  };
+
+  gmic = fetchFromGitHub {
+    owner = "dtschump";
+    repo = "gmic";
+    rev = "v.${version}";
+    sha256 = "0pa6kflr1gqgzh8rk7bylvkxs989r5jy0q7b62mnzx8895slwfb5";
+  };
+
+  gmic_qt = fetchFromGitHub {
+    owner = "c-koi";
+    repo = "gmic-qt";
+    rev = "v.${version}";
+    sha256 = "08a0660083wv5fb1w9qqhm4f8cfwbqq723qzqq647mid1n7sy959";
+  };
+
+  patches = [
+    # Install GIMP plug-in to a correct destination
+    # https://github.com/c-koi/gmic-qt/pull/78
+    ./fix-gimp-plugin-path.patch
+  ];
+
+  unpackPhase = ''
+    cp -r ${gmic} gmic
+    ln -s ${gmic-community} gmic-community
+    cp -r ${gmic_qt} gmic_qt
+    chmod -R +w gmic gmic_qt
+    ln -s ${CImg} CImg
+
+    cp ${gmic_stdlib} gmic/src/gmic_stdlib.h
+
+    cd gmic_qt
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    pkgconfig
+  ];
+
+  buildInputs = [
+    qtbase
+    qttools
+    fftw
+    zlib
+    libjpeg
+    libtiff
+    libpng
+    opencv
+    openexr
+    graphicsmagick
+    curl
+  ] ++ variants.${variant}.extraDeps or [];
+
+  cmakeFlags = [
+    "-DGMIC_QT_HOST=${if variant == "standalone" then "none" else variant}"
+  ];
+
+  postFixup = lib.optionalString (variant == "gimp") ''
+    echo "wrapping $out/${gimp.targetPluginDir}/gmic_gimp_qt"
+    wrapQtApp "$out/${gimp.targetPluginDir}/gmic_gimp_qt"
+  '';
+
+  meta = with lib; {
+    description = variants.${variant}.description;
+    homepage = http://gmic.eu/;
+    license = licenses.gpl3;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/graphics/gmic-qt/fix-gimp-plugin-path.patch b/pkgs/tools/graphics/gmic-qt/fix-gimp-plugin-path.patch
new file mode 100644
index 000000000000..ac0600fb76c3
--- /dev/null
+++ b/pkgs/tools/graphics/gmic-qt/fix-gimp-plugin-path.patch
@@ -0,0 +1,21 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1483056..26d2b9a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -473,6 +473,7 @@
+ 
+     execute_process(COMMAND gimptool-2.0 --libs-noui OUTPUT_VARIABLE GIMP2_LIBRARIES OUTPUT_STRIP_TRAILING_WHITESPACE)
+     execute_process(COMMAND gimptool-2.0 --cflags-noui OUTPUT_VARIABLE GIMP2_INCLUDE_DIRS OUTPUT_STRIP_TRAILING_WHITESPACE)
++    execute_process(COMMAND pkg-config gimp-2.0 --define-variable=prefix=${CMAKE_INSTALL_PREFIX} --variable gimplibdir OUTPUT_VARIABLE GIMP2_PKGLIBDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
+     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GIMP2_INCLUDE_DIRS}")
+ 
+     set (gmic_qt_SRCS ${gmic_qt_SRCS} src/Host/Gimp/host_gimp.cpp)
+@@ -484,7 +485,7 @@
+       ${GIMP2_LIBRARIES}
+       ${gmic_qt_LIBRARIES}
+       )
+-    install(TARGETS gmic_gimp_qt RUNTIME DESTINATION bin)
++    install(TARGETS gmic_gimp_qt RUNTIME DESTINATION "${GIMP2_PKGLIBDIR}/plug-ins")
+ 
+ elseif (${GMIC_QT_HOST} STREQUAL "krita")
+ 
diff --git a/pkgs/tools/graphics/gmic/default.nix b/pkgs/tools/graphics/gmic/default.nix
index c487e42329d8..c6781310bdb5 100644
--- a/pkgs/tools/graphics/gmic/default.nix
+++ b/pkgs/tools/graphics/gmic/default.nix
@@ -1,46 +1,53 @@
-{ stdenv, fetchurl, cmake, ninja, pkgconfig
-, opencv, openexr, graphicsmagick, fftw, zlib, libjpeg, libtiff, libpng
-, withGimpPlugin ? true, gimp ? null}:
-
-assert withGimpPlugin -> gimp != null;
-
-let
-  version = "2.2.2";
-
-  # CMakeLists.txt is missing from the tarball and Makefile is terrible
-  CMakeLists = fetchurl {
-    url = "https://github.com/dtschump/gmic/raw/v.${version}/CMakeLists.txt";
-    sha256 = "0lv5jrg98cpbk13fl4xm7l4sk1axfz054q570bpi741w815d7cpg";
-  };
-in stdenv.mkDerivation {
+{ stdenv
+, fetchurl
+, cmake
+, ninja
+, pkgconfig
+, opencv
+, openexr
+, graphicsmagick
+, fftw
+, zlib
+, libjpeg
+, libtiff
+, libpng
+}:
+
+stdenv.mkDerivation rec {
   pname = "gmic";
-  inherit version;
+  version = "2.7.1";
 
-  outputs = [ "out" "lib" "dev" "man" ] ++ stdenv.lib.optional withGimpPlugin "gimpPlugin";
+  outputs = [ "out" "lib" "dev" "man" ];
 
   src = fetchurl {
     url = "https://gmic.eu/files/source/gmic_${version}.tar.gz";
-    sha256 = "0zqfj2ym5nn3ff93xh2wf9ayxqlznabbdi00xw4lm7vw3iwkzqnc";
+    sha256 = "1sxgmrxv1px07h5m7dcdg24c6x39ifjbc1fmz8p2ah91pm57h7n7";
   };
 
-  nativeBuildInputs = [ cmake ninja pkgconfig ];
+  nativeBuildInputs = [
+    cmake
+    ninja
+    pkgconfig
+  ];
 
   buildInputs = [
-    fftw zlib libjpeg libtiff libpng opencv openexr graphicsmagick
-  ] ++ stdenv.lib.optionals withGimpPlugin [ gimp gimp.gtk ];
+    fftw
+    zlib
+    libjpeg
+    libtiff
+    libpng
+    opencv
+    openexr
+    graphicsmagick
+  ];
 
   cmakeFlags = [
     "-DBUILD_LIB_STATIC=OFF"
-    "-DBUILD_PLUGIN=${if withGimpPlugin then "ON" else "OFF"}"
     "-DENABLE_DYNAMIC_LINKING=ON"
-  ] ++ stdenv.lib.optional withGimpPlugin "-DPLUGIN_INSTALL_PREFIX=${placeholder "gimpPlugin"}/${gimp.targetPluginDir}";
-
-  postPatch = ''
-    cp ${CMakeLists} CMakeLists.txt
-  '';
+  ];
 
   meta = with stdenv.lib; {
-    description = "G'MIC is an open and full-featured framework for image processing";
+    description = "Open and full-featured framework for image processing";
     homepage = http://gmic.eu/;
     license = licenses.cecill20;
     platforms = platforms.unix;
diff --git a/pkgs/tools/graphics/gmic_krita_qt/default.nix b/pkgs/tools/graphics/gmic_krita_qt/default.nix
deleted file mode 100644
index e5bdf6f31775..000000000000
--- a/pkgs/tools/graphics/gmic_krita_qt/default.nix
+++ /dev/null
@@ -1,83 +0,0 @@
-{ stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig
-, opencv, openexr, graphicsmagick, fftw, zlib, libjpeg, libtiff, libpng
-, curl, krita, qtbase, qttools
-, fetchgit }:
-
-let
-  version = "2.3.6";
-
-in stdenv.mkDerivation rec {
-  pname = "gmic_krita_qt";
-  inherit version;
-
-  gmic-community = fetchFromGitHub {
-    owner = "dtschump";
-    repo = "gmic-community";
-    rev = "3fd528f20a2a7d651e96078c205ff21efb9cdd1a";
-    sha256 = "08d37b49qgh5d4rds7hvr5wjj4p1y8cnbidz1cyqsibq0555pwq2";
-  };
-
-  CImg = fetchgit {
-    url = "https://framagit.org/dtschump/CImg";
-    rev = "90f5657d8eab7b549ef945103ef680e747385805";
-    sha256 = "1af3dwqq18dkw0lz2gvnlw8y0kc1cw01hnc72rf3pg2wyjcp0pvc";
-  };
-
-  gmic_stdlib = fetchurl {
-    name = "gmic_stdlib.h";
-    # Version should e in sync with gmic. Basically the version string without dots
-    url = "http://gmic.eu/gmic_stdlib236.h";
-    sha256 = "0q5g87dsn9byd2qqsa9xrsggfb9qv055s3l2gc0jrcvpx2qbza4q";
-  };
-
-  gmic = fetchFromGitHub {
-    owner = "dtschump";
-    repo = "gmic";
-    rev = "v.${version}";
-    sha256 = "1yg9ri3n07drv8gz4x0mn39ryi801ibl26jaza47m19ma893m8fi";
-  };
-
-  gmic_qt = fetchFromGitHub {
-    owner = "c-koi";
-    repo = "gmic-qt";
-    rev = "v.${version}";
-    sha256= "0j9wqlq67dwzir36yg58xy5lbblwizvgcvlmzcv9d6l901d5ayf3";
-  };
-
-  unpackPhase = ''
-    cp -r ${gmic} gmic
-    ln -s ${gmic-community} gmic-community
-    cp -r ${gmic_qt} gmic_qt
-    chmod -R +w gmic gmic_qt
-    ln -s ${CImg} CImg
-
-    cp ${gmic_stdlib} gmic/src/gmic_stdlib.h
-
-    cd gmic_qt
-  '';
-
-  preConfigure = ''
-    make -C ../gmic/src CImg.h gmic_stdlib.h
-  '';
-
-  nativeBuildInputs = [ cmake pkgconfig ];
-
-  buildInputs = [
-    qtbase qttools fftw zlib libjpeg libtiff libpng
-    opencv openexr graphicsmagick curl krita
-  ];
-
-  cmakeFlags = [ "-DGMIC_QT_HOST=krita" ];
-
-  installPhase = ''
-    mkdir -p $out/bin;
-    install -Dm755 gmic_krita_qt "$out/bin/gmic_krita_qt"
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Krita plugin for the G'MIC image processing framework";
-    homepage = http://gmic.eu/;
-    license = licenses.gpl3;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/tools/graphics/zbar/default.nix b/pkgs/tools/graphics/zbar/default.nix
index 503461018abb..cb5ea25211cd 100644
--- a/pkgs/tools/graphics/zbar/default.nix
+++ b/pkgs/tools/graphics/zbar/default.nix
@@ -1,15 +1,28 @@
-{ stdenv, fetchFromGitHub, imagemagickBig, pkgconfig, python2Packages, perl
-, libX11, libv4l, qt5, gtk2, xmlto, docbook_xsl, autoreconfHook, dbus
-, enableVideo ? stdenv.isLinux, enableDbus ? stdenv.isLinux
+{ stdenv
+, lib
+, fetchFromGitHub
+, imagemagickBig
+, pkgconfig
+, libX11
+, libv4l
+, qtbase
+, qtx11extras
+, wrapQtAppsHook
+, gtk3
+, xmlto
+, docbook_xsl
+, autoreconfHook
+, dbus
+, enableVideo ? stdenv.isLinux
+, enableDbus ? stdenv.isLinux
 }:
 
-with stdenv.lib;
-let
-  inherit (python2Packages) pygtk python;
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "zbar";
   version = "0.23";
 
+  outputs = [ "out" "lib" "dev" "doc" "man" ];
+
   src = fetchFromGitHub {
     owner = "mchehab";
     repo = "zbar";
@@ -17,27 +30,49 @@ in stdenv.mkDerivation rec {
     sha256 = "0hlxakpyjg4q9hp7yp3har1n78341b4knwyll28hn48vykg28pza";
   };
 
-  nativeBuildInputs = [ pkgconfig xmlto autoreconfHook docbook_xsl ];
+  nativeBuildInputs = [
+    pkgconfig
+    xmlto
+    autoreconfHook
+    docbook_xsl
+    wrapQtAppsHook
+  ];
 
   buildInputs = [
-    imagemagickBig python pygtk perl libX11
-  ] ++ optional enableDbus dbus
-  ++ optionals enableVideo [
-    libv4l gtk2 qt5.qtbase qt5.qtx11extras
+    imagemagickBig
+    libX11
+  ] ++ lib.optionals enableDbus [
+    dbus
+  ] ++ lib.optionals enableVideo [
+    libv4l
+    gtk3
+    qtbase
+    qtx11extras
   ];
 
-  configureFlags = (if enableDbus then [
-    "--with-dbusconfdir=$out/etc/dbus-1/system.d"
-  ] else [ "--without-dbus" ])
-  ++ optionals (!enableVideo) [
-    "--disable-video" "--without-gtk" "--without-qt"
-  ];
+  configureFlags = [
+    "--without-python"
+  ] ++ (if enableDbus then [
+    "--with-dbusconfdir=${placeholder "out"}/etc"
+  ] else [
+    "--without-dbus"
+  ]) ++ (if enableVideo then [
+    "--with-gtk=gtk3"
+  ] else [
+    "--disable-video"
+    "--without-gtk"
+    "--without-qt"
+  ]);
+
+  dontWrapQtApps = true;
+  dontWrapGApps = true;
 
-  postInstall = optionalString enableDbus ''
-    install -Dm644 dbus/org.linuxtv.Zbar.conf $out/etc/dbus-1/system.d/org.linuxtv.Zbar.conf
+  postFixup = lib.optionalString enableVideo ''
+    wrapProgram "$out/bin/zbarcam-gtk" "''${gappsWrapperArgs[@]}"
+    wrapQtApp "$out/bin/zbarcam-qt"
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Bar code reader";
     longDescription = ''
       ZBar is an open source software suite for reading bar codes from various
diff --git a/pkgs/tools/misc/exa/default.nix b/pkgs/tools/misc/exa/default.nix
index d94f1c1929ff..e05963b69027 100644
--- a/pkgs/tools/misc/exa/default.nix
+++ b/pkgs/tools/misc/exa/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, rustPlatform, cmake, perl, pkgconfig, zlib
-, darwin, libiconv
+, darwin, libiconv, installShellFiles
 }:
 
 with rustPlatform;
@@ -17,24 +17,20 @@ buildRustPackage rec {
     sha256 = "14qlm9zb9v22hxbbi833xaq2b7qsxnmh15s317200vz5f1305hhw";
   };
 
-  nativeBuildInputs = [ cmake pkgconfig perl ];
+  nativeBuildInputs = [ cmake pkgconfig perl installShellFiles ];
   buildInputs = [ zlib ]
   ++ stdenv.lib.optionals stdenv.isDarwin [
     libiconv darwin.apple_sdk.frameworks.Security ]
   ;
 
-  postInstall = ''
-    mkdir -p $out/share/man/man1
-    cp contrib/man/exa.1 $out/share/man/man1/
-
-    mkdir -p $out/share/bash-completion/completions
-    cp contrib/completions.bash $out/share/bash-completion/completions/exa
+  outputs = [ "out" "man" ];
 
-    mkdir -p $out/share/fish/vendor_completions.d
-    cp contrib/completions.fish $out/share/fish/vendor_completions.d/exa.fish
-
-    mkdir -p $out/share/zsh/site-functions
-    cp contrib/completions.zsh $out/share/zsh/site-functions/_exa
+  postInstall = ''
+    installManPage contrib/man/exa.1
+    installShellCompletion \
+      --name exa contrib/completions.bash \
+      --name exa.fish contrib/completions.fish \
+      --name _exa contrib/completions.zsh
   '';
 
   # Some tests fail, but Travis ensures a proper build
diff --git a/pkgs/tools/misc/ffsend/default.nix b/pkgs/tools/misc/ffsend/default.nix
index 90092c9b0c0c..316420008065 100644
--- a/pkgs/tools/misc/ffsend/default.nix
+++ b/pkgs/tools/misc/ffsend/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitLab, rustPlatform, cmake, pkgconfig, openssl
-, darwin
+, darwin, installShellFiles
 
 , x11Support ? stdenv.isLinux || stdenv.hostPlatform.isBSD
 , xclip ? null, xsel ? null
@@ -27,7 +27,7 @@ buildRustPackage rec {
 
   cargoSha256 = "1x4hxar60lwimldpsi0frdlssgsb72qahn3dmb980sj6cmbq3f0b";
 
-  nativeBuildInputs = [ cmake pkgconfig ];
+  nativeBuildInputs = [ cmake pkgconfig installShellFiles ];
   buildInputs = [ openssl ]
   ++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ CoreFoundation CoreServices Security AppKit ])
   ;
@@ -41,9 +41,7 @@ buildRustPackage rec {
   );
 
   postInstall = ''
-    install -Dm644 contrib/completions/_ffsend "$out/share/zsh/site-functions/_ffsend"
-    install -Dm644 contrib/completions/ffsend.bash "$out/share/bash-completion/completions/ffsend.bash"
-    install -Dm644 contrib/completions/ffsend.fish "$out/share/fish/vendor_completions.d/ffsend.fish"
+    installShellCompletion contrib/completions/ffsend.{bash,fish} --zsh contrib/completions/_ffsend
   '';
   # There's also .elv and .ps1 completion files but I don't know where to install those
 
diff --git a/pkgs/tools/misc/remind/default.nix b/pkgs/tools/misc/remind/default.nix
index cc842105d0ae..91d8e4721307 100644
--- a/pkgs/tools/misc/remind/default.nix
+++ b/pkgs/tools/misc/remind/default.nix
@@ -11,6 +11,9 @@ let
   tclLibraries = stdenv.lib.optionals tkremind [ tcllib tk ];
   tclLibPaths = stdenv.lib.concatStringsSep " "
     (map (p: "${p}/lib/${p.libPrefix}") tclLibraries);
+  tkremindPatch = optionalString tkremind ''
+    substituteInPlace scripts/tkremind --replace "exec wish" "exec ${tk}/bin/wish"
+  '';
 in stdenv.mkDerivation {
   name = "remind-3.1.16";
   src = fetchurl {
@@ -21,8 +24,13 @@ in stdenv.mkDerivation {
   nativeBuildInputs = optional tkremind makeWrapper;
   propagatedBuildInputs = tclLibraries;
 
-  postPatch = optionalString tkremind ''
-    substituteInPlace scripts/tkremind --replace "exec wish" "exec ${tk}/bin/wish"
+  postPatch = ''
+    substituteInPlace ./configure \
+      --replace "sleep 1" "true"
+    substituteInPlace ./src/init.c \
+      --replace "rkrphgvba(0);" "" \
+      --replace "rkrphgvba(1);" ""
+    ${tkremindPatch}
   '';
 
   postInstall = optionalString tkremind ''
@@ -34,6 +42,6 @@ in stdenv.mkDerivation {
     description = "Sophisticated calendar and alarm program for the console";
     license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [raskin kovirobi];
-    platforms = with stdenv.lib.platforms; linux;
+    platforms = with stdenv.lib.platforms; unix;
   };
 }
diff --git a/pkgs/tools/misc/vdirsyncer/default.nix b/pkgs/tools/misc/vdirsyncer/default.nix
index 8f79f5463e30..7ac9542c6b5f 100644
--- a/pkgs/tools/misc/vdirsyncer/default.nix
+++ b/pkgs/tools/misc/vdirsyncer/default.nix
@@ -38,11 +38,8 @@ python3Packages.buildPythonApplication rec {
   checkInputs = with python3Packages; [ hypothesis pytest pytest-localserver pytest-subtesthack ];
 
   postPatch = ''
-    # Invalid argument: 'perform_health_check' is not a valid setting
-    substituteInPlace tests/conftest.py \
-      --replace "perform_health_check=False" ""
-    substituteInPlace tests/unit/test_repair.py \
-      --replace $'@settings(perform_health_check=False)  # Using the random module for UIDs\n' ""
+    # see https://github.com/pimutils/vdirsyncer/pull/805
+    substituteInPlace setup.cfg --replace --duration --durations
 
     # for setuptools_scm:
     echo 'Version: ${version}' >PKG-INFO
diff --git a/pkgs/tools/networking/toxvpn/default.nix b/pkgs/tools/networking/toxvpn/default.nix
index fed7eccdf481..e4faa5e30f4a 100644
--- a/pkgs/tools/networking/toxvpn/default.nix
+++ b/pkgs/tools/networking/toxvpn/default.nix
@@ -5,13 +5,13 @@
 with stdenv.lib;
 
 stdenv.mkDerivation {
-  name = "toxvpn-2018-04-17";
+  name = "toxvpn-2019-09-09";
 
   src = fetchFromGitHub {
     owner  = "cleverca22";
     repo   = "toxvpn";
-    rev    = "dc766f98888f500ea51f002f59007eac3f3a0a06";
-    sha256 = "19br3fmrdm45fvymj9kvwikkn8m657yd5fkhx6grv35ckrj83mxz";
+    rev    = "45083dec172ce167f7ed84d571ec2822ebe4d51a";
+    sha256 = "193crarrx6q0zd2p6dn67pzv8kngwi440zm1y54njgcz0v3fpxmb";
   };
 
   buildInputs = [ libtoxcore nlohmann_json libsodium zeromq ]
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
     description = "A powerful tool that allows one to make tunneled point to point connections over Tox";
     homepage    = https://github.com/cleverca22/toxvpn;
     license     = licenses.gpl3;
-    maintainers = with maintainers; [ cleverca22 obadz ];
+    maintainers = with maintainers; [ cleverca22 obadz toonn ];
     platforms   = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
index 3299ab8b63b6..dd64241fd372 100644
--- a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
+++ b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix
@@ -1,23 +1,16 @@
-{stdenv, fetchurl, apacheAnt, jdk, axis2, dbus_java, fetchpatch }:
+{stdenv, fetchurl, apacheAnt, jdk, axis2, dbus_java }:
 
 stdenv.mkDerivation {
-  name = "DisnixWebService-0.8";
+  name = "DisnixWebService-0.9";
   src = fetchurl {
-    url = https://github.com/svanderburg/DisnixWebService/files/1756703/DisnixWebService-0.8.tar.gz;
-    sha256 = "05hmyz17rmqlph0i321kmhabnpw84kqz32lgc5cd4shxyzsal9hz";
+    url = https://github.com/svanderburg/DisnixWebService/releases/download/DisnixWebService-0.9/DisnixWebService-0.9.tar.gz;
+    sha256 = "1z7w44bf023c0aqchjfi4mla3qbhsh87mdzx7pqn0sy74cjfgqvl";
   };
   buildInputs = [ apacheAnt jdk ];
   PREFIX = ''''${env.out}'';
   AXIS2_LIB = "${axis2}/lib";
   AXIS2_WEBAPP = "${axis2}/webapps/axis2";
   DBUS_JAVA_LIB = "${dbus_java}/share/java";
-  patches = [
-    # Safe to remove once https://github.com/svanderburg/DisnixWebService/pull/1 is merged
-    (fetchpatch {
-      url = "https://github.com/mmahut/DisnixWebService/commit/cf07918b8c81b4ce01e0b489c1b5a3ef9c9a1cd6.patch";
-      sha256 = "15zi1l69wzgwvvqx4492s7l444gfvc9vcm7ckgif4b6cvp837brn";
-    })
-  ];
   prePatch = ''
     sed -i -e "s|#JAVA_HOME=|JAVA_HOME=${jdk}|" \
        -e "s|#AXIS2_LIB=|AXIS2_LIB=${axis2}/lib|" \
diff --git a/pkgs/tools/package-management/disnix/default.nix b/pkgs/tools/package-management/disnix/default.nix
index a55fd33f8991..50e071be29c5 100644
--- a/pkgs/tools/package-management/disnix/default.nix
+++ b/pkgs/tools/package-management/disnix/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, libxml2, libxslt, getopt, nixUnstable, dysnomia, libintl, libiconv }:
 
 stdenv.mkDerivation {
-  name = "disnix-0.8";
+  name = "disnix-0.9";
 
   src = fetchurl {
-    url = https://github.com/svanderburg/disnix/files/1756701/disnix-0.8.tar.gz;
-    sha256 = "02cmj1jqk5i90szjsn5csr7qb7n42v04rvl9syx0zi9sx9ldnb0w";
+    url = https://github.com/svanderburg/disnix/releases/download/disnix-0.9/disnix-0.9.tar.gz;
+    sha256 = "1kc4520zjc1z72mknylfvrsyda9rbmm5c9mw8w13zhdwg3zbna06";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/package-management/disnix/disnixos/default.nix b/pkgs/tools/package-management/disnix/disnixos/default.nix
index 7a58ec04e64d..319716c0f3ea 100644
--- a/pkgs/tools/package-management/disnix/disnixos/default.nix
+++ b/pkgs/tools/package-management/disnix/disnixos/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchurl, dysnomia, disnix, socat, pkgconfig, getopt }:
 
 stdenv.mkDerivation {
-  name = "disnixos-0.7.1";
+  name = "disnixos-0.8";
   
   src = fetchurl {
-    url = https://github.com/svanderburg/disnixos/files/2281312/disnixos-0.7.1.tar.gz;
-    sha256 = "00d7mcj77lwbj67vnh81bw6k6pg2asimky4zkq32mh8dslnhpnz6";
+    url = https://github.com/svanderburg/disnixos/releases/download/disnixos-0.8/disnixos-0.8.tar.gz;
+    sha256 = "186blirfx89i8hdp4a0djy4q9qr9wcl0ilwr66hlil0wxqj1sr91";
   };
-  
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ socat dysnomia disnix getopt ];
-  
+
   meta = {
     description = "Provides complementary NixOS infrastructure deployment to Disnix";
     license = stdenv.lib.licenses.lgpl21Plus;
diff --git a/pkgs/tools/package-management/disnix/dysnomia/default.nix b/pkgs/tools/package-management/disnix/dysnomia/default.nix
index 14c07df6ffa8..7b5d99bef9e7 100644
--- a/pkgs/tools/package-management/disnix/dysnomia/default.nix
+++ b/pkgs/tools/package-management/disnix/dysnomia/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, ejabberd ? null, mysql ? null, postgresql ? null, subversion ? null, mongodb ? null, mongodb-tools ? null
+, ejabberd ? null, mysql ? null, postgresql ? null, subversion ? null, mongodb ? null, mongodb-tools ? null, influxdb ? null
 , enableApacheWebApplication ? false
 , enableAxis2WebService ? false
 , enableEjabberdDump ? false
@@ -8,6 +8,7 @@
 , enableSubversionRepository ? false
 , enableTomcatWebApplication ? false
 , enableMongoDatabase ? false
+, enableInfluxDatabase ? false
 , catalinaBaseDir ? "/var/tomcat"
 , jobTemplate ? "systemd"
 , getopt
@@ -18,12 +19,13 @@ assert enablePostgreSQLDatabase -> postgresql != null;
 assert enableSubversionRepository -> subversion != null;
 assert enableEjabberdDump -> ejabberd != null;
 assert enableMongoDatabase -> (mongodb != null && mongodb-tools != null);
+assert enableInfluxDatabase -> influxdb != null;
 
 stdenv.mkDerivation {
-  name = "dysnomia-0.8";
+  name = "dysnomia-0.9";
   src = fetchurl {
-    url = https://github.com/svanderburg/dysnomia/files/1756700/dysnomia-0.8.tar.gz;
-    sha256 = "0pc4zwmmlsz02a6a4srpwdwhqrfvn3wkn22sz3fg7lwxbdbd5k0z";
+    url = https://github.com/svanderburg/dysnomia/releases/download/dysnomia-0.9/dysnomia-0.9.tar.gz;
+    sha256 = "09pk2l3pss48kvm5wvskh842vakbzmjzxzfzyw1nkqnvni130ikl";
   };
 
   preConfigure = if enableEjabberdDump then "export PATH=$PATH:${ejabberd}/sbin" else "";
@@ -37,6 +39,7 @@ stdenv.mkDerivation {
      (if enableSubversionRepository then "--with-subversion" else "--without-subversion")
      (if enableTomcatWebApplication then "--with-tomcat=${catalinaBaseDir}" else "--without-tomcat")
      (if enableMongoDatabase then "--with-mongodb" else "--without-mongodb")
+     (if enableInfluxDatabase then "--with-influxdb" else "--without-influxdb")
      "--with-job-template=${jobTemplate}"
    ];
 
@@ -46,7 +49,8 @@ stdenv.mkDerivation {
     ++ stdenv.lib.optional enablePostgreSQLDatabase postgresql
     ++ stdenv.lib.optional enableSubversionRepository subversion
     ++ stdenv.lib.optional enableMongoDatabase mongodb
-    ++ stdenv.lib.optional enableMongoDatabase mongodb-tools;
+    ++ stdenv.lib.optional enableMongoDatabase mongodb-tools
+    ++ stdenv.lib.optional enableInfluxDatabase influxdb;
 
   meta = {
     description = "Automated deployment of mutable components and services for Disnix";
diff --git a/pkgs/tools/security/asc-key-to-qr-code-gif/default.nix b/pkgs/tools/security/asc-key-to-qr-code-gif/default.nix
index 6b3a922bbe5c..580cf7585c92 100644
--- a/pkgs/tools/security/asc-key-to-qr-code-gif/default.nix
+++ b/pkgs/tools/security/asc-key-to-qr-code-gif/default.nix
@@ -15,15 +15,20 @@ stdenv.mkDerivation {
     sha256 = "0yrc302a2fhbzryb10718ky4fymfcps3lk67ivis1qab5kbp6z8r";
   };
 
-  buildInputs = [ imagemagick qrencode ] ++ stdenv.lib.optional testQR zbar;
   dontBuild = true;
   dontStrip = true;
   dontPatchELF = true;
 
-  preInstall = ''
-    substituteInPlace asc-to-gif.sh \
-      --replace "convert" "${imagemagick}/bin/convert" \
-      --replace "qrencode" "${qrencode.bin}/bin/qrencode"
+  preInstall = let
+    substitutions = [
+      ''--replace "convert" "${imagemagick}/bin/convert"''
+      ''--replace "qrencode" "${qrencode.bin}/bin/qrencode"''
+    ] ++ stdenv.lib.optional testQR [
+      ''--replace "hash zbarimg" "true"'' # hash does not work on NixOS
+      ''--replace "$(zbarimg --raw" "$(${zbar.out}/bin/zbarimg --raw"''
+    ];
+  in ''
+    substituteInPlace asc-to-gif.sh ${stdenv.lib.concatStringsSep " " substitutions}
   '';
 
   installPhase = ''