summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/languages-frameworks/coq.xml7
-rw-r--r--lib/licenses.nix5
-rw-r--r--lib/systems/default.nix19
-rw-r--r--lib/systems/doubles.nix5
-rw-r--r--lib/tests/systems.nix29
-rw-r--r--nixos/modules/services/network-filesystems/openafs/client.nix2
-rw-r--r--nixos/modules/services/network-filesystems/openafs/server.nix1
-rw-r--r--nixos/modules/services/networking/tinc.nix8
-rw-r--r--nixos/modules/services/x11/compton.nix6
-rw-r--r--nixos/modules/services/x11/xserver.nix2
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix2
-rw-r--r--nixos/modules/virtualisation/kvmgt.nix8
-rw-r--r--pkgs/applications/altcoins/parity/beta.nix10
-rw-r--r--pkgs/applications/altcoins/parity/default.nix8
-rw-r--r--pkgs/applications/altcoins/parity/patches/vendored-sources-2.1.patch (renamed from pkgs/applications/altcoins/parity/patches/vendored-sources-1.11.patch)36
-rw-r--r--pkgs/applications/audio/lollypop/default.nix4
-rw-r--r--pkgs/applications/audio/mixxx/default.nix4
-rw-r--r--pkgs/applications/audio/radiotray-ng/default.nix4
-rw-r--r--pkgs/applications/editors/vscode/default.nix8
-rw-r--r--pkgs/applications/graphics/openimageio/default.nix4
-rw-r--r--pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/eolie/default.nix4
-rw-r--r--pkgs/applications/networking/remote/remmina/default.nix37
-rw-r--r--pkgs/applications/networking/sync/rclone/browser.nix25
-rw-r--r--pkgs/applications/networking/znc/default.nix4
-rw-r--r--pkgs/applications/science/electronics/gtkwave/default.nix4
-rw-r--r--pkgs/applications/science/logic/coq/default.nix2
-rw-r--r--pkgs/applications/science/logic/why3/default.nix6
-rw-r--r--pkgs/applications/science/math/sage/env-locations.nix1
-rw-r--r--pkgs/applications/science/math/sage/patches/dochtml-optional.patch127
-rw-r--r--pkgs/applications/science/math/sage/patches/eclib-20180710.patch24
-rw-r--r--pkgs/applications/science/math/sage/patches/pari-no-threads.patch18
-rw-r--r--pkgs/applications/science/math/sage/patches/singular-4.1.1p2.patch274
-rw-r--r--pkgs/applications/science/math/sage/patches/spkg-scripts.patch46
-rw-r--r--pkgs/applications/science/math/sage/patches/test-in-tmpdir.patch31
-rw-r--r--pkgs/applications/science/math/sage/sage-src.nix110
-rw-r--r--pkgs/applications/science/math/sage/sagelib.nix4
-rw-r--r--pkgs/applications/science/misc/sasview/default.nix6
-rw-r--r--pkgs/desktops/deepin/dde-polkit-agent/default.nix46
-rw-r--r--pkgs/desktops/deepin/deepin-movie-reborn/default.nix53
-rw-r--r--pkgs/desktops/deepin/default.nix3
-rw-r--r--pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix40
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/reset-environment.patch20
-rw-r--r--pkgs/desktops/plasma-5/breeze-qt5.nix4
-rw-r--r--pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--pkgs/desktops/plasma-5/kde-gtk-config/patches/gsettings.patch16
-rw-r--r--pkgs/desktops/plasma-5/plasma-integration/D9070.patch24
-rw-r--r--pkgs/desktops/plasma-5/plasma-integration/default.nix7
-rw-r--r--pkgs/desktops/plasma-5/plasma-vault/cryfs-path.patch14
-rw-r--r--pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch20
-rw-r--r--pkgs/desktops/plasma-5/plasma-vault/fusermount-path.patch6
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch34
-rw-r--r--pkgs/desktops/plasma-5/srcs.nix360
-rw-r--r--pkgs/development/coq-modules/QuickChick/default.nix2
-rw-r--r--pkgs/development/coq-modules/bignums/default.nix2
-rw-r--r--pkgs/development/coq-modules/category-theory/default.nix2
-rw-r--r--pkgs/development/coq-modules/contribs/default.nix2
-rw-r--r--pkgs/development/coq-modules/coq-ext-lib/default.nix2
-rw-r--r--pkgs/development/coq-modules/coq-haskell/default.nix2
-rw-r--r--pkgs/development/coq-modules/dpdgraph/default.nix6
-rw-r--r--pkgs/development/coq-modules/equations/default.nix2
-rw-r--r--pkgs/development/coq-modules/fiat/HEAD.nix2
-rw-r--r--pkgs/development/coq-modules/flocq/default.nix2
-rw-r--r--pkgs/development/coq-modules/heq/default.nix2
-rw-r--r--pkgs/development/coq-modules/mathcomp/generic.nix2
-rw-r--r--pkgs/development/coq-modules/metalib/default.nix2
-rw-r--r--pkgs/development/coq-modules/paco/default.nix2
-rw-r--r--pkgs/development/coq-modules/ssreflect/generic.nix2
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix19
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix3
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix92
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix4
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix2
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix1125
-rw-r--r--pkgs/development/interpreters/ruby/default.nix22
-rw-r--r--pkgs/development/interpreters/ruby/patchsets.nix6
-rw-r--r--pkgs/development/libraries/boost/generic.nix15
-rw-r--r--pkgs/development/libraries/c-ares/default.nix2
-rw-r--r--pkgs/development/libraries/gpgme/default.nix8
-rw-r--r--pkgs/development/libraries/libdbusmenu-qt/default.nix2
-rw-r--r--pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix17
-rw-r--r--pkgs/development/libraries/libgnome-keyring/default.nix2
-rw-r--r--pkgs/development/libraries/libite/default.nix2
-rw-r--r--pkgs/development/libraries/libjson/default.nix13
-rw-r--r--pkgs/development/libraries/libkate/default.nix6
-rw-r--r--pkgs/development/libraries/liblastfm/default.nix5
-rw-r--r--pkgs/development/libraries/liblastfmSF/default.nix1
-rw-r--r--pkgs/development/libraries/liblqr-1/default.nix2
-rw-r--r--pkgs/development/libraries/libmilter/default.nix1
-rw-r--r--pkgs/development/libraries/libmms/default.nix7
-rw-r--r--pkgs/development/libraries/libmp3splt/default.nix1
-rw-r--r--pkgs/development/libraries/libmtp/default.nix6
-rw-r--r--pkgs/development/libraries/libmusicbrainz/5.x.nix6
-rw-r--r--pkgs/development/libraries/libmusicbrainz/default.nix6
-rw-r--r--pkgs/development/libraries/libnatspec/default.nix6
-rw-r--r--pkgs/development/libraries/libnetfilter_queue/default.nix6
-rw-r--r--pkgs/development/libraries/libnice/default.nix5
-rw-r--r--pkgs/development/libraries/libnotify/default.nix5
-rw-r--r--pkgs/development/libraries/libnova/default.nix9
-rw-r--r--pkgs/development/libraries/liboauth/default.nix1
-rw-r--r--pkgs/development/libraries/libofa/default.nix5
-rw-r--r--pkgs/development/libraries/liboggz/default.nix6
-rw-r--r--pkgs/development/libraries/libpcap/default.nix1
-rw-r--r--pkgs/development/libraries/librdf/redland.nix6
-rw-r--r--pkgs/development/libraries/msgpack/generic.nix2
-rw-r--r--pkgs/development/libraries/nghttp2/default.nix9
-rw-r--r--pkgs/development/libraries/nlohmann_json/default.nix2
-rw-r--r--pkgs/development/libraries/range-v3/default.nix4
-rw-r--r--pkgs/development/libraries/sqlite/default.nix2
-rw-r--r--pkgs/development/libraries/wcslib/default.nix4
-rw-r--r--pkgs/development/libraries/zlib/default.nix2
-rw-r--r--pkgs/development/python-modules/paho-mqtt/default.nix29
-rw-r--r--pkgs/development/python-modules/sasmodels/default.nix8
-rw-r--r--pkgs/development/python-modules/voluptuous-serialize/default.nix16
-rw-r--r--pkgs/development/tools/analysis/snowman/default.nix4
-rw-r--r--pkgs/development/tools/global-platform-pro/default.nix43
-rw-r--r--pkgs/development/tools/go2nix/default.nix4
-rw-r--r--pkgs/development/tools/hcloud/default.nix7
-rw-r--r--pkgs/development/tools/hcloud/deps.nix102
-rw-r--r--pkgs/development/tools/misc/awf/default.nix4
-rw-r--r--pkgs/development/tools/misc/cquery/default.nix8
-rw-r--r--pkgs/development/tools/ocaml/dune/default.nix4
-rw-r--r--pkgs/development/tools/rust/cbindgen/default.nix6
-rw-r--r--pkgs/development/tools/unity3d/default.nix111
-rw-r--r--pkgs/games/anki/default.nix14
-rw-r--r--pkgs/games/warmux/default.nix39
-rw-r--r--pkgs/games/warmux/gcc-fix.patch51
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.18.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix83
-rw-r--r--pkgs/servers/home-assistant/default.nix24
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rw-r--r--pkgs/servers/http/jetty/default.nix4
-rw-r--r--pkgs/servers/openafs/1.6/module.nix6
-rw-r--r--pkgs/servers/openafs/1.6/srcs.nix6
-rw-r--r--pkgs/servers/openafs/1.8/cross-build.patch223
-rw-r--r--pkgs/servers/openafs/1.8/default.nix12
-rw-r--r--pkgs/servers/openafs/1.8/module.nix6
-rw-r--r--pkgs/servers/openafs/1.8/srcs.nix6
-rw-r--r--pkgs/servers/trezord/default.nix4
-rw-r--r--pkgs/servers/x11/xorg/default.nix1270
-rw-r--r--pkgs/servers/x11/xorg/extra.list2
-rwxr-xr-xpkgs/servers/x11/xorg/generate-expr-from-tarballs.pl63
-rw-r--r--pkgs/servers/x11/xorg/old.list2
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix531
-rw-r--r--pkgs/servers/x11/xorg/tarballs-7.7.list6
-rw-r--r--pkgs/shells/zsh/default.nix11
-rw-r--r--pkgs/stdenv/generic/make-derivation.nix12
-rw-r--r--pkgs/tools/backup/btrbk/default.nix4
-rw-r--r--pkgs/tools/compression/brotli/default.nix4
-rw-r--r--pkgs/tools/misc/bat/default.nix13
-rw-r--r--pkgs/tools/networking/curl/7_59.nix6
-rw-r--r--pkgs/tools/networking/curl/default.nix6
-rw-r--r--pkgs/tools/networking/eternal-terminal/default.nix12
-rw-r--r--pkgs/tools/package-management/xbps/default.nix8
-rw-r--r--pkgs/tools/security/monkeysphere/default.nix14
-rw-r--r--pkgs/tools/security/nmap/default.nix10
-rw-r--r--pkgs/tools/text/html-tidy/default.nix3
-rw-r--r--pkgs/tools/video/bento4/default.nix30
-rw-r--r--pkgs/top-level/all-packages.nix33
-rw-r--r--pkgs/top-level/python-packages.nix21
-rw-r--r--pkgs/top-level/splice.nix4
168 files changed, 3432 insertions, 2527 deletions
diff --git a/doc/languages-frameworks/coq.xml b/doc/languages-frameworks/coq.xml
index d5f2574039f2..640b04c7da9d 100644
--- a/doc/languages-frameworks/coq.xml
+++ b/doc/languages-frameworks/coq.xml
@@ -11,10 +11,9 @@
  </para>
 
  <para>
-  Some libraries require OCaml and sometimes also Camlp5 or findlib. The exact
-  versions that were used to build Coq are saved in the
-  <literal>coq.ocaml</literal> and <literal>coq.camlp5</literal> and
-  <literal>coq.findlib</literal> attributes.
+  Some extensions (plugins) might require OCaml and sometimes other OCaml
+  packages. The <literal>coq.ocamlPackages</literal> attribute can be used
+  to depend on the same package set Coq was built against.
  </para>
 
  <para>
diff --git a/lib/licenses.nix b/lib/licenses.nix
index c370af346791..611e6ddb35b7 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -585,6 +585,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
     fullName = "Ruby License";
   };
 
+  sendmail = spdx {
+    spdxId = "Sendmail";
+    fullName = "Sendmail License";
+  };
+
   sgi-b-20 = spdx {
     spdxId = "SGI-B-2.0";
     fullName = "SGI Free Software License B v2.0";
diff --git a/lib/systems/default.nix b/lib/systems/default.nix
index 5eacc9eb23e1..8f5ef44ae72f 100644
--- a/lib/systems/default.nix
+++ b/lib/systems/default.nix
@@ -46,6 +46,25 @@ rec {
       # Misc boolean options
       useAndroidPrebuilt = false;
       useiOSPrebuilt = false;
+
+      # Output from uname
+      uname = {
+        # uname -s
+        system = {
+          "linux" = "Linux";
+          "windows" = "Windows";
+          "darwin" = "Darwin";
+          "netbsd" = "NetBSD";
+          "freebsd" = "FreeBSD";
+          "openbsd" = "OpenBSD";
+        }.${final.parsed.kernel.name} or null;
+
+         # uname -p
+         processor = final.parsed.cpu.name;
+
+         # uname -r
+         release = null;
+      };
     } // mapAttrs (n: v: v final.parsed) inspect.predicates
       // args;
   in assert final.useAndroidPrebuilt -> final.isAndroid;
diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix
index a00165db1716..58677c0bdd90 100644
--- a/lib/systems/doubles.nix
+++ b/lib/systems/doubles.nix
@@ -15,6 +15,8 @@ let
 
     "x86_64-cygwin" "x86_64-darwin" "x86_64-freebsd" "x86_64-linux"
     "x86_64-netbsd" "x86_64-openbsd" "x86_64-solaris"
+
+    "x86_64-windows" "i686-windows"
   ];
 
   allParsed = map parse.mkSystemFromString all;
@@ -37,12 +39,13 @@ in rec {
   darwin  = filterDoubles predicates.isDarwin;
   freebsd = filterDoubles predicates.isFreeBSD;
   # Should be better, but MinGW is unclear.
-  gnu     = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; });
+  gnu     = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; }) ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnueabi; }) ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnueabihf; });
   illumos = filterDoubles predicates.isSunOS;
   linux   = filterDoubles predicates.isLinux;
   netbsd  = filterDoubles predicates.isNetBSD;
   openbsd = filterDoubles predicates.isOpenBSD;
   unix    = filterDoubles predicates.isUnix;
+  windows = filterDoubles predicates.isWindows;
 
   mesaPlatforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux" "powerpc64le-linux"];
 }
diff --git a/lib/tests/systems.nix b/lib/tests/systems.nix
index 91604280e4e7..5e1293658215 100644
--- a/lib/tests/systems.nix
+++ b/lib/tests/systems.nix
@@ -12,20 +12,21 @@ let
     expected = lib.sort lib.lessThan y;
   };
 in with lib.systems.doubles; lib.runTests {
-  all = assertTrue (mseteq all (linux ++ darwin ++ cygwin ++ freebsd ++ openbsd ++ netbsd ++ illumos));
+  testall = mseteq all (linux ++ darwin ++ freebsd ++ openbsd ++ netbsd ++ illumos ++ windows);
 
-  arm = assertTrue (mseteq arm [ "armv5tel-linux" "armv6l-linux" "armv7l-linux" ]);
-  i686 = assertTrue (mseteq i686 [ "i686-linux" "i686-freebsd" "i686-netbsd" "i686-openbsd" "i686-cygwin" ]);
-  mips = assertTrue (mseteq mips [ "mipsel-linux" ]);
-  x86_64 = assertTrue (mseteq x86_64 [ "x86_64-linux" "x86_64-darwin" "x86_64-freebsd" "x86_64-openbsd" "x86_64-netbsd" "x86_64-cygwin" "x86_64-solaris" ]);
+  testarm = mseteq arm [ "armv5tel-linux" "armv6l-linux" "armv7l-linux" ];
+  testi686 = mseteq i686 [ "i686-linux" "i686-freebsd" "i686-netbsd" "i686-openbsd" "i686-cygwin" "i686-windows" ];
+  testmips = mseteq mips [ "mipsel-linux" ];
+  testx86_64 = mseteq x86_64 [ "x86_64-linux" "x86_64-darwin" "x86_64-freebsd" "x86_64-openbsd" "x86_64-netbsd" "x86_64-cygwin" "x86_64-solaris" "x86_64-windows" ];
 
-  cygwin = assertTrue (mseteq cygwin [ "i686-cygwin" "x86_64-cygwin" ]);
-  darwin = assertTrue (mseteq darwin [ "x86_64-darwin" ]);
-  freebsd = assertTrue (mseteq freebsd [ "i686-freebsd" "x86_64-freebsd" ]);
-  gnu = assertTrue (mseteq gnu (linux /* ++ kfreebsd ++ ... */));
-  illumos = assertTrue (mseteq illumos [ "x86_64-solaris" ]);
-  linux = assertTrue (mseteq linux [ "i686-linux" "x86_64-linux" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux" "mipsel-linux" ]);
-  netbsd = assertTrue (mseteq netbsd [ "i686-netbsd" "x86_64-netbsd" ]);
-  openbsd = assertTrue (mseteq openbsd [ "i686-openbsd" "x86_64-openbsd" ]);
-  unix = assertTrue (mseteq unix (linux ++ darwin ++ freebsd ++ openbsd ++ netbsd ++ illumos));
+  testcygwin = mseteq cygwin [ "i686-cygwin" "x86_64-cygwin" ];
+  testdarwin = mseteq darwin [ "x86_64-darwin" ];
+  testfreebsd = mseteq freebsd [ "i686-freebsd" "x86_64-freebsd" ];
+  testgnu = mseteq gnu (linux /* ++ kfreebsd ++ ... */);
+  testillumos = mseteq illumos [ "x86_64-solaris" ];
+  testlinux = mseteq linux [ "i686-linux" "x86_64-linux" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux" "mipsel-linux" ];
+  testnetbsd = mseteq netbsd [ "i686-netbsd" "x86_64-netbsd" ];
+  testopenbsd = mseteq openbsd [ "i686-openbsd" "x86_64-openbsd" ];
+  testwindows = mseteq windows [ "i686-cygwin" "x86_64-cygwin" "i686-windows" "x86_64-windows" ];
+  testunix = mseteq unix (linux ++ darwin ++ freebsd ++ openbsd ++ netbsd ++ illumos ++ cygwin);
 }
diff --git a/nixos/modules/services/network-filesystems/openafs/client.nix b/nixos/modules/services/network-filesystems/openafs/client.nix
index 52c0966e05bc..240c1392088f 100644
--- a/nixos/modules/services/network-filesystems/openafs/client.nix
+++ b/nixos/modules/services/network-filesystems/openafs/client.nix
@@ -149,11 +149,13 @@ in
       packages = {
         module = mkOption {
           default = config.boot.kernelPackages.openafs;
+          defaultText = "config.boot.kernelPackages.openafs";
           type = types.package;
           description = "OpenAFS kernel module package. MUST match the userland package!";
         };
         programs = mkOption {
           default = getBin pkgs.openafs;
+          defaultText = "config.boot.kernelPackages.openafs";
           type = types.package;
           description = "OpenAFS programs package. MUST match the kernel module package!";
         };
diff --git a/nixos/modules/services/network-filesystems/openafs/server.nix b/nixos/modules/services/network-filesystems/openafs/server.nix
index 4c80ed0839f7..095024d2c8af 100644
--- a/nixos/modules/services/network-filesystems/openafs/server.nix
+++ b/nixos/modules/services/network-filesystems/openafs/server.nix
@@ -80,6 +80,7 @@ in {
 
       package = mkOption {
         default = pkgs.openafs.server or pkgs.openafs;
+        defaultText = "pkgs.openafs.server or pkgs.openafs";
         type = types.package;
         description = "OpenAFS package for the server binaries";
       };
diff --git a/nixos/modules/services/networking/tinc.nix b/nixos/modules/services/networking/tinc.nix
index 35cdddc590b8..3379efd1afce 100644
--- a/nixos/modules/services/networking/tinc.nix
+++ b/nixos/modules/services/networking/tinc.nix
@@ -148,14 +148,6 @@ in
         }
       ));
 
-    networking.interfaces = flip mapAttrs' cfg.networks (network: data: nameValuePair
-      ("tinc.${network}")
-      ({
-        virtual = true;
-        virtualType = "${data.interfaceType}";
-      })
-    );
-
     systemd.services = flip mapAttrs' cfg.networks (network: data: nameValuePair
       ("tinc.${network}")
       ({
diff --git a/nixos/modules/services/x11/compton.nix b/nixos/modules/services/x11/compton.nix
index 8641c05de52e..cafd8d88ec4d 100644
--- a/nixos/modules/services/x11/compton.nix
+++ b/nixos/modules/services/x11/compton.nix
@@ -238,6 +238,12 @@ in {
       description = "Compton composite manager";
       wantedBy = [ "graphical-session.target" ];
       partOf = [ "graphical-session.target" ];
+
+      # Temporarily fixes corrupt colours with Mesa 18
+      environment = mkIf (cfg.backend == "glx") {
+        allow_rgb10_configs = "false";
+      };
+
       serviceConfig = {
         ExecStart = "${cfg.package}/bin/compton --config ${configFile}";
         RestartSec = 3;
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index 297e36311656..070a02473437 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -631,6 +631,8 @@ in
       ]
       ++ optional (elem "virtualbox" cfg.videoDrivers) xorg.xrefresh;
 
+    environment.pathsToLink = [ "/share/X11" ];
+
     xdg = { 
       autostart.enable = true;
       menus.enable = true;
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index 2b3b09d725c7..8f8c9e23e13e 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -74,7 +74,7 @@ let
   importLib = {zpoolCmd, awkCmd, cfgZfs}: ''
     poolReady() {
       pool="$1"
-      state="$("${zpoolCmd}" import | "${awkCmd}" "/pool: $pool/ { found = 1 }; /state:/ { if (found == 1) { print \$2; exit } }; END { if (found == 0) { print \"MISSING\" } }")"
+      state="$("${zpoolCmd}" import 2>/dev/null | "${awkCmd}" "/pool: $pool/ { found = 1 }; /state:/ { if (found == 1) { print \$2; exit } }; END { if (found == 0) { print \"MISSING\" } }")"
       if [[ "$state" = "ONLINE" ]]; then
         return 0
       else
diff --git a/nixos/modules/virtualisation/kvmgt.nix b/nixos/modules/virtualisation/kvmgt.nix
index fc0bedb68bd0..132815a0ad63 100644
--- a/nixos/modules/virtualisation/kvmgt.nix
+++ b/nixos/modules/virtualisation/kvmgt.nix
@@ -50,11 +50,17 @@ in {
       nameValuePair "kvmgt-${name}" {
         description = "KVMGT VGPU ${name}";
         serviceConfig = {
-          Type = "oneshot";
+          Type = "forking";
           RemainAfterExit = true;
+          Restart = "on-failure";
+          RestartSec = 5;
           ExecStart = "${pkgs.runtimeShell} -c 'echo ${value.uuid} > /sys/bus/pci/devices/${cfg.device}/mdev_supported_types/${name}/create'";
           ExecStop = "${pkgs.runtimeShell} -c 'echo 1 > /sys/bus/pci/devices/${cfg.device}/${value.uuid}/remove'";
         };
+        unitConfig = {
+          StartLimitBurst = 5;
+          StartLimitIntervalSec = 30;
+        };
         wantedBy = [ "multi-user.target" ];
       }
     ) cfg.vgpus;
diff --git a/pkgs/applications/altcoins/parity/beta.nix b/pkgs/applications/altcoins/parity/beta.nix
index fc772246cfc1..b2c9fdfd1eeb 100644
--- a/pkgs/applications/altcoins/parity/beta.nix
+++ b/pkgs/applications/altcoins/parity/beta.nix
@@ -1,7 +1,9 @@
 let
-  version     = "2.0.3";
-  sha256      = "1yf3ln4ksk8613kqkpsh16cj8xwx761q6czy57rs8kfh7pgc2pzb";
-  cargoSha256 = "1jayk4ngwbg0rv7x1slkl2z46czgy2hnfcxc0dhaz4xpbp2bjqq8";
-  patches     = [ ./patches/vendored-sources-2.0.patch ];
+  version     = "2.1.3";
+  sha256      = "0il18r229r32jzwsjksp8cc63rp6cf6c0j5dvbfzrnv1zndw0cg3";
+  cargoSha256 = "08dyb0lgf66zfq9xmfkhcn6rj070d49dm0rjl3v39sfag6sryz20";
+  patches     = [
+    ./patches/vendored-sources-2.1.patch
+  ];
 in
   import ./parity.nix { inherit version sha256 cargoSha256 patches; }
diff --git a/pkgs/applications/altcoins/parity/default.nix b/pkgs/applications/altcoins/parity/default.nix
index 234364e73364..b0286bf65837 100644
--- a/pkgs/applications/altcoins/parity/default.nix
+++ b/pkgs/applications/altcoins/parity/default.nix
@@ -1,7 +1,7 @@
 let
-  version     = "1.11.10";
-  sha256      = "15sk6dvc8h1bdm6v7xlq517km0bakb9f13h1n7ixj311vahnmk15";
-  cargoSha256 = "0p2idd36cyzp2ax81k533bdma4hz0ws2981qj2s7jnhvmj4941l8";
-  patches     = [ ./patches/vendored-sources-1.11.patch ];
+  version     = "2.0.8";
+  sha256      = "1bz6dvx8wxhs3g447s62d9091sard2x7w2zd6iy7hf76wg0p73hr";
+  cargoSha256 = "0wj93md87fr7a9ag73h0rd9xxqscl0lhbj3g3kvnqrqz9xxajing";
+  patches     = [ ./patches/vendored-sources-2.0.patch ];
 in
   import ./parity.nix { inherit version sha256 cargoSha256 patches; }
diff --git a/pkgs/applications/altcoins/parity/patches/vendored-sources-1.11.patch b/pkgs/applications/altcoins/parity/patches/vendored-sources-2.1.patch
index 733f6880ad9d..4af536cdf3cf 100644
--- a/pkgs/applications/altcoins/parity/patches/vendored-sources-1.11.patch
+++ b/pkgs/applications/altcoins/parity/patches/vendored-sources-2.1.patch
@@ -1,8 +1,8 @@
 diff --git a/.cargo/config b/.cargo/config
-index 72652ad2f..57c5c2f8f 100644
+index 72652ad2f..3c0eca89a 100644
 --- a/.cargo/config
 +++ b/.cargo/config
-@@ -1,3 +1,108 @@
+@@ -1,3 +1,78 @@
  [target.x86_64-pc-windows-msvc]
  # Link the C runtime statically ; https://github.com/paritytech/parity/issues/6643
  rustflags = ["-Ctarget-feature=+crt-static"]
@@ -12,19 +12,9 @@ index 72652ad2f..57c5c2f8f 100644
 +branch = "master"
 +replace-with = "vendored-sources"
 +
-+[source."https://github.com/js-dist-paritytech/parity-master-1-10-shell.git"]
-+git = "https://github.com/js-dist-paritytech/parity-master-1-10-shell.git"
-+rev = "bd25b41cd642c6b822d820dded3aa601a29aa079"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/js-dist-paritytech/parity-master-1-10-wallet.git"]
-+git = "https://github.com/js-dist-paritytech/parity-master-1-10-wallet.git"
-+rev = "4b6f112412716cd05123d32eeb7fda448288a6c6"
-+replace-with = "vendored-sources"
-+
 +[source."https://github.com/nikvolf/parity-tokio-ipc"]
 +git = "https://github.com/nikvolf/parity-tokio-ipc"
-+branch = "master"
++rev = "7c9bbe3bc45d8e72a92b0951acc877da228abd50"
 +replace-with = "vendored-sources"
 +
 +[source."https://github.com/nikvolf/tokio-named-pipes"]
@@ -32,16 +22,6 @@ index 72652ad2f..57c5c2f8f 100644
 +branch = "master"
 +replace-with = "vendored-sources"
 +
-+[source."https://github.com/parity-js/dapp-wallet.git"]
-+git = "https://github.com/parity-js/dapp-wallet.git"
-+rev = "65deb02e7c007a0fd8aab0c089c93e3fd1de6f87"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/parity-js/shell.git"]
-+git = "https://github.com/parity-js/shell.git"
-+rev = "eecaadcb9e421bce31e91680d14a20bbd38f92a2"
-+replace-with = "vendored-sources"
-+
 +[source."https://github.com/paritytech/app-dirs-rs"]
 +git = "https://github.com/paritytech/app-dirs-rs"
 +branch = "master"
@@ -87,21 +67,11 @@ index 72652ad2f..57c5c2f8f 100644
 +branch = "master"
 +replace-with = "vendored-sources"
 +
-+[source."https://github.com/paritytech/rust-rocksdb"]
-+git = "https://github.com/paritytech/rust-rocksdb"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
 +[source."https://github.com/paritytech/rust-secp256k1"]
 +git = "https://github.com/paritytech/rust-secp256k1"
 +branch = "master"
 +replace-with = "vendored-sources"
 +
-+[source."https://github.com/paritytech/rust-snappy"]
-+git = "https://github.com/paritytech/rust-snappy"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
 +[source."https://github.com/paritytech/trezor-sys"]
 +git = "https://github.com/paritytech/trezor-sys"
 +branch = "master"
diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix
index ec9122406993..e999672f4ab3 100644
--- a/pkgs/applications/audio/lollypop/default.nix
+++ b/pkgs/applications/audio/lollypop/default.nix
@@ -4,7 +4,7 @@
 , gobjectIntrospection, wrapGAppsHook }:
 
 python3.pkgs.buildPythonApplication rec  {
-  version = "0.9.604";
+  version = "0.9.605";
   name = "lollypop-${version}";
 
   format = "other";
@@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec  {
     url = "https://gitlab.gnome.org/World/lollypop";
     rev = "refs/tags/${version}";
     fetchSubmodules = true;
-    sha256 = "0pfljs5q0xzqll6dybslin4nr7w18bn1yi0xn79vh44zn3l0r8q4";
+    sha256 = "10d9k7ssh4snrrjy1hb3y39by6175493cmn50aq88xby2mdy3p74";
   };
 
   nativeBuildInputs = with python3.pkgs; [
diff --git a/pkgs/applications/audio/mixxx/default.nix b/pkgs/applications/audio/mixxx/default.nix
index 28e29850606a..a5582f908fc0 100644
--- a/pkgs/applications/audio/mixxx/default.nix
+++ b/pkgs/applications/audio/mixxx/default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchFromGitHub, makeWrapper, chromaprint, fetchpatch
 , fftw, flac, faad2, glibcLocales, mp4v2
 , libid3tag, libmad, libopus, libshout, libsndfile, libusb1, libvorbis
+, opusfile
 , pkgconfig, portaudio, portmidi, protobuf, qt4, rubberband, scons, sqlite
 , taglib, upower, vampSDK
 }:
@@ -20,7 +21,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     chromaprint fftw flac faad2 glibcLocales mp4v2 libid3tag libmad libopus libshout libsndfile
-    libusb1 libvorbis pkgconfig portaudio portmidi protobuf qt4
+    libusb1 libvorbis opusfile pkgconfig portaudio portmidi protobuf qt4
     rubberband scons sqlite taglib upower vampSDK
   ];
 
@@ -28,6 +29,7 @@ stdenv.mkDerivation rec {
     "build=release"
     "qtdir=${qt4}"
     "faad=1"
+    "opus=1"
   ];
 
   buildPhase = ''
diff --git a/pkgs/applications/audio/radiotray-ng/default.nix b/pkgs/applications/audio/radiotray-ng/default.nix
index 82bc42143c67..6f7ce9048c4c 100644
--- a/pkgs/applications/audio/radiotray-ng/default.nix
+++ b/pkgs/applications/audio/radiotray-ng/default.nix
@@ -40,13 +40,13 @@ let
 in
 stdenv.mkDerivation rec {
   name = "radiotray-ng-${version}";
-  version = "0.2.3";
+  version = "0.2.4";
 
   src = fetchFromGitHub {
     owner = "ebruck";
     repo = "radiotray-ng";
     rev = "v${version}";
-    sha256 = "1sq7bc0dswv3vv56w527z268ib0pyhdxyf25388vnj1fv0c146wc";
+    sha256 = "1jk80fv8ivwdx7waivls0mczn0rx4wv0fy7a28k77m88i5gkfgyw";
   };
 
   nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook makeWrapper ];
diff --git a/pkgs/applications/editors/vscode/default.nix b/pkgs/applications/editors/vscode/default.nix
index b8a717fc0e70..8d5dca0a3454 100644
--- a/pkgs/applications/editors/vscode/default.nix
+++ b/pkgs/applications/editors/vscode/default.nix
@@ -2,7 +2,7 @@
   gtk2, wrapGAppsHook, libXScrnSaver, libxkbfile, libsecret }:
 
 let
-  version = "1.28.0";
+  version = "1.28.2";
   channel = "stable";
 
   plat = {
@@ -12,9 +12,9 @@ let
   }.${stdenv.hostPlatform.system};
 
   sha256 = {
-    "i686-linux" = "0f54py00lmw96x47nk823gwxxc9kr9haaa821ggi974ycr54af0y";
-    "x86_64-linux" = "07bbzm1159k2gkajj6z7dsr0kmadd5gx721w92r252i5hcwg5sx4";
-    "x86_64-darwin" = "019cl2rswls3gwwa8y70cllc4jnd8xj0y2m9rvg2rz695snp6rcm";
+    "i686-linux" = "13zgx80qzq1wvss3byh56rvp2bdxywc4xmhhljsqrxf17g86g2zr";
+    "x86_64-linux" = "1z50hkr9mcf76hlr1jb80nbvpxbpm2bh0l63yh9yqpalmz66xbfy";
+    "x86_64-darwin" = "0n7lavpylg1q89qa64z4z1v7pgmwb2kidc57cgpvjnhjg8idys33";
   }.${stdenv.hostPlatform.system};
 
   archive_fmt = if stdenv.hostPlatform.system == "x86_64-darwin" then "zip" else "tar.gz";
diff --git a/pkgs/applications/graphics/openimageio/default.nix b/pkgs/applications/graphics/openimageio/default.nix
index bc669e9e1a01..1980f470435b 100644
--- a/pkgs/applications/graphics/openimageio/default.nix
+++ b/pkgs/applications/graphics/openimageio/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "openimageio-${version}";
-  version = "1.8.14";
+  version = "1.8.15";
 
   src = fetchFromGitHub {
     owner = "OpenImageIO";
     repo = "oiio";
     rev = "Release-${version}";
-    sha256 = "07axn7bziy9h5jawpwcchag0nkczivaajsw69mxgmr508gw9r0xn";
+    sha256 = "0fbl5rzmip5q155lfsr07n65dnhww1kw97masps1i1x40gq15czx";
   };
 
   outputs = [ "bin" "out" "dev" "doc" ];
diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix
index 2f61ba683f3f..d2427d95c19d 100644
--- a/pkgs/applications/misc/gpxsee/default.nix
+++ b/pkgs/applications/misc/gpxsee/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "gpxsee-${version}";
-  version = "5.18";
+  version = "6.2";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = version;
-    sha256 = "0dl10fr881b8fwf2yj14bd6gagb8hm0s46q18y2y56rw98nk4vrq";
+    sha256 = "13hd6n5mzkk4nx9v9dwg8vvixr73zjba72h6vmxvz9fmywc4rs5p";
   };
 
   nativeBuildInputs = [ qmake ];
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 51618a479d42..686e8fadec34 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -18,6 +18,8 @@ let
   callPackage = newScope chromium;
 
   chromium = {
+    inherit stdenv;
+  
     upstream-info = (callPackage ./update.nix {}).getChannel channel;
 
     mkChromiumDerivation = callPackage ./common.nix {
diff --git a/pkgs/applications/networking/browsers/eolie/default.nix b/pkgs/applications/networking/browsers/eolie/default.nix
index 1f7ed9732bc7..91b1099bfb86 100644
--- a/pkgs/applications/networking/browsers/eolie/default.nix
+++ b/pkgs/applications/networking/browsers/eolie/default.nix
@@ -5,7 +5,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   name = "eolie-${version}";
-  version = "0.9.41";
+  version = "0.9.45";
 
   format = "other";
   doCheck = false;
@@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec {
     url = "https://gitlab.gnome.org/World/eolie";
     rev = "refs/tags/${version}";
     fetchSubmodules = true;
-    sha256 = "0qrbgyzhvh96d7h2rcz04m7am6av30pcvb3fwlrjx0c402rslsx8";
+    sha256 = "0x6f2qqqxpjf28mqxs4jlrz2z8wa9nvb9h24nf8qwmzavjjbraqg";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix
index 96aa037d35bf..e823977db204 100644
--- a/pkgs/applications/networking/remote/remmina/default.nix
+++ b/pkgs/applications/networking/remote/remmina/default.nix
@@ -1,16 +1,18 @@
 { stdenv, fetchFromGitLab, cmake, pkgconfig, wrapGAppsHook
-, glib, gtk3, gettext, libxkbfile, libgnome-keyring, libX11
+, glib, gtk3, gettext, libxkbfile, libX11
 , freerdp, libssh, libgcrypt, gnutls, makeDesktopItem
-, pcre, webkitgtk, libdbusmenu-gtk3, libappindicator-gtk3
+, pcre, libdbusmenu-gtk3, libappindicator-gtk3
 , libvncserver, libpthreadstubs, libXdmcp, libxkbcommon
-, libsecret, spice-protocol, spice-gtk, epoxy, at-spi2-core
+, libsecret, libsoup, spice-protocol, spice-gtk, epoxy, at-spi2-core
 , openssl, gsettings-desktop-schemas, json-glib
 # The themes here are soft dependencies; only icons are missing without them.
 , hicolor-icon-theme, adwaita-icon-theme
+, gnomeSupport ? true, libgnome-keyring
 }:
 
+with stdenv.lib;
+
 let
-  version = "1.2.32";
 
   desktopItem = makeDesktopItem {
     name = "remmina";
@@ -22,8 +24,9 @@ let
     categories = "GTK;GNOME;X-GNOME-NetworkSettings;Network;";
   };
 
-in stdenv.mkDerivation {
+in stdenv.mkDerivation rec {
   name = "remmina-${version}";
+  version = "1.2.32";
 
   src = fetchFromGitLab {
     owner  = "Remmina";
@@ -33,13 +36,21 @@ in stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake wrapGAppsHook gsettings-desktop-schemas
-                  glib gtk3 gettext libxkbfile libgnome-keyring libX11
-                  freerdp libssh libgcrypt gnutls
-                  pcre webkitgtk libdbusmenu-gtk3 libappindicator-gtk3
-                  libvncserver libpthreadstubs libXdmcp libxkbcommon
-                  libsecret spice-protocol spice-gtk epoxy at-spi2-core
-                  openssl hicolor-icon-theme adwaita-icon-theme json-glib ];
+  buildInputs = [
+    cmake wrapGAppsHook gsettings-desktop-schemas
+    glib gtk3 gettext libxkbfile libX11
+    freerdp libssh libgcrypt gnutls
+    pcre libdbusmenu-gtk3 libappindicator-gtk3
+    libvncserver libpthreadstubs libXdmcp libxkbcommon
+    libsecret libsoup spice-protocol spice-gtk epoxy at-spi2-core
+    openssl hicolor-icon-theme adwaita-icon-theme json-glib
+  ]
+  ++ optional gnomeSupport libgnome-keyring;
+
+  preConfigure = optionalString (!gnomeSupport) ''
+    substituteInPlace CMakeLists.txt \
+      --replace "add_subdirectory(remmina-plugins-gnome)" ""
+  '';
 
   cmakeFlags = [
     "-DWITH_VTE=OFF"
@@ -62,7 +73,7 @@ in stdenv.mkDerivation {
     cp ${desktopItem}/share/applications/* $out/share/applications
   '';
 
-  meta = with stdenv.lib; {
+  meta = {
     license = stdenv.lib.licenses.gpl2;
     homepage = https://gitlab.com/Remmina/Remmina;
     description = "Remote desktop client written in GTK+";
diff --git a/pkgs/applications/networking/sync/rclone/browser.nix b/pkgs/applications/networking/sync/rclone/browser.nix
new file mode 100644
index 000000000000..4325c8ea88ae
--- /dev/null
+++ b/pkgs/applications/networking/sync/rclone/browser.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, cmake, qtbase }:
+
+stdenv.mkDerivation rec {
+  name = "rclone-browser-${version}";
+  version = "1.2";
+
+  src = fetchFromGitHub {
+    owner = "mmozeiko";
+    repo = "RcloneBrowser";
+    rev = version;
+    sha256 = "1ldradd5c606mfkh46y4mhcvf9kbjhamw0gahksp9w43h5dh3ir7";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ qtbase ];
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Graphical Frontend to Rclone written in Qt";
+    license = licenses.unlicense;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/applications/networking/znc/default.nix b/pkgs/applications/networking/znc/default.nix
index ca5624d5b73f..861e7d24275d 100644
--- a/pkgs/applications/networking/znc/default.nix
+++ b/pkgs/applications/networking/znc/default.nix
@@ -3,6 +3,7 @@
 , withPython ? false, python3
 , withTcl ? false, tcl
 , withCyrus ? true, cyrus_sasl
+, withUnicode ? true, icu
 }:
 
 with stdenv.lib;
@@ -22,7 +23,8 @@ stdenv.mkDerivation rec {
     ++ optional withPerl perl
     ++ optional withPython python3
     ++ optional withTcl tcl
-    ++ optional withCyrus cyrus_sasl;
+    ++ optional withCyrus cyrus_sasl
+    ++ optional withUnicode icu;
 
   configureFlags = [
     (stdenv.lib.enableFeature withPerl "perl")
diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix
index e4f0cb8d0b1a..3f664006cd0f 100644
--- a/pkgs/applications/science/electronics/gtkwave/default.nix
+++ b/pkgs/applications/science/electronics/gtkwave/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gtkwave-${version}";
-  version = "3.3.94";
+  version = "3.3.95";
 
   src = fetchurl {
     url    = "mirror://sourceforge/gtkwave/${name}.tar.gz";
-    sha256 = "1v14sdd4lykly6szal6ky79b0s5pv6f1xifk5mkqkg5bkpjq71fg";
+    sha256 = "1999wnipah1ncvjzjf95pfdrvgq1kd6hli8xlaj2hfjka8pamfaf";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index 23f1ff85edf0..040d722f9410 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -37,6 +37,8 @@ self = stdenv.mkDerivation {
 
   passthru = {
     inherit coq-version;
+    inherit ocamlPackages;
+    # For compatibility
     inherit (ocamlPackages) ocaml camlp5 findlib num;
     emacsBufferSetup = pkgs: ''
       ; Propagate coq paths to children
diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix
index 1ccc365498ce..58609e856c3b 100644
--- a/pkgs/applications/science/logic/why3/default.nix
+++ b/pkgs/applications/science/logic/why3/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "why3-${version}";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchurl {
-    url    = https://gforge.inria.fr/frs/download.php/file/37604/why3-1.0.0.tar.gz;
-    sha256 = "18h00diw1c051v7ya0lv09ns5630qi9savwffx0652mcc4b4qpxn";
+    url    = https://gforge.inria.fr/frs/download.php/file/37767/why3-1.1.0.tar.gz;
+    sha256 = "199ziq8mv3r24y3dd1n2r8k2gy09p7kdyyhkg9qn1vzfd2fxwzc1";
   };
 
   buildInputs = (with ocamlPackages; [
diff --git a/pkgs/applications/science/math/sage/env-locations.nix b/pkgs/applications/science/math/sage/env-locations.nix
index 288ffd6e0e1a..098ce3925cf3 100644
--- a/pkgs/applications/science/math/sage/env-locations.nix
+++ b/pkgs/applications/science/math/sage/env-locations.nix
@@ -38,6 +38,7 @@ writeTextFile rec {
     export COMBINATORIAL_DESIGN_DATA_DIR="${combinatorial_designs}/share/combinatorial_designs"
     export CREMONA_MINI_DATA_DIR="${elliptic_curves}/share/cremona"
     export JMOL_DIR="${jmol}"
+    export JSMOL_DIR="${jmol}/share/jsmol"
     export MATHJAX_DIR="${mathjax}/lib/node_modules/mathjax"
     export THREEJS_DIR="${three}/lib/node_modules/three"
     export SAGE_INCLUDE_DIRECTORIES="${cysignals}/lib/python2.7/site-packages"
diff --git a/pkgs/applications/science/math/sage/patches/dochtml-optional.patch b/pkgs/applications/science/math/sage/patches/dochtml-optional.patch
deleted file mode 100644
index a51e30312ed9..000000000000
--- a/pkgs/applications/science/math/sage/patches/dochtml-optional.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-diff --git a/src/doc/common/conf.py b/src/doc/common/conf.py
-index 25f94f7b7d..9f6139ea4a 100644
---- a/src/doc/common/conf.py
-+++ b/src/doc/common/conf.py
-@@ -622,9 +622,9 @@ def call_intersphinx(app, env, node, contnode):
-     Check that the link from the thematic tutorials to the reference
-     manual is relative, see :trac:`20118`::
- 
--        sage: from sage.env import SAGE_DOC
--        sage: thematic_index = os.path.join(SAGE_DOC, "html", "en", "thematic_tutorials", "index.html")
--        sage: for line in open(thematic_index).readlines():
-+        sage: from sage.env import SAGE_DOC  # optional - dochtml
-+        sage: thematic_index = os.path.join(SAGE_DOC, "html", "en", "thematic_tutorials", "index.html")  # optional - dochtml
-+        sage: for line in open(thematic_index).readlines():  # optional - dochtml
-         ....:     if "padics" in line:
-         ....:         sys.stdout.write(line)
-         <li><a class="reference external" href="../reference/padics/sage/rings/padics/tutorial.html#sage-rings-padics-tutorial" title="(in Sage Reference Manual: p-Adics ...)"><span>Introduction to the -adics</span></a></li>
-diff --git a/src/sage/doctest/control.py b/src/sage/doctest/control.py
-index 4236fd05e0..8e499cbaf7 100644
---- a/src/sage/doctest/control.py
-+++ b/src/sage/doctest/control.py
-@@ -87,7 +87,7 @@ class DocTestDefaults(SageObject):
-         self.sagenb = False
-         self.long = False
-         self.warn_long = None
--        self.optional = set(['sage']) | auto_optional_tags
-+        self.optional = set(['sage', 'dochtml']) | auto_optional_tags
-         self.randorder = None
-         self.global_iterations = 1  # sage-runtests default is 0
-         self.file_iterations = 1    # sage-runtests default is 0
-@@ -343,7 +343,8 @@ class DocTestController(SageObject):
-                     if not optionaltag_regex.search(o):
-                         raise ValueError('invalid optional tag {!r}'.format(o))
- 
--                options.optional |= auto_optional_tags
-+                if "sage" in options.optional:
-+                    options.optional |= auto_optional_tags
- 
-         self.options = options
-         self.files = args
-@@ -741,7 +742,7 @@ class DocTestController(SageObject):
-             sage: DC = DocTestController(DD, [dirname])
-             sage: DC.expand_files_into_sources()
-             sage: sorted(DC.sources[0].options.optional)  # abs tol 1
--            ['guava', 'magma', 'py3']
-+            ['guava', 'magma']
- 
-         We check that files are skipped appropriately::
- 
-@@ -968,7 +969,7 @@ class DocTestController(SageObject):
-             sage: from sage.doctest.control import DocTestDefaults, DocTestController
-             sage: DC = DocTestController(DocTestDefaults(), [])
-             sage: DC._optional_tags_string()
--            'sage'
-+            'dochtml,sage'
-             sage: DC = DocTestController(DocTestDefaults(optional="all,and,some,more"), [])
-             sage: DC._optional_tags_string()
-             'all'
-diff --git a/src/sage/misc/sagedoc.py b/src/sage/misc/sagedoc.py
-index 9255aa848f..cc4712d3ec 100644
---- a/src/sage/misc/sagedoc.py
-+++ b/src/sage/misc/sagedoc.py
-@@ -18,9 +18,9 @@ TESTS:
- Check that argspecs of extension function/methods appear correctly,
- see :trac:`12849`::
- 
--    sage: from sage.env import SAGE_DOC
--    sage: docfilename = os.path.join(SAGE_DOC, 'html', 'en', 'reference', 'calculus', 'sage', 'symbolic', 'expression.html')
--    sage: with open(docfilename) as fobj:
-+    sage: from sage.env import SAGE_DOC  # optional - dochtml
-+    sage: docfilename = os.path.join(SAGE_DOC, 'html', 'en', 'reference', 'calculus', 'sage', 'symbolic', 'expression.html')  # optional - dochtml
-+    sage: with open(docfilename) as fobj:  # optional - dochtml
-     ....:     for line in fobj:
-     ....:         if "#sage.symbolic.expression.Expression.numerical_approx" in line:
-     ....:             print(line)
-@@ -790,11 +790,12 @@ def _search_src_or_doc(what, string, extra1='', extra2='', extra3='',
- 
-     ::
- 
--        sage: len(_search_src_or_doc('src', r'matrix\(', 'incidence_structures', 'self', 'combinat', interact=False).splitlines()) > 1
-+        sage: from sage.misc.sagedoc import _search_src_or_doc  # optional - dochtml
-+        sage: len(_search_src_or_doc('src', r'matrix\(', 'incidence_structures', 'self', 'combinat', interact=False).splitlines()) > 1  # optional - dochtml
-         True
--        sage: 'abvar/homology' in _search_src_or_doc('doc', 'homology', 'variety', interact=False)  # long time (4s on sage.math, 2012)
-+        sage: 'abvar/homology' in _search_src_or_doc('doc', 'homology', 'variety', interact=False)  # optional - dochtml, long time (4s on sage.math, 2012)
-         True
--        sage: 'divisors' in _search_src_or_doc('src', '^ *def prime', interact=False)
-+        sage: 'divisors' in _search_src_or_doc('src', '^ *def prime', interact=False)  # optional - dochtml
-         True
-     """
-     # process keywords
-@@ -1160,9 +1161,9 @@ def search_doc(string, extra1='', extra2='', extra3='', extra4='',
-     counting the length of ``search_doc('tree',
-     interact=False).splitlines()`` gives the number of matches. ::
- 
--        sage: len(search_doc('tree', interact=False).splitlines()) > 4000  # long time
-+        sage: len(search_doc('tree', interact=False).splitlines()) > 4000  # optional - dochtml, long time
-         True
--        sage: len(search_doc('tree', whole_word=True, interact=False).splitlines()) < 2000  # long time
-+        sage: len(search_doc('tree', whole_word=True, interact=False).splitlines()) < 2000  # optional - dochtml, long time
-         True
-     """
-     return _search_src_or_doc('doc', string, extra1=extra1, extra2=extra2,
-@@ -1332,9 +1333,9 @@ class _sage_doc:
- 
-     EXAMPLES::
- 
--        sage: browse_sage_doc._open("reference", testing=True)[0]  # indirect doctest
-+        sage: browse_sage_doc._open("reference", testing=True)[0]  # optional - dochtml, indirect doctest
-         'http://localhost:8000/doc/live/reference/index.html'
--        sage: browse_sage_doc(identity_matrix, 'rst')[-107:-47]
-+        sage: browse_sage_doc(identity_matrix, 'rst')[-107:-47]  # optional - dochtml
-         'Full MatrixSpace of 3 by 3 sparse matrices over Integer Ring'
-     """
-     def __init__(self):
-@@ -1494,9 +1495,9 @@ class _sage_doc:
- 
-         EXAMPLES::
- 
--            sage: browse_sage_doc._open("reference", testing=True)[0]
-+            sage: browse_sage_doc._open("reference", testing=True)[0]  # optional - dochtml
-             'http://localhost:8000/doc/live/reference/index.html'
--            sage: browse_sage_doc._open("tutorial", testing=True)[1]
-+            sage: browse_sage_doc._open("tutorial", testing=True)[1]  # optional - dochtml
-             '.../html/en/tutorial/index.html'
-         """
-         url = self._base_url + os.path.join(name, "index.html")
diff --git a/pkgs/applications/science/math/sage/patches/eclib-20180710.patch b/pkgs/applications/science/math/sage/patches/eclib-20180710.patch
index d06e1e6cedf2..986ae42aeb62 100644
--- a/pkgs/applications/science/math/sage/patches/eclib-20180710.patch
+++ b/pkgs/applications/science/math/sage/patches/eclib-20180710.patch
@@ -14,27 +14,3 @@ index 4417b59276..ae57ca2991 100644
      """
      global instances
      try:
-diff --git a/src/sage/libs/eclib/wrap.cpp b/src/sage/libs/eclib/wrap.cpp
-index 5fd5693b53..d12468faa8 100644
---- a/src/sage/libs/eclib/wrap.cpp
-+++ b/src/sage/libs/eclib/wrap.cpp
-@@ -133,8 +133,8 @@ char* Curvedata_isogeny_class(struct Curvedata* E, int verbose)
- 
- 
- int mw_process(struct Curvedata* curve, struct mw* m,
--                      const struct bigint* x, const struct bigint* y,
--                      const struct bigint* z, int sat)
-+                      const bigint* x, const bigint* y,
-+                      const bigint* z, int sat)
- {
-   Point P(*curve, *x, *y, *z);
-   if (!P.isvalid())
-@@ -188,7 +188,7 @@ int mw_rank(struct mw* m)
- }
- 
- /* Returns index and unsat long array, which user must deallocate */
--int mw_saturate(struct mw* m, struct bigint* index, char** unsat,
-+int mw_saturate(struct mw* m, bigint* index, char** unsat,
-                        long sat_bd, int odd_primes_only)
- {
-   vector<long> v;
diff --git a/pkgs/applications/science/math/sage/patches/pari-no-threads.patch b/pkgs/applications/science/math/sage/patches/pari-no-threads.patch
deleted file mode 100644
index 13b47dbdd31b..000000000000
--- a/pkgs/applications/science/math/sage/patches/pari-no-threads.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/src/sage/libs/pari/__init__.py b/src/sage/libs/pari/__init__.py
-index e451766474..77eda66097 100644
---- a/src/sage/libs/pari/__init__.py
-+++ b/src/sage/libs/pari/__init__.py
-@@ -205,6 +205,13 @@ def _get_pari_instance():
-     # messages in Sage.
-     P.default("debugmem", 0)
- 
-+    # Make sure pari doesn't use threads, regardless of how it was compiled.
-+    # Threads cause some doctest failures (memory issues). Those could probably
-+    # be solved without disabling threads. But that would require figuring out
-+    # some sensible values for `threadsizemax`. See
-+    # https://pari.math.u-bordeaux.fr/dochtml/html/GP_defaults.html
-+    P.default("nbthreads", 1)
-+
-     return P
- 
- pari = _get_pari_instance()
diff --git a/pkgs/applications/science/math/sage/patches/singular-4.1.1p2.patch b/pkgs/applications/science/math/sage/patches/singular-4.1.1p2.patch
deleted file mode 100644
index 4c8df92904ed..000000000000
--- a/pkgs/applications/science/math/sage/patches/singular-4.1.1p2.patch
+++ /dev/null
@@ -1,274 +0,0 @@
-diff --git a/src/sage/interfaces/singular.py b/src/sage/interfaces/singular.py
-index 9d65c9fa6c..a028bbe719 100644
---- a/src/sage/interfaces/singular.py
-+++ b/src/sage/interfaces/singular.py
-@@ -654,7 +654,7 @@ class Singular(ExtraTabCompletion, Expect):
- 
-         s = Expect.eval(self, x, **kwds)
- 
--        if s.find("error") != -1 or s.find("Segment fault") != -1:
-+        if s.find("error occurred") != -1 or s.find("Segment fault") != -1:
-             raise SingularError('Singular error:\n%s'%s)
- 
-         if get_verbose() > 0:
-@@ -1079,7 +1079,7 @@ class Singular(ExtraTabCompletion, Expect):
-             sage: S = singular.ring('real', '(a,b)', 'lp')
-             sage: singular.current_ring()
-             polynomial ring, over a field, global ordering
--            //   coefficients: float
-+            //   coefficients: Float()
-             //   number of vars : 2
-             //        block   1 : ordering lp
-             //                  : names    a b
-@@ -1157,7 +1157,7 @@ class Singular(ExtraTabCompletion, Expect):
-              sage: singular._tab_completion()
-              ['exteriorPower',
-               ...
--              'flintZ']
-+              'crossprod']
-          """
-         p = re.compile("// *([a-z0-9A-Z_]*).*") #compiles regular expression
-         proclist = self.eval("listvar(proc)").splitlines()
-@@ -1183,7 +1183,7 @@ class Singular(ExtraTabCompletion, Expect):
-         EXAMPLES::
- 
-             sage: singular.version()
--            "Singular ... version 4.1.0 ...
-+            "Singular ... version 4...
-         """
-         return singular_version()
- 
-@@ -1562,7 +1562,7 @@ class SingularElement(ExtraTabCompletion, ExpectElement):
-         elif charstr[0] in ['0', 'QQ']:
-             from sage.all import QQ
-             br = QQ
--        elif charstr[0]=='real':
-+        elif charstr[0].startswith('Float'):
-             from sage.all import RealField, ceil, log
-             prec = singular.eval('ringlist(basering)[1][2][1]')
-             br = RealField(ceil((ZZ(prec)+1)/log(2,10)))
-@@ -1750,7 +1750,7 @@ class SingularElement(ExtraTabCompletion, ExpectElement):
- 
-         # Singular 4 puts parentheses around floats and sign outside them
-         charstr = self.parent().eval('charstr(basering)').split(',',1)
--        if charstr[0] in ['real', 'complex']:
-+        if charstr[0]=='complex' or charstr[0].startswith('Float'):
-               for i in range(coeff_start, 2 * coeff_start):
-                   singular_poly_list[i] = singular_poly_list[i].replace('(','').replace(')','')
- 
-@@ -1992,7 +1992,7 @@ class SingularElement(ExtraTabCompletion, ExpectElement):
-             sage: S = singular.ring('real', '(a,b)', 'lp')
-             sage: singular.current_ring()
-             polynomial ring, over a field, global ordering
--            //   coefficients: float
-+            //   coefficients: Float()
-             //   number of vars : 2
-             //        block   1 : ordering lp
-             //                  : names    a b
-@@ -2072,7 +2072,7 @@ class SingularElement(ExtraTabCompletion, ExpectElement):
-             sage: R._tab_completion()
-             ['exteriorPower',
-              ...
--             'flintZ']
-+             'crossprod']
-         """
-         return self.parent()._tab_completion()
- 
-@@ -2358,7 +2358,7 @@ def singular_version():
-     EXAMPLES::
- 
-         sage: singular.version()
--        "Singular ... version 4.1.0 ...
-+        "Singular ... version 4...
-     """
-     return singular.eval('system("--version");')
- 
-diff --git a/src/sage/libs/singular/decl.pxd b/src/sage/libs/singular/decl.pxd
-index 4b658c4807..d863740419 100644
---- a/src/sage/libs/singular/decl.pxd
-+++ b/src/sage/libs/singular/decl.pxd
-@@ -170,7 +170,7 @@ cdef extern from "singular/Singular/libsingular.h":
- 
-     int n_NumberOfParameters(const n_Procs_s* r)
- 
--    ctypedef struct poly "polyrec":
-+    ctypedef struct poly "spolyrec":
-         poly *next
-         number *coef
-         unsigned long exp[1]
-@@ -630,9 +630,13 @@ cdef extern from "singular/Singular/libsingular.h":
-     # return p*q, destroys p and q
-     poly *p_Mult_q(poly *p, poly *q, ring *r)
- 
-+    # polynomial division, ignoring the rest
-+    # via singclap_pdivide resp. idLift, destroys p,q
-+    poly *p_Divide(poly *p, poly *q, ring *r)
-+
-     # divide monomial p by monomial q, p,q const
- 
--    poly *pDivide(poly *p,poly *q)
-+    poly *pMDivide(poly *p,poly *q)
- 
-     # return the i-th power of p; p destroyed, requires global ring
- 
-diff --git a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
-index 2a8d9ae021..aeff53af6c 100644
---- a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
-+++ b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
-@@ -190,8 +190,8 @@ from sage.libs.singular.decl cimport (
-     n_IsUnit, n_Invers,
-     p_ISet, rChangeCurrRing, p_Copy, p_Init, p_SetCoeff, p_Setm, p_SetExp, p_Add_q,
-     p_NSet, p_GetCoeff, p_Delete, p_GetExp, pNext, rRingVar, omAlloc0, omStrDup,
--    omFree, pDivide, p_SetCoeff0, n_Init, p_DivisibleBy, pLcm, p_LmDivisibleBy,
--    pDivide, p_IsConstant, p_ExpVectorEqual, p_String, p_LmInit, n_Copy,
-+    omFree, pMDivide, p_Divide, p_SetCoeff0, n_Init, p_DivisibleBy, pLcm, p_LmDivisibleBy,
-+    pMDivide, p_IsConstant, p_ExpVectorEqual, p_String, p_LmInit, n_Copy,
-     p_IsUnit, p_Series, p_Head, idInit, fast_map_common_subexp, id_Delete,
-     p_IsHomogeneous, p_Homogen, p_Totaldegree,pLDeg1_Totaldegree, singclap_pdivide, singclap_factorize,
-     idLift, IDELEMS, On, Off, SW_USE_CHINREM_GCD, SW_USE_EZGCD,
-@@ -1693,8 +1693,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
-         if not g._poly:
-             raise ZeroDivisionError
- 
--        if r!=currRing: rChangeCurrRing(r)  # pDivide
--        res = pDivide(f._poly, g._poly)
-+        if r!=currRing: rChangeCurrRing(r)  # pMDivide
-+        res = pMDivide(f._poly, g._poly)
-         if coeff:
-             if r.cf.type == n_unknown or r.cf.cfDivBy(p_GetCoeff(f._poly, r), p_GetCoeff(g._poly, r), r.cf):
-                 n = r.cf.cfDiv( p_GetCoeff(f._poly, r) , p_GetCoeff(g._poly, r), r.cf)
-@@ -1853,8 +1853,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
-                    and (<MPolynomial_libsingular>g) \
-                    and g.parent() is self \
-                    and p_LmDivisibleBy((<MPolynomial_libsingular>g)._poly, m, r):
--                if r!=currRing: rChangeCurrRing(r)  # pDivide
--                flt = pDivide(f._poly, (<MPolynomial_libsingular>g)._poly)
-+                if r!=currRing: rChangeCurrRing(r)  # pMDivide
-+                flt = pMDivide(f._poly, (<MPolynomial_libsingular>g)._poly)
-                 #p_SetCoeff(flt, n_Div( p_GetCoeff(f._poly, r) , p_GetCoeff((<MPolynomial_libsingular>g)._poly, r), r), r)
-                 p_SetCoeff(flt, n_Init(1, r), r)
-                 return new_MP(self,flt), g
-@@ -4023,16 +4023,6 @@ cdef class MPolynomial_libsingular(MPolynomial):
-             Traceback (most recent call last):
-             ...
-             NotImplementedError: Division of multivariate polynomials over non fields by non-monomials not implemented.
--
--        TESTS::
--
--            sage: P.<x,y> = ZZ[]
--            sage: p = 3*(-x^8*y^2 - x*y^9 + 6*x^8*y + 17*x^2*y^6 - x^3*y^2)
--            sage: q = 7*(x^2 + x*y + y^2 + 1)
--            sage: p*q//q == p
--            True
--            sage: p*q//p == q
--            True
-         """
-         cdef MPolynomialRing_libsingular parent = self._parent
-         cdef ring *r = self._parent_ring
-@@ -4052,13 +4042,18 @@ cdef class MPolynomial_libsingular(MPolynomial):
-         _right = <MPolynomial_libsingular>right
- 
-         if r.cf.type != n_unknown:
-+            if r.cf.type == n_Z:
-+                P = parent.change_ring(RationalField())
-+                f = P(self)//P(right)
-+                CM = list(f)
-+                return parent(sum([c.floor()*m for c,m in CM]))
-             if _right.is_monomial():
-                 p = _self._poly
-                 quo = p_ISet(0,r)
--                if r != currRing: rChangeCurrRing(r)   # pDivide
-+                if r != currRing: rChangeCurrRing(r)   # pMDivide
-                 while p:
-                     if p_DivisibleBy(_right._poly, p, r):
--                        temp = pDivide(p, _right._poly)
-+                        temp = pMDivide(p, _right._poly)
-                         p_SetCoeff0(temp, n_Copy(p_GetCoeff(p, r), r), r)
-                         quo = p_Add_q(quo, temp, r)
-                     p = pNext(p)
-@@ -4794,6 +4789,8 @@ cdef class MPolynomial_libsingular(MPolynomial):
-             sage: p = -x*y + x*z + 54*x - 2
-             sage: (5*p^2).lcm(3*p) == 15*p^2
-             True
-+            sage: lcm(2*x,2*x*y)
-+            2*x*y
-         """
-         cdef ring *_ring = self._parent_ring
-         cdef poly *ret
-@@ -4821,9 +4818,7 @@ cdef class MPolynomial_libsingular(MPolynomial):
-         if _ring!=currRing: rChangeCurrRing(_ring)  # singclap_gcd
-         gcd = singclap_gcd(p_Copy(self._poly, _ring), p_Copy(_g._poly, _ring), _ring )
-         prod = pp_Mult_qq(self._poly, _g._poly, _ring)
--        ret = singclap_pdivide(prod , gcd , _ring)
--        p_Delete(&prod, _ring)
--        p_Delete(&gcd, _ring)
-+        ret = p_Divide(prod, gcd, _ring)
-         if count >= 20:
-             sig_off()
-         return new_MP(self._parent, ret)
-@@ -4866,7 +4861,7 @@ cdef class MPolynomial_libsingular(MPolynomial):
-             sage: f.quo_rem(y)
-             (2*x^2, x + 1)
-             sage: f.quo_rem(3*x)
--            (2*x*y + 1, -4*x^2*y - 2*x + 1)
-+            (0, 2*x^2*y + x + 1)
- 
-         TESTS::
- 
-@@ -4888,7 +4883,7 @@ cdef class MPolynomial_libsingular(MPolynomial):
-         if right.is_zero():
-             raise ZeroDivisionError
- 
--        if not self._parent._base.is_field() and not is_IntegerRing(self._parent._base):
-+        if not self._parent._base.is_field():
-             py_quo = self//right
-             py_rem = self - right*py_quo
-             return py_quo, py_rem
-diff --git a/src/sage/rings/polynomial/plural.pyx b/src/sage/rings/polynomial/plural.pyx
-index d5439f7f08..ad20ebcca0 100644
---- a/src/sage/rings/polynomial/plural.pyx
-+++ b/src/sage/rings/polynomial/plural.pyx
-@@ -998,7 +998,7 @@ cdef class NCPolynomialRing_plural(Ring):
-         if not g._poly:
-             raise ZeroDivisionError
- 
--        res = pDivide(f._poly,g._poly)
-+        res = pMDivide(f._poly,g._poly)
-         if coeff:
-             if (r.cf.type == n_unknown) or r.cf.cfDivBy(p_GetCoeff(f._poly, r), p_GetCoeff(g._poly, r), r.cf):
-                 n = r.cf.cfDiv( p_GetCoeff(f._poly, r) , p_GetCoeff(g._poly, r), r.cf)
-@@ -1193,7 +1193,7 @@ cdef class NCPolynomialRing_plural(Ring):
-             if isinstance(g, NCPolynomial_plural) \
-                    and (<NCPolynomial_plural>g) \
-                    and p_LmDivisibleBy((<NCPolynomial_plural>g)._poly, m, r):
--                flt = pDivide(f._poly, (<NCPolynomial_plural>g)._poly)
-+                flt = pMDivide(f._poly, (<NCPolynomial_plural>g)._poly)
-                 #p_SetCoeff(flt, n_Div( p_GetCoeff(f._poly, r) , p_GetCoeff((<NCPolynomial_plural>g)._poly, r), r), r)
-                 p_SetCoeff(flt, n_Init(1, r), r)
-                 return new_NCP(self,flt), g
-diff --git a/src/sage/rings/polynomial/polynomial_singular_interface.py b/src/sage/rings/polynomial/polynomial_singular_interface.py
-index 9331169f8b..f753610fd3 100644
---- a/src/sage/rings/polynomial/polynomial_singular_interface.py
-+++ b/src/sage/rings/polynomial/polynomial_singular_interface.py
-@@ -81,8 +81,8 @@ class PolynomialRing_singular_repr:
-             sage: R.<x,y> = PolynomialRing(CC)
-             sage: singular(R)
-             polynomial ring, over a field, global ordering
--            //   coefficients: float[I](complex:15 digits, additional 0 digits)/(I^2+1)
--            //   number of vars : 2
-+            // coefficients: real[I](complex:15 digits, additional 0 digits)/(I^2+1)
-+            // number of vars : 2
-             //        block   1 : ordering dp
-             //                  : names    x y
-             //        block   2 : ordering C
-@@ -90,8 +90,8 @@ class PolynomialRing_singular_repr:
-             sage: R.<x,y> = PolynomialRing(RealField(100))
-             sage: singular(R)
-             polynomial ring, over a field, global ordering
--            //   coefficients: float
--            //   number of vars : 2
-+            // coefficients: Float()
-+            // number of vars : 2
-             //        block   1 : ordering dp
-             //                  : names    x y
-             //        block   2 : ordering C
diff --git a/pkgs/applications/science/math/sage/patches/spkg-scripts.patch b/pkgs/applications/science/math/sage/patches/spkg-scripts.patch
deleted file mode 100644
index 4d37998b288b..000000000000
--- a/pkgs/applications/science/math/sage/patches/spkg-scripts.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-commit f02714d4aea80e17cb8df62bab75d7c1a1b61a8e
-Author: Timo Kaufmann <timokau@zoho.com>
-Date:   Mon Jul 9 18:26:18 2018 +0200
-
-    Don't attempt to create dirs when showing pkg info
-    
-    The script dir cannot be assumed to be writeable after installation.
-
-diff --git a/build/bin/sage-spkg b/build/bin/sage-spkg
-index f3e02aeae5..190d558ad1 100755
---- a/build/bin/sage-spkg
-+++ b/build/bin/sage-spkg
-@@ -167,14 +167,6 @@ if [ -z "$SAGE_BUILD_DIR" ]; then
-     export SAGE_BUILD_DIR="$SAGE_LOCAL/var/tmp/sage/build"
- fi
- 
--for dir in "$SAGE_SPKG_INST" "$SAGE_SPKG_SCRIPTS"; do
--    mkdir -p "$dir"
--    if [ $? -ne 0 ]; then
--        error_msg "Error creating directory $dir"
--        exit 1
--    fi
--done
--
- 
- # Remove '.' from PYTHONPATH, which may also come from SAGE_PATH, to avoid
- # trouble with setuptools / easy_install (cf. #10192, #10176):
-@@ -563,11 +555,13 @@ fi
- # Setup directories
- ##################################################################
- 
--mkdir -p "$SAGE_BUILD_DIR"
--if [ $? -ne 0 ]; then
--    error_msg "Error creating directory $SAGE_BUILD_DIR"
--    exit 1
--fi
-+for dir in "$SAGE_SPKG_INST" "$SAGE_SPKG_SCRIPTS" "$SAGE_BUILD_DIR"; do
-+    mkdir -p "$dir"
-+    if [ $? -ne 0 ]; then
-+        error_msg "Error creating directory $dir"
-+        exit 1
-+    fi
-+done
- 
- # Trac #5852: check write permissions
- if [ ! -w "$SAGE_BUILD_DIR" ]; then
diff --git a/pkgs/applications/science/math/sage/patches/test-in-tmpdir.patch b/pkgs/applications/science/math/sage/patches/test-in-tmpdir.patch
deleted file mode 100644
index febab3702771..000000000000
--- a/pkgs/applications/science/math/sage/patches/test-in-tmpdir.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/src/sage/repl/ipython_kernel/install.py b/src/sage/repl/ipython_kernel/install.py
-index aa23c8405d..8a87de0591 100644
---- a/src/sage/repl/ipython_kernel/install.py
-+++ b/src/sage/repl/ipython_kernel/install.py
-@@ -112,7 +112,7 @@ class SageKernelSpec(object):
-         EXAMPLES::
- 
-             sage: from sage.repl.ipython_kernel.install import SageKernelSpec
--            sage: spec = SageKernelSpec()
-+            sage: spec = SageKernelSpec(prefix = tmp_dir())
-             sage: spec.use_local_mathjax()
-             sage: mathjax = os.path.join(spec.nbextensions_dir, 'mathjax')
-             sage: os.path.isdir(mathjax)
-@@ -129,7 +129,7 @@ class SageKernelSpec(object):
-         EXAMPLES::
- 
-             sage: from sage.repl.ipython_kernel.install import SageKernelSpec
--            sage: spec = SageKernelSpec()
-+            sage: spec = SageKernelSpec(prefix = tmp_dir())
-             sage: spec.use_local_jsmol()
-             sage: jsmol = os.path.join(spec.nbextensions_dir, 'jsmol')
-             sage: os.path.isdir(jsmol)
-@@ -146,7 +146,7 @@ class SageKernelSpec(object):
-         EXAMPLES::
- 
-             sage: from sage.repl.ipython_kernel.install import SageKernelSpec
--            sage: spec = SageKernelSpec()
-+            sage: spec = SageKernelSpec(prefix = tmp_dir())
-             sage: spec.use_local_threejs()
-             sage: threejs = os.path.join(spec.nbextensions_dir, 'threejs')
-             sage: os.path.isdir(threejs)
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
index f74da33f4026..f217a7a0caed 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -3,35 +3,17 @@
 , fetchpatch
 }:
 stdenv.mkDerivation rec {
-  version = "8.3";
+  version = "8.4";
   name = "sage-src-${version}";
 
   src = fetchFromGitHub {
     owner = "sagemath";
     repo = "sage";
     rev = version;
-    sha256 = "0mbm99m5xry21xpi4q3q96gx392liwbifywf5awvl0j85a7rkfyx";
+    sha256 = "0gips1hagiz9m7s21bg5as8hrrm2x5k47h1bsq0pc46iplfwmv2d";
   };
 
   nixPatches = [
-    # https://trac.sagemath.org/ticket/25809
-    ./patches/spkg-scripts.patch
-
-    # https://trac.sagemath.org/ticket/25309
-    (fetchpatch {
-      name = "spkg-paths.patch";
-      url = "https://git.sagemath.org/sage.git/patch/?h=97f06fddee920399d4fcda65aa9b0925774aec69&id=a86151429ccce1ddd085e8090ada8ebdf02f3310";
-      sha256 = "1xb9108rzzkdhn71vw44525620d3ww9jv1fph5a77v9y7nf9wgr7";
-    })
-    (fetchpatch {
-      name = "maxima-fas.patch";
-      url = "https://git.sagemath.org/sage.git/patch/?h=97f06fddee920399d4fcda65aa9b0925774aec69";
-      sha256 = "14s50yg3hpw9cp3v581dx7zfmpm2j972im7x30iwki8k45mjvk3i";
-    })
-
-    # https://trac.sagemath.org/ticket/25722
-    ./patches/test-in-tmpdir.patch
-
     # https://trac.sagemath.org/ticket/25358
     (fetchpatch {
       name = "safe-directory-test-without-patch.patch";
@@ -45,46 +27,9 @@ stdenv.mkDerivation rec {
     # https://trac.sagemath.org/ticket/25316
     # https://github.com/python/cpython/pull/7476
     ./patches/python-5755-hotpatch.patch
-
-    # https://trac.sagemath.org/ticket/25315
-    (fetchpatch {
-      name = "find-libraries-in-dyld-library-path.patch";
-      url = "https://git.sagemath.org/sage.git/patch/?h=20d4593876ce9c6004eac2ab6fd61786d0d96a06";
-      sha256 = "1k3afq3qlzmgqwx6rzs5wv153vv9dsf5rk8pi61g57l3r3npbjmc";
-    })
-
-    # https://trac.sagemath.org/ticket/25345
-    # (upstream patch doesn't apply on 8.2 source)
-    ./patches/dochtml-optional.patch
-
-    # work with pari with threads enabled at compile time (disable them at runtime)
-    # https://trac.sagemath.org/ticket/26002
-    ./patches/pari-no-threads.patch
   ];
 
   packageUpgradePatches = [
-    (fetchpatch {
-      name = "cypari2-1.2.1.patch";
-      url = "https://git.sagemath.org/sage.git/patch/?h=62fe6eb15111327d930336d4252d5b23cbb22ab9";
-      sha256 = "1xax7vvs8h4xip16xcsp47xdb6lig6f2r3pl8cksvlz8lhgbyxh2";
-    })
-
-    # matplotlib 2.2.2 deprecated `normed` (replaced by `density`).
-    # This patch only ignores the warning. It would be equally easy to fix it
-    # (by replacing all mentions of `normed` by `density`), but its better to
-    # stay close to sage upstream. I didn't open an upstream ticket about it
-    # because the matplotlib update also requires a new dependency (kiwisolver)
-    # and I don't want to invest the time to learn how to add it.
-    ./patches/matplotlib-normed-deprecated.patch
-
-    # Update to 20171219 broke the doctests because of insignificant precision
-    # changes, make the doctests less fragile.
-    # I didn't open an upstream ticket because its not entirely clear if
-    # 20171219 is really "released" yet. It is listed on the github releases
-    # page, but not marked as "latest release" and the homepage still links to
-    # the last version.
-    ./patches/eclib-regulator-precision.patch
-
     # New glpk version has new warnings, filter those out until upstream sage has found a solution
     # https://trac.sagemath.org/ticket/24824
     ./patches/pari-stackwarn.patch # not actually necessary since tha pari upgrade, but necessary for the glpk patch to apply
@@ -94,66 +39,15 @@ stdenv.mkDerivation rec {
       stripLen = 1;
     })
 
-    (fetchpatch {
-      name = "matplotlib-2.2.2";
-      url = "https://git.sagemath.org/sage.git/patch?id=0d6244ed53b71aba861ce3d683d33e542c0bf0b0";
-      sha256 = "15x4cadxxlsdfh2sblgagqjj6ir13fgdzixxnwnvzln60saahb34";
-    })
-
-    (fetchpatch {
-      name = "scipy-1.1.0";
-      url = "https://git.sagemath.org/sage.git/patch?id=e0db968a51678b34ebd8d34906c7042900272378";
-      sha256 = "0kq5zxqphhrmavrmg830wdr7hwp1bkzdqlf3jfqfr8r8xq12qwf7";
-    })
-
     # https://trac.sagemath.org/ticket/25260
     ./patches/numpy-1.15.1.patch
 
-    # https://trac.sagemath.org/ticket/25862
-    ./patches/eclib-20180710.patch
-
-    # https://trac.sagemath.org/ticket/24735
-    ./patches/singular-4.1.1p2.patch
-
-    # https://trac.sagemath.org/ticket/25567 and dependency #25635
-    (fetchpatch {
-      name = "pari-upgrade-dependency.patch";
-      url = "https://git.sagemath.org/sage.git/patch/?id=6995e7cae1b3476ad0145f8dfc897cf91f0c3c4d";
-      sha256 = "1dvhabl1c9pwd9xkjvbjjg15mvb14b24p1f3cby1mlqk34d4lrs6";
-    })
-    (fetchpatch {
-      name = "pari-2.11.0.patch";
-      url = "https://git.sagemath.org/sage.git/patch/?id=7af4748cab37d651eaa88be501db88f4a5ffc584";
-      sha256 = "13f740ly3c19gcmhjngiycvmc3mcfj61y00i6jv0wmfgpm2z3ank";
-    })
-
     # ntl upgrade
     (fetchpatch {
       name = "lcalc-c++11.patch";
       url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/sagemath-lcalc-c++11.patch?h=packages/sagemath&id=0e31ae526ab7c6b5c0bfacb3f8b1c4fd490035aa";
       sha256 = "0p5wnvbx65i7cp0bjyaqgp4rly8xgnk12pqwaq3dqby0j2bk6ijb";
     })
-
-    # cddlib 0.94i -> 0.94j
-    (fetchpatch {
-      name = "cddlib-0.94j.patch";
-      url = "https://git.sagemath.org/sage.git/patch/?id=2ab1546b3e21d1d0ab3b4fcd58576848b3a2d888";
-      sha256 = "1c5gnasq7y9xxj762bn79bis0zi8d9bgg7jzlf64ifixsrc5cymb";
-    })
-
-    # arb 2.13.0 -> 2.14.0
-    (fetchpatch {
-      name = "arb-2.14.0.patch";
-      url = "https://git.sagemath.org/sage.git/patch?id2=8.4.beta0&id=8bef4fd2876a61969b516fe4eb3b8ad7cc076c5e";
-      sha256 = "00p3hfsfn3w2vxgd9fjd23mz7xfxjfravf8ysjxkyd657jbkpjmk";
-    })
-
-    # https://trac.sagemath.org/ticket/26117
-    (fetchpatch {
-      name = "sympy-1.2.patch";
-      url = "https://git.sagemath.org/sage.git/patch?id2=8.4.beta2&id=d94a0a3a3fb4aec05a6f4d95166d90c284f05c36";
-      sha256 = "0an2xl1pp3jg36kgg2m1vb7sns7rprk1h3d0qy1gxwdab6i7qnvi";
-    })
   ];
 
   patches = nixPatches ++ packageUpgradePatches ++ [
diff --git a/pkgs/applications/science/math/sage/sagelib.nix b/pkgs/applications/science/math/sage/sagelib.nix
index abcefba5e260..d26f5dad724e 100644
--- a/pkgs/applications/science/math/sage/sagelib.nix
+++ b/pkgs/applications/science/math/sage/sagelib.nix
@@ -47,6 +47,8 @@
 , singular
 , pip
 , jupyter_core
+, libhomfly
+, libbraiding
 }:
 
 buildPythonPackage rec {
@@ -109,6 +111,8 @@ buildPythonPackage rec {
     pip
     cython
     cysignals
+    libhomfly
+    libbraiding
   ];
 
   buildPhase = ''
diff --git a/pkgs/applications/science/misc/sasview/default.nix b/pkgs/applications/science/misc/sasview/default.nix
index bad29df9dc88..ed6fa3ae886b 100644
--- a/pkgs/applications/science/misc/sasview/default.nix
+++ b/pkgs/applications/science/misc/sasview/default.nix
@@ -17,7 +17,7 @@ in
 
 python.pkgs.buildPythonApplication rec {
   pname = "sasview";
-  version = "unstable-2018-05-05";
+  version = "4.2.0";
 
   checkInputs = with python.pkgs; [
     pytest
@@ -60,8 +60,8 @@ python.pkgs.buildPythonApplication rec {
   src = fetchFromGitHub {
     owner = "SasView";
     repo = "sasview";
-    rev = "de431924d0ddf73cfb952df88bd6661181947019";
-    sha256 = "01bk0i0g65yzyq16n1a61rgjna8rrc2i51x2ndf1z7khb1fl16vg";
+    rev = "v${version}";
+    sha256 = "0k3486h46k6406h0vla8h68fd78wh3dcaq5w6f12jh6g4cjxv9qa";
   };
 
   patches = [ ./pyparsing-fix.patch ./local_config.patch ];
diff --git a/pkgs/desktops/deepin/dde-polkit-agent/default.nix b/pkgs/desktops/deepin/dde-polkit-agent/default.nix
new file mode 100644
index 000000000000..71f9e9b0298e
--- /dev/null
+++ b/pkgs/desktops/deepin/dde-polkit-agent/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchFromGitHub, pkgconfig, qmake, qttools, polkit-qt,
+dtkcore, dtkwidget, dde-qt-dbus-factory }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "dde-polkit-agent";
+  version = "0.2.1";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    sha256 = "1n3hys5hhhd99ycpx4im6ihy53vl9c28z7ls7smn117h3ca4c8wc";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig
+    qmake
+    qttools
+  ];
+
+  buildInputs = [
+    dde-qt-dbus-factory
+    dtkcore
+    dtkwidget
+    polkit-qt
+  ];
+
+  postPatch = ''
+    patchShebangs .
+
+    sed -i dde-polkit-agent.pro polkit-dde-authentication-agent-1.desktop \
+      -e "s,/usr,$out,"
+
+    sed -i pluginmanager.cpp \
+      -e "s,/usr/lib/polkit-1-dde/plugins,/run/current-system/sw/lib/polkit-1-dde/plugins,"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "PolicyKit agent for Deepin Desktop Environment";
+    homepage = https://github.com/linuxdeepin/dde-polkit-agent;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/pkgs/desktops/deepin/deepin-movie-reborn/default.nix b/pkgs/desktops/deepin/deepin-movie-reborn/default.nix
new file mode 100644
index 000000000000..52a51c0db861
--- /dev/null
+++ b/pkgs/desktops/deepin/deepin-movie-reborn/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, qttools, qtx11extras,
+  dtkcore, dtkwidget, ffmpeg, ffmpegthumbnailer, mpv, pulseaudio,
+  libdvdnav, libdvdread, xorg }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "deepin-movie-reborn";
+  version = "3.2.10";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    sha256 = "0lqmbvl9yyxgkiipd9r8mgmxl2sm34l3gr3hkwlc7r2l6kc32933";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkgconfig
+    qttools
+  ];
+
+  buildInputs = [
+    dtkcore
+    dtkwidget
+    ffmpeg
+    ffmpegthumbnailer
+    libdvdnav
+    libdvdread
+    mpv
+    pulseaudio
+    qtx11extras
+    xorg.libXdmcp
+    xorg.libXtst
+    xorg.libpthreadstubs
+    xorg.xcbproto
+  ];
+
+  NIX_LDFLAGS = "-ldvdnav";
+
+  postPatch = ''
+    sed -i src/CMakeLists.txt -e "s,/usr/lib/dtk2,${dtkcore}/lib/dtk2,"
+    sed -i src/libdmr/libdmr.pc.in -e "s,/usr,$out," -e 's,libdir=''${prefix}/,libdir=,'
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Deepin movie player";
+    homepage = https://github.com/linuxdeepin/deepin-movie-reborn;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/pkgs/desktops/deepin/default.nix b/pkgs/desktops/deepin/default.nix
index 4e6530c2d18b..daee9e46255f 100644
--- a/pkgs/desktops/deepin/default.nix
+++ b/pkgs/desktops/deepin/default.nix
@@ -6,6 +6,7 @@ let
     dbus-factory = callPackage ./dbus-factory { };
     dde-api = callPackage ./dde-api { };
     dde-calendar = callPackage ./dde-calendar { };
+    dde-polkit-agent = callPackage ./dde-polkit-agent { };
     dde-qt-dbus-factory = callPackage ./dde-qt-dbus-factory { };
     deepin-desktop-base = callPackage ./deepin-desktop-base { };
     deepin-desktop-schemas = callPackage ./deepin-desktop-schemas { };
@@ -15,6 +16,7 @@ let
     deepin-image-viewer = callPackage ./deepin-image-viewer { };
     deepin-menu = callPackage ./deepin-menu { };
     deepin-metacity = callPackage ./deepin-metacity { };
+    deepin-movie-reborn = callPackage ./deepin-movie-reborn { };
     deepin-mutter = callPackage ./deepin-mutter { };
     deepin-shortcut-viewer = callPackage ./deepin-shortcut-viewer { };
     deepin-sound-theme = callPackage ./deepin-sound-theme { };
@@ -24,6 +26,7 @@ let
     };
     deepin-wallpapers = callPackage ./deepin-wallpapers { };
     deepin-wm = callPackage ./deepin-wm { };
+    dpa-ext-gnomekeyring = callPackage ./dpa-ext-gnomekeyring { };
     dtkcore = callPackage ./dtkcore { };
     dtkwm = callPackage ./dtkwm { };
     dtkwidget = callPackage ./dtkwidget { };
diff --git a/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix b/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix
new file mode 100644
index 000000000000..4aeba1b4c1bc
--- /dev/null
+++ b/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchFromGitHub, pkgconfig, qmake, qttools, gnome3, dde-polkit-agent }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "dpa-ext-gnomekeyring";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    sha256 = "168j42nwyw7vcgwc0fha2pjpwwlgir70fq1hns4ia1dkdqa1nhzw";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig
+    qmake
+    qttools
+  ];
+
+  buildInputs = [
+    dde-polkit-agent
+    gnome3.libgnome-keyring
+  ];
+
+  postPatch = ''
+    patchShebangs .
+
+    sed -i dpa-ext-gnomekeyring.pro gnomekeyringextention.cpp \
+      -e "s,/usr,$out,"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "GNOME keyring extension for dde-polkit-agent";
+    homepage = https://github.com/linuxdeepin/dpa-ext-gnomekeyring;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/gdm/default.nix b/pkgs/desktops/gnome-3/core/gdm/default.nix
index 388fa89acaab..761f6b34ec6b 100644
--- a/pkgs/desktops/gnome-3/core/gdm/default.nix
+++ b/pkgs/desktops/gnome-3/core/gdm/default.nix
@@ -58,6 +58,10 @@ stdenv.mkDerivation rec {
     # Forwards certain environment variables to the gdm-x-session child process
     # to ensure that the above two patches actually work.
     ./gdm-session-worker_forward-vars.patch
+
+    # Set up the environment properly when launching sessions
+    # https://github.com/NixOS/nixpkgs/issues/48255
+    ./reset-environment.patch
   ];
 
   installFlags = [
diff --git a/pkgs/desktops/gnome-3/core/gdm/reset-environment.patch b/pkgs/desktops/gnome-3/core/gdm/reset-environment.patch
new file mode 100644
index 000000000000..61defd9c4bc2
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gdm/reset-environment.patch
@@ -0,0 +1,20 @@
+--- a/daemon/gdm-wayland-session.c
++++ b/daemon/gdm-wayland-session.c
+@@ -285,6 +285,7 @@ spawn_session (State        *state,
+                                                     "WAYLAND_DISPLAY",
+                                                     "WAYLAND_SOCKET",
+                                                     "GNOME_SHELL_SESSION_MODE",
++                                                    "__NIXOS_SET_ENVIRONMENT_DONE",
+                                                     NULL };
+ 
+         g_debug ("Running wayland session");
+--- a/daemon/gdm-x-session.c
++++ b/daemon/gdm-x-session.c
+@@ -610,6 +610,7 @@ spawn_session (State        *state,
+                                                      "WAYLAND_DISPLAY",
+                                                      "WAYLAND_SOCKET",
+                                                      "GNOME_SHELL_SESSION_MODE",
++                                                     "__NIXOS_SET_ENVIRONMENT_DONE",
+                                                      NULL };
+ 
+         g_debug ("Running X session");
diff --git a/pkgs/desktops/plasma-5/breeze-qt5.nix b/pkgs/desktops/plasma-5/breeze-qt5.nix
index 1448bb40d78c..3f3222e05cdb 100644
--- a/pkgs/desktops/plasma-5/breeze-qt5.nix
+++ b/pkgs/desktops/plasma-5/breeze-qt5.nix
@@ -3,7 +3,7 @@
   extra-cmake-modules,
   frameworkintegration, kcmutils, kconfigwidgets, kcoreaddons, kdecoration,
   kguiaddons, ki18n, kwayland, kwindowsystem, plasma-framework, qtdeclarative,
-  qtx11extras
+  qtx11extras, fftw
 }:
 
 mkDerivation {
@@ -13,7 +13,7 @@ mkDerivation {
   propagatedBuildInputs = [
     frameworkintegration kcmutils kconfigwidgets kcoreaddons kdecoration
     kguiaddons ki18n kwayland kwindowsystem plasma-framework qtdeclarative
-    qtx11extras
+    qtx11extras fftw
   ];
   outputs = [ "bin" "dev" "out" ];
   cmakeFlags = [ "-DUSE_Qt4=OFF" ];
diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh
index fc1850b3c2a4..64907e6271d8 100644
--- a/pkgs/desktops/plasma-5/fetch.sh
+++ b/pkgs/desktops/plasma-5/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/plasma/5.13.5/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.14.0/ -A '*.tar.xz' )
diff --git a/pkgs/desktops/plasma-5/kde-gtk-config/patches/gsettings.patch b/pkgs/desktops/plasma-5/kde-gtk-config/patches/gsettings.patch
index b4bc89d59e9e..69f7bc4e56a0 100644
--- a/pkgs/desktops/plasma-5/kde-gtk-config/patches/gsettings.patch
+++ b/pkgs/desktops/plasma-5/kde-gtk-config/patches/gsettings.patch
@@ -1,11 +1,11 @@
-Index: kde-gtk-config-5.12.4/src/gtkconfigkcmodule.cpp
-===================================================================
---- kde-gtk-config-5.12.4.orig/src/gtkconfigkcmodule.cpp
-+++ kde-gtk-config-5.12.4/src/gtkconfigkcmodule.cpp
-@@ -78,6 +78,16 @@ GTKConfigKCModule::GTKConfigKCModule(QWi
-     m_iconsModel = new IconThemesModel(false, this);
-     ui->cb_icon->setModel(m_iconsModel);
-     ui->cb_icon_fallback->setModel(m_iconsModel);
+diff --git a/src/gtkconfigkcmodule.cpp b/src/gtkconfigkcmodule.cpp
+index 7b82d50..96831d8 100644
+--- a/src/gtkconfigkcmodule.cpp
++++ b/src/gtkconfigkcmodule.cpp
+@@ -91,6 +91,16 @@ GTKConfigKCModule::GTKConfigKCModule(QWidget* parent, const QVariantList& args )
+     iconsProxyModel->sort(0);
+     ui->cb_icon->setModel(iconsProxyModel);
+     ui->cb_icon_fallback->setModel(iconsProxyModel);
 +
 +    // Add GSETTINGS_SCHEMAS_PATH to the front of XDG_DATA_DIRS.
 +    // Normally this would be done by wrapGAppsHook, but this plugin
diff --git a/pkgs/desktops/plasma-5/plasma-integration/D9070.patch b/pkgs/desktops/plasma-5/plasma-integration/D9070.patch
deleted file mode 100644
index 66fef4712a7b..000000000000
--- a/pkgs/desktops/plasma-5/plasma-integration/D9070.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Index: src/platformtheme/kfontsettingsdata.cpp
-===================================================================
---- src/platformtheme/kfontsettingsdata.cpp
-+++ src/platformtheme/kfontsettingsdata.cpp
-@@ -70,15 +70,18 @@
-         const KFontData &fontData = DefaultFontData[fontType];
-         cachedFont = new QFont(QLatin1String(fontData.FontName), fontData.Size, fontData.Weight);
-         cachedFont->setStyleHint(fontData.StyleHint);
--        cachedFont->setStyleName(QLatin1String(fontData.StyleName));
- 
-         const KConfigGroup configGroup(mKdeGlobals, fontData.ConfigGroupKey);
-         QString fontInfo = configGroup.readEntry(fontData.ConfigKey, QString());
- 
-         //If we have serialized information for this font, restore it
-         //NOTE: We are not using KConfig directly because we can't call QFont::QFont from here
-         if (!fontInfo.isEmpty()) {
-             cachedFont->fromString(fontInfo);
-+        } else {
-+            // set the canonical stylename here, where it cannot override
-+            // user-specific font attributes if those do not include a stylename.
-+            cachedFont->setStyleName(QLatin1String(fontData.StyleName));
-         }
- 
-         mFonts[fontType] = cachedFont;
diff --git a/pkgs/desktops/plasma-5/plasma-integration/default.nix b/pkgs/desktops/plasma-5/plasma-integration/default.nix
index d33ecf050242..f69644287624 100644
--- a/pkgs/desktops/plasma-5/plasma-integration/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-integration/default.nix
@@ -14,11 +14,4 @@ mkDerivation {
     breeze-qt5 kconfig kconfigwidgets kiconthemes kio knotifications kwayland
     libXcursor qtquickcontrols2
   ];
-  patches = [
-    # See also: https://phabricator.kde.org/D9070
-    # ttuegel: The patch is checked into Nixpkgs because I could not get
-    # Phabricator to give me a stable link to it.
-    ./D9070.patch
-  ];
-  patchFlags = "-p0";
 }
diff --git a/pkgs/desktops/plasma-5/plasma-vault/cryfs-path.patch b/pkgs/desktops/plasma-5/plasma-vault/cryfs-path.patch
index b3f19c4e0025..6bab35fe4a97 100644
--- a/pkgs/desktops/plasma-5/plasma-vault/cryfs-path.patch
+++ b/pkgs/desktops/plasma-5/plasma-vault/cryfs-path.patch
@@ -1,17 +1,13 @@
 diff --git a/kded/engine/backends/cryfs/cryfsbackend.cpp b/kded/engine/backends/cryfs/cryfsbackend.cpp
-index f6ef54f..160034a 100644
+index 58a6929..7212980 100644
 --- a/kded/engine/backends/cryfs/cryfsbackend.cpp
 +++ b/kded/engine/backends/cryfs/cryfsbackend.cpp
-@@ -136,11 +136,10 @@ bool CryFsBackend::isInitialized(const Device &device) const
+@@ -241,7 +241,7 @@ QProcess *CryFsBackend::cryfs(const QStringList &arguments) const
+     auto config = KSharedConfig::openConfig(PLASMAVAULT_CONFIG_FILE);
+     KConfigGroup backendConfig(config, "CryfsBackend");
  
- QProcess *CryFsBackend::cryfs(const QStringList &arguments) const
- {
 -    return process("cryfs",
 +    return process(NIXPKGS_CRYFS,
-                    arguments,
+                    arguments + backendConfig.readEntry("extraMountOptions", QStringList{}),
                     { { "CRYFS_FRONTEND", "noninteractive" } });
  }
- 
- 
- } // namespace PlasmaVault
--
diff --git a/pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch b/pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch
index b494df55c5d0..e1c325e16934 100644
--- a/pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch
+++ b/pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch
@@ -1,16 +1,17 @@
 diff --git a/kded/engine/backends/encfs/encfsbackend.cpp b/kded/engine/backends/encfs/encfsbackend.cpp
-index 47bb237..4ff064d 100644
+index 628af7b..6edd38e 100644
 --- a/kded/engine/backends/encfs/encfsbackend.cpp
 +++ b/kded/engine/backends/encfs/encfsbackend.cpp
-@@ -132,17 +132,16 @@ bool EncFsBackend::isInitialized(const Device &device) const
+@@ -137,7 +137,7 @@ QProcess *EncFsBackend::encfs(const QStringList &arguments) const
+     auto config = KSharedConfig::openConfig(PLASMAVAULT_CONFIG_FILE);
+     KConfigGroup backendConfig(config, "EncfsBackend");
  
- QProcess *EncFsBackend::encfs(const QStringList &arguments) const
- {
--    return process("encfs", arguments, {});
-+    return process(NIXPKGS_ENCFS, arguments, {});
+-    return process("encfs",
++    return process(NIXPKGS_ENCFS,
+                    arguments + backendConfig.readEntry("extraMountOptions", QStringList{}),
+                    {});
  }
- 
- 
+@@ -146,7 +146,7 @@ QProcess *EncFsBackend::encfs(const QStringList &arguments) const
  
  QProcess *EncFsBackend::encfsctl(const QStringList &arguments) const
  {
@@ -19,6 +20,3 @@ index 47bb237..4ff064d 100644
  }
  
  
- 
- } // namespace PlasmaVault
--
diff --git a/pkgs/desktops/plasma-5/plasma-vault/fusermount-path.patch b/pkgs/desktops/plasma-5/plasma-vault/fusermount-path.patch
index cd1b736a103f..b2a7866531bf 100644
--- a/pkgs/desktops/plasma-5/plasma-vault/fusermount-path.patch
+++ b/pkgs/desktops/plasma-5/plasma-vault/fusermount-path.patch
@@ -1,8 +1,8 @@
 diff --git a/kded/engine/fusebackend_p.cpp b/kded/engine/fusebackend_p.cpp
-index 81ce494..d3c5c9f 100644
+index d07e313..ea7d81c 100644
 --- a/kded/engine/fusebackend_p.cpp
 +++ b/kded/engine/fusebackend_p.cpp
-@@ -103,7 +103,7 @@ QProcess *FuseBackend::process(const QString &executable,
+@@ -106,7 +106,7 @@ QProcess *FuseBackend::process(const QString &executable,
  
  QProcess *FuseBackend::fusermount(const QStringList &arguments) const
  {
@@ -11,7 +11,7 @@ index 81ce494..d3c5c9f 100644
  }
  
  
-@@ -245,4 +245,3 @@ bool FuseBackend::isOpened(const MountPoint &mountPoint) const
+@@ -279,4 +279,3 @@ bool FuseBackend::isOpened(const MountPoint &mountPoint) const
  }
  
  } // namespace PlasmaVault
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/default.nix b/pkgs/desktops/plasma-5/plasma-workspace/default.nix
index ab011576b2b7..2866cddbea18 100644
--- a/pkgs/desktops/plasma-5/plasma-workspace/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-workspace/default.nix
@@ -68,10 +68,6 @@ mkDerivation {
   # ./plasma-workspace.patch.
   patches = [
     ./plasma-workspace.patch
-    (fetchpatch {
-      url = "https://github.com/KDE/plasma-workspace/commit/11e570d861858f3b3e2694e5f9ec242d7f9f12b9.patch";
-      sha256 = "1vk9yacb59k0v5mgbpgmciflca9r0ll4wh1d83ffx2y2v8sqwiv2";
-    })
   ];
 
   preConfigure = ''
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch b/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
index 9027f6ad8a4a..dd5f7321f0e2 100644
--- a/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
+++ b/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
@@ -36,7 +36,7 @@ index 493218ea..d507aa55 100644
 +    return system( NIXPKGS_KDOSTARTUPCONFIG5 );
      }
 diff --git a/startkde/startkde.cmake b/startkde/startkde.cmake
-index f9e2e429..0a4267a9 100644
+index 714a9bf1..9733c612 100644
 --- a/startkde/startkde.cmake
 +++ b/startkde/startkde.cmake
 @@ -1,22 +1,31 @@
@@ -454,7 +454,7 @@ index f9e2e429..0a4267a9 100644
  
  # finally, give the session control to the session manager
  # see kdebase/ksmserver for the description of the rest of the startup sequence
-@@ -306,34 +352,37 @@ qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit &
+@@ -306,12 +352,16 @@ qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit &
  # We only check for 255 which means that the ksmserver process could not be
  # started, any problems thereafter, e.g. ksmserver failing to initialize,
  # will remain undetected.
@@ -474,11 +474,9 @@ index f9e2e429..0a4267a9 100644
  if test $? -eq 255; then
    # Startup error
    echo 'startkde: Could not start ksmserver. Check your installation.'  1>&2
-   test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
--  xmessage -geometry 500x100 "Could not start ksmserver. Check your installation."
- fi
- 
- #Anything after here is logout/shutdown
+@@ -322,36 +372,36 @@ fi
+ #Anything after here is logout
+ #It is not called after shutdown/restart
  
 -wait_drkonqi=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Enabled --default true`
 +wait_drkonqi=$(@NIXPKGS_KREADCONFIG5@ --file startkderc --group WaitForDrKonqi --key Enabled --default true)
@@ -498,12 +496,13 @@ index f9e2e429..0a4267a9 100644
              # ask remaining drkonqis to die in a graceful way
 -            qdbus | grep 'org.kde.drkonqi-' | while read address ; do
 -                qdbus "$address" "/MainApplication" "quit"
+-            done
+-            break
 +            @NIXPKGS_QDBUS@ | @NIXPKGS_GREP@ 'org.kde.drkonqi-' | while read address ; do
 +                @NIXPKGS_QDBUS@ "$address" "/MainApplication" "quit"
-             done
-             break
          fi
-@@ -342,15 +391,17 @@ fi
+     done
+ fi
  
  echo 'startkde: Shutting down...'  1>&2
  # just in case
@@ -526,7 +525,7 @@ index f9e2e429..0a4267a9 100644
  
  echo 'startkde: Done.'  1>&2
 diff --git a/startkde/startplasma.cmake b/startkde/startplasma.cmake
-index f7330ab3..5eedbb11 100644
+index de98541c..39c0b521 100644
 --- a/startkde/startplasma.cmake
 +++ b/startkde/startplasma.cmake
 @@ -1,6 +1,6 @@
@@ -668,14 +667,15 @@ index f7330ab3..5eedbb11 100644
  
  # finally, give the session control to the session manager
  # see kdebase/ksmserver for the description of the rest of the startup sequence
-@@ -163,19 +109,19 @@ if test $? -eq 255; then
-   xmessage -geometry 500x100 "Could not start ksmserver. Check your installation."
- fi
+@@ -166,19 +112,19 @@ fi
+ #Anything after here is logout
+ #It is not called after shutdown/restart
  
 -wait_drkonqi=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Enabled --default true`
-+wait_drkonqi=$(@NIXPKGS_KREADCONFIG5@ --file startkderc --group WaitForDrKonqi --key Enabled --default true)
- 
+-
 -if test x"$wait_drkonqi"x = x"true"x ; then
++wait_drkonqi=$(@NIXPKGS_KREADCONFIG5@ --file startkderc --group WaitForDrKonqi --key Enabled --default true)
++ 
 +if [ x"$wait_drkonqi"x = x"true"x ]; then
      # wait for remaining drkonqi instances with timeout (in seconds)
 -    wait_drkonqi_timeout=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Timeout --default 900`
@@ -695,7 +695,7 @@ index f7330ab3..5eedbb11 100644
              done
              break
          fi
-@@ -184,15 +130,17 @@ fi
+@@ -187,15 +133,17 @@ fi
  
  echo 'startplasma: Shutting down...'  1>&2
  # just in case
diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index a6c3cb66f6a2..690f5fafef27 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -3,363 +3,363 @@
 
 {
   bluedevil = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/bluedevil-5.13.5.tar.xz";
-      sha256 = "0am708cb6jfccx1jfbriwc2jgwd4ajqllirc9i0bg4jz5ydxbjxg";
-      name = "bluedevil-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/bluedevil-5.14.0.tar.xz";
+      sha256 = "0d1bw6cp2vwhs17j0bgc3gysy3g2syb1z0zwg28sa889l8a3qyv9";
+      name = "bluedevil-5.14.0.tar.xz";
     };
   };
   breeze = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/breeze-5.13.5.tar.xz";
-      sha256 = "09jkkfdmngvbp8i2y6irlv6yvrzpc86mw6apmqvphiaqsilyxaw0";
-      name = "breeze-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/breeze-5.14.0.tar.xz";
+      sha256 = "0gd95a7km0pqc0qinn2p0kv72j0ihdl96vs14f5jr5n78a2r7r9a";
+      name = "breeze-5.14.0.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/breeze-grub-5.13.5.tar.xz";
-      sha256 = "03hsq77gi75chgyq9pzh3ry6k6bi78pfm33zn8gx784k9fx7gvqr";
-      name = "breeze-grub-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/breeze-grub-5.14.0.tar.xz";
+      sha256 = "17kghx9qv7flm2019alqg1a6pnacgczj1hc9sc0bvj8znh9hhxvh";
+      name = "breeze-grub-5.14.0.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/breeze-gtk-5.13.5.tar.xz";
-      sha256 = "1knh0b27b81rnd87s31s2mawqcl1yzwjcakk5npzfm3nj23xakv3";
-      name = "breeze-gtk-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/breeze-gtk-5.14.0.tar.xz";
+      sha256 = "1zlhyv26k3zqm2bbd9mk7123q5xy5g2cp6ayavhglgxxb8n0zyx9";
+      name = "breeze-gtk-5.14.0.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/breeze-plymouth-5.13.5.tar.xz";
-      sha256 = "0xsjl602wsb5ak1xg19w8y0fv9404cwbj1rcrm0hgjv735m32c57";
-      name = "breeze-plymouth-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/breeze-plymouth-5.14.0.tar.xz";
+      sha256 = "1ilf3cp7cg3lpkxvd8n7h33wvsbbikrvd514gan2ns16j9d4ziz1";
+      name = "breeze-plymouth-5.14.0.tar.xz";
     };
   };
   discover = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/discover-5.13.5.tar.xz";
-      sha256 = "1q3nc5lih95vs5masd8z897hvfvpwidiisj8bg62iq0cblsgwz6d";
-      name = "discover-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/discover-5.14.0.tar.xz";
+      sha256 = "1chkf5hjpnb4laq5sn7rr8f4fv90mg4brdsx71cz1b5xbvgyy1sf";
+      name = "discover-5.14.0.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/drkonqi-5.13.5.tar.xz";
-      sha256 = "02kbmymzzhsf9slaf64xlp8sfv59gl7qf1g2ahcq58sqry5bqjnk";
-      name = "drkonqi-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/drkonqi-5.14.0.tar.xz";
+      sha256 = "0i5zgafkdxw6wqqfw81ygdmg5fffy2gkf6sciq7f8nfxxglw6pkp";
+      name = "drkonqi-5.14.0.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kactivitymanagerd-5.13.5.tar.xz";
-      sha256 = "0zfvypxh748vsl270l8wn6inmp8shi2m051yy699qdqbyb039wjq";
-      name = "kactivitymanagerd-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kactivitymanagerd-5.14.0.tar.xz";
+      sha256 = "03jxvf4mgh0wmphykskc8ra49ghrjv5in4mgzpafswn7w8q8gyii";
+      name = "kactivitymanagerd-5.14.0.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kde-cli-tools-5.13.5.tar.xz";
-      sha256 = "0p1az420p4ldinmxnkdwl69542ddm0r4f3wmdysfird7d68yw2hp";
-      name = "kde-cli-tools-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kde-cli-tools-5.14.0.tar.xz";
+      sha256 = "1n51vaiy073jzs051wlpll7652bb7vwg5qmravndhl8ibqrv7qaz";
+      name = "kde-cli-tools-5.14.0.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kdecoration-5.13.5.tar.xz";
-      sha256 = "04p77fs5c9b4mbpcl4a2c1wc0i09g51b7c1v7n9fd4nfkm7z8sqs";
-      name = "kdecoration-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kdecoration-5.14.0.tar.xz";
+      sha256 = "01gkl0yqplm1l2qa4gfw7rzi5zfdxq7d3a25qicdwhas69hc8nzm";
+      name = "kdecoration-5.14.0.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kde-gtk-config-5.13.5.tar.xz";
-      sha256 = "06j64y7p5kxnrc3407hma0drh3sb8jvjp3mx6na6b86z4xxf1kj6";
-      name = "kde-gtk-config-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kde-gtk-config-5.14.0.tar.xz";
+      sha256 = "0mb1am14hd3x5gkmy3vcg3wb9g29c8y38ywhr0f93riphws0nhvh";
+      name = "kde-gtk-config-5.14.0.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kdeplasma-addons-5.13.5.tar.xz";
-      sha256 = "1a4f61bbwhc2y0lnrglbq3sas16bxff0ga3im9d15nq5a5q637i1";
-      name = "kdeplasma-addons-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kdeplasma-addons-5.14.0.tar.xz";
+      sha256 = "0k98ms851z2naw4rjmxldy6pl9a51mmwvq6c4znm2pnrw04jz15d";
+      name = "kdeplasma-addons-5.14.0.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kgamma5-5.13.5.tar.xz";
-      sha256 = "08brmdi5y69iwhj7506q2l0bfm92c9l9ds9w4d1ipcgnbydrhfyn";
-      name = "kgamma5-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kgamma5-5.14.0.tar.xz";
+      sha256 = "17vb1bb4glw6ccd1s1chjm07lvpkklcvny7rdjgmz2r00vk6mjqy";
+      name = "kgamma5-5.14.0.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/khotkeys-5.13.5.tar.xz";
-      sha256 = "16kp5ck6zfpnmnvspdnqklix54np3sxvj5ixs9saqf3gd5rk49mp";
-      name = "khotkeys-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/khotkeys-5.14.0.tar.xz";
+      sha256 = "0b2q4s0j6wji8112l89347fc8ph9vrf2p8ngig0c4dn4ayk7hqd1";
+      name = "khotkeys-5.14.0.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kinfocenter-5.13.5.tar.xz";
-      sha256 = "15r9j33z3l31gip9q3fw015s4mxakgy5wqfs04w5p0aq8x9xkpzl";
-      name = "kinfocenter-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kinfocenter-5.14.0.tar.xz";
+      sha256 = "0pc1jc7d26w2asa2yj8rr04rgjvmavlyhw3wd0dqv08rhr0rl7pj";
+      name = "kinfocenter-5.14.0.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kmenuedit-5.13.5.tar.xz";
-      sha256 = "0zha39cd3p5nmrbkhkbcavxns2n2wnb6chc5kcsk5km9wn4laxz0";
-      name = "kmenuedit-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kmenuedit-5.14.0.tar.xz";
+      sha256 = "0ld9q5jq7zc6kz72pg9qqg10rbargkwyks657cnv8id1pna17bsr";
+      name = "kmenuedit-5.14.0.tar.xz";
     };
   };
   kscreen = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kscreen-5.13.5.tar.xz";
-      sha256 = "0kf1cf88n46b4js7x9r504605v68wp5hwpwid6phvfqdyqrvbb77";
-      name = "kscreen-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kscreen-5.14.0.tar.xz";
+      sha256 = "1y28a96kal2gziga2vr6vg5swv2ynfiv3804n06v9847rd7s3ixk";
+      name = "kscreen-5.14.0.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kscreenlocker-5.13.5.tar.xz";
-      sha256 = "171zjk9r333kbkb9pashw0rdmiwq11nzfin4wnmqzwp7rrclxs18";
-      name = "kscreenlocker-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kscreenlocker-5.14.0.tar.xz";
+      sha256 = "1nyd8jy4ngpg51nq46cx038i4w1qak9zi4d4v69blkhzd65gckj1";
+      name = "kscreenlocker-5.14.0.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/ksshaskpass-5.13.5.tar.xz";
-      sha256 = "1znhj8x8kag1jrw0j1kfvqgprdayrcfbmawz2jap1ik2bjq7dp81";
-      name = "ksshaskpass-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/ksshaskpass-5.14.0.tar.xz";
+      sha256 = "0nqvr3z7058hfymw8gglnfmcxx976km6sf0msyd3ykfpymxsmz74";
+      name = "ksshaskpass-5.14.0.tar.xz";
     };
   };
   ksysguard = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/ksysguard-5.13.5.tar.xz";
-      sha256 = "1qjqhqc23rbimz3qj8gr3dhp0griwgbiajhvjngh1jl55fb3q29j";
-      name = "ksysguard-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/ksysguard-5.14.0.tar.xz";
+      sha256 = "0hbcx20r57lfh566q2974rs2kzlq5ghxadnd1ghiwz5141xh02bm";
+      name = "ksysguard-5.14.0.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kwallet-pam-5.13.5.tar.xz";
-      sha256 = "145daahh8qjpbfcvjk2zyd6k3sr22npgnv3n23j9aim75qiwz1ac";
-      name = "kwallet-pam-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kwallet-pam-5.14.0.tar.xz";
+      sha256 = "0cw173wbf105p7028xik33lm38z82b1rlc7090l4khwsgmwgff97";
+      name = "kwallet-pam-5.14.0.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kwayland-integration-5.13.5.tar.xz";
-      sha256 = "1qhkrs8md36z5gndkm88pyv6mspqsdsdavjz8klfwfv1hii6qyds";
-      name = "kwayland-integration-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kwayland-integration-5.14.0.tar.xz";
+      sha256 = "19xbqb7m6hxyg8s8jdbg1x9qcfia2ypm0z4k6zgva6mwqwhqcbw1";
+      name = "kwayland-integration-5.14.0.tar.xz";
     };
   };
   kwin = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kwin-5.13.5.tar.xz";
-      sha256 = "0ld1pclni1axrh7jww3gxlfwkbjsfbqb9z7gygj2ff3nmc6khgfm";
-      name = "kwin-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kwin-5.14.0.tar.xz";
+      sha256 = "0rd6hkyg6n0w2jnj648sp7gs7n624igraz8ajyrglfzvxkxvqi8i";
+      name = "kwin-5.14.0.tar.xz";
     };
   };
   kwrited = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kwrited-5.13.5.tar.xz";
-      sha256 = "150nhjk4vcigs2r2bxqk309g81lxpnkkv8l44hiyivcbmwvc3aya";
-      name = "kwrited-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kwrited-5.14.0.tar.xz";
+      sha256 = "0s9lgi5a945xzpl1j5gdn65n8bywqlwfnrig56x90550achbvmlq";
+      name = "kwrited-5.14.0.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/libkscreen-5.13.5.tar.xz";
-      sha256 = "04719va15i66qn1xqx318v6risxhp8bfcnhxh9mqm5h9qx5c6c4k";
-      name = "libkscreen-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/libkscreen-5.14.0.tar.xz";
+      sha256 = "1fsi9cb724kwr0cll60dl9qh67290r3gp8lcsmlyw30zk9mqwgdi";
+      name = "libkscreen-5.14.0.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/libksysguard-5.13.5.tar.xz";
-      sha256 = "0pccjjjzk8dxgmkj5vrq20nwb3qpf9isjd1zmg5nc127jld924x6";
-      name = "libksysguard-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/libksysguard-5.14.0.tar.xz";
+      sha256 = "00s1dkiqykw2drlmvzs3hkdrkbk8n86s751kl4xlvcbslbijzcv0";
+      name = "libksysguard-5.14.0.tar.xz";
     };
   };
   milou = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/milou-5.13.5.tar.xz";
-      sha256 = "0rhgj10l2iik1mgnv2bixxqjyc3pl731bs1bqz9gsa3wiazspwrv";
-      name = "milou-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/milou-5.14.0.tar.xz";
+      sha256 = "1k413zs70ggsamwxxidlfjdf8aqrcnzznar86z30q3ki1y14xf1l";
+      name = "milou-5.14.0.tar.xz";
     };
   };
   oxygen = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/oxygen-5.13.5.tar.xz";
-      sha256 = "0wm2mngh0gb0lqvx8g82ml2sdv0kbkx14mpb8c6aw3hslcwma7yd";
-      name = "oxygen-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/oxygen-5.14.0.tar.xz";
+      sha256 = "0kbafhzjkm61dpznx1w713jwyicj7qq76vk7zf6vz2g90b8c47na";
+      name = "oxygen-5.14.0.tar.xz";
     };
   };
   plasma-browser-integration = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/plasma-browser-integration-5.13.5.tar.xz";
-      sha256 = "0bhpbq4n29x8m0nmxlli5ljmgpw9da7sfbmf3j5c3wnxqja16sgy";
-      name = "plasma-browser-integration-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/plasma-browser-integration-5.14.0.tar.xz";
+      sha256 = "1s8cxlfyp8crq2j4appffnhc3cgx9igmqhxyyk9pr4jbb4cwv42b";
+      name = "plasma-browser-integration-5.14.0.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/plasma-desktop-5.13.5.tar.xz";
-      sha256 = "14isrq3n9lm1nzmyv8zdgq6pwnv2zmg4dwxyp7fvqjxfls8851vp";
-      name = "plasma-desktop-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/plasma-desktop-5.14.0.tar.xz";
+      sha256 = "0qrqd78bp9n73rr142wxiynxij2i8cw41ckgd46iw8an550v8s80";
+      name = "plasma-desktop-5.14.0.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/plasma-integration-5.13.5.tar.xz";
-      sha256 = "0j57ra79p5lkj81d05hhb87mrxgyj6qikkpzcb0p2dr2x8cmkng2";
-      name = "plasma-integration-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/plasma-integration-5.14.0.tar.xz";
+      sha256 = "1dv43iwh6rp5ldn16jd6krkab6nmplav47j5qvngcp88src31k47";
+      name = "plasma-integration-5.14.0.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/plasma-nm-5.13.5.tar.xz";
-      sha256 = "1z8f5iybgra72vhpiayiwpysvv2z8x2r5xal8rhgf7y24xcjwxmi";
-      name = "plasma-nm-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/plasma-nm-5.14.0.tar.xz";
+      sha256 = "1pr4dg90vw22jzsrbhzx3rycyj9by8r4239ypprw0i5d9795mian";
+      name = "plasma-nm-5.14.0.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/plasma-pa-5.13.5.tar.xz";
-      sha256 = "0p54x4zr3w009nn7g00qmxh7xil35x7b48d0l0flz5d7hvkk6nd8";
-      name = "plasma-pa-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/plasma-pa-5.14.0.tar.xz";
+      sha256 = "1b95vyirgxfpjrccnl81bynlk3zdxz0bf7czsap0bnwhal0mcp2w";
+      name = "plasma-pa-5.14.0.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/plasma-sdk-5.13.5.tar.xz";
-      sha256 = "1x8hq343xzwlcsdvf0jy0qgn64xw8l11lawhknbjrf90qq58axga";
-      name = "plasma-sdk-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/plasma-sdk-5.14.0.tar.xz";
+      sha256 = "0b5h7qvan0f5afdf4d19dmpalgbd9gyxgkq3r5h7axqdfdanz38f";
+      name = "plasma-sdk-5.14.0.tar.xz";
     };
   };
   plasma-tests = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/plasma-tests-5.13.5.tar.xz";
-      sha256 = "00nm0d0c4zccbwnhy8sc1qb4sf7bs5vfky3n7lihwyng3syqwz3d";
-      name = "plasma-tests-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/plasma-tests-5.14.0.tar.xz";
+      sha256 = "01li04p44f1yajnjhvhhqd8mjwv8si5d02749p5dn0x80fkxgh9d";
+      name = "plasma-tests-5.14.0.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/plasma-vault-5.13.5.tar.xz";
-      sha256 = "1045zb58pmcyn0cznb81bmcpd4hkhxm6509rznrjykkhcfcrbf8z";
-      name = "plasma-vault-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/plasma-vault-5.14.0.tar.xz";
+      sha256 = "1kclryjld7lanimr6n7r1b9y8wqgyjvcsky9cfq3ql1ssfc0ncm3";
+      name = "plasma-vault-5.14.0.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/plasma-workspace-5.13.5.tar.xz";
-      sha256 = "1qcmw60lyp966rhvw9raaqrvxdv09pr8zc7x3fx1vpm9kphh3lv3";
-      name = "plasma-workspace-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/plasma-workspace-5.14.0.tar.xz";
+      sha256 = "1fgz06dnszrrq5kqa3zn22cj93adz8vwg9n9vdihgi6c77rqlxyf";
+      name = "plasma-workspace-5.14.0.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/plasma-workspace-wallpapers-5.13.5.tar.xz";
-      sha256 = "1wbnm6bzvgx2ssig4dk3plhrsjiw3lq1yhr2dfga6vvlyi6wg9mg";
-      name = "plasma-workspace-wallpapers-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/plasma-workspace-wallpapers-5.14.0.tar.xz";
+      sha256 = "10j006wc1l2hjw9s9w7sxwimpahrnlpidnrrdgwjp0fswmnyqj5c";
+      name = "plasma-workspace-wallpapers-5.14.0.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/plymouth-kcm-5.13.5.tar.xz";
-      sha256 = "0flgr68rms40acgl2f4539mvp53m36ifignxix27raqmibaf38s1";
-      name = "plymouth-kcm-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/plymouth-kcm-5.14.0.tar.xz";
+      sha256 = "0smjnh3adhsbp2ds8gvi5k3jq21i85zvaf9pvr0ih4nqpn4plalk";
+      name = "plymouth-kcm-5.14.0.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.13.5";
+    version = "1-5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/polkit-kde-agent-1-5.13.5.tar.xz";
-      sha256 = "00f05ii3www8knn2ycgkc6izc8ydb3vjy4f657k38hkzl2sjnhl6";
-      name = "polkit-kde-agent-1-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/polkit-kde-agent-1-5.14.0.tar.xz";
+      sha256 = "0bzz2qmxslmms7mrs4l8myg9byx0w7dz6xrmvi8v11wyk2lngsb0";
+      name = "polkit-kde-agent-1-5.14.0.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/powerdevil-5.13.5.tar.xz";
-      sha256 = "1k7ilcvm5nvx6sd43j0djar9ay6ag84g4m8f420yf7q4yryp76yn";
-      name = "powerdevil-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/powerdevil-5.14.0.tar.xz";
+      sha256 = "057hj7c3pq5a064ydx2r6kkf0q8lj7rl0jfrzcpr72s0yri3wcjr";
+      name = "powerdevil-5.14.0.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/sddm-kcm-5.13.5.tar.xz";
-      sha256 = "122g83ajh0xqylvmicrhgw0fm8bmzpw26v7fjckfk9if5zqzk8ch";
-      name = "sddm-kcm-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/sddm-kcm-5.14.0.tar.xz";
+      sha256 = "0dz6iz0qf4ycfic1ad99cqxj05pa4m92m5l74as8pkqviv8mm33d";
+      name = "sddm-kcm-5.14.0.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/systemsettings-5.13.5.tar.xz";
-      sha256 = "14029a3mf2d6cw87lyffnwy88yvj0n3jmi0glr69zwi8lmz0cbsv";
-      name = "systemsettings-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/systemsettings-5.14.0.tar.xz";
+      sha256 = "0gywcc1zcqp7613gd7m9811plmmk8hr9frd2v0ari69ppm1ndmpj";
+      name = "systemsettings-5.14.0.tar.xz";
     };
   };
   user-manager = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/user-manager-5.13.5.tar.xz";
-      sha256 = "12550xvl084rab0y331r8dm3qwpcvm83k3j02gxrwrigv1vckas8";
-      name = "user-manager-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/user-manager-5.14.0.tar.xz";
+      sha256 = "17qdpdq1j53h49i71ri8f91fby9m47ngpd7gn6qp7gzsfcyqky3j";
+      name = "user-manager-5.14.0.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/xdg-desktop-portal-kde-5.13.5.tar.xz";
-      sha256 = "0i9pcbdxfh2cbv9ybk9i11l7vcm2ifx0zm3gkj3ry3bjxxbphn4f";
-      name = "xdg-desktop-portal-kde-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/xdg-desktop-portal-kde-5.14.0.tar.xz";
+      sha256 = "0xziyrrccv0jjjf8h8p5w2wx0qz745ilib1i2l50amy6dwy0k0s9";
+      name = "xdg-desktop-portal-kde-5.14.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/coq-modules/QuickChick/default.nix b/pkgs/development/coq-modules/QuickChick/default.nix
index fc88a1c33eed..d532020d663c 100644
--- a/pkgs/development/coq-modules/QuickChick/default.nix
+++ b/pkgs/development/coq-modules/QuickChick/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     inherit (param) rev sha256;
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 coq.findlib ];
+  buildInputs = with coq.ocamlPackages; [ ocaml camlp5 findlib ];
   propagatedBuildInputs = [ coq ssreflect ];
 
   enableParallelBuilding = false;
diff --git a/pkgs/development/coq-modules/bignums/default.nix b/pkgs/development/coq-modules/bignums/default.nix
index 474ce05c1d47..e645a3424c0d 100644
--- a/pkgs/development/coq-modules/bignums/default.nix
+++ b/pkgs/development/coq-modules/bignums/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     inherit (param) rev sha256;
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 coq.findlib coq ];
+  buildInputs = with coq.ocamlPackages; [ ocaml camlp5 findlib coq ];
 
   installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
 
diff --git a/pkgs/development/coq-modules/category-theory/default.nix b/pkgs/development/coq-modules/category-theory/default.nix
index c707fcdbd6be..4587e08be483 100644
--- a/pkgs/development/coq-modules/category-theory/default.nix
+++ b/pkgs/development/coq-modules/category-theory/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     inherit (param) rev sha256;
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 coq.findlib ];
+  buildInputs = with coq.ocamlPackages; [ ocaml camlp5 findlib ];
   propagatedBuildInputs = [ coq ssreflect ];
 
   enableParallelBuilding = false;
diff --git a/pkgs/development/coq-modules/contribs/default.nix b/pkgs/development/coq-modules/contribs/default.nix
index 1b310d74b82a..d12d3fefb944 100644
--- a/pkgs/development/coq-modules/contribs/default.nix
+++ b/pkgs/development/coq-modules/contribs/default.nix
@@ -12,7 +12,7 @@ let mkContrib = repo: revs: param:
       sha256 = "${param.sha256}";
     };
 
-    buildInputs = [ coq.ocaml coq.camlp5 coq.findlib coq ];
+    buildInputs = with coq.ocamlPackages; [ ocaml camlp5 findlib coq ];
 
     installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
 
diff --git a/pkgs/development/coq-modules/coq-ext-lib/default.nix b/pkgs/development/coq-modules/coq-ext-lib/default.nix
index 5e6ee7fac6f1..0e9c0b93ceda 100644
--- a/pkgs/development/coq-modules/coq-ext-lib/default.nix
+++ b/pkgs/development/coq-modules/coq-ext-lib/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     inherit (param) sha256;
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 ];
+  buildInputs = with coq.ocamlPackages; [ ocaml camlp5 ];
   propagatedBuildInputs = [ coq ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/coq-modules/coq-haskell/default.nix b/pkgs/development/coq-modules/coq-haskell/default.nix
index cbfd79fdd272..57f31e1847c1 100644
--- a/pkgs/development/coq-modules/coq-haskell/default.nix
+++ b/pkgs/development/coq-modules/coq-haskell/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     inherit (param) rev sha256;
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 coq.findlib ];
+  buildInputs = with coq.ocamlPackages; [ ocaml camlp5 findlib ];
   propagatedBuildInputs = [ coq ssreflect ];
 
   enableParallelBuilding = false;
diff --git a/pkgs/development/coq-modules/dpdgraph/default.nix b/pkgs/development/coq-modules/dpdgraph/default.nix
index 5b9437e7c279..e403f7d4fb5c 100644
--- a/pkgs/development/coq-modules/dpdgraph/default.nix
+++ b/pkgs/development/coq-modules/dpdgraph/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, coq, ocamlPackages }:
+{ stdenv, fetchFromGitHub, autoreconfHook, coq }:
 
 let params = {
   "8.8" = {
@@ -34,8 +34,8 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ coq coq.camlp5 ]
-  ++ (with ocamlPackages; [ ocaml findlib ocamlgraph ]);
+  buildInputs = [ coq ]
+  ++ (with coq.ocamlPackages; [ ocaml camlp5 findlib ocamlgraph ]);
 
   preInstall = ''
     mkdir -p $out/bin
diff --git a/pkgs/development/coq-modules/equations/default.nix b/pkgs/development/coq-modules/equations/default.nix
index fa17d37b4bd3..3f049eed34be 100644
--- a/pkgs/development/coq-modules/equations/default.nix
+++ b/pkgs/development/coq-modules/equations/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     sha256 = "${param.sha256}";
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 coq.findlib coq ];
+  buildInputs = with coq.ocamlPackages; [ ocaml camlp5 findlib coq ];
 
   preBuild = "coq_makefile -f _CoqProject -o Makefile";
 
diff --git a/pkgs/development/coq-modules/fiat/HEAD.nix b/pkgs/development/coq-modules/fiat/HEAD.nix
index b970747c7726..a064064fd919 100644
--- a/pkgs/development/coq-modules/fiat/HEAD.nix
+++ b/pkgs/development/coq-modules/fiat/HEAD.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0griqc675yylf9rvadlfsabz41qy5f5idya30p5rv6ysiakxya64";
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 python27 ];
+  buildInputs = with coq.ocamlPackages; [ ocaml camlp5 python27 ];
   propagatedBuildInputs = [ coq ];
 
   doCheck = false;
diff --git a/pkgs/development/coq-modules/flocq/default.nix b/pkgs/development/coq-modules/flocq/default.nix
index 092337125a4d..ff7385a9222e 100644
--- a/pkgs/development/coq-modules/flocq/default.nix
+++ b/pkgs/development/coq-modules/flocq/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "13fv150dcwnjrk00d7zj2c5x9jwmxgrq0ay440gkr730l8mvk3l3";
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 bash which autoconf automake ];
+  buildInputs = with coq.ocamlPackages; [ ocaml camlp5 bash which autoconf automake ];
   propagatedBuildInputs = [ coq ];
 
   buildPhase = ''
diff --git a/pkgs/development/coq-modules/heq/default.nix b/pkgs/development/coq-modules/heq/default.nix
index bf441562b14e..03149bab58b1 100644
--- a/pkgs/development/coq-modules/heq/default.nix
+++ b/pkgs/development/coq-modules/heq/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "03y71c4qs6cmy3s2hjs05g7pcgk9sqma6flj15394yyxbvr9is1p";
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 unzip ];
+  buildInputs = with coq.ocamlPackages; [ ocaml camlp5 unzip ];
   propagatedBuildInputs = [ coq ];
 
   preBuild = "cd src";
diff --git a/pkgs/development/coq-modules/mathcomp/generic.nix b/pkgs/development/coq-modules/mathcomp/generic.nix
index 22721ca98bc2..2a602711965f 100644
--- a/pkgs/development/coq-modules/mathcomp/generic.nix
+++ b/pkgs/development/coq-modules/mathcomp/generic.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   inherit src;
 
   nativeBuildInputs = stdenv.lib.optionals withDoc [ graphviz ];
-  buildInputs = [ coq.ocaml coq.findlib coq.camlp5 ncurses which ];
+  buildInputs = with coq.ocamlPackages; [ ocaml findlib camlp5 ncurses which ];
   propagatedBuildInputs = [ coq ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/coq-modules/metalib/default.nix b/pkgs/development/coq-modules/metalib/default.nix
index f6316f77a1fa..46a6cafb6ab8 100644
--- a/pkgs/development/coq-modules/metalib/default.nix
+++ b/pkgs/development/coq-modules/metalib/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.mit;
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 which coq lngen ott coq.findlib ];
+  buildInputs = with coq.ocamlPackages; [ ocaml camlp5 which coq lngen ott findlib ];
   propagatedBuildInputs = [ coq ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/coq-modules/paco/default.nix b/pkgs/development/coq-modules/paco/default.nix
index 94a24eb70858..86a1301d3c76 100644
--- a/pkgs/development/coq-modules/paco/default.nix
+++ b/pkgs/development/coq-modules/paco/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "1lcmdr0y2d7gzyvr8dal3pi7fibbd60bpi1l32fw89xiyrgqhsqy";
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 unzip ];
+  buildInputs = with coq.ocamlPackages; [ ocaml camlp5 unzip ];
   propagatedBuildInputs = [ coq ];
 
   preBuild = "cd src";
diff --git a/pkgs/development/coq-modules/ssreflect/generic.nix b/pkgs/development/coq-modules/ssreflect/generic.nix
index d09e47a7f845..23e364cd960d 100644
--- a/pkgs/development/coq-modules/ssreflect/generic.nix
+++ b/pkgs/development/coq-modules/ssreflect/generic.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   inherit src;
 
   nativeBuildInputs = stdenv.lib.optionals withDoc [ graphviz ];
-  buildInputs = [ coq.ocaml coq.findlib coq.camlp5 ncurses which ];
+  buildInputs = with coq.ocamlPackages; [ ocaml findlib camlp5 ncurses which ];
   propagatedBuildInputs = [ coq ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index e59e4a67269d..2cb95a397c6b 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -923,9 +923,9 @@ self: super: {
   text-icu = dontCheck super.text-icu;
 
   # https://github.com/haskell/cabal/issues/4969
-  haddock-api = (super.haddock-api.overrideScope (self: super: {
-    haddock-library = self.haddock-library_1_6_0;
-  })).override { hspec = self.hspec_2_4_8; };
+  # haddock-api = (super.haddock-api.overrideScope (self: super: {
+  #   haddock-library = self.haddock-library_1_6_0;
+  # })).override { hspec = self.hspec_2_4_8; };
 
   # Jailbreak "unix-compat >=0.1.2 && <0.5".
   # Jailbreak "graphviz >=2999.18.1 && <2999.20".
@@ -1060,7 +1060,7 @@ self: super: {
 
   # The test suite is broken. Break out of "base-compat >=0.9.3 && <0.10, hspec >=2.4.4 && <2.5".
   haddock-library = doJailbreak (dontCheck super.haddock-library);
-  haddock-library_1_6_0 = doJailbreak (dontCheck super.haddock-library_1_6_0);
+  # haddock-library_1_6_0 = doJailbreak (dontCheck super.haddock-library_1_6_0);
 
   # The tool needs a newer hpack version than the one mandated by LTS-12.x.
   cabal2nix = super.cabal2nix.overrideScope (self: super: {
@@ -1072,9 +1072,6 @@ self: super: {
     yaml = self.yaml_0_11_0_0;
   });
 
-  # Break out of "aeson <1.3, temporary <1.3".
-  stack = doJailbreak super.stack;
-
   # https://github.com/pikajude/stylish-cabal/issues/11
   stylish-cabal = super.stylish-cabal.override { hspec = self.hspec_2_4_8; hspec-core = self.hspec-core_2_4_8; };
   hspec_2_4_8 = super.hspec_2_4_8.override { hspec-core = self.hspec-core_2_4_8; hspec-discover = self.hspec-discover_2_4_8; };
@@ -1108,9 +1105,6 @@ self: super: {
   # Can be removed once yi-language >= 0.18 is in the LTS
   yi-core = super.yi-core.overrideScope (self: super: { yi-language = self.yi-language_0_18_0; });
 
-  # https://github.com/MarcWeber/hasktags/issues/52
-  hasktags = dontCheck super.hasktags;
-
   # https://github.com/haskell/hoopl/issues/50
   hoopl = dontCheck super.hoopl;
 
@@ -1154,6 +1148,9 @@ self: super: {
   arbtt = doJailbreak super.arbtt;
 
   # https://github.com/yesodweb/yesod/issues/1563
-  yesod-core = dontCheck super.yesod-core;
+  yesod-core = self.yesod-core_1_6_8_1;
+
+  # https://github.com/danfran/cabal-macosx/issues/13
+  cabal-macosx = dontCheck super.cabal-macosx;
 
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix
index e0d2753a5849..43f769ff6fd5 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix
@@ -85,4 +85,7 @@ self: super: {
   # GHC 8.0 doesn't have semigroups included by default
   ListLike = addBuildDepend super.ListLike self.semigroups;
 
+  # Add missing build depedency for this compiler.
+  base-compat-batteries = addBuildDepend super.base-compat-batteries self.bifunctors;
+
 }
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 49c3623d5d6b..8d0669ca2acb 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
@@ -56,4 +56,8 @@ self: super: {
           };
     in appendPatch super.hadoop-rpc patch;
 
+  # Version 1.9.1 needs Cabal 2.4.x or later, so
+  # we use the one from the ghc-8.6.1 package set.
+  stack = markBroken super.stack;
+
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
index 041227059cde..ca2c8849dc64 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
@@ -46,44 +46,88 @@ self: super: {
 
   # LTS-12.x versions do not compile.
   base-orphans = self.base-orphans_0_8;
+  brick = doJailbreak super.brick_0_41_2;      # https://github.com/jtdaugherty/brick/pull/188
+  cassava-megaparsec = doJailbreak super.cassava-megaparsec;
+  config-ini = doJailbreak super.config-ini;   # https://github.com/aisamanra/config-ini/issues/18
   contravariant = self.contravariant_1_5;
-  control-monad-free = markBrokenVersion "0.6.1" super.control-monad-free;
   free = self.free_5_1;
-  Glob = self.Glob_0_9_3;
-  haddock-library = markBroken super.haddock-library;
-  hslogger = self.hslogger_1_2_12;
+  haddock-library = dontCheck super.haddock-library_1_7_0;
+  HaTeX = doJailbreak super.HaTeX;
+  hledger = doJailbreak super.hledger;
+  hledger-lib = doJailbreak super.hledger-lib;
+  hledger-ui = doJailbreak super.hledger-ui;
+  hpack = self.hpack_0_31_0;
+  hslua = self.hslua_1_0_1;
+  hslua-module-text = self.hslua-module-text_0_2_0;
   hspec = self.hspec_2_5_8;
   hspec-core = self.hspec-core_2_5_8;
-  hspec-core_2_5_8 = super.hspec-core_2_5_8.overrideScope (self: super: { QuickCheck = self.QuickCheck_2_12_6_1; });
   hspec-discover = self.hspec-discover_2_5_8;
+  hspec-megaparsec = doJailbreak super.hspec-megaparsec;  # newer versions need megaparsec 7.x
   hspec-meta = self.hspec-meta_2_5_6;
-  hspec-meta_2_5_6 = super.hspec-meta_2_5_6.overrideScope (self: super: { QuickCheck = self.QuickCheck_2_12_6_1; });
-  JuicyPixels = self.JuicyPixels_3_3_1;
+  JuicyPixels = self.JuicyPixels_3_3_2;
   lens = self.lens_4_17;
-  polyparse = markBrokenVersion "1.12" super.polyparse;
+  megaparsec = dontCheck (doJailbreak super.megaparsec);
+  neat-interpolation = dontCheck super.neat-interpolation;  # test suite depends on broken HTF
+  patience = markBrokenVersion "0.1.1" super.patience;
   primitive = self.primitive_0_6_4_0;
+  QuickCheck = self.QuickCheck_2_12_6_1;
   semigroupoids = self.semigroupoids_5_3_1;
   tagged = self.tagged_0_8_6;
-  unordered-containers = dontCheck super.unordered-containers;
+  vty = self.vty_5_25;
+  wizards = doJailbreak super.wizards;
+  wl-pprint-extras = doJailbreak super.wl-pprint-extras;
+  yaml = self.yaml_0_11_0_0;
 
-  # Over-specified constraints.
-  async = doJailbreak super.async;                           # base >=4.3 && <4.12, stm >=2.2 && <2.5
-  ChasingBottoms = doJailbreak super.ChasingBottoms;         # base >=4.2 && <4.12, containers >=0.3 && <0.6
-  hashable = doJailbreak super.hashable;                     # base >=4.4 && <4.1
-  hashable-time = doJailbreak super.hashable-time;           # base >=4.7 && <4.12
-  integer-logarithms = doJailbreak super.integer-logarithms; # base >=4.3 && <4.12
-  optparse-applicative = doJailbreak super.optparse-applicative;   # https://github.com/pcapriotti/optparse-applicative/issues/319
-  tar = doJailbreak super.tar;                               # containers >=0.2 && <0.6
-  test-framework = doJailbreak super.test-framework;         # containers >=0.1 && <0.6
+  # https://github.com/tibbe/unordered-containers/issues/214
+  unordered-containers = dontCheck super.unordered-containers;
 
   # https://github.com/haskell/fgl/issues/79
   # https://github.com/haskell/fgl/issues/81
-  fgl = appendPatch super.fgl ./patches/fgl-monad-fail.patch;
+  fgl = appendPatch (overrideCabal super.fgl (drv: { editedCabalFile = null; })) ./patches/fgl-monad-fail.patch;
+
+  # Test suite does not compile.
+  cereal = dontCheck super.cereal;
+  data-clist = doJailbreak super.data-clist;  # won't cope with QuickCheck 2.12.x
+  Diff = dontCheck super.Diff;
+  http-api-data = doJailbreak super.http-api-data;
+  lucid = doJailbreak super.lucid;
+  persistent-sqlite = dontCheck super.persistent-sqlite;
+  psqueues = dontCheck super.psqueues;    # won't cope with QuickCheck 2.12.x
+  system-fileio = dontCheck super.system-fileio;  # avoid dependency on broken "patience"
+  unicode-transforms = dontCheck super.unicode-transforms;
+  monad-par = dontCheck super.monad-par;  # https://github.com/simonmar/monad-par/issues/66
+
+  # https://github.com/bmillwood/haskell-src-meta/pull/80
+  haskell-src-meta = doJailbreak super.haskell-src-meta;
+
+  # The official 1.12 release is broken and unmaintained.
+  polyparse = appendPatch (overrideCabal super.polyparse (drv: { editedCabalFile = null; })) (pkgs.fetchpatch {
+    url = https://github.com/bergmark/polyparse/commit/8a69ee7e57db798c106d8b56dce05b1dfc4fed37.patch;
+    sha256 = "11r73wx1w6bfrkrnk6r9k7rfzp6qrvkdikb2by37ld06c0w6nn57";
+  });
+
+  # https://github.com/skogsbaer/HTF/issues/69
+  HTF = markBrokenVersion "0.13.2.4" super.HTF;
+
+  # https://github.com/jgm/pandoc-types/issues/52
+  pandoc-types = doJailbreak super.pandoc-types;
+
+  #
+  skylighting-core = dontCheck super.skylighting-core;
+
+  # https://github.com/joelburget/easytest/issues/12
+  easytest = appendPatch super.easytest (pkgs.fetchpatch {
+    url = https://github.com/joelburget/easytest/pull/13.patch;
+    sha256 = "0gnsgga8x2yxyg27pya6rhmxfsxf167vsi4xdj98fn8v0j7zz1v1";
+  });
+
+  # https://github.com/jgm/pandoc/issues/4974
+  pandoc = doJailbreak super.pandoc_2_3_1;
+
+  # Break out of "yaml >=0.10.4.0 && <0.11".
+  stack = doJailbreak super.stack;
 
-  # https://github.com/jgm/texmath/pull/121
-  texmath = appendPatch (doJailbreak super.texmath) (pkgs.fetchpatch
-            { url = https://github.com/jgm/texmath/pull/121.patch;
-              sha256 = "14pz2cpz9rvmy7mlmnz8iz76rsdyv5v442ij2i8k9zrbxj6nai7l";
-            });
+  # https://github.com/vimus/libmpd-haskell/issues/109
+  xmobar = disableCabalFlag (super.xmobar.override { libmpd = null; }) "with_mpd";
 
 }
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index e1fd8d13285f..590f7f0d9719 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -543,4 +543,8 @@ self: super: builtins.intersectAttrs super {
           --set NIX_CFLAGS_LINK "-L${ocl-icd}/lib"
       '';
     });
+
+  # The test suite has undeclared dependencies on git.
+  githash = dontCheck super.githash;
+
 }
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index 4c17581f9d51..8f230c92aaa1 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -194,7 +194,7 @@ let
                      optionals doBenchmark (benchmarkDepends ++ benchmarkHaskellDepends ++ benchmarkSystemDepends ++ benchmarkFrameworkDepends);
 
 
-  allBuildInputs = propagatedBuildInputs ++ otherBuildInputs ++ depsBuildBuild;
+  allBuildInputs = propagatedBuildInputs ++ otherBuildInputs ++ depsBuildBuild ++ nativeBuildInputs;
   isHaskellPartition =
     stdenv.lib.partition isHaskellPkg allBuildInputs;
 
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index e7a5b5b1626d..fd19a506d15b 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -15854,8 +15854,8 @@ self: {
      }:
      mkDerivation {
        pname = "SCRIPTWriter";
-       version = "1.0";
-       sha256 = "0333p5r2ms9yhkxgbhdrmhylszqq6xpr4hdvjgn62xwd6a4a1i3l";
+       version = "1.0.1";
+       sha256 = "0sipk7brfw42zq4ksp7gz23ghia9faffshc5zh8j0zb4f1497mwi";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -22185,7 +22185,7 @@ self: {
 
   "aeson-schema" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
-     , directory, filepath, ghc-prim, hashable, hint, HUnit, mtl
+     , directory, fail, filepath, ghc-prim, hashable, hint, HUnit, mtl
      , QuickCheck, regex-base, regex-compat, regex-pcre, scientific, syb
      , template-haskell, temporary, test-framework, test-framework-hunit
      , test-framework-quickcheck2, text, th-lift, transformers
@@ -22193,15 +22193,14 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-schema";
-       version = "0.4.1.1";
-       sha256 = "1idw9bb1miw61vvyacrlnx98rl4p0wx750gnhc4blx4a07i5vs9h";
-       revision = "1";
-       editedCabalFile = "1rl9hm85r607iwigzg5y1rki8vl7943ws4j1zsz0hq8g3mcb5alf";
+       version = "0.4.1.2";
+       sha256 = "1afw0kf39myh4yqkkz8z1a7ji02j2iy7j66ch06pglvp5hzyi9dk";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson attoparsec base bytestring containers ghc-prim mtl QuickCheck
-         regex-base regex-compat regex-pcre scientific syb template-haskell
-         text th-lift transformers unordered-containers vector
+         aeson attoparsec base bytestring containers fail ghc-prim mtl
+         QuickCheck regex-base regex-compat regex-pcre scientific syb
+         template-haskell text th-lift transformers unordered-containers
+         vector
        ];
        testHaskellDepends = [
          aeson attoparsec base bytestring containers directory filepath
@@ -23148,6 +23147,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "alg_0_2_8_0" = callPackage
+    ({ mkDerivation, base, util }:
+     mkDerivation {
+       pname = "alg";
+       version = "0.2.8.0";
+       sha256 = "1zw50da4wz8qdc62qlvg74k3g5n48xlzda2k7c3y9zb8xb2xbfrr";
+       libraryHaskellDepends = [ base util ];
+       description = "Algebraic structures";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "alga" = callPackage
     ({ mkDerivation, aeson, base, containers, data-default, exceptions
      , file-embed, filepath, formatting, haskeline, hspec, hxt
@@ -27456,6 +27467,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "apecs-physics-gloss" = callPackage
+    ({ mkDerivation, apecs, apecs-physics, base, gloss }:
+     mkDerivation {
+       pname = "apecs-physics-gloss";
+       version = "0.1.0.0";
+       sha256 = "075rpm4l1na7j79vkh7n5c806zj7vvj2qxrxq6pkb6k6364ff249";
+       libraryHaskellDepends = [ apecs apecs-physics base gloss ];
+       description = "Gloss rendering for apecs-physics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "apelsin" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, deepseq
      , directory, filepath, glib, gtk, HTTP, mtl, network, process
@@ -28291,6 +28313,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {arbb_dev = null;};
 
+  "arbor-datadog" = callPackage
+    ({ mkDerivation, aeson, auto-update, base, buffer-builder
+     , bytestring, Cabal, dlist, generic-lens, hspec, lens, mtl, network
+     , random, resourcet, text, time, transformers, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "arbor-datadog";
+       version = "0.0.0.1";
+       sha256 = "0lc3c2jnn2kmfyg7xgsnkgzkfir1ycn6qyq1z44501g360wrq0cv";
+       libraryHaskellDepends = [
+         aeson auto-update base buffer-builder bytestring dlist generic-lens
+         lens mtl network random resourcet text time transformers
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         base Cabal generic-lens hspec lens network resourcet time
+         transformers
+       ];
+       description = "Datadog client for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "arbor-lru-cache" = callPackage
     ({ mkDerivation, base, containers, generic-lens, hedgehog, hspec
      , hw-hspec-hedgehog, lens, stm
@@ -28307,6 +28352,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "arbor-monad-counter" = callPackage
+    ({ mkDerivation, base, containers, generic-lens, hedgehog, hspec
+     , hw-hspec-hedgehog, lens, mtl, resourcet, stm, transformers
+     }:
+     mkDerivation {
+       pname = "arbor-monad-counter";
+       version = "2.0.0";
+       sha256 = "1pzgqxrsfaq9l6400ykv8gz34z90r0lwq93pzadsq5qpkhk55053";
+       libraryHaskellDepends = [
+         base containers generic-lens lens mtl resourcet stm transformers
+       ];
+       testHaskellDepends = [
+         base containers generic-lens hedgehog hspec hw-hspec-hedgehog lens
+         mtl resourcet stm transformers
+       ];
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "arbor-postgres" = callPackage
     ({ mkDerivation, base, bytestring, generic-lens, lens, network-uri
      , optparse-applicative, postgresql-simple, text
@@ -29302,33 +29365,33 @@ self: {
     ({ mkDerivation, attoparsec, base, binary, bytestring, conduit
      , conduit-combinators, conduit-extra, containers, cpu, directory
      , either, exceptions, generic-lens, hedgehog, hspec, hw-bits
-     , hw-hspec-hedgehog, hw-ip, iproute, lens, old-locale
+     , hw-hspec-hedgehog, hw-ip, iproute, lens, network, old-locale
      , optparse-applicative, resourcet, temporary-resourcet, text, thyme
      , vector
      }:
      mkDerivation {
        pname = "asif";
-       version = "3.0.0";
-       sha256 = "01ic071i7cgc888xqdjjq3srihnjxcqx33f9m97ilsp7dxi7a03q";
+       version = "3.1.0";
+       sha256 = "0z9i40xz7hnhqnxv79saj9wsigi25bxkn0v4p5fhvfqj3r06ms2l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          attoparsec base binary bytestring conduit conduit-combinators
          conduit-extra containers cpu either exceptions generic-lens hw-bits
-         hw-ip iproute lens old-locale resourcet temporary-resourcet text
-         thyme vector
+         hw-ip iproute lens network old-locale resourcet temporary-resourcet
+         text thyme vector
        ];
        executableHaskellDepends = [
          attoparsec base binary bytestring conduit conduit-combinators
          conduit-extra containers cpu directory either exceptions
-         generic-lens hw-bits hw-ip iproute lens old-locale
+         generic-lens hw-bits hw-ip iproute lens network old-locale
          optparse-applicative resourcet temporary-resourcet text thyme
          vector
        ];
        testHaskellDepends = [
          attoparsec base binary bytestring conduit conduit-combinators
          conduit-extra containers cpu either exceptions generic-lens
-         hedgehog hspec hw-bits hw-hspec-hedgehog hw-ip iproute lens
+         hedgehog hspec hw-bits hw-hspec-hedgehog hw-ip iproute lens network
          old-locale resourcet temporary-resourcet text thyme vector
        ];
        license = stdenv.lib.licenses.mit;
@@ -30329,8 +30392,8 @@ self: {
      }:
      mkDerivation {
        pname = "ats-pkg";
-       version = "3.2.2.0";
-       sha256 = "10xwgc7y324fgisqjkx2jk5bq226fj3ayl373m6m1nbnx2qax22w";
+       version = "3.2.2.3";
+       sha256 = "111lwv4461ij5z8z9n0kyvqcrjk0x5yjajfc3wyc3lklgc6ccjva";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -30608,14 +30671,14 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "attoparsec-ip_0_0_3" = callPackage
+  "attoparsec-ip_0_0_4" = callPackage
     ({ mkDerivation, attoparsec, base, ip, QuickCheck, tasty
      , tasty-quickcheck, text, vector
      }:
      mkDerivation {
        pname = "attoparsec-ip";
-       version = "0.0.3";
-       sha256 = "02d66mm1rc00dswkl9ink4pxwy8h7lyi2k9zcqda6ywa7cllhgl0";
+       version = "0.0.4";
+       sha256 = "1q3nrr8ps5wsqq2bahx9wy7924ccq110wwlwkiycsz32pflcamr7";
        libraryHaskellDepends = [ attoparsec base ip vector ];
        testHaskellDepends = [
          attoparsec base ip QuickCheck tasty tasty-quickcheck text vector
@@ -31456,6 +31519,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "avro_0_3_6_1" = callPackage
+    ({ mkDerivation, aeson, array, base, base16-bytestring, binary
+     , bytestring, containers, data-binary-ieee754, directory, entropy
+     , extra, fail, hashable, hspec, lens, lens-aeson, mtl, pure-zlib
+     , QuickCheck, scientific, semigroups, tagged, template-haskell
+     , text, transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "avro";
+       version = "0.3.6.1";
+       sha256 = "0b1pj47nfpbqvcp5vzraa1przq1c9ll8n76qbyg05fjfvamycbq3";
+       libraryHaskellDepends = [
+         aeson array base base16-bytestring binary bytestring containers
+         data-binary-ieee754 entropy fail hashable mtl pure-zlib scientific
+         semigroups tagged template-haskell text unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson array base base16-bytestring binary bytestring containers
+         directory entropy extra fail hashable hspec lens lens-aeson mtl
+         pure-zlib QuickCheck scientific semigroups tagged template-haskell
+         text transformers unordered-containers vector
+       ];
+       description = "Avro serialization support for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "avwx" = callPackage
     ({ mkDerivation, attoparsec, base, HTTP, lens, optparse-applicative
      , parsers, pretty-show, text
@@ -32375,8 +32465,8 @@ self: {
      }:
      mkDerivation {
        pname = "b9";
-       version = "0.5.49";
-       sha256 = "0n9vci1wc2ws4nyzmmqi2npwkd3zz28znyqj4905y1hc126x0yi3";
+       version = "0.5.50";
+       sha256 = "1wsspzkcydad9akqj6n8s9xpm7id49dll5h12vv3xbmgjgj0pdhr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -32949,6 +33039,18 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "base-compat_0_10_5" = callPackage
+    ({ mkDerivation, base, unix }:
+     mkDerivation {
+       pname = "base-compat";
+       version = "0.10.5";
+       sha256 = "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr";
+       libraryHaskellDepends = [ base unix ];
+       description = "A compatibility layer for base";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "base-compat-batteries" = callPackage
     ({ mkDerivation, base, base-compat, hspec, hspec-discover
      , QuickCheck
@@ -32964,14 +33066,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "base-compat-batteries_0_10_4" = callPackage
+  "base-compat-batteries_0_10_5" = callPackage
     ({ mkDerivation, base, base-compat, contravariant, hspec
      , hspec-discover, QuickCheck
      }:
      mkDerivation {
        pname = "base-compat-batteries";
-       version = "0.10.4";
-       sha256 = "11k4k2n88kyaa41431cmjwmnlnhjbqx95r67mgrdxfyqxxwnxwp8";
+       version = "0.10.5";
+       sha256 = "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p";
        libraryHaskellDepends = [ base base-compat contravariant ];
        testHaskellDepends = [ base hspec QuickCheck ];
        testToolDepends = [ hspec-discover ];
@@ -36279,8 +36381,8 @@ self: {
      }:
      mkDerivation {
        pname = "biohazard";
-       version = "1.1.0";
-       sha256 = "0sd12i3542hkvy7ijabc0y5dcf758diyvmdpi120wbvh0ay15gvy";
+       version = "1.1.1";
+       sha256 = "1b9jba89l4jsyzxn3s40qp0njq4b5hdgvbs07vsrrbnlwlvshb7a";
        libraryHaskellDepends = [
          async attoparsec base base-prelude bytestring containers exceptions
          hashable primitive stm text transformers unix unordered-containers
@@ -38879,6 +38981,17 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "bounded-array" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "bounded-array";
+       version = "0.1.0.0";
+       sha256 = "0zv5a82rm6hwikgls2hw9d18igvfgw655s5pw5h1xbwcv1d8d0ji";
+       libraryHaskellDepends = [ array base ];
+       description = "Arrays with a value for every index";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "bounded-tchan" = callPackage
     ({ mkDerivation, base, stm }:
      mkDerivation {
@@ -38941,8 +39054,8 @@ self: {
     ({ mkDerivation, base, ghc-prim }:
      mkDerivation {
        pname = "box-tuples";
-       version = "0.1.0.0";
-       sha256 = "1mksy2kiai1vwigpf45zxsq54wjwibib7974ydsv0sp1dhag6gki";
+       version = "0.1.1.0";
+       sha256 = "1j0s7pb9milrz5spqsxwwhva1zwa7ywwd8nbb5y0z97p84wvyy7k";
        libraryHaskellDepends = [ base ghc-prim ];
        description = "A hack to use GHC.Prim primitives in GHCi";
        license = stdenv.lib.licenses.mit;
@@ -48264,6 +48377,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "cmark-gfm_0_1_6" = callPackage
+    ({ mkDerivation, base, blaze-html, bytestring, cheapskate
+     , criterion, discount, HUnit, markdown, sundown, text
+     }:
+     mkDerivation {
+       pname = "cmark-gfm";
+       version = "0.1.6";
+       sha256 = "0s39djd1j0rq63g4sy0cnras14m263anr56nvijcbcy9zg41dyf8";
+       libraryHaskellDepends = [ base bytestring text ];
+       testHaskellDepends = [ base HUnit text ];
+       benchmarkHaskellDepends = [
+         base blaze-html cheapskate criterion discount markdown sundown text
+       ];
+       description = "Fast, accurate GitHub Flavored Markdown parser and renderer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cmark-highlight" = callPackage
     ({ mkDerivation, base, blaze-html, cmark, highlighting-kate, text
      }:
@@ -53027,6 +53158,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "control-dsl_0_2_1_3" = callPackage
+    ({ mkDerivation, base, containers, doctest, doctest-discover
+     , temporary
+     }:
+     mkDerivation {
+       pname = "control-dsl";
+       version = "0.2.1.3";
+       sha256 = "0rv9wpjnr3y957vd6l8vmn87f9gi97nhk07bkgpr8083avi9biz8";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base containers doctest doctest-discover temporary
+       ];
+       description = "An alternative to monads for control flow DSLs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "control-event" = callPackage
     ({ mkDerivation, base, containers, stm, time }:
      mkDerivation {
@@ -62040,30 +62188,34 @@ self: {
     ({ mkDerivation, aeson, base, base16-bytestring, blake2
      , bloomfilter, BoundedChan, bytestring, cmdargs, concurrent-extra
      , conduit, containers, criterion, data-default-class, deepseq
-     , ghc-prim, lens-simple, leveldb-haskell, lmdb-simple, lrucaching
-     , mtl, QuickCheck, resourcet, semigroups, serialise, tasty
-     , tasty-hunit, tasty-quickcheck, temporary, text
+     , directory, dlist, filepath, ghc-prim, hashtables, lens-simple
+     , leveldb-haskell, lmdb-simple, lrucaching, mtl, QuickCheck
+     , reducers, resourcet, semigroups, serialise, stm, tasty
+     , tasty-hunit, tasty-quickcheck, temporary, text, transformers
      , unordered-containers
      }:
      mkDerivation {
        pname = "dfinity-radix-tree";
-       version = "0.4.0";
-       sha256 = "1bx82andqa7jd682ky0ga14jzfidkcsbgcb6md0wjyy8qgh18sg8";
+       version = "0.5.0";
+       sha256 = "0c721d4vcar7h5alrigi9q63pwwvp0xqwwrvfh6pa9p2y90p820b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base base16-bytestring blake2 bloomfilter BoundedChan bytestring
          concurrent-extra conduit containers data-default-class deepseq
-         ghc-prim lens-simple leveldb-haskell lmdb-simple lrucaching mtl
-         resourcet semigroups serialise
+         directory dlist ghc-prim hashtables lens-simple leveldb-haskell
+         lmdb-simple lrucaching mtl reducers resourcet semigroups serialise
+         stm temporary transformers
        ];
        executableHaskellDepends = [
          base blake2 bytestring cmdargs criterion data-default-class
          leveldb-haskell lmdb-simple resourcet temporary
        ];
        testHaskellDepends = [
-         aeson base base16-bytestring bytestring containers mtl QuickCheck
-         tasty tasty-hunit tasty-quickcheck text unordered-containers
+         aeson base base16-bytestring blake2 BoundedChan bytestring
+         concurrent-extra conduit containers filepath leveldb-haskell mtl
+         QuickCheck resourcet tasty tasty-hunit tasty-quickcheck temporary
+         text transformers unordered-containers
        ];
        description = "A generic data integrity layer";
        license = stdenv.lib.licenses.gpl3;
@@ -62161,39 +62313,36 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall_1_17_0" = callPackage
+  "dhall_1_18_0" = callPackage
     ({ mkDerivation, ansi-terminal, base, bytestring, case-insensitive
      , cborg, containers, contravariant, criterion, cryptonite, deepseq
-     , Diff, directory, doctest, exceptions, filepath, hashable
-     , haskeline, http-client, http-client-tls
-     , insert-ordered-containers, lens-family-core, megaparsec, memory
-     , mockery, mtl, optparse-applicative, parsers, prettyprinter
-     , prettyprinter-ansi-terminal, QuickCheck, quickcheck-instances
-     , repline, scientific, serialise, tasty, tasty-hunit
-     , tasty-quickcheck, template-haskell, text, transformers
-     , unordered-containers, vector
+     , Diff, directory, doctest, exceptions, filepath, haskeline
+     , http-client, http-client-tls, lens-family-core, megaparsec
+     , memory, mockery, mtl, optparse-applicative, parsers
+     , prettyprinter, prettyprinter-ansi-terminal, QuickCheck
+     , quickcheck-instances, repline, scientific, serialise, tasty
+     , tasty-hunit, tasty-quickcheck, template-haskell, text
+     , transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "dhall";
-       version = "1.17.0";
-       sha256 = "14a74zqsnv00hbv19lhmv78xzl36qnsznmncnzq7jji2aslgwad0";
+       version = "1.18.0";
+       sha256 = "155bmfk4ivjvffyj0zbd21hwg47blswgydhnys2s0zvm9zzyqa5m";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          ansi-terminal base bytestring case-insensitive cborg containers
          contravariant cryptonite Diff directory exceptions filepath
-         hashable haskeline http-client http-client-tls
-         insert-ordered-containers lens-family-core megaparsec memory mtl
-         optparse-applicative parsers prettyprinter
+         haskeline http-client http-client-tls lens-family-core megaparsec
+         memory mtl optparse-applicative parsers prettyprinter
          prettyprinter-ansi-terminal repline scientific serialise
          template-haskell text transformers unordered-containers vector
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
-         base containers deepseq directory doctest filepath hashable
-         insert-ordered-containers mockery prettyprinter QuickCheck
-         quickcheck-instances serialise tasty tasty-hunit tasty-quickcheck
-         text transformers vector
+         base containers deepseq directory doctest filepath mockery
+         prettyprinter QuickCheck quickcheck-instances serialise tasty
+         tasty-hunit tasty-quickcheck text transformers vector
        ];
        benchmarkHaskellDepends = [
          base bytestring containers criterion directory serialise text
@@ -62225,6 +62374,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "dhall-bash_1_0_16" = callPackage
+    ({ mkDerivation, base, bytestring, containers, dhall
+     , neat-interpolation, optparse-generic, shell-escape, text
+     }:
+     mkDerivation {
+       pname = "dhall-bash";
+       version = "1.0.16";
+       sha256 = "0zaz38df08fyfil11906agmz7vfz9wapxszzizyvvp9zid5gx58g";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers dhall neat-interpolation shell-escape
+         text
+       ];
+       executableHaskellDepends = [
+         base bytestring dhall optparse-generic text
+       ];
+       description = "Compile Dhall to Bash";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dhall-check" = callPackage
     ({ mkDerivation, base, containers, dhall, directory, filepath
      , fsnotify, text, trifecta
@@ -62267,6 +62438,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "dhall-json_1_2_4" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, dhall
+     , optparse-applicative, tasty, tasty-hunit, text
+     , unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "dhall-json";
+       version = "1.2.4";
+       sha256 = "1rv3vf5g3cwiy0ps1yn9jnhk56rbw7fci54xj9fj4iwc2rxb9575";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base dhall optparse-applicative text unordered-containers
+       ];
+       executableHaskellDepends = [
+         aeson aeson-pretty base bytestring dhall optparse-applicative text
+         vector yaml
+       ];
+       testHaskellDepends = [
+         aeson base bytestring dhall tasty tasty-hunit text
+       ];
+       description = "Compile Dhall to JSON or YAML";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dhall-lex" = callPackage
     ({ mkDerivation, alex, array, base, bytestring, criterion, deepseq
      , hspec, hspec-dirstream, scientific
@@ -62324,6 +62521,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "dhall-text_1_0_13" = callPackage
+    ({ mkDerivation, base, dhall, optparse-applicative, text }:
+     mkDerivation {
+       pname = "dhall-text";
+       version = "1.0.13";
+       sha256 = "09bwhc2wrwliwrvd565wr0rgdxmi0g4i9691b8nb32nybb20l1ah";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base dhall optparse-applicative text
+       ];
+       description = "Template text using Dhall";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dhall-to-cabal" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, contravariant
      , dhall, Diff, directory, filepath, hashable
@@ -66149,15 +66362,15 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "dotenv_0_6_0_2" = callPackage
+  "dotenv_0_6_0_3" = callPackage
     ({ mkDerivation, base, base-compat, containers, directory
      , exceptions, hspec, hspec-megaparsec, megaparsec
      , optparse-applicative, process, text, transformers, yaml
      }:
      mkDerivation {
        pname = "dotenv";
-       version = "0.6.0.2";
-       sha256 = "0xgpz4pk684vlm3w2k9ynywj0knrx6am2szja6x4k9wyk9a64w89";
+       version = "0.6.0.3";
+       sha256 = "0dckfs69k3hqfjrpxkk30liq52pjd2424r8gp6i8xb0zk1xlsqgk";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -66590,6 +66803,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "dragen" = callPackage
+    ({ mkDerivation, base, containers, extra, ghc-prim, matrix
+     , QuickCheck, split, template-haskell, text, transformers
+     }:
+     mkDerivation {
+       pname = "dragen";
+       version = "0.1.0.0";
+       sha256 = "079r8d3j5qm15cqg0d12iz4n6z0lxlmhbcqpv37dhdafjf12dyy7";
+       libraryHaskellDepends = [
+         base containers extra ghc-prim matrix QuickCheck split
+         template-haskell transformers
+       ];
+       testHaskellDepends = [
+         base containers extra ghc-prim matrix QuickCheck split
+         template-haskell text transformers
+       ];
+       description = "Automatic derivation of optimized QuickCheck random generators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "draw-poker" = callPackage
     ({ mkDerivation, base, random-shuffle, safe }:
      mkDerivation {
@@ -68735,8 +68968,8 @@ self: {
        pname = "ekg";
        version = "0.4.0.15";
        sha256 = "1k3d5kiqm034qs04k0pcisf4zbdmx2fcgl9a6c1lzzjw96zf6aj8";
-       revision = "3";
-       editedCabalFile = "05vyycpr627znm769ilyaah39npwa6p23sncgar2vyvxscchkzpi";
+       revision = "4";
+       editedCabalFile = "17b68p16hsh79jaya1jfncml5cjf8y1jbr8827r42acnf9jk4s23";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring ekg-core ekg-json filepath network snap-core
@@ -68964,6 +69197,8 @@ self: {
        pname = "ekg-statsd";
        version = "0.2.4.0";
        sha256 = "1nvsiblha1fzykvfaq1s0fyvfmhm32wvxdsfkn9pqd6dl5ivyx2y";
+       revision = "1";
+       editedCabalFile = "1iayg5ac94rgdz7shvvz7ff4saffww8dc6fy82hi0cpyk7kr2xy9";
        libraryHaskellDepends = [
          base bytestring ekg-core network text time unordered-containers
        ];
@@ -72711,8 +72946,8 @@ self: {
      }:
      mkDerivation {
        pname = "exp-cache";
-       version = "0.1.0.1";
-       sha256 = "0yg5p3682fgkb0cn8gyb01zr9qy7y5maqzc6ssc04w9ll06l66jd";
+       version = "0.1.0.2";
+       sha256 = "1r3k4l44hii964c2xm4zb981hi0pklzik62fxr3zwyzwdjzdd36a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -73210,19 +73445,19 @@ self: {
      }) {};
 
   "extensible-effects-concurrent" = callPackage
-    ({ mkDerivation, base, containers, deepseq, directory
+    ({ mkDerivation, base, containers, data-default, deepseq, directory
      , extensible-effects, filepath, HUnit, lens, logging-effect
      , monad-control, mtl, parallel, process, QuickCheck, random, stm
      , tagged, tasty, tasty-discover, tasty-hunit, time, transformers
      }:
      mkDerivation {
        pname = "extensible-effects-concurrent";
-       version = "0.4.0.0";
-       sha256 = "0asqibn8hf4i627k9ms8sak90wmyis919ggb41lra4rlv03r61rc";
+       version = "0.5.0.1";
+       sha256 = "00gr2x00byfc842p8b5apzc4qi8l0fx8cgrvsi73f1mshkiqs9sp";
        libraryHaskellDepends = [
-         base containers deepseq directory extensible-effects filepath lens
-         logging-effect monad-control mtl parallel process QuickCheck random
-         stm tagged time transformers
+         base containers data-default deepseq directory extensible-effects
+         filepath lens logging-effect monad-control mtl parallel process
+         QuickCheck random stm tagged time transformers
        ];
        testHaskellDepends = [
          base containers deepseq extensible-effects HUnit lens QuickCheck
@@ -73760,8 +73995,8 @@ self: {
      }:
      mkDerivation {
        pname = "fast-arithmetic";
-       version = "0.6.2.3";
-       sha256 = "17k8xghlk0nqmby33ziwbp6zvb27kh6adwhlydzzy8azn1m2snf7";
+       version = "0.6.3.0";
+       sha256 = "0f02fi63xq0x1r5qqagwzz6wbsxblz99jm2g994gs13ba11abix1";
        libraryHaskellDepends = [ base composition-prelude gmpint ];
        testHaskellDepends = [
          arithmoi base combinat-compat hspec QuickCheck
@@ -77479,8 +77714,8 @@ self: {
     ({ mkDerivation, ansi-terminal, base, fmt }:
      mkDerivation {
        pname = "fmt-terminal-colors";
-       version = "0.1.0.0";
-       sha256 = "1x2g5vc84l00lz4i8x2jhliglg6l32zxa7mm2l9f4rsgav6mvgc1";
+       version = "0.1.0.1";
+       sha256 = "0a8gs4m21c1b0xl7v6rm2j915yix3pks0vvy0n3c2298lpkj0z6b";
        libraryHaskellDepends = [ ansi-terminal base fmt ];
        testHaskellDepends = [ ansi-terminal base fmt ];
        description = "ANSI terminal colors formatters for fmt library";
@@ -81779,8 +82014,8 @@ self: {
        pname = "generic-trie";
        version = "0.3.1";
        sha256 = "1x7f5bp7d13g737198l43y2mf9mzngg9vmhyh1yaxg8xfpzc3anh";
-       revision = "1";
-       editedCabalFile = "0rr6fncm17ff7z9jdb90gvd03smd8vlhmhzf5b9hzms7s2scnvh6";
+       revision = "2";
+       editedCabalFile = "1dxf7c66vncw8zn0848g0bk2i2msbrb4njzvkzwvlaiphq0gqg10";
        libraryHaskellDepends = [ base containers transformers ];
        description = "A map, where the keys may be complex structured data";
        license = stdenv.lib.licenses.bsd3;
@@ -83089,22 +83324,23 @@ self: {
      }) {};
 
   "ghc-events-analyze" = callPackage
-    ({ mkDerivation, base, containers, diagrams-lib, diagrams-svg
-     , filepath, ghc-events, lens, mtl, optparse-applicative, parsec
+    ({ mkDerivation, base, blaze-svg, bytestring, containers
+     , diagrams-lib, diagrams-svg, filepath, ghc-events, hashable, lens
+     , mtl, optparse-applicative, parsec, regex-base, regex-pcre-builtin
      , SVGFonts, template-haskell, th-lift, transformers
+     , unordered-containers
      }:
      mkDerivation {
        pname = "ghc-events-analyze";
-       version = "0.2.4";
-       sha256 = "1nad7n6kmp6g014fdgzzd4m1w357qm47qp16r24j499l394zaqb1";
-       revision = "1";
-       editedCabalFile = "1g32r4dmmrjx1ablgkpp8vhqfvwicklqnmcsl4c4qxxiad03291j";
+       version = "0.2.5";
+       sha256 = "087fjk6630fhln3srh0ah83kfdwjazwci8rxiai31nfsprsipvf8";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base containers diagrams-lib diagrams-svg filepath ghc-events lens
-         mtl optparse-applicative parsec SVGFonts template-haskell th-lift
-         transformers
+         base blaze-svg bytestring containers diagrams-lib diagrams-svg
+         filepath ghc-events hashable lens mtl optparse-applicative parsec
+         regex-base regex-pcre-builtin SVGFonts template-haskell th-lift
+         transformers unordered-containers
        ];
        description = "Analyze and visualize event logs";
        license = stdenv.lib.licenses.bsd3;
@@ -85186,8 +85422,8 @@ self: {
      }:
      mkDerivation {
        pname = "ginger";
-       version = "0.8.0.1";
-       sha256 = "0ahd12y6qlnqi8wvhczn5hk2k7g48m6a0d2nxbvjx00iixs5dr34";
+       version = "0.8.1.0";
+       sha256 = "1l0gwi92jb38a8maq96xxfjvjqyhlh3v21xvgkqszqappjzabcpd";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -86795,6 +87031,8 @@ self: {
        pname = "glirc";
        version = "2.29";
        sha256 = "04i6dzb6fgvx1vxpn8syzc9pa4mq2m62mrgq4iraqwgkzl54ahgx";
+       revision = "1";
+       editedCabalFile = "0kjari98vcx5d1nfvxk8f6nx557hpy6njw7fj5p1lfdals81qifz";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath ];
@@ -90441,6 +90679,17 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
+  "graphql-w-persistent" = callPackage
+    ({ mkDerivation, base, containers, json, text }:
+     mkDerivation {
+       pname = "graphql-w-persistent";
+       version = "0.1.0.3";
+       sha256 = "0yinjcd74hdxfvph760cvf319hnrb5skkc174ih7fqjjllrp5din";
+       libraryHaskellDepends = [ base containers json text ];
+       description = "Haskell GraphQL query parser-interpreter-data processor";
+       license = stdenv.lib.licenses.isc;
+     }) {};
+
   "graphs" = callPackage
     ({ mkDerivation, array, base, containers, transformers
      , transformers-compat, void
@@ -90821,17 +91070,16 @@ self: {
      }) {};
 
   "grid" = callPackage
-    ({ mkDerivation, base, cereal, containers, QuickCheck
-     , test-framework, test-framework-quickcheck2
+    ({ mkDerivation, base, containers, QuickCheck, test-framework
+     , test-framework-quickcheck2
      }:
      mkDerivation {
        pname = "grid";
-       version = "7.8.9";
-       sha256 = "1gzf8k4v16aavz63fcl0byqxzha796g77dng7rsxjm8zsgzlicy0";
-       libraryHaskellDepends = [ base cereal containers ];
+       version = "7.8.10";
+       sha256 = "1470w214jk285jvb7hyzz539gi3jl52dpa97k5yyfcm2q7186pbj";
+       libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [
-         base containers QuickCheck test-framework
-         test-framework-quickcheck2
+         base QuickCheck test-framework test-framework-quickcheck2
        ];
        description = "Tools for working with regular grids (graphs, lattices)";
        license = stdenv.lib.licenses.bsd3;
@@ -91092,8 +91340,8 @@ self: {
      }:
      mkDerivation {
        pname = "groundhog-postgresql";
-       version = "0.9.0";
-       sha256 = "0r756ccnrwzwl6x9fkrvyws8l00sp9jjqlj5n42jkw7nwwx3i8gy";
+       version = "0.9.0.1";
+       sha256 = "0p88l85rsmbdpfnrh2411n68yy70g0iw7pqmp496b8n6gr0mmvl5";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-builder bytestring containers groundhog
          monad-control postgresql-libpq postgresql-simple resource-pool
@@ -93677,15 +93925,15 @@ self: {
      }) {};
 
   "haddock" = callPackage
-    ({ mkDerivation, base, filepath, haddock-api, hspec }:
+    ({ mkDerivation, base, filepath, haddock-api }:
      mkDerivation {
        pname = "haddock";
-       version = "2.20.0";
-       sha256 = "0jfgd9n0gcbg9i2ifra5cnj0xh2nc5j65ns3b280482r65vnph9w";
+       version = "2.21.0";
+       sha256 = "1dkqhclhnjx6786vsmkw6k75kkq06cv1xcxkivm34l5pgnkwwqq8";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base haddock-api ];
-       testHaskellDepends = [ base filepath hspec ];
+       testHaskellDepends = [ base filepath ];
        doCheck = false;
        preCheck = "unset GHC_PACKAGE_PATH";
        description = "A documentation-generation tool for Haskell libraries";
@@ -93761,8 +94009,8 @@ self: {
      }:
      mkDerivation {
        pname = "haddock-api";
-       version = "2.20.0";
-       sha256 = "02f6038djjbx2vshd5digk4rm16fl33m080s7v01nn5bzfak9g7j";
+       version = "2.21.0";
+       sha256 = "0j6ixhq64nhjmq2ymhzdgz49ixdbffrrh8a96awl89d2kwdv3bnw";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base bytestring Cabal containers deepseq directory filepath
@@ -93854,24 +94102,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "haddock-library_1_6_0" = callPackage
+  "haddock-library_1_7_0" = callPackage
     ({ mkDerivation, base, base-compat, bytestring, containers, deepseq
-     , directory, filepath, hspec, hspec-discover, optparse-applicative
-     , QuickCheck, transformers, tree-diff
+     , hspec, hspec-discover, parsec, QuickCheck, text, transformers
      }:
      mkDerivation {
        pname = "haddock-library";
-       version = "1.6.0";
-       sha256 = "0h7721zw6kbm1vcr0kp69avfy3qfd9zsgmh24gy909kxgdp0k7v0";
+       version = "1.7.0";
+       sha256 = "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7";
        libraryHaskellDepends = [
-         base bytestring containers deepseq transformers
+         base bytestring containers parsec text transformers
        ];
        testHaskellDepends = [
-         base base-compat bytestring containers deepseq directory filepath
-         hspec optparse-applicative QuickCheck transformers tree-diff
+         base base-compat bytestring containers deepseq hspec parsec
+         QuickCheck text transformers
        ];
        testToolDepends = [ hspec-discover ];
-       doHaddock = false;
        description = "Library exposing some functionality of Haddock";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -94553,10 +94799,8 @@ self: {
      }:
      mkDerivation {
        pname = "hakyll-dhall";
-       version = "0.2.2.0";
-       sha256 = "02hqp9gm26n2w3hh54j94h3ga9nbh24yglx8ljkr30gz7l6r9sc8";
-       revision = "1";
-       editedCabalFile = "1q9dz2cb26272hfj4dqgp0kcl2rprh7vvpxyjwvh04n3siixxf62";
+       version = "0.2.2.1";
+       sha256 = "03s1fs95mhaxwq79gf2qjlbzjfkimd3kkiksjmp42j8zxn0y9sbf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -94907,13 +95151,11 @@ self: {
     ({ mkDerivation, base, hedgehog, lens }:
      mkDerivation {
        pname = "halves";
-       version = "0.1.0.0";
-       sha256 = "06axsxkfja0p7vki4cnrf3rf3k255f5mk573pzn0zvzi4f8mmadn";
-       revision = "1";
-       editedCabalFile = "0hwp6fgnfmms2ckg0bzriklnshn7m39dxvj2vjrzm19spnf55fdn";
+       version = "0.1.0.1";
+       sha256 = "0mjxi7aq58k5aydslsihp66kabh0mr5wp2nngbzkvzbs0z7rrwma";
        libraryHaskellDepends = [ base lens ];
        testHaskellDepends = [ base hedgehog lens ];
-       description = "Splitting/combining data structures to/from halves, quarters, eighths";
+       description = "Split or combine data structures to and from halves, quarters, eighths";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -96459,8 +96701,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasbolt-extras";
-       version = "0.0.0.11";
-       sha256 = "1x0dm5x4jr1k619s7ad78bb717c8572s8pakailf8g2wsyc340gr";
+       version = "0.0.0.12";
+       sha256 = "0rh4nn7dy9jfn4vhmf18fgyqhldj5lg46l35ka2m60ig86za9fkn";
        libraryHaskellDepends = [
          base containers free hasbolt lens mtl neat-interpolation
          template-haskell text th-lift-instances
@@ -99780,8 +100022,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-node";
-       version = "0.8.1";
-       sha256 = "08zwn8s1ddr6aw2c3n6j2xazxa7zc3x5ga27v2rwqky0cma311c4";
+       version = "0.9.2";
+       sha256 = "1aiqhw7fk6h70ps5svbhhhk577ai0rqk6s4bm00ii4yhnbdrdk60";
        libraryHaskellDepends = [
          base bytestring cereal conduit conduit-extra data-default hashable
          haskoin-core monad-logger mtl network nqe random resourcet
@@ -102050,10 +102292,8 @@ self: {
      }:
      mkDerivation {
        pname = "hdocs";
-       version = "0.5.3.0";
-       sha256 = "0gkv4xy7jr2ic22gn5fpj3vd6avgd1xqblv96gg1m0fhfsj92y5h";
-       revision = "1";
-       editedCabalFile = "0dy2jamwd0jxai8hcfq506xqczi0hn9c8p7z4dbmq62d29fm79yb";
+       version = "0.5.3.1";
+       sha256 = "0nxvkmhxpxx3500sy7kzpqyp45rq83hjm6gkj10vglxgjk32vzp4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -109101,8 +109341,8 @@ self: {
        pname = "hpack-dhall";
        version = "0.3.0";
        sha256 = "0dplb37npz47cxya1c3dnj6bjcnprjph83yifb08a5qf6vnhcjyh";
-       revision = "2";
-       editedCabalFile = "0qjw27y6q1g2yfgg7wijzi0xd9ccz3far4dixs18nd2wqsw8ih51";
+       revision = "3";
+       editedCabalFile = "1paz90nmir7hrwp9yf2aair14gyiw8ql7f9vj2ry8r7q00xbpfv2";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -110883,6 +111123,8 @@ self: {
        pname = "hsc2hs";
        version = "0.68.4";
        sha256 = "07qzyr1j76gxrrsds65vivm5cx33paxpifvxdlmkxprrm3s4z7z6";
+       revision = "1";
+       editedCabalFile = "1wab9n4wy3bffxly0b0v1ppzf6sfn6aqc8pi1r8jnwb4rzy94c3i";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -113843,25 +114085,29 @@ self: {
 
   "hstox" = callPackage
     ({ mkDerivation, async, base, base16-bytestring, binary
-     , binary-bits, bytestring, containers, data-msgpack, hspec
-     , integer-gmp, iproute, network, network-msgpack-rpc, process
-     , QuickCheck, saltine, tagged, text, transformers
+     , binary-bits, bytestring, clock, containers, data-msgpack
+     , data-msgpack-types, entropy, hspec, integer-gmp, iproute
+     , lens-family, MonadRandom, mtl, network, network-msgpack-rpc
+     , process, QuickCheck, random, saltine, semigroups, tagged, text
+     , transformers
      }:
      mkDerivation {
        pname = "hstox";
-       version = "0.0.1";
-       sha256 = "02ifk98jqnfc4dinf8g7zsls6vmb4kys2mw42qgp6grrkw5clqkd";
+       version = "0.0.2";
+       sha256 = "0dnz2kza50741gkhkclipd73wiqlfh0f40bsx9askl2sbj5zschg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base base16-bytestring binary binary-bits bytestring containers
-         data-msgpack hspec integer-gmp iproute network network-msgpack-rpc
-         QuickCheck saltine tagged text transformers
+         base base16-bytestring binary binary-bits bytestring clock
+         containers data-msgpack data-msgpack-types entropy hspec
+         integer-gmp iproute lens-family MonadRandom mtl network
+         network-msgpack-rpc QuickCheck random saltine semigroups tagged
+         text transformers
        ];
        executableHaskellDepends = [ base process ];
        testHaskellDepends = [ async base ];
        description = "A Tox protocol implementation in Haskell";
-       license = stdenv.lib.licenses.agpl3;
+       license = stdenv.lib.licenses.gpl3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -114519,6 +114765,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "html-validator-cli" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, base, bytestring, directory
+     , doctest, filepath, hspec, http-conduit, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "html-validator-cli";
+       version = "0.1.0.5";
+       sha256 = "0f1af2zsg7vmirmdnh3fwvyk3m7gdd34nfgfkdygs4ridhv6hqxs";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson ansi-terminal base bytestring directory doctest filepath
+         hspec http-conduit text utf8-string
+       ];
+       executableHaskellDepends = [
+         aeson ansi-terminal base bytestring directory doctest filepath
+         hspec http-conduit text utf8-string
+       ];
+       testHaskellDepends = [
+         aeson ansi-terminal base bytestring directory doctest filepath
+         hspec http-conduit text utf8-string
+       ];
+       description = "A command-line interface for https://validator.w3.org/";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "html2hamlet" = callPackage
     ({ mkDerivation, base, bytestring, containers, hamlet, html-conduit
      , http-conduit, mtl, optparse-declarative, regex-tdfa, text
@@ -116718,14 +116991,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "hw-ip_0_2_1_1" = callPackage
+  "hw-ip_0_4_1" = callPackage
     ({ mkDerivation, attoparsec, base, generic-lens, hedgehog, hspec
      , hw-bits, hw-hspec-hedgehog, text
      }:
      mkDerivation {
        pname = "hw-ip";
-       version = "0.2.1.1";
-       sha256 = "1vcg2n0ar5j5w02caswjxi549qfkgy7p63vfasbq3a8w3d109931";
+       version = "0.4.1";
+       sha256 = "0kql3qvav2r0fsppiqa40s95938gfzkal5bkli3rhjiknj3vhbg7";
        libraryHaskellDepends = [
          attoparsec base generic-lens hw-bits text
        ];
@@ -121642,6 +121915,24 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
+  "interpolatedstring-perl6_1_0_1" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, haskell-src-meta, process
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "interpolatedstring-perl6";
+       version = "1.0.1";
+       sha256 = "0n3j6qvzp6as5ji93rn0sy873w5hdsplik51lkrah42cl95vmbay";
+       enableSeparateDataOutput = true;
+       setupHaskellDepends = [ base Cabal process ];
+       libraryHaskellDepends = [
+         base bytestring haskell-src-meta template-haskell text
+       ];
+       description = "QuasiQuoter for Perl6-style multi-line interpolated strings";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "interpolatedstring-qq" = callPackage
     ({ mkDerivation, base, haskell-src-meta-mwotton, template-haskell
      }:
@@ -122186,8 +122477,8 @@ self: {
        pname = "io-streams-haproxy";
        version = "1.0.0.2";
        sha256 = "11nh9q158mgnvvb23s5ffg87lkhl5smk039yl43jghxmb214z0bp";
-       revision = "2";
-       editedCabalFile = "0jrasbn4s6ac0691bf88fbflpha2vn24bd45gk0s3znvl395dxgr";
+       revision = "3";
+       editedCabalFile = "03pwnb66mlx1b8z2d4mn262i2s5mprfr49m0crnssd2nlvm82ifa";
        libraryHaskellDepends = [
          attoparsec base bytestring io-streams network transformers
        ];
@@ -122515,6 +122806,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "iproute_1_7_6" = callPackage
+    ({ mkDerivation, appar, base, byteorder, containers, doctest, hspec
+     , network, QuickCheck, safe
+     }:
+     mkDerivation {
+       pname = "iproute";
+       version = "1.7.6";
+       sha256 = "1svczhzy126w7pa5vyfg90xrvi2ym34f47nj4hhcpx13dv06g5wi";
+       libraryHaskellDepends = [
+         appar base byteorder containers network
+       ];
+       testHaskellDepends = [
+         appar base byteorder containers doctest hspec network QuickCheck
+         safe
+       ];
+       description = "IP Routing Table";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "iptables-helpers" = callPackage
     ({ mkDerivation, base, containers, mtl, parsec, QuickCheck, safe
      , syb, utf8-string
@@ -125080,6 +125391,8 @@ self: {
        pname = "json-autotype";
        version = "2.0.0";
        sha256 = "0mip3k489321sqzzwbv0sbcscv2q9n4lbc63sx8lslsy95da9x68";
+       revision = "1";
+       editedCabalFile = "00wbcq9bx6sq6i5756ja6pf016xbpk2kflq20ncdv76zycxdkqnm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -131084,6 +131397,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "leancheck_0_7_7" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "leancheck";
+       version = "0.7.7";
+       sha256 = "0ymzs3w7nfagpcyh4f57f1wi1gr72k7pbkh729jrxxqgqhd84bvd";
+       libraryHaskellDepends = [ base template-haskell ];
+       testHaskellDepends = [ base ];
+       description = "Enumerative property-based testing";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "leankit-api" = callPackage
     ({ mkDerivation, aeson, base, bytestring, colour, curl, split }:
      mkDerivation {
@@ -139739,22 +140065,21 @@ self: {
 
   "matrix-static" = callPackage
     ({ mkDerivation, base, deepseq, ghc-typelits-knownnat
-     , ghc-typelits-natnormalise, matrix, semigroups, tasty, tasty-hunit
-     , vector
+     , ghc-typelits-natnormalise, matrix, tasty, tasty-hunit, vector
      }:
      mkDerivation {
        pname = "matrix-static";
-       version = "0.1";
-       sha256 = "0l4p0ahlpgf39wjwrvr6ibxpj5b6kmyn2li6yjbddi0af137ii4q";
+       version = "0.2";
+       sha256 = "0g4vkzc6jw4sx2an86d20fv9b23jzly8dxsan7ygih1mp8rn5r07";
        libraryHaskellDepends = [
          base deepseq ghc-typelits-knownnat ghc-typelits-natnormalise matrix
-         semigroups vector
+         vector
        ];
        testHaskellDepends = [
          base deepseq ghc-typelits-knownnat ghc-typelits-natnormalise matrix
-         semigroups tasty tasty-hunit vector
+         tasty tasty-hunit vector
        ];
-       description = "Wrapper around matrix that adds matrix sizes to the type-level";
+       description = "Type-safe matrix operations";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -145814,6 +146139,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) mpg123;};
 
+  "mpi-hs" = callPackage
+    ({ mkDerivation, base, c2hs, criterion, monad-loops, openmpi, tasty
+     , tasty-hspec, tasty-hunit, unix
+     }:
+     mkDerivation {
+       pname = "mpi-hs";
+       version = "0.1.0.1";
+       sha256 = "19by906z7ccfai23dr61ckzcvv3ccd8l1slf21r7g07zlmjkdrvf";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base ];
+       librarySystemDepends = [ openmpi ];
+       libraryToolDepends = [ c2hs ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base monad-loops tasty tasty-hspec tasty-hunit unix
+       ];
+       benchmarkHaskellDepends = [ base criterion ];
+       description = "MPI bindings for Haskell";
+       license = stdenv.lib.licenses.asl20;
+     }) {inherit (pkgs) openmpi;};
+
   "mpppc" = callPackage
     ({ mkDerivation, ansi-terminal, base, bytestring, split, text }:
      mkDerivation {
@@ -151082,8 +151429,8 @@ self: {
      }:
      mkDerivation {
        pname = "ngx-export";
-       version = "1.4.2";
-       sha256 = "10rfhx29b5l43i4fw7inp38i9a296gb0dsjs6jsm6g4d09pfjljs";
+       version = "1.5.0";
+       sha256 = "1lw1hf2xy86n6c8426zdvk1qbm43gsk5zxjrbfqcy28qlnvwcdpa";
        libraryHaskellDepends = [
          async base binary bytestring deepseq monad-loops template-haskell
          unix
@@ -151092,6 +151439,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ngx-export-tools" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, ngx-export, safe
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "ngx-export-tools";
+       version = "0.1.2.0";
+       sha256 = "0vkcgj8y4jh63nwh0djxfjvkbpa66zpf32y5912lwj7xf6rm769q";
+       libraryHaskellDepends = [
+         aeson base binary bytestring ngx-export safe template-haskell
+       ];
+       description = "Extra tools for Nginx haskell module";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "niagra" = callPackage
     ({ mkDerivation, base, ghc-prim, HUnit, mtl, primitive, QuickCheck
      , text, transformers
@@ -154661,8 +155023,8 @@ self: {
        pname = "openssl-streams";
        version = "1.2.1.3";
        sha256 = "0pwghr7ygv59k572xsj1j97rilkbjz66qaiyj0ra2wfg6pl70wfw";
-       revision = "1";
-       editedCabalFile = "0kvbb0sgli3h1yw229cllfrs2w1maapmvj1i472ywhpsgpz83362";
+       revision = "2";
+       editedCabalFile = "1004kgdryflpkp19dv4ikilhcn0xbfc5dsp6v3ib34580pcfj7wy";
        libraryHaskellDepends = [
          base bytestring HsOpenSSL io-streams network
        ];
@@ -160527,6 +160889,8 @@ self: {
        pname = "persistent-postgresql";
        version = "2.9.0";
        sha256 = "1rqlbdz7wwjl1d3xqp01sz5xnn8hff35hgkhx6c66lzrfyl9q0mx";
+       revision = "1";
+       editedCabalFile = "0xrnww7n6kwr2371fj5xklslbx0114yj3pxcpdzwalmin5wm8vah";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring conduit containers monad-logger
          persistent postgresql-libpq postgresql-simple resource-pool
@@ -161443,6 +161807,17 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "physics" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "physics";
+       version = "0.1.2.1";
+       sha256 = "07ysi2xq73g29pv4c3zvwq9zf1yjl2aszb1zkim49n00f5bxfnqc";
+       libraryHaskellDepends = [ base ];
+       description = "dimensions, quantities and constants";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "pi-calculus" = callPackage
     ({ mkDerivation, AES, base, binary, byteable, bytestring
      , containers, cryptohash, HTTP, io-streams, mtl, network, parsec
@@ -165424,6 +165799,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "postgresql-simple_0_6" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
+     , bytestring, bytestring-builder, case-insensitive, containers
+     , cryptohash, filepath, hashable, HUnit, Only, postgresql-libpq
+     , scientific, tasty, tasty-golden, tasty-hunit, template-haskell
+     , text, time, transformers, uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "postgresql-simple";
+       version = "0.6";
+       sha256 = "1jp08vg040p2qbgy2hldkac1qy1m2k1r6r67hh6dziw5ak1kjs69";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring bytestring-builder
+         case-insensitive containers hashable Only postgresql-libpq
+         scientific template-haskell text time transformers uuid-types
+         vector
+       ];
+       testHaskellDepends = [
+         aeson base base16-bytestring bytestring case-insensitive containers
+         cryptohash filepath HUnit tasty tasty-golden tasty-hunit text time
+         vector
+       ];
+       benchmarkHaskellDepends = [ base vector ];
+       description = "Mid-Level PostgreSQL client library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "postgresql-simple-bind" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, data-default
      , exceptions, heredoc, hspec, postgresql-simple, template-haskell
@@ -165554,6 +165957,8 @@ self: {
        pname = "postgresql-simple-url";
        version = "0.2.1.0";
        sha256 = "1jg9gvpidrfy2hqixwqsym1l1mnkafmxwq58jpbzdmrbvryga1qk";
+       revision = "1";
+       editedCabalFile = "0ck0vrlsyj3vm8sk59jnyyqpvnv1l9mciifdnrzwr981pha147qp";
        libraryHaskellDepends = [
          base network-uri postgresql-simple split
        ];
@@ -167020,6 +167425,8 @@ self: {
        pname = "prettyprinter-vty";
        version = "0.1.0.0";
        sha256 = "12nj0v9p5bjbhwmkknc2ybdw52m5hngnf7c53qfi3crbrx4maxrd";
+       revision = "1";
+       editedCabalFile = "120lhr6g3grsybq5bp0vg38cdb78dysq8nwa206ghzigaxs34vcd";
        libraryHaskellDepends = [ base prettyprinter vty ];
        description = "prettyprinter backend for vty";
        license = stdenv.lib.licenses.isc;
@@ -167265,13 +167672,18 @@ self: {
      }) {};
 
   "primitive-maybe" = callPackage
-    ({ mkDerivation, base, primitive }:
+    ({ mkDerivation, base, primitive, QuickCheck, quickcheck-classes
+     , tagged, tasty, tasty-quickcheck
+     }:
      mkDerivation {
        pname = "primitive-maybe";
-       version = "0.1.0";
-       sha256 = "0pxkgkwlpphk5x38f2jv9gl3n74l1spnfs15sb34hxgyggrz4k6j";
+       version = "0.1.1";
+       sha256 = "00p9xrvv32wcj3ln9z1dk31bb47r95y4w4ny4y28wl6vyc6vl0ln";
        libraryHaskellDepends = [ base primitive ];
-       testHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base primitive QuickCheck quickcheck-classes tagged tasty
+         tasty-quickcheck
+       ];
        description = "Arrays of Maybes";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -178799,6 +179211,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "rfc5051_0_1_0_4" = callPackage
+    ({ mkDerivation, base, bytestring, containers }:
+     mkDerivation {
+       pname = "rfc5051";
+       version = "0.1.0.4";
+       sha256 = "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base bytestring containers ];
+       description = "Simple unicode collation as per RFC5051";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "rgb-color-model" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -184521,6 +184947,8 @@ self: {
        pname = "semiring-num";
        version = "1.6.0.1";
        sha256 = "1l9j59r0ph34fqkjw1gdf3yzyzk8p6362cznixzx6qnhphbkqjsi";
+       revision = "1";
+       editedCabalFile = "123jk59i4ziv6ghmy8349icpvzgw90xjd6dxzlnayf0qg01adzsr";
        libraryHaskellDepends = [
          base containers deepseq hashable log-domain scientific
          template-haskell time unordered-containers vector
@@ -185198,6 +185626,8 @@ self: {
        pname = "servant";
        version = "0.14.1";
        sha256 = "083layvq76llq3y49k27cdqzxka6mjgw541jhzndxx4avlcjzym7";
+       revision = "1";
+       editedCabalFile = "1n9lwm77w0xi6jzqrhyn6akf71z140wngj4s5x2zkndq8wmg4rg4";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson attoparsec base base-compat bytestring case-insensitive
@@ -185691,8 +186121,8 @@ self: {
        pname = "servant-client";
        version = "0.14";
        sha256 = "0jr2057y7vp6d2jcnisawkajinnqm68h024crh929r9fdka0p1n6";
-       revision = "1";
-       editedCabalFile = "1ywyb3mycpfcvv7dfgd72ajnkqr8cyiyp84hsfxcfvppq8cigmms";
+       revision = "2";
+       editedCabalFile = "087ja0xbwm1yg38i5pc26fxsjx4pfdcgqmw0h1lvf0z1alz8rq05";
        libraryHaskellDepends = [
          base base-compat bytestring containers exceptions http-client
          http-media http-types monad-control mtl semigroupoids
@@ -185721,6 +186151,8 @@ self: {
        pname = "servant-client-core";
        version = "0.14.1";
        sha256 = "0qfpakwl6yj6l2br9wa9zs0v7nzmj4bngspw6p536swx39npnkn2";
+       revision = "1";
+       editedCabalFile = "04xr6zpslw7pyzxp22qd8k2w9azc3pds5gplnwni12waqahf410i";
        libraryHaskellDepends = [
          base base-compat base64-bytestring bytestring containers exceptions
          free generics-sop http-api-data http-media http-types network-uri
@@ -185823,8 +186255,8 @@ self: {
        pname = "servant-docs";
        version = "0.11.2";
        sha256 = "1x6lvpvlm1lh51y2pmldrjdjjrs5qnq44m2abczr75fjjy6hla3b";
-       revision = "5";
-       editedCabalFile = "10b463waaa75aawjdag52yjv2bhkpnp3xygb39zyifpaf6iix100";
+       revision = "6";
+       editedCabalFile = "0w9yi4rmfq4irmnia9rl9pb66ix086ic9nd0grspnk54ib7970cl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -185974,8 +186406,8 @@ self: {
        pname = "servant-foreign";
        version = "0.11.1";
        sha256 = "01cq938b4szvnapf8c4ir8j09aq25jwgnp3jbfxnja027c1v3735";
-       revision = "3";
-       editedCabalFile = "1ln18qi2bb9xfk3phydci5r2x0mf6dbgc9lc8k8qpx08bkid65x4";
+       revision = "4";
+       editedCabalFile = "1alal6ps1lwl8yd2vwkpmkn4a69blr1ws2cba7mc7a2w63lg1pyz";
        libraryHaskellDepends = [
          base base-compat http-types lens servant text
        ];
@@ -185991,8 +186423,8 @@ self: {
        pname = "servant-generate";
        version = "0.1";
        sha256 = "0i71d95yfrlj5m5wr8ksxq8nkvwbsj81d4qm3j24pcgf6a32rrcw";
-       revision = "2";
-       editedCabalFile = "00y5ji53sz59wys4nk2xcdpggydvkkqdxnm0aqj5raxzmakqnraq";
+       revision = "3";
+       editedCabalFile = "11hmn45fsl78kq6lladgz29yjycmr7lxmkswc8f41zbcb4m8rzyk";
        libraryHaskellDepends = [ base servant servant-server ];
        description = "Utilities for generating mock server implementations";
        license = stdenv.lib.licenses.bsd3;
@@ -186161,8 +186593,8 @@ self: {
        pname = "servant-js";
        version = "0.9.3.2";
        sha256 = "1p37520x85rg7rnhazby0x6qas2sh5d79gygmaa5f7jalhkyrq02";
-       revision = "2";
-       editedCabalFile = "1mz21yf77nzfb30hlqncyx3jwr50ab7qh0m0cv8pds6s76s6k9sj";
+       revision = "3";
+       editedCabalFile = "0j5kmqzhkyb1wmvyxz0r20473myzp9bqcdgjbi8i4k1lfvcjsigq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -186264,8 +186696,8 @@ self: {
        pname = "servant-mock";
        version = "0.8.4";
        sha256 = "1705fw63lrzw79w1ypcdlf35d8qxx247q8isiqh28wzmc4j3kmnr";
-       revision = "2";
-       editedCabalFile = "0brnvssfcg105kkkj646wih8apnhd5gvy25c576i93x0nxb0n39j";
+       revision = "3";
+       editedCabalFile = "13sbgnzr0yfrbrbvzc6v66lxrgvg3pb7h9alvmg77kmm95gmx8mm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -186658,6 +187090,8 @@ self: {
        pname = "servant-server";
        version = "0.14.1";
        sha256 = "1fnxmy6k0ml11035ac4x2knvpraxpc0g076wx3a9k013xyqi0h02";
+       revision = "1";
+       editedCabalFile = "028vqbmqkc9gjsk34n74ssi0xfn085v26zdvpixgfi5yd7cvfg03";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -186922,6 +187356,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant-swagger_1_1_6" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, base-compat, bytestring
+     , Cabal, cabal-doctest, directory, doctest, filepath, hspec
+     , hspec-discover, http-media, insert-ordered-containers, lens
+     , QuickCheck, servant, singleton-bool, swagger2, template-haskell
+     , text, time, unordered-containers, utf8-string
+     }:
+     mkDerivation {
+       pname = "servant-swagger";
+       version = "1.1.6";
+       sha256 = "1gx61328ciprc6ps8xzawfj483s28h5z21zmqczqqh3wfvc8h77w";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         aeson aeson-pretty base bytestring hspec http-media
+         insert-ordered-containers lens QuickCheck servant singleton-bool
+         swagger2 text unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base base-compat directory doctest filepath hspec lens
+         QuickCheck servant swagger2 template-haskell text time utf8-string
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Generate Swagger specification for your servant API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-swagger-ui" = callPackage
     ({ mkDerivation, base, bytestring, file-embed-lzma, servant
      , servant-server, servant-swagger-ui-core, swagger2, text
@@ -186940,6 +187401,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant-swagger-ui_0_3_2_3_19_3" = callPackage
+    ({ mkDerivation, base, bytestring, file-embed-lzma, servant
+     , servant-server, servant-swagger-ui-core, swagger2, text
+     }:
+     mkDerivation {
+       pname = "servant-swagger-ui";
+       version = "0.3.2.3.19.3";
+       sha256 = "0s2y6fhm26gzs344ig86nh6d1sy2dxfqpwpgz6c2dcg65jcbbpc7";
+       libraryHaskellDepends = [
+         base bytestring file-embed-lzma servant servant-server
+         servant-swagger-ui-core swagger2 text
+       ];
+       description = "Servant swagger ui";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-swagger-ui-core" = callPackage
     ({ mkDerivation, base, blaze-markup, bytestring, http-media
      , servant, servant-blaze, servant-server, swagger2, text
@@ -186960,16 +187438,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant-swagger-ui-core_0_3_2" = callPackage
+    ({ mkDerivation, base, blaze-markup, bytestring, http-media
+     , servant, servant-blaze, servant-server, swagger2, text
+     , transformers, transformers-compat, wai-app-static
+     }:
+     mkDerivation {
+       pname = "servant-swagger-ui-core";
+       version = "0.3.2";
+       sha256 = "1a1wk90vm6mq8byxz4syr03l1rf6qj8zhda7lnp23pn5d270xkd2";
+       libraryHaskellDepends = [
+         base blaze-markup bytestring http-media servant servant-blaze
+         servant-server swagger2 text transformers transformers-compat
+         wai-app-static
+       ];
+       description = "Servant swagger ui core components";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-swagger-ui-jensoleg" = callPackage
     ({ mkDerivation, base, bytestring, file-embed-lzma, servant
      , servant-server, servant-swagger-ui-core, swagger2, text
      }:
      mkDerivation {
        pname = "servant-swagger-ui-jensoleg";
-       version = "0.3";
-       sha256 = "1ymw2lkfn0bkmddvpmv0ikv45fqac2zidnli8bfyp92jf0b5dnik";
-       revision = "2";
-       editedCabalFile = "1rghdc3gbwcrp2iz8xaw82y48asbb84fxj574p38pwsb3lwfxrw4";
+       version = "0.3.2";
+       sha256 = "1ybkwa6dyi9v1rcqd0gzl1hqkinkmsqwz0ang0cmsa6d8ym3zmii";
        libraryHaskellDepends = [
          base bytestring file-embed-lzma servant servant-server
          servant-swagger-ui-core swagger2 text
@@ -186984,10 +187479,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-swagger-ui-redoc";
-       version = "0.3.0.1.21.2";
-       sha256 = "1p3mq7m5hvid7g7jwpf2jz923512wlprh6gikq5x2vcb14d40qwl";
-       revision = "2";
-       editedCabalFile = "0am6kh3r8av69n5778rr84k92xifi9gfgsrpfnw2vs9krq94gph8";
+       version = "0.3.2.1.22.2";
+       sha256 = "0d4r6rp48lkgd4903hfja14mlar1h17hrb4fhq05p3wga7kik6g0";
        libraryHaskellDepends = [
          base bytestring file-embed-lzma servant servant-server
          servant-swagger-ui-core swagger2 text
@@ -187072,8 +187565,8 @@ self: {
        pname = "servant-yaml";
        version = "0.1.0.0";
        sha256 = "011jxvr2i65bf0kmdn0sxkqgfz628a0sfhzphr1rqsmh8sqdj5y9";
-       revision = "21";
-       editedCabalFile = "1xrlhbgh54ny4xiqcdbka7i86wkyyqndwwv3r3k47xdr5683iyc1";
+       revision = "22";
+       editedCabalFile = "1mi52j2c7960k0qmxqd7238yxgbccb0xgfj3ahh0zfckficn9bk7";
        libraryHaskellDepends = [
          base bytestring http-media servant yaml
        ];
@@ -188414,6 +188907,32 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
+  "shakespeare_2_0_19" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
+     , containers, directory, exceptions, ghc-prim, hspec, HUnit, parsec
+     , process, scientific, template-haskell, text, time, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "shakespeare";
+       version = "2.0.19";
+       sha256 = "0h1nmdpizw4bvpkxlnrwq02r3wnk01z4jqid12hp30bi577yqd5l";
+       libraryHaskellDepends = [
+         aeson base blaze-html blaze-markup bytestring containers directory
+         exceptions ghc-prim parsec process scientific template-haskell text
+         time transformers unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base blaze-html blaze-markup bytestring containers directory
+         exceptions ghc-prim hspec HUnit parsec process template-haskell
+         text time transformers
+       ];
+       description = "A toolkit for making compile-time interpolated templates";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ psibi ];
+     }) {};
+
   "shakespeare-babel" = callPackage
     ({ mkDerivation, base, classy-prelude, data-default, directory
      , process, shakespeare, template-haskell
@@ -189956,8 +190475,8 @@ self: {
      }:
      mkDerivation {
        pname = "simple-logging";
-       version = "0.2.0.4";
-       sha256 = "13f6562rhk5bb5b2rmn0zsw2pil6qis463kx9d684j2m0qnqifdm";
+       version = "0.2.0.5";
+       sha256 = "1xli7ypsqbqv0yx58z0g7fbg5i83rkwwgv65hlx5cpfip4ks3qnn";
        libraryHaskellDepends = [
          aeson base bytestring directory exceptions filepath hscolour
          iso8601-time lens mtl simple-effects string-conv text time uuid
@@ -190866,11 +191385,29 @@ self: {
        pname = "size-based";
        version = "0.1.1.0";
        sha256 = "1z6w3qdx34c6y4gbs0b9zshn5al55lxzc7mfyywm91vcwi361xki";
+       revision = "1";
+       editedCabalFile = "1rw9ddw1vyv9k47p0d79qbvngym005fmz00hqrg3p1rq2vlfjdv2";
+       libraryHaskellDepends = [
+         base dictionary-sharing template-haskell testing-type-modifiers
+       ];
+       description = "Sized functors, for size-based enumerations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "size-based_0_1_2_0" = callPackage
+    ({ mkDerivation, base, dictionary-sharing, template-haskell
+     , testing-type-modifiers
+     }:
+     mkDerivation {
+       pname = "size-based";
+       version = "0.1.2.0";
+       sha256 = "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp";
        libraryHaskellDepends = [
          base dictionary-sharing template-haskell testing-type-modifiers
        ];
        description = "Sized functors, for size-based enumerations";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "sized" = callPackage
@@ -191112,6 +191649,8 @@ self: {
        pname = "skews";
        version = "0.1.0.1";
        sha256 = "03dn42hj50g4if1biln8m9rzf54iccqivkdciw06yrvx7q64hi5m";
+       revision = "1";
+       editedCabalFile = "0zvqfr9dfcap3ljpkq5hq95npmhrmndlh0gs4pa2zm8bwrh1nl66";
        libraryHaskellDepends = [ base bytestring deque websockets ];
        testHaskellDepends = [
          async base bytestring deque envy hspec network websockets
@@ -191347,6 +191886,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "slack-web_0_2_0_7" = 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.7";
+       sha256 = "1jd8ca2d4bhq08ddqv87bnj2wqad89cqmsawvffl8mqki3hrca9x";
+       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
+       ];
+       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
@@ -192260,8 +192823,8 @@ self: {
        pname = "snap-core";
        version = "1.0.3.2";
        sha256 = "136q7l4hd5yn5hb507q1ziqx124ma1lkzh5dx0n150p8dx3rhhsc";
-       revision = "1";
-       editedCabalFile = "08ll71h3rv9bppr7xrflg4y627vnmxgfhby1kli9cj0a7ryspam1";
+       revision = "2";
+       editedCabalFile = "0m0rjsgv0lkd0y9ragn478ibw98c9iys4mrj26x8ihasdnzgkqxq";
        libraryHaskellDepends = [
          attoparsec base bytestring bytestring-builder case-insensitive
          containers directory filepath hashable HUnit io-streams lifted-base
@@ -192464,8 +193027,8 @@ self: {
        pname = "snap-server";
        version = "1.1.0.0";
        sha256 = "0vvw9n8xs272qdlrf3dxhnva41zh3awi7pf022rrjj75lj8a77i4";
-       revision = "1";
-       editedCabalFile = "1lyx51zr1cmjyvsfplxpzv87agvvv83v3ww8m01fdh7x31np1chc";
+       revision = "2";
+       editedCabalFile = "03jmxbz9bf0yr3vzf3xa7ajbz3q9i6cn7bzqan4vy5f26c0n6xld";
        configureFlags = [ "-fopenssl" ];
        isLibrary = true;
        isExecutable = true;
@@ -195372,48 +195935,47 @@ self: {
      }) {};
 
   "sprinkles" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, array, base, bytestring
-     , Cabal, case-insensitive, cereal, classy-prelude, containers, curl
-     , data-default, directory, filepath, ginger, Glob, hashable, HDBC
+    ({ mkDerivation, aeson, aeson-pretty, array, async, base
+     , base64-bytestring, bcrypt, bytestring, Cabal, case-insensitive
+     , cereal, containers, css-syntax, curl, data-default, directory
+     , extra, file-embed, filepath, ginger, Glob, hashable, HDBC
      , HDBC-mysql, HDBC-postgresql, HDBC-sqlite3, heredoc, hsyslog, HTTP
-     , http-types, memcached-binary, mime-types, mtl, network-uri
-     , pandoc, pandoc-creole, pandoc-types, parsec, process
-     , random-shuffle, regex-base, regex-pcre, safe, scientific
-     , system-locale, tasty, tasty-hunit, tasty-quickcheck
+     , http-types, lens, memcache, mime-types, mtl, network-uri, nonce
+     , pandoc, pandoc-types, parsec, process, random, random-shuffle
+     , regex-base, regex-pcre, safe, scientific, SHA, split, stm
+     , system-locale, tagsoup, tasty, tasty-hunit, tasty-quickcheck
      , template-haskell, temporary, text, time, transformers
-     , unix-compat, unordered-containers, utf8-string, vector, wai
-     , wai-extra, wai-handler-fastcgi, warp, yaml
+     , unix-compat, unix-time, unordered-containers, utf8-string, vector
+     , wai, wai-extra, wai-handler-fastcgi, warp, yaml, yeshql-hdbc
      }:
      mkDerivation {
        pname = "sprinkles";
-       version = "0.3.5.0";
-       sha256 = "1xsq4rxslz53ki9ivjs7chfyqnrdy6q1yn1sb1bf4bcd09255rxn";
+       version = "0.6.0.0";
+       sha256 = "0kc4zg3brys6w7ccih74k4drsrahkbr66islgv1kjqpbkjfh5bk7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson aeson-pretty array base bytestring Cabal case-insensitive
-         cereal classy-prelude containers curl data-default directory
-         filepath ginger Glob hashable HDBC HDBC-mysql HDBC-postgresql
-         HDBC-sqlite3 hsyslog HTTP http-types memcached-binary mime-types
-         mtl network-uri pandoc pandoc-creole pandoc-types parsec process
-         random-shuffle regex-base regex-pcre safe scientific system-locale
-         template-haskell text time transformers unix-compat
-         unordered-containers utf8-string vector wai wai-extra
-         wai-handler-fastcgi warp yaml
+         aeson aeson-pretty array base base64-bytestring bcrypt bytestring
+         Cabal case-insensitive cereal containers css-syntax curl
+         data-default directory extra file-embed filepath ginger Glob
+         hashable HDBC HDBC-mysql HDBC-postgresql HDBC-sqlite3 heredoc
+         hsyslog HTTP http-types lens memcache mime-types mtl network-uri
+         nonce pandoc pandoc-types parsec process random random-shuffle
+         regex-base regex-pcre safe scientific SHA split stm system-locale
+         tagsoup template-haskell text time transformers unix-compat
+         unix-time unordered-containers utf8-string vector wai wai-extra
+         wai-handler-fastcgi warp yaml yeshql-hdbc
        ];
        executableHaskellDepends = [
-         base classy-prelude data-default parsec safe
+         async base data-default parsec safe text
        ];
        testHaskellDepends = [
-         base classy-prelude data-default directory filepath heredoc
-         regex-base regex-pcre tasty tasty-hunit tasty-quickcheck temporary
-         wai-extra
+         base data-default directory filepath heredoc regex-base regex-pcre
+         tasty tasty-hunit tasty-quickcheck temporary wai-extra
        ];
        description = "JSON API to HTML website wrapper";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {pandoc-creole = null;};
+     }) {};
 
   "spritz" = callPackage
     ({ mkDerivation, base, lens, mtl, vector }:
@@ -196305,11 +196867,11 @@ self: {
      , Cabal, conduit, conduit-extra, containers, cryptonite
      , cryptonite-conduit, deepseq, directory, echo, exceptions, extra
      , file-embed, filelock, filepath, fsnotify, generic-deriving
-     , gitrev, hackage-security, hashable, hpack, hpc, hspec
-     , http-client, http-client-tls, http-conduit, http-types, memory
-     , microlens, mintty, monad-logger, mono-traversable, mtl, mustache
+     , hackage-security, hashable, hpack, hpc, hspec, http-client
+     , http-client-tls, http-conduit, http-types, memory, microlens
+     , mintty, monad-logger, mono-traversable, mtl, mustache
      , neat-interpolation, network-uri, open-browser
-     , optparse-applicative, optparse-simple, path, path-io, persistent
+     , optparse-applicative, path, path-io, persistent
      , persistent-sqlite, persistent-template, pretty, primitive
      , process, project-template, QuickCheck, regex-applicative-text
      , resourcet, retry, rio, semigroups, smallcheck, split, stm, store
@@ -196320,10 +196882,14 @@ self: {
      }:
      mkDerivation {
        pname = "stack";
-       version = "1.7.1";
-       sha256 = "17rjc9fz1hn56jz4bnhhm50h5x71r69jizlw6dx7kfvm57hg5i0r";
-       revision = "10";
-       editedCabalFile = "1985lm9m6pm9mi4h4m2nrn9v2rnnfh14slcnqgyxy6k934xqvg35";
+       version = "1.9.1";
+       sha256 = "0s4n7as8zfs1k1ay0h5rzw6r3q1fhf5fa9w7xrzh4a4p1k09ldhk";
+       revision = "2";
+       editedCabalFile = "0vl61spx2jmq2hzjvvw7a270s3lhg1m7faxlxpd4zkyabpwba9ky";
+       configureFlags = [
+         "-fdisable-git-info" "-fhide-dependency-versions"
+         "-fsupported-build"
+       ];
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath ];
@@ -196349,15 +196915,15 @@ self: {
          base64-bytestring bindings-uname bytestring Cabal conduit
          conduit-extra containers cryptonite cryptonite-conduit deepseq
          directory echo exceptions extra file-embed filelock filepath
-         fsnotify generic-deriving gitrev hackage-security hashable hpack
-         hpc http-client http-client-tls http-conduit http-types memory
+         fsnotify generic-deriving hackage-security hashable hpack hpc
+         http-client http-client-tls http-conduit http-types memory
          microlens mintty monad-logger mono-traversable mtl mustache
          neat-interpolation network-uri open-browser optparse-applicative
-         optparse-simple path path-io persistent persistent-sqlite
-         persistent-template pretty primitive process project-template
-         regex-applicative-text resourcet retry rio semigroups split stm
-         store store-core streaming-commons tar template-haskell temporary
-         text text-metrics th-reify-many time tls transformers typed-process
+         path path-io persistent persistent-sqlite persistent-template
+         pretty primitive process project-template regex-applicative-text
+         resourcet retry rio semigroups split stm store store-core
+         streaming-commons tar template-haskell temporary text text-metrics
+         th-reify-many time tls transformers typed-process
          unicode-transforms unix unix-compat unliftio unordered-containers
          vector yaml zip-archive zlib
        ];
@@ -200102,8 +200668,8 @@ self: {
      }:
      mkDerivation {
        pname = "structured-cli";
-       version = "0.9.4.1";
-       sha256 = "15dyr7a122d43ddkadn6syy356yccp0gk087bw5slv80isgp95zi";
+       version = "2.0.0.1";
+       sha256 = "1xgf49pd1dm80qp1h14f2nyqv71axrijrd8k66jmmqkczf24jah2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -201469,6 +202035,8 @@ self: {
        pname = "swagger2";
        version = "2.3.0.1";
        sha256 = "1l8piv2phl8kq3rgna8wld80b569vazqk2ll1rgs5iakm42lxr1f";
+       revision = "1";
+       editedCabalFile = "12w7bsld9wp2nm61vwdwb6ndjd3g99i0g4hjr32mrycmf41yvs1a";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson base base-compat-batteries bytestring containers generics-sop
@@ -206557,6 +207125,8 @@ self: {
        pname = "texrunner";
        version = "0.0.1.2";
        sha256 = "1fxyxwgvn0rxhkl1fs2msr88jqwx5wwfnjsjlcankrwcn7gyk7jy";
+       revision = "1";
+       editedCabalFile = "137bbyxrrg9yn1060aqkamdk1mb7x12nwndradwp57057ix79fp4";
        libraryHaskellDepends = [
          attoparsec base bytestring directory filepath io-streams mtl
          process semigroups temporary
@@ -210840,8 +211410,8 @@ self: {
      }:
      mkDerivation {
        pname = "toodles";
-       version = "0.1.0.6";
-       sha256 = "18i8y9bmpysyz8mbjc1wksw1m35z78ljv0b3k5qxjav8fswfv0la";
+       version = "0.1.0.9";
+       sha256 = "01gjxd4pclilm19iw7nkr23pmyavd7d9k0wa1c63hwhdzm1591f7";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -210987,12 +211557,12 @@ self: {
      }) {};
 
   "total-map" = callPackage
-    ({ mkDerivation, base, containers }:
+    ({ mkDerivation, base, containers, semiring-num }:
      mkDerivation {
        pname = "total-map";
-       version = "0.0.7";
-       sha256 = "0chcnvsn3bzjmmp2bq6kxli1c73d477i49jbvnmqwz56an84ink1";
-       libraryHaskellDepends = [ base containers ];
+       version = "0.0.8";
+       sha256 = "0qzlpcczj5nh786070qp5ln1l8j5qbzdx7dmx08lmc69gf6dwf4i";
+       libraryHaskellDepends = [ base containers semiring-num ];
        description = "Finitely represented /total/ maps";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -214905,6 +215475,8 @@ self: {
        pname = "tzdata";
        version = "0.1.20180501.0";
        sha256 = "0nnzvkm6r7cq4g14zjxzgxx63sy8pxkg2whfgq6knpzhgran9n45";
+       revision = "1";
+       editedCabalFile = "19iqfzmh8xvd3cqlr1lp673232gk59z335xqbv18d4yy5qxc2fj0";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers deepseq vector
@@ -219674,8 +220246,8 @@ self: {
     ({ mkDerivation, base, containers, doctest, vector-space }:
      mkDerivation {
        pname = "vector-space-map";
-       version = "0.2.0";
-       sha256 = "092lr61hi8sm0i4302r7zy2s08b4d97k5hyrbnkvnyhfi1529v6f";
+       version = "0.2.1.1";
+       sha256 = "1sg5jgk0kll0jbi66m70ymr085hgvz4kcbvcbn9427w1imbnjfdq";
        libraryHaskellDepends = [ base containers vector-space ];
        testHaskellDepends = [ base doctest ];
        description = "vector-space operations for finite maps using Data.Map";
@@ -220805,7 +221377,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "vty_5_24_1" = callPackage
+  "vty_5_25" = callPackage
     ({ mkDerivation, base, blaze-builder, bytestring, Cabal, containers
      , deepseq, directory, filepath, hashable, HUnit, microlens
      , microlens-mtl, microlens-th, mtl, parallel, parsec, QuickCheck
@@ -220816,8 +221388,8 @@ self: {
      }:
      mkDerivation {
        pname = "vty";
-       version = "5.24.1";
-       sha256 = "0xd9p9p1bfma5mvn9k4hv4h7sji2hq27b4lg6czgiwf97dmdw3yc";
+       version = "5.25";
+       sha256 = "1m37q8l4ynnhyln1hkwxrmgysslb5d6nvnvx667q4q004dhrcr91";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -222130,21 +222702,23 @@ self: {
      }) {};
 
   "wai-middleware-throttle" = callPackage
-    ({ mkDerivation, base, bytestring, bytestring-builder, containers
-     , hashable, hspec, http-types, HUnit, mtl, network, QuickCheck, stm
-     , text, token-bucket, transformers, wai, wai-extra
+    ({ mkDerivation, base, bytestring, bytestring-builder, cache, clock
+     , containers, hashable, hspec, http-types, HUnit, mtl, network
+     , QuickCheck, safe-exceptions, stm, text, token-bucket
+     , transformers, wai, wai-extra
      }:
      mkDerivation {
        pname = "wai-middleware-throttle";
-       version = "0.2.2.1";
-       sha256 = "1z4n7ja5kq7cl2117w8wx0kz3fjdzr3mlvx6m76jbgp0504vjgja";
+       version = "0.3.0.0";
+       sha256 = "16qhfqc0f5ahz2qc04a4by6iw1agxzcf14aqqkf1arf0hknvbvvv";
        libraryHaskellDepends = [
-         base bytestring bytestring-builder containers hashable http-types
-         mtl network stm text token-bucket transformers wai
+         base bytestring bytestring-builder cache clock containers hashable
+         http-types mtl network safe-exceptions stm text token-bucket
+         transformers wai
        ];
        testHaskellDepends = [
-         base bytestring hspec http-types HUnit QuickCheck stm transformers
-         wai wai-extra
+         base bytestring cache clock hspec http-types HUnit QuickCheck stm
+         transformers wai wai-extra
        ];
        description = "WAI Middleware for Request Throttling";
        license = stdenv.lib.licenses.bsd3;
@@ -222995,8 +223569,8 @@ self: {
      }:
      mkDerivation {
        pname = "wavefront";
-       version = "0.7.1.2";
-       sha256 = "047hdcvrkh4xwyp8i18w45qx7nhd59iii34nrh6ih9k77l6rr4qj";
+       version = "0.7.1.3";
+       sha256 = "1sly9gxq06n4x262fav0zvfzhgnxca1xwh4q7b4lq6g3gpwld9s5";
        libraryHaskellDepends = [
          attoparsec base dlist filepath mtl text transformers vector
        ];
@@ -225986,6 +226560,8 @@ self: {
        pname = "wss-client";
        version = "0.2.1.1";
        sha256 = "1wgqd8hh22ld72c1ccfr191ydqb5fija6c1l0vbg7n8pldhmi92w";
+       revision = "1";
+       editedCabalFile = "03q6mpdy93y8kjmjcxpjasg6q1mg64az28z99gm2w2iih3mqa702";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -230241,6 +230817,43 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-core_1_6_8_1" = callPackage
+    ({ mkDerivation, aeson, async, auto-update, base, blaze-html
+     , blaze-markup, byteable, bytestring, case-insensitive, cereal
+     , clientsession, conduit, conduit-extra, containers, cookie
+     , deepseq, fast-logger, gauge, hspec, hspec-expectations
+     , http-types, HUnit, monad-logger, mtl, network, parsec
+     , path-pieces, primitive, random, resourcet, rio, shakespeare
+     , streaming-commons, template-haskell, text, time, transformers
+     , unix-compat, unliftio, unordered-containers, vector, wai
+     , wai-extra, wai-logger, warp, word8
+     }:
+     mkDerivation {
+       pname = "yesod-core";
+       version = "1.6.8.1";
+       sha256 = "0kqgpcz1jihc80haidzx6cm75ak139q41195j8l3gz1vwbf94i9j";
+       libraryHaskellDepends = [
+         aeson auto-update base blaze-html blaze-markup byteable bytestring
+         case-insensitive cereal clientsession conduit conduit-extra
+         containers cookie deepseq fast-logger http-types monad-logger mtl
+         parsec path-pieces primitive random resourcet rio shakespeare
+         template-haskell text time transformers unix-compat unliftio
+         unordered-containers vector wai wai-extra wai-logger warp word8
+       ];
+       testHaskellDepends = [
+         async base bytestring clientsession conduit conduit-extra
+         containers cookie hspec hspec-expectations http-types HUnit network
+         path-pieces random resourcet shakespeare streaming-commons
+         template-haskell text transformers unliftio wai wai-extra warp
+       ];
+       benchmarkHaskellDepends = [
+         base blaze-html bytestring gauge shakespeare text
+       ];
+       description = "Creation of type-safe, RESTful web applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-crud" = callPackage
     ({ mkDerivation, base, classy-prelude, containers, MissingH
      , monad-control, persistent, random, safe, stm, uuid, yesod-core
@@ -230447,8 +231060,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-fay";
-       version = "0.8.0";
-       sha256 = "0inx11w4wdgnbxqghm9738qs19519dcdgyjmm3aah12wzv4i68gf";
+       version = "0.9.0";
+       sha256 = "186mxq6b5hl0ylsx9lajisywkc9klvbfbhq39pq497wk519ppc8s";
        libraryHaskellDepends = [
          aeson base bytestring data-default directory fay fay-dom filepath
          monad-loops process pureMD5 shakespeare template-haskell text
diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix
index 9e6d35b818f4..4120124d9bae 100644
--- a/pkgs/development/interpreters/ruby/default.nix
+++ b/pkgs/development/interpreters/ruby/default.nix
@@ -111,8 +111,8 @@ let
 
         postPatch = if isRuby25 then ''
           sed -i configure.ac -e '/config.guess/d'
-          cp ${config}/config.guess tool/
-          cp ${config}/config.sub tool/
+          cp --remove-destination ${config}/config.guess tool/
+          cp --remove-destination ${config}/config.sub tool/
         ''
         else opString useRailsExpress ''
           sed -i configure.in -e '/config.guess/d'
@@ -202,26 +202,26 @@ let
 
 in {
   ruby_2_3 = generic {
-    version = rubyVersion "2" "3" "7" "";
+    version = rubyVersion "2" "3" "8" "";
     sha256 = {
-      src = "0zvx5kdp1frjs9n95n7ba7dy0alax33wi3nj8034m3ppvnf39k9m";
-      git = "11wbzw2ywwfnvlkg3qjg0as2pzk5zyk63y2iis42d91lg1l2flrk";
+      src = "1gwsqmrhpx1wanrfvrsj3j76rv888zh7jag2si2r14qf8ihns0dm";
+      git = "0158fg1sx6l6applbq0831kl8kzx5jacfl9lfg0shfzicmjlys3f";
     };
   };
 
   ruby_2_4 = generic {
-    version = rubyVersion "2" "4" "4" "";
+    version = rubyVersion "2" "4" "5" "";
     sha256 = {
-      src = "0nmfr2lijik6cykk0zbj11zcapcrvmdvq83k3r6q3k74g4d1qkr5";
-      git = "103cs7hz1v0h84lbrippl87s4lawi20m406rs5dgxl2gr2wyjpy5";
+      src = "162izk7c72y73vmdgcbsh8kqihrbm65xvp53r1s139pzwqd78dv7";
+      git = "181za4h6bd2bkyzyknxc18i5gq0pnqag60ybc17p0ixw3q7pdj43";
     };
   };
 
   ruby_2_5 = generic {
-    version = rubyVersion "2" "5" "1" "";
+    version = rubyVersion "2" "5" "2" "";
     sha256 = {
-      src = "1c99k0fjaq7k09104h1b1cqx6mrk2b14ic1jjnxc6yav68i1ij6s";
-      git = "1j0fd16aq9x98n0kq9c3kfp2sh6xcsq8q4733p0wfqjh3vz50kyj";
+      src = "0wgl1697sdiqh6ksgv40v627jp5557j1zi462krwnzhc9bk408xk";
+      git = "00xy323q2f2v102hfgsj9k20vggvvmyhd6byfhbc1qwz2vyrvc47";
     };
   };
 }
diff --git a/pkgs/development/interpreters/ruby/patchsets.nix b/pkgs/development/interpreters/ruby/patchsets.nix
index ca180b3c2294..151e9c483530 100644
--- a/pkgs/development/interpreters/ruby/patchsets.nix
+++ b/pkgs/development/interpreters/ruby/patchsets.nix
@@ -1,17 +1,17 @@
 { patchSet, useRailsExpress, ops, patchLevel }:
 
 rec {
-  "2.3.7" = ops useRailsExpress [
+  "2.3.8" = ops useRailsExpress [
     "${patchSet}/patches/ruby/2.3/head/railsexpress/01-skip-broken-tests.patch"
     "${patchSet}/patches/ruby/2.3/head/railsexpress/02-improve-gc-stats.patch"
     "${patchSet}/patches/ruby/2.3/head/railsexpress/03-display-more-detailed-stack-trace.patch"
   ];
-  "2.4.4" = ops useRailsExpress [
+  "2.4.5" = ops useRailsExpress [
     "${patchSet}/patches/ruby/2.4/head/railsexpress/01-skip-broken-tests.patch"
     "${patchSet}/patches/ruby/2.4/head/railsexpress/02-improve-gc-stats.patch"
     "${patchSet}/patches/ruby/2.4/head/railsexpress/03-display-more-detailed-stack-trace.patch"
   ];
-  "2.5.1" = ops useRailsExpress [
+  "2.5.2" = ops useRailsExpress [
     "${patchSet}/patches/ruby/2.5/head/railsexpress/01-fix-broken-tests-caused-by-ad.patch"
     "${patchSet}/patches/ruby/2.5/head/railsexpress/02-improve-gc-stats.patch"
     "${patchSet}/patches/ruby/2.5/head/railsexpress/03-more-detailed-stacktrace.patch"
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index 1ab0718e7960..c79b874ecb69 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -101,21 +101,17 @@ stdenv.mkDerivation {
 
   inherit src;
 
-  patchFlags = optionalString (stdenv.hostPlatform.libc == "msvcrt") "-p0";
+  patchFlags = "";
+
   patches = patches
-    ++ optional stdenv.isDarwin ./darwin-no-system-python.patch
-    ++ optional (stdenv.hostPlatform.libc == "msvcrt") (fetchurl {
-      url = "https://svn.boost.org/trac/boost/raw-attachment/tickaet/7262/"
-          + "boost-mingw.patch";
-      sha256 = "0s32kwll66k50w6r5np1y5g907b7lcpsjhfgr7rsw7q5syhzddyj";
-    });
+    ++ optional stdenv.isDarwin ./darwin-no-system-python.patch;
 
   meta = {
     homepage = http://boost.org/;
     description = "Collection of C++ libraries";
     license = stdenv.lib.licenses.boost;
 
-    platforms = (if versionOlder version "1.59" then remove "aarch64-linux" else id) platforms.unix;
+    platforms = (if versionOlder version "1.59" then remove "aarch64-linux" else id) (platforms.unix ++ platforms.windows);
     maintainers = with maintainers; [ peti wkennington ];
   };
 
@@ -139,7 +135,8 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ which buildPackages.stdenv.cc ];
+  nativeBuildInputs = [ which ];
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
   buildInputs = [ expat zlib bzip2 libiconv ]
     ++ optional (stdenv.hostPlatform == stdenv.buildPlatform) icu
     ++ optional stdenv.isDarwin fixDarwinDylibNames
diff --git a/pkgs/development/libraries/c-ares/default.nix b/pkgs/development/libraries/c-ares/default.nix
index 1835356e627d..099d02c82639 100644
--- a/pkgs/development/libraries/c-ares/default.nix
+++ b/pkgs/development/libraries/c-ares/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0vnwmbvymw677k780kpb6sb8i3szdp89rzy8mz1fwg1657yw3ls5";
   };
 
+  configureFlags = if stdenv.hostPlatform.isWindows then [ "--disable-shared" "--enable-static" ] else null;
+
   # ares_android.h header is missing
   # see issue https://github.com/c-ares/c-ares/issues/216
   postPatch = if stdenv.hostPlatform.isAndroid then ''
diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix
index 8e7d10782157..44086538cd04 100644
--- a/pkgs/development/libraries/gpgme/default.nix
+++ b/pkgs/development/libraries/gpgme/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, libgpgerror, gnupg, pkgconfig, glib, pth, libassuan
-, file, which
+, file, which, ncurses
 , autoreconfHook
 , git
 , texinfo
 , qtbase ? null
-, withPython ? false, swig2 ? null, python ? null
+, pythonSupport ? false, swig2 ? null, python ? null
 }:
 
 let
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     ++ lib.optional (qtbase != null) qtbase;
 
   nativeBuildInputs = [ file pkgconfig gnupg autoreconfHook git texinfo ]
-  ++ lib.optionals withPython [ python swig2 which ];
+  ++ lib.optionals pythonSupport [ python swig2 which ncurses ];
 
   postPatch =''
     substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--enable-fixed-path=${gnupg}/bin"
     "--with-libgpg-error-prefix=${libgpgerror.dev}"
-  ] ++ lib.optional withPython "--enable-languages=python";
+  ] ++ lib.optional pythonSupport "--enable-languages=python";
 
   NIX_CFLAGS_COMPILE =
     # qgpgme uses Q_ASSERT which retains build inputs at runtime unless
diff --git a/pkgs/development/libraries/libdbusmenu-qt/default.nix b/pkgs/development/libraries/libdbusmenu-qt/default.nix
index 501341d202ba..72c3ca0e2b05 100644
--- a/pkgs/development/libraries/libdbusmenu-qt/default.nix
+++ b/pkgs/development/libraries/libdbusmenu-qt/default.nix
@@ -24,6 +24,6 @@ stdenv.mkDerivation {
     description = "Provides a Qt implementation of the DBusMenu spec";
     inherit homepage;
     inherit (qt4.meta) platforms;
-    license = licenses.gpl2;
+    license = licenses.lgpl2;
   };
 }
diff --git a/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix b/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
index e8651de2b346..32b0c9758f73 100644
--- a/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
+++ b/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
@@ -1,12 +1,13 @@
-{ stdenv, fetchbzr, cmake, qtbase }:
+{ stdenv, fetchgit, cmake, qtbase }:
 
-stdenv.mkDerivation {
-  name = "libdbusmenu-qt-0.9.3+14";
+stdenv.mkDerivation rec {
+  name = "libdbusmenu-qt-${version}";
+  version = "0.9.3+16";
 
-  src = fetchbzr {
-    url = "https://bazaar.launchpad.net/~dbusmenu-team/libdbusmenu-qt/trunk";
-    rev = "ps-jenkins@lists.canonical.com-20140619090718-mppiiax5atpnb8i2";
-    sha256 = "1dbhaljyivbv3wc184zpjfjmn24zb6aj72wgg1gg1xl5f783issd";
+  src = fetchgit {
+    url = https://git.launchpad.net/ubuntu/+source/libdbusmenu-qt;
+    rev = "import/${version}.04.20160218-1";
+    sha256 = "039yvklhbmfbcynrbqq9n5ywmj8bjfslnkzcnwpzyhnxdzb6yxlx";
   };
 
   buildInputs = [ qtbase ];
@@ -19,6 +20,6 @@ stdenv.mkDerivation {
     description = "Provides a Qt implementation of the DBusMenu spec";
     maintainers = [ maintainers.ttuegel ];
     inherit (qtbase.meta) platforms;
-    license = licenses.gpl2;
+    license = licenses.lgpl2;
   };
 }
diff --git a/pkgs/development/libraries/libgnome-keyring/default.nix b/pkgs/development/libraries/libgnome-keyring/default.nix
index 0b496ff593b3..8dcbab95e976 100644
--- a/pkgs/development/libraries/libgnome-keyring/default.nix
+++ b/pkgs/development/libraries/libgnome-keyring/default.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation {
 
   meta = {
     inherit (glib.meta) platforms maintainers;
-    license = stdenv.lib.licenses.gpl2;
+    license = with stdenv.lib.licenses; [ gpl2 lgpl2 ];
   };
 }
diff --git a/pkgs/development/libraries/libite/default.nix b/pkgs/development/libraries/libite/default.nix
index 1616aa1e0cc1..0b00cf90ba00 100644
--- a/pkgs/development/libraries/libite/default.nix
+++ b/pkgs/development/libraries/libite/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     '';
     platforms = platforms.unix;
     maintainers = with maintainers; [ fpletz ];
-    license = with licenses; [ mit isc ];
+    license = with licenses; [ mit isc bsd2 bsd3 ];
   };
 }
 
diff --git a/pkgs/development/libraries/libjson/default.nix b/pkgs/development/libraries/libjson/default.nix
index a53918fd5f77..c83143dd6b13 100644
--- a/pkgs/development/libraries/libjson/default.nix
+++ b/pkgs/development/libraries/libjson/default.nix
@@ -11,10 +11,17 @@ in stdenv.mkDerivation rec {
   buildInputs = [ unzip ];
   makeFlags = [ "prefix=$(out)" ];
   preInstall = "mkdir -p $out/lib";
-  meta = {
+
+  meta = with stdenv.lib; {
     homepage = http://libjson.sourceforge.net/;
     description = "A JSON reader and writer";
-    longDescription = "A JSON reader and writer which is super-effiecient and usually runs circles around other JSON libraries. It's highly customizable to optimize for your particular project, and very lightweight. For Windows, OSX, or Linux. Works in any language.";
-    platforms = stdenv.lib.platforms.unix;
+    longDescription = ''
+      A JSON reader and writer which is super-efficient and
+      usually runs circles around other JSON libraries.
+      It's highly customizable to optimize for your particular project, and
+      very lightweight. For Windows, OSX, or Linux. Works in any language.
+    '';
+    platforms = platforms.unix;
+    license = licenses.bsd2;
   };
 }
diff --git a/pkgs/development/libraries/libkate/default.nix b/pkgs/development/libraries/libkate/default.nix
index 6c7e5881a784..7eff302397aa 100644
--- a/pkgs/development/libraries/libkate/default.nix
+++ b/pkgs/development/libraries/libkate/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libogg libpng ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A library for encoding and decoding Kate streams";
     longDescription = ''
       This is libkate, the reference implementation of a codec for the Kate
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
       in an Ogg container. It can carry Unicode text, images, and animate
       them.'';
     homepage = https://code.google.com/archive/p/libkate/;
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/liblastfm/default.nix b/pkgs/development/libraries/liblastfm/default.nix
index 331422dd8929..b7d90100837c 100644
--- a/pkgs/development/libraries/liblastfm/default.nix
+++ b/pkgs/development/libraries/liblastfm/default.nix
@@ -18,11 +18,12 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig which cmake ];
   buildInputs = stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.SystemConfiguration;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://github.com/lastfm/liblastfm;
     repositories.git = git://github.com/lastfm/liblastfm.git;
     description = "Official LastFM library";
     inherit (qt4.meta) platforms;
-    maintainers = with stdenv.lib.maintainers; [ phreedom ];
+    maintainers =  [ maintainers.phreedom ];
+    license = licenses.gpl3;
   };
 }
diff --git a/pkgs/development/libraries/liblastfmSF/default.nix b/pkgs/development/libraries/liblastfmSF/default.nix
index 73d996c5ec86..d9f460d44e8c 100644
--- a/pkgs/development/libraries/liblastfmSF/default.nix
+++ b/pkgs/development/libraries/liblastfmSF/default.nix
@@ -15,5 +15,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://liblastfm.sourceforge.net;
     description = "Unofficial C lastfm library";
+    license = stdenv.lib.licenses.gpl3;
   };
 }
diff --git a/pkgs/development/libraries/liblqr-1/default.nix b/pkgs/development/libraries/liblqr-1/default.nix
index 4b445c93175f..aa6922ea3421 100644
--- a/pkgs/development/libraries/liblqr-1/default.nix
+++ b/pkgs/development/libraries/liblqr-1/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
     homepage = http://liblqr.wikidot.com;
     description = "Seam-carving C/C++ library called Liquid Rescaling";
     platforms = platforms.all;
-    maintainers = [ ];
+    license = with licenses; [ gpl3 lgpl3 ];
   };
 }
diff --git a/pkgs/development/libraries/libmilter/default.nix b/pkgs/development/libraries/libmilter/default.nix
index bd0cd9fe9041..7e3c45634d9e 100644
--- a/pkgs/development/libraries/libmilter/default.nix
+++ b/pkgs/development/libraries/libmilter/default.nix
@@ -37,5 +37,6 @@ stdenv.mkDerivation rec {
     description = "Sendmail Milter mail filtering API library";
     platforms = platforms.unix;
     maintainers = with maintainers; [ fpletz ];
+    license = licenses.sendmail;
   };
 }
diff --git a/pkgs/development/libraries/libmms/default.nix b/pkgs/development/libraries/libmms/default.nix
index d1dd7860de4e..7f73fb09cd16 100644
--- a/pkgs/development/libraries/libmms/default.nix
+++ b/pkgs/development/libraries/libmms/default.nix
@@ -12,9 +12,10 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  meta = {
+  meta = with stdenv.lib; {
+    description = "Library for downloading (streaming) media files using the mmst and mmsh protocols";
     homepage = http://libmms.sourceforge.net;
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = platforms.all;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/libmp3splt/default.nix b/pkgs/development/libraries/libmp3splt/default.nix
index af8297e98549..52072000115c 100644
--- a/pkgs/development/libraries/libmp3splt/default.nix
+++ b/pkgs/development/libraries/libmp3splt/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     description = "Utility to split mp3, ogg vorbis and FLAC files without decoding";
     maintainers = with maintainers; [ bosu ];
     platforms   = platforms.unix;
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/libmtp/default.nix b/pkgs/development/libraries/libmtp/default.nix
index c3061626a6ae..1d8dd7e20f14 100644
--- a/pkgs/development/libraries/libmtp/default.nix
+++ b/pkgs/development/libraries/libmtp/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   # tried to install files to /lib/udev, hopefully OK
   configureFlags = [ "--with-udev=$$bin/lib/udev" ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://libmtp.sourceforge.net;
     description = "An implementation of Microsoft's Media Transfer Protocol";
     longDescription = ''
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
       in the form of a library suitable primarily for POSIX compliant operating
       systems. We implement MTP Basic, the stuff proposed for standardization.
       '';
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ ];
+    platforms = platforms.unix;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/libmusicbrainz/5.x.nix b/pkgs/development/libraries/libmusicbrainz/5.x.nix
index f197d5bcef98..2b59adf8f922 100644
--- a/pkgs/development/libraries/libmusicbrainz/5.x.nix
+++ b/pkgs/development/libraries/libmusicbrainz/5.x.nix
@@ -16,14 +16,14 @@ stdenv.mkDerivation rec {
 
   dontUseCmakeBuildDir=true;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://musicbrainz.org/doc/libmusicbrainz;
     description = "MusicBrainz Client Library (5.x version)";
     longDescription = ''
       The libmusicbrainz (also known as mb_client or MusicBrainz Client
       Library) is a development library geared towards developers who wish to
       add MusicBrainz lookup capabilities to their applications.'';
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = platforms.all;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/libmusicbrainz/default.nix b/pkgs/development/libraries/libmusicbrainz/default.nix
index 596399c4fa8f..5335b6577f0a 100644
--- a/pkgs/development/libraries/libmusicbrainz/default.nix
+++ b/pkgs/development/libraries/libmusicbrainz/default.nix
@@ -10,14 +10,14 @@ stdenv.mkDerivation rec {
     sha256 = "1i9qly13bwwmgj68vma766hgvsd1m75236haqsp9zgh5znlmkm3z";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://musicbrainz.org/doc/libmusicbrainz;
     description = "MusicBrainz Client Library (3.x version)";
     longDescription = ''
       The libmusicbrainz (also known as mb_client or MusicBrainz Client
       Library) is a development library geared towards developers who wish to
       add MusicBrainz lookup capabilities to their applications.'';
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = platforms.all;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/libnatspec/default.nix b/pkgs/development/libraries/libnatspec/default.nix
index 9b692e9e3b2e..db4f6f5d4688 100644
--- a/pkgs/development/libraries/libnatspec/default.nix
+++ b/pkgs/development/libraries/libnatspec/default.nix
@@ -12,11 +12,11 @@ stdenv.mkDerivation (rec {
 
   buildInputs = [ popt ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://natspec.sourceforge.net/ ;
     description = "A library intended to smooth national specificities in using of programs";
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ ];
+    platforms = platforms.unix;
+    license = licenses.lgpl21;
   };
 } // stdenv.lib.optionalAttrs (!stdenv.isLinux) {
   propagatedBuildInputs = [ libiconv ];
diff --git a/pkgs/development/libraries/libnetfilter_queue/default.nix b/pkgs/development/libraries/libnetfilter_queue/default.nix
index 12a45d088ef6..94b3dc90a0b6 100644
--- a/pkgs/development/libraries/libnetfilter_queue/default.nix
+++ b/pkgs/development/libraries/libnetfilter_queue/default.nix
@@ -12,10 +12,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libmnl libnfnetlink ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.netfilter.org/projects/libnetfilter_queue/;
     description = "Userspace API to packets queued by the kernel packet filter";
-
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libnice/default.nix b/pkgs/development/libraries/libnice/default.nix
index 1f58545574cd..8582dc4e1d90 100644
--- a/pkgs/development/libraries/libnice/default.nix
+++ b/pkgs/development/libraries/libnice/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   doCheck = false; # fails with "fatal error: nice/agent.h: No such file or directory"
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://nice.freedesktop.org/wiki/;
     description = "The GLib ICE implementation";
     longDescription = ''
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
 
       It provides a GLib-based library, libnice and a Glib-free library,
       libstun as well as GStreamer elements.'';
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    license = with licenses; [ lgpl21 mpl11 ];
   };
 }
diff --git a/pkgs/development/libraries/libnotify/default.nix b/pkgs/development/libraries/libnotify/default.nix
index fbde49a54d08..11f2731eb725 100644
--- a/pkgs/development/libraries/libnotify/default.nix
+++ b/pkgs/development/libraries/libnotify/default.nix
@@ -17,9 +17,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig autoreconfHook gobjectIntrospection ];
   buildInputs = [ glib gdk_pixbuf ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://developer.gnome.org/notification-spec/;
     description = "A library that sends desktop notifications to a notification daemon";
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/libnova/default.nix b/pkgs/development/libraries/libnova/default.nix
index a66a1a88c743..cb70d803ac0c 100644
--- a/pkgs/development/libraries/libnova/default.nix
+++ b/pkgs/development/libraries/libnova/default.nix
@@ -2,15 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "libnova-0.12.3";
-	
+
   src = fetchurl {
     url = "mirror://sourceforge/libnova/${name}.tar.gz";
     sha256 = "18mkx79gyhccp5zqhf6k66sbhv97s7839sg15534ijajirkhw9dc";
   };
-  
-  meta = {
+
+  meta = with stdenv.lib; {
     description = "Celestial Mechanics, Astrometry and Astrodynamics Library";
     homepage = http://libnova.sf.net;
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/liboauth/default.nix b/pkgs/development/libraries/liboauth/default.nix
index 855d921206e9..ea792b007bae 100644
--- a/pkgs/development/libraries/liboauth/default.nix
+++ b/pkgs/development/libraries/liboauth/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
     description = "C library implementing the OAuth secure authentication protocol";
     homepage = http://liboauth.sourceforge.net/;
     repositories.git = https://github.com/x42/liboauth.git;
+    license = licenses.mit;
   };
 
 }
diff --git a/pkgs/development/libraries/libofa/default.nix b/pkgs/development/libraries/libofa/default.nix
index 531e30ba7552..8131420cfd65 100644
--- a/pkgs/development/libraries/libofa/default.nix
+++ b/pkgs/development/libraries/libofa/default.nix
@@ -27,12 +27,13 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ expat curl fftw ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://code.google.com/archive/p/musicip-libofa/;
     description = "Library Open Fingerprint Architecture";
     longDescription = ''
       LibOFA (Library Open Fingerprint Architecture) is an open-source audio
       fingerprint created and provided by MusicIP'';
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/liboggz/default.nix b/pkgs/development/libraries/liboggz/default.nix
index f6fe9ecd03a0..d7c3b747924a 100644
--- a/pkgs/development/libraries/liboggz/default.nix
+++ b/pkgs/development/libraries/liboggz/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://xiph.org/oggz/;
     description = "A C library and tools for manipulating with Ogg files and streams";
     longDescription = ''
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
       interleaving data container developed by Monty at Xiph.Org, originally to
       support the Ogg Vorbis audio format but now used for many free codecs
       including Dirac, FLAC, Speex and Theora.'';
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/libpcap/default.nix b/pkgs/development/libraries/libpcap/default.nix
index f94f327ea02e..267859cb217c 100644
--- a/pkgs/development/libraries/libpcap/default.nix
+++ b/pkgs/development/libraries/libpcap/default.nix
@@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
     description = "Packet Capture Library";
     platforms = platforms.unix;
     maintainers = with maintainers; [ fpletz ];
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/librdf/redland.nix b/pkgs/development/libraries/librdf/redland.nix
index 422ace462a94..30d8d8a94e9d 100644
--- a/pkgs/development/libraries/librdf/redland.nix
+++ b/pkgs/development/libraries/librdf/redland.nix
@@ -38,8 +38,10 @@ stdenv.mkDerivation rec {
 
   doCheck = false; # fails 1 out of 17 tests with a segmentation fault
 
-  meta = {
+  meta = with stdenv.lib; {
+    description = "C libraries that provide support for the Resource Description Framework (RDF)";
     homepage = http://librdf.org/;
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    license = licenses.asl20;
   };
 }
diff --git a/pkgs/development/libraries/msgpack/generic.nix b/pkgs/development/libraries/msgpack/generic.nix
index 306becf0c180..de277329961b 100644
--- a/pkgs/development/libraries/msgpack/generic.nix
+++ b/pkgs/development/libraries/msgpack/generic.nix
@@ -15,8 +15,6 @@ stdenv.mkDerivation rec {
   cmakeFlags = []
     ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
                            "-DMSGPACK_BUILD_EXAMPLES=OFF"
-    ++ stdenv.lib.optional (stdenv.hostPlatform.libc == "msvcrt")
-                           "-DCMAKE_SYSTEM_NAME=Windows"
     ;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix
index 68bffd4032d2..471684ea7ddc 100644
--- a/pkgs/development/libraries/nghttp2/default.nix
+++ b/pkgs/development/libraries/nghttp2/default.nix
@@ -6,6 +6,7 @@
 , enableAsioLib ? false, boost ? null
 , enableGetAssets ? false, libxml2 ? null
 , enableJemalloc ? false, jemalloc ? null
+, enableApp ? !stdenv.hostPlatform.isWindows
 }:
 
 assert enableHpack -> jansson != null;
@@ -35,8 +36,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  configureFlags = [ "--with-spdylay=no" "--disable-examples" "--disable-python-bindings" "--enable-app" ]
-    ++ optional enableAsioLib "--enable-asio-lib --with-boost-libdir=${boost}/lib";
+  configureFlags = [
+    "--with-spdylay=no"
+    "--disable-examples"
+    "--disable-python-bindings"
+    (stdenv.lib.enableFeature enableApp "app")
+  ] ++ optional enableAsioLib "--enable-asio-lib --with-boost-libdir=${boost}/lib";
 
   #doCheck = true;  # requires CUnit ; currently failing at test_util_localtime_date in util_test.cc
 
diff --git a/pkgs/development/libraries/nlohmann_json/default.nix b/pkgs/development/libraries/nlohmann_json/default.nix
index ffb735e725ae..25d4386cec2c 100644
--- a/pkgs/development/libraries/nlohmann_json/default.nix
+++ b/pkgs/development/libraries/nlohmann_json/default.nix
@@ -18,8 +18,6 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DBuildTests=${if doCheck then "ON" else "OFF"}"
-  ] ++ stdenv.lib.optionals (stdenv.hostPlatform.libc == "msvcrt") [
-    "-DCMAKE_SYSTEM_NAME=Windows"
   ];
 
   doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
diff --git a/pkgs/development/libraries/range-v3/default.nix b/pkgs/development/libraries/range-v3/default.nix
index cdb5297a6d87..7fe4b504a992 100644
--- a/pkgs/development/libraries/range-v3/default.nix
+++ b/pkgs/development/libraries/range-v3/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "range-v3-${version}";
-  version = "0.3.7";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "ericniebler";
     repo = "range-v3";
     rev = version;
-    sha256 = "1zhsz1i4jy97idydg7ay3wazp7v2353vckkli5w9g51jka43h5x2";
+    sha256 = "1s5gj799aa94nfg3r24whq7ck69g0zypf70w14wx64pgwg0424vf";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index 166ea39493bf..92574091558a 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -79,6 +79,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.sqlite.org/;
     license = licenses.publicDomain;
     maintainers = with maintainers; [ eelco np ];
-    platforms = platforms.unix;
+    platforms = platforms.unix ++ platforms.windows;
   };
 }
diff --git a/pkgs/development/libraries/wcslib/default.nix b/pkgs/development/libraries/wcslib/default.nix
index 7c4d275e05fe..636021f1368e 100644
--- a/pkgs/development/libraries/wcslib/default.nix
+++ b/pkgs/development/libraries/wcslib/default.nix
@@ -1,14 +1,14 @@
 { fetchurl,  stdenv, flex }:
 
 stdenv.mkDerivation rec {
-  version = "5.19.1";
+  version = "5.20";
   name = "wcslib-${version}";
 
   buildInputs = [ flex ];
 
   src = fetchurl {
     url = "ftp://ftp.atnf.csiro.au/pub/software/wcslib/${name}.tar.bz2";
-    sha256 ="160gvz9xk4hvliwb75ry770qdf899kc89ij6r0y7fh60lbjz1far";
+    sha256 ="1c8g9kv4dxrnawnqi4spi2p10s2xs7x75pdfxhbqxgcc97dkgh0b";
   };
 
   prePatch = ''
diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix
index d348f877f722..fe1c275aeda5 100644
--- a/pkgs/development/libraries/zlib/default.nix
+++ b/pkgs/development/libraries/zlib/default.nix
@@ -82,4 +82,6 @@ stdenv.mkDerivation (rec {
   preConfigure = ''
     export CHOST=${stdenv.hostPlatform.config}
   '';
+} // stdenv.lib.optionalAttrs (stdenv.hostPlatform.libc == "msvcrt") {
+  configurePhase = ":";
 })
diff --git a/pkgs/development/python-modules/paho-mqtt/default.nix b/pkgs/development/python-modules/paho-mqtt/default.nix
new file mode 100644
index 000000000000..d58b31ffc04b
--- /dev/null
+++ b/pkgs/development/python-modules/paho-mqtt/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildPythonPackage, fetchFromGitHub, isPy3k
+, pytestrunner, pytest, mock }:
+
+buildPythonPackage rec {
+  pname = "paho-mqtt";
+  version = "1.4.0";
+
+  # No tests in PyPI tarball
+  src = fetchFromGitHub {
+    owner = "eclipse";
+    repo = "paho.mqtt.python";
+    rev = "v${version}";
+    sha256 = "1xg9ppz2lqacd9prsrx93q2wfkjjyla03xlfw74aj1alz9ki5hrs";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py --replace "pylama" ""
+    substituteInPlace setup.cfg --replace "--pylama" ""
+  '';
+
+  checkInputs = [ pytestrunner pytest ] ++ lib.optional (!isPy3k) mock;
+
+  meta = with lib; {
+    homepage = https://eclipse.org/paho;
+    description = "MQTT version 3.1.1 client class";
+    license = licenses.epl10;
+    maintainers = with maintainers; [ mog dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/sasmodels/default.nix b/pkgs/development/python-modules/sasmodels/default.nix
index d84e83299039..88cdbf8a8fd8 100644
--- a/pkgs/development/python-modules/sasmodels/default.nix
+++ b/pkgs/development/python-modules/sasmodels/default.nix
@@ -3,14 +3,14 @@
 }:
 
 buildPythonPackage rec {
-  pname = "sasmodels-unstable";
-  version = "2018-04-27";
+  pname = "sasmodels";
+  version = "0.98";
 
   src = fetchFromGitHub {
     owner = "SasView";
     repo = "sasmodels";
-    rev = "33969b656596e8b6cc8ce934cd1f8062f7b11cf2";
-    sha256 = "00rvhafg08qvx0k9mzn1ppdkc9i5yfn2gr3hidrf416srf8zgb85";
+    rev = "v${version}";
+    sha256 = "02y4lpjwaa73pr46ylk0pw0kbill4nfzqgnfv16v5m0z9smd76ir";
   };
 
   buildInputs = [ opencl-headers ];
diff --git a/pkgs/development/python-modules/voluptuous-serialize/default.nix b/pkgs/development/python-modules/voluptuous-serialize/default.nix
index e2796ee2a74e..05d372ec47df 100644
--- a/pkgs/development/python-modules/voluptuous-serialize/default.nix
+++ b/pkgs/development/python-modules/voluptuous-serialize/default.nix
@@ -1,17 +1,14 @@
-{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub, voluptuous, pytest }:
+{ stdenv, buildPythonPackage, isPy3k, fetchPypi, voluptuous, pytest }:
 
 buildPythonPackage rec  {
   pname = "voluptuous-serialize";
-  version = "2018-03-10";
+  version = "2.0.0";
 
   disabled = !isPy3k;
 
-  # no tests in PyPI tarball
-  src = fetchFromGitHub {
-    owner = "balloob";
-    repo = pname;
-    rev = "567f0d96f928cf6c30c9f1b8bdee729e651aac82";
-    sha256 = "0b16f1bxlqyvi1hy8wmzp2k0rzqcycmdhs8zwsyx0swnvkgwnv50";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "44be04d87aec34bd7d31ab539341fadc505205f2299031ed9be985112c21aa41";
   };
 
   propagatedBuildInputs = [
@@ -26,6 +23,9 @@ buildPythonPackage rec  {
     py.test
   '';
 
+  # no tests in PyPI tarball
+  doCheck = false;
+
   meta = with stdenv.lib; {
     homepage = https://github.com/balloob/voluptuous-serialize;
     license = licenses.asl20;
diff --git a/pkgs/development/tools/analysis/snowman/default.nix b/pkgs/development/tools/analysis/snowman/default.nix
index 638423ed5972..e965acc746cc 100644
--- a/pkgs/development/tools/analysis/snowman/default.nix
+++ b/pkgs/development/tools/analysis/snowman/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "snowman-${version}";
-  version = "0.1.2";
+  version = "0.1.3";
 
   src = fetchFromGitHub {
     owner = "yegord";
     repo = "snowman";
     rev = "v${version}";
-    sha256 = "1ry14n8jydg6rzl52gyn0qhmv6bvivk7iwssp89lq5qk8k183x3k";
+    sha256 = "1mrmhj2nddi0d47c266vsg5vbapbqbcpj5ld4v1qcwnnk6z2zn0j";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/tools/global-platform-pro/default.nix b/pkgs/development/tools/global-platform-pro/default.nix
index 7c697bc5e576..ab32216de80d 100644
--- a/pkgs/development/tools/global-platform-pro/default.nix
+++ b/pkgs/development/tools/global-platform-pro/default.nix
@@ -3,50 +3,20 @@
 # TODO: This is quite a bit of duplicated logic with gephi. Factor it out?
 stdenv.mkDerivation rec {
   pname = "global-platform-pro";
-  version = "0.3.10-rc11"; # Waiting for release https://github.com/martinpaljak/GlobalPlatformPro/issues/128
-  describeVersion = "v0.3.10-rc11-0-g8923747"; # git describe --tags --always --long --dirty
+  version = "18.09.14";
+  GPPRO_VERSION = "18.09.14-0-gb439b52"; # git describe --tags --always --long --dirty
   name = "${pname}-${version}";
 
   src = fetchFromGitHub {
     owner = "martinpaljak";
     repo = "GlobalPlatformPro";
-    rev = "v${version}";
-    sha256 = "0rk81x2y7vx1caxm6wa59fjrfxmjn7s8yxaxm764p8m2qxk3m4y2";
+    rev = "${version}";
+    sha256 = "1vws6cbgm3mrwc2xz9j1y262vw21x3hjc9m7rqc4hn3m7gjpwsvg";
   };
 
-  # This patch hardcodes the return of a git command the build system tries to
-  # run. As `fetchFromGitHub` doesn't fetch a full-fledged git repository,
-  # this command can only fail at build-time. As a consequence, we include the
-  # `describeVersion` variable defined above here.
-  #
-  # See upstream issue https://github.com/martinpaljak/GlobalPlatformPro/issues/129
-  patches = [ (writeText "${name}-version.patch" ''
-    diff --git a/pom.xml b/pom.xml
-    index 1e5a82d..1aa01fe 100644
-    --- a/pom.xml
-    +++ b/pom.xml
-    @@ -121,14 +121,10 @@
-                         </execution>
-                     </executions>
-                     <configuration>
-    -                    <executable>git</executable>
-    +                    <executable>echo</executable>
-                         <outputFile>target/generated-resources/pro/javacard/gp/pro_version.txt</outputFile>
-                         <arguments>
-    -                        <argument>describe</argument>
-    -                        <argument>--tags</argument>
-    -                        <argument>--always</argument>
-    -                        <argument>--long</argument>
-    -                        <argument>--dirty</argument>
-    +                        <argument>${describeVersion}</argument>
-                         </arguments>
-                     </configuration>
-                 </plugin>
-  '') ];
-
   deps = stdenv.mkDerivation {
     name = "${name}-deps";
-    inherit src patches;
+    inherit src;
     nativeBuildInputs = [ jdk maven ];
     installPhase = ''
       # Download the dependencies
@@ -62,7 +32,7 @@ stdenv.mkDerivation rec {
     '';
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "15bbi7z9v601all9vr2azh8nk8rpz2vd91yvvw8id6birnbhn3if";
+    outputHash = "1qwgvz6l5wia8q5824c9f3iwyapfskljhqf1z09fw6jjj1jy3b15";
   };
 
   nativeBuildInputs = [ jdk maven makeWrapper ];
@@ -75,7 +45,6 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p "$out/lib/java" "$out/share/java"
-    cp -R target/apidocs "$out/doc"
     cp target/gp.jar "$out/share/java"
     makeWrapper "${jre_headless}/bin/java" "$out/bin/gp" \
       --add-flags "-jar '$out/share/java/gp.jar'" \
diff --git a/pkgs/development/tools/go2nix/default.nix b/pkgs/development/tools/go2nix/default.nix
index 585f10336567..36634423fdbc 100644
--- a/pkgs/development/tools/go2nix/default.nix
+++ b/pkgs/development/tools/go2nix/default.nix
@@ -3,7 +3,7 @@
 
 buildGoPackage rec {
   name = "go2nix-${version}";
-  version = "1.2.1";
+  version = "1.3.0";
   rev = "v${version}";
 
   goPackagePath = "github.com/kamilchm/go2nix";
@@ -12,7 +12,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "kamilchm";
     repo = "go2nix";
-    sha256 = "0fr9aa50yvchfhv6h6zqblx8ynxk41i2hmv87b344zr2rz6rms72";
+    sha256 = "1q61mgngvyl2bnmrqahh3bji402n76c7xwv29lwk007gymzgff0n";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/development/tools/hcloud/default.nix b/pkgs/development/tools/hcloud/default.nix
index b3fa6f852f76..527737855bda 100644
--- a/pkgs/development/tools/hcloud/default.nix
+++ b/pkgs/development/tools/hcloud/default.nix
@@ -2,16 +2,19 @@
 
 buildGoPackage rec {
   name = "hcloud-${version}";
-  version = "1.6.1";
+  version = "1.9.1";
+  
   goPackagePath = "github.com/hetznercloud/cli";
 
   src = fetchFromGitHub {
     owner = "hetznercloud";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "0v5n7y8vb23iva51kb15da198yk7glc1fix193icrk3pvcbj5bjr";
+    sha256 = "0qc4mzjd1q3xv1j0dxv5qvk443bdhh5hlbv3i3444v36wycj3171";
   };
 
+  goDeps = ./deps.nix;
+
   buildFlagsArray = [ "-ldflags=" "-w -X github.com/hetznercloud/cli/cli.Version=${version}" ];
 
   postInstall = ''
diff --git a/pkgs/development/tools/hcloud/deps.nix b/pkgs/development/tools/hcloud/deps.nix
new file mode 100644
index 000000000000..66612d54daf7
--- /dev/null
+++ b/pkgs/development/tools/hcloud/deps.nix
@@ -0,0 +1,102 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/dustin/go-humanize";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dustin/go-humanize";
+      rev = "9f541cc9db5d55bce703bd99987c9d5cb8eea45e";
+      sha256 = "1kqf1kavdyvjk7f8kx62pnm7fbypn9z1vbf8v2qdh3y7z7a0cbl3";
+    };
+  }
+  {
+    goPackagePath = "github.com/fatih/structs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fatih/structs";
+      rev = "878a968ab22548362a09bdb3322f98b00f470d46";
+      sha256 = "15nkffa8ylr5kkv52gyry675l8bzv3c0xx39j0fzz0vp2kcjyy8x";
+    };
+  }
+  {
+    goPackagePath = "github.com/gosuri/uilive";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gosuri/uilive";
+      rev = "ac356e6e42cd31fcef8e6aec13ae9ed6fe87713e";
+      sha256 = "1k28zbc14p1yqzhamp9rcagjdw6wsdb55m08nx758jwlr31az6jy";
+    };
+  }
+  {
+    goPackagePath = "github.com/gosuri/uiprogress";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gosuri/uiprogress";
+      rev = "d0567a9d84a1c40dd7568115ea66f4887bf57b33";
+      sha256 = "1m7rxf71mn8w2yysc8wmf2703avhci6f4nkiijjl1f2cx4kzykck";
+    };
+  }
+  {
+    goPackagePath = "github.com/hetznercloud/hcloud-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hetznercloud/hcloud-go";
+      rev = "eaf050e4f37028d2ca5f99a2fb38ead2c9b293d3";
+      sha256 = "0ki4vk02da4dj6prx3gz8cvrfkj6xb72sjkwqcrbdp4n4klasngi";
+    };
+  }
+  {
+    goPackagePath = "github.com/pelletier/go-toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pelletier/go-toml";
+      rev = "81a861c69d25a841d0c4394f0e6f84bc8c5afae0";
+      sha256 = "1sk301rm7rm5hfcx7z7vgask5i80wx3mhyxjr3xnm5q1rvdj6vsl";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/cobra";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/cobra";
+      rev = "8d114be902bc9f08717804830a55c48378108a28";
+      sha256 = "1ipmdjwqxyvj6cv33xm1m4ngyx49jsnp8n9jd8fjbkng8aw3q4al";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/pflag";
+      rev = "298182f68c66c05229eb03ac171abe6e309ee79a";
+      sha256 = "1cj3cjm7d3zk0mf1xdybh0jywkbbw7a6yr3y22x9sis31scprswd";
+    };
+  }
+  {
+    goPackagePath = "github.com/thcyron/uiprogress";
+    fetch = {
+      type = "git";
+      url = "https://github.com/thcyron/uiprogress";
+      rev = "25e98ffb0e98b5192b475d8f2fd78083bfe9a67e";
+      sha256 = "1avb0jykn3qbjrvhc8i50ahisf9rsfy74ysrwfqbqqkpvhdxv12i";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "0c41d7ab0a0ee717d4590a44bcb987dfd9e183eb";
+      sha256 = "1mff9l49dffsak7vxg3dzxlzkgm5nqfksh9cbsjpmngpc5pk0fbc";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "fa43e7bc11baaae89f3f902b2b4d832b68234844";
+      sha256 = "1z96xhgw930jpd53g1sy9x6wiijgz751czbvr2zzgc55y0md1mfw";
+    };
+  }
+]
diff --git a/pkgs/development/tools/misc/awf/default.nix b/pkgs/development/tools/misc/awf/default.nix
index b29dbcf79be0..38d2194dab82 100644
--- a/pkgs/development/tools/misc/awf/default.nix
+++ b/pkgs/development/tools/misc/awf/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "awf-${version}";
-  version = "1.3.1";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "valr";
     repo = "awf";
     rev = "v${version}";
-    sha256 = "18dqa2269cwr0hrn67vp0ifwbv8vc2xn6mg145pbnc038hicql8m";
+    sha256 = "0jl2kxwpvf2n8974zzyp69mqhsbjnjcqm39y0jvijvjb1iy8iman";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig wrapGAppsHook ];
diff --git a/pkgs/development/tools/misc/cquery/default.nix b/pkgs/development/tools/misc/cquery/default.nix
index d6c8f1f33eec..f032a85173a5 100644
--- a/pkgs/development/tools/misc/cquery/default.nix
+++ b/pkgs/development/tools/misc/cquery/default.nix
@@ -5,8 +5,8 @@ let
   src = fetchFromGitHub {
     owner = "cquery-project";
     repo = "cquery";
-    rev = "e17df5b41e5a687559a0b75dba9c0f1f399c4aea";
-    sha256 = "06z8bg73jppb4msiqvsjbpz6pawwny831k56w5kcxrjgp22v24s1";
+    rev = "a95a6503d68a85baa25465ce147b7fc20f4a552e";
+    sha256 = "0rxbdln7dqkdw4q8rhclssgwypq16g9flkwmaabsr8knckbszxrx";
     fetchSubmodules = true;
   };
 
@@ -15,7 +15,7 @@ let
 in
 stdenv.mkDerivation rec {
   name    = "cquery-${version}";
-  version = "2018-08-08";
+  version = "2018-10-14";
 
   inherit src;
 
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   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\\\", \\\"${stdenv.lib.getDev stdenv.cc.libc}/include\\\""
     standard_library_includes+=", \\\"-isystem\\\", \\\"${llvmPackages.libcxx}/include/c++/v1\\\""
     export standard_library_includes
 
diff --git a/pkgs/development/tools/ocaml/dune/default.nix b/pkgs/development/tools/ocaml/dune/default.nix
index 41e0084b28ff..6d0754da04d0 100644
--- a/pkgs/development/tools/ocaml/dune/default.nix
+++ b/pkgs/development/tools/ocaml/dune/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "dune-${version}";
-  version = "1.3.0";
+  version = "1.4.0";
   src = fetchurl {
     url = "https://github.com/ocaml/dune/releases/download/${version}/dune-${version}.tbz";
-    sha256 = "15bzakiclipsyjgcfrj83xdpwwww3aaijyw01bn5cx96cmcqyjad";
+    sha256 = "1fz1jx1d48yb40qan4hw25h8ia55vs7mp94a3rr7cf5gb5ap2zkj";
   };
 
   buildInputs = with ocamlPackages; [ ocaml findlib ];
diff --git a/pkgs/development/tools/rust/cbindgen/default.nix b/pkgs/development/tools/rust/cbindgen/default.nix
index c3040ec567c7..fe80d0d9dd19 100644
--- a/pkgs/development/tools/rust/cbindgen/default.nix
+++ b/pkgs/development/tools/rust/cbindgen/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   name = "rust-cbindgen-${version}";
-  version = "0.6.2";
+  version = "0.6.3";
 
   src = fetchFromGitHub {
     owner = "eqrion";
     repo = "cbindgen";
     rev = "v${version}";
-    sha256 = "0hifmn9578cf1r5m4ajazg3rhld2ybd2v48xz04vfhappkarv4w2";
+    sha256 = "18lvvzksc7gfx8fffpil41phjzwdc67xfh0mijkkv4zchwlqkpq2";
   };
 
-  cargoSha256 = "0c3xpzff8jldqbn5a25yy6c2hlz5xy636ml6sj5d24wzcgwg5a2i";
+  cargoSha256 = "1m1chwmfgj74xrmn4gb9yz5kx8c408a1hlqmpcq780kqj0k927i9";
 
   meta = with stdenv.lib; {
     description = "A project for generating C bindings from Rust code";
diff --git a/pkgs/development/tools/unity3d/default.nix b/pkgs/development/tools/unity3d/default.nix
index e507e3898c38..ac1f36c893d0 100644
--- a/pkgs/development/tools/unity3d/default.nix
+++ b/pkgs/development/tools/unity3d/default.nix
@@ -1,31 +1,23 @@
-{ stdenv, lib, fetchurl, makeWrapper, fakeroot, file, getopt
-, gtk2, gdk_pixbuf, glib, libGLU, postgresql, nss, nspr, udev
+{ stdenv, lib, fetchurl, makeWrapper, file, getopt
+, gtk2, gdk_pixbuf, glib, libGLU, nss, nspr, udev, tbb
 , alsaLib, GConf, cups, libcap, fontconfig, freetype, pango
 , cairo, dbus, expat, zlib, libpng12, nodejs, gnutar, gcc, gcc_32bit
 , libX11, libXcursor, libXdamage, libXfixes, libXrender, libXi
-, libXcomposite, libXext, libXrandr, libXtst, libSM, libICE, libxcb
-, mono, libgnomeui, gnome_vfs, gnome-sharp, gtk-sharp-2_0, chromium
+, libXcomposite, libXext, libXrandr, libXtst, libSM, libICE, libxcb, chromium
 }:
 
 let
   libPath64 = lib.makeLibraryPath [
-    gcc.cc gtk2 gdk_pixbuf glib libGLU postgresql nss nspr
+    gcc.cc gtk2 gdk_pixbuf glib libGLU nss nspr
     alsaLib GConf cups libcap fontconfig freetype pango
-    cairo dbus expat zlib libpng12 udev
+    cairo dbus expat zlib libpng12 udev tbb
     libX11 libXcursor libXdamage libXfixes libXrender libXi
     libXcomposite libXext libXrandr libXtst libSM libICE libxcb
   ];
   libPath32 = lib.makeLibraryPath [ gcc_32bit.cc ];
   binPath = lib.makeBinPath [ nodejs gnutar ];
-  developBinPath = lib.makeBinPath [ mono ];
-  developLibPath = lib.makeLibraryPath [
-    glib libgnomeui gnome_vfs gnome-sharp gtk-sharp-2_0 gtk-sharp-2_0.gtk
-  ];
-  developDotnetPath = lib.concatStringsSep ":" [
-    gnome-sharp gtk-sharp-2_0
-  ];
 
-  ver = "5.6.1";
+  ver = "2017.4.10";
   build = "f1";
 
 in stdenv.mkDerivation rec {
@@ -33,24 +25,19 @@ in stdenv.mkDerivation rec {
   version = "${ver}x${build}";
 
   src = fetchurl {
-    url = "http://beta.unity3d.com/download/6a86e542cf5c/unity-editor-installer-${version}Linux.sh";
-    sha256 = "10z4h94c9h967gx4b3gwb268zn7bnrb7ylnqnmnqhx6byac7cf4m";
+    url = "https://beta.unity3d.com/download/14396d76537e/LinuxEditorInstaller/Unity.tar.xz";
+    sha256 = "e1b4fe41c0ff793f7a9146c49a8eca8c71d30abdfa3e81922bd69699810b3f67";
   };
 
   nosuidLib = ./unity-nosuid.c;
 
-  nativeBuildInputs = [ makeWrapper fakeroot file getopt ];
+  nativeBuildInputs = [ makeWrapper file getopt ];
 
-  outputs = [ "out" "monodevelop" ];
+  outputs = [ "out" ];
 
-  sourceRoot = "unity-editor-${version}Linux";
-
-  unpackPhase = ''
-    echo -e 'q\ny' | fakeroot sh $src
-  '';
+  sourceRoot = ".";
 
   buildPhase = ''
-
     cd Editor
 
     $CC -fPIC -shared -o libunity-nosuid.so $nosuidLib -ldl
@@ -65,32 +52,10 @@ in stdenv.mkDerivation rec {
     mv Editor/* $unitydir
     ln -sf /run/wrappers/bin/${chromium.sandboxExecutableName} $unitydir/chrome-sandbox
 
-    mkdir -p $out/share/applications
-    sed "/^Exec=/c\Exec=$out/bin/unity-editor" \
-      < unity-editor.desktop \
-      > $out/share/applications/unity-editor.desktop
-
-    install -D unity-editor-icon.png $out/share/icons/hicolor/256x256/apps/unity-editor-icon.png
-
     mkdir -p $out/bin
     makeWrapper $unitydir/Unity $out/bin/unity-editor \
       --prefix LD_PRELOAD : "$unitydir/libunity-nosuid.so" \
       --prefix PATH : "${binPath}"
-
-    developdir="$monodevelop/opt/Unity/MonoDevelop"
-    mkdir -p $developdir
-    mv MonoDevelop/* $developdir
-
-    mkdir -p $monodevelop/share/applications
-    sed "/^Exec=/c\Exec=$monodevelop/bin/unity-monodevelop" \
-      < unity-monodevelop.desktop \
-      > $monodevelop/share/applications/unity-monodevelop.desktop
-
-    mkdir -p $monodevelop/bin
-    makeWrapper $developdir/bin/monodevelop $monodevelop/bin/unity-monodevelop \
-      --prefix PATH : "${developBinPath}" \
-      --prefix LD_LIBRARY_PATH : "${developLibPath}" \
-      --prefix MONO_GAC_PREFIX : "${developDotnetPath}"
   '';
 
   preFixup = ''
@@ -105,26 +70,54 @@ in stdenv.mkDerivation rec {
           intp="$(cat $NIX_CC/nix-support/dynamic-linker)"
         fi
 
-        oldRpath="$(patchelf --print-rpath "$1")"
-        # Always search at least for libraries in origin directory.
-        rpath="''${oldRpath:-\$ORIGIN}:$rpath"
-        if [[ "$ftype" =~ LSB\ shared ]]; then
-          patchelf \
-            --set-rpath "$rpath" \
-            "$1"
-        elif [[ "$ftype" =~ LSB\ executable ]]; then
-          patchelf \
-            --set-rpath "$rpath" \
-            --interpreter "$intp" \
-            "$1"
-        fi
+        # Save origin-relative parts of rpath.
+        originRpath="$(patchelf --print-rpath "$1" | sed "s/:/\n/g" | grep "^\$ORIGIN" | paste -sd ":" - || echo "")"
+        rpath="$originRpath:$rpath"
+
+        patchelf --set-rpath "$rpath" "$1"
+        patchelf --set-interpreter "$intp" "$1" 2> /dev/null || true
       fi
     }
 
+    upm_linux=$unitydir/Data/Resources/Upm/upm-linux
+
+    orig_size=$(stat --printf=%s $upm_linux)
+
     # Exclude PlaybackEngines to build something that can be run on FHS-compliant Linuxes
     find $unitydir -name PlaybackEngines -prune -o -type f -print | while read path; do
       patchFile "$path"
     done
+
+    new_size=$(stat --printf=%s $upm_linux)
+
+    ###### zeit-pkg fixing starts here.
+    # we're replacing plaintext js code that looks like
+    # PAYLOAD_POSITION = '1234                  ' | 0
+    # [...]
+    # PRELUDE_POSITION = '1234                  ' | 0
+    # ^-----20-chars-----^^------22-chars------^
+    # ^-- grep points here
+    #
+    # var_* are as described above
+    # shift_by seems to be safe so long as all patchelf adjustments occur 
+    # before any locations pointed to by hardcoded offsets
+
+    var_skip=20
+    var_select=22
+    shift_by=$(expr $new_size - $orig_size)
+
+    function fix_offset {
+      # $1 = name of variable to adjust
+      location=$(grep -obUam1 "$1" $upm_linux | cut -d: -f1)
+      location=$(expr $location + $var_skip)
+      value=$(dd if=$upm_linux iflag=count_bytes,skip_bytes skip=$location \
+                 bs=1 count=$var_select status=none)
+      value=$(expr $shift_by + $value)
+      echo -n $value | dd of=$upm_linux bs=1 seek=$location conv=notrunc
+    }
+
+    fix_offset PAYLOAD_POSITION
+    fix_offset PRELUDE_POSITION
   '';
 
   dontStrip = true;
diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix
index e9f239b4df32..8ac70fcd6f3e 100644
--- a/pkgs/games/anki/default.nix
+++ b/pkgs/games/anki/default.nix
@@ -16,6 +16,7 @@
 , pytest
 , glibcLocales
 , nose
+, send2trash
 # This little flag adds a huge number of dependencies, but we assume that
 # everyone wants Anki to draw plots with statistics by default.
 , plotsSupport ? true
@@ -40,7 +41,7 @@ in buildPythonApplication rec {
       sha256 = "0yjyxgpk79rplz9z2r93kmlk09ari6xxfrz1cfm2yl9v8zfw1n6l";
     };
 
-    propagatedBuildInputs = [ pyqt4 sqlalchemy pyaudio beautifulsoup httplib2 ]
+    propagatedBuildInputs = [ pyqt4 sqlalchemy pyaudio beautifulsoup httplib2 send2trash ]
                             ++ lib.optional plotsSupport matplotlib;
 
     checkInputs = [ pytest glibcLocales nose ];
@@ -108,16 +109,14 @@ in buildPythonApplication rec {
       cp -v anki.xml $out/share/mime/packages/
       cp -v anki.{png,xpm} $out/share/pixmaps/
       cp -rv locale $out/share/
-      cp -rv anki aqt thirdparty/send2trash $pp/
+      cp -rv anki aqt $pp/
 
       wrapPythonPrograms
     '';
 
     meta = with stdenv.lib; {
-      homepage = http://ankisrs.net/;
+      homepage = "https://apps.ankiweb.net/";
       description = "Spaced repetition flashcard program";
-      license = licenses.gpl3;
-
       longDescription = ''
         Anki is a program which makes remembering things easy. Because it is a lot
         more efficient than traditional study methods, you can either greatly
@@ -130,8 +129,9 @@ in buildPythonApplication rec {
         people's names and faces, brushing up on geography, mastering long poems,
         or even practicing guitar chords!
       '';
-
-      maintainers = with maintainers; [ the-kenny ];
+      license = licenses.agpl3Plus;
+      broken = stdenv.hostPlatform.isAarch64;
       platforms = platforms.mesaPlatforms;
+      maintainers = with maintainers; [ the-kenny ];
     };
 }
diff --git a/pkgs/games/warmux/default.nix b/pkgs/games/warmux/default.nix
index a56afbbf44b5..c99183bfbea3 100644
--- a/pkgs/games/warmux/default.nix
+++ b/pkgs/games/warmux/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl
+{ stdenv, fetchFromGitHub, autoconf, automake
 , zlib, curl, gnutls, fribidi, libpng, SDL, SDL_gfx, SDL_image, SDL_mixer
 , SDL_net, SDL_ttf, libunwind, libX11, xproto, libxml2, pkgconfig
 , gettext, intltool, libtool, perl
@@ -6,31 +6,32 @@
 
 stdenv.mkDerivation rec {
   name = "warmux-${version}";
-  version = "11.04.1";
+  version = "unstable-2017-10-20";
 
-  src = fetchurl {
-    url = "http://download.gna.org/warmux/${name}.tar.bz2";
-    sha256 = "1vp44wdpnb1g6cddmn3nphc543pxsdhjis52mfif0p2c7qslz73q";
+  src = fetchFromGitHub {
+    owner = "fluxer";
+    repo = "warmux";
+    rev = "8f81d4fc309a548ae89a068c2dde27b7e7ef8851";
+    sha256 = "1hvzglsmp75xiqqb0k75qjz4jwi8kl3fhn8zfsz53hhhqmbw6wkr";
   };
 
-  buildInputs =
-    [ zlib curl gnutls fribidi libpng SDL SDL_gfx SDL_image SDL_mixer
-      SDL_net SDL_ttf libunwind libX11 xproto libxml2 pkgconfig
-      gettext intltool libtool perl
-    ];
-
+  preConfigure = "patchShebangs autogen.sh && ./autogen.sh";
   configureFlagsArray = ("CFLAGS=-include ${zlib.dev}/include/zlib.h");
 
-  patches = [ ./gcc-fix.patch ];
+  nativeBuildInputs = [
+    autoconf automake gettext intltool libtool pkgconfig
+  ];
+  buildInputs = [
+    zlib curl gnutls fribidi libpng SDL SDL_gfx SDL_image SDL_mixer
+    SDL_net SDL_ttf libunwind libX11 xproto libxml2 perl
+  ];
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    description = "Ballistics turn-based battle game between teams";
-    maintainers = with maintainers;
-    [
-      raskin
-    ];
+    description = "Ballistics turn-based battle game between teams - unofficial copy";
+    maintainers = with maintainers; [ raskin ];
     platforms = platforms.linux;
-    license = licenses.gpl2;
-    downloadPage = "http://download.gna.org/warmux/";
+    license = with licenses; [ gpl2 ufl ];
+    homepage = https://github.com/fluxer/warmux;
   };
 }
diff --git a/pkgs/games/warmux/gcc-fix.patch b/pkgs/games/warmux/gcc-fix.patch
deleted file mode 100644
index 913b912af7d4..000000000000
--- a/pkgs/games/warmux/gcc-fix.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-## i-love-you-lordheavy.patch [diff]
-diff -ru warmux-11.04/lib/warmux/action/action.cpp warmux-11.04-new/lib/warmux/action/action.cpp
---- warmux-11.04/lib/warmux/action/action.cpp	2011-04-28 21:03:14.000000000 +0200
-+++ warmux-11.04-new/lib/warmux/action/action.cpp	2012-01-29 09:51:16.680251815 +0100
-@@ -81,7 +81,7 @@
- }
- 
- // Build an action from a network packet
--Action::Action(const char *buffer, DistantComputer* _creator)
-+Action::Action(char *buffer, DistantComputer* _creator)
- {
-   m_creator = _creator;
- 
-diff -ru warmux-11.04/lib/warmux/include/WARMUX_action.h warmux-11.04-new/lib/warmux/include/WARMUX_action.h
---- warmux-11.04/lib/warmux/include/WARMUX_action.h	2011-04-28 21:03:13.000000000 +0200
-+++ warmux-11.04-new/lib/warmux/include/WARMUX_action.h	2012-01-29 09:52:14.246921833 +0100
-@@ -168,7 +168,7 @@
-   Action(Action_t type, Double value1, Double value2);
- 
-   // Build an action from a network packet
--  Action(const char* buffer, DistantComputer* _creator);
-+  Action(char* buffer, DistantComputer* _creator);
- 
-   ~Action();
- 
-Description: Fix FTBFS with gcc 4.7.
-Author: Felix Geyer <debfx-pkg@fobos.de>
-
---- warmux-11.04.1+repack.orig/tools/list_games/main.cpp
-+++ warmux-11.04.1+repack/tools/list_games/main.cpp
-@@ -1,4 +1,5 @@
- #include <stdio.h>
-+#include <unistd.h>
- #include <WARMUX_types.h>
- #include <WARMUX_network.h>
- #include <WARMUX_index_server.h>
-
-Description: Fix conversion error in gcc 6.
-Author: Robin Gloster <mail@glob.in>
-
---- warmux-11.04.1.orig/src/interface/weapon_menu.cpp	2017-01-19 23:06:32.401035923 +0100
-+++ warmux-11.04.1/src/interface/weapon_menu.cpp	2017-01-19 23:07:14.245866593 +0100
-@@ -391,7 +391,7 @@
- Weapon * WeaponsMenu::UpdateCurrentOverflyItem(const Polygon * poly)
- {
-   if (!show)
--    return false;
-+    return nullptr;
-   const std::vector<PolygonItem *>& items = poly->GetItem();
-   WeaponMenuItem * tmp;
-   Interface::GetInstance()->SetCurrentOverflyWeapon(NULL);
diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
index 82978d3e3ca9..43747aeaf0d0 100644
--- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
+++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "firmware-linux-nonfree-${version}";
-  version = "2018-08-25";
+  version = "2018-10-17";
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git";
-    rev = "fea76a04f25fd0a217c0d566ff5ff8f23ad3e648";
-    sha256 = "1xy1s9vd7jny4hf4f1hzhlbnm0l4pnw7xycky0v6kfwlg5nnjii5";
+    rev = "de9cefa74bba6fce3834144460868a468b8818f2";
+    sha256 = "101j4jk3ixl8r3mxbkcrr5ybhb44ij3l52js4dqfxpylpiaw2cgk";
   };
 
   installFlags = [ "DESTDIR=$(out)" ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   outputHashMode = "recursive";
   outputHashAlgo = "sha256";
-  outputHash = "1p1dkzclj718w7di81s6486dn5zw77c4i2qn63bvp9q4vid452hn";
+  outputHash = "1ndwp9yhpmx0kzayddy9i93mpv3d8gxypqm85069ic13lrjz1gdf";
 
   meta = with stdenv.lib; {
     description = "Binary firmware collection packaged by kernel.org";
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 60b3ffb2d8dc..f82f7406e91c 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.14.76";
+  version = "4.14.77";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1gl2wkq4sazvpr0xnn4vrajj3j7w6hfiwdiy34y7jhlazyj1jgzf";
+    sha256 = "1y567wkr4p7hywq3pdw06yc4hi16rp1vkx764wzy5nyajkhz95h4";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.18.nix b/pkgs/os-specific/linux/kernel/linux-4.18.nix
index 9bf33c068b55..c694d4503ed2 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.18.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.18.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.18.14";
+  version = "4.18.15";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1lv2hpxzlk1yzr5dcjb0q0ylvlwx4ln2jvfvf01b9smr1lvd3iin";
+    sha256 = "0cr9ash165yimwf8742c9cshfnjvmnzibyfrii9cnfig9m8m3hwg";
   };
 } // (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 cdf7000fba89..2810652aab67 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, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.133";
+  version = "4.9.134";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0qv5n8vipkqcd0hpf5l41h023n46rgja39h895phlcxs4p00ywsk";
+    sha256 = "0xvsk5q4w4sa3vk0rhckxn7faj12rvmfpwn08m4qf7024b8yiyvd";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index c1b35946d684..f1ee1eda95da 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -2,7 +2,7 @@
 # Do not edit!
 
 {
-  version = "0.77.3";
+  version = "0.80.3";
   components = {
     "abode" = ps: with ps; [  ];
     "ads" = ps: with ps; [  ];
@@ -11,6 +11,7 @@
     "alarm_control_panel.alarmdecoder" = ps: with ps; [  ];
     "alarm_control_panel.alarmdotcom" = ps: with ps; [  ];
     "alarm_control_panel.arlo" = ps: with ps; [  ];
+    "alarm_control_panel.blink" = ps: with ps; [  ];
     "alarm_control_panel.canary" = ps: with ps; [  ];
     "alarm_control_panel.concord232" = ps: with ps; [  ];
     "alarm_control_panel.demo" = ps: with ps; [  ];
@@ -18,7 +19,7 @@
     "alarm_control_panel.envisalink" = ps: with ps; [  ];
     "alarm_control_panel.homematicip_cloud" = ps: with ps; [  ];
     "alarm_control_panel.ialarm" = ps: with ps; [  ];
-    "alarm_control_panel.ifttt" = ps: with ps; [  ];
+    "alarm_control_panel.ifttt" = ps: with ps; [ aiohttp-cors ];
     "alarm_control_panel.manual" = ps: with ps; [  ];
     "alarm_control_panel.manual_mqtt" = ps: with ps; [ paho-mqtt ];
     "alarm_control_panel.mqtt" = ps: with ps; [ paho-mqtt ];
@@ -29,6 +30,7 @@
     "alarm_control_panel.totalconnect" = ps: with ps; [  ];
     "alarm_control_panel.verisure" = ps: with ps; [  ];
     "alarm_control_panel.wink" = ps: with ps; [  ];
+    "alarm_control_panel.yale_smart_alarm" = ps: with ps; [  ];
     "alarmdecoder" = ps: with ps; [  ];
     "alert" = ps: with ps; [  ];
     "alexa" = ps: with ps; [ aiohttp-cors ];
@@ -41,6 +43,7 @@
     "apcupsd" = ps: with ps; [  ];
     "api" = ps: with ps; [ aiohttp-cors ];
     "apple_tv" = ps: with ps; [  ];
+    "aqualogic" = ps: with ps; [  ];
     "arduino" = ps: with ps; [  ];
     "arlo" = ps: with ps; [  ];
     "asterisk_mbox" = ps: with ps; [  ];
@@ -59,6 +62,7 @@
     "automation.sun" = ps: with ps; [  ];
     "automation.template" = ps: with ps; [  ];
     "automation.time" = ps: with ps; [  ];
+    "automation.webhook" = ps: with ps; [ aiohttp-cors ];
     "automation.zone" = ps: with ps; [  ];
     "axis" = ps: with ps; [  ];
     "bbb_gpio" = ps: with ps; [  ];
@@ -90,6 +94,7 @@
     "binary_sensor.ffmpeg_motion" = ps: with ps; [ ha-ffmpeg ];
     "binary_sensor.ffmpeg_noise" = ps: with ps; [ ha-ffmpeg ];
     "binary_sensor.flic" = ps: with ps; [  ];
+    "binary_sensor.fritzbox" = ps: with ps; [  ];
     "binary_sensor.gc100" = ps: with ps; [  ];
     "binary_sensor.hikvision" = ps: with ps; [  ];
     "binary_sensor.hive" = ps: with ps; [  ];
@@ -179,6 +184,7 @@
     "camera.foscam" = ps: with ps; [  ];
     "camera.generic" = ps: with ps; [  ];
     "camera.local_file" = ps: with ps; [  ];
+    "camera.logi_circle" = ps: with ps; [  ];
     "camera.mjpeg" = ps: with ps; [  ];
     "camera.mqtt" = ps: with ps; [ paho-mqtt ];
     "camera.neato" = ps: with ps; [  ];
@@ -207,6 +213,7 @@
     "climate.econet" = ps: with ps; [  ];
     "climate.ephember" = ps: with ps; [  ];
     "climate.eq3btsmart" = ps: with ps; [ construct ];
+    "climate.evohome" = ps: with ps; [  ];
     "climate.flexit" = ps: with ps; [  ];
     "climate.fritzbox" = ps: with ps; [  ];
     "climate.generic_thermostat" = ps: with ps; [  ];
@@ -226,6 +233,7 @@
     "climate.netatmo" = ps: with ps; [  ];
     "climate.nuheat" = ps: with ps; [  ];
     "climate.oem" = ps: with ps; [  ];
+    "climate.opentherm_gw" = ps: with ps; [  ];
     "climate.proliphix" = ps: with ps; [  ];
     "climate.radiotherm" = ps: with ps; [  ];
     "climate.sensibo" = ps: with ps; [  ];
@@ -251,9 +259,10 @@
     "config" = ps: with ps; [ aiohttp-cors ];
     "config.auth" = ps: with ps; [  ];
     "config.automation" = ps: with ps; [  ];
-    "config.config_entries" = ps: with ps; [ voluptuous-serialize ];
+    "config.config_entries" = ps: with ps; [  ];
     "config.core" = ps: with ps; [  ];
     "config.customize" = ps: with ps; [  ];
+    "config.device_registry" = ps: with ps; [ aiohttp-cors ];
     "config.entity_registry" = ps: with ps; [ aiohttp-cors ];
     "config.group" = ps: with ps; [  ];
     "config.hassbian" = ps: with ps; [  ];
@@ -268,11 +277,13 @@
     "cover.aladdin_connect" = ps: with ps; [  ];
     "cover.brunt" = ps: with ps; [  ];
     "cover.command_line" = ps: with ps; [  ];
+    "cover.deconz" = ps: with ps; [  ];
     "cover.demo" = ps: with ps; [  ];
     "cover.garadget" = ps: with ps; [  ];
     "cover.gogogate2" = ps: with ps; [  ];
     "cover.group" = ps: with ps; [  ];
     "cover.homematic" = ps: with ps; [ pyhomematic ];
+    "cover.insteon" = ps: with ps; [  ];
     "cover.isy994" = ps: with ps; [  ];
     "cover.knx" = ps: with ps; [  ];
     "cover.lutron" = ps: with ps; [  ];
@@ -322,6 +333,7 @@
     "device_tracker.google_maps" = ps: with ps; [  ];
     "device_tracker.gpslogger" = ps: with ps; [ aiohttp-cors ];
     "device_tracker.hitron_coda" = ps: with ps; [  ];
+    "device_tracker.huawei_lte" = ps: with ps; [  ];
     "device_tracker.huawei_router" = ps: with ps; [  ];
     "device_tracker.icloud" = ps: with ps; [  ];
     "device_tracker.keenetic_ndms2" = ps: with ps; [  ];
@@ -368,6 +380,7 @@
     "dyson" = ps: with ps; [  ];
     "ecobee" = ps: with ps; [  ];
     "ecovacs" = ps: with ps; [  ];
+    "edp_redy" = ps: with ps; [  ];
     "egardia" = ps: with ps; [  ];
     "eight_sleep" = ps: with ps; [  ];
     "emoncms_history" = ps: with ps; [  ];
@@ -377,6 +390,7 @@
     "enocean" = ps: with ps; [  ];
     "envisalink" = ps: with ps; [  ];
     "eufy" = ps: with ps; [  ];
+    "evohome" = ps: with ps; [  ];
     "fan" = ps: with ps; [  ];
     "fan.comfoconnect" = ps: with ps; [  ];
     "fan.demo" = ps: with ps; [  ];
@@ -398,10 +412,12 @@
     "fritzbox" = ps: with ps; [  ];
     "frontend" = ps: with ps; [ aiohttp-cors ];
     "gc100" = ps: with ps; [  ];
+    "geo_location" = ps: with ps; [  ];
+    "geo_location.demo" = ps: with ps; [  ];
+    "geo_location.geo_json_events" = ps: with ps; [  ];
     "goalfeed" = ps: with ps; [  ];
     "google" = ps: with ps; [ google_api_python_client httplib2 oauth2client ];
     "google_assistant" = ps: with ps; [ aiohttp-cors ];
-    "google_assistant.auth" = ps: with ps; [  ];
     "google_assistant.const" = ps: with ps; [  ];
     "google_assistant.helpers" = ps: with ps; [  ];
     "google_assistant.http" = ps: with ps; [  ];
@@ -410,11 +426,16 @@
     "google_domains" = ps: with ps; [  ];
     "graphite" = ps: with ps; [  ];
     "group" = ps: with ps; [  ];
+    "habitica" = ps: with ps; [  ];
     "hangouts" = ps: with ps; [  ];
     "hangouts.config_flow" = ps: with ps; [  ];
     "hangouts.const" = ps: with ps; [  ];
     "hangouts.hangouts_bot" = ps: with ps; [  ];
+    "hangouts.intents" = ps: with ps; [  ];
     "hassio" = ps: with ps; [ aiohttp-cors ];
+    "hassio.auth" = ps: with ps; [  ];
+    "hassio.const" = ps: with ps; [  ];
+    "hassio.discovery" = ps: with ps; [  ];
     "hassio.handler" = ps: with ps; [  ];
     "hassio.http" = ps: with ps; [  ];
     "hdmi_cec" = ps: with ps; [  ];
@@ -441,13 +462,14 @@
     "http.real_ip" = ps: with ps; [  ];
     "http.static" = ps: with ps; [  ];
     "http.view" = ps: with ps; [  ];
+    "huawei_lte" = ps: with ps; [  ];
     "hue" = ps: with ps; [ aiohue ];
     "hue.bridge" = ps: with ps; [  ];
     "hue.config_flow" = ps: with ps; [  ];
     "hue.const" = ps: with ps; [  ];
     "hue.errors" = ps: with ps; [  ];
     "hydrawise" = ps: with ps; [  ];
-    "ifttt" = ps: with ps; [  ];
+    "ifttt" = ps: with ps; [ aiohttp-cors ];
     "ihc" = ps: with ps; [  ];
     "ihc.const" = ps: with ps; [  ];
     "ihc.ihcdevice" = ps: with ps; [  ];
@@ -525,6 +547,7 @@
     "light.mysensors" = ps: with ps; [  ];
     "light.mystrom" = ps: with ps; [  ];
     "light.nanoleaf_aurora" = ps: with ps; [  ];
+    "light.opple" = ps: with ps; [  ];
     "light.osramlightify" = ps: with ps; [  ];
     "light.piglow" = ps: with ps; [  ];
     "light.qwikswitch" = ps: with ps; [  ];
@@ -580,9 +603,12 @@
     "logbook" = ps: with ps; [ aiohttp-cors sqlalchemy ];
     "logentries" = ps: with ps; [  ];
     "logger" = ps: with ps; [  ];
+    "logi_circle" = ps: with ps; [  ];
+    "lovelace" = ps: with ps; [  ];
     "lutron" = ps: with ps; [  ];
     "lutron_caseta" = ps: with ps; [  ];
     "mailbox" = ps: with ps; [ aiohttp-cors ];
+    "mailbox.asterisk_cdr" = ps: with ps; [  ];
     "mailbox.asterisk_mbox" = ps: with ps; [  ];
     "mailbox.demo" = ps: with ps; [  ];
     "mailgun" = ps: with ps; [ aiohttp-cors ];
@@ -640,7 +666,7 @@
     "media_player.sisyphus" = ps: with ps; [  ];
     "media_player.snapcast" = ps: with ps; [  ];
     "media_player.songpal" = ps: with ps; [  ];
-    "media_player.sonos" = ps: with ps; [ soco ];
+    "media_player.sonos" = ps: with ps; [  ];
     "media_player.soundtouch" = ps: with ps; [ libsoundtouch ];
     "media_player.spotify" = ps: with ps; [ aiohttp-cors ];
     "media_player.squeezebox" = ps: with ps; [  ];
@@ -659,6 +685,8 @@
     "mochad" = ps: with ps; [  ];
     "modbus" = ps: with ps; [  ];
     "mqtt" = ps: with ps; [ paho-mqtt ];
+    "mqtt.config_flow" = ps: with ps; [  ];
+    "mqtt.const" = ps: with ps; [  ];
     "mqtt.discovery" = ps: with ps; [  ];
     "mqtt.server" = ps: with ps; [ aiohttp-cors hbmqtt ];
     "mqtt_eventstream" = ps: with ps; [ paho-mqtt ];
@@ -731,6 +759,7 @@
     "notify.synology_chat" = ps: with ps; [  ];
     "notify.syslog" = ps: with ps; [  ];
     "notify.telegram" = ps: with ps; [ python-telegram-bot ];
+    "notify.tibber" = ps: with ps; [  ];
     "notify.twilio_call" = ps: with ps; [ aiohttp-cors twilio ];
     "notify.twilio_sms" = ps: with ps; [ aiohttp-cors twilio ];
     "notify.twitter" = ps: with ps; [  ];
@@ -744,6 +773,8 @@
     "onboarding.const" = ps: with ps; [  ];
     "onboarding.views" = ps: with ps; [  ];
     "openuv" = ps: with ps; [  ];
+    "openuv.config_flow" = ps: with ps; [  ];
+    "openuv.const" = ps: with ps; [  ];
     "panel_custom" = ps: with ps; [ aiohttp-cors ];
     "panel_iframe" = ps: with ps; [ aiohttp-cors ];
     "persistent_notification" = ps: with ps; [  ];
@@ -805,6 +836,7 @@
     "sensor.android_ip_webcam" = ps: with ps; [  ];
     "sensor.apcupsd" = ps: with ps; [  ];
     "sensor.api_streams" = ps: with ps; [  ];
+    "sensor.aqualogic" = ps: with ps; [  ];
     "sensor.arduino" = ps: with ps; [  ];
     "sensor.arest" = ps: with ps; [  ];
     "sensor.arlo" = ps: with ps; [  ];
@@ -853,6 +885,7 @@
     "sensor.ebox" = ps: with ps; [  ];
     "sensor.ecobee" = ps: with ps; [  ];
     "sensor.eddystone_temperature" = ps: with ps; [ construct ];
+    "sensor.edp_redy" = ps: with ps; [  ];
     "sensor.efergy" = ps: with ps; [  ];
     "sensor.eight_sleep" = ps: with ps; [  ];
     "sensor.eliqonline" = ps: with ps; [  ];
@@ -877,14 +910,16 @@
     "sensor.fritzbox_callmonitor" = ps: with ps; [ fritzconnection ];
     "sensor.fritzbox_netmonitor" = ps: with ps; [ fritzconnection ];
     "sensor.gearbest" = ps: with ps; [  ];
-    "sensor.geizhals" = ps: with ps; [ beautifulsoup4 ];
-    "sensor.geo_rss_events" = ps: with ps; [ feedparser ];
+    "sensor.geizhals" = ps: with ps; [  ];
+    "sensor.geo_rss_events" = ps: with ps; [  ];
+    "sensor.gitlab_ci" = ps: with ps; [  ];
     "sensor.gitter" = ps: with ps; [  ];
     "sensor.glances" = ps: with ps; [  ];
     "sensor.google_travel_time" = ps: with ps; [  ];
     "sensor.google_wifi" = ps: with ps; [  ];
     "sensor.gpsd" = ps: with ps; [  ];
     "sensor.gtfs" = ps: with ps; [  ];
+    "sensor.habitica" = ps: with ps; [  ];
     "sensor.haveibeenpwned" = ps: with ps; [  ];
     "sensor.hddtemp" = ps: with ps; [  ];
     "sensor.history_stats" = ps: with ps; [ aiohttp-cors sqlalchemy ];
@@ -893,6 +928,7 @@
     "sensor.homematicip_cloud" = ps: with ps; [  ];
     "sensor.hp_ilo" = ps: with ps; [  ];
     "sensor.htu21d" = ps: with ps; [  ];
+    "sensor.huawei_lte" = ps: with ps; [  ];
     "sensor.hydrawise" = ps: with ps; [  ];
     "sensor.hydroquebec" = ps: with ps; [  ];
     "sensor.ihc" = ps: with ps; [  ];
@@ -905,13 +941,16 @@
     "sensor.iperf3" = ps: with ps; [  ];
     "sensor.irish_rail_transport" = ps: with ps; [  ];
     "sensor.isy994" = ps: with ps; [  ];
+    "sensor.jewish_calendar" = ps: with ps; [  ];
     "sensor.juicenet" = ps: with ps; [  ];
     "sensor.kira" = ps: with ps; [  ];
     "sensor.knx" = ps: with ps; [  ];
     "sensor.kwb" = ps: with ps; [  ];
     "sensor.lacrosse" = ps: with ps; [  ];
     "sensor.lastfm" = ps: with ps; [ pylast ];
+    "sensor.linky" = ps: with ps; [  ];
     "sensor.linux_battery" = ps: with ps; [ batinfo ];
+    "sensor.logi_circle" = ps: with ps; [  ];
     "sensor.london_air" = ps: with ps; [  ];
     "sensor.london_underground" = ps: with ps; [  ];
     "sensor.loopenergy" = ps: with ps; [  ];
@@ -1001,6 +1040,7 @@
     "sensor.speedtest" = ps: with ps; [ speedtest-cli ];
     "sensor.spotcrime" = ps: with ps; [  ];
     "sensor.sql" = ps: with ps; [ sqlalchemy ];
+    "sensor.starlingbank" = ps: with ps; [  ];
     "sensor.startca" = ps: with ps; [ xmltodict ];
     "sensor.statistics" = ps: with ps; [  ];
     "sensor.steam_online" = ps: with ps; [  ];
@@ -1041,10 +1081,12 @@
     "sensor.uscis" = ps: with ps; [  ];
     "sensor.usps" = ps: with ps; [  ];
     "sensor.vasttrafik" = ps: with ps; [  ];
+    "sensor.velbus" = ps: with ps; [  ];
     "sensor.vera" = ps: with ps; [  ];
     "sensor.verisure" = ps: with ps; [  ];
     "sensor.version" = ps: with ps; [  ];
     "sensor.viaggiatreno" = ps: with ps; [  ];
+    "sensor.volkszaehler" = ps: with ps; [  ];
     "sensor.volvooncall" = ps: with ps; [  ];
     "sensor.vultr" = ps: with ps; [ vultr ];
     "sensor.waqi" = ps: with ps; [  ];
@@ -1079,9 +1121,9 @@
     "sleepiq" = ps: with ps; [  ];
     "smappee" = ps: with ps; [  ];
     "snips" = ps: with ps; [ paho-mqtt ];
-    "sonos" = ps: with ps; [ soco ];
+    "sonos" = ps: with ps; [  ];
     "spaceapi" = ps: with ps; [ aiohttp-cors ];
-    "spc" = ps: with ps; [ websockets ];
+    "spc" = ps: with ps; [  ];
     "spider" = ps: with ps; [  ];
     "splunk" = ps: with ps; [  ];
     "statsd" = ps: with ps; [ statsd ];
@@ -1093,6 +1135,7 @@
     "switch.amcrest" = ps: with ps; [ ha-ffmpeg ];
     "switch.android_ip_webcam" = ps: with ps; [  ];
     "switch.anel_pwrctrl" = ps: with ps; [  ];
+    "switch.aqualogic" = ps: with ps; [  ];
     "switch.arduino" = ps: with ps; [  ];
     "switch.arest" = ps: with ps; [  ];
     "switch.bbb_gpio" = ps: with ps; [  ];
@@ -1106,6 +1149,7 @@
     "switch.dlink" = ps: with ps; [  ];
     "switch.doorbird" = ps: with ps; [  ];
     "switch.edimax" = ps: with ps; [  ];
+    "switch.edp_redy" = ps: with ps; [  ];
     "switch.enocean" = ps: with ps; [  ];
     "switch.eufy" = ps: with ps; [  ];
     "switch.flux" = ps: with ps; [  ];
@@ -1157,6 +1201,8 @@
     "switch.smappee" = ps: with ps; [  ];
     "switch.snmp" = ps: with ps; [ pysnmp ];
     "switch.spider" = ps: with ps; [  ];
+    "switch.switchbot" = ps: with ps; [  ];
+    "switch.switchmate" = ps: with ps; [  ];
     "switch.tahoma" = ps: with ps; [  ];
     "switch.tellduslive" = ps: with ps; [  ];
     "switch.tellstick" = ps: with ps; [  ];
@@ -1166,6 +1212,7 @@
     "switch.thinkingcleaner" = ps: with ps; [  ];
     "switch.toon" = ps: with ps; [  ];
     "switch.tplink" = ps: with ps; [  ];
+    "switch.tradfri" = ps: with ps; [  ];
     "switch.transmission" = ps: with ps; [ transmissionrpc ];
     "switch.tuya" = ps: with ps; [  ];
     "switch.upcloud" = ps: with ps; [  ];
@@ -1197,9 +1244,12 @@
     "tesla" = ps: with ps; [  ];
     "thethingsnetwork" = ps: with ps; [  ];
     "thingspeak" = ps: with ps; [  ];
+    "tibber" = ps: with ps; [  ];
     "timer" = ps: with ps; [  ];
     "toon" = ps: with ps; [  ];
     "tradfri" = ps: with ps; [  ];
+    "tradfri.config_flow" = ps: with ps; [  ];
+    "tradfri.const" = ps: with ps; [  ];
     "tts" = ps: with ps; [ aiohttp-cors mutagen ];
     "tts.amazon_polly" = ps: with ps; [ boto3 ];
     "tts.baidu" = ps: with ps; [  ];
@@ -1215,6 +1265,9 @@
     "upcloud" = ps: with ps; [  ];
     "updater" = ps: with ps; [ distro ];
     "upnp" = ps: with ps; [ aiohttp-cors ];
+    "upnp.config_flow" = ps: with ps; [  ];
+    "upnp.const" = ps: with ps; [  ];
+    "upnp.device" = ps: with ps; [  ];
     "usps" = ps: with ps; [  ];
     "vacuum" = ps: with ps; [  ];
     "vacuum.demo" = ps: with ps; [  ];
@@ -1240,12 +1293,22 @@
     "weather.demo" = ps: with ps; [  ];
     "weather.ecobee" = ps: with ps; [  ];
     "weather.ipma" = ps: with ps; [  ];
+    "weather.met" = ps: with ps; [  ];
     "weather.metoffice" = ps: with ps; [  ];
     "weather.openweathermap" = ps: with ps; [ pyowm ];
     "weather.yweather" = ps: with ps; [ yahooweather ];
     "weather.zamg" = ps: with ps; [  ];
+    "webhook" = ps: with ps; [ aiohttp-cors ];
     "weblink" = ps: with ps; [  ];
     "websocket_api" = ps: with ps; [ aiohttp-cors ];
+    "websocket_api.auth" = ps: with ps; [  ];
+    "websocket_api.commands" = ps: with ps; [  ];
+    "websocket_api.connection" = ps: with ps; [  ];
+    "websocket_api.const" = ps: with ps; [  ];
+    "websocket_api.decorators" = ps: with ps; [  ];
+    "websocket_api.error" = ps: with ps; [  ];
+    "websocket_api.http" = ps: with ps; [  ];
+    "websocket_api.messages" = ps: with ps; [  ];
     "wemo" = ps: with ps; [  ];
     "wink" = ps: with ps; [  ];
     "wirelesstag" = ps: with ps; [  ];
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index e6bbd4ab259d..8503b53033cf 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -18,12 +18,12 @@ let
 
   defaultOverrides = [
     # Override the version of some packages pinned in Home Assistant's setup.py
-    (mkOverride "aiohttp" "3.4.0"
-      "9b15efa7411dcf3b59c1f4766eb16ba1aba4531a33e54d469ee22106eabce460")
+    (mkOverride "aiohttp" "3.4.4"
+      "51afec6ffa50a9da4cdef188971a802beb1ca8e8edb40fa429e5e529db3475fa")
     (mkOverride "astral" "1.6.1"
       "ab0c08f2467d35fcaeb7bad15274743d3ac1ad18b5391f64a0058a9cd192d37d")
-    (mkOverride "attrs" "18.1.0"
-      "e0d0eb91441a3b53dab4d9b743eafc1ac44476296a2053b6ca3af0b139faf87b")
+    (mkOverride "attrs" "18.2.0"
+      "10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69")
     (mkOverride "bcrypt" "3.1.4"
       "67ed1a374c9155ec0840214ce804616de49c3df9c5bc66740687c1c9b1cd9e8d")
     (mkOverride "pyjwt" "1.6.4"
@@ -36,6 +36,8 @@ let
       "ec22d826a36ed72a7358ff3fe56cbd4ba69dd7a6718ffd450ff0e9df7a47ce6a")
     (mkOverride "voluptuous" "0.11.5"
       "567a56286ef82a9d7ae0628c5842f65f516abcb496e74f3f59f1d7b28df314ef")
+    (mkOverride "voluptuous-serialize" "2.0.0"
+      "44be04d87aec34bd7d31ab539341fadc505205f2299031ed9be985112c21aa41")
 
     # used by check_config script
     # can be unpinned once https://github.com/home-assistant/home-assistant/issues/11917 is resolved
@@ -75,7 +77,7 @@ let
   extraBuildInputs = extraPackages py.pkgs;
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "0.77.3";
+  hassVersion = "0.80.3";
 
 in with py.pkgs; buildPythonApplication rec {
   pname = "homeassistant";
@@ -90,14 +92,14 @@ in with py.pkgs; buildPythonApplication rec {
     owner = "home-assistant";
     repo = "home-assistant";
     rev = version;
-    sha256 = "1c459iqbkhs6dv563zld6qb9avpx3h0fnxng476zahj9x9m5rzk6";
+    sha256 = "0fjkw8kg0vsyrkcrx9jhqrh5nzxx5wphj6zglqgai2d635m8j2dg";
   };
 
   propagatedBuildInputs = [
     # From setup.py
-    aiohttp astral async-timeout attrs bcrypt certifi jinja2 pyjwt cryptography pip pytz pyyaml requests voluptuous
-    # From http, frontend, recorder and config.config_entries components and auth.mfa_modules.totp
-    sqlalchemy aiohttp-cors hass-frontend voluptuous-serialize pyotp pyqrcode
+    aiohttp astral async-timeout attrs bcrypt certifi jinja2 pyjwt cryptography pip pytz pyyaml requests voluptuous voluptuous-serialize
+    # From http, frontend and recorder components and auth.mfa_modules.totp
+    sqlalchemy aiohttp-cors hass-frontend pyotp pyqrcode
   ] ++ componentBuildInputs ++ extraBuildInputs;
 
   checkInputs = [
@@ -109,8 +111,8 @@ in with py.pkgs; buildPythonApplication rec {
     py.test --ignore tests/components
     # Some basic components should be tested however
     py.test \
-      tests/components/{group,http,frontend} \
-      tests/components/test_{api,configurator,demo,discovery,init,introduction,logger,script,shell_command,system_log,websocket_api}.py
+      tests/components/{group,http,frontend,config,websocket_api} \
+      tests/components/test_{api,configurator,demo,discovery,init,introduction,logger,script,shell_command,system_log}.py
   '';
 
   makeWrapperArgs = lib.optional skipPip "--add-flags --skip-pip";
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index e04de7effcd4..25a63ef71a92 100644
--- a/pkgs/servers/home-assistant/frontend.nix
+++ b/pkgs/servers/home-assistant/frontend.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "home-assistant-frontend";
-  version = "20180903.0";
+  version = "20181018.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "54ba2ad2d1043952885f432d900025bd3eb11de180ac5147342cff585f44d4f9";
+    sha256 = "83f52421056acda8297f174a7c4e3c540109673c2f2c25720638d171c6bc2653";
   };
 
   propagatedBuildInputs = [ user-agents ];
diff --git a/pkgs/servers/http/jetty/default.nix b/pkgs/servers/http/jetty/default.nix
index 473f2986ff06..29d1bf7a4563 100644
--- a/pkgs/servers/http/jetty/default.nix
+++ b/pkgs/servers/http/jetty/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "jetty-${version}";
-  version = "9.4.8.v20171121";
+  version = "9.4.12.v20180830";
   src = fetchurl {
     url = "https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/${version}/jetty-distribution-${version}.tar.gz";
     name = "jetty-distribution-${version}.tar.gz";
-    sha256 = "0bvwi70vdk468yqgvgq99lwrpy2y5znrl0b1cr8j6ygmsgnvvmjh";
+    sha256 = "1z498cxvp1llp4ii8g52rhicypay1v2b6mmdmxrj3d82az6biiq3";
   };
 
   phases = [ "unpackPhase" "installPhase" ];
diff --git a/pkgs/servers/openafs/1.6/module.nix b/pkgs/servers/openafs/1.6/module.nix
index 7ad9199b7ace..c133161cf576 100644
--- a/pkgs/servers/openafs/1.6/module.nix
+++ b/pkgs/servers/openafs/1.6/module.nix
@@ -8,7 +8,7 @@ let
   kernelBuildDir = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
 
 in stdenv.mkDerivation rec {
-  name = "openafs-${version}-${kernel.version}";
+  name = "openafs-${version}-${kernel.modDirVersion}";
   inherit version src;
 
   nativeBuildInputs = [ autoconf automake flex perl bison which ] ++ kernel.moduleBuildDependencies;
@@ -51,8 +51,8 @@ in stdenv.mkDerivation rec {
     license = licenses.ipl10;
     platforms = platforms.linux;
     maintainers = [ maintainers.z77z maintainers.spacefrogg ];
-    broken = versionOlder kernel.version "3.18" ||
-             versionAtLeast kernel.version "4.18";
+    broken = versionOlder kernel.version "3.18"
+             || stdenv.targetPlatform.isAarch64;
   };
 
 }
diff --git a/pkgs/servers/openafs/1.6/srcs.nix b/pkgs/servers/openafs/1.6/srcs.nix
index 9e9ff623e5cd..17048b68024e 100644
--- a/pkgs/servers/openafs/1.6/srcs.nix
+++ b/pkgs/servers/openafs/1.6/srcs.nix
@@ -1,14 +1,14 @@
 { fetchurl }:
 rec {
-  version = "1.6.22.2";
+  version = "1.6.23";
   src = fetchurl {
     url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-src.tar.bz2";
-    sha256 = "15j17igignsfzv5jb47ryczsrz3zsmiqwnj38dx9gzz95807rkyf";
+    sha256 = "1gy7a0jhagxif8av540xb1aa6cl7id08nsgjbgady54bnmb0viga";
   };
 
   srcs = [ src
     (fetchurl {
       url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-doc.tar.bz2";
-      sha256 = "1lpydca95nx5pmqvplb9n3akmxbzvhhypswh0s589ywxpv3zynxm";
+      sha256 = "18my71s9mddy0k835852ksjzkza7xs73kyxavmdqflh5vkywb6y0";
     })];
 }
diff --git a/pkgs/servers/openafs/1.8/cross-build.patch b/pkgs/servers/openafs/1.8/cross-build.patch
new file mode 100644
index 000000000000..2b4fd58b23a4
--- /dev/null
+++ b/pkgs/servers/openafs/1.8/cross-build.patch
@@ -0,0 +1,223 @@
+diff -Nur --unidirectional-new-file openafs-1.8.2/configure.ac openafs-1.8.2.new/configure.ac
+--- openafs-1.8.2/configure.ac	2018-09-11 17:52:48.000000000 +0200
++++ openafs-1.8.2.new/configure.ac	2018-10-16 15:56:36.512277860 +0200
+@@ -23,6 +23,7 @@
+ 
+ AC_PROG_CC
+ AC_PROG_LIBTOOL
++AX_PROG_CC_FOR_BUILD
+ 
+ AC_PATH_PROGS([PATH_CPP], [cpp], [${CC-cc} -E], [$PATH:/lib:/usr/ccs/lib])
+ AC_SUBST([PATH_CPP])
+diff -Nur --unidirectional-new-file openafs-1.8.2/src/cf/ax_prog_cc_for_build.m4 openafs-1.8.2.new/src/cf/ax_prog_cc_for_build.m4
+--- openafs-1.8.2/src/cf/ax_prog_cc_for_build.m4	1970-01-01 01:00:00.000000000 +0100
++++ openafs-1.8.2.new/src/cf/ax_prog_cc_for_build.m4	2018-10-16 16:20:40.278641658 +0200
+@@ -0,0 +1,125 @@
++# ===========================================================================
++#   https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_PROG_CC_FOR_BUILD
++#
++# DESCRIPTION
++#
++#   This macro searches for a C compiler that generates native executables,
++#   that is a C compiler that surely is not a cross-compiler. This can be
++#   useful if you have to generate source code at compile-time like for
++#   example GCC does.
++#
++#   The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
++#   needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
++#   The value of these variables can be overridden by the user by specifying
++#   a compiler with an environment variable (like you do for standard CC).
++#
++#   It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
++#   file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
++#   the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
++#   substituted in the Makefile.
++#
++# LICENSE
++#
++#   Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
++#
++#   Copying and distribution of this file, with or without modification, are
++#   permitted in any medium without royalty provided the copyright notice
++#   and this notice are preserved. This file is offered as-is, without any
++#   warranty.
++
++#serial 9
++
++AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
++AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
++AC_REQUIRE([AC_PROG_CC])dnl
++AC_REQUIRE([AC_PROG_CPP])dnl
++AC_REQUIRE([AC_EXEEXT])dnl
++AC_REQUIRE([AC_CANONICAL_HOST])dnl
++
++dnl Use the standard macros, but make them use other variable names
++dnl
++pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
++pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
++pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
++pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
++pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
++pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
++pushdef([ac_cv_objext], ac_cv_build_objext)dnl
++pushdef([ac_exeext], ac_build_exeext)dnl
++pushdef([ac_objext], ac_build_objext)dnl
++pushdef([CC], CC_FOR_BUILD)dnl
++pushdef([CPP], CPP_FOR_BUILD)dnl
++pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
++pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
++pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
++pushdef([host], build)dnl
++pushdef([host_alias], build_alias)dnl
++pushdef([host_cpu], build_cpu)dnl
++pushdef([host_vendor], build_vendor)dnl
++pushdef([host_os], build_os)dnl
++pushdef([ac_cv_host], ac_cv_build)dnl
++pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
++pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
++pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
++pushdef([ac_cv_host_os], ac_cv_build_os)dnl
++pushdef([ac_cpp], ac_build_cpp)dnl
++pushdef([ac_compile], ac_build_compile)dnl
++pushdef([ac_link], ac_build_link)dnl
++
++save_cross_compiling=$cross_compiling
++save_ac_tool_prefix=$ac_tool_prefix
++cross_compiling=no
++ac_tool_prefix=
++
++AC_PROG_CC
++AC_PROG_CPP
++AC_EXEEXT
++
++ac_tool_prefix=$save_ac_tool_prefix
++cross_compiling=$save_cross_compiling
++
++dnl Restore the old definitions
++dnl
++popdef([ac_link])dnl
++popdef([ac_compile])dnl
++popdef([ac_cpp])dnl
++popdef([ac_cv_host_os])dnl
++popdef([ac_cv_host_vendor])dnl
++popdef([ac_cv_host_cpu])dnl
++popdef([ac_cv_host_alias])dnl
++popdef([ac_cv_host])dnl
++popdef([host_os])dnl
++popdef([host_vendor])dnl
++popdef([host_cpu])dnl
++popdef([host_alias])dnl
++popdef([host])dnl
++popdef([LDFLAGS])dnl
++popdef([CPPFLAGS])dnl
++popdef([CFLAGS])dnl
++popdef([CPP])dnl
++popdef([CC])dnl
++popdef([ac_objext])dnl
++popdef([ac_exeext])dnl
++popdef([ac_cv_objext])dnl
++popdef([ac_cv_exeext])dnl
++popdef([ac_cv_prog_cc_g])dnl
++popdef([ac_cv_prog_cc_cross])dnl
++popdef([ac_cv_prog_cc_works])dnl
++popdef([ac_cv_prog_gcc])dnl
++popdef([ac_cv_prog_CPP])dnl
++
++dnl Finally, set Makefile variables
++dnl
++BUILD_EXEEXT=$ac_build_exeext
++BUILD_OBJEXT=$ac_build_objext
++AC_SUBST(BUILD_EXEEXT)dnl
++AC_SUBST(BUILD_OBJEXT)dnl
++AC_SUBST([CFLAGS_FOR_BUILD])dnl
++AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
++AC_SUBST([LDFLAGS_FOR_BUILD])dnl
++])
+diff -Nur --unidirectional-new-file openafs-1.8.2/src/comerr/Makefile.in openafs-1.8.2.new/src/comerr/Makefile.in
+--- openafs-1.8.2/src/comerr/Makefile.in	2018-09-11 17:52:48.000000000 +0200
++++ openafs-1.8.2.new/src/comerr/Makefile.in	2018-10-16 15:48:19.678898925 +0200
+@@ -38,11 +38,14 @@
+ compile_et:	compile_et.o error_table.o
+ 	$(Q)case $(SYS_NAME) in \
+ 	*_linux* | *_umlinux* | *_darwin* ) \
+-	$(LT_LDRULE_static_NOQ) compile_et.o error_table.o -L${TOP_LIBDIR} -lopr $(buildtool_roken) $(MT_LIBS);; \
++	$(LT_LDRULE_static_NOQ) compile_et.o error_table.o -L${TOP_LIBDIR} -lopr_build $(buildtool_roken) $(MT_LIBS);; \
+ 	* ) \
+-	$(LT_LDRULE_static_NOQ) compile_et.o error_table.o -L${TOP_LIBDIR} -lopr -ll $(buildtool_roken) $(MT_LIBS);; \
++	$(LT_LDRULE_static_NOQ) compile_et.o error_table.o -L${TOP_LIBDIR} -lopr_build -ll $(buildtool_roken) $(MT_LIBS);; \
+ 	esac
+ 
++compile_et compile_et.o error_table.o: CC=$(CC_FOR_BUILD)
++compile_et compile_et.o error_table.o: LD=$(CC_FOR_BUILD)
++
+ libafscom_err.a: $(LT_objs)
+ 	$(LT_LDLIB_lwp) $(LT_objs)
+ 
+diff -Nur --unidirectional-new-file openafs-1.8.2/src/config/Makefile.in openafs-1.8.2.new/src/config/Makefile.in
+--- openafs-1.8.2/src/config/Makefile.in	2018-09-11 17:52:48.000000000 +0200
++++ openafs-1.8.2.new/src/config/Makefile.in	2018-10-16 15:48:19.677898926 +0200
+@@ -54,6 +54,8 @@
+ 
+ config.o: config.c AFS_component_version_number.c
+ 
++config mkvers config.o mc.o: CC=$(CC_FOR_BUILD)
++
+ #
+ # Include installation targets
+ #
+diff -Nur --unidirectional-new-file openafs-1.8.2/src/opr/Makefile.in openafs-1.8.2.new/src/opr/Makefile.in
+--- openafs-1.8.2/src/opr/Makefile.in	2018-09-11 17:52:48.000000000 +0200
++++ openafs-1.8.2.new/src/opr/Makefile.in	2018-10-16 15:48:19.678898925 +0200
+@@ -21,7 +21,7 @@
+ 	  $(TOP_INCDIR)/opr/time.h \
+ 	  $(TOP_INCDIR)/opr/uuid.h
+ 
+-all: $(HEADERS) liboafs_opr.la $(TOP_LIBDIR)/libopr_pic.a $(TOP_LIBDIR)/libopr.a
++all: $(HEADERS) liboafs_opr.la $(TOP_LIBDIR)/libopr_pic.a $(TOP_LIBDIR)/libopr.a $(TOP_LIBDIR)/libopr_build.a
+ 
+ liboafs_opr.la: liboafs_opr.la.sym $(LT_objs) $(LT_deps)
+ 	$(LT_LDLIB_shlib) $(LT_objs) $(LT_deps) $(LT_libs)
+@@ -29,12 +29,26 @@
+ libopr.a: $(LT_objs)
+ 	$(LT_LDLIB_static) $(LT_objs)
+ 
++LT_objs_build = $(patsubst %.lo, %_build.lo, $(LT_objs))
++
++%_build.lo: %.c
++	$(LT_CCRULE) $<
++
++libopr_build.a: $(LT_objs_build)
++	$(LT_LDLIB_static) $(LT_objs_build)
++
++libopr_build.a $(LT_objs_build): CC=$(CC_FOR_BUILD)
++libopr_build.a $(LT_objs_build): LD=$(CC_FOR_BUILD)
++
+ libopr_pic.la: $(LT_objs)
+ 	$(LT_LDLIB_pic) $(LT_objs)
+ 
+ $(TOP_LIBDIR)/libopr.a: libopr.a
+ 	$(INSTALL_DATA) libopr.a $@
+ 
++$(TOP_LIBDIR)/libopr_build.a: libopr_build.a
++	$(INSTALL_DATA) libopr_build.a $@
++
+ $(TOP_LIBDIR)/libopr_pic.a: libopr_pic.la
+ 	$(INSTALL_DATA) .libs/libopr_pic.a $@
+ 
+diff -Nur --unidirectional-new-file openafs-1.8.2/src/rxgen/Makefile.in openafs-1.8.2.new/src/rxgen/Makefile.in
+--- openafs-1.8.2/src/rxgen/Makefile.in	2018-09-11 17:52:48.000000000 +0200
++++ openafs-1.8.2.new/src/rxgen/Makefile.in	2018-10-16 15:48:19.677898926 +0200
+@@ -25,6 +25,8 @@
+ 
+ CFLAGS_rpc_main.o= -DPATH_CPP="\"$(PATH_CPP)\""
+ 
++rxgen $(OBJS): CC=$(CC_FOR_BUILD)
++
+ #
+ # Install targets
+ #
diff --git a/pkgs/servers/openafs/1.8/default.nix b/pkgs/servers/openafs/1.8/default.nix
index fc6b1bc2426b..c77bef6ad24e 100644
--- a/pkgs/servers/openafs/1.8/default.nix
+++ b/pkgs/servers/openafs/1.8/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, which, autoconf, automake, flex, yacc
-, glibc, perl, kerberos, libxslt, docbook_xsl, docbook_xml_dtd_43
-, libtool_2, removeReferencesTo
+{ stdenv, buildPackages, fetchurl, which, autoconf, automake, flex
+, yacc , glibc, perl, kerberos, libxslt, docbook_xsl
+, docbook_xml_dtd_43 , libtool_2, removeReferencesTo
 , ncurses # Extra ncurses utilities. Only needed for debugging.
 , tsmbac ? null # Tivoli Storage Manager Backup Client from IBM
 }:
@@ -11,12 +11,13 @@ stdenv.mkDerivation rec {
   name = "openafs-${version}";
   inherit version srcs;
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ autoconf automake flex libxslt libtool_2 perl
     removeReferencesTo which yacc ];
 
   buildInputs = [ kerberos ncurses ];
 
-  patches = [ ./bosserver.patch ] ++ stdenv.lib.optional (tsmbac != null) ./tsmbac.patch;
+  patches = [ ./bosserver.patch ./cross-build.patch ] ++ stdenv.lib.optional (tsmbac != null) ./tsmbac.patch;
 
   outputs = [ "out" "dev" "man" "doc" "server" ];
 
@@ -27,6 +28,9 @@ stdenv.mkDerivation rec {
   # Makefiles don't include install targets for all new shared libs, yet.
   dontDisableStatic = true;
 
+  # Fixes broken format string in 1.8.2
+  hardeningDisable=[ "format" ];
+
   preConfigure = ''
     patchShebangs .
     for i in `grep -l -R '/usr/\(include\|src\)' .`; do
diff --git a/pkgs/servers/openafs/1.8/module.nix b/pkgs/servers/openafs/1.8/module.nix
index cfd9f0561e99..958fcd578c2b 100644
--- a/pkgs/servers/openafs/1.8/module.nix
+++ b/pkgs/servers/openafs/1.8/module.nix
@@ -8,7 +8,7 @@ let
   kernelBuildDir = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
 
 in stdenv.mkDerivation rec {
-  name = "openafs-${version}-${kernel.version}";
+  name = "openafs-${version}-${kernel.modDirVersion}";
   inherit version src;
 
   nativeBuildInputs = [ autoconf automake flex libtool_2 perl which yacc ]
@@ -54,9 +54,7 @@ in stdenv.mkDerivation rec {
     license = licenses.ipl10;
     platforms = platforms.linux;
     maintainers = [ maintainers.z77z maintainers.spacefrogg ];
-    broken = (versionOlder kernel.version "3.18") ||
-             (versionAtLeast kernel.version "4.18") ||
-             stdenv.targetPlatform.isAarch64;
+    broken = versionOlder kernel.version "3.18";
   };
 
 }
diff --git a/pkgs/servers/openafs/1.8/srcs.nix b/pkgs/servers/openafs/1.8/srcs.nix
index e51504528999..ffdbe47220d7 100644
--- a/pkgs/servers/openafs/1.8/srcs.nix
+++ b/pkgs/servers/openafs/1.8/srcs.nix
@@ -1,14 +1,14 @@
 { fetchurl }:
 rec {
-  version = "1.8.0";
+  version = "1.8.2";
   src = fetchurl {
     url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-src.tar.bz2";
-    sha256 = "63fae6b3a4339e4a40945fae1afb9b99a5e7f8e8dbde668938ab8c4ff569fd7d";
+    sha256 = "13hksffp7k5f89c9lc5g5b1q0pc9h7wyarq3sjyjqam7c513xz95";
   };
 
   srcs = [ src
     (fetchurl {
       url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-doc.tar.bz2";
-      sha256 = "e26f3bb399f524b4978543eb3ec169fd58f2d409cf4bc22c75c65fb9b09f12e8";
+      sha256 = "09n8nymrhpyb0fhahpln2spzhy9pn48hvry35ccqif2jd4wsxdmr";
     })];
 }
diff --git a/pkgs/servers/trezord/default.nix b/pkgs/servers/trezord/default.nix
index 9869da95a048..86fe1d7b008c 100644
--- a/pkgs/servers/trezord/default.nix
+++ b/pkgs/servers/trezord/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "trezord-go-${version}";
-  version = "2.0.19";
+  version = "2.0.24";
 
   # Fixes Cgo related build failures (see https://github.com/NixOS/nixpkgs/issues/25959 )
   hardeningDisable = [ "fortify" ];
@@ -13,7 +13,7 @@ buildGoPackage rec {
     owner  = "trezor";
     repo   = "trezord-go";
     rev    = "v${version}";
-    sha256 = "19am5zs2mx36w2f8b5001i1sg6v72y1nq5cagnw6rza8qxyw83qs";
+    sha256 = "1fl2d57qqrrwl995w4b2d57rvl2cxxy6afjmcp648hhb3dnmp7c3";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index b06f41226ed1..c53bd9121728 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -1,2771 +1,3019 @@
 # THIS IS A GENERATED FILE.  DO NOT EDIT!
-args @ { clangStdenv, fetchurl, fetchgit, fetchpatch, stdenv, pkgconfig, intltool, freetype, fontconfig
-, libxslt, expat, libpng, zlib, perl, mesa_noglu, mesa_drivers, spice-protocol
-, dbus, libuuid, openssl, gperf, m4, libevdev, tradcpp, libinput, mcpp, makeWrapper, autoreconfHook
-, autoconf, automake, libtool, xmlto, asciidoc, flex, bison, python, mtdev, pixman, ... }: with args;
+{ lib, newScope, pixman }:
 
-let
-
-  mkDerivation = name: attrs:
-    let newAttrs = (overrides."${name}" or (x: x)) attrs;
-        stdenv = newAttrs.stdenv or args.stdenv;
-      in stdenv.mkDerivation ((removeAttrs newAttrs [ "stdenv" ]) // {
-        hardeningDisable = [ "bindnow" "relro" ];
-      });
-
-  overrides = import ./overrides.nix {inherit args xorg;};
-
-  xorg = rec {
+lib.makeScope newScope (self: with self; {
 
   inherit pixman;
 
-  applewmproto = (mkDerivation "applewmproto" {
+  applewmproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "applewmproto-1.4.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/applewmproto-1.4.2.tar.bz2;
       sha256 = "1zi4p07mp6jmk030p4gmglwxcwp0lzs5mi31y1b4rp8lsqxdxizw";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  appres = (mkDerivation "appres" {
+  appres = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto, libXt }: stdenv.mkDerivation {
     name = "appres-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/appres-1.0.4.tar.bz2;
       sha256 = "139yp08qy1w6dccamdy0fh343yhaf1am1v81m2j435nd4ya4wqcz";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto libXt ;};
+  }) {};
 
-  bdftopcf = (mkDerivation "bdftopcf" {
+  bdftopcf = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "bdftopcf-1.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/bdftopcf-1.1.tar.bz2;
       sha256 = "18hiscgljrz10zjcws25bis32nyrg3hzgmiq6scrh7izqmgz0kab";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  bigreqsproto = (mkDerivation "bigreqsproto" {
+  bigreqsproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "bigreqsproto-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/bigreqsproto-1.1.2.tar.bz2;
       sha256 = "07hvfm84scz8zjw14riiln2v4w03jlhp756ypwhq27g48jmic8a6";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  bitmap = (mkDerivation "bitmap" {
+  bitmap = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXaw, xbitmaps, libXmu, xproto, libXt }: stdenv.mkDerivation {
     name = "bitmap-1.0.8";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/bitmap-1.0.8.tar.gz;
       sha256 = "1z06a1sn3iq72rmh73f11xgb7n46bdav1fvpgczxjp6al88bsbqs";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXaw xbitmaps libXmu xproto libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXaw xbitmaps libXmu xproto libXt ;};
+  }) {};
 
-  compositeproto = (mkDerivation "compositeproto" {
+  compositeproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "compositeproto-0.4.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/compositeproto-0.4.2.tar.bz2;
       sha256 = "1z0crmf669hirw4s7972mmp8xig80kfndja9h559haqbpvq5k4q4";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  damageproto = (mkDerivation "damageproto" {
+  damageproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "damageproto-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/damageproto-1.2.1.tar.bz2;
       sha256 = "0nzwr5pv9hg7c21n995pdiv0zqhs91yz3r8rn3aska4ykcp12z2w";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  dmxproto = (mkDerivation "dmxproto" {
+  dmxproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "dmxproto-2.3.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/dmxproto-2.3.1.tar.bz2;
       sha256 = "02b5x9dkgajizm8dqyx2w6hmqx3v25l67mgf35nj6sz0lgk52877";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  dri2proto = (mkDerivation "dri2proto" {
+  dri2proto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "dri2proto-2.8";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/dri2proto-2.8.tar.bz2;
       sha256 = "015az1vfdqmil1yay5nlsmpf6cf7vcbpslxjb72cfkzlvrv59dgr";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  dri3proto = (mkDerivation "dri3proto" {
+  dri3proto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "dri3proto-1.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/dri3proto-1.0.tar.bz2;
       sha256 = "0x609xvnl8jky5m8jdklw4nymx3irkv32w99dfd8nl800bblkgh1";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  encodings = (mkDerivation "encodings" {
+  encodings = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "encodings-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/encodings-1.0.4.tar.bz2;
       sha256 = "0ffmaw80vmfwdgvdkp6495xgsqszb6s0iira5j0j6pd4i0lk3mnf";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  fixesproto = (mkDerivation "fixesproto" {
+  fixesproto = callPackage ({ stdenv, pkgconfig, fetchurl, xextproto }: stdenv.mkDerivation {
     name = "fixesproto-5.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/fixesproto-5.0.tar.bz2;
       sha256 = "1ki4wiq2iivx5g4w5ckzbjbap759kfqd72yg18m3zpbb4hqkybxs";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xextproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xextproto ;};
+  }) {};
 
-  fontadobe100dpi = (mkDerivation "fontadobe100dpi" {
+  fontadobe100dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-adobe-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-adobe-100dpi-1.0.3.tar.bz2;
       sha256 = "0m60f5bd0caambrk8ksknb5dks7wzsg7g7xaf0j21jxmx8rq9h5j";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) {};
 
-  fontadobe75dpi = (mkDerivation "fontadobe75dpi" {
+  fontadobe75dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-adobe-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-adobe-75dpi-1.0.3.tar.bz2;
       sha256 = "02advcv9lyxpvrjv8bjh1b797lzg6jvhipclz49z8r8y98g4l0n6";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) {};
 
-  fontadobeutopia100dpi = (mkDerivation "fontadobeutopia100dpi" {
+  fontadobeutopia100dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-adobe-utopia-100dpi-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-100dpi-1.0.4.tar.bz2;
       sha256 = "19dd9znam1ah72jmdh7i6ny2ss2r6m21z9v0l43xvikw48zmwvyi";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) {};
 
-  fontadobeutopia75dpi = (mkDerivation "fontadobeutopia75dpi" {
+  fontadobeutopia75dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-adobe-utopia-75dpi-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-75dpi-1.0.4.tar.bz2;
       sha256 = "152wigpph5wvl4k9m3l4mchxxisgsnzlx033mn5iqrpkc6f72cl7";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) {};
 
-  fontadobeutopiatype1 = (mkDerivation "fontadobeutopiatype1" {
+  fontadobeutopiatype1 = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-adobe-utopia-type1-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-type1-1.0.4.tar.bz2;
       sha256 = "0xw0pdnzj5jljsbbhakc6q9ha2qnca1jr81zk7w70yl9bw83b54p";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit mkfontdir mkfontscale ;};
+  }) {};
 
-  fontalias = (mkDerivation "fontalias" {
+  fontalias = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "font-alias-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-alias-1.0.3.tar.bz2;
       sha256 = "16ic8wfwwr3jicaml7b5a0sk6plcgc1kg84w02881yhwmqm3nicb";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  fontarabicmisc = (mkDerivation "fontarabicmisc" {
+  fontarabicmisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-arabic-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-arabic-misc-1.0.3.tar.bz2;
       sha256 = "1x246dfnxnmflzf0qzy62k8jdpkb6jkgspcjgbk8jcq9lw99npah";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontbh100dpi = (mkDerivation "fontbh100dpi" {
+  fontbh100dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-bh-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-bh-100dpi-1.0.3.tar.bz2;
       sha256 = "10cl4gm38dw68jzln99ijix730y7cbx8np096gmpjjwff1i73h13";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) {};
 
-  fontbh75dpi = (mkDerivation "fontbh75dpi" {
+  fontbh75dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-bh-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-bh-75dpi-1.0.3.tar.bz2;
       sha256 = "073jmhf0sr2j1l8da97pzsqj805f7mf9r2gy92j4diljmi8sm1il";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) {};
 
-  fontbhlucidatypewriter100dpi = (mkDerivation "fontbhlucidatypewriter100dpi" {
+  fontbhlucidatypewriter100dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-bh-lucidatypewriter-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-bh-lucidatypewriter-100dpi-1.0.3.tar.bz2;
       sha256 = "1fqzckxdzjv4802iad2fdrkpaxl4w0hhs9lxlkyraq2kq9ik7a32";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) {};
 
-  fontbhlucidatypewriter75dpi = (mkDerivation "fontbhlucidatypewriter75dpi" {
+  fontbhlucidatypewriter75dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-bh-lucidatypewriter-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-bh-lucidatypewriter-75dpi-1.0.3.tar.bz2;
       sha256 = "0cfbxdp5m12cm7jsh3my0lym9328cgm7fa9faz2hqj05wbxnmhaa";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) {};
 
-  fontbhttf = (mkDerivation "fontbhttf" {
+  fontbhttf = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-bh-ttf-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-bh-ttf-1.0.3.tar.bz2;
       sha256 = "0pyjmc0ha288d4i4j0si4dh3ncf3jiwwjljvddrb0k8v4xiyljqv";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit mkfontdir mkfontscale ;};
+  }) {};
 
-  fontbhtype1 = (mkDerivation "fontbhtype1" {
+  fontbhtype1 = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-bh-type1-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-bh-type1-1.0.3.tar.bz2;
       sha256 = "1hb3iav089albp4sdgnlh50k47cdjif9p4axm0kkjvs8jyi5a53n";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit mkfontdir mkfontscale ;};
+  }) {};
 
-  fontbitstream100dpi = (mkDerivation "fontbitstream100dpi" {
+  fontbitstream100dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-bitstream-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-bitstream-100dpi-1.0.3.tar.bz2;
       sha256 = "1kmn9jbck3vghz6rj3bhc3h0w6gh0qiaqm90cjkqsz1x9r2dgq7b";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontbitstream75dpi = (mkDerivation "fontbitstream75dpi" {
+  fontbitstream75dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-bitstream-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-bitstream-75dpi-1.0.3.tar.bz2;
       sha256 = "13plbifkvfvdfym6gjbgy9wx2xbdxi9hfrl1k22xayy02135wgxs";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontbitstreamtype1 = (mkDerivation "fontbitstreamtype1" {
+  fontbitstreamtype1 = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-bitstream-type1-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-bitstream-type1-1.0.3.tar.bz2;
       sha256 = "1256z0jhcf5gbh1d03593qdwnag708rxqa032izmfb5dmmlhbsn6";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit mkfontdir mkfontscale ;};
+  }) {};
 
-  fontcronyxcyrillic = (mkDerivation "fontcronyxcyrillic" {
+  fontcronyxcyrillic = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-cronyx-cyrillic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-cronyx-cyrillic-1.0.3.tar.bz2;
       sha256 = "0ai1v4n61k8j9x2a1knvfbl2xjxk3xxmqaq3p9vpqrspc69k31kf";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontcursormisc = (mkDerivation "fontcursormisc" {
+  fontcursormisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-cursor-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-cursor-misc-1.0.3.tar.bz2;
       sha256 = "0dd6vfiagjc4zmvlskrbjz85jfqhf060cpys8j0y1qpcbsrkwdhp";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontdaewoomisc = (mkDerivation "fontdaewoomisc" {
+  fontdaewoomisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-daewoo-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-daewoo-misc-1.0.3.tar.bz2;
       sha256 = "1s2bbhizzgbbbn5wqs3vw53n619cclxksljvm759h9p1prqdwrdw";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontdecmisc = (mkDerivation "fontdecmisc" {
+  fontdecmisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-dec-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-dec-misc-1.0.3.tar.bz2;
       sha256 = "0yzza0l4zwyy7accr1s8ab7fjqkpwggqydbm2vc19scdby5xz7g1";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontibmtype1 = (mkDerivation "fontibmtype1" {
+  fontibmtype1 = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-ibm-type1-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-ibm-type1-1.0.3.tar.bz2;
       sha256 = "1pyjll4adch3z5cg663s6vhi02k8m6488f0mrasg81ssvg9jinzx";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit mkfontdir mkfontscale ;};
+  }) {};
 
-  fontisasmisc = (mkDerivation "fontisasmisc" {
+  fontisasmisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-isas-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-isas-misc-1.0.3.tar.bz2;
       sha256 = "0rx8q02rkx673a7skkpnvfkg28i8gmqzgf25s9yi0lar915sn92q";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontjismisc = (mkDerivation "fontjismisc" {
+  fontjismisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-jis-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-jis-misc-1.0.3.tar.bz2;
       sha256 = "0rdc3xdz12pnv951538q6wilx8mrdndpkphpbblszsv7nc8cw61b";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontmicromisc = (mkDerivation "fontmicromisc" {
+  fontmicromisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-micro-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-micro-misc-1.0.3.tar.bz2;
       sha256 = "1dldxlh54zq1yzfnrh83j5vm0k4ijprrs5yl18gm3n9j1z0q2cws";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontmisccyrillic = (mkDerivation "fontmisccyrillic" {
+  fontmisccyrillic = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-misc-cyrillic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-misc-cyrillic-1.0.3.tar.bz2;
       sha256 = "0q2ybxs8wvylvw95j6x9i800rismsmx4b587alwbfqiw6biy63z4";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontmiscethiopic = (mkDerivation "fontmiscethiopic" {
+  fontmiscethiopic = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-misc-ethiopic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-misc-ethiopic-1.0.3.tar.bz2;
       sha256 = "19cq7iq0pfad0nc2v28n681fdq3fcw1l1hzaq0wpkgpx7bc1zjsk";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit mkfontdir mkfontscale ;};
+  }) {};
 
-  fontmiscmeltho = (mkDerivation "fontmiscmeltho" {
+  fontmiscmeltho = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-misc-meltho-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-misc-meltho-1.0.3.tar.bz2;
       sha256 = "148793fqwzrc3bmh2vlw5fdiwjc2n7vs25cic35gfp452czk489p";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit mkfontdir mkfontscale ;};
+  }) {};
 
-  fontmiscmisc = (mkDerivation "fontmiscmisc" {
+  fontmiscmisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-misc-misc-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-misc-misc-1.1.2.tar.bz2;
       sha256 = "150pq6n8n984fah34n3k133kggn9v0c5k07igv29sxp1wi07krxq";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) {};
 
-  fontmuttmisc = (mkDerivation "fontmuttmisc" {
+  fontmuttmisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-mutt-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-mutt-misc-1.0.3.tar.bz2;
       sha256 = "13qghgr1zzpv64m0p42195k1kc77pksiv059fdvijz1n6kdplpxx";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontschumachermisc = (mkDerivation "fontschumachermisc" {
+  fontschumachermisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-schumacher-misc-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-schumacher-misc-1.1.2.tar.bz2;
       sha256 = "0nkym3n48b4v36y4s927bbkjnsmicajarnf6vlp7wxp0as304i74";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) {};
 
-  fontscreencyrillic = (mkDerivation "fontscreencyrillic" {
+  fontscreencyrillic = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-screen-cyrillic-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-screen-cyrillic-1.0.4.tar.bz2;
       sha256 = "0yayf1qlv7irf58nngddz2f1q04qkpr5jwp4aja2j5gyvzl32hl2";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontsonymisc = (mkDerivation "fontsonymisc" {
+  fontsonymisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-sony-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-sony-misc-1.0.3.tar.bz2;
       sha256 = "1xfgcx4gsgik5mkgkca31fj3w72jw9iw76qyrajrsz1lp8ka6hr0";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontsproto = (mkDerivation "fontsproto" {
+  fontsproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "fontsproto-2.1.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/fontsproto-2.1.3.tar.bz2;
       sha256 = "1f2sdsd74y34nnaf4m1zlcbhyv8xb6irnisc99f84c4ivnq4d415";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  fontsunmisc = (mkDerivation "fontsunmisc" {
+  fontsunmisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-sun-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-sun-misc-1.0.3.tar.bz2;
       sha256 = "1q6jcqrffg9q5f5raivzwx9ffvf7r11g6g0b125na1bhpz5ly7s8";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontutil = (mkDerivation "fontutil" {
+  fontutil = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "font-util-1.3.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/font/font-util-1.3.1.tar.bz2;
       sha256 = "08drjb6cf84pf5ysghjpb4i7xkd2p86k3wl2a0jxs1jif6qbszma";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  fontwinitzkicyrillic = (mkDerivation "fontwinitzkicyrillic" {
+  fontwinitzkicyrillic = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-winitzki-cyrillic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-winitzki-cyrillic-1.0.3.tar.bz2;
       sha256 = "181n1bgq8vxfxqicmy1jpm1hnr6gwn1kdhl6hr4frjigs1ikpldb";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontxfree86type1 = (mkDerivation "fontxfree86type1" {
+  fontxfree86type1 = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-xfree86-type1-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-xfree86-type1-1.0.4.tar.bz2;
       sha256 = "0jp3zc0qfdaqfkgzrb44vi9vi0a8ygb35wp082yz7rvvxhmg9sya";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit mkfontdir mkfontscale ;};
+  }) {};
 
-  gccmakedep = (mkDerivation "gccmakedep" {
+  gccmakedep = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "gccmakedep-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/util/gccmakedep-1.0.3.tar.bz2;
       sha256 = "1r1fpy5ni8chbgx7j5sz0008fpb6vbazpy1nifgdhgijyzqxqxdj";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  glproto = (mkDerivation "glproto" {
+  glproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "glproto-1.4.17";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/glproto-1.4.17.tar.bz2;
       sha256 = "0h5ykmcddwid5qj6sbrszgkcypwn3mslvswxpgy2n2iixnyr9amd";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  iceauth = (mkDerivation "iceauth" {
+  iceauth = callPackage ({ stdenv, pkgconfig, fetchurl, libICE, xproto }: stdenv.mkDerivation {
     name = "iceauth-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/iceauth-1.0.7.tar.bz2;
       sha256 = "02izdyzhwpgiyjd8brzilwvwnfr72ncjb6mzz3y1icwrxqnsy5hj";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libICE xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libICE xproto ;};
+  }) {};
 
-  imake = (mkDerivation "imake" {
+  imake = callPackage ({ stdenv, pkgconfig, fetchurl, xproto }: stdenv.mkDerivation {
     name = "imake-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/util/imake-1.0.7.tar.bz2;
       sha256 = "0zpk8p044jh14bis838shbf4100bjg7mccd7bq54glpsq552q339";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xproto ;};
+  }) {};
 
-  inputproto = (mkDerivation "inputproto" {
+  inputproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "inputproto-2.3.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/inputproto-2.3.2.tar.bz2;
       sha256 = "07gk7v006zqn3dcfh16l06gnccy7xnqywf3vl9c209ikazsnlfl9";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  kbproto = (mkDerivation "kbproto" {
+  kbproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "kbproto-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/kbproto-1.0.7.tar.bz2;
       sha256 = "0mxqj1pzhjpz9495vrjnpi10kv2n1s4vs7di0sh3yvipfq5j30pq";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  libAppleWM = (mkDerivation "libAppleWM" {
+  libAppleWM = callPackage ({ stdenv, pkgconfig, fetchurl, applewmproto, libX11, libXext, xextproto }: stdenv.mkDerivation {
     name = "libAppleWM-1.4.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/libAppleWM-1.4.1.tar.bz2;
       sha256 = "0r8x28n45q89x91mz8mv0zkkcxi8wazkac886fyvflhiv2y8ap2y";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ applewmproto libX11 libXext xextproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit applewmproto libX11 libXext xextproto ;};
+  }) {};
 
-  libFS = (mkDerivation "libFS" {
+  libFS = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, xproto, xtrans }: stdenv.mkDerivation {
     name = "libFS-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libFS-1.0.7.tar.bz2;
       sha256 = "1wy4km3qwwajbyl8y9pka0zwizn7d9pfiyjgzba02x3a083lr79f";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto xproto xtrans ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto xproto xtrans ;};
+  }) {};
 
-  libICE = (mkDerivation "libICE" {
+  libICE = callPackage ({ stdenv, pkgconfig, fetchurl, xproto, xtrans }: stdenv.mkDerivation {
     name = "libICE-1.0.9";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libICE-1.0.9.tar.bz2;
       sha256 = "00p2b6bsg6kcdbb39bv46339qcywxfl4hsrz8asm4hy6q7r34w4g";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xproto xtrans ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xproto xtrans ;};
+  }) {};
 
-  libSM = (mkDerivation "libSM" {
+  libSM = callPackage ({ stdenv, pkgconfig, fetchurl, libICE, libuuid, xproto, xtrans }: stdenv.mkDerivation {
     name = "libSM-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libSM-1.2.2.tar.bz2;
       sha256 = "1gc7wavgs435g9qkp9jw4lhmaiq6ip9llv49f054ad6ryp4sib0b";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libICE libuuid xproto xtrans ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libICE libuuid xproto xtrans ;};
+  }) {};
 
-  libWindowsWM = (mkDerivation "libWindowsWM" {
+  libWindowsWM = callPackage ({ stdenv, pkgconfig, fetchurl, windowswmproto, libX11, libXext, xextproto }: stdenv.mkDerivation {
     name = "libWindowsWM-1.0.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/libWindowsWM-1.0.1.tar.bz2;
       sha256 = "1p0flwb67xawyv6yhri9w17m1i4lji5qnd0gq8v1vsfb8zw7rw15";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ windowswmproto libX11 libXext xextproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit windowswmproto libX11 libXext xextproto ;};
+  }) {};
 
-  libX11 = (mkDerivation "libX11" {
+  libX11 = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, kbproto, libxcb, xextproto, xf86bigfontproto, xproto, xtrans }: stdenv.mkDerivation {
     name = "libX11-1.6.6";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libX11-1.6.6.tar.bz2;
       sha256 = "0ks1mxlda7nxfmffihi15ljsn50q8dknl33i2xag8xzc80fiizk5";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ;};
+  }) {};
 
-  libXScrnSaver = (mkDerivation "libXScrnSaver" {
+  libXScrnSaver = callPackage ({ stdenv, pkgconfig, fetchurl, scrnsaverproto, libX11, libXext, xextproto }: stdenv.mkDerivation {
     name = "libXScrnSaver-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/libXScrnSaver-1.2.2.tar.bz2;
       sha256 = "07ff4r20nkkrj7h08f9fwamds9b3imj8jz5iz6y38zqw6jkyzwcg";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ scrnsaverproto libX11 libXext xextproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit scrnsaverproto libX11 libXext xextproto ;};
+  }) {};
 
-  libXau = (mkDerivation "libXau" {
+  libXau = callPackage ({ stdenv, pkgconfig, fetchurl, xproto }: stdenv.mkDerivation {
     name = "libXau-1.0.8";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXau-1.0.8.tar.bz2;
       sha256 = "1wm4pv12f36cwzhldpp7vy3lhm3xdcnp4f184xkxsp7b18r7gm7x";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xproto ;};
+  }) {};
 
-  libXaw = (mkDerivation "libXaw" {
+  libXaw = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, xextproto, libXmu, libXpm, xproto, libXt }: stdenv.mkDerivation {
     name = "libXaw-1.0.13";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXaw-1.0.13.tar.bz2;
       sha256 = "1kdhxplwrn43d9jp3v54llp05kwx210lrsdvqb6944jp29rhdy4f";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXext xextproto libXmu libXpm xproto libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXext xextproto libXmu libXpm xproto libXt ;};
+  }) {};
 
-  libXcomposite = (mkDerivation "libXcomposite" {
+  libXcomposite = callPackage ({ stdenv, pkgconfig, fetchurl, compositeproto, libX11, libXfixes, xproto }: stdenv.mkDerivation {
     name = "libXcomposite-0.4.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXcomposite-0.4.4.tar.bz2;
       sha256 = "0y21nfpa5s8qmx0srdlilyndas3sgl0c6rc26d5fx2vx436m1qpd";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ compositeproto libX11 libXfixes xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit compositeproto libX11 libXfixes xproto ;};
+  }) {};
 
-  libXcursor = (mkDerivation "libXcursor" {
+  libXcursor = callPackage ({ stdenv, pkgconfig, fetchurl, fixesproto, libX11, libXfixes, xproto, libXrender }: stdenv.mkDerivation {
     name = "libXcursor-1.1.15";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXcursor-1.1.15.tar.bz2;
       sha256 = "0syzlfvh29037p0vnlc8f3jxz8nl55k65blswsakklkwsc6nfki9";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fixesproto libX11 libXfixes xproto libXrender ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fixesproto libX11 libXfixes xproto libXrender ;};
+  }) {};
 
-  libXdamage = (mkDerivation "libXdamage" {
+  libXdamage = callPackage ({ stdenv, pkgconfig, fetchurl, damageproto, fixesproto, libX11, xextproto, libXfixes, xproto }: stdenv.mkDerivation {
     name = "libXdamage-1.1.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXdamage-1.1.4.tar.bz2;
       sha256 = "1bamagq7g6s0d23l8rb3nppj8ifqj05f7z9bhbs4fdg8az3ffgvw";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ damageproto fixesproto libX11 xextproto libXfixes xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit damageproto fixesproto libX11 xextproto libXfixes xproto ;};
+  }) {};
 
-  libXdmcp = (mkDerivation "libXdmcp" {
+  libXdmcp = callPackage ({ stdenv, pkgconfig, fetchurl, xproto }: stdenv.mkDerivation {
     name = "libXdmcp-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXdmcp-1.1.2.tar.bz2;
       sha256 = "1qp4yhxbfnpj34swa0fj635kkihdkwaiw7kf55cg5zqqg630kzl1";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xproto ;};
+  }) {};
 
-  libXext = (mkDerivation "libXext" {
+  libXext = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xextproto, xproto }: stdenv.mkDerivation {
     name = "libXext-1.3.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXext-1.3.3.tar.bz2;
       sha256 = "0dbfn5bznnrhqzvkrcmw4c44yvvpwdcsrvzxf4rk27r36b9x865m";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xextproto xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xextproto xproto ;};
+  }) {};
 
-  libXfixes = (mkDerivation "libXfixes" {
+  libXfixes = callPackage ({ stdenv, pkgconfig, fetchurl, fixesproto, libX11, xextproto, xproto }: stdenv.mkDerivation {
     name = "libXfixes-5.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXfixes-5.0.3.tar.bz2;
       sha256 = "1miana3y4hwdqdparsccmygqr3ic3hs5jrqfzp70hvi2zwxd676y";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fixesproto libX11 xextproto xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fixesproto libX11 xextproto xproto ;};
+  }) {};
 
-  libXfont = (mkDerivation "libXfont" {
+  libXfont = callPackage ({ stdenv, pkgconfig, fetchurl, libfontenc, fontsproto, freetype, xproto, xtrans, zlib }: stdenv.mkDerivation {
     name = "libXfont-1.5.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXfont-1.5.4.tar.bz2;
       sha256 = "0hiji1bvpl78aj3a3141hkk353aich71wv8l5l2z51scfy878zqs";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libfontenc fontsproto freetype xproto xtrans zlib ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libfontenc fontsproto freetype xproto xtrans zlib ;};
+  }) {};
 
-  libXfont2 = (mkDerivation "libXfont2" {
+  libXfont2 = callPackage ({ stdenv, pkgconfig, fetchurl, libfontenc, fontsproto, freetype, xproto, xtrans, zlib }: stdenv.mkDerivation {
     name = "libXfont2-2.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXfont2-2.0.3.tar.bz2;
       sha256 = "0klwmimmhm3axpj8pwn5l41lbggh47r5aazhw63zxkbwfgyvg2hf";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libfontenc fontsproto freetype xproto xtrans zlib ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libfontenc fontsproto freetype xproto xtrans zlib ;};
+  }) {};
 
-  libXft = (mkDerivation "libXft" {
+  libXft = callPackage ({ stdenv, pkgconfig, fetchurl, fontconfig, freetype, libX11, xproto, libXrender }: stdenv.mkDerivation {
     name = "libXft-2.3.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXft-2.3.2.tar.bz2;
       sha256 = "0k6wzi5rzs0d0n338ms8n8lfyhq914hw4yl2j7553wqxfqjci8zm";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontconfig freetype libX11 xproto libXrender ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontconfig freetype libX11 xproto libXrender ;};
+  }) {};
 
-  libXi = (mkDerivation "libXi" {
+  libXi = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, libX11, libXext, xextproto, libXfixes, xproto }: stdenv.mkDerivation {
     name = "libXi-1.7.9";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXi-1.7.9.tar.bz2;
       sha256 = "0idg1wc01hndvaa820fvfs7phvd1ymf0lldmq6386i7rhkzvirn2";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto libX11 libXext xextproto libXfixes xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto libX11 libXext xextproto libXfixes xproto ;};
+  }) {};
 
-  libXinerama = (mkDerivation "libXinerama" {
+  libXinerama = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, xextproto, xineramaproto }: stdenv.mkDerivation {
     name = "libXinerama-1.1.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXinerama-1.1.4.tar.bz2;
       sha256 = "086p0axqj57nvkaqa6r00dnr9kyrn1m8blgf0zjy25zpxkbxn200";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXext xextproto xineramaproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXext xextproto xineramaproto ;};
+  }) {};
 
-  libXmu = (mkDerivation "libXmu" {
+  libXmu = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, xextproto, xproto, libXt }: stdenv.mkDerivation {
     name = "libXmu-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXmu-1.1.2.tar.bz2;
       sha256 = "02wx6jw7i0q5qwx87yf94fsn3h0xpz1k7dz1nkwfwm1j71ydqvkm";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXext xextproto xproto libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXext xextproto xproto libXt ;};
+  }) {};
 
-  libXp = (mkDerivation "libXp" {
+  libXp = callPackage ({ stdenv, pkgconfig, fetchurl, printproto, libX11, libXau, libXext, xextproto }: stdenv.mkDerivation {
     name = "libXp-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXp-1.0.3.tar.bz2;
       sha256 = "0mwc2jwmq03b1m9ihax5c6gw2ln8rc70zz4fsj3kb7440nchqdkz";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ printproto libX11 libXau libXext xextproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit printproto libX11 libXau libXext xextproto ;};
+  }) {};
 
-  libXpm = (mkDerivation "libXpm" {
+  libXpm = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, xextproto, xproto, libXt }: stdenv.mkDerivation {
     name = "libXpm-3.5.12";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXpm-3.5.12.tar.bz2;
       sha256 = "1v5xaiw4zlhxspvx76y3hq4wpxv7mpj6parqnwdqvpj8vbinsspx";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXext xextproto xproto libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXext xextproto xproto libXt ;};
+  }) {};
 
-  libXpresent = (mkDerivation "libXpresent" {
+  libXpresent = callPackage ({ stdenv, pkgconfig, fetchurl, presentproto, libX11, xextproto, xproto }: stdenv.mkDerivation {
     name = "libXpresent-1.0.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXpresent-1.0.0.tar.bz2;
       sha256 = "12kvvar3ihf6sw49h6ywfdiwmb8i1gh8wasg1zhzp6hs2hay06n1";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ presentproto libX11 xextproto xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit presentproto libX11 xextproto xproto ;};
+  }) {};
 
-  libXrandr = (mkDerivation "libXrandr" {
+  libXrandr = callPackage ({ stdenv, pkgconfig, fetchurl, randrproto, renderproto, libX11, libXext, xextproto, xproto, libXrender }: stdenv.mkDerivation {
     name = "libXrandr-1.5.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXrandr-1.5.1.tar.bz2;
       sha256 = "06pmphx8lp3iywqnh88fvbfb0d8xgkx0qpvan49akpja1vxfgy8z";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ randrproto renderproto libX11 libXext xextproto xproto libXrender ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit randrproto renderproto libX11 libXext xextproto xproto libXrender ;};
+  }) {};
 
-  libXrender = (mkDerivation "libXrender" {
+  libXrender = callPackage ({ stdenv, pkgconfig, fetchurl, renderproto, libX11, xproto }: stdenv.mkDerivation {
     name = "libXrender-0.9.10";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXrender-0.9.10.tar.bz2;
       sha256 = "0j89cnb06g8x79wmmnwzykgkkfdhin9j7hjpvsxwlr3fz1wmjvf0";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ renderproto libX11 xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit renderproto libX11 xproto ;};
+  }) {};
 
-  libXres = (mkDerivation "libXres" {
+  libXres = callPackage ({ stdenv, pkgconfig, fetchurl, resourceproto, libX11, libXext, xextproto, xproto }: stdenv.mkDerivation {
     name = "libXres-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXres-1.2.0.tar.bz2;
       sha256 = "1m0jr0lbz9ixpp9ihk68349q0i7ry2379lnfzdy4mrl86ijc2xgz";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ resourceproto libX11 libXext xextproto xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit resourceproto libX11 libXext xextproto xproto ;};
+  }) {};
 
-  libXt = (mkDerivation "libXt" {
+  libXt = callPackage ({ stdenv, pkgconfig, fetchurl, libICE, kbproto, libSM, libX11, xproto }: stdenv.mkDerivation {
     name = "libXt-1.1.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXt-1.1.5.tar.bz2;
       sha256 = "06lz6i7rbrp19kgikpaz4c97fw7n31k2h2aiikczs482g2zbdvj6";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libICE kbproto libSM libX11 xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libICE kbproto libSM libX11 xproto ;};
+  }) {};
 
-  libXtst = (mkDerivation "libXtst" {
+  libXtst = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, recordproto, libX11, libXext, xextproto, libXi }: stdenv.mkDerivation {
     name = "libXtst-1.2.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXtst-1.2.3.tar.bz2;
       sha256 = "012jpyj7xfm653a9jcfqbzxyywdmwb2b5wr1dwylx14f3f54jma6";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto recordproto libX11 libXext xextproto libXi ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto recordproto libX11 libXext xextproto libXi ;};
+  }) {};
 
-  libXv = (mkDerivation "libXv" {
+  libXv = callPackage ({ stdenv, pkgconfig, fetchurl, videoproto, libX11, libXext, xextproto, xproto }: stdenv.mkDerivation {
     name = "libXv-1.0.11";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXv-1.0.11.tar.bz2;
       sha256 = "125hn06bd3d8y97hm2pbf5j55gg4r2hpd3ifad651i4sr7m16v6j";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ videoproto libX11 libXext xextproto xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit videoproto libX11 libXext xextproto xproto ;};
+  }) {};
 
-  libXvMC = (mkDerivation "libXvMC" {
+  libXvMC = callPackage ({ stdenv, pkgconfig, fetchurl, videoproto, libX11, libXext, xextproto, xproto, libXv }: stdenv.mkDerivation {
     name = "libXvMC-1.0.10";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXvMC-1.0.10.tar.bz2;
       sha256 = "0bpffxr5dal90a8miv2w0rif61byqxq2f5angj4z1bnznmws00g5";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ videoproto libX11 libXext xextproto xproto libXv ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit videoproto libX11 libXext xextproto xproto libXv ;};
+  }) {};
 
-  libXxf86dga = (mkDerivation "libXxf86dga" {
+  libXxf86dga = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, xextproto, xf86dgaproto, xproto }: stdenv.mkDerivation {
     name = "libXxf86dga-1.1.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXxf86dga-1.1.4.tar.bz2;
       sha256 = "0zn7aqj8x0951d8zb2h2andldvwkzbsc4cs7q023g6nzq6vd9v4f";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXext xextproto xf86dgaproto xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXext xextproto xf86dgaproto xproto ;};
+  }) {};
 
-  libXxf86misc = (mkDerivation "libXxf86misc" {
+  libXxf86misc = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, xextproto, xf86miscproto, xproto }: stdenv.mkDerivation {
     name = "libXxf86misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXxf86misc-1.0.3.tar.bz2;
       sha256 = "0nvbq9y6k6m9hxdvg3crycqsnnxf1859wrisqcs37z9fhq044gsn";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXext xextproto xf86miscproto xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXext xextproto xf86miscproto xproto ;};
+  }) {};
 
-  libXxf86vm = (mkDerivation "libXxf86vm" {
+  libXxf86vm = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, xextproto, xf86vidmodeproto, xproto }: stdenv.mkDerivation {
     name = "libXxf86vm-1.1.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXxf86vm-1.1.4.tar.bz2;
       sha256 = "0mydhlyn72i7brjwypsqrpkls3nm6vxw0li8b2nw0caz7kwjgvmg";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXext xextproto xf86vidmodeproto xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXext xextproto xf86vidmodeproto xproto ;};
+  }) {};
 
-  libdmx = (mkDerivation "libdmx" {
+  libdmx = callPackage ({ stdenv, pkgconfig, fetchurl, dmxproto, libX11, libXext, xextproto }: stdenv.mkDerivation {
     name = "libdmx-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libdmx-1.1.3.tar.bz2;
       sha256 = "00djlxas38kbsrglcmwmxfbmxjdchlbj95pqwjvdg8jn5rns6zf9";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ dmxproto libX11 libXext xextproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit dmxproto libX11 libXext xextproto ;};
+  }) {};
 
-  libfontenc = (mkDerivation "libfontenc" {
+  libfontenc = callPackage ({ stdenv, pkgconfig, fetchurl, xproto, zlib }: stdenv.mkDerivation {
     name = "libfontenc-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libfontenc-1.1.3.tar.bz2;
       sha256 = "08gxmrhgw97mv0pvkfmd46zzxrn6zdw4g27073zl55gwwqq8jn3h";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xproto zlib ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xproto zlib ;};
+  }) {};
 
-  libpciaccess = (mkDerivation "libpciaccess" {
+  libpciaccess = callPackage ({ stdenv, pkgconfig, fetchurl, zlib }: stdenv.mkDerivation {
     name = "libpciaccess-0.14";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libpciaccess-0.14.tar.bz2;
       sha256 = "197jbcpvp4z4x6j705mq2y4fsnnypy6f85y8xalgwhgx5bhl7x9x";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ zlib ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit zlib ;};
+  }) {};
 
-  libpthreadstubs = (mkDerivation "libpthreadstubs" {
+  libpthreadstubs = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "libpthread-stubs-0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = http://xcb.freedesktop.org/dist/libpthread-stubs-0.4.tar.bz2;
       sha256 = "0cz7s9w8lqgzinicd4g36rjg08zhsbyngh0w68c3np8nlc8mkl74";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  libxcb = (mkDerivation "libxcb" {
+  libxcb = callPackage ({ stdenv, pkgconfig, fetchurl, libxslt, libpthreadstubs, python, libXau, xcbproto, libXdmcp }: stdenv.mkDerivation {
     name = "libxcb-1.13.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = http://xcb.freedesktop.org/dist/libxcb-1.13.1.tar.bz2;
       sha256 = "1i27lvrcsygims1pddpl5c4qqs6z715lm12ax0n3vx0igapvg7x8";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libxslt libpthreadstubs python libXau xcbproto libXdmcp ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libxslt libpthreadstubs python libXau xcbproto libXdmcp ;};
+  }) {};
 
-  libxkbfile = (mkDerivation "libxkbfile" {
+  libxkbfile = callPackage ({ stdenv, pkgconfig, fetchurl, kbproto, libX11 }: stdenv.mkDerivation {
     name = "libxkbfile-1.0.9";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libxkbfile-1.0.9.tar.bz2;
       sha256 = "0smimr14zvail7ar68n7spvpblpdnih3jxrva7cpa6cn602px0ai";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ kbproto libX11 ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit kbproto libX11 ;};
+  }) {};
 
-  libxshmfence = (mkDerivation "libxshmfence" {
+  libxshmfence = callPackage ({ stdenv, pkgconfig, fetchurl, xproto }: stdenv.mkDerivation {
     name = "libxshmfence-1.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libxshmfence-1.2.tar.bz2;
       sha256 = "032b0nlkdrpbimdld4gqvhqx53rzn8fawvf1ybhzn7lcswgjs6yj";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xproto ;};
+  }) {};
 
-  lndir = (mkDerivation "lndir" {
+  lndir = callPackage ({ stdenv, pkgconfig, fetchurl, xproto }: stdenv.mkDerivation {
     name = "lndir-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/util/lndir-1.0.3.tar.bz2;
       sha256 = "0pdngiy8zdhsiqx2am75yfcl36l7kd7d7nl0rss8shcdvsqgmx29";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xproto ;};
+  }) {};
 
-  luit = (mkDerivation "luit" {
+  luit = callPackage ({ stdenv, pkgconfig, fetchurl, libfontenc }: stdenv.mkDerivation {
     name = "luit-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/luit-1.1.1.tar.bz2;
       sha256 = "0dn694mk56x6hdk6y9ylx4f128h5jcin278gnw2gb807rf3ygc1h";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libfontenc ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libfontenc ;};
+  }) {};
 
-  makedepend = (mkDerivation "makedepend" {
+  makedepend = callPackage ({ stdenv, pkgconfig, fetchurl, xproto }: stdenv.mkDerivation {
     name = "makedepend-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/util/makedepend-1.0.5.tar.bz2;
       sha256 = "09alw99r6y2bbd1dc786n3jfgv4j520apblyn7cw6jkjydshba7p";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xproto ;};
+  }) {};
 
-  mkfontdir = (mkDerivation "mkfontdir" {
+  mkfontdir = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "mkfontdir-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/mkfontdir-1.0.7.tar.bz2;
       sha256 = "0c3563kw9fg15dpgx4dwvl12qz6sdqdns1pxa574hc7i5m42mman";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  mkfontscale = (mkDerivation "mkfontscale" {
+  mkfontscale = callPackage ({ stdenv, pkgconfig, fetchurl, libfontenc, freetype, xproto, zlib }: stdenv.mkDerivation {
     name = "mkfontscale-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/mkfontscale-1.1.2.tar.bz2;
       sha256 = "081z8lwh9c1gyrx3ad12whnpv3jpfbqsc366mswpfm48mwl54vcc";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libfontenc freetype xproto zlib ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libfontenc freetype xproto zlib ;};
+  }) {};
 
-  presentproto = (mkDerivation "presentproto" {
+  presentproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "presentproto-1.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/presentproto-1.1.tar.bz2;
       sha256 = "1f96dlgfwhsd0834z8ydjzjnb0cwha5r6lxgia4say4zhsl276zn";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  printproto = (mkDerivation "printproto" {
+  printproto = callPackage ({ stdenv, pkgconfig, fetchurl, libXau }: stdenv.mkDerivation {
     name = "printproto-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/printproto-1.0.5.tar.bz2;
       sha256 = "06liap8n4s25sgp27d371cc7yg9a08dxcr3pmdjp761vyin3360j";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libXau ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libXau ;};
+  }) {};
 
-  randrproto = (mkDerivation "randrproto" {
+  randrproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "randrproto-1.5.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/randrproto-1.5.0.tar.bz2;
       sha256 = "0s4496z61y5q45q20gldwpf788b9nsa8hb13gnck1mwwwwrmarsc";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  recordproto = (mkDerivation "recordproto" {
+  recordproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "recordproto-1.14.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/recordproto-1.14.2.tar.bz2;
       sha256 = "0w3kgr1zabwf79bpc28dcnj0fpni6r53rpi82ngjbalj5s6m8xx7";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  renderproto = (mkDerivation "renderproto" {
+  renderproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "renderproto-0.11.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/renderproto-0.11.1.tar.bz2;
       sha256 = "0dr5xw6s0qmqg0q5pdkb4jkdhaja0vbfqla79qh5j1xjj9dmlwq6";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  resourceproto = (mkDerivation "resourceproto" {
+  resourceproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "resourceproto-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/resourceproto-1.2.0.tar.bz2;
       sha256 = "0638iyfiiyjw1hg3139pai0j6m65gkskrvd9684zgc6ydcx00riw";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  scrnsaverproto = (mkDerivation "scrnsaverproto" {
+  scrnsaverproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "scrnsaverproto-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/scrnsaverproto-1.2.2.tar.bz2;
       sha256 = "0rfdbfwd35d761xkfifcscx56q0n56043ixlmv70r4v4l66hmdwb";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  sessreg = (mkDerivation "sessreg" {
+  sessreg = callPackage ({ stdenv, pkgconfig, fetchurl, xproto }: stdenv.mkDerivation {
     name = "sessreg-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/sessreg-1.1.1.tar.bz2;
       sha256 = "1qd66mg2bnppqz4xgdjzif2488zl82vx2c26ld3nb8pnyginm9vq";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xproto ;};
+  }) {};
 
-  setxkbmap = (mkDerivation "setxkbmap" {
+  setxkbmap = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libxkbfile }: stdenv.mkDerivation {
     name = "setxkbmap-1.3.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/setxkbmap-1.3.1.tar.bz2;
       sha256 = "1qfk097vjysqb72pq89h0la3462kbb2dh1d11qzs2fr67ybb7pd9";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libxkbfile ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libxkbfile ;};
+  }) {};
 
-  smproxy = (mkDerivation "smproxy" {
+  smproxy = callPackage ({ stdenv, pkgconfig, fetchurl, libICE, libSM, libXmu, libXt }: stdenv.mkDerivation {
     name = "smproxy-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/smproxy-1.0.6.tar.bz2;
       sha256 = "0rkjyzmsdqmlrkx8gy2j4q6iksk58hcc92xzdprkf8kml9ar3wbc";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libICE libSM libXmu libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libICE libSM libXmu libXt ;};
+  }) {};
 
-  twm = (mkDerivation "twm" {
+  twm = callPackage ({ stdenv, pkgconfig, fetchurl, libICE, libSM, libX11, libXext, libXmu, xproto, libXt }: stdenv.mkDerivation {
     name = "twm-1.0.9";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/twm-1.0.9.tar.bz2;
       sha256 = "02iicvhkp3i7q5rliyymiq9bppjr0pzfs6rgb78kppryqdx1cxf5";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libICE libSM libX11 libXext libXmu xproto libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libICE libSM libX11 libXext libXmu xproto libXt ;};
+  }) {};
 
-  utilmacros = (mkDerivation "utilmacros" {
+  utilmacros = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "util-macros-1.19.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/util/util-macros-1.19.2.tar.bz2;
       sha256 = "04p7ydqxgq37jklnfj18b70zsifiz4h50wvrk94i2112mmv37r6p";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  videoproto = (mkDerivation "videoproto" {
+  videoproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "videoproto-2.3.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/videoproto-2.3.3.tar.bz2;
       sha256 = "00m7rh3pwmsld4d5fpii3xfk5ciqn17kkk38gfpzrrh8zn4ki067";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  windowswmproto = (mkDerivation "windowswmproto" {
+  windowswmproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "windowswmproto-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/windowswmproto-1.0.4.tar.bz2;
       sha256 = "0syjxgy4m8l94qrm03nvn5k6bkxc8knnlld1gbllym97nvnv0ny0";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  x11perf = (mkDerivation "x11perf" {
+  x11perf = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, libXft, libXmu, xproto, libXrender }: stdenv.mkDerivation {
     name = "x11perf-1.6.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/x11perf-1.6.0.tar.bz2;
       sha256 = "0lb716yfdb8f11h4cz93d1bapqdxf1xplsb21kbp4xclq7g9hw78";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXext libXft libXmu xproto libXrender ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXext libXft libXmu xproto libXrender ;};
+  }) {};
 
-  xauth = (mkDerivation "xauth" {
+  xauth = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXau, libXext, libXmu, xproto }: stdenv.mkDerivation {
     name = "xauth-1.0.10";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xauth-1.0.10.tar.bz2;
       sha256 = "0kgwz9rmxjfdvi2syf8g0ms5rr5cgyqx4n0n1m960kyz7k745zjs";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXau libXext libXmu xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXau libXext libXmu xproto ;};
+  }) {};
 
-  xbacklight = (mkDerivation "xbacklight" {
+  xbacklight = callPackage ({ stdenv, pkgconfig, fetchurl, libxcb, xcbutil }: stdenv.mkDerivation {
     name = "xbacklight-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xbacklight-1.2.2.tar.bz2;
       sha256 = "0pmzaz4kp38qv2lqiw5rnqhwzmwrq65m1x5j001mmv99wh9isnk1";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libxcb xcbutil ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libxcb xcbutil ;};
+  }) {};
 
-  xbitmaps = (mkDerivation "xbitmaps" {
+  xbitmaps = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xbitmaps-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xbitmaps-1.1.1.tar.bz2;
       sha256 = "178ym90kwidia6nas4qr5n5yqh698vv8r02js0r4vg3b6lsb0w9n";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xcbproto = (mkDerivation "xcbproto" {
+  xcbproto = callPackage ({ stdenv, pkgconfig, fetchurl, python }: stdenv.mkDerivation {
     name = "xcb-proto-1.13";
     builder = ./builder.sh;
     src = fetchurl {
       url = http://xcb.freedesktop.org/dist/xcb-proto-1.13.tar.bz2;
       sha256 = "1qdxw9syhbvswiqj5dvj278lrmfhs81apzmvx6205s4vcqg7563v";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ python ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit python ;};
+  }) {};
 
-  xcbutil = (mkDerivation "xcbutil" {
+  xcbutil = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, m4, libxcb, xproto }: stdenv.mkDerivation {
     name = "xcb-util-0.4.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = http://xcb.freedesktop.org/dist/xcb-util-0.4.0.tar.bz2;
       sha256 = "1sahmrgbpyki4bb72hxym0zvxwnycmswsxiisgqlln9vrdlr9r26";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ gperf m4 libxcb xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit gperf m4 libxcb xproto ;};
+  }) {};
 
-  xcbutilcursor = (mkDerivation "xcbutilcursor" {
+  xcbutilcursor = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, m4, libxcb, xcbutilimage, xcbutilrenderutil, xproto }: stdenv.mkDerivation {
     name = "xcb-util-cursor-0.1.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = https://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.3.tar.bz2;
       sha256 = "0krr4rcw6r42cncinzvzzdqnmxk3nrgpnadyg2h8k9x10q3hm885";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ gperf m4 libxcb xcbutilimage xcbutilrenderutil xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit gperf m4 libxcb xcbutilimage xcbutilrenderutil xproto ;};
+  }) {};
 
-  xcbutilerrors = (mkDerivation "xcbutilerrors" {
+  xcbutilerrors = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, m4, libxcb, xcbproto, xproto }: stdenv.mkDerivation {
     name = "xcb-util-errors-1.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = http://xcb.freedesktop.org/dist/xcb-util-errors-1.0.tar.bz2;
       sha256 = "158rm913dg3hxrrhyvvxr8bcm0pjy5jws70dhy2s12w1krv829k8";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ gperf m4 libxcb xcbproto xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit gperf m4 libxcb xcbproto xproto ;};
+  }) {};
 
-  xcbutilimage = (mkDerivation "xcbutilimage" {
+  xcbutilimage = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, m4, libxcb, xcbutil, xproto }: stdenv.mkDerivation {
     name = "xcb-util-image-0.4.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = http://xcb.freedesktop.org/dist/xcb-util-image-0.4.0.tar.bz2;
       sha256 = "1z1gxacg7q4cw6jrd26gvi5y04npsyavblcdad1xccc8swvnmf9d";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ gperf m4 libxcb xcbutil xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit gperf m4 libxcb xcbutil xproto ;};
+  }) {};
 
-  xcbutilkeysyms = (mkDerivation "xcbutilkeysyms" {
+  xcbutilkeysyms = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, m4, libxcb, xproto }: stdenv.mkDerivation {
     name = "xcb-util-keysyms-0.4.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = http://xcb.freedesktop.org/dist/xcb-util-keysyms-0.4.0.tar.bz2;
       sha256 = "1nbd45pzc1wm6v5drr5338j4nicbgxa5hcakvsvm5pnyy47lky0f";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ gperf m4 libxcb xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit gperf m4 libxcb xproto ;};
+  }) {};
 
-  xcbutilrenderutil = (mkDerivation "xcbutilrenderutil" {
+  xcbutilrenderutil = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, m4, libxcb, xproto }: stdenv.mkDerivation {
     name = "xcb-util-renderutil-0.3.9";
     builder = ./builder.sh;
     src = fetchurl {
       url = http://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.9.tar.bz2;
       sha256 = "0nza1csdvvxbmk8vgv8vpmq7q8h05xrw3cfx9lwxd1hjzd47xsf6";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ gperf m4 libxcb xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit gperf m4 libxcb xproto ;};
+  }) {};
 
-  xcbutilwm = (mkDerivation "xcbutilwm" {
+  xcbutilwm = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, m4, libxcb, xproto }: stdenv.mkDerivation {
     name = "xcb-util-wm-0.4.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = http://xcb.freedesktop.org/dist/xcb-util-wm-0.4.1.tar.bz2;
       sha256 = "0gra7hfyxajic4mjd63cpqvd20si53j1q3rbdlkqkahfciwq3gr8";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ gperf m4 libxcb xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit gperf m4 libxcb xproto ;};
+  }) {};
 
-  xclock = (mkDerivation "xclock" {
+  xclock = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXaw, libXft, libxkbfile, libXmu, xproto, libXrender, libXt }: stdenv.mkDerivation {
     name = "xclock-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xclock-1.0.7.tar.bz2;
       sha256 = "1l3xv4bsca6bwxx73jyjz0blav86i7vwffkhdb1ac81y9slyrki3";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXaw libXft libxkbfile libXmu xproto libXrender libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXaw libXft libxkbfile libXmu xproto libXrender libXt ;};
+  }) {};
 
-  xcmiscproto = (mkDerivation "xcmiscproto" {
+  xcmiscproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xcmiscproto-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xcmiscproto-1.2.2.tar.bz2;
       sha256 = "1pyjv45wivnwap2wvsbrzdvjc5ql8bakkbkrvcv6q9bjjf33ccmi";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xcmsdb = (mkDerivation "xcmsdb" {
+  xcmsdb = callPackage ({ stdenv, pkgconfig, fetchurl, libX11 }: stdenv.mkDerivation {
     name = "xcmsdb-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xcmsdb-1.0.5.tar.bz2;
       sha256 = "1ik7gzlp2igz183x70883000ygp99r20x3aah6xhaslbpdhm6n75";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 ;};
+  }) {};
 
-  xcompmgr = (mkDerivation "xcompmgr" {
+  xcompmgr = callPackage ({ stdenv, pkgconfig, fetchurl, libXcomposite, libXdamage, libXext, libXfixes, libXrender }: stdenv.mkDerivation {
     name = "xcompmgr-1.1.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xcompmgr-1.1.7.tar.bz2;
       sha256 = "14k89mz13jxgp4h2pz0yq0fbkw1lsfcb3acv8vkknc9i4ld9n168";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libXcomposite libXdamage libXext libXfixes libXrender ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libXcomposite libXdamage libXext libXfixes libXrender ;};
+  }) {};
 
-  xcursorgen = (mkDerivation "xcursorgen" {
+  xcursorgen = callPackage ({ stdenv, pkgconfig, fetchurl, libpng, libX11, libXcursor }: stdenv.mkDerivation {
     name = "xcursorgen-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xcursorgen-1.0.6.tar.bz2;
       sha256 = "0v7nncj3kaa8c0524j7ricdf4rvld5i7c3m6fj55l5zbah7r3j1i";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libpng libX11 libXcursor ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libpng libX11 libXcursor ;};
+  }) {};
 
-  xcursorthemes = (mkDerivation "xcursorthemes" {
+  xcursorthemes = callPackage ({ stdenv, pkgconfig, fetchurl, libXcursor }: stdenv.mkDerivation {
     name = "xcursor-themes-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/data/xcursor-themes-1.0.4.tar.bz2;
       sha256 = "11mv661nj1p22sqkv87ryj2lcx4m68a04b0rs6iqh3fzp42jrzg3";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libXcursor ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libXcursor ;};
+  }) {};
 
-  xdm = (mkDerivation "xdm" {
+  xdm = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXau, libXaw, libXdmcp, libXext, libXft, libXinerama, libXmu, libXpm, libXt }: stdenv.mkDerivation {
     name = "xdm-1.1.11";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xdm-1.1.11.tar.bz2;
       sha256 = "0iqw11977lpr9nk1is4fca84d531vck0mq7jldwl44m0vrnl5nnl";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXau libXaw libXdmcp libXext libXft libXinerama libXmu libXpm libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXau libXaw libXdmcp libXext libXft libXinerama libXmu libXpm libXt ;};
+  }) {};
 
-  xdpyinfo = (mkDerivation "xdpyinfo" {
+  xdpyinfo = callPackage ({ stdenv, pkgconfig, fetchurl, libdmx, libX11, libxcb, libXcomposite, libXext, libXi, libXinerama, xproto, libXrender, libXtst, libXxf86dga, libXxf86misc, libXxf86vm }: stdenv.mkDerivation {
     name = "xdpyinfo-1.3.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xdpyinfo-1.3.2.tar.bz2;
       sha256 = "0ldgrj4w2fa8jng4b3f3biaj0wyn8zvya88pnk70d7k12pcqw8rh";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libdmx libX11 libxcb libXcomposite libXext libXi libXinerama xproto libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libdmx libX11 libxcb libXcomposite libXext libXi libXinerama xproto libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ;};
+  }) {};
 
-  xdriinfo = (mkDerivation "xdriinfo" {
+  xdriinfo = callPackage ({ stdenv, pkgconfig, fetchurl, glproto, libX11 }: stdenv.mkDerivation {
     name = "xdriinfo-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xdriinfo-1.0.5.tar.bz2;
       sha256 = "0681d0y8liqakkpz7mmsf689jcxrvs5291r20qi78mc9xxk3gfjc";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ glproto libX11 ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit glproto libX11 ;};
+  }) {};
 
-  xev = (mkDerivation "xev" {
+  xev = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto, libXrandr }: stdenv.mkDerivation {
     name = "xev-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xev-1.2.2.tar.bz2;
       sha256 = "0krivhrxpq6719103r541xpi3i3a0y15f7ypc4lnrx8sdhmfcjnr";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto libXrandr ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto libXrandr ;};
+  }) {};
 
-  xextproto = (mkDerivation "xextproto" {
+  xextproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xextproto-7.3.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/xextproto-7.3.0.tar.bz2;
       sha256 = "1c2vma9gqgc2v06rfxdiqgwhxmzk2cbmknwf1ng3m76vr0xb5x7k";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xeyes = (mkDerivation "xeyes" {
+  xeyes = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, libXmu, xproto, libXrender, libXt }: stdenv.mkDerivation {
     name = "xeyes-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xeyes-1.1.2.tar.bz2;
       sha256 = "0lq5j7fryx1wn998jq6h3icz1h6pqrsbs3adskjzjyhn5l6yrg2p";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ libX11 libXext libXmu libXrender libXt ];
+    buildInputs = [ libX11 libXext libXmu xproto libXrender libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXext libXmu libXrender libXt ;};
+  }) {};
 
-  xf86bigfontproto = (mkDerivation "xf86bigfontproto" {
+  xf86bigfontproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xf86bigfontproto-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xf86bigfontproto-1.2.0.tar.bz2;
       sha256 = "0j0n7sj5xfjpmmgx6n5x556rw21hdd18fwmavp95wps7qki214ms";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xf86dgaproto = (mkDerivation "xf86dgaproto" {
+  xf86dgaproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xf86dgaproto-2.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xf86dgaproto-2.1.tar.bz2;
       sha256 = "0l4hx48207mx0hp09026r6gy9nl3asbq0c75hri19wp1118zcpmc";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xf86driproto = (mkDerivation "xf86driproto" {
+  xf86driproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xf86driproto-2.1.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xf86driproto-2.1.1.tar.bz2;
       sha256 = "07v69m0g2dfzb653jni4x656jlr7l84c1k39j8qc8vfb45r8sjww";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xf86inputevdev = (mkDerivation "xf86inputevdev" {
+  xf86inputevdev = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, udev, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-input-evdev-2.10.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-input-evdev-2.10.5.tar.bz2;
       sha256 = "03dphgwjaxxyys8axc1kyysp6xvy9bjxicsdrhi2jvdgbchadnly";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto udev xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto udev xorgserver xproto ;};
+  }) {};
 
-  xf86inputjoystick = (mkDerivation "xf86inputjoystick" {
+  xf86inputjoystick = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, kbproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-input-joystick-1.6.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-input-joystick-1.6.3.tar.bz2;
       sha256 = "1awfq496d082brgjbr60lhm6jvr9537rflwxqdfqwfzjy3n6jxly";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto kbproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto kbproto xorgserver xproto ;};
+  }) {};
 
-  xf86inputkeyboard = (mkDerivation "xf86inputkeyboard" {
+  xf86inputkeyboard = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-input-keyboard-1.9.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-input-keyboard-1.9.0.tar.bz2;
       sha256 = "12032yg412kyvnmc5fha1in7mpi651d8sa1bk4138s2j2zr01jgp";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto xorgserver xproto ;};
+  }) {};
 
-  xf86inputlibinput = (mkDerivation "xf86inputlibinput" {
+  xf86inputlibinput = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-input-libinput-0.28.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-input-libinput-0.28.0.tar.bz2;
       sha256 = "189h8vl0005yizwrs4d0sng6j8lwkd3xi1zwqg8qavn2bw34v691";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto xorgserver xproto ;};
+  }) {};
 
-  xf86inputmouse = (mkDerivation "xf86inputmouse" {
+  xf86inputmouse = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-input-mouse-1.9.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-input-mouse-1.9.2.tar.bz2;
       sha256 = "0bsbgww9421792zan43j60mndqprhfxhc48agsi15d3abjqda9gl";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto xorgserver xproto ;};
+  }) {};
 
-  xf86inputsynaptics = (mkDerivation "xf86inputsynaptics" {
+  xf86inputsynaptics = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, randrproto, recordproto, libX11, libXi, xorgserver, xproto, libXtst }: stdenv.mkDerivation {
     name = "xf86-input-synaptics-1.9.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-input-synaptics-1.9.0.tar.bz2;
       sha256 = "0niv0w1czbxh4y3qkqbpdp5gjwhp3379inwhknhif0m4sy4k5fmg";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ;};
+  }) {};
 
-  xf86inputvmmouse = (mkDerivation "xf86inputvmmouse" {
+  xf86inputvmmouse = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, udev, randrproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-input-vmmouse-13.1.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-input-vmmouse-13.1.0.tar.bz2;
       sha256 = "06ckn4hlkpig5vnivl0zj8a7ykcgvrsj8b3iccl1pgn1gaamix8a";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto udev randrproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto udev randrproto xorgserver xproto ;};
+  }) {};
 
-  xf86inputvoid = (mkDerivation "xf86inputvoid" {
+  xf86inputvoid = callPackage ({ stdenv, pkgconfig, fetchurl, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-input-void-1.4.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-input-void-1.4.1.tar.bz2;
       sha256 = "171k8b8s42s3w73l7ln9jqwk88w4l7r1km2blx1vy898c854yvpr";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xorgserver xproto ;};
+  }) {};
 
-  xf86miscproto = (mkDerivation "xf86miscproto" {
+  xf86miscproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xf86miscproto-0.9.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/xf86miscproto-0.9.3.tar.bz2;
       sha256 = "15dhcdpv61fyj6rhzrhnwri9hlw8rjfy05z1vik118lc99mfrf25";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xf86videoamdgpu = (mkDerivation "xf86videoamdgpu" {
+  xf86videoamdgpu = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, mesa_noglu, libGL, libdrm, udev, randrproto, renderproto, videoproto, xextproto, xf86driproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-amdgpu-1.4.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-amdgpu-1.4.0.tar.bz2;
       sha256 = "0z56ifw3xiq9dychv8chg1cny0hq4v3c1r9pqcybk5fp7nzw9jpq";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto mesa_noglu libGL libdrm udev randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto mesa_noglu libGL libdrm udev randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
+  }) {};
 
-  xf86videoark = (mkDerivation "xf86videoark" {
+  xf86videoark = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-ark-0.7.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-ark-0.7.5.tar.bz2;
       sha256 = "07p5vdsj2ckxb6wh02s61akcv4qfg6s1d5ld3jn3lfaayd3f1466";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videoast = (mkDerivation "xf86videoast" {
+  xf86videoast = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-ast-1.1.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-ast-1.1.5.tar.bz2;
       sha256 = "1pm2cy81ma7ldsw0yfk28b33h9z2hcj5rccrxhfxfgvxsiavrnqy";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videoati = (mkDerivation "xf86videoati" {
+  xf86videoati = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libdrm, udev, libpciaccess, randrproto, renderproto, videoproto, xextproto, xf86driproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-ati-18.0.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-ati-18.0.1.tar.bz2;
       sha256 = "180l2yw8c63cbcs3zk729vx439aig1d7yicpyxj0nmfl4y0kpskj";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
+  }) {};
 
-  xf86videochips = (mkDerivation "xf86videochips" {
+  xf86videochips = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-chips-1.2.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-chips-1.2.7.tar.bz2;
       sha256 = "0n4zypmbkjzkw36cjy2braaivhvj60np6w80lcs9mfpabs66ia3f";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videocirrus = (mkDerivation "xf86videocirrus" {
+  xf86videocirrus = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-cirrus-1.5.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-cirrus-1.5.3.tar.bz2;
       sha256 = "1asifc6ld2g9kap15vfhvsvyl69lj7pw3d9ra9mi4najllh7pj7d";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videodummy = (mkDerivation "xf86videodummy" {
+  xf86videodummy = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, randrproto, renderproto, videoproto, xf86dgaproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-dummy-0.3.8";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-dummy-0.3.8.tar.bz2;
       sha256 = "1fcm9vwgv8wnffbvkzddk4yxrh3kc0np6w65wj8k88q7jf3bn4ip";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ;};
+  }) {};
 
-  xf86videofbdev = (mkDerivation "xf86videofbdev" {
+  xf86videofbdev = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-fbdev-0.4.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-fbdev-0.4.4.tar.bz2;
       sha256 = "06ym7yy017lanj730hfkpfk4znx3dsj8jq3qvyzsn8w294kb7m4x";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ;};
+  }) {};
 
-  xf86videogeode = (mkDerivation "xf86videogeode" {
+  xf86videogeode = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-geode-2.11.17";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-geode-2.11.17.tar.bz2;
       sha256 = "0h9w6cfj7s86rg72c6qci8f733hg4g7paan5fwmmj7p74ckd9d07";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videoglide = (mkDerivation "xf86videoglide" {
+  xf86videoglide = callPackage ({ stdenv, pkgconfig, fetchurl, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-glide-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-glide-1.2.2.tar.bz2;
       sha256 = "1vaav6kx4n00q4fawgqnjmbdkppl0dir2dkrj4ad372mxrvl9c4y";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videoglint = (mkDerivation "xf86videoglint" {
+  xf86videoglint = callPackage ({ stdenv, pkgconfig, fetchurl, libpciaccess, videoproto, xextproto, xf86dgaproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-glint-1.2.9";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-glint-1.2.9.tar.bz2;
       sha256 = "1lkpspvrvrp9s539bhfdjfh4andaqyk63l6zjn8m3km95smk6a45";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libpciaccess videoproto xextproto xf86dgaproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libpciaccess videoproto xextproto xf86dgaproto xorgserver xproto ;};
+  }) {};
 
-  xf86videoi128 = (mkDerivation "xf86videoi128" {
+  xf86videoi128 = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-i128-1.3.6";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-i128-1.3.6.tar.bz2;
       sha256 = "171b8lbxr56w3isph947dnw7x87hc46v6m3mcxdcz44gk167x0pq";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videoi740 = (mkDerivation "xf86videoi740" {
+  xf86videoi740 = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-i740-1.3.6";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-i740-1.3.6.tar.bz2;
       sha256 = "0c8nl0yyyw08n4zd6sgw9p3a858wpgf6raczjd70gf47lncms389";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videointel = (mkDerivation "xf86videointel" {
+  xf86videointel = callPackage ({ stdenv, pkgconfig, fetchurl, dri2proto, dri3proto, fontsproto, libdrm, libpng, udev, libpciaccess, presentproto, randrproto, renderproto, libX11, xcbutil, libxcb, libXcursor, libXdamage, libXext, xextproto, xf86driproto, libXfixes, xorgserver, xproto, libXrandr, libXrender, libxshmfence, libXtst, libXvMC }: stdenv.mkDerivation {
     name = "xf86-video-intel-2.99.917";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-intel-2.99.917.tar.bz2;
       sha256 = "1jb7jspmzidfixbc0gghyjmnmpqv85i7pi13l4h2hn2ml3p83dq0";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ dri2proto dri3proto fontsproto libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXtst libXvMC ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit dri2proto dri3proto fontsproto libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXtst libXvMC ;};
+  }) {};
 
-  xf86videomach64 = (mkDerivation "xf86videomach64" {
+  xf86videomach64 = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libdrm, libpciaccess, randrproto, renderproto, videoproto, xextproto, xf86driproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-mach64-6.9.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-mach64-6.9.5.tar.bz2;
       sha256 = "07xlf5nsjm0x18ij5gyy4lf8hwpl10i8chi3skpqjh84drdri61y";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
+  }) {};
 
-  xf86videomga = (mkDerivation "xf86videomga" {
+  xf86videomga = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libdrm, libpciaccess, randrproto, renderproto, videoproto, xextproto, xf86driproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-mga-1.6.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-mga-1.6.5.tar.bz2;
       sha256 = "08ll52hlar9z446v0wwca5qkj3hxhswwm7vvcgic9xv4cf7csqxn";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
+  }) {};
 
-  xf86videoneomagic = (mkDerivation "xf86videoneomagic" {
+  xf86videoneomagic = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-neomagic-1.2.9";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-neomagic-1.2.9.tar.bz2;
       sha256 = "1whb2kgyqaxdjim27ya404acz50izgmafwnb6y9m89q5n6b97y3j";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess xorgserver xproto ;};
+  }) {};
 
-  xf86videonewport = (mkDerivation "xf86videonewport" {
+  xf86videonewport = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, randrproto, renderproto, videoproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-newport-0.2.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xf86-video-newport-0.2.4.tar.bz2;
       sha256 = "1yafmp23jrfdmc094i6a4dsizapsc9v0pl65cpc8w1kvn7343k4i";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto randrproto renderproto videoproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto randrproto renderproto videoproto xorgserver xproto ;};
+  }) {};
 
-  xf86videonouveau = (mkDerivation "xf86videonouveau" {
+  xf86videonouveau = callPackage ({ stdenv, pkgconfig, fetchurl, dri2proto, fontsproto, libdrm, udev, libpciaccess, randrproto, renderproto, videoproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-nouveau-1.0.15";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-nouveau-1.0.15.tar.bz2;
       sha256 = "0k0xah72ryjwak4dc4crszxrlkmi9x1s7p3sd4la642n77yi1pmf";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videonv = (mkDerivation "xf86videonv" {
+  xf86videonv = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-nv-2.1.21";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-nv-2.1.21.tar.bz2;
       sha256 = "0bdk3pc5y0n7p53q4gc2ff7bw16hy5hwdjjxkm5j3s7hdyg6960z";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videoopenchrome = (mkDerivation "xf86videoopenchrome" {
+  xf86videoopenchrome = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, glproto, libdrm, udev, libpciaccess, randrproto, renderproto, videoproto, libX11, libXext, xextproto, xf86driproto, xorgserver, xproto, libXvMC }: stdenv.mkDerivation {
     name = "xf86-video-openchrome-0.6.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-openchrome-0.6.0.tar.bz2;
       sha256 = "0x9gq3hw6k661k82ikd1y2kkk4dmgv310xr5q59dwn4k6z37aafs";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto glproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto glproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ;};
+  }) {};
 
-  xf86videoqxl = (mkDerivation "xf86videoqxl" {
+  xf86videoqxl = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libdrm, udev, libpciaccess, randrproto, renderproto, videoproto, xf86dgaproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-qxl-0.1.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-qxl-0.1.5.tar.bz2;
       sha256 = "14jc24znnahhmz4kqalafmllsg8awlz0y6gpgdpk5ih38ph851mi";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xf86dgaproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xf86dgaproto xorgserver xproto ;};
+  }) {};
 
-  xf86videor128 = (mkDerivation "xf86videor128" {
+  xf86videor128 = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libdrm, libpciaccess, randrproto, renderproto, videoproto, xextproto, xf86driproto, xf86miscproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-r128-6.10.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-r128-6.10.2.tar.bz2;
       sha256 = "1pkpka5m4cd6iy0f8iqnmg6xci14nb6887ilvxzn3xrsgx8j3nl4";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ;};
+  }) {};
 
-  xf86videorendition = (mkDerivation "xf86videorendition" {
+  xf86videorendition = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-rendition-4.2.6";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-rendition-4.2.6.tar.bz2;
       sha256 = "1a7rqafxzc2hd0s5pnq8s8j9d3jg64ndc0xnq4160kasyqhwy3k6";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videos3virge = (mkDerivation "xf86videos3virge" {
+  xf86videos3virge = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-s3virge-1.10.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-s3virge-1.10.7.tar.bz2;
       sha256 = "1nm4cngjbw226q63rdacw6nx5lgxv7l7rsa8vhpr0gs80pg6igjx";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videosavage = (mkDerivation "xf86videosavage" {
+  xf86videosavage = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libdrm, libpciaccess, randrproto, renderproto, videoproto, xextproto, xf86driproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-savage-2.3.9";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-savage-2.3.9.tar.bz2;
       sha256 = "11pcrsdpdrwk0mrgv83s5nsx8a9i4lhmivnal3fjbrvi3zdw94rc";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
+  }) {};
 
-  xf86videosiliconmotion = (mkDerivation "xf86videosiliconmotion" {
+  xf86videosiliconmotion = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, videoproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-siliconmotion-1.7.9";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-siliconmotion-1.7.9.tar.bz2;
       sha256 = "1g2r6gxqrmjdff95d42msxdw6vmkg2zn5sqv0rxd420iwy8wdwyh";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess videoproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess videoproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videosis = (mkDerivation "xf86videosis" {
+  xf86videosis = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libdrm, libpciaccess, randrproto, renderproto, videoproto, xextproto, xf86dgaproto, xf86driproto, xineramaproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-sis-0.10.9";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-sis-0.10.9.tar.bz2;
       sha256 = "03f1abjjf68y8y1iz768rn95va9d33wmbwfbsqrgl6k0gi0bf9jj";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xineramaproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xineramaproto xorgserver xproto ;};
+  }) {};
 
-  xf86videosisusb = (mkDerivation "xf86videosisusb" {
+  xf86videosisusb = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xextproto, xineramaproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-sisusb-0.9.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-sisusb-0.9.7.tar.bz2;
       sha256 = "090lfs3hjz3cjd016v5dybmcsigj6ffvjdhdsqv13k90p4b08h7l";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xextproto xineramaproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xineramaproto xorgserver xproto ;};
+  }) {};
 
-  xf86videosuncg6 = (mkDerivation "xf86videosuncg6" {
+  xf86videosuncg6 = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, randrproto, renderproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-suncg6-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-suncg6-1.1.2.tar.bz2;
       sha256 = "04fgwgk02m4nimlv67rrg1wnyahgymrn6rb2cjj1l8bmzkii4glr";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto randrproto renderproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto randrproto renderproto xorgserver xproto ;};
+  }) {};
 
-  xf86videosunffb = (mkDerivation "xf86videosunffb" {
+  xf86videosunffb = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, randrproto, renderproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-sunffb-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-sunffb-1.2.2.tar.bz2;
       sha256 = "07z3ngifwg2d4jgq8pms47n5lr2yn0ai72g86xxjnb3k20n5ym7s";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto randrproto renderproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto randrproto renderproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videosunleo = (mkDerivation "xf86videosunleo" {
+  xf86videosunleo = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, randrproto, renderproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-sunleo-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-sunleo-1.2.2.tar.bz2;
       sha256 = "1gacm0s6rii4x5sx9py5bhvs50jd4vs3nnbwjdjymyf31kpdirl3";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto randrproto renderproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto randrproto renderproto xorgserver xproto ;};
+  }) {};
 
-  xf86videotdfx = (mkDerivation "xf86videotdfx" {
+  xf86videotdfx = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libdrm, libpciaccess, randrproto, renderproto, videoproto, xextproto, xf86driproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-tdfx-1.4.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-tdfx-1.4.7.tar.bz2;
       sha256 = "0hia45z4jc472fxp00803nznizcn4h1ybp63jcsb4lmd9vhqxx2c";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
+  }) {};
 
-  xf86videotga = (mkDerivation "xf86videotga" {
+  xf86videotga = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xextproto, xf86dgaproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-tga-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-tga-1.2.2.tar.bz2;
       sha256 = "0cb161lvdgi6qnf1sfz722qn38q7kgakcvj7b45ba3i0020828r0";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;};
+  }) {};
 
-  xf86videotrident = (mkDerivation "xf86videotrident" {
+  xf86videotrident = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xextproto, xf86dgaproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-trident-1.3.8";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-trident-1.3.8.tar.bz2;
       sha256 = "0gxcar434kx813fxdpb93126lhmkl3ikabaljhcj5qn3fkcijlcy";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;};
+  }) {};
 
-  xf86videov4l = (mkDerivation "xf86videov4l" {
+  xf86videov4l = callPackage ({ stdenv, pkgconfig, fetchurl, randrproto, videoproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-v4l-0.2.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xf86-video-v4l-0.2.0.tar.bz2;
       sha256 = "0pcjc75hgbih3qvhpsx8d4fljysfk025slxcqyyhr45dzch93zyb";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ randrproto videoproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit randrproto videoproto xorgserver xproto ;};
+  }) {};
 
-  xf86videovesa = (mkDerivation "xf86videovesa" {
+  xf86videovesa = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-vesa-2.4.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-vesa-2.4.0.tar.bz2;
       sha256 = "1373vsxn6qh00na0s9c09kf09gj78rzi98zq93id8v5zsya3qi5z";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videovmware = (mkDerivation "xf86videovmware" {
+  xf86videovmware = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libdrm, udev, libpciaccess, randrproto, renderproto, videoproto, libX11, libXext, xextproto, xineramaproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-vmware-13.2.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-vmware-13.2.1.tar.bz2;
       sha256 = "0azn3g0vcki47n5jddagk2rmbwdvp845k8p7d2r56zxs3w8ggxz2";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ;};
+  }) {};
 
-  xf86videovoodoo = (mkDerivation "xf86videovoodoo" {
+  xf86videovoodoo = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, xextproto, xf86dgaproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-voodoo-1.2.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-voodoo-1.2.5.tar.bz2;
       sha256 = "1s6p7yxmi12q4y05va53rljwyzd6ry492r1pgi7wwq6cznivhgly";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto xextproto xf86dgaproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xf86dgaproto xorgserver xproto ;};
+  }) {};
 
-  xf86videowsfb = (mkDerivation "xf86videowsfb" {
+  xf86videowsfb = callPackage ({ stdenv, pkgconfig, fetchurl, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-wsfb-0.4.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xf86-video-wsfb-0.4.0.tar.bz2;
       sha256 = "0hr8397wpd0by1hc47fqqrnaw3qdqd8aqgwgzv38w5k3l3jy6p4p";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xorgserver xproto ;};
+  }) {};
 
-  xf86videoxgi = (mkDerivation "xf86videoxgi" {
+  xf86videoxgi = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, glproto, libdrm, libpciaccess, randrproto, renderproto, videoproto, xextproto, xf86driproto, xineramaproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-xgi-1.6.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-xgi-1.6.1.tar.bz2;
       sha256 = "10xd2vah0pnpw5spn40n4p95mpmgvdkly4i1cz51imnlfsw7g8si";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto glproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xineramaproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto glproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xineramaproto xorgserver xproto ;};
+  }) {};
 
-  xf86vidmodeproto = (mkDerivation "xf86vidmodeproto" {
+  xf86vidmodeproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xf86vidmodeproto-2.3.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xf86vidmodeproto-2.3.1.tar.bz2;
       sha256 = "0w47d7gfa8zizh2bshdr2rffvbr4jqjv019mdgyh6cmplyd4kna5";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xfs = (mkDerivation "xfs" {
+  xfs = callPackage ({ stdenv, pkgconfig, fetchurl, libXfont, xproto, xtrans }: stdenv.mkDerivation {
     name = "xfs-1.1.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xfs-1.1.4.tar.bz2;
       sha256 = "1ylz4r7adf567rnlbb52yi9x3qi4pyv954kkhm7ld4f0fkk7a2x4";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libXfont xproto xtrans ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libXfont xproto xtrans ;};
+  }) {};
 
-  xgamma = (mkDerivation "xgamma" {
+  xgamma = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto, libXxf86vm }: stdenv.mkDerivation {
     name = "xgamma-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xgamma-1.0.6.tar.bz2;
       sha256 = "1lr2nb1fhg5fk2fchqxdxyl739602ggwhmgl2wiv5c8qbidw7w8f";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto libXxf86vm ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto libXxf86vm ;};
+  }) {};
 
-  xgc = (mkDerivation "xgc" {
+  xgc = callPackage ({ stdenv, pkgconfig, fetchurl, libXaw, libXt }: stdenv.mkDerivation {
     name = "xgc-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xgc-1.0.5.tar.bz2;
       sha256 = "0pigvjd3i9fchmj1inqy151aafz3dr0vq1h2zizdb2imvadqv0hl";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libXaw libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libXaw libXt ;};
+  }) {};
 
-  xhost = (mkDerivation "xhost" {
+  xhost = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXau, libXmu, xproto }: stdenv.mkDerivation {
     name = "xhost-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xhost-1.0.7.tar.bz2;
       sha256 = "16n26xw6l01zq31d4qvsaz50misvizhn7iihzdn5f7s72pp1krlk";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXau libXmu xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXau libXmu xproto ;};
+  }) {};
 
-  xineramaproto = (mkDerivation "xineramaproto" {
+  xineramaproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xineramaproto-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xineramaproto-1.2.1.tar.bz2;
       sha256 = "0ns8abd27x7gbp4r44z3wc5k9zqxxj8zjnazqpcyr4n17nxp8xcp";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xinit = (mkDerivation "xinit" {
+  xinit = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto }: stdenv.mkDerivation {
     name = "xinit-1.4.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xinit-1.4.0.tar.bz2;
       sha256 = "1vw2wlg74ig52naw0cha3pgzcwwk25l834j42cg8m5zmybp3a213";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto ;};
+  }) {};
 
-  xinput = (mkDerivation "xinput" {
+  xinput = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, libX11, libXext, libXi, libXinerama, libXrandr }: stdenv.mkDerivation {
     name = "xinput-1.6.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xinput-1.6.2.tar.bz2;
       sha256 = "1i75mviz9dyqyf7qigzmxq8vn31i86aybm662fzjz5c086dx551n";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto libX11 libXext libXi libXinerama libXrandr ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto libX11 libXext libXi libXinerama libXrandr ;};
+  }) {};
 
-  xkbcomp = (mkDerivation "xkbcomp" {
+  xkbcomp = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libxkbfile, xproto }: stdenv.mkDerivation {
     name = "xkbcomp-1.4.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xkbcomp-1.4.2.tar.bz2;
       sha256 = "0944rrkkf0dxp07vhh9yr4prslxhqyw63qmbjirbv1bypswvrn3d";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libxkbfile xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libxkbfile xproto ;};
+  }) {};
 
-  xkbevd = (mkDerivation "xkbevd" {
+  xkbevd = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libxkbfile }: stdenv.mkDerivation {
     name = "xkbevd-1.1.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xkbevd-1.1.4.tar.bz2;
       sha256 = "0sprjx8i86ljk0l7ldzbz2xlk8916z5zh78cafjv8k1a63js4c14";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libxkbfile ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libxkbfile ;};
+  }) {};
 
-  xkbprint = (mkDerivation "xkbprint" {
+  xkbprint = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libxkbfile, xproto }: stdenv.mkDerivation {
     name = "xkbprint-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xkbprint-1.0.4.tar.bz2;
       sha256 = "04iyv5z8aqhabv7wcpvbvq0ji0jrz1666vw6gvxkvl7szswalgqb";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libxkbfile xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libxkbfile xproto ;};
+  }) {};
 
-  xkbutils = (mkDerivation "xkbutils" {
+  xkbutils = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, libX11, libXaw, xproto, libXt }: stdenv.mkDerivation {
     name = "xkbutils-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xkbutils-1.0.4.tar.bz2;
       sha256 = "0c412isxl65wplhl7nsk12vxlri29lk48g3p52hbrs3m0awqm8fj";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto libX11 libXaw xproto libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto libX11 libXaw xproto libXt ;};
+  }) {};
 
-  xkeyboardconfig = (mkDerivation "xkeyboardconfig" {
+  xkeyboardconfig = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto }: stdenv.mkDerivation {
     name = "xkeyboard-config-2.24";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.24.tar.bz2;
       sha256 = "1my4786pd7iv5x392r9skj3qclmbd26nqzvh2fllwkkbyj08bcci";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto ];
-    configureFlags = [ "--with-xkb-rules-symlink=xorg" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto ;};
+  }) {};
 
-  xkill = (mkDerivation "xkill" {
+  xkill = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXmu, xproto }: stdenv.mkDerivation {
     name = "xkill-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xkill-1.0.4.tar.bz2;
       sha256 = "0bl1ky8ps9jg842j4mnmf4zbx8nkvk0h77w7bqjlpwij9wq2mvw8";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXmu xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXmu xproto ;};
+  }) {};
 
-  xlsatoms = (mkDerivation "xlsatoms" {
+  xlsatoms = callPackage ({ stdenv, pkgconfig, fetchurl, libxcb }: stdenv.mkDerivation {
     name = "xlsatoms-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xlsatoms-1.1.2.tar.bz2;
       sha256 = "196yjik910xsr7dwy8daa0amr0r22ynfs360z0ndp9mx7mydrra7";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libxcb ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libxcb ;};
+  }) {};
 
-  xlsclients = (mkDerivation "xlsclients" {
+  xlsclients = callPackage ({ stdenv, pkgconfig, fetchurl, libxcb }: stdenv.mkDerivation {
     name = "xlsclients-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xlsclients-1.1.3.tar.bz2;
       sha256 = "0g9x7rrggs741x9xwvv1k9qayma980d88nhdqw7j3pn3qvy6d5jx";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libxcb ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libxcb ;};
+  }) {};
 
-  xlsfonts = (mkDerivation "xlsfonts" {
+  xlsfonts = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto }: stdenv.mkDerivation {
     name = "xlsfonts-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xlsfonts-1.0.5.tar.bz2;
       sha256 = "1yi774g6r1kafsbnxbkrwyndd3i60362ck1fps9ywz076pn5naa0";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto ;};
+  }) {};
 
-  xmag = (mkDerivation "xmag" {
+  xmag = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXaw, libXmu, libXt }: stdenv.mkDerivation {
     name = "xmag-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xmag-1.0.6.tar.bz2;
       sha256 = "0qg12ifbbk9n8fh4jmyb625cknn8ssj86chd6zwdiqjin8ivr8l7";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXaw libXmu libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXaw libXmu libXt ;};
+  }) {};
 
-  xmessage = (mkDerivation "xmessage" {
+  xmessage = callPackage ({ stdenv, pkgconfig, fetchurl, libXaw, libXt }: stdenv.mkDerivation {
     name = "xmessage-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xmessage-1.0.4.tar.bz2;
       sha256 = "0s5bjlpxnmh8sxx6nfg9m0nr32r1sr3irr71wsnv76s33i34ppxw";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libXaw libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libXaw libXt ;};
+  }) {};
 
-  xmodmap = (mkDerivation "xmodmap" {
+  xmodmap = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto }: stdenv.mkDerivation {
     name = "xmodmap-1.0.9";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xmodmap-1.0.9.tar.bz2;
       sha256 = "0y649an3jqfq9klkp9y5gj20xb78fw6g193f5mnzpl0hbz6fbc5p";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto ;};
+  }) {};
 
-  xorgcffiles = (mkDerivation "xorgcffiles" {
+  xorgcffiles = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xorg-cf-files-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/util/xorg-cf-files-1.0.6.tar.bz2;
       sha256 = "0kckng0zs1viz0nr84rdl6dswgip7ndn4pnh5nfwnviwpsfmmksd";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xorgdocs = (mkDerivation "xorgdocs" {
+  xorgdocs = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xorg-docs-1.7.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/doc/xorg-docs-1.7.1.tar.bz2;
       sha256 = "0jrc4jmb4raqawx0j9jmhgasr0k6sxv0bm2hrxjh9hb26iy6gf14";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xorgserver = (mkDerivation "xorgserver" {
+  xorgserver = callPackage ({ stdenv, pkgconfig, fetchurl, dri2proto, dri3proto, renderproto, openssl, libX11, libXau, libXaw, libxcb, xcbutil, xcbutilwm, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, libXdmcp, libXfixes, libxkbfile, libXmu, libXpm, libXrender, libXres, libXt }: stdenv.mkDerivation {
     name = "xorg-server-1.19.6";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/xserver/xorg-server-1.19.6.tar.bz2;
       sha256 = "15y13ihgkggmly5s07vzvpn35gzx1w0hrkbnlcvcy05h3lpm0cm7";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ dri2proto dri3proto renderproto openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit dri2proto dri3proto renderproto openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ;};
+  }) {};
 
-  xorgsgmldoctools = (mkDerivation "xorgsgmldoctools" {
+  xorgsgmldoctools = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xorg-sgml-doctools-1.11";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xorg-sgml-doctools-1.11.tar.bz2;
       sha256 = "0k5pffyi5bx8dmfn033cyhgd3gf6viqj3x769fqixifwhbgy2777";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xpr = (mkDerivation "xpr" {
+  xpr = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXmu, xproto }: stdenv.mkDerivation {
     name = "xpr-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xpr-1.0.4.tar.bz2;
       sha256 = "1dbcv26w2yand2qy7b3h5rbvw1mdmdd57jw88v53sgdr3vrqvngy";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXmu xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXmu xproto ;};
+  }) {};
 
-  xprop = (mkDerivation "xprop" {
+  xprop = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto }: stdenv.mkDerivation {
     name = "xprop-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xprop-1.2.2.tar.bz2;
       sha256 = "1ilvhqfjcg6f1hqahjkp8qaay9rhvmv2blvj3w9asraq0aqqivlv";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto ;};
+  }) {};
 
-  xproto = (mkDerivation "xproto" {
+  xproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xproto-7.0.31";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/xproto-7.0.31.tar.bz2;
       sha256 = "0ivpxz0rx2a7nahkpkhfgymz7j0pwzaqvyqpdgw9afmxl1yp9yf6";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xrandr = (mkDerivation "xrandr" {
+  xrandr = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto, libXrandr, libXrender }: stdenv.mkDerivation {
     name = "xrandr-1.5.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xrandr-1.5.0.tar.bz2;
       sha256 = "1kaih7rmzxr1vp5a5zzjhm5x7dn9mckya088sqqw026pskhx9ky1";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto libXrandr libXrender ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto libXrandr libXrender ;};
+  }) {};
 
-  xrdb = (mkDerivation "xrdb" {
+  xrdb = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXmu, xproto }: stdenv.mkDerivation {
     name = "xrdb-1.1.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xrdb-1.1.0.tar.bz2;
       sha256 = "0nsnr90wazcdd50nc5dqswy0bmq6qcj14nnrhyi7rln9pxmpp0kk";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXmu xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXmu xproto ;};
+  }) {};
 
-  xrefresh = (mkDerivation "xrefresh" {
+  xrefresh = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto }: stdenv.mkDerivation {
     name = "xrefresh-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xrefresh-1.0.5.tar.bz2;
       sha256 = "1mlinwgvql6s1rbf46yckbfr9j22d3c3z7jx3n6ix7ca18dnf4rj";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto ;};
+  }) {};
 
-  xset = (mkDerivation "xset" {
+  xset = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, libXmu, xproto, libXxf86misc }: stdenv.mkDerivation {
     name = "xset-1.2.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xset-1.2.3.tar.bz2;
       sha256 = "0qw0iic27bz3yz2wynf1gxs70hhkcf9c4jrv7zhlg1mq57xz90j3";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXext libXmu xproto libXxf86misc ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXext libXmu xproto libXxf86misc ;};
+  }) {};
 
-  xsetroot = (mkDerivation "xsetroot" {
+  xsetroot = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xbitmaps, libXcursor, libXmu }: stdenv.mkDerivation {
     name = "xsetroot-1.1.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xsetroot-1.1.0.tar.bz2;
       sha256 = "1bazzsf9sy0q2bj4lxvh1kvyrhmpggzb7jg575i15sksksa3xwc8";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xbitmaps libXcursor libXmu ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xbitmaps libXcursor libXmu ;};
+  }) {};
 
-  xtrans = (mkDerivation "xtrans" {
+  xtrans = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xtrans-1.3.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/xtrans-1.3.5.tar.bz2;
       sha256 = "00c3ph17acnsch3gbdmx33b9ifjnl5w7vx8hrmic1r1cjcv3pgdd";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xvinfo = (mkDerivation "xvinfo" {
+  xvinfo = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto, libXv }: stdenv.mkDerivation {
     name = "xvinfo-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xvinfo-1.1.3.tar.bz2;
       sha256 = "1sz5wqhxd1fqsfi1w5advdlwzkizf2fgl12hdpk66f7mv9l8pflz";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto libXv ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto libXv ;};
+  }) {};
 
-  xwd = (mkDerivation "xwd" {
+  xwd = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto }: stdenv.mkDerivation {
     name = "xwd-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xwd-1.0.6.tar.bz2;
       sha256 = "0ybx48agdvjp9lgwvcw79r1x6jbqbyl3fliy3i5xwy4d4si9dcrv";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto ;};
+  }) {};
 
-  xwininfo = (mkDerivation "xwininfo" {
+  xwininfo = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libxcb, xproto }: stdenv.mkDerivation {
     name = "xwininfo-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xwininfo-1.1.3.tar.bz2;
       sha256 = "1y1zn8ijqslb5lfpbq4bb78kllhch8in98ps7n8fg3dxjpmb13i1";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libxcb xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libxcb xproto ;};
+  }) {};
 
-  xwud = (mkDerivation "xwud" {
+  xwud = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto }: stdenv.mkDerivation {
     name = "xwud-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xwud-1.0.4.tar.bz2;
       sha256 = "1ggql6maivah58kwsh3z9x1hvzxm1a8888xx4s78cl77ryfa1cyn";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto ;};
+  }) {};
 
-}; in xorg
+})
diff --git a/pkgs/servers/x11/xorg/extra.list b/pkgs/servers/x11/xorg/extra.list
index 3c45e6062e26..107d5ce18b8c 100644
--- a/pkgs/servers/x11/xorg/extra.list
+++ b/pkgs/servers/x11/xorg/extra.list
@@ -2,7 +2,7 @@ http://xcb.freedesktop.org/dist/libpthread-stubs-0.4.tar.bz2
 http://xcb.freedesktop.org/dist/libxcb-1.13.1.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-proto-1.13.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-0.4.0.tar.bz2
-http://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.3.tar.bz2
+https://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.3.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-image-0.4.0.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-keysyms-0.4.0.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.9.tar.bz2
diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
index 37daa0dc9bc4..701a8984ada1 100755
--- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
+++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
@@ -13,6 +13,9 @@
 use strict;
 use warnings;
 
+use File::Basename;
+use File::Spec::Functions;
+
 my $tmpDir = "/tmp/xorg-unpack";
 
 
@@ -43,7 +46,6 @@ $pcMap{"\$DRI2PROTO"} = "dri2proto";
 
 
 my $downloadCache = "./download-cache";
-$ENV{'NIX_DOWNLOAD_CACHE'} = $downloadCache;
 mkdir $downloadCache, 0755;
 
 
@@ -76,7 +78,17 @@ while (<>) {
     $pkgURLs{$pkg} = $tarball;
     $pkgNames{$pkg} = $pkgName;
 
-    my ($hash, $path) = `PRINT_PATH=1 QUIET=1 nix-prefetch-url '$tarball'`;
+    my $cachePath = catdir($downloadCache, basename($tarball));
+    my $hash;
+    my $path;
+    if (-e $cachePath) {
+        $path = readlink($cachePath);
+        $hash = `nix-hash --type sha256 --base32 --flat $cachePath`;
+    }
+    else {
+        ($hash, $path) = `PRINT_PATH=1 QUIET=1 nix-prefetch-url '$tarball'`;
+        `nix-store --realise --add-root $cachePath --indirect $path`;
+    }
     chomp $hash;
     chomp $path;
     $pkgHashes{$pkg} = $hash;
@@ -157,7 +169,7 @@ while (<>) {
     if ($file =~ /AC_PATH_PROG\(FCCACHE/) {
         # Don't run fc-cache.
         die if defined $extraAttrs{$pkg};
-        $extraAttrs{$pkg} = " preInstall = \"installFlags=(FCCACHE=true)\"; ";
+        push @{$extraAttrs{$pkg}}, "preInstall = \"installFlags=(FCCACHE=true)\";";
     }
 
     my $isFont;
@@ -178,7 +190,7 @@ while (<>) {
     }
 
     if ($isFont) {
-        $extraAttrs{$pkg} = " configureFlags = [ \"--with-fontrootdir=\$(out)/lib/X11/fonts\" ]; ";
+        push @{$extraAttrs{$pkg}}, "configureFlags = [ \"--with-fontrootdir=\$(out)/lib/X11/fonts\" ];";
     }
 
     sub process {
@@ -231,23 +243,9 @@ open OUT, ">default.nix";
 print OUT "";
 print OUT <<EOF;
 # THIS IS A GENERATED FILE.  DO NOT EDIT!
-args @ { clangStdenv, fetchurl, fetchgit, fetchpatch, stdenv, pkgconfig, intltool, freetype, fontconfig
-, libxslt, expat, libpng, zlib, perl, mesa_noglu, mesa_drivers, spice-protocol
-, dbus, libuuid, openssl, gperf, m4, libevdev, tradcpp, libinput, mcpp, makeWrapper, autoreconfHook
-, autoconf, automake, libtool, xmlto, asciidoc, flex, bison, python, mtdev, pixman, ... }: with args;
-
-let
-
-  mkDerivation = name: attrs:
-    let newAttrs = (overrides."\${name}" or (x: x)) attrs;
-        stdenv = newAttrs.stdenv or args.stdenv;
-      in stdenv.mkDerivation ((removeAttrs newAttrs [ "stdenv" ]) // {
-        hardeningDisable = [ "bindnow" "relro" ];
-      });
+{ lib, newScope, pixman }:
 
-  overrides = import ./overrides.nix {inherit args xorg;};
-
-  xorg = rec {
+lib.makeScope newScope (self: with self; {
 
   inherit pixman;
 
@@ -258,13 +256,13 @@ foreach my $pkg (sort (keys %pkgURLs)) {
     print "$pkg\n";
 
     my %requires = ();
-    my $inputs = "";
+    my @buildInputs;
     foreach my $req (sort @{$pkgRequires{$pkg}}) {
         if (defined $pcMap{$req}) {
             # Some packages have .pc that depends on itself.
             next if $pcMap{$req} eq $pkg;
             if (!defined $requires{$pcMap{$req}}) {
-                $inputs .= "$pcMap{$req} ";
+                push @buildInputs, $pcMap{$req};
                 $requires{$pcMap{$req}} = 1;
             }
         } else {
@@ -272,25 +270,34 @@ foreach my $pkg (sort (keys %pkgURLs)) {
         }
     }
 
-    my $extraAttrs = $extraAttrs{"$pkg"};
-    $extraAttrs = "" unless defined $extraAttrs;
+    my $buildInputsStr = join "", map { $_ . " " } @buildInputs;
+
+    my @arguments = @buildInputs;
+    unshift @arguments, "stdenv", "pkgconfig", "fetchurl";
+    my $argumentsStr = join ", ", @arguments;
+
+    my $extraAttrsStr = "";
+    if (defined $extraAttrs{$pkg}) {
+      $extraAttrsStr = join "", map { "\n    " . $_ } @{$extraAttrs{$pkg}};
+    }
 
     print OUT <<EOF
-  $pkg = (mkDerivation "$pkg" {
+  $pkg = callPackage ({ $argumentsStr }: stdenv.mkDerivation {
     name = "$pkgNames{$pkg}";
     builder = ./builder.sh;
     src = fetchurl {
       url = $pkgURLs{$pkg};
       sha256 = "$pkgHashes{$pkg}";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ $inputs];$extraAttrs
+    buildInputs = [ $buildInputsStr];$extraAttrsStr
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit $inputs;};
+  }) {};
 
 EOF
 }
 
-print OUT "}; in xorg\n";
+print OUT "})\n";
 
 close OUT;
diff --git a/pkgs/servers/x11/xorg/old.list b/pkgs/servers/x11/xorg/old.list
index fd6eae916392..fdd5a837d8be 100644
--- a/pkgs/servers/x11/xorg/old.list
+++ b/pkgs/servers/x11/xorg/old.list
@@ -1,7 +1,7 @@
 mirror://xorg/individual/app/twm-1.0.8.tar.bz2
 mirror://xorg/individual/app/xclock-1.0.7.tar.bz2
 mirror://xorg/individual/app/xdm-1.1.11.tar.bz2
-mirror://xorg/individual/app/xeyes-1.1.1.tar.bz2
+mirror://xorg/individual/app/xeyes-1.1.2.tar.bz2
 mirror://xorg/individual/app/xfs-1.1.4.tar.bz2
 mirror://xorg/individual/app/xinit-1.4.0.tar.bz2
 mirror://xorg/individual/app/xmessage-1.0.4.tar.bz2
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 32a4e67642ad..58688590b84e 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -1,7 +1,13 @@
-{ args, xorg }:
+{ abiCompat ? null,
+  stdenv, makeWrapper, lib, fetchurl, fetchpatch,
+
+  automake, autoconf, libtool, intltool, mtdev, libevdev, libinput,
+  python, freetype, apple_sdk, tradcpp, fontconfig, mesa_drivers,
+  libGL, spice-protocol, zlib, libGLU, dbus, libunwind, libdrm,
+  mesa_noglu, udev, bootstrap_cmds, bison, flex, clangStdenv, autoreconfHook,
+  mcpp, epoxy, openssl, pkgconfig }:
 
 let
-  inherit (args) stdenv makeWrapper;
   inherit (stdenv) lib isDarwin;
   inherit (lib) overrideDerivation;
 
@@ -9,83 +15,84 @@ let
     (stdenv.hostPlatform != stdenv.buildPlatform)
     "--enable-malloc0returnsnull";
 in
+self: super:
 {
-  bdftopcf = attrs: attrs // {
-    buildInputs = attrs.buildInputs ++ [ xorg.xproto xorg.fontsproto ];
-  };
+  bdftopcf = super.bdftopcf.overrideAttrs (attrs: {
+    buildInputs = attrs.buildInputs ++ [ self.xproto self.fontsproto ];
+  });
 
-  bitmap = attrs: attrs // {
+  bitmap = super.bitmap.overrideAttrs (attrs: {
     nativeBuildInputs = attrs.nativeBuildInputs ++ [ makeWrapper ];
     postInstall = ''
       paths=(
         "$out/share/X11/%T/%N"
         "$out/include/X11/%T/%N"
-        "${xorg.xbitmaps}/include/X11/%T/%N"
+        "${self.xbitmaps}/include/X11/%T/%N"
       )
       wrapProgram "$out/bin/bitmap" \
         --suffix XFILESEARCHPATH : $(IFS=:; echo "''${paths[*]}")
       makeWrapper "$out/bin/bitmap" "$out/bin/bitmap-color" \
         --suffix XFILESEARCHPATH : "$out/share/X11/%T/%N-color"
     '';
-  };
+  });
 
-  encodings = attrs: attrs // {
-    buildInputs = attrs.buildInputs ++ [ xorg.mkfontscale ];
-  };
+  encodings = super.encodings.overrideAttrs (attrs: {
+    buildInputs = attrs.buildInputs ++ [ self.mkfontscale ];
+  });
 
-  fontbhttf = attrs: attrs // {
+  fontbhttf = super.fontbhttf.overrideAttrs (attrs: {
     meta = attrs.meta // { license = lib.licenses.unfreeRedistributable; };
-  };
+  });
 
-  fontcursormisc = attrs: attrs // {
-    buildInputs = attrs.buildInputs ++ [ xorg.mkfontscale ];
-  };
+  fontcursormisc = super.fontcursormisc.overrideAttrs (attrs: {
+    buildInputs = attrs.buildInputs ++ [ self.mkfontscale ];
+  });
 
-  fontmiscmisc = attrs: attrs // {
+  fontmiscmisc = super.fontmiscmisc.overrideAttrs (attrs: {
     postInstall =
       ''
-        ALIASFILE=${xorg.fontalias}/share/fonts/X11/misc/fonts.alias
+        ALIASFILE=${self.fontalias}/share/fonts/X11/misc/fonts.alias
         test -f $ALIASFILE
         cp $ALIASFILE $out/lib/X11/fonts/misc/fonts.alias
       '';
-  };
+  });
 
-  imake = attrs: attrs // {
-    inherit (xorg) xorgcffiles;
+  imake = super.imake.overrideAttrs (attrs: {
+    inherit (self) xorgcffiles;
     x11BuildHook = ./imake.sh;
     patches = [./imake.patch ./imake-cc-wrapper-uberhack.patch];
     setupHook = if stdenv.isDarwin then ./darwin-imake-setup-hook.sh else null;
     CFLAGS = [ "-DIMAKE_COMPILETIME_CPP=\\\"${if stdenv.isDarwin
-      then "${args.tradcpp}/bin/cpp"
+      then "${tradcpp}/bin/cpp"
       else "gcc"}\\\""
     ];
-    tradcpp = if stdenv.isDarwin then args.tradcpp else null;
-  };
+    tradcpp = if stdenv.isDarwin then tradcpp else null;
+  });
 
-  mkfontdir = attrs: attrs // {
-    preBuild = "substituteInPlace mkfontdir.in --replace @bindir@ ${xorg.mkfontscale}/bin";
-  };
+  mkfontdir = super.mkfontdir.overrideAttrs (attrs: {
+    preBuild = "substituteInPlace mkfontdir.in --replace @bindir@ ${self.mkfontscale}/bin";
+  });
 
-  mkfontscale = attrs: attrs // {
-    patches = lib.singleton (args.fetchpatch {
+  mkfontscale = super.mkfontscale.overrideAttrs (attrs: {
+    patches = lib.singleton (fetchpatch {
       name = "mkfontscale-fix-sig11.patch";
       url = "https://bugs.freedesktop.org/attachment.cgi?id=113951";
       sha256 = "0i2xf768mz8kvm7i514v0myna9m6jqw82f9a03idabdpamxvwnim";
     });
     patchFlags = [ "-p0" ];
-  };
+  });
 
-  libxcb = attrs : attrs // {
-    nativeBuildInputs = attrs.nativeBuildInputs ++ [ args.python ];
+  libxcb = super.libxcb.overrideAttrs (attrs: {
+    nativeBuildInputs = attrs.nativeBuildInputs ++ [ python ];
     configureFlags = [ "--enable-xkb" "--enable-xinput" ];
     outputs = [ "out" "dev" "man" "doc" ];
-  };
+  });
 
-  xcbproto = attrs : attrs // {
-    nativeBuildInputs = attrs.nativeBuildInputs ++ [ args.python ];
-  };
+  xcbproto = super.xcbproto.overrideAttrs (attrs: {
+    nativeBuildInputs = attrs.nativeBuildInputs ++ [ python ];
+  });
 
-  libX11 = attrs: attrs // {
+  libX11 = super.libX11.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "man" ];
     configureFlags = attrs.configureFlags or []
       ++ malloc0ReturnsNullCrossFlag;
@@ -98,260 +105,264 @@ in
         rm -rf $out/share/doc
       '';
     CPP = stdenv.lib.optionalString stdenv.isDarwin "clang -E -";
-  };
+  });
 
-  libAppleWM = attrs: attrs // {
-    buildInputs = attrs.buildInputs ++ [ args.apple_sdk.frameworks.ApplicationServices ];
+  libAppleWM = super.libAppleWM.overrideAttrs (attrs: {
+    buildInputs = attrs.buildInputs ++ [ apple_sdk.frameworks.ApplicationServices ];
     preConfigure = ''
-      substituteInPlace src/Makefile.in --replace -F/System -F${args.apple_sdk.frameworks.ApplicationServices}
+      substituteInPlace src/Makefile.in --replace -F/System -F${apple_sdk.frameworks.ApplicationServices}
     '';
-  };
+  });
 
-  libXau = attrs: attrs // {
+  libXau = super.libXau.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
-  };
+  });
 
-  libXdmcp = attrs: attrs // {
+  libXdmcp = super.libXdmcp.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "doc" ];
-  };
+  });
 
-  libXfont = attrs: attrs // {
+  libXfont = super.libXfont.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
-    propagatedBuildInputs = [ args.freetype ]; # propagate link reqs. like bzip2
+    propagatedBuildInputs = [ freetype ]; # propagate link reqs. like bzip2
     # prevents "misaligned_stack_error_entering_dyld_stub_binder"
     configureFlags = lib.optionals isDarwin [
       "CFLAGS=-O0"
     ];
-  };
+  });
 
-  libXxf86vm = attrs: attrs // {
+  libXxf86vm = super.libXxf86vm.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
     configureFlags = attrs.configureFlags or []
       ++ malloc0ReturnsNullCrossFlag;
-  };
+  });
 
   # Propagate some build inputs because of header file dependencies.
   # Note: most of these are in Requires.private, so maybe builder.sh
   # should propagate them automatically.
-  libXt = attrs: attrs // {
+  libXt = super.libXt.overrideAttrs (attrs: {
     preConfigure = ''
       sed 's,^as_dummy.*,as_dummy="\$PATH",' -i configure
     '';
     configureFlags = attrs.configureFlags or []
       ++ malloc0ReturnsNullCrossFlag;
-    propagatedBuildInputs = [ xorg.libSM ];
+    propagatedBuildInputs = [ self.libSM ];
     CPP = stdenv.lib.optionalString stdenv.isDarwin "clang -E -";
     outputs = [ "out" "dev" "devdoc" ];
-  };
+  });
 
   # See https://bugs.freedesktop.org/show_bug.cgi?id=47792
   # Once the bug is fixed upstream, this can be removed.
-  luit = attrs: attrs // {
+  luit = super.luit.overrideAttrs (attrs: {
     configureFlags = [ "--disable-selective-werror" ];
-  };
+  });
 
-  compositeproto = attrs: attrs // {
-    propagatedBuildInputs = [ xorg.fixesproto ];
-  };
+  compositeproto = super.compositeproto.overrideAttrs (attrs: {
+    propagatedBuildInputs = [ self.fixesproto ];
+  });
 
-  libICE = attrs: attrs // {
+  libICE = super.libICE.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "doc" ];
-  };
+  });
 
-  libXcomposite = attrs: attrs // {
+  libXcomposite = super.libXcomposite.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
-    propagatedBuildInputs = [ xorg.libXfixes ];
-  };
+    propagatedBuildInputs = [ self.libXfixes ];
+  });
 
-  libXaw = attrs: attrs // {
+  libXaw = super.libXaw.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "devdoc" ];
-    propagatedBuildInputs = [ xorg.libXmu ];
-  };
+    propagatedBuildInputs = [ self.libXmu ];
+  });
 
-  libXcursor = attrs: attrs // {
+  libXcursor = super.libXcursor.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
-  };
+  });
 
-  libXdamage = attrs: attrs // {
+  libXdamage = super.libXdamage.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
-  };
+  });
 
-  libXft = attrs: attrs // {
+  libXft = super.libXft.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
-    propagatedBuildInputs = [ xorg.libXrender args.freetype args.fontconfig ];
+    propagatedBuildInputs = [ self.libXrender freetype fontconfig ];
     configureFlags = attrs.configureFlags or []
       ++ malloc0ReturnsNullCrossFlag;
     # the include files need ft2build.h, and Requires.private isn't enough for us
     postInstall = ''
       sed "/^Requires:/s/$/, freetype2/" -i "$dev/lib/pkgconfig/xft.pc"
     '';
-  };
+    passthru = {
+      inherit freetype fontconfig;
+    };
+  });
 
-  libXext = attrs: attrs // {
+  libXext = super.libXext.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "man" "doc" ];
-    propagatedBuildInputs = [ xorg.xproto xorg.libXau ];
+    propagatedBuildInputs = [ self.xproto self.libXau ];
     configureFlags = attrs.configureFlags or []
       ++ malloc0ReturnsNullCrossFlag;
-  };
+  });
 
-  libXfixes = attrs: attrs // {
+  libXfixes = super.libXfixes.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
-  };
+  });
 
-  libXi = attrs: attrs // {
+  libXi = super.libXi.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "man" "doc" ];
-    propagatedBuildInputs = [ xorg.libXfixes ];
-  };
+    propagatedBuildInputs = [ self.libXfixes ];
+  });
 
-  libXinerama = attrs: attrs // {
+  libXinerama = super.libXinerama.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
-  };
+  });
 
-  libXmu = attrs: attrs // {
+  libXmu = super.libXmu.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "doc" ];
     buildFlags = ''BITMAP_DEFINES=-DBITMAPDIR=\"/no-such-path\"'';
-  };
+  });
 
-  libXrandr = attrs: attrs // {
+  libXrandr = super.libXrandr.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
     configureFlags = attrs.configureFlags or []
       ++ malloc0ReturnsNullCrossFlag;
-    propagatedBuildInputs = [xorg.libXrender];
-  };
+    propagatedBuildInputs = [self.libXrender];
+  });
 
-  libSM = attrs: attrs // {
+  libSM = super.libSM.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "doc" ];
-    propagatedBuildInputs = [ xorg.libICE ];
-  };
+    propagatedBuildInputs = [ self.libICE ];
+  });
 
-  libXrender = attrs: attrs // {
+  libXrender = super.libXrender.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "doc" ];
     configureFlags = attrs.configureFlags or []
       ++ malloc0ReturnsNullCrossFlag;
-    propagatedBuildInputs = [ xorg.renderproto ];
-  };
+    propagatedBuildInputs = [ self.renderproto ];
+  });
 
-  libXres = attrs: attrs // {
+  libXres = super.libXres.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "devdoc" ];
-  };
+  });
 
-  libXv = attrs: attrs // {
+  libXv = super.libXv.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "devdoc" ];
-  };
+  });
 
-  libXvMC = attrs: attrs // {
+  libXvMC = super.libXvMC.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "doc" ];
-    buildInputs = attrs.buildInputs ++ [xorg.renderproto];
-  };
+    buildInputs = attrs.buildInputs ++ [self.renderproto];
+  });
 
-  libXp = attrs: attrs // {
+  libXp = super.libXp.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
-  };
+  });
 
-  libXpm = attrs: attrs // {
+  libXpm = super.libXpm.overrideAttrs (attrs: {
     name = "libXpm-3.5.12";
-    src = args.fetchurl {
+    src = fetchurl {
       url = mirror://xorg/individual/lib/libXpm-3.5.12.tar.bz2;
       sha256 = "1v5xaiw4zlhxspvx76y3hq4wpxv7mpj6parqnwdqvpj8vbinsspx";
     };
     outputs = [ "bin" "dev" "out" ]; # tiny man in $bin
     patchPhase = "sed -i '/USE_GETTEXT_TRUE/d' sxpm/Makefile.in cxpm/Makefile.in";
-  };
+  });
 
-  libXpresent = attrs: attrs
-    // { buildInputs = with xorg; attrs.buildInputs ++ [ libXext libXfixes libXrandr ]; };
+  libXpresent = super.libXpresent.overrideAttrs (attrs: {
+    buildInputs = with self; attrs.buildInputs ++ [ libXext libXfixes libXrandr ];
+  });
 
-  libxkbfile = attrs: attrs // {
+  libxkbfile = super.libxkbfile.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ]; # mainly to avoid propagation
-  };
+  });
 
-  libxshmfence = attrs: attrs // {
+  libxshmfence = super.libxshmfence.overrideAttrs (attrs: {
     name = "libxshmfence-1.3";
-    src = args.fetchurl {
+    src = fetchurl {
       url = mirror://xorg/individual/lib/libxshmfence-1.3.tar.bz2;
       sha256 = "1ir0j92mnd1nk37mrv9bz5swnccqldicgszvfsh62jd14q6k115q";
     };
     outputs = [ "out" "dev" ]; # mainly to avoid propagation
-  };
+  });
 
-  libpciaccess = attrs: attrs // {
+  libpciaccess = super.libpciaccess.overrideAttrs (attrs: {
     meta = attrs.meta // { platforms = stdenv.lib.platforms.linux; };
-  };
+  });
 
-  setxkbmap = attrs: attrs // {
+  setxkbmap = super.setxkbmap.overrideAttrs (attrs: {
     postInstall =
       ''
         mkdir -p $out/share
-        ln -sfn ${xorg.xkeyboardconfig}/etc/X11 $out/share/X11
+        ln -sfn ${self.xkeyboardconfig}/etc/X11 $out/share/X11
       '';
-  };
+  });
 
-  utilmacros = attrs: attrs // { # not needed for releases, we propagate the needed tools
-    propagatedBuildInputs = with args; [ automake autoconf libtool ];
-  };
+  utilmacros = super.utilmacros.overrideAttrs (attrs: { # not needed for releases, we propagate the needed tools
+    propagatedBuildInputs = [ automake autoconf libtool ];
+  });
 
-  x11perf = attrs: attrs // {
-    buildInputs = attrs.buildInputs ++ [ args.freetype args.fontconfig ];
-  };
+  x11perf = super.x11perf.overrideAttrs (attrs: {
+    buildInputs = attrs.buildInputs ++ [ freetype fontconfig ];
+  });
 
-  xcbutil = attrs: attrs // {
+  xcbutil = super.xcbutil.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
-  };
+  });
 
-  xcbutilcursor = attrs: attrs // {
+  xcbutilcursor = super.xcbutilcursor.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
     meta = attrs.meta // { maintainers = [ stdenv.lib.maintainers.lovek323 ]; };
-  };
+  });
 
-  xcbutilimage = attrs: attrs // {
+  xcbutilimage = super.xcbutilimage.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ]; # mainly to get rid of propagating others
-  };
+  });
 
-  xcbutilkeysyms = attrs: attrs // {
+  xcbutilkeysyms = super.xcbutilkeysyms.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ]; # mainly to get rid of propagating others
-  };
+  });
 
-  xcbutilrenderutil = attrs: attrs // {
+  xcbutilrenderutil = super.xcbutilrenderutil.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ]; # mainly to get rid of propagating others
-  };
+  });
 
-  xcbutilwm = attrs: attrs // {
+  xcbutilwm = super.xcbutilwm.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ]; # mainly to get rid of propagating others
-  };
+  });
 
-  xf86inputevdev = attrs: attrs // {
+  xf86inputevdev = super.xf86inputevdev.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ]; # to get rid of xorgserver.dev; man is tiny
     preBuild = "sed -e '/motion_history_proc/d; /history_size/d;' -i src/*.c";
     installFlags = "sdkdir=\${out}/include/xorg";
-    buildInputs = attrs.buildInputs ++ [ args.mtdev args.libevdev ];
-  };
+    buildInputs = attrs.buildInputs ++ [ mtdev libevdev ];
+  });
 
-  xf86inputmouse = attrs: attrs // {
+  xf86inputmouse = super.xf86inputmouse.overrideAttrs (attrs: {
     installFlags = "sdkdir=\${out}/include/xorg";
-  };
+  });
 
-  xf86inputjoystick = attrs: attrs // {
+  xf86inputjoystick = super.xf86inputjoystick.overrideAttrs (attrs: {
     installFlags = "sdkdir=\${out}/include/xorg";
-  };
+  });
 
-  xf86inputlibinput = attrs: attrs // rec {
+  xf86inputlibinput = super.xf86inputlibinput.overrideAttrs (attrs: rec {
     name = "xf86-input-libinput-0.28.0";
-    src = args.fetchurl {
+    src = fetchurl {
       url = "mirror://xorg/individual/driver/${name}.tar.bz2";
       sha256 = "189h8vl0005yizwrs4d0sng6j8lwkd3xi1zwqg8qavn2bw34v691";
     };
     outputs = [ "out" "dev" ];
-    buildInputs = attrs.buildInputs ++ [ args.libinput ];
+    buildInputs = attrs.buildInputs ++ [ libinput ];
     installFlags = "sdkdir=\${dev}/include/xorg";
-  };
+  });
 
-  xf86inputsynaptics = attrs: attrs // {
+  xf86inputsynaptics = super.xf86inputsynaptics.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ]; # *.pc pulls xorgserver.dev
-    buildInputs = attrs.buildInputs ++ [args.mtdev args.libevdev];
+    buildInputs = attrs.buildInputs ++ [mtdev libevdev];
     installFlags = "sdkdir=\${out}/include/xorg configdir=\${out}/share/X11/xorg.conf.d";
-  };
+  });
 
-  xf86inputvmmouse = attrs: attrs // {
+  xf86inputvmmouse = super.xf86inputvmmouse.overrideAttrs (attrs: {
     configureFlags = [
       "--sysconfdir=$(out)/etc"
       "--with-xorg-conf-dir=$(out)/share/X11/xorg.conf.d"
@@ -361,82 +372,83 @@ in
     meta = attrs.meta // {
       platforms = ["i686-linux" "x86_64-linux"];
     };
-  };
+  });
 
   # Obsolete drivers that don't compile anymore.
-  xf86videoark        = attrs: attrs // { meta = attrs.meta // { broken = true; }; };
-  xf86videogeode      = attrs: attrs // { meta = attrs.meta // { broken = true; }; };
-  xf86videoglide      = attrs: attrs // { meta = attrs.meta // { broken = true; }; };
-  xf86videoi128       = attrs: attrs // { meta = attrs.meta // { broken = true; }; };
-  xf86videonewport    = attrs: attrs // { meta = attrs.meta // { broken = true; }; };
-  xf86videotga        = attrs: attrs // { meta = attrs.meta // { broken = true; }; };
-  xf86videov4l        = attrs: attrs // { meta = attrs.meta // { broken = true; }; };
-  xf86videovoodoo     = attrs: attrs // { meta = attrs.meta // { broken = true; }; };
-  xf86videowsfb       = attrs: attrs // { meta = attrs.meta // { broken = true; }; };
-
-  xf86videoamdgpu = attrs: attrs // {
+  xf86videoark     = super.xf86videoark.overrideAttrs     (attrs: { meta = attrs.meta // { broken = true; }; });
+  xf86videogeode   = super.xf86videogeode.overrideAttrs   (attrs: { meta = attrs.meta // { broken = true; }; });
+  xf86videoglide   = super.xf86videoglide.overrideAttrs   (attrs: { meta = attrs.meta // { broken = true; }; });
+  xf86videoi128    = super.xf86videoi128.overrideAttrs    (attrs: { meta = attrs.meta // { broken = true; }; });
+  xf86videonewport = super.xf86videonewport.overrideAttrs (attrs: { meta = attrs.meta // { broken = true; }; });
+  xf86videotga     = super.xf86videotga.overrideAttrs     (attrs: { meta = attrs.meta // { broken = true; }; });
+  xf86videov4l     = super.xf86videov4l.overrideAttrs     (attrs: { meta = attrs.meta // { broken = true; }; });
+  xf86videovoodoo  = super.xf86videovoodoo.overrideAttrs  (attrs: { meta = attrs.meta // { broken = true; }; });
+  xf86videowsfb    = super.xf86videowsfb.overrideAttrs    (attrs: { meta = attrs.meta // { broken = true; }; });
+
+  xf86videoamdgpu = super.xf86videoamdgpu.overrideAttrs (attrs: {
     configureFlags = [ "--with-xorg-conf-dir=$(out)/share/X11/xorg.conf.d" ];
-  };
+  });
 
-  xf86videoati = attrs: attrs // {
-    NIX_CFLAGS_COMPILE = "-I${xorg.xorgserver.dev or xorg.xorgserver}/include/xorg";
-  };
+  xf86videoati = super.xf86videoati.overrideAttrs (attrs: {
+    NIX_CFLAGS_COMPILE = "-I${self.xorgserver.dev or self.xorgserver}/include/xorg";
+  });
 
-  xf86videovmware = attrs: attrs // {
-    buildInputs =  attrs.buildInputs ++ [ args.mesa_drivers ]; # for libxatracker
+  xf86videovmware = super.xf86videovmware.overrideAttrs (attrs: {
+    buildInputs =  attrs.buildInputs ++ [ mesa_drivers ]; # for libxatracker
     meta = attrs.meta // {
       platforms = ["i686-linux" "x86_64-linux"];
     };
-  };
+  });
 
-  xf86videoqxl = attrs: attrs // {
-    buildInputs =  attrs.buildInputs ++ [ args.spice-protocol ];
-  };
+  xf86videoqxl = super.xf86videoqxl.overrideAttrs (attrs: {
+    buildInputs =  attrs.buildInputs ++ [ spice-protocol ];
+  });
 
-  xf86videosiliconmotion = attrs: attrs // {
+  xf86videosiliconmotion = super.xf86videosiliconmotion.overrideAttrs (attrs: {
     meta = attrs.meta // {
       platforms = ["i686-linux" "x86_64-linux"];
     };
-  };
-
-  xdriinfo = attrs: attrs // {
-    buildInputs = attrs.buildInputs ++ [args.libGL];
-  };
+  });
 
-  xvinfo = attrs: attrs // {
-    buildInputs = attrs.buildInputs ++ [xorg.libXext];
-  };
+  xdriinfo = super.xdriinfo.overrideAttrs (attrs: {
+    buildInputs = attrs.buildInputs ++ [libGL];
+  });
 
-  xkbcomp = attrs: attrs // {
-    configureFlags = [ "--with-xkb-config-root=${xorg.xkeyboardconfig}/share/X11/xkb" ];
-  };
+  xvinfo = super.xvinfo.overrideAttrs (attrs: {
+    buildInputs = attrs.buildInputs ++ [self.libXext];
+  });
 
-  xkeyboardconfig = attrs: attrs // {
+  xkbcomp = super.xkbcomp.overrideAttrs (attrs: {
+    configureFlags = [ "--with-xkb-config-root=${self.xkeyboardconfig}/share/X11/xkb" ];
+  });
 
-    buildInputs = attrs.buildInputs ++ [args.intltool];
+  xkeyboardconfig = super.xkeyboardconfig.overrideAttrs (attrs: {
+    buildInputs = attrs.buildInputs ++ [intltool];
 
     #TODO: resurrect patches for US_intl?
     patches = [ ./xkeyboard-config-eo.patch ];
 
+    configureFlags = [ "--with-xkb-rules-symlink=xorg" ];
+
     # 1: compatibility for X11/xkb location
     # 2: I think pkgconfig/ is supposed to be in /lib/
     postInstall = ''
       ln -s share "$out/etc"
       mkdir -p "$out/lib" && ln -s ../share/pkgconfig "$out/lib/"
     '';
-  };
+  });
 
-  xlsfonts = attrs: attrs // {
+  xlsfonts = super.xlsfonts.overrideAttrs (attrs: {
     meta = attrs.meta // { license = lib.licenses.mit; };
-  };
+  });
 
-  xorgserver = with xorg; attrs_passed:
+  xorgserver = with self; super.xorgserver.overrideAttrs (attrs_passed:
     # exchange attrs if abiCompat is set
     let
       version = (builtins.parseDrvName attrs_passed.name).version;
-      attrs = with args;
-        if (args.abiCompat == null || lib.hasPrefix args.abiCompat version) then attrs_passed
-        else if (args.abiCompat == "1.17") then {
+      attrs =
+        if (abiCompat == null || lib.hasPrefix abiCompat version) then attrs_passed
+        else if (abiCompat == "1.17") then {
           name = "xorg-server-1.17.4";
           builder = ./builder.sh;
           src = fetchurl {
@@ -446,7 +458,7 @@ in
           nativeBuildInputs = [ pkgconfig ];
           buildInputs = [ dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ];
           meta.platforms = stdenv.lib.platforms.unix;
-        } else if (args.abiCompat == "1.18") then {
+        } else if (abiCompat == "1.18") then {
             name = "xorg-server-1.18.4";
             builder = ./builder.sh;
             src = fetchurl {
@@ -457,19 +469,19 @@ in
             buildInputs = [ dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ];
             postPatch = stdenv.lib.optionalString stdenv.isLinux "sed '1i#include <malloc.h>' -i include/os.h";
             meta.platforms = stdenv.lib.platforms.unix;
-        } else throw "unsupported xorg abiCompat ${args.abiCompat} for ${attrs_passed.name}";
+        } else throw "unsupported xorg abiCompat ${abiCompat} for ${attrs_passed.name}";
 
     in attrs //
     (let
       version = (builtins.parseDrvName attrs.name).version;
       commonBuildInputs = attrs.buildInputs ++ [ xtrans ];
       commonPropagatedBuildInputs = [
-        args.zlib args.libGL args.libGLU args.dbus
+        zlib libGL libGLU dbus
         xf86bigfontproto glproto xf86driproto
         compositeproto scrnsaverproto resourceproto
         xf86dgaproto
         dmxproto /*libdmx not used*/ xf86vidmodeproto
-        recordproto libXext pixman libXfont libxshmfence args.libunwind
+        recordproto libXext pixman libXfont libxshmfence libunwind
         damageproto xcmiscproto  bigreqsproto
         inputproto xextproto randrproto renderproto presentproto
         dri2proto dri3proto kbproto xineramaproto resourceproto scrnsaverproto videoproto
@@ -491,9 +503,9 @@ in
       if (!isDarwin)
       then {
         outputs = [ "out" "dev" ];
-        buildInputs = commonBuildInputs ++ [ args.libdrm args.mesa_noglu ];
-        propagatedBuildInputs = [ libpciaccess args.epoxy ] ++ commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [
-          args.udev
+        buildInputs = commonBuildInputs ++ [ libdrm mesa_noglu ];
+        propagatedBuildInputs = [ libpciaccess epoxy ] ++ commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [
+          udev
         ];
         prePatch = stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
           export CFLAGS+=" -D__uid_t=uid_t -D__gid_t=gid_t"
@@ -504,8 +516,8 @@ in
           "--enable-xcsecurity"         # enable SECURITY extension
           "--with-default-font-path="   # there were only paths containing "${prefix}",
                                         # and there are no fonts in this package anyway
-          "--with-xkb-bin-directory=${xorg.xkbcomp}/bin"
-          "--with-xkb-path=${xorg.xkeyboardconfig}/share/X11/xkb"
+          "--with-xkb-bin-directory=${self.xkbcomp}/bin"
+          "--with-xkb-path=${self.xkeyboardconfig}/share/X11/xkb"
           "--with-xkb-output=$out/share/X11/xkb/compiled"
           "--enable-glamor"
         ] ++ lib.optionals stdenv.hostPlatform.isMusl [
@@ -523,12 +535,12 @@ in
         '';
         passthru.version = version; # needed by virtualbox guest additions
       } else {
-        nativeBuildInputs = attrs.nativeBuildInputs ++ [ args.autoreconfHook xorg.utilmacros xorg.fontutil ];
+        nativeBuildInputs = attrs.nativeBuildInputs ++ [ autoreconfHook self.utilmacros self.fontutil ];
         buildInputs = commonBuildInputs ++ [
-          args.bootstrap_cmds args.automake args.autoconf
-          args.apple_sdk.libs.Xplugin
-          args.apple_sdk.frameworks.Carbon
-          args.apple_sdk.frameworks.Cocoa
+          bootstrap_cmds automake autoconf
+          apple_sdk.libs.Xplugin
+          apple_sdk.frameworks.Carbon
+          apple_sdk.frameworks.Cocoa
         ];
         propagatedBuildInputs = commonPropagatedBuildInputs ++ [
           libAppleWM applewmproto
@@ -536,22 +548,22 @@ in
 
         # XQuartz patchset
         patches = [
-          (args.fetchpatch {
+          (fetchpatch {
             url = "https://github.com/XQuartz/xorg-server/commit/e88fd6d785d5be477d5598e70d105ffb804771aa.patch";
             sha256 = "1q0a30m1qj6ai924afz490xhack7rg4q3iig2gxsjjh98snikr1k";
             name = "use-cppflags-not-cflags.patch";
           })
-          (args.fetchpatch {
+          (fetchpatch {
             url = "https://github.com/XQuartz/xorg-server/commit/75ee9649bcfe937ac08e03e82fd45d9e18110ef4.patch";
             sha256 = "1vlfylm011y00j8mig9zy6gk9bw2b4ilw2qlsc6la49zi3k0i9fg";
             name = "use-old-mitrapezoids-and-mitriangles-routines.patch";
           })
-          (args.fetchpatch {
+          (fetchpatch {
             url = "https://github.com/XQuartz/xorg-server/commit/c58f47415be79a6564a9b1b2a62c2bf866141e73.patch";
             sha256 = "19sisqzw8x2ml4lfrwfvavc2jfyq2bj5xcf83z89jdxg8g1gdd1i";
             name = "revert-fb-changes-1.patch";
           })
-          (args.fetchpatch {
+          (fetchpatch {
             url = "https://github.com/XQuartz/xorg-server/commit/56e6f1f099d2821e5002b9b05b715e7b251c0c97.patch";
             sha256 = "0zm9g0g1jvy79sgkvy0rjm6ywrdba2xjd1nsnjbxjccckbr6i396";
             name = "revert-fb-changes-2.patch";
@@ -570,7 +582,7 @@ in
         preConfigure = ''
           mkdir -p $out/Applications
           export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-error"
-          substituteInPlace hw/xquartz/pbproxy/Makefile.in --replace -F/System -F${args.apple_sdk.frameworks.ApplicationServices}
+          substituteInPlace hw/xquartz/pbproxy/Makefile.in --replace -F/System -F${apple_sdk.frameworks.ApplicationServices}
         '';
         postInstall = ''
           rm -fr $out/share/X11/xkb/compiled
@@ -582,110 +594,111 @@ in
           cp ${darwinOtherX}/share/man -rT $out/share/man
         '' ;
         passthru.version = version;
-      });
+      }));
 
-  lndir = attrs: attrs // {
+  lndir = super.lndir.overrideAttrs (attrs: {
     preConfigure = ''
       substituteInPlace lndir.c \
         --replace 'n_dirs--;' ""
     '';
-  };
+  });
 
-  twm = attrs: attrs // {
-    nativeBuildInputs = attrs.nativeBuildInputs ++ [args.bison args.flex];
-  };
+  twm = super.twm.overrideAttrs (attrs: {
+    nativeBuildInputs = attrs.nativeBuildInputs ++ [bison flex];
+  });
 
-  xauth = attrs: attrs // {
+  xauth = super.xauth.overrideAttrs (attrs: {
     doCheck = false; # fails
-  };
+  });
 
-  xcursorthemes = attrs: attrs // {
-    buildInputs = attrs.buildInputs ++ [xorg.xcursorgen];
+  xcursorthemes = super.xcursorthemes.overrideAttrs (attrs: {
+    buildInputs = attrs.buildInputs ++ [self.xcursorgen];
     configureFlags = [ "--with-cursordir=$(out)/share/icons" ];
-  };
+  });
 
-  xinit = attrs: attrs // {
-    stdenv = if isDarwin then args.clangStdenv else stdenv;
-    buildInputs = attrs.buildInputs ++ lib.optional isDarwin args.bootstrap_cmds;
+  xinit = (super.xinit.override {
+    stdenv = if isDarwin then clangStdenv else stdenv;
+  }).overrideAttrs (attrs: {
+    buildInputs = attrs.buildInputs ++ lib.optional isDarwin bootstrap_cmds;
     configureFlags = [
-      "--with-xserver=${xorg.xorgserver.out}/bin/X"
+      "--with-xserver=${self.xorgserver.out}/bin/X"
     ] ++ lib.optionals isDarwin [
       "--with-bundle-id-prefix=org.nixos.xquartz"
       "--with-launchdaemons-dir=\${out}/LaunchDaemons"
       "--with-launchagents-dir=\${out}/LaunchAgents"
     ];
-    propagatedBuildInputs = [ xorg.xauth ]
-                         ++ lib.optionals isDarwin [ xorg.libX11 xorg.xproto ];
+    propagatedBuildInputs = [ self.xauth ]
+                         ++ lib.optionals isDarwin [ self.libX11 self.xproto ];
     prePatch = ''
       sed -i 's|^defaultserverargs="|&-logfile \"$HOME/.xorg.log\"|p' startx.cpp
     '';
-  };
+  });
 
-  xf86videointel = attrs: attrs // {
+  xf86videointel = super.xf86videointel.overrideAttrs (attrs: {
     # the update script only works with released tarballs :-/
     name = "xf86-video-intel-2017-10-19";
-    src = args.fetchurl {
+    src = fetchurl {
       url = "http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/snapshot/"
           + "4798e18b2b2c8b0a05dc967e6140fd9962bc1a73.tar.gz";
       sha256 = "1zpgbibfpdassswfj68zwhhfpvd2p80rpxw92bis6lv81ssknwby";
     };
-    buildInputs = attrs.buildInputs ++ [xorg.libXfixes xorg.libXScrnSaver xorg.pixman];
-    nativeBuildInputs = attrs.nativeBuildInputs ++ [args.autoreconfHook xorg.utilmacros];
+    buildInputs = attrs.buildInputs ++ [self.libXfixes self.libXScrnSaver self.pixman];
+    nativeBuildInputs = attrs.nativeBuildInputs ++ [autoreconfHook self.utilmacros];
     configureFlags = [ "--with-default-dri=3" "--enable-tools" ];
 
     meta = attrs.meta // {
       platforms = ["i686-linux" "x86_64-linux"];
     };
-  };
+  });
 
-  xf86videoxgi = attrs: attrs // {
+  xf86videoxgi = super.xf86videoxgi.overrideAttrs (attrs: {
     patches = [
       # fixes invalid open mode
       # https://cgit.freedesktop.org/xorg/driver/xf86-video-xgi/commit/?id=bd94c475035739b42294477cff108e0c5f15ef67
-      (args.fetchpatch {
+      (fetchpatch {
         url = "https://cgit.freedesktop.org/xorg/driver/xf86-video-xgi/patch/?id=bd94c475035739b42294477cff108e0c5f15ef67";
         sha256 = "0myfry07655adhrpypa9rqigd6rfx57pqagcwibxw7ab3wjay9f6";
       })
-      (args.fetchpatch {
+      (fetchpatch {
         url = "https://cgit.freedesktop.org/xorg/driver/xf86-video-xgi/patch/?id=78d1138dd6e214a200ca66fa9e439ee3c9270ec8";
         sha256 = "0z3643afgrync280zrp531ija0hqxc5mrwjif9nh9lcnzgnz2d6d";
       })
     ];
-  };
+  });
 
-  xorgcffiles = attrs: attrs // {
+  xorgcffiles = super.xorgcffiles.overrideAttrs (attrs: {
     postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
       substituteInPlace $out/lib/X11/config/darwin.cf --replace "/usr/bin/" ""
     '';
-  };
+  });
 
-  xwd = attrs: attrs // {
-    buildInputs = with xorg; attrs.buildInputs ++ [libXt libxkbfile];
-  };
+  xwd = super.xwd.overrideAttrs (attrs: {
+    buildInputs = with self; attrs.buildInputs ++ [libXt libxkbfile];
+  });
 
-  kbproto = attrs: attrs // {
+  kbproto = super.kbproto.overrideAttrs (attrs: {
     outputs = [ "out" "doc" ];
-  };
+  });
 
-  xextproto = attrs: attrs // {
+  xextproto = super.xextproto.overrideAttrs (attrs: {
     outputs = [ "out" "doc" ];
-  };
+  });
 
-  xproto = attrs: attrs // {
+  xproto = super.xproto.overrideAttrs (attrs: {
     outputs = [ "out" "doc" ];
-  };
+  });
 
-  xrdb = attrs: attrs // {
-    configureFlags = [ "--with-cpp=${args.mcpp}/bin/mcpp" ];
-  };
+  xrdb = super.xrdb.overrideAttrs (attrs: {
+    configureFlags = [ "--with-cpp=${mcpp}/bin/mcpp" ];
+  });
 
-  sessreg = attrs: attrs // {
+  sessreg = super.sessreg.overrideAttrs (attrs: {
     preBuild = "sed -i 's|gcc -E|gcc -E -P|' man/Makefile";
-  };
+  });
 
-  xrandr = attrs: attrs // {
+  xrandr = super.xrandr.overrideAttrs (attrs: {
     postInstall = ''
       rm $out/bin/xkeystone
     '';
-  };
+  });
 }
diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list
index 846fa56de30c..a832302abdc5 100644
--- a/pkgs/servers/x11/xorg/tarballs-7.7.list
+++ b/pkgs/servers/x11/xorg/tarballs-7.7.list
@@ -106,7 +106,7 @@ mirror://xorg/individual/proto/videoproto-2.3.3.tar.bz2
 mirror://xorg/X11R7.7/src/everything/windowswmproto-1.0.4.tar.bz2
 mirror://xorg/individual/app/x11perf-1.6.0.tar.bz2
 mirror://xorg/individual/app/xauth-1.0.10.tar.bz2
-mirror://xorg/individual/app/xbacklight-1.2.1.tar.bz2
+mirror://xorg/individual/app/xbacklight-1.2.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xbitmaps-1.1.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xcmiscproto-1.2.2.tar.bz2
 mirror://xorg/individual/app/xcmsdb-1.0.5.tar.bz2
@@ -175,10 +175,10 @@ mirror://xorg/individual/app/xgc-1.0.5.tar.bz2
 mirror://xorg/individual/app/xhost-1.0.7.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xineramaproto-1.2.1.tar.bz2
 mirror://xorg/individual/app/xinput-1.6.2.tar.bz2
-mirror://xorg/individual/app/xkbcomp-1.4.0.tar.bz2
+mirror://xorg/individual/app/xkbcomp-1.4.2.tar.bz2
 mirror://xorg/individual/app/xkbevd-1.1.4.tar.bz2
 mirror://xorg/individual/app/xkbutils-1.0.4.tar.bz2
-mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.22.tar.bz2
+mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.24.tar.bz2
 mirror://xorg/individual/app/xkill-1.0.4.tar.bz2
 mirror://xorg/individual/app/xlsatoms-1.1.2.tar.bz2
 mirror://xorg/individual/app/xlsclients-1.1.3.tar.bz2
diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix
index a14829070b33..472b78c4a6d0 100644
--- a/pkgs/shells/zsh/default.nix
+++ b/pkgs/shells/zsh/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses, pcre }:
+{ stdenv, fetchurl, ncurses, pcre, fetchpatch }:
 
 let
   version = "5.6.2";
@@ -18,6 +18,15 @@ stdenv.mkDerivation {
     sha256 = "17iffliqcj4hv91g0bd2sxsyfcz51mfyh97sp2iyrs2p0mndc2x5";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "search-xdg-data-dirs.patch";
+      url = https://github.com/zsh-users/zsh/commit/624219e0e4cbfdfb286e707bd2853f2d7b6a4a7d.patch;
+      sha256 = "0i0g7dc0px57vpklm1f4w20vyc92nv15y09r5clvib2kjkxjy2cf";
+      excludes = [ "ChangeLog" ];
+    })
+  ];
+
   buildInputs = [ ncurses pcre ];
 
   configureFlags = [
diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix
index 2db40fc43e36..e06faed30a1e 100644
--- a/pkgs/stdenv/generic/make-derivation.nix
+++ b/pkgs/stdenv/generic/make-derivation.nix
@@ -41,6 +41,7 @@ rec {
 
     # Configure Phase
     , configureFlags ? []
+    , cmakeFlags ? []
     , # Target is not included by default because most programs don't care.
       # Including it then would cause needless mass rebuilds.
       #
@@ -225,6 +226,17 @@ rec {
           inherit doCheck doInstallCheck;
 
           inherit outputs;
+        } // lib.optionalAttrs (stdenv.hostPlatform != stdenv.buildPlatform) {
+          cmakeFlags =
+            (/**/ if lib.isString cmakeFlags then [cmakeFlags]
+             else if cmakeFlags == null      then []
+             else                                     cmakeFlags)
+          ++ lib.optional (stdenv.hostPlatform.uname.system != null) "-DCMAKE_SYSTEM_NAME=${stdenv.hostPlatform.uname.system}"
+          ++ lib.optional (stdenv.hostPlatform.uname.processor != null) "-DCMAKE_SYSTEM_PROCESSOR=${stdenv.hostPlatform.uname.processor}"
+          ++ lib.optional (stdenv.hostPlatform.uname.release != null) "-DCMAKE_SYSTEM_VERSION=${stdenv.hostPlatform.release}"
+          ++ lib.optional (stdenv.buildPlatform.uname.system != null) "-DCMAKE_HOST_SYSTEM_NAME=${stdenv.buildPlatform.uname.system}"
+          ++ lib.optional (stdenv.buildPlatform.uname.processor != null) "-DCMAKE_HOST_SYSTEM_PROCESSOR=${stdenv.buildPlatform.uname.processor}"
+          ++ lib.optional (stdenv.buildPlatform.uname.release != null) "-DCMAKE_HOST_SYSTEM_VERSION=${stdenv.buildPlatform.uname.release}";
         } // lib.optionalAttrs (attrs.enableParallelBuilding or false) {
           enableParallelChecking = attrs.enableParallelChecking or true;
         } // lib.optionalAttrs (hardeningDisable != [] || hardeningEnable != []) {
diff --git a/pkgs/tools/backup/btrbk/default.nix b/pkgs/tools/backup/btrbk/default.nix
index e9ae73547863..6ff43a94af90 100644
--- a/pkgs/tools/backup/btrbk/default.nix
+++ b/pkgs/tools/backup/btrbk/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "btrbk-${version}";
-  version = "0.26.1";
+  version = "0.27.0";
 
   src = fetchurl {
     url = "https://digint.ch/download/btrbk/releases/${name}.tar.xz";
-    sha256 = "04ahfm52vcf1w0c2km0wdgj2jpffp45bpawczmygcg8fdcm021lp";
+    sha256 = "0nsqpmfymh9df32fy8qg6bhimd65yxdjpany97s1n08qb110zh2y";
   };
 
   nativeBuildInputs = [ asciidoc makeWrapper ];
diff --git a/pkgs/tools/compression/brotli/default.nix b/pkgs/tools/compression/brotli/default.nix
index 754c0e581563..7047eeeefa61 100644
--- a/pkgs/tools/compression/brotli/default.nix
+++ b/pkgs/tools/compression/brotli/default.nix
@@ -15,8 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  cmakeFlags = stdenv.lib.optional
-    (stdenv.hostPlatform.libc == "msvcrt") "-DCMAKE_SYSTEM_NAME=Windows";
+  cmakeFlags = [];
 
   outputs = [ "out" "dev" "lib" ];
 
@@ -59,4 +58,3 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
   };
 }
-
diff --git a/pkgs/tools/misc/bat/default.nix b/pkgs/tools/misc/bat/default.nix
index 0cacfa6e54e4..4bd4a02c7a2d 100644
--- a/pkgs/tools/misc/bat/default.nix
+++ b/pkgs/tools/misc/bat/default.nix
@@ -4,17 +4,17 @@
 
 rustPlatform.buildRustPackage rec {
   name    = "bat-${version}";
-  version = "0.7.1";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner  = "sharkdp";
     repo   = "bat";
     rev    = "v${version}";
-    sha256 = "1fzk0z7r70rjvv2c6531zaa1jzbcb7j9wbi0xqb9y4dls538bmz0";
+    sha256 = "1xvjw61q0qbnzj95g7g8xckcqha9jrf2172b5l7faj7i0jhmz2kx";
     fetchSubmodules = true;
   };
 
-  cargoSha256 = "19syz0sxcpk3i4675bfq5gpb9i6hp81in36w820kkvamaimq10nd";
+  cargoSha256 = "0xv769f2iqrgnbmb7ma9p3gbb2xpx2lhqc0kq5nizf8w8xdc5m11";
 
   nativeBuildInputs = [ cmake pkgconfig zlib ];
 
@@ -22,6 +22,13 @@ rustPlatform.buildRustPackage rec {
 
   postInstall = ''
     install -m 444 -Dt $out/share/man/man1 doc/bat.1
+
+    install -Dm644 target/release/build/bat-*/out/_bat \
+      "$out/share/zsh/site-functions/_bat"
+    install -Dm644 target/release/build/bat-*/out/bat.bash \
+      "$out/share/bash-completions/completions/bat.bash"
+    install -Dm644 target/release/build/bat-*/out/bat.fish \
+      "$out/share/fish/vendor_completions.d/bat.fish"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/networking/curl/7_59.nix b/pkgs/tools/networking/curl/7_59.nix
index 0482bcf52629..508b357e3fde 100644
--- a/pkgs/tools/networking/curl/7_59.nix
+++ b/pkgs/tools/networking/curl/7_59.nix
@@ -77,7 +77,11 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional gssSupport "--with-gssapi=${kerberos.dev}"
        # For the 'urandom', maybe it should be a cross-system option
     ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
-       "--with-random=/dev/urandom";
+       "--with-random=/dev/urandom"
+    ++ stdenv.lib.optionals stdenv.hostPlatform.isWindows [
+      "--disable-shared"
+      "--enable-static"
+    ];
 
   CXX = "${stdenv.cc.targetPrefix}c++";
   CXXCPP = "${stdenv.cc.targetPrefix}c++ -E";
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index dda97d34d869..4af8ff75e210 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -81,7 +81,11 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional gssSupport "--with-gssapi=${kerberos.dev}"
        # For the 'urandom', maybe it should be a cross-system option
     ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
-       "--with-random=/dev/urandom";
+       "--with-random=/dev/urandom"
+    ++ stdenv.lib.optionals stdenv.hostPlatform.isWindows [
+      "--disable-shared"
+      "--enable-static"
+    ];
 
   CXX = "${stdenv.cc.targetPrefix}c++";
   CXXCPP = "${stdenv.cc.targetPrefix}c++ -E";
diff --git a/pkgs/tools/networking/eternal-terminal/default.nix b/pkgs/tools/networking/eternal-terminal/default.nix
index 8941494e316e..fda5d25aa17d 100644
--- a/pkgs/tools/networking/eternal-terminal/default.nix
+++ b/pkgs/tools/networking/eternal-terminal/default.nix
@@ -1,20 +1,18 @@
-{ stdenv, fetchFromGitHub, cmake, gflags, glog, libsodium, protobuf }:
+{ stdenv, fetchFromGitHub, cmake, ninja, gflags, libsodium, protobuf }:
 
 stdenv.mkDerivation rec {
   name = "eternal-terminal-${version}";
-  version = "4.1.2";
+  version = "5.1.6";
 
   src = fetchFromGitHub {
     owner = "MisterTea";
     repo = "EternalTCP";
     rev = "refs/tags/et-v${version}";
-    sha256 = "1zy30ccsddgs2wqwxphnx5i00j4gf69lr68mzg9x6imqfz0sbcjz";
+    sha256 = "0df573c5hi3hxa0d3m02zf2iyh841540dklj9lmp6faik8cp39jz";
   };
 
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ gflags glog libsodium protobuf ];
-
-  enableParallelBuilding = true;
+  nativeBuildInputs = [ cmake ninja ];
+  buildInputs = [ gflags libsodium protobuf ];
 
   meta = with stdenv.lib; {
     description = "Remote shell that automatically reconnects without interrupting the session";
diff --git a/pkgs/tools/package-management/xbps/default.nix b/pkgs/tools/package-management/xbps/default.nix
index dbcd9dafbef6..d29b46b87bed 100644
--- a/pkgs/tools/package-management/xbps/default.nix
+++ b/pkgs/tools/package-management/xbps/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "xbps-${version}";
-  version = "0.52";
+  version = "0.53";
 
   src = fetchFromGitHub {
-    owner = "voidlinux";
+    owner = "void-linux";
     repo = "xbps";
     rev = version;
-    sha256 = "1sf6iy9l3dijsczsngzbhksshfm1374g2rrdasc04l6gz35l2cdp";
+    sha256 = "1zicin2z5j7vg2ixzpd6nahjhrjwdcavm817wzgs9x013b596paa";
   };
 
   nativeBuildInputs = [ pkgconfig which ];
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/voidlinux/xbps;
+    homepage = https://github.com/void-linux/xbps;
     description = "The X Binary Package System";
     platforms = platforms.linux; # known to not work on Darwin, at least
     license = licenses.bsd2;
diff --git a/pkgs/tools/security/monkeysphere/default.nix b/pkgs/tools/security/monkeysphere/default.nix
index 228695878dcc..0cf59dc555c2 100644
--- a/pkgs/tools/security/monkeysphere/default.nix
+++ b/pkgs/tools/security/monkeysphere/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, makeWrapper
 , perl, libassuan, libgcrypt
-, perlPackages, lockfileProgs, gnupg
+, perlPackages, lockfileProgs, gnupg, coreutils
 # For the tests:
 , bash, openssh, which, socat, cpio, hexdump
 }:
@@ -16,10 +16,14 @@ stdenv.mkDerivation rec {
 
   patches = [ ./monkeysphere.patch ];
 
+  postPatch = ''
+    sed -i "s,/usr/bin/env,${coreutils}/bin/env," src/share/ma/update_users
+  '';
+
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ perl libassuan libgcrypt ]
     ++ stdenv.lib.optional doCheck
-      ([ gnupg openssh which socat cpio hexdump ] ++
+      ([ gnupg openssh which socat cpio hexdump lockfileProgs ] ++
       (with perlPackages; [ CryptOpenSSLRSA CryptOpenSSLBignum ]));
 
   makeFlags = ''
@@ -31,10 +35,8 @@ stdenv.mkDerivation rec {
   # entropy (apparently GnuPG still uses /dev/random).
   doCheck = false;
   preCheck = ''
-    patchShebangs tests/keytrans
-    patchShebangs src/share/keytrans
-    patchShebangs src/share/checkperms
-    sed -i "s,/usr/bin/env\ bash,${bash}/bin/bash," tests/basic
+    patchShebangs tests/
+    patchShebangs src/
     sed -i "s,/usr/sbin/sshd,${openssh}/bin/sshd," tests/basic
     sed -i "s/<(hd/<(hexdump/" tests/keytrans
   '';
diff --git a/pkgs/tools/security/nmap/default.nix b/pkgs/tools/security/nmap/default.nix
index 4c6df817a72d..09423a96ef96 100644
--- a/pkgs/tools/security/nmap/default.nix
+++ b/pkgs/tools/security/nmap/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libpcap, pkgconfig, openssl
+{ stdenv, fetchurl, libpcap, pkgconfig, openssl, lua5_3
 , graphicalSupport ? false
 , libX11 ? null
 , gtk2 ? null
@@ -35,11 +35,17 @@ in stdenv.mkDerivation rec {
         --replace 'ARFLAGS="-o"' 'ARFLAGS="-r"'
   '';
 
-  configureFlags = []
+  configureFlags = [ "--with-liblua=${lua5_3}" ]
     ++ optional (!pythonSupport) "--without-ndiff"
     ++ optional (!graphicalSupport) "--without-zenmap"
     ;
 
+  makeFlags = optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
+    "AR=${stdenv.cc.bintools.targetPrefix}ar"
+    "RANLIB=${stdenv.cc.bintools.targetPrefix}ranlib"
+    "CC=${stdenv.cc.targetPrefix}gcc"
+  ];
+
   postInstall = optionalString pythonSupport ''
       wrapProgram $out/bin/ndiff --prefix PYTHONPATH : "$(toPythonPath $out)" --prefix PYTHONPATH : "$PYTHONPATH"
   '' + optionalString graphicalSupport ''
diff --git a/pkgs/tools/text/html-tidy/default.nix b/pkgs/tools/text/html-tidy/default.nix
index 51ce4baa0beb..1974c0aa4f36 100644
--- a/pkgs/tools/text/html-tidy/default.nix
+++ b/pkgs/tools/text/html-tidy/default.nix
@@ -13,8 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake libxslt/*manpage*/ ];
 
-  cmakeFlags = stdenv.lib.optional
-    (stdenv.hostPlatform.libc or null == "msvcrt") "-DCMAKE_SYSTEM_NAME=Windows";
+  cmakeFlags = [];
 
   # ATM bin/tidy is statically linked, as upstream provides no other option yet.
   # https://github.com/htacg/tidy-html5/issues/326#issuecomment-160322107
diff --git a/pkgs/tools/video/bento4/default.nix b/pkgs/tools/video/bento4/default.nix
new file mode 100644
index 000000000000..687f80f1adfc
--- /dev/null
+++ b/pkgs/tools/video/bento4/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub
+, cmake
+}:
+stdenv.mkDerivation rec {
+  name = "bento4-${version}";
+  version = "1.5.1-624";
+
+  src = fetchFromGitHub {
+    owner = "axiomatic-systems";
+    repo = "Bento4";
+    rev = "v${version}";
+    sha256 = "1cq6vhrq3n3lc1n454slbc66qdyqam2srxgdhfpyfxbq5c4y06nf";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  installPhase = ''
+    mkdir -p $out/{lib,bin}
+    find -iname '*.so' -exec mv --target-directory="$out/lib" {} \;
+    find -maxdepth 1 -executable -type f -exec mv --target-directory="$out/bin" {} \;
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Full-featured MP4 format and MPEG DASH library and tools";
+    homepage = http://bento4.com;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ makefu ];
+    broken = stdenv.isAarch64;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index af8fded2d4e6..4803ccedee3a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1684,6 +1684,8 @@ with pkgs;
     pythonPackages = python3Packages;
   };
 
+  bento4 = callPackage ../tools/video/bento4 { };
+
   bepasty = callPackage ../tools/misc/bepasty { };
 
   bettercap = callPackage ../tools/security/bettercap { };
@@ -2075,7 +2077,7 @@ with pkgs;
     zlibSupport = true;
     sslSupport = zlibSupport;
     scpSupport = zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin;
-    gssSupport = true;
+    gssSupport = !stdenv.hostPlatform.isWindows;
   };
 
   curl = callPackage ../tools/networking/curl rec {
@@ -2084,7 +2086,7 @@ with pkgs;
     zlibSupport = true;
     sslSupport = zlibSupport;
     scpSupport = zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin;
-    gssSupport = true;
+    gssSupport = !stdenv.hostPlatform.isWindows;
   };
 
   curl_unix_socket = callPackage ../tools/networking/curl-unix-socket rec { };
@@ -6833,7 +6835,7 @@ with pkgs;
 
   cabal-install = haskell.lib.justStaticExecutables haskellPackages.cabal-install;
 
-  stack = haskell.lib.justStaticExecutables haskellPackages.stack;
+  stack = haskell.lib.justStaticExecutables haskell.packages.ghc861.stack;
   hlint = haskell.lib.justStaticExecutables haskellPackages.hlint;
 
   all-cabal-hashes = callPackage ../data/misc/hackage { };
@@ -8276,7 +8278,7 @@ with pkgs;
   cpplint = callPackage ../development/tools/analysis/cpplint { };
 
   cquery = callPackage ../development/tools/misc/cquery {
-    llvmPackages = llvmPackages_6;
+    llvmPackages = llvmPackages_7;
   };
 
   creduce = callPackage ../development/tools/misc/creduce {
@@ -13771,21 +13773,19 @@ with pkgs;
     inherit (darwin.apple_sdk.libs) Xplugin;
   };
 
-  xorg = recurseIntoAttrs (lib.callPackagesWith pkgs ../servers/x11/xorg {
-    inherit clangStdenv fetchurl fetchgit fetchpatch stdenv intltool freetype fontconfig
-      libxslt expat libpng zlib perl mesa_drivers spice-protocol libunwind
-      dbus libuuid openssl gperf m4 libevdev tradcpp libinput mcpp makeWrapper autoreconfHook
-      autoconf automake libtool mtdev pixman libGL libGLU
-      cairo epoxy;
-    inherit (buildPackages) pkgconfig xmlto asciidoc flex bison;
-    inherit (darwin) apple_sdk cf-private libobjc;
+  # Use `lib.callPackageWith __splicedPackages` rather than plain `callPackage`
+  # so as not to have the newly bound xorg items already in scope,  which would
+  # have created a cycle.
+  xorg = recurseIntoAttrs ((lib.callPackageWith __splicedPackages ../servers/x11/xorg {
+  }).overrideScope' (lib.callPackageWith __splicedPackages ../servers/x11/xorg/overrides.nix {
+    inherit (darwin) apple_sdk;
     bootstrap_cmds = if stdenv.isDarwin then darwin.bootstrap_cmds else null;
     python = python2; # Incompatible with Python 3x
     udev = if stdenv.isLinux then udev else null;
     libdrm = if stdenv.isLinux then libdrm else null;
     abiCompat = config.xorg.abiCompat # `config` because we have no `xorg.override`
       or (if stdenv.isDarwin then "1.18" else null); # 1.19 needs fixing on Darwin
-  } // { inherit xlibsWrapper; } );
+  }) // { inherit xlibsWrapper; } );
 
   xwayland = callPackage ../servers/x11/xorg/xwayland.nix { };
 
@@ -17001,7 +17001,7 @@ with pkgs;
 
   googleearth = callPackage ../applications/misc/googleearth { };
 
-  google-chrome = callPackage ../applications/networking/browsers/google-chrome { gconf = gnome2.GConf; patchelf = patchelfUnstable; };
+  google-chrome = callPackage ../applications/networking/browsers/google-chrome { gconf = gnome2.GConf; };
 
   google-chrome-beta = google-chrome.override { chromium = chromiumBeta; channel = "beta"; };
 
@@ -18588,6 +18588,8 @@ with pkgs;
 
   rclone = callPackage ../applications/networking/sync/rclone { };
 
+  rclone-browser = libsForQt5.callPackage ../applications/networking/sync/rclone/browser.nix { };
+  
   rcs = callPackage ../applications/version-management/rcs { };
 
   rdesktop = callPackage ../applications/networking/remote/rdesktop { };
@@ -19487,6 +19489,7 @@ with pkgs;
   winswitch = callPackage ../tools/X11/winswitch { };
 
   wings = callPackage ../applications/graphics/wings {
+    esdl = esdl.override { erlang = erlangR18; };
     erlang = erlangR18;
   };
 
@@ -22347,7 +22350,7 @@ with pkgs;
   unity3d = callPackage ../development/tools/unity3d {
     stdenv = stdenv_32bit;
     gcc_32bit = pkgsi686Linux.gcc;
-    inherit (gnome2) GConf libgnomeui gnome_vfs;
+    inherit (gnome2) GConf;
   };
 
   urbit = callPackage ../misc/urbit { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 56fa061f8a5b..6c495cdabdee 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -2390,7 +2390,7 @@ in {
 
   google_cloud_speech = callPackage ../development/python-modules/google_cloud_speech { };
 
-  gpgme = toPythonModule (pkgs.gpgme.override { withPython=true; });
+  gpgme = toPythonModule (pkgs.gpgme.override { pythonSupport=true; });
 
   gphoto2 = callPackage ../development/python-modules/gphoto2 {
     inherit (pkgs) pkgconfig;
@@ -3173,24 +3173,7 @@ in {
 
   bottleneck = callPackage ../development/python-modules/bottleneck { };
 
-  paho-mqtt = buildPythonPackage rec {
-    name = "paho-mqtt-${version}";
-    version = "1.1";
-
-    disabled = isPyPy;
-
-    src = pkgs.fetchurl {
-        url = "mirror://pypi/p/paho-mqtt/${name}.tar.gz";
-        sha256 = "07i6k9mw66kgbvjgsrcsd2sjji9ckym50dcxnmhjqfkfzsg64yhg";
-    };
-
-    meta = {
-      homepage = "https://eclipse.org/paho/";
-      description = "mqtt library for machine to machine and internet of things";
-      license = licenses.epl10;
-      maintainers = with maintainers; [ mog ];
-    };
-  };
+  paho-mqtt = callPackage ../development/python-modules/paho-mqtt { };
 
   pamqp = buildPythonPackage rec {
     version = "1.6.1";
diff --git a/pkgs/top-level/splice.nix b/pkgs/top-level/splice.nix
index 82a781083e2c..ec6ed357c688 100644
--- a/pkgs/top-level/splice.nix
+++ b/pkgs/top-level/splice.nix
@@ -112,7 +112,9 @@ let
     inherit (pkgs.stdenv) buildPlatform targetPlatform hostPlatform;
   };
 
-  splicedPackagesWithXorg = splicedPackages // splicedPackages.xorg;
+  splicedPackagesWithXorg = splicedPackages // builtins.removeAttrs splicedPackages.xorg [
+    "callPackage" "newScope" "overrideScope" "packages"
+  ];
 
 in