summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/functions.xml61
-rw-r--r--lib/generators.nix45
-rw-r--r--lib/tests/misc.nix26
-rw-r--r--maintainers/maintainer-list.nix5
-rw-r--r--nixos/doc/manual/release-notes/rl-1803.xml9
-rw-r--r--nixos/modules/misc/version.nix15
-rw-r--r--nixos/modules/module-list.nix4
-rw-r--r--nixos/modules/rename.nix4
-rw-r--r--nixos/modules/services/mail/dovecot.nix1
-rw-r--r--nixos/modules/services/misc/gitweb.nix50
-rw-r--r--nixos/modules/services/monitoring/monit.nix16
-rw-r--r--nixos/modules/services/networking/zerotierone.nix22
-rw-r--r--nixos/modules/services/web-servers/lighttpd/gitweb.nix28
-rw-r--r--nixos/modules/services/web-servers/nginx/gitweb.nix64
-rw-r--r--nixos/modules/services/x11/desktop-managers/default.nix6
-rw-r--r--nixos/modules/services/x11/window-managers/default.nix4
-rw-r--r--nixos/modules/services/x11/xserver.nix14
-rw-r--r--pkgs/applications/editors/android-studio/default.nix12
-rw-r--r--pkgs/applications/graphics/shotwell/default.nix4
-rw-r--r--pkgs/applications/misc/lyx/default.nix6
-rw-r--r--pkgs/applications/misc/orca/default.nix4
-rw-r--r--pkgs/applications/misc/yakuake/default.nix4
-rw-r--r--pkgs/applications/networking/compactor/default.nix52
-rw-r--r--pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix4
-rw-r--r--pkgs/applications/office/abiword/default.nix21
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix2
-rw-r--r--pkgs/applications/video/peek/default.nix4
-rw-r--r--pkgs/data/misc/hackage/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-music/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/core/evince/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/evolution-data-server/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-keyring/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-themes-extra/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/libgweather/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/gpaste/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/libgnome-games-support/default.nix4
-rw-r--r--pkgs/desktops/mate/caja/default.nix4
-rw-r--r--pkgs/desktops/mate/libmatekbd/default.nix4
-rw-r--r--pkgs/desktops/mate/marco/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-applets/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-calc/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-control-center/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-desktop/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-panel/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-power-manager/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-settings-daemon/default.nix4
-rw-r--r--pkgs/desktops/mate/pluma/default.nix4
-rw-r--r--pkgs/development/compilers/ghcjs/head.nix2
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix13
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix13
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix62
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml15
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix2
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix893
-rw-r--r--pkgs/development/haskell-modules/lib.nix3
-rw-r--r--pkgs/development/libraries/dbus/make-system-conf.xsl1
-rw-r--r--pkgs/development/libraries/getdns/default.nix6
-rw-r--r--pkgs/development/libraries/libgringotts/default.nix6
-rw-r--r--pkgs/development/libraries/pipewire/default.nix2
-rw-r--r--pkgs/development/python-modules/celery/default.nix7
-rw-r--r--pkgs/development/python-modules/linode-api/default.nix20
-rw-r--r--pkgs/development/tools/cbor-diag/Gemfile2
-rw-r--r--pkgs/development/tools/cbor-diag/Gemfile.lock19
-rw-r--r--pkgs/development/tools/cbor-diag/default.nix30
-rw-r--r--pkgs/development/tools/cbor-diag/gemset.nix36
-rw-r--r--pkgs/development/tools/cddl/Gemfile2
-rw-r--r--pkgs/development/tools/cddl/Gemfile.lock28
-rw-r--r--pkgs/development/tools/cddl/default.nix17
-rw-r--r--pkgs/development/tools/cddl/gemset.nix69
-rw-r--r--pkgs/development/tools/jbake/default.nix4
-rw-r--r--pkgs/development/tools/misc/babeltrace/default.nix4
-rw-r--r--pkgs/development/tools/misc/cquery/default.nix61
-rw-r--r--pkgs/development/tools/misc/cquery/wrapper12
-rw-r--r--pkgs/development/tools/misc/d-feet/default.nix18
-rw-r--r--pkgs/development/tools/skopeo/default.nix25
-rw-r--r--pkgs/misc/drivers/hplip/default.nix1
-rw-r--r--pkgs/os-specific/linux/fatrace/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.15.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-copperhead-hardened.nix4
-rw-r--r--pkgs/os-specific/linux/phc-intel/default.nix6
-rw-r--r--pkgs/os-specific/linux/radeontop/default.nix6
-rw-r--r--pkgs/os-specific/linux/selinux-sandbox/default.nix2
-rw-r--r--pkgs/os-specific/linux/v4l2loopback/default.nix12
-rw-r--r--pkgs/servers/mail/dovecot/default.nix4
-rw-r--r--pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix4
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix6
-rw-r--r--pkgs/servers/sql/mysql/5.7.x.nix2
-rw-r--r--pkgs/stdenv/generic/check-meta.nix7
-rw-r--r--pkgs/tools/misc/convmv/default.nix4
-rw-r--r--pkgs/tools/misc/gsmartcontrol/default.nix26
-rw-r--r--pkgs/tools/misc/gsmartcontrol/fix-paths.patch58
-rw-r--r--pkgs/tools/misc/txt2man/default.nix7
-rw-r--r--pkgs/tools/security/spectre-meltdown-checker/default.nix4
-rw-r--r--pkgs/tools/system/facter/default.nix4
-rw-r--r--pkgs/tools/text/untex/default.nix6
-rw-r--r--pkgs/top-level/all-packages.nix15
-rw-r--r--pkgs/top-level/perl-packages.nix12
101 files changed, 1732 insertions, 418 deletions
diff --git a/doc/functions.xml b/doc/functions.xml
index 52bdf13eba9b..f790512e7db1 100644
--- a/doc/functions.xml
+++ b/doc/functions.xml
@@ -221,16 +221,69 @@
 
   <para>
     All generators follow a similar call interface: <code>generatorName
-    configFunctions data</code>, where <literal>configFunctions</literal> is a
-    set of user-defined functions that format variable parts of the content.
+    configFunctions data</code>, where <literal>configFunctions</literal> is
+    an attrset of user-defined functions that format nested parts of the
+    content.
     They each have common defaults, so often they do not need to be set
     manually. An example is <code>mkSectionName ? (name: libStr.escape [ "[" "]"
-    ] name)</code> from the <literal>INI</literal> generator. It gets the name
-    of a section and returns a sanitized name. The default
+    ] name)</code> from the <literal>INI</literal> generator. It receives the
+    name of a section and sanitizes it. The default
     <literal>mkSectionName</literal> escapes <literal>[</literal> and
     <literal>]</literal> with a backslash.
   </para>
 
+  <para>
+    Generators can be fine-tuned to produce exactly the file format required
+    by your application/service. One example is an INI-file format which uses
+    <literal>: </literal> as separator, the strings
+    <literal>"yes"</literal>/<literal>"no"</literal> as boolean values
+    and requires all string values to be quoted:
+  </para>
+
+<programlisting>
+with lib;
+let
+  customToINI = generators.toINI {
+    # specifies how to format a key/value pair
+    mkKeyValue = generators.mkKeyValueDefault {
+      # specifies the generated string for a subset of nix values
+      mkValueString = v:
+             if v == true then ''"yes"''
+        else if v == false then ''"no"''
+        else if isString v then ''"${v}"''
+        # and delegats all other values to the default generator
+        else generators.mkValueStringDefault {} v;
+    } ":";
+  };
+
+# the INI file can now be given as plain old nix values
+in customToINI {
+  main = {
+    pushinfo = true;
+    autopush = false;
+    host = "localhost";
+    port = 42;
+  };
+  mergetool = {
+    merge = "diff3";
+  };
+}
+</programlisting>
+
+  <para>This will produce the following INI file as nix string:</para>
+
+<programlisting>
+[main]
+autopush:"no"
+host:"localhost"
+port:42
+pushinfo:"yes"
+str\:ange:"very::strange"
+
+[mergetool]
+merge:"diff3"
+</programlisting>
+
   <note><para>Nix store paths can be converted to strings by enclosing a
   derivation attribute like so: <code>"${drv}"</code>.</para></note>
 
diff --git a/lib/generators.nix b/lib/generators.nix
index 73017f2c6796..d1a8f6bf8dcd 100644
--- a/lib/generators.nix
+++ b/lib/generators.nix
@@ -4,6 +4,12 @@
  * They all follow a similar interface:
  * generator { config-attrs } data
  *
+ * `config-attrs` are “holes” in the generators
+ * with sensible default implementations that
+ * can be overwritten. The default implementations
+ * are mostly generators themselves, called with
+ * their respective default values; they can be reused.
+ *
  * Tests can be found in ./tests.nix
  * Documentation in the manual, #sec-generators
  */
@@ -20,6 +26,32 @@ in
 
 rec {
 
+  ## -- HELPER FUNCTIONS & DEFAULTS --
+
+  /* Convert a value to a sensible default string representation.
+   * The builtin `toString` function has some strange defaults,
+   * suitable for bash scripts but not much else.
+   */
+  mkValueStringDefault = {}: v: with builtins;
+    let err = t: v: abort
+          ("generators.mkValueStringDefault: " +
+           "${t} not supported: ${toPretty {} v}");
+    in   if isInt      v then toString v
+    # we default to not quoting strings
+    else if isString   v then v
+    # isString returns "1", which is not a good default
+    else if true  ==   v then "true"
+    # here it returns to "", which is even less of a good default
+    else if false ==   v then "false"
+    else if null  ==   v then "null"
+    # if you have lists you probably want to replace this
+    else if isList     v then err "lists" v
+    # same as for lists, might want to replace
+    else if isAttrs    v then err "attrsets" v
+    else if isFunction v then err "functions" v
+    else err "this value is" (toString v);
+
+
   /* Generate a line of key k and value v, separated by
    * character sep. If sep appears in k, it is escaped.
    * Helper for synaxes with different separators.
@@ -30,11 +62,14 @@ rec {
    * > "f\:oo:bar"
    */
   mkKeyValueDefault = {
-    mkValueString ? toString
+    mkValueString ? mkValueStringDefault {}
   }: sep: k: v:
     "${libStr.escape [sep] k}${sep}${mkValueString v}";
 
 
+  ## -- FILE FORMAT GENERATORS --
+
+
   /* Generate a key-value-style config file from an attrset.
    *
    * mkKeyValue is the same as in toINI.
@@ -98,6 +133,7 @@ rec {
     */
   toYAML = {}@args: toJSON args;
 
+
   /* Pretty print a value, akin to `builtins.trace`.
     * Should probably be a builtin as well.
     */
@@ -108,8 +144,9 @@ rec {
     allowPrettyValues ? false
   }@args: v: with builtins;
     if      isInt      v then toString v
-    else if isBool     v then (if v == true then "true" else "false")
-    else if isString   v then "\"" + v + "\""
+    else if isString   v then ''"${libStr.escape [''"''] v}"''
+    else if true  ==   v then "true"
+    else if false ==   v then "false"
     else if null ==    v then "null"
     else if isFunction v then
       let fna = lib.functionArgs v;
@@ -132,6 +169,6 @@ rec {
               (name: value:
                 "${toPretty args name} = ${toPretty args value};") v)
         + " }"
-    else abort "toPretty: should never happen (v = ${v})";
+    else abort "generators.toPretty: should never happen (v = ${v})";
 
 }
diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix
index e10aea48e48e..5f19dd63f2d8 100644
--- a/lib/tests/misc.nix
+++ b/lib/tests/misc.nix
@@ -207,6 +207,29 @@ runTests {
     expected = ''f\:oo:bar'';
   };
 
+  testMkValueString = {
+    expr = let
+      vals = {
+        int = 42;
+        string = ''fo"o'';
+        bool = true;
+        bool2 = false;
+        null = null;
+        # float = 42.23; # floats are strange
+      };
+      in mapAttrs
+        (const (generators.mkValueStringDefault {}))
+        vals;
+    expected = {
+      int = "42";
+      string = ''fo"o'';
+      bool = "true";
+      bool2 = "false";
+      null = "null";
+      # float = "42.23" true false [ "bar" ] ]'';
+    };
+  };
+
   testToKeyValue = {
     expr = generators.toKeyValue {} {
       key = "value";
@@ -249,6 +272,8 @@ runTests {
       "section 1" = {
         attribute1 = 5;
         x = "Me-se JarJar Binx";
+        # booleans are converted verbatim by default
+        boolean = false;
       };
       "foo[]" = {
         "he\\h=he" = "this is okay";
@@ -260,6 +285,7 @@ runTests {
 
       [section 1]
       attribute1=5
+      boolean=false
       x=Me-se JarJar Binx
     '';
   };
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 126f35f98560..a64e28564964 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -3586,6 +3586,11 @@
     github = "tnias";
     name = "Philipp Bartsch";
   };
+  tobim = {
+    email = "nix@tobim.fastmail.fm";
+    github = "tobimpub";
+    name = "Tobias Mayer";
+  };
   tohl = {
     email = "tom@logand.com";
     github = "tohl";
diff --git a/nixos/doc/manual/release-notes/rl-1803.xml b/nixos/doc/manual/release-notes/rl-1803.xml
index 60c17c60413e..67e042206812 100644
--- a/nixos/doc/manual/release-notes/rl-1803.xml
+++ b/nixos/doc/manual/release-notes/rl-1803.xml
@@ -420,15 +420,6 @@ following incompatible changes:</para>
   </listitem>
   <listitem>
     <para>
-      The option <option>services.xserver.desktopManager.default</option> is now
-      <literal>none</literal> by default. An assertion failure is thrown if WM's
-      and DM's default are <literal>none</literal>.
-      To explicitly run a plain X session without and DM or WM, the newly
-      introduced option <option>services.xserver.plainX</option> must be set to true.
-    </para>
-  </listitem>
-  <listitem>
-    <para>
       The option <option>services.logstash.listenAddress</option> is now <literal>127.0.0.1</literal> by default.
       Previously the default behaviour was to listen on all interfaces.
     </para>
diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix
index b8f0a223c910..7519d9176982 100644
--- a/nixos/modules/misc/version.nix
+++ b/nixos/modules/misc/version.nix
@@ -16,6 +16,21 @@ in
 
   options.system = {
 
+    # XXX: Reintroduce old options to make nixops before 1.6 able to evaluate configurations
+    # XXX: Remove after nixops has been bumped to a compatible version
+    nixosVersion = mkOption {
+      readOnly = true;
+      internal = true;
+      type = types.str;
+      default = config.system.nixos.version;
+    };
+    nixosVersionSuffix = mkOption {
+      readOnly = true;
+      internal = true;
+      type = types.str;
+      default = config.system.nixos.versionSuffix;
+    };
+
     nixos.version = mkOption {
       internal = true;
       type = types.str;
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 9e232ce1f4e6..f23ecc1e99d8 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -323,8 +323,9 @@
   ./services/misc/geoip-updater.nix
   ./services/misc/gitea.nix
   #./services/misc/gitit.nix
-  ./services/misc/gitlab.nix
+  #./services/misc/gitlab.nix
   ./services/misc/gitolite.nix
+  ./services/misc/gitweb.nix
   ./services/misc/gogs.nix
   ./services/misc/gollum.nix
   ./services/misc/gpsd.nix
@@ -650,6 +651,7 @@
   ./services/web-servers/mighttpd2.nix
   ./services/web-servers/minio.nix
   ./services/web-servers/nginx/default.nix
+  ./services/web-servers/nginx/gitweb.nix
   ./services/web-servers/phpfpm/default.nix
   ./services/web-servers/shellinabox.nix
   ./services/web-servers/tomcat.nix
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index b0ca274b939f..288634343750 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -196,9 +196,9 @@ with lib;
     (mkRenamedOptionModule [ "virtualization" "growPartition" ] [ "boot" "growPartition" ])
 
     # misc/version.nix
-    (mkRenamedOptionModule [ "config" "system" "nixosVersion" ] [ "config" "system" "nixos" "version" ])
+    #(mkRenamedOptionModule [ "config" "system" "nixosVersion" ] [ "config" "system" "nixos" "version" ])
     (mkRenamedOptionModule [ "config" "system" "nixosRelease" ] [ "config" "system" "nixos" "release" ])
-    (mkRenamedOptionModule [ "config" "system" "nixosVersionSuffix" ] [ "config" "system" "nixos" "versionSuffix" ])
+    #(mkRenamedOptionModule [ "config" "system" "nixosVersionSuffix" ] [ "config" "system" "nixos" "versionSuffix" ])
     (mkRenamedOptionModule [ "config" "system" "nixosRevision" ] [ "config" "system" "nixos" "revision" ])
     (mkRenamedOptionModule [ "config" "system" "nixosCodeName" ] [ "config" "system" "nixos" "codeName" ])
     (mkRenamedOptionModule [ "config" "system" "nixosLabel" ] [ "config" "system" "nixos" "label" ])
diff --git a/nixos/modules/services/mail/dovecot.nix b/nixos/modules/services/mail/dovecot.nix
index b42c73b86668..543e732127a5 100644
--- a/nixos/modules/services/mail/dovecot.nix
+++ b/nixos/modules/services/mail/dovecot.nix
@@ -30,6 +30,7 @@ let
 
     ''
       default_internal_user = ${cfg.user}
+      default_internal_group = ${cfg.group}
       ${optionalString (cfg.mailUser != null) "mail_uid = ${cfg.mailUser}"}
       ${optionalString (cfg.mailGroup != null) "mail_gid = ${cfg.mailGroup}"}
 
diff --git a/nixos/modules/services/misc/gitweb.nix b/nixos/modules/services/misc/gitweb.nix
new file mode 100644
index 000000000000..8e4d85a1e15f
--- /dev/null
+++ b/nixos/modules/services/misc/gitweb.nix
@@ -0,0 +1,50 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.gitweb;
+
+in
+{
+
+  options.services.gitweb = {
+
+    projectroot = mkOption {
+      default = "/srv/git";
+      type = types.path;
+      description = ''
+        Path to git projects (bare repositories) that should be served by
+        gitweb. Must not end with a slash.
+      '';
+    };
+
+    extraConfig = mkOption {
+      default = "";
+      type = types.lines;
+      description = ''
+        Verbatim configuration text appended to the generated gitweb.conf file.
+      '';
+      example = ''
+        $feature{'highlight'}{'default'} = [1];
+        $feature{'ctags'}{'default'} = [1];
+      '';
+    };
+
+    gitwebConfigFile = mkOption {
+      default = pkgs.writeText "gitweb.conf" ''
+        # path to git projects (<project>.git)
+        $projectroot = "${cfg.projectroot}";
+        $highlight_bin = "${pkgs.highlight}/bin/highlight";
+        ${cfg.extraConfig}
+      '';
+      type = types.path;
+      readOnly = true;
+      internal = true;
+    };
+
+  };
+
+  meta.maintainers = with maintainers; [ gnidorah ];
+
+}
diff --git a/nixos/modules/services/monitoring/monit.nix b/nixos/modules/services/monitoring/monit.nix
index 71f50cc0f19d..d48e5c550abb 100644
--- a/nixos/modules/services/monitoring/monit.nix
+++ b/nixos/modules/services/monitoring/monit.nix
@@ -26,16 +26,10 @@ in
 
     environment.systemPackages = [ pkgs.monit ];
 
-    environment.etc = [
-      {
-        source = pkgs.writeTextFile {
-          name = "monitrc";
-          text = config.services.monit.config;
-        };
-        target = "monitrc";
-        mode = "0400";
-      }
-    ];
+    environment.etc."monitrc" = {
+      text = config.services.monit.config;
+      mode = "0400";
+    };
 
     systemd.services.monit = {
       description = "Pro-active monitoring utility for unix systems";
@@ -48,6 +42,8 @@ in
         KillMode = "process";
         Restart = "always";
       };
+      restartTriggers = [ config.environment.etc."monitrc".source ];
     };
+
   };
 }
diff --git a/nixos/modules/services/networking/zerotierone.nix b/nixos/modules/services/networking/zerotierone.nix
index 86e0204ec2f7..cd1617b8e2ba 100644
--- a/nixos/modules/services/networking/zerotierone.nix
+++ b/nixos/modules/services/networking/zerotierone.nix
@@ -7,6 +7,16 @@ let
 in
 {
   options.services.zerotierone.enable = mkEnableOption "ZeroTierOne";
+
+  options.services.zerotierone.joinNetworks = mkOption {
+    default = [];
+    example = [ "a8a2c3c10c1a68de" ];
+    type = types.listOf types.str;
+    description = ''
+      List of ZeroTier Network IDs to join on startup
+    '';
+  };
+
   options.services.zerotierone.package = mkOption {
     default = pkgs.zerotierone;
     defaultText = "pkgs.zerotierone";
@@ -22,12 +32,13 @@ in
       path = [ cfg.package ];
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
-      preStart =
-        ''
-        mkdir -p /var/lib/zerotier-one
+      preStart = ''
+        mkdir -p /var/lib/zerotier-one/networks.d
         chmod 700 /var/lib/zerotier-one
         chown -R root:root /var/lib/zerotier-one
-        '';
+      '' + (concatMapStrings (netId: ''
+        touch "/var/lib/zerotier-one/networks.d/${netId}.conf"
+      '') cfg.joinNetworks);
       serviceConfig = {
         ExecStart = "${cfg.package}/bin/zerotier-one";
         Restart = "always";
@@ -38,6 +49,9 @@ in
     # ZeroTier does not issue DHCP leases, but some strangers might...
     networking.dhcpcd.denyInterfaces = [ "zt0" ];
 
+    # ZeroTier receives UDP transmissions on port 9993 by default
+    networking.firewall.allowedUDPPorts = [ 9993 ];
+
     environment.systemPackages = [ cfg.package ];
   };
 }
diff --git a/nixos/modules/services/web-servers/lighttpd/gitweb.nix b/nixos/modules/services/web-servers/lighttpd/gitweb.nix
index c8d9836b0b68..37128d90401d 100644
--- a/nixos/modules/services/web-servers/lighttpd/gitweb.nix
+++ b/nixos/modules/services/web-servers/lighttpd/gitweb.nix
@@ -3,12 +3,7 @@
 with lib;
 
 let
-  cfg = config.services.lighttpd.gitweb;
-  gitwebConfigFile = pkgs.writeText "gitweb.conf" ''
-    # path to git projects (<project>.git)
-    $projectroot = "${cfg.projectroot}";
-    ${cfg.extraConfig}
-  '';
+  cfg = config.services.gitweb;
 
 in
 {
@@ -23,26 +18,9 @@ in
       '';
     };
 
-    projectroot = mkOption {
-      default = "/srv/git";
-      type = types.path;
-      description = ''
-        Path to git projects (bare repositories) that should be served by
-        gitweb. Must not end with a slash.
-      '';
-    };
-
-    extraConfig = mkOption {
-      default = "";
-      type = types.lines;
-      description = ''
-        Verbatim configuration text appended to the generated gitweb.conf file.
-      '';
-    };
-
   };
 
-  config = mkIf cfg.enable {
+  config = mkIf config.services.lighttpd.gitweb.enable {
 
     # declare module dependencies
     services.lighttpd.enableModules = [ "mod_cgi" "mod_redirect" "mod_alias" "mod_setenv" ];
@@ -60,7 +38,7 @@ in
               "/gitweb/"        => "${pkgs.git}/share/gitweb/gitweb.cgi"
           )
           setenv.add-environment = (
-              "GITWEB_CONFIG" => "${gitwebConfigFile}",
+              "GITWEB_CONFIG" => "${cfg.gitwebConfigFile}",
               "HOME" => "${cfg.projectroot}"
           )
       }
diff --git a/nixos/modules/services/web-servers/nginx/gitweb.nix b/nixos/modules/services/web-servers/nginx/gitweb.nix
new file mode 100644
index 000000000000..344c1f7b8aa4
--- /dev/null
+++ b/nixos/modules/services/web-servers/nginx/gitweb.nix
@@ -0,0 +1,64 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.gitweb;
+
+in
+{
+
+  options.services.nginx.gitweb = {
+
+    enable = mkOption {
+      default = false;
+      type = types.bool;
+      description = ''
+        If true, enable gitweb in nginx. Access it at http://yourserver/gitweb
+      '';
+    };
+
+  };
+
+  config = mkIf config.services.nginx.gitweb.enable {
+
+    systemd.sockets.gitweb = {
+      description = "GitWeb Listen Socket";
+      listenStreams = [ "/run/gitweb.sock" ];
+      socketConfig = {
+        Accept = "false";
+        SocketUser = "nginx";
+        SocketGroup = "nginx";
+        SocketMode = "0600";
+      };
+      wantedBy = [ "sockets.target" ];
+    };
+    systemd.services.gitweb = {
+      description = "GitWeb service";
+      script = "${git}/share/gitweb/gitweb.cgi --fcgi";
+      serviceConfig = {
+        Type = "simple";
+        StandardInput = "socket";
+        User = "nginx";
+        Group = "nginx";
+      };
+    };
+
+    services.nginx = {
+      virtualHosts.default = {
+        locations."/gitweb" = {
+          root = "${pkgs.git}/share/gitweb";
+          extraConfig = ''
+            include ${pkgs.nginx}/conf/fastcgi_params;
+            fastcgi_param GITWEB_CONFIG ${cfg.gitwebConfigFile};
+            fastcgi_pass unix:/run/gitweb.sock;
+          '';
+        };
+      };
+    };
+
+  };
+
+  meta.maintainers = with maintainers; [ gnidorah ];
+
+}
diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix
index 4622c7b760f0..f435e85f6b83 100644
--- a/nixos/modules/services/x11/desktop-managers/default.nix
+++ b/nixos/modules/services/x11/desktop-managers/default.nix
@@ -87,11 +87,11 @@ in
 
       default = mkOption {
         type = types.str;
-        default = "none";
-        example = "plasma5";
+        default = "";
+        example = "none";
         description = "Default desktop manager loaded if none have been chosen.";
         apply = defaultDM:
-          if defaultDM == "none" && cfg.session.list != [] then
+          if defaultDM == "" && cfg.session.list != [] then
             (head cfg.session.list).name
           else if any (w: w.name == defaultDM) cfg.session.list then
             defaultDM
diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix
index bc420831ad83..e617e55a7a57 100644
--- a/nixos/modules/services/x11/window-managers/default.nix
+++ b/nixos/modules/services/x11/window-managers/default.nix
@@ -62,9 +62,7 @@ in
         example = "wmii";
         description = "Default window manager loaded if none have been chosen.";
         apply = defaultWM:
-          if defaultWM == "none" && cfg.session != []  then
-            (head cfg.session).name
-          else if any (w: w.name == defaultWM) cfg.session then
+          if any (w: w.name == defaultWM) cfg.session then
             defaultWM
           else
             throw "Default window manager (${defaultWM}) not found.";
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index a89d446187e0..5f0a0f278452 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -161,15 +161,6 @@ in
         '';
       };
 
-      plainX = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Whether the X11 session can be plain (without DM/WM) and
-          the Xsession script will be used as fallback or not.
-        '';
-      };
-
       autorun = mkOption {
         type = types.bool;
         default = true;
@@ -561,11 +552,6 @@ in
                 + "${toString (length primaryHeads)} heads set to primary: "
                 + concatMapStringsSep ", " (x: x.output) primaryHeads;
       })
-      { assertion = cfg.desktopManager.default == "none" && cfg.windowManager.default == "none" -> cfg.plainX;
-        message = "Either the desktop manager or the window manager shouldn't be `none`! "
-                + "To explicitly allow this, you can also set `services.xserver.plainX` to `true`. "
-                + "The `default` value looks for enabled WMs/DMs and select the first one.";
-      }
     ];
 
     environment.etc =
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index fa929d714b70..701f8aa2be4c 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -21,9 +21,9 @@ in rec {
   stable = mkStudio {
     pname = "android-studio";
     #pname = "android-studio-stable"; # TODO: Rename and provide symlink
-    version = "3.0.1.0"; # "Android Studio 3.0.1"
-    build = "171.4443003";
-    sha256Hash = "1krahlqr70nq3csqiinq2m4fgs68j11hd9gg2dx2nrpw5zni0wdd";
+    version = "3.1.0.16"; # "Android Studio 3.1"
+    build = "173.4670197";
+    sha256Hash = "1i0ldyadrcyy5pl9vjpm2k755mf08xi9x5qz8655qsbiajzqf9fy";
 
     meta = with stdenv.lib; {
       description = "The Official IDE for Android (stable channel)";
@@ -41,9 +41,9 @@ in rec {
   beta = mkStudio {
     pname = "android-studio-preview";
     #pname = "android-studio-beta"; # TODO: Rename and provide symlink
-    version = "3.1.0.15"; # "Android Studio 3.1 RC 3"
-    build = "173.4658569";
-    sha256Hash = "0jvq7k5vhrli41bj2imnsp3z70c7yws3fvs8m873qrjvfgmi5qrq";
+    version = "3.1.0.16"; # "Android Studio 3.1"
+    build = "173.4670197";
+    sha256Hash = "1i0ldyadrcyy5pl9vjpm2k755mf08xi9x5qz8655qsbiajzqf9fy";
 
     meta = stable.meta // {
       description = "The Official IDE for Android (beta channel)";
diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix
index 5a24a364587e..c214fa58bc9b 100644
--- a/pkgs/applications/graphics/shotwell/default.nix
+++ b/pkgs/applications/graphics/shotwell/default.nix
@@ -7,13 +7,13 @@
 
 let
   pname = "shotwell";
-  version = "0.28.0";
+  version = "0.28.1";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "1d797nmlz9gs6ri0h65b76s40ss6ma6h6405xqx03lhg5xni3kmg";
+    sha256 = "1ywikm5kdsr7q8hklh146x28rzvqkqfjs8kdpw7zcc15ri0dkzya";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix
index e3c4943cb2fe..092ad6bf4780 100644
--- a/pkgs/applications/misc/lyx/default.nix
+++ b/pkgs/applications/misc/lyx/default.nix
@@ -3,12 +3,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.2.3";
+  version = "2.3.0";
   name = "lyx-${version}";
 
   src = fetchurl {
-    url = "ftp://ftp.lyx.org/pub/lyx/stable/2.2.x/${name}.tar.xz";
-    sha256 = "0mrbr24xbdg25gd7w8g76gpmy0a10nrnz0mz47mdjwi441yfpjjg";
+    url = "ftp://ftp.lyx.org/pub/lyx/stable/2.3.x/${name}.tar.xz";
+    sha256 = "0axri2h8xkna4mkfchfyyysbjl7s486vx80p5hzj9zgsvdm5a3ri";
   };
 
   # LaTeX is used from $PATH, as people often want to have it with extra pkgs
diff --git a/pkgs/applications/misc/orca/default.nix b/pkgs/applications/misc/orca/default.nix
index 9bc9218305c3..109c0afa12d0 100644
--- a/pkgs/applications/misc/orca/default.nix
+++ b/pkgs/applications/misc/orca/default.nix
@@ -10,7 +10,7 @@
 with lib;
 let
   pname = "orca";
-  version = "3.27.91";
+  version = "3.28.0";
 in buildPythonApplication rec {
   name = "${pname}-${version}";
 
@@ -18,7 +18,7 @@ in buildPythonApplication rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "0phlkn6ffqncvsg7ph3l4xw388baddav9s4pbkvqqa8myca9g4wg";
+    sha256 = "1jy2zxs50ah1rg4zgiaj2l2sm1zyyvs37phws0hwmy3xd90ljfc2";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/yakuake/default.nix b/pkgs/applications/misc/yakuake/default.nix
index 0eb33c845c39..676cfc12eb0f 100644
--- a/pkgs/applications/misc/yakuake/default.nix
+++ b/pkgs/applications/misc/yakuake/default.nix
@@ -20,12 +20,12 @@
 
 mkDerivation rec {
   pname = "yakuake";
-  version = "3.0.4";
+  version = "3.0.5";
   name = "${pname}-${version}";
 
     src = fetchurl {
       url = "http://download.kde.org/stable/${pname}/${version}/src/${name}.tar.xz";
-      sha256 = "1q31p1cqhz8b2bikqjrr7fww86kaq723ib4ys2zwablfa1ybbqhh";
+      sha256 = "021a9mnghffv2mrdl987mn7wbg8bk6bnf6xz8kn2nwsqxp9kpqh8";
     };
 
     buildInputs = [
diff --git a/pkgs/applications/networking/compactor/default.nix b/pkgs/applications/networking/compactor/default.nix
new file mode 100644
index 000000000000..749b94f7b7ec
--- /dev/null
+++ b/pkgs/applications/networking/compactor/default.nix
@@ -0,0 +1,52 @@
+{ autoconf, automake, boost, cbor-diag, cddl, fetchFromGitHub, file, gcc, libpcap, libtins, libtool, lzma, openssl, pkgconfig, stdenv, tcpdump, wireshark-cli }:
+
+stdenv.mkDerivation rec {
+  name = "compactor-${version}";
+  version = "0.11.0";
+
+  src = fetchFromGitHub {
+    owner = "dns-stats";
+    repo = "compactor";
+    rev = "${version}";
+    sha256 = "1zn6w99xqq5igaz0n89429i78a5pj4nnfn1mm5yv1yfbn1lm0y3l";
+  };
+
+  # cbor-diag, cddl and wireshark-cli are only used for tests.
+  nativeBuildInputs = [ autoconf automake libtool pkgconfig cbor-diag cddl wireshark-cli ];
+  buildInputs = [
+    boost
+    libpcap
+    openssl
+    libtins
+    lzma
+  ];
+
+  patchPhase = ''
+    patchShebangs test-scripts/
+  '';
+
+  preConfigure = ''
+    sh autogen.sh
+    substituteInPlace configure \
+      --replace "/usr/bin/file" "${file}/bin/file"
+  '';
+  CXXFLAGS = "-std=c++11";
+  configureFlags = [
+    "--with-boost-libdir=${boost.out}/lib"
+    "--with-boost=${boost.dev}"
+  ];
+
+  doCheck = true;
+  preCheck = ''
+    substituteInPlace test-scripts/check-live-pcap.sh \
+      --replace "/usr/sbin/tcpdump" "${tcpdump}/bin/tcpdump"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Tools to capture DNS traffic and record it in C-DNS files";
+    homepage    = http://dns-stats.org/;
+    license     = [ licenses.boost licenses.mpl20 licenses.openssl ];
+    maintainers = with maintainers; [ fdns ];
+    platforms   = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index 8cd9eb84b835..fc8a601f1bea 100644
--- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
@@ -6,7 +6,7 @@ let
 
   # Please keep the version x.y.0.z and do not update to x.y.76.z because the
   # source of the latter disappears much faster.
-  version = "8.17.0.2";
+  version = "8.18.0.6";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
@@ -57,7 +57,7 @@ let
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb";
-        sha256 = "0lv8sb49ws8yjh4kkppzqy7sap2b1fw0y13lsc9s45w8mw3l16rp";
+        sha256 = "193icz1s385d25qzm5vx58h66m4hfwwmkavn0p3w6631gj617hig";
       }
     else
       throw "Skype for linux is not supported on ${stdenv.system}";
diff --git a/pkgs/applications/office/abiword/default.nix b/pkgs/applications/office/abiword/default.nix
index ea503b8df9bd..8dd127715aeb 100644
--- a/pkgs/applications/office/abiword/default.nix
+++ b/pkgs/applications/office/abiword/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, pkgconfig, gtk3, libglade, libgnomecanvas, fribidi
+{ stdenv, fetchurl, pkgconfig, gtk3, fribidi
 , libpng, popt, libgsf, enchant, wv, librsvg, bzip2, libjpeg, perl
-, boost, libxslt, goffice, makeWrapper, iconTheme
+, boost, libxslt, goffice, wrapGAppsHook, iconTheme
 }:
 
 stdenv.mkDerivation rec {
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   version = "3.0.2";
 
   src = fetchurl {
-    url = "http://www.abisource.com/downloads/abiword/${version}/source/${name}.tar.gz";
+    url = "https://www.abisource.com/downloads/abiword/${version}/source/${name}.tar.gz";
     sha256 = "08imry821g81apdwym3gcs4nss0l9j5blqk31j5rv602zmcd9gxg";
   };
 
@@ -22,19 +22,16 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  buildInputs =
-    [ pkgconfig gtk3 libglade librsvg bzip2 libgnomecanvas fribidi libpng popt
-      libgsf enchant wv libjpeg perl boost libxslt goffice makeWrapper iconTheme
-    ];
+  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
 
-  postFixup = ''
-    wrapProgram "$out/bin/abiword" \
-      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
+  buildInputs = [
+    gtk3 librsvg bzip2 fribidi libpng popt
+    libgsf enchant wv libjpeg perl boost libxslt goffice iconTheme
+  ];
 
   meta = with stdenv.lib; {
     description = "Word processing program, similar to Microsoft Word";
-    homepage = http://www.abisource.com/;
+    homepage = https://www.abisource.com/;
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ pSub ylwghst ];
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index e5e36e998ace..e2c525963d28 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -15,7 +15,7 @@ let
       perlPackages.MIMEBase64 perlPackages.AuthenSASL
       perlPackages.DigestHMAC
     ];
-    gitwebPerlLibs = with perlPackages; [ CGI HTMLParser ];
+    gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
   };
 
 in
diff --git a/pkgs/applications/video/peek/default.nix b/pkgs/applications/video/peek/default.nix
index 9858edf82389..6a84154818b0 100644
--- a/pkgs/applications/video/peek/default.nix
+++ b/pkgs/applications/video/peek/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "peek-${version}";
-  version = "1.2.2";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "phw";
     repo = "peek";
     rev = version;
-    sha256 = "1ihmq914g2h5iw86bigkkblzqimr50yq6z883lzq656xkcayd8gh";
+    sha256 = "0yizf55rzkm88bfjzwr8yyhm33yqp1mbih2ifwhvnjd1911db0x9";
   };
 
   nativeBuildInputs = [ cmake gettext pkgconfig libxml2.bin txt2man vala wrapGAppsHook ];
diff --git a/pkgs/data/misc/hackage/default.nix b/pkgs/data/misc/hackage/default.nix
index 792ff0304925..b359f9ce7a60 100644
--- a/pkgs/data/misc/hackage/default.nix
+++ b/pkgs/data/misc/hackage/default.nix
@@ -1,6 +1,6 @@
 { fetchurl }:
 
 fetchurl {
-  url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/6272b092cf23aa30154cd90ab0f5786c69bceb17.tar.gz";
-  sha256 = "11qs8whpqkj1l3mhx9ibpwh5pwgwj0xb6r9r8c7wk414vdmaa5mw";
+  url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/3f7d88041d19d251bca6330e9008175875c0ed4a.tar.gz";
+  sha256 = "18aymxbm7zhmh8jciq2p1hjdfwq5g31s5mmw3lqwaviigcisq22a";
 }
diff --git a/pkgs/desktops/gnome-3/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
index 47ea6768a04e..982cd9283ffd 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
@@ -21,7 +21,7 @@ python3.pkgs.buildPythonApplication rec {
     gdk_pixbuf gnome3.defaultIconTheme python3
     grilo grilo-plugins libnotify
     gnome3.gsettings-desktop-schemas tracker
-    gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad
+    gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly
   ];
   propagatedBuildInputs = with python3.pkgs; [ pycairo dbus-python requests pygobject3 ];
 
diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/core/evince/default.nix
index c60087cf47bc..59a7c6806efa 100644
--- a/pkgs/desktops/gnome-3/core/evince/default.nix
+++ b/pkgs/desktops/gnome-3/core/evince/default.nix
@@ -1,6 +1,6 @@
 { fetchurl, stdenv, pkgconfig, intltool, libxml2
 , glib, gtk3, pango, atk, gdk_pixbuf, shared-mime-info, itstool, gnome3
-, poppler, ghostscriptX, djvulibre, libspectre, libsecret, wrapGAppsHook
+, poppler, ghostscriptX, djvulibre, libspectre, libarchive, libsecret, wrapGAppsHook
 , librsvg, gobjectIntrospection, yelp-tools
 , recentListSize ? null # 5 is not enough, allow passing a different number
 , supportXPS ? false    # Open XML Paper Specification via libgxps
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib gtk3 pango atk gdk_pixbuf libxml2
     gnome3.gsettings-desktop-schemas
-    poppler ghostscriptX djvulibre libspectre
+    poppler ghostscriptX djvulibre libspectre libarchive
     libsecret librsvg gnome3.adwaita-icon-theme
   ] ++ stdenv.lib.optional supportXPS gnome3.libgxps;
 
diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
index 8abb51b56e72..7a01d73ebf46 100644
--- a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
+++ b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
@@ -32,6 +32,9 @@ stdenv.mkDerivation rec {
     "-DCMAKE_SKIP_BUILD_RPATH=OFF"
   ];
 
+  postPatch = ''
+    cmakeFlags="-DINCLUDE_INSTALL_DIR=$dev/include $cmakeFlags"
+  '';
 
   preFixup = ''
     for f in $(find $out/libexec/ -type f -executable); do
diff --git a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
index 20ff00ff218b..740748631ee2 100644
--- a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-keyring-${version}";
-  version = "3.28.0.1";
+  version = "3.28.0.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-keyring/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "0qxxc3wx4abb07vmbhqy4gipdzilx3v8yba9hsfzpn8p15prjz6i";
+    sha256 = "0a52xz535vgfymjw3cxmryi3xn2ik24vwk6sixyb7q6jgmqi4bw8";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/gnome-themes-extra/default.nix b/pkgs/desktops/gnome-3/core/gnome-themes-extra/default.nix
index dd11da3b11e2..0503d3baa6c1 100644
--- a/pkgs/desktops/gnome-3/core/gnome-themes-extra/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-themes-extra/default.nix
@@ -3,13 +3,13 @@
 
 let
   pname = "gnome-themes-extra";
-  version = "3.27.92";
+  version = "3.28";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "04jwsg9f29vzhcmf146d3rr27c8ldra378m465ahsal9vaaiywcm";
+    sha256 = "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/libgweather/default.nix b/pkgs/desktops/gnome-3/core/libgweather/default.nix
index 7c513e9398a5..fbae8fbcfbd4 100644
--- a/pkgs/desktops/gnome-3/core/libgweather/default.nix
+++ b/pkgs/desktops/gnome-3/core/libgweather/default.nix
@@ -3,7 +3,7 @@
 
 let
   pname = "libgweather";
-  version = "3.28.0";
+  version = "3.28.1";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
@@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "13z12ra5fhn7xhsrskd7q8dnc2qnd1kylhndg6zlhk0brj6yfjsr";
+    sha256 = "1qqbfgmlfs0g0v92rdl96v2b44yr3sqj9x7zpqv1nx9aaf486yhm";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig gettext vala gtk-doc docbook_xsl gobjectIntrospection ];
diff --git a/pkgs/desktops/gnome-3/misc/gpaste/default.nix b/pkgs/desktops/gnome-3/misc/gpaste/default.nix
index b24b51a0c334..361b1ac97f62 100644
--- a/pkgs/desktops/gnome-3/misc/gpaste/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gpaste/default.nix
@@ -2,12 +2,12 @@
 , pango, gtk3, gnome3, dbus, clutter, appstream-glib, wrapGAppsHook, systemd, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
-  version = "3.28.0";
+  version = "3.28.1";
   name = "gpaste-${version}";
 
   src = fetchurl {
     url = "https://github.com/Keruspe/GPaste/archive/v${version}.tar.gz";
-    sha256 = "15zigqmhd2x58ml0rl6srgvpx8ms7a3dapphcr75563pacv46mir";
+    sha256 = "19rdi2syshrk32hqnjh63fm0wargw546j5wlsnsg1axml0x1xww9";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig vala wrapGAppsHook ];
diff --git a/pkgs/desktops/gnome-3/misc/libgnome-games-support/default.nix b/pkgs/desktops/gnome-3/misc/libgnome-games-support/default.nix
index 5712d612e9a1..d777ec0baae5 100644
--- a/pkgs/desktops/gnome-3/misc/libgnome-games-support/default.nix
+++ b/pkgs/desktops/gnome-3/misc/libgnome-games-support/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "libgnome-games-support";
-  version = "1.4.0";
+  version = "1.4.1";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "0mhly6yhdc4kvg8ff09a0syabd6igvcmcm577ypfsjkxv92v328x";
+    sha256 = "1j7lfcnc29lgn8ppn13wkn9w2y1n3lsapagwp91zh3bf0h2h4hv1";
   };
 
   nativeBuildInputs = [ pkgconfig intltool ] ++ libintlOrEmpty;
diff --git a/pkgs/desktops/mate/caja/default.nix b/pkgs/desktops/mate/caja/default.nix
index 070808504d14..bf0583189bc0 100644
--- a/pkgs/desktops/mate/caja/default.nix
+++ b/pkgs/desktops/mate/caja/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "caja-${version}";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "05shyqqapqbz4w0gbhx0i3kj6xg7rcj80hkaq7wf5pyj91wmkxqg";
+    sha256 = "1qqqq3fi1aqjqg36y3v73z4d0bqkx7d5f79i6h9lxyh3s0876v9c";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/libmatekbd/default.nix b/pkgs/desktops/mate/libmatekbd/default.nix
index 209edf1f363b..fb7a8308ee5f 100644
--- a/pkgs/desktops/mate/libmatekbd/default.nix
+++ b/pkgs/desktops/mate/libmatekbd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libmatekbd-${version}";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "1n2zphb3g6ai54nfr0r9s06vn3bmm361xpjga88hmq947fvbpx19";
+    sha256 = "1d80xnbb8w51cv9cziybdxca037lksqkc5bd8wqlyb2p79z77426";
   };
 
   nativeBuildInputs = [ pkgconfig intltool ];
diff --git a/pkgs/desktops/mate/marco/default.nix b/pkgs/desktops/mate/marco/default.nix
index e5a544ae33e5..42c74aa1173d 100644
--- a/pkgs/desktops/mate/marco/default.nix
+++ b/pkgs/desktops/mate/marco/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "marco-${version}";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "07asf8i15ih6ajkp5yapk720qyssi2cinxwg2z5q5j9m6mxax6lr";
+    sha256 = "1qnx47aibvl00qaf1jik457cwncxb71pf5pd1m3gdg7ky61ljkm4";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-applets/default.nix b/pkgs/desktops/mate/mate-applets/default.nix
index 0be643c97189..b9f9e0ece35d 100644
--- a/pkgs/desktops/mate/mate-applets/default.nix
+++ b/pkgs/desktops/mate/mate-applets/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-applets-${version}";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "1jmhswfcbawp9ax5p5h2dj8pyajadjdyxa0ac7ldvh7viv8qy52s";
+    sha256 = "1a119g49sr7jrd8i32bw7sn2qlsg3sdiwqdb2v36bm2999j261wc";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-calc/default.nix b/pkgs/desktops/mate/mate-calc/default.nix
index efe8adae678e..5f968633d938 100644
--- a/pkgs/desktops/mate/mate-calc/default.nix
+++ b/pkgs/desktops/mate/mate-calc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-calc-${version}";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "03cma6b00chd4026pbnh5i0ckpl8b1l7i1ppvcmbfbx0s3vpbc73";
+    sha256 = "00k063ia4dclvcpg1q733lbi56533s6mj8bgb1nrgna6y7zw4q87";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-control-center/default.nix b/pkgs/desktops/mate/mate-control-center/default.nix
index fdee351aeed5..6bde7d7a0172 100644
--- a/pkgs/desktops/mate/mate-control-center/default.nix
+++ b/pkgs/desktops/mate/mate-control-center/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-control-center-${version}";
-  version = "1.20.0";
+  version = "1.20.2";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0qq3ln40w7lxa7qvbvbsgdq1c5ybzqw3bw2x4z6y6brl4c77sbh7";
+    sha256 = "1x40gxrz1hrzbdfl8vbag231g08h45vaky5z827k44qwl6pjd6nl";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-desktop/default.nix b/pkgs/desktops/mate/mate-desktop/default.nix
index 56c0ae4632ca..f84b6b254207 100644
--- a/pkgs/desktops/mate/mate-desktop/default.nix
+++ b/pkgs/desktops/mate/mate-desktop/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-desktop-${version}";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0y5172sbj6f4dvimf4pmz74b9cfidbpmnwwb9f6vlc6fa0kp5l1n";
+    sha256 = "0jxhhf9w6mz8ha6ymgj2alzmiydylg4ngqslkjxx37vvpvms2dyx";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-panel/default.nix b/pkgs/desktops/mate/mate-panel/default.nix
index 0adcb58758c3..df1c15bddd37 100644
--- a/pkgs/desktops/mate/mate-panel/default.nix
+++ b/pkgs/desktops/mate/mate-panel/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-panel-${version}";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0cz1pfwvsmrjcd0wa83cid9yjcygla6rhigyr7f75d75kiknlcm7";
+    sha256 = "1vmvn93apvq6r9m823zyrncbxgsjr4nmigw9k4s4n05z8zd8wy8k";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-power-manager/default.nix b/pkgs/desktops/mate/mate-power-manager/default.nix
index ddde6acf0e0e..c056b1f62fbd 100644
--- a/pkgs/desktops/mate/mate-power-manager/default.nix
+++ b/pkgs/desktops/mate/mate-power-manager/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-power-manager-${version}";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "038c2q5kqvqmkp1i93p4pp9x8p6a9i7lyn3nv522mq06qsbynbww";
+    sha256 = "1s46jvjcrai6xb2k0dy7i121b9ihfl5h3y5809fg9fzrbvw6bafn";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/mate/mate-settings-daemon/default.nix b/pkgs/desktops/mate/mate-settings-daemon/default.nix
index b97b5294d39b..490500fca697 100644
--- a/pkgs/desktops/mate/mate-settings-daemon/default.nix
+++ b/pkgs/desktops/mate/mate-settings-daemon/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-settings-daemon-${version}";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0p4fr2sgkjcjsrmkdy579xmk20dl0sa6az40rzvm6fb2w6693sf5";
+    sha256 = "1hmc5qfr9yrvrlc1d2mmsqbhv0lhikbadaac18bxjynw9ff857iq";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/pluma/default.nix b/pkgs/desktops/mate/pluma/default.nix
index d951c9f9bbd0..bbff7d246978 100644
--- a/pkgs/desktops/mate/pluma/default.nix
+++ b/pkgs/desktops/mate/pluma/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "pluma-${version}";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0w2x270n11rfa321cdlycfhcgncwxqpikjyl3lwmn4vkx8nhgq5f";
+    sha256 = "09arzypdz6q1zpxd1qqnsn1ykvhmzlf7nylkz2vpwlvnnd3x8ip3";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/compilers/ghcjs/head.nix b/pkgs/development/compilers/ghcjs/head.nix
index 84eb2d8bd0da..f062a3db8118 100644
--- a/pkgs/development/compilers/ghcjs/head.nix
+++ b/pkgs/development/compilers/ghcjs/head.nix
@@ -47,4 +47,6 @@ bootPkgs.callPackage ./base.nix {
   stage2 = import ./head_stage2.nix;
 
   patches = [ ./ghcjs-head.patch ];
+
+  broken = true;  # https://hydra.nixos.org/build/71923242
 }
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 71d7f96aa859..d7ef3a4c11c1 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -32,9 +32,13 @@ self: super: {
   # compiled on Linux. We provide the name to avoid evaluation errors.
   unbuildable = throw "package depends on meta package 'unbuildable'";
 
-  # hackage-security's test suite does not compile with Cabal 2.x.
-  # See https://github.com/haskell/hackage-security/issues/188.
-  hackage-security = dontCheck super.hackage-security;
+  # Use the latest version of the Cabal library.
+  cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; });
+
+  # Use the latest version, which supports Cabal 2.2.x. Unfortunately, the test
+  # suite depends on old versions of tasty and QuickCheck.
+  hackage-security = self.hackage-security_0_5_3_0;
+  hackage-security_0_5_3_0 = dontCheck super.hackage-security_0_5_3_0;
 
   # Link statically to avoid runtime dependency on GHC.
   jailbreak-cabal = disableSharedExecutables super.jailbreak-cabal;
@@ -1008,4 +1012,7 @@ self: super: {
   # https://github.com/strake/lenz-template.hs/issues/1
   lenz-template = doJailbreak super.lenz-template;
 
+  # https://github.com/haskell-hvr/resolv/issues/1
+  resolv = dontCheck super.resolv;
+
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
index a071a6aa866a..c7e8d1798d23 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
@@ -173,10 +173,6 @@ self: super: {
   # https://github.com/thoughtpolice/hs-ed25519/issues/13
   ed25519 = dontCheck super.ed25519;
 
-  # https://github.com/well-typed/hackage-security/issues/157
-  # https://github.com/well-typed/hackage-security/issues/158
-  hackage-security = dontHaddock (dontCheck super.hackage-security);
-
   # Breaks a dependency cycle between QuickCheck and semigroups
   hashable = dontCheck super.hashable;
   unordered-containers = dontCheck super.unordered-containers;
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix
index e37c7bb2d3e0..b6fdb75e5506 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix
@@ -41,9 +41,6 @@ self: super: {
     prePatch = "sed -i -e 's/process.*< 1.5,/process,/g' Cabal.cabal";
   });
 
-  # cabal-install can use the native Cabal library.
-  cabal-install = super.cabal-install.override { Cabal = null; };
-
   # jailbreak-cabal doesn't seem to work right with the native Cabal version.
   jailbreak-cabal = pkgs.haskell.packages.ghc802.jailbreak-cabal;
 
@@ -87,12 +84,12 @@ self: super: {
   purescript = doJailbreak (super.purescript);
 
   # These packages need Cabal 2.2.x, which is not the default.
-  distribution-nixpkgs = super.distribution-nixpkgs.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_0; });
-  hackage-db_2_0_1 = super.hackage-db_2_0_1.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_0; });
-  cabal2nix = super.cabal2nix.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_0; });
-  cabal2spec = super.cabal2spec.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_0; });
+  distribution-nixpkgs = super.distribution-nixpkgs.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; });
+  hackage-db_2_0_1 = super.hackage-db_2_0_1.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; });
+  cabal2nix = super.cabal2nix.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; });
+  cabal2spec = super.cabal2spec.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; });
   stylish-cabal = dontCheck (super.stylish-cabal.overrideScope (self: super: {
-    Cabal = self.Cabal_2_2_0_0;
+    Cabal = self.Cabal_2_2_0_1;
     haddock-library = dontHaddock (dontCheck self.haddock-library_1_5_0_1);
   }));
 
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 11de28354223..7848e1067e18 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
@@ -8,9 +8,6 @@ self: super: {
   inherit (pkgs) llvmPackages;
 
   # Disable GHC 8.4.x core libraries.
-  #
-  # Verify against:
-  # ls /nix/store/wnh3kxra586h9wvxrn62g4lmsri2akds-ghc-8.4.20180115/lib/ghc-8.4.20180115/ -1 | sort | grep -e '-' | grep -Ev '(txt|h|targets)$'
   array = null;
   base = null;
   binary = null;
@@ -20,12 +17,11 @@ self: super: {
   deepseq = null;
   directory = null;
   filepath = null;
-  bin-package-db = null;
   ghc-boot = null;
   ghc-boot-th = null;
   ghc-compact = null;
-  ghci = null;
   ghc-prim = null;
+  ghci = null;
   haskeline = null;
   hpc = null;
   integer-gmp = null;
@@ -33,6 +29,7 @@ self: super: {
   parsec = null;
   pretty = null;
   process = null;
+  rts = null;
   stm = null;
   template-haskell = null;
   terminfo = null;
@@ -122,41 +119,6 @@ self: super: {
   ## On Hackage:
 
   ## Upstreamed, awaiting a Hackage release
-  cabal-install = overrideCabal super.cabal-install (drv: {
-    ## Setup: Encountered missing dependencies:
-    ## Cabal >=2.0.1.0 && <2.1, base >=4.5 && <4.11
-    src = pkgs.fetchFromGitHub {
-      owner  = "haskell";
-      repo   = "cabal";
-      rev    = "728ad1a1e066da453ae13ee479629c00d8c2f32d";
-      sha256 = "0943xpva0fjlx8fanqvb6bg7myim2pki7q8hz3q0ijnf73bgzf7p";
-    };
-    prePatch        = "cd cabal-install; ";
-    ## Setup: Encountered missing dependencies:
-    ## network >=2.4 && <2.6, resolv >=0.1.1 && <0.2
-    libraryHaskellDepends = (drv.libraryHaskellDepends or []) ++ (with self; [ network resolv ]);
-  });
-
-  ## Upstreamed, awaiting a Hackage release
-  hackage-security = overrideCabal super.hackage-security (drv: {
-    ## Setup: Encountered missing dependencies:
-    ## Cabal >=1.14 && <1.26,
-    ## directory >=1.1.0.2 && <1.3,
-    ## time >=1.2 && <1.7
-    src = pkgs.fetchFromGitHub {
-      owner  = "haskell";
-      repo   = "hackage-security";
-      rev    = "21519f4f572b9547485285ebe44c152e1230fd76";
-      sha256 = "1ijwmps4pzyhsxfhc8mrnc3ldjvpisnmr457vvhgymwhdrr95k0z";
-    };
-    prePatch        = "cd hackage-security; ";
-    ## https://github.com/haskell/hackage-security/issues/211
-    jailbreak       = true;
-    ## error: while evaluating ‘overrideCabal’ at nixpkgs://pkgs/development/haskell-modules/lib.nix:37:24, called from /home/deepfire/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix:217:22:
-    editedCabalFile = null;
-  });
-
-  ## Upstreamed, awaiting a Hackage release
   haskell-gi = overrideCabal super.haskell-gi (drv: {
     ## Setup: Encountered missing dependencies:
     ## haskell-gi-base ==0.20.*
@@ -620,14 +582,12 @@ self: super: {
     jailbreak       = true;
   });
 
-  # Fix missing semigroup instance.
-  data-inttrie = appendPatch super.data-inttrie (pkgs.fetchpatch
-    { url = https://github.com/luqui/data-inttrie/pull/5.patch;
-      sha256 = "1wwdzrbsjqb7ih4nl28sq5bbj125mxf93a74yh4viv5gmxwj606a";
-    });
+  # https://github.com/luqui/data-inttrie/pull/5#issuecomment-377169026
+  data-inttrie_0_1_3 = doJailbreak super.data-inttrie_0_1_3;
 
   # Older versions don't compile.
   brick = self.brick_0_35_1;
+  data-inttrie = self.data-inttrie_0_1_3;
   HaTeX = self.HaTeX_3_19_0_0;
   matrix = self.matrix_0_3_6_1;
   pandoc = self.pandoc_2_1_3;
@@ -642,4 +602,16 @@ self: super: {
   # https://github.com/xmonad/xmonad-contrib/issues/235
   xmonad-contrib = doJailbreak (appendPatch super.xmonad-contrib ./patches/xmonad-contrib-ghc-8.4.1-fix.patch);
 
+  # Contributed by Bertram Felgenhauer <int-e@gmx.de>.
+  arrows = appendPatch super.arrows (pkgs.fetchpatch {
+    url = https://raw.githubusercontent.com/lambdabot/lambdabot/ghc-8.4.1/patches/arrows-0.4.4.1.patch;
+    sha256 = "0j859vclcfnz8n2mw466mv00kjsa9gdbrppjc1m3b68jbypdmfvr";
+  });
+
+  # Contributed by Bertram Felgenhauer <int-e@gmx.de>.
+  flexible-defaults = appendPatch super.flexible-defaults (pkgs.fetchpatch {
+    url = https://raw.githubusercontent.com/lambdabot/lambdabot/ghc-8.4.1/patches/flexible-defaults-0.0.1.2.patch;
+    sha256 = "1bpsqq80h6nxm04wddgcgyzn0fjfsmhccmqb211jqswv5209znx8";
+  });
+
 }
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index ae79162e29b2..29f6d4bd9575 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -3043,6 +3043,7 @@ dont-distribute-packages:
   aws-sdk-text-converter:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   aws-sdk-xml-unordered:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   aws-sdk:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  aws-ses-easy:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   aws-sign4:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   aws-simple:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   aws-sns:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3966,8 +3967,10 @@ dont-distribute-packages:
   dfsbuild:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   dgim:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   dgs:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  dhall-bash:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   dhall-check:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   dhall-nix:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  dhall-to-cabal:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   dhcp-lease-parser:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   diagrams-boolean:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   diagrams-braille:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4745,6 +4748,7 @@ dont-distribute-packages:
   github-backup:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   github-data:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   github-utils:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  githud:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   gitignore:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   gitit:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   gitlib-cmdline:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4916,6 +4920,7 @@ dont-distribute-packages:
   google-html5-slide:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   google-mail-filters:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   google-maps-geocoding:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  google-oauth2-easy:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   google-oauth2:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   google-search:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   google-server-api:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5926,6 +5931,8 @@ dont-distribute-packages:
   huttons-razor:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   huzzy:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hVOIDP:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hw-json-lens:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hw-json:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hw-kafka-avro:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   hw-xml:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hwall-auth-iitk:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6390,6 +6397,7 @@ dont-distribute-packages:
   lens-prelude:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   lens-text-encoding:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   lens-time:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  lens-toml-parser:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   lens-tutorial:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   lens-utils:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   lenses:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6561,6 +6569,7 @@ dont-distribute-packages:
   lscabal:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   LslPlus:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   lsystem:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ltext:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   ltk:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   lua-bc:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   luachunk:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7497,9 +7506,11 @@ dont-distribute-packages:
   potato-tool:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   potoki-cereal:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   potoki-core:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  potoki-hasql:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   potoki:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   potrace-diagrams:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   powerpc:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  powerqueue-distributed:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   powerqueue-levelmem:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   powerqueue-sqs:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   PPrinter:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7937,6 +7948,7 @@ dont-distribute-packages:
   roguestar-engine:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   roguestar-gl:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   roguestar-glut:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  roku-api:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   roller:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   RollingDirectory:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   rope:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8179,6 +8191,7 @@ dont-distribute-packages:
   shady-graphics:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   shake-ats:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   shake-cabal-build:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  shake-ext:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   shake-extras:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   shake-minify:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   shake-pack:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8877,6 +8890,7 @@ dont-distribute-packages:
   tracy:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   traildb:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   trajectory:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  transaction:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   transactional-events:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   transf:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   transfer-db:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9235,6 +9249,7 @@ dont-distribute-packages:
   WeberLogic:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   webfinger-client:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   webkit-javascriptcore:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  webkit2gtk3-javascriptcore:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   Webrexp:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   webserver:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   webwire:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index 76c18cc486eb..52d596da701a 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -138,7 +138,7 @@ let
     (optionalString useCpphs "--with-cpphs=${cpphs}/bin/cpphs --ghc-options=-cpp --ghc-options=-pgmP${cpphs}/bin/cpphs --ghc-options=-optP--cpp")
     (enableFeature (enableDeadCodeElimination && !hostPlatform.isArm && !hostPlatform.isAarch64 && (versionAtLeast "8.0.1" ghc.version)) "split-objs")
     (enableFeature enableLibraryProfiling "library-profiling")
-    (optionalString (enableExecutableProfiling || enableLibraryProfiling) "--profiling-detail=${profilingDetail}")
+    (optionalString ((enableExecutableProfiling || enableLibraryProfiling) && versionOlder "8" ghc.version) "--profiling-detail=${profilingDetail}")
     (enableFeature enableExecutableProfiling (if versionOlder ghc.version "8" then "executable-profiling" else "profiling"))
     (enableFeature enableSharedLibraries "shared")
     (optionalString (versionAtLeast ghc.version "7.10") (enableFeature doCoverage "coverage"))
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 57840713abaa..772efda156ed 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -2497,7 +2497,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "Cabal_2_2_0_0" = callPackage
+  "Cabal_2_2_0_1" = callPackage
     ({ mkDerivation, array, base, base-compat, base-orphans, binary
      , bytestring, containers, deepseq, Diff, directory, filepath
      , integer-logarithms, mtl, optparse-applicative, parsec, pretty
@@ -2507,10 +2507,8 @@ self: {
      }:
      mkDerivation {
        pname = "Cabal";
-       version = "2.2.0.0";
-       sha256 = "0bq4zgfvwlqjgsnph61pllvwhfmn8z224ycplqziyxc3zmwb3a96";
-       revision = "1";
-       editedCabalFile = "1fa2lvwj1b0yj06k8pb3smdhdyl94dxy9ac9jqmmj9cdv8msrb8x";
+       version = "2.2.0.1";
+       sha256 = "0yqa6fm9jvr0ka6b1mf17bf43092dc1bai6mqyiwwwyz0h9k1d82";
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
          mtl parsec pretty process text time transformers unix
@@ -6203,8 +6201,8 @@ self: {
      }:
      mkDerivation {
        pname = "GLUtil";
-       version = "0.10.0";
-       sha256 = "0n1yfcjl2akg53zjxlqm37k1ypbfd4p60kbc0wv1v4mq1yasf5m0";
+       version = "0.10.1";
+       sha256 = "08qsa22xhw4cdhdzc8ixlwjazi9s0n48395g4vf5qwfap9r8rdq3";
        libraryHaskellDepends = [
          array base bytestring containers directory filepath hpp JuicyPixels
          linear OpenGL OpenGLRaw transformers vector
@@ -31694,6 +31692,7 @@ self: {
        homepage = "https://github.com/jxv/aws-ses-easy#readme";
        description = "Wrapper over Amazonka's SES";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "aws-sign4" = callPackage
@@ -37885,13 +37884,17 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "bookkeeping_0_3_3_0" = callPackage
-    ({ mkDerivation, base, dlist, doctest, Glob, mtl, text, time }:
+  "bookkeeping_0_4_0_1" = callPackage
+    ({ mkDerivation, base, doctest, Glob, mono-traversable, text, time
+     , transaction
+     }:
      mkDerivation {
        pname = "bookkeeping";
-       version = "0.3.3.0";
-       sha256 = "040ivbr9slbsxghrgys2ym9mxfmc5jh579f2x8cl7yqr851gq1g6";
-       libraryHaskellDepends = [ base dlist mtl text time ];
+       version = "0.4.0.1";
+       sha256 = "0afa4g5c9csjn747732qqbs3ghp8c4jyxhfb9k09igfaladrvzfl";
+       libraryHaskellDepends = [
+         base mono-traversable text time transaction
+       ];
        testHaskellDepends = [ base doctest Glob ];
        homepage = "https://github.com/arowM/haskell-bookkeeping#readme";
        description = "A module for bookkeeping by double entry";
@@ -37905,8 +37908,8 @@ self: {
      }:
      mkDerivation {
        pname = "bookkeeping-jp";
-       version = "0.1.1.2";
-       sha256 = "0i0il5h6zf8hps8i3y4s6s80sqpvv0xgld1g3pm752v91r3z3dgv";
+       version = "0.1.1.3";
+       sha256 = "06zfq2153p6dnrmrp3vdq27xij38l5cnx46y3qpzifrpsady6lgd";
        libraryHaskellDepends = [
          base bookkeeping mono-traversable text time
        ];
@@ -38064,6 +38067,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "boomerang_1_4_5_4" = callPackage
+    ({ mkDerivation, base, mtl, template-haskell, text }:
+     mkDerivation {
+       pname = "boomerang";
+       version = "1.4.5.4";
+       sha256 = "1kff9gsr9adxfy74hpxp19sccnm5vs9drkglga4296wqmyqysppk";
+       libraryHaskellDepends = [ base mtl template-haskell text ];
+       description = "Library for invertible parsing and printing";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "boomslang" = callPackage
     ({ mkDerivation, base, containers, data-accessor
      , data-accessor-template, font-opengl-basic4x6, GLFW-b, MonadRandom
@@ -39630,17 +39645,18 @@ self: {
 
   "bv-sized" = callPackage
     ({ mkDerivation, base, containers, lens, parameterized-utils
-     , QuickCheck, random
+     , prettyclass, QuickCheck, random
      }:
      mkDerivation {
        pname = "bv-sized";
-       version = "0.2.0";
-       sha256 = "0v0wrr4pf8krya5az91yqvivjg72p08x2nmsp335c66rpmg6ph1i";
+       version = "0.2.1";
+       sha256 = "1hnmy3yhaf5ajr5hwx06s838s5nwnyz4jgl7wsyf189yzjs6m0kj";
        libraryHaskellDepends = [
-         base containers lens parameterized-utils QuickCheck random
+         base containers lens parameterized-utils prettyclass QuickCheck
+         random
        ];
        testHaskellDepends = [
-         base lens parameterized-utils QuickCheck random
+         base lens parameterized-utils prettyclass QuickCheck random
        ];
        homepage = "https://github.com/benjaminselfridge/bv-sized";
        description = "a BitVector datatype that is parameterized by the vector width";
@@ -40818,31 +40834,23 @@ self: {
     ({ mkDerivation, array, async, base, base16-bytestring, binary
      , bytestring, Cabal, containers, cryptohash-sha256, deepseq
      , directory, echo, edit-distance, filepath, hackage-security
-     , hashable, HTTP, mtl, network, network-uri, pretty, pretty-show
-     , process, QuickCheck, random, stm, tagged, tar, tasty, tasty-hunit
-     , tasty-quickcheck, time, unix, zlib
+     , hashable, HTTP, mtl, network, network-uri, pretty, process
+     , random, resolv, stm, tar, time, unix, zlib
      }:
      mkDerivation {
        pname = "cabal-install";
-       version = "2.0.0.1";
-       sha256 = "16ax1lx89jdgf9pqka423h2bf8dblkra48n4y3icg8fs79py74gr";
-       revision = "3";
-       editedCabalFile = "148rq7hcbl8rq7pkywn1hk3l7lv442flf6b0wamfixxzxk74fwlj";
-       isLibrary = false;
+       version = "2.2.0.0";
+       sha256 = "1nd3ch7qr4dpfxhgkcq2lnhvszx2kjgnn1kwb44vk9y5jgfs4mn8";
+       revision = "1";
+       editedCabalFile = "0f1svlhh4cpj3p5fs9bcjpv15qp291lnvlaxxcw7aib8a1gn3wim";
+       isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath process ];
        executableHaskellDepends = [
          array async base base16-bytestring binary bytestring Cabal
          containers cryptohash-sha256 deepseq directory echo edit-distance
          filepath hackage-security hashable HTTP mtl network network-uri
-         pretty process random stm tar time unix zlib
-       ];
-       testHaskellDepends = [
-         array async base base16-bytestring binary bytestring Cabal
-         containers cryptohash-sha256 deepseq directory edit-distance
-         filepath hackage-security hashable HTTP mtl network network-uri
-         pretty pretty-show process QuickCheck random stm tagged tar tasty
-         tasty-hunit tasty-quickcheck time unix zlib
+         pretty process random resolv stm tar time unix zlib
        ];
        doCheck = false;
        postInstall = ''
@@ -49344,8 +49352,8 @@ self: {
     ({ mkDerivation, base, cpphs }:
      mkDerivation {
        pname = "composition-prelude";
-       version = "1.3.0.7";
-       sha256 = "15fi1f3yiqg1gdjlwv3a6h9np9z3v1yd1qnz47309b6qki5pb0k3";
+       version = "1.3.0.8";
+       sha256 = "17ihwvkv7plwnwnk7ny81cj4xy2v776yk85gssgix92yc65p47b2";
        libraryHaskellDepends = [ base ];
        libraryToolDepends = [ cpphs ];
        homepage = "https://github.com/vmchale/composition-prelude#readme";
@@ -49772,6 +49780,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "concurrency_1_5_0_0" = callPackage
+    ({ mkDerivation, array, atomic-primops, base, exceptions
+     , monad-control, mtl, stm, transformers
+     }:
+     mkDerivation {
+       pname = "concurrency";
+       version = "1.5.0.0";
+       sha256 = "0c07jkhsi9fy3ssjs19511dxsqq62yqbh9qd90r666wdhs0v86qh";
+       libraryHaskellDepends = [
+         array atomic-primops base exceptions monad-control mtl stm
+         transformers
+       ];
+       homepage = "https://github.com/barrucadu/dejafu";
+       description = "Typeclasses, functions, and data types for concurrency and STM";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "concurrent-barrier" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -52345,8 +52371,8 @@ self: {
      }:
      mkDerivation {
        pname = "corenlp-parser";
-       version = "0.3.0.1";
-       sha256 = "14xjfcnk58mwgxywdlzdl53xdzf91scx0hmx8arhxkn6vr04akwp";
+       version = "0.4.0.0";
+       sha256 = "0li43xmig52npq9dc1nm5sv876nw7n1g4r3djy5saw3h38sz1zdz";
        libraryHaskellDepends = [
          aeson async base cryptonite data-default directory process
          raw-strings-qq rocksdb-haskell safe-exceptions split store
@@ -52582,6 +52608,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "country_0_1_5" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, ghc-prim
+     , hashable, primitive, scientific, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "country";
+       version = "0.1.5";
+       sha256 = "0shp4kq8bibfwrjldz8akghgm3n2lq00dybxnq4grmbl5phj3a9s";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring ghc-prim hashable primitive
+         scientific text unordered-containers
+       ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/andrewthad/country#readme";
+       description = "Country data type and functions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "country-codes" = callPackage
     ({ mkDerivation, aeson, base, HTF, HUnit, shakespeare, text }:
      mkDerivation {
@@ -57213,6 +57258,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "data-inttrie_0_1_3" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "data-inttrie";
+       version = "0.1.3";
+       sha256 = "0zrdc08pd6f3wizrda0sh7v8iwkxg08ddln75vxrl9m13093bqci";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/luqui/data-inttrie";
+       description = "A simple lazy, infinite trie from integers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "data-ivar" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -58133,8 +58191,8 @@ self: {
      }:
      mkDerivation {
        pname = "datarobot";
-       version = "1.0.0";
-       sha256 = "0ia74i013drj1mwgpq2dv2ayscs2z4hd7amcbzgxrp1b1j2mkhvj";
+       version = "1.0.1";
+       sha256 = "0arxjghmx50ci9hng6jmcm3jmx7c5k8vycn76d5paw6bjpd1n3mf";
        libraryHaskellDepends = [
          aeson base bytestring exceptions microlens network-uri safe
          scientific string-conversions text unordered-containers vector wreq
@@ -58494,6 +58552,36 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "dbus_1_0_1" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, criterion
+     , deepseq, directory, extra, filepath, lens, libxml-sax, network
+     , parsec, process, QuickCheck, random, resourcet, split, tasty
+     , tasty-hunit, tasty-quickcheck, template-haskell, text, th-lift
+     , transformers, unix, vector, xml-types
+     }:
+     mkDerivation {
+       pname = "dbus";
+       version = "1.0.1";
+       sha256 = "1xg8wzs7xnh3455v3bbw9nd8inzr06n5939pzlq3nd4ajp3ba9d3";
+       libraryHaskellDepends = [
+         base bytestring cereal containers deepseq filepath lens libxml-sax
+         network parsec random split template-haskell text th-lift
+         transformers unix vector xml-types
+       ];
+       testHaskellDepends = [
+         base bytestring cereal containers directory extra filepath
+         libxml-sax network parsec process QuickCheck random resourcet tasty
+         tasty-hunit tasty-quickcheck text transformers unix vector
+         xml-types
+       ];
+       benchmarkHaskellDepends = [ base criterion ];
+       doCheck = false;
+       homepage = "https://github.com/rblaze/haskell-dbus#readme";
+       description = "A client library for the D-Bus IPC system";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dbus-client" = callPackage
     ({ mkDerivation, base, containers, dbus-core, monads-tf, text
      , transformers
@@ -58962,8 +59050,8 @@ self: {
      }:
      mkDerivation {
        pname = "dde";
-       version = "0.1.0";
-       sha256 = "0kqcs758rdv186mqk17i66lmzzb34a4fd125669sh9gx255lbwya";
+       version = "0.2.0";
+       sha256 = "0c0mhyvipn7g1sfjgw8r0qybzcvxm3lzmr1ips2xbr8vv2mxmpm4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -59659,14 +59747,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "dejafu_1_4_0_0" = callPackage
+  "dejafu_1_5_0_0" = callPackage
     ({ mkDerivation, base, concurrency, containers, deepseq, exceptions
      , leancheck, profunctors, random, transformers
      }:
      mkDerivation {
        pname = "dejafu";
-       version = "1.4.0.0";
-       sha256 = "0ydfhgl8011lx5yp3nxhaz1418y7p1d1yfsj9fg1c59djsfrnd45";
+       version = "1.5.0.0";
+       sha256 = "1d32y12mzd9vfj2ww2cqn4jsvkc4yysnada6wijk5hm6ax7in822";
        libraryHaskellDepends = [
          base concurrency containers deepseq exceptions leancheck
          profunctors random transformers
@@ -60591,6 +60679,7 @@ self: {
        ];
        description = "Compile Dhall to Bash";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "dhall-check" = callPackage
@@ -60713,6 +60802,7 @@ self: {
        homepage = "https://github.com/ocharles/dhall-to-cabal";
        description = "Compile Dhall expressions to Cabal files";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "dhcp-lease-parser" = callPackage
@@ -66112,8 +66202,8 @@ self: {
      }:
      mkDerivation {
        pname = "easytest";
-       version = "0.1.1";
-       sha256 = "11pbc26s908vms9ldsm0wfa171g79b24kg9knaip0v7vdspcj74v";
+       version = "0.2";
+       sha256 = "1sd9w5p6z9mmvxid6svmnh7h43r32mrcqilb8k7kiy36ln3n8j0b";
        libraryHaskellDepends = [
          async base call-stack containers mtl random stm text transformers
        ];
@@ -69290,23 +69380,18 @@ self: {
      }) {};
 
   "etc" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, directory
-     , exceptions, hashable, protolude, tasty, tasty-hunit, tasty-rerun
-     , text, unordered-containers, vector
+    ({ mkDerivation, aeson, base, hashable, rio, tasty, tasty-hunit
+     , text, typed-process, unliftio
      }:
      mkDerivation {
        pname = "etc";
-       version = "0.2.0.0";
-       sha256 = "16l5ap8ag2l3ks6pjwr49wk4njgap44kbxsqb69yr9lr81wrj9fv";
+       version = "0.3.0.0";
+       sha256 = "04cma6lzgz3sm9riyy8cx1dlkz90yxqqpyirvdn5n3bxdnj1sa3g";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson base bytestring containers directory exceptions hashable
-         protolude text unordered-containers vector
-       ];
-       testHaskellDepends = [
-         aeson base bytestring containers protolude tasty tasty-hunit
-         tasty-rerun text unordered-containers vector
+         aeson base hashable rio text typed-process unliftio
        ];
+       testHaskellDepends = [ aeson base rio tasty tasty-hunit ];
        homepage = "https://github.com/roman/Haskell-etc";
        description = "Declarative configuration spec for Haskell projects";
        license = stdenv.lib.licenses.mit;
@@ -71153,6 +71238,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "extensible-effects_2_5_1_0" = callPackage
+    ({ mkDerivation, base, criterion, HUnit, monad-control, mtl
+     , QuickCheck, silently, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, test-framework-th, transformers-base
+     }:
+     mkDerivation {
+       pname = "extensible-effects";
+       version = "2.5.1.0";
+       sha256 = "1ywzfyg5n1qq4cqfxglrkkc3iap7knw709zv04papbpik43c5alz";
+       libraryHaskellDepends = [ base monad-control transformers-base ];
+       testHaskellDepends = [
+         base HUnit monad-control QuickCheck silently test-framework
+         test-framework-hunit test-framework-quickcheck2 test-framework-th
+       ];
+       benchmarkHaskellDepends = [
+         base criterion HUnit mtl test-framework test-framework-hunit
+         test-framework-quickcheck2 test-framework-th
+       ];
+       homepage = "https://github.com/suhailshergill/extensible-effects";
+       description = "An Alternative to Monad Transformers";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "extensible-exceptions" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -73278,6 +73387,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "filecache_0_3_2" = callPackage
+    ({ mkDerivation, base, containers, directory, exceptions, filepath
+     , fsnotify, hspec, mtl, stm, strict-base-types, temporary, time
+     }:
+     mkDerivation {
+       pname = "filecache";
+       version = "0.3.2";
+       sha256 = "1ddpji3293hrhw7rgl7b41prhffjsb7rgf5x2ijjbiblnzwazr42";
+       libraryHaskellDepends = [
+         base containers directory exceptions filepath fsnotify mtl stm
+         strict-base-types time
+       ];
+       testHaskellDepends = [
+         base containers directory filepath hspec stm temporary
+       ];
+       homepage = "http://lpuppet.banquise.net/";
+       description = "A cache system associating values to files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "filediff" = callPackage
     ({ mkDerivation, base, bytestring, data-default
      , data-memocombinators, directory, either, hashmap, mtl, rainbow
@@ -79144,6 +79274,21 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "generic-data" = callPackage
+    ({ mkDerivation, base, contravariant, show-combinators, tasty
+     , tasty-hunit
+     }:
+     mkDerivation {
+       pname = "generic-data";
+       version = "0.1.0.0";
+       sha256 = "1fc2q8wzs67ww0dy00wsyyqnhb5igrpqsvi1hwxxsq5z00icvk6z";
+       libraryHaskellDepends = [ base contravariant show-combinators ];
+       testHaskellDepends = [ base tasty tasty-hunit ];
+       homepage = "https://github.com/Lysxia/generic-data#readme";
+       description = "Utilities for GHC.Generics";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "generic-deepseq" = callPackage
     ({ mkDerivation, base, ghc-prim }:
      mkDerivation {
@@ -82001,8 +82146,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gio";
-       version = "2.0.16";
-       sha256 = "1xm13f4whvi08bwq2n6axkz1sirhqpsxpnfq9c8px0j9izy9qnpb";
+       version = "2.0.17";
+       sha256 = "1yf0wav5mgy0aj1j4jcmip71isz91m99rbjpmqgwakvjcs2x5gm3";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-glib gi-gobject haskell-gi
@@ -82224,8 +82369,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gtk";
-       version = "3.0.21";
-       sha256 = "01ivj9hs5jys1p4znfgrwxmd2848nhs73cscfww733rgdpwdlfw6";
+       version = "3.0.22";
+       sha256 = "017nnypxsrxsqar7pmbf0kwvbkpdnp3y7dvn8s82b09qiymxa0rz";
        setupHaskellDepends = [ base Cabal haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-atk gi-cairo gi-gdk gi-gdkpixbuf
@@ -83524,6 +83669,7 @@ self: {
        homepage = "http://github.com/gbataille/gitHUD#readme";
        description = "More efficient replacement to the great git-radar";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gitignore" = callPackage
@@ -86784,6 +86930,7 @@ self: {
        homepage = "https://github.com/jxv/google-oauth2-easy#readme";
        description = "Opininated use of Google Authentication for ease";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "google-oauth2-for-cli" = callPackage
@@ -91286,6 +91433,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "haddock-library_1_4_3" = callPackage
+    ({ mkDerivation, base, base-compat, bytestring, deepseq, hspec
+     , QuickCheck, transformers
+     }:
+     mkDerivation {
+       pname = "haddock-library";
+       version = "1.4.3";
+       sha256 = "0ns4bpf6whmcfl0cm2gx2c73if416x4q3ac4l4qm8w84h0zpcr7p";
+       libraryHaskellDepends = [ base bytestring deepseq transformers ];
+       testHaskellDepends = [
+         base base-compat bytestring deepseq hspec QuickCheck transformers
+       ];
+       homepage = "http://www.haskell.org/haddock/";
+       description = "Library exposing some functionality of Haddock";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "haddock-library_1_4_4" = callPackage
     ({ mkDerivation, base, base-compat, bytestring, deepseq, hspec
      , hspec-discover, QuickCheck, transformers
@@ -92088,8 +92253,8 @@ self: {
      }:
      mkDerivation {
        pname = "hakyll-dir-list";
-       version = "1.0.0.1";
-       sha256 = "1xlb6dkkzska20gxjsazh5wipb4srpl9llg338znrj2491h37kqh";
+       version = "1.0.0.2";
+       sha256 = "0irkfnwbzhchvjsfzndb6i3w76gnwik9fq3fhi3qg3jc7l0cgi76";
        libraryHaskellDepends = [
          base containers data-default filepath hakyll
        ];
@@ -93439,6 +93604,36 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "happstack-server_7_5_0_3" = callPackage
+    ({ mkDerivation, base, base64-bytestring, blaze-html, bytestring
+     , containers, directory, exceptions, extensible-exceptions
+     , filepath, hslogger, html, HUnit, monad-control, mtl, network
+     , network-uri, old-locale, parsec, process, semigroups, sendfile
+     , syb, system-filepath, template-haskell, text, threads, time
+     , time-compat, transformers, transformers-base, transformers-compat
+     , unix, utf8-string, xhtml, zlib
+     }:
+     mkDerivation {
+       pname = "happstack-server";
+       version = "7.5.0.3";
+       sha256 = "0rgib899388lq57zpr3xlvs62fimaf2kj689rqsgm72jg4za8w9l";
+       libraryHaskellDepends = [
+         base base64-bytestring blaze-html bytestring containers directory
+         exceptions extensible-exceptions filepath hslogger html
+         monad-control mtl network network-uri old-locale parsec process
+         semigroups sendfile syb system-filepath template-haskell text
+         threads time time-compat transformers transformers-base
+         transformers-compat unix utf8-string xhtml zlib
+       ];
+       testHaskellDepends = [
+         base bytestring containers HUnit parsec zlib
+       ];
+       homepage = "http://happstack.com";
+       description = "Web related tools and services";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "happstack-server-tls" = callPackage
     ({ mkDerivation, base, bytestring, extensible-exceptions
      , happstack-server, hslogger, HsOpenSSL, network, openssl, sendfile
@@ -93872,8 +94067,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "harp";
-       version = "0.4.3";
-       sha256 = "17d9isgwdvrmycbj3ddmmn0810kh4m8b8lmaz4qc8i51i5li8ja7";
+       version = "0.4.3.1";
+       sha256 = "0g4ig5s5rawlbq7zj1hkydnkw2s1gn7x0sdimd6j6kr5bynrdnhk";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/seereason/harp";
        description = "HaRP allows pattern-matching with regular expressions";
@@ -93967,6 +94162,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hasbolt-extras" = callPackage
+    ({ mkDerivation, base, containers, hasbolt, lens
+     , neat-interpolation, template-haskell, text, th-lift-instances
+     }:
+     mkDerivation {
+       pname = "hasbolt-extras";
+       version = "0.0.0.2";
+       sha256 = "1wjyqm606iflxsgjp7bj7b7avi07jhskxypahzlr02k7k7k9swm2";
+       libraryHaskellDepends = [
+         base containers hasbolt lens neat-interpolation template-haskell
+         text th-lift-instances
+       ];
+       homepage = "https://github.com/biocad/hasbolt-extras#readme";
+       description = "Extras for hasbolt library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hascal" = callPackage
     ({ mkDerivation, base, data-default, split }:
      mkDerivation {
@@ -102015,8 +102227,8 @@ self: {
      }:
      mkDerivation {
        pname = "hierarchy";
-       version = "0.3.1.2";
-       sha256 = "07aldpvbsc2mjg7v2gi46il66qg0hk9ly7sw4vd7h0lkk5q3vb6h";
+       version = "0.3.1.4";
+       sha256 = "0bli7mv2d6lmxc89fysmkhb9kamhzs2rqx75rn4mbcw61il1cznq";
        libraryHaskellDepends = [
          base exceptions free mmorph monad-control mtl pipes semigroups
          transformers transformers-base transformers-compat
@@ -103468,6 +103680,8 @@ self: {
        pname = "hledger-iadd";
        version = "1.3.2";
        sha256 = "1n21i1hqqrzd3fdrq6cclf8bfginwl4bhjy16vxfh9ba644920xf";
+       revision = "1";
+       editedCabalFile = "068fxn694km5sjbmmbhgaw512cxdv3m0kgjkaj8lbvpk5hnkd60b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -106788,6 +107002,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hpp_0_5_2" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-trie, directory
+     , filepath, ghc-prim, time, transformers
+     }:
+     mkDerivation {
+       pname = "hpp";
+       version = "0.5.2";
+       sha256 = "1r1sas1rcxcra4q3vjw3qmiv0xc4j263m7p93y6bwm1fvpxlkvcc";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring bytestring-trie directory filepath ghc-prim time
+         transformers
+       ];
+       executableHaskellDepends = [ base directory filepath time ];
+       testHaskellDepends = [ base bytestring transformers ];
+       homepage = "https://github.com/acowley/hpp";
+       description = "A Haskell pre-processor";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hpqtypes" = callPackage
     ({ mkDerivation, aeson, base, bytestring, Cabal, containers
      , data-default-class, directory, exceptions, filepath, HUnit
@@ -110329,19 +110565,20 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hspec-smallcheck_0_5_1" = callPackage
-    ({ mkDerivation, base, call-stack, hspec, hspec-core, HUnit
-     , QuickCheck, smallcheck
+  "hspec-smallcheck_0_5_2" = callPackage
+    ({ mkDerivation, base, base-orphans, call-stack, hspec, hspec-core
+     , HUnit, QuickCheck, smallcheck
      }:
      mkDerivation {
        pname = "hspec-smallcheck";
-       version = "0.5.1";
-       sha256 = "11202q3ixqmmi3nx79l82jha5kdnpajvv1rd1s6rwh0560i8vj2v";
+       version = "0.5.2";
+       sha256 = "06c1ym793zkdwi4bxk5f4l7m1n1bg5jmnm0p68q2pa9rlhk1lc4s";
        libraryHaskellDepends = [
          base call-stack hspec-core HUnit smallcheck
        ];
        testHaskellDepends = [
-         base call-stack hspec hspec-core HUnit QuickCheck smallcheck
+         base base-orphans call-stack hspec hspec-core HUnit QuickCheck
+         smallcheck
        ];
        homepage = "http://hspec.github.io/";
        description = "SmallCheck support for the Hspec testing framework";
@@ -110688,8 +110925,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsqml";
-       version = "0.3.5.0";
-       sha256 = "1im7jm144vvyvrmkvblxwhbya55xsyxl8z10bs4anwxxjlf9sggc";
+       version = "0.3.5.1";
+       sha256 = "046inz0pa5s052w653pk2km9finj44c6y2yx7iqihn4h4vnqbim0";
        setupHaskellDepends = [ base Cabal filepath template-haskell ];
        libraryHaskellDepends = [
          base containers filepath tagged text transformers
@@ -111285,8 +111522,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsx2hs";
-       version = "0.14.1.2";
-       sha256 = "06j2nc2yg8a8pp3c2ayxrm76fj2w2w5d2ilq91hvwwb1ikrklg5b";
+       version = "0.14.1.3";
+       sha256 = "15y7mk01cffc1xgsddkqqmi76npbi7mikgia6xa3xk4916kwsl91";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -112047,6 +112284,35 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "http-client_0_5_12" = callPackage
+    ({ mkDerivation, array, async, base, blaze-builder, bytestring
+     , case-insensitive, containers, cookie, deepseq, directory
+     , exceptions, filepath, ghc-prim, hspec, http-types, memory
+     , mime-types, monad-control, network, network-uri, random, stm
+     , streaming-commons, text, time, transformers, zlib
+     }:
+     mkDerivation {
+       pname = "http-client";
+       version = "0.5.12";
+       sha256 = "1m4c4zyl8y3i8bzyrgqv9kcjqzj17rwnf49dvn6745bn8kiyq6v0";
+       libraryHaskellDepends = [
+         array base blaze-builder bytestring case-insensitive containers
+         cookie deepseq exceptions filepath ghc-prim http-types memory
+         mime-types network network-uri random stm streaming-commons text
+         time transformers
+       ];
+       testHaskellDepends = [
+         async base blaze-builder bytestring case-insensitive containers
+         deepseq directory hspec http-types monad-control network
+         network-uri streaming-commons text time transformers zlib
+       ];
+       doCheck = false;
+       homepage = "https://github.com/snoyberg/http-client";
+       description = "An HTTP client engine";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "http-client-auth" = callPackage
     ({ mkDerivation, base, base64-string, blaze-builder, bytestring
      , case-insensitive, conduit, crypto-conduit, http-client
@@ -113304,6 +113570,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hunit-dejafu_1_2_0_0" = callPackage
+    ({ mkDerivation, base, dejafu, exceptions, HUnit }:
+     mkDerivation {
+       pname = "hunit-dejafu";
+       version = "1.2.0.0";
+       sha256 = "0djn982mlz4m58hxsghxxj34vsw78i57scxx9a1i3zk7qznmingv";
+       libraryHaskellDepends = [ base dejafu exceptions HUnit ];
+       homepage = "https://github.com/barrucadu/dejafu";
+       description = "Deja Fu support for the HUnit test framework";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hunit-gui" = callPackage
     ({ mkDerivation, base, cairo, gtk, haskell98, HUnit }:
      mkDerivation {
@@ -113888,6 +114167,7 @@ self: {
        homepage = "http://github.com/haskell-works/hw-json#readme";
        description = "Memory efficient JSON parser";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hw-json-lens" = callPackage
@@ -113922,6 +114202,7 @@ self: {
        homepage = "http://github.com/haskell-works/hw-json-lens#readme";
        description = "Lens for hw-json";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hw-kafka-avro" = callPackage
@@ -114225,6 +114506,45 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hw-xml_0_1_0_3" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, array, attoparsec, base
+     , bytestring, cereal, conduit, containers, criterion, deepseq
+     , ghc-prim, hspec, hw-balancedparens, hw-bits, hw-conduit
+     , hw-parser, hw-prim, hw-rankselect, hw-rankselect-base, lens, mmap
+     , mtl, QuickCheck, resourcet, transformers, vector, word8
+     }:
+     mkDerivation {
+       pname = "hw-xml";
+       version = "0.1.0.3";
+       sha256 = "15vycayfmykds6dka0kw106fjk2wg3qgifk698fwkj1i4chsia97";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         ansi-wl-pprint array attoparsec base bytestring cereal conduit
+         containers deepseq ghc-prim hw-balancedparens hw-bits hw-conduit
+         hw-parser hw-prim hw-rankselect hw-rankselect-base lens mtl
+         resourcet transformers vector word8
+       ];
+       executableHaskellDepends = [
+         base bytestring hw-balancedparens hw-bits hw-prim hw-rankselect
+         vector
+       ];
+       testHaskellDepends = [
+         attoparsec base bytestring conduit hspec hw-balancedparens hw-bits
+         hw-conduit hw-prim hw-rankselect hw-rankselect-base QuickCheck
+         vector
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring conduit criterion hw-balancedparens hw-bits
+         hw-conduit hw-prim mmap resourcet vector
+       ];
+       homepage = "http://github.com/haskell-works/hw-xml#readme";
+       description = "Conduits for tokenizing streams";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hwall-auth-iitk" = callPackage
     ({ mkDerivation, base, bytestring, haskeline, http-conduit
      , http-types, mtl, regex-compat, unix
@@ -117723,7 +118043,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "influxdb_1_5_0" = callPackage
+  "influxdb_1_5_1" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, Cabal
      , cabal-doctest, clock, containers, doctest, foldl, http-client
      , http-types, HUnit, lens, mtl, network, optional-args, QuickCheck
@@ -117732,8 +118052,8 @@ self: {
      }:
      mkDerivation {
        pname = "influxdb";
-       version = "1.5.0";
-       sha256 = "008ry9znrjjn3yhc5831gc4jgnxnwr1yibzm72lmngqywhv0mi9w";
+       version = "1.5.1";
+       sha256 = "1gxhd5ywz27z6jkx9bdmqsjafl2j0wk5vmrclz7l7hwfnn5553c7";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -126065,20 +126385,20 @@ self: {
 
   "language-ats" = callPackage
     ({ mkDerivation, alex, ansi-wl-pprint, array, base
-     , composition-prelude, containers, criterion, deepseq, happy, hspec
-     , hspec-dirstream, microlens, microlens-th, recursion-schemes
-     , system-filepath, transformers
+     , composition-prelude, containers, cpphs, criterion, deepseq, happy
+     , hspec, hspec-dirstream, microlens, microlens-th
+     , recursion-schemes, system-filepath, transformers
      }:
      mkDerivation {
        pname = "language-ats";
-       version = "1.2.0.3";
-       sha256 = "19gm7gj6l0b4qh5pnp1qv1q2g3gfp3mny9y8nrxvmbzrrc1ad7j9";
+       version = "1.2.0.4";
+       sha256 = "15rrikfj39ybcg6yq34zfbwjaics0kgxr5kvfvjq8q8plxlgwrj4";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          ansi-wl-pprint array base composition-prelude containers deepseq
          microlens microlens-th recursion-schemes transformers
        ];
-       libraryToolDepends = [ alex happy ];
+       libraryToolDepends = [ alex cpphs happy ];
        testHaskellDepends = [
          base hspec hspec-dirstream system-filepath
        ];
@@ -128515,6 +128835,7 @@ self: {
        homepage = "https://github.com/xngns/lens-toml-parser";
        description = "Lenses for toml-parser";
        license = stdenv.lib.licenses.isc;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lens-tutorial" = callPackage
@@ -132399,6 +132720,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "log-elasticsearch_0_10_0_0" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, base64-bytestring
+     , bloodhound, bytestring, deepseq, http-client, http-client-tls
+     , log-base, semigroups, text, text-show, time, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "log-elasticsearch";
+       version = "0.10.0.0";
+       sha256 = "0bjsng7ganwbqxvj9zi7w7l547iw9yh972bc0mc82cnwd6awclj5";
+       libraryHaskellDepends = [
+         aeson aeson-pretty base base64-bytestring bloodhound bytestring
+         deepseq http-client http-client-tls log-base semigroups text
+         text-show time transformers unordered-containers vector
+       ];
+       homepage = "https://github.com/scrive/log";
+       description = "Structured logging solution (Elasticsearch back end)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "log-postgres" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, base64-bytestring
      , bytestring, deepseq, hpqtypes, http-client, lifted-base, log-base
@@ -133534,6 +133876,7 @@ self: {
        ];
        description = "Parameterized file evaluator";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ltiv1p1" = callPackage
@@ -135583,6 +135926,21 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "marihana" = callPackage
+    ({ mkDerivation, base, directory }:
+     mkDerivation {
+       pname = "marihana";
+       version = "0.1.1.0";
+       sha256 = "1wcrmjxw39pcarvwn4cfzd4wimvsf57qg8vl5lykcd9s4p2dnyvw";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base directory ];
+       executableHaskellDepends = [ base directory ];
+       testHaskellDepends = [ base directory ];
+       homepage = "https://github.com/suzukeno/marihana#readme";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "marionetta" = callPackage
     ({ mkDerivation, base, containers, gloss, mtl, splines, vector
      , vector-space
@@ -135626,6 +135984,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "markdown_0_1_17_1" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-html, blaze-markup
+     , call-stack, conduit, conduit-extra, containers, data-default
+     , directory, filepath, hspec, text, transformers, xml-conduit
+     , xml-types, xss-sanitize
+     }:
+     mkDerivation {
+       pname = "markdown";
+       version = "0.1.17.1";
+       sha256 = "0n1vcw0vmhpgsmyxxafc82r2kp27g081zwx9md96zj5x5642vxz1";
+       libraryHaskellDepends = [
+         attoparsec base blaze-html blaze-markup conduit conduit-extra
+         containers data-default text transformers xml-conduit xml-types
+         xss-sanitize
+       ];
+       testHaskellDepends = [
+         base blaze-html call-stack conduit conduit-extra containers
+         directory filepath hspec text transformers
+       ];
+       homepage = "https://github.com/snoyberg/markdown";
+       description = "Convert Markdown to HTML, with XSS protection";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "markdown-kate" = callPackage
     ({ mkDerivation, attoparsec, attoparsec-conduit, base, blaze-html
      , conduit, containers, data-default, highlighting-kate, hspec
@@ -137224,6 +137607,32 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "megaparsec_6_5_0" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, containers
+     , criterion, deepseq, hspec, hspec-discover, hspec-expectations
+     , mtl, parser-combinators, QuickCheck, scientific, text
+     , transformers, weigh
+     }:
+     mkDerivation {
+       pname = "megaparsec";
+       version = "6.5.0";
+       sha256 = "12iggy7qpf8x93jm64zf0g215xwy779bqyfyjk2bhmxqqr1yzgdy";
+       libraryHaskellDepends = [
+         base bytestring case-insensitive containers deepseq mtl
+         parser-combinators scientific text transformers
+       ];
+       testHaskellDepends = [
+         base bytestring containers hspec hspec-expectations mtl QuickCheck
+         scientific text transformers
+       ];
+       testToolDepends = [ hspec-discover ];
+       benchmarkHaskellDepends = [ base criterion deepseq text weigh ];
+       homepage = "https://github.com/mrkkrp/megaparsec";
+       description = "Monadic parser combinators";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "meldable-heap" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -146204,6 +146613,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "network_2_6_3_5" = callPackage
+    ({ mkDerivation, base, bytestring, doctest, hspec, HUnit, unix }:
+     mkDerivation {
+       pname = "network";
+       version = "2.6.3.5";
+       sha256 = "0h84pv672psxhh5ls407w175cik0gbyx39zynzmw991hr7jgc64s";
+       libraryHaskellDepends = [ base bytestring unix ];
+       testHaskellDepends = [ base bytestring doctest hspec HUnit ];
+       homepage = "https://github.com/haskell/network";
+       description = "Low-level networking interface";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "network-address" = callPackage
     ({ mkDerivation, base, Cabal, QuickCheck, test-framework
      , test-framework-quickcheck2
@@ -149258,8 +149681,8 @@ self: {
      }:
      mkDerivation {
        pname = "nvim-hs";
-       version = "1.0.0.0";
-       sha256 = "036zf20aarrshqh0vpkmba5fj5sz28q0cd92dhxag12lp3zsindf";
+       version = "1.0.0.1";
+       sha256 = "05kqrnzxhydns3iyqk1rhdgx3cyqgcskhfwa1d87hcyx0p4w51pw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -149679,13 +150102,17 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "ochintin-daicho_0_1_0_2" = callPackage
-    ({ mkDerivation, base, bookkeeping, doctest, Glob, text }:
+  "ochintin-daicho_0_3_1_0" = callPackage
+    ({ mkDerivation, base, bookkeeping, doctest, Glob, mono-traversable
+     , text, transaction
+     }:
      mkDerivation {
        pname = "ochintin-daicho";
-       version = "0.1.0.2";
-       sha256 = "1j44dbp0fdsbm117rgwfsg2n3hbl782nz4484p5fif489yqv62vp";
-       libraryHaskellDepends = [ base bookkeeping text ];
+       version = "0.3.1.0";
+       sha256 = "0aj8ni2lgrfq87r5im66cf4w4qw7kay4c9s7skr7hh21jr7c2z1h";
+       libraryHaskellDepends = [
+         base bookkeeping mono-traversable text transaction
+       ];
        testHaskellDepends = [ base doctest Glob ];
        homepage = "https://github.com/arowM/haskell-ochintin-daicho#readme";
        description = "A module to manage payroll books for Japanese companies";
@@ -149794,18 +150221,18 @@ self: {
 
   "odbc" = callPackage
     ({ mkDerivation, async, base, bytestring, containers, deepseq
-     , formatting, hspec, optparse-applicative, QuickCheck, text, time
-     , unixODBC, unliftio-core, weigh
+     , formatting, hspec, optparse-applicative, QuickCheck, semigroups
+     , text, time, transformers, unixODBC, unliftio-core, weigh
      }:
      mkDerivation {
        pname = "odbc";
-       version = "0.0.1";
-       sha256 = "173ixmhw505306qg3ig3xvi16h30fk5314yk5mbmmv212k2w2vrp";
+       version = "0.0.2";
+       sha256 = "005g8vdxs9gdh5n4dlsjcfdxx2ry5x02fbjd5w814l3k7fynbq5b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         async base bytestring containers deepseq formatting text time
-         unliftio-core
+         async base bytestring containers deepseq formatting semigroups text
+         time transformers unliftio-core
        ];
        librarySystemDepends = [ unixODBC ];
        executableHaskellDepends = [
@@ -149815,6 +150242,7 @@ self: {
          base bytestring hspec QuickCheck text time
        ];
        benchmarkHaskellDepends = [ async base text weigh ];
+       homepage = "https://github.com/fpco/odbc";
        description = "Haskell binding to the ODBC API, aimed at SQL Server driver";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -161747,6 +162175,31 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "postgresql-typed_0_5_3_0" = callPackage
+    ({ mkDerivation, aeson, array, attoparsec, base, binary, bytestring
+     , containers, convertible, cryptonite, haskell-src-meta, HDBC
+     , HUnit, memory, network, old-locale, postgresql-binary, QuickCheck
+     , scientific, template-haskell, text, time, utf8-string, uuid
+     }:
+     mkDerivation {
+       pname = "postgresql-typed";
+       version = "0.5.3.0";
+       sha256 = "0apq662lhkjc1xl4alpz20yz20x6mf3gz6li7wb86sp94441rh5k";
+       libraryHaskellDepends = [
+         aeson array attoparsec base binary bytestring containers cryptonite
+         haskell-src-meta HDBC memory network old-locale postgresql-binary
+         scientific template-haskell text time utf8-string uuid
+       ];
+       testHaskellDepends = [
+         base bytestring containers convertible HDBC HUnit network
+         QuickCheck time
+       ];
+       homepage = "https://github.com/dylex/postgresql-typed";
+       description = "PostgreSQL interface with compile-time SQL type checking, optional HDBC backend";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "postgresql-typed-lifted" = callPackage
     ({ mkDerivation, base, base-unicode-symbols, bytestring, exceptions
      , lens, monad-control, postgresql-typed, transformers-base
@@ -162008,14 +162461,15 @@ self: {
      }:
      mkDerivation {
        pname = "potoki-hasql";
-       version = "1.1";
-       sha256 = "03bssi3qdayrxrsy5ykf38r5kbl0m5svfm76k4yrwcpzpqk5h0sh";
+       version = "1.1.0.1";
+       sha256 = "0prm47qw591nm47b42jznhgvy49w6zpiwhrkxgh3jy9y0xnqr81b";
        libraryHaskellDepends = [
          base bytestring hasql potoki potoki-core profunctors text vector
        ];
        homepage = "https://github.com/metrix-ai/potoki-hasql";
        description = "Integration of \"potoki\" and \"hasql\"";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "potrace" = callPackage
@@ -162108,6 +162562,7 @@ self: {
        homepage = "https://github.com/agrafix/powerqueue#readme";
        description = "A distributed worker backend for powerqueu";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "powerqueue-levelmem" = callPackage
@@ -164521,6 +164976,18 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "proof-combinators" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "proof-combinators";
+       version = "0.1.0.0";
+       sha256 = "1wcm5wxzqm4lq340l3ga15cmjfabpf8njnvma3zagwyhmndabxfw";
+       libraryHaskellDepends = [ base ];
+       homepage = "http://nikivazou.github.io/";
+       description = "Proof Combinators used in Liquid Haskell for Theorem Proving";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "propane" = callPackage
     ({ mkDerivation, base, colour, containers, directory, filepath
      , repa, repa-devil, spawn
@@ -175275,6 +175742,7 @@ self: {
        ];
        description = "Bindings to Roku's External Control API";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "roles" = callPackage
@@ -183123,14 +183591,15 @@ self: {
      }:
      mkDerivation {
        pname = "shake-ext";
-       version = "2.7.0.5";
-       sha256 = "1s69gvxjjn1s8smlhbrc1dvq1saivpslp7150xwavmxkiynp54lc";
+       version = "2.8.0.0";
+       sha256 = "1w4nkvrvyhig0902rfp92yag11h96ds18p0rxh9p9lmkbmr17r6w";
        libraryHaskellDepends = [
          base Cabal composition-prelude directory shake template-haskell
        ];
        homepage = "https://hub.darcs.net/vmchale/shake-ext";
        description = "Helper functions for linting with shake";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "shake-extras" = callPackage
@@ -186175,6 +186644,31 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "slack-web_0_2_0_4" = callPackage
+    ({ mkDerivation, aeson, base, containers, errors, hspec
+     , http-api-data, http-client, http-client-tls, megaparsec, mtl
+     , servant, servant-client, servant-client-core, text, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "slack-web";
+       version = "0.2.0.4";
+       sha256 = "1wbqz6shqm39ivmw7k2pwslaygxf4rxxbkiczxzpvd29y5pm81ah";
+       libraryHaskellDepends = [
+         aeson base containers errors http-api-data http-client
+         http-client-tls megaparsec mtl servant servant-client
+         servant-client-core text time transformers
+       ];
+       testHaskellDepends = [
+         aeson base containers errors hspec http-api-data megaparsec text
+         time
+       ];
+       homepage = "https://github.com/jpvillaisaza/slack-web";
+       description = "Bindings for the Slack web API";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "slate" = callPackage
     ({ mkDerivation, base, directory, filepath, htoml
      , optparse-applicative, process, string-conversions
@@ -190560,6 +191054,8 @@ self: {
        pname = "sqlite-simple";
        version = "0.4.14.0";
        sha256 = "0zx4fdv6larfyj6m1d4livb5cqdx10yi06yd6px2n0wnxcmvdyj9";
+       revision = "1";
+       editedCabalFile = "12ig3spsw8x30xazlp2p8hn4k4xznglsmjl3nkr3fgmmkqffl2mm";
        libraryHaskellDepends = [
          attoparsec base blaze-builder blaze-textual bytestring containers
          direct-sqlite Only text time transformers
@@ -190572,12 +191068,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "sqlite-simple_0_4_15_0" = callPackage
+    ({ mkDerivation, attoparsec, base, base16-bytestring, blaze-builder
+     , blaze-textual, bytestring, containers, direct-sqlite, HUnit, Only
+     , semigroups, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "sqlite-simple";
+       version = "0.4.15.0";
+       sha256 = "1qk9dzrqfyjavyl9p0l24hbncp2c1faxx0yvjz5iq3s4dl6fswf0";
+       libraryHaskellDepends = [
+         attoparsec base blaze-builder blaze-textual bytestring containers
+         direct-sqlite Only semigroups text time transformers
+       ];
+       testHaskellDepends = [
+         base base16-bytestring bytestring direct-sqlite HUnit text time
+       ];
+       homepage = "http://github.com/nurpax/sqlite-simple";
+       description = "Mid-Level SQLite client library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "sqlite-simple-errors" = callPackage
     ({ mkDerivation, base, mtl, parsec, sqlite-simple, text }:
      mkDerivation {
        pname = "sqlite-simple-errors";
-       version = "0.6.0.0";
-       sha256 = "106rpzxdnsp7g84fh5yvmj145pz5ghrd5cicg1yj5pxlyrgvm5z6";
+       version = "0.6.1.0";
+       sha256 = "0vvim8zcrl3yqhf30j69x59qs5f6sdx5bvy4ihwmimkldm5gh0ai";
        libraryHaskellDepends = [ base parsec sqlite-simple text ];
        testHaskellDepends = [ base mtl sqlite-simple text ];
        homepage = "https://github.com/caneroj1/sqlite-simple-errors";
@@ -190667,6 +191185,35 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "squeal-postgresql_0_2_0_1" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, deepseq, doctest
+     , generics-sop, lifted-base, mmorph, monad-control, mtl, network-ip
+     , postgresql-binary, postgresql-libpq, resource-pool, scientific
+     , text, time, transformers, transformers-base, uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "squeal-postgresql";
+       version = "0.2.0.1";
+       sha256 = "1flpjfgf7ahgaraab9d26c5imp03f6ljkl10jzdc6f0kf2529fg8";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring deepseq generics-sop lifted-base mmorph
+         monad-control mtl network-ip postgresql-binary postgresql-libpq
+         resource-pool scientific text time transformers transformers-base
+         uuid-types vector
+       ];
+       executableHaskellDepends = [
+         base bytestring generics-sop mtl text transformers
+         transformers-base vector
+       ];
+       testHaskellDepends = [ base doctest ];
+       homepage = "https://github.com/morphismtech/squeal";
+       description = "Squeal PostgreSQL Library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "squeeze" = callPackage
     ({ mkDerivation, base, Cabal, data-default, directory, extra
      , factory, filepath, mtl, QuickCheck, random, toolshed
@@ -194344,6 +194891,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "string-transform_1_1_0" = callPackage
+    ({ mkDerivation, base, bytestring, tasty, tasty-hunit
+     , tasty-smallcheck, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "string-transform";
+       version = "1.1.0";
+       sha256 = "1f76aiimm2knc68g08dc9j495mjkas87jw8w27silrsq3pzayzad";
+       libraryHaskellDepends = [ base bytestring text utf8-string ];
+       testHaskellDepends = [
+         base bytestring tasty tasty-hunit tasty-smallcheck text utf8-string
+       ];
+       homepage = "https://github.com/ncaq/string-transform#readme";
+       description = "simple and easy haskell string transform wrapper";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "string-typelits" = callPackage
     ({ mkDerivation, base, template-haskell, type-combinators
      , type-combinators-quote
@@ -196048,6 +196613,8 @@ self: {
        pname = "sws";
        version = "0.4.1.0";
        sha256 = "1xcbmwpwp2nvi7adihkddpgi9pkdc7q7ly08vm57r56lcpzvs70p";
+       revision = "1";
+       editedCabalFile = "1mlyk1959yy4lmx7zsc5iafw1y7vj1d39dndn9as34pqd1rvdk5j";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -196055,7 +196622,7 @@ self: {
          network resourcet transformers wai wai-extra wai-middleware-static
          warp warp-tls
        ];
-       description = "A simple web server for serving directories, similar to weborf";
+       description = "A simple web server for serving directories";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -196117,6 +196684,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "syb-with-class_0_6_1_9" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "syb-with-class";
+       version = "0.6.1.9";
+       sha256 = "1apvvzzc19lbchmbginmhxzcrvrcg76dvdgsk51pxrnr4glnva86";
+       libraryHaskellDepends = [
+         array base bytestring containers template-haskell
+       ];
+       description = "Scrap Your Boilerplate With Class";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "syb-with-class-instances-text" = callPackage
     ({ mkDerivation, base, syb-with-class, text }:
      mkDerivation {
@@ -198550,6 +199133,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "tasty-dejafu_1_2_0_0" = callPackage
+    ({ mkDerivation, base, dejafu, random, tagged, tasty }:
+     mkDerivation {
+       pname = "tasty-dejafu";
+       version = "1.2.0.0";
+       sha256 = "0dhrcra1vzrw7xxnph28iz3c9pkmkhza0m9xjb9qxc75p2f684p3";
+       libraryHaskellDepends = [ base dejafu random tagged tasty ];
+       homepage = "https://github.com/barrucadu/dejafu";
+       description = "Deja Fu support for the Tasty test framework";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tasty-discover" = callPackage
     ({ mkDerivation, base, containers, directory, filepath, Glob
      , hedgehog, tasty, tasty-hedgehog, tasty-hspec, tasty-hunit
@@ -205524,8 +206120,8 @@ self: {
      }:
      mkDerivation {
        pname = "trackit";
-       version = "0.2.1";
-       sha256 = "1rdsjpmilc2k7141glqswngckqlvfynfcppf84111x5ppdhkmvb4";
+       version = "0.3";
+       sha256 = "0n4ypg2g82ajnmvv94sgympvbwji0bkw5kmd4zfzrvzrdxq91yvh";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -205600,8 +206196,8 @@ self: {
      }:
      mkDerivation {
        pname = "transaction";
-       version = "0.1.1.1";
-       sha256 = "18i0x6abg02w9lf5zxb8gj1fw5450a45nw66sjy9kc0dhi7dcwq5";
+       version = "0.1.1.3";
+       sha256 = "1if04fm2kvkd25ksk1llqqkwaqy8y7pafbywmz70mrr68wrb2r6j";
        libraryHaskellDepends = [ base mono-traversable ];
        testHaskellDepends = [
          base doctest Glob hspec mono-traversable QuickCheck
@@ -205609,6 +206205,7 @@ self: {
        homepage = "https://github.com/arowM/haskell-transaction#readme";
        description = "Monadic representation of transactions";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "transactional-events" = callPackage
@@ -206319,6 +206916,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "tree-traversals" = callPackage
+    ({ mkDerivation, base, containers, doctest, mtl }:
+     mkDerivation {
+       pname = "tree-traversals";
+       version = "0.1.0.0";
+       sha256 = "0wdy1p94096qdc00w8pmbz6qcawc0ivlhy0sg0b3jir0s2ksdccb";
+       libraryHaskellDepends = [ base containers ];
+       testHaskellDepends = [ base containers doctest mtl ];
+       homepage = "https://github.com/rampion/tree-traversals";
+       description = "Functions and newtype wrappers for traversing Trees";
+       license = stdenv.lib.licenses.cc0;
+     }) {};
+
   "tree-view" = callPackage
     ({ mkDerivation, base, containers, mtl }:
      mkDerivation {
@@ -207264,6 +207874,18 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "turn-loop" = callPackage
+    ({ mkDerivation, base, containers, stm }:
+     mkDerivation {
+       pname = "turn-loop";
+       version = "0.0.0";
+       sha256 = "08v4kswmj2phsm4mxgvifjgxky72xpml0kkabvgxn39i87p1y572";
+       libraryHaskellDepends = [ base containers stm ];
+       homepage = "https://github.com/jxv/turn-loop#readme";
+       description = "Manage multiple turned-based sessions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "turni" = callPackage
     ({ mkDerivation, base, containers, MonadRandom, random }:
      mkDerivation {
@@ -208638,6 +209260,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "type-tree" = callPackage
+    ({ mkDerivation, base, base-compat, Cabal, cabal-doctest
+     , containers, doctest, mtl, pretty, template-haskell
+     }:
+     mkDerivation {
+       pname = "type-tree";
+       version = "0.1.0.0";
+       sha256 = "11r2pp1llgjprd8apfz0q34r30ssmnsnb8593kqbg0i9qg7qxf4g";
+       revision = "1";
+       editedCabalFile = "0124fxvbddh69gr6as1j8m2iy0gdmasli5dx8yi5dpgarvi9rxrm";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base base-compat Cabal containers mtl pretty template-haskell
+       ];
+       testHaskellDepends = [ base doctest ];
+       homepage = "https://github.com/pikajude/type-tree";
+       description = "Tree representations of datatypes";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "type-unary" = callPackage
     ({ mkDerivation, applicative-numbers, base, constraints, newtype
      , ty, vector-space
@@ -217148,6 +217790,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "web-routes-th_0_22_6_3" = callPackage
+    ({ mkDerivation, base, hspec, HUnit, parsec, QuickCheck, split
+     , template-haskell, text, web-routes
+     }:
+     mkDerivation {
+       pname = "web-routes-th";
+       version = "0.22.6.3";
+       sha256 = "1zamjbvjxryc43wac95cdavbq4czjlfx5kgxykadx8sw63vfnk4x";
+       libraryHaskellDepends = [
+         base parsec split template-haskell text web-routes
+       ];
+       testHaskellDepends = [ base hspec HUnit QuickCheck web-routes ];
+       homepage = "https://github.com/happstack/web-routes-th";
+       description = "Support for deriving PathInfo using Template Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "web-routes-transformers" = callPackage
     ({ mkDerivation, base, transformers, web-routes }:
      mkDerivation {
@@ -217532,6 +218192,7 @@ self: {
        libraryPkgconfigDepends = [ webkitgtk ];
        description = "JavaScriptCore FFI from webkitgtk";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs.gnome3) webkitgtk;};
 
   "webkitgtk3" = callPackage
@@ -218322,8 +218983,8 @@ self: {
        pname = "windns";
        version = "0.1.0.0";
        sha256 = "1hphwmwc1182p5aqjswcgqjbilm91rv5svjqhd93cqq599gg8q0c";
-       revision = "1";
-       editedCabalFile = "0kz6gv4dpppnnnyl57ibxi9gvykmkbmaz22yssx92mq306wbyimv";
+       revision = "2";
+       editedCabalFile = "19n1nb65mgz9rdp37z7sdmjxwcl2wnlrflqcwbhr99ly2anx0sy7";
        libraryHaskellDepends = [ base bytestring deepseq ];
        librarySystemDepends = [ dnsapi ];
        description = "Domain Name Service (DNS) lookup via the Windows dnsapi standard library";
@@ -223525,8 +224186,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-auth-oauth2";
-       version = "0.4.0.1";
-       sha256 = "0gwl2inbjzwmxdwx51r30yd32xa17rivzmsdf6jnim5q0gyzdh4j";
+       version = "0.4.1.0";
+       sha256 = "1p0sxgi7cl6lqzkx478zva2byzanna6jicdrgdns2p91cnw5hlh9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
diff --git a/pkgs/development/haskell-modules/lib.nix b/pkgs/development/haskell-modules/lib.nix
index 1e58eed2fe02..ff86e06979c1 100644
--- a/pkgs/development/haskell-modules/lib.nix
+++ b/pkgs/development/haskell-modules/lib.nix
@@ -162,6 +162,9 @@ rec {
   enableLibraryProfiling = drv: overrideCabal drv (drv: { enableLibraryProfiling = true; });
   disableLibraryProfiling = drv: overrideCabal drv (drv: { enableLibraryProfiling = false; });
 
+  enableExecutableProfiling = drv: overrideCabal drv (drv: { enableExecutableProfiling = true; });
+  disableExecutableProfiling = drv: overrideCabal drv (drv: { enableExecutableProfiling = false; });
+
   enableSharedExecutables = drv: overrideCabal drv (drv: { enableSharedExecutables = true; });
   disableSharedExecutables = drv: overrideCabal drv (drv: { enableSharedExecutables = false; });
 
diff --git a/pkgs/development/libraries/dbus/make-system-conf.xsl b/pkgs/development/libraries/dbus/make-system-conf.xsl
index 3d8b823437d6..dd644b4bce7c 100644
--- a/pkgs/development/libraries/dbus/make-system-conf.xsl
+++ b/pkgs/development/libraries/dbus/make-system-conf.xsl
@@ -27,6 +27,7 @@
       <xsl:for-each select="str:tokenize($serviceDirectories)">
         <servicedir><xsl:value-of select="." />/share/dbus-1/system-services</servicedir>
         <includedir><xsl:value-of select="." />/etc/dbus-1/system.d</includedir>
+        <includedir><xsl:value-of select="." />/share/dbus-1/system.d</includedir>
       </xsl:for-each>
     </busconfig>
   </xsl:template>
diff --git a/pkgs/development/libraries/getdns/default.nix b/pkgs/development/libraries/getdns/default.nix
index 382bdb17247c..779534460df2 100644
--- a/pkgs/development/libraries/getdns/default.nix
+++ b/pkgs/development/libraries/getdns/default.nix
@@ -4,11 +4,11 @@
 stdenv.mkDerivation rec {
   pname = "getdns";
   name = "${pname}-${version}";
-  version = "1.3.0";
+  version = "1.4.1";
 
   src = fetchurl {
-    url = "https://getdnsapi.net/releases/${pname}-1-3-0/${pname}-${version}.tar.gz";
-    sha256 = "920fa2e07c72fd0e5854db1820fa777108009fc5cb702f9aa5155ef58b12adb1";
+    url = "https://getdnsapi.net/releases/${pname}-1-4-1/${pname}-${version}.tar.gz";
+    sha256 = "07n5n5m4dnnh2xkh7wrnlx8s8myrvjf2nbs7n5m5nq8gg3f36li4";
   };
 
   nativeBuildInputs = [ libtool m4 autoreconfHook automake file ];
diff --git a/pkgs/development/libraries/libgringotts/default.nix b/pkgs/development/libraries/libgringotts/default.nix
index 1da6cffe3f2c..89fcfdfde8da 100644
--- a/pkgs/development/libraries/libgringotts/default.nix
+++ b/pkgs/development/libraries/libgringotts/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libgringotts-${version}";
-  version = "1.1.2";
+  version = "1.2.1";
 
   src = fetchurl {
-    url = "http://libgringotts.sourceforge.net/current/${name}.tar.bz2";
-    sha256 = "1bzfnpf2gwc2bisbrw06s63g9z9v4mh1n9ksqr6pbgj2prz7bvlk";
+    url = "https://sourceforge.net/projects/gringotts.berlios/files/${name}.tar.bz2";
+    sha256 = "1ldz1lyl1aml5ci1mpnys8dg6n7khpcs4zpycak3spcpgdsnypm7";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix
index 2c677ad74745..7e7314c936dd 100644
--- a/pkgs/development/libraries/pipewire/default.nix
+++ b/pkgs/development/libraries/pipewire/default.nix
@@ -34,7 +34,7 @@ in stdenv.mkDerivation rec {
     "-Denable_gstreamer=true"
   ];
 
-  PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "${placeholder "out"}/lib/systemd/user";
+  PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "lib/systemd/user";
 
   FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file
 
diff --git a/pkgs/development/python-modules/celery/default.nix b/pkgs/development/python-modules/celery/default.nix
index 44613dd4e5bc..7f3fb46d1e10 100644
--- a/pkgs/development/python-modules/celery/default.nix
+++ b/pkgs/development/python-modules/celery/default.nix
@@ -1,6 +1,7 @@
 { stdenv, buildPythonPackage, fetchPypi, iana-etc, libredirect,
   pytest, case, kombu, billiard, pytz, anyjson, amqp, eventlet
-}: 
+}:
+
 buildPythonPackage rec {
   pname = "celery";
   version = "4.1.0";
@@ -11,11 +12,11 @@ buildPythonPackage rec {
   };
 
   # make /etc/protocols accessible to fix socket.getprotobyname('tcp') in sandbox
-  preCheck = ''
+  preCheck = stdenv.lib.optionalString stdenv.isLinux ''
     export NIX_REDIRECTS=/etc/protocols=${iana-etc}/etc/protocols \
       LD_PRELOAD=${libredirect}/lib/libredirect.so
   '';
-  postCheck = ''
+  postCheck = stdenv.lib.optionalString stdenv.isLinux ''
     unset NIX_REDIRECTS LD_PRELOAD
   '';
 
diff --git a/pkgs/development/python-modules/linode-api/default.nix b/pkgs/development/python-modules/linode-api/default.nix
index 45c33f94b28a..ad6b938c9888 100644
--- a/pkgs/development/python-modules/linode-api/default.nix
+++ b/pkgs/development/python-modules/linode-api/default.nix
@@ -1,17 +1,17 @@
 { stdenv,
   buildPythonPackage,
-  fetchPypi,
+  fetchFromGitHub,
   isPy3k,
   pythonOlder,
   lib,
   requests,
   future,
-  enum34 }:
+  enum34,
+  mock }:
 
 buildPythonPackage rec {
   pname = "linode-api";
-  version = "4.1.2b0"; # NOTE: this is a beta, and the API may change in future versions.
-  name = "${pname}-${version}";
+  version = "4.1.8b1"; # NOTE: this is a beta, and the API may change in future versions.
 
   disabled = (pythonOlder "2.7");
 
@@ -22,11 +22,15 @@ buildPythonPackage rec {
     sed -i -e '/"enum34",/d' setup.py
   '');
 
-  doCheck = false; # This library does not have any tests at this point.
+  doCheck = true;
+  checkInputs = [ mock ];
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "19yzyb4sbxib8yxmrqm6d8i0fm8cims56q7kiq2ana26nbcm0gr4";
+  # Sources from Pypi exclude test fixtures
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "linode";
+    repo = "python-linode-api";
+    sha256 = "0qfqn92fr876dncwbkf2vhm90hnf7lwpg80hzwyzyzwz1hcngvjg";
   };
 
   meta = {
diff --git a/pkgs/development/tools/cbor-diag/Gemfile b/pkgs/development/tools/cbor-diag/Gemfile
new file mode 100644
index 000000000000..798e507460eb
--- /dev/null
+++ b/pkgs/development/tools/cbor-diag/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'cbor-diag'
diff --git a/pkgs/development/tools/cbor-diag/Gemfile.lock b/pkgs/development/tools/cbor-diag/Gemfile.lock
new file mode 100644
index 000000000000..0d129765aa4a
--- /dev/null
+++ b/pkgs/development/tools/cbor-diag/Gemfile.lock
@@ -0,0 +1,19 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    cbor-diag (0.5.2)
+      json
+      treetop (~> 1)
+    json (2.1.0)
+    polyglot (0.3.5)
+    treetop (1.6.10)
+      polyglot (~> 0.3)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  cbor-diag
+
+BUNDLED WITH
+   1.14.6
diff --git a/pkgs/development/tools/cbor-diag/default.nix b/pkgs/development/tools/cbor-diag/default.nix
new file mode 100644
index 000000000000..049d9f38c0c1
--- /dev/null
+++ b/pkgs/development/tools/cbor-diag/default.nix
@@ -0,0 +1,30 @@
+{ lib, bundlerApp, ruby }:
+
+bundlerApp {
+  pname = "cbor-diag";
+
+  inherit ruby;
+  gemdir = ./.;
+
+  exes = [
+    "cbor2diag.rb"
+    "cbor2json.rb"
+    "cbor2pretty.rb"
+    "cbor2yaml.rb"
+    "diag2cbor.rb"
+    "diag2pretty.rb"
+    "json2cbor.rb"
+    "json2pretty.rb"
+    "pretty2cbor.rb"
+    "pretty2diag.rb"
+    "yaml2cbor.rb"
+  ];
+
+  meta = with lib; {
+    description = "CBOR diagnostic utilities";
+    homepage    = https://github.com/cabo/cbor-diag;
+    license     = with licenses; asl20;
+    maintainers = with maintainers; [ fdns ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/cbor-diag/gemset.nix b/pkgs/development/tools/cbor-diag/gemset.nix
new file mode 100644
index 000000000000..2de0e9a647a7
--- /dev/null
+++ b/pkgs/development/tools/cbor-diag/gemset.nix
@@ -0,0 +1,36 @@
+{
+  cbor-diag = {
+    dependencies = ["json" "treetop"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1g4pxf1ag4pyb351m06l08ig1smnf8w27ynqfxkgmwak5mh1z7w1";
+      type = "gem";
+    };
+    version = "0.5.2";
+  };
+  json = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp";
+      type = "gem";
+    };
+    version = "2.1.0";
+  };
+  polyglot = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr";
+      type = "gem";
+    };
+    version = "0.3.5";
+  };
+  treetop = {
+    dependencies = ["polyglot"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0g31pijhnv7z960sd09lckmw9h8rs3wmc8g4ihmppszxqm99zpv7";
+      type = "gem";
+    };
+    version = "1.6.10";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/cddl/Gemfile b/pkgs/development/tools/cddl/Gemfile
new file mode 100644
index 000000000000..2ba729084f1a
--- /dev/null
+++ b/pkgs/development/tools/cddl/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'cddl'
diff --git a/pkgs/development/tools/cddl/Gemfile.lock b/pkgs/development/tools/cddl/Gemfile.lock
new file mode 100644
index 000000000000..65701dd45bf8
--- /dev/null
+++ b/pkgs/development/tools/cddl/Gemfile.lock
@@ -0,0 +1,28 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    abnc (0.1.0)
+    cbor-diag (0.5.2)
+      json
+      treetop (~> 1)
+    cddl (0.8.5)
+      abnc
+      cbor-diag
+      colorize
+      json
+      regexp-examples
+    colorize (0.8.1)
+    json (2.1.0)
+    polyglot (0.3.5)
+    regexp-examples (1.4.2)
+    treetop (1.6.10)
+      polyglot (~> 0.3)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  cddl
+
+BUNDLED WITH
+   1.14.6
diff --git a/pkgs/development/tools/cddl/default.nix b/pkgs/development/tools/cddl/default.nix
new file mode 100644
index 000000000000..37ad593d7964
--- /dev/null
+++ b/pkgs/development/tools/cddl/default.nix
@@ -0,0 +1,17 @@
+{ lib, bundlerApp, ruby }:
+
+bundlerApp {
+  pname = "cddl";
+
+  inherit ruby;
+  gemdir = ./.;
+  exes = [ "cddl" ];
+
+  meta = with lib; {
+    description = "A parser, generator, and validator for CDDL";
+    homepage    = https://rubygems.org/gems/cddl;
+    license     = with licenses; mit;
+    maintainers = with maintainers; [ fdns ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/cddl/gemset.nix b/pkgs/development/tools/cddl/gemset.nix
new file mode 100644
index 000000000000..92aa41995051
--- /dev/null
+++ b/pkgs/development/tools/cddl/gemset.nix
@@ -0,0 +1,69 @@
+{
+  abnc = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13nvzrk72nj130fs8bq8q3cfm48939rdzh7l31ncj5c4969hrbig";
+      type = "gem";
+    };
+    version = "0.1.0";
+  };
+  cbor-diag = {
+    dependencies = ["json" "treetop"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1g4pxf1ag4pyb351m06l08ig1smnf8w27ynqfxkgmwak5mh1z7w1";
+      type = "gem";
+    };
+    version = "0.5.2";
+  };
+  cddl = {
+    dependencies = ["abnc" "cbor-diag" "colorize" "json" "regexp-examples"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1pg91wrby0qgrdnf089ddy5yy2jalxd3bb9dljj16cpwv4gjx047";
+      type = "gem";
+    };
+    version = "0.8.5";
+  };
+  colorize = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "133rqj85n400qk6g3dhf2bmfws34mak1wqihvh3bgy9jhajw580b";
+      type = "gem";
+    };
+    version = "0.8.1";
+  };
+  json = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp";
+      type = "gem";
+    };
+    version = "2.1.0";
+  };
+  polyglot = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr";
+      type = "gem";
+    };
+    version = "0.3.5";
+  };
+  regexp-examples = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "104f0j0h2x5ijly7kyaj7zz0md65r2c03cpbi5cngm0hs2sr1qkz";
+      type = "gem";
+    };
+    version = "1.4.2";
+  };
+  treetop = {
+    dependencies = ["polyglot"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0g31pijhnv7z960sd09lckmw9h8rs3wmc8g4ihmppszxqm99zpv7";
+      type = "gem";
+    };
+    version = "1.6.10";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/jbake/default.nix b/pkgs/development/tools/jbake/default.nix
index 045ade6e0edc..70b8e7f26638 100644
--- a/pkgs/development/tools/jbake/default.nix
+++ b/pkgs/development/tools/jbake/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchzip, jre }:
 
 stdenv.mkDerivation rec {
-  version = "2.5.1";
+  version = "2.6.0";
   name = "jbake-${version}";
 
   src = fetchzip {
     url = "https://dl.bintray.com/jbake/binary/${name}-bin.zip";
-    sha256 = "1ib5gvz6sl7k0ywx22anhz69i40wc6jj5lxjxj2aa14qf4lrw912";
+    sha256 = "1k71rz82fwyi51xhyghg8laz794xyz06d5apmxa9psy7yz184ylk";
   };
 
   buildInputs = [ jre ];
diff --git a/pkgs/development/tools/misc/babeltrace/default.nix b/pkgs/development/tools/misc/babeltrace/default.nix
index d4a8d483e2e5..48cf4b31a176 100644
--- a/pkgs/development/tools/misc/babeltrace/default.nix
+++ b/pkgs/development/tools/misc/babeltrace/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, libuuid, popt, elfutils }:
 
 stdenv.mkDerivation rec {
-  name = "babeltrace-1.5.4";
+  name = "babeltrace-1.5.5";
 
   src = fetchurl {
     url = "http://www.efficios.com/files/babeltrace/${name}.tar.bz2";
-    sha256 = "1h8zi7afilbfx4jvdlhhgysj6x01w3799mdk4mdcgax04fch6hwn";
+    sha256 = "1b78fam1gbsalga5pppn8ka461q35a9svz3mlbv82ssakdw4d4a0";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/tools/misc/cquery/default.nix b/pkgs/development/tools/misc/cquery/default.nix
new file mode 100644
index 000000000000..09220b2dc651
--- /dev/null
+++ b/pkgs/development/tools/misc/cquery/default.nix
@@ -0,0 +1,61 @@
+{ stdenv, fetchFromGitHub, makeWrapper
+, cmake, llvmPackages, ncurses }:
+
+let
+  src = fetchFromGitHub {
+    owner = "cquery-project";
+    repo = "cquery";
+    rev = "e45a9ebbb6d8bfaf8bf1a3135b6faa910afea37e";
+    sha256 = "049gkqbamq4r2nz9yjcwq369zrmwrikzbhfza2x2vndqzaavq5yg";
+    fetchSubmodules = true;
+  };
+
+  stdenv = llvmPackages.stdenv;
+
+in
+stdenv.mkDerivation rec {
+  name    = "cquery-${version}";
+  version = "2018-03-25";
+
+  inherit src;
+
+  nativeBuildInputs = [ cmake makeWrapper ];
+  buildInputs = with llvmPackages; [ clang clang-unwrapped llvm ncurses ];
+
+  cmakeFlags = [
+    "-DSYSTEM_CLANG=ON"
+    "-DCLANG_CXX=ON"
+  ];
+
+  shell = stdenv.shell;
+  postFixup = ''
+    # We need to tell cquery where to find the standard library headers.
+
+    standard_library_includes="\\\"-isystem\\\", \\\"${if (stdenv.hostPlatform.libc == "glibc") then stdenv.cc.libc.dev else stdenv.cc.libc}/include\\\""
+    standard_library_includes+=", \\\"-isystem\\\", \\\"${llvmPackages.libcxx}/include/c++/v1\\\""
+    export standard_library_includes
+
+    wrapped=".cquery-wrapped"
+    export wrapped
+
+    mv $out/bin/cquery $out/bin/$wrapped
+    substituteAll ${./wrapper} $out/bin/cquery
+    chmod --reference=$out/bin/$wrapped $out/bin/cquery
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    pushd ${src}
+    $out/bin/cquery --ci --clang-sanity-check && \
+    $out/bin/cquery --ci --test-unit
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A c/c++ language server powered by libclang";
+    homepage    = https://github.com/cquery-project/cquery;
+    license     = licenses.mit;
+    platforms   = platforms.linux ++ platforms.darwin;
+    maintainers = [ maintainers.tobim ];
+    priority    = 3;
+  };
+}
diff --git a/pkgs/development/tools/misc/cquery/wrapper b/pkgs/development/tools/misc/cquery/wrapper
new file mode 100644
index 000000000000..f0bea41536d0
--- /dev/null
+++ b/pkgs/development/tools/misc/cquery/wrapper
@@ -0,0 +1,12 @@
+#! @shell@ -e
+
+initString="--init={\"extraClangArguments\": [@standard_library_includes@"
+
+if [ "${NIX_CFLAGS_COMPILE}" != "" ]; then
+  read -a cflags_array <<< ${NIX_CFLAGS_COMPILE}
+  initString+=$(printf ', \"%s\"' "${cflags_array[@]}")
+fi
+
+initString+="]}"
+
+exec -a "$0" "@out@/bin/@wrapped@" "${initString}" "${extraFlagsArray[@]}" "$@"
diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix
index b20f63e26253..ae8f17c213a9 100644
--- a/pkgs/development/tools/misc/d-feet/default.nix
+++ b/pkgs/development/tools/misc/d-feet/default.nix
@@ -2,14 +2,14 @@
 , python3Packages, wrapGAppsHook, gnome3, libwnck3, gobjectIntrospection }:
 
 let
-  version = "${major}.13";
-  major = "0.3";
+  pname = "d-feet";
+  version = "0.3.13";
 in python3Packages.buildPythonApplication rec {
-  name = "d-feet-${version}";
+  name = "${pname}-${version}";
   format = "other";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/d-feet/${major}/d-feet-${version}.tar.xz";
+    url = "mirror://gnome/sources/d-feet/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
     sha256 = "1md3lzs55sg04ds69dbginpxqvgg3qnf1lfx3vmsxph6bbd2y6ll";
   };
 
@@ -18,6 +18,14 @@ in python3Packages.buildPythonApplication rec {
 
   propagatedBuildInputs = with python3Packages; [ pygobject3 pep8 ];
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "dfeet";
+      versionPolicy = "none";
+    };
+  };
+
   meta = {
     description = "D-Feet is an easy to use D-Bus debugger";
 
@@ -26,7 +34,7 @@ in python3Packages.buildPythonApplication rec {
       and invoke methods on those interfaces.
     '';
 
-    homepage = https://wiki.gnome.org/action/show/Apps/DFeet;
+    homepage = https://wiki.gnome.org/Apps/DFeet;
     platforms = stdenv.lib.platforms.all;
     license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [ ktosiek ];
diff --git a/pkgs/development/tools/skopeo/default.nix b/pkgs/development/tools/skopeo/default.nix
index de0d7fc54de2..bb99e887ac6f 100644
--- a/pkgs/development/tools/skopeo/default.nix
+++ b/pkgs/development/tools/skopeo/default.nix
@@ -1,29 +1,33 @@
 { stdenv, lib, buildGoPackage, fetchFromGitHub, runCommand
-, gpgme, libgpgerror, devicemapper, btrfs-progs, pkgconfig, ostree, libselinux }:
+, gpgme, libgpgerror, devicemapper, btrfs-progs, pkgconfig, ostree, libselinux
+, go-md2man }:
 
 with stdenv.lib;
 
 let
-  version = "0.1.28";
+  version = "0.1.29";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "projectatomic";
     repo = "skopeo";
-    sha256 = "068nwrr3nr27alravcq1sxyhdd5jjr24213vdgn1dqva3885gbi0";
+    sha256 = "1lhzbyj2mm25x12s7g2jx4v8w19izjwlgx4lml13r5yy1spn65k2";
   };
 
   defaultPolicyFile = runCommand "skopeo-default-policy.json" {} "cp ${src}/default-policy.json $out";
 
+  goPackagePath = "github.com/projectatomic/skopeo";
+
 in
 buildGoPackage rec {
   name = "skopeo-${version}";
-  inherit src;
+  inherit src goPackagePath;
+
+  outputs = [ "bin" "man" "out" ];
 
-  goPackagePath = "github.com/projectatomic/skopeo";
   excludedPackages = "integration";
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig (lib.getBin go-md2man) ];
   buildInputs = [ gpgme libgpgerror devicemapper btrfs-progs ostree libselinux ];
 
   buildFlagsArray = "-ldflags= -X github.com/projectatomic/skopeo/vendor/github.com/containers/image/signature.systemDefaultPolicyPath=${defaultPolicyFile}";
@@ -33,10 +37,17 @@ buildGoPackage rec {
     export CGO_LDFLAGS="-L${getLib gpgme}/lib -L${getLib libgpgerror}/lib -L${getLib devicemapper}/lib"
   '';
 
+  postBuild = ''
+    # depends on buildGoPackage not changing …
+    pushd ./go/src/${goPackagePath}
+    make install-docs MANINSTALLDIR="$man"
+    popd
+  '';
+
   meta = {
     description = "A command line utility for various operations on container images and image repositories";
     homepage = https://github.com/projectatomic/skopeo;
-    maintainers = with stdenv.lib.maintainers; [ vdemeester ];
+    maintainers = with stdenv.lib.maintainers; [ vdemeester lewo ];
     license = stdenv.lib.licenses.asl20;
   };
 }
diff --git a/pkgs/misc/drivers/hplip/default.nix b/pkgs/misc/drivers/hplip/default.nix
index ed29ee1575cc..b18ae7762df2 100644
--- a/pkgs/misc/drivers/hplip/default.nix
+++ b/pkgs/misc/drivers/hplip/default.nix
@@ -70,6 +70,7 @@ pythonPackages.buildPythonApplication {
     pygobject2
     reportlab
     usbutils
+    sip
   ] ++ stdenv.lib.optionals withQt5 [
     pyqt5
   ];
diff --git a/pkgs/os-specific/linux/fatrace/default.nix b/pkgs/os-specific/linux/fatrace/default.nix
index fd955676775a..6f6418edc3e5 100644
--- a/pkgs/os-specific/linux/fatrace/default.nix
+++ b/pkgs/os-specific/linux/fatrace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "fatrace-${version}";
-  version = "0.12";
+  version = "0.13";
 
   src = fetchurl {
     url = "http://launchpad.net/fatrace/trunk/${version}/+download/${name}.tar.bz2";
-    sha256 = "0szn86rbbvmjcw192vjhhgc3v99s5lm2kg93gk1yzm6ay831grsh";
+    sha256 = "0hrh45bpzncw0jkxw3x2smh748r65k2yxvfai466043bi5q0d2vx";
   };
 
   buildInputs = [ python3 which ];
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index faf151564589..c3eb05b1ad39 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.30";
+  version = "4.14.31";
 
   # 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 = "0ib6zqn1psffgffmvqmh9x3wdh15yd8z0gwwkamvgwa8xcpv0nvw";
+    sha256 = "0h30z1dlrr9zdxvqlk5lq5m9db3k6n9ci39mlsjkd5kx4ia8lnyd";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.15.nix b/pkgs/os-specific/linux/kernel/linux-4.15.nix
index f88ddadca8f4..36c1e3f7ac3e 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.15.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.15.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.15.13";
+  version = "4.15.14";
 
   # 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 = "1iam2adh6ghzv0lgh60c03pzrhv4axxw6k78xh209v889xdfjbhx";
+    sha256 = "188nnzcclccka37rnx792b4p41smv9sll9h4glzfg4vwz7y54x2a";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix
index 766eef83ddf8..e71110385f59 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.4.124";
+  version = "4.4.125";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0a91phmdpa82s3mqnyw2an3j4v18cksvy1akdyxf5w2byq51qd2r";
+    sha256 = "0rrq9hwpsz0xjl10rf2c3brlkxq074cq3cr1gqp98na6zazl9xrx";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 4832c79d02f9..47617410b1b9 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.90";
+  version = "4.9.91";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0mbl0d6z8yx7bn5m804kv17bh64pd0w0nc8lls4pw335jx7hkc0v";
+    sha256 = "0clqndkj24a9752bc8x7cwdrdl38yarpvwx2yqkc98czxi9agjk0";
   };
 } // (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 680c5d8d64f0..67cb7baf2d7b 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.13";
+  version = "4.15.14";
   revision = "a";
-  sha256 = "0zmamaf600jja3m2i41rysxq0rqixiz1vvd1nf5bd8piqkd8dbvf";
+  sha256 = "1y5w02gr108098p26l6gq8igrk435ljlqiazxwha6lgajk1rgpv2";
 
   # 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/os-specific/linux/phc-intel/default.nix b/pkgs/os-specific/linux/phc-intel/default.nix
index 81db8a9f26d0..cc6ac64d58ad 100644
--- a/pkgs/os-specific/linux/phc-intel/default.nix
+++ b/pkgs/os-specific/linux/phc-intel/default.nix
@@ -6,14 +6,14 @@ assert stdenv.lib.versionAtLeast kernel.version "4.10";
 
 let
   release = "0.4.0";
-  revbump = "rev24"; # don't forget to change forum download id...
+  revbump = "rev25"; # don't forget to change forum download id...
 in stdenv.mkDerivation rec {
   name = "linux-phc-intel-${version}-${kernel.version}";
   version = "${release}-${revbump}";
 
   src = fetchurl {
-    sha256 = "02b4j8ap1fy09z36pmpplbw4vpwqdi16jyzw5kl0a60ydgxkmrpz";
-    url = "http://www.linux-phc.org/forum/download/file.php?id=178";
+    sha256 = "1w91hpphd8i0br7g5qra26jdydqar45zqwq6jq8yyz6l0vb10zlz";
+    url = "http://www.linux-phc.org/forum/download/file.php?id=194";
     name = "phc-intel-pack-${revbump}.tar.bz2";
   };
 
diff --git a/pkgs/os-specific/linux/radeontop/default.nix b/pkgs/os-specific/linux/radeontop/default.nix
index c87bec3a5264..504d25957858 100644
--- a/pkgs/os-specific/linux/radeontop/default.nix
+++ b/pkgs/os-specific/linux/radeontop/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "radeontop-${version}";
-  version = "2016-10-28";
+  version = "2018-03-25";
 
   src = fetchFromGitHub {
-    sha256 = "0y4rl8pm7p22s1ipyb75mlsk9qb6j4rd6nlqb3digmimnyxda1q3";
-    rev = "v1.0";
+    sha256 = "0s41xy9nrzxmimkdg23fr86rqcfiw6iqh99zpph0j990l8yzmv9b";
+    rev = "v1.1";
     repo = "radeontop";
     owner = "clbr";
   };
diff --git a/pkgs/os-specific/linux/selinux-sandbox/default.nix b/pkgs/os-specific/linux/selinux-sandbox/default.nix
index 71d2ee6e80af..431f5e9ef517 100644
--- a/pkgs/os-specific/linux/selinux-sandbox/default.nix
+++ b/pkgs/os-specific/linux/selinux-sandbox/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     substituteInPlace Makefile --replace "-m 4755" "-m 755"
     substituteInPlace sandboxX.sh \
       --replace "#!/bin/sh" "#!${bash}/bin/sh" \
-      --replace "/usr/share/sandbox/start" "${placeholder "out"}/share/sandbox/start" \
+      --replace "/usr/share/sandbox/start" "$out/share/sandbox/start" \
       --replace "/usr/bin/cut" "${coreutils}/bin/cut" \
       --replace "/usr/bin/Xephyr" "${xorgserver}/bin/Xepyhr" \
       --replace "secon" "${policycoreutils}/bin/secon"
diff --git a/pkgs/os-specific/linux/v4l2loopback/default.nix b/pkgs/os-specific/linux/v4l2loopback/default.nix
index 920c8c0bdee0..3db2814a0878 100644
--- a/pkgs/os-specific/linux/v4l2loopback/default.nix
+++ b/pkgs/os-specific/linux/v4l2loopback/default.nix
@@ -1,12 +1,14 @@
-{ stdenv, fetchurl, kernel, kmod }:
+{ stdenv, fetchFromGitHub, kernel, kmod }:
 
 stdenv.mkDerivation rec {
   name = "v4l2loopback-${version}-${kernel.version}";
-  version = "0.9.1";
+  version = "0.11.0";
 
-  src = fetchurl {
-    url = "https://github.com/umlaeute/v4l2loopback/archive/v${version}.tar.gz";
-    sha256 = "1crkhxlnskqrfj3f7jmiiyi5m75zmj7n0s26xz07wcwdzdf2p568";
+  src = fetchFromGitHub {
+    owner = "umlaeute";
+    repo = "v4l2loopback";
+    rev = "v${version}";
+    sha256 = "1wb5qmy13w8rl4279bwp69s4sb1x5hk5d2n563p1yk8yi567p2az";
   };
 
   hardeningDisable = [ "format" "pic" ];
diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix
index 0060a59d8071..c9065d041618 100644
--- a/pkgs/servers/mail/dovecot/default.nix
+++ b/pkgs/servers/mail/dovecot/default.nix
@@ -8,7 +8,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "dovecot-2.3.0.1";
+  name = "dovecot-2.3.1";
 
   nativeBuildInputs = [ perl pkgconfig ];
   buildInputs =
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://dovecot.org/releases/2.3/${name}.tar.gz";
-    sha256 = "0lzisrdgrj5qqwjb7bv99mf2aljm568r6g108yisp0s644z2nxxb";
+    sha256 = "14zva4f8k64x86sm9n21cp2yvrpph6k6k52bm22a00pxjwdq50q8";
   };
 
   preConfigure = ''
diff --git a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
index 92b404d0f653..af9ff3b257b1 100644
--- a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
+++ b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "dovecot-pigeonhole-${version}";
-  version = "0.5.0.1";
+  version = "0.5.1";
 
   src = fetchurl {
     url = "http://pigeonhole.dovecot.org/releases/2.3/dovecot-2.3-pigeonhole-${version}.tar.gz";
-    sha256 = "1lpsdqh9pwqx917z5v23bahhhbrcb3y5ps3l413sli8cn4a6sdan";
+    sha256 = "0ivmaxic6cygfphvlrvy0xgggydm7j7kjv1ssfqbr08q4rcsmc73";
   };
 
   buildInputs = [ dovecot openssl ];
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index 61ff67ed9930..d2a0d0463895 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -1,7 +1,7 @@
 { lib, buildGoPackage, fetchurl, fetchFromGitHub, phantomjs2 }:
 
 buildGoPackage rec {
-  version = "5.0.3";
+  version = "5.0.4";
   name = "grafana-${version}";
   goPackagePath = "github.com/grafana/grafana";
 
@@ -9,12 +9,12 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "0508dvkanrfrvdnddjsaz8qm3qbgavznia5hqr8zx3qvq4789hj2";
+    sha256 = "18f69985a5j6fd2ax6z50yfss70phdh1vwyx0z69j145zac3sf90";
   };
 
   srcStatic = fetchurl {
     url = "https://grafana-releases.s3.amazonaws.com/release/grafana-${version}.linux-x64.tar.gz";
-    sha256 = "0dzb93vx72sm6iri6c96k3a15zn8mp26pd2r78m6k3nhg8rsrqmm";
+    sha256 = "0xdpqf8n3ds0g7nhbiwahhdj0hfc4biz69rhkl48vm31idlr92sc";
   };
 
   preBuild = "export GOPATH=$GOPATH:$NIX_BUILD_TOP/go/src/${goPackagePath}/Godeps/_workspace";
diff --git a/pkgs/servers/sql/mysql/5.7.x.nix b/pkgs/servers/sql/mysql/5.7.x.nix
index b6b1dc7b1272..15e8569fd09e 100644
--- a/pkgs/servers/sql/mysql/5.7.x.nix
+++ b/pkgs/servers/sql/mysql/5.7.x.nix
@@ -60,7 +60,7 @@ self = stdenv.mkDerivation rec {
     install -vD $out/lib/*.a -t $static/lib
     rm -r $out/mysql-test
     rm $out/share/man/man1/mysql-test-run.pl.1 $out/lib/*.a
-    ln -s libmysqlclient.so $out/lib/libmysqlclient_r.so
+    ln -s libmysqlclient${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/libmysqlclient_r${stdenv.hostPlatform.extensions.sharedLibrary}
   '';
 
   passthru = {
diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix
index 2f4ff62f767e..26522ad6045e 100644
--- a/pkgs/stdenv/generic/check-meta.nix
+++ b/pkgs/stdenv/generic/check-meta.nix
@@ -174,9 +174,10 @@ let
     else "key '${k}' is unrecognized; expected one of: \n\t      [${lib.concatMapStringsSep ", " (x: "'${x}'") (lib.attrNames metaTypes)}]";
   checkMeta = meta: if shouldCheckMeta then lib.remove null (lib.mapAttrsToList checkMetaAttr meta) else [];
 
-  checkPlatform = attrs:
-    (!(attrs ? meta.platforms) || lib.any (lib.meta.platformMatch hostPlatform) attrs.meta.platforms) &&
-    (!(attrs ? meta.badPlatforms && lib.any (lib.meta.platformMatch hostPlatform) attrs.meta.badPlatforms));
+  checkPlatform = attrs: let
+      anyMatch = lib.any (lib.meta.platformMatch hostPlatform);
+    in  anyMatch (attrs.meta.platforms or lib.platforms.all) &&
+      ! anyMatch (attrs.meta.badPlatforms or []);
 
   # Check if a derivation is valid, that is whether it passes checks for
   # e.g brokenness or license.
diff --git a/pkgs/tools/misc/convmv/default.nix b/pkgs/tools/misc/convmv/default.nix
index e6ff7e99353b..253e6a50b361 100644
--- a/pkgs/tools/misc/convmv/default.nix
+++ b/pkgs/tools/misc/convmv/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl }:
 
 stdenv.mkDerivation rec {
-  name = "convmv-2.04";
+  name = "convmv-2.05";
 
   src = fetchurl {
     url = "http://www.j3e.de/linux/convmv/${name}.tar.gz";
-    sha256 = "075xn1ill26hbhg4nl54sp75b55db3ikl7lvhqb9ijvkpi67j6yy";
+    sha256 = "19hwv197p7c23f43vvav5bs19z9b72jzca2npkjsxgprwj5ardjk";
   };
 
   preBuild=''
diff --git a/pkgs/tools/misc/gsmartcontrol/default.nix b/pkgs/tools/misc/gsmartcontrol/default.nix
index d4322f051d0a..f7cdf5ca608b 100644
--- a/pkgs/tools/misc/gsmartcontrol/default.nix
+++ b/pkgs/tools/misc/gsmartcontrol/default.nix
@@ -1,18 +1,28 @@
-{ fetchurl, stdenv, smartmontools, gtkmm2, libglademm, pkgconfig, pcre }:
+{ fetchurl, stdenv, smartmontools, autoreconfHook, gettext, gtkmm3, pkgconfig, wrapGAppsHook, pcre-cpp, gnome3 }:
 
 stdenv.mkDerivation rec {
-  version="0.8.7";
+  version="1.1.3";
   name = "gsmartcontrol-${version}";
 
   src = fetchurl {
-    url = "http://artificialtime.com/gsmartcontrol/gsmartcontrol-${version}.tar.bz2";
-    sha256 = "1ipykzqpfvlr84j38hr7q2cag4imrn1gql10slp8bfrs4h1si3vh";
+    url = "mirror://sourceforge/gsmartcontrol/gsmartcontrol-${version}.tar.bz2";
+    sha256 = "1a8j7dkml9zvgpk83xcdajfz7g6mmpmm5k86dl5sjc24zb7n4kxn";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ smartmontools gtkmm2 libglademm pcre ];
+  patches = [
+    ./fix-paths.patch
+  ];
 
-  #installTargets = "install datainstall";
+  nativeBuildInputs = [ autoreconfHook gettext pkgconfig wrapGAppsHook ];
+  buildInputs = [ gtkmm3 pcre-cpp gnome3.adwaita-icon-theme ];
+
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix PATH : "${stdenv.lib.makeBinPath [ smartmontools ]}"
+    )
+  '';
 
   meta = {
     description = "Hard disk drive health inspection tool";
@@ -25,7 +35,7 @@ stdenv.mkDerivation rec {
       It allows you to inspect the drive's SMART data to determine its health,
       as well as run various tests on it.
     '';
-    homepage = http://gsmartcontrol.sourceforge.net/;
+    homepage = https://gsmartcontrol.sourceforge.io/;
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [qknight];
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/tools/misc/gsmartcontrol/fix-paths.patch b/pkgs/tools/misc/gsmartcontrol/fix-paths.patch
new file mode 100644
index 000000000000..905b63bee0c4
--- /dev/null
+++ b/pkgs/tools/misc/gsmartcontrol/fix-paths.patch
@@ -0,0 +1,58 @@
+diff --git a/configure.ac b/configure.ac
+--- a/configure.ac
++++ b/configure.ac
+@@ -475,6 +475,7 @@
+ 
+ 
+ AC_CONFIG_FILES([ data/gsmartcontrol.desktop data/gsmartcontrol.appdata.xml \
++	data/org.gsmartcontrol.policy \
+ 	data/nsis/distribution.txt data/nsis/gsmartcontrol.nsi \
+ 	debian.dist/changelog \
+ 	src/gsc_winres.rc src/gsmartcontrol.exe.manifest \
+diff --git a/data/gsmartcontrol-root.in b/data/gsmartcontrol-root.in
+--- a/data/gsmartcontrol-root.in
++++ b/data/gsmartcontrol-root.in
+@@ -8,7 +8,7 @@
+ # Run gsmartcontrol with root, asking for root password first.
+ # export GSMARTCONTROL_SU to override a su command (e.g. "kdesu -c").
+ 
+-EXEC_BIN="@prefix@/sbin/gsmartcontrol";
++EXEC_BIN="@prefix@/bin/gsmartcontrol";
+ prog_name="gsmartcontrol"
+ 
+ 
+@@ -118,7 +118,7 @@
+ # Add @prefix@/sbin as well (freebsd seems to require it).
+ # Note that beesu won't show a GUI login box if /usr/sbin is before /usr/bin,
+ # so add it first as well.
+-EXTRA_PATHS="/usr/bin:/usr/sbin:/usr/local/sbin:@prefix@/sbin";
++EXTRA_PATHS="/usr/bin:/usr/sbin:/usr/local/sbin:@prefix@/bin";
+ export PATH="$EXTRA_PATHS:$PATH"
+ 
+ 
+diff --git a/data/org.gsmartcontrol.policy b/data/org.gsmartcontrol.policy.in
+rename from data/org.gsmartcontrol.policy
+rename to data/org.gsmartcontrol.policy.in
+--- a/data/org.gsmartcontrol.policy
++++ b/data/org.gsmartcontrol.policy.in
+@@ -12,7 +12,7 @@
+       <allow_inactive>auth_admin</allow_inactive>
+       <allow_active>auth_admin</allow_active>
+     </defaults>
+-    <annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/gsmartcontrol</annotate>
++    <annotate key="org.freedesktop.policykit.exec.path">@prefix@/bin/gsmartcontrol</annotate>
+     <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
+   </action>
+ 
+diff --git a/src/Makefile.am b/src/Makefile.am
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -24,7 +24,7 @@
+ # endif
+ 
+ 
+-sbin_PROGRAMS = gsmartcontrol
++bin_PROGRAMS = gsmartcontrol
+ 
+ gsmartcontrol_LDADD = $(top_builddir)/src/applib/libapplib.a \
+ 	$(top_builddir)/src/libdebug/libdebug.a \
diff --git a/pkgs/tools/misc/txt2man/default.nix b/pkgs/tools/misc/txt2man/default.nix
index 29bd3235dfb9..f37892a231a5 100644
--- a/pkgs/tools/misc/txt2man/default.nix
+++ b/pkgs/tools/misc/txt2man/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, coreutils, gawk }:
 
 stdenv.mkDerivation rec {
-  name = "txt2man-1.5.6";
+  name = "txt2man-${version}";
+  version = "1.6.0";
 
   src = fetchurl {
-    url = "http://mvertes.free.fr/download/${name}.tar.gz";
-    sha256 = "0ammlb4pwc4ya1kc9791vjl830074zrpfcmzc18lkcqczp2jaj4q";
+    url = "https://github.com/mvertes/txt2man/archive/${name}.tar.gz";
+    sha256 = "168cj96974n2z0igin6j1ic1m45zyic7nm5ark7frq8j78rrx4zn";
   };
 
   preConfigure = ''
diff --git a/pkgs/tools/security/spectre-meltdown-checker/default.nix b/pkgs/tools/security/spectre-meltdown-checker/default.nix
index 13bebe10c623..0baa1538ea15 100644
--- a/pkgs/tools/security/spectre-meltdown-checker/default.nix
+++ b/pkgs/tools/security/spectre-meltdown-checker/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "spectre-meltdown-checker-${version}";
-  version = "0.35";
+  version = "0.36";
 
   src = fetchFromGitHub {
     owner = "speed47";
     repo = "spectre-meltdown-checker";
     rev = "v${version}";
-    sha256 = "0pzs6iznrar5zkg92gsh6d0zhdi715zwqcb8hh1aaykx9igjb1xw";
+    sha256 = "0pcw300hizzm130d0ip7j0ivf53sjlv6qzsdk9l68bj2lpx9n3kd";
   };
 
   prePatch = ''
diff --git a/pkgs/tools/system/facter/default.nix b/pkgs/tools/system/facter/default.nix
index 9ff5f58f558a..42d34c9a8230 100644
--- a/pkgs/tools/system/facter/default.nix
+++ b/pkgs/tools/system/facter/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "facter-${version}";
-  version = "3.10.0";
+  version = "3.11.0";
 
   src = fetchFromGitHub {
-    sha256 = "0qj23n5h98iirwhnjpcqzmirqf92sjd8mws5dky0pap359j6w792";
+    sha256 = "15cqn09ng23k6a70xvxbpjjqlxw46838k7qr9216lcvxwl2banih";
     rev = version;
     repo = "facter";
     owner = "puppetlabs";
diff --git a/pkgs/tools/text/untex/default.nix b/pkgs/tools/text/untex/default.nix
index ec99e8b4a27a..b1671ad38b53 100644
--- a/pkgs/tools/text/untex/default.nix
+++ b/pkgs/tools/text/untex/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "untex-${version}";
-  version = "1.2";
+  version = "1.3";
 
   src = fetchurl {
-    url = "https://www.ctan.org/tex-archive/support/untex/${name}.tar.gz";
-    sha256 = "07p836jydd5yjy905m5ylnnac1h4cc4jsr41panqb808mlsiwmmy";
+    url = "ftp://ftp.thp.uni-duisburg.de/pub/source/${name}.tar.gz";
+    sha256 = "1jww43pl9qvg6kwh4h8imp966fzd62dk99pb4s93786lmp3kgdjv";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 975815daed7d..cb260e381e76 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -975,8 +975,12 @@ with pkgs;
 
   image-analyzer = callPackage ../misc/emulators/cdemu/analyzer.nix { };
 
+  cbor-diag = callPackage ../development/tools/cbor-diag { };
+
   ccnet = callPackage ../tools/networking/ccnet { };
 
+  cddl = callPackage ../development/tools/cddl { };
+
   cfdyndns = callPackage ../applications/networking/dyndns/cfdyndns { };
 
   ckbcomp = callPackage ../tools/X11/ckbcomp { };
@@ -1003,6 +1007,8 @@ with pkgs;
 
   colpack = callPackage ../applications/science/math/colpack { };
 
+  compactor = callPackage ../applications/networking/compactor { };
+
   consul = callPackage ../servers/consul { };
 
   consul-ui = callPackage ../servers/consul/ui.nix { };
@@ -2694,9 +2700,7 @@ with pkgs;
 
   sbsigntool = callPackage ../tools/security/sbsigntool { };
 
-  gsmartcontrol = callPackage ../tools/misc/gsmartcontrol {
-    inherit (gnome2) libglademm;
-  };
+  gsmartcontrol = callPackage ../tools/misc/gsmartcontrol { };
 
   gssdp = callPackage ../development/libraries/gssdp {
     inherit (gnome2) libsoup;
@@ -7656,6 +7660,10 @@ with pkgs;
 
   cppcheck = callPackage ../development/tools/analysis/cppcheck { };
 
+  cquery = callPackage ../development/tools/misc/cquery {
+    llvmPackages = llvmPackages_6;
+  };
+
   creduce = callPackage ../development/tools/misc/creduce {
     inherit (perlPackages) perl
       ExporterLite FileWhich GetoptTabular RegexpCommon TermReadKey;
@@ -14583,7 +14591,6 @@ with pkgs;
   };
 
   abiword = callPackage ../applications/office/abiword {
-    inherit (gnome2) libglade libgnomecanvas;
     iconTheme = gnome3.defaultIconTheme;
   };
 
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index e071cb4afde3..102d8301bd6e 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -6743,6 +6743,18 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  HTMLTagCloud = buildPerlPackage rec {
+    name = "HTML-TagCloud-0.38";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/R/RO/ROBERTSD/${name}.tar.gz";
+      sha256 = "05bhnrwwlwd6cj3cn91zw5r99xddvy142bznid26p1pg5m3rk029";
+    };
+    meta = {
+      description = "Generate An HTML Tag Cloud";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   HTMLQuoted = buildPerlPackage {
     name = "HTML-Quoted-0.04";
     src = fetchurl {