summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.github/CODEOWNERS1
-rw-r--r--doc/functions.xml16
-rw-r--r--lib/debug.nix184
-rw-r--r--lib/default.nix9
-rw-r--r--lib/modules.nix4
-rw-r--r--maintainers/maintainer-list.nix4
-rw-r--r--nixos/doc/manual/release-notes/rl-1809.xml45
-rw-r--r--nixos/modules/misc/nixpkgs.nix6
-rw-r--r--nixos/modules/services/audio/alsa.nix5
-rw-r--r--nixos/modules/services/continuous-integration/buildkite-agent.nix2
-rw-r--r--nixos/modules/services/web-servers/caddy.nix4
-rw-r--r--nixos/modules/services/x11/xserver.nix5
-rw-r--r--nixos/release-combined.nix2
-rw-r--r--pkgs/applications/editors/atom/default.nix4
-rw-r--r--pkgs/applications/graphics/darktable/default.nix4
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix11
-rw-r--r--pkgs/applications/misc/masterpdfeditor/default.nix94
-rw-r--r--pkgs/applications/networking/cluster/terraform-provider-ibm/default.nix38
-rw-r--r--pkgs/applications/networking/cluster/terraform/providers/data.nix75
-rw-r--r--pkgs/applications/networking/remote/teamviewer/default.nix61
-rw-r--r--pkgs/applications/taxes/aangifte-2006/builder.sh17
-rw-r--r--pkgs/applications/taxes/aangifte-2006/default.nix21
-rw-r--r--pkgs/applications/taxes/aangifte-2007/builder.sh19
-rw-r--r--pkgs/applications/taxes/aangifte-2007/default.nix24
-rw-r--r--pkgs/applications/taxes/aangifte-2008/builder.sh19
-rw-r--r--pkgs/applications/taxes/aangifte-2008/default.nix25
-rw-r--r--pkgs/applications/taxes/aangifte-2009/default.nix40
-rw-r--r--pkgs/applications/taxes/aangifte-2010/default.nix40
-rw-r--r--pkgs/applications/taxes/aangifte-2011/default.nix40
-rw-r--r--pkgs/applications/taxes/aangifte-2012/default.nix41
-rw-r--r--pkgs/applications/taxes/aangifte-2013-wa/default.nix41
-rw-r--r--pkgs/applications/taxes/aangifte-2013/default.nix41
-rw-r--r--pkgs/applications/taxes/aangifte-2014-wa/default.nix41
-rw-r--r--pkgs/applications/taxes/aangifte-2014/default.nix41
-rw-r--r--pkgs/applications/video/shotcut/default.nix6
-rw-r--r--pkgs/data/fonts/inziu-iosevka/default.nix33
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix5
-rw-r--r--pkgs/development/interpreters/jruby/default.nix4
-rw-r--r--pkgs/development/libraries/accountsservice/default.nix8
-rw-r--r--pkgs/development/libraries/aqbanking/default.nix9
-rw-r--r--pkgs/development/libraries/aqbanking/gwenhywfar.nix30
-rw-r--r--pkgs/development/libraries/aqbanking/libchipcard.nix7
-rw-r--r--pkgs/development/libraries/aqbanking/sources.nix12
-rw-r--r--pkgs/development/libraries/eccodes/default.nix4
-rw-r--r--pkgs/development/libraries/libsass/default.nix4
-rw-r--r--pkgs/development/python-modules/cysignals/default.nix4
-rw-r--r--pkgs/development/python-modules/weboob/default.nix14
-rw-r--r--pkgs/development/tools/haskell/multi-ghc-travis/default.nix4
-rw-r--r--pkgs/games/empty-epsilon/default.nix58
-rw-r--r--pkgs/misc/vim-plugins/vim-utils.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.16.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-copperhead-hardened.nix4
-rw-r--r--pkgs/servers/osrm-backend/default.nix4
-rw-r--r--pkgs/servers/smcroute/default.nix10
-rw-r--r--pkgs/servers/sql/monetdb/default.nix24
-rw-r--r--pkgs/servers/web-apps/selfoss/default.nix17
-rw-r--r--pkgs/stdenv/generic/check-meta.nix2
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/datapath.patch16
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix10
-rw-r--r--pkgs/tools/misc/bdf2psf/default.nix4
-rw-r--r--pkgs/tools/misc/pspg/default.nix8
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/tools/networking/openfortivpn/default.nix4
-rw-r--r--pkgs/tools/networking/pssh/default.nix11
-rw-r--r--pkgs/tools/package-management/packagekit/default.nix4
-rw-r--r--pkgs/tools/system/hwinfo/default.nix4
-rw-r--r--pkgs/tools/text/vale/default.nix10
-rw-r--r--pkgs/tools/text/vale/deps.nix519
-rw-r--r--pkgs/tools/virtualization/awsebcli/default.nix12
-rw-r--r--pkgs/top-level/all-packages.nix34
72 files changed, 863 insertions, 1080 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 4e508d739e6a..3d4855c5cf40 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -14,6 +14,7 @@
 /lib                        @edolstra @nbp
 /lib/systems                @nbp @ericson2314
 /lib/generators.nix         @edolstra @nbp @Profpatsch
+/lib/debug.nix              @edolstra @nbp @Profpatsch
 
 # Nixpkgs Internals
 /default.nix                          @nbp
diff --git a/doc/functions.xml b/doc/functions.xml
index f790512e7db1..b2e450972947 100644
--- a/doc/functions.xml
+++ b/doc/functions.xml
@@ -294,6 +294,22 @@ merge:"diff3"
 
 </section>
 
+<section xml:id="sec-debug">
+  <title>Debugging Nix Expressions</title>
+
+  <para>Nix is a unityped, dynamic language, this means every value can
+  potentially appear anywhere. Since it is also non-strict, evaluation order
+  and what ultimately is evaluated might surprise you. Therefore it is important
+  to be able to debug nix expressions.</para>
+
+
+  <para>In the <literal>lib/debug.nix</literal> file you will find a number of
+  functions that help (pretty-)printing values while evaluation is runnnig. You
+  can even specify how deep these values should be printed recursively, and
+  transform them on the fly. Please consult the docstrings in
+  <literal>lib/debug.nix</literal> for usage information.</para>
+</section>
+
 
 <section xml:id="sec-fhs-environments">
   <title>buildFHSUserEnv</title>
diff --git a/lib/debug.nix b/lib/debug.nix
index d163e60b6957..91a9265a6b5e 100644
--- a/lib/debug.nix
+++ b/lib/debug.nix
@@ -1,34 +1,67 @@
+/* Collection of functions useful for debugging
+   broken nix expressions.
+
+   * `trace`-like functions take two values, print
+     the first to stderr and return the second.
+   * `traceVal`-like functions take one argument
+     which both printed and returned.
+   * `traceSeq`-like functions fully evaluate their
+     traced value before printing (not just to “weak
+     head normal form” like trace does by default).
+   * Functions that end in `-Fn` take an additional
+     function as their first argument, which is applied
+     to the traced value before it is printed.
+*/
 { lib }:
-
 let
-
-inherit (builtins) trace attrNamesToStr isAttrs isList isInt
-        isString isBool head substring attrNames;
-
-inherit (lib) all id mapAttrsFlatten elem isFunction;
-
+  inherit (builtins) trace isAttrs isList isInt
+          head substring attrNames;
+  inherit (lib) id elem isFunction;
 in
 
 rec {
 
-  inherit (builtins) addErrorContext;
-
-  addErrorContextToAttrs = lib.mapAttrs (a: v: lib.addErrorContext "while evaluating ${a}" v);
+  # -- TRACING --
 
-  traceIf = p: msg: x: if p then trace msg x else x;
+  /* Trace msg, but only if pred is true.
 
-  traceVal = x: trace x x;
-  traceXMLVal = x: trace (builtins.toXML x) x;
-  traceXMLValMarked = str: x: trace (str + builtins.toXML x) x;
+     Example:
+       traceIf true "hello" 3
+       trace: hello
+       => 3
+  */
+  traceIf = pred: msg: x: if pred then trace msg x else x;
 
-  # strict trace functions (traced structure is fully evaluated and printed)
+  /* Trace the value and also return it.
 
-  /* `builtins.trace`, but the value is `builtins.deepSeq`ed first. */
+     Example:
+       traceValFn (v: "mystring ${v}") "foo"
+       trace: mystring foo
+       => "foo"
+  */
+  traceValFn = f: x: trace (f x) x;
+  traceVal = traceValFn id;
+
+  /* `builtins.trace`, but the value is `builtins.deepSeq`ed first.
+
+     Example:
+       trace { a.b.c = 3; } null
+       trace: { a = <CODE>; }
+       => null
+       traceSeq { a.b.c = 3; } null
+       trace: { a = { b = { c = 3; }; }; }
+       => null
+  */
   traceSeq = x: y: trace (builtins.deepSeq x x) y;
 
-  /* Like `traceSeq`, but only down to depth n.
-   * This is very useful because lots of `traceSeq` usages
-   * lead to an infinite recursion.
+  /* Like `traceSeq`, but only evaluate down to depth n.
+     This is very useful because lots of `traceSeq` usages
+     lead to an infinite recursion.
+
+     Example:
+       traceSeqN 2 { a.b.c = 3; } null
+       trace: { a = { b = {…}; }; }
+       => null
    */
   traceSeqN = depth: x: y: with lib;
     let snip = v: if      isList  v then noQuotes "[…]" v
@@ -43,39 +76,16 @@ rec {
     in trace (generators.toPretty { allowPrettyValues = true; }
                (modify depth snip x)) y;
 
-  /* `traceSeq`, but the same value is traced and returned */
-  traceValSeq = v: traceVal (builtins.deepSeq v v);
-  /* `traceValSeq` but with fixed depth */
-  traceValSeqN = depth: v: traceSeqN depth v v;
+  /* A combination of `traceVal` and `traceSeq` */
+  traceValSeqFn = f: v: traceVal f (builtins.deepSeq v v);
+  traceValSeq = traceValSeqFn id;
 
+  /* A combination of `traceVal` and `traceSeqN`. */
+  traceValSeqNFn = f: depth: v: traceSeqN depth (f v) v;
+  traceValSeqN = traceValSeqNFn id;
 
-  # this can help debug your code as well - designed to not produce thousands of lines
-  traceShowVal = x: trace (showVal x) x;
-  traceShowValMarked = str: x: trace (str + showVal x) x;
-  attrNamesToStr = a: lib.concatStringsSep "; " (map (x: "${x}=") (attrNames a));
-  showVal = x:
-      if isAttrs x then
-          if x ? outPath then "x is a derivation, name ${if x ? name then x.name else "<no name>"}, { ${attrNamesToStr x} }"
-          else "x is attr set { ${attrNamesToStr x} }"
-      else if isFunction x then "x is a function"
-      else if x == [] then "x is an empty list"
-      else if isList x then "x is a list, first element is: ${showVal (head x)}"
-      else if x == true then "x is boolean true"
-      else if x == false then "x is boolean false"
-      else if x == null then "x is null"
-      else if isInt x then "x is an integer `${toString x}'"
-      else if isString x then "x is a string `${substring 0 50 x}...'"
-      else "x is probably a path `${substring 0 50 (toString x)}...'";
 
-  # trace the arguments passed to function and its result
-  # maybe rewrite these functions in a traceCallXml like style. Then one function is enough
-  traceCall  = n: f: a: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a));
-  traceCall2 = n: f: a: b: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b));
-  traceCall3 = n: f: a: b: c: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b) (t "arg 3" c));
-
-  # FIXME: rename this?
-  traceValIfNot = c: x:
-    if c x then true else trace (showVal x) false;
+  # -- TESTING --
 
   /* Evaluate a set of tests.  A test is an attribute set {expr,
      expected}, denoting an expression and its expected result.  The
@@ -99,9 +109,68 @@ rec {
   # usage: { testX = allTrue [ true ]; }
   testAllTrue = expr: { inherit expr; expected = map (x: true) expr; };
 
-  strict = v:
-    trace "Warning: strict is deprecated and will be removed in the next release"
-      (builtins.seq v v);
+
+  # -- DEPRECATED --
+
+  traceShowVal = x: trace (showVal x) x;
+  traceShowValMarked = str: x: trace (str + showVal x) x;
+
+  attrNamesToStr = a:
+    trace ( "Warning: `attrNamesToStr` is deprecated "
+          + "and will be removed in the next release. "
+          + "Please use more specific concatenation "
+          + "for your uses (`lib.concat(Map)StringsSep`)." )
+    (lib.concatStringsSep "; " (map (x: "${x}=") (attrNames a)));
+
+  showVal = with lib;
+    trace ( "Warning: `showVal` is deprecated "
+          + "and will be removed in the next release, "
+          + "please use `traceSeqN`" )
+    (let
+      modify = v:
+        let pr = f: { __pretty = f; val = v; };
+        in   if isDerivation v then pr
+          (drv: "<δ:${drv.name}:${concatStringsSep ","
+                                 (attrNames drv)}>")
+        else if [] ==   v then pr (const "[]")
+        else if isList  v then pr (l: "[ ${go (head l)}, … ]")
+        else if isAttrs v then pr
+          (a: "{ ${ concatStringsSep ", " (attrNames a)} }")
+        else v;
+      go = x: generators.toPretty
+        { allowPrettyValues = true; }
+        (modify x);
+    in go);
+
+  traceXMLVal = x:
+    trace ( "Warning: `traceXMLVal` is deprecated "
+          + "and will be removed in the next release. "
+          + "Please use `traceValFn builtins.toXML`." )
+    (trace (builtins.toXML x) x);
+  traceXMLValMarked = str: x:
+    trace ( "Warning: `traceXMLValMarked` is deprecated "
+          + "and will be removed in the next release. "
+          + "Please use `traceValFn (x: str + builtins.toXML x)`." )
+    (trace (str + builtins.toXML x) x);
+
+  # trace the arguments passed to function and its result
+  # maybe rewrite these functions in a traceCallXml like style. Then one function is enough
+  traceCall  = n: f: a: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a));
+  traceCall2 = n: f: a: b: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b));
+  traceCall3 = n: f: a: b: c: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b) (t "arg 3" c));
+
+  traceValIfNot = c: x:
+    trace ( "Warning: `traceValIfNot` is deprecated "
+          + "and will be removed in the next release. "
+          + "Please use `if/then/else` and `traceValSeq 1`.")
+    (if c x then true else traceSeq (showVal x) false);
+
+
+  addErrorContextToAttrs = attrs:
+    trace ( "Warning: `addErrorContextToAttrs` is deprecated "
+          + "and will be removed in the next release. "
+          + "Please use `builtins.addErrorContext` directly." )
+    (lib.mapAttrs (a: v: lib.addErrorContext "while evaluating ${a}" v) attrs);
 
   # example: (traceCallXml "myfun" id 3) will output something like
   # calling myfun arg 1: 3 result: 3
@@ -109,17 +178,20 @@ rec {
   # note: if result doesn't evaluate you'll get no trace at all (FIXME)
   #       args should be printed in any case
   traceCallXml = a:
-    if !isInt a then
+    trace ( "Warning: `traceCallXml` is deprecated "
+          + "and will be removed in the next release. "
+          + "Please complain if you use the function regularly." )
+    (if !isInt a then
       traceCallXml 1 "calling ${a}\n"
     else
       let nr = a;
       in (str: expr:
           if isFunction expr then
             (arg:
-              traceCallXml (builtins.add 1 nr) "${str}\n arg ${builtins.toString nr} is \n ${builtins.toXML (strict arg)}" (expr arg)
+              traceCallXml (builtins.add 1 nr) "${str}\n arg ${builtins.toString nr} is \n ${builtins.toXML (builtins.seq arg arg)}" (expr arg)
             )
           else
-            let r = strict expr;
+            let r = builtins.seq expr expr;
             in trace "${str}\n result:\n${builtins.toXML r}" r
-      );
+      ));
 }
diff --git a/lib/default.nix b/lib/default.nix
index c292ed33e1da..b3c4fdc0e59a 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -115,11 +115,12 @@ let
       unknownModule mkOption;
     inherit (types) isType setType defaultTypeMerge defaultFunctor
       isOptionType mkOptionType;
-    inherit (debug) addErrorContextToAttrs traceIf traceVal
+    inherit (debug) addErrorContextToAttrs traceIf traceVal traceValFn
       traceXMLVal traceXMLValMarked traceSeq traceSeqN traceValSeq
-      traceValSeqN traceShowVal traceShowValMarked
-      showVal traceCall traceCall2 traceCall3 traceValIfNot runTests
-      testAllTrue strict traceCallXml attrNamesToStr;
+      traceValSeqFn traceValSeqN traceValSeqNFn traceShowVal
+      traceShowValMarked showVal traceCall traceCall2 traceCall3
+      traceValIfNot runTests testAllTrue traceCallXml
+      attrNamesToStr;
     inherit (misc) maybeEnv defaultMergeArg defaultMerge foldArgs
       defaultOverridableDelayableArgs composedArgsAndFun
       maybeAttrNullable maybeAttr ifEnable checkFlag getValue
diff --git a/lib/modules.nix b/lib/modules.nix
index 4ef982c7ec96..6c8033322a54 100644
--- a/lib/modules.nix
+++ b/lib/modules.nix
@@ -159,7 +159,7 @@ rec {
       context = name: ''while evaluating the module argument `${name}' in "${key}":'';
       extraArgs = builtins.listToAttrs (map (name: {
         inherit name;
-        value = addErrorContext (context name)
+        value = builtins.addErrorContext (context name)
           (args.${name} or config._module.args.${name});
       }) requiredArgs);
 
@@ -309,7 +309,7 @@ rec {
           res.mergedValue;
 
     in opt //
-      { value = addErrorContext "while evaluating the option `${showOption loc}':" value;
+      { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
         definitions = map (def: def.value) res.defsFinal;
         files = map (def: def.file) res.defsFinal;
         inherit (res) isDefined;
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 299f4d1c82a8..18ed73b19324 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -1241,7 +1241,7 @@
     name = "Mabry Cervin";
   };
   eqyiel = {
-    email = "r@rkm.id.au";
+    email = "ruben@maher.fyi";
     github = "eqyiel";
     name = "Ruben Maher";
   };
@@ -4044,7 +4044,7 @@
   xeji = {
     email = "xeji@cat3.de";
     github = "xeji";
-    name = "xeji";
+    name = "Uli Baum";
   };
   xnaveira = {
     email = "xnaveira@gmail.com";
diff --git a/nixos/doc/manual/release-notes/rl-1809.xml b/nixos/doc/manual/release-notes/rl-1809.xml
index 61f9ec8ba995..2e53f0563baf 100644
--- a/nixos/doc/manual/release-notes/rl-1809.xml
+++ b/nixos/doc/manual/release-notes/rl-1809.xml
@@ -58,6 +58,11 @@ following incompatible changes:</para>
 <itemizedlist>
   <listitem>
     <para>
+      <literal>lib.strict</literal> is removed. Use <literal>builtins.seq</literal> instead.
+    </para>
+  </listitem>
+  <listitem>
+    <para>
       The <literal>clementine</literal> package points now to the free derivation.
       <literal>clementineFree</literal> is removed now and <literal>clementineUnfree</literal>
       points to the package which is bundled with the unfree <literal>libspotify</literal> package.
@@ -77,6 +82,46 @@ following incompatible changes:</para>
 <itemizedlist>
   <listitem>
     <para>
+      <literal>lib.attrNamesToStr</literal> has been deprecated. Use
+      more specific concatenation (<literal>lib.concat(Map)StringsSep</literal>)
+      instead.
+    </para>
+  </listitem>
+  <listitem>
+    <para>
+      <literal>lib.addErrorContextToAttrs</literal> has been deprecated. Use
+      <literal>builtins.addErrorContext</literal> directly.
+    </para>
+  </listitem>
+  <listitem>
+    <para>
+      <literal>lib.showVal</literal> has been deprecated. Use
+      <literal>lib.traceSeqN</literal> instead.
+    </para>
+  </listitem>
+  <listitem>
+    <para>
+      <literal>lib.traceXMLVal</literal> has been deprecated. Use
+      <literal>lib.traceValFn builtins.toXml</literal> instead.
+    </para>
+  </listitem>
+  <listitem>
+    <para>
+      <literal>lib.traceXMLValMarked</literal> has been deprecated. Use
+      <literal>lib.traceValFn (x: str + builtins.toXML x)</literal> instead.
+    </para>
+  </listitem>
+  <listitem>
+    <para>
+      <literal>lib.traceValIfNot</literal> has been deprecated. Use
+      <literal>if/then/else</literal> and <literal>lib.traceValSeq</literal>
+      instead.
+    </para>
+  </listitem>
+  <listitem>
+    <para>
+      <literal>lib.traceCallXml</literal> has been deprecated. Please complain
+      if you use the function regularly.
     </para>
   </listitem>
 </itemizedlist>
diff --git a/nixos/modules/misc/nixpkgs.nix b/nixos/modules/misc/nixpkgs.nix
index b8a55a24394e..8fbe218b232a 100644
--- a/nixos/modules/misc/nixpkgs.nix
+++ b/nixos/modules/misc/nixpkgs.nix
@@ -33,7 +33,11 @@ let
   configType = mkOptionType {
     name = "nixpkgs-config";
     description = "nixpkgs config";
-    check = traceValIfNot isConfig;
+    check = x:
+      let traceXIfNot = c:
+            if c x then true
+            else lib.traceSeqN 1 x false;
+      in traceXIfNot isConfig;
     merge = args: fold (def: mergeConfig def.value) {};
   };
 
diff --git a/nixos/modules/services/audio/alsa.nix b/nixos/modules/services/audio/alsa.nix
index e3e8bb28c58b..376aad66e236 100644
--- a/nixos/modules/services/audio/alsa.nix
+++ b/nixos/modules/services/audio/alsa.nix
@@ -54,6 +54,11 @@ in
           description = ''
             Whether to enable volume and capture control with keyboard media keys.
 
+            You want to leave this disabled if you run a desktop environment
+            like KDE, Gnome, Xfce, etc, as those handle such things themselves.
+            You might want to enable this if you run a minimalistic desktop
+            environment or work from bare linux ttys/framebuffers.
+
             Enabling this will turn on <option>services.actkbd</option>.
           '';
         };
diff --git a/nixos/modules/services/continuous-integration/buildkite-agent.nix b/nixos/modules/services/continuous-integration/buildkite-agent.nix
index 03af9a7859ec..d647b7b9fa49 100644
--- a/nixos/modules/services/continuous-integration/buildkite-agent.nix
+++ b/nixos/modules/services/continuous-integration/buildkite-agent.nix
@@ -17,7 +17,7 @@ let
 
   hooksDir = let
     mkHookEntry = name: value: ''
-      cat > $out/${name} <<EOF
+      cat > $out/${name} <<'EOF'
       #! ${pkgs.runtimeShell}
       set -e
       ${value}
diff --git a/nixos/modules/services/web-servers/caddy.nix b/nixos/modules/services/web-servers/caddy.nix
index d8efa24bc6d5..2124a42f01a1 100644
--- a/nixos/modules/services/web-servers/caddy.nix
+++ b/nixos/modules/services/web-servers/caddy.nix
@@ -25,8 +25,8 @@ in {
     };
 
     ca = mkOption {
-      default = "https://acme-v01.api.letsencrypt.org/directory";
-      example = "https://acme-staging.api.letsencrypt.org/directory";
+      default = "https://acme-v02.api.letsencrypt.org/directory";
+      example = "https://acme-staging-v02.api.letsencrypt.org/directory";
       type = types.string;
       description = "Certificate authority ACME server. The default (Let's Encrypt production server) should be fine for most people.";
     };
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index 5f0a0f278452..29d1f17d28c8 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -240,7 +240,10 @@ in
         type = types.listOf types.str;
         # !!! We'd like "nv" here, but it segfaults the X server.
         default = [ "ati" "cirrus" "intel" "vesa" "vmware" "modesetting" ];
-        example = [ "vesa" ];
+        example = [
+          "ati_unfree" "amdgpu" "amdgpu-pro"
+          "nv" "nvidia" "nvidiaLegacy340" "nvidiaLegacy304" "nvidiaLegacy173"
+        ];
         description = ''
           The names of the video drivers the configuration
           supports. They will be tried in order until one that
diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index 4d6ff334d347..e010b532a688 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -58,7 +58,7 @@ in rec {
         nixos.ova.x86_64-linux or []
 
         #(all nixos.tests.containers)
-        #nixos.tests.chromium.x86_64-linux or []
+        nixos.tests.chromium.x86_64-linux or []
         (all nixos.tests.firefox)
         (all nixos.tests.firewall)
         (all nixos.tests.gnome3)
diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix
index 7b989f8df1f9..ca223803f04d 100644
--- a/pkgs/applications/editors/atom/default.nix
+++ b/pkgs/applications/editors/atom/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "atom-${version}";
-  version = "1.26.0";
+  version = "1.26.1";
 
   src = fetchurl {
     url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
-    sha256 = "1gyxys3mwwizc88vlb6j769b6r4ibjnqs6pg5iv336b13f9acyvr";
+    sha256 = "0g83qj9siq1vr2v46rzjf3dy2gns9krh6xlh7w3bhrgfk0vqkm11";
     name = "${name}.deb";
   };
 
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
index d81fea5ea398..4de49524f82f 100644
--- a/pkgs/applications/graphics/darktable/default.nix
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -6,12 +6,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.4.2";
+  version = "2.4.3";
   name = "darktable-${version}";
 
   src = fetchurl {
     url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
-    sha256 = "10asz918kv2248px3w9bn5k8cfrad5xrci58x9y61l0yf5hcpk0r";
+    sha256 = "1lq3xp7hhfhfwqrz0f2mrp3xywnpvb0nlw6lbm5cgx22s5xzri8x";
   };
 
   nativeBuildInputs = [ cmake ninja llvm pkgconfig intltool perl desktop-file-utils wrapGAppsHook ];
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index eb349e412068..5978612fdf33 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -29,10 +29,13 @@ stdenv.mkDerivation rec {
     patchShebangs fix-roff-punct
 
     # XXX: Not needed for CMake:
-    patchShebangs share/palettes
-    patchShebangs share/patterns
-    patchShebangs share/symbols
-    patchShebangs share/templates
+    ${lib.optionalString (!stdenv.isDarwin) ''
+      patchShebangs share/filters
+      patchShebangs share/palettes
+      patchShebangs share/patterns
+      patchShebangs share/symbols
+      patchShebangs share/templates
+    ''}
 
     # Python is used at run-time to execute scripts, e.g., those from
     # the "Effects" menu.
diff --git a/pkgs/applications/misc/masterpdfeditor/default.nix b/pkgs/applications/misc/masterpdfeditor/default.nix
index 5ea49f28afd8..525be09d9686 100644
--- a/pkgs/applications/misc/masterpdfeditor/default.nix
+++ b/pkgs/applications/misc/masterpdfeditor/default.nix
@@ -1,52 +1,42 @@
-{ stdenv, fetchurl, glibc, sane-backends, qtbase, qtsvg, libXext, libX11, libXdmcp, libXau, libxcb }:
-  let
-    version = "4.3.89";
-  in
-    stdenv.mkDerivation {
-      name = "masterpdfeditor-${version}";
-      src = fetchurl {
-        url = "http://get.code-industry.net/public/master-pdf-editor-${version}_qt5.amd64.tar.gz";
-        sha256 = "0k5bzlhqglskiiq86nmy18mnh5bf2w3mr9cq3pibrwn5pisxnxxc";
-      };
-      libPath = stdenv.lib.makeLibraryPath [
-        stdenv.cc.cc
-        glibc
-        sane-backends
-        qtbase
-        qtsvg
-        libXext
-        libX11
-        libXdmcp
-        libXau
-        libxcb
-      ];
-      dontStrip = true;
-      installPhase = ''
-        p=$out/opt/masterpdfeditor
-        mkdir -p $out/bin $p $out/share/applications $out/share/pixmaps
-
-        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
-
-        cp -v masterpdfeditor4 $p/
-        ln -s $p/masterpdfeditor4 $out/bin/masterpdfeditor4
-        cp -v -r stamps templates lang fonts $p
-
-        install -D license.txt $out/share/$name/LICENSE
-
-        patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-                 --set-rpath $libPath \
-                 $p/masterpdfeditor4
-      '';
-      meta = with stdenv.lib; {
-        description = "Master PDF Editor";
-        homepage = "https://code-industry.net/free-pdf-editor/";
-        license = licenses.unfreeRedistributable;
-        platforms = with platforms; [ "x86_64-linux" ];
-        maintainers = with maintainers; [ cmcdragonkai flokli ];
-      };
-    }
+{ stdenv, fetchurl, glibc, sane-backends, qtbase, qtsvg, libXext, libX11, libXdmcp, libXau, libxcb, autoPatchelfHook }:
+let
+  version = "4.3.89";
+in stdenv.mkDerivation {
+  name = "masterpdfeditor-${version}";
+  src = fetchurl {
+    url = "http://get.code-industry.net/public/master-pdf-editor-${version}_qt5.amd64.tar.gz";
+    sha256 = "0k5bzlhqglskiiq86nmy18mnh5bf2w3mr9cq3pibrwn5pisxnxxc";
+  };
+
+  nativeBuildInputs = [ autoPatchelfHook ];
+
+  buildInputs = [ sane-backends qtbase qtsvg ];
+
+  dontStrip = true;
+
+  installPhase = ''
+   p=$out/opt/masterpdfeditor
+   mkdir -p $out/bin $p $out/share/applications $out/share/pixmaps
+
+   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
+
+   cp -v masterpdfeditor4 $p/
+   ln -s $p/masterpdfeditor4 $out/bin/masterpdfeditor4
+   cp -v -r stamps templates lang fonts $p
+
+   install -D license.txt $out/share/$name/LICENSE
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Master PDF Editor";
+    homepage = "https://code-industry.net/free-pdf-editor/";
+    license = licenses.unfreeRedistributable;
+    platforms = with platforms; [ "x86_64-linux" ];
+    maintainers = with maintainers; [ cmcdragonkai flokli ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/terraform-provider-ibm/default.nix b/pkgs/applications/networking/cluster/terraform-provider-ibm/default.nix
new file mode 100644
index 000000000000..9764e029d277
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-provider-ibm/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+#
+# USAGE:
+# install the following package globally or in nix-shell:
+#
+#   (terraform.withPlugins ( plugins: [ terraform-provider-ibm ]))
+#
+# examples:
+# https://github.com/IBM-Cloud/terraform-provider-ibm/tree/master/examples
+#
+
+buildGoPackage rec {
+  name = "terraform-provider-ibm-${version}";
+  version = "0.8.0";
+
+  goPackagePath = "github.com/terraform-providers/terraform-provider-ibm";
+  subPackages = [ "./" ];
+
+  src = fetchFromGitHub {
+    owner = "IBM-Cloud";
+    repo = "terraform-provider-ibm";
+    sha256 = "1jc1g2jadh02z4lfqnvgqk5cqrzk8pnn3cj3cwsm3ksa8pccf6w4";
+    rev = "v${version}";
+  };
+
+  # Terraform allow checking the provider versions, but this breaks
+  # if the versions are not provided via file paths.
+  postBuild = "mv go/bin/terraform-provider-ibm{,_v${version}}";
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/IBM-Cloud/terraform-provider-ibm;
+    description = "Terraform provider is used to manage IBM Cloud resources.";
+    platforms = platforms.all;
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ jensbin ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/terraform/providers/data.nix b/pkgs/applications/networking/cluster/terraform/providers/data.nix
index 0a0b20bfd15d..7aed4b95dd45 100644
--- a/pkgs/applications/networking/cluster/terraform/providers/data.nix
+++ b/pkgs/applications/networking/cluster/terraform/providers/data.nix
@@ -4,8 +4,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-alicloud";
-      version = "1.9.0";
-      sha256  = "19jqyzpcnlraxzn8bvrjzsh81j7dfadswgxfsiqzxll9xbm0k2bv";
+      version = "1.9.1";
+      sha256  = "11rsvzyc74v14n7g0z1mwyykaz7m6bmvi38jx711b6vpxvm2scva";
     };
   archive =
     {
@@ -32,8 +32,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-aws";
-      version = "1.13.0";
-      sha256  = "09ba2r3avqbl85s8llmgkk6gwgfkzm83994kd965r481xcnfv1ny";
+      version = "1.16.0";
+      sha256  = "0knivwxdjkxyaqka0vvn0lh2ndbg660dw2g03iw00fx6ska1zn0c";
     };
   azure-classic =
     {
@@ -46,8 +46,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-azurerm";
-      version = "1.3.1";
-      sha256  = "1qpf2h9qnhki4lg9pv77r0sc4acj08m0fqqagkvkinq46ypsfbp4";
+      version = "1.4.0";
+      sha256  = "0g1i1aasi44zn5bdivzqkk1kshq271x2lydjskyqq7jfx27myibb";
     };
   bitbucket =
     {
@@ -81,22 +81,22 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cloudflare";
-      version = "0.1.0";
-      sha256  = "073j0kqkccj7yrqz6j4vx722vmy6mmvmgidamkjnhhjcwm6g1jbq";
+      version = "1.0.0";
+      sha256  = "1ar9wcgr45f2v6bqjn24zii0qwfppla8ya3gjc546sh1a7m0h9p3";
     };
   cloudscale =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cloudscale";
-      version = "1.0.0";
-      sha256  = "0yqiz4xywbd3568hl6va8da81fbc1hnynlz4z0vqxgi3bs8hhdhz";
+      version = "1.0.1";
+      sha256  = "0lhzwbm1a2s11s0ahb3vxfvshh385fgy1ficvip4rl31dahhwrav";
     };
   cloudstack =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cloudstack";
-      version = "0.1.4";
-      sha256  = "1dj6zkwv0bix31b8sjad9gil43m8c2c5d1dr10qza40f9z4agaxa";
+      version = "0.1.5";
+      sha256  = "139wq6rr6fczjz496fqkxh6cmscx5hfnv2hvhfwpkhvqipsnlxmq";
     };
   cobbler =
     {
@@ -193,15 +193,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-google";
-      version = "1.8.0";
-      sha256  = "1n01gj9572hhskbl4bsg0fqyg9slv8fpvzp3avmwvg5b2hsj4snh";
+      version = "1.10.0";
+      sha256  = "08ayi30aqw9lz8qn982vl9m3z4prah60fqq2q9hvscf6qb9g8lr0";
     };
   grafana =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-grafana";
-      version = "1.0.1";
-      sha256  = "1dvd7dy039ranlkvnbililk2lzr6cffwc4jsgs6lk3hfxhrq8bns";
+      version = "1.0.2";
+      sha256  = "17pj4mm7ik9llhgckza822866x6986cdcr821f16dchvn3bfbf2i";
     };
   heroku =
     {
@@ -263,8 +263,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-logentries";
-      version = "0.1.0";
-      sha256  = "11fkb84gqcq59wk5kqn3h428jrc2gkl659zxmkdldad6jdll9ypa";
+      version = "1.0.0";
+      sha256  = "04xprkb9zwdjyzmsdf10bgmn8sa8q7jw0izz8lw0cc9hag97qgbq";
     };
   logicmonitor =
     {
@@ -308,6 +308,13 @@
       version = "1.0.0";
       sha256  = "0zjdhz6miwlg3b68pbd99c6nw7hhyzxy736734xz8g3w89xn18f5";
     };
+  nsxt =
+    {
+      owner   = "terraform-providers";
+      repo    = "terraform-provider-nsxt";
+      version = "1.0.0";
+      sha256  = "09yliw59wp9flfgmkznbf4syl510wpxsplzr8sa9m2vw0yc78jnq";
+    };
   null =
     {
       owner   = "terraform-providers";
@@ -368,22 +375,22 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-packet";
-      version = "1.2.0";
-      sha256  = "0jk8wwm7srjxc3mspqd9szlq8fd63bhdgkzwdjr2fvv4ivj17xp4";
+      version = "1.2.3";
+      sha256  = "0vx2pvrxgpy137v3i563w0sdqqrqp6p6sls27fg76cfxrqik5dpk";
     };
   pagerduty =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-pagerduty";
-      version = "1.0.0";
-      sha256  = "113anbcpp8ab111jm19h7d9i5sds76msgnk8xvwk8qf6500ivfqa";
+      version = "1.1.0";
+      sha256  = "100zxmpgd5qbzivkc2ja75980yrlz0k50x7448wf1kp2inyylxq0";
     };
   panos =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-panos";
-      version = "1.0.0";
-      sha256  = "1pslp8pas1p90bmxp1yqmackqkbxrw2sgcm88ibz8l4k43vwks76";
+      version = "1.1.0";
+      sha256  = "1j3j0bdblw54g2l4xdwm9604n3qfb6zb4b8p081hs5nv004awka4";
     };
   postgresql =
     {
@@ -424,8 +431,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-random";
-      version = "1.1.0";
-      sha256  = "1mal0pg37a99q0sjqbccwc2ipwvxm8lqp93lg8i96f868hiv4yzl";
+      version = "1.2.0";
+      sha256  = "00gzqav21h2x2spczwcddlwl0llhgy03djvjjq9g9wb5yvcf4yll";
     };
   rundeck =
     {
@@ -438,8 +445,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-scaleway";
-      version = "1.2.0";
-      sha256  = "123rjvslq7gy2m96rikm0i2298jjpsnyh9civbyvbxj3h47z9h4v";
+      version = "1.3.0";
+      sha256  = "1yd2xdr52z0f3ykfhsfgf57zzhjglci8mvbimdf6z8xmdgfhwjbf";
     };
   softlayer =
     {
@@ -487,8 +494,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-triton";
-      version = "0.4.2";
-      sha256  = "0nid5sp8xskw5wmc0dbkw6m87bmyb37p9ck9xm74nrvdzqjxz5ml";
+      version = "0.5.0";
+      sha256  = "1cbv4bliswiwbhr9bh2m4faazhj0v89jnwn0fndfjw3rka1b97h7";
     };
   ultradns =
     {
@@ -501,8 +508,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-vault";
-      version = "1.0.0";
-      sha256  = "1v4b8zs0s48gqgsh719hwi69i4h8i5vvp2g5m881z5yzv7n7haqw";
+      version = "1.1.0";
+      sha256  = "1g0cca662glqcz83l1skhj3nb7g386x65kwz95kyp59nvyxywvbq";
     };
   vcd =
     {
@@ -515,7 +522,7 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-vsphere";
-      version = "1.3.3";
-      sha256  = "1z6v8hagpjm8573d36v3nak5h7hn3jyq2f4m93k1adygvs3n9yx7";
+      version = "1.4.1";
+      sha256  = "16dgszmcsfzbflqg053av1v8wgwy8m6f2qlk55fg3ww1a59c0wy1";
     };
 }
diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix
index 260500e9d337..5365228ae657 100644
--- a/pkgs/applications/networking/remote/teamviewer/default.nix
+++ b/pkgs/applications/networking/remote/teamviewer/default.nix
@@ -1,28 +1,13 @@
-{ stdenv, lib, fetchurl, xdg_utils, pkgs, pkgsi686Linux }:
+{ stdenv, lib, fetchurl, autoPatchelfHook, makeWrapper, xdg_utils, dbus, qtbase, qtwebkit, qtx11extras, qtquickcontrols, glibc, libXrandr, libX11 }:
 
-let
-  ld32 =
-    if stdenv.system == "i686-linux" then "${stdenv.cc}/nix-support/dynamic-linker"
-    else if stdenv.system == "x86_64-linux" then "${stdenv.cc}/nix-support/dynamic-linker-m32"
-    else throw "Unsupported system ${stdenv.system}";
-  ld64 = "${stdenv.cc}/nix-support/dynamic-linker";
-
-  mkLdPath = ps: lib.makeLibraryPath (with ps; [ qt4 dbus alsaLib ]);
-
-  deps = ps: (with ps; [ dbus zlib alsaLib fontconfig freetype libpng12 libjpeg ]) ++ (with ps.xorg; [ libX11 libXext libXdamage libXrandr libXrender libXfixes libSM libXtst libXinerama]);
-  tvldpath32 = lib.makeLibraryPath (with pkgsi686Linux; [ qt4 "$out/share/teamviewer/tv_bin/wine" ] ++ deps pkgsi686Linux);
-  tvldpath64 = lib.makeLibraryPath (deps pkgs);
-in
 
 stdenv.mkDerivation rec {
   name = "teamviewer-${version}";
-  version = "12.0.90041";
+  version = "13.1.3026";
 
   src = fetchurl {
-    # There is a 64-bit package, but it has no differences apart from Debian dependencies.
-    # Generic versioned packages (teamviewer_${version}_i386.tar.xz) are not available for some reason.
-    url = "https://dl.tvcdn.de/download/version_12x/teamviewer_${version}_i386.deb";
-    sha256 = "19gf68xadayncrbpkk3v05xm698zavv8mz8ia6jhadrh5s6i0bwg";
+    url = "https://dl.tvcdn.de/download/linux/version_13x/teamviewer_${version}_amd64.deb";
+    sha256 = "14zaa1xjdfmgbbq40is5mllqcd9zan03sblkzajswd5gps7crsik";
   };
 
   unpackPhase = ''
@@ -30,6 +15,10 @@ stdenv.mkDerivation rec {
     tar xf data.tar.*
   '';
 
+  nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
+  buildInputs = [ dbus qtbase qtwebkit qtx11extras libX11 ];
+  propagatedBuildInputs = [ qtquickcontrols ];
+
   installPhase = ''
     mkdir -p $out/share/teamviewer $out/bin $out/share/applications
     cp -a opt/teamviewer/* $out/share/teamviewer
@@ -46,41 +35,23 @@ stdenv.mkDerivation rec {
     ln -s /var/log/teamviewer $out/share/teamviewer/logfiles
     ln -s ${xdg_utils}/bin $out/share/teamviewer/tv_bin/xdg-utils
 
-    pushd $out/share/teamviewer/tv_bin
-
-    sed -i "s,TV_LD32_PATH=.*,TV_LD32_PATH=$(cat ${ld32})," script/tvw_config
-    ${if stdenv.system == "x86_64-linux" then ''
-      sed -i "s,TV_LD64_PATH=.*,TV_LD64_PATH=$(cat ${ld64})," script/tvw_config
-    '' else ''
-      sed -i "/TV_LD64_PATH=.*/d" script/tvw_config
-    ''}
-
-    sed -i "s,/opt/teamviewer,$out/share/teamviewer,g" desktop/com.teamviewer.*.desktop
+    sed -i "s,/opt/teamviewer,$out/share/teamviewer,g" $out/share/teamviewer/tv_bin/desktop/com.teamviewer.*.desktop
 
-    for i in teamviewer-config teamviewerd TeamViewer_Desktop TVGuiDelegate TVGuiSlave.32 wine/bin/* RTlib/libQtCore.so.4; do
-      echo "patching $i"
-      patchelf --set-interpreter $(cat ${ld32}) --set-rpath $out/share/teamviewer/tv_bin/RTlib:${tvldpath32} $i || true
-    done
-    for i in resources/*.so wine/drive_c/TeamViewer/tvwine.dll.so wine/lib/*.so* wine/lib/wine/*.so RTlib/*.so* ;  do
-      echo "patching $i"
-      patchelf --set-rpath $out/share/teamviewer/tv_bin/RTlib:${tvldpath32} $i || true
-    done
-    ${if stdenv.system == "x86_64-linux" then ''
-      patchelf --set-interpreter $(cat ${ld64}) --set-rpath ${tvldpath64} TVGuiSlave.64
-    '' else ''
-      rm TVGuiSlave.64
-    ''}
-    popd
+    substituteInPlace $out/share/teamviewer/tv_bin/script/tvw_aux \
+      --replace '/lib64/ld-linux-x86-64.so.2' '${glibc.out}/lib/ld-linux-x86-64.so.2'
+    substituteInPlace $out/share/teamviewer/tv_bin/script/tvw_config \
+      --replace '/var/run/' '/run/'
+    wrapProgram $out/share/teamviewer/tv_bin/script/teamviewer --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libXrandr libX11 ]}"
+    wrapProgram $out/share/teamviewer/tv_bin/teamviewerd --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libXrandr libX11 ]}"
   '';
 
-  dontPatchELF = true;
   dontStrip = true;
 
   meta = with stdenv.lib; {
     homepage = http://www.teamviewer.com;
     license = licenses.unfree;
     description = "Desktop sharing application, providing remote support and online meetings";
-    platforms = [ "i686-linux" "x86_64-linux" ];
+    platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ jagajaga dasuxullebt ];
   };
 }
diff --git a/pkgs/applications/taxes/aangifte-2006/builder.sh b/pkgs/applications/taxes/aangifte-2006/builder.sh
deleted file mode 100644
index 1b709b613bd4..000000000000
--- a/pkgs/applications/taxes/aangifte-2006/builder.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-source $stdenv/setup
-
-buildPhase() {
-    for i in bin/*; do
-        patchelf \
-            --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-            --set-rpath $libX11/lib:$libXext/lib \
-            $i
-    done
-}
-
-installPhase() {
-    mkdir -p $out
-    cp -prvd * $out/
-}
-
-genericBuild
diff --git a/pkgs/applications/taxes/aangifte-2006/default.nix b/pkgs/applications/taxes/aangifte-2006/default.nix
deleted file mode 100644
index 5883e51f712e..000000000000
--- a/pkgs/applications/taxes/aangifte-2006/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{stdenv, fetchurl, libX11, libXext}:
-
-stdenv.mkDerivation {
-  name = "aangifte2006-1";
-  builder = ./builder.sh;
-
-  src = fetchurl {
-    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2006_linux.tar.gz;
-    sha256 = "1hgm3vmcr32v34h4y8yz3vxcxbcsxqb12qy1dqqwgbg1bja7nvrc";
-  };
-
-  inherit libX11 libXext;
-
-  meta = {
-    description = "Elektronische aangifte IB 2006";
-    homepage = "http://www.belastingdienst.nl/download/1341.html";
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/applications/taxes/aangifte-2007/builder.sh b/pkgs/applications/taxes/aangifte-2007/builder.sh
deleted file mode 100644
index 79e5b3097696..000000000000
--- a/pkgs/applications/taxes/aangifte-2007/builder.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-source $stdenv/setup
-
-echo $NIX_CC
-
-buildPhase() {
-    for i in bin/*; do
-        patchelf \
-            --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-            --set-rpath $libX11/lib:$libXext/lib:$libSM/lib:$(cat $NIX_CC/nix-support/orig-cc)/lib \
-            $i
-    done
-}
-
-installPhase() {
-    mkdir -p $out
-    cp -prvd * $out/
-}
-
-genericBuild
diff --git a/pkgs/applications/taxes/aangifte-2007/default.nix b/pkgs/applications/taxes/aangifte-2007/default.nix
deleted file mode 100644
index 43fb26d811a3..000000000000
--- a/pkgs/applications/taxes/aangifte-2007/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{stdenv, fetchurl, libX11, libXext, libSM}:
-
-stdenv.mkDerivation {
-  name = "aangifte2007-1";
-  builder = ./builder.sh;
-
-  src = fetchurl {
-    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2007_linux.tar.gz;
-    sha256 = "13p3gv086jn95wvmfygdmk9qjn0qxqdv7pp0v5pmw6i5hp8rmjxf";
-  };
-
-  inherit libX11 libXext libSM;
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  meta = {
-    description = "Elektronische aangifte IB 2007";
-    homepage = "http://www.belastingdienst.nl/download/1341.html";
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/applications/taxes/aangifte-2008/builder.sh b/pkgs/applications/taxes/aangifte-2008/builder.sh
deleted file mode 100644
index 79e5b3097696..000000000000
--- a/pkgs/applications/taxes/aangifte-2008/builder.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-source $stdenv/setup
-
-echo $NIX_CC
-
-buildPhase() {
-    for i in bin/*; do
-        patchelf \
-            --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-            --set-rpath $libX11/lib:$libXext/lib:$libSM/lib:$(cat $NIX_CC/nix-support/orig-cc)/lib \
-            $i
-    done
-}
-
-installPhase() {
-    mkdir -p $out
-    cp -prvd * $out/
-}
-
-genericBuild
diff --git a/pkgs/applications/taxes/aangifte-2008/default.nix b/pkgs/applications/taxes/aangifte-2008/default.nix
deleted file mode 100644
index b9fad2fa10bd..000000000000
--- a/pkgs/applications/taxes/aangifte-2008/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{stdenv, fetchurl, libX11, libXext, libSM}:
-
-stdenv.mkDerivation {
-  name = "aangifte2008-1";
-  
-  builder = ./builder.sh;
-
-  src = fetchurl {
-    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2008_linux.tar.gz;
-    sha256 = "0p46bc1b14hgf07illg3crjgjdflkcknk4nzm7b73cwkni57scx3";
-  };
-
-  inherit libX11 libXext libSM;
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  meta = {
-    description = "Elektronische aangifte IB 2008 (Dutch Tax Return Program)";
-    homepage = http://www.belastingdienst.nl/particulier/aangifte2008/aangifte_2008/aangifte_2008.html;
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/applications/taxes/aangifte-2009/default.nix b/pkgs/applications/taxes/aangifte-2009/default.nix
deleted file mode 100644
index d4230d426ece..000000000000
--- a/pkgs/applications/taxes/aangifte-2009/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, xdg_utils, libX11, libXext, libSM }:
-
-stdenv.mkDerivation {
-  name = "aangifte2009-1";
-  
-  src = fetchurl {
-    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2009_linux.tar.gz;
-    sha256 = "07l83cknzxwlzmg1w6baf2wqs06bh8v3949n51hy1p3wgr8hf408";
-  };
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  buildInputs = [ makeWrapper ];
-
-  buildPhase =
-    ''
-      for i in bin/*; do
-          patchelf \
-              --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-              --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
-              $i
-      done
-    '';
-
-  installPhase =
-    ''
-      mkdir -p $out
-      cp -prvd * $out/
-      wrapProgram $out/bin/ib2009ux --prefix PATH : ${xdg_utils}/bin
-    '';
-
-  meta = {
-    description = "Elektronische aangifte IB 2009 (Dutch Tax Return Program)";
-    homepage = http://www.belastingdienst.nl/particulier/aangifte2009/download/;
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/applications/taxes/aangifte-2010/default.nix b/pkgs/applications/taxes/aangifte-2010/default.nix
deleted file mode 100644
index 602368d2017b..000000000000
--- a/pkgs/applications/taxes/aangifte-2010/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, xdg_utils, libX11, libXext, libSM }:
-
-stdenv.mkDerivation {
-  name = "aangifte2010-1";
-  
-  src = fetchurl {
-    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2010_linux.tar.gz;
-    sha256 = "15mingjyqjvy4k6ws6qlhaaw8dj7336b54zg7mj70ig7jskjkz5h";
-  };
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  buildInputs = [ makeWrapper ];
-
-  buildPhase =
-    ''
-      for i in bin/*; do
-          patchelf \
-              --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-              --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
-              $i
-      done
-    '';
-
-  installPhase =
-    ''
-      mkdir -p $out
-      cp -prvd * $out/
-      wrapProgram $out/bin/ib2010ux --prefix PATH : ${xdg_utils}/bin
-    '';
-
-  meta = {
-    description = "Elektronische aangifte IB 2010 (Dutch Tax Return Program)";
-    homepage = http://www.belastingdienst.nl/particulier/aangifte2009/download/;
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/applications/taxes/aangifte-2011/default.nix b/pkgs/applications/taxes/aangifte-2011/default.nix
deleted file mode 100644
index 80c772705142..000000000000
--- a/pkgs/applications/taxes/aangifte-2011/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, xdg_utils, libX11, libXext, libSM }:
-
-stdenv.mkDerivation {
-  name = "aangifte2011-1";
-  
-  src = fetchurl {
-    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2011_linux.tar.gz;
-    sha256 = "0br9cfy3ibykzbhc1mkm7plxrs251vakpd5gai0m13bwgc04jrd2";
-  };
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  buildInputs = [ makeWrapper ];
-
-  buildPhase =
-    ''
-      for i in bin/*; do
-          patchelf \
-              --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-              --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
-              $i
-      done
-    '';
-
-  installPhase =
-    ''
-      mkdir -p $out
-      cp -prvd * $out/
-      wrapProgram $out/bin/ib2011ux --prefix PATH : ${xdg_utils}/bin
-    '';
-
-  meta = {
-    description = "Elektronische aangifte IB 2011 (Dutch Tax Return Program)";
-    homepage = http://www.belastingdienst.nl/particulier/aangifte2009/download/;
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/applications/taxes/aangifte-2012/default.nix b/pkgs/applications/taxes/aangifte-2012/default.nix
deleted file mode 100644
index 8066c86742c1..000000000000
--- a/pkgs/applications/taxes/aangifte-2012/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, xdg_utils, libX11, libXext, libSM }:
-
-stdenv.mkDerivation {
-  name = "aangifte2012-1";
-
-  src = fetchurl {
-    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2012_linux.tar.gz;
-    sha256 = "05bahvk514lncgfr9kybcafahyz1rgfpwp5cykchxbbc033zm0xy";
-  };
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  buildInputs = [ makeWrapper ];
-
-  buildPhase =
-    ''
-      for i in bin/*; do
-          patchelf \
-              --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-              --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
-              $i
-      done
-    '';
-
-  installPhase =
-    ''
-      mkdir -p $out
-      cp -prvd * $out/
-      wrapProgram $out/bin/ib2012ux --prefix PATH : ${xdg_utils}/bin \
-                                    --prefix LD_PRELOAD : $(cat $NIX_CC/nix-support/orig-cc)/lib/libgcc_s.so.1
-    '';
-
-  meta = {
-    description = "Elektronische aangifte IB 2012 (Dutch Tax Return Program)";
-    homepage = http://www.belastingdienst.nl/particulier/aangifte2012/download/;
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/applications/taxes/aangifte-2013-wa/default.nix b/pkgs/applications/taxes/aangifte-2013-wa/default.nix
deleted file mode 100644
index 6f8e6d6429d3..000000000000
--- a/pkgs/applications/taxes/aangifte-2013-wa/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, xdg_utils, libX11, libXext, libSM }:
-
-stdenv.mkDerivation {
-  name = "aangifte2013-wa";
-
-  src = fetchurl {
-    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/wa2013_linux.tar.gz;
-    sha256 = "1bx6qnxikzpzrn8r66qxcind3k9yznwgp05dm549ph0w4rjbhgc9";
-  };
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  buildInputs = [ makeWrapper ];
-
-  buildPhase =
-    ''
-      for i in bin/*; do
-          patchelf \
-              --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-              --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
-              $i
-      done
-    '';
-
-  installPhase =
-    ''
-      mkdir -p $out
-      cp -prvd * $out/
-      wrapProgram $out/bin/wa2013ux --prefix PATH : ${xdg_utils}/bin \
-                                    --prefix LD_PRELOAD : $(cat $NIX_CC/nix-support/orig-cc)/lib/libgcc_s.so.1
-    '';
-
-  meta = {
-    description = "Elektronische aangifte WA 2013 (Dutch Tax Return Program)";
-    homepage = http://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/themaoverstijgend/programmas_en_formulieren/aangifteprogramma_2013_linux;
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/applications/taxes/aangifte-2013/default.nix b/pkgs/applications/taxes/aangifte-2013/default.nix
deleted file mode 100644
index d75b60c83673..000000000000
--- a/pkgs/applications/taxes/aangifte-2013/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, xdg_utils, libX11, libXext, libSM }:
-
-stdenv.mkDerivation {
-  name = "aangifte2013-1";
-
-  src = fetchurl {
-    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2013_linux.tar.gz;
-    sha256 = "05biqxz39gwln960xj31yg8s2chdn9vs0lzm4rlcwcavxy8lam1c";
-  };
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  buildInputs = [ makeWrapper ];
-
-  buildPhase =
-    ''
-      for i in bin/*; do
-          patchelf \
-              --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-              --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
-              $i
-      done
-    '';
-
-  installPhase =
-    ''
-      mkdir -p $out
-      cp -prvd * $out/
-      wrapProgram $out/bin/ib2013ux --prefix PATH : ${xdg_utils}/bin \
-                                    --prefix LD_PRELOAD : $(cat $NIX_CC/nix-support/orig-cc)/lib/libgcc_s.so.1
-    '';
-
-  meta = {
-    description = "Elektronische aangifte IB 2013 (Dutch Tax Return Program)";
-    homepage = http://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/themaoverstijgend/programmas_en_formulieren/aangifteprogramma_2013_linux;
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/applications/taxes/aangifte-2014-wa/default.nix b/pkgs/applications/taxes/aangifte-2014-wa/default.nix
deleted file mode 100644
index 38124677f9a5..000000000000
--- a/pkgs/applications/taxes/aangifte-2014-wa/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, xdg_utils, libX11, libXext, libSM }:
-
-stdenv.mkDerivation {
-  name = "aangifte2014-wa";
-
-  src = fetchurl {
-    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/wa2014_linux.tar.gz;
-    sha256 = "0ckwk190vyvwgv8kq0xxsxvm1kniv3iip4l5aycjx1wcyic2289x";
-  };
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  buildInputs = [ makeWrapper ];
-
-  buildPhase =
-    ''
-      for i in bin/*; do
-          patchelf \
-              --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-              --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
-              $i
-      done
-    '';
-
-  installPhase =
-    ''
-      mkdir -p $out
-      cp -prvd * $out/
-      wrapProgram $out/bin/wa2014ux --prefix PATH : ${xdg_utils}/bin \
-                                    --prefix LD_PRELOAD : $(cat $NIX_CC/nix-support/orig-cc)/lib/libgcc_s.so.1
-    '';
-
-  meta = {
-    description = "Elektronische aangifte WA 2014 (Dutch Tax Return Program)";
-    homepage = http://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/themaoverstijgend/programmas_en_formulieren/aangifteprogramma_2014_linux;
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/applications/taxes/aangifte-2014/default.nix b/pkgs/applications/taxes/aangifte-2014/default.nix
deleted file mode 100644
index 33b6f8853aa2..000000000000
--- a/pkgs/applications/taxes/aangifte-2014/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, xdg_utils, libX11, libXext, libSM }:
-
-stdenv.mkDerivation {
-  name = "aangifte2014-1";
-
-  src = fetchurl {
-    url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2014_linux.tar.gz;
-    sha256 = "1lkpfn9ban122hw27vvscdlg3933i2lqcdhp7lk26f894jbwzq3j";
-  };
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  buildInputs = [ makeWrapper ];
-
-  buildPhase =
-    ''
-      for i in bin/*; do
-          patchelf \
-              --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-              --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
-              $i
-      done
-    '';
-
-  installPhase =
-    ''
-      mkdir -p $out
-      cp -prvd * $out/
-      wrapProgram $out/bin/ib2014ux --prefix PATH : ${xdg_utils}/bin \
-                                    --prefix LD_PRELOAD : $(cat $NIX_CC/nix-support/orig-cc)/lib/libgcc_s.so.1
-    '';
-
-  meta = {
-    description = "Elektronische aangifte IB 2014 (Dutch Tax Return Program)";
-    homepage = http://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/themaoverstijgend/programmas_en_formulieren/aangifteprogramma_2014_linux;
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix
index 6b1389c97ab0..0a786312214a 100644
--- a/pkgs/applications/video/shotcut/default.nix
+++ b/pkgs/applications/video/shotcut/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "shotcut-${version}";
-  version = "17.11";
+  version = "18.03.06";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "shotcut";
     rev = "v${version}";
-    sha256 = "1bw2cjpzycddxi9b21haiaslv0ikia85wwgkfm2xl2m15w5j8510";
+    sha256 = "1b8hfym89i1nmrx80y16z06zsff5qba7gpga8jydnw1lmcscdash";
   };
 
   enableParallelBuilding = true;
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://shotcut.org;
     license = licenses.gpl3;
-    maintainers = [ maintainers.goibhniu ];
+    maintainers = with maintainers; [ goibhniu woffs ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/data/fonts/inziu-iosevka/default.nix b/pkgs/data/fonts/inziu-iosevka/default.nix
deleted file mode 100644
index f76e4cb61df0..000000000000
--- a/pkgs/data/fonts/inziu-iosevka/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv, fetchurl, p7zip }:
-
-stdenv.mkDerivation rec {
-  version = "1.13.2";
-  name = "inziu-iosevka-${version}";
-
-  package = fetchurl {
-    url = "http://7xpdnl.dl1.z0.glb.clouddn.com/inziu-iosevka-ttfs-${version}.7z";
-    sha256 = "1i7qqcv1x6s1xkp687wq79zqg9ly6a7l5mnmg1iqgfgcbglgjbaw";
-  };
-
-  nativeBuildInputs = [ p7zip ];
-
-  unpackPhase = ''
-    7z x $package
-  '';
-
-  installPhase = ''
-    mkdir -p $out/share/fonts/truetype
-    cp *.ttf $out/share/fonts/truetype
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Inziu Iosevka font";
-    homepage = https://be5invis.github.io/Iosevka/inziu;
-    # license is clarified here: https://github.com/be5invis/Iosevka/issues/265
-    license = licenses.ofl;
-    maintainers = [ maintainers.ChengCat ];
-    platforms = platforms.all;
-    # large package, mainly i/o bound
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
index fe6bc699fb98..b38b17e34751 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
@@ -42,12 +42,6 @@ self: super: {
   ## Shadowed:
 
   ## Needs bump to a versioned attribute
-  ##     • No instance for (GHC.Base.Semigroup BV)
-  ##         arising from the superclasses of an instance declaration
-  ##     • In the instance declaration for ‘Monoid BV’
-  bv = super.bv_0_5;
-
-  ## Needs bump to a versioned attribute
   ## Issue: https://github.com/sol/doctest/issues/189
   doctest = overrideCabal super.doctest_0_15_0 (drv: {
     ## Setup: Encountered missing dependencies:
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index ef1ebe881f54..acbcb1320e61 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -502,4 +502,9 @@ self: super: builtins.intersectAttrs super {
 
   # Tests require a browser: https://github.com/ku-fpg/blank-canvas/issues/73
   blank-canvas = dontCheck super.blank-canvas;
+
+  # cabal2nix generates a dependency on base-compat, which is the wrong version
+  base-compat-batteries = super.base-compat-batteries.override {
+    base-compat = pkgs.haskellPackages.base-compat_0_10_1;
+  };
 }
diff --git a/pkgs/development/interpreters/jruby/default.nix b/pkgs/development/interpreters/jruby/default.nix
index b9cc38ee68a3..050d5accd2cb 100644
--- a/pkgs/development/interpreters/jruby/default.nix
+++ b/pkgs/development/interpreters/jruby/default.nix
@@ -6,11 +6,11 @@ rubyVersion = callPackage ../ruby/ruby-version.nix {} "2" "3" "3" "";
 jruby = stdenv.mkDerivation rec {
   name = "jruby-${version}";
 
-  version = "9.1.16.0";
+  version = "9.1.17.0";
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/jruby.org/downloads/${version}/jruby-bin-${version}.tar.gz";
-    sha256 = "0nj8v4dcg4jj0z3fk661v6mzrgg4613xr0k9xzzsz81jkqsjnb6r";
+    sha256 = "1mfzs3mcpx8gmzidilzhpsxhgbblsflq35ww199m46pgiyzzf8ka";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/development/libraries/accountsservice/default.nix b/pkgs/development/libraries/accountsservice/default.nix
index f12dfb4635b2..289bc45d2037 100644
--- a/pkgs/development/libraries/accountsservice/default.nix
+++ b/pkgs/development/libraries/accountsservice/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "accountsservice-${version}";
-  version = "0.6.46";
+  version = "0.6.47";
 
   src = fetchurl {
-    url = "http://www.freedesktop.org/software/accountsservice/accountsservice-${version}.tar.xz";
-    sha256 = "09ddndbha2wh22a0k5150d2wy0v8k8zj3vmbdijyirqwhf5vjr8q";
+    url = "https://www.freedesktop.org/software/accountsservice/accountsservice-${version}.tar.xz";
+    sha256 = "038k7p2fqqcycwbh1ik4rjlnzddkf9j9wf0risjabccqj33znkp3";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "D-Bus interface for user account query and manipulation";
-    homepage = http://www.freedesktop.org/wiki/Software/AccountsService;
+    homepage = https://www.freedesktop.org/wiki/Software/AccountsService;
     license = licenses.gpl3;
     maintainers = with maintainers; [ pSub ];
     platforms = with platforms; linux;
diff --git a/pkgs/development/libraries/aqbanking/default.nix b/pkgs/development/libraries/aqbanking/default.nix
index ad930a705c57..b26291469e75 100644
--- a/pkgs/development/libraries/aqbanking/default.nix
+++ b/pkgs/development/libraries/aqbanking/default.nix
@@ -2,13 +2,14 @@
 , pkgconfig, gettext, xmlsec, zlib
 }:
 
-stdenv.mkDerivation rec {
+let
+  inherit ((import ./sources.nix).aqbanking) sha256 releaseId version;
+in stdenv.mkDerivation rec {
   name = "aqbanking-${version}";
-  version = "5.6.10";
+  inherit version;
 
   src = let
-    inherit ((import ./sources.nix).aqbanking) sha256 releaseId;
-    qstring = "package=03&release=${releaseId}&file=01";
+    qstring = "package=03&release=${releaseId}&file=02";
     mkURLs = map (base: "${base}/sites/download/download.php?${qstring}");
   in fetchurl {
     name = "${name}.tar.gz";
diff --git a/pkgs/development/libraries/aqbanking/gwenhywfar.nix b/pkgs/development/libraries/aqbanking/gwenhywfar.nix
index 28039cc01686..bb337e471cfc 100644
--- a/pkgs/development/libraries/aqbanking/gwenhywfar.nix
+++ b/pkgs/development/libraries/aqbanking/gwenhywfar.nix
@@ -1,4 +1,8 @@
-{ stdenv, fetchurl, gnutls, gtk2, libgcrypt, pkgconfig, gettext, qt4
+{ stdenv, fetchurl, gnutls, openssl, libgcrypt, libgpgerror, pkgconfig, gettext
+, which
+
+# GUI support
+, gtk2, gtk3, qt5
 
 , pluginSearchPaths ? [
     "/run/current-system/sw/lib/gwenhywfar/plugins"
@@ -6,13 +10,14 @@
   ]
 }:
 
-stdenv.mkDerivation rec {
+let
+  inherit ((import ./sources.nix).gwenhywfar) sha256 releaseId version;
+in stdenv.mkDerivation rec {
   name = "gwenhywfar-${version}";
-  version = "4.15.3";
+  inherit version;
 
   src = let
-    inherit ((import ./sources.nix).gwenhywfar) sha256 releaseId;
-    qstring = "package=01&release=${releaseId}&file=01";
+    qstring = "package=01&release=${releaseId}&file=02";
     mkURLs = map (base: "${base}/sites/download/download.php?${qstring}");
   in fetchurl {
     name = "${name}.tar.gz";
@@ -20,6 +25,15 @@ stdenv.mkDerivation rec {
     inherit sha256;
   };
 
+  configureFlags = [
+    "--with-openssl-includes=${openssl.dev}/include"
+    "--with-openssl-libs=${openssl.out}/lib"
+  ];
+
+  preConfigure = ''
+    configureFlagsArray+=("--with-guis=gtk2 gtk3 qt5")
+  '';
+
   postPatch = let
     isRelative = path: builtins.substring 0 1 path != "/";
     mkSearchPath = path: ''
@@ -43,11 +57,9 @@ stdenv.mkDerivation rec {
       configure
   '';
 
-  nativeBuildInputs = [ pkgconfig gettext ];
-
-  buildInputs = [ gtk2 qt4 gnutls libgcrypt ];
+  nativeBuildInputs = [ pkgconfig gettext which ];
 
-  QTDIR = qt4;
+  buildInputs = [ gtk2 gtk3 qt5.qtbase gnutls openssl libgcrypt libgpgerror ];
 
   meta = with stdenv.lib; {
     description = "OS abstraction functions used by aqbanking and related tools";
diff --git a/pkgs/development/libraries/aqbanking/libchipcard.nix b/pkgs/development/libraries/aqbanking/libchipcard.nix
index 1ac00c3fe882..9a0b70e0d97f 100644
--- a/pkgs/development/libraries/aqbanking/libchipcard.nix
+++ b/pkgs/development/libraries/aqbanking/libchipcard.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, pkgconfig, gwenhywfar, pcsclite, zlib }:
 
-stdenv.mkDerivation rec {
+let
+  inherit ((import ./sources.nix).libchipcard) sha256 releaseId version;
+in stdenv.mkDerivation rec {
   name = "libchipcard-${version}";
-  version = "5.0.4";
+  inherit version;
 
   src = let
-    inherit ((import ./sources.nix).libchipcard) sha256 releaseId;
     qstring = "package=02&release=${releaseId}&file=01";
     mkURLs = map (base: "${base}/sites/download/download.php?${qstring}");
   in fetchurl {
diff --git a/pkgs/development/libraries/aqbanking/sources.nix b/pkgs/development/libraries/aqbanking/sources.nix
index 1638c72e95f5..884543d282a7 100644
--- a/pkgs/development/libraries/aqbanking/sources.nix
+++ b/pkgs/development/libraries/aqbanking/sources.nix
@@ -1,12 +1,12 @@
 # This file is autogenerated from update.sh in the same directory.
 {
-  gwenhywfar.version = "4.17.0";
-  gwenhywfar.sha256 = "1z9bm2r407x8vxk2nk6pndx0zhlk32j65z472ljkgjbh56mgzz8i";
-  gwenhywfar.releaseId = "205";
+  gwenhywfar.version = "4.20.0";
+  gwenhywfar.sha256 = "1c0g3f8jk6j693774ifslx2ds4ksabgbbalhhm9gk20kpamxm22s";
+  gwenhywfar.releaseId = "208";
   libchipcard.version = "5.0.4";
   libchipcard.sha256 = "0fj2h39ll4kiv28ch8qgzdbdbnzs8gl812qnm660bw89rynpjnnj";
   libchipcard.releaseId = "200";
-  aqbanking.version = "5.6.12";
-  aqbanking.sha256 = "08jbwmiv6f3v8iqdr44x4szna496fqcjfi6mlx04cnbx91m70lh6";
-  aqbanking.releaseId = "208";
+  aqbanking.version = "5.7.8";
+  aqbanking.sha256 = "0s67mysskbiw1h1p0np4ph4351r7wq3nc873vylam7lsqi66xy0n";
+  aqbanking.releaseId = "217";
 }
diff --git a/pkgs/development/libraries/eccodes/default.nix b/pkgs/development/libraries/eccodes/default.nix
index 49dcb31c0478..a453a70dcad7 100644
--- a/pkgs/development/libraries/eccodes/default.nix
+++ b/pkgs/development/libraries/eccodes/default.nix
@@ -6,11 +6,11 @@
 with stdenv.lib; 
 stdenv.mkDerivation rec {
   name = "eccodes-${version}";
-  version = "2.7.0";
+  version = "2.7.3";
 
   src = fetchurl {
     url = "https://software.ecmwf.int/wiki/download/attachments/45757960/eccodes-${version}-Source.tar.gz";
-    sha256 = "0slfim64wdyd97nwv7ry0xwhiarphl93ij2v19c8a1c0dz7ld3qi";
+    sha256 = "1nvip0cmbhzmgzyi65qw8406p460alw1842dw2r4nq1lpcyi9avg";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/libsass/default.nix b/pkgs/development/libraries/libsass/default.nix
index ec4fa6b7427a..3afe0e905e74 100644
--- a/pkgs/development/libraries/libsass/default.nix
+++ b/pkgs/development/libraries/libsass/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libsass-${version}";
-  version = "3.5.2";
+  version = "3.5.3";
 
   src = fetchurl {
     url = "https://github.com/sass/libsass/archive/${version}.tar.gz";
-    sha256 = "1qjpicbjsj9gf8s00ma0d6kw6qfnc29fhrqdkvq8427wfffj654r";
+    sha256 = "1lfdq2ahskf9yd0m71jlx3r4n6a0dhg4wxpnwbrvj2a23k7db7zi";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/python-modules/cysignals/default.nix b/pkgs/development/python-modules/cysignals/default.nix
index c1fedecbff34..56d997c6b325 100644
--- a/pkgs/development/python-modules/cysignals/default.nix
+++ b/pkgs/development/python-modules/cysignals/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "cysignals";
-  version = "1.6.9";
+  version = "1.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "003invnixqy1h4lb358vwrxykxzp15csaddkgq3pqqmswnva5908";
+    sha256 = "15nky8siwlc7s8v23vv4m0mnxa1z6jcs2qfr26m2mkw9j9g2na2j";
   };
 
   hardeningDisable = [
diff --git a/pkgs/development/python-modules/weboob/default.nix b/pkgs/development/python-modules/weboob/default.nix
index a4b1b9c467a4..73a70a65c380 100644
--- a/pkgs/development/python-modules/weboob/default.nix
+++ b/pkgs/development/python-modules/weboob/default.nix
@@ -16,6 +16,19 @@ buildPythonPackage rec {
     sha256 = "0m5yh49lplvb57dfilczh65ky35fshp3g7ni31pwfxwqi1f7i4f9";
   };
 
+  postPatch = ''
+    # Disable doctests that require networking:
+    sed -i -n -e '/^ *def \+pagination *(.*: *$/ {
+      p; n; p; /"""\|'\'\'\'''/!b
+
+      :loop
+      n; /^ *\(>>>\|\.\.\.\)/ { h; bloop }
+      x; /^ *\(>>>\|\.\.\.\)/bloop; x
+      p; /"""\|'\'\'\'''/b
+      bloop
+    }; p' weboob/browser/browsers.py weboob/browser/pages.py
+  '';
+
   setupPyBuildFlags = ["--qt" "--xdg"];
 
   checkInputs = [ nose ];
@@ -33,7 +46,6 @@ buildPythonPackage rec {
     homepage = http://weboob.org;
     description = "Collection of applications and APIs to interact with websites without requiring the user to open a browser";
     license = stdenv.lib.licenses.agpl3;
-    broken = true; # 2018-04-11
   };
 }
 
diff --git a/pkgs/development/tools/haskell/multi-ghc-travis/default.nix b/pkgs/development/tools/haskell/multi-ghc-travis/default.nix
index 781d3b096cfb..454bb5d58817 100644
--- a/pkgs/development/tools/haskell/multi-ghc-travis/default.nix
+++ b/pkgs/development/tools/haskell/multi-ghc-travis/default.nix
@@ -8,8 +8,8 @@ mkDerivation {
   src = fetchFromGitHub {
     owner = "haskell-CI";
     repo = "haskell-ci";
-    rev = "848c2fe5c7d0d95b20312e86b360d5db8c95db75";
-    sha256 = "1n4y6j564sxxry19xs4x0ds7fg8h1q0svw9q45477czx82qzavym";
+    rev = "105005cde6bde903e477e5b9724d02bdea06bae4";
+    sha256 = "1l76782aa29mi88a2brvkyi6k0v33rpihxlskx99mak06bjrmnhh";
   };
   isLibrary = true;
   isExecutable = true;
diff --git a/pkgs/games/empty-epsilon/default.nix b/pkgs/games/empty-epsilon/default.nix
new file mode 100644
index 000000000000..d7742d316647
--- /dev/null
+++ b/pkgs/games/empty-epsilon/default.nix
@@ -0,0 +1,58 @@
+{ lib, stdenv, fetchFromGitHub, cmake, sfml, libX11, glew, python }:
+
+let
+
+  version = "2018.02.15";
+
+  serious-proton = stdenv.mkDerivation rec {
+    name = "serious-proton-${version}";
+    inherit version;
+
+    src = fetchFromGitHub {
+      owner = "daid";
+      repo = "SeriousProton";
+      rev = "EE-${version}";
+      sha256 = "0b4n4pn7x3y63i9y15f8983zlpdvmx7151iph1lcc49j3hmpd0gy";
+    };
+
+    nativeBuildInputs = [ cmake ];
+    buildInputs = [ sfml libX11 ];
+
+    meta = with lib; {
+      description = "C++ game engine coded on top of SFML used for EmptyEpsilon";
+      homepage = https://github.com/daid/SeriousProton;
+      license = licenses.mit;
+      maintainers = with maintainers; [ fpletz ];
+      platforms = platforms.linux;
+    };
+  };
+
+in
+
+
+stdenv.mkDerivation rec {
+  name = "empty-epsilon-${version}";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "daid";
+    repo = "EmptyEpsilon";
+    rev = "EE-${version}";
+    sha256 = "1by0wrw00frrlcs1kd003zkmfkwa1pnbnva2qn8km3xnl9chf11d";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ serious-proton sfml glew libX11 python ];
+
+  cmakeFlags = [
+    "-DSERIOUS_PROTON_DIR=${serious-proton.src}"
+  ];
+
+  meta = with lib; {
+    description = "Open source bridge simulator based on Artemis";
+    homepage = https://daid.github.io/EmptyEpsilon/;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ fpletz ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/misc/vim-plugins/vim-utils.nix b/pkgs/misc/vim-plugins/vim-utils.nix
index e11419846aeb..514c1daed629 100644
--- a/pkgs/misc/vim-plugins/vim-utils.nix
+++ b/pkgs/misc/vim-plugins/vim-utils.nix
@@ -224,7 +224,7 @@ let
           else if builtins.isAttrs x && builtins ? out then toNix "${x}" # a derivation
           else if builtins.isAttrs x then "{${lib.concatStringsSep ", " (lib.mapAttrsToList (n: v: "${toNix n}: ${toNix v}") x)}}"
           else if builtins.isList x then "[${lib.concatMapStringsSep ", " toNix x}]"
-          else throw "turning ${lib.showVal x} into a VimL thing not implemented yet";
+          else throw "turning ${lib.generators.toPretty {} x} into a VimL thing not implemented yet";
 
       in assert builtins.hasAttr "vim-addon-manager" knownPlugins;
       ''
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 47784e770127..d9aef3a21930 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,13 +3,13 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.14.36";
+  version = "4.14.37";
 
   # branchVersion needs to be x.y
   extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version)));
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0hxwd3kl5g7zrcl3b00nxdv0zjkmmfrk1i5v3hrjm0dmsw249qna";
+    sha256 = "14lfj2vfxw36k8cbmzs280w4h81yz5xhlhq5550kww906vnyg5w1";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.16.nix b/pkgs/os-specific/linux/kernel/linux-4.16.nix
index d46c95e1a593..3da2cda30e22 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.16.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.16.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.16.4";
+  version = "4.16.5";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0")));
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0v494vm1vbyfk8xmvgf27chsjpy9x7q0iwdaana8vnih2ai6vdcs";
+    sha256 = "0f1a8ggjb2jxc8n3hvypc81xbwylwkqi0mnynd9q316ay152zb1r";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-copperhead-hardened.nix b/pkgs/os-specific/linux/kernel/linux-copperhead-hardened.nix
index 5685e6dd904d..dfe58119da26 100644
--- a/pkgs/os-specific/linux/kernel/linux-copperhead-hardened.nix
+++ b/pkgs/os-specific/linux/kernel/linux-copperhead-hardened.nix
@@ -3,9 +3,9 @@
 with stdenv.lib;
 
 let
-  version = "4.15.18";
+  version = "4.14.36";
   revision = "a";
-  sha256 = "1wld16i3r06mqxwwkghsxnnivg1jpc6c15y9iclhdgl4srcs1qp6";
+  sha256 = "052ck8giy5nxy7871crhx6cdkgzzzpffdm8ilq1ys0rd3vldzl9b";
 
   # modVersion needs to be x.y.z, will automatically add .0 if needed
   modVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0")));
diff --git a/pkgs/servers/osrm-backend/default.nix b/pkgs/servers/osrm-backend/default.nix
index b7c85a8f9a4b..3b11f26d6ce2 100644
--- a/pkgs/servers/osrm-backend/default.nix
+++ b/pkgs/servers/osrm-backend/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "osrm-backend-${version}";
-  version = "5.16.4";
+  version = "5.17.2";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner  = "Project-OSRM";
     repo   = "osrm-backend";
-    sha256 = "01wghly0rqv4f9lfabmbfddjp2pclcfip45rmn0fvnj5c6x23v6v";
+    sha256 = "0ar94wpsc2vr6pn4x5wy7mkpjlilgnyw545wm0l78174q43460y9";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/servers/smcroute/default.nix b/pkgs/servers/smcroute/default.nix
index b1d614bc5cf0..40472c59a873 100644
--- a/pkgs/servers/smcroute/default.nix
+++ b/pkgs/servers/smcroute/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoreconfHook }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libcap }:
 
 stdenv.mkDerivation rec {
   name = "smcroute-${version}";
@@ -11,7 +11,13 @@ stdenv.mkDerivation rec {
     sha256 = "12xwdwvl9h269armwak7grm4g944j2c89srha4lqx2zndx1ycg1r";
   };
 
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  buildInputs = [ libcap ];
+
+  configureFlags = [
+    "--localstatedir=/var"
+    "--with-systemd=\$(out)/lib/systemd/system"
+  ];
 
   meta = with stdenv.lib; {
     description = "Static multicast routing daemon";
diff --git a/pkgs/servers/sql/monetdb/default.nix b/pkgs/servers/sql/monetdb/default.nix
new file mode 100644
index 000000000000..5f7e879819e9
--- /dev/null
+++ b/pkgs/servers/sql/monetdb/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, bison, openssl }:
+
+let
+  version = "11.29.3";
+in stdenv.mkDerivation rec {
+
+  name = "monetdb-${version}";
+
+  src = fetchurl {
+    url = "https://dev.monetdb.org/downloads/sources/archive/MonetDB-${version}.tar.bz2";
+    sha256 = "18l4jkkryki5az5n7gnalfdxz6ibnkg3q2z4cwh1010b313wqi8s";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ bison openssl ];
+
+  meta = with stdenv.lib; {
+    description = "An open source database system";
+    homepage = https://www.monetdb.org/;
+    license = licenses.mpl20;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.StillerHarpo ];
+  };
+}
diff --git a/pkgs/servers/web-apps/selfoss/default.nix b/pkgs/servers/web-apps/selfoss/default.nix
index 14f1dffee64c..4ed9d96510c8 100644
--- a/pkgs/servers/web-apps/selfoss/default.nix
+++ b/pkgs/servers/web-apps/selfoss/default.nix
@@ -1,16 +1,17 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "selfoss-unstable-${version}";
-  version = "2016-07-31";
+  name = "selfoss-${version}";
+  version = "2.18";
 
-  src = fetchFromGitHub {
-    owner = "SSilence";
-    repo = "selfoss";
-    rev = "ceb431ad9208e2c5e31dafe593c75e5eb8b65cf7";
-    sha256 = "00vrpw7sb95x6lwpaxrlzxyj98k98xblqcrjr236ykv0ha97xv30";
+  src = fetchurl {
+    url = "https://github.com/SSilence/selfoss/releases/download/${version}/${name}.zip";
+    sha256 = "1vd699r1kjc34n8avggckx2b0daj5rmgrj997sggjw2inaq4cg8b";
   };
 
+  sourceRoot = ".";
+  nativeBuildInputs = [ unzip ];
+
   installPhase = ''
     mkdir $out
     cp -ra * $out/
diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix
index 1350e7d37301..a5c8ca705231 100644
--- a/pkgs/stdenv/generic/check-meta.nix
+++ b/pkgs/stdenv/generic/check-meta.nix
@@ -170,6 +170,8 @@ let
     isIbusEngine = bool;
     isGutenprint = bool;
     badPlatforms = platforms;
+    # Hydra build timeout
+    timeout = int;
   };
 
   checkMetaAttr = k: v:
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/datapath.patch b/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/datapath.patch
new file mode 100644
index 000000000000..84dd5fc8f462
--- /dev/null
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/datapath.patch
@@ -0,0 +1,16 @@
+--- a/src/utils.cpp
++++ b/src/utils.cpp
+@@ -9,12 +9,7 @@ char* FcitxLibPinyinGetSysPath(LIBPINYIN_LANGUAGE_TYPE type)
+ #ifdef LIBPINYIN_TOOLS_FOUND
+     if (type == LPLT_Simplified) {
+ #endif
+-        /* portable detect here */
+-        if (getenv("FCITXDIR")) {
+-            syspath = fcitx_utils_get_fcitx_path_with_filename("datadir", "libpinyin/data");
+-        } else {
+-            syspath = strdup(LIBPINYIN_PKGDATADIR "/data");
+-        }
++        syspath = strdup(LIBPINYIN_PKGDATADIR "/data");
+ #ifdef LIBPINYIN_TOOLS_FOUND
+     }
+     else {
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix
index f2610efd2eb4..4468f1fa263a 100644
--- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix
@@ -12,6 +12,16 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig  ];
   buildInputs = [ fcitx-qt5 qtbase qtwebengine.dev cmake fcitx gettext libpinyin glib pcre dbus ];
 
+  # With a typical installation via NixOS option i18n.inputMethod.fcitx.engines,
+  # the FCITXDIR environment variable is set to $out of fcitx-with-plugins,
+  # which leads to an incorrect path for pinyin data.
+  #
+  # It is impossible or difficult to fix this issue without patching. We want
+  # FCITXDIR to point into libpinyin, which is currently not symlinked within
+  # fcitx-with-plugins (only fcitx-libpinyin is symlinked). Also, FCITXDIR
+  # doesn't accept multiple directories.
+  patches = [ ./datapath.patch ];
+
   preInstall = ''
     substituteInPlace src/cmake_install.cmake \
       --replace ${fcitx} $out
diff --git a/pkgs/tools/misc/bdf2psf/default.nix b/pkgs/tools/misc/bdf2psf/default.nix
index e06c2dee000d..5e4b6994094a 100644
--- a/pkgs/tools/misc/bdf2psf/default.nix
+++ b/pkgs/tools/misc/bdf2psf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "bdf2psf-${version}";
-  version = "1.178";
+  version = "1.184";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/c/console-setup/bdf2psf_${version}_all.deb";
-    sha256 = "1ngxa7hzfhvfhkvyc2qib3qyql5zz8rjg559wpi2jsi4hibj84vc";
+    sha256 = "0lyxiwm0586b8gyl13ks2rqqa6abkqaxc4i08hvwyza1k1cqm2jc";
   };
 
   buildInputs = [ dpkg ];
diff --git a/pkgs/tools/misc/pspg/default.nix b/pkgs/tools/misc/pspg/default.nix
index b9543dc143cf..ddd76a344e01 100644
--- a/pkgs/tools/misc/pspg/default.nix
+++ b/pkgs/tools/misc/pspg/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchFromGitHub, gnugrep, ncurses, pkgconfig }:
+{ stdenv, fetchFromGitHub, gnugrep, ncurses, pkgconfig, readline }:
 
 stdenv.mkDerivation rec {
   name = "pspg-${version}";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "okbob";
     repo = "pspg";
     rev = "${version}";
-    sha256 = "1swrg4bg7i4xpdrsg8dsfldbxaffni04x8i1s0g6h691qcin675v";
+    sha256 = "10r6jfcqw4wclp84f07g3bda844csgm4sh7cjsnk2smmal7nhybs";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gnugrep ncurses ];
+  buildInputs = [ gnugrep ncurses readline ];
 
   preBuild = ''
     makeFlags="PREFIX=$out PKG_CONFIG=${pkgconfig}/bin/pkg-config"
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 1f7d8c549e42..55c785b06da0 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -16,11 +16,11 @@ with stdenv.lib;
 buildPythonApplication rec {
 
   pname = "youtube-dl";
-  version = "2018.04.16";
+  version = "2018.04.25";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
-    sha256 = "046zg8pww2xg1yibh7c1a8jcg8f1znr4hsz1l1da03djcp6na99d";
+    sha256 = "17zxgwfcy7c6gdyxdgh02f5zi52gvmy0zpccfj6zjkhw5iqj1vbw";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/networking/openfortivpn/default.nix b/pkgs/tools/networking/openfortivpn/default.nix
index 6eafdde10824..b265cdb4c326 100644
--- a/pkgs/tools/networking/openfortivpn/default.nix
+++ b/pkgs/tools/networking/openfortivpn/default.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 let repo = "openfortivpn";
-    version = "1.6.0";
+    version = "1.7.0";
 
 in stdenv.mkDerivation {
   name = "${repo}-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     owner = "adrienverge";
     inherit repo;
     rev = "v${version}";
-    sha256 = "0ca80i8m88f4vhwiq548wjyqwwszpbap92l83bl0wdppvp4nk192";
+    sha256 = "1qfz5igry7fhrkz5iyzqpffldhpdvcw98k06yb6acwc1jyv87nh0";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/networking/pssh/default.nix b/pkgs/tools/networking/pssh/default.nix
index ddaf419e5658..22c359620507 100644
--- a/pkgs/tools/networking/pssh/default.nix
+++ b/pkgs/tools/networking/pssh/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pythonPackages }:
+{ stdenv, fetchFromGitHub, pythonPackages, openssh, rsync }:
 
 pythonPackages.buildPythonApplication rec {
   name = "pssh-${version}";
@@ -11,6 +11,15 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "0nawarxczfwajclnlsimhqkpzyqb1byvz9nsl54mi1bp80z5i4jq";
   };
 
+  postPatch = ''
+    for f in bin/*; do
+      substituteInPlace $f \
+        --replace "'ssh'" "'${openssh}/bin/ssh'" \
+        --replace "'scp'" "'${openssh}/bin/scp'" \
+        --replace "'rsync'" "'${rsync}/bin/rsync'"
+    done
+  '';
+
   meta = with stdenv.lib; {
     description = "Parallel SSH Tools";
     longDescription = ''
diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix
index b40c8ea26aa2..5eb20169412d 100644
--- a/pkgs/tools/package-management/packagekit/default.nix
+++ b/pkgs/tools/package-management/packagekit/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   name = "packagekit-${version}";
-  version = "1.1.9";
+  version = "1.1.10";
 
   src = fetchFromGitHub {
     owner = "hughsie";
     repo = "PackageKit";
     rev = "PACKAGEKIT_${lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "1zs7xkk3b2izdnis7ir5h93p8f2i9513663h2xhxb0sh6i2h18y4";
+    sha256 = "11drd6ixx75q3w12am3z1npwllq1kxnhbxv0npng92c69kn291zs";
   };
 
   buildInputs = [ glib polkit systemd python gobjectIntrospection vala_0_38 ]
diff --git a/pkgs/tools/system/hwinfo/default.nix b/pkgs/tools/system/hwinfo/default.nix
index 67258399d8bc..839be268b5b4 100644
--- a/pkgs/tools/system/hwinfo/default.nix
+++ b/pkgs/tools/system/hwinfo/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "hwinfo-${version}";
-  version = "21.52";
+  version = "21.53";
 
   src = fetchFromGitHub {
     owner = "opensuse";
     repo = "hwinfo";
     rev = "${version}";
-    sha256 = "1kva5bhylxbxgp2lv48av8mzcyybigj45rbwl9736l1kiv58i21r";
+    sha256 = "1hrazksr95pxl5p0r0x3cdph1ps98cls2v9avg0qs0qf9y18hady";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/text/vale/default.nix b/pkgs/tools/text/vale/default.nix
index 057f1c48a1f2..84ef164ce248 100644
--- a/pkgs/tools/text/vale/default.nix
+++ b/pkgs/tools/text/vale/default.nix
@@ -2,16 +2,16 @@
 
 buildGoPackage rec {
   name = "vale-${version}";
-  version = "0.10.1";
-  rev    = "${version}";
+  version = "0.11.2";
+  rev    = "v${version}";
 
-  goPackagePath = "github.com/ValeLint/vale";
+  goPackagePath = "github.com/errata-ai/vale";
 
   src = fetchFromGitHub {
     inherit rev;
-    owner  = "ValeLint";
+    owner  = "errata-ai";
     repo   = "vale";
-    sha256 = "1iyc9mny3nb6j3allj3szkiygc2v3gi7l7syq9ifjrm1wknk8wrf";
+    sha256 = "0zs6bdwnc5fpa0skw1xhdwg6jzsc7wcb8lsfj235jc8jd2w13mvm";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/tools/text/vale/deps.nix b/pkgs/tools/text/vale/deps.nix
index 7bf61f433cee..e63becb5b4b3 100644
--- a/pkgs/tools/text/vale/deps.nix
+++ b/pkgs/tools/text/vale/deps.nix
@@ -1,275 +1,246 @@
-
-  # file automatically generated from Gopkg.lock with https://github.com/nixcloud/dep2nix (golang dep)
-  [
-
-    {
-      goPackagePath  = "github.com/ValeLint/gospell";
-      fetch = {
-        type = "git";
-        url = "https://github.com/ValeLint/gospell";
-        rev =  "90dfc71015dfebd3a7274f1ad2756c1dbf09e250";
-        sha256 = "0i2ha76q2xja8r4j72kqiarnylrbk4l1b29632skgzib6k4fh4g1";
-      };
-    }
-
-    {
-      goPackagePath  = "github.com/client9/gospell";
-      fetch = {
-        type = "git";
-        url = "https://github.com/client9/gospell";
-        rev =  "90dfc71015dfebd3a7274f1ad2756c1dbf09e250";
-        sha256 = "0i2ha76q2xja8r4j72kqiarnylrbk4l1b29632skgzib6k4fh4g1";
-      };
-    }
-
-    {
-      goPackagePath  = "github.com/davecgh/go-spew";
-      fetch = {
-        type = "git";
-        url = "https://github.com/davecgh/go-spew";
-        rev =  "346938d642f2ec3594ed81d874461961cd0faa76";
-        sha256 = "0d4jfmak5p6lb7n2r6yvf5p1zcw0l8j74kn55ghvr7zr7b7axm6c";
-      };
-    }
-
-    {
-      goPackagePath  = "github.com/fatih/color";
-      fetch = {
-        type = "git";
-        url = "https://github.com/fatih/color";
-        rev =  "570b54cabe6b8eb0bc2dfce68d964677d63b5260";
-        sha256 = "1hw9hgkfzbzqjhy29pqpk20xggxaqjv45wx8yn69488mw5ph7khh";
-      };
-    }
-
-    {
-      goPackagePath  = "github.com/gobwas/glob";
-      fetch = {
-        type = "git";
-        url = "https://github.com/gobwas/glob";
-        rev =  "bea32b9cd2d6f55753d94a28e959b13f0244797a";
-        sha256 = "0dx0f293v1a0d8qi7ik5hdl26dapd8xm0hj9a9gc620vhj7khi9q";
-      };
-    }
-
-    {
-      goPackagePath  = "github.com/jdkato/prose";
-      fetch = {
-        type = "git";
-        url = "https://github.com/jdkato/prose";
-        rev =  "4d68d1b77f66e36b6897a79f59f434d558e5e0c2";
-        sha256 = "1g2wwj6azpcjy6j7pk4dqx868v3hrqwjg5d737p4441a55026prj";
-      };
-    }
-
-    {
-      goPackagePath  = "github.com/jdkato/regexp";
-      fetch = {
-        type = "git";
-        url = "https://github.com/jdkato/regexp";
-        rev =  "38ab2f7842bf2a539528aa7d0014b37421b886e1";
-        sha256 = "11z21z2h2l8vlh4nwkcn7vbfdcmdjk9sc90kn8ji1923i3s7p3bw";
-      };
-    }
-
-    {
-      goPackagePath  = "github.com/mattn/go-colorable";
-      fetch = {
-        type = "git";
-        url = "https://github.com/mattn/go-colorable";
-        rev =  "941b50ebc6efddf4c41c8e4537a5f68a4e686b24";
-        sha256 = "0dw492z5w0fzv1cxm3xx26n8qpqjaf2ybiwpmvimzyhv65n8nrf8";
-      };
-    }
-
-    {
-      goPackagePath  = "github.com/mattn/go-isatty";
-      fetch = {
-        type = "git";
-        url = "https://github.com/mattn/go-isatty";
-        rev =  "fc9e8d8ef48496124e79ae0df75490096eccf6fe";
-        sha256 = "1r5f9gkavkb1w6sr0qs5kj16706xirl3qnlq3hqpszkw9w27x65a";
-      };
-    }
-
-    {
-      goPackagePath  = "github.com/mattn/go-runewidth";
-      fetch = {
-        type = "git";
-        url = "https://github.com/mattn/go-runewidth";
-        rev =  "9e777a8366cce605130a531d2cd6363d07ad7317";
-        sha256 = "0vkrfrz3fzn5n6ix4k8s0cg0b448459sldq8bp4riavsxm932jzb";
-      };
-    }
-
-    {
-      goPackagePath  = "github.com/mitchellh/go-homedir";
-      fetch = {
-        type = "git";
-        url = "https://github.com/mitchellh/go-homedir";
-        rev =  "b8bc1bf767474819792c23f32d8286a45736f1c6";
-        sha256 = "13ry4lylalkh4g2vny9cxwvryslzyzwp9r92z0b10idhdq3wad1q";
-      };
-    }
-
-    {
-      goPackagePath  = "github.com/mitchellh/mapstructure";
-      fetch = {
-        type = "git";
-        url = "https://github.com/mitchellh/mapstructure";
-        rev =  "d0303fe809921458f417bcf828397a65db30a7e4";
-        sha256 = "1fjwi5ghc1ibyx93apz31n4hj6gcq1hzismpdfbg2qxwshyg0ya8";
-      };
-    }
-
-    {
-      goPackagePath  = "github.com/montanaflynn/stats";
-      fetch = {
-        type = "git";
-        url = "https://github.com/montanaflynn/stats";
-        rev =  "eeaced052adbcfeea372c749c281099ed7fdaa38";
-        sha256 = "0kamcla633692n81w0j0d423ws3qdds97r2c0i193ypsh9xknpq9";
-      };
-    }
-
-    {
-      goPackagePath  = "github.com/olekukonko/tablewriter";
-      fetch = {
-        type = "git";
-        url = "https://github.com/olekukonko/tablewriter";
-        rev =  "be5337e7b39e64e5f91445ce7e721888dbab7387";
-        sha256 = "04zg261i4bq29bc460nyx9r2j70mj0sbxlprn87ylk8y5j2m1d1w";
-      };
-    }
-
-    {
-      goPackagePath  = "github.com/pmezard/go-difflib";
-      fetch = {
-        type = "git";
-        url = "https://github.com/pmezard/go-difflib";
-        rev =  "792786c7400a136282c1664665ae0a8db921c6c2";
-        sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
-      };
-    }
-
-    {
-      goPackagePath  = "github.com/remeh/sizedwaitgroup";
-      fetch = {
-        type = "git";
-        url = "https://github.com/remeh/sizedwaitgroup";
-        rev =  "4b44541c93591ee0e73747d6081e61bd8c58b5c7";
-        sha256 = "1kz7h8r09c95r3hc8bngznc4lrnkz2vm50lrl96cqxja0pw8jl92";
-      };
-    }
-
-    {
-      goPackagePath  = "github.com/russross/blackfriday";
-      fetch = {
-        type = "git";
-        url = "https://github.com/russross/blackfriday";
-        rev =  "0b647d0506a698cca42caca173e55559b12a69f2";
-        sha256 = "1bv6mvnrqrcrp5d45l5p07q855sval8l3jzw1cf2dajkpcpysqln";
-      };
-    }
-
-    {
-      goPackagePath  = "github.com/shogo82148/go-shuffle";
-      fetch = {
-        type = "git";
-        url = "https://github.com/shogo82148/go-shuffle";
-        rev =  "4789c7c401f229b3ae1673acbccca451480660cd";
-        sha256 = "1gaii1h51df8vr28ww5np8nhvfcy4plv0nja9b9h0cmcxa3jf1lp";
-      };
-    }
-
-    {
-      goPackagePath  = "github.com/shurcooL/sanitized_anchor_name";
-      fetch = {
-        type = "git";
-        url = "https://github.com/shurcooL/sanitized_anchor_name";
-        rev =  "541ff5ee47f1dddf6a5281af78307d921524bcb5";
-        sha256 = "1fslblamqkd0yrvl1kbq95hnnji78bq9m33nnxiqs7y9w32zylv5";
-      };
-    }
-
-    {
-      goPackagePath  = "github.com/stretchr/testify";
-      fetch = {
-        type = "git";
-        url = "https://github.com/stretchr/testify";
-        rev =  "69483b4bd14f5845b5a1e55bca19e954e827f1d0";
-        sha256 = "11lzrwkdzdd8yyag92akncc008h2f9d1bpc489mxiwp0jrmz4ivb";
-      };
-    }
-
-    {
-      goPackagePath  = "github.com/urfave/cli";
-      fetch = {
-        type = "git";
-        url = "https://github.com/urfave/cli";
-        rev =  "0bdeddeeb0f650497d603c4ad7b20cfe685682f6";
-        sha256 = "1ny63c7bfwfrsp7vfkvb4i0xhq4v7yxqnwxa52y4xlfxs4r6v6fg";
-      };
-    }
-
-    {
-      goPackagePath  = "github.com/xrash/smetrics";
-      fetch = {
-        type = "git";
-        url = "https://github.com/xrash/smetrics";
-        rev =  "a3153f7040e90324c58c6287535e26a0ac5c1cc1";
-        sha256 = "1phq5y6mcg741spq7snc6xsky1ybc7fllh2444sfr3p41sjq9hg6";
-      };
-    }
-
-    {
-      goPackagePath  = "golang.org/x/net";
-      fetch = {
-        type = "git";
-        url = "https://go.googlesource.com/net";
-        rev =  "ab5485076ff3407ad2d02db054635913f017b0ed";
-        sha256 = "10805rk5rfgc3ivx35r9qmnps8hy3k3m57g0j6mz10w96k8i7pk7";
-      };
-    }
-
-    {
-      goPackagePath  = "golang.org/x/sys";
-      fetch = {
-        type = "git";
-        url = "https://go.googlesource.com/sys";
-        rev =  "14ac33bf8474b62c65cae263af2e4d3b543cc699";
-        sha256 = "1453l5v5kizq142fiq3bg5hka7b0yvnf9fsq8y2ayj4bc9h5vqf3";
-      };
-    }
-
-    {
-      goPackagePath  = "gopkg.in/ini.v1";
-      fetch = {
-        type = "git";
-        url = "https://gopkg.in/ini.v1";
-        rev =  "d3de07a94d22b4a0972deb4b96d790c2c0ce8333";
-        sha256 = "1lpwqhcfhaa6aighd2lpjfswbb6aw5d5bsmyr0vqaqg6g5kz0ikg";
-      };
-    }
-
-    {
-      goPackagePath  = "gopkg.in/neurosnap/sentences.v1";
-      fetch = {
-        type = "git";
-        url = "https://gopkg.in/neurosnap/sentences.v1";
-        rev =  "a7f18ead1433a139742a8b42ce7a059cfb484d60";
-        sha256 = "1b64xv5anfbnq6354jaygxapwgkdhbszzi604b96sm682brwl0p7";
-      };
-    }
-
-    {
-      goPackagePath  = "gopkg.in/yaml.v2";
-      fetch = {
-        type = "git";
-        url = "https://gopkg.in/yaml.v2";
-        rev =  "25c4ec802a7d637f88d584ab26798e94ad14c13b";
-        sha256 = "053mknsl3xhjscmd552005xnwbfcg0z2iphvbvj3wi0w3pvmlw44";
-      };
-    }
-
+# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
+[
+  {
+    goPackagePath  = "github.com/ValeLint/gospell";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ValeLint/gospell";
+      rev =  "90dfc71015dfebd3a7274f1ad2756c1dbf09e250";
+      sha256 = "0i2ha76q2xja8r4j72kqiarnylrbk4l1b29632skgzib6k4fh4g1";
+    };
+  }
+  {
+    goPackagePath  = "github.com/client9/gospell";
+    fetch = {
+      type = "git";
+      url = "https://github.com/client9/gospell";
+      rev =  "90dfc71015dfebd3a7274f1ad2756c1dbf09e250";
+      sha256 = "0i2ha76q2xja8r4j72kqiarnylrbk4l1b29632skgzib6k4fh4g1";
+    };
+  }
+  {
+    goPackagePath  = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev =  "8991bc29aa16c548c550c7ff78260e27b9ab7c73";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+    };
+  }
+  {
+    goPackagePath  = "github.com/fatih/color";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fatih/color";
+      rev =  "507f6050b8568533fb3f5504de8e5205fa62a114";
+      sha256 = "0k1v9dkhrxiqhg48yqkwzpd7x40xx38gv2pgknswbsy4r8w644i7";
+    };
+  }
+  {
+    goPackagePath  = "github.com/gobwas/glob";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gobwas/glob";
+      rev =  "f00a7392b43971b2fdb562418faab1f18da2067a";
+      sha256 = "1b7jnb7rx99na25lkm9m9jr583mv7y0lwp57w58sv7ir9iiilx29";
+    };
+  }
+  {
+    goPackagePath  = "github.com/jdkato/prose";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jdkato/prose";
+      rev =  "e27abfd3f31b84c37bbce37179b0428fcb1384be";
+      sha256 = "04rjqh3jdxaqr9czp4vcj14hqfv7yppv4nb7ynb04c9jcq23ajw7";
+    };
+  }
+  {
+    goPackagePath  = "github.com/jdkato/regexp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jdkato/regexp";
+      rev =  "38ab2f7842bf2a539528aa7d0014b37421b886e1";
+      sha256 = "11z21z2h2l8vlh4nwkcn7vbfdcmdjk9sc90kn8ji1923i3s7p3bw";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mattn/go-colorable";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-colorable";
+      rev =  "efa589957cd060542a26d2dd7832fd6a6c6c3ade";
+      sha256 = "0kshi4hvm0ayrsxqxy0599iv81kryhd2fn9lwjyczpj593cq069r";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev =  "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c";
+      sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mattn/go-runewidth";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-runewidth";
+      rev =  "ce7b0b5c7b45a81508558cd1dba6bb1e4ddb51bb";
+      sha256 = "0lc39b6xrxv7h3v3y1kgz49cgi5qxwlygs715aam6ba35m48yi7g";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mitchellh/go-homedir";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/go-homedir";
+      rev =  "b8bc1bf767474819792c23f32d8286a45736f1c6";
+      sha256 = "13ry4lylalkh4g2vny9cxwvryslzyzwp9r92z0b10idhdq3wad1q";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mitchellh/mapstructure";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/mapstructure";
+      rev =  "00c29f56e2386353d58c599509e8dc3801b0d716";
+      sha256 = "1vw8fvhax0d567amgvxr7glcl12lvzg2sbzs007q5k5bbwn1szyb";
+    };
+  }
+  {
+    goPackagePath  = "github.com/montanaflynn/stats";
+    fetch = {
+      type = "git";
+      url = "https://github.com/montanaflynn/stats";
+      rev =  "1bf9dbcd8cbe1fdb75add3785b1d4a9a646269ab";
+      sha256 = "0qnx3hvd3lhwnmxg7nr4nwl5kbsc7ffnjk9ifyk0f05h61l3v9pz";
+    };
+  }
+  {
+    goPackagePath  = "github.com/olekukonko/tablewriter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/olekukonko/tablewriter";
+      rev =  "d5dd8a50526aadb3d5f2c9b5233277bc2db90e88";
+      sha256 = "0l7y3mmwkzpa7p56drw6d6416j9zfapznfyr1dab44d6kk48rvjx";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pmezard/go-difflib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev =  "792786c7400a136282c1664665ae0a8db921c6c2";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+    };
+  }
+  {
+    goPackagePath  = "github.com/remeh/sizedwaitgroup";
+    fetch = {
+      type = "git";
+      url = "https://github.com/remeh/sizedwaitgroup";
+      rev =  "5582a674300c427060d06980c142aeb52ed20040";
+      sha256 = "152a1xnaswh9fx6f71llggm513c6ch171gc61jk3b6b0il6npb57";
+    };
+  }
+  {
+    goPackagePath  = "github.com/russross/blackfriday";
+    fetch = {
+      type = "git";
+      url = "https://github.com/russross/blackfriday";
+      rev =  "16ac584625fae401e2778e7af317dc415844c44b";
+      sha256 = "0g0dbqm76aqsc2a43j95i0h5138cmlgnldhkv3blgn0ga6s8ypfg";
+    };
+  }
+  {
+    goPackagePath  = "github.com/shogo82148/go-shuffle";
+    fetch = {
+      type = "git";
+      url = "https://github.com/shogo82148/go-shuffle";
+      rev =  "27e6095f230d6c769aafa7232db643a628bd87ad";
+      sha256 = "0nig0q0f0v6ay2w0k3r0pqlvjp1yg9s06f00qpizp679vc46gqs1";
+    };
+  }
+  {
+    goPackagePath  = "github.com/shurcooL/sanitized_anchor_name";
+    fetch = {
+      type = "git";
+      url = "https://github.com/shurcooL/sanitized_anchor_name";
+      rev =  "86672fcb3f950f35f2e675df2240550f2a50762f";
+      sha256 = "142m507s9971cl8qdmbcw7sqxnkgi3xqd8wzvfq15p0w7w8i4a3h";
+    };
+  }
+  {
+    goPackagePath  = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev =  "c679ae2cc0cb27ec3293fea7e254e47386f05d69";
+      sha256 = "1rrdn7k83j492rzhqwkh6956sj8m2nbk44d7r1xa9nsn3hfwj691";
+    };
+  }
+  {
+    goPackagePath  = "github.com/urfave/cli";
+    fetch = {
+      type = "git";
+      url = "https://github.com/urfave/cli";
+      rev =  "8e01ec4cd3e2d84ab2fe90d8210528ffbb06d8ff";
+      sha256 = "0cpr10n4ps3gcdbcink71ry9hzhdb5rrcysmylybs8h2lzxqgc1i";
+    };
+  }
+  {
+    goPackagePath  = "github.com/xrash/smetrics";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xrash/smetrics";
+      rev =  "a3153f7040e90324c58c6287535e26a0ac5c1cc1";
+      sha256 = "1phq5y6mcg741spq7snc6xsky1ybc7fllh2444sfr3p41sjq9hg6";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev =  "5f9ae10d9af5b1c89ae6904293b14b064d4ada23";
+      sha256 = "10vzmdg8z73krbp2qhsqygvqd0f0s98376mrxm614xdcdljn73dn";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev =  "bb9c189858d91f42db229b04d45a4c3d23a7662a";
+      sha256 = "0z20pql3hzlplcc8ywfq7a1s8mfixmcp84k656fdkmkdjfyvsl0v";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/ini.v1";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-ini/ini";
+      rev =  "bda519ae5f4cbc60d391ff8610711627a08b86ae";
+      sha256 = "05vcc3ssxyrk8g3sr4gs888vllgjqfq11na63qz2pvaiy7m0rqrs";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/neurosnap/sentences.v1";
+    fetch = {
+      type = "git";
+      url = "https://github.com/neurosnap/sentences";
+      rev =  "b0f23a5b35b961fe821f49e51235242d2a8193f3";
+      sha256 = "0f5lmww1g4frd5avmqw120zzklcxk5z4l20r4d8zix7406ry7zrg";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-yaml/yaml";
+      rev =  "5420a8b6744d3b0345ab293f6fcba19c978f1183";
+      sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
+    };
+  }
 ]
\ No newline at end of file
diff --git a/pkgs/tools/virtualization/awsebcli/default.nix b/pkgs/tools/virtualization/awsebcli/default.nix
index 3b3bda0f22dc..b55ac457305b 100644
--- a/pkgs/tools/virtualization/awsebcli/default.nix
+++ b/pkgs/tools/virtualization/awsebcli/default.nix
@@ -19,6 +19,14 @@ let
         };
       });
 
+      pathspec = super.pathspec.overridePythonAttrs (oldAttrs: rec {
+        version = "0.5.5";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "72c495d1bbe76674219e307f6d1c6062f2e1b0b483a5e4886435127d0df3d0d3";
+        };
+      });
+
       requests = super.requests.overridePythonAttrs (oldAttrs: rec {
         version = "2.9.1";
         src = oldAttrs.src.override {
@@ -46,11 +54,11 @@ let
   };
 in with localPython.pkgs; buildPythonApplication rec {
   pname = "awsebcli";
-  version = "3.12.3";
+  version = "3.12.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0jj6xhvsrgvc5pm05zbd95zvx36ssywq70j6q1kzcdv1flfzzyp9";
+    sha256 = "128dgxyz2bgl3r4jdkbmjs280004bm0dwzln7p6ly3yjs2x37jl6";
   };
 
   checkInputs = [
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 31a1acff06ee..de37710b2b9d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1322,6 +1322,8 @@ with pkgs;
 
   metabase = callPackage ../servers/metabase { };
 
+  monetdb = callPackage ../servers/sql/monetdb { };
+
   mp3blaster = callPackage ../applications/audio/mp3blaster { };
 
   mp3fs = callPackage ../tools/filesystems/mp3fs { };
@@ -5107,9 +5109,7 @@ with pkgs;
 
   ted = callPackage ../tools/typesetting/ted { };
 
-  teamviewer = callPackage ../applications/networking/remote/teamviewer {
-    stdenv = stdenv_32bit;
-  };
+  teamviewer = libsForQt5.callPackage ../applications/networking/remote/teamviewer { };
 
   telnet = callPackage ../tools/networking/telnet { };
 
@@ -14353,8 +14353,6 @@ with pkgs;
 
   input-fonts = callPackage ../data/fonts/input-fonts { };
 
-  inziu-iosevka = callPackage ../data/fonts/inziu-iosevka { };
-
   iosevka = callPackage ../data/fonts/iosevka {
     nodejs = nodejs-8_x;
   };
@@ -14673,28 +14671,6 @@ with pkgs;
 
   aacgain = callPackage ../applications/audio/aacgain { };
 
-  aangifte2006 = callPackage_i686 ../applications/taxes/aangifte-2006 { };
-
-  aangifte2007 = callPackage_i686 ../applications/taxes/aangifte-2007 { };
-
-  aangifte2008 = callPackage_i686 ../applications/taxes/aangifte-2008 { };
-
-  aangifte2009 = callPackage_i686 ../applications/taxes/aangifte-2009 { };
-
-  aangifte2010 = callPackage_i686 ../applications/taxes/aangifte-2010 { };
-
-  aangifte2011 = callPackage_i686 ../applications/taxes/aangifte-2011 { };
-
-  aangifte2012 = callPackage_i686 ../applications/taxes/aangifte-2012 { };
-
-  aangifte2013 = callPackage_i686 ../applications/taxes/aangifte-2013 { };
-
-  aangifte2014 = callPackage_i686 ../applications/taxes/aangifte-2014 { };
-
-  aangifte2013wa = callPackage_i686 ../applications/taxes/aangifte-2013-wa { };
-
-  aangifte2014wa = callPackage_i686 ../applications/taxes/aangifte-2014-wa { };
-
   abcde = callPackage ../applications/audio/abcde {
     inherit (perlPackages) DigestSHA MusicBrainz MusicBrainzDiscID;
     inherit (pythonPackages) eyeD3;
@@ -19017,6 +18993,8 @@ with pkgs;
 
   egoboo = callPackage ../games/egoboo { };
 
+  EmptyEpsilon = callPackage ../games/empty-epsilon { };
+
   endless-sky = callPackage ../games/endless-sky { };
 
   enyo-doom = libsForQt5.callPackage ../games/enyo-doom { };
@@ -20964,6 +20942,8 @@ with pkgs;
   terraform = terraform_0_11;
   terraform-full = terraform_0_11-full;
 
+  terraform-provider-ibm = callPackage ../applications/networking/cluster/terraform-provider-ibm {};
+
   terraform-inventory = callPackage ../applications/networking/cluster/terraform-inventory {};
 
   terraform-provider-nixos = callPackage ../applications/networking/cluster/terraform-provider-nixos {};