summary refs log tree commit diff
path: root/pkgs/applications/misc
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/misc')
-rw-r--r--pkgs/applications/misc/1password/default.nix22
-rw-r--r--pkgs/applications/misc/antfs-cli/default.nix9
-rw-r--r--pkgs/applications/misc/calibre/default.nix4
-rw-r--r--pkgs/applications/misc/cgminer/default.nix2
-rw-r--r--pkgs/applications/misc/cointop/default.nix1
-rw-r--r--pkgs/applications/misc/dbeaver/default.nix4
-rw-r--r--pkgs/applications/misc/dfilemanager/default.nix1
-rw-r--r--pkgs/applications/misc/doing/Gemfile2
-rw-r--r--pkgs/applications/misc/doing/Gemfile.lock25
-rw-r--r--pkgs/applications/misc/doing/default.nix25
-rw-r--r--pkgs/applications/misc/doing/gemset.nix60
-rw-r--r--pkgs/applications/misc/eureka-editor/default.nix39
-rw-r--r--pkgs/applications/misc/evilvte/default.nix3
-rw-r--r--pkgs/applications/misc/fetchmail/default.nix3
-rw-r--r--pkgs/applications/misc/font-manager/default.nix2
-rw-r--r--pkgs/applications/misc/gksu/default.nix2
-rw-r--r--pkgs/applications/misc/gramps/default.nix4
-rw-r--r--pkgs/applications/misc/gutenberg/default.nix10
-rw-r--r--pkgs/applications/misc/gxmessage/default.nix5
-rw-r--r--pkgs/applications/misc/hugo/default.nix6
-rw-r--r--pkgs/applications/misc/hugo/deps.nix114
-rw-r--r--pkgs/applications/misc/img2pdf/default.nix27
-rw-r--r--pkgs/applications/misc/jigdo/default.nix2
-rw-r--r--pkgs/applications/misc/josm/default.nix4
-rw-r--r--pkgs/applications/misc/keepass-plugins/keeagent/default.nix8
-rw-r--r--pkgs/applications/misc/latte-dock/default.nix29
-rw-r--r--pkgs/applications/misc/lilyterm/default.nix8
-rw-r--r--pkgs/applications/misc/masterpdfeditor/default.nix40
-rw-r--r--pkgs/applications/misc/mdp/default.nix4
-rw-r--r--pkgs/applications/misc/memo/default.nix11
-rw-r--r--pkgs/applications/misc/mysql-workbench/default.nix159
-rw-r--r--pkgs/applications/misc/mysql-workbench/fix-gdal-includes.patch47
-rw-r--r--pkgs/applications/misc/mysql-workbench/hardcode-paths.patch187
-rw-r--r--pkgs/applications/misc/nnn/default.nix4
-rw-r--r--pkgs/applications/misc/notify-osd/default.nix2
-rw-r--r--pkgs/applications/misc/osmctools/default.nix1
-rw-r--r--pkgs/applications/misc/overmind/default.nix8
-rw-r--r--pkgs/applications/misc/pdfmod/default.nix1
-rw-r--r--pkgs/applications/misc/pdfshuffler/default.nix1
-rw-r--r--pkgs/applications/misc/pgmanage/default.nix4
-rw-r--r--pkgs/applications/misc/polybar/default.nix21
-rw-r--r--pkgs/applications/misc/ptask/default.nix3
-rw-r--r--pkgs/applications/misc/ptask/json_c_is_error.patch13
-rw-r--r--pkgs/applications/misc/qradiolink/default.nix57
-rw-r--r--pkgs/applications/misc/ranger/default.nix6
-rw-r--r--pkgs/applications/misc/redshift/default.nix9
-rw-r--r--pkgs/applications/misc/rtl_433/default.nix6
-rw-r--r--pkgs/applications/misc/rtv/default.nix4
-rw-r--r--pkgs/applications/misc/rxvt_unicode/default.nix1
-rw-r--r--pkgs/applications/misc/solaar/default.nix16
-rw-r--r--pkgs/applications/misc/taskjuggler/2.x/default.nix12
-rw-r--r--pkgs/applications/misc/tasknc/default.nix1
-rw-r--r--pkgs/applications/misc/termite/default.nix71
-rw-r--r--pkgs/applications/misc/termite/wrapper.nix15
-rw-r--r--pkgs/applications/misc/toggldesktop/TogglDesktop.pro19
-rw-r--r--pkgs/applications/misc/toggldesktop/default.nix148
-rw-r--r--pkgs/applications/misc/toggldesktop/libtoggl.pro20
-rw-r--r--pkgs/applications/misc/translate-shell/default.nix4
-rw-r--r--pkgs/applications/misc/twmn/default.nix1
-rw-r--r--pkgs/applications/misc/urh/default.nix4
-rw-r--r--pkgs/applications/misc/urlscan/default.nix4
-rw-r--r--pkgs/applications/misc/viking/default.nix4
-rw-r--r--pkgs/applications/misc/wordnet/default.nix6
-rw-r--r--pkgs/applications/misc/xca/default.nix6
-rw-r--r--pkgs/applications/misc/xmove/default.nix1
-rw-r--r--pkgs/applications/misc/xterm/default.nix4
66 files changed, 1045 insertions, 301 deletions
diff --git a/pkgs/applications/misc/1password/default.nix b/pkgs/applications/misc/1password/default.nix
index d5818614b9e0..a44ce2d8b4c2 100644
--- a/pkgs/applications/misc/1password/default.nix
+++ b/pkgs/applications/misc/1password/default.nix
@@ -2,24 +2,24 @@
 
 stdenv.mkDerivation rec {
   name = "1password-${version}";
-  version = "0.4.1";
+  version = "0.5.1";
   src =
     if stdenv.system == "i686-linux" then
       fetchzip {
         url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip";
-        sha256 = "1yzzh1f6hx7vwdgzp0znsjarjiw4xqmmrkc5xwywgjpg81qqpl8c";
+        sha256 = "08kzjilxpkvlwqjyxnic1n6xiy6gkndijwxdksm59k7c56mdawsz";
         stripRoot = false;
       }
     else if stdenv.system == "x86_64-linux" then
       fetchzip {
         url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip";
-        sha256 = "0dgj1zqmpdbnsz2v2j7nqm232cdgyp9wagc089dxi4hbzkmfcvzx";
+        sha256 = "1bsbzaqws0z991r6rkjrxay74fj4g5ld4d748ygr0950zwi1m3h7";
         stripRoot = false;
       }
     else if stdenv.system == "x86_64-darwin" then
       fetchzip {
         url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_darwin_amd64_v${version}.zip";
-        sha256 = "116bvyfg38npdhlzaxan5y47cbw7jvj94q5w6v71kxsjzxk9l44a";
+        sha256 = "1dhr8m9icip27v802gxl1vhl9rf0jq5awirdm72lqmlypj86df0g";
         stripRoot = false;
       }
     else throw "Architecture not supported";
@@ -34,13 +34,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "1Password command-line tool";
-    homepage    = [
-      "https://blog.agilebits.com/2017/09/06/announcing-the-1password-command-line-tool-public-beta/"
-      "https://app-updates.agilebits.com/product_history/CLI"
-    ];
-    maintainers = with maintainers; [ joelburget ];
-    license     = licenses.unfree;
-    platforms   = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
+    description  = "1Password command-line tool";
+    homepage     = https://support.1password.com/command-line/;
+    downloadPage = https://app-updates.agilebits.com/product_history/CLI;
+    maintainers  = with maintainers; [ joelburget ];
+    license      = licenses.unfree;
+    platforms    = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/applications/misc/antfs-cli/default.nix b/pkgs/applications/misc/antfs-cli/default.nix
index 30b8a435f906..f21438dfcec5 100644
--- a/pkgs/applications/misc/antfs-cli/default.nix
+++ b/pkgs/applications/misc/antfs-cli/default.nix
@@ -1,7 +1,8 @@
-{ stdenv, fetchFromGitHub, pythonPackages }:
+{ stdenv, fetchFromGitHub, python3Packages }:
 
-pythonPackages.buildPythonApplication rec {
-  name = "antfs-cli-unstable-2017-02-11";
+python3Packages.buildPythonApplication rec {
+  pname = "antfs-cli";
+  version = "unstable-2017-02-11";
 
   meta = with stdenv.lib; {
     homepage = https://github.com/Tigge/antfs-cli;
@@ -17,5 +18,5 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "0v8y64kldfbs809j1g9d75dd1vxq7mfxnp4b45pz8anpxhjf64fy";
   };
 
-  propagatedBuildInputs = [ pythonPackages.openant ];
+  propagatedBuildInputs = [ python3Packages.openant ];
 }
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 0a98f387ff86..15d894b0413d 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -5,12 +5,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.28.0";
+  version = "3.29.0";
   name = "calibre-${version}";
 
   src = fetchurl {
     url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz";
-    sha256 = "0b3vv03c6m6972sk8zj3zc5sq6b9837irnfgjlqhv9z5i75m0414";
+    sha256 = "1r29vi8j51r0nnzpjbg34ryvizzkn31sq1iz7z748wjfgr87wmyh";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/cgminer/default.nix b/pkgs/applications/misc/cgminer/default.nix
index acd38d74dca4..ee3e2a955d32 100644
--- a/pkgs/applications/misc/cgminer/default.nix
+++ b/pkgs/applications/misc/cgminer/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     xorg.libX11 xorg.libXext xorg.libXinerama jansson
   ];
   configureScript = "./autogen.sh";
-  configureFlags = "--enable-scrypt --enable-opencl";
+  configureFlags = [ "--enable-scrypt" "--enable-opencl" ];
   NIX_LDFLAGS = "-lgcc_s -lX11 -lXext -lXinerama";
 
   preConfigure = ''
diff --git a/pkgs/applications/misc/cointop/default.nix b/pkgs/applications/misc/cointop/default.nix
index 2ac335759ce4..23d76afff0ce 100644
--- a/pkgs/applications/misc/cointop/default.nix
+++ b/pkgs/applications/misc/cointop/default.nix
@@ -26,5 +26,6 @@ buildGoPackage rec {
     homepage  = https://cointop.sh;
     platforms = stdenv.lib.platforms.linux; # cannot test others
     maintainers = [ ];
+    license = stdenv.lib.licenses.asl20;
   };
 }
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index fd14bba282c4..b8eff972ebdd 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   name = "dbeaver-ce-${version}";
-  version = "5.1.4";
+  version = "5.1.5";
 
   desktopItem = makeDesktopItem {
     name = "dbeaver";
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "14i7b3l89rkhqq4zgsdbvcs9pp60djv0rjbm86fpk2wi4zkrlzi5";
+    sha256 = "17ai2gxnz1wj5m282sib9qhvy3665km2ig1ixxdklmk8apgdl1xr";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/misc/dfilemanager/default.nix b/pkgs/applications/misc/dfilemanager/default.nix
index 6cbdc8ece0ca..eeb7a8ccf526 100644
--- a/pkgs/applications/misc/dfilemanager/default.nix
+++ b/pkgs/applications/misc/dfilemanager/default.nix
@@ -20,6 +20,5 @@ stdenv.mkDerivation {
     description = "File manager written in Qt/C++";
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.eduarrrd ];
   };
 }
diff --git a/pkgs/applications/misc/doing/Gemfile b/pkgs/applications/misc/doing/Gemfile
new file mode 100644
index 000000000000..2706a85e9d89
--- /dev/null
+++ b/pkgs/applications/misc/doing/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'doing', '1.0.10pre'
diff --git a/pkgs/applications/misc/doing/Gemfile.lock b/pkgs/applications/misc/doing/Gemfile.lock
new file mode 100644
index 000000000000..4d266827415f
--- /dev/null
+++ b/pkgs/applications/misc/doing/Gemfile.lock
@@ -0,0 +1,25 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    chronic (0.10.2)
+    deep_merge (1.2.1)
+    doing (1.0.10pre)
+      chronic (~> 0.10, >= 0.10.2)
+      deep_merge
+      gli (~> 2.17.1)
+      haml (= 4.0.3)
+      json (~> 1.8.1)
+    gli (2.17.1)
+    haml (4.0.3)
+      tilt
+    json (1.8.6)
+    tilt (2.0.8)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  doing (= 1.0.10pre)
+
+BUNDLED WITH
+   1.14.6
diff --git a/pkgs/applications/misc/doing/default.nix b/pkgs/applications/misc/doing/default.nix
new file mode 100644
index 000000000000..0286e38a0edf
--- /dev/null
+++ b/pkgs/applications/misc/doing/default.nix
@@ -0,0 +1,25 @@
+{ lib, bundlerEnv, ruby
+}:
+
+# Bundix:
+# nix-shell -p bundix zlib
+bundlerEnv rec {
+  pname = "doing";
+  version = (import ./gemset.nix).doing.version;
+
+  inherit ruby;
+  gemdir = ./.;
+
+  meta = with lib; {
+    description = "A command line tool for keeping track of what you’re doing and tracking what you’ve done.";
+    longDescription = ''
+      doing is a basic CLI for adding and listing "what was I doing" reminders
+      in a TaskPaper-formatted text file. It allows for multiple
+      sections/categories and flexible output formatting.
+    '';
+    homepage    = http://brettterpstra.com/projects/doing/;
+    license     = licenses.mit;
+    maintainers = with maintainers; [ ktf ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/misc/doing/gemset.nix b/pkgs/applications/misc/doing/gemset.nix
new file mode 100644
index 000000000000..b30a124bb58b
--- /dev/null
+++ b/pkgs/applications/misc/doing/gemset.nix
@@ -0,0 +1,60 @@
+{
+  chronic = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1hrdkn4g8x7dlzxwb1rfgr8kw3bp4ywg5l4y4i9c2g5cwv62yvvn";
+      type = "gem";
+    };
+    version = "0.10.2";
+  };
+  deep_merge = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1q3picw7zx1xdkybmrnhmk2hycxzaa0jv4gqrby1s90dy5n7fmsb";
+      type = "gem";
+    };
+    version = "1.2.1";
+  };
+  doing = {
+    dependencies = ["chronic" "deep_merge" "gli" "haml" "json"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1y42yc7h45sz9hqj3g1dd77ipx58l7v64i7mrsj3is2f5rszd1rv";
+      type = "gem";
+    };
+    version = "1.0.10pre";
+  };
+  gli = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0g7g3lxhh2b4h4im58zywj9vcfixfgndfsvp84cr3x67b5zm4kaq";
+      type = "gem";
+    };
+    version = "2.17.1";
+  };
+  haml = {
+    dependencies = ["tilt"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1l9zhfdk9z7xjfdp108r9fw4xa55hflin7hh3lpafbf9bdz96knr";
+      type = "gem";
+    };
+    version = "4.0.3";
+  };
+  json = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0qmj7fypgb9vag723w1a49qihxrcf5shzars106ynw2zk352gbv5";
+      type = "gem";
+    };
+    version = "1.8.6";
+  };
+  tilt = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0020mrgdf11q23hm1ddd6fv691l51vi10af00f137ilcdb2ycfra";
+      type = "gem";
+    };
+    version = "2.0.8";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/misc/eureka-editor/default.nix b/pkgs/applications/misc/eureka-editor/default.nix
new file mode 100644
index 000000000000..b8bd0a59bea2
--- /dev/null
+++ b/pkgs/applications/misc/eureka-editor/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchzip, fltk, zlib, xdg_utils, xorg, libjpeg, libGL }:
+
+stdenv.mkDerivation rec {
+  name = "eureka-editor-${version}";
+  version = "1.21";
+  shortver = "121";
+
+  src = fetchzip {
+    url = "mirror://sourceforge/eureka-editor/Eureka/${version}/eureka-${shortver}-source.tar.gz";
+    sha256 = "0fpj13aq4wh3f7473cdc5jkf1c71jiiqmjc0ihqa0nm3hic1d4yv";
+  };
+
+  buildInputs = [ fltk zlib xdg_utils libjpeg xorg.libXinerama libGL ];
+
+  enableParallelBuilding = true;
+
+  preBuild = ''
+    substituteInPlace src/main.cc \
+      --replace /usr/local $out
+    substituteInPlace Makefile \
+      --replace /usr/local $out \
+      --replace "-o root " ""
+  '';
+
+  preInstall = ''
+    mkdir -p $out/bin $out/share/applications $out/share/icons $out/man/man6
+    cp misc/eureka.desktop $out/share/applications
+    cp misc/eureka.ico $out/share/icons
+    cp misc/eureka.6 $out/man/man6
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://eureka-editor.sourceforge.net;
+    description = "A map editor for the classic DOOM games, and a few related games such as Heretic and Hexen";
+    license = licenses.gpl2;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ neonfuz ];
+  };
+}
diff --git a/pkgs/applications/misc/evilvte/default.nix b/pkgs/applications/misc/evilvte/default.nix
index 1165ced11f9c..b72fcde4a9ee 100644
--- a/pkgs/applications/misc/evilvte/default.nix
+++ b/pkgs/applications/misc/evilvte/default.nix
@@ -31,5 +31,8 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.bodil ];
     platforms = platforms.linux;
+    knownVulnerabilities = [
+      "https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=854585"
+    ];
   };
 }
diff --git a/pkgs/applications/misc/fetchmail/default.nix b/pkgs/applications/misc/fetchmail/default.nix
index 5cd8f572ad48..e9d194666094 100644
--- a/pkgs/applications/misc/fetchmail/default.nix
+++ b/pkgs/applications/misc/fetchmail/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   buildInputs = [ openssl ];
 
-  configureFlags = "--with-ssl=${openssl.dev}";
+  configureFlags = [ "--with-ssl=${openssl.dev}" ];
 
   meta = {
     homepage = http://www.fetchmail.info/;
@@ -29,5 +29,6 @@ stdenv.mkDerivation {
 
     platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.peti ];
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/misc/font-manager/default.nix b/pkgs/applications/misc/font-manager/default.nix
index be853e4213bc..1fad5333a144 100644
--- a/pkgs/applications/misc/font-manager/default.nix
+++ b/pkgs/applications/misc/font-manager/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     substituteInPlace configure --replace "/usr/bin/file" "${file}/bin/file"
   '';
 
-  configureFlags = "--disable-pycompile";
+  configureFlags = [ "--disable-pycompile" ];
 
   meta = {
     homepage = https://fontmanager.github.io/;
diff --git a/pkgs/applications/misc/gksu/default.nix b/pkgs/applications/misc/gksu/default.nix
index 6adc805b7284..712c2081f102 100644
--- a/pkgs/applications/misc/gksu/default.nix
+++ b/pkgs/applications/misc/gksu/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     sed -i -e 's|/usr/bin/x-terminal-emulator|-l gnome-terminal|g' gksu.desktop
   '';
 
-  configureFlags = "--disable-nautilus-extension";
+  configureFlags = [ "--disable-nautilus-extension" ];
 
   meta = {
     description = "A graphical frontend for libgksu";
diff --git a/pkgs/applications/misc/gramps/default.nix b/pkgs/applications/misc/gramps/default.nix
index b4b98909447e..b12b84d106dc 100644
--- a/pkgs/applications/misc/gramps/default.nix
+++ b/pkgs/applications/misc/gramps/default.nix
@@ -7,7 +7,7 @@
 let
   inherit (pythonPackages) python buildPythonApplication;
 in buildPythonApplication rec {
-  version = "4.2.8";
+  version = "5.0.0";
   name = "gramps-${version}";
 
   nativeBuildInputs = [ wrapGAppsHook ];
@@ -20,7 +20,7 @@ in buildPythonApplication rec {
     owner = "gramps-project";
     repo = "gramps";
     rev = "v${version}";
-    sha256 = "17y6rjvvcz7lwjck4f5nmhnn07i9k5vzk5dp1jk7j3ldxjagscsd";
+    sha256 = "056l4ihmd3gdsiv6wwv4ckgh8bfzd5nii6z4afsdn2nmjbj4hw9m";
   };
 
   pythonPath = with pythonPackages; [ bsddb3 PyICU pygobject3 pycairo ];
diff --git a/pkgs/applications/misc/gutenberg/default.nix b/pkgs/applications/misc/gutenberg/default.nix
index 8ab840221815..c5982f68201d 100644
--- a/pkgs/applications/misc/gutenberg/default.nix
+++ b/pkgs/applications/misc/gutenberg/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchFromGitHub, rustPlatform, cmake, CoreServices, cf-private }:
+{ stdenv, fetchFromGitHub, rustPlatform, cmake, pkgconfig, openssl, CoreServices, cf-private }:
 
 rustPlatform.buildRustPackage rec {
   name = "gutenberg-${version}";
-  version = "0.3.4";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "Keats";
     repo = "gutenberg";
     rev = "v${version}";
-    sha256 = "1v26q1m3bx7mdmmwgd6p601ncf13rr4rrx9s06fiy8vnd0ar1vlf";
+    sha256 = "0is7156aim2ad8xg2f5068crc4gfvm89x8gxa25vc25p0yr1bpla";
   };
 
-  cargoSha256 = "0cdy0wvibkpnmlqwxvn02a2k2vqy6zdqzflj2dh6g1cjbz1j8qh5";
+  cargoSha256 = "146vlr85n9d06am5ki76fh1vb5r8a4lzx5b7dmgi292kc3dsn41z";
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake pkgconfig openssl ];
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices cf-private ];
 
   postInstall = ''
diff --git a/pkgs/applications/misc/gxmessage/default.nix b/pkgs/applications/misc/gxmessage/default.nix
index a61d532f1f8e..8401386ead49 100644
--- a/pkgs/applications/misc/gxmessage/default.nix
+++ b/pkgs/applications/misc/gxmessage/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, gnome3, intltool, pkgconfig, texinfo}:
+{ stdenv, fetchurl, gnome3, intltool, pkgconfig, texinfo, hicolor-icon-theme }:
 
 stdenv.mkDerivation rec {
   name = "gxmessage-${version}";
@@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool gnome3.gtk texinfo ];
+  buildInputs = [ intltool gnome3.gtk texinfo hicolor-icon-theme ];
+
   meta = {
     description = "A GTK enabled dropin replacement for xmessage";
     homepage = "http://homepages.ihug.co.nz/~trmusson/programs.html#gxmessage";
diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix
index 110d17492f87..6ed956a1c1ba 100644
--- a/pkgs/applications/misc/hugo/default.nix
+++ b/pkgs/applications/misc/hugo/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "hugo-${version}";
-  version = "0.42.1";
+  version = "0.46";
 
   goPackagePath = "github.com/gohugoio/hugo";
 
@@ -10,11 +10,13 @@ buildGoPackage rec {
     owner  = "gohugoio";
     repo   = "hugo";
     rev    = "v${version}";
-    sha256 = "17m8bkldvnd7yyzxi4rc8vv3qfypjzik38bjy4qavb7sjdjmfij9";
+    sha256 = "0w5xkb6s03hprb4v151gdk8zzsgvy0i406363j1w03bic8ajwgmj";
   };
 
   goDeps = ./deps.nix;
 
+  buildFlags = "-tags extended";
+
   postInstall = ''
     rm $bin/bin/generate
   '';
diff --git a/pkgs/applications/misc/hugo/deps.nix b/pkgs/applications/misc/hugo/deps.nix
index 837919b1c326..64f252d27fd5 100644
--- a/pkgs/applications/misc/hugo/deps.nix
+++ b/pkgs/applications/misc/hugo/deps.nix
@@ -1,6 +1,15 @@
 # This file was generated by https://github.com/kamilchm/go2nix v1.2.1
 [
   {
+    goPackagePath = "github.com/BurntSushi/locker";
+    fetch = {
+      type = "git";
+      url = "https://github.com/BurntSushi/locker";
+      rev = "a6e239ea1c69bff1cfdb20c4b73dadf52f784b6a";
+      sha256 = "1xak4aync4klswq5217qvw191asgla51jr42y94vp109lirm5dzg";
+    };
+  }
+  {
     goPackagePath = "github.com/BurntSushi/toml";
     fetch = {
       type = "git";
@@ -32,8 +41,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/alecthomas/chroma";
-      rev = "d7b2ed20a4989ab604703f61f86523560f8a6a87";
-      sha256 = "0ni2ncck787sxk9gl14xnyjnw4y27ipypjf4kc00g635fvc64ik6";
+      rev = "5d7fef2ae60b501bbf28d476c3f273b8017d8261";
+      sha256 = "150jv4vhsdi1gj3liwkgicdrwnzgv5qkq2fwznlnzf64vmfb0b9f";
     };
   }
   {
@@ -50,8 +59,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/bep/gitmap";
-      rev = "012701e8669671499fc43e9792335a1dcbfe2afb";
-      sha256 = "10ixv4zwmrpxvpchws78yzsjvw1zplljw3iqvwpina2mkwwp71ql";
+      rev = "ecb6fe06dbfd6bb4225e7fda7dc15612ecc8d960";
+      sha256 = "0zqdl5h4ayi2gi5aqf35f1sjszhbcriksm2bf84fkrg7ngr48jn6";
+    };
+  }
+  {
+    goPackagePath = "github.com/bep/go-tocss";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bep/go-tocss";
+      rev = "2abb118dc8688b6c7df44e12f4152c2bded9b19c";
+      sha256 = "12q7h6nydklq4kg65kcgd85209rx7zf64ba6nf3k7y16knj4233q";
     };
   }
   {
@@ -68,8 +86,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/cpuguy83/go-md2man";
-      rev = "48d8747a2ca13185e7cc8efe6e9fc196a83f71a5";
-      sha256 = "01hpll16rvxhnvv35vs3z8p51x54c5jyl1gjdm0g7kwfwp2chvjx";
+      rev = "691ee98543af2f262f35fbb54bdd42f00b9b9cc5";
+      sha256 = "1864g10y9n6ni0p1yqjhvwyjdh0lgxnf7dlb0c4njazdg5rppww9";
     };
   }
   {
@@ -86,8 +104,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/disintegration/imaging";
-      rev = "5e63c9a565d0a3260d23d060a795783dab90fefe";
-      sha256 = "1mmiz439lygi30dj1rbps57iqh762jkinnpb4wfl382v4h136qvp";
+      rev = "8021a62ea0dfe0ed2e6107f5ccd37e0d4a92a996";
+      sha256 = "1c32sqfz78g9wxvpng8n9r404lf2lgjn9b24mg8y3rxylx29gks7";
     };
   }
   {
@@ -176,8 +194,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/jdkato/prose";
-      rev = "e27abfd3f31b84c37bbce37179b0428fcb1384be";
-      sha256 = "04rjqh3jdxaqr9czp4vcj14hqfv7yppv4nb7ynb04c9jcq23ajw7";
+      rev = "99216ea17cba4e2f2a4e8bca778643e5a529b7aa";
+      sha256 = "1mdh276lmj21jbi22ky8ngdsl9hfcdv6czshycbaiwjr5y9cv7bn";
     };
   }
   {
@@ -235,12 +253,21 @@
     };
   }
   {
+    goPackagePath = "github.com/mitchellh/hashstructure";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/hashstructure";
+      rev = "2bca23e0e452137f789efbc8610126fd8b94f73b";
+      sha256 = "0vpacsls26474wya360fjhzi6l4y8s8s251c4szvqxh17n5f5gk1";
+    };
+  }
+  {
     goPackagePath = "github.com/mitchellh/mapstructure";
     fetch = {
       type = "git";
       url = "https://github.com/mitchellh/mapstructure";
-      rev = "bb74f1db0675b241733089d5a1faa5dd8b0ef57b";
-      sha256 = "1aqk9qr46bwgdc5j7n7als61xvssvyjf4qzfsvhacl4izpygqnw7";
+      rev = "f15292f7a699fcc1a38a80977f80a046874ba8ac";
+      sha256 = "0zm3nhdvmj3f8q0vg2sjfw1sm3pwsw0ggz501awz95w99664a8al";
     };
   }
   {
@@ -257,8 +284,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/nicksnyder/go-i18n";
-      rev = "f6ac3d9cf0c4b6a32527779e992ebde26bd3d948";
-      sha256 = "1vg25khaf7lr90xwf97bsyn873cdi1j7nxh68s80jrg2a86zw0ff";
+      rev = "461e8b98df7454b4cb46a1611a6734f05ee331d0";
+      sha256 = "0aq1q06y6azsi6mfmary5xs7gmmg8fh8lhx1wbpdlqk11asm9rq0";
     };
   }
   {
@@ -275,8 +302,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/pelletier/go-toml";
-      rev = "c01d1270ff3e442a8a57cddc1c92dc1138598194";
-      sha256 = "1fjzpcjng60mc3a4b2ql5a00d5gah84wj740dabv9kq67mpg8fxy";
+      rev = "c2dbbc24a97911339e01bda0b8cabdbd8f13b602";
+      sha256 = "0v1dsqnk5zmn6ir8jgxijx14s47jvijlqfz3aq435snfrgybd5rz";
     };
   }
   {
@@ -320,8 +347,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/cobra";
-      rev = "1e58aa3361fd650121dceeedc399e7189c05674a";
-      sha256 = "1d6dy60dw7i2mcab10yp99wi5w28jzhzzf16w4ys6bna7ymndiin";
+      rev = "7c4570c3ebeb8129a1f7456d0908a8b676b6f9f1";
+      sha256 = "16amh0prlzqrrbg5j629sg0f688nfzfgn9sair8jyybqampr3wc7";
     };
   }
   {
@@ -365,8 +392,35 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/viper";
-      rev = "15738813a09db5c8e5b60a19d67d3f9bd38da3a4";
-      sha256 = "1mjfzg8zvnxckaq6l8gw99i2msrfqn9yr04dc3b7kd5bpxi6zr4v";
+      rev = "d493c32b69b8c6f2377bf30bc4d70267ffbc0793";
+      sha256 = "1jq46790rkjn6c1887wz98dqjk792ij6wnrifzk1maglmfb061hh";
+    };
+  }
+  {
+    goPackagePath = "github.com/tdewolff/minify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/tdewolff/minify";
+      rev = "cf3a1790b606e292e4a0ee82e949a4f0d1c7617d";
+      sha256 = "1r496149l5iqzxkfcbll5dqcqxy4a7jjxvzm62c8hrybmwj574kn";
+    };
+  }
+  {
+    goPackagePath = "github.com/tdewolff/parse";
+    fetch = {
+      type = "git";
+      url = "https://github.com/tdewolff/parse";
+      rev = "4ceb50b40fad068875f5b093c5df0619012dc544";
+      sha256 = "1ap76hdiabn41r7zxc7nq3n3ld7zqf97jaf71zlzzjrphi3fwrg1";
+    };
+  }
+  {
+    goPackagePath = "github.com/wellington/go-libsass";
+    fetch = {
+      type = "git";
+      url = "https://github.com/wellington/go-libsass";
+      rev = "615eaa47ef794d037c1906a0eb7bf85375a5decf";
+      sha256 = "0imjiskn4vq7nml5jwb1scgl61jg53cfpkjnb9rsc6m8gsd8s16s";
     };
   }
   {
@@ -374,8 +428,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/yosssi/ace";
-      rev = "ea038f4770b6746c3f8f84f14fa60d9fe1205b56";
-      sha256 = "1kbvbc56grrpnl65grygd23gyn3nkkhxdg8awhzkjmd0cvki8w1f";
+      rev = "2b21b56204aee785bf8d500c3f9dcbe3ed7d4515";
+      sha256 = "0cgpq1zdnh8l8zsn9w63asc9k7cm6k4qvjgrb4hr1106h8fjwfma";
     };
   }
   {
@@ -383,8 +437,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/image";
-      rev = "af66defab954cb421ca110193eed9477c8541e2a";
-      sha256 = "0dgi7svwzs37c7m5dz2jig3xr45fyjihhr8cg0x8nc8sc8fsyq4h";
+      rev = "c73c2afc3b812cdd6385de5a50616511c4a3d458";
+      sha256 = "1kkafy29vz5xf6r29ghbvvbwrgjxwxvzk6dsa2qhyp1ddk6l2vkz";
     };
   }
   {
@@ -392,8 +446,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev = "db08ff08e8622530d9ed3a0e8ac279f6d4c02196";
-      sha256 = "1f6q8kbijnrfy6wjqxrzgjf38ippckc5w34lhqsjs7kq045aar9a";
+      rev = "f4c29de78a2a91c00474a2e689954305c350adf9";
+      sha256 = "02nibjrr1il8sxnr0w1s5fj7gz6ayhg3hsywf948qhc68n5adv8x";
     };
   }
   {
@@ -410,8 +464,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev = "6c888cc515d3ed83fc103cf1d84468aad274b0a7";
-      sha256 = "18anqrdajp4p015v3f5y641k3lmgp2jr0lfyx0pb3ia0qvn93mrp";
+      rev = "3dc4335d56c789b04b0ba99b7a37249d9b614314";
+      sha256 = "1105b7jqzz8g2bfkdbkj2pdzq4vhfmhm42khir88vjqfd1l7ha31";
     };
   }
   {
@@ -419,8 +473,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/text";
-      rev = "5c1cf69b5978e5a34c5f9ba09a83e56acc4b7877";
-      sha256 = "03br8p1sb1ffr02l8hyrgcyib7ms0z06wy3v4r1dj2l6q4ghwzfs";
+      rev = "96e34ec0e18a62a1e59880c7bf617b655efecb66";
+      sha256 = "1n1p5zz0vyvlhac40hxml6c5xwpsw8rjx1pbls9381a0s19ncbdg";
     };
   }
   {
diff --git a/pkgs/applications/misc/img2pdf/default.nix b/pkgs/applications/misc/img2pdf/default.nix
new file mode 100644
index 000000000000..9b6ac086efdf
--- /dev/null
+++ b/pkgs/applications/misc/img2pdf/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, python3Packages }:
+
+with python3Packages;
+
+buildPythonApplication rec {
+  pname = "img2pdf";
+  version = "0.3.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "071s3gf28nb8ifxkix7dzjny6vib7791mnp0v3f4zagcjcic22a4";
+  };
+
+  doCheck = false; # needs pdfrw
+
+  propagatedBuildInputs = [
+    pillow
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Convert images to PDF via direct JPEG inclusion";
+    homepage = https://gitlab.mister-muffin.de/josch/img2pdf;
+    license = licenses.lgpl2;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.veprbl ];
+  };
+}
diff --git a/pkgs/applications/misc/jigdo/default.nix b/pkgs/applications/misc/jigdo/default.nix
index d8b1253ac276..3561fcde839d 100644
--- a/pkgs/applications/misc/jigdo/default.nix
+++ b/pkgs/applications/misc/jigdo/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   buildInputs = [ db gtk2 bzip2 ];
 
-  configureFlags = "--without-libdb";
+  configureFlags = [ "--without-libdb" ];
 
   meta = {
     description = "Download utility that can fetch files from several sources simultaneously";
diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix
index 9872ff23f347..e753c5ded95c 100644
--- a/pkgs/applications/misc/josm/default.nix
+++ b/pkgs/applications/misc/josm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "josm-${version}";
-  version = "14026";
+  version = "14066";
 
   src = fetchurl {
     url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
-    sha256 = "1ysi23j2yj5b6cn3xdsrl4xp56klpw4xa7c4gv90z2dllx06mqli";
+    sha256 = "06mhaz5vr19ydqc5irhgcbl0s8fifwvaq60iz2nsnlxb1pw89xia";
   };
 
   buildInputs = [ jre10 makeWrapper ];
diff --git a/pkgs/applications/misc/keepass-plugins/keeagent/default.nix b/pkgs/applications/misc/keepass-plugins/keeagent/default.nix
index cd83d2a44e1d..80bf5deceb16 100644
--- a/pkgs/applications/misc/keepass-plugins/keeagent/default.nix
+++ b/pkgs/applications/misc/keepass-plugins/keeagent/default.nix
@@ -1,19 +1,19 @@
 { stdenv, buildEnv, fetchzip, mono }:
 
 let
-  version = "0.8.1";
+  version = "0.10.1";
   drv = stdenv.mkDerivation {
     name = "keeagent-${version}";
 
     src = fetchzip {
-      url = http://lechnology.com/wp-content/uploads/2016/07/KeeAgent_v0.8.1.zip;
-      sha256 = "16x1qrnzg0xkvi7w29wj3z0ldmql2vcbwxksbsmnidzmygwg98hk";
+      url = "https://lechnology.com/wp-content/uploads/2018/04/KeeAgent_v0.10.1.zip";
+      sha256 = "0j7az6l9wcr8z66mfplkxwydd4bgz2p2vd69xncf0nxlfb0lshh7";
       stripRoot = false;
     };
 
     meta = {
       description = "KeePass plugin to allow other programs to access SSH keys stored in a KeePass database for authentication";
-      homepage    = http://lechnology.com/software/keeagent;
+      homepage    = "http://lechnology.com/software/keeagent";
       platforms   = with stdenv.lib.platforms; linux;
       license     = stdenv.lib.licenses.gpl2;
       maintainers = [ ];
diff --git a/pkgs/applications/misc/latte-dock/default.nix b/pkgs/applications/misc/latte-dock/default.nix
index eafe0b9b5c64..c22c014bf5f5 100644
--- a/pkgs/applications/misc/latte-dock/default.nix
+++ b/pkgs/applications/misc/latte-dock/default.nix
@@ -1,28 +1,31 @@
-{ mkDerivation, lib, cmake, xorg, plasma-framework, fetchFromGitHub
-, extra-cmake-modules, karchive, kwindowsystem, qtx11extras, kcrash }:
+{ mkDerivation, lib, cmake, xorg, plasma-framework, fetchurl
+, extra-cmake-modules, karchive, kwindowsystem, qtx11extras, kcrash, knewstuff }:
 
-let version = "0.7.5"; in
+mkDerivation rec {
+  pname = "latte-dock";
+  version = "0.8.0";
+  name = "${pname}-${version}";
 
-mkDerivation {
-  name = "latte-dock-${version}";
-
-  src = fetchFromGitHub {
-    owner = "psifidotos";
-    repo = "Latte-Dock";
-    rev = "v${version}";
-    sha256 = "0fblbx6qk4miag1mhiyns7idsw03p9pj3xc3xxxnb5rpj1fy0ifv";
+  src = fetchurl {
+    url = "https://download.kde.org/stable/${pname}/${name}.tar.xz";
+    sha256 = "1zg9r162r66vcvj5rzgy61mda89sk5yfy96g5p1aahbim0rgbdbs";
+    name = "${name}.tar.xz";
   };
 
   buildInputs = [ plasma-framework xorg.libpthreadstubs xorg.libXdmcp xorg.libSM ];
 
   nativeBuildInputs = [ extra-cmake-modules cmake karchive kwindowsystem
-    qtx11extras kcrash ];
+    qtx11extras kcrash knewstuff ];
+
+
 
   meta = with lib; {
     description = "Dock-style app launcher based on Plasma frameworks";
     homepage = https://github.com/psifidotos/Latte-Dock;
     license = licenses.gpl2;
     platforms = platforms.unix;
-    maintainers = [ maintainers.benley ];
+    maintainers = [ maintainers.benley maintainers.ysndr ];
   };
+
+
 }
diff --git a/pkgs/applications/misc/lilyterm/default.nix b/pkgs/applications/misc/lilyterm/default.nix
index 662ca9761fb2..72cb1e85802a 100644
--- a/pkgs/applications/misc/lilyterm/default.nix
+++ b/pkgs/applications/misc/lilyterm/default.nix
@@ -40,10 +40,10 @@ stdenv.mkDerivation rec {
 
   preConfigure = "sh autogen.sh";
 
-  configureFlags = ''
-    --enable-nls
-    --enable-safe-mode
-  '';
+  configureFlags = [
+    "--enable-nls"
+    "--enable-safe-mode"
+  ];
 
   meta = with stdenv.lib; {
     description = "A fast, lightweight terminal emulator";
diff --git a/pkgs/applications/misc/masterpdfeditor/default.nix b/pkgs/applications/misc/masterpdfeditor/default.nix
index 23f14d7ac9af..3155ab678d86 100644
--- a/pkgs/applications/misc/masterpdfeditor/default.nix
+++ b/pkgs/applications/misc/masterpdfeditor/default.nix
@@ -1,35 +1,41 @@
-{ stdenv, fetchurl, sane-backends, qtbase, qtsvg, autoPatchelfHook }:
+{ stdenv, fetchurl, sane-backends, qtbase, qtsvg, nss, autoPatchelfHook }:
+
 let
-  version = "4.3.89";
+  version = "5.1.12";
+
 in stdenv.mkDerivation {
   name = "masterpdfeditor-${version}";
+
   src = fetchurl {
-    url = "https://get.code-industry.net/public/master-pdf-editor-${version}_qt5.amd64.tar.gz";
-    sha256 = "0k5bzlhqglskiiq86nmy18mnh5bf2w3mr9cq3pibrwn5pisxnxxc";
+    url = "https://code-industry.net/public/master-pdf-editor-${version}_qt5.amd64.tar.gz";
+    sha256 = "1i3pdrhnlj06phm36gs42s6b94pigcfb8wa5dhmplxn0dqp434hq";
   };
 
   nativeBuildInputs = [ autoPatchelfHook ];
 
-  buildInputs = [ sane-backends qtbase qtsvg ];
+  buildInputs = [ nss qtbase qtsvg sane-backends stdenv.cc.cc ];
 
   dontStrip = true;
 
   installPhase = ''
-   p=$out/opt/masterpdfeditor
-   mkdir -p $out/bin $p $out/share/applications $out/share/pixmaps
+    runHook preInstall
+
+    p=$out/opt/masterpdfeditor
+    mkdir -p $out/bin
 
-   substituteInPlace masterpdfeditor4.desktop \
-     --replace 'Exec=/opt/master-pdf-editor-4' "Exec=$out/bin" \
-     --replace 'Path=/opt/master-pdf-editor-4' "Path=$out/bin" \
-     --replace 'Icon=/opt/master-pdf-editor-4' "Icon=$out/share/pixmaps"
-   cp -v masterpdfeditor4.png $out/share/pixmaps/
-   cp -v masterpdfeditor4.desktop $out/share/applications
+    substituteInPlace masterpdfeditor5.desktop \
+      --replace 'Exec=/opt/master-pdf-editor-5' "Exec=$out/bin" \
+      --replace 'Path=/opt/master-pdf-editor-5' "Path=$out/bin" \
+      --replace 'Icon=/opt/master-pdf-editor-5' "Icon=$out/share/pixmaps"
 
-   cp -v masterpdfeditor4 $p/
-   ln -s $p/masterpdfeditor4 $out/bin/masterpdfeditor4
-   cp -v -r stamps templates lang fonts $p
+    install -Dm644 -t $out/share/pixmaps      masterpdfeditor5.png
+    install -Dm644 -t $out/share/applications masterpdfeditor5.desktop
+    install -Dm755 -t $p                      masterpdfeditor5
+    install -Dm644 license.txt $out/share/$name/LICENSE
+    ln -s $p/masterpdfeditor5 $out/bin/masterpdfeditor5
+    cp -v -r stamps templates lang fonts $p
 
-   install -D license.txt $out/share/$name/LICENSE
+    runHook postInstall
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/mdp/default.nix b/pkgs/applications/misc/mdp/default.nix
index fd0a8ea1fe4e..5af524a456ba 100644
--- a/pkgs/applications/misc/mdp/default.nix
+++ b/pkgs/applications/misc/mdp/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, ncurses }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.12";
+  version = "1.0.13";
   name = "mdp-${version}";
 
   src = fetchFromGitHub {
     owner = "visit1985";
     repo = "mdp";
     rev = version;
-    sha256 = "04izj9i9rxmgswjh2iawqs6qglfv44zfv042smmcvfh1pm43361i";
+    sha256 = "0snmglsmgfavgv6cnlb0j54sr0paf570ajpwk1b3g81v078hz2aq";
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/applications/misc/memo/default.nix b/pkgs/applications/misc/memo/default.nix
index 7d48b61793ca..c112cf0c928f 100644
--- a/pkgs/applications/misc/memo/default.nix
+++ b/pkgs/applications/misc/memo/default.nix
@@ -1,4 +1,5 @@
 { fetchFromGitHub, silver-searcher, tree, man, stdenv,
+  git,
   pandocSupport ? true, pandoc ? null
   , ... }:
 
@@ -8,13 +9,13 @@ stdenv.mkDerivation rec {
 
   name = "memo-${version}";
 
-  version = "0.4";
+  version = "0.6";
 
   src = fetchFromGitHub {
     owner  = "mrVanDalo";
     repo   = "memo";
     rev    = "${version}";
-    sha256 = "06999nps46dxrjakvpin1d2zvfpjil69hb3bxagq29icalag3y2z";
+    sha256 = "1cvjs36f6vxzfz5d63yhyw8j7gdw5hn6cfzccf7ag08lamjhfhbr";
   };
 
   installPhase = let
@@ -23,15 +24,17 @@ stdenv.mkDerivation rec {
     else
       "#pandoc_cmd=pandoc";
   in ''
-    mkdir -p $out/{bin,share/man/man1,share/bash-completion/completions}
+    mkdir -p $out/{bin,share/man/man1,share/bash-completion/completions,share/zsh/site-functions}
     substituteInPlace memo \
       --replace "ack_cmd=ack"       "ack_cmd=${silver-searcher}/bin/ag" \
       --replace "tree_cmd=tree"     "tree_cmd=${tree}/bin/tree" \
       --replace "man_cmd=man"       "man_cmd=${man}/bin/man" \
+      --replace "git_cmd=git"       "git_cmd=${git}/bin/git" \
       --replace "pandoc_cmd=pandoc" "${pandocReplacement}"
     mv memo $out/bin/
     mv doc/memo.1 $out/share/man/man1/memo.1
-    mv completion/memo.bash $out/share/bash-completion/completions/memo.sh
+    mv completion/bash/memo.sh $out/share/bash-completion/completions/memo.sh
+    mv completion/zsh/_memo    $out/share/zsh/site-functions/_memo
   '';
 
   meta = {
diff --git a/pkgs/applications/misc/mysql-workbench/default.nix b/pkgs/applications/misc/mysql-workbench/default.nix
index 76517f874642..7068d8aedd37 100644
--- a/pkgs/applications/misc/mysql-workbench/default.nix
+++ b/pkgs/applications/misc/mysql-workbench/default.nix
@@ -1,118 +1,95 @@
-{ stdenv, fetchurl, makeWrapper, cmake, pkgconfig
-, glibc, gnome-keyring, gtk, gtkmm, pcre, swig, sudo
-, mysql, libxml2, libctemplate, libmysqlconnectorcpp
-, vsqlite, tinyxml, gdal, libiodbc, libpthreadstubs
-, libXdmcp, libuuid, libzip, libgnome-keyring, file
-, pythonPackages, jre, autoconf, automake, libtool
-, boost, glibmm, libsigcxx, pangomm, libX11, openssl
-, proj, cairo, libglade
+{ stdenv, fetchurl, substituteAll, cmake, ninja, pkgconfig
+, glibc, gtk3, gtkmm3, pcre, swig, antlr4_7, sudo
+, mysql, libxml2, libmysqlconnectorcpp
+, vsqlite, gdal, libiodbc, libpthreadstubs
+, libXdmcp, libuuid, libzip, libsecret, libssh
+, python2, jre
+, boost, libsigcxx, libX11, openssl
+, proj, cairo, libxkbcommon, epoxy, wrapGAppsHook
+, at-spi2-core, dbus, bash, coreutils
 }:
 
 let
-  inherit (pythonPackages) pexpect pycrypto python paramiko;
+  inherit (python2.pkgs) paramiko pycairo pyodbc;
 in stdenv.mkDerivation rec {
   pname = "mysql-workbench";
-  version = "6.3.8";
+  version = "8.0.12";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-${version}-src.tar.gz";
-    sha256 = "1bxd828nrawmym6d8awh1vrni8dsbwh1k5am1lrq5ihp5c3kw9ka";
+    sha256 = "0d6k1kw0bi3q5dlilzlgds1gcrlf7pis4asm3d6pssh2jmn5hh82";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake gnome-keyring gtk gtk.dev gtkmm pcre swig python sudo
-    paramiko mysql libxml2 libctemplate libmysqlconnectorcpp vsqlite tinyxml gdal libiodbc file
-    libpthreadstubs libXdmcp libuuid libzip libgnome-keyring libgnome-keyring.dev jre autoconf
-    automake libtool boost glibmm glibmm.dev libsigcxx pangomm libX11 pexpect pycrypto openssl
-    proj cairo cairo.dev makeWrapper libglade ] ;
-
-  prePatch = ''
-    for f in backend/wbpublic/{grt/spatial_handler.h,grtui/geom_draw_box.h,objimpl/db.query/db_query_Resultset.cpp} ;
-    do
-      sed -i 's@#include <gdal/@#include <@' $f ;
-    done
+  patches = [
+    ./fix-gdal-includes.patch
+    (substituteAll {
+      src = ./hardcode-paths.patch;
+      catchsegv = "${glibc.bin}/bin/catchsegv";
+      bash = "${bash}/bin/bash";
+      cp = "${coreutils}/bin/cp";
+      dd = "${coreutils}/bin/dd";
+      ls = "${coreutils}/bin/ls";
+      mkdir = "${coreutils}/bin/mkdir";
+      nohup = "${coreutils}/bin/nohup";
+      rm = "${coreutils}/bin/rm";
+      rmdir = "${coreutils}/bin/rmdir";
+      sudo = "${sudo}/bin/sudo";
+    })
+  ];
 
-    sed -i '32s@mysqlparser@mysqlparser sqlparser@' library/mysql.parser/CMakeLists.txt
+  nativeBuildInputs = [
+    cmake ninja pkgconfig jre swig wrapGAppsHook
+  ];
 
-    cat <<EOF > ext/antlr-runtime/fix-configure
-    #!${stdenv.shell}
-    echo "fixing bundled antlr3c configure" ;
-    sed -i 's@/usr/bin/file@${file}/bin/file@' configure
-    sed -i '12121d' configure
-    EOF
-    chmod +x ext/antlr-runtime/fix-configure
-    sed -i '236s@&&@& ''${PROJECT_SOURCE_DIR}/ext/antlr-runtime/fix-configure &@' CMakeLists.txt
+  buildInputs = [
+    gtk3 gtkmm3 libX11 antlr4_7.runtime.cpp python2 mysql libxml2
+    libmysqlconnectorcpp vsqlite gdal boost libssh openssl
+    libiodbc pcre cairo libuuid libzip libsecret
+    libsigcxx proj
+    # python dependencies:
+    paramiko pycairo pyodbc # sqlanydb
+    # transitive dependencies:
+    libpthreadstubs libXdmcp libxkbcommon epoxy at-spi2-core dbus
+  ];
 
-    substituteInPlace $(pwd)/frontend/linux/workbench/mysql-workbench.in --replace "catchsegv" "${glibc.bin}/bin/catchsegv"
-    substituteInPlace $(pwd)/frontend/linux/workbench/mysql-workbench.in --replace "/usr/lib/x86_64-linux-gnu" "${proj}/lib"
-    patchShebangs $(pwd)/library/mysql.parser/grammar/build-parser
-    patchShebangs $(pwd)/tools/get_wb_version.sh
+  postPatch = ''
+    patchShebangs tools/get_wb_version.sh
   '';
 
   NIX_CFLAGS_COMPILE = [
-    "-I${libsigcxx}/lib/sigc++-2.0/include"
-    "-I${pangomm}/lib/pangomm-1.4/include"
-    "-I${glibmm}/lib/giomm-2.4/include"
+    # error: 'OGRErr OGRSpatialReference::importFromWkt(char**)' is deprecated
+    "-Wno-error=deprecated-declarations"
   ];
 
   cmakeFlags = [
-    "-DCMAKE_CXX_FLAGS=-std=c++11"
     "-DMySQL_CONFIG_PATH=${mysql}/bin/mysql_config"
-    "-DCTemplate_INCLUDE_DIR=${libctemplate}/include"
-    "-DCAIRO_INCLUDE_DIRS=${cairo.dev}/include"
-    "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk}/lib/gtk-2.0/include"
-    "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${gtk.dev}/include"
-    "-DGTK2_GTKMMCONFIG_INCLUDE_DIR=${gtkmm}/lib/gtkmm-2.4/include"
-    "-DGTK2_GDKMMCONFIG_INCLUDE_DIR=${gtkmm}/lib/gdkmm-2.4/include"
-    "-DGTK2_GLIBMMCONFIG_INCLUDE_DIR=${glibmm}/lib/glibmm-2.4/include"
+    "-DIODBC_CONFIG_PATH=${libiodbc}/bin/iodbc-config"
+    "-DWITH_ANTLR_JAR=${antlr4_7.jarLocation}"
   ];
 
-  postInstall = ''
-    patchShebangs $out/share/mysql-workbench/extras/build_freetds.sh
-
-    for i in $out/lib/mysql-workbench/modules/wb_utils_grt.py \
-             $out/lib/mysql-workbench/modules/wb_server_management.py \
-             $out/lib/mysql-workbench/modules/wb_admin_grt.py; do
-      substituteInPlace $i \
-        --replace "/bin/bash" ${stdenv.shell} \
-        --replace "/usr/bin/sudo" ${sudo}/bin/sudo
-    done
+  # There is already an executable and a wrapper in bindir
+  # No need to wrap both
+  dontWrapGApps = true;
 
-    wrapProgram "$out/bin/mysql-workbench" \
-      --prefix LD_LIBRARY_PATH : "${python}/lib" \
-      --prefix LD_LIBRARY_PATH : "$(cat ${stdenv.cc}/nix-support/orig-cc)/lib64" \
-      --prefix PATH : "${gnome-keyring}/bin" \
-      --prefix PATH : "${python}/bin" \
-      --set PYTHONPATH $PYTHONPATH \
-      --run '
-# The gnome-keyring-daemon must be running.  To allow for environments like
-# kde, xfce where this is not so, we start it first.
-# It is cleaned up using a supervisor subshell which detects that
-# the parent has finished via the closed pipe as terminate signal idiom,
-# used because we cannot clean up after ourselves due to the exec call.
-
-# Start gnome-keyring-daemon, export the environment variables it asks us to set.
-for expr in $( gnome-keyring-daemon --start ) ; do eval "export "$expr ; done
-
-# Prepare fifo pipe.
-FIFOCTL="/tmp/gnome-keyring-daemon-ctl.$$.fifo"
-[ -p $FIFOCTL ] && rm $FIFOCTL
-mkfifo $FIFOCTL
-
-# Supervisor subshell waits reading from pipe, will receive EOF when parent
-# closes pipe on termination.  Negate read with ! operator to avoid subshell
-# quitting when read EOF returns 1 due to -e option being set.
-(
-    exec 19< $FIFOCTL
-    ! read -u 19
-
-    kill $GNOME_KEYRING_PID
-    rm $FIFOCTL
-) &
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix PATH : "${python2}/bin"
+      --prefix PROJSO : "${proj}/lib/libproj.so"
+      --set PYTHONPATH $PYTHONPATH
+    )
+  '';
 
-exec 19> $FIFOCTL
-            '
+  # Let’s wrap the programs not ending with bin
+  # until https://bugs.mysql.com/bug.php?id=91948 is fixed
+  postFixup = ''
+    find -L "$out/bin" -type f -executable -print0 \
+      | while IFS= read -r -d ''' file; do
+      if [[ "''${file}" != *-bin ]]; then
+        echo "Wrapping program ''${file}"
+        wrapProgram "''${file}" "''${gappsWrapperArgs[@]}"
+      fi
+    done
   '';
 
   meta = with stdenv.lib; {
@@ -127,6 +104,6 @@ exec 19> $FIFOCTL
     homepage = http://wb.mysql.com/;
     license = licenses.gpl2;
     maintainers = [ maintainers.kkallio ];
-    platforms = [ "x86_64-linux" ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/mysql-workbench/fix-gdal-includes.patch b/pkgs/applications/misc/mysql-workbench/fix-gdal-includes.patch
new file mode 100644
index 000000000000..0a5c31fd40a2
--- /dev/null
+++ b/pkgs/applications/misc/mysql-workbench/fix-gdal-includes.patch
@@ -0,0 +1,47 @@
+--- a/backend/wbpublic/grt/spatial_handler.h
++++ b/backend/wbpublic/grt/spatial_handler.h
+@@ -24,12 +24,12 @@
+ #ifndef SPATIAL_HANDLER_H_
+ #define SPATIAL_HANDLER_H_
+ 
+-#include <gdal/ogrsf_frmts.h>
+-#include <gdal/ogr_api.h>
+-#include <gdal/gdal_pam.h>
+-#include <gdal/memdataset.h>
+-#include <gdal/gdal_alg.h>
+-#include <gdal/gdal.h>
++#include <ogrsf_frmts.h>
++#include <ogr_api.h>
++#include <gdal_pam.h>
++#include <memdataset.h>
++#include <gdal_alg.h>
++#include <gdal.h>
+ #include <deque>
+ #include "base/geometry.h"
+ #include "wbpublic_public_interface.h"
+--- a/backend/wbpublic/grtui/geom_draw_box.h
++++ b/backend/wbpublic/grtui/geom_draw_box.h
+@@ -25,7 +25,7 @@
+ #define _GEOM_DRAW_BOX_H_
+ 
+ #include <mforms/drawbox.h>
+-#include <gdal/ogr_geometry.h>
++#include <ogr_geometry.h>
+ #include "wbpublic_public_interface.h"
+ 
+ class WBPUBLICBACKEND_PUBLIC_FUNC GeomDrawBox : public mforms::DrawBox {
+--- a/backend/wbpublic/objimpl/db.query/db_query_Resultset.cpp
++++ b/backend/wbpublic/objimpl/db.query/db_query_Resultset.cpp
+@@ -21,9 +21,9 @@
+  * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 
+  */
+ 
+-#include <gdal/ogrsf_frmts.h>
+-#include <gdal/ogr_api.h>
+-#include <gdal/gdal.h>
++#include <ogrsf_frmts.h>
++#include <ogr_api.h>
++#include <gdal.h>
+ 
+ #include <grts/structs.db.query.h>
+ #include <grtpp_util.h>
diff --git a/pkgs/applications/misc/mysql-workbench/hardcode-paths.patch b/pkgs/applications/misc/mysql-workbench/hardcode-paths.patch
new file mode 100644
index 000000000000..dddf992e4c12
--- /dev/null
+++ b/pkgs/applications/misc/mysql-workbench/hardcode-paths.patch
@@ -0,0 +1,187 @@
+--- a/frontend/linux/workbench/mysql-workbench.in
++++ b/frontend/linux/workbench/mysql-workbench.in
+@@ -99,8 +99,8 @@
+ if test "$WB_DEBUG" != ""; then
+   $WB_DEBUG $MWB_BINARIES_DIR/mysql-workbench-bin "$@"
+ else
+-  if type -p catchsegv > /dev/null; then
+-  catchsegv $MWB_BINARIES_DIR/mysql-workbench-bin "$@"
++  if type -p @catchsegv@ > /dev/null; then
++  @catchsegv@ $MWB_BINARIES_DIR/mysql-workbench-bin "$@"
+   else
+   $MWB_BINARIES_DIR/mysql-workbench-bin "$@"
+   fi
+--- a/plugins/migration/frontend/migration_bulk_copy_data.py
++++ b/plugins/migration/frontend/migration_bulk_copy_data.py
+@@ -110,7 +110,7 @@
+         return 'sh'
+ 
+     def generate_import_script(self, connection_args, path_to_file, schema_name):
+-        output = ['#!/bin/bash']
++        output = ['#!/usr/bin/env bash']
+         output.append('MYPATH=\`pwd\`')
+         
+         output.append('if [ -f \$MYPATH/%s ] ; then' % self.error_log_name)
+@@ -164,7 +164,7 @@
+         return 'sh'
+ 
+     def generate_import_script(self, connection_args, path_to_file, schema_name):
+-        output = ['#!/bin/bash']
++        output = ['#!/usr/bin/env bash']
+         output.append('MYPATH=\`pwd\`')
+         
+         output.append('if [ -f \$MYPATH/%s ] ; then' % self.error_log_name)
+@@ -417,7 +417,7 @@
+     
+         with open(script_path, 'w+') as f:
+             os.chmod(script_path, 0700)
+-            f.write('#!/bin/bash\n\n')
++            f.write('#!/usr/bin/env bash\n\n')
+             f.write('MYPATH=`pwd`\n')
+             
+             f.write("arg_source_password=\"<put source password here>\"\n")
+@@ -521,7 +521,7 @@
+     
+         with open(script_path, 'w+') as f:
+             os.chmod(script_path, 0700)
+-            f.write('#!/bin/bash\n\n')
++            f.write('#!/usr/bin/env bash\n\n')
+             f.write('MYPATH=`pwd`\n')
+             
+             f.write("arg_source_password=\"<put source password here>\"\n")
+--- a/plugins/wb.admin/backend/wb_server_control.py
++++ b/plugins/wb.admin/backend/wb_server_control.py
+@@ -39,7 +39,7 @@
+ 
+ UnixVariant = {
+     "" : {
+-        'sudo_command' : "/usr/bin/sudo -k -S -p EnterPasswordHere ",
++        'sudo_command' : "@sudo@ -k -S -p EnterPasswordHere ",
+     }
+ }
+ 
+--- a/plugins/wb.admin/backend/wb_server_management.py
++++ b/plugins/wb.admin/backend/wb_server_management.py
+@@ -40,7 +40,7 @@
+ 
+ def reset_sudo_prefix():
+     global default_sudo_prefix
+-    default_sudo_prefix       = '/usr/bin/sudo -k -S -p EnterPasswordHere'
++    default_sudo_prefix       = '@sudo@ -k -S -p EnterPasswordHere'
+ 
+ reset_sudo_prefix()
+ 
+@@ -100,7 +100,7 @@
+ 
+     if to_spawn:
+         command += ' &'
+-        sudo_prefix += ' /usr/bin/nohup'
++        sudo_prefix += ' @nohup@'
+       
+     # If as_user is the CURRENT then there's no need to sudo
+     if as_user != Users.CURRENT:
+@@ -111,7 +111,7 @@
+         if '/bin/sh' in sudo_prefix or '/bin/bash' in sudo_prefix:
+             command = "LANG=C " + sudo_prefix + " \"" + command.replace('\\', '\\\\').replace('"', r'\"').replace('$','\\$') + "\""
+         else:
+-            command = "LANG=C " + sudo_prefix + " /bin/bash -c \"" + command.replace('\\', '\\\\').replace('"', r'\"').replace('$','\\$') + "\""
++            command = "LANG=C " + sudo_prefix + " @bash@ -c \"" + command.replace('\\', '\\\\').replace('"', r'\"').replace('$','\\$') + "\""
+ 
+     return command
+ 
+@@ -896,9 +896,9 @@
+             if as_user == Users.CURRENT:
+                 raise PermissionDeniedError("Cannot set owner of directory %s" % path)        
+             else:
+-                command = "/bin/mkdir %s && chown %s %s" % (quote_path(path), with_owner, quote_path(path))
++                command = "@mkdir@ %s && chown %s %s" % (quote_path(path), with_owner, quote_path(path))
+         else:
+-            command = "/bin/mkdir %s" % (quote_path(path))
++            command = "@mkdir@ %s" % (quote_path(path))
+             
+         res = self.process_ops.exec_cmd(command,
+                                         as_user   = as_user,
+@@ -927,7 +927,7 @@
+     @useAbsPath("path")
+     def remove_directory(self, path, as_user = Users.CURRENT, user_password = None):
+         output = StringIO.StringIO()
+-        res = self.process_ops.exec_cmd('/bin/rmdir ' + quote_path(path),
++        res = self.process_ops.exec_cmd('@rmdir@ ' + quote_path(path),
+                                         as_user   = as_user,
+                                         user_password = user_password,
+                                         output_handler = output.write,
+@@ -940,7 +940,7 @@
+     @useAbsPath("path")
+     def remove_directory_recursive(self, path, as_user = Users.CURRENT, user_password = None):
+         output = StringIO.StringIO()
+-        res = self.process_ops.exec_cmd('/bin/rm -R ' + quote_path(path),
++        res = self.process_ops.exec_cmd('@rm@ -R ' + quote_path(path),
+                                         as_user   = as_user,
+                                         user_password = user_password,
+                                         output_handler = output.write,
+@@ -953,7 +953,7 @@
+     @useAbsPath("path")
+     def delete_file(self, path, as_user = Users.CURRENT, user_password = None):
+         output = StringIO.StringIO()
+-        res = self.process_ops.exec_cmd("/bin/rm " + quote_path(path),
++        res = self.process_ops.exec_cmd("@rm@ " + quote_path(path),
+                                         as_user   = as_user,
+                                         user_password = user_password,
+                                         output_handler = output.write,
+@@ -1001,7 +1001,7 @@
+     def _copy_file(self, source, dest, as_user = Users.CURRENT, user_password = None):
+         output = StringIO.StringIO()
+         
+-        res = self.process_ops.exec_cmd("LC_ALL=C /bin/cp " + quote_path(source) + " " + quote_path(dest),
++        res = self.process_ops.exec_cmd("LC_ALL=C @cp@ " + quote_path(source) + " " + quote_path(dest),
+                       as_user   = as_user,
+                       user_password = user_password,
+                       output_handler = output.write,
+@@ -1077,9 +1077,9 @@
+             # for ls -l, the output format changes depending on stdout being a terminal or not
+             # since both cases are possible, we need to handle both at the same time (1st line being total <nnnn> or not)
+             # the good news is that if the line is there, then it will always start with total, regardless of the locale
+-            command = 'LC_ALL=C /bin/ls -l -p %s' % quote_path(path)
++            command = 'LC_ALL=C @ls@ -l -p %s' % quote_path(path)
+         else:
+-            command = 'LC_ALL=C /bin/ls -1 -p %s' % quote_path(path)
++            command = 'LC_ALL=C @ls@ -1 -p %s' % quote_path(path)
+             
+         output = StringIO.StringIO()
+         res = self.process_ops.exec_cmd(command,
+@@ -2160,9 +2160,9 @@
+     def get_range(self, start, end):
+         f = StringIO.StringIO()
+         if not self._need_sudo:
+-            ret = self.server_helper.execute_command("/bin/dd if=%s ibs=1 skip=%i count=%i 2> /dev/null" % (quote_path(self.path), start, end-start), as_user = Users.CURRENT, user_password=None, output_handler=f.write)
++            ret = self.server_helper.execute_command("@dd@ if=%s ibs=1 skip=%i count=%i 2> /dev/null" % (quote_path(self.path), start, end-start), as_user = Users.CURRENT, user_password=None, output_handler=f.write)
+         else:
+-            ret = self.server_helper.execute_command("/bin/dd if=%s ibs=1 skip=%i count=%i 2> /dev/null" % (quote_path(self.path), start, end-start), as_user = Users.ADMIN, user_password=self.get_password, output_handler=f.write)
++            ret = self.server_helper.execute_command("@dd@ if=%s ibs=1 skip=%i count=%i 2> /dev/null" % (quote_path(self.path), start, end-start), as_user = Users.ADMIN, user_password=self.get_password, output_handler=f.write)
+ 
+         if ret != 0:
+             raise RuntimeError("Could not get data from file %s" % self.path)
+@@ -2170,9 +2170,9 @@
+ 
+     def read_task(self, offset, file):
+         if not self._need_sudo:
+-            self.server_helper.execute_command("/bin/dd if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.CURRENT, user_password=None, output_handler=file.write)
++            self.server_helper.execute_command("@dd@ if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.CURRENT, user_password=None, output_handler=file.write)
+         else:
+-            self.server_helper.execute_command("/bin/dd if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.ADMIN, user_password=self.get_password, output_handler=file.write)
++            self.server_helper.execute_command("@dd@ if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.ADMIN, user_password=self.get_password, output_handler=file.write)
+         # this will signal the reader end that there's no more data
+         file.close()
+ 
+@@ -2198,9 +2198,9 @@
+         self._pos = offset
+         f = StringIO.StringIO()
+         if not self._need_sudo:
+-            self.server_helper.execute_command("/bin/dd if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.CURRENT, user_password=None, output_handler=f.write)
++            self.server_helper.execute_command("@dd@ if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.CURRENT, user_password=None, output_handler=f.write)
+         else:
+-            self.server_helper.execute_command("/bin/dd if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.ADMIN, user_password=self._password, output_handler=f.write)
++            self.server_helper.execute_command("@dd@ if=%s ibs=1 skip=%i 2> /dev/null" % (quote_path(self.path), offset), as_user = Users.ADMIN, user_password=self._password, output_handler=f.write)
+         self.data = f
+         self.data.seek(0)
+         if self.skip_first_newline:
diff --git a/pkgs/applications/misc/nnn/default.nix b/pkgs/applications/misc/nnn/default.nix
index b4832a72c2b8..d97f2d2c0489 100644
--- a/pkgs/applications/misc/nnn/default.nix
+++ b/pkgs/applications/misc/nnn/default.nix
@@ -4,13 +4,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "nnn-${version}";
-  version = "1.8";
+  version = "1.9";
 
   src = fetchFromGitHub {
     owner = "jarun";
     repo = "nnn";
     rev = "v${version}";
-    sha256 = "0sd8djig56163k0b0y4a7kg3malxlg08gayjw4zmvqaihvbbkc6v";
+    sha256 = "0z7mr9lql5hz0518wzkj8fdsdp8yh17fr418arjxjn66md4kwgpg";
   };
 
   configFile = optionalString (conf!=null) (builtins.toFile "nnn.h" conf);
diff --git a/pkgs/applications/misc/notify-osd/default.nix b/pkgs/applications/misc/notify-osd/default.nix
index 8e8126192dda..f602ce9db66a 100644
--- a/pkgs/applications/misc/notify-osd/default.nix
+++ b/pkgs/applications/misc/notify-osd/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     gnome3.gsettings-desktop-schemas
   ];
 
-  configureFlags = "--libexecdir=$(out)/bin";
+  configureFlags = [ "--libexecdir=$(out)/bin" ];
 
   preFixup = ''
     wrapProgram "$out/bin/notify-osd" \
diff --git a/pkgs/applications/misc/osmctools/default.nix b/pkgs/applications/misc/osmctools/default.nix
index e70be8201b34..bb53782fb7d2 100644
--- a/pkgs/applications/misc/osmctools/default.nix
+++ b/pkgs/applications/misc/osmctools/default.nix
@@ -42,5 +42,6 @@ stdenv.mkDerivation rec {
       https://wiki.openstreetmap.org/wiki/Osmfilter
     ];
     platforms = platforms.unix;
+    license = licenses.agpl3;
   };
 }
diff --git a/pkgs/applications/misc/overmind/default.nix b/pkgs/applications/misc/overmind/default.nix
index 46e00a979900..ac985a5e4d2d 100644
--- a/pkgs/applications/misc/overmind/default.nix
+++ b/pkgs/applications/misc/overmind/default.nix
@@ -1,21 +1,21 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, tmux, makeWrapper }:
+{ stdenv, buildGoPackage, fetchFromGitHub, tmux, which, makeWrapper }:
 
 buildGoPackage rec {
   name = "overmind-${version}";
-  version = "1.1.1";
+  version = "2.0.0.beta1";
   goPackagePath = "github.com/DarthSim/overmind";
 
   nativeBuildInputs = [ makeWrapper ];
 
   postInstall = ''
-    wrapProgram "$bin/bin/overmind" --prefix PATH : "${stdenv.lib.makeBinPath [ tmux ]}"
+    wrapProgram "$bin/bin/overmind" --prefix PATH : "${stdenv.lib.makeBinPath [ tmux which ]}"
   '';
 
   src = fetchFromGitHub {
     owner = "DarthSim";
     repo = "overmind";
     rev = "v${version}";
-    sha256 = "0gdsbm54ln07jv1kgg53fiavx18xxw4f21lfcdl74ijk6bx4jbzv";
+    sha256 = "15fch3qszdm8bj1m9hxky9zgk6f5gpbswwfslg84qdjf4iwr5drq";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/pdfmod/default.nix b/pkgs/applications/misc/pdfmod/default.nix
index 2c0d642863ed..45d83b5872fa 100644
--- a/pkgs/applications/misc/pdfmod/default.nix
+++ b/pkgs/applications/misc/pdfmod/default.nix
@@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
     description = "A simple application for modifying PDF documents";
     platforms = platforms.all;
     maintainers = with maintainers; [ obadz ];
+    license = licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/misc/pdfshuffler/default.nix b/pkgs/applications/misc/pdfshuffler/default.nix
index e06f4407534b..025ad9cd30a1 100644
--- a/pkgs/applications/misc/pdfshuffler/default.nix
+++ b/pkgs/applications/misc/pdfshuffler/default.nix
@@ -36,5 +36,6 @@ python3Packages.buildPythonApplication rec {
     description = "Merge or split pdf documents and rotate, crop and rearrange their pages";
     platforms = platforms.linux;
     maintainers = with maintainers; [ mic92 ];
+    license = licenses.gpl3;
   };
 }
diff --git a/pkgs/applications/misc/pgmanage/default.nix b/pkgs/applications/misc/pgmanage/default.nix
index a548c149665a..a17f34378a8b 100644
--- a/pkgs/applications/misc/pgmanage/default.nix
+++ b/pkgs/applications/misc/pgmanage/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "pgmanage-${version}";
-  version = "10.3.0";
+  version = "10.3.1";
 
   src = fetchFromGitHub {
     owner  = "pgManage";
     repo   = "pgManage";
     rev    = "v${version}";
-    sha256 = "105gmwkifq04qmp5kpgybwjyx01528r6m3x1pxbvnfyni8sf74qj";
+    sha256 = "0ym1arla9wfkmr5n6h6dfyd680vlnng5s5j5nyxi2gl2wxqqhxzz";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/misc/polybar/default.nix b/pkgs/applications/misc/polybar/default.nix
index 347b77c7ab4a..0c358e4221a1 100644
--- a/pkgs/applications/misc/polybar/default.nix
+++ b/pkgs/applications/misc/polybar/default.nix
@@ -1,33 +1,36 @@
 { cairo, cmake, fetchgit, libXdmcp, libpthreadstubs, libxcb, pcre, pkgconfig
-, python2 , stdenv, xcbproto, xcbutil, xcbutilimage, xcbutilrenderutil
-, xcbutilwm, xcbutilxrm, makeWrapper
+, python2, stdenv, xcbproto, xcbutil, xcbutilcursor, xcbutilimage
+, xcbutilrenderutil, xcbutilwm, xcbutilxrm, makeWrapper
 
 # optional packages-- override the variables ending in 'Support' to enable or
 # disable modules
 , alsaSupport   ? true,  alsaLib       ? null
-, iwSupport     ? true,  wirelesstools ? null
 , githubSupport ? false, curl          ? null
 , mpdSupport    ? false, mpd_clientlib ? null
 , pulseSupport  ? false, libpulseaudio ? null
+, iwSupport     ? false, wirelesstools ? null
+, nlSupport     ? true,  libnl         ? null
 , i3Support ? false, i3GapsSupport ? false, i3 ? null, i3-gaps ? null, jsoncpp ? null
 }:
 
 assert alsaSupport   -> alsaLib       != null;
 assert githubSupport -> curl          != null;
-assert iwSupport     -> wirelesstools != null;
 assert mpdSupport    -> mpd_clientlib != null;
 assert pulseSupport  -> libpulseaudio != null;
 
+assert iwSupport     -> ! nlSupport && wirelesstools != null;
+assert nlSupport     -> ! iwSupport && libnl         != null;
+
 assert i3Support     -> ! i3GapsSupport && jsoncpp != null && i3      != null;
 assert i3GapsSupport -> ! i3Support     && jsoncpp != null && i3-gaps != null;
 
 stdenv.mkDerivation rec {
     name = "polybar-${version}";
-    version = "3.2.0";
+    version = "3.2.1";
     src = fetchgit {
       url = "https://github.com/jaagr/polybar";
       rev = version;
-      sha256 = "0p94brndysvmmbidhl4ds4w3qvddb752s4vryp0qckb0hz3knqk8";
+      sha256 = "1z45swj2l0h8x8li7prl963cgl6zm3birsswpij8qwcmjaj5l8vz";
     };
 
     meta = with stdenv.lib; {
@@ -44,14 +47,16 @@ stdenv.mkDerivation rec {
 
     buildInputs = [
       cairo libXdmcp libpthreadstubs libxcb pcre python2 xcbproto xcbutil
-      xcbutilimage xcbutilrenderutil xcbutilwm xcbutilxrm
+      xcbutilcursor xcbutilimage xcbutilrenderutil xcbutilwm xcbutilxrm
 
       (if alsaSupport   then alsaLib       else null)
       (if githubSupport then curl          else null)
-      (if iwSupport     then wirelesstools else null)
       (if mpdSupport    then mpd_clientlib else null)
       (if pulseSupport  then libpulseaudio else null)
 
+      (if iwSupport     then wirelesstools else null)
+      (if nlSupport     then libnl         else null)
+
       (if i3Support || i3GapsSupport then jsoncpp else null)
       (if i3Support then i3 else null)
       (if i3GapsSupport then i3-gaps else null)
diff --git a/pkgs/applications/misc/ptask/default.nix b/pkgs/applications/misc/ptask/default.nix
index e1a64c73a123..81e316eb0ee9 100644
--- a/pkgs/applications/misc/ptask/default.nix
+++ b/pkgs/applications/misc/ptask/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
 
-  patches = [ ./tw-version.patch ];
+  patches = [ ./tw-version.patch ./json_c_is_error.patch ];
 
   preFixup = ''
     wrapProgram "$out/bin/ptask" \
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     description = "GTK-based GUI for taskwarrior";
     license = licenses.gpl2;
     maintainers = [ maintainers.spacefrogg ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/ptask/json_c_is_error.patch b/pkgs/applications/misc/ptask/json_c_is_error.patch
new file mode 100644
index 000000000000..435c8b26e6f7
--- /dev/null
+++ b/pkgs/applications/misc/ptask/json_c_is_error.patch
@@ -0,0 +1,13 @@
+diff --git a/src/tw.c b/src/tw.c
+index 602f7b3..ca601cd 100644
+--- a/src/tw.c
++++ b/src/tw.c
+@@ -163,7 +163,7 @@ static struct json_object *task_exec_json(const char *opts)
+ 
+ 	free(cmd);
+ 
+-	if (o && is_error(o))
++	if (!o)
+ 		return NULL;
+ 
+ 	return o;
diff --git a/pkgs/applications/misc/qradiolink/default.nix b/pkgs/applications/misc/qradiolink/default.nix
new file mode 100644
index 000000000000..4029bd80b88b
--- /dev/null
+++ b/pkgs/applications/misc/qradiolink/default.nix
@@ -0,0 +1,57 @@
+{ stdenv, fetchFromGitHub, alsaLib, boost
+, qt4, libpulseaudio, codec2, libconfig
+, gnuradio, gnuradio-osmosdr, gsm
+, libopus, libjpeg, protobuf, qwt, speex
+} :
+
+let
+  version = "0.5.0";
+
+in stdenv.mkDerivation {
+  name = "qradiolink-${version}";
+
+  src = fetchFromGitHub {
+    owner = "kantooon";
+    repo = "qradiolink";
+    rev = "${version}";
+    sha256 = "0xhg5zhjznmls5m3rhpk1qx0dipxmca12s85w15d0i7qwva2f1gi";
+  };
+
+  preBuild = ''
+    cd ext
+    protoc --cpp_out=. Mumble.proto
+    protoc --cpp_out=. QRadioLink.proto
+    cd ..
+    qmake
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp qradiolink $out/bin
+  '';
+
+  buildInputs = [
+    qt4
+    alsaLib
+    boost
+    libpulseaudio
+    codec2
+    libconfig
+    gsm
+    gnuradio
+    gnuradio-osmosdr
+    libopus
+    libjpeg
+    protobuf
+    speex
+    qwt
+  ];
+
+  meta = with stdenv.lib; {
+    description = "SDR transceiver application for analog and digital modes";
+    homepage = http://qradiolink.org/;
+    license = licenses.agpl3;
+    maintainers = [ maintainers.markuskowa ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/ranger/default.nix b/pkgs/applications/misc/ranger/default.nix
index b13bc4cb7af2..e3a3a5e80d68 100644
--- a/pkgs/applications/misc/ranger/default.nix
+++ b/pkgs/applications/misc/ranger/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchFromGitHub, pythonPackages, file, less
+{ stdenv, fetchFromGitHub, python3Packages, file, less
 , imagePreviewSupport ? true, w3m ? null}:
 
 with stdenv.lib;
 
 assert imagePreviewSupport -> w3m != null;
 
-pythonPackages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   name = "ranger-${version}";
   version = "1.9.1";
 
@@ -16,7 +16,7 @@ pythonPackages.buildPythonApplication rec {
     sha256= "1zhds37j1scxa9b183qbrjwxqldrdk581c5xiy81vg17sndb1kqj";
   };
 
-  checkInputs = with pythonPackages; [ pytest ];
+  checkInputs = with python3Packages; [ pytest ];
   propagatedBuildInputs = [ file ];
 
   checkPhase = ''
diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix
index c6d3d6e1a9d5..b8c49cb02a69 100644
--- a/pkgs/applications/misc/redshift/default.nix
+++ b/pkgs/applications/misc/redshift/default.nix
@@ -61,6 +61,15 @@ stdenv.mkDerivation rec {
 
   postFixup = "wrapPythonPrograms";
 
+  # the geoclue agent may inspect these paths and expect them to be
+  # valid without having the correct $PATH set
+  postInstall = ''
+    substituteInPlace $out/share/applications/redshift.desktop \
+      --replace 'Exec=redshift' "Exec=$out/bin/redshift"
+    substituteInPlace $out/share/applications/redshift.desktop \
+      --replace 'Exec=redshift-gtk' "Exec=$out/bin/redshift-gtk"
+  '';
+
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/rtl_433/default.nix b/pkgs/applications/misc/rtl_433/default.nix
index 819c6c9391a9..7097dda35740 100644
--- a/pkgs/applications/misc/rtl_433/default.nix
+++ b/pkgs/applications/misc/rtl_433/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libusb1, rtl-sdr }:
 stdenv.mkDerivation rec {
 
-  version = "2018-02-23";
+  version = "18.05";
   name = "rtl_433-${version}";
 
   src = fetchFromGitHub {
     owner = "merbanan";
     repo = "rtl_433";
-    rev = "51d275c";
-    sha256 = "1j443wmws5xgc18s47bvw3pqljk747izypz52rmlrvs16v96cg2g";
+    rev = "18.05";
+    sha256 = "0vfhnjyrx6w1m8g1hww5vdz4zgdlhcaps9g0397mxlki4sm77wpc";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/applications/misc/rtv/default.nix b/pkgs/applications/misc/rtv/default.nix
index be27e28c9938..05b19bbbff9c 100644
--- a/pkgs/applications/misc/rtv/default.nix
+++ b/pkgs/applications/misc/rtv/default.nix
@@ -2,14 +2,14 @@
 
 with python3Packages;
 buildPythonApplication rec {
-  version = "1.23.0";
+  version = "1.24.0";
   pname = "rtv";
 
   src = fetchFromGitHub {
     owner = "michael-lazar";
     repo = "rtv";
     rev = "v${version}";
-    sha256 = "0i6iqj3ly1bgsfa9403m5190mfl9yk1x4ific3v31wqfja985nsr";
+    sha256 = "0vzhnqys8nr6ymsi1mnv092z3i7nwyhgnj4jv6mjifak9j3164fw";
   };
 
   # Tests try to access network
diff --git a/pkgs/applications/misc/rxvt_unicode/default.nix b/pkgs/applications/misc/rxvt_unicode/default.nix
index 4ee9f461760c..0e59ef5512d8 100644
--- a/pkgs/applications/misc/rxvt_unicode/default.nix
+++ b/pkgs/applications/misc/rxvt_unicode/default.nix
@@ -67,5 +67,6 @@ stdenv.mkDerivation (rec {
     downloadPage = "http://dist.schmorp.de/rxvt-unicode/Attic/";
     maintainers = [ ];
     platforms = platforms.unix;
+    license = licenses.gpl3;
   };
 })
diff --git a/pkgs/applications/misc/solaar/default.nix b/pkgs/applications/misc/solaar/default.nix
index 55153d25cf98..afe944e868e7 100644
--- a/pkgs/applications/misc/solaar/default.nix
+++ b/pkgs/applications/misc/solaar/default.nix
@@ -1,11 +1,13 @@
-{fetchurl, stdenv, gtk3, python34Packages, gobjectIntrospection}:
+{fetchFromGitHub, stdenv, gtk3, python34Packages, gobjectIntrospection}:
 python34Packages.buildPythonApplication rec {
-  name = "solaar-${version}";
-  version = "0.9.2";
+  name = "solaar-unstable-${version}";
+  version = "2018-02-02";
   namePrefix = "";
-  src = fetchurl {
-    sha256 = "0954grz2adggfzcj4df4mpr4d7qyl7w8rb4j2s0f9ymawl92i05j";
-    url = "https://github.com/pwr/Solaar/archive/${version}.tar.gz";
+  src = fetchFromGitHub {
+    owner = "pwr";
+    repo = "Solaar";
+    rev = "59b7285fdfc875119f0c92cfd5f5909e8a8e578c";
+    sha256 = "0zy5vmjzdybnjf0mpp8rny11sc43gmm8172svsm9s51h7x0v83y3";
   };
 
   propagatedBuildInputs = [python34Packages.pygobject3 python34Packages.pyudev gobjectIntrospection gtk3];
@@ -35,6 +37,6 @@ python34Packages.buildPythonApplication rec {
     license = licenses.gpl2;
     homepage = https://pwr.github.io/Solaar/;
     platforms = platforms.linux;
-    maintainers = [maintainers.spinus];
+    maintainers = [maintainers.spinus maintainers.ysndr];
   };
 }
diff --git a/pkgs/applications/misc/taskjuggler/2.x/default.nix b/pkgs/applications/misc/taskjuggler/2.x/default.nix
index 2b0573f2d2d1..6b38c3d59c29 100644
--- a/pkgs/applications/misc/taskjuggler/2.x/default.nix
+++ b/pkgs/applications/misc/taskjuggler/2.x/default.nix
@@ -44,12 +44,12 @@ stdenv.mkDerivation rec {
     HOME=$TMPDIR
   '';
 
-  configureFlags = "
-    --without-arts --disable-docs
-    --x-includes=${libX11.dev}/include
-    --x-libraries=${libX11.out}/lib
-    --with-qt-dir=${qt3}
-  ";
+  configureFlags = [
+    "--without-arts" "--disable-docs"
+    "--x-includes=${libX11.dev}/include"
+    "--x-libraries=${libX11.out}/lib"
+    "--with-qt-dir=${qt3}"
+  ];
 
   preInstall = ''
     mkdir -p $out/share/emacs/site-lisp/
diff --git a/pkgs/applications/misc/tasknc/default.nix b/pkgs/applications/misc/tasknc/default.nix
index e44690a5bd79..bf0e964d591f 100644
--- a/pkgs/applications/misc/tasknc/default.nix
+++ b/pkgs/applications/misc/tasknc/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     description = "A ncurses wrapper around taskwarrior";
     maintainers = with maintainers; [ infinisil ];
     platforms = platforms.linux; # Cannot test others
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/applications/misc/termite/default.nix b/pkgs/applications/misc/termite/default.nix
index 560dff594275..abcd5eb42888 100644
--- a/pkgs/applications/misc/termite/default.nix
+++ b/pkgs/applications/misc/termite/default.nix
@@ -1,55 +1,42 @@
-{ stdenv, fetchFromGitHub, lib, pkgconfig, vte, gtk3, ncurses, makeWrapper, wrapGAppsHook, symlinkJoin
-, configFile ? null
-}:
+{ stdenv, fetchFromGitHub, pkgconfig, vte, gtk3, ncurses, wrapGAppsHook }:
 
-let
+stdenv.mkDerivation rec {
+  name = "termite-${version}";
   version = "13";
-  termite = stdenv.mkDerivation {
-    name = "termite-${version}";
 
-    src = fetchFromGitHub {
-      owner = "thestinger";
-      repo = "termite";
-      rev = "v${version}";
-      sha256 = "02cn70ygl93ghhkhs3xdxn5b1yadc255v3yp8cmhhyzsv5027hvj";
-      fetchSubmodules = true;
-    };
+  src = fetchFromGitHub {
+    owner = "thestinger";
+    repo = "termite";
+    rev = "v${version}";
+    sha256 = "02cn70ygl93ghhkhs3xdxn5b1yadc255v3yp8cmhhyzsv5027hvj";
+    fetchSubmodules = true;
+  };
 
-    # https://github.com/thestinger/termite/pull/516
-    patches = [ ./url_regexp_trailing.patch ./add_errno_header.patch
-                ] ++ lib.optional stdenv.isDarwin ./remove_ldflags_macos.patch;
+  # https://github.com/thestinger/termite/pull/516
+  patches = [ ./url_regexp_trailing.patch ./add_errno_header.patch
+              ] ++ stdenv.lib.optional stdenv.isDarwin ./remove_ldflags_macos.patch;
 
-    makeFlags = [ "VERSION=v${version}" "PREFIX=" "DESTDIR=$(out)" ];
+  makeFlags = [ "VERSION=v${version}" "PREFIX=" "DESTDIR=$(out)" ];
 
-    buildInputs = [ vte gtk3 ncurses ];
+  buildInputs = [ vte gtk3 ncurses ];
 
-    nativeBuildInputs = [ wrapGAppsHook pkgconfig ];
+  nativeBuildInputs = [ wrapGAppsHook pkgconfig ];
 
-    outputs = [ "out" "terminfo" ];
+  outputs = [ "out" "terminfo" ];
 
-    postInstall = ''
-      mkdir -p $terminfo/share
-      mv $out/share/terminfo $terminfo/share/terminfo
+  postInstall = ''
+    mkdir -p $terminfo/share
+    mv $out/share/terminfo $terminfo/share/terminfo
 
-      mkdir -p $out/nix-support
-      echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
-    '';
+    mkdir -p $out/nix-support
+    echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
+  '';
 
-    meta = with stdenv.lib; {
-      description = "A simple VTE-based terminal";
-      license = licenses.lgpl2Plus;
-      homepage = https://github.com/thestinger/termite/;
-      maintainers = with maintainers; [ koral garbas ];
-      platforms = platforms.all;
-    };
+  meta = with stdenv.lib; {
+    description = "A simple VTE-based terminal";
+    license = licenses.lgpl2Plus;
+    homepage = https://github.com/thestinger/termite/;
+    maintainers = with maintainers; [ koral garbas ];
+    platforms = platforms.all;
   };
-in if configFile == null then termite else symlinkJoin {
-  name = "termite-with-config-${version}";
-  paths = [ termite ];
-  nativeBuildInputs = [ makeWrapper ];
-  postBuild = ''
-    wrapProgram $out/bin/termite \
-      --add-flags "--config ${configFile}"
-  '';
-  passthru.terminfo = termite.terminfo;
 }
diff --git a/pkgs/applications/misc/termite/wrapper.nix b/pkgs/applications/misc/termite/wrapper.nix
new file mode 100644
index 000000000000..0b12a905360c
--- /dev/null
+++ b/pkgs/applications/misc/termite/wrapper.nix
@@ -0,0 +1,15 @@
+{  makeWrapper, wrapGAppsHook, symlinkJoin, configFile ? null, termite }:
+
+if configFile == null then termite else symlinkJoin {
+  name = "termite-with-config-${termite.version}";
+
+  paths = [ termite ];
+  nativeBuildInputs = [ makeWrapper ];
+
+  postBuild = ''
+    wrapProgram $out/bin/termite \
+      --add-flags "--config ${configFile}"
+  '';
+
+  passthru.terminfo = termite.terminfo;
+}
diff --git a/pkgs/applications/misc/toggldesktop/TogglDesktop.pro b/pkgs/applications/misc/toggldesktop/TogglDesktop.pro
new file mode 100644
index 000000000000..e86156313d1f
--- /dev/null
+++ b/pkgs/applications/misc/toggldesktop/TogglDesktop.pro
@@ -0,0 +1,19 @@
+QT += core network widgets
+
+DEFINES += APP_ENVIRONMENT=\\\"production\\\"
+DEFINES += APP_VERSION=\\\"@version@\\\"
+
+TARGET = toggldesktop
+TEMPLATE = app
+
+SOURCES += *.cpp
+HEADERS += *.h
+FORMS += *.ui
+RESOURCES += *.qrc
+
+target.path = $$PREFIX
+
+INSTALLS += target
+
+CONFIG += link_pkgconfig
+PKGCONFIG += bugsnag-qt qxtglobalshortcut qt-oauth-lib toggl x11 xscrnsaver
diff --git a/pkgs/applications/misc/toggldesktop/default.nix b/pkgs/applications/misc/toggldesktop/default.nix
new file mode 100644
index 000000000000..bc36ffa5e101
--- /dev/null
+++ b/pkgs/applications/misc/toggldesktop/default.nix
@@ -0,0 +1,148 @@
+{ stdenv, fetchzip, buildEnv, makeDesktopItem, runCommand, writeText, pkgconfig
+, cmake, qmake, cacert, jsoncpp, libX11, libXScrnSaver, lua, openssl, poco
+, qtbase, qtwebkit, qtx11extras, sqlite }:
+
+let
+  name = "toggldesktop-${version}";
+  version = "7.4.231";
+
+  src = fetchzip {
+    url = "https://github.com/toggl/toggldesktop/archive/v${version}.tar.gz";
+    sha256 = "01hqkx9dljnhwnyqi6mmzfp02hnbi2j50rsfiasniqrkbi99x9v1";
+  };
+
+  bugsnag-qt = stdenv.mkDerivation rec {
+    name = "bugsnag-qt-${version}";
+    version = "20180522.005732";
+
+    src = fetchzip {
+      url = "https://github.com/yegortimoshenko/bugsnag-qt/archive/${version}.tar.gz";
+      sha256 = "02s6mlggh0i4a856md46dipy6mh47isap82jlwmjr7hfsk2ykgnq";
+    };
+
+    nativeBuildInputs = [ qmake ];
+    buildInputs = [ qtbase ];
+  };
+
+  qxtglobalshortcut = stdenv.mkDerivation rec {
+    name = "qxtglobalshortcut-${version}";
+    version = "f584471dada2099ba06c574bdfdd8b078c2e3550";
+
+    src = fetchzip {
+      url = "https://github.com/hluk/qxtglobalshortcut/archive/${version}.tar.gz";
+      sha256 = "1iy17gypav10z8aa62s5jb6mq9y4kb9ms4l61ydmk3xwlap7igw1";
+    };
+
+    nativeBuildInputs = [ cmake ];
+    buildInputs = [ qtbase qtx11extras ];
+  };
+
+  qt-oauth-lib = stdenv.mkDerivation rec {
+    name = "qt-oauth-lib-${version}";
+    version = "20180521.233208";
+
+    src = fetchzip {
+      url = "https://github.com/yegortimoshenko/qt-oauth-lib/archive/${version}.tar.gz";
+      sha256 = "0f46d44slzvzaqx0lksvv14lsc1jp8vd2mragxd61r820hybf5z3";
+    };
+
+    nativeBuildInputs = [ qmake ];
+    buildInputs = [ qtbase qtwebkit ];
+  };
+
+  poco-pc = writeText "poco.pc" ''
+    Name: Poco
+    Description: ${poco.meta.description}
+    Version: ${poco.version}
+    Libs: -L${poco}/lib -lPocoDataSQLite -lPocoData -lPocoNet -lPocoNetSSL -lPocoCrypto -lPocoUtil -lPocoXML -lPocoFoundation
+    Cflags: -I${poco}/include/Poco
+  '';
+
+  poco-pc-wrapped = runCommand "poco-pc-wrapped" {} ''
+    mkdir -p $out/lib/pkgconfig && ln -s ${poco-pc} $_/poco.pc
+  '';
+
+  libtoggl = stdenv.mkDerivation {
+    name = "libtoggl-${version}";
+    inherit src version;
+
+    sourceRoot = "source/src";
+
+    nativeBuildInputs = [ qmake pkgconfig ];
+    buildInputs = [ jsoncpp lua openssl poco poco-pc-wrapped sqlite libX11 ];
+
+    postPatch = ''
+      cat ${./libtoggl.pro} > libtoggl.pro
+      rm get_focused_window_{mac,windows}.cc
+    '';
+  };
+
+  toggldesktop = stdenv.mkDerivation {
+    name = "${name}-unwrapped";
+    inherit src version;
+
+    sourceRoot = "source/src/ui/linux/TogglDesktop";
+
+    postPatch = ''
+      substituteAll ${./TogglDesktop.pro} TogglDesktop.pro
+      substituteInPlace toggl.cpp \
+        --replace ./../../../toggl_api.h toggl_api.h
+    '';
+
+    postInstall = ''
+      ln -s ${cacert}/etc/ssl/certs/ca-bundle.crt $out/cacert.pem
+    '';
+
+    nativeBuildInputs = [ qmake pkgconfig ];
+
+    buildInputs = [
+      bugsnag-qt
+      libtoggl
+      qxtglobalshortcut
+      qtbase
+      qtwebkit
+      qt-oauth-lib
+      qtx11extras
+      libX11
+      libXScrnSaver
+    ];
+  };
+
+  toggldesktop-icons = stdenv.mkDerivation {
+    name = "${name}-icons";
+    inherit (toggldesktop) src sourceRoot;
+
+    installPhase = ''
+      for f in icons/*; do
+        mkdir -p $out/share/icons/hicolor/$(basename $f)/apps
+        mv $f/toggldesktop.png $_
+      done
+    '';
+  };
+
+  toggldesktop-wrapped = runCommand "toggldesktop-wrapped" {} ''
+    mkdir -p $out/bin && ln -s ${toggldesktop}/toggldesktop $_
+  '';
+
+  desktopItem = makeDesktopItem rec {
+    categories = "Utility;";
+    desktopName = "Toggl";
+    genericName = desktopName;
+    name = "toggldesktop";
+    exec = "${toggldesktop-wrapped}/bin/toggldesktop";
+    icon = "toggldesktop";
+  };
+in
+
+buildEnv {
+  inherit name;
+  paths = [ desktopItem toggldesktop-icons toggldesktop-wrapped ];
+
+  meta = with stdenv.lib; {
+    description = "Client for Toggl time tracking service";
+    homepage = https://github.com/toggl/toggldesktop;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ yegortimoshenko ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/toggldesktop/libtoggl.pro b/pkgs/applications/misc/toggldesktop/libtoggl.pro
new file mode 100644
index 000000000000..c8303440fe67
--- /dev/null
+++ b/pkgs/applications/misc/toggldesktop/libtoggl.pro
@@ -0,0 +1,20 @@
+TARGET = toggl
+TEMPLATE = lib
+
+SOURCES += *.cc
+HEADERS += *.h
+
+headers.files = $$HEADERS
+headers.path = $$PREFIX/include
+target.path = $$PREFIX/lib
+
+INSTALLS += headers target
+
+CONFIG += create_prl create_pc link_pkgconfig
+PKGCONFIG += jsoncpp openssl lua poco sqlite3 x11
+
+QMAKE_PKGCONFIG_NAME = $$TARGET
+QMAKE_PKGCONFIG_PREFIX = $$PREFIX
+QMAKE_PKGCONFIG_LIBDIR = $$target.path
+QMAKE_PKGCONFIG_INCDIR = $$headers.path
+QMAKE_PKGCONFIG_DESTDIR = pkgconfig
diff --git a/pkgs/applications/misc/translate-shell/default.nix b/pkgs/applications/misc/translate-shell/default.nix
index 8e8a22ed4e41..15c4b8185a22 100644
--- a/pkgs/applications/misc/translate-shell/default.nix
+++ b/pkgs/applications/misc/translate-shell/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "translate-shell";
-  version = "0.9.6.7";
+  version = "0.9.6.8";
 
   src = fetchFromGitHub {
     owner = "soimort";
     repo = "translate-shell";
     rev = "v${version}";
-    sha256 = "0krcidjh32xwybr1v4nykgf0jjnffjqx125bvn3jh2a44cikyq3n";
+    sha256 = "17fc5nlc594lvmihx39h4ddmi8ja3qqsyswzxadbaz7l3zm356b8";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/twmn/default.nix b/pkgs/applications/misc/twmn/default.nix
index 020aa963541e..0667ec49b328 100644
--- a/pkgs/applications/misc/twmn/default.nix
+++ b/pkgs/applications/misc/twmn/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/sboli/twmn;
     platforms = with stdenv.lib.platforms; linux;
     maintainers = [ stdenv.lib.maintainers.matejc ];
+    license = stdenv.lib.licenses.lgpl3;
   };
 }
diff --git a/pkgs/applications/misc/urh/default.nix b/pkgs/applications/misc/urh/default.nix
index 7bf9aca029b9..56da0cf22efe 100644
--- a/pkgs/applications/misc/urh/default.nix
+++ b/pkgs/applications/misc/urh/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   name = "urh-${version}";
-  version = "2.2.2";
+  version = "2.2.3";
 
   src = fetchFromGitHub {
     owner = "jopohl";
     repo = "urh";
     rev = "v${version}";
-    sha256 = "0ncvfl5iyngw3lr2g7awpskrrld6y0x7w0xyp827lcr7x73fvqgp";
+    sha256 = "1iq84590cjpf2rlxb60fy4hxi7vir27bbb10axbwrqwnp5cc4bql";
   };
 
   buildInputs = [ hackrf rtl-sdr ];
diff --git a/pkgs/applications/misc/urlscan/default.nix b/pkgs/applications/misc/urlscan/default.nix
index c3071647c40a..5f5754a66053 100644
--- a/pkgs/applications/misc/urlscan/default.nix
+++ b/pkgs/applications/misc/urlscan/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "urlscan";
-  version = "0.8.7";
+  version = "0.8.9";
 
   src = fetchFromGitHub {
     owner = "firecat53";
     repo = pname;
     rev = version;
-    sha256 = "1jxjcq869jimsq1ihk2fbjhp5lj7yga0hbp0msskxyz92afl1kz8";
+    sha256 = "18wvfayib79lylv3g9ay3f85qanhrljvnfarwl9snfzklj4gkf2v";
   };
 
   propagatedBuildInputs = [ python3Packages.urwid ];
diff --git a/pkgs/applications/misc/viking/default.nix b/pkgs/applications/misc/viking/default.nix
index d090878f9768..b7d0b330e85b 100644
--- a/pkgs/applications/misc/viking/default.nix
+++ b/pkgs/applications/misc/viking/default.nix
@@ -1,6 +1,6 @@
 { fetchurl, stdenv, makeWrapper, pkgconfig, intltool, gettext, gtk2, expat, curl
 , gpsd, bc, file, gnome-doc-utils, libexif, libxml2, libxslt, scrollkeeper
-, docbook_xml_dtd_412, gexiv2, sqlite, gpsbabel, expect }:
+, docbook_xml_dtd_412, gexiv2, sqlite, gpsbabel, expect, hicolor-icon-theme }:
 
 stdenv.mkDerivation rec {
   name = "viking-${version}";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ makeWrapper intltool gettext gtk2 expat curl gpsd bc file gnome-doc-utils
-    libexif libxml2 libxslt scrollkeeper docbook_xml_dtd_412 gexiv2 sqlite
+    libexif libxml2 libxslt scrollkeeper docbook_xml_dtd_412 gexiv2 sqlite hicolor-icon-theme
   ];
 
   configureFlags = [ "--disable-scrollkeeper --disable-mapnik" ];
diff --git a/pkgs/applications/misc/wordnet/default.nix b/pkgs/applications/misc/wordnet/default.nix
index 71d95e138927..a2e3fa13fc6a 100644
--- a/pkgs/applications/misc/wordnet/default.nix
+++ b/pkgs/applications/misc/wordnet/default.nix
@@ -17,8 +17,10 @@ stdenv.mkDerivation rec {
   '';
 
   # Needs the path to `tclConfig.sh' and `tkConfig.sh'.
-  configureFlags = "--with-tcl=" + tcl + "/lib " +
-                   "--with-tk="  + tk  + "/lib";
+  configureFlags = [
+    "--with-tcl=${tcl}/lib"
+    "--with-tk=${tk}/lib"
+  ];
 
   postInstall = ''
     wrapProgram $out/bin/wishwn --set TK_LIBRARY "${tk}/lib/${tk.libPrefix}"
diff --git a/pkgs/applications/misc/xca/default.nix b/pkgs/applications/misc/xca/default.nix
index ee07401d4846..ee4300cde0f5 100644
--- a/pkgs/applications/misc/xca/default.nix
+++ b/pkgs/applications/misc/xca/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   name = "xca-${version}";
-  version = "2.0.1";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner  = "chris2511";
     repo   = "xca";
     rev    = "RELEASE.${version}";
-    sha256 = "0906xnmqzd9q5irxzm19361vhzig9yqsmf6wsc3rggniix5bk3a8";
+    sha256 = "039qz6hh43hx8dcw2bq71mgy95zk09jyd3xxpldmxxd5d69zcr8m";
   };
 
   postPatch = ''
@@ -23,8 +23,6 @@ mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  configureFlags = [ "CXXFLAGS=-std=c++11" ];
-
   meta = with lib; {
     description = "Interface for managing asymetric keys like RSA or DSA";
     homepage    = http://xca.sourceforge.net/;
diff --git a/pkgs/applications/misc/xmove/default.nix b/pkgs/applications/misc/xmove/default.nix
index 32729d57475f..e461a2c8816a 100644
--- a/pkgs/applications/misc/xmove/default.nix
+++ b/pkgs/applications/misc/xmove/default.nix
@@ -14,5 +14,6 @@ stdenv.mkDerivation {
 
   meta = {
     platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/applications/misc/xterm/default.nix b/pkgs/applications/misc/xterm/default.nix
index aa36ccd49e23..292e4e5ba38b 100644
--- a/pkgs/applications/misc/xterm/default.nix
+++ b/pkgs/applications/misc/xterm/default.nix
@@ -3,14 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "xterm-333";
+  name = "xterm-335";
 
   src = fetchurl {
     urls = [
      "ftp://ftp.invisible-island.net/xterm/${name}.tgz"
      "https://invisible-mirror.net/archives/xterm/${name}.tgz"
    ];
-    sha256 = "0y7gl26mxw6kwqx9j9mi6lx1lp1v3nrlga19ddn07j2m9q0l479g";
+    sha256 = "15nbgys4s2idhx6jzzc24g9bb1s6yps5fyg2bafvs0gkkcm1ggz0";
   };
 
   buildInputs =