summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/editors/uberwriter/default.nix54
-rw-r--r--pkgs/applications/graphics/avocode/default.nix4
-rw-r--r--pkgs/applications/graphics/gthumb/default.nix4
-rw-r--r--pkgs/applications/graphics/sxiv/default.nix14
-rw-r--r--pkgs/applications/misc/calibre/default.nix86
-rw-r--r--pkgs/applications/misc/cbatticon/default.nix4
-rw-r--r--pkgs/applications/misc/ikiwiki/default.nix13
-rw-r--r--pkgs/applications/misc/ikiwiki/remove-markdown-tests.patch37
-rw-r--r--pkgs/applications/misc/notejot/default.nix4
-rw-r--r--pkgs/applications/misc/xmrig/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/captive-browser/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix4
-rw-r--r--pkgs/applications/networking/gns3/default.nix15
-rw-r--r--pkgs/applications/networking/gns3/gui.nix29
-rw-r--r--pkgs/applications/networking/gns3/server.nix28
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix91
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix138
-rw-r--r--pkgs/applications/office/skanlite/default.nix6
-rw-r--r--pkgs/applications/office/wpsoffice/default.nix12
-rw-r--r--pkgs/applications/radio/svxlink/default.nix71
-rw-r--r--pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--pkgs/applications/window-managers/way-cooler/bar.diff37
-rw-r--r--pkgs/applications/window-managers/way-cooler/crates-io.nix3004
-rw-r--r--pkgs/applications/window-managers/way-cooler/default.nix113
-rw-r--r--pkgs/applications/window-managers/way-cooler/way-cooler.nix314
-rw-r--r--pkgs/applications/window-managers/way-cooler/wc-bg.nix1372
-rw-r--r--pkgs/applications/window-managers/way-cooler/wc-grab.nix794
-rw-r--r--pkgs/applications/window-managers/way-cooler/wc-lock.nix1479
-rw-r--r--pkgs/applications/window-managers/way-cooler/wlc.nix39
-rw-r--r--pkgs/build-support/docker-slim/default.nix67
-rw-r--r--pkgs/data/misc/hackage/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-session/default.nix11
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-terminal/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard/default.nix4
-rw-r--r--pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix8
-rw-r--r--pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix4
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix4
-rw-r--r--pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex6
-rw-r--r--pkgs/development/compilers/bs-platform/build-bs-platform.nix5
-rw-r--r--pkgs/development/compilers/dotnet/buildDotnet.nix67
-rw-r--r--pkgs/development/compilers/dotnet/combinePackages.nix20
-rw-r--r--pkgs/development/compilers/dotnet/default.nix40
-rw-r--r--pkgs/development/compilers/dotnet/sdk/default.nix54
-rw-r--r--pkgs/development/compilers/ghc/8.8.2.nix6
-rw-r--r--pkgs/development/compilers/purescript/purescript/default.nix8
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix17
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix1
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml53
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix148
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix1838
-rw-r--r--pkgs/development/haskell-modules/make-package-set.nix82
-rw-r--r--pkgs/development/libraries/libevdevplus/default.nix2
-rw-r--r--pkgs/development/python-modules/pypandoc/default.nix34
-rw-r--r--pkgs/development/python-modules/sysv_ipc/default.nix22
-rw-r--r--pkgs/development/tools/dive/default.nix6
-rw-r--r--pkgs/development/tools/misc/clojure-lsp/default.nix4
-rw-r--r--pkgs/development/tools/purescript/spago/spago.nix6
-rw-r--r--pkgs/development/tools/pypi2nix/default.nix4
-rw-r--r--pkgs/development/tools/rust/cargo-make/Cargo.lock199
-rw-r--r--pkgs/development/tools/rust/cargo-make/default.nix6
-rw-r--r--pkgs/development/tools/wabt/default.nix20
-rw-r--r--pkgs/development/tools/wabt/version.patch28
-rw-r--r--pkgs/games/quakespasm/vulkan.nix4
-rw-r--r--pkgs/os-specific/linux/firejail/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.4.nix4
-rw-r--r--pkgs/servers/mautrix-whatsapp/default.nix6
-rw-r--r--pkgs/servers/sql/postgresql/ext/timescaledb.nix4
-rw-r--r--pkgs/servers/zoneminder/default.nix4
-rw-r--r--pkgs/shells/fish/default.nix10
-rw-r--r--pkgs/test/default.nix2
-rw-r--r--pkgs/test/haskell-shellFor/default.nix24
-rw-r--r--pkgs/tools/X11/xcape/default.nix2
-rw-r--r--pkgs/tools/compression/zopfli/default.nix17
-rw-r--r--pkgs/tools/filesystems/ceph/default.nix4
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/blivet.nix2
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/default.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix6
-rw-r--r--pkgs/tools/misc/mcfly/default.nix5
-rw-r--r--pkgs/tools/misc/wakatime/default.nix4
-rw-r--r--pkgs/tools/misc/yle-dl/default.nix4
-rw-r--r--pkgs/tools/networking/bandwhich/default.nix4
-rw-r--r--pkgs/tools/networking/nebula/default.nix6
-rw-r--r--pkgs/tools/networking/wavemon/default.nix4
-rw-r--r--pkgs/tools/package-management/packagekit/default.nix9
-rw-r--r--pkgs/tools/package-management/rpm/default.nix5
-rw-r--r--pkgs/tools/security/rage/default.nix24
-rw-r--r--pkgs/top-level/all-packages.nix23
-rw-r--r--pkgs/top-level/python-packages.nix2
-rw-r--r--pkgs/top-level/release.nix2
91 files changed, 2792 insertions, 7963 deletions
diff --git a/pkgs/applications/editors/uberwriter/default.nix b/pkgs/applications/editors/uberwriter/default.nix
new file mode 100644
index 00000000000..ac3fb920da0
--- /dev/null
+++ b/pkgs/applications/editors/uberwriter/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, fetchFromGitHub, meson, ninja, cmake
+, wrapGAppsHook, pkgconfig, desktop-file-utils
+, appstream-glib, pythonPackages, glib, gobject-introspection
+, gtk3, webkitgtk, glib-networking, gnome3, gspell, texlive
+, haskellPackages}:
+
+let
+  pythonEnv = pythonPackages.python.withPackages(p: with p;
+    [ regex setuptools python-Levenshtein pyenchant pygobject3 pycairo pypandoc ]);
+  texliveDist = texlive.combined.scheme-medium;
+
+in stdenv.mkDerivation rec {
+  pname = "uberwriter";
+  version = "unstable-2019-11-29";
+
+  src = fetchFromGitHub {
+    owner  = pname;
+    repo   = pname;
+    rev    = "7606a55389f8516d9fed7927fa50ff8822ee9e38";
+    sha256 = "0ky001vs9nfvqf05h4q7fl0n8vsgim59z22i66a8sw6bqipv62sg";
+  };
+
+  nativeBuildInputs = [ meson ninja cmake pkgconfig desktop-file-utils
+    appstream-glib wrapGAppsHook ];
+
+  buildInputs = [ glib pythonEnv gobject-introspection gtk3
+    gnome3.adwaita-icon-theme webkitgtk gspell texliveDist
+    glib-networking ];
+
+  postPatch = ''
+    patchShebangs --build build-aux/meson_post_install.py
+
+    substituteInPlace uberwriter/config.py --replace "/usr/share/uberwriter" "$out/share/uberwriter"
+
+    # get rid of unused distributed dependencies
+    rm -r uberwriter/{pylocales,pressagio}
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix PYTHONPATH : "$out/lib/python${pythonEnv.pythonVersion}/site-packages/"
+      --prefix PATH : "${texliveDist}/bin"
+      --prefix PATH : "${haskellPackages.pandoc-citeproc}/bin"
+    )
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://uberwriter.github.io/uberwriter/;
+    description = "A distraction free Markdown editor for GNU/Linux";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.sternenseemann ];
+  };
+}
diff --git a/pkgs/applications/graphics/avocode/default.nix b/pkgs/applications/graphics/avocode/default.nix
index 3595908f143..f15804038e7 100644
--- a/pkgs/applications/graphics/avocode/default.nix
+++ b/pkgs/applications/graphics/avocode/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "avocode";
-  version = "4.2.1";
+  version = "4.2.2";
 
   src = fetchurl {
     url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
-    sha256 = "06g12gqri1sgfklla6jfpi7wm2qjazakcjs2w2rhrphnl50r6ca7";
+    sha256 = "0f4cmai2d1x7wbqllxp9na6gxgqfxqav8n4g9azyvm6ymd8zjnx8";
   };
 
   libPath = stdenv.lib.makeLibraryPath (with xorg; [
diff --git a/pkgs/applications/graphics/gthumb/default.nix b/pkgs/applications/graphics/gthumb/default.nix
index f0057f3a1a8..b51db1e945f 100644
--- a/pkgs/applications/graphics/gthumb/default.nix
+++ b/pkgs/applications/graphics/gthumb/default.nix
@@ -33,11 +33,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gthumb";
-  version = "3.8.2";
+  version = "3.8.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q";
+    sha256 = "1a0gss9cjcwayrcpkam5kc1giwbfy38jgqxvh33in9gfq9dgrygg";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/sxiv/default.nix b/pkgs/applications/graphics/sxiv/default.nix
index 99c151f8c80..f5429958328 100644
--- a/pkgs/applications/graphics/sxiv/default.nix
+++ b/pkgs/applications/graphics/sxiv/default.nix
@@ -4,28 +4,24 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "sxiv";
-  version = "25";
+  version = "26";
 
   src = fetchFromGitHub {
     owner = "muennich";
     repo = pname;
     rev = "v${version}";
-    sha256 = "13s1lfar142hq1j7xld0ri616p4bqs57b17yr4d0b9a9w7liz4hp";
+    sha256 = "0xaawlfdy7b277m38mgg4423kd7p1ffn0dq4hciqs6ivbb3q9c4f";
   };
 
-  postUnpack = ''
-    substituteInPlace $sourceRoot/Makefile \
-      --replace /usr/local $out
-  '';
-
   configFile = optionalString (conf!=null) (builtins.toFile "config.def.h" conf);
   preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h";
 
   buildInputs = [ libXft imlib2 giflib libexif ];
 
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
   postInstall = ''
-    mkdir -p $out/share/applications/
-    cp -v sxiv.desktop $out/share/applications/
+    install -Dt $out/share/applications sxiv.desktop
   '';
 
   meta = {
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 9701db3c0b7..fd86f21dff0 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -1,7 +1,27 @@
-{ lib, mkDerivation, fetchurl, poppler_utils, pkgconfig, libpng
-, imagemagick, libjpeg, fontconfig, podofo, qtbase, qmake, icu, sqlite
-, unrarSupport ? false, chmlib, python2Packages, libusb1, libmtp
-, xdg_utils, makeDesktopItem, removeReferencesTo
+{ lib
+, mkDerivation
+, fetchurl
+, poppler_utils
+, pkgconfig
+, libpng
+, imagemagick
+, libjpeg
+, fontconfig
+, podofo
+, qtbase
+, qmake
+, icu
+, sqlite
+, hunspell
+, hyphen
+, unrarSupport ? false
+, chmlib
+, python2Packages
+, libusb1
+, libmtp
+, xdg_utils
+, makeDesktopItem
+, removeReferencesTo
 }:
 
 let
@@ -10,11 +30,11 @@ let
 in
 mkDerivation rec {
   pname = "calibre";
-  version = "3.48.0";
+  version = "4.8.0";
 
   src = fetchurl {
     url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz";
-    sha256 = "034m89h7j2088p324i1kya33dfldmqyynjxk3w98xiqkz7q2hi82";
+    sha256 = "1lk44qh3hzqhpz2b00iik7cgjg4xm36qjh2pxflkjnbk691gbpqk";
   };
 
   patches = [
@@ -44,17 +64,49 @@ mkDerivation rec {
   CALIBRE_PY3_PORT = builtins.toString pypkgs.isPy3k;
 
   buildInputs = [
-    poppler_utils libpng imagemagick libjpeg
-    fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils
-  ] ++ (with pypkgs; [
-    apsw cssselect css-parser dateutil dnspython feedparser html5-parser lxml markdown netifaces pillow
-    python pyqt5_with_qtwebkit sip
-    regex msgpack beautifulsoup4 html2text
-    # the following are distributed with calibre, but we use upstream instead
-    odfpy
-  ]) ++ lib.optionals (!pypkgs.isPy3k) (with pypkgs; [
-    mechanize
-  ]);
+    poppler_utils
+    libpng
+    imagemagick
+    libjpeg
+    fontconfig
+    podofo
+    qtbase
+    chmlib
+    icu
+    hunspell
+    hyphen
+    sqlite
+    libusb1
+    libmtp
+    xdg_utils
+  ] ++ (
+    with pypkgs; [
+      apsw
+      cssselect
+      css-parser
+      dateutil
+      dnspython
+      feedparser
+      html5-parser
+      lxml
+      markdown
+      netifaces
+      pillow
+      python
+      pyqt5_with_qtwebkit
+      sip
+      regex
+      msgpack
+      beautifulsoup4
+      html2text
+      # the following are distributed with calibre, but we use upstream instead
+      odfpy
+    ]
+  ) ++ lib.optionals (!pypkgs.isPy3k) (
+    with pypkgs; [
+      mechanize
+    ]
+  );
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/applications/misc/cbatticon/default.nix b/pkgs/applications/misc/cbatticon/default.nix
index d6680c61eb9..ac2948c2d6e 100644
--- a/pkgs/applications/misc/cbatticon/default.nix
+++ b/pkgs/applications/misc/cbatticon/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pkgconfig, gettext, glib, gtk3, libnotify }:
+{ stdenv, fetchFromGitHub, pkgconfig, gettext, glib, gtk3, libnotify, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "cbatticon";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0ivm2dzhsa9ir25ry418r2qg2llby9j7a6m3arbvq5c3kaj8m9jr";
   };
 
-  nativeBuildInputs = [ pkgconfig gettext ];
+  nativeBuildInputs = [ pkgconfig gettext wrapGAppsHook ];
 
   buildInputs =  [ glib gtk3 libnotify ];
 
diff --git a/pkgs/applications/misc/ikiwiki/default.nix b/pkgs/applications/misc/ikiwiki/default.nix
index 957f0f7f68b..8b908f1f9cf 100644
--- a/pkgs/applications/misc/ikiwiki/default.nix
+++ b/pkgs/applications/misc/ikiwiki/default.nix
@@ -19,7 +19,7 @@ assert mercurialSupport -> (mercurial != null);
 
 let
   name = "ikiwiki";
-  version = "3.20170111";
+  version = "3.20190228";
 
   lib = stdenv.lib;
 in
@@ -27,8 +27,8 @@ stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
-    url = "mirror://debian/pool/main/i/ikiwiki/${name}_${version}.tar.xz";
-    sha256 = "00d7yzv426fvqbhvzyafddv7fa6b4j2647b0wi371wd5yjj9j3sz";
+    url = "mirror://debian/pool/main/i/ikiwiki/${name}_${version}.orig.tar.xz";
+    sha256 = "17pyblaqhkb61lxl63bzndiffism8k859p54k3k4sghclq6lsynh";
   };
 
   buildInputs = [ which ]
@@ -44,7 +44,11 @@ stdenv.mkDerivation {
     ++ lib.optionals subversionSupport [subversion]
     ++ lib.optionals mercurialSupport [mercurial];
 
-  patchPhase = ''
+  # A few markdown tests fail, but this is expected when using Text::Markdown
+  # instead of Text::Markdown::Discount.
+  patches = [ ./remove-markdown-tests.patch ];
+
+  postPatch = ''
     sed -i s@/usr/bin/perl@${perlPackages.perl}/bin/perl@ pm_filter mdwn2man
     sed -i s@/etc/ikiwiki@$out/etc@ Makefile.PL
     sed -i /ENV{PATH}/d ikiwiki.in
@@ -83,6 +87,5 @@ stdenv.mkDerivation {
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.peti ];
-    broken = true; # https://ikiwiki.info/bugs/imagemagick_6.9.8_test_suite_failure/
   };
 }
diff --git a/pkgs/applications/misc/ikiwiki/remove-markdown-tests.patch b/pkgs/applications/misc/ikiwiki/remove-markdown-tests.patch
new file mode 100644
index 00000000000..c981857a248
--- /dev/null
+++ b/pkgs/applications/misc/ikiwiki/remove-markdown-tests.patch
@@ -0,0 +1,37 @@
+diff --git a/t/mdwn.t b/t/mdwn.t
+index ca3180139..d64750403 100755
+--- a/t/mdwn.t
++++ b/t/mdwn.t
+@@ -16,32 +16,17 @@ is(IkiWiki::htmlize("foo", "foo", "mdwn",
+ 	"C. S. Lewis wrote books\n"),
+ 	"<p>C. S. Lewis wrote books</p>\n", "alphalist off by default");
+ 
+-$config{mdwn_alpha_lists} = 1;
+-like(IkiWiki::htmlize("foo", "foo", "mdwn",
+-	"A. One\n".
+-	"B. Two\n"),
+-	qr{<ol\W}, "alphalist can be enabled");
+-
+ $config{mdwn_alpha_lists} = 0;
+ like(IkiWiki::htmlize("foo", "foo", "mdwn",
+ 	"A. One\n".
+ 	"B. Two\n"),
+ 	qr{<p>A. One\sB. Two</p>\n}, "alphalist can be disabled");
+ 
+-like(IkiWiki::htmlize("foo", "foo", "mdwn",
+-	"This works[^1]\n\n[^1]: Sometimes it doesn't.\n"),
+-	qr{<p>This works<sup\W}, "footnotes on by default");
+-
+ $config{mdwn_footnotes} = 0;
+ like(IkiWiki::htmlize("foo", "foo", "mdwn",
+ 	"An unusual link label: [^1]\n\n[^1]: http://example.com/\n"),
+ 	qr{<a href="http://example\.com/">\^1</a>}, "footnotes can be disabled");
+ 
+-$config{mdwn_footnotes} = 1;
+-like(IkiWiki::htmlize("foo", "foo", "mdwn",
+-	"This works[^1]\n\n[^1]: Sometimes it doesn't.\n"),
+-	qr{<p>This works<sup\W}, "footnotes can be enabled");
+-
+ SKIP: {
+ 	skip 'set $IKIWIKI_TEST_ASSUME_MODERN_DISCOUNT if you have Discount 2.2.0+', 4
+ 		unless $ENV{IKIWIKI_TEST_ASSUME_MODERN_DISCOUNT};
diff --git a/pkgs/applications/misc/notejot/default.nix b/pkgs/applications/misc/notejot/default.nix
index b91f8018c57..1c02441474c 100644
--- a/pkgs/applications/misc/notejot/default.nix
+++ b/pkgs/applications/misc/notejot/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "notejot";
-  version = "1.5.8";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "lainsce";
     repo = pname;
     rev = version;
-    sha256 = "1v7f4xy5iwdjyf4416qpiwzifi68n466faia1hxzsq18fb1ri0af";
+    sha256 = "1b65m9gvq8ziqqgnw3vgjpjb1qw7bww40ngd3gardsjg9lcwpxaf";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/xmrig/default.nix b/pkgs/applications/misc/xmrig/default.nix
index b1bf98704c5..2f4c7828134 100644
--- a/pkgs/applications/misc/xmrig/default.nix
+++ b/pkgs/applications/misc/xmrig/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xmrig";
-  version = "5.4.0";
+  version = "5.5.1";
 
   src = fetchFromGitHub {
     owner = "xmrig";
     repo = "xmrig";
     rev = "v${version}";
-    sha256 = "1rwnlhzhasfa2iklrp897c0z7nvav2bz2z6nk41fvwwd3bsay2sf";
+    sha256 = "0b9wfv56s5696q493hid2ikaa0ycgkx35pyyvxsdrcf94rbxyd1x";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/networking/browsers/captive-browser/default.nix b/pkgs/applications/networking/browsers/captive-browser/default.nix
index e7bec997119..88bd32da8f1 100644
--- a/pkgs/applications/networking/browsers/captive-browser/default.nix
+++ b/pkgs/applications/networking/browsers/captive-browser/default.nix
@@ -16,7 +16,7 @@ buildGoPackage rec {
     description = "Dedicated Chrome instance to log into captive portals without messing with DNS settings";
     homepage = https://blog.filippo.io/captive-browser;
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.all;
     maintainers = with maintainers; [ volth ];
   };
 }
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index 3784ff6b00f..6825d2af64f 100644
--- a/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -17,11 +17,11 @@ let
   vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
 in stdenv.mkDerivation rec {
   pname = "vivaldi";
-  version = "2.10.1745.26-1";
+  version = "2.10.1745.27-1";
 
   src = fetchurl {
     url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
-    sha256 = "0zl5sqa60x9yg7acp6vxgnmfzz27v849mlpp1wgnwh019fx3wf53";
+    sha256 = "1z9biiycxcxyw7i1lqhvk8092hqvidaipkfdvkz632vxcg33jz4q";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/networking/gns3/default.nix b/pkgs/applications/networking/gns3/default.nix
index 71044bd0f18..2dae8377055 100644
--- a/pkgs/applications/networking/gns3/default.nix
+++ b/pkgs/applications/networking/gns3/default.nix
@@ -7,8 +7,19 @@ let
     let version = if args.stable then stableVersion else previewVersion;
         branch = if args.stable then "stable" else "preview";
     in args // { inherit version branch; };
-  mkGui = args: callPackage (import ./gui.nix (addVersion args)) { };
-  mkServer = args: callPackage (import ./server.nix (addVersion args)) { };
+  extraArgs = {
+    mkOverride = attrname: version: sha256:
+      self: super: {
+        ${attrname} = super.${attrname}.overridePythonAttrs (oldAttrs: {
+          inherit version;
+          src = oldAttrs.src.override {
+            inherit version sha256;
+          };
+        });
+      };
+  };
+  mkGui = args: callPackage (import ./gui.nix (addVersion args // extraArgs)) { };
+  mkServer = args: callPackage (import ./server.nix (addVersion args // extraArgs)) { };
   guiSrcHash = "1yxwbz93x9hn5y6dir8v7bdfsmfgppvjg4z88l8gx82hhf2476fx";
   serverSrcHash = "1d3m8qrz82g8ii6q6j015wqwp6j0415fbqbjvw43zhdx5mnn962d";
 in {
diff --git a/pkgs/applications/networking/gns3/gui.nix b/pkgs/applications/networking/gns3/gui.nix
index d978b060aab..2d462d5c11d 100644
--- a/pkgs/applications/networking/gns3/gui.nix
+++ b/pkgs/applications/networking/gns3/gui.nix
@@ -1,25 +1,18 @@
-{ stable, branch, version, sha256Hash }:
+{ stable, branch, version, sha256Hash, mkOverride }:
 
-{ stdenv, python3, fetchFromGitHub }:
+{ lib, stdenv, python3, fetchFromGitHub }:
 
 let
+  # TODO: This package requires qt5Full to launch
+  defaultOverrides = [
+    (mkOverride "psutil" "5.6.3"
+      "1wv31zly44qj0rp2acg58xbnc7bf6ffyadasq093l455q30qafl6")
+    (mkOverride "jsonschema" "2.6.0"
+      "00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg")
+  ];
+
   python = python3.override {
-    packageOverrides = self: super: {
-      psutil = super.psutil.overridePythonAttrs (oldAttrs: rec {
-        version = "5.6.3";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "1wv31zly44qj0rp2acg58xbnc7bf6ffyadasq093l455q30qafl6";
-        };
-      });
-      jsonschema = super.jsonschema.overridePythonAttrs (oldAttrs: rec {
-        version = "2.6.0";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg";
-        };
-      });
-    };
+    packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) defaultOverrides;
   };
 in python.pkgs.buildPythonPackage rec {
   name = "${pname}-${version}";
diff --git a/pkgs/applications/networking/gns3/server.nix b/pkgs/applications/networking/gns3/server.nix
index d6c6b65846c..beeac9d0293 100644
--- a/pkgs/applications/networking/gns3/server.nix
+++ b/pkgs/applications/networking/gns3/server.nix
@@ -1,25 +1,17 @@
-{ stable, branch, version, sha256Hash }:
+{ stable, branch, version, sha256Hash, mkOverride }:
 
-{ stdenv, python3, fetchFromGitHub }:
+{ lib, stdenv, python3, fetchFromGitHub }:
 
 let
+  defaultOverrides = [
+    (mkOverride "psutil" "5.6.3"
+      "1wv31zly44qj0rp2acg58xbnc7bf6ffyadasq093l455q30qafl6")
+    (mkOverride "jsonschema" "2.6.0"
+      "00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg")
+  ];
+
   python = python3.override {
-    packageOverrides = self: super: {
-      psutil = super.psutil.overridePythonAttrs (oldAttrs: rec {
-        version = "5.6.3";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "1wv31zly44qj0rp2acg58xbnc7bf6ffyadasq093l455q30qafl6";
-        };
-      });
-      jsonschema = super.jsonschema.overridePythonAttrs (oldAttrs: rec {
-        version = "2.6.0";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg";
-        };
-      });
-    };
+    packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) defaultOverrides;
   };
 in python.pkgs.buildPythonPackage {
   pname = "gns3-server";
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index a17bf226fc9..bc41b023627 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -2,7 +2,8 @@
 , gnome2, gtk3, atk, at-spi2-atk, cairo, pango, gdk-pixbuf, glib, freetype, fontconfig
 , dbus, libX11, xorg, libXi, libXcursor, libXdamage, libXrandr, libXcomposite
 , libXext, libXfixes, libXrender, libXtst, libXScrnSaver, nss, nspr, alsaLib
-, cups, expat, udev, libnotify, libuuid, at-spi2-core, libappindicator-gtk3
+, cups, expat, systemd, libnotify, libuuid, at-spi2-core, libappindicator-gtk3
+, autoPatchelfHook
 # Unfortunately this also overwrites the UI language (not just the spell
 # checking language!):
 , hunspellDicts, spellcheckerLanguage ? null # E.g. "de_DE"
@@ -21,11 +22,32 @@ let
         --set HUNSPELL_DICTIONARIES "${hunspellDicts.${hunspellDict}}/share/hunspell" \
         --set LC_MESSAGES "${spellcheckerLanguage}"''
       else "");
-  rpath = lib.makeLibraryPath [
+in stdenv.mkDerivation rec {
+  pname = "signal-desktop";
+  version = "1.29.6"; # Please backport all updates to the stable channel.
+  # All releases have a limited lifetime and "expire" 90 days after the release.
+  # When releases "expire" the application becomes unusable until an update is
+  # applied. The expiration date for the current release can be extracted with:
+  # $ grep -a "^{\"buildExpiration" "${signal-desktop}/lib/Signal/resources/app.asar"
+  # (Alternatively we could try to patch the asar archive, but that requires a
+  # few additional steps and might not be the best idea.)
+
+  src = fetchurl {
+    url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
+    sha256 = "1s1rc4kyv0nxz5fy5ia7fflphf3izk80ks71q4wd67k1g9lvcw24";
+  };
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    dpkg
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
     alsaLib
-    atk
     at-spi2-atk
     at-spi2-core
+    atk
     cairo
     cups
     dbus
@@ -36,10 +58,6 @@ let
     glib
     gnome2.GConf
     gtk3
-    pango
-    libappindicator-gtk3
-    libnotify
-    libuuid
     libX11
     libXScrnSaver
     libXcomposite
@@ -51,55 +69,42 @@ let
     libXrandr
     libXrender
     libXtst
+    libappindicator-gtk3
+    libnotify
+    libuuid
     nspr
     nss
-    udev
+    pango
+    systemd
     xorg.libxcb
   ];
 
-in stdenv.mkDerivation rec {
-  pname = "signal-desktop";
-  version = "1.29.6"; # Please backport all updates to the stable channel.
-  # All releases have a limited lifetime and "expire" 90 days after the release.
-  # When releases "expire" the application becomes unusable until an update is
-  # applied. The expiration date for the current release can be extracted with:
-  # $ grep -a "^{\"buildExpiration" "${signal-desktop}/libexec/resources/app.asar"
-  # (Alternatively we could try to patch the asar archive, but that requires a
-  # few additional steps and might not be the best idea.)
-
-  src = fetchurl {
-    url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-    sha256 = "1s1rc4kyv0nxz5fy5ia7fflphf3izk80ks71q4wd67k1g9lvcw24";
-  };
-
-  phases = [ "unpackPhase" "installPhase" ];
-
-  nativeBuildInputs = [ dpkg wrapGAppsHook ];
+  runtimeDependencies = [
+    systemd.lib
+  ];
 
   unpackPhase = "dpkg-deb -x $src .";
 
-  installPhase = ''
-    mkdir -p $out
-    cp -R opt $out
-
-    mv ./usr/share $out/share
-    mv $out/opt/Signal $out/libexec
-    rmdir $out/opt
+  dontBuild = true;
+  dontConfigure = true;
+  dontPatchELF = true;
 
-    chmod -R g-w $out
+  installPhase = ''
+    mkdir -p $out/lib
 
-    # Patch signal
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-             --set-rpath ${rpath}:$out/libexec $out/libexec/signal-desktop
-    wrapProgram $out/libexec/signal-desktop \
-      --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
-      --prefix LD_LIBRARY_PATH : "${stdenv.cc.cc.lib}/lib" \
-      ${customLanguageWrapperArgs} \
-      "''${gappsWrapperArgs[@]}"
+    mv usr/share $out/share
+    mv opt/Signal $out/lib
 
     # Symlink to bin
     mkdir -p $out/bin
-    ln -s $out/libexec/signal-desktop $out/bin/signal-desktop
+    ln -s $out/lib/Signal/signal-desktop $out/bin/signal-desktop
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ] }"
+      ${customLanguageWrapperArgs}
+    )
 
     # Fix the desktop link
     substituteInPlace $out/share/applications/signal-desktop.desktop \
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index e57ff881af3..bec2f750526 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -1,79 +1,74 @@
-{ mkDerivation, lib, fetchFromGitHub, fetchsvn, fetchpatch
-, pkgconfig, pythonPackages, cmake, wrapGAppsHook, wrapQtAppsHook, gcc9
-, qtbase, qtimageformats, gtk3, libappindicator-gtk3, libnotify, xdg_utils
+{ mkDerivation, lib, fetchurl, fetchsvn
+, pkgconfig, cmake, ninja, python3, wrapGAppsHook, wrapQtAppsHook
+, qtbase, qtimageformats, gtk3, libappindicator-gtk3, enchant2, lz4, xxHash
 , dee, ffmpeg_4, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3
+# TODO: Shouldn't be required:
+, pcre, xorg, utillinux, libselinux, libsepol, epoxy, at-spi2-core, libXtst
+, xdg_utils
 }:
 
 with lib;
 
+# Main reference:
+# - This package is based on the Arch package:
+#   https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/telegram-desktop
+# Other references that could be useful (but we should try to stick to Arch):
+# - https://git.alpinelinux.org/aports/tree/testing/telegram-desktop/APKBUILD
+# - https://github.com/void-linux/void-packages/blob/master/srcpkgs/telegram-desktop/template
+
 mkDerivation rec {
   pname = "telegram-desktop";
-  version = "1.8.15";
+  version = "1.9.3";
   # Note: Due to our strong dependency on the Arch patches it's probably best
   # to also wait for the Arch update (especially if the patches don't apply).
 
   # Telegram-Desktop with submodules
-  src = fetchFromGitHub {
-    owner = "telegramdesktop";
-    repo = "tdesktop";
-    rev = "v${version}";
-    sha256 = "03173y2nlkf757llgpia8p2dkkwsjra7b6qm5nhmkcwcm8kmsvyy";
-    fetchSubmodules = true;
+  src = fetchurl {
+    url = "https://github.com/telegramdesktop/tdesktop/releases/download/v${version}/tdesktop-${version}-full.tar.gz";
+    sha256 = "1fx7v7j7iw4iywdbl89c5f1y74via61a0k20zrgjv5a0j4v6g76a";
   };
 
   # Arch patches (svn export telegram-desktop/trunk)
   archPatches = fetchsvn {
     url = "svn://svn.archlinux.org/community/telegram-desktop/trunk";
     # svn log svn://svn.archlinux.org/community/telegram-desktop/trunk
-    rev = "512849";
-    sha256 = "1hl7znvv6qr4cwpkj8wlplpa63i1lhk2iax7hb4l1s1a4mijx9ls";
-  };
-  privateHeadersPatch = fetchpatch {
-    url = "https://github.com/telegramdesktop/tdesktop/commit/b9d3ba621eb8af638af46c6b3cfd7a8330bf0dd5.patch";
-    sha256 = "1s5xvcp9dk0jfywssk8xfcsh7bk5xxif8xqnba0413lfx5rgvs5v";
+    rev = "549803";
+    sha256 = "1py2a25wgpvx0n4kz383fj0jav1qdm8wqx5bdaygg6296r294czj";
   };
 
   # Note: It would be best if someone could get as many patches upstream as
   # possible (we currently depend a lot on custom patches...).
   patches = [
-    "${archPatches}/tdesktop.patch"
-    "${archPatches}/no-gtk2.patch"
-    "${archPatches}/Revert-Disable-DemiBold-fallback-for-Semibold.patch"
-    "${archPatches}/tdesktop_lottie_animation_qtdebug.patch"
-    # "${archPatches}/Revert-Change-some-private-header-includes.patch"
-    # "${archPatches}/Use-system-wide-font.patch"
+    "${archPatches}/0001-Dynamic-linking-system-libs.patch"
+    "${archPatches}/0002-Dynamic-linking-system-qt.patch"
+    "${archPatches}/0004-gtk3.patch"
+    "${archPatches}/0005-Use-system-wide-fonts.patch"
+    "${archPatches}/0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch"
   ];
 
   postPatch = ''
     substituteInPlace Telegram/SourceFiles/platform/linux/linux_libs.cpp \
       --replace '"appindicator3"' '"${libappindicator-gtk3}/lib/libappindicator3.so"'
-    substituteInPlace Telegram/SourceFiles/platform/linux/linux_libnotify.cpp \
-      --replace '"notify"' '"${libnotify}/lib/libnotify.so"'
+    substituteInPlace cmake/external/ranges/CMakeLists.txt \
+      --replace "/usr/include" "${range-v3}/include"
   '';
 
   # We want to run wrapProgram manually (with additional parameters)
   dontWrapGApps = true;
   dontWrapQtApps = true;
 
-  nativeBuildInputs = [ pkgconfig pythonPackages.gyp cmake wrapGAppsHook wrapQtAppsHook gcc9 ];
+  nativeBuildInputs = [ pkgconfig cmake ninja python3 wrapGAppsHook wrapQtAppsHook ];
 
   buildInputs = [
-    qtbase qtimageformats gtk3 libappindicator-gtk3
+    qtbase qtimageformats gtk3 libappindicator-gtk3 enchant2 lz4 xxHash
     dee ffmpeg_4 openalSoft minizip libopus alsaLib libpulseaudio range-v3
+    # TODO: Shouldn't be required:
+    pcre xorg.libpthreadstubs xorg.libXdmcp utillinux libselinux libsepol epoxy at-spi2-core libXtst
   ];
 
   enableParallelBuilding = true;
 
-  GYP_DEFINES = concatStringsSep "," [
-    "TDESKTOP_DISABLE_CRASH_REPORTS"
-    "TDESKTOP_DISABLE_AUTOUPDATE"
-    "TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME"
-  ];
-
   NIX_CFLAGS_COMPILE = [
-    "-DTDESKTOP_DISABLE_CRASH_REPORTS"
-    "-DTDESKTOP_DISABLE_AUTOUPDATE"
-    "-DTDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME"
     "-I${minizip}/include/minizip"
     # See Telegram/gyp/qt.gypi
     "-I${getDev qtbase}/mkspecs/linux-g++"
@@ -87,64 +82,29 @@ mkDerivation rec {
     ]) [ "QtCore" "QtGui" "QtDBus" ];
   CPPFLAGS = NIX_CFLAGS_COMPILE;
 
-  preConfigure = ''
-    # Patches to revert:
-    patch -R -Np1 -i "${privateHeadersPatch}"
-
-    # Patches to apply:
-    pushd "Telegram/ThirdParty/libtgvoip"
-    patch -Np1 -i "${archPatches}/libtgvoip.patch"
-    popd
-
-    # disable static-qt for rlottie
-    sed "/RLOTTIE_WITH_STATIC_QT/d" -i "Telegram/gyp/lib_rlottie.gyp"
-
-    sed -i Telegram/gyp/telegram/linux.gypi \
-      -e 's,/usr,/does-not-exist,g' \
-      -e 's,appindicator-0.1,appindicator3-0.1,g' \
-      -e 's,-flto,,g'
-
-    sed -i Telegram/gyp/modules/qt.gypi \
-      -e "s,/usr/include/qt/QtCore/,${qtbase.dev}/include/QtCore/,g" \
-      -e 's,\d+",\d+" | head -n1,g'
-    sed -i Telegram/gyp/modules/qt_moc.gypi \
-      -e "s,/usr/bin/moc,moc,g"
-    sed -i Telegram/gyp/modules/qt_rcc.gypi \
-      -e "s,/usr/bin/rcc,rcc,g"
-
-    # Build system assumes x86, but it works fine on non-x86 if we patch this one flag out
-    sed -i Telegram/ThirdParty/libtgvoip/libtgvoip.gyp \
-      -e "/-msse2/d"
-
-    gyp \
-      -Dapi_id=17349 \
-      -Dapi_hash=344583e45741c457fe1862106095a5eb \
-      -Dbuild_defines=${GYP_DEFINES} \
-      -Gconfig=Release \
-      --depth=Telegram/gyp \
-      --generator-output=../.. \
-      -Goutput_dir=out \
-      --format=cmake \
-      Telegram/gyp/Telegram.gyp
-
-    cd out/Release
-
-    NUM=$((`wc -l < CMakeLists.txt` - 2))
-    sed -i "$NUM r $archPatches/CMakeLists.inj" CMakeLists.txt
-
-    export ASM=$(type -p gcc)
-  '';
-
-  cmakeFlags = [ "-UTDESKTOP_OFFICIAL_TARGET" ];
+  cmakeFlags = [
+    #"-DTDESKTOP_API_TEST=ON" # TODO: Officiall API credentials for Nixpkgs
+    "-DTDESKTOP_API_ID=17349" # See: https://github.com/NixOS/nixpkgs/issues/55271
+    "-DTDESKTOP_API_HASH=344583e45741c457fe1862106095a5eb"
+    "-DDESKTOP_APP_USE_GLIBC_WRAPS=OFF"
+    "-DDESKTOP_APP_USE_SYSTEM_LIBS=ON"
+    "-DDESKTOP_APP_DISABLE_CRASH_REPORTS=ON"
+    "-Ddisable_autoupdate=ON"
+    "-DTDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME=ON"
+    "-DTDESKTOP_DISABLE_DESKTOP_FILE_GENERATION=ON"
+    #"-DDESKTOP_APP_SPECIAL_TARGET=\"\"" # TODO: Error when set to "": Bad special target '""'
+  ];
 
   installPhase = ''
-    install -Dm755 Telegram $out/bin/telegram-desktop
+    install -Dm755 bin/Telegram $out/bin/telegram-desktop
+
+    mkdir -p $out/share/{kservices5,applications,metainfo}
+    sed "s,/usr/bin,$out/bin,g" "../lib/xdg/tg.protocol" > "$out/share/kservices5/tg.protocol"
+    install -m444 "../lib/xdg/telegramdesktop.desktop" "$out/share/applications/telegram-desktop.desktop"
+    install -m644 "../lib/xdg/telegramdesktop.appdata.xml" "$out/share/metainfo/telegramdesktop.metainfo.xml"
 
-    mkdir -p $out/share/applications $out/share/kde4/services
-    install -m444 "$src/lib/xdg/telegramdesktop.desktop" "$out/share/applications/telegram-desktop.desktop"
-    sed "s,/usr/bin,$out/bin,g" $archPatches/tg.protocol > $out/share/kde4/services/tg.protocol
     for icon_size in 16 32 48 64 128 256 512; do
-      install -Dm644 "../../../Telegram/Resources/art/icon''${icon_size}.png" "$out/share/icons/hicolor/''${icon_size}x''${icon_size}/apps/telegram.png"
+      install -Dm644 "../Telegram/Resources/art/icon''${icon_size}.png" "$out/share/icons/hicolor/''${icon_size}x''${icon_size}/apps/telegram.png"
     done
   '';
 
diff --git a/pkgs/applications/office/skanlite/default.nix b/pkgs/applications/office/skanlite/default.nix
index 416c86397f8..d4c1df75709 100644
--- a/pkgs/applications/office/skanlite/default.nix
+++ b/pkgs/applications/office/skanlite/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, cmake, extra-cmake-modules, qtbase,
+{ stdenv, mkDerivation, fetchurl, cmake, extra-cmake-modules, qtbase,
   kcoreaddons, kdoctools, ki18n, kio, kxmlgui, ktextwidgets,
   libksane
 }:
 
 let
   minorVersion = "2.0";
-in stdenv.mkDerivation rec {
+in mkDerivation rec {
   name = "skanlite-2.0.1";
 
   src = fetchurl {
@@ -21,8 +21,6 @@ in stdenv.mkDerivation rec {
     libksane
   ];
 
-  enableParallelBuilding = true;
-
   meta = with stdenv.lib; {
     description = "KDE simple image scanning application";
     homepage    = http://www.kde.org/applications/graphics/skanlite/;
diff --git a/pkgs/applications/office/wpsoffice/default.nix b/pkgs/applications/office/wpsoffice/default.nix
index abc2d1862cb..7032632da88 100644
--- a/pkgs/applications/office/wpsoffice/default.nix
+++ b/pkgs/applications/office/wpsoffice/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec{
   pname = "wpsoffice";
-  version = "11.1.0.8865";
+  version = "11.1.0.9080";
 
   src = fetchurl {
-    url = "http://wdl1.pcfg.cache.wpscdn.com/wpsdl/wpsoffice/download/linux/8865/wps-office_11.1.0.8865_amd64.deb";
-    sha256 = "1hfpj1ayhzlrnnp72yjzrpd60xsbj9y46m345lqysiaj1hnwdbd8";
+    url = "http://wdl1.pcfg.cache.wpscdn.com/wpsdl/wpsoffice/download/linux/9080/wps-office_11.1.0.9080.XA_amd64.deb";
+    sha256 = "1731e9aea22ef4e558ad66b1373d863452b4f570aecf09d448ae28a821333454";
   };
   unpackCmd = "dpkg -x $src .";
   sourceRoot = ".";
@@ -75,24 +75,20 @@ stdenv.mkDerivation rec{
     mkdir -p $out
     cp -r opt $out
     cp -r usr/* $out
-
     # Avoid forbidden reference error due use of patchelf
     rm -r *
-
     for i in wps wpp et wpspdf; do
       patchelf \
         --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
         --force-rpath --set-rpath "$(patchelf --print-rpath $prefix/office6/$i):${stdenv.cc.cc.lib}/lib64:${libPath}" \
         $prefix/office6/$i
-
       substituteInPlace $out/bin/$i \
         --replace /opt/kingsoft/wps-office $prefix
     done
-
     for i in $out/share/applications/*;do
       substituteInPlace $i \
         --replace /usr/bin $out/bin \
         --replace /opt/kingsoft/wps-office $prefix
     done
   '';
-}
+}
\ No newline at end of file
diff --git a/pkgs/applications/radio/svxlink/default.nix b/pkgs/applications/radio/svxlink/default.nix
new file mode 100644
index 00000000000..e06fcb5d3e6
--- /dev/null
+++ b/pkgs/applications/radio/svxlink/default.nix
@@ -0,0 +1,71 @@
+{ stdenv, cmake, pkgconfig, fetchFromGitHub, makeDesktopItem, alsaLib, speex
+, libopus, curl, gsm, libgcrypt, libsigcxx, popt, qtbase, qttools
+, wrapQtAppsHook, rtl-sdr, tcl, doxygen, groff }:
+
+let
+  desktopItem = makeDesktopItem rec {
+    name = "Qtel";
+    exec = "qtel";
+    icon = "qtel";
+    desktopName = name;
+    genericName = "EchoLink Client";
+    categories = "HamRadio;Qt;Network;";
+  };
+
+in stdenv.mkDerivation rec {
+  pname = "svxlink";
+  version = "19.09.1";
+
+  src = fetchFromGitHub {
+    owner = "sm0svx";
+    repo = pname;
+    rev = version;
+    sha256 = "0xmbac821w9kl7imlz0mra19mlhi0rlpbyyay26w1y7h98j4g4yp";
+  };
+
+  cmakeFlags = [
+    "-DDO_INSTALL_CHOWN=NO"
+    "-DRTLSDR_LIBRARIES=${rtl-sdr}/lib/librtlsdr.so"
+    "-DRTLSDR_INCLUDE_DIRS=${rtl-sdr}/include"
+    "../src"
+  ];
+  enableParallelBuilding = true;
+  dontWrapQtApps = true;
+
+  nativeBuildInputs = [ cmake pkgconfig doxygen groff wrapQtAppsHook ];
+
+  buildInputs = [
+    alsaLib
+    curl
+    gsm
+    libgcrypt
+    libsigcxx
+    libopus
+    popt
+    qtbase
+    qttools
+    rtl-sdr
+    speex
+    tcl
+  ];
+
+  postInstall = ''
+    rm -f $out/share/applications/*
+    cp -v ${desktopItem}/share/applications/* $out/share/applications
+    mv $out/share/icons/link.xpm $out/share/icons/qtel.xpm
+
+    wrapQtApp $out/bin/qtel
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Advanced repeater controller and EchoLink software";
+    longDescription = ''
+      Advanced repeater controller and EchoLink software for Linux including a
+      GUI, Qtel - The Qt EchoLink client
+    '';
+    homepage = "http://www.svxlink.org/";
+    license = with licenses; [ gpl2 ];
+    maintainers = with maintainers; [ zaninime ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index 4d5814548ff..2bd1f6434b7 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -8,13 +8,13 @@ with stdenv.lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.10.2";
+  version = "1.10.3";
 
   src = fetchFromGitHub {
     owner = "go-gitea";
     repo = "gitea";
     rev = "v${version}";
-    sha256 = "04ksalhpf47wzjfhx295kf4rbamxbb3s9946vfda358lm360adic";
+    sha256 = "04jg1b0d1fbhnk434dnffc2c118gs084za3m33lxwf5lxzlbbimc";
     # Required to generate the same checksum on MacOS due to unicode encoding differences
     # More information: https://github.com/NixOS/nixpkgs/pull/48128
     extraPostFetch = ''
diff --git a/pkgs/applications/window-managers/way-cooler/bar.diff b/pkgs/applications/window-managers/way-cooler/bar.diff
deleted file mode 100644
index e60ebabe983..00000000000
--- a/pkgs/applications/window-managers/way-cooler/bar.diff
+++ /dev/null
@@ -1,37 +0,0 @@
---- bar.py.txt.orig	2017-12-05 18:10:20.108569182 +0300
-+++ ./bar.py.txt	2017-12-10 21:42:10.622781945 +0300
-@@ -5,6 +5,7 @@ import datetime
- import json
- from time import sleep
- from pydbus import SessionBus
-+from glob import glob
- 
- BUS = SessionBus()
- LAYOUT = BUS.get(bus_name='org.way-cooler', object_path='/org/way_cooler/Layout')
-@@ -32,7 +33,7 @@ def main():
-             output += func()
-         print(output)
-         sys.stdout.flush()
--        sleep(.1)
-+        sleep(1)
- 
- def get_workspaces(layout_json):
-     """Gets the workspace names from the layout json"""
-@@ -49,9 +50,14 @@ def get_time():
-     return datetime.datetime.now().strftime('  %a %b %d  %H:%M  ')
- 
- def get_battery():
--    with open("/sys/class/power_supply/BAT0/capacity", "r") as f:
--        bat = f.readlines()
--    return bat[0].strip() + "% Battery"
-+    try:
-+        [path] = glob("/sys/class/power_supply/BAT?/capacity")
-+        with open(path, "r") as f:
-+            bat = f.readlines()
-+            result = bat[0].strip() + "% Battery"
-+    except Exception:
-+        result = ""
-+    return result
- 
- def format_workspaces(layout, workspaces, active_workspace):
-     workspaces = "  " + workspaces.replace(" ", "  ") + "  "
diff --git a/pkgs/applications/window-managers/way-cooler/crates-io.nix b/pkgs/applications/window-managers/way-cooler/crates-io.nix
deleted file mode 100644
index 01638c6332c..00000000000
--- a/pkgs/applications/window-managers/way-cooler/crates-io.nix
+++ /dev/null
@@ -1,3004 +0,0 @@
-{ lib, buildRustCrate, buildRustCrateHelpers }:
-with buildRustCrateHelpers;
-let inherit (lib.lists) fold;
-    inherit (lib.attrsets) recursiveUpdate;
-in
-rec {
-
-# aho-corasick-0.5.3
-
-  crates.aho_corasick."0.5.3" = deps: { features?(features_.aho_corasick."0.5.3" deps {}) }: buildRustCrate {
-    crateName = "aho-corasick";
-    version = "0.5.3";
-    description = "Fast multiple substring searching with finite state machines.";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-    sha256 = "1igab46mvgknga3sxkqc917yfff0wsjxjzabdigmh240p5qxqlnn";
-    libName = "aho_corasick";
-    crateBin =
-      [{  name = "aho-corasick-dot"; }];
-    dependencies = mapFeatures features ([
-      (crates."memchr"."${deps."aho_corasick"."0.5.3"."memchr"}" deps)
-    ]);
-  };
-  features_.aho_corasick."0.5.3" = deps: f: updateFeatures f ({
-    aho_corasick."0.5.3".default = (f.aho_corasick."0.5.3".default or true);
-    memchr."${deps.aho_corasick."0.5.3".memchr}".default = true;
-  }) [
-    (features_.memchr."${deps."aho_corasick"."0.5.3"."memchr"}" deps)
-  ];
-
-
-# end
-# bitflags-0.4.0
-
-  crates.bitflags."0.4.0" = deps: { features?(features_.bitflags."0.4.0" deps {}) }: buildRustCrate {
-    crateName = "bitflags";
-    version = "0.4.0";
-    description = "A macro to generate structures which behave like bitflags.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0an03kibhfcc0mcxf6a0mvbab0s7cggnvflw8jn0b15i351h828c";
-    features = mkFeatures (features."bitflags"."0.4.0" or {});
-  };
-  features_.bitflags."0.4.0" = deps: f: updateFeatures f ({
-    bitflags."0.4.0".default = (f.bitflags."0.4.0".default or true);
-  }) [];
-
-
-# end
-# bitflags-0.6.0
-
-  crates.bitflags."0.6.0" = deps: { features?(features_.bitflags."0.6.0" deps {}) }: buildRustCrate {
-    crateName = "bitflags";
-    version = "0.6.0";
-    description = "A macro to generate structures which behave like bitflags.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1znq4b770mdp3kdj9yz199ylc2pmf8l5j2f281jjrcfhg1mm22h6";
-  };
-  features_.bitflags."0.6.0" = deps: f: updateFeatures f ({
-    bitflags."0.6.0".default = (f.bitflags."0.6.0".default or true);
-  }) [];
-
-
-# end
-# bitflags-0.7.0
-
-  crates.bitflags."0.7.0" = deps: { features?(features_.bitflags."0.7.0" deps {}) }: buildRustCrate {
-    crateName = "bitflags";
-    version = "0.7.0";
-    description = "A macro to generate structures which behave like bitflags.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5";
-  };
-  features_.bitflags."0.7.0" = deps: f: updateFeatures f ({
-    bitflags."0.7.0".default = (f.bitflags."0.7.0".default or true);
-  }) [];
-
-
-# end
-# bitflags-0.9.1
-
-  crates.bitflags."0.9.1" = deps: { features?(features_.bitflags."0.9.1" deps {}) }: buildRustCrate {
-    crateName = "bitflags";
-    version = "0.9.1";
-    description = "A macro to generate structures which behave like bitflags.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "18h073l5jd88rx4qdr95fjddr9rk79pb1aqnshzdnw16cfmb9rws";
-    features = mkFeatures (features."bitflags"."0.9.1" or {});
-  };
-  features_.bitflags."0.9.1" = deps: f: updateFeatures f (rec {
-    bitflags = fold recursiveUpdate {} [
-      { "0.9.1"."example_generated" =
-        (f.bitflags."0.9.1"."example_generated" or false) ||
-        (f.bitflags."0.9.1".default or false) ||
-        (bitflags."0.9.1"."default" or false); }
-      { "0.9.1".default = (f.bitflags."0.9.1".default or true); }
-    ];
-  }) [];
-
-
-# end
-# bitflags-1.0.4
-
-  crates.bitflags."1.0.4" = deps: { features?(features_.bitflags."1.0.4" deps {}) }: buildRustCrate {
-    crateName = "bitflags";
-    version = "1.0.4";
-    description = "A macro to generate structures which behave like bitflags.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1g1wmz2001qmfrd37dnd5qiss5njrw26aywmg6yhkmkbyrhjxb08";
-    features = mkFeatures (features."bitflags"."1.0.4" or {});
-  };
-  features_.bitflags."1.0.4" = deps: f: updateFeatures f ({
-    bitflags."1.0.4".default = (f.bitflags."1.0.4".default or true);
-  }) [];
-
-
-# end
-# c_vec-1.2.1
-
-  crates.c_vec."1.2.1" = deps: { features?(features_.c_vec."1.2.1" deps {}) }: buildRustCrate {
-    crateName = "c_vec";
-    version = "1.2.1";
-    description = "Structures to wrap C arrays";
-    authors = [ "Guillaume Gomez <guillaume1.gomez@gmail.com>" ];
-    sha256 = "15gm72wx9kd0n51454i58rmpkmig8swghrj2440frxxi9kqg97xd";
-  };
-  features_.c_vec."1.2.1" = deps: f: updateFeatures f ({
-    c_vec."1.2.1".default = (f.c_vec."1.2.1".default or true);
-  }) [];
-
-
-# end
-# cairo-rs-0.2.0
-
-  crates.cairo_rs."0.2.0" = deps: { features?(features_.cairo_rs."0.2.0" deps {}) }: buildRustCrate {
-    crateName = "cairo-rs";
-    version = "0.2.0";
-    description = "Rust bindings for the Cairo library";
-    authors = [ "The Gtk-rs Project Developers" ];
-    sha256 = "0bcbhbyips15b7la4r43p4x57jv1w2ll8iwg9lxwvzz5k6c7iwvd";
-    libName = "cairo";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."c_vec"."${deps."cairo_rs"."0.2.0"."c_vec"}" deps)
-      (crates."cairo_sys_rs"."${deps."cairo_rs"."0.2.0"."cairo_sys_rs"}" deps)
-      (crates."libc"."${deps."cairo_rs"."0.2.0"."libc"}" deps)
-    ]
-      ++ (if features.cairo_rs."0.2.0".glib or false then [ (crates.glib."${deps."cairo_rs"."0.2.0".glib}" deps) ] else [])
-      ++ (if features.cairo_rs."0.2.0".glib-sys or false then [ (crates.glib_sys."${deps."cairo_rs"."0.2.0".glib_sys}" deps) ] else []))
-      ++ (if kernel == "windows" then mapFeatures features ([
-      (crates."winapi"."${deps."cairo_rs"."0.2.0"."winapi"}" deps)
-    ]) else []);
-
-    buildDependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."cairo_rs"."0.2.0" or {});
-  };
-  features_.cairo_rs."0.2.0" = deps: f: updateFeatures f (rec {
-    c_vec."${deps.cairo_rs."0.2.0".c_vec}".default = true;
-    cairo_rs = fold recursiveUpdate {} [
-      { "0.2.0"."glib" =
-        (f.cairo_rs."0.2.0"."glib" or false) ||
-        (f.cairo_rs."0.2.0".use_glib or false) ||
-        (cairo_rs."0.2.0"."use_glib" or false); }
-      { "0.2.0"."glib-sys" =
-        (f.cairo_rs."0.2.0"."glib-sys" or false) ||
-        (f.cairo_rs."0.2.0".use_glib or false) ||
-        (cairo_rs."0.2.0"."use_glib" or false); }
-      { "0.2.0"."gtk-rs-lgpl-docs" =
-        (f.cairo_rs."0.2.0"."gtk-rs-lgpl-docs" or false) ||
-        (f.cairo_rs."0.2.0".embed-lgpl-docs or false) ||
-        (cairo_rs."0.2.0"."embed-lgpl-docs" or false) ||
-        (f.cairo_rs."0.2.0".purge-lgpl-docs or false) ||
-        (cairo_rs."0.2.0"."purge-lgpl-docs" or false); }
-      { "0.2.0"."use_glib" =
-        (f.cairo_rs."0.2.0"."use_glib" or false) ||
-        (f.cairo_rs."0.2.0".default or false) ||
-        (cairo_rs."0.2.0"."default" or false); }
-      { "0.2.0".default = (f.cairo_rs."0.2.0".default or true); }
-    ];
-    cairo_sys_rs = fold recursiveUpdate {} [
-      { "${deps.cairo_rs."0.2.0".cairo_sys_rs}"."png" =
-        (f.cairo_sys_rs."${deps.cairo_rs."0.2.0".cairo_sys_rs}"."png" or false) ||
-        (cairo_rs."0.2.0"."png" or false) ||
-        (f."cairo_rs"."0.2.0"."png" or false); }
-      { "${deps.cairo_rs."0.2.0".cairo_sys_rs}"."v1_12" =
-        (f.cairo_sys_rs."${deps.cairo_rs."0.2.0".cairo_sys_rs}"."v1_12" or false) ||
-        (cairo_rs."0.2.0"."v1_12" or false) ||
-        (f."cairo_rs"."0.2.0"."v1_12" or false); }
-      { "${deps.cairo_rs."0.2.0".cairo_sys_rs}"."xcb" =
-        (f.cairo_sys_rs."${deps.cairo_rs."0.2.0".cairo_sys_rs}"."xcb" or false) ||
-        (cairo_rs."0.2.0"."xcb" or false) ||
-        (f."cairo_rs"."0.2.0"."xcb" or false); }
-      { "${deps.cairo_rs."0.2.0".cairo_sys_rs}".default = true; }
-    ];
-    glib."${deps.cairo_rs."0.2.0".glib}".default = true;
-    glib_sys."${deps.cairo_rs."0.2.0".glib_sys}".default = true;
-    libc."${deps.cairo_rs."0.2.0".libc}".default = true;
-    winapi."${deps.cairo_rs."0.2.0".winapi}".default = true;
-  }) [
-    (features_.c_vec."${deps."cairo_rs"."0.2.0"."c_vec"}" deps)
-    (features_.cairo_sys_rs."${deps."cairo_rs"."0.2.0"."cairo_sys_rs"}" deps)
-    (features_.glib."${deps."cairo_rs"."0.2.0"."glib"}" deps)
-    (features_.glib_sys."${deps."cairo_rs"."0.2.0"."glib_sys"}" deps)
-    (features_.libc."${deps."cairo_rs"."0.2.0"."libc"}" deps)
-    (features_.winapi."${deps."cairo_rs"."0.2.0"."winapi"}" deps)
-  ];
-
-
-# end
-# cairo-sys-rs-0.4.0
-
-  crates.cairo_sys_rs."0.4.0" = deps: { features?(features_.cairo_sys_rs."0.4.0" deps {}) }: buildRustCrate {
-    crateName = "cairo-sys-rs";
-    version = "0.4.0";
-    description = "FFI bindings to libcairo";
-    authors = [ "The Gtk-rs Project Developers" ];
-    sha256 = "062nxihlydci65pyy2ldn7djkc9sm7a5xvkl8pxrsxfxvfapm5br";
-    libName = "cairo_sys";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."libc"."${deps."cairo_sys_rs"."0.4.0"."libc"}" deps)
-    ])
-      ++ (if kernel == "windows" then mapFeatures features ([
-      (crates."winapi"."${deps."cairo_sys_rs"."0.4.0"."winapi"}" deps)
-    ]) else []);
-
-    buildDependencies = mapFeatures features ([
-      (crates."pkg_config"."${deps."cairo_sys_rs"."0.4.0"."pkg_config"}" deps)
-    ]);
-    features = mkFeatures (features."cairo_sys_rs"."0.4.0" or {});
-  };
-  features_.cairo_sys_rs."0.4.0" = deps: f: updateFeatures f (rec {
-    cairo_sys_rs = fold recursiveUpdate {} [
-      { "0.4.0"."v1_12" =
-        (f.cairo_sys_rs."0.4.0"."v1_12" or false) ||
-        (f.cairo_sys_rs."0.4.0".v1_14 or false) ||
-        (cairo_sys_rs."0.4.0"."v1_14" or false); }
-      { "0.4.0"."x11" =
-        (f.cairo_sys_rs."0.4.0"."x11" or false) ||
-        (f.cairo_sys_rs."0.4.0".xlib or false) ||
-        (cairo_sys_rs."0.4.0"."xlib" or false); }
-      { "0.4.0".default = (f.cairo_sys_rs."0.4.0".default or true); }
-    ];
-    libc."${deps.cairo_sys_rs."0.4.0".libc}".default = true;
-    pkg_config."${deps.cairo_sys_rs."0.4.0".pkg_config}".default = true;
-    winapi."${deps.cairo_sys_rs."0.4.0".winapi}".default = true;
-  }) [
-    (features_.libc."${deps."cairo_sys_rs"."0.4.0"."libc"}" deps)
-    (features_.pkg_config."${deps."cairo_sys_rs"."0.4.0"."pkg_config"}" deps)
-    (features_.winapi."${deps."cairo_sys_rs"."0.4.0"."winapi"}" deps)
-  ];
-
-
-# end
-# cc-1.0.25
-
-  crates.cc."1.0.25" = deps: { features?(features_.cc."1.0.25" deps {}) }: buildRustCrate {
-    crateName = "cc";
-    version = "1.0.25";
-    description = "A build-time dependency for Cargo build scripts to assist in invoking the native\nC compiler to compile native C code into a static archive to be linked into Rust\ncode.\n";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0pd8fhjlpr5qan984frkf1c8nxrqp6827wmmfzhm2840229z2hq0";
-    dependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."cc"."1.0.25" or {});
-  };
-  features_.cc."1.0.25" = deps: f: updateFeatures f (rec {
-    cc = fold recursiveUpdate {} [
-      { "1.0.25"."rayon" =
-        (f.cc."1.0.25"."rayon" or false) ||
-        (f.cc."1.0.25".parallel or false) ||
-        (cc."1.0.25"."parallel" or false); }
-      { "1.0.25".default = (f.cc."1.0.25".default or true); }
-    ];
-  }) [];
-
-
-# end
-# cfg-if-0.1.6
-
-  crates.cfg_if."0.1.6" = deps: { features?(features_.cfg_if."0.1.6" deps {}) }: buildRustCrate {
-    crateName = "cfg-if";
-    version = "0.1.6";
-    description = "A macro to ergonomically define an item depending on a large number of #[cfg]\nparameters. Structured like an if-else chain, the first matching branch is the\nitem that gets emitted.\n";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "11qrix06wagkplyk908i3423ps9m9np6c4vbcq81s9fyl244xv3n";
-  };
-  features_.cfg_if."0.1.6" = deps: f: updateFeatures f ({
-    cfg_if."0.1.6".default = (f.cfg_if."0.1.6".default or true);
-  }) [];
-
-
-# end
-# cloudabi-0.0.3
-
-  crates.cloudabi."0.0.3" = deps: { features?(features_.cloudabi."0.0.3" deps {}) }: buildRustCrate {
-    crateName = "cloudabi";
-    version = "0.0.3";
-    description = "Low level interface to CloudABI. Contains all syscalls and related types.";
-    authors = [ "Nuxi (https://nuxi.nl/) and contributors" ];
-    sha256 = "1z9lby5sr6vslfd14d6igk03s7awf91mxpsfmsp3prxbxlk0x7h5";
-    libPath = "cloudabi.rs";
-    dependencies = mapFeatures features ([
-    ]
-      ++ (if features.cloudabi."0.0.3".bitflags or false then [ (crates.bitflags."${deps."cloudabi"."0.0.3".bitflags}" deps) ] else []));
-    features = mkFeatures (features."cloudabi"."0.0.3" or {});
-  };
-  features_.cloudabi."0.0.3" = deps: f: updateFeatures f (rec {
-    bitflags."${deps.cloudabi."0.0.3".bitflags}".default = true;
-    cloudabi = fold recursiveUpdate {} [
-      { "0.0.3"."bitflags" =
-        (f.cloudabi."0.0.3"."bitflags" or false) ||
-        (f.cloudabi."0.0.3".default or false) ||
-        (cloudabi."0.0.3"."default" or false); }
-      { "0.0.3".default = (f.cloudabi."0.0.3".default or true); }
-    ];
-  }) [
-    (features_.bitflags."${deps."cloudabi"."0.0.3"."bitflags"}" deps)
-  ];
-
-
-# end
-# dbus-0.4.1
-
-  crates.dbus."0.4.1" = deps: { features?(features_.dbus."0.4.1" deps {}) }: buildRustCrate {
-    crateName = "dbus";
-    version = "0.4.1";
-    description = "Bindings to D-Bus, which is a bus commonly used on Linux for inter-process communication.";
-    authors = [ "David Henningsson <diwic@ubuntu.com>" ];
-    sha256 = "0qw32qj2rys318h780klxlznkwg93dfimbn8mc34m4940l8v00g9";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."libc"."${deps."dbus"."0.4.1"."libc"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-      (crates."pkg_config"."${deps."dbus"."0.4.1"."pkg_config"}" deps)
-    ]);
-  };
-  features_.dbus."0.4.1" = deps: f: updateFeatures f ({
-    dbus."0.4.1".default = (f.dbus."0.4.1".default or true);
-    libc."${deps.dbus."0.4.1".libc}".default = true;
-    pkg_config."${deps.dbus."0.4.1".pkg_config}".default = true;
-  }) [
-    (features_.libc."${deps."dbus"."0.4.1"."libc"}" deps)
-    (features_.pkg_config."${deps."dbus"."0.4.1"."pkg_config"}" deps)
-  ];
-
-
-# end
-# dbus-macros-0.0.6
-
-  crates.dbus_macros."0.0.6" = deps: { features?(features_.dbus_macros."0.0.6" deps {}) }: buildRustCrate {
-    crateName = "dbus-macros";
-    version = "0.0.6";
-    description = "Convenient macros to use the dbus crate";
-    authors = [ "Antoni Boucher <bouanto@zoho.com>" ];
-    sha256 = "1nymk2hzzgyafyr5nfa4r4frx4hml3wlwgzfr9b69vmcvn3d2jyd";
-    dependencies = mapFeatures features ([
-      (crates."dbus"."${deps."dbus_macros"."0.0.6"."dbus"}" deps)
-    ]);
-  };
-  features_.dbus_macros."0.0.6" = deps: f: updateFeatures f ({
-    dbus."${deps.dbus_macros."0.0.6".dbus}".default = true;
-    dbus_macros."0.0.6".default = (f.dbus_macros."0.0.6".default or true);
-  }) [
-    (features_.dbus."${deps."dbus_macros"."0.0.6"."dbus"}" deps)
-  ];
-
-
-# end
-# dlib-0.3.1
-
-  crates.dlib."0.3.1" = deps: { features?(features_.dlib."0.3.1" deps {}) }: buildRustCrate {
-    crateName = "dlib";
-    version = "0.3.1";
-    description = "Helper macros for handling manually loading optionnal system libraries.";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "11mhh6g9vszp2ay3r46x4capnnmvvhx5hcp74bapxjhiixqjfvkr";
-    dependencies = mapFeatures features ([
-      (crates."libloading"."${deps."dlib"."0.3.1"."libloading"}" deps)
-    ]);
-    features = mkFeatures (features."dlib"."0.3.1" or {});
-  };
-  features_.dlib."0.3.1" = deps: f: updateFeatures f ({
-    dlib."0.3.1".default = (f.dlib."0.3.1".default or true);
-    libloading."${deps.dlib."0.3.1".libloading}".default = true;
-  }) [
-    (features_.libloading."${deps."dlib"."0.3.1"."libloading"}" deps)
-  ];
-
-
-# end
-# dlib-0.4.1
-
-  crates.dlib."0.4.1" = deps: { features?(features_.dlib."0.4.1" deps {}) }: buildRustCrate {
-    crateName = "dlib";
-    version = "0.4.1";
-    description = "Helper macros for handling manually loading optional system libraries.";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "0h5xm6lanbl6v9y16g592bia33g7xb0n0fg98pvz6nsvg0layxlk";
-    dependencies = mapFeatures features ([
-      (crates."libloading"."${deps."dlib"."0.4.1"."libloading"}" deps)
-    ]);
-    features = mkFeatures (features."dlib"."0.4.1" or {});
-  };
-  features_.dlib."0.4.1" = deps: f: updateFeatures f ({
-    dlib."0.4.1".default = (f.dlib."0.4.1".default or true);
-    libloading."${deps.dlib."0.4.1".libloading}".default = true;
-  }) [
-    (features_.libloading."${deps."dlib"."0.4.1"."libloading"}" deps)
-  ];
-
-
-# end
-# dtoa-0.4.3
-
-  crates.dtoa."0.4.3" = deps: { features?(features_.dtoa."0.4.3" deps {}) }: buildRustCrate {
-    crateName = "dtoa";
-    version = "0.4.3";
-    description = "Fast functions for printing floating-point primitives to an io::Write";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "1xysdxdm24sk5ysim7lps4r2qaxfnj0sbakhmps4d42yssx30cw8";
-  };
-  features_.dtoa."0.4.3" = deps: f: updateFeatures f ({
-    dtoa."0.4.3".default = (f.dtoa."0.4.3".default or true);
-  }) [];
-
-
-# end
-# dummy-rustwlc-0.7.1
-
-  crates.dummy_rustwlc."0.7.1" = deps: { features?(features_.dummy_rustwlc."0.7.1" deps {}) }: buildRustCrate {
-    crateName = "dummy-rustwlc";
-    version = "0.7.1";
-    description = "A dummy version of the functions defined in rust-wlc, to be used in testing and for travis builds";
-    authors = [ "Snirk Immington <snirk.immington@gmail.com>" "Preston Carpenter <APragmaticPlace@gmail.com>" ];
-    sha256 = "13priwnxpjvmym6yh9v9x1230ca04cba7bzbnn21pbvqngis1y88";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."dummy_rustwlc"."0.7.1"."bitflags"}" deps)
-      (crates."libc"."${deps."dummy_rustwlc"."0.7.1"."libc"}" deps)
-      (crates."wayland_sys"."${deps."dummy_rustwlc"."0.7.1"."wayland_sys"}" deps)
-    ]);
-  };
-  features_.dummy_rustwlc."0.7.1" = deps: f: updateFeatures f ({
-    bitflags."${deps.dummy_rustwlc."0.7.1".bitflags}".default = true;
-    dummy_rustwlc."0.7.1".default = (f.dummy_rustwlc."0.7.1".default or true);
-    libc."${deps.dummy_rustwlc."0.7.1".libc}".default = true;
-    wayland_sys = fold recursiveUpdate {} [
-      { "${deps.dummy_rustwlc."0.7.1".wayland_sys}"."dlopen" = true; }
-      { "${deps.dummy_rustwlc."0.7.1".wayland_sys}"."server" = true; }
-      { "${deps.dummy_rustwlc."0.7.1".wayland_sys}".default = true; }
-    ];
-  }) [
-    (features_.bitflags."${deps."dummy_rustwlc"."0.7.1"."bitflags"}" deps)
-    (features_.libc."${deps."dummy_rustwlc"."0.7.1"."libc"}" deps)
-    (features_.wayland_sys."${deps."dummy_rustwlc"."0.7.1"."wayland_sys"}" deps)
-  ];
-
-
-# end
-# env_logger-0.3.5
-
-  crates.env_logger."0.3.5" = deps: { features?(features_.env_logger."0.3.5" deps {}) }: buildRustCrate {
-    crateName = "env_logger";
-    version = "0.3.5";
-    description = "An logging implementation for `log` which is configured via an environment\nvariable.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1mvxiaaqsyjliv1mm1qaagjqiccw11mdyi3n9h9rf8y6wj15zycw";
-    dependencies = mapFeatures features ([
-      (crates."log"."${deps."env_logger"."0.3.5"."log"}" deps)
-    ]
-      ++ (if features.env_logger."0.3.5".regex or false then [ (crates.regex."${deps."env_logger"."0.3.5".regex}" deps) ] else []));
-    features = mkFeatures (features."env_logger"."0.3.5" or {});
-  };
-  features_.env_logger."0.3.5" = deps: f: updateFeatures f (rec {
-    env_logger = fold recursiveUpdate {} [
-      { "0.3.5"."regex" =
-        (f.env_logger."0.3.5"."regex" or false) ||
-        (f.env_logger."0.3.5".default or false) ||
-        (env_logger."0.3.5"."default" or false); }
-      { "0.3.5".default = (f.env_logger."0.3.5".default or true); }
-    ];
-    log."${deps.env_logger."0.3.5".log}".default = true;
-    regex."${deps.env_logger."0.3.5".regex}".default = true;
-  }) [
-    (features_.log."${deps."env_logger"."0.3.5"."log"}" deps)
-    (features_.regex."${deps."env_logger"."0.3.5"."regex"}" deps)
-  ];
-
-
-# end
-# fixedbitset-0.1.9
-
-  crates.fixedbitset."0.1.9" = deps: { features?(features_.fixedbitset."0.1.9" deps {}) }: buildRustCrate {
-    crateName = "fixedbitset";
-    version = "0.1.9";
-    description = "FixedBitSet is a simple bitset collection";
-    authors = [ "bluss" ];
-    sha256 = "1bkb5aq7h9p4rzlgxagnda1f0dd11q0qz41bmdy11z18q1p8igy1";
-  };
-  features_.fixedbitset."0.1.9" = deps: f: updateFeatures f ({
-    fixedbitset."0.1.9".default = (f.fixedbitset."0.1.9".default or true);
-  }) [];
-
-
-# end
-# fuchsia-zircon-0.3.3
-
-  crates.fuchsia_zircon."0.3.3" = deps: { features?(features_.fuchsia_zircon."0.3.3" deps {}) }: buildRustCrate {
-    crateName = "fuchsia-zircon";
-    version = "0.3.3";
-    description = "Rust bindings for the Zircon kernel";
-    authors = [ "Raph Levien <raph@google.com>" ];
-    sha256 = "0jrf4shb1699r4la8z358vri8318w4mdi6qzfqy30p2ymjlca4gk";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."fuchsia_zircon"."0.3.3"."bitflags"}" deps)
-      (crates."fuchsia_zircon_sys"."${deps."fuchsia_zircon"."0.3.3"."fuchsia_zircon_sys"}" deps)
-    ]);
-  };
-  features_.fuchsia_zircon."0.3.3" = deps: f: updateFeatures f ({
-    bitflags."${deps.fuchsia_zircon."0.3.3".bitflags}".default = true;
-    fuchsia_zircon."0.3.3".default = (f.fuchsia_zircon."0.3.3".default or true);
-    fuchsia_zircon_sys."${deps.fuchsia_zircon."0.3.3".fuchsia_zircon_sys}".default = true;
-  }) [
-    (features_.bitflags."${deps."fuchsia_zircon"."0.3.3"."bitflags"}" deps)
-    (features_.fuchsia_zircon_sys."${deps."fuchsia_zircon"."0.3.3"."fuchsia_zircon_sys"}" deps)
-  ];
-
-
-# end
-# fuchsia-zircon-sys-0.3.3
-
-  crates.fuchsia_zircon_sys."0.3.3" = deps: { features?(features_.fuchsia_zircon_sys."0.3.3" deps {}) }: buildRustCrate {
-    crateName = "fuchsia-zircon-sys";
-    version = "0.3.3";
-    description = "Low-level Rust bindings for the Zircon kernel";
-    authors = [ "Raph Levien <raph@google.com>" ];
-    sha256 = "08jp1zxrm9jbrr6l26bjal4dbm8bxfy57ickdgibsqxr1n9j3hf5";
-  };
-  features_.fuchsia_zircon_sys."0.3.3" = deps: f: updateFeatures f ({
-    fuchsia_zircon_sys."0.3.3".default = (f.fuchsia_zircon_sys."0.3.3".default or true);
-  }) [];
-
-
-# end
-# gcc-0.3.55
-
-  crates.gcc."0.3.55" = deps: { features?(features_.gcc."0.3.55" deps {}) }: buildRustCrate {
-    crateName = "gcc";
-    version = "0.3.55";
-    description = "**Deprecated** crate, renamed to `cc`\n\nA build-time dependency for Cargo build scripts to assist in invoking the native\nC compiler to compile native C code into a static archive to be linked into Rust\ncode.\n";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "18qxv3hjdhp7pfcvbm2hvyicpgmk7xw8aii1l7fla8cxxbcrg2nz";
-    dependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."gcc"."0.3.55" or {});
-  };
-  features_.gcc."0.3.55" = deps: f: updateFeatures f (rec {
-    gcc = fold recursiveUpdate {} [
-      { "0.3.55"."rayon" =
-        (f.gcc."0.3.55"."rayon" or false) ||
-        (f.gcc."0.3.55".parallel or false) ||
-        (gcc."0.3.55"."parallel" or false); }
-      { "0.3.55".default = (f.gcc."0.3.55".default or true); }
-    ];
-  }) [];
-
-
-# end
-# gdk-pixbuf-0.2.0
-
-  crates.gdk_pixbuf."0.2.0" = deps: { features?(features_.gdk_pixbuf."0.2.0" deps {}) }: buildRustCrate {
-    crateName = "gdk-pixbuf";
-    version = "0.2.0";
-    description = "Rust bindings for the GdkPixbuf library";
-    authors = [ "The Gtk-rs Project Developers" ];
-    sha256 = "082z1s30haa59ax35wsv06mj8z8bhhq0fac36g01qa77kpiphj5y";
-    libName = "gdk_pixbuf";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."gdk_pixbuf_sys"."${deps."gdk_pixbuf"."0.2.0"."gdk_pixbuf_sys"}" deps)
-      (crates."glib"."${deps."gdk_pixbuf"."0.2.0"."glib"}" deps)
-      (crates."glib_sys"."${deps."gdk_pixbuf"."0.2.0"."glib_sys"}" deps)
-      (crates."gobject_sys"."${deps."gdk_pixbuf"."0.2.0"."gobject_sys"}" deps)
-      (crates."libc"."${deps."gdk_pixbuf"."0.2.0"."libc"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."gdk_pixbuf"."0.2.0" or {});
-  };
-  features_.gdk_pixbuf."0.2.0" = deps: f: updateFeatures f (rec {
-    gdk_pixbuf = fold recursiveUpdate {} [
-      { "0.2.0"."gtk-rs-lgpl-docs" =
-        (f.gdk_pixbuf."0.2.0"."gtk-rs-lgpl-docs" or false) ||
-        (f.gdk_pixbuf."0.2.0".embed-lgpl-docs or false) ||
-        (gdk_pixbuf."0.2.0"."embed-lgpl-docs" or false) ||
-        (f.gdk_pixbuf."0.2.0".purge-lgpl-docs or false) ||
-        (gdk_pixbuf."0.2.0"."purge-lgpl-docs" or false); }
-      { "0.2.0"."v2_28" =
-        (f.gdk_pixbuf."0.2.0"."v2_28" or false) ||
-        (f.gdk_pixbuf."0.2.0".v2_30 or false) ||
-        (gdk_pixbuf."0.2.0"."v2_30" or false); }
-      { "0.2.0"."v2_30" =
-        (f.gdk_pixbuf."0.2.0"."v2_30" or false) ||
-        (f.gdk_pixbuf."0.2.0".v2_32 or false) ||
-        (gdk_pixbuf."0.2.0"."v2_32" or false); }
-      { "0.2.0"."v2_32" =
-        (f.gdk_pixbuf."0.2.0"."v2_32" or false) ||
-        (f.gdk_pixbuf."0.2.0".v2_36 or false) ||
-        (gdk_pixbuf."0.2.0"."v2_36" or false); }
-      { "0.2.0".default = (f.gdk_pixbuf."0.2.0".default or true); }
-    ];
-    gdk_pixbuf_sys = fold recursiveUpdate {} [
-      { "${deps.gdk_pixbuf."0.2.0".gdk_pixbuf_sys}"."v2_28" =
-        (f.gdk_pixbuf_sys."${deps.gdk_pixbuf."0.2.0".gdk_pixbuf_sys}"."v2_28" or false) ||
-        (gdk_pixbuf."0.2.0"."v2_28" or false) ||
-        (f."gdk_pixbuf"."0.2.0"."v2_28" or false); }
-      { "${deps.gdk_pixbuf."0.2.0".gdk_pixbuf_sys}"."v2_30" =
-        (f.gdk_pixbuf_sys."${deps.gdk_pixbuf."0.2.0".gdk_pixbuf_sys}"."v2_30" or false) ||
-        (gdk_pixbuf."0.2.0"."v2_30" or false) ||
-        (f."gdk_pixbuf"."0.2.0"."v2_30" or false); }
-      { "${deps.gdk_pixbuf."0.2.0".gdk_pixbuf_sys}"."v2_32" =
-        (f.gdk_pixbuf_sys."${deps.gdk_pixbuf."0.2.0".gdk_pixbuf_sys}"."v2_32" or false) ||
-        (gdk_pixbuf."0.2.0"."v2_32" or false) ||
-        (f."gdk_pixbuf"."0.2.0"."v2_32" or false); }
-      { "${deps.gdk_pixbuf."0.2.0".gdk_pixbuf_sys}"."v2_36" =
-        (f.gdk_pixbuf_sys."${deps.gdk_pixbuf."0.2.0".gdk_pixbuf_sys}"."v2_36" or false) ||
-        (gdk_pixbuf."0.2.0"."v2_36" or false) ||
-        (f."gdk_pixbuf"."0.2.0"."v2_36" or false); }
-      { "${deps.gdk_pixbuf."0.2.0".gdk_pixbuf_sys}".default = true; }
-    ];
-    glib."${deps.gdk_pixbuf."0.2.0".glib}".default = true;
-    glib_sys."${deps.gdk_pixbuf."0.2.0".glib_sys}".default = true;
-    gobject_sys."${deps.gdk_pixbuf."0.2.0".gobject_sys}".default = true;
-    libc."${deps.gdk_pixbuf."0.2.0".libc}".default = true;
-  }) [
-    (features_.gdk_pixbuf_sys."${deps."gdk_pixbuf"."0.2.0"."gdk_pixbuf_sys"}" deps)
-    (features_.glib."${deps."gdk_pixbuf"."0.2.0"."glib"}" deps)
-    (features_.glib_sys."${deps."gdk_pixbuf"."0.2.0"."glib_sys"}" deps)
-    (features_.gobject_sys."${deps."gdk_pixbuf"."0.2.0"."gobject_sys"}" deps)
-    (features_.libc."${deps."gdk_pixbuf"."0.2.0"."libc"}" deps)
-  ];
-
-
-# end
-# gdk-pixbuf-sys-0.4.0
-
-  crates.gdk_pixbuf_sys."0.4.0" = deps: { features?(features_.gdk_pixbuf_sys."0.4.0" deps {}) }: buildRustCrate {
-    crateName = "gdk-pixbuf-sys";
-    version = "0.4.0";
-    description = "FFI bindings to libgdk_pixbuf-2.0";
-    authors = [ "The Gtk-rs Project Developers" ];
-    sha256 = "1r98zdqqik3hh1l10jmhhcjx59yk4m0bs9pc7hnkwp2p6gm968vp";
-    libName = "gdk_pixbuf_sys";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."gdk_pixbuf_sys"."0.4.0"."bitflags"}" deps)
-      (crates."gio_sys"."${deps."gdk_pixbuf_sys"."0.4.0"."gio_sys"}" deps)
-      (crates."glib_sys"."${deps."gdk_pixbuf_sys"."0.4.0"."glib_sys"}" deps)
-      (crates."gobject_sys"."${deps."gdk_pixbuf_sys"."0.4.0"."gobject_sys"}" deps)
-      (crates."libc"."${deps."gdk_pixbuf_sys"."0.4.0"."libc"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-      (crates."pkg_config"."${deps."gdk_pixbuf_sys"."0.4.0"."pkg_config"}" deps)
-    ]);
-    features = mkFeatures (features."gdk_pixbuf_sys"."0.4.0" or {});
-  };
-  features_.gdk_pixbuf_sys."0.4.0" = deps: f: updateFeatures f (rec {
-    bitflags."${deps.gdk_pixbuf_sys."0.4.0".bitflags}".default = true;
-    gdk_pixbuf_sys = fold recursiveUpdate {} [
-      { "0.4.0"."v2_28" =
-        (f.gdk_pixbuf_sys."0.4.0"."v2_28" or false) ||
-        (f.gdk_pixbuf_sys."0.4.0".v2_30 or false) ||
-        (gdk_pixbuf_sys."0.4.0"."v2_30" or false); }
-      { "0.4.0"."v2_30" =
-        (f.gdk_pixbuf_sys."0.4.0"."v2_30" or false) ||
-        (f.gdk_pixbuf_sys."0.4.0".v2_32 or false) ||
-        (gdk_pixbuf_sys."0.4.0"."v2_32" or false); }
-      { "0.4.0"."v2_32" =
-        (f.gdk_pixbuf_sys."0.4.0"."v2_32" or false) ||
-        (f.gdk_pixbuf_sys."0.4.0".v2_36 or false) ||
-        (gdk_pixbuf_sys."0.4.0"."v2_36" or false); }
-      { "0.4.0".default = (f.gdk_pixbuf_sys."0.4.0".default or true); }
-    ];
-    gio_sys."${deps.gdk_pixbuf_sys."0.4.0".gio_sys}".default = true;
-    glib_sys."${deps.gdk_pixbuf_sys."0.4.0".glib_sys}".default = true;
-    gobject_sys."${deps.gdk_pixbuf_sys."0.4.0".gobject_sys}".default = true;
-    libc."${deps.gdk_pixbuf_sys."0.4.0".libc}".default = true;
-    pkg_config."${deps.gdk_pixbuf_sys."0.4.0".pkg_config}".default = true;
-  }) [
-    (features_.bitflags."${deps."gdk_pixbuf_sys"."0.4.0"."bitflags"}" deps)
-    (features_.gio_sys."${deps."gdk_pixbuf_sys"."0.4.0"."gio_sys"}" deps)
-    (features_.glib_sys."${deps."gdk_pixbuf_sys"."0.4.0"."glib_sys"}" deps)
-    (features_.gobject_sys."${deps."gdk_pixbuf_sys"."0.4.0"."gobject_sys"}" deps)
-    (features_.libc."${deps."gdk_pixbuf_sys"."0.4.0"."libc"}" deps)
-    (features_.pkg_config."${deps."gdk_pixbuf_sys"."0.4.0"."pkg_config"}" deps)
-  ];
-
-
-# end
-# getopts-0.2.18
-
-  crates.getopts."0.2.18" = deps: { features?(features_.getopts."0.2.18" deps {}) }: buildRustCrate {
-    crateName = "getopts";
-    version = "0.2.18";
-    description = "getopts-like option parsing.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0c1m95wg8pkvdq4mwcd2v78r1lb6a5s3ljm7158dsl56mvzcwd5y";
-    dependencies = mapFeatures features ([
-      (crates."unicode_width"."${deps."getopts"."0.2.18"."unicode_width"}" deps)
-    ]);
-  };
-  features_.getopts."0.2.18" = deps: f: updateFeatures f ({
-    getopts."0.2.18".default = (f.getopts."0.2.18".default or true);
-    unicode_width."${deps.getopts."0.2.18".unicode_width}".default = true;
-  }) [
-    (features_.unicode_width."${deps."getopts"."0.2.18"."unicode_width"}" deps)
-  ];
-
-
-# end
-# gio-sys-0.4.0
-
-  crates.gio_sys."0.4.0" = deps: { features?(features_.gio_sys."0.4.0" deps {}) }: buildRustCrate {
-    crateName = "gio-sys";
-    version = "0.4.0";
-    description = "FFI bindings to libgio-2.0";
-    authors = [ "The Gtk-rs Project Developers" ];
-    sha256 = "064lv6h3qfgjzc6pbbxgln24b2fq9gxzh78z6d7fwfa97azllv2l";
-    libName = "gio_sys";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."gio_sys"."0.4.0"."bitflags"}" deps)
-      (crates."glib_sys"."${deps."gio_sys"."0.4.0"."glib_sys"}" deps)
-      (crates."gobject_sys"."${deps."gio_sys"."0.4.0"."gobject_sys"}" deps)
-      (crates."libc"."${deps."gio_sys"."0.4.0"."libc"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-      (crates."pkg_config"."${deps."gio_sys"."0.4.0"."pkg_config"}" deps)
-    ]);
-    features = mkFeatures (features."gio_sys"."0.4.0" or {});
-  };
-  features_.gio_sys."0.4.0" = deps: f: updateFeatures f (rec {
-    bitflags."${deps.gio_sys."0.4.0".bitflags}".default = true;
-    gio_sys = fold recursiveUpdate {} [
-      { "0.4.0"."v2_34" =
-        (f.gio_sys."0.4.0"."v2_34" or false) ||
-        (f.gio_sys."0.4.0".v2_36 or false) ||
-        (gio_sys."0.4.0"."v2_36" or false); }
-      { "0.4.0"."v2_36" =
-        (f.gio_sys."0.4.0"."v2_36" or false) ||
-        (f.gio_sys."0.4.0".v2_38 or false) ||
-        (gio_sys."0.4.0"."v2_38" or false); }
-      { "0.4.0"."v2_38" =
-        (f.gio_sys."0.4.0"."v2_38" or false) ||
-        (f.gio_sys."0.4.0".v2_40 or false) ||
-        (gio_sys."0.4.0"."v2_40" or false); }
-      { "0.4.0"."v2_40" =
-        (f.gio_sys."0.4.0"."v2_40" or false) ||
-        (f.gio_sys."0.4.0".v2_42 or false) ||
-        (gio_sys."0.4.0"."v2_42" or false); }
-      { "0.4.0"."v2_42" =
-        (f.gio_sys."0.4.0"."v2_42" or false) ||
-        (f.gio_sys."0.4.0".v2_44 or false) ||
-        (gio_sys."0.4.0"."v2_44" or false); }
-      { "0.4.0"."v2_44" =
-        (f.gio_sys."0.4.0"."v2_44" or false) ||
-        (f.gio_sys."0.4.0".v2_46 or false) ||
-        (gio_sys."0.4.0"."v2_46" or false); }
-      { "0.4.0"."v2_46" =
-        (f.gio_sys."0.4.0"."v2_46" or false) ||
-        (f.gio_sys."0.4.0".v2_48 or false) ||
-        (gio_sys."0.4.0"."v2_48" or false); }
-      { "0.4.0"."v2_48" =
-        (f.gio_sys."0.4.0"."v2_48" or false) ||
-        (f.gio_sys."0.4.0".v2_50 or false) ||
-        (gio_sys."0.4.0"."v2_50" or false); }
-      { "0.4.0".default = (f.gio_sys."0.4.0".default or true); }
-    ];
-    glib_sys."${deps.gio_sys."0.4.0".glib_sys}".default = true;
-    gobject_sys."${deps.gio_sys."0.4.0".gobject_sys}".default = true;
-    libc."${deps.gio_sys."0.4.0".libc}".default = true;
-    pkg_config."${deps.gio_sys."0.4.0".pkg_config}".default = true;
-  }) [
-    (features_.bitflags."${deps."gio_sys"."0.4.0"."bitflags"}" deps)
-    (features_.glib_sys."${deps."gio_sys"."0.4.0"."glib_sys"}" deps)
-    (features_.gobject_sys."${deps."gio_sys"."0.4.0"."gobject_sys"}" deps)
-    (features_.libc."${deps."gio_sys"."0.4.0"."libc"}" deps)
-    (features_.pkg_config."${deps."gio_sys"."0.4.0"."pkg_config"}" deps)
-  ];
-
-
-# end
-# glib-0.3.1
-
-  crates.glib."0.3.1" = deps: { features?(features_.glib."0.3.1" deps {}) }: buildRustCrate {
-    crateName = "glib";
-    version = "0.3.1";
-    description = "Rust bindings for the GLib library";
-    authors = [ "The Gtk-rs Project Developers" ];
-    sha256 = "00s3n0pd8by1fk2l01mxmbnqq4ff6wadnkcf9jbjvr1l9bzgyqbl";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."glib"."0.3.1"."bitflags"}" deps)
-      (crates."glib_sys"."${deps."glib"."0.3.1"."glib_sys"}" deps)
-      (crates."gobject_sys"."${deps."glib"."0.3.1"."gobject_sys"}" deps)
-      (crates."lazy_static"."${deps."glib"."0.3.1"."lazy_static"}" deps)
-      (crates."libc"."${deps."glib"."0.3.1"."libc"}" deps)
-    ]);
-    features = mkFeatures (features."glib"."0.3.1" or {});
-  };
-  features_.glib."0.3.1" = deps: f: updateFeatures f (rec {
-    bitflags."${deps.glib."0.3.1".bitflags}".default = true;
-    glib = fold recursiveUpdate {} [
-      { "0.3.1"."v2_34" =
-        (f.glib."0.3.1"."v2_34" or false) ||
-        (f.glib."0.3.1".v2_38 or false) ||
-        (glib."0.3.1"."v2_38" or false); }
-      { "0.3.1"."v2_38" =
-        (f.glib."0.3.1"."v2_38" or false) ||
-        (f.glib."0.3.1".v2_40 or false) ||
-        (glib."0.3.1"."v2_40" or false); }
-      { "0.3.1"."v2_40" =
-        (f.glib."0.3.1"."v2_40" or false) ||
-        (f.glib."0.3.1".v2_44 or false) ||
-        (glib."0.3.1"."v2_44" or false); }
-      { "0.3.1"."v2_44" =
-        (f.glib."0.3.1"."v2_44" or false) ||
-        (f.glib."0.3.1".v2_46 or false) ||
-        (glib."0.3.1"."v2_46" or false); }
-      { "0.3.1"."v2_46" =
-        (f.glib."0.3.1"."v2_46" or false) ||
-        (f.glib."0.3.1".v2_48 or false) ||
-        (glib."0.3.1"."v2_48" or false); }
-      { "0.3.1"."v2_48" =
-        (f.glib."0.3.1"."v2_48" or false) ||
-        (f.glib."0.3.1".v2_50 or false) ||
-        (glib."0.3.1"."v2_50" or false); }
-      { "0.3.1".default = (f.glib."0.3.1".default or true); }
-    ];
-    glib_sys = fold recursiveUpdate {} [
-      { "${deps.glib."0.3.1".glib_sys}"."v2_34" =
-        (f.glib_sys."${deps.glib."0.3.1".glib_sys}"."v2_34" or false) ||
-        (glib."0.3.1"."v2_34" or false) ||
-        (f."glib"."0.3.1"."v2_34" or false); }
-      { "${deps.glib."0.3.1".glib_sys}"."v2_38" =
-        (f.glib_sys."${deps.glib."0.3.1".glib_sys}"."v2_38" or false) ||
-        (glib."0.3.1"."v2_38" or false) ||
-        (f."glib"."0.3.1"."v2_38" or false); }
-      { "${deps.glib."0.3.1".glib_sys}"."v2_40" =
-        (f.glib_sys."${deps.glib."0.3.1".glib_sys}"."v2_40" or false) ||
-        (glib."0.3.1"."v2_40" or false) ||
-        (f."glib"."0.3.1"."v2_40" or false); }
-      { "${deps.glib."0.3.1".glib_sys}"."v2_44" =
-        (f.glib_sys."${deps.glib."0.3.1".glib_sys}"."v2_44" or false) ||
-        (glib."0.3.1"."v2_44" or false) ||
-        (f."glib"."0.3.1"."v2_44" or false); }
-      { "${deps.glib."0.3.1".glib_sys}"."v2_46" =
-        (f.glib_sys."${deps.glib."0.3.1".glib_sys}"."v2_46" or false) ||
-        (glib."0.3.1"."v2_46" or false) ||
-        (f."glib"."0.3.1"."v2_46" or false); }
-      { "${deps.glib."0.3.1".glib_sys}"."v2_48" =
-        (f.glib_sys."${deps.glib."0.3.1".glib_sys}"."v2_48" or false) ||
-        (glib."0.3.1"."v2_48" or false) ||
-        (f."glib"."0.3.1"."v2_48" or false); }
-      { "${deps.glib."0.3.1".glib_sys}"."v2_50" =
-        (f.glib_sys."${deps.glib."0.3.1".glib_sys}"."v2_50" or false) ||
-        (glib."0.3.1"."v2_50" or false) ||
-        (f."glib"."0.3.1"."v2_50" or false); }
-      { "${deps.glib."0.3.1".glib_sys}".default = true; }
-    ];
-    gobject_sys = fold recursiveUpdate {} [
-      { "${deps.glib."0.3.1".gobject_sys}"."v2_34" =
-        (f.gobject_sys."${deps.glib."0.3.1".gobject_sys}"."v2_34" or false) ||
-        (glib."0.3.1"."v2_34" or false) ||
-        (f."glib"."0.3.1"."v2_34" or false); }
-      { "${deps.glib."0.3.1".gobject_sys}"."v2_38" =
-        (f.gobject_sys."${deps.glib."0.3.1".gobject_sys}"."v2_38" or false) ||
-        (glib."0.3.1"."v2_38" or false) ||
-        (f."glib"."0.3.1"."v2_38" or false); }
-      { "${deps.glib."0.3.1".gobject_sys}"."v2_44" =
-        (f.gobject_sys."${deps.glib."0.3.1".gobject_sys}"."v2_44" or false) ||
-        (glib."0.3.1"."v2_44" or false) ||
-        (f."glib"."0.3.1"."v2_44" or false); }
-      { "${deps.glib."0.3.1".gobject_sys}"."v2_46" =
-        (f.gobject_sys."${deps.glib."0.3.1".gobject_sys}"."v2_46" or false) ||
-        (glib."0.3.1"."v2_46" or false) ||
-        (f."glib"."0.3.1"."v2_46" or false); }
-      { "${deps.glib."0.3.1".gobject_sys}".default = true; }
-    ];
-    lazy_static."${deps.glib."0.3.1".lazy_static}".default = true;
-    libc."${deps.glib."0.3.1".libc}".default = true;
-  }) [
-    (features_.bitflags."${deps."glib"."0.3.1"."bitflags"}" deps)
-    (features_.glib_sys."${deps."glib"."0.3.1"."glib_sys"}" deps)
-    (features_.gobject_sys."${deps."glib"."0.3.1"."gobject_sys"}" deps)
-    (features_.lazy_static."${deps."glib"."0.3.1"."lazy_static"}" deps)
-    (features_.libc."${deps."glib"."0.3.1"."libc"}" deps)
-  ];
-
-
-# end
-# glib-sys-0.4.0
-
-  crates.glib_sys."0.4.0" = deps: { features?(features_.glib_sys."0.4.0" deps {}) }: buildRustCrate {
-    crateName = "glib-sys";
-    version = "0.4.0";
-    description = "FFI bindings to libglib-2.0";
-    authors = [ "The Gtk-rs Project Developers" ];
-    sha256 = "153i1zmk824hdf8agkaqcgddlwpvgng71n7bdpaav5f4zzlfyp2w";
-    libName = "glib_sys";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."glib_sys"."0.4.0"."bitflags"}" deps)
-      (crates."libc"."${deps."glib_sys"."0.4.0"."libc"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-      (crates."pkg_config"."${deps."glib_sys"."0.4.0"."pkg_config"}" deps)
-    ]);
-    features = mkFeatures (features."glib_sys"."0.4.0" or {});
-  };
-  features_.glib_sys."0.4.0" = deps: f: updateFeatures f (rec {
-    bitflags."${deps.glib_sys."0.4.0".bitflags}".default = true;
-    glib_sys = fold recursiveUpdate {} [
-      { "0.4.0"."v2_34" =
-        (f.glib_sys."0.4.0"."v2_34" or false) ||
-        (f.glib_sys."0.4.0".v2_36 or false) ||
-        (glib_sys."0.4.0"."v2_36" or false); }
-      { "0.4.0"."v2_36" =
-        (f.glib_sys."0.4.0"."v2_36" or false) ||
-        (f.glib_sys."0.4.0".v2_38 or false) ||
-        (glib_sys."0.4.0"."v2_38" or false); }
-      { "0.4.0"."v2_38" =
-        (f.glib_sys."0.4.0"."v2_38" or false) ||
-        (f.glib_sys."0.4.0".v2_40 or false) ||
-        (glib_sys."0.4.0"."v2_40" or false); }
-      { "0.4.0"."v2_40" =
-        (f.glib_sys."0.4.0"."v2_40" or false) ||
-        (f.glib_sys."0.4.0".v2_44 or false) ||
-        (glib_sys."0.4.0"."v2_44" or false); }
-      { "0.4.0"."v2_44" =
-        (f.glib_sys."0.4.0"."v2_44" or false) ||
-        (f.glib_sys."0.4.0".v2_46 or false) ||
-        (glib_sys."0.4.0"."v2_46" or false); }
-      { "0.4.0"."v2_46" =
-        (f.glib_sys."0.4.0"."v2_46" or false) ||
-        (f.glib_sys."0.4.0".v2_48 or false) ||
-        (glib_sys."0.4.0"."v2_48" or false); }
-      { "0.4.0"."v2_48" =
-        (f.glib_sys."0.4.0"."v2_48" or false) ||
-        (f.glib_sys."0.4.0".v2_50 or false) ||
-        (glib_sys."0.4.0"."v2_50" or false); }
-      { "0.4.0".default = (f.glib_sys."0.4.0".default or true); }
-    ];
-    libc."${deps.glib_sys."0.4.0".libc}".default = true;
-    pkg_config."${deps.glib_sys."0.4.0".pkg_config}".default = true;
-  }) [
-    (features_.bitflags."${deps."glib_sys"."0.4.0"."bitflags"}" deps)
-    (features_.libc."${deps."glib_sys"."0.4.0"."libc"}" deps)
-    (features_.pkg_config."${deps."glib_sys"."0.4.0"."pkg_config"}" deps)
-  ];
-
-
-# end
-# gobject-sys-0.4.0
-
-  crates.gobject_sys."0.4.0" = deps: { features?(features_.gobject_sys."0.4.0" deps {}) }: buildRustCrate {
-    crateName = "gobject-sys";
-    version = "0.4.0";
-    description = "FFI bindings to libgobject-2.0";
-    authors = [ "The Gtk-rs Project Developers" ];
-    sha256 = "00zmcbzqfhn9w01cphhf3hbq8ldd9ajba7x07z59vv1gdq6wjzli";
-    libName = "gobject_sys";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."gobject_sys"."0.4.0"."bitflags"}" deps)
-      (crates."glib_sys"."${deps."gobject_sys"."0.4.0"."glib_sys"}" deps)
-      (crates."libc"."${deps."gobject_sys"."0.4.0"."libc"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-      (crates."pkg_config"."${deps."gobject_sys"."0.4.0"."pkg_config"}" deps)
-    ]);
-    features = mkFeatures (features."gobject_sys"."0.4.0" or {});
-  };
-  features_.gobject_sys."0.4.0" = deps: f: updateFeatures f (rec {
-    bitflags."${deps.gobject_sys."0.4.0".bitflags}".default = true;
-    glib_sys."${deps.gobject_sys."0.4.0".glib_sys}".default = true;
-    gobject_sys = fold recursiveUpdate {} [
-      { "0.4.0"."v2_34" =
-        (f.gobject_sys."0.4.0"."v2_34" or false) ||
-        (f.gobject_sys."0.4.0".v2_36 or false) ||
-        (gobject_sys."0.4.0"."v2_36" or false); }
-      { "0.4.0"."v2_36" =
-        (f.gobject_sys."0.4.0"."v2_36" or false) ||
-        (f.gobject_sys."0.4.0".v2_38 or false) ||
-        (gobject_sys."0.4.0"."v2_38" or false); }
-      { "0.4.0"."v2_38" =
-        (f.gobject_sys."0.4.0"."v2_38" or false) ||
-        (f.gobject_sys."0.4.0".v2_42 or false) ||
-        (gobject_sys."0.4.0"."v2_42" or false); }
-      { "0.4.0"."v2_42" =
-        (f.gobject_sys."0.4.0"."v2_42" or false) ||
-        (f.gobject_sys."0.4.0".v2_44 or false) ||
-        (gobject_sys."0.4.0"."v2_44" or false); }
-      { "0.4.0"."v2_44" =
-        (f.gobject_sys."0.4.0"."v2_44" or false) ||
-        (f.gobject_sys."0.4.0".v2_46 or false) ||
-        (gobject_sys."0.4.0"."v2_46" or false); }
-      { "0.4.0".default = (f.gobject_sys."0.4.0".default or true); }
-    ];
-    libc."${deps.gobject_sys."0.4.0".libc}".default = true;
-    pkg_config."${deps.gobject_sys."0.4.0".pkg_config}".default = true;
-  }) [
-    (features_.bitflags."${deps."gobject_sys"."0.4.0"."bitflags"}" deps)
-    (features_.glib_sys."${deps."gobject_sys"."0.4.0"."glib_sys"}" deps)
-    (features_.libc."${deps."gobject_sys"."0.4.0"."libc"}" deps)
-    (features_.pkg_config."${deps."gobject_sys"."0.4.0"."pkg_config"}" deps)
-  ];
-
-
-# end
-# itoa-0.3.4
-
-  crates.itoa."0.3.4" = deps: { features?(features_.itoa."0.3.4" deps {}) }: buildRustCrate {
-    crateName = "itoa";
-    version = "0.3.4";
-    description = "Fast functions for printing integer primitives to an io::Write";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "1nfkzz6vrgj0d9l3yzjkkkqzdgs68y294fjdbl7jq118qi8xc9d9";
-    features = mkFeatures (features."itoa"."0.3.4" or {});
-  };
-  features_.itoa."0.3.4" = deps: f: updateFeatures f ({
-    itoa."0.3.4".default = (f.itoa."0.3.4".default or true);
-  }) [];
-
-
-# end
-# json_macro-0.1.1
-
-  crates.json_macro."0.1.1" = deps: { features?(features_.json_macro."0.1.1" deps {}) }: buildRustCrate {
-    crateName = "json_macro";
-    version = "0.1.1";
-    description = "Pure json macro for rust_serialize. No need compiler features.";
-    authors = [ "Denis Kolodin <deniskolodin@gmail.com>" ];
-    sha256 = "0hl2934shpwqbszrq035valbdz9y8p7dza183brygy5dbvivcyqy";
-    dependencies = mapFeatures features ([
-      (crates."rustc_serialize"."${deps."json_macro"."0.1.1"."rustc_serialize"}" deps)
-    ]);
-  };
-  features_.json_macro."0.1.1" = deps: f: updateFeatures f ({
-    json_macro."0.1.1".default = (f.json_macro."0.1.1".default or true);
-    rustc_serialize."${deps.json_macro."0.1.1".rustc_serialize}".default = true;
-  }) [
-    (features_.rustc_serialize."${deps."json_macro"."0.1.1"."rustc_serialize"}" deps)
-  ];
-
-
-# end
-# kernel32-sys-0.2.2
-
-  crates.kernel32_sys."0.2.2" = deps: { features?(features_.kernel32_sys."0.2.2" deps {}) }: buildRustCrate {
-    crateName = "kernel32-sys";
-    version = "0.2.2";
-    description = "Contains function definitions for the Windows API library kernel32. See winapi for types and constants.";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
-    libName = "kernel32";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."winapi"."${deps."kernel32_sys"."0.2.2"."winapi"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-      (crates."winapi_build"."${deps."kernel32_sys"."0.2.2"."winapi_build"}" deps)
-    ]);
-  };
-  features_.kernel32_sys."0.2.2" = deps: f: updateFeatures f ({
-    kernel32_sys."0.2.2".default = (f.kernel32_sys."0.2.2".default or true);
-    winapi."${deps.kernel32_sys."0.2.2".winapi}".default = true;
-    winapi_build."${deps.kernel32_sys."0.2.2".winapi_build}".default = true;
-  }) [
-    (features_.winapi."${deps."kernel32_sys"."0.2.2"."winapi"}" deps)
-    (features_.winapi_build."${deps."kernel32_sys"."0.2.2"."winapi_build"}" deps)
-  ];
-
-
-# end
-# lazy_static-0.2.11
-
-  crates.lazy_static."0.2.11" = deps: { features?(features_.lazy_static."0.2.11" deps {}) }: buildRustCrate {
-    crateName = "lazy_static";
-    version = "0.2.11";
-    description = "A macro for declaring lazily evaluated statics in Rust.";
-    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-    sha256 = "1x6871cvpy5b96yv4c7jvpq316fp5d4609s9py7qk6cd6x9k34vm";
-    dependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."lazy_static"."0.2.11" or {});
-  };
-  features_.lazy_static."0.2.11" = deps: f: updateFeatures f (rec {
-    lazy_static = fold recursiveUpdate {} [
-      { "0.2.11"."compiletest_rs" =
-        (f.lazy_static."0.2.11"."compiletest_rs" or false) ||
-        (f.lazy_static."0.2.11".compiletest or false) ||
-        (lazy_static."0.2.11"."compiletest" or false); }
-      { "0.2.11"."nightly" =
-        (f.lazy_static."0.2.11"."nightly" or false) ||
-        (f.lazy_static."0.2.11".spin_no_std or false) ||
-        (lazy_static."0.2.11"."spin_no_std" or false); }
-      { "0.2.11"."spin" =
-        (f.lazy_static."0.2.11"."spin" or false) ||
-        (f.lazy_static."0.2.11".spin_no_std or false) ||
-        (lazy_static."0.2.11"."spin_no_std" or false); }
-      { "0.2.11".default = (f.lazy_static."0.2.11".default or true); }
-    ];
-  }) [];
-
-
-# end
-# lazy_static-1.2.0
-
-  crates.lazy_static."1.2.0" = deps: { features?(features_.lazy_static."1.2.0" deps {}) }: buildRustCrate {
-    crateName = "lazy_static";
-    version = "1.2.0";
-    description = "A macro for declaring lazily evaluated statics in Rust.";
-    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-    sha256 = "07p3b30k2akyr6xw08ggd5qiz5nw3vd3agggj360fcc1njz7d0ss";
-    dependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."lazy_static"."1.2.0" or {});
-  };
-  features_.lazy_static."1.2.0" = deps: f: updateFeatures f (rec {
-    lazy_static = fold recursiveUpdate {} [
-      { "1.2.0"."spin" =
-        (f.lazy_static."1.2.0"."spin" or false) ||
-        (f.lazy_static."1.2.0".spin_no_std or false) ||
-        (lazy_static."1.2.0"."spin_no_std" or false); }
-      { "1.2.0".default = (f.lazy_static."1.2.0".default or true); }
-    ];
-  }) [];
-
-
-# end
-# libc-0.2.44
-
-  crates.libc."0.2.44" = deps: { features?(features_.libc."0.2.44" deps {}) }: buildRustCrate {
-    crateName = "libc";
-    version = "0.2.44";
-    description = "A library for types and bindings to native C functions often found in libc or\nother common platform libraries.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "17a7p0lcf3qwl1pcxffdflgnx8zr2659mgzzg4zi5fnv1mlj3q6z";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."libc"."0.2.44" or {});
-  };
-  features_.libc."0.2.44" = deps: f: updateFeatures f (rec {
-    libc = fold recursiveUpdate {} [
-      { "0.2.44"."align" =
-        (f.libc."0.2.44"."align" or false) ||
-        (f.libc."0.2.44".rustc-dep-of-std or false) ||
-        (libc."0.2.44"."rustc-dep-of-std" or false); }
-      { "0.2.44"."rustc-std-workspace-core" =
-        (f.libc."0.2.44"."rustc-std-workspace-core" or false) ||
-        (f.libc."0.2.44".rustc-dep-of-std or false) ||
-        (libc."0.2.44"."rustc-dep-of-std" or false); }
-      { "0.2.44"."use_std" =
-        (f.libc."0.2.44"."use_std" or false) ||
-        (f.libc."0.2.44".default or false) ||
-        (libc."0.2.44"."default" or false); }
-      { "0.2.44".default = (f.libc."0.2.44".default or true); }
-    ];
-  }) [];
-
-
-# end
-# libloading-0.3.4
-
-  crates.libloading."0.3.4" = deps: { features?(features_.libloading."0.3.4" deps {}) }: buildRustCrate {
-    crateName = "libloading";
-    version = "0.3.4";
-    description = "A safer binding to platform’s dynamic library loading utilities";
-    authors = [ "Simonas Kazlauskas <libloading@kazlauskas.me>" ];
-    sha256 = "1f2vy32cr434n638nv8sdf05iwa53q9q5ahlcpw1l9ywh1bcbhf1";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."lazy_static"."${deps."libloading"."0.3.4"."lazy_static"}" deps)
-    ])
-      ++ (if kernel == "windows" then mapFeatures features ([
-      (crates."kernel32_sys"."${deps."libloading"."0.3.4"."kernel32_sys"}" deps)
-      (crates."winapi"."${deps."libloading"."0.3.4"."winapi"}" deps)
-    ]) else []);
-
-    buildDependencies = mapFeatures features ([
-      (crates."target_build_utils"."${deps."libloading"."0.3.4"."target_build_utils"}" deps)
-    ]);
-  };
-  features_.libloading."0.3.4" = deps: f: updateFeatures f ({
-    kernel32_sys."${deps.libloading."0.3.4".kernel32_sys}".default = true;
-    lazy_static."${deps.libloading."0.3.4".lazy_static}".default = true;
-    libloading."0.3.4".default = (f.libloading."0.3.4".default or true);
-    target_build_utils."${deps.libloading."0.3.4".target_build_utils}".default = true;
-    winapi."${deps.libloading."0.3.4".winapi}".default = true;
-  }) [
-    (features_.lazy_static."${deps."libloading"."0.3.4"."lazy_static"}" deps)
-    (features_.target_build_utils."${deps."libloading"."0.3.4"."target_build_utils"}" deps)
-    (features_.kernel32_sys."${deps."libloading"."0.3.4"."kernel32_sys"}" deps)
-    (features_.winapi."${deps."libloading"."0.3.4"."winapi"}" deps)
-  ];
-
-
-# end
-# libloading-0.5.0
-
-  crates.libloading."0.5.0" = deps: { features?(features_.libloading."0.5.0" deps {}) }: buildRustCrate {
-    crateName = "libloading";
-    version = "0.5.0";
-    description = "A safer binding to platform’s dynamic library loading utilities";
-    authors = [ "Simonas Kazlauskas <libloading@kazlauskas.me>" ];
-    sha256 = "11vzjaka1y979aril4ggwp33p35yz2isvx9m5w88r5sdcmq6iscn";
-    build = "build.rs";
-    dependencies = (if kernel == "windows" then mapFeatures features ([
-      (crates."winapi"."${deps."libloading"."0.5.0"."winapi"}" deps)
-    ]) else []);
-
-    buildDependencies = mapFeatures features ([
-      (crates."cc"."${deps."libloading"."0.5.0"."cc"}" deps)
-    ]);
-  };
-  features_.libloading."0.5.0" = deps: f: updateFeatures f ({
-    cc."${deps.libloading."0.5.0".cc}".default = true;
-    libloading."0.5.0".default = (f.libloading."0.5.0".default or true);
-    winapi = fold recursiveUpdate {} [
-      { "${deps.libloading."0.5.0".winapi}"."errhandlingapi" = true; }
-      { "${deps.libloading."0.5.0".winapi}"."libloaderapi" = true; }
-      { "${deps.libloading."0.5.0".winapi}"."winerror" = true; }
-      { "${deps.libloading."0.5.0".winapi}".default = true; }
-    ];
-  }) [
-    (features_.cc."${deps."libloading"."0.5.0"."cc"}" deps)
-    (features_.winapi."${deps."libloading"."0.5.0"."winapi"}" deps)
-  ];
-
-
-# end
-# log-0.3.9
-
-  crates.log."0.3.9" = deps: { features?(features_.log."0.3.9" deps {}) }: buildRustCrate {
-    crateName = "log";
-    version = "0.3.9";
-    description = "A lightweight logging facade for Rust\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "19i9pwp7lhaqgzangcpw00kc3zsgcqcx84crv07xgz3v7d3kvfa2";
-    dependencies = mapFeatures features ([
-      (crates."log"."${deps."log"."0.3.9"."log"}" deps)
-    ]);
-    features = mkFeatures (features."log"."0.3.9" or {});
-  };
-  features_.log."0.3.9" = deps: f: updateFeatures f (rec {
-    log = fold recursiveUpdate {} [
-      { "${deps.log."0.3.9".log}"."max_level_debug" =
-        (f.log."${deps.log."0.3.9".log}"."max_level_debug" or false) ||
-        (log."0.3.9"."max_level_debug" or false) ||
-        (f."log"."0.3.9"."max_level_debug" or false); }
-      { "${deps.log."0.3.9".log}"."max_level_error" =
-        (f.log."${deps.log."0.3.9".log}"."max_level_error" or false) ||
-        (log."0.3.9"."max_level_error" or false) ||
-        (f."log"."0.3.9"."max_level_error" or false); }
-      { "${deps.log."0.3.9".log}"."max_level_info" =
-        (f.log."${deps.log."0.3.9".log}"."max_level_info" or false) ||
-        (log."0.3.9"."max_level_info" or false) ||
-        (f."log"."0.3.9"."max_level_info" or false); }
-      { "${deps.log."0.3.9".log}"."max_level_off" =
-        (f.log."${deps.log."0.3.9".log}"."max_level_off" or false) ||
-        (log."0.3.9"."max_level_off" or false) ||
-        (f."log"."0.3.9"."max_level_off" or false); }
-      { "${deps.log."0.3.9".log}"."max_level_trace" =
-        (f.log."${deps.log."0.3.9".log}"."max_level_trace" or false) ||
-        (log."0.3.9"."max_level_trace" or false) ||
-        (f."log"."0.3.9"."max_level_trace" or false); }
-      { "${deps.log."0.3.9".log}"."max_level_warn" =
-        (f.log."${deps.log."0.3.9".log}"."max_level_warn" or false) ||
-        (log."0.3.9"."max_level_warn" or false) ||
-        (f."log"."0.3.9"."max_level_warn" or false); }
-      { "${deps.log."0.3.9".log}"."release_max_level_debug" =
-        (f.log."${deps.log."0.3.9".log}"."release_max_level_debug" or false) ||
-        (log."0.3.9"."release_max_level_debug" or false) ||
-        (f."log"."0.3.9"."release_max_level_debug" or false); }
-      { "${deps.log."0.3.9".log}"."release_max_level_error" =
-        (f.log."${deps.log."0.3.9".log}"."release_max_level_error" or false) ||
-        (log."0.3.9"."release_max_level_error" or false) ||
-        (f."log"."0.3.9"."release_max_level_error" or false); }
-      { "${deps.log."0.3.9".log}"."release_max_level_info" =
-        (f.log."${deps.log."0.3.9".log}"."release_max_level_info" or false) ||
-        (log."0.3.9"."release_max_level_info" or false) ||
-        (f."log"."0.3.9"."release_max_level_info" or false); }
-      { "${deps.log."0.3.9".log}"."release_max_level_off" =
-        (f.log."${deps.log."0.3.9".log}"."release_max_level_off" or false) ||
-        (log."0.3.9"."release_max_level_off" or false) ||
-        (f."log"."0.3.9"."release_max_level_off" or false); }
-      { "${deps.log."0.3.9".log}"."release_max_level_trace" =
-        (f.log."${deps.log."0.3.9".log}"."release_max_level_trace" or false) ||
-        (log."0.3.9"."release_max_level_trace" or false) ||
-        (f."log"."0.3.9"."release_max_level_trace" or false); }
-      { "${deps.log."0.3.9".log}"."release_max_level_warn" =
-        (f.log."${deps.log."0.3.9".log}"."release_max_level_warn" or false) ||
-        (log."0.3.9"."release_max_level_warn" or false) ||
-        (f."log"."0.3.9"."release_max_level_warn" or false); }
-      { "${deps.log."0.3.9".log}"."std" =
-        (f.log."${deps.log."0.3.9".log}"."std" or false) ||
-        (log."0.3.9"."use_std" or false) ||
-        (f."log"."0.3.9"."use_std" or false); }
-      { "${deps.log."0.3.9".log}".default = true; }
-      { "0.3.9"."use_std" =
-        (f.log."0.3.9"."use_std" or false) ||
-        (f.log."0.3.9".default or false) ||
-        (log."0.3.9"."default" or false); }
-      { "0.3.9".default = (f.log."0.3.9".default or true); }
-    ];
-  }) [
-    (features_.log."${deps."log"."0.3.9"."log"}" deps)
-  ];
-
-
-# end
-# log-0.4.6
-
-  crates.log."0.4.6" = deps: { features?(features_.log."0.4.6" deps {}) }: buildRustCrate {
-    crateName = "log";
-    version = "0.4.6";
-    description = "A lightweight logging facade for Rust\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1nd8dl9mvc9vd6fks5d4gsxaz990xi6rzlb8ymllshmwi153vngr";
-    dependencies = mapFeatures features ([
-      (crates."cfg_if"."${deps."log"."0.4.6"."cfg_if"}" deps)
-    ]);
-    features = mkFeatures (features."log"."0.4.6" or {});
-  };
-  features_.log."0.4.6" = deps: f: updateFeatures f ({
-    cfg_if."${deps.log."0.4.6".cfg_if}".default = true;
-    log."0.4.6".default = (f.log."0.4.6".default or true);
-  }) [
-    (features_.cfg_if."${deps."log"."0.4.6"."cfg_if"}" deps)
-  ];
-
-
-# end
-# memchr-0.1.11
-
-  crates.memchr."0.1.11" = deps: { features?(features_.memchr."0.1.11" deps {}) }: buildRustCrate {
-    crateName = "memchr";
-    version = "0.1.11";
-    description = "Safe interface to memchr.";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" "bluss" ];
-    sha256 = "0x73jghamvxxq5fsw9wb0shk5m6qp3q6fsf0nibn0i6bbqkw91s8";
-    dependencies = mapFeatures features ([
-      (crates."libc"."${deps."memchr"."0.1.11"."libc"}" deps)
-    ]);
-  };
-  features_.memchr."0.1.11" = deps: f: updateFeatures f ({
-    libc."${deps.memchr."0.1.11".libc}".default = true;
-    memchr."0.1.11".default = (f.memchr."0.1.11".default or true);
-  }) [
-    (features_.libc."${deps."memchr"."0.1.11"."libc"}" deps)
-  ];
-
-
-# end
-# nix-0.6.0
-
-  crates.nix."0.6.0" = deps: { features?(features_.nix."0.6.0" deps {}) }: buildRustCrate {
-    crateName = "nix";
-    version = "0.6.0";
-    description = "Rust friendly bindings to *nix APIs";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "1bgh75y897isnxbw3vd79vns9h6q4d59p1cgv9c4laysyw6fkqwf";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."nix"."0.6.0"."bitflags"}" deps)
-      (crates."cfg_if"."${deps."nix"."0.6.0"."cfg_if"}" deps)
-      (crates."libc"."${deps."nix"."0.6.0"."libc"}" deps)
-      (crates."void"."${deps."nix"."0.6.0"."void"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-      (crates."rustc_version"."${deps."nix"."0.6.0"."rustc_version"}" deps)
-      (crates."semver"."${deps."nix"."0.6.0"."semver"}" deps)
-    ]);
-    features = mkFeatures (features."nix"."0.6.0" or {});
-  };
-  features_.nix."0.6.0" = deps: f: updateFeatures f ({
-    bitflags."${deps.nix."0.6.0".bitflags}".default = true;
-    cfg_if."${deps.nix."0.6.0".cfg_if}".default = true;
-    libc."${deps.nix."0.6.0".libc}".default = true;
-    nix."0.6.0".default = (f.nix."0.6.0".default or true);
-    rustc_version."${deps.nix."0.6.0".rustc_version}".default = true;
-    semver."${deps.nix."0.6.0".semver}".default = true;
-    void."${deps.nix."0.6.0".void}".default = true;
-  }) [
-    (features_.bitflags."${deps."nix"."0.6.0"."bitflags"}" deps)
-    (features_.cfg_if."${deps."nix"."0.6.0"."cfg_if"}" deps)
-    (features_.libc."${deps."nix"."0.6.0"."libc"}" deps)
-    (features_.void."${deps."nix"."0.6.0"."void"}" deps)
-    (features_.rustc_version."${deps."nix"."0.6.0"."rustc_version"}" deps)
-    (features_.semver."${deps."nix"."0.6.0"."semver"}" deps)
-  ];
-
-
-# end
-# nix-0.9.0
-
-  crates.nix."0.9.0" = deps: { features?(features_.nix."0.9.0" deps {}) }: buildRustCrate {
-    crateName = "nix";
-    version = "0.9.0";
-    description = "Rust friendly bindings to *nix APIs";
-    authors = [ "The nix-rust Project Developers" ];
-    sha256 = "00p63bphzwwn460rja5l2wcpgmv7ljf7illf6n95cppx63d180q0";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."nix"."0.9.0"."bitflags"}" deps)
-      (crates."cfg_if"."${deps."nix"."0.9.0"."cfg_if"}" deps)
-      (crates."libc"."${deps."nix"."0.9.0"."libc"}" deps)
-      (crates."void"."${deps."nix"."0.9.0"."void"}" deps)
-    ]);
-  };
-  features_.nix."0.9.0" = deps: f: updateFeatures f ({
-    bitflags."${deps.nix."0.9.0".bitflags}".default = true;
-    cfg_if."${deps.nix."0.9.0".cfg_if}".default = true;
-    libc."${deps.nix."0.9.0".libc}".default = true;
-    nix."0.9.0".default = (f.nix."0.9.0".default or true);
-    void."${deps.nix."0.9.0".void}".default = true;
-  }) [
-    (features_.bitflags."${deps."nix"."0.9.0"."bitflags"}" deps)
-    (features_.cfg_if."${deps."nix"."0.9.0"."cfg_if"}" deps)
-    (features_.libc."${deps."nix"."0.9.0"."libc"}" deps)
-    (features_.void."${deps."nix"."0.9.0"."void"}" deps)
-  ];
-
-
-# end
-# num-traits-0.1.43
-
-  crates.num_traits."0.1.43" = deps: { features?(features_.num_traits."0.1.43" deps {}) }: buildRustCrate {
-    crateName = "num-traits";
-    version = "0.1.43";
-    description = "Numeric traits for generic mathematics";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1zdzx78vrcg3f39w94pqjs1mwxl1phyv7843hwgwkzggwcxhhf6s";
-    dependencies = mapFeatures features ([
-      (crates."num_traits"."${deps."num_traits"."0.1.43"."num_traits"}" deps)
-    ]);
-  };
-  features_.num_traits."0.1.43" = deps: f: updateFeatures f ({
-    num_traits = fold recursiveUpdate {} [
-      { "${deps.num_traits."0.1.43".num_traits}".default = true; }
-      { "0.1.43".default = (f.num_traits."0.1.43".default or true); }
-    ];
-  }) [
-    (features_.num_traits."${deps."num_traits"."0.1.43"."num_traits"}" deps)
-  ];
-
-
-# end
-# num-traits-0.2.6
-
-  crates.num_traits."0.2.6" = deps: { features?(features_.num_traits."0.2.6" deps {}) }: buildRustCrate {
-    crateName = "num-traits";
-    version = "0.2.6";
-    description = "Numeric traits for generic mathematics";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1d20sil9n0wgznd1nycm3yjfj1mzyl41ambb7by1apxlyiil1azk";
-    build = "build.rs";
-    features = mkFeatures (features."num_traits"."0.2.6" or {});
-  };
-  features_.num_traits."0.2.6" = deps: f: updateFeatures f (rec {
-    num_traits = fold recursiveUpdate {} [
-      { "0.2.6"."std" =
-        (f.num_traits."0.2.6"."std" or false) ||
-        (f.num_traits."0.2.6".default or false) ||
-        (num_traits."0.2.6"."default" or false); }
-      { "0.2.6".default = (f.num_traits."0.2.6".default or true); }
-    ];
-  }) [];
-
-
-# end
-# ordermap-0.3.5
-
-  crates.ordermap."0.3.5" = deps: { features?(features_.ordermap."0.3.5" deps {}) }: buildRustCrate {
-    crateName = "ordermap";
-    version = "0.3.5";
-    description = "A hash table with consistent order and fast iteration.";
-    authors = [ "bluss" ];
-    sha256 = "0b6vxfyh627yqm6war3392g1hhi4dbn49ibx2qv6mv490jdhv7d3";
-    dependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."ordermap"."0.3.5" or {});
-  };
-  features_.ordermap."0.3.5" = deps: f: updateFeatures f (rec {
-    ordermap = fold recursiveUpdate {} [
-      { "0.3.5"."serde" =
-        (f.ordermap."0.3.5"."serde" or false) ||
-        (f.ordermap."0.3.5".serde-1 or false) ||
-        (ordermap."0.3.5"."serde-1" or false); }
-      { "0.3.5".default = (f.ordermap."0.3.5".default or true); }
-    ];
-  }) [];
-
-
-# end
-# petgraph-0.4.13
-
-  crates.petgraph."0.4.13" = deps: { features?(features_.petgraph."0.4.13" deps {}) }: buildRustCrate {
-    crateName = "petgraph";
-    version = "0.4.13";
-    description = "Graph data structure library. Provides graph types and graph algorithms.";
-    authors = [ "bluss" "mitchmindtree" ];
-    sha256 = "0a8k12b9vd0bndwqhafa853w186axdw05bv4kqjimyaz67428g1i";
-    dependencies = mapFeatures features ([
-      (crates."fixedbitset"."${deps."petgraph"."0.4.13"."fixedbitset"}" deps)
-    ]
-      ++ (if features.petgraph."0.4.13".ordermap or false then [ (crates.ordermap."${deps."petgraph"."0.4.13".ordermap}" deps) ] else []));
-    features = mkFeatures (features."petgraph"."0.4.13" or {});
-  };
-  features_.petgraph."0.4.13" = deps: f: updateFeatures f (rec {
-    fixedbitset."${deps.petgraph."0.4.13".fixedbitset}".default = true;
-    ordermap."${deps.petgraph."0.4.13".ordermap}".default = true;
-    petgraph = fold recursiveUpdate {} [
-      { "0.4.13"."generate" =
-        (f.petgraph."0.4.13"."generate" or false) ||
-        (f.petgraph."0.4.13".unstable or false) ||
-        (petgraph."0.4.13"."unstable" or false); }
-      { "0.4.13"."graphmap" =
-        (f.petgraph."0.4.13"."graphmap" or false) ||
-        (f.petgraph."0.4.13".all or false) ||
-        (petgraph."0.4.13"."all" or false) ||
-        (f.petgraph."0.4.13".default or false) ||
-        (petgraph."0.4.13"."default" or false); }
-      { "0.4.13"."ordermap" =
-        (f.petgraph."0.4.13"."ordermap" or false) ||
-        (f.petgraph."0.4.13".graphmap or false) ||
-        (petgraph."0.4.13"."graphmap" or false); }
-      { "0.4.13"."quickcheck" =
-        (f.petgraph."0.4.13"."quickcheck" or false) ||
-        (f.petgraph."0.4.13".all or false) ||
-        (petgraph."0.4.13"."all" or false); }
-      { "0.4.13"."serde" =
-        (f.petgraph."0.4.13"."serde" or false) ||
-        (f.petgraph."0.4.13".serde-1 or false) ||
-        (petgraph."0.4.13"."serde-1" or false); }
-      { "0.4.13"."serde_derive" =
-        (f.petgraph."0.4.13"."serde_derive" or false) ||
-        (f.petgraph."0.4.13".serde-1 or false) ||
-        (petgraph."0.4.13"."serde-1" or false); }
-      { "0.4.13"."stable_graph" =
-        (f.petgraph."0.4.13"."stable_graph" or false) ||
-        (f.petgraph."0.4.13".all or false) ||
-        (petgraph."0.4.13"."all" or false) ||
-        (f.petgraph."0.4.13".default or false) ||
-        (petgraph."0.4.13"."default" or false); }
-      { "0.4.13"."unstable" =
-        (f.petgraph."0.4.13"."unstable" or false) ||
-        (f.petgraph."0.4.13".all or false) ||
-        (petgraph."0.4.13"."all" or false); }
-      { "0.4.13".default = (f.petgraph."0.4.13".default or true); }
-    ];
-  }) [
-    (features_.fixedbitset."${deps."petgraph"."0.4.13"."fixedbitset"}" deps)
-    (features_.ordermap."${deps."petgraph"."0.4.13"."ordermap"}" deps)
-  ];
-
-
-# end
-# phf-0.7.23
-
-  crates.phf."0.7.23" = deps: { features?(features_.phf."0.7.23" deps {}) }: buildRustCrate {
-    crateName = "phf";
-    version = "0.7.23";
-    description = "Runtime support for perfect hash function data structures";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "0annmaf9mmm12g2cdwpip32p674pmsf6xpiwa27mz3glmz73y8aq";
-    libPath = "src/lib.rs";
-    dependencies = mapFeatures features ([
-      (crates."phf_shared"."${deps."phf"."0.7.23"."phf_shared"}" deps)
-    ]);
-    features = mkFeatures (features."phf"."0.7.23" or {});
-  };
-  features_.phf."0.7.23" = deps: f: updateFeatures f (rec {
-    phf."0.7.23".default = (f.phf."0.7.23".default or true);
-    phf_shared = fold recursiveUpdate {} [
-      { "${deps.phf."0.7.23".phf_shared}"."core" =
-        (f.phf_shared."${deps.phf."0.7.23".phf_shared}"."core" or false) ||
-        (phf."0.7.23"."core" or false) ||
-        (f."phf"."0.7.23"."core" or false); }
-      { "${deps.phf."0.7.23".phf_shared}"."unicase" =
-        (f.phf_shared."${deps.phf."0.7.23".phf_shared}"."unicase" or false) ||
-        (phf."0.7.23"."unicase" or false) ||
-        (f."phf"."0.7.23"."unicase" or false); }
-      { "${deps.phf."0.7.23".phf_shared}".default = true; }
-    ];
-  }) [
-    (features_.phf_shared."${deps."phf"."0.7.23"."phf_shared"}" deps)
-  ];
-
-
-# end
-# phf_codegen-0.7.23
-
-  crates.phf_codegen."0.7.23" = deps: { features?(features_.phf_codegen."0.7.23" deps {}) }: buildRustCrate {
-    crateName = "phf_codegen";
-    version = "0.7.23";
-    description = "Codegen library for PHF types";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "0k5ly0qykw56fxd19iy236wzghqdxq9zxnzcg8nm22cfzw4a35n0";
-    dependencies = mapFeatures features ([
-      (crates."phf_generator"."${deps."phf_codegen"."0.7.23"."phf_generator"}" deps)
-      (crates."phf_shared"."${deps."phf_codegen"."0.7.23"."phf_shared"}" deps)
-    ]);
-  };
-  features_.phf_codegen."0.7.23" = deps: f: updateFeatures f ({
-    phf_codegen."0.7.23".default = (f.phf_codegen."0.7.23".default or true);
-    phf_generator."${deps.phf_codegen."0.7.23".phf_generator}".default = true;
-    phf_shared."${deps.phf_codegen."0.7.23".phf_shared}".default = true;
-  }) [
-    (features_.phf_generator."${deps."phf_codegen"."0.7.23"."phf_generator"}" deps)
-    (features_.phf_shared."${deps."phf_codegen"."0.7.23"."phf_shared"}" deps)
-  ];
-
-
-# end
-# phf_generator-0.7.23
-
-  crates.phf_generator."0.7.23" = deps: { features?(features_.phf_generator."0.7.23" deps {}) }: buildRustCrate {
-    crateName = "phf_generator";
-    version = "0.7.23";
-    description = "PHF generation logic";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "106cd0bx3jf7mf2gaa8nx62c1las1w95c5gwsd4yqm5lj2rj4mza";
-    dependencies = mapFeatures features ([
-      (crates."phf_shared"."${deps."phf_generator"."0.7.23"."phf_shared"}" deps)
-      (crates."rand"."${deps."phf_generator"."0.7.23"."rand"}" deps)
-    ]);
-  };
-  features_.phf_generator."0.7.23" = deps: f: updateFeatures f ({
-    phf_generator."0.7.23".default = (f.phf_generator."0.7.23".default or true);
-    phf_shared."${deps.phf_generator."0.7.23".phf_shared}".default = true;
-    rand."${deps.phf_generator."0.7.23".rand}".default = true;
-  }) [
-    (features_.phf_shared."${deps."phf_generator"."0.7.23"."phf_shared"}" deps)
-    (features_.rand."${deps."phf_generator"."0.7.23"."rand"}" deps)
-  ];
-
-
-# end
-# phf_shared-0.7.23
-
-  crates.phf_shared."0.7.23" = deps: { features?(features_.phf_shared."0.7.23" deps {}) }: buildRustCrate {
-    crateName = "phf_shared";
-    version = "0.7.23";
-    description = "Support code shared by PHF libraries";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "04gzsq9vg9j8cr39hpkddxb0yqjdknvcpnylw112rqamy7ml4fy1";
-    libPath = "src/lib.rs";
-    dependencies = mapFeatures features ([
-      (crates."siphasher"."${deps."phf_shared"."0.7.23"."siphasher"}" deps)
-    ]);
-    features = mkFeatures (features."phf_shared"."0.7.23" or {});
-  };
-  features_.phf_shared."0.7.23" = deps: f: updateFeatures f ({
-    phf_shared."0.7.23".default = (f.phf_shared."0.7.23".default or true);
-    siphasher."${deps.phf_shared."0.7.23".siphasher}".default = true;
-  }) [
-    (features_.siphasher."${deps."phf_shared"."0.7.23"."siphasher"}" deps)
-  ];
-
-
-# end
-# pkg-config-0.3.14
-
-  crates.pkg_config."0.3.14" = deps: { features?(features_.pkg_config."0.3.14" deps {}) }: buildRustCrate {
-    crateName = "pkg-config";
-    version = "0.3.14";
-    description = "A library to run the pkg-config system tool at build time in order to be used in\nCargo build scripts.\n";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0207fsarrm412j0dh87lfcas72n8mxar7q3mgflsbsrqnb140sv6";
-  };
-  features_.pkg_config."0.3.14" = deps: f: updateFeatures f ({
-    pkg_config."0.3.14".default = (f.pkg_config."0.3.14".default or true);
-  }) [];
-
-
-# end
-# rand-0.3.22
-
-  crates.rand."0.3.22" = deps: { features?(features_.rand."0.3.22" deps {}) }: buildRustCrate {
-    crateName = "rand";
-    version = "0.3.22";
-    description = "Random number generators and other randomness functionality.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0wrj12acx7l4hr7ag3nz8b50yhp8ancyq988bzmnnsxln67rsys0";
-    dependencies = mapFeatures features ([
-      (crates."libc"."${deps."rand"."0.3.22"."libc"}" deps)
-      (crates."rand"."${deps."rand"."0.3.22"."rand"}" deps)
-    ])
-      ++ (if kernel == "fuchsia" then mapFeatures features ([
-      (crates."fuchsia_zircon"."${deps."rand"."0.3.22"."fuchsia_zircon"}" deps)
-    ]) else []);
-    features = mkFeatures (features."rand"."0.3.22" or {});
-  };
-  features_.rand."0.3.22" = deps: f: updateFeatures f (rec {
-    fuchsia_zircon."${deps.rand."0.3.22".fuchsia_zircon}".default = true;
-    libc."${deps.rand."0.3.22".libc}".default = true;
-    rand = fold recursiveUpdate {} [
-      { "${deps.rand."0.3.22".rand}".default = true; }
-      { "0.3.22"."i128_support" =
-        (f.rand."0.3.22"."i128_support" or false) ||
-        (f.rand."0.3.22".nightly or false) ||
-        (rand."0.3.22"."nightly" or false); }
-      { "0.3.22".default = (f.rand."0.3.22".default or true); }
-    ];
-  }) [
-    (features_.libc."${deps."rand"."0.3.22"."libc"}" deps)
-    (features_.rand."${deps."rand"."0.3.22"."rand"}" deps)
-    (features_.fuchsia_zircon."${deps."rand"."0.3.22"."fuchsia_zircon"}" deps)
-  ];
-
-
-# end
-# rand-0.4.3
-
-  crates.rand."0.4.3" = deps: { features?(features_.rand."0.4.3" deps {}) }: buildRustCrate {
-    crateName = "rand";
-    version = "0.4.3";
-    description = "Random number generators and other randomness functionality.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1644wri45l147822xy7dgdm4k7myxzs66cb795ga0x7dan11ci4f";
-    dependencies = (if kernel == "fuchsia" then mapFeatures features ([
-      (crates."fuchsia_zircon"."${deps."rand"."0.4.3"."fuchsia_zircon"}" deps)
-    ]) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
-    ]
-      ++ (if features.rand."0.4.3".libc or false then [ (crates.libc."${deps."rand"."0.4.3".libc}" deps) ] else [])) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([
-      (crates."winapi"."${deps."rand"."0.4.3"."winapi"}" deps)
-    ]) else []);
-    features = mkFeatures (features."rand"."0.4.3" or {});
-  };
-  features_.rand."0.4.3" = deps: f: updateFeatures f (rec {
-    fuchsia_zircon."${deps.rand."0.4.3".fuchsia_zircon}".default = true;
-    libc."${deps.rand."0.4.3".libc}".default = true;
-    rand = fold recursiveUpdate {} [
-      { "0.4.3"."i128_support" =
-        (f.rand."0.4.3"."i128_support" or false) ||
-        (f.rand."0.4.3".nightly or false) ||
-        (rand."0.4.3"."nightly" or false); }
-      { "0.4.3"."libc" =
-        (f.rand."0.4.3"."libc" or false) ||
-        (f.rand."0.4.3".std or false) ||
-        (rand."0.4.3"."std" or false); }
-      { "0.4.3"."std" =
-        (f.rand."0.4.3"."std" or false) ||
-        (f.rand."0.4.3".default or false) ||
-        (rand."0.4.3"."default" or false); }
-      { "0.4.3".default = (f.rand."0.4.3".default or true); }
-    ];
-    winapi = fold recursiveUpdate {} [
-      { "${deps.rand."0.4.3".winapi}"."minwindef" = true; }
-      { "${deps.rand."0.4.3".winapi}"."ntsecapi" = true; }
-      { "${deps.rand."0.4.3".winapi}"."profileapi" = true; }
-      { "${deps.rand."0.4.3".winapi}"."winnt" = true; }
-      { "${deps.rand."0.4.3".winapi}".default = true; }
-    ];
-  }) [
-    (features_.fuchsia_zircon."${deps."rand"."0.4.3"."fuchsia_zircon"}" deps)
-    (features_.libc."${deps."rand"."0.4.3"."libc"}" deps)
-    (features_.winapi."${deps."rand"."0.4.3"."winapi"}" deps)
-  ];
-
-
-# end
-# rand-0.5.5
-
-  crates.rand."0.5.5" = deps: { features?(features_.rand."0.5.5" deps {}) }: buildRustCrate {
-    crateName = "rand";
-    version = "0.5.5";
-    description = "Random number generators and other randomness functionality.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0d7pnsh57qxhz1ghrzk113ddkn13kf2g758ffnbxq4nhwjfzhlc9";
-    dependencies = mapFeatures features ([
-      (crates."rand_core"."${deps."rand"."0.5.5"."rand_core"}" deps)
-    ])
-      ++ (if kernel == "cloudabi" then mapFeatures features ([
-    ]
-      ++ (if features.rand."0.5.5".cloudabi or false then [ (crates.cloudabi."${deps."rand"."0.5.5".cloudabi}" deps) ] else [])) else [])
-      ++ (if kernel == "fuchsia" then mapFeatures features ([
-    ]
-      ++ (if features.rand."0.5.5".fuchsia-zircon or false then [ (crates.fuchsia_zircon."${deps."rand"."0.5.5".fuchsia_zircon}" deps) ] else [])) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
-    ]
-      ++ (if features.rand."0.5.5".libc or false then [ (crates.libc."${deps."rand"."0.5.5".libc}" deps) ] else [])) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([
-    ]
-      ++ (if features.rand."0.5.5".winapi or false then [ (crates.winapi."${deps."rand"."0.5.5".winapi}" deps) ] else [])) else [])
-      ++ (if kernel == "wasm32-unknown-unknown" then mapFeatures features ([
-]) else []);
-    features = mkFeatures (features."rand"."0.5.5" or {});
-  };
-  features_.rand."0.5.5" = deps: f: updateFeatures f (rec {
-    cloudabi."${deps.rand."0.5.5".cloudabi}".default = true;
-    fuchsia_zircon."${deps.rand."0.5.5".fuchsia_zircon}".default = true;
-    libc."${deps.rand."0.5.5".libc}".default = true;
-    rand = fold recursiveUpdate {} [
-      { "0.5.5"."alloc" =
-        (f.rand."0.5.5"."alloc" or false) ||
-        (f.rand."0.5.5".std or false) ||
-        (rand."0.5.5"."std" or false); }
-      { "0.5.5"."cloudabi" =
-        (f.rand."0.5.5"."cloudabi" or false) ||
-        (f.rand."0.5.5".std or false) ||
-        (rand."0.5.5"."std" or false); }
-      { "0.5.5"."fuchsia-zircon" =
-        (f.rand."0.5.5"."fuchsia-zircon" or false) ||
-        (f.rand."0.5.5".std or false) ||
-        (rand."0.5.5"."std" or false); }
-      { "0.5.5"."i128_support" =
-        (f.rand."0.5.5"."i128_support" or false) ||
-        (f.rand."0.5.5".nightly or false) ||
-        (rand."0.5.5"."nightly" or false); }
-      { "0.5.5"."libc" =
-        (f.rand."0.5.5"."libc" or false) ||
-        (f.rand."0.5.5".std or false) ||
-        (rand."0.5.5"."std" or false); }
-      { "0.5.5"."serde" =
-        (f.rand."0.5.5"."serde" or false) ||
-        (f.rand."0.5.5".serde1 or false) ||
-        (rand."0.5.5"."serde1" or false); }
-      { "0.5.5"."serde_derive" =
-        (f.rand."0.5.5"."serde_derive" or false) ||
-        (f.rand."0.5.5".serde1 or false) ||
-        (rand."0.5.5"."serde1" or false); }
-      { "0.5.5"."std" =
-        (f.rand."0.5.5"."std" or false) ||
-        (f.rand."0.5.5".default or false) ||
-        (rand."0.5.5"."default" or false); }
-      { "0.5.5"."winapi" =
-        (f.rand."0.5.5"."winapi" or false) ||
-        (f.rand."0.5.5".std or false) ||
-        (rand."0.5.5"."std" or false); }
-      { "0.5.5".default = (f.rand."0.5.5".default or true); }
-    ];
-    rand_core = fold recursiveUpdate {} [
-      { "${deps.rand."0.5.5".rand_core}"."alloc" =
-        (f.rand_core."${deps.rand."0.5.5".rand_core}"."alloc" or false) ||
-        (rand."0.5.5"."alloc" or false) ||
-        (f."rand"."0.5.5"."alloc" or false); }
-      { "${deps.rand."0.5.5".rand_core}"."serde1" =
-        (f.rand_core."${deps.rand."0.5.5".rand_core}"."serde1" or false) ||
-        (rand."0.5.5"."serde1" or false) ||
-        (f."rand"."0.5.5"."serde1" or false); }
-      { "${deps.rand."0.5.5".rand_core}"."std" =
-        (f.rand_core."${deps.rand."0.5.5".rand_core}"."std" or false) ||
-        (rand."0.5.5"."std" or false) ||
-        (f."rand"."0.5.5"."std" or false); }
-      { "${deps.rand."0.5.5".rand_core}".default = (f.rand_core."${deps.rand."0.5.5".rand_core}".default or false); }
-    ];
-    winapi = fold recursiveUpdate {} [
-      { "${deps.rand."0.5.5".winapi}"."minwindef" = true; }
-      { "${deps.rand."0.5.5".winapi}"."ntsecapi" = true; }
-      { "${deps.rand."0.5.5".winapi}"."profileapi" = true; }
-      { "${deps.rand."0.5.5".winapi}"."winnt" = true; }
-      { "${deps.rand."0.5.5".winapi}".default = true; }
-    ];
-  }) [
-    (features_.rand_core."${deps."rand"."0.5.5"."rand_core"}" deps)
-    (features_.cloudabi."${deps."rand"."0.5.5"."cloudabi"}" deps)
-    (features_.fuchsia_zircon."${deps."rand"."0.5.5"."fuchsia_zircon"}" deps)
-    (features_.libc."${deps."rand"."0.5.5"."libc"}" deps)
-    (features_.winapi."${deps."rand"."0.5.5"."winapi"}" deps)
-  ];
-
-
-# end
-# rand_core-0.2.2
-
-  crates.rand_core."0.2.2" = deps: { features?(features_.rand_core."0.2.2" deps {}) }: buildRustCrate {
-    crateName = "rand_core";
-    version = "0.2.2";
-    description = "Core random number generator traits and tools for implementation.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1cxnaxmsirz2wxsajsjkd1wk6lqfqbcprqkha4bq3didznrl22sc";
-    dependencies = mapFeatures features ([
-      (crates."rand_core"."${deps."rand_core"."0.2.2"."rand_core"}" deps)
-    ]);
-    features = mkFeatures (features."rand_core"."0.2.2" or {});
-  };
-  features_.rand_core."0.2.2" = deps: f: updateFeatures f (rec {
-    rand_core = fold recursiveUpdate {} [
-      { "${deps.rand_core."0.2.2".rand_core}"."alloc" =
-        (f.rand_core."${deps.rand_core."0.2.2".rand_core}"."alloc" or false) ||
-        (rand_core."0.2.2"."alloc" or false) ||
-        (f."rand_core"."0.2.2"."alloc" or false); }
-      { "${deps.rand_core."0.2.2".rand_core}"."serde1" =
-        (f.rand_core."${deps.rand_core."0.2.2".rand_core}"."serde1" or false) ||
-        (rand_core."0.2.2"."serde1" or false) ||
-        (f."rand_core"."0.2.2"."serde1" or false); }
-      { "${deps.rand_core."0.2.2".rand_core}"."std" =
-        (f.rand_core."${deps.rand_core."0.2.2".rand_core}"."std" or false) ||
-        (rand_core."0.2.2"."std" or false) ||
-        (f."rand_core"."0.2.2"."std" or false); }
-      { "${deps.rand_core."0.2.2".rand_core}".default = (f.rand_core."${deps.rand_core."0.2.2".rand_core}".default or false); }
-      { "0.2.2".default = (f.rand_core."0.2.2".default or true); }
-    ];
-  }) [
-    (features_.rand_core."${deps."rand_core"."0.2.2"."rand_core"}" deps)
-  ];
-
-
-# end
-# rand_core-0.3.0
-
-  crates.rand_core."0.3.0" = deps: { features?(features_.rand_core."0.3.0" deps {}) }: buildRustCrate {
-    crateName = "rand_core";
-    version = "0.3.0";
-    description = "Core random number generator traits and tools for implementation.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1vafw316apjys9va3j987s02djhqp7y21v671v3ix0p5j9bjq339";
-    dependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."rand_core"."0.3.0" or {});
-  };
-  features_.rand_core."0.3.0" = deps: f: updateFeatures f (rec {
-    rand_core = fold recursiveUpdate {} [
-      { "0.3.0"."alloc" =
-        (f.rand_core."0.3.0"."alloc" or false) ||
-        (f.rand_core."0.3.0".std or false) ||
-        (rand_core."0.3.0"."std" or false); }
-      { "0.3.0"."serde" =
-        (f.rand_core."0.3.0"."serde" or false) ||
-        (f.rand_core."0.3.0".serde1 or false) ||
-        (rand_core."0.3.0"."serde1" or false); }
-      { "0.3.0"."serde_derive" =
-        (f.rand_core."0.3.0"."serde_derive" or false) ||
-        (f.rand_core."0.3.0".serde1 or false) ||
-        (rand_core."0.3.0"."serde1" or false); }
-      { "0.3.0"."std" =
-        (f.rand_core."0.3.0"."std" or false) ||
-        (f.rand_core."0.3.0".default or false) ||
-        (rand_core."0.3.0"."default" or false); }
-      { "0.3.0".default = (f.rand_core."0.3.0".default or true); }
-    ];
-  }) [];
-
-
-# end
-# regex-0.1.80
-
-  crates.regex."0.1.80" = deps: { features?(features_.regex."0.1.80" deps {}) }: buildRustCrate {
-    crateName = "regex";
-    version = "0.1.80";
-    description = "An implementation of regular expressions for Rust. This implementation uses\nfinite automata and guarantees linear time matching on all inputs.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0y4s8ghhx6sgzb35irwivm3w0l2hhqhmdcd2px9hirqnkagal9l6";
-    dependencies = mapFeatures features ([
-      (crates."aho_corasick"."${deps."regex"."0.1.80"."aho_corasick"}" deps)
-      (crates."memchr"."${deps."regex"."0.1.80"."memchr"}" deps)
-      (crates."regex_syntax"."${deps."regex"."0.1.80"."regex_syntax"}" deps)
-      (crates."thread_local"."${deps."regex"."0.1.80"."thread_local"}" deps)
-      (crates."utf8_ranges"."${deps."regex"."0.1.80"."utf8_ranges"}" deps)
-    ]);
-    features = mkFeatures (features."regex"."0.1.80" or {});
-  };
-  features_.regex."0.1.80" = deps: f: updateFeatures f (rec {
-    aho_corasick."${deps.regex."0.1.80".aho_corasick}".default = true;
-    memchr."${deps.regex."0.1.80".memchr}".default = true;
-    regex = fold recursiveUpdate {} [
-      { "0.1.80"."simd" =
-        (f.regex."0.1.80"."simd" or false) ||
-        (f.regex."0.1.80".simd-accel or false) ||
-        (regex."0.1.80"."simd-accel" or false); }
-      { "0.1.80".default = (f.regex."0.1.80".default or true); }
-    ];
-    regex_syntax."${deps.regex."0.1.80".regex_syntax}".default = true;
-    thread_local."${deps.regex."0.1.80".thread_local}".default = true;
-    utf8_ranges."${deps.regex."0.1.80".utf8_ranges}".default = true;
-  }) [
-    (features_.aho_corasick."${deps."regex"."0.1.80"."aho_corasick"}" deps)
-    (features_.memchr."${deps."regex"."0.1.80"."memchr"}" deps)
-    (features_.regex_syntax."${deps."regex"."0.1.80"."regex_syntax"}" deps)
-    (features_.thread_local."${deps."regex"."0.1.80"."thread_local"}" deps)
-    (features_.utf8_ranges."${deps."regex"."0.1.80"."utf8_ranges"}" deps)
-  ];
-
-
-# end
-# regex-syntax-0.3.9
-
-  crates.regex_syntax."0.3.9" = deps: { features?(features_.regex_syntax."0.3.9" deps {}) }: buildRustCrate {
-    crateName = "regex-syntax";
-    version = "0.3.9";
-    description = "A regular expression parser.";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1mzhphkbwppwd1zam2jkgjk550cqgf6506i87bw2yzrvcsraiw7m";
-  };
-  features_.regex_syntax."0.3.9" = deps: f: updateFeatures f ({
-    regex_syntax."0.3.9".default = (f.regex_syntax."0.3.9".default or true);
-  }) [];
-
-
-# end
-# rlua-0.9.7
-
-  crates.rlua."0.9.7" = deps: { features?(features_.rlua."0.9.7" deps {}) }: buildRustCrate {
-    crateName = "rlua";
-    version = "0.9.7";
-    description = "High level bindings to Lua 5.3";
-    authors = [ "kyren <catherine@chucklefish.org>" ];
-    sha256 = "1671b5ga54aq49sqx69hvnjr732hf9jpqwswwxgpcqq8q05mfzgp";
-    dependencies = mapFeatures features ([
-      (crates."libc"."${deps."rlua"."0.9.7"."libc"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-    ]
-      ++ (if features.rlua."0.9.7".gcc or false then [ (crates.gcc."${deps."rlua"."0.9.7".gcc}" deps) ] else []));
-    features = mkFeatures (features."rlua"."0.9.7" or {});
-  };
-  features_.rlua."0.9.7" = deps: f: updateFeatures f (rec {
-    gcc."${deps.rlua."0.9.7".gcc}".default = true;
-    libc."${deps.rlua."0.9.7".libc}".default = true;
-    rlua = fold recursiveUpdate {} [
-      { "0.9.7"."builtin-lua" =
-        (f.rlua."0.9.7"."builtin-lua" or false) ||
-        (f.rlua."0.9.7".default or false) ||
-        (rlua."0.9.7"."default" or false); }
-      { "0.9.7"."gcc" =
-        (f.rlua."0.9.7"."gcc" or false) ||
-        (f.rlua."0.9.7".builtin-lua or false) ||
-        (rlua."0.9.7"."builtin-lua" or false); }
-      { "0.9.7".default = (f.rlua."0.9.7".default or true); }
-    ];
-  }) [
-    (features_.libc."${deps."rlua"."0.9.7"."libc"}" deps)
-    (features_.gcc."${deps."rlua"."0.9.7"."gcc"}" deps)
-  ];
-
-
-# end
-# rustc-serialize-0.3.24
-
-  crates.rustc_serialize."0.3.24" = deps: { features?(features_.rustc_serialize."0.3.24" deps {}) }: buildRustCrate {
-    crateName = "rustc-serialize";
-    version = "0.3.24";
-    description = "Generic serialization/deserialization support corresponding to the\n`derive(RustcEncodable, RustcDecodable)` mode in the compiler. Also includes\nsupport for hex, base64, and json encoding and decoding.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0rfk6p66mqkd3g36l0ddlv2rvnp1mp3lrq5frq9zz5cbnz5pmmxn";
-  };
-  features_.rustc_serialize."0.3.24" = deps: f: updateFeatures f ({
-    rustc_serialize."0.3.24".default = (f.rustc_serialize."0.3.24".default or true);
-  }) [];
-
-
-# end
-# rustc_version-0.1.7
-
-  crates.rustc_version."0.1.7" = deps: { features?(features_.rustc_version."0.1.7" deps {}) }: buildRustCrate {
-    crateName = "rustc_version";
-    version = "0.1.7";
-    description = "A library for querying the version of a installed rustc compiler";
-    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-    sha256 = "0plm9pbyvcwfibd0kbhzil9xmr1bvqi8fgwlfw0x4vali8s6s99p";
-    dependencies = mapFeatures features ([
-      (crates."semver"."${deps."rustc_version"."0.1.7"."semver"}" deps)
-    ]);
-  };
-  features_.rustc_version."0.1.7" = deps: f: updateFeatures f ({
-    rustc_version."0.1.7".default = (f.rustc_version."0.1.7".default or true);
-    semver."${deps.rustc_version."0.1.7".semver}".default = true;
-  }) [
-    (features_.semver."${deps."rustc_version"."0.1.7"."semver"}" deps)
-  ];
-
-
-# end
-# rustwlc-0.7.0
-
-  crates.rustwlc."0.7.0" = deps: { features?(features_.rustwlc."0.7.0" deps {}) }: buildRustCrate {
-    crateName = "rustwlc";
-    version = "0.7.0";
-    description = "wlc Wayland library bindings for Rust";
-    authors = [ "Snirk Immington <snirk.immington@gmail.com>" "Timidger <apragmaticplace@gmail.com>" ];
-    sha256 = "0gqi9pdw74al33ja25h33q68vnfklj3gpjgkiqqbr3gflgli5h1i";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."rustwlc"."0.7.0"."bitflags"}" deps)
-      (crates."libc"."${deps."rustwlc"."0.7.0"."libc"}" deps)
-    ]
-      ++ (if features.rustwlc."0.7.0".wayland-sys or false then [ (crates.wayland_sys."${deps."rustwlc"."0.7.0".wayland_sys}" deps) ] else []));
-    features = mkFeatures (features."rustwlc"."0.7.0" or {});
-  };
-  features_.rustwlc."0.7.0" = deps: f: updateFeatures f (rec {
-    bitflags."${deps.rustwlc."0.7.0".bitflags}".default = true;
-    libc."${deps.rustwlc."0.7.0".libc}".default = true;
-    rustwlc = fold recursiveUpdate {} [
-      { "0.7.0"."wayland-sys" =
-        (f.rustwlc."0.7.0"."wayland-sys" or false) ||
-        (f.rustwlc."0.7.0".wlc-wayland or false) ||
-        (rustwlc."0.7.0"."wlc-wayland" or false); }
-      { "0.7.0".default = (f.rustwlc."0.7.0".default or true); }
-    ];
-    wayland_sys = fold recursiveUpdate {} [
-      { "${deps.rustwlc."0.7.0".wayland_sys}"."server" = true; }
-      { "${deps.rustwlc."0.7.0".wayland_sys}".default = true; }
-    ];
-  }) [
-    (features_.bitflags."${deps."rustwlc"."0.7.0"."bitflags"}" deps)
-    (features_.libc."${deps."rustwlc"."0.7.0"."libc"}" deps)
-    (features_.wayland_sys."${deps."rustwlc"."0.7.0"."wayland_sys"}" deps)
-  ];
-
-
-# end
-# semver-0.1.20
-
-  crates.semver."0.1.20" = deps: { features?(features_.semver."0.1.20" deps {}) }: buildRustCrate {
-    crateName = "semver";
-    version = "0.1.20";
-    description = "Semantic version parsing and comparison.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "05cdig0071hls2k8lxbqmyqpl0zjmc53i2d43mwzps033b8njh4n";
-  };
-  features_.semver."0.1.20" = deps: f: updateFeatures f ({
-    semver."0.1.20".default = (f.semver."0.1.20".default or true);
-  }) [];
-
-
-# end
-# serde-0.9.15
-
-  crates.serde."0.9.15" = deps: { features?(features_.serde."0.9.15" deps {}) }: buildRustCrate {
-    crateName = "serde";
-    version = "0.9.15";
-    description = "A generic serialization/deserialization framework";
-    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" ];
-    sha256 = "0rlflkc57kvy69hnhj4arfsj7ic4hpihxsb00zg5lkdxfj5qjx9b";
-    dependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."serde"."0.9.15" or {});
-  };
-  features_.serde."0.9.15" = deps: f: updateFeatures f (rec {
-    serde = fold recursiveUpdate {} [
-      { "0.9.15"."alloc" =
-        (f.serde."0.9.15"."alloc" or false) ||
-        (f.serde."0.9.15".collections or false) ||
-        (serde."0.9.15"."collections" or false); }
-      { "0.9.15"."serde_derive" =
-        (f.serde."0.9.15"."serde_derive" or false) ||
-        (f.serde."0.9.15".derive or false) ||
-        (serde."0.9.15"."derive" or false) ||
-        (f.serde."0.9.15".playground or false) ||
-        (serde."0.9.15"."playground" or false); }
-      { "0.9.15"."std" =
-        (f.serde."0.9.15"."std" or false) ||
-        (f.serde."0.9.15".default or false) ||
-        (serde."0.9.15"."default" or false) ||
-        (f.serde."0.9.15".unstable-testing or false) ||
-        (serde."0.9.15"."unstable-testing" or false); }
-      { "0.9.15"."unstable" =
-        (f.serde."0.9.15"."unstable" or false) ||
-        (f.serde."0.9.15".alloc or false) ||
-        (serde."0.9.15"."alloc" or false) ||
-        (f.serde."0.9.15".unstable-testing or false) ||
-        (serde."0.9.15"."unstable-testing" or false); }
-      { "0.9.15".default = (f.serde."0.9.15".default or true); }
-    ];
-  }) [];
-
-
-# end
-# serde_json-0.9.10
-
-  crates.serde_json."0.9.10" = deps: { features?(features_.serde_json."0.9.10" deps {}) }: buildRustCrate {
-    crateName = "serde_json";
-    version = "0.9.10";
-    description = "A JSON serialization file format";
-    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" ];
-    sha256 = "0g6bxlfnvf2miicnsizyrxm686rfval6gbss1i2qcna8msfwc005";
-    dependencies = mapFeatures features ([
-      (crates."dtoa"."${deps."serde_json"."0.9.10"."dtoa"}" deps)
-      (crates."itoa"."${deps."serde_json"."0.9.10"."itoa"}" deps)
-      (crates."num_traits"."${deps."serde_json"."0.9.10"."num_traits"}" deps)
-      (crates."serde"."${deps."serde_json"."0.9.10"."serde"}" deps)
-    ]);
-    features = mkFeatures (features."serde_json"."0.9.10" or {});
-  };
-  features_.serde_json."0.9.10" = deps: f: updateFeatures f (rec {
-    dtoa."${deps.serde_json."0.9.10".dtoa}".default = true;
-    itoa."${deps.serde_json."0.9.10".itoa}".default = true;
-    num_traits."${deps.serde_json."0.9.10".num_traits}".default = true;
-    serde."${deps.serde_json."0.9.10".serde}".default = true;
-    serde_json = fold recursiveUpdate {} [
-      { "0.9.10"."linked-hash-map" =
-        (f.serde_json."0.9.10"."linked-hash-map" or false) ||
-        (f.serde_json."0.9.10".preserve_order or false) ||
-        (serde_json."0.9.10"."preserve_order" or false); }
-      { "0.9.10".default = (f.serde_json."0.9.10".default or true); }
-    ];
-  }) [
-    (features_.dtoa."${deps."serde_json"."0.9.10"."dtoa"}" deps)
-    (features_.itoa."${deps."serde_json"."0.9.10"."itoa"}" deps)
-    (features_.num_traits."${deps."serde_json"."0.9.10"."num_traits"}" deps)
-    (features_.serde."${deps."serde_json"."0.9.10"."serde"}" deps)
-  ];
-
-
-# end
-# siphasher-0.2.3
-
-  crates.siphasher."0.2.3" = deps: { features?(features_.siphasher."0.2.3" deps {}) }: buildRustCrate {
-    crateName = "siphasher";
-    version = "0.2.3";
-    description = "SipHash functions from rust-core < 1.13";
-    authors = [ "Frank Denis <github@pureftpd.org>" ];
-    sha256 = "1ganj1grxqnkvv4ds3vby039bm999jrr58nfq2x3kjhzkw2bnqkw";
-  };
-  features_.siphasher."0.2.3" = deps: f: updateFeatures f ({
-    siphasher."0.2.3".default = (f.siphasher."0.2.3".default or true);
-  }) [];
-
-
-# end
-# target_build_utils-0.3.1
-
-  crates.target_build_utils."0.3.1" = deps: { features?(features_.target_build_utils."0.3.1" deps {}) }: buildRustCrate {
-    crateName = "target_build_utils";
-    version = "0.3.1";
-    description = "DEPRECATED: Use Cargo environment variables `CARGO_CFG_TARGET_*`";
-    authors = [ "Simonas Kazlauskas <target_build_utils@kazlauskas.me>" ];
-    sha256 = "1b450nyxlbgicp2p45mhxiv6yv0z7s4iw01lsaqh3v7b4bm53flj";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."phf"."${deps."target_build_utils"."0.3.1"."phf"}" deps)
-    ]
-      ++ (if features.target_build_utils."0.3.1".serde_json or false then [ (crates.serde_json."${deps."target_build_utils"."0.3.1".serde_json}" deps) ] else []));
-
-    buildDependencies = mapFeatures features ([
-      (crates."phf_codegen"."${deps."target_build_utils"."0.3.1"."phf_codegen"}" deps)
-    ]);
-    features = mkFeatures (features."target_build_utils"."0.3.1" or {});
-  };
-  features_.target_build_utils."0.3.1" = deps: f: updateFeatures f (rec {
-    phf."${deps.target_build_utils."0.3.1".phf}".default = true;
-    phf_codegen."${deps.target_build_utils."0.3.1".phf_codegen}".default = true;
-    serde_json."${deps.target_build_utils."0.3.1".serde_json}".default = true;
-    target_build_utils = fold recursiveUpdate {} [
-      { "0.3.1"."serde_json" =
-        (f.target_build_utils."0.3.1"."serde_json" or false) ||
-        (f.target_build_utils."0.3.1".default or false) ||
-        (target_build_utils."0.3.1"."default" or false); }
-      { "0.3.1".default = (f.target_build_utils."0.3.1".default or true); }
-    ];
-  }) [
-    (features_.phf."${deps."target_build_utils"."0.3.1"."phf"}" deps)
-    (features_.serde_json."${deps."target_build_utils"."0.3.1"."serde_json"}" deps)
-    (features_.phf_codegen."${deps."target_build_utils"."0.3.1"."phf_codegen"}" deps)
-  ];
-
-
-# end
-# thread-id-2.0.0
-
-  crates.thread_id."2.0.0" = deps: { features?(features_.thread_id."2.0.0" deps {}) }: buildRustCrate {
-    crateName = "thread-id";
-    version = "2.0.0";
-    description = "Get a unique thread ID";
-    authors = [ "Ruud van Asseldonk <dev@veniogames.com>" ];
-    sha256 = "06i3c8ckn97i5rp16civ2vpqbknlkx66dkrl070iw60nawi0kjc3";
-    dependencies = mapFeatures features ([
-      (crates."kernel32_sys"."${deps."thread_id"."2.0.0"."kernel32_sys"}" deps)
-      (crates."libc"."${deps."thread_id"."2.0.0"."libc"}" deps)
-    ]);
-  };
-  features_.thread_id."2.0.0" = deps: f: updateFeatures f ({
-    kernel32_sys."${deps.thread_id."2.0.0".kernel32_sys}".default = true;
-    libc."${deps.thread_id."2.0.0".libc}".default = true;
-    thread_id."2.0.0".default = (f.thread_id."2.0.0".default or true);
-  }) [
-    (features_.kernel32_sys."${deps."thread_id"."2.0.0"."kernel32_sys"}" deps)
-    (features_.libc."${deps."thread_id"."2.0.0"."libc"}" deps)
-  ];
-
-
-# end
-# thread_local-0.2.7
-
-  crates.thread_local."0.2.7" = deps: { features?(features_.thread_local."0.2.7" deps {}) }: buildRustCrate {
-    crateName = "thread_local";
-    version = "0.2.7";
-    description = "Per-object thread-local storage";
-    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
-    sha256 = "19p0zrs24rdwjvpi10jig5ms3sxj00pv8shkr9cpddri8cdghqp7";
-    dependencies = mapFeatures features ([
-      (crates."thread_id"."${deps."thread_local"."0.2.7"."thread_id"}" deps)
-    ]);
-  };
-  features_.thread_local."0.2.7" = deps: f: updateFeatures f ({
-    thread_id."${deps.thread_local."0.2.7".thread_id}".default = true;
-    thread_local."0.2.7".default = (f.thread_local."0.2.7".default or true);
-  }) [
-    (features_.thread_id."${deps."thread_local"."0.2.7"."thread_id"}" deps)
-  ];
-
-
-# end
-# token_store-0.1.2
-
-  crates.token_store."0.1.2" = deps: { features?(features_.token_store."0.1.2" deps {}) }: buildRustCrate {
-    crateName = "token_store";
-    version = "0.1.2";
-    description = "A token-based store for arbitrary values";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "1v7acraqyh6iibg87pwkxm41v783sminxm5k9f4ndra7r0vq4zvq";
-  };
-  features_.token_store."0.1.2" = deps: f: updateFeatures f ({
-    token_store."0.1.2".default = (f.token_store."0.1.2".default or true);
-  }) [];
-
-
-# end
-# unicode-width-0.1.5
-
-  crates.unicode_width."0.1.5" = deps: { features?(features_.unicode_width."0.1.5" deps {}) }: buildRustCrate {
-    crateName = "unicode-width";
-    version = "0.1.5";
-    description = "Determine displayed width of `char` and `str` types\naccording to Unicode Standard Annex #11 rules.\n";
-    authors = [ "kwantam <kwantam@gmail.com>" ];
-    sha256 = "0886lc2aymwgy0lhavwn6s48ik3c61ykzzd3za6prgnw51j7bi4w";
-    features = mkFeatures (features."unicode_width"."0.1.5" or {});
-  };
-  features_.unicode_width."0.1.5" = deps: f: updateFeatures f ({
-    unicode_width."0.1.5".default = (f.unicode_width."0.1.5".default or true);
-  }) [];
-
-
-# end
-# utf8-ranges-0.1.3
-
-  crates.utf8_ranges."0.1.3" = deps: { features?(features_.utf8_ranges."0.1.3" deps {}) }: buildRustCrate {
-    crateName = "utf8-ranges";
-    version = "0.1.3";
-    description = "Convert ranges of Unicode codepoints to UTF-8 byte ranges.";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-    sha256 = "1cj548a91a93j8375p78qikaiam548xh84cb0ck8y119adbmsvbp";
-  };
-  features_.utf8_ranges."0.1.3" = deps: f: updateFeatures f ({
-    utf8_ranges."0.1.3".default = (f.utf8_ranges."0.1.3".default or true);
-  }) [];
-
-
-# end
-# uuid-0.3.1
-
-  crates.uuid."0.3.1" = deps: { features?(features_.uuid."0.3.1" deps {}) }: buildRustCrate {
-    crateName = "uuid";
-    version = "0.3.1";
-    description = "A library to generate and parse UUIDs.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "16ak1c84dfkd8h33cvkxrkvc30k7b0bhrnza8ni2c0jsx85fpbip";
-    dependencies = mapFeatures features ([
-    ]
-      ++ (if features.uuid."0.3.1".rand or false then [ (crates.rand."${deps."uuid"."0.3.1".rand}" deps) ] else [])
-      ++ (if features.uuid."0.3.1".rustc-serialize or false then [ (crates.rustc_serialize."${deps."uuid"."0.3.1".rustc_serialize}" deps) ] else []));
-    features = mkFeatures (features."uuid"."0.3.1" or {});
-  };
-  features_.uuid."0.3.1" = deps: f: updateFeatures f (rec {
-    rand."${deps.uuid."0.3.1".rand}".default = true;
-    rustc_serialize."${deps.uuid."0.3.1".rustc_serialize}".default = true;
-    uuid = fold recursiveUpdate {} [
-      { "0.3.1"."rand" =
-        (f.uuid."0.3.1"."rand" or false) ||
-        (f.uuid."0.3.1".v4 or false) ||
-        (uuid."0.3.1"."v4" or false); }
-      { "0.3.1"."sha1" =
-        (f.uuid."0.3.1"."sha1" or false) ||
-        (f.uuid."0.3.1".v5 or false) ||
-        (uuid."0.3.1"."v5" or false); }
-      { "0.3.1".default = (f.uuid."0.3.1".default or true); }
-    ];
-  }) [
-    (features_.rand."${deps."uuid"."0.3.1"."rand"}" deps)
-    (features_.rustc_serialize."${deps."uuid"."0.3.1"."rustc_serialize"}" deps)
-  ];
-
-
-# end
-# void-1.0.2
-
-  crates.void."1.0.2" = deps: { features?(features_.void."1.0.2" deps {}) }: buildRustCrate {
-    crateName = "void";
-    version = "1.0.2";
-    description = "The uninhabited void type for use in statically impossible cases.";
-    authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
-    sha256 = "0h1dm0dx8dhf56a83k68mijyxigqhizpskwxfdrs1drwv2cdclv3";
-    features = mkFeatures (features."void"."1.0.2" or {});
-  };
-  features_.void."1.0.2" = deps: f: updateFeatures f (rec {
-    void = fold recursiveUpdate {} [
-      { "1.0.2"."std" =
-        (f.void."1.0.2"."std" or false) ||
-        (f.void."1.0.2".default or false) ||
-        (void."1.0.2"."default" or false); }
-      { "1.0.2".default = (f.void."1.0.2".default or true); }
-    ];
-  }) [];
-
-
-# end
-# way-cooler-0.8.1
-
-  crates.way_cooler."0.8.1" = deps: { features?(features_.way_cooler."0.8.1" deps {}) }: buildRustCrate {
-    crateName = "way-cooler";
-    version = "0.8.1";
-    description = "Customizeable Wayland compositor written in Rust";
-    authors = [ "Snirk Immington <snirk.immington@gmail.com>" "Timidger <apragmaticplace@gmail.com>" ];
-    sha256 = "01cp5z0qf522d7cvsr9gfp7f4hkphmp38hv70dsf9lvcnp6p1qkc";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."way_cooler"."0.8.1"."bitflags"}" deps)
-      (crates."cairo_rs"."${deps."way_cooler"."0.8.1"."cairo_rs"}" deps)
-      (crates."cairo_sys_rs"."${deps."way_cooler"."0.8.1"."cairo_sys_rs"}" deps)
-      (crates."dbus"."${deps."way_cooler"."0.8.1"."dbus"}" deps)
-      (crates."dbus_macros"."${deps."way_cooler"."0.8.1"."dbus_macros"}" deps)
-      (crates."env_logger"."${deps."way_cooler"."0.8.1"."env_logger"}" deps)
-      (crates."gdk_pixbuf"."${deps."way_cooler"."0.8.1"."gdk_pixbuf"}" deps)
-      (crates."getopts"."${deps."way_cooler"."0.8.1"."getopts"}" deps)
-      (crates."glib"."${deps."way_cooler"."0.8.1"."glib"}" deps)
-      (crates."json_macro"."${deps."way_cooler"."0.8.1"."json_macro"}" deps)
-      (crates."lazy_static"."${deps."way_cooler"."0.8.1"."lazy_static"}" deps)
-      (crates."log"."${deps."way_cooler"."0.8.1"."log"}" deps)
-      (crates."nix"."${deps."way_cooler"."0.8.1"."nix"}" deps)
-      (crates."petgraph"."${deps."way_cooler"."0.8.1"."petgraph"}" deps)
-      (crates."rlua"."${deps."way_cooler"."0.8.1"."rlua"}" deps)
-      (crates."rustc_serialize"."${deps."way_cooler"."0.8.1"."rustc_serialize"}" deps)
-      (crates."rustwlc"."${deps."way_cooler"."0.8.1"."rustwlc"}" deps)
-      (crates."uuid"."${deps."way_cooler"."0.8.1"."uuid"}" deps)
-      (crates."wayland_server"."${deps."way_cooler"."0.8.1"."wayland_server"}" deps)
-      (crates."wayland_sys"."${deps."way_cooler"."0.8.1"."wayland_sys"}" deps)
-      (crates."xcb"."${deps."way_cooler"."0.8.1"."xcb"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-      (crates."wayland_scanner"."${deps."way_cooler"."0.8.1"."wayland_scanner"}" deps)
-    ]);
-    features = mkFeatures (features."way_cooler"."0.8.1" or {});
-  };
-  features_.way_cooler."0.8.1" = deps: f: updateFeatures f (rec {
-    bitflags."${deps.way_cooler."0.8.1".bitflags}".default = true;
-    cairo_rs."${deps.way_cooler."0.8.1".cairo_rs}".default = true;
-    cairo_sys_rs."${deps.way_cooler."0.8.1".cairo_sys_rs}".default = true;
-    dbus."${deps.way_cooler."0.8.1".dbus}".default = true;
-    dbus_macros."${deps.way_cooler."0.8.1".dbus_macros}".default = true;
-    env_logger."${deps.way_cooler."0.8.1".env_logger}".default = true;
-    gdk_pixbuf."${deps.way_cooler."0.8.1".gdk_pixbuf}".default = true;
-    getopts."${deps.way_cooler."0.8.1".getopts}".default = true;
-    glib."${deps.way_cooler."0.8.1".glib}".default = true;
-    json_macro."${deps.way_cooler."0.8.1".json_macro}".default = true;
-    lazy_static."${deps.way_cooler."0.8.1".lazy_static}".default = true;
-    log."${deps.way_cooler."0.8.1".log}".default = true;
-    nix."${deps.way_cooler."0.8.1".nix}".default = true;
-    petgraph."${deps.way_cooler."0.8.1".petgraph}".default = true;
-    rlua = fold recursiveUpdate {} [
-      { "${deps.way_cooler."0.8.1".rlua}"."builtin-lua" =
-        (f.rlua."${deps.way_cooler."0.8.1".rlua}"."builtin-lua" or false) ||
-        (way_cooler."0.8.1"."builtin-lua" or false) ||
-        (f."way_cooler"."0.8.1"."builtin-lua" or false); }
-      { "${deps.way_cooler."0.8.1".rlua}".default = (f.rlua."${deps.way_cooler."0.8.1".rlua}".default or false); }
-    ];
-    rustc_serialize."${deps.way_cooler."0.8.1".rustc_serialize}".default = true;
-    rustwlc = fold recursiveUpdate {} [
-      { "${deps.way_cooler."0.8.1".rustwlc}"."static-wlc" =
-        (f.rustwlc."${deps.way_cooler."0.8.1".rustwlc}"."static-wlc" or false) ||
-        (way_cooler."0.8.1"."static-wlc" or false) ||
-        (f."way_cooler"."0.8.1"."static-wlc" or false); }
-      { "${deps.way_cooler."0.8.1".rustwlc}"."wlc-wayland" = true; }
-      { "${deps.way_cooler."0.8.1".rustwlc}".default = true; }
-    ];
-    uuid = fold recursiveUpdate {} [
-      { "${deps.way_cooler."0.8.1".uuid}"."rustc-serialize" = true; }
-      { "${deps.way_cooler."0.8.1".uuid}"."v4" = true; }
-      { "${deps.way_cooler."0.8.1".uuid}".default = true; }
-    ];
-    way_cooler."0.8.1".default = (f.way_cooler."0.8.1".default or true);
-    wayland_scanner."${deps.way_cooler."0.8.1".wayland_scanner}".default = true;
-    wayland_server."${deps.way_cooler."0.8.1".wayland_server}".default = true;
-    wayland_sys = fold recursiveUpdate {} [
-      { "${deps.way_cooler."0.8.1".wayland_sys}"."client" = true; }
-      { "${deps.way_cooler."0.8.1".wayland_sys}"."dlopen" = true; }
-      { "${deps.way_cooler."0.8.1".wayland_sys}".default = true; }
-    ];
-    xcb = fold recursiveUpdate {} [
-      { "${deps.way_cooler."0.8.1".xcb}"."xkb" = true; }
-      { "${deps.way_cooler."0.8.1".xcb}".default = true; }
-    ];
-  }) [
-    (features_.bitflags."${deps."way_cooler"."0.8.1"."bitflags"}" deps)
-    (features_.cairo_rs."${deps."way_cooler"."0.8.1"."cairo_rs"}" deps)
-    (features_.cairo_sys_rs."${deps."way_cooler"."0.8.1"."cairo_sys_rs"}" deps)
-    (features_.dbus."${deps."way_cooler"."0.8.1"."dbus"}" deps)
-    (features_.dbus_macros."${deps."way_cooler"."0.8.1"."dbus_macros"}" deps)
-    (features_.env_logger."${deps."way_cooler"."0.8.1"."env_logger"}" deps)
-    (features_.gdk_pixbuf."${deps."way_cooler"."0.8.1"."gdk_pixbuf"}" deps)
-    (features_.getopts."${deps."way_cooler"."0.8.1"."getopts"}" deps)
-    (features_.glib."${deps."way_cooler"."0.8.1"."glib"}" deps)
-    (features_.json_macro."${deps."way_cooler"."0.8.1"."json_macro"}" deps)
-    (features_.lazy_static."${deps."way_cooler"."0.8.1"."lazy_static"}" deps)
-    (features_.log."${deps."way_cooler"."0.8.1"."log"}" deps)
-    (features_.nix."${deps."way_cooler"."0.8.1"."nix"}" deps)
-    (features_.petgraph."${deps."way_cooler"."0.8.1"."petgraph"}" deps)
-    (features_.rlua."${deps."way_cooler"."0.8.1"."rlua"}" deps)
-    (features_.rustc_serialize."${deps."way_cooler"."0.8.1"."rustc_serialize"}" deps)
-    (features_.rustwlc."${deps."way_cooler"."0.8.1"."rustwlc"}" deps)
-    (features_.uuid."${deps."way_cooler"."0.8.1"."uuid"}" deps)
-    (features_.wayland_server."${deps."way_cooler"."0.8.1"."wayland_server"}" deps)
-    (features_.wayland_sys."${deps."way_cooler"."0.8.1"."wayland_sys"}" deps)
-    (features_.xcb."${deps."way_cooler"."0.8.1"."xcb"}" deps)
-    (features_.wayland_scanner."${deps."way_cooler"."0.8.1"."wayland_scanner"}" deps)
-  ];
-
-
-# end
-# wayland-scanner-0.12.5
-
-  crates.wayland_scanner."0.12.5" = deps: { features?(features_.wayland_scanner."0.12.5" deps {}) }: buildRustCrate {
-    crateName = "wayland-scanner";
-    version = "0.12.5";
-    description = "Wayland Scanner for generating rust APIs from XML wayland protocol files. Intented for use with wayland-sys. You should only need this crate if you are working on custom wayland protocol extensions. Look at the crate wayland-client for usable bindings.";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "1s0fsc3pff0fxvzqsy8n018smwacih9ix8ww0yf969aa0vak15dz";
-    dependencies = mapFeatures features ([
-      (crates."xml_rs"."${deps."wayland_scanner"."0.12.5"."xml_rs"}" deps)
-    ]);
-  };
-  features_.wayland_scanner."0.12.5" = deps: f: updateFeatures f ({
-    wayland_scanner."0.12.5".default = (f.wayland_scanner."0.12.5".default or true);
-    xml_rs."${deps.wayland_scanner."0.12.5".xml_rs}".default = true;
-  }) [
-    (features_.xml_rs."${deps."wayland_scanner"."0.12.5"."xml_rs"}" deps)
-  ];
-
-
-# end
-# wayland-server-0.12.5
-
-  crates.wayland_server."0.12.5" = deps: { features?(features_.wayland_server."0.12.5" deps {}) }: buildRustCrate {
-    crateName = "wayland-server";
-    version = "0.12.5";
-    description = "Bindings to the standard C implementation of the wayland protocol, server side.";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "17g0m9afcmi24ylirw4l8i70s5849x7m4b5nxk9k13s5pkza68ag";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."wayland_server"."0.12.5"."bitflags"}" deps)
-      (crates."libc"."${deps."wayland_server"."0.12.5"."libc"}" deps)
-      (crates."nix"."${deps."wayland_server"."0.12.5"."nix"}" deps)
-      (crates."token_store"."${deps."wayland_server"."0.12.5"."token_store"}" deps)
-      (crates."wayland_sys"."${deps."wayland_server"."0.12.5"."wayland_sys"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-      (crates."wayland_scanner"."${deps."wayland_server"."0.12.5"."wayland_scanner"}" deps)
-    ]);
-    features = mkFeatures (features."wayland_server"."0.12.5" or {});
-  };
-  features_.wayland_server."0.12.5" = deps: f: updateFeatures f (rec {
-    bitflags."${deps.wayland_server."0.12.5".bitflags}".default = true;
-    libc."${deps.wayland_server."0.12.5".libc}".default = true;
-    nix."${deps.wayland_server."0.12.5".nix}".default = true;
-    token_store."${deps.wayland_server."0.12.5".token_store}".default = true;
-    wayland_scanner."${deps.wayland_server."0.12.5".wayland_scanner}".default = true;
-    wayland_server."0.12.5".default = (f.wayland_server."0.12.5".default or true);
-    wayland_sys = fold recursiveUpdate {} [
-      { "${deps.wayland_server."0.12.5".wayland_sys}"."dlopen" =
-        (f.wayland_sys."${deps.wayland_server."0.12.5".wayland_sys}"."dlopen" or false) ||
-        (wayland_server."0.12.5"."dlopen" or false) ||
-        (f."wayland_server"."0.12.5"."dlopen" or false); }
-      { "${deps.wayland_server."0.12.5".wayland_sys}"."server" = true; }
-      { "${deps.wayland_server."0.12.5".wayland_sys}".default = true; }
-    ];
-  }) [
-    (features_.bitflags."${deps."wayland_server"."0.12.5"."bitflags"}" deps)
-    (features_.libc."${deps."wayland_server"."0.12.5"."libc"}" deps)
-    (features_.nix."${deps."wayland_server"."0.12.5"."nix"}" deps)
-    (features_.token_store."${deps."wayland_server"."0.12.5"."token_store"}" deps)
-    (features_.wayland_sys."${deps."wayland_server"."0.12.5"."wayland_sys"}" deps)
-    (features_.wayland_scanner."${deps."wayland_server"."0.12.5"."wayland_scanner"}" deps)
-  ];
-
-
-# end
-# wayland-sys-0.6.0
-
-  crates.wayland_sys."0.6.0" = deps: { features?(features_.wayland_sys."0.6.0" deps {}) }: buildRustCrate {
-    crateName = "wayland-sys";
-    version = "0.6.0";
-    description = "FFI bindings to the various libwayland-*.so libraries. You should only need this crate if you are working on custom wayland protocol extensions. Look at the crate wayland-client for usable bindings.";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "0m6db0kld2d4xv4ai9kxlqrh362hwi0030b4zbss0sfha1hx5mfl";
-    dependencies = mapFeatures features ([
-      (crates."dlib"."${deps."wayland_sys"."0.6.0"."dlib"}" deps)
-    ]
-      ++ (if features.wayland_sys."0.6.0".libc or false then [ (crates.libc."${deps."wayland_sys"."0.6.0".libc}" deps) ] else []));
-    features = mkFeatures (features."wayland_sys"."0.6.0" or {});
-  };
-  features_.wayland_sys."0.6.0" = deps: f: updateFeatures f (rec {
-    dlib = fold recursiveUpdate {} [
-      { "${deps.wayland_sys."0.6.0".dlib}"."dlopen" =
-        (f.dlib."${deps.wayland_sys."0.6.0".dlib}"."dlopen" or false) ||
-        (wayland_sys."0.6.0"."dlopen" or false) ||
-        (f."wayland_sys"."0.6.0"."dlopen" or false); }
-      { "${deps.wayland_sys."0.6.0".dlib}".default = true; }
-    ];
-    libc."${deps.wayland_sys."0.6.0".libc}".default = true;
-    wayland_sys = fold recursiveUpdate {} [
-      { "0.6.0"."lazy_static" =
-        (f.wayland_sys."0.6.0"."lazy_static" or false) ||
-        (f.wayland_sys."0.6.0".dlopen or false) ||
-        (wayland_sys."0.6.0"."dlopen" or false); }
-      { "0.6.0"."libc" =
-        (f.wayland_sys."0.6.0"."libc" or false) ||
-        (f.wayland_sys."0.6.0".server or false) ||
-        (wayland_sys."0.6.0"."server" or false); }
-      { "0.6.0".default = (f.wayland_sys."0.6.0".default or true); }
-    ];
-  }) [
-    (features_.dlib."${deps."wayland_sys"."0.6.0"."dlib"}" deps)
-    (features_.libc."${deps."wayland_sys"."0.6.0"."libc"}" deps)
-  ];
-
-
-# end
-# wayland-sys-0.9.10
-
-  crates.wayland_sys."0.9.10" = deps: { features?(features_.wayland_sys."0.9.10" deps {}) }: buildRustCrate {
-    crateName = "wayland-sys";
-    version = "0.9.10";
-    description = "FFI bindings to the various libwayland-*.so libraries. You should only need this crate if you are working on custom wayland protocol extensions. Look at the crate wayland-client for usable bindings.";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "011q7lfii222whvif39asvryl1sf3rc1fxp8qs8gh84kr4mna0k8";
-    dependencies = mapFeatures features ([
-      (crates."dlib"."${deps."wayland_sys"."0.9.10"."dlib"}" deps)
-    ]
-      ++ (if features.wayland_sys."0.9.10".lazy_static or false then [ (crates.lazy_static."${deps."wayland_sys"."0.9.10".lazy_static}" deps) ] else [])
-      ++ (if features.wayland_sys."0.9.10".libc or false then [ (crates.libc."${deps."wayland_sys"."0.9.10".libc}" deps) ] else []));
-    features = mkFeatures (features."wayland_sys"."0.9.10" or {});
-  };
-  features_.wayland_sys."0.9.10" = deps: f: updateFeatures f (rec {
-    dlib = fold recursiveUpdate {} [
-      { "${deps.wayland_sys."0.9.10".dlib}"."dlopen" =
-        (f.dlib."${deps.wayland_sys."0.9.10".dlib}"."dlopen" or false) ||
-        (wayland_sys."0.9.10"."dlopen" or false) ||
-        (f."wayland_sys"."0.9.10"."dlopen" or false); }
-      { "${deps.wayland_sys."0.9.10".dlib}".default = true; }
-    ];
-    lazy_static."${deps.wayland_sys."0.9.10".lazy_static}".default = true;
-    libc."${deps.wayland_sys."0.9.10".libc}".default = true;
-    wayland_sys = fold recursiveUpdate {} [
-      { "0.9.10"."lazy_static" =
-        (f.wayland_sys."0.9.10"."lazy_static" or false) ||
-        (f.wayland_sys."0.9.10".dlopen or false) ||
-        (wayland_sys."0.9.10"."dlopen" or false); }
-      { "0.9.10"."libc" =
-        (f.wayland_sys."0.9.10"."libc" or false) ||
-        (f.wayland_sys."0.9.10".server or false) ||
-        (wayland_sys."0.9.10"."server" or false); }
-      { "0.9.10".default = (f.wayland_sys."0.9.10".default or true); }
-    ];
-  }) [
-    (features_.dlib."${deps."wayland_sys"."0.9.10"."dlib"}" deps)
-    (features_.lazy_static."${deps."wayland_sys"."0.9.10"."lazy_static"}" deps)
-    (features_.libc."${deps."wayland_sys"."0.9.10"."libc"}" deps)
-  ];
-
-
-# end
-# wayland-sys-0.12.5
-
-  crates.wayland_sys."0.12.5" = deps: { features?(features_.wayland_sys."0.12.5" deps {}) }: buildRustCrate {
-    crateName = "wayland-sys";
-    version = "0.12.5";
-    description = "FFI bindings to the various libwayland-*.so libraries. You should only need this crate if you are working on custom wayland protocol extensions. Look at the crate wayland-client for usable bindings.";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "0mwk5vc7mibxka5w66vy2qj32b72d1srqvp36nr15xfl9lwf3dc4";
-    dependencies = mapFeatures features ([
-      (crates."dlib"."${deps."wayland_sys"."0.12.5"."dlib"}" deps)
-    ]
-      ++ (if features.wayland_sys."0.12.5".lazy_static or false then [ (crates.lazy_static."${deps."wayland_sys"."0.12.5".lazy_static}" deps) ] else [])
-      ++ (if features.wayland_sys."0.12.5".libc or false then [ (crates.libc."${deps."wayland_sys"."0.12.5".libc}" deps) ] else []));
-    features = mkFeatures (features."wayland_sys"."0.12.5" or {});
-  };
-  features_.wayland_sys."0.12.5" = deps: f: updateFeatures f (rec {
-    dlib = fold recursiveUpdate {} [
-      { "${deps.wayland_sys."0.12.5".dlib}"."dlopen" =
-        (f.dlib."${deps.wayland_sys."0.12.5".dlib}"."dlopen" or false) ||
-        (wayland_sys."0.12.5"."dlopen" or false) ||
-        (f."wayland_sys"."0.12.5"."dlopen" or false); }
-      { "${deps.wayland_sys."0.12.5".dlib}".default = true; }
-    ];
-    lazy_static."${deps.wayland_sys."0.12.5".lazy_static}".default = true;
-    libc."${deps.wayland_sys."0.12.5".libc}".default = true;
-    wayland_sys = fold recursiveUpdate {} [
-      { "0.12.5"."lazy_static" =
-        (f.wayland_sys."0.12.5"."lazy_static" or false) ||
-        (f.wayland_sys."0.12.5".dlopen or false) ||
-        (wayland_sys."0.12.5"."dlopen" or false); }
-      { "0.12.5"."libc" =
-        (f.wayland_sys."0.12.5"."libc" or false) ||
-        (f.wayland_sys."0.12.5".server or false) ||
-        (wayland_sys."0.12.5"."server" or false); }
-      { "0.12.5".default = (f.wayland_sys."0.12.5".default or true); }
-    ];
-  }) [
-    (features_.dlib."${deps."wayland_sys"."0.12.5"."dlib"}" deps)
-    (features_.lazy_static."${deps."wayland_sys"."0.12.5"."lazy_static"}" deps)
-    (features_.libc."${deps."wayland_sys"."0.12.5"."libc"}" deps)
-  ];
-
-
-# end
-# winapi-0.2.8
-
-  crates.winapi."0.2.8" = deps: { features?(features_.winapi."0.2.8" deps {}) }: buildRustCrate {
-    crateName = "winapi";
-    version = "0.2.8";
-    description = "Types and constants for WinAPI bindings. See README for list of crates providing function bindings.";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
-  };
-  features_.winapi."0.2.8" = deps: f: updateFeatures f ({
-    winapi."0.2.8".default = (f.winapi."0.2.8".default or true);
-  }) [];
-
-
-# end
-# winapi-0.3.6
-
-  crates.winapi."0.3.6" = deps: { features?(features_.winapi."0.3.6" deps {}) }: buildRustCrate {
-    crateName = "winapi";
-    version = "0.3.6";
-    description = "Raw FFI bindings for all of Windows API.";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "1d9jfp4cjd82sr1q4dgdlrkvm33zhhav9d7ihr0nivqbncr059m4";
-    build = "build.rs";
-    dependencies = (if kernel == "i686-pc-windows-gnu" then mapFeatures features ([
-      (crates."winapi_i686_pc_windows_gnu"."${deps."winapi"."0.3.6"."winapi_i686_pc_windows_gnu"}" deps)
-    ]) else [])
-      ++ (if kernel == "x86_64-pc-windows-gnu" then mapFeatures features ([
-      (crates."winapi_x86_64_pc_windows_gnu"."${deps."winapi"."0.3.6"."winapi_x86_64_pc_windows_gnu"}" deps)
-    ]) else []);
-    features = mkFeatures (features."winapi"."0.3.6" or {});
-  };
-  features_.winapi."0.3.6" = deps: f: updateFeatures f ({
-    winapi."0.3.6".default = (f.winapi."0.3.6".default or true);
-    winapi_i686_pc_windows_gnu."${deps.winapi."0.3.6".winapi_i686_pc_windows_gnu}".default = true;
-    winapi_x86_64_pc_windows_gnu."${deps.winapi."0.3.6".winapi_x86_64_pc_windows_gnu}".default = true;
-  }) [
-    (features_.winapi_i686_pc_windows_gnu."${deps."winapi"."0.3.6"."winapi_i686_pc_windows_gnu"}" deps)
-    (features_.winapi_x86_64_pc_windows_gnu."${deps."winapi"."0.3.6"."winapi_x86_64_pc_windows_gnu"}" deps)
-  ];
-
-
-# end
-# winapi-build-0.1.1
-
-  crates.winapi_build."0.1.1" = deps: { features?(features_.winapi_build."0.1.1" deps {}) }: buildRustCrate {
-    crateName = "winapi-build";
-    version = "0.1.1";
-    description = "Common code for build.rs in WinAPI -sys crates.";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
-    libName = "build";
-  };
-  features_.winapi_build."0.1.1" = deps: f: updateFeatures f ({
-    winapi_build."0.1.1".default = (f.winapi_build."0.1.1".default or true);
-  }) [];
-
-
-# end
-# winapi-i686-pc-windows-gnu-0.4.0
-
-  crates.winapi_i686_pc_windows_gnu."0.4.0" = deps: { features?(features_.winapi_i686_pc_windows_gnu."0.4.0" deps {}) }: buildRustCrate {
-    crateName = "winapi-i686-pc-windows-gnu";
-    version = "0.4.0";
-    description = "Import libraries for the i686-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "05ihkij18r4gamjpxj4gra24514can762imjzlmak5wlzidplzrp";
-    build = "build.rs";
-  };
-  features_.winapi_i686_pc_windows_gnu."0.4.0" = deps: f: updateFeatures f ({
-    winapi_i686_pc_windows_gnu."0.4.0".default = (f.winapi_i686_pc_windows_gnu."0.4.0".default or true);
-  }) [];
-
-
-# end
-# winapi-x86_64-pc-windows-gnu-0.4.0
-
-  crates.winapi_x86_64_pc_windows_gnu."0.4.0" = deps: { features?(features_.winapi_x86_64_pc_windows_gnu."0.4.0" deps {}) }: buildRustCrate {
-    crateName = "winapi-x86_64-pc-windows-gnu";
-    version = "0.4.0";
-    description = "Import libraries for the x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "0n1ylmlsb8yg1v583i4xy0qmqg42275flvbc51hdqjjfjcl9vlbj";
-    build = "build.rs";
-  };
-  features_.winapi_x86_64_pc_windows_gnu."0.4.0" = deps: f: updateFeatures f ({
-    winapi_x86_64_pc_windows_gnu."0.4.0".default = (f.winapi_x86_64_pc_windows_gnu."0.4.0".default or true);
-  }) [];
-
-
-# end
-# xcb-0.8.2
-
-  crates.xcb."0.8.2" = deps: { features?(features_.xcb."0.8.2" deps {}) }: buildRustCrate {
-    crateName = "xcb";
-    version = "0.8.2";
-    description = "Rust bindings and wrappers for XCB";
-    authors = [ "Remi Thebault <remi.thebault@gmail.com>" ];
-    sha256 = "06l8jms57wvz01vx82a3cwak9b9qwdkadvpmkk1zimy2qg7i7dkl";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."libc"."${deps."xcb"."0.8.2"."libc"}" deps)
-      (crates."log"."${deps."xcb"."0.8.2"."log"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-      (crates."libc"."${deps."xcb"."0.8.2"."libc"}" deps)
-    ]);
-    features = mkFeatures (features."xcb"."0.8.2" or {});
-  };
-  features_.xcb."0.8.2" = deps: f: updateFeatures f (rec {
-    libc."${deps.xcb."0.8.2".libc}".default = true;
-    log."${deps.xcb."0.8.2".log}".default = true;
-    xcb = fold recursiveUpdate {} [
-      { "0.8.2"."composite" =
-        (f.xcb."0.8.2"."composite" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."damage" =
-        (f.xcb."0.8.2"."damage" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."dpms" =
-        (f.xcb."0.8.2"."dpms" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."dri2" =
-        (f.xcb."0.8.2"."dri2" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."dri3" =
-        (f.xcb."0.8.2"."dri3" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."glx" =
-        (f.xcb."0.8.2"."glx" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."randr" =
-        (f.xcb."0.8.2"."randr" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."record" =
-        (f.xcb."0.8.2"."record" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."render" =
-        (f.xcb."0.8.2"."render" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false) ||
-        (f.xcb."0.8.2".present or false) ||
-        (xcb."0.8.2"."present" or false) ||
-        (f.xcb."0.8.2".randr or false) ||
-        (xcb."0.8.2"."randr" or false) ||
-        (f.xcb."0.8.2".xfixes or false) ||
-        (xcb."0.8.2"."xfixes" or false); }
-      { "0.8.2"."res" =
-        (f.xcb."0.8.2"."res" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."screensaver" =
-        (f.xcb."0.8.2"."screensaver" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."shape" =
-        (f.xcb."0.8.2"."shape" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false) ||
-        (f.xcb."0.8.2".xfixes or false) ||
-        (xcb."0.8.2"."xfixes" or false); }
-      { "0.8.2"."shm" =
-        (f.xcb."0.8.2"."shm" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false) ||
-        (f.xcb."0.8.2".xv or false) ||
-        (xcb."0.8.2"."xv" or false); }
-      { "0.8.2"."sync" =
-        (f.xcb."0.8.2"."sync" or false) ||
-        (f.xcb."0.8.2".present or false) ||
-        (xcb."0.8.2"."present" or false); }
-      { "0.8.2"."thread" =
-        (f.xcb."0.8.2"."thread" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."xevie" =
-        (f.xcb."0.8.2"."xevie" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."xf86dri" =
-        (f.xcb."0.8.2"."xf86dri" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."xfixes" =
-        (f.xcb."0.8.2"."xfixes" or false) ||
-        (f.xcb."0.8.2".composite or false) ||
-        (xcb."0.8.2"."composite" or false) ||
-        (f.xcb."0.8.2".damage or false) ||
-        (xcb."0.8.2"."damage" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false) ||
-        (f.xcb."0.8.2".present or false) ||
-        (xcb."0.8.2"."present" or false) ||
-        (f.xcb."0.8.2".xinput or false) ||
-        (xcb."0.8.2"."xinput" or false); }
-      { "0.8.2"."xinerama" =
-        (f.xcb."0.8.2"."xinerama" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."xkb" =
-        (f.xcb."0.8.2"."xkb" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."xlib_xcb" =
-        (f.xcb."0.8.2"."xlib_xcb" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."xprint" =
-        (f.xcb."0.8.2"."xprint" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."xselinux" =
-        (f.xcb."0.8.2"."xselinux" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."xtest" =
-        (f.xcb."0.8.2"."xtest" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2"."xv" =
-        (f.xcb."0.8.2"."xv" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false) ||
-        (f.xcb."0.8.2".xvmc or false) ||
-        (xcb."0.8.2"."xvmc" or false); }
-      { "0.8.2"."xvmc" =
-        (f.xcb."0.8.2"."xvmc" or false) ||
-        (f.xcb."0.8.2".debug_all or false) ||
-        (xcb."0.8.2"."debug_all" or false); }
-      { "0.8.2".default = (f.xcb."0.8.2".default or true); }
-    ];
-  }) [
-    (features_.libc."${deps."xcb"."0.8.2"."libc"}" deps)
-    (features_.log."${deps."xcb"."0.8.2"."log"}" deps)
-    (features_.libc."${deps."xcb"."0.8.2"."libc"}" deps)
-  ];
-
-
-# end
-# xml-rs-0.7.0
-
-  crates.xml_rs."0.7.0" = deps: { features?(features_.xml_rs."0.7.0" deps {}) }: buildRustCrate {
-    crateName = "xml-rs";
-    version = "0.7.0";
-    description = "An XML library in pure Rust";
-    authors = [ "Vladimir Matveev <vladimir.matweev@gmail.com>" ];
-    sha256 = "12rynhqjgkg2hzy9x1d1232p9d9jm40bc3by5yzjv8gx089mflyb";
-    libPath = "src/lib.rs";
-    libName = "xml";
-    crateBin =
-      [{  name = "xml-analyze";  path = "src/analyze.rs"; }];
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."xml_rs"."0.7.0"."bitflags"}" deps)
-    ]);
-  };
-  features_.xml_rs."0.7.0" = deps: f: updateFeatures f ({
-    bitflags."${deps.xml_rs."0.7.0".bitflags}".default = true;
-    xml_rs."0.7.0".default = (f.xml_rs."0.7.0".default or true);
-  }) [
-    (features_.bitflags."${deps."xml_rs"."0.7.0"."bitflags"}" deps)
-  ];
-
-
-# end
-}
diff --git a/pkgs/applications/window-managers/way-cooler/default.nix b/pkgs/applications/window-managers/way-cooler/default.nix
deleted file mode 100644
index 7bc6ac70020..00000000000
--- a/pkgs/applications/window-managers/way-cooler/default.nix
+++ /dev/null
@@ -1,113 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, symlinkJoin, writeShellScriptBin, callPackage, defaultCrateOverrides
-, wayland, cairo, libxkbcommon, pam, python3Packages, lemonbar, gdk-pixbuf
-}:
-
-let
-  wlc = callPackage ./wlc.nix {};
-
-  # refer to
-  # https://github.com/way-cooler/way-cooler.github.io/blob/master/way-cooler-release-i3-default.sh
-  # for version numbers
-  cratesIO = callPackage ./crates-io.nix {};
-
-  fakegit = writeShellScriptBin "git" ''
-    echo ""
-  '';
-  # https://nest.pijul.com/pmeunier/carnix/discussions/22
-  version = "0.8.1";
-  deps = (callPackage ./way-cooler.nix {}).deps;
-  way_cooler_ = f: cratesIO.crates.way_cooler.${version} deps {
-    features = cratesIO.features_.way_cooler.${version} deps {
-      way_cooler.${version} = f;
-    };
-  };
-  way-cooler = ((way_cooler_ { builtin-lua = true; }).override {
-    crateOverrides = defaultCrateOverrides // {
-
-    way-cooler = attrs: { buildInputs = [ wlc cairo libxkbcommon fakegit gdk-pixbuf wayland ]; };
-  };}).overrideAttrs (oldAttrs: {
-    postBuild = ''
-      mkdir -p $out/etc
-      cp -r config $out/etc/way-cooler
-    '';
-  });
-
-  wc-bg = ((callPackage ./wc-bg.nix {}).wc_bg {}).overrideAttrs (oldAttrs: {
-    nativeBuildInputs = [ makeWrapper ];
-
-    postFixup = ''
-      makeWrapper $out/bin/wc-bg $out/bin/wc-bg \
-        --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ wayland ]}"
-    '';
-  });
-
-  wc-grab = (callPackage ./wc-grab.nix {}).wc_grab {};
-
-  wc-lock = (((callPackage ./wc-lock.nix {}).wc_lock {}).override {
-    crateOverrides = defaultCrateOverrides // {
-
-    wc-lock = attrs: { buildInputs = [ pam ]; };
-  };}).overrideAttrs (oldAttrs: {
-    nativeBuildInputs = [ makeWrapper ];
-
-    postFixup = ''
-      makeWrapper $out/bin/wc-lock $out/bin/wc-lock \
-        --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libxkbcommon wayland ]}"
-    '';
-  });
-
-  # https://github.com/way-cooler/way-cooler/issues/446
-  wc-bar-bare = stdenv.mkDerivation {
-    name = "wc-bar-bare-2017-12-05";
-
-    src = fetchurl {
-      url = "https://github.com/way-cooler/way-cooler/files/1529701/bar.py.txt";
-      sha256 = "1n1rf1k02i6vimr9n0iksf65phhyy96i5wh5d0rrx7yqki3dh6ka";
-    };
-
-    unpackPhase = "cat $src > bar.py.txt";
-
-    # https://github.com/way-cooler/way-cooler/issues/446#issuecomment-350567833
-    patches = [ ./bar.diff ];
-
-    pythonPath = with python3Packages; [ pydbus ];
-    nativeBuildInputs = with python3Packages; [ python wrapPython ];
-
-    installPhase = ''
-      install -Dm755 bar.py.txt $out/bin/bar.py
-      patchShebangs $out/bin/bar.py
-      wrapPythonPrograms
-    '';
-  };
-  wc-bar = writeShellScriptBin "lemonbar" ''
-    SELECTED="#000000"
-    SELECTED_OTHER_WORKSPACE="#555555"
-    BACKGROUND="#4E2878"
-    # https://github.com/way-cooler/way-cooler/issues/446#issuecomment-349471439
-    sleep 5
-    ${wc-bar-bare}/bin/bar.py $SELECTED $BACKGROUND $SELECTED_OTHER_WORKSPACE 2> /tmp/bar_debug.txt | ${lemonbar}/bin/lemonbar -B $BACKGROUND -F "#FFF" -n "lemonbar" -p -d
-  '';
-in symlinkJoin {
-  inherit version;
-  name = "way-cooler-with-extensions-${version}";
-  paths = [ way-cooler wc-bg wc-grab wc-lock wc-bar ];
-
-  meta = with stdenv.lib; {
-    description = "Customizable Wayland compositor (window manager)";
-    longDescription = ''
-      Way Cooler is a customizable tiling window manager written in Rust
-      for Wayland and configurable using Lua. It is heavily inspired by
-      the tiling and extensibility of both i3 and awesome. While Lua is
-      used for the configuration, like awesome, extensions for Way Cooler
-      are implemented as totally separate client programs using D-Bus.
-      This means that you can use virtually any language to extend the
-      window manager, with much better guarantees about interoperability
-      between extensions.
-    '';
-    homepage = http://way-cooler.org/;
-    license = with licenses; [ mit ];
-    maintainers = [ maintainers.miltador ];
-    platforms = platforms.all;
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/window-managers/way-cooler/way-cooler.nix b/pkgs/applications/window-managers/way-cooler/way-cooler.nix
deleted file mode 100644
index 28a327f1c13..00000000000
--- a/pkgs/applications/window-managers/way-cooler/way-cooler.nix
+++ /dev/null
@@ -1,314 +0,0 @@
-# Generated by carnix 0.9.2: carnix generate-nix
-{ lib, buildPlatform, buildRustCrate, buildRustCrateHelpers, cratesIO, fetchgit }:
-with buildRustCrateHelpers;
-let inherit (lib.lists) fold;
-    inherit (lib.attrsets) recursiveUpdate;
-in
-let crates = cratesIO; in
-rec {
-  way_cooler = crates.crates.way_cooler."0.8.1" deps;
-  __all = [ (way_cooler {}) ];
-  deps.aho_corasick."0.5.3" = {
-    memchr = "0.1.11";
-  };
-  deps.bitflags."0.4.0" = {};
-  deps.bitflags."0.6.0" = {};
-  deps.bitflags."0.7.0" = {};
-  deps.bitflags."0.9.1" = {};
-  deps.bitflags."1.0.4" = {};
-  deps.c_vec."1.2.1" = {};
-  deps.cairo_rs."0.2.0" = {
-    c_vec = "1.2.1";
-    cairo_sys_rs = "0.4.0";
-    glib = "0.3.1";
-    glib_sys = "0.4.0";
-    libc = "0.2.44";
-    winapi = "0.2.8";
-  };
-  deps.cairo_sys_rs."0.4.0" = {
-    libc = "0.2.44";
-    pkg_config = "0.3.14";
-    winapi = "0.2.8";
-  };
-  deps.cc."1.0.25" = {};
-  deps.cfg_if."0.1.6" = {};
-  deps.cloudabi."0.0.3" = {
-    bitflags = "1.0.4";
-  };
-  deps.dbus."0.4.1" = {
-    libc = "0.2.44";
-    pkg_config = "0.3.14";
-  };
-  deps.dbus_macros."0.0.6" = {
-    dbus = "0.4.1";
-  };
-  deps.dlib."0.3.1" = {
-    libloading = "0.3.4";
-  };
-  deps.dlib."0.4.1" = {
-    libloading = "0.5.0";
-  };
-  deps.dtoa."0.4.3" = {};
-  deps.dummy_rustwlc."0.7.1" = {
-    bitflags = "0.6.0";
-    libc = "0.2.44";
-    wayland_sys = "0.9.10";
-  };
-  deps.env_logger."0.3.5" = {
-    log = "0.3.9";
-    regex = "0.1.80";
-  };
-  deps.fixedbitset."0.1.9" = {};
-  deps.fuchsia_zircon."0.3.3" = {
-    bitflags = "1.0.4";
-    fuchsia_zircon_sys = "0.3.3";
-  };
-  deps.fuchsia_zircon_sys."0.3.3" = {};
-  deps.gcc."0.3.55" = {};
-  deps.gdk_pixbuf."0.2.0" = {
-    gdk_pixbuf_sys = "0.4.0";
-    glib = "0.3.1";
-    glib_sys = "0.4.0";
-    gobject_sys = "0.4.0";
-    libc = "0.2.44";
-  };
-  deps.gdk_pixbuf_sys."0.4.0" = {
-    bitflags = "0.9.1";
-    gio_sys = "0.4.0";
-    glib_sys = "0.4.0";
-    gobject_sys = "0.4.0";
-    libc = "0.2.44";
-    pkg_config = "0.3.14";
-  };
-  deps.getopts."0.2.18" = {
-    unicode_width = "0.1.5";
-  };
-  deps.gio_sys."0.4.0" = {
-    bitflags = "0.9.1";
-    glib_sys = "0.4.0";
-    gobject_sys = "0.4.0";
-    libc = "0.2.44";
-    pkg_config = "0.3.14";
-  };
-  deps.glib."0.3.1" = {
-    bitflags = "0.9.1";
-    glib_sys = "0.4.0";
-    gobject_sys = "0.4.0";
-    lazy_static = "0.2.11";
-    libc = "0.2.44";
-  };
-  deps.glib_sys."0.4.0" = {
-    bitflags = "0.9.1";
-    libc = "0.2.44";
-    pkg_config = "0.3.14";
-  };
-  deps.gobject_sys."0.4.0" = {
-    bitflags = "0.9.1";
-    glib_sys = "0.4.0";
-    libc = "0.2.44";
-    pkg_config = "0.3.14";
-  };
-  deps.itoa."0.3.4" = {};
-  deps.json_macro."0.1.1" = {
-    rustc_serialize = "0.3.24";
-  };
-  deps.kernel32_sys."0.2.2" = {
-    winapi = "0.2.8";
-    winapi_build = "0.1.1";
-  };
-  deps.lazy_static."0.2.11" = {};
-  deps.lazy_static."1.2.0" = {};
-  deps.libc."0.2.44" = {};
-  deps.libloading."0.3.4" = {
-    lazy_static = "0.2.11";
-    target_build_utils = "0.3.1";
-    kernel32_sys = "0.2.2";
-    winapi = "0.2.8";
-  };
-  deps.libloading."0.5.0" = {
-    cc = "1.0.25";
-    winapi = "0.3.6";
-  };
-  deps.log."0.3.9" = {
-    log = "0.4.6";
-  };
-  deps.log."0.4.6" = {
-    cfg_if = "0.1.6";
-  };
-  deps.memchr."0.1.11" = {
-    libc = "0.2.44";
-  };
-  deps.nix."0.6.0" = {
-    bitflags = "0.4.0";
-    cfg_if = "0.1.6";
-    libc = "0.2.44";
-    void = "1.0.2";
-    rustc_version = "0.1.7";
-    semver = "0.1.20";
-  };
-  deps.nix."0.9.0" = {
-    bitflags = "0.9.1";
-    cfg_if = "0.1.6";
-    libc = "0.2.44";
-    void = "1.0.2";
-  };
-  deps.num_traits."0.1.43" = {
-    num_traits = "0.2.6";
-  };
-  deps.num_traits."0.2.6" = {};
-  deps.ordermap."0.3.5" = {};
-  deps.petgraph."0.4.13" = {
-    fixedbitset = "0.1.9";
-    ordermap = "0.3.5";
-  };
-  deps.phf."0.7.23" = {
-    phf_shared = "0.7.23";
-  };
-  deps.phf_codegen."0.7.23" = {
-    phf_generator = "0.7.23";
-    phf_shared = "0.7.23";
-  };
-  deps.phf_generator."0.7.23" = {
-    phf_shared = "0.7.23";
-    rand = "0.5.5";
-  };
-  deps.phf_shared."0.7.23" = {
-    siphasher = "0.2.3";
-  };
-  deps.pkg_config."0.3.14" = {};
-  deps.rand."0.3.22" = {
-    libc = "0.2.44";
-    rand = "0.4.3";
-    fuchsia_zircon = "0.3.3";
-  };
-  deps.rand."0.4.3" = {
-    fuchsia_zircon = "0.3.3";
-    libc = "0.2.44";
-    winapi = "0.3.6";
-  };
-  deps.rand."0.5.5" = {
-    rand_core = "0.2.2";
-    cloudabi = "0.0.3";
-    fuchsia_zircon = "0.3.3";
-    libc = "0.2.44";
-    winapi = "0.3.6";
-  };
-  deps.rand_core."0.2.2" = {
-    rand_core = "0.3.0";
-  };
-  deps.rand_core."0.3.0" = {};
-  deps.regex."0.1.80" = {
-    aho_corasick = "0.5.3";
-    memchr = "0.1.11";
-    regex_syntax = "0.3.9";
-    thread_local = "0.2.7";
-    utf8_ranges = "0.1.3";
-  };
-  deps.regex_syntax."0.3.9" = {};
-  deps.rlua."0.9.7" = {
-    libc = "0.2.44";
-    gcc = "0.3.55";
-  };
-  deps.rustc_serialize."0.3.24" = {};
-  deps.rustc_version."0.1.7" = {
-    semver = "0.1.20";
-  };
-  deps.rustwlc."0.7.0" = {
-    bitflags = "0.7.0";
-    libc = "0.2.44";
-    wayland_sys = "0.6.0";
-  };
-  deps.semver."0.1.20" = {};
-  deps.serde."0.9.15" = {};
-  deps.serde_json."0.9.10" = {
-    dtoa = "0.4.3";
-    itoa = "0.3.4";
-    num_traits = "0.1.43";
-    serde = "0.9.15";
-  };
-  deps.siphasher."0.2.3" = {};
-  deps.target_build_utils."0.3.1" = {
-    phf = "0.7.23";
-    serde_json = "0.9.10";
-    phf_codegen = "0.7.23";
-  };
-  deps.thread_id."2.0.0" = {
-    kernel32_sys = "0.2.2";
-    libc = "0.2.44";
-  };
-  deps.thread_local."0.2.7" = {
-    thread_id = "2.0.0";
-  };
-  deps.token_store."0.1.2" = {};
-  deps.unicode_width."0.1.5" = {};
-  deps.utf8_ranges."0.1.3" = {};
-  deps.uuid."0.3.1" = {
-    rand = "0.3.22";
-    rustc_serialize = "0.3.24";
-  };
-  deps.void."1.0.2" = {};
-  deps.way_cooler."0.8.1" = {
-    bitflags = "0.7.0";
-    cairo_rs = "0.2.0";
-    cairo_sys_rs = "0.4.0";
-    dbus = "0.4.1";
-    dbus_macros = "0.0.6";
-    env_logger = "0.3.5";
-    gdk_pixbuf = "0.2.0";
-    getopts = "0.2.18";
-    glib = "0.3.1";
-    json_macro = "0.1.1";
-    lazy_static = "0.2.11";
-    log = "0.3.9";
-    nix = "0.6.0";
-    petgraph = "0.4.13";
-    rlua = "0.9.7";
-    rustc_serialize = "0.3.24";
-    rustwlc = "0.7.0";
-    uuid = "0.3.1";
-    wayland_server = "0.12.5";
-    wayland_sys = "0.12.5";
-    xcb = "0.8.2";
-    wayland_scanner = "0.12.5";
-  };
-  deps.wayland_scanner."0.12.5" = {
-    xml_rs = "0.7.0";
-  };
-  deps.wayland_server."0.12.5" = {
-    bitflags = "1.0.4";
-    libc = "0.2.44";
-    nix = "0.9.0";
-    token_store = "0.1.2";
-    wayland_sys = "0.12.5";
-    wayland_scanner = "0.12.5";
-  };
-  deps.wayland_sys."0.6.0" = {
-    dlib = "0.3.1";
-    libc = "0.2.44";
-  };
-  deps.wayland_sys."0.9.10" = {
-    dlib = "0.3.1";
-    lazy_static = "0.2.11";
-    libc = "0.2.44";
-  };
-  deps.wayland_sys."0.12.5" = {
-    dlib = "0.4.1";
-    lazy_static = "1.2.0";
-    libc = "0.2.44";
-  };
-  deps.winapi."0.2.8" = {};
-  deps.winapi."0.3.6" = {
-    winapi_i686_pc_windows_gnu = "0.4.0";
-    winapi_x86_64_pc_windows_gnu = "0.4.0";
-  };
-  deps.winapi_build."0.1.1" = {};
-  deps.winapi_i686_pc_windows_gnu."0.4.0" = {};
-  deps.winapi_x86_64_pc_windows_gnu."0.4.0" = {};
-  deps.xcb."0.8.2" = {
-    libc = "0.2.44";
-    log = "0.4.6";
-  };
-  deps.xml_rs."0.7.0" = {
-    bitflags = "1.0.4";
-  };
-}
diff --git a/pkgs/applications/window-managers/way-cooler/wc-bg.nix b/pkgs/applications/window-managers/way-cooler/wc-bg.nix
deleted file mode 100644
index a797e7aacde..00000000000
--- a/pkgs/applications/window-managers/way-cooler/wc-bg.nix
+++ /dev/null
@@ -1,1372 +0,0 @@
-# Generated by carnix 0.6.5: carnix -o wc-bg.nix Cargo.lock
-{ lib, stdenv, buildRustCrate, fetchgit }:
-let kernel = stdenv.buildPlatform.parsed.kernel.name;
-    updateFeatures = f: up: functions: builtins.deepSeq f (lib.lists.foldl' (features: fun: fun features) (lib.attrsets.recursiveUpdate f up) functions);
-    mapFeatures = features: map (fun: fun { features = features; });
-    mkFeatures = feat: lib.lists.foldl (features: featureName:
-      if feat.${featureName} or false then
-        [ featureName ] ++ features
-      else
-        features
-    ) [] (builtins.attrNames feat);
-in
-rec {
-  wc_bg = f: wc_bg_0_3_0 { features = wc_bg_0_3_0_features { wc_bg_0_3_0 = f; }; };
-  ansi_term_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "ansi_term";
-    version = "0.9.0";
-    authors = [ "ogham@bsago.me" "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>" ];
-    sha256 = "1vcd8m2hglrdi4zmqnkkz5zy3c73ifgii245k7vj6qr5dzpn9hij";
-    inherit dependencies buildDependencies features;
-  };
-  atty_0_2_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "atty";
-    version = "0.2.3";
-    authors = [ "softprops <d.tangren@gmail.com>" ];
-    sha256 = "0zl0cjfgarp5y78nd755lpki5bbkj4hgmi88v265m543yg29i88f";
-    inherit dependencies buildDependencies features;
-  };
-  bitflags_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "bitflags";
-    version = "0.7.0";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5";
-    inherit dependencies buildDependencies features;
-  };
-  bitflags_0_9_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "bitflags";
-    version = "0.9.1";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "18h073l5jd88rx4qdr95fjddr9rk79pb1aqnshzdnw16cfmb9rws";
-    inherit dependencies buildDependencies features;
-  };
-  byteorder_0_5_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "byteorder";
-    version = "0.5.3";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-    sha256 = "0zsr6b0m0yl5c0yy92nq7srfpczd1dx1xqcx3rlm5fbl8si9clqx";
-    inherit dependencies buildDependencies features;
-  };
-  byteorder_1_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "byteorder";
-    version = "1.1.0";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-    sha256 = "1i2n0161jm00zvzh4bncgv9zrwa6ydbxdn5j4bx0wwn7rvi9zycp";
-    inherit dependencies buildDependencies features;
-  };
-  cc_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "cc";
-    version = "1.0.0";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "1s5ha0k6cdy1049a5kpzvhnjc9hjvi18zrcr5dmbqpd03ag751g1";
-    inherit dependencies buildDependencies features;
-  };
-  clap_2_26_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "clap";
-    version = "2.26.2";
-    authors = [ "Kevin K. <kbknapp@gmail.com>" ];
-    sha256 = "0njvc0b7m11yym25jrr8h47nb3k3lpzzafjf22y33c5p4rw7fn2d";
-    inherit dependencies buildDependencies features;
-  };
-  coco_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "coco";
-    version = "0.1.1";
-    authors = [ "Stjepan Glavina <stjepang@gmail.com>" ];
-    sha256 = "0hvj4jaj9y6i38c4dkii8nqq98cgx3kyx78cjqkdvk0aqq5sfr94";
-    inherit dependencies buildDependencies features;
-  };
-  color_quant_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "color_quant";
-    version = "1.0.0";
-    authors = [ "nwin <nwin@users.noreply.github.com>" ];
-    sha256 = "0jwr40lr115zm2bydk1wja12gcxrmgsx0n1z1pipq00sab71maaj";
-    inherit dependencies buildDependencies features;
-  };
-  dlib_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "dlib";
-    version = "0.3.1";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "11mhh6g9vszp2ay3r46x4capnnmvvhx5hcp74bapxjhiixqjfvkr";
-    inherit dependencies buildDependencies features;
-  };
-  dtoa_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "dtoa";
-    version = "0.4.2";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "1bxsh6fags7nr36vlz07ik2a1rzyipc8x1y30kjk832hf2pzadmw";
-    inherit dependencies buildDependencies features;
-  };
-  either_1_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "either";
-    version = "1.2.0";
-    authors = [ "bluss" ];
-    sha256 = "0l72xaf1kwzgbl3andf3d2ggz7km9059rbmp90iywww8inlnqppp";
-    inherit dependencies buildDependencies features;
-  };
-  enum_primitive_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "enum_primitive";
-    version = "0.1.1";
-    authors = [ "Anders Kaseorg <andersk@mit.edu>" ];
-    sha256 = "1a225rlsz7sz3nn14dar71kp2f9v08s3rwl6j55xp51mv01f695y";
-    inherit dependencies buildDependencies features;
-  };
-  flate2_0_2_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "flate2";
-    version = "0.2.20";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "1am0d2vmqym1vcg7rvv516vpcrbhdn1jisy0q03r3nbzdzh54ppl";
-    inherit dependencies buildDependencies features;
-  };
-  fuchsia_zircon_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "fuchsia-zircon";
-    version = "0.2.1";
-    authors = [ "Raph Levien <raph@google.com>" ];
-    sha256 = "0yd4rd7ql1vdr349p6vgq2dnwmpylky1kjp8g1zgvp250jxrhddb";
-    inherit dependencies buildDependencies features;
-  };
-  fuchsia_zircon_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "fuchsia-zircon-sys";
-    version = "0.2.0";
-    authors = [ "Raph Levien <raph@google.com>" ];
-    sha256 = "1yrqsrjwlhl3di6prxf5xmyd82gyjaysldbka5wwk83z11mpqh4w";
-    inherit dependencies buildDependencies features;
-  };
-  futures_0_1_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "futures";
-    version = "0.1.16";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0ndk8cl6l600a95q8il2c3y38jz50nhfsczps0nziadqdd45gy2b";
-    inherit dependencies buildDependencies features;
-  };
-  gif_0_9_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "gif";
-    version = "0.9.2";
-    authors = [ "nwin <nwin@users.noreply.github.com>" ];
-    sha256 = "0dl76jrn6127w3bdg2b58p5psf8fpnbzdxdkw1i35ac8dn4vxcqa";
-    inherit dependencies buildDependencies features;
-  };
-  glob_0_2_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "glob";
-    version = "0.2.11";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "104389jjxs8r2f5cc9p0axhjmndgln60ih5x4f00ccgg9d3zarlf";
-    inherit dependencies buildDependencies features;
-  };
-  image_0_10_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "image";
-    version = "0.10.4";
-    authors = [ "ccgn" "bvssvni <bvssvni@gmail.com>" "nwin" "TyOverby <ty@pre-alpha.com>" ];
-    sha256 = "1pwrs7k5760b38i1lg872x9q2zc6xvhs7mjhlzvjnr5p85zx2fbw";
-    libPath = "./src/lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  inflate_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "inflate";
-    version = "0.1.1";
-    authors = [ "nwin <nwin@users.noreply.github.com>" ];
-    sha256 = "112kh9hjcjjxdybl032mdhpwnr3qxw8j0ch6hwanwpcf3gz42g1h";
-    inherit dependencies buildDependencies features;
-  };
-  itoa_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "itoa";
-    version = "0.3.4";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "1nfkzz6vrgj0d9l3yzjkkkqzdgs68y294fjdbl7jq118qi8xc9d9";
-    inherit dependencies buildDependencies features;
-  };
-  jpeg_decoder_0_1_13_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "jpeg-decoder";
-    version = "0.1.13";
-    authors = [ "Ulf Nilsson <kaksmet@gmail.com>" ];
-    sha256 = "0w16gbywlm9p0p3wx34b85q4d1izrx89afcsxlc6g11cx2js4fa2";
-    inherit dependencies buildDependencies features;
-  };
-  kernel32_sys_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "kernel32-sys";
-    version = "0.2.2";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
-    libName = "kernel32";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  lazy_static_0_2_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "lazy_static";
-    version = "0.2.9";
-    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-    sha256 = "08ldzr5292y3hvi6l6v8l4i6v95lm1aysmnfln65h10sqrfh6iw7";
-    inherit dependencies buildDependencies features;
-  };
-  libc_0_2_32_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "libc";
-    version = "0.2.32";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1i8njlar6v9qvmkyfvwzhxrvkqw6ijp8fqdnya5csqixxz18a532";
-    inherit dependencies buildDependencies features;
-  };
-  libloading_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "libloading";
-    version = "0.3.4";
-    authors = [ "Simonas Kazlauskas <libloading@kazlauskas.me>" ];
-    sha256 = "1f2vy32cr434n638nv8sdf05iwa53q9q5ahlcpw1l9ywh1bcbhf1";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  lzw_0_10_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "lzw";
-    version = "0.10.0";
-    authors = [ "nwin <nwin@users.noreply.github.com>" ];
-    sha256 = "1cfsy2w26kbz9bjaqp9dh1wyyh47rpmhwvj4jpc1rmffbf438fvb";
-    inherit dependencies buildDependencies features;
-  };
-  miniz_sys_0_1_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "miniz-sys";
-    version = "0.1.10";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "11vg6phafxil87nbxgrlhcx5hjr3145wsbwwkfmibvnmzxfdmvln";
-    libPath = "lib.rs";
-    libName = "miniz_sys";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  num_bigint_0_1_40_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num-bigint";
-    version = "0.1.40";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0pkxd9mb4chdbipprxjc8ll7kjh79n278s2z663zmd80yg5xi788";
-    inherit dependencies buildDependencies features;
-  };
-  num_integer_0_1_35_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num-integer";
-    version = "0.1.35";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0xybj8isi9b6wc646d5rc043i8l8j6wy0vrl4pn995qms9fxbbcc";
-    inherit dependencies buildDependencies features;
-  };
-  num_iter_0_1_34_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num-iter";
-    version = "0.1.34";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "02cld7x9dzbqbs6sxxzq1i22z3awlcd6ljkgvhkfr9rsnaxphzl9";
-    inherit dependencies buildDependencies features;
-  };
-  num_rational_0_1_39_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num-rational";
-    version = "0.1.39";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1qsacdfp97zgpajc2pgbrbga3yag1f0k7yz0gi78vd165gxdwk3m";
-    inherit dependencies buildDependencies features;
-  };
-  num_traits_0_1_40_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num-traits";
-    version = "0.1.40";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1fr8ghp4i97q3agki54i0hpmqxv3s65i2mqd1pinc7w7arc3fplw";
-    inherit dependencies buildDependencies features;
-  };
-  num_cpus_1_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num_cpus";
-    version = "1.7.0";
-    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
-    sha256 = "0231xmd65ma3pqfiw8pkv9dvm9x708z4xlrwp3i0sgiwv408dz3f";
-    inherit dependencies buildDependencies features;
-  };
-  phf_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "phf";
-    version = "0.7.21";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "11m2rzm2s8s35m0s97gjxxb181xz352kjlhr387xj5c8q3qp5afg";
-    libPath = "src/lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  phf_codegen_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "phf_codegen";
-    version = "0.7.21";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "0kgy8s2q4zr0iqcm21mgq4ppc45wy6z7b5wn98xyfsrcad6lwmmj";
-    inherit dependencies buildDependencies features;
-  };
-  phf_generator_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "phf_generator";
-    version = "0.7.21";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "1jxjfzc6d6d4l9nv0r2bb66if5brk9lnncmg4dpjjifn6zhhqd9g";
-    inherit dependencies buildDependencies features;
-  };
-  phf_shared_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "phf_shared";
-    version = "0.7.21";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "0lxpg3wgxfhzfalmf9ha9my1lsvfjy74ah9f6mfw88xlp545jlln";
-    libPath = "src/lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  png_0_5_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "png";
-    version = "0.5.2";
-    authors = [ "nwin <nwin@users.noreply.github.com>" ];
-    sha256 = "1pgann3f1ysgf8y1acw86v4s3ji1xk85ri353biyvh4i1cpn1g3q";
-    inherit dependencies buildDependencies features;
-  };
-  rand_0_3_17_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "rand";
-    version = "0.3.17";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "06ra3pr36dlyq3kp5lbia8xnw5g0zsys2d69frr7y6df5hhb1r8j";
-    inherit dependencies buildDependencies features;
-  };
-  rayon_0_8_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "rayon";
-    version = "0.8.2";
-    authors = [ "Niko Matsakis <niko@alum.mit.edu>" "Josh Stone <cuviper@gmail.com>" ];
-    sha256 = "0d0mddg1k75hb9138pn8lysy2095jijrinskqbpgfr73s0jx6dq8";
-    inherit dependencies buildDependencies features;
-  };
-  rayon_core_1_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "rayon-core";
-    version = "1.2.1";
-    authors = [ "Niko Matsakis <niko@alum.mit.edu>" "Josh Stone <cuviper@gmail.com>" ];
-    sha256 = "12xv2r0dqrgvla24bl5mfvcw0599dlhrj0mx620nq95nyds753kk";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  redox_syscall_0_1_31_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "redox_syscall";
-    version = "0.1.31";
-    authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
-    sha256 = "0kipd9qslzin4fgj4jrxv6yz5l3l71gnbd7fq1jhk2j7f2sq33j4";
-    libName = "syscall";
-    inherit dependencies buildDependencies features;
-  };
-  redox_termios_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "redox_termios";
-    version = "0.1.1";
-    authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
-    sha256 = "04s6yyzjca552hdaqlvqhp3vw0zqbc304md5czyd3axh56iry8wh";
-    libPath = "src/lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  rustc_serialize_0_3_24_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "rustc-serialize";
-    version = "0.3.24";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0rfk6p66mqkd3g36l0ddlv2rvnp1mp3lrq5frq9zz5cbnz5pmmxn";
-    inherit dependencies buildDependencies features;
-  };
-  scoped_threadpool_0_1_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "scoped_threadpool";
-    version = "0.1.8";
-    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-    sha256 = "1al42hqbbijpah9bc6hw9c49nhnyrc0sj274ja1q3k9305c3s5a6";
-    inherit dependencies buildDependencies features;
-  };
-  scopeguard_0_3_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "scopeguard";
-    version = "0.3.2";
-    authors = [ "bluss" ];
-    sha256 = "0xlvfawva4fnp6kwr5xjwf0q2d1w6di81nhfby1sa55xj1ia5zs2";
-    inherit dependencies buildDependencies features;
-  };
-  serde_0_9_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "serde";
-    version = "0.9.15";
-    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" ];
-    sha256 = "0rlflkc57kvy69hnhj4arfsj7ic4hpihxsb00zg5lkdxfj5qjx9b";
-    inherit dependencies buildDependencies features;
-  };
-  serde_json_0_9_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "serde_json";
-    version = "0.9.10";
-    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" ];
-    sha256 = "0g6bxlfnvf2miicnsizyrxm686rfval6gbss1i2qcna8msfwc005";
-    inherit dependencies buildDependencies features;
-  };
-  siphasher_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "siphasher";
-    version = "0.2.2";
-    authors = [ "Frank Denis <github@pureftpd.org>" ];
-    sha256 = "0iyx7nlzfny9ly1634a6zcq0yvrinhxhypwas4p8ry3zqnn76qqr";
-    inherit dependencies buildDependencies features;
-  };
-  strsim_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "strsim";
-    version = "0.6.0";
-    authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
-    sha256 = "1lz85l6y68hr62lv4baww29yy7g8pg20dlr0lbaswxmmcb0wl7gd";
-    inherit dependencies buildDependencies features;
-  };
-  target_build_utils_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "target_build_utils";
-    version = "0.3.1";
-    authors = [ "Simonas Kazlauskas <target_build_utils@kazlauskas.me>" ];
-    sha256 = "1b450nyxlbgicp2p45mhxiv6yv0z7s4iw01lsaqh3v7b4bm53flj";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  tempfile_2_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tempfile";
-    version = "2.2.0";
-    authors = [ "Steven Allen <steven@stebalien.com>" ];
-    sha256 = "1z3l901ipvi0s0mdppw4lwfa77ydb22rfnf6y9sh0pifj7ah5drf";
-    inherit dependencies buildDependencies features;
-  };
-  term_size_0_3_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "term_size";
-    version = "0.3.0";
-    authors = [ "Kevin K. <kbknapp@gmail.com>" "Benjamin Sago <ogham@bsago.me>" ];
-    sha256 = "054d5avad49sy5nfaaaphai4kv4rmdh6q0npchnvdhpxp02lcfhs";
-    inherit dependencies buildDependencies features;
-  };
-  termion_1_5_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "termion";
-    version = "1.5.1";
-    authors = [ "ticki <Ticki@users.noreply.github.com>" "gycos <alexandre.bury@gmail.com>" "IGI-111 <igi-111@protonmail.com>" ];
-    sha256 = "02gq4vd8iws1f3gjrgrgpajsk2bk43nds5acbbb4s8dvrdvr8nf1";
-    inherit dependencies buildDependencies features;
-  };
-  textwrap_0_8_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "textwrap";
-    version = "0.8.0";
-    authors = [ "Martin Geisler <martin@geisler.net>" ];
-    sha256 = "02j8apii1032cvp9fwrxw4pf11xb287j2n1iv1iixp8yh6vzrq41";
-    inherit dependencies buildDependencies features;
-  };
-  unicode_width_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "unicode-width";
-    version = "0.1.4";
-    authors = [ "kwantam <kwantam@gmail.com>" ];
-    sha256 = "1rp7a04icn9y5c0lm74nrd4py0rdl0af8bhdwq7g478n1xifpifl";
-    inherit dependencies buildDependencies features;
-  };
-  vec_map_0_8_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "vec_map";
-    version = "0.8.0";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Jorge Aparicio <japaricious@gmail.com>" "Alexis Beingessner <a.beingessner@gmail.com>" "Brian Anderson <>" "tbu- <>" "Manish Goregaokar <>" "Aaron Turon <aturon@mozilla.com>" "Adolfo Ochagavía <>" "Niko Matsakis <>" "Steven Fackler <>" "Chase Southwood <csouth3@illinois.edu>" "Eduard Burtescu <>" "Florian Wilkens <>" "Félix Raimundo <>" "Tibor Benke <>" "Markus Siemens <markus@m-siemens.de>" "Josh Branchaud <jbranchaud@gmail.com>" "Huon Wilson <dbau.pp@gmail.com>" "Corey Farwell <coref@rwell.org>" "Aaron Liblong <>" "Nick Cameron <nrc@ncameron.org>" "Patrick Walton <pcwalton@mimiga.net>" "Felix S Klock II <>" "Andrew Paseltiner <apaseltiner@gmail.com>" "Sean McArthur <sean.monstar@gmail.com>" "Vadim Petrochenkov <>" ];
-    sha256 = "07sgxp3cf1a4cxm9n3r27fcvqmld32bl2576mrcahnvm34j11xay";
-    inherit dependencies buildDependencies features;
-  };
-  way_cooler_client_helpers_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "way-cooler-client-helpers";
-    version = "0.1.0";
-    authors = [ "Timidger <APragmaticPlace@gmail.com>" ];
-    sha256 = "0749lh5crd0rhq4dxij9mb3y5902laazjd01l6ci5782bjfk4s39";
-    inherit dependencies buildDependencies features;
-  };
-  wayland_client_0_9_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "wayland-client";
-    version = "0.9.10";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "1cs7zwvqahiysnfqfask96zpfr2bp47dlwwwd9ap8ccvcjbspj67";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  wayland_scanner_0_9_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "wayland-scanner";
-    version = "0.9.10";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "0vhnj3vfnrknvdmy72pjh7dck5q5sz1v8kfr0qqzkqf0ylavvyb2";
-    inherit dependencies buildDependencies features;
-  };
-  wayland_sys_0_9_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "wayland-sys";
-    version = "0.9.10";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "011q7lfii222whvif39asvryl1sf3rc1fxp8qs8gh84kr4mna0k8";
-    inherit dependencies buildDependencies features;
-  };
-  wc_bg_0_3_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "wc-bg";
-    version = "0.3.0";
-    authors = [ "Timidger <APragmaticPlace@gmail.com>" ];
-    sha256 = "1jywymr80k96481vr6nyyqhlf2gj2n2zgvkwkny2m84v9n3pqn62";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  winapi_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "winapi";
-    version = "0.2.8";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
-    inherit dependencies buildDependencies features;
-  };
-  winapi_build_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "winapi-build";
-    version = "0.1.1";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
-    libName = "build";
-    inherit dependencies buildDependencies features;
-  };
-  xml_rs_0_6_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "xml-rs";
-    version = "0.6.1";
-    authors = [ "Vladimir Matveev <vladimir.matweev@gmail.com>" ];
-    sha256 = "0adjwgmn061p60n81s52a9p26y2jdc20wvinsyw2nzmby5wvnbwk";
-    libPath = "src/lib.rs";
-    libName = "xml";
-    crateBin = [ {  name = "xml-analyze";  path = "src/analyze.rs"; } ];
-    inherit dependencies buildDependencies features;
-  };
-  ansi_term_0_9_0 = { features?(ansi_term_0_9_0_features {}) }: ansi_term_0_9_0_ {};
-  ansi_term_0_9_0_features = f: updateFeatures f ({
-    ansi_term_0_9_0.default = (f.ansi_term_0_9_0.default or true);
-  }) [];
-  atty_0_2_3 = { features?(atty_0_2_3_features {}) }: atty_0_2_3_ {
-    dependencies = (if kernel == "redox" then mapFeatures features ([ termion_1_5_1 ]) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_32 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
-  };
-  atty_0_2_3_features = f: updateFeatures f ({
-    atty_0_2_3.default = (f.atty_0_2_3.default or true);
-    kernel32_sys_0_2_2.default = true;
-    libc_0_2_32.default = (f.libc_0_2_32.default or false);
-    termion_1_5_1.default = true;
-    winapi_0_2_8.default = true;
-  }) [ termion_1_5_1_features libc_0_2_32_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
-  bitflags_0_7_0 = { features?(bitflags_0_7_0_features {}) }: bitflags_0_7_0_ {};
-  bitflags_0_7_0_features = f: updateFeatures f ({
-    bitflags_0_7_0.default = (f.bitflags_0_7_0.default or true);
-  }) [];
-  bitflags_0_9_1 = { features?(bitflags_0_9_1_features {}) }: bitflags_0_9_1_ {
-    features = mkFeatures (features.bitflags_0_9_1 or {});
-  };
-  bitflags_0_9_1_features = f: updateFeatures f (rec {
-    bitflags_0_9_1.default = (f.bitflags_0_9_1.default or true);
-    bitflags_0_9_1.example_generated =
-      (f.bitflags_0_9_1.example_generated or false) ||
-      (f.bitflags_0_9_1.default or false) ||
-      (bitflags_0_9_1.default or false);
-  }) [];
-  byteorder_0_5_3 = { features?(byteorder_0_5_3_features {}) }: byteorder_0_5_3_ {
-    features = mkFeatures (features.byteorder_0_5_3 or {});
-  };
-  byteorder_0_5_3_features = f: updateFeatures f (rec {
-    byteorder_0_5_3.default = (f.byteorder_0_5_3.default or true);
-    byteorder_0_5_3.std =
-      (f.byteorder_0_5_3.std or false) ||
-      (f.byteorder_0_5_3.default or false) ||
-      (byteorder_0_5_3.default or false);
-  }) [];
-  byteorder_1_1_0 = { features?(byteorder_1_1_0_features {}) }: byteorder_1_1_0_ {
-    features = mkFeatures (features.byteorder_1_1_0 or {});
-  };
-  byteorder_1_1_0_features = f: updateFeatures f (rec {
-    byteorder_1_1_0.default = (f.byteorder_1_1_0.default or true);
-    byteorder_1_1_0.std =
-      (f.byteorder_1_1_0.std or false) ||
-      (f.byteorder_1_1_0.default or false) ||
-      (byteorder_1_1_0.default or false);
-  }) [];
-  cc_1_0_0 = { features?(cc_1_0_0_features {}) }: cc_1_0_0_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.cc_1_0_0 or {});
-  };
-  cc_1_0_0_features = f: updateFeatures f (rec {
-    cc_1_0_0.default = (f.cc_1_0_0.default or true);
-    cc_1_0_0.rayon =
-      (f.cc_1_0_0.rayon or false) ||
-      (f.cc_1_0_0.parallel or false) ||
-      (cc_1_0_0.parallel or false);
-  }) [];
-  clap_2_26_2 = { features?(clap_2_26_2_features {}) }: clap_2_26_2_ {
-    dependencies = mapFeatures features ([ bitflags_0_9_1 textwrap_0_8_0 unicode_width_0_1_4 vec_map_0_8_0 ]
-      ++ (if features.clap_2_26_2.ansi_term or false then [ ansi_term_0_9_0 ] else [])
-      ++ (if features.clap_2_26_2.atty or false then [ atty_0_2_3 ] else [])
-      ++ (if features.clap_2_26_2.strsim or false then [ strsim_0_6_0 ] else [])
-      ++ (if features.clap_2_26_2.term_size or false then [ term_size_0_3_0 ] else []));
-    features = mkFeatures (features.clap_2_26_2 or {});
-  };
-  clap_2_26_2_features = f: updateFeatures f (rec {
-    ansi_term_0_9_0.default = true;
-    atty_0_2_3.default = true;
-    bitflags_0_9_1.default = true;
-    clap_2_26_2.ansi_term =
-      (f.clap_2_26_2.ansi_term or false) ||
-      (f.clap_2_26_2.color or false) ||
-      (clap_2_26_2.color or false);
-    clap_2_26_2.atty =
-      (f.clap_2_26_2.atty or false) ||
-      (f.clap_2_26_2.color or false) ||
-      (clap_2_26_2.color or false);
-    clap_2_26_2.clippy =
-      (f.clap_2_26_2.clippy or false) ||
-      (f.clap_2_26_2.lints or false) ||
-      (clap_2_26_2.lints or false);
-    clap_2_26_2.color =
-      (f.clap_2_26_2.color or false) ||
-      (f.clap_2_26_2.default or false) ||
-      (clap_2_26_2.default or false);
-    clap_2_26_2.default = (f.clap_2_26_2.default or true);
-    clap_2_26_2.strsim =
-      (f.clap_2_26_2.strsim or false) ||
-      (f.clap_2_26_2.suggestions or false) ||
-      (clap_2_26_2.suggestions or false);
-    clap_2_26_2.suggestions =
-      (f.clap_2_26_2.suggestions or false) ||
-      (f.clap_2_26_2.default or false) ||
-      (clap_2_26_2.default or false);
-    clap_2_26_2.term_size =
-      (f.clap_2_26_2.term_size or false) ||
-      (f.clap_2_26_2.wrap_help or false) ||
-      (clap_2_26_2.wrap_help or false);
-    clap_2_26_2.wrap_help =
-      (f.clap_2_26_2.wrap_help or false) ||
-      (f.clap_2_26_2.default or false) ||
-      (clap_2_26_2.default or false);
-    clap_2_26_2.yaml =
-      (f.clap_2_26_2.yaml or false) ||
-      (f.clap_2_26_2.doc or false) ||
-      (clap_2_26_2.doc or false);
-    clap_2_26_2.yaml-rust =
-      (f.clap_2_26_2.yaml-rust or false) ||
-      (f.clap_2_26_2.yaml or false) ||
-      (clap_2_26_2.yaml or false);
-    strsim_0_6_0.default = true;
-    term_size_0_3_0.default = true;
-    textwrap_0_8_0.default = true;
-    unicode_width_0_1_4.default = true;
-    vec_map_0_8_0.default = true;
-  }) [ ansi_term_0_9_0_features atty_0_2_3_features bitflags_0_9_1_features strsim_0_6_0_features term_size_0_3_0_features textwrap_0_8_0_features unicode_width_0_1_4_features vec_map_0_8_0_features ];
-  coco_0_1_1 = { features?(coco_0_1_1_features {}) }: coco_0_1_1_ {
-    dependencies = mapFeatures features ([ either_1_2_0 scopeguard_0_3_2 ]);
-    features = mkFeatures (features.coco_0_1_1 or {});
-  };
-  coco_0_1_1_features = f: updateFeatures f ({
-    coco_0_1_1.default = (f.coco_0_1_1.default or true);
-    either_1_2_0.default = true;
-    scopeguard_0_3_2.default = true;
-  }) [ either_1_2_0_features scopeguard_0_3_2_features ];
-  color_quant_1_0_0 = { features?(color_quant_1_0_0_features {}) }: color_quant_1_0_0_ {};
-  color_quant_1_0_0_features = f: updateFeatures f ({
-    color_quant_1_0_0.default = (f.color_quant_1_0_0.default or true);
-  }) [];
-  dlib_0_3_1 = { features?(dlib_0_3_1_features {}) }: dlib_0_3_1_ {
-    dependencies = mapFeatures features ([ libloading_0_3_4 ]);
-    features = mkFeatures (features.dlib_0_3_1 or {});
-  };
-  dlib_0_3_1_features = f: updateFeatures f ({
-    dlib_0_3_1.default = (f.dlib_0_3_1.default or true);
-    libloading_0_3_4.default = true;
-  }) [ libloading_0_3_4_features ];
-  dtoa_0_4_2 = { features?(dtoa_0_4_2_features {}) }: dtoa_0_4_2_ {};
-  dtoa_0_4_2_features = f: updateFeatures f ({
-    dtoa_0_4_2.default = (f.dtoa_0_4_2.default or true);
-  }) [];
-  either_1_2_0 = { features?(either_1_2_0_features {}) }: either_1_2_0_ {
-    features = mkFeatures (features.either_1_2_0 or {});
-  };
-  either_1_2_0_features = f: updateFeatures f (rec {
-    either_1_2_0.default = (f.either_1_2_0.default or true);
-    either_1_2_0.use_std =
-      (f.either_1_2_0.use_std or false) ||
-      (f.either_1_2_0.default or false) ||
-      (either_1_2_0.default or false);
-  }) [];
-  enum_primitive_0_1_1 = { features?(enum_primitive_0_1_1_features {}) }: enum_primitive_0_1_1_ {
-    dependencies = mapFeatures features ([ num_traits_0_1_40 ]);
-  };
-  enum_primitive_0_1_1_features = f: updateFeatures f ({
-    enum_primitive_0_1_1.default = (f.enum_primitive_0_1_1.default or true);
-    num_traits_0_1_40.default = (f.num_traits_0_1_40.default or false);
-  }) [ num_traits_0_1_40_features ];
-  flate2_0_2_20 = { features?(flate2_0_2_20_features {}) }: flate2_0_2_20_ {
-    dependencies = mapFeatures features ([ libc_0_2_32 ]
-      ++ (if features.flate2_0_2_20.miniz-sys or false then [ miniz_sys_0_1_10 ] else []));
-    features = mkFeatures (features.flate2_0_2_20 or {});
-  };
-  flate2_0_2_20_features = f: updateFeatures f (rec {
-    flate2_0_2_20.default = (f.flate2_0_2_20.default or true);
-    flate2_0_2_20.futures =
-      (f.flate2_0_2_20.futures or false) ||
-      (f.flate2_0_2_20.tokio or false) ||
-      (flate2_0_2_20.tokio or false);
-    flate2_0_2_20.libz-sys =
-      (f.flate2_0_2_20.libz-sys or false) ||
-      (f.flate2_0_2_20.zlib or false) ||
-      (flate2_0_2_20.zlib or false);
-    flate2_0_2_20.miniz-sys =
-      (f.flate2_0_2_20.miniz-sys or false) ||
-      (f.flate2_0_2_20.default or false) ||
-      (flate2_0_2_20.default or false);
-    flate2_0_2_20.tokio-io =
-      (f.flate2_0_2_20.tokio-io or false) ||
-      (f.flate2_0_2_20.tokio or false) ||
-      (flate2_0_2_20.tokio or false);
-    libc_0_2_32.default = true;
-    miniz_sys_0_1_10.default = true;
-  }) [ libc_0_2_32_features miniz_sys_0_1_10_features ];
-  fuchsia_zircon_0_2_1 = { features?(fuchsia_zircon_0_2_1_features {}) }: fuchsia_zircon_0_2_1_ {
-    dependencies = mapFeatures features ([ fuchsia_zircon_sys_0_2_0 ]);
-  };
-  fuchsia_zircon_0_2_1_features = f: updateFeatures f ({
-    fuchsia_zircon_0_2_1.default = (f.fuchsia_zircon_0_2_1.default or true);
-    fuchsia_zircon_sys_0_2_0.default = true;
-  }) [ fuchsia_zircon_sys_0_2_0_features ];
-  fuchsia_zircon_sys_0_2_0 = { features?(fuchsia_zircon_sys_0_2_0_features {}) }: fuchsia_zircon_sys_0_2_0_ {
-    dependencies = mapFeatures features ([ bitflags_0_7_0 ]);
-  };
-  fuchsia_zircon_sys_0_2_0_features = f: updateFeatures f ({
-    bitflags_0_7_0.default = true;
-    fuchsia_zircon_sys_0_2_0.default = (f.fuchsia_zircon_sys_0_2_0.default or true);
-  }) [ bitflags_0_7_0_features ];
-  futures_0_1_16 = { features?(futures_0_1_16_features {}) }: futures_0_1_16_ {
-    features = mkFeatures (features.futures_0_1_16 or {});
-  };
-  futures_0_1_16_features = f: updateFeatures f (rec {
-    futures_0_1_16.default = (f.futures_0_1_16.default or true);
-    futures_0_1_16.use_std =
-      (f.futures_0_1_16.use_std or false) ||
-      (f.futures_0_1_16.default or false) ||
-      (futures_0_1_16.default or false);
-    futures_0_1_16.with-deprecated =
-      (f.futures_0_1_16.with-deprecated or false) ||
-      (f.futures_0_1_16.default or false) ||
-      (futures_0_1_16.default or false);
-  }) [];
-  gif_0_9_2 = { features?(gif_0_9_2_features {}) }: gif_0_9_2_ {
-    dependencies = mapFeatures features ([ color_quant_1_0_0 lzw_0_10_0 ]);
-    features = mkFeatures (features.gif_0_9_2 or {});
-  };
-  gif_0_9_2_features = f: updateFeatures f (rec {
-    color_quant_1_0_0.default = true;
-    gif_0_9_2.default = (f.gif_0_9_2.default or true);
-    gif_0_9_2.libc =
-      (f.gif_0_9_2.libc or false) ||
-      (f.gif_0_9_2.c_api or false) ||
-      (gif_0_9_2.c_api or false);
-    gif_0_9_2.raii_no_panic =
-      (f.gif_0_9_2.raii_no_panic or false) ||
-      (f.gif_0_9_2.default or false) ||
-      (gif_0_9_2.default or false);
-    lzw_0_10_0.default = true;
-  }) [ color_quant_1_0_0_features lzw_0_10_0_features ];
-  glob_0_2_11 = { features?(glob_0_2_11_features {}) }: glob_0_2_11_ {};
-  glob_0_2_11_features = f: updateFeatures f ({
-    glob_0_2_11.default = (f.glob_0_2_11.default or true);
-  }) [];
-  image_0_10_4 = { features?(image_0_10_4_features {}) }: image_0_10_4_ {
-    dependencies = mapFeatures features ([ byteorder_0_5_3 enum_primitive_0_1_1 glob_0_2_11 num_iter_0_1_34 num_rational_0_1_39 num_traits_0_1_40 ]
-      ++ (if features.image_0_10_4.gif or false then [ gif_0_9_2 ] else [])
-      ++ (if features.image_0_10_4.jpeg-decoder or false then [ jpeg_decoder_0_1_13 ] else [])
-      ++ (if features.image_0_10_4.png or false then [ png_0_5_2 ] else [])
-      ++ (if features.image_0_10_4.scoped_threadpool or false then [ scoped_threadpool_0_1_8 ] else []));
-    features = mkFeatures (features.image_0_10_4 or {});
-  };
-  image_0_10_4_features = f: updateFeatures f (rec {
-    byteorder_0_5_3.default = true;
-    enum_primitive_0_1_1.default = true;
-    gif_0_9_2.default = true;
-    glob_0_2_11.default = true;
-    image_0_10_4.bmp =
-      (f.image_0_10_4.bmp or false) ||
-      (f.image_0_10_4.default or false) ||
-      (image_0_10_4.default or false) ||
-      (f.image_0_10_4.ico or false) ||
-      (image_0_10_4.ico or false);
-    image_0_10_4.default = (f.image_0_10_4.default or true);
-    image_0_10_4.gif =
-      (f.image_0_10_4.gif or false) ||
-      (f.image_0_10_4.gif_codec or false) ||
-      (image_0_10_4.gif_codec or false);
-    image_0_10_4.gif_codec =
-      (f.image_0_10_4.gif_codec or false) ||
-      (f.image_0_10_4.default or false) ||
-      (image_0_10_4.default or false);
-    image_0_10_4.hdr =
-      (f.image_0_10_4.hdr or false) ||
-      (f.image_0_10_4.default or false) ||
-      (image_0_10_4.default or false);
-    image_0_10_4.ico =
-      (f.image_0_10_4.ico or false) ||
-      (f.image_0_10_4.default or false) ||
-      (image_0_10_4.default or false);
-    image_0_10_4.jpeg =
-      (f.image_0_10_4.jpeg or false) ||
-      (f.image_0_10_4.default or false) ||
-      (image_0_10_4.default or false);
-    image_0_10_4.jpeg-decoder =
-      (f.image_0_10_4.jpeg-decoder or false) ||
-      (f.image_0_10_4.jpeg or false) ||
-      (image_0_10_4.jpeg or false);
-    image_0_10_4.png =
-      (f.image_0_10_4.png or false) ||
-      (f.image_0_10_4.png_codec or false) ||
-      (image_0_10_4.png_codec or false);
-    image_0_10_4.png_codec =
-      (f.image_0_10_4.png_codec or false) ||
-      (f.image_0_10_4.default or false) ||
-      (image_0_10_4.default or false) ||
-      (f.image_0_10_4.ico or false) ||
-      (image_0_10_4.ico or false);
-    image_0_10_4.ppm =
-      (f.image_0_10_4.ppm or false) ||
-      (f.image_0_10_4.default or false) ||
-      (image_0_10_4.default or false);
-    image_0_10_4.scoped_threadpool =
-      (f.image_0_10_4.scoped_threadpool or false) ||
-      (f.image_0_10_4.hdr or false) ||
-      (image_0_10_4.hdr or false);
-    image_0_10_4.tga =
-      (f.image_0_10_4.tga or false) ||
-      (f.image_0_10_4.default or false) ||
-      (image_0_10_4.default or false);
-    image_0_10_4.tiff =
-      (f.image_0_10_4.tiff or false) ||
-      (f.image_0_10_4.default or false) ||
-      (image_0_10_4.default or false);
-    image_0_10_4.webp =
-      (f.image_0_10_4.webp or false) ||
-      (f.image_0_10_4.default or false) ||
-      (image_0_10_4.default or false);
-    jpeg_decoder_0_1_13.default = true;
-    num_iter_0_1_34.default = true;
-    num_rational_0_1_39.default = true;
-    num_traits_0_1_40.default = true;
-    png_0_5_2.default = true;
-    scoped_threadpool_0_1_8.default = true;
-  }) [ byteorder_0_5_3_features enum_primitive_0_1_1_features gif_0_9_2_features glob_0_2_11_features jpeg_decoder_0_1_13_features num_iter_0_1_34_features num_rational_0_1_39_features num_traits_0_1_40_features png_0_5_2_features scoped_threadpool_0_1_8_features ];
-  inflate_0_1_1 = { features?(inflate_0_1_1_features {}) }: inflate_0_1_1_ {
-    features = mkFeatures (features.inflate_0_1_1 or {});
-  };
-  inflate_0_1_1_features = f: updateFeatures f ({
-    inflate_0_1_1.default = (f.inflate_0_1_1.default or true);
-  }) [];
-  itoa_0_3_4 = { features?(itoa_0_3_4_features {}) }: itoa_0_3_4_ {
-    features = mkFeatures (features.itoa_0_3_4 or {});
-  };
-  itoa_0_3_4_features = f: updateFeatures f ({
-    itoa_0_3_4.default = (f.itoa_0_3_4.default or true);
-  }) [];
-  jpeg_decoder_0_1_13 = { features?(jpeg_decoder_0_1_13_features {}) }: jpeg_decoder_0_1_13_ {
-    dependencies = mapFeatures features ([ byteorder_1_1_0 ]
-      ++ (if features.jpeg_decoder_0_1_13.rayon or false then [ rayon_0_8_2 ] else []));
-    features = mkFeatures (features.jpeg_decoder_0_1_13 or {});
-  };
-  jpeg_decoder_0_1_13_features = f: updateFeatures f (rec {
-    byteorder_1_1_0.default = true;
-    jpeg_decoder_0_1_13.default = (f.jpeg_decoder_0_1_13.default or true);
-    jpeg_decoder_0_1_13.rayon =
-      (f.jpeg_decoder_0_1_13.rayon or false) ||
-      (f.jpeg_decoder_0_1_13.default or false) ||
-      (jpeg_decoder_0_1_13.default or false);
-    rayon_0_8_2.default = true;
-  }) [ byteorder_1_1_0_features rayon_0_8_2_features ];
-  kernel32_sys_0_2_2 = { features?(kernel32_sys_0_2_2_features {}) }: kernel32_sys_0_2_2_ {
-    dependencies = mapFeatures features ([ winapi_0_2_8 ]);
-    buildDependencies = mapFeatures features ([ winapi_build_0_1_1 ]);
-  };
-  kernel32_sys_0_2_2_features = f: updateFeatures f ({
-    kernel32_sys_0_2_2.default = (f.kernel32_sys_0_2_2.default or true);
-    winapi_0_2_8.default = true;
-    winapi_build_0_1_1.default = true;
-  }) [ winapi_0_2_8_features winapi_build_0_1_1_features ];
-  lazy_static_0_2_9 = { features?(lazy_static_0_2_9_features {}) }: lazy_static_0_2_9_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.lazy_static_0_2_9 or {});
-  };
-  lazy_static_0_2_9_features = f: updateFeatures f (rec {
-    lazy_static_0_2_9.default = (f.lazy_static_0_2_9.default or true);
-    lazy_static_0_2_9.nightly =
-      (f.lazy_static_0_2_9.nightly or false) ||
-      (f.lazy_static_0_2_9.spin_no_std or false) ||
-      (lazy_static_0_2_9.spin_no_std or false);
-    lazy_static_0_2_9.spin =
-      (f.lazy_static_0_2_9.spin or false) ||
-      (f.lazy_static_0_2_9.spin_no_std or false) ||
-      (lazy_static_0_2_9.spin_no_std or false);
-  }) [];
-  libc_0_2_32 = { features?(libc_0_2_32_features {}) }: libc_0_2_32_ {
-    features = mkFeatures (features.libc_0_2_32 or {});
-  };
-  libc_0_2_32_features = f: updateFeatures f (rec {
-    libc_0_2_32.default = (f.libc_0_2_32.default or true);
-    libc_0_2_32.use_std =
-      (f.libc_0_2_32.use_std or false) ||
-      (f.libc_0_2_32.default or false) ||
-      (libc_0_2_32.default or false);
-  }) [];
-  libloading_0_3_4 = { features?(libloading_0_3_4_features {}) }: libloading_0_3_4_ {
-    dependencies = mapFeatures features ([ lazy_static_0_2_9 ])
-      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
-    buildDependencies = mapFeatures features ([ target_build_utils_0_3_1 ]);
-  };
-  libloading_0_3_4_features = f: updateFeatures f ({
-    kernel32_sys_0_2_2.default = true;
-    lazy_static_0_2_9.default = true;
-    libloading_0_3_4.default = (f.libloading_0_3_4.default or true);
-    target_build_utils_0_3_1.default = true;
-    winapi_0_2_8.default = true;
-  }) [ lazy_static_0_2_9_features target_build_utils_0_3_1_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
-  lzw_0_10_0 = { features?(lzw_0_10_0_features {}) }: lzw_0_10_0_ {
-    features = mkFeatures (features.lzw_0_10_0 or {});
-  };
-  lzw_0_10_0_features = f: updateFeatures f (rec {
-    lzw_0_10_0.default = (f.lzw_0_10_0.default or true);
-    lzw_0_10_0.raii_no_panic =
-      (f.lzw_0_10_0.raii_no_panic or false) ||
-      (f.lzw_0_10_0.default or false) ||
-      (lzw_0_10_0.default or false);
-  }) [];
-  miniz_sys_0_1_10 = { features?(miniz_sys_0_1_10_features {}) }: miniz_sys_0_1_10_ {
-    dependencies = mapFeatures features ([ libc_0_2_32 ]);
-    buildDependencies = mapFeatures features ([ cc_1_0_0 ]);
-  };
-  miniz_sys_0_1_10_features = f: updateFeatures f ({
-    cc_1_0_0.default = true;
-    libc_0_2_32.default = true;
-    miniz_sys_0_1_10.default = (f.miniz_sys_0_1_10.default or true);
-  }) [ libc_0_2_32_features cc_1_0_0_features ];
-  num_bigint_0_1_40 = { features?(num_bigint_0_1_40_features {}) }: num_bigint_0_1_40_ {
-    dependencies = mapFeatures features ([ num_integer_0_1_35 num_traits_0_1_40 ]
-      ++ (if features.num_bigint_0_1_40.rand or false then [ rand_0_3_17 ] else [])
-      ++ (if features.num_bigint_0_1_40.rustc-serialize or false then [ rustc_serialize_0_3_24 ] else []));
-    features = mkFeatures (features.num_bigint_0_1_40 or {});
-  };
-  num_bigint_0_1_40_features = f: updateFeatures f (rec {
-    num_bigint_0_1_40.default = (f.num_bigint_0_1_40.default or true);
-    num_bigint_0_1_40.rand =
-      (f.num_bigint_0_1_40.rand or false) ||
-      (f.num_bigint_0_1_40.default or false) ||
-      (num_bigint_0_1_40.default or false);
-    num_bigint_0_1_40.rustc-serialize =
-      (f.num_bigint_0_1_40.rustc-serialize or false) ||
-      (f.num_bigint_0_1_40.default or false) ||
-      (num_bigint_0_1_40.default or false);
-    num_integer_0_1_35.default = true;
-    num_traits_0_1_40.default = true;
-    rand_0_3_17.default = true;
-    rustc_serialize_0_3_24.default = true;
-  }) [ num_integer_0_1_35_features num_traits_0_1_40_features rand_0_3_17_features rustc_serialize_0_3_24_features ];
-  num_integer_0_1_35 = { features?(num_integer_0_1_35_features {}) }: num_integer_0_1_35_ {
-    dependencies = mapFeatures features ([ num_traits_0_1_40 ]);
-  };
-  num_integer_0_1_35_features = f: updateFeatures f ({
-    num_integer_0_1_35.default = (f.num_integer_0_1_35.default or true);
-    num_traits_0_1_40.default = true;
-  }) [ num_traits_0_1_40_features ];
-  num_iter_0_1_34 = { features?(num_iter_0_1_34_features {}) }: num_iter_0_1_34_ {
-    dependencies = mapFeatures features ([ num_integer_0_1_35 num_traits_0_1_40 ]);
-  };
-  num_iter_0_1_34_features = f: updateFeatures f ({
-    num_integer_0_1_35.default = true;
-    num_iter_0_1_34.default = (f.num_iter_0_1_34.default or true);
-    num_traits_0_1_40.default = true;
-  }) [ num_integer_0_1_35_features num_traits_0_1_40_features ];
-  num_rational_0_1_39 = { features?(num_rational_0_1_39_features {}) }: num_rational_0_1_39_ {
-    dependencies = mapFeatures features ([ num_integer_0_1_35 num_traits_0_1_40 ]
-      ++ (if features.num_rational_0_1_39.num-bigint or false then [ num_bigint_0_1_40 ] else [])
-      ++ (if features.num_rational_0_1_39.rustc-serialize or false then [ rustc_serialize_0_3_24 ] else []));
-    features = mkFeatures (features.num_rational_0_1_39 or {});
-  };
-  num_rational_0_1_39_features = f: updateFeatures f (rec {
-    num_bigint_0_1_40.default = true;
-    num_integer_0_1_35.default = true;
-    num_rational_0_1_39.bigint =
-      (f.num_rational_0_1_39.bigint or false) ||
-      (f.num_rational_0_1_39.default or false) ||
-      (num_rational_0_1_39.default or false);
-    num_rational_0_1_39.default = (f.num_rational_0_1_39.default or true);
-    num_rational_0_1_39.num-bigint =
-      (f.num_rational_0_1_39.num-bigint or false) ||
-      (f.num_rational_0_1_39.bigint or false) ||
-      (num_rational_0_1_39.bigint or false);
-    num_rational_0_1_39.rustc-serialize =
-      (f.num_rational_0_1_39.rustc-serialize or false) ||
-      (f.num_rational_0_1_39.default or false) ||
-      (num_rational_0_1_39.default or false);
-    num_traits_0_1_40.default = true;
-    rustc_serialize_0_3_24.default = true;
-  }) [ num_bigint_0_1_40_features num_integer_0_1_35_features num_traits_0_1_40_features rustc_serialize_0_3_24_features ];
-  num_traits_0_1_40 = { features?(num_traits_0_1_40_features {}) }: num_traits_0_1_40_ {};
-  num_traits_0_1_40_features = f: updateFeatures f ({
-    num_traits_0_1_40.default = (f.num_traits_0_1_40.default or true);
-  }) [];
-  num_cpus_1_7_0 = { features?(num_cpus_1_7_0_features {}) }: num_cpus_1_7_0_ {
-    dependencies = mapFeatures features ([ libc_0_2_32 ]);
-  };
-  num_cpus_1_7_0_features = f: updateFeatures f ({
-    libc_0_2_32.default = true;
-    num_cpus_1_7_0.default = (f.num_cpus_1_7_0.default or true);
-  }) [ libc_0_2_32_features ];
-  phf_0_7_21 = { features?(phf_0_7_21_features {}) }: phf_0_7_21_ {
-    dependencies = mapFeatures features ([ phf_shared_0_7_21 ]);
-    features = mkFeatures (features.phf_0_7_21 or {});
-  };
-  phf_0_7_21_features = f: updateFeatures f (rec {
-    phf_0_7_21.default = (f.phf_0_7_21.default or true);
-    phf_shared_0_7_21.core =
-      (f.phf_shared_0_7_21.core or false) ||
-      (phf_0_7_21.core or false) ||
-      (f.phf_0_7_21.core or false);
-    phf_shared_0_7_21.default = true;
-    phf_shared_0_7_21.unicase =
-      (f.phf_shared_0_7_21.unicase or false) ||
-      (phf_0_7_21.unicase or false) ||
-      (f.phf_0_7_21.unicase or false);
-  }) [ phf_shared_0_7_21_features ];
-  phf_codegen_0_7_21 = { features?(phf_codegen_0_7_21_features {}) }: phf_codegen_0_7_21_ {
-    dependencies = mapFeatures features ([ phf_generator_0_7_21 phf_shared_0_7_21 ]);
-  };
-  phf_codegen_0_7_21_features = f: updateFeatures f ({
-    phf_codegen_0_7_21.default = (f.phf_codegen_0_7_21.default or true);
-    phf_generator_0_7_21.default = true;
-    phf_shared_0_7_21.default = true;
-  }) [ phf_generator_0_7_21_features phf_shared_0_7_21_features ];
-  phf_generator_0_7_21 = { features?(phf_generator_0_7_21_features {}) }: phf_generator_0_7_21_ {
-    dependencies = mapFeatures features ([ phf_shared_0_7_21 rand_0_3_17 ]);
-  };
-  phf_generator_0_7_21_features = f: updateFeatures f ({
-    phf_generator_0_7_21.default = (f.phf_generator_0_7_21.default or true);
-    phf_shared_0_7_21.default = true;
-    rand_0_3_17.default = true;
-  }) [ phf_shared_0_7_21_features rand_0_3_17_features ];
-  phf_shared_0_7_21 = { features?(phf_shared_0_7_21_features {}) }: phf_shared_0_7_21_ {
-    dependencies = mapFeatures features ([ siphasher_0_2_2 ]);
-    features = mkFeatures (features.phf_shared_0_7_21 or {});
-  };
-  phf_shared_0_7_21_features = f: updateFeatures f ({
-    phf_shared_0_7_21.default = (f.phf_shared_0_7_21.default or true);
-    siphasher_0_2_2.default = true;
-  }) [ siphasher_0_2_2_features ];
-  png_0_5_2 = { features?(png_0_5_2_features {}) }: png_0_5_2_ {
-    dependencies = mapFeatures features ([ bitflags_0_7_0 inflate_0_1_1 num_iter_0_1_34 ]
-      ++ (if features.png_0_5_2.flate2 or false then [ flate2_0_2_20 ] else []));
-    features = mkFeatures (features.png_0_5_2 or {});
-  };
-  png_0_5_2_features = f: updateFeatures f (rec {
-    bitflags_0_7_0.default = true;
-    flate2_0_2_20.default = true;
-    inflate_0_1_1.default = true;
-    num_iter_0_1_34.default = true;
-    png_0_5_2.default = (f.png_0_5_2.default or true);
-    png_0_5_2.flate2 =
-      (f.png_0_5_2.flate2 or false) ||
-      (f.png_0_5_2.png-encoding or false) ||
-      (png_0_5_2.png-encoding or false);
-    png_0_5_2.png-encoding =
-      (f.png_0_5_2.png-encoding or false) ||
-      (f.png_0_5_2.default or false) ||
-      (png_0_5_2.default or false);
-  }) [ bitflags_0_7_0_features flate2_0_2_20_features inflate_0_1_1_features num_iter_0_1_34_features ];
-  rand_0_3_17 = { features?(rand_0_3_17_features {}) }: rand_0_3_17_ {
-    dependencies = mapFeatures features ([ libc_0_2_32 ])
-      ++ (if kernel == "fuchsia" then mapFeatures features ([ fuchsia_zircon_0_2_1 ]) else []);
-    features = mkFeatures (features.rand_0_3_17 or {});
-  };
-  rand_0_3_17_features = f: updateFeatures f (rec {
-    fuchsia_zircon_0_2_1.default = true;
-    libc_0_2_32.default = true;
-    rand_0_3_17.default = (f.rand_0_3_17.default or true);
-    rand_0_3_17.i128_support =
-      (f.rand_0_3_17.i128_support or false) ||
-      (f.rand_0_3_17.nightly or false) ||
-      (rand_0_3_17.nightly or false);
-  }) [ libc_0_2_32_features fuchsia_zircon_0_2_1_features ];
-  rayon_0_8_2 = { features?(rayon_0_8_2_features {}) }: rayon_0_8_2_ {
-    dependencies = mapFeatures features ([ rayon_core_1_2_1 ]);
-  };
-  rayon_0_8_2_features = f: updateFeatures f ({
-    rayon_0_8_2.default = (f.rayon_0_8_2.default or true);
-    rayon_core_1_2_1.default = true;
-  }) [ rayon_core_1_2_1_features ];
-  rayon_core_1_2_1 = { features?(rayon_core_1_2_1_features {}) }: rayon_core_1_2_1_ {
-    dependencies = mapFeatures features ([ coco_0_1_1 futures_0_1_16 lazy_static_0_2_9 libc_0_2_32 num_cpus_1_7_0 rand_0_3_17 ]);
-  };
-  rayon_core_1_2_1_features = f: updateFeatures f ({
-    coco_0_1_1.default = true;
-    futures_0_1_16.default = true;
-    lazy_static_0_2_9.default = true;
-    libc_0_2_32.default = true;
-    num_cpus_1_7_0.default = true;
-    rand_0_3_17.default = true;
-    rayon_core_1_2_1.default = (f.rayon_core_1_2_1.default or true);
-  }) [ coco_0_1_1_features futures_0_1_16_features lazy_static_0_2_9_features libc_0_2_32_features num_cpus_1_7_0_features rand_0_3_17_features ];
-  redox_syscall_0_1_31 = { features?(redox_syscall_0_1_31_features {}) }: redox_syscall_0_1_31_ {};
-  redox_syscall_0_1_31_features = f: updateFeatures f ({
-    redox_syscall_0_1_31.default = (f.redox_syscall_0_1_31.default or true);
-  }) [];
-  redox_termios_0_1_1 = { features?(redox_termios_0_1_1_features {}) }: redox_termios_0_1_1_ {
-    dependencies = mapFeatures features ([ redox_syscall_0_1_31 ]);
-  };
-  redox_termios_0_1_1_features = f: updateFeatures f ({
-    redox_syscall_0_1_31.default = true;
-    redox_termios_0_1_1.default = (f.redox_termios_0_1_1.default or true);
-  }) [ redox_syscall_0_1_31_features ];
-  rustc_serialize_0_3_24 = { features?(rustc_serialize_0_3_24_features {}) }: rustc_serialize_0_3_24_ {};
-  rustc_serialize_0_3_24_features = f: updateFeatures f ({
-    rustc_serialize_0_3_24.default = (f.rustc_serialize_0_3_24.default or true);
-  }) [];
-  scoped_threadpool_0_1_8 = { features?(scoped_threadpool_0_1_8_features {}) }: scoped_threadpool_0_1_8_ {
-    features = mkFeatures (features.scoped_threadpool_0_1_8 or {});
-  };
-  scoped_threadpool_0_1_8_features = f: updateFeatures f ({
-    scoped_threadpool_0_1_8.default = (f.scoped_threadpool_0_1_8.default or true);
-  }) [];
-  scopeguard_0_3_2 = { features?(scopeguard_0_3_2_features {}) }: scopeguard_0_3_2_ {
-    features = mkFeatures (features.scopeguard_0_3_2 or {});
-  };
-  scopeguard_0_3_2_features = f: updateFeatures f (rec {
-    scopeguard_0_3_2.default = (f.scopeguard_0_3_2.default or true);
-    scopeguard_0_3_2.use_std =
-      (f.scopeguard_0_3_2.use_std or false) ||
-      (f.scopeguard_0_3_2.default or false) ||
-      (scopeguard_0_3_2.default or false);
-  }) [];
-  serde_0_9_15 = { features?(serde_0_9_15_features {}) }: serde_0_9_15_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.serde_0_9_15 or {});
-  };
-  serde_0_9_15_features = f: updateFeatures f (rec {
-    serde_0_9_15.alloc =
-      (f.serde_0_9_15.alloc or false) ||
-      (f.serde_0_9_15.collections or false) ||
-      (serde_0_9_15.collections or false);
-    serde_0_9_15.default = (f.serde_0_9_15.default or true);
-    serde_0_9_15.serde_derive =
-      (f.serde_0_9_15.serde_derive or false) ||
-      (f.serde_0_9_15.derive or false) ||
-      (serde_0_9_15.derive or false) ||
-      (f.serde_0_9_15.playground or false) ||
-      (serde_0_9_15.playground or false);
-    serde_0_9_15.std =
-      (f.serde_0_9_15.std or false) ||
-      (f.serde_0_9_15.default or false) ||
-      (serde_0_9_15.default or false) ||
-      (f.serde_0_9_15.unstable-testing or false) ||
-      (serde_0_9_15.unstable-testing or false);
-    serde_0_9_15.unstable =
-      (f.serde_0_9_15.unstable or false) ||
-      (f.serde_0_9_15.alloc or false) ||
-      (serde_0_9_15.alloc or false) ||
-      (f.serde_0_9_15.unstable-testing or false) ||
-      (serde_0_9_15.unstable-testing or false);
-  }) [];
-  serde_json_0_9_10 = { features?(serde_json_0_9_10_features {}) }: serde_json_0_9_10_ {
-    dependencies = mapFeatures features ([ dtoa_0_4_2 itoa_0_3_4 num_traits_0_1_40 serde_0_9_15 ]);
-    features = mkFeatures (features.serde_json_0_9_10 or {});
-  };
-  serde_json_0_9_10_features = f: updateFeatures f (rec {
-    dtoa_0_4_2.default = true;
-    itoa_0_3_4.default = true;
-    num_traits_0_1_40.default = true;
-    serde_0_9_15.default = true;
-    serde_json_0_9_10.default = (f.serde_json_0_9_10.default or true);
-    serde_json_0_9_10.linked-hash-map =
-      (f.serde_json_0_9_10.linked-hash-map or false) ||
-      (f.serde_json_0_9_10.preserve_order or false) ||
-      (serde_json_0_9_10.preserve_order or false);
-  }) [ dtoa_0_4_2_features itoa_0_3_4_features num_traits_0_1_40_features serde_0_9_15_features ];
-  siphasher_0_2_2 = { features?(siphasher_0_2_2_features {}) }: siphasher_0_2_2_ {
-    dependencies = mapFeatures features ([]);
-  };
-  siphasher_0_2_2_features = f: updateFeatures f ({
-    siphasher_0_2_2.default = (f.siphasher_0_2_2.default or true);
-  }) [];
-  strsim_0_6_0 = { features?(strsim_0_6_0_features {}) }: strsim_0_6_0_ {};
-  strsim_0_6_0_features = f: updateFeatures f ({
-    strsim_0_6_0.default = (f.strsim_0_6_0.default or true);
-  }) [];
-  target_build_utils_0_3_1 = { features?(target_build_utils_0_3_1_features {}) }: target_build_utils_0_3_1_ {
-    dependencies = mapFeatures features ([ phf_0_7_21 ]
-      ++ (if features.target_build_utils_0_3_1.serde_json or false then [ serde_json_0_9_10 ] else []));
-    buildDependencies = mapFeatures features ([ phf_codegen_0_7_21 ]);
-    features = mkFeatures (features.target_build_utils_0_3_1 or {});
-  };
-  target_build_utils_0_3_1_features = f: updateFeatures f (rec {
-    phf_0_7_21.default = true;
-    phf_codegen_0_7_21.default = true;
-    serde_json_0_9_10.default = true;
-    target_build_utils_0_3_1.default = (f.target_build_utils_0_3_1.default or true);
-    target_build_utils_0_3_1.serde_json =
-      (f.target_build_utils_0_3_1.serde_json or false) ||
-      (f.target_build_utils_0_3_1.default or false) ||
-      (target_build_utils_0_3_1.default or false);
-  }) [ phf_0_7_21_features serde_json_0_9_10_features phf_codegen_0_7_21_features ];
-  tempfile_2_2_0 = { features?(tempfile_2_2_0_features {}) }: tempfile_2_2_0_ {
-    dependencies = mapFeatures features ([ rand_0_3_17 ])
-      ++ (if kernel == "redox" then mapFeatures features ([ redox_syscall_0_1_31 ]) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_32 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
-  };
-  tempfile_2_2_0_features = f: updateFeatures f ({
-    kernel32_sys_0_2_2.default = true;
-    libc_0_2_32.default = true;
-    rand_0_3_17.default = true;
-    redox_syscall_0_1_31.default = true;
-    tempfile_2_2_0.default = (f.tempfile_2_2_0.default or true);
-    winapi_0_2_8.default = true;
-  }) [ rand_0_3_17_features redox_syscall_0_1_31_features libc_0_2_32_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
-  term_size_0_3_0 = { features?(term_size_0_3_0_features {}) }: term_size_0_3_0_ {
-    dependencies = mapFeatures features ([])
-      ++ (if !(kernel == "windows") then mapFeatures features ([ libc_0_2_32 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
-    features = mkFeatures (features.term_size_0_3_0 or {});
-  };
-  term_size_0_3_0_features = f: updateFeatures f (rec {
-    kernel32_sys_0_2_2.default = true;
-    libc_0_2_32.default = true;
-    term_size_0_3_0.clippy =
-      (f.term_size_0_3_0.clippy or false) ||
-      (f.term_size_0_3_0.lints or false) ||
-      (term_size_0_3_0.lints or false);
-    term_size_0_3_0.default = (f.term_size_0_3_0.default or true);
-    term_size_0_3_0.lints =
-      (f.term_size_0_3_0.lints or false) ||
-      (f.term_size_0_3_0.travis or false) ||
-      (term_size_0_3_0.travis or false);
-    term_size_0_3_0.nightly =
-      (f.term_size_0_3_0.nightly or false) ||
-      (f.term_size_0_3_0.lints or false) ||
-      (term_size_0_3_0.lints or false) ||
-      (f.term_size_0_3_0.travis or false) ||
-      (term_size_0_3_0.travis or false);
-    winapi_0_2_8.default = true;
-  }) [ libc_0_2_32_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
-  termion_1_5_1 = { features?(termion_1_5_1_features {}) }: termion_1_5_1_ {
-    dependencies = (if !(kernel == "redox") then mapFeatures features ([ libc_0_2_32 ]) else [])
-      ++ (if kernel == "redox" then mapFeatures features ([ redox_syscall_0_1_31 redox_termios_0_1_1 ]) else []);
-  };
-  termion_1_5_1_features = f: updateFeatures f ({
-    libc_0_2_32.default = true;
-    redox_syscall_0_1_31.default = true;
-    redox_termios_0_1_1.default = true;
-    termion_1_5_1.default = (f.termion_1_5_1.default or true);
-  }) [ libc_0_2_32_features redox_syscall_0_1_31_features redox_termios_0_1_1_features ];
-  textwrap_0_8_0 = { features?(textwrap_0_8_0_features {}) }: textwrap_0_8_0_ {
-    dependencies = mapFeatures features ([ term_size_0_3_0 unicode_width_0_1_4 ]);
-  };
-  textwrap_0_8_0_features = f: updateFeatures f ({
-    term_size_0_3_0.default = true;
-    textwrap_0_8_0.default = (f.textwrap_0_8_0.default or true);
-    unicode_width_0_1_4.default = true;
-  }) [ term_size_0_3_0_features unicode_width_0_1_4_features ];
-  unicode_width_0_1_4 = { features?(unicode_width_0_1_4_features {}) }: unicode_width_0_1_4_ {
-    features = mkFeatures (features.unicode_width_0_1_4 or {});
-  };
-  unicode_width_0_1_4_features = f: updateFeatures f ({
-    unicode_width_0_1_4.default = (f.unicode_width_0_1_4.default or true);
-  }) [];
-  vec_map_0_8_0 = { features?(vec_map_0_8_0_features {}) }: vec_map_0_8_0_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.vec_map_0_8_0 or {});
-  };
-  vec_map_0_8_0_features = f: updateFeatures f (rec {
-    vec_map_0_8_0.default = (f.vec_map_0_8_0.default or true);
-    vec_map_0_8_0.serde =
-      (f.vec_map_0_8_0.serde or false) ||
-      (f.vec_map_0_8_0.eders or false) ||
-      (vec_map_0_8_0.eders or false);
-    vec_map_0_8_0.serde_derive =
-      (f.vec_map_0_8_0.serde_derive or false) ||
-      (f.vec_map_0_8_0.eders or false) ||
-      (vec_map_0_8_0.eders or false);
-  }) [];
-  way_cooler_client_helpers_0_1_0 = { features?(way_cooler_client_helpers_0_1_0_features {}) }: way_cooler_client_helpers_0_1_0_ {
-    dependencies = mapFeatures features ([ wayland_client_0_9_10 wayland_sys_0_9_10 ]);
-  };
-  way_cooler_client_helpers_0_1_0_features = f: updateFeatures f ({
-    way_cooler_client_helpers_0_1_0.default = (f.way_cooler_client_helpers_0_1_0.default or true);
-    wayland_client_0_9_10.cursor = true;
-    wayland_client_0_9_10.default = true;
-    wayland_client_0_9_10.dlopen = true;
-    wayland_sys_0_9_10.client = true;
-    wayland_sys_0_9_10.default = true;
-    wayland_sys_0_9_10.dlopen = true;
-  }) [ wayland_client_0_9_10_features wayland_sys_0_9_10_features ];
-  wayland_client_0_9_10 = { features?(wayland_client_0_9_10_features {}) }: wayland_client_0_9_10_ {
-    dependencies = mapFeatures features ([ bitflags_0_9_1 libc_0_2_32 wayland_sys_0_9_10 ]);
-    buildDependencies = mapFeatures features ([ wayland_scanner_0_9_10 ]);
-    features = mkFeatures (features.wayland_client_0_9_10 or {});
-  };
-  wayland_client_0_9_10_features = f: updateFeatures f (rec {
-    bitflags_0_9_1.default = true;
-    libc_0_2_32.default = true;
-    wayland_client_0_9_10.cursor =
-      (f.wayland_client_0_9_10.cursor or false) ||
-      (f.wayland_client_0_9_10.default or false) ||
-      (wayland_client_0_9_10.default or false);
-    wayland_client_0_9_10.default = (f.wayland_client_0_9_10.default or true);
-    wayland_client_0_9_10.egl =
-      (f.wayland_client_0_9_10.egl or false) ||
-      (f.wayland_client_0_9_10.default or false) ||
-      (wayland_client_0_9_10.default or false);
-    wayland_scanner_0_9_10.default = true;
-    wayland_sys_0_9_10.client = true;
-    wayland_sys_0_9_10.cursor =
-      (f.wayland_sys_0_9_10.cursor or false) ||
-      (wayland_client_0_9_10.cursor or false) ||
-      (f.wayland_client_0_9_10.cursor or false);
-    wayland_sys_0_9_10.default = true;
-    wayland_sys_0_9_10.dlopen =
-      (f.wayland_sys_0_9_10.dlopen or false) ||
-      (wayland_client_0_9_10.dlopen or false) ||
-      (f.wayland_client_0_9_10.dlopen or false);
-    wayland_sys_0_9_10.egl =
-      (f.wayland_sys_0_9_10.egl or false) ||
-      (wayland_client_0_9_10.egl or false) ||
-      (f.wayland_client_0_9_10.egl or false);
-  }) [ bitflags_0_9_1_features libc_0_2_32_features wayland_sys_0_9_10_features wayland_scanner_0_9_10_features ];
-  wayland_scanner_0_9_10 = { features?(wayland_scanner_0_9_10_features {}) }: wayland_scanner_0_9_10_ {
-    dependencies = mapFeatures features ([ xml_rs_0_6_1 ]);
-  };
-  wayland_scanner_0_9_10_features = f: updateFeatures f ({
-    wayland_scanner_0_9_10.default = (f.wayland_scanner_0_9_10.default or true);
-    xml_rs_0_6_1.default = true;
-  }) [ xml_rs_0_6_1_features ];
-  wayland_sys_0_9_10 = { features?(wayland_sys_0_9_10_features {}) }: wayland_sys_0_9_10_ {
-    dependencies = mapFeatures features ([ dlib_0_3_1 ]
-      ++ (if features.wayland_sys_0_9_10.lazy_static or false then [ lazy_static_0_2_9 ] else []));
-    features = mkFeatures (features.wayland_sys_0_9_10 or {});
-  };
-  wayland_sys_0_9_10_features = f: updateFeatures f (rec {
-    dlib_0_3_1.default = true;
-    dlib_0_3_1.dlopen =
-      (f.dlib_0_3_1.dlopen or false) ||
-      (wayland_sys_0_9_10.dlopen or false) ||
-      (f.wayland_sys_0_9_10.dlopen or false);
-    lazy_static_0_2_9.default = true;
-    wayland_sys_0_9_10.default = (f.wayland_sys_0_9_10.default or true);
-    wayland_sys_0_9_10.lazy_static =
-      (f.wayland_sys_0_9_10.lazy_static or false) ||
-      (f.wayland_sys_0_9_10.dlopen or false) ||
-      (wayland_sys_0_9_10.dlopen or false);
-    wayland_sys_0_9_10.libc =
-      (f.wayland_sys_0_9_10.libc or false) ||
-      (f.wayland_sys_0_9_10.server or false) ||
-      (wayland_sys_0_9_10.server or false);
-  }) [ dlib_0_3_1_features lazy_static_0_2_9_features ];
-  wc_bg_0_3_0 = { features?(wc_bg_0_3_0_features {}) }: wc_bg_0_3_0_ {
-    dependencies = mapFeatures features ([ byteorder_0_5_3 clap_2_26_2 image_0_10_4 tempfile_2_2_0 way_cooler_client_helpers_0_1_0 wayland_client_0_9_10 wayland_sys_0_9_10 ]);
-    buildDependencies = mapFeatures features ([ wayland_scanner_0_9_10 ]);
-  };
-  wc_bg_0_3_0_features = f: updateFeatures f ({
-    byteorder_0_5_3.default = true;
-    clap_2_26_2.default = true;
-    image_0_10_4.default = true;
-    tempfile_2_2_0.default = true;
-    way_cooler_client_helpers_0_1_0.default = true;
-    wayland_client_0_9_10.cursor = true;
-    wayland_client_0_9_10.default = true;
-    wayland_client_0_9_10.dlopen = true;
-    wayland_scanner_0_9_10.default = true;
-    wayland_sys_0_9_10.client = true;
-    wayland_sys_0_9_10.default = true;
-    wayland_sys_0_9_10.dlopen = true;
-    wc_bg_0_3_0.default = (f.wc_bg_0_3_0.default or true);
-  }) [ byteorder_0_5_3_features clap_2_26_2_features image_0_10_4_features tempfile_2_2_0_features way_cooler_client_helpers_0_1_0_features wayland_client_0_9_10_features wayland_sys_0_9_10_features wayland_scanner_0_9_10_features ];
-  winapi_0_2_8 = { features?(winapi_0_2_8_features {}) }: winapi_0_2_8_ {};
-  winapi_0_2_8_features = f: updateFeatures f ({
-    winapi_0_2_8.default = (f.winapi_0_2_8.default or true);
-  }) [];
-  winapi_build_0_1_1 = { features?(winapi_build_0_1_1_features {}) }: winapi_build_0_1_1_ {};
-  winapi_build_0_1_1_features = f: updateFeatures f ({
-    winapi_build_0_1_1.default = (f.winapi_build_0_1_1.default or true);
-  }) [];
-  xml_rs_0_6_1 = { features?(xml_rs_0_6_1_features {}) }: xml_rs_0_6_1_ {
-    dependencies = mapFeatures features ([ bitflags_0_9_1 ]);
-  };
-  xml_rs_0_6_1_features = f: updateFeatures f ({
-    bitflags_0_9_1.default = true;
-    xml_rs_0_6_1.default = (f.xml_rs_0_6_1.default or true);
-  }) [ bitflags_0_9_1_features ];
-}
diff --git a/pkgs/applications/window-managers/way-cooler/wc-grab.nix b/pkgs/applications/window-managers/way-cooler/wc-grab.nix
deleted file mode 100644
index 3264357b2fd..00000000000
--- a/pkgs/applications/window-managers/way-cooler/wc-grab.nix
+++ /dev/null
@@ -1,794 +0,0 @@
-# Generated by carnix 0.6.5: carnix -o wc-grab.nix Cargo.lock
-{ lib, stdenv, buildRustCrate, fetchgit }:
-let kernel = stdenv.hostPlatform.parsed.kernel.name;
-    updateFeatures = f: up: functions: builtins.deepSeq f (lib.lists.foldl' (features: fun: fun features) (lib.attrsets.recursiveUpdate f up) functions);
-    mapFeatures = features: map (fun: fun { features = features; });
-    mkFeatures = feat: lib.lists.foldl (features: featureName:
-      if feat.${featureName} or false then
-        [ featureName ] ++ features
-      else
-        features
-    ) [] (builtins.attrNames feat);
-in
-rec {
-  wc_grab = f: wc_grab_0_3_0 { features = wc_grab_0_3_0_features { wc_grab_0_3_0 = f; }; };
-  adler32_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "adler32";
-    version = "1.0.0";
-    authors = [ "Remi Rampin <remirampin@gmail.com>" ];
-    sha256 = "0pj35a7m4apn5xjg9n63gsdj6w8iw76zg4p9znrij43xnfqp084w";
-    inherit dependencies buildDependencies features;
-  };
-  ansi_term_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "ansi_term";
-    version = "0.9.0";
-    authors = [ "ogham@bsago.me" "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>" ];
-    sha256 = "1vcd8m2hglrdi4zmqnkkz5zy3c73ifgii245k7vj6qr5dzpn9hij";
-    inherit dependencies buildDependencies features;
-  };
-  atty_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "atty";
-    version = "0.2.2";
-    authors = [ "softprops <d.tangren@gmail.com>" ];
-    sha256 = "05c6jvrxljp4s1aycgq2z3y56f7f5yvc56v25cqlmpc1qx65z7ba";
-    inherit dependencies buildDependencies features;
-  };
-  bitflags_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "bitflags";
-    version = "0.7.0";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5";
-    inherit dependencies buildDependencies features;
-  };
-  bitflags_0_8_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "bitflags";
-    version = "0.8.0";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1h489m0wzhng5gvvc40jgdbaf0ac3rgkka31vwinhsjmfvrqcc4v";
-    inherit dependencies buildDependencies features;
-  };
-  byteorder_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "byteorder";
-    version = "1.0.0";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-    sha256 = "14pdnds4517vcpablc51vv76hvc3glnpkpbb7qdil591q7lyb0m1";
-    inherit dependencies buildDependencies features;
-  };
-  clap_2_22_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "clap";
-    version = "2.22.0";
-    authors = [ "Kevin K. <kbknapp@gmail.com>" ];
-    sha256 = "0gdgyfh3ydpd2px4xh0i5qd6bhi2c5f43bqv9z4kla9vkmmfiavd";
-    inherit dependencies buildDependencies features;
-  };
-  color_quant_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "color_quant";
-    version = "1.0.0";
-    authors = [ "nwin <nwin@users.noreply.github.com>" ];
-    sha256 = "0jwr40lr115zm2bydk1wja12gcxrmgsx0n1z1pipq00sab71maaj";
-    inherit dependencies buildDependencies features;
-  };
-  dbus_0_5_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "dbus";
-    version = "0.5.2";
-    authors = [ "David Henningsson <diwic@ubuntu.com>" ];
-    sha256 = "1ga3p2myqxbz34n2bbw4gk1ipf76mjr8r2rvrvnalwggymzfkhj7";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  deflate_0_7_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "deflate";
-    version = "0.7.5";
-    authors = [ "oyvindln <oyvindln@users.noreply.github.com>" ];
-    sha256 = "18bcmdkyshnzpkxx22b29gn55g6bk5ysy98ghjpjhxy3hky96rvy";
-    inherit dependencies buildDependencies features;
-  };
-  deque_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "deque";
-    version = "0.3.1";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Samuel Fredrickson <kinghajj@gmail.com>" "Linus Färnstrand <faern@faern.net>" "Amanieu d'Antras <amanieu@gmail.com>" ];
-    sha256 = "04x8i5aagxmslk350i8qszyw7kmvrqc3d99g4qi1xnfmr61y7m68";
-    inherit dependencies buildDependencies features;
-  };
-  enum_primitive_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "enum_primitive";
-    version = "0.1.1";
-    authors = [ "Anders Kaseorg <andersk@mit.edu>" ];
-    sha256 = "1a225rlsz7sz3nn14dar71kp2f9v08s3rwl6j55xp51mv01f695y";
-    inherit dependencies buildDependencies features;
-  };
-  error_chain_0_7_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "error-chain";
-    version = "0.7.2";
-    authors = [ "Brian Anderson <banderson@mozilla.com>" "Paul Colomiets <paul@colomiets.name>" "Colin Kiegel <kiegel@gmx.de>" "Yamakaky <yamakaky@yamaworld.fr>" ];
-    sha256 = "0b1r4ggdgy1djfvz2s4l5kirmfsmxd286y6wx0p9ahv2phb7inyi";
-    inherit dependencies buildDependencies features;
-  };
-  gif_0_9_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "gif";
-    version = "0.9.1";
-    authors = [ "nwin <nwin@users.noreply.github.com>" ];
-    sha256 = "16s7b0rqc6gg1fcbppakm3jy2q462w3qvykcmcmifmg7q7lwsg6r";
-    inherit dependencies buildDependencies features;
-  };
-  glob_0_2_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "glob";
-    version = "0.2.11";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "104389jjxs8r2f5cc9p0axhjmndgln60ih5x4f00ccgg9d3zarlf";
-    inherit dependencies buildDependencies features;
-  };
-  image_0_12_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "image";
-    version = "0.12.3";
-    authors = [ "ccgn" "bvssvni <bvssvni@gmail.com>" "nwin" "TyOverby <ty@pre-alpha.com>" ];
-    sha256 = "12xdzi29vr19gz3h93c1ihyvyv9xar9sp0inrjwwvlbjvn8nn0p9";
-    libPath = "./src/lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  inflate_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "inflate";
-    version = "0.1.1";
-    authors = [ "nwin <nwin@users.noreply.github.com>" ];
-    sha256 = "112kh9hjcjjxdybl032mdhpwnr3qxw8j0ch6hwanwpcf3gz42g1h";
-    inherit dependencies buildDependencies features;
-  };
-  jpeg_decoder_0_1_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "jpeg-decoder";
-    version = "0.1.11";
-    authors = [ "Ulf Nilsson <kaksmet@gmail.com>" ];
-    sha256 = "1xm39c1cff5gkczs164371hk2gpkjpkbw63k4f8mjnpwwpn9xk4n";
-    inherit dependencies buildDependencies features;
-  };
-  kernel32_sys_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "kernel32-sys";
-    version = "0.2.2";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
-    libName = "kernel32";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  libc_0_2_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "libc";
-    version = "0.2.21";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0glj3lxwc8358cfw9pb5dd4zr9iynzj6w2ly59nshrggsw021j75";
-    inherit dependencies buildDependencies features;
-  };
-  lzw_0_10_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "lzw";
-    version = "0.10.0";
-    authors = [ "nwin <nwin@users.noreply.github.com>" ];
-    sha256 = "1cfsy2w26kbz9bjaqp9dh1wyyh47rpmhwvj4jpc1rmffbf438fvb";
-    inherit dependencies buildDependencies features;
-  };
-  metadeps_1_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "metadeps";
-    version = "1.1.1";
-    authors = [ "Josh Triplett <josh@joshtriplett.org>" ];
-    sha256 = "1px8v94jn4ps63gqmvgsfcqxrwjhpa9z4xr0y1lh95wn2063fsar";
-    inherit dependencies buildDependencies features;
-  };
-  num_integer_0_1_33_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num-integer";
-    version = "0.1.33";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1rhy9lf4lhl7r8278n73mi9y55v9a71639as3v92bj2gk1x4k729";
-    inherit dependencies buildDependencies features;
-  };
-  num_iter_0_1_33_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num-iter";
-    version = "0.1.33";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1xjzf2p2vaqwknkr4s8ka5hn6cpr5rsshnydbpkn2pvapfzdrqd3";
-    inherit dependencies buildDependencies features;
-  };
-  num_rational_0_1_36_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num-rational";
-    version = "0.1.36";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0jibhs8xiap2wlv1xjwdvhyj4yrxwfisqbnfm53vjm5ldlijp87p";
-    inherit dependencies buildDependencies features;
-  };
-  num_traits_0_1_37_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num-traits";
-    version = "0.1.37";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0rwzfmdjq6iz6plva2gi7agvy1w9sjs7aqjh0p115w57xiix2224";
-    inherit dependencies buildDependencies features;
-  };
-  num_cpus_1_3_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num_cpus";
-    version = "1.3.0";
-    authors = [ "Sean McArthur <sean.monstar@gmail.com>" ];
-    sha256 = "0i0zm6qh932k9b67qf7f1vsczkdim5kg9qv73m7y5hhw1i781rrb";
-    inherit dependencies buildDependencies features;
-  };
-  pkg_config_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "pkg-config";
-    version = "0.3.9";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "06k8fxgrsrxj8mjpjcq1n7mn2p1shpxif4zg9y5h09c7vy20s146";
-    inherit dependencies buildDependencies features;
-  };
-  png_0_6_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "png";
-    version = "0.6.2";
-    authors = [ "nwin <nwin@users.noreply.github.com>" ];
-    sha256 = "03i78w5jbvk9y6babfrh7h0akvg81pcyyhniilv24z5v0vh5jvjs";
-    inherit dependencies buildDependencies features;
-  };
-  rand_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "rand";
-    version = "0.3.15";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1fs30rc1xic40s1n7l3y7pxzfifpy03mgrvhy5ggp5p7zjfv3rr8";
-    inherit dependencies buildDependencies features;
-  };
-  rayon_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "rayon";
-    version = "0.6.0";
-    authors = [ "Niko Matsakis <niko@alum.mit.edu>" ];
-    sha256 = "0y2693bari5j4h46mjzkyc9lkfbnq2d1p0ldyn6sb02jn63lpw97";
-    inherit dependencies buildDependencies features;
-  };
-  scoped_threadpool_0_1_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "scoped_threadpool";
-    version = "0.1.7";
-    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-    sha256 = "0dg58f18i6v071640062n0vymr4h42cnj0xy8a7b80sc0mddykyk";
-    inherit dependencies buildDependencies features;
-  };
-  strsim_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "strsim";
-    version = "0.6.0";
-    authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
-    sha256 = "1lz85l6y68hr62lv4baww29yy7g8pg20dlr0lbaswxmmcb0wl7gd";
-    inherit dependencies buildDependencies features;
-  };
-  term_size_0_2_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "term_size";
-    version = "0.2.3";
-    authors = [ "Kevin K. <kbknapp@gmail.com>" "Benjamin Sago <ogham@bsago.me>" ];
-    sha256 = "16b7gq2dmz7mws4vgai7whxy4xkg4yvlhm7spz0q6jyipqfq87ci";
-    inherit dependencies buildDependencies features;
-  };
-  toml_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "toml";
-    version = "0.2.1";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0p4rkaqhmk4fp6iqpxfgp3p98hxhbs2wmla3fq531n875h922yqs";
-    inherit dependencies buildDependencies features;
-  };
-  unicode_segmentation_1_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "unicode-segmentation";
-    version = "1.1.0";
-    authors = [ "kwantam <kwantam@gmail.com>" ];
-    sha256 = "10hk7wy0217jwdbp27p36skwkig5lbhk482yfzij9m87h247rry0";
-    inherit dependencies buildDependencies features;
-  };
-  unicode_width_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "unicode-width";
-    version = "0.1.4";
-    authors = [ "kwantam <kwantam@gmail.com>" ];
-    sha256 = "1rp7a04icn9y5c0lm74nrd4py0rdl0af8bhdwq7g478n1xifpifl";
-    inherit dependencies buildDependencies features;
-  };
-  vec_map_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "vec_map";
-    version = "0.7.0";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Jorge Aparicio <japaricious@gmail.com>" "Alexis Beingessner <a.beingessner@gmail.com>" "Brian Anderson <>" "tbu- <>" "Manish Goregaokar <>" "Aaron Turon <aturon@mozilla.com>" "Adolfo Ochagavía <>" "Niko Matsakis <>" "Steven Fackler <>" "Chase Southwood <csouth3@illinois.edu>" "Eduard Burtescu <>" "Florian Wilkens <>" "Félix Raimundo <>" "Tibor Benke <>" "Markus Siemens <markus@m-siemens.de>" "Josh Branchaud <jbranchaud@gmail.com>" "Huon Wilson <dbau.pp@gmail.com>" "Corey Farwell <coref@rwell.org>" "Aaron Liblong <>" "Nick Cameron <nrc@ncameron.org>" "Patrick Walton <pcwalton@mimiga.net>" "Felix S Klock II <>" "Andrew Paseltiner <apaseltiner@gmail.com>" "Sean McArthur <sean.monstar@gmail.com>" "Vadim Petrochenkov <>" ];
-    sha256 = "0jawvi83b1nm101nam0w71kdyh7cy3fr0l9qj1hfcjvzvihfk2l1";
-    inherit dependencies buildDependencies features;
-  };
-  wc_grab_0_3_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "wc-grab";
-    version = "0.3.0";
-    authors = [ "Timidger <APragmaticPlace@gmail.com>" ];
-    sha256 = "02dkjxffzh38h3hiwfypkjv0g8dsfkp9wk20j04x4qydg4dr8a8h";
-    inherit dependencies buildDependencies features;
-  };
-  winapi_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "winapi";
-    version = "0.2.8";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
-    inherit dependencies buildDependencies features;
-  };
-  winapi_build_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "winapi-build";
-    version = "0.1.1";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
-    libName = "build";
-    inherit dependencies buildDependencies features;
-  };
-  adler32_1_0_0 = { features?(adler32_1_0_0_features {}) }: adler32_1_0_0_ {};
-  adler32_1_0_0_features = f: updateFeatures f ({
-    adler32_1_0_0.default = (f.adler32_1_0_0.default or true);
-  }) [];
-  ansi_term_0_9_0 = { features?(ansi_term_0_9_0_features {}) }: ansi_term_0_9_0_ {};
-  ansi_term_0_9_0_features = f: updateFeatures f ({
-    ansi_term_0_9_0.default = (f.ansi_term_0_9_0.default or true);
-  }) [];
-  atty_0_2_2 = { features?(atty_0_2_2_features {}) }: atty_0_2_2_ {
-    dependencies = (if !(kernel == "windows") then mapFeatures features ([ libc_0_2_21 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
-  };
-  atty_0_2_2_features = f: updateFeatures f ({
-    atty_0_2_2.default = (f.atty_0_2_2.default or true);
-    kernel32_sys_0_2_2.default = true;
-    libc_0_2_21.default = true;
-    winapi_0_2_8.default = true;
-  }) [ libc_0_2_21_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
-  bitflags_0_7_0 = { features?(bitflags_0_7_0_features {}) }: bitflags_0_7_0_ {};
-  bitflags_0_7_0_features = f: updateFeatures f ({
-    bitflags_0_7_0.default = (f.bitflags_0_7_0.default or true);
-  }) [];
-  bitflags_0_8_0 = { features?(bitflags_0_8_0_features {}) }: bitflags_0_8_0_ {
-    features = mkFeatures (features.bitflags_0_8_0 or {});
-  };
-  bitflags_0_8_0_features = f: updateFeatures f (rec {
-    bitflags_0_8_0.default = (f.bitflags_0_8_0.default or true);
-    bitflags_0_8_0.i128 =
-      (f.bitflags_0_8_0.i128 or false) ||
-      (f.bitflags_0_8_0.unstable or false) ||
-      (bitflags_0_8_0.unstable or false);
-  }) [];
-  byteorder_1_0_0 = { features?(byteorder_1_0_0_features {}) }: byteorder_1_0_0_ {
-    features = mkFeatures (features.byteorder_1_0_0 or {});
-  };
-  byteorder_1_0_0_features = f: updateFeatures f (rec {
-    byteorder_1_0_0.default = (f.byteorder_1_0_0.default or true);
-    byteorder_1_0_0.std =
-      (f.byteorder_1_0_0.std or false) ||
-      (f.byteorder_1_0_0.default or false) ||
-      (byteorder_1_0_0.default or false);
-  }) [];
-  clap_2_22_0 = { features?(clap_2_22_0_features {}) }: clap_2_22_0_ {
-    dependencies = mapFeatures features ([ bitflags_0_8_0 unicode_segmentation_1_1_0 unicode_width_0_1_4 vec_map_0_7_0 ]
-      ++ (if features.clap_2_22_0.ansi_term or false then [ ansi_term_0_9_0 ] else [])
-      ++ (if features.clap_2_22_0.atty or false then [ atty_0_2_2 ] else [])
-      ++ (if features.clap_2_22_0.strsim or false then [ strsim_0_6_0 ] else [])
-      ++ (if features.clap_2_22_0.term_size or false then [ term_size_0_2_3 ] else []));
-    features = mkFeatures (features.clap_2_22_0 or {});
-  };
-  clap_2_22_0_features = f: updateFeatures f (rec {
-    ansi_term_0_9_0.default = true;
-    atty_0_2_2.default = true;
-    bitflags_0_8_0.default = true;
-    clap_2_22_0.ansi_term =
-      (f.clap_2_22_0.ansi_term or false) ||
-      (f.clap_2_22_0.color or false) ||
-      (clap_2_22_0.color or false);
-    clap_2_22_0.atty =
-      (f.clap_2_22_0.atty or false) ||
-      (f.clap_2_22_0.color or false) ||
-      (clap_2_22_0.color or false);
-    clap_2_22_0.clippy =
-      (f.clap_2_22_0.clippy or false) ||
-      (f.clap_2_22_0.lints or false) ||
-      (clap_2_22_0.lints or false);
-    clap_2_22_0.color =
-      (f.clap_2_22_0.color or false) ||
-      (f.clap_2_22_0.default or false) ||
-      (clap_2_22_0.default or false);
-    clap_2_22_0.default = (f.clap_2_22_0.default or true);
-    clap_2_22_0.strsim =
-      (f.clap_2_22_0.strsim or false) ||
-      (f.clap_2_22_0.suggestions or false) ||
-      (clap_2_22_0.suggestions or false);
-    clap_2_22_0.suggestions =
-      (f.clap_2_22_0.suggestions or false) ||
-      (f.clap_2_22_0.default or false) ||
-      (clap_2_22_0.default or false);
-    clap_2_22_0.term_size =
-      (f.clap_2_22_0.term_size or false) ||
-      (f.clap_2_22_0.wrap_help or false) ||
-      (clap_2_22_0.wrap_help or false);
-    clap_2_22_0.wrap_help =
-      (f.clap_2_22_0.wrap_help or false) ||
-      (f.clap_2_22_0.default or false) ||
-      (clap_2_22_0.default or false);
-    clap_2_22_0.yaml-rust =
-      (f.clap_2_22_0.yaml-rust or false) ||
-      (f.clap_2_22_0.yaml or false) ||
-      (clap_2_22_0.yaml or false);
-    strsim_0_6_0.default = true;
-    term_size_0_2_3.default = true;
-    unicode_segmentation_1_1_0.default = true;
-    unicode_width_0_1_4.default = true;
-    vec_map_0_7_0.default = true;
-  }) [ ansi_term_0_9_0_features atty_0_2_2_features bitflags_0_8_0_features strsim_0_6_0_features term_size_0_2_3_features unicode_segmentation_1_1_0_features unicode_width_0_1_4_features vec_map_0_7_0_features ];
-  color_quant_1_0_0 = { features?(color_quant_1_0_0_features {}) }: color_quant_1_0_0_ {};
-  color_quant_1_0_0_features = f: updateFeatures f ({
-    color_quant_1_0_0.default = (f.color_quant_1_0_0.default or true);
-  }) [];
-  dbus_0_5_2 = { features?(dbus_0_5_2_features {}) }: dbus_0_5_2_ {
-    dependencies = mapFeatures features ([ libc_0_2_21 ]);
-    buildDependencies = mapFeatures features ([ metadeps_1_1_1 ]);
-    features = mkFeatures (features.dbus_0_5_2 or {});
-  };
-  dbus_0_5_2_features = f: updateFeatures f ({
-    dbus_0_5_2.default = (f.dbus_0_5_2.default or true);
-    libc_0_2_21.default = true;
-    metadeps_1_1_1.default = true;
-  }) [ libc_0_2_21_features metadeps_1_1_1_features ];
-  deflate_0_7_5 = { features?(deflate_0_7_5_features {}) }: deflate_0_7_5_ {
-    dependencies = mapFeatures features ([ adler32_1_0_0 byteorder_1_0_0 ]);
-  };
-  deflate_0_7_5_features = f: updateFeatures f ({
-    adler32_1_0_0.default = true;
-    byteorder_1_0_0.default = true;
-    deflate_0_7_5.default = (f.deflate_0_7_5.default or true);
-  }) [ adler32_1_0_0_features byteorder_1_0_0_features ];
-  deque_0_3_1 = { features?(deque_0_3_1_features {}) }: deque_0_3_1_ {
-    dependencies = mapFeatures features ([ rand_0_3_15 ]);
-  };
-  deque_0_3_1_features = f: updateFeatures f ({
-    deque_0_3_1.default = (f.deque_0_3_1.default or true);
-    rand_0_3_15.default = true;
-  }) [ rand_0_3_15_features ];
-  enum_primitive_0_1_1 = { features?(enum_primitive_0_1_1_features {}) }: enum_primitive_0_1_1_ {
-    dependencies = mapFeatures features ([ num_traits_0_1_37 ]);
-  };
-  enum_primitive_0_1_1_features = f: updateFeatures f ({
-    enum_primitive_0_1_1.default = (f.enum_primitive_0_1_1.default or true);
-    num_traits_0_1_37.default = (f.num_traits_0_1_37.default or false);
-  }) [ num_traits_0_1_37_features ];
-  error_chain_0_7_2 = { features?(error_chain_0_7_2_features {}) }: error_chain_0_7_2_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.error_chain_0_7_2 or {});
-  };
-  error_chain_0_7_2_features = f: updateFeatures f (rec {
-    error_chain_0_7_2.backtrace =
-      (f.error_chain_0_7_2.backtrace or false) ||
-      (f.error_chain_0_7_2.default or false) ||
-      (error_chain_0_7_2.default or false);
-    error_chain_0_7_2.default = (f.error_chain_0_7_2.default or true);
-    error_chain_0_7_2.example_generated =
-      (f.error_chain_0_7_2.example_generated or false) ||
-      (f.error_chain_0_7_2.default or false) ||
-      (error_chain_0_7_2.default or false);
-  }) [];
-  gif_0_9_1 = { features?(gif_0_9_1_features {}) }: gif_0_9_1_ {
-    dependencies = mapFeatures features ([ color_quant_1_0_0 lzw_0_10_0 ]);
-    features = mkFeatures (features.gif_0_9_1 or {});
-  };
-  gif_0_9_1_features = f: updateFeatures f (rec {
-    color_quant_1_0_0.default = true;
-    gif_0_9_1.default = (f.gif_0_9_1.default or true);
-    gif_0_9_1.libc =
-      (f.gif_0_9_1.libc or false) ||
-      (f.gif_0_9_1.c_api or false) ||
-      (gif_0_9_1.c_api or false);
-    gif_0_9_1.raii_no_panic =
-      (f.gif_0_9_1.raii_no_panic or false) ||
-      (f.gif_0_9_1.default or false) ||
-      (gif_0_9_1.default or false);
-    lzw_0_10_0.default = true;
-  }) [ color_quant_1_0_0_features lzw_0_10_0_features ];
-  glob_0_2_11 = { features?(glob_0_2_11_features {}) }: glob_0_2_11_ {};
-  glob_0_2_11_features = f: updateFeatures f ({
-    glob_0_2_11.default = (f.glob_0_2_11.default or true);
-  }) [];
-  image_0_12_3 = { features?(image_0_12_3_features {}) }: image_0_12_3_ {
-    dependencies = mapFeatures features ([ byteorder_1_0_0 enum_primitive_0_1_1 glob_0_2_11 num_iter_0_1_33 num_rational_0_1_36 num_traits_0_1_37 ]
-      ++ (if features.image_0_12_3.gif or false then [ gif_0_9_1 ] else [])
-      ++ (if features.image_0_12_3.jpeg-decoder or false then [ jpeg_decoder_0_1_11 ] else [])
-      ++ (if features.image_0_12_3.png or false then [ png_0_6_2 ] else [])
-      ++ (if features.image_0_12_3.scoped_threadpool or false then [ scoped_threadpool_0_1_7 ] else []));
-    features = mkFeatures (features.image_0_12_3 or {});
-  };
-  image_0_12_3_features = f: updateFeatures f (rec {
-    byteorder_1_0_0.default = true;
-    enum_primitive_0_1_1.default = true;
-    gif_0_9_1.default = true;
-    glob_0_2_11.default = true;
-    image_0_12_3.bmp =
-      (f.image_0_12_3.bmp or false) ||
-      (f.image_0_12_3.default or false) ||
-      (image_0_12_3.default or false) ||
-      (f.image_0_12_3.ico or false) ||
-      (image_0_12_3.ico or false);
-    image_0_12_3.default = (f.image_0_12_3.default or true);
-    image_0_12_3.gif =
-      (f.image_0_12_3.gif or false) ||
-      (f.image_0_12_3.gif_codec or false) ||
-      (image_0_12_3.gif_codec or false);
-    image_0_12_3.gif_codec =
-      (f.image_0_12_3.gif_codec or false) ||
-      (f.image_0_12_3.default or false) ||
-      (image_0_12_3.default or false);
-    image_0_12_3.hdr =
-      (f.image_0_12_3.hdr or false) ||
-      (f.image_0_12_3.default or false) ||
-      (image_0_12_3.default or false);
-    image_0_12_3.ico =
-      (f.image_0_12_3.ico or false) ||
-      (f.image_0_12_3.default or false) ||
-      (image_0_12_3.default or false);
-    image_0_12_3.jpeg =
-      (f.image_0_12_3.jpeg or false) ||
-      (f.image_0_12_3.default or false) ||
-      (image_0_12_3.default or false);
-    image_0_12_3.jpeg-decoder =
-      (f.image_0_12_3.jpeg-decoder or false) ||
-      (f.image_0_12_3.jpeg or false) ||
-      (image_0_12_3.jpeg or false);
-    image_0_12_3.png =
-      (f.image_0_12_3.png or false) ||
-      (f.image_0_12_3.png_codec or false) ||
-      (image_0_12_3.png_codec or false);
-    image_0_12_3.png_codec =
-      (f.image_0_12_3.png_codec or false) ||
-      (f.image_0_12_3.default or false) ||
-      (image_0_12_3.default or false) ||
-      (f.image_0_12_3.ico or false) ||
-      (image_0_12_3.ico or false);
-    image_0_12_3.ppm =
-      (f.image_0_12_3.ppm or false) ||
-      (f.image_0_12_3.default or false) ||
-      (image_0_12_3.default or false);
-    image_0_12_3.scoped_threadpool =
-      (f.image_0_12_3.scoped_threadpool or false) ||
-      (f.image_0_12_3.hdr or false) ||
-      (image_0_12_3.hdr or false);
-    image_0_12_3.tga =
-      (f.image_0_12_3.tga or false) ||
-      (f.image_0_12_3.default or false) ||
-      (image_0_12_3.default or false);
-    image_0_12_3.tiff =
-      (f.image_0_12_3.tiff or false) ||
-      (f.image_0_12_3.default or false) ||
-      (image_0_12_3.default or false);
-    image_0_12_3.webp =
-      (f.image_0_12_3.webp or false) ||
-      (f.image_0_12_3.default or false) ||
-      (image_0_12_3.default or false);
-    jpeg_decoder_0_1_11.default = true;
-    num_iter_0_1_33.default = true;
-    num_rational_0_1_36.default = (f.num_rational_0_1_36.default or false);
-    num_traits_0_1_37.default = true;
-    png_0_6_2.default = true;
-    scoped_threadpool_0_1_7.default = true;
-  }) [ byteorder_1_0_0_features enum_primitive_0_1_1_features gif_0_9_1_features glob_0_2_11_features jpeg_decoder_0_1_11_features num_iter_0_1_33_features num_rational_0_1_36_features num_traits_0_1_37_features png_0_6_2_features scoped_threadpool_0_1_7_features ];
-  inflate_0_1_1 = { features?(inflate_0_1_1_features {}) }: inflate_0_1_1_ {
-    features = mkFeatures (features.inflate_0_1_1 or {});
-  };
-  inflate_0_1_1_features = f: updateFeatures f ({
-    inflate_0_1_1.default = (f.inflate_0_1_1.default or true);
-  }) [];
-  jpeg_decoder_0_1_11 = { features?(jpeg_decoder_0_1_11_features {}) }: jpeg_decoder_0_1_11_ {
-    dependencies = mapFeatures features ([ byteorder_1_0_0 ]
-      ++ (if features.jpeg_decoder_0_1_11.rayon or false then [ rayon_0_6_0 ] else []));
-    features = mkFeatures (features.jpeg_decoder_0_1_11 or {});
-  };
-  jpeg_decoder_0_1_11_features = f: updateFeatures f (rec {
-    byteorder_1_0_0.default = true;
-    jpeg_decoder_0_1_11.default = (f.jpeg_decoder_0_1_11.default or true);
-    jpeg_decoder_0_1_11.rayon =
-      (f.jpeg_decoder_0_1_11.rayon or false) ||
-      (f.jpeg_decoder_0_1_11.default or false) ||
-      (jpeg_decoder_0_1_11.default or false);
-    rayon_0_6_0.default = true;
-  }) [ byteorder_1_0_0_features rayon_0_6_0_features ];
-  kernel32_sys_0_2_2 = { features?(kernel32_sys_0_2_2_features {}) }: kernel32_sys_0_2_2_ {
-    dependencies = mapFeatures features ([ winapi_0_2_8 ]);
-    buildDependencies = mapFeatures features ([ winapi_build_0_1_1 ]);
-  };
-  kernel32_sys_0_2_2_features = f: updateFeatures f ({
-    kernel32_sys_0_2_2.default = (f.kernel32_sys_0_2_2.default or true);
-    winapi_0_2_8.default = true;
-    winapi_build_0_1_1.default = true;
-  }) [ winapi_0_2_8_features winapi_build_0_1_1_features ];
-  libc_0_2_21 = { features?(libc_0_2_21_features {}) }: libc_0_2_21_ {
-    features = mkFeatures (features.libc_0_2_21 or {});
-  };
-  libc_0_2_21_features = f: updateFeatures f (rec {
-    libc_0_2_21.default = (f.libc_0_2_21.default or true);
-    libc_0_2_21.use_std =
-      (f.libc_0_2_21.use_std or false) ||
-      (f.libc_0_2_21.default or false) ||
-      (libc_0_2_21.default or false);
-  }) [];
-  lzw_0_10_0 = { features?(lzw_0_10_0_features {}) }: lzw_0_10_0_ {
-    features = mkFeatures (features.lzw_0_10_0 or {});
-  };
-  lzw_0_10_0_features = f: updateFeatures f (rec {
-    lzw_0_10_0.default = (f.lzw_0_10_0.default or true);
-    lzw_0_10_0.raii_no_panic =
-      (f.lzw_0_10_0.raii_no_panic or false) ||
-      (f.lzw_0_10_0.default or false) ||
-      (lzw_0_10_0.default or false);
-  }) [];
-  metadeps_1_1_1 = { features?(metadeps_1_1_1_features {}) }: metadeps_1_1_1_ {
-    dependencies = mapFeatures features ([ error_chain_0_7_2 pkg_config_0_3_9 toml_0_2_1 ]);
-  };
-  metadeps_1_1_1_features = f: updateFeatures f ({
-    error_chain_0_7_2.default = (f.error_chain_0_7_2.default or false);
-    metadeps_1_1_1.default = (f.metadeps_1_1_1.default or true);
-    pkg_config_0_3_9.default = true;
-    toml_0_2_1.default = (f.toml_0_2_1.default or false);
-  }) [ error_chain_0_7_2_features pkg_config_0_3_9_features toml_0_2_1_features ];
-  num_integer_0_1_33 = { features?(num_integer_0_1_33_features {}) }: num_integer_0_1_33_ {
-    dependencies = mapFeatures features ([ num_traits_0_1_37 ]);
-  };
-  num_integer_0_1_33_features = f: updateFeatures f ({
-    num_integer_0_1_33.default = (f.num_integer_0_1_33.default or true);
-    num_traits_0_1_37.default = true;
-  }) [ num_traits_0_1_37_features ];
-  num_iter_0_1_33 = { features?(num_iter_0_1_33_features {}) }: num_iter_0_1_33_ {
-    dependencies = mapFeatures features ([ num_integer_0_1_33 num_traits_0_1_37 ]);
-  };
-  num_iter_0_1_33_features = f: updateFeatures f ({
-    num_integer_0_1_33.default = true;
-    num_iter_0_1_33.default = (f.num_iter_0_1_33.default or true);
-    num_traits_0_1_37.default = true;
-  }) [ num_integer_0_1_33_features num_traits_0_1_37_features ];
-  num_rational_0_1_36 = { features?(num_rational_0_1_36_features {}) }: num_rational_0_1_36_ {
-    dependencies = mapFeatures features ([ num_integer_0_1_33 num_traits_0_1_37 ]);
-    features = mkFeatures (features.num_rational_0_1_36 or {});
-  };
-  num_rational_0_1_36_features = f: updateFeatures f (rec {
-    num_integer_0_1_33.default = true;
-    num_rational_0_1_36.bigint =
-      (f.num_rational_0_1_36.bigint or false) ||
-      (f.num_rational_0_1_36.default or false) ||
-      (num_rational_0_1_36.default or false);
-    num_rational_0_1_36.default = (f.num_rational_0_1_36.default or true);
-    num_rational_0_1_36.num-bigint =
-      (f.num_rational_0_1_36.num-bigint or false) ||
-      (f.num_rational_0_1_36.bigint or false) ||
-      (num_rational_0_1_36.bigint or false);
-    num_rational_0_1_36.rustc-serialize =
-      (f.num_rational_0_1_36.rustc-serialize or false) ||
-      (f.num_rational_0_1_36.default or false) ||
-      (num_rational_0_1_36.default or false);
-    num_traits_0_1_37.default = true;
-  }) [ num_integer_0_1_33_features num_traits_0_1_37_features ];
-  num_traits_0_1_37 = { features?(num_traits_0_1_37_features {}) }: num_traits_0_1_37_ {};
-  num_traits_0_1_37_features = f: updateFeatures f ({
-    num_traits_0_1_37.default = (f.num_traits_0_1_37.default or true);
-  }) [];
-  num_cpus_1_3_0 = { features?(num_cpus_1_3_0_features {}) }: num_cpus_1_3_0_ {
-    dependencies = mapFeatures features ([ libc_0_2_21 ]);
-  };
-  num_cpus_1_3_0_features = f: updateFeatures f ({
-    libc_0_2_21.default = true;
-    num_cpus_1_3_0.default = (f.num_cpus_1_3_0.default or true);
-  }) [ libc_0_2_21_features ];
-  pkg_config_0_3_9 = { features?(pkg_config_0_3_9_features {}) }: pkg_config_0_3_9_ {};
-  pkg_config_0_3_9_features = f: updateFeatures f ({
-    pkg_config_0_3_9.default = (f.pkg_config_0_3_9.default or true);
-  }) [];
-  png_0_6_2 = { features?(png_0_6_2_features {}) }: png_0_6_2_ {
-    dependencies = mapFeatures features ([ bitflags_0_7_0 inflate_0_1_1 num_iter_0_1_33 ]
-      ++ (if features.png_0_6_2.deflate or false then [ deflate_0_7_5 ] else []));
-    features = mkFeatures (features.png_0_6_2 or {});
-  };
-  png_0_6_2_features = f: updateFeatures f (rec {
-    bitflags_0_7_0.default = true;
-    deflate_0_7_5.default = true;
-    inflate_0_1_1.default = true;
-    num_iter_0_1_33.default = true;
-    png_0_6_2.default = (f.png_0_6_2.default or true);
-    png_0_6_2.deflate =
-      (f.png_0_6_2.deflate or false) ||
-      (f.png_0_6_2.png-encoding or false) ||
-      (png_0_6_2.png-encoding or false);
-    png_0_6_2.png-encoding =
-      (f.png_0_6_2.png-encoding or false) ||
-      (f.png_0_6_2.default or false) ||
-      (png_0_6_2.default or false);
-  }) [ bitflags_0_7_0_features deflate_0_7_5_features inflate_0_1_1_features num_iter_0_1_33_features ];
-  rand_0_3_15 = { features?(rand_0_3_15_features {}) }: rand_0_3_15_ {
-    dependencies = mapFeatures features ([ libc_0_2_21 ]);
-  };
-  rand_0_3_15_features = f: updateFeatures f ({
-    libc_0_2_21.default = true;
-    rand_0_3_15.default = (f.rand_0_3_15.default or true);
-  }) [ libc_0_2_21_features ];
-  rayon_0_6_0 = { features?(rayon_0_6_0_features {}) }: rayon_0_6_0_ {
-    dependencies = mapFeatures features ([ deque_0_3_1 libc_0_2_21 num_cpus_1_3_0 rand_0_3_15 ]);
-    features = mkFeatures (features.rayon_0_6_0 or {});
-  };
-  rayon_0_6_0_features = f: updateFeatures f ({
-    deque_0_3_1.default = true;
-    libc_0_2_21.default = true;
-    num_cpus_1_3_0.default = true;
-    rand_0_3_15.default = true;
-    rayon_0_6_0.default = (f.rayon_0_6_0.default or true);
-  }) [ deque_0_3_1_features libc_0_2_21_features num_cpus_1_3_0_features rand_0_3_15_features ];
-  scoped_threadpool_0_1_7 = { features?(scoped_threadpool_0_1_7_features {}) }: scoped_threadpool_0_1_7_ {
-    features = mkFeatures (features.scoped_threadpool_0_1_7 or {});
-  };
-  scoped_threadpool_0_1_7_features = f: updateFeatures f ({
-    scoped_threadpool_0_1_7.default = (f.scoped_threadpool_0_1_7.default or true);
-  }) [];
-  strsim_0_6_0 = { features?(strsim_0_6_0_features {}) }: strsim_0_6_0_ {};
-  strsim_0_6_0_features = f: updateFeatures f ({
-    strsim_0_6_0.default = (f.strsim_0_6_0.default or true);
-  }) [];
-  term_size_0_2_3 = { features?(term_size_0_2_3_features {}) }: term_size_0_2_3_ {
-    dependencies = mapFeatures features ([])
-      ++ (if !(kernel == "windows") then mapFeatures features ([ libc_0_2_21 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
-    features = mkFeatures (features.term_size_0_2_3 or {});
-  };
-  term_size_0_2_3_features = f: updateFeatures f (rec {
-    kernel32_sys_0_2_2.default = true;
-    libc_0_2_21.default = true;
-    term_size_0_2_3.clippy =
-      (f.term_size_0_2_3.clippy or false) ||
-      (f.term_size_0_2_3.lints or false) ||
-      (term_size_0_2_3.lints or false);
-    term_size_0_2_3.default = (f.term_size_0_2_3.default or true);
-    term_size_0_2_3.lints =
-      (f.term_size_0_2_3.lints or false) ||
-      (f.term_size_0_2_3.travis or false) ||
-      (term_size_0_2_3.travis or false);
-    term_size_0_2_3.nightly =
-      (f.term_size_0_2_3.nightly or false) ||
-      (f.term_size_0_2_3.lints or false) ||
-      (term_size_0_2_3.lints or false) ||
-      (f.term_size_0_2_3.travis or false) ||
-      (term_size_0_2_3.travis or false);
-    winapi_0_2_8.default = true;
-  }) [ libc_0_2_21_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
-  toml_0_2_1 = { features?(toml_0_2_1_features {}) }: toml_0_2_1_ {
-    dependencies = mapFeatures features ([]);
-  };
-  toml_0_2_1_features = f: updateFeatures f (rec {
-    toml_0_2_1.default = (f.toml_0_2_1.default or true);
-    toml_0_2_1.rustc-serialize =
-      (f.toml_0_2_1.rustc-serialize or false) ||
-      (f.toml_0_2_1.default or false) ||
-      (toml_0_2_1.default or false);
-  }) [];
-  unicode_segmentation_1_1_0 = { features?(unicode_segmentation_1_1_0_features {}) }: unicode_segmentation_1_1_0_ {
-    features = mkFeatures (features.unicode_segmentation_1_1_0 or {});
-  };
-  unicode_segmentation_1_1_0_features = f: updateFeatures f ({
-    unicode_segmentation_1_1_0.default = (f.unicode_segmentation_1_1_0.default or true);
-  }) [];
-  unicode_width_0_1_4 = { features?(unicode_width_0_1_4_features {}) }: unicode_width_0_1_4_ {
-    features = mkFeatures (features.unicode_width_0_1_4 or {});
-  };
-  unicode_width_0_1_4_features = f: updateFeatures f ({
-    unicode_width_0_1_4.default = (f.unicode_width_0_1_4.default or true);
-  }) [];
-  vec_map_0_7_0 = { features?(vec_map_0_7_0_features {}) }: vec_map_0_7_0_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.vec_map_0_7_0 or {});
-  };
-  vec_map_0_7_0_features = f: updateFeatures f (rec {
-    vec_map_0_7_0.default = (f.vec_map_0_7_0.default or true);
-    vec_map_0_7_0.serde =
-      (f.vec_map_0_7_0.serde or false) ||
-      (f.vec_map_0_7_0.eders or false) ||
-      (vec_map_0_7_0.eders or false);
-    vec_map_0_7_0.serde_derive =
-      (f.vec_map_0_7_0.serde_derive or false) ||
-      (f.vec_map_0_7_0.eders or false) ||
-      (vec_map_0_7_0.eders or false);
-  }) [];
-  wc_grab_0_3_0 = { features?(wc_grab_0_3_0_features {}) }: wc_grab_0_3_0_ {
-    dependencies = mapFeatures features ([ clap_2_22_0 dbus_0_5_2 image_0_12_3 ]);
-  };
-  wc_grab_0_3_0_features = f: updateFeatures f ({
-    clap_2_22_0.default = true;
-    dbus_0_5_2.default = true;
-    image_0_12_3.default = true;
-    wc_grab_0_3_0.default = (f.wc_grab_0_3_0.default or true);
-  }) [ clap_2_22_0_features dbus_0_5_2_features image_0_12_3_features ];
-  winapi_0_2_8 = { features?(winapi_0_2_8_features {}) }: winapi_0_2_8_ {};
-  winapi_0_2_8_features = f: updateFeatures f ({
-    winapi_0_2_8.default = (f.winapi_0_2_8.default or true);
-  }) [];
-  winapi_build_0_1_1 = { features?(winapi_build_0_1_1_features {}) }: winapi_build_0_1_1_ {};
-  winapi_build_0_1_1_features = f: updateFeatures f ({
-    winapi_build_0_1_1.default = (f.winapi_build_0_1_1.default or true);
-  }) [];
-}
diff --git a/pkgs/applications/window-managers/way-cooler/wc-lock.nix b/pkgs/applications/window-managers/way-cooler/wc-lock.nix
deleted file mode 100644
index 6ffc5779a0b..00000000000
--- a/pkgs/applications/window-managers/way-cooler/wc-lock.nix
+++ /dev/null
@@ -1,1479 +0,0 @@
-# Generated by carnix 0.6.5: carnix -o wc-lock.nix Cargo.lock
-{ lib, stdenv, buildRustCrate, fetchgit }:
-let kernel = stdenv.hostPlatform.parsed.kernel.name;
-    updateFeatures = f: up: functions: builtins.deepSeq f (lib.lists.foldl' (features: fun: fun features) (lib.attrsets.recursiveUpdate f up) functions);
-    mapFeatures = features: map (fun: fun { features = features; });
-    mkFeatures = feat: lib.lists.foldl (features: featureName:
-      if feat.${featureName} or false then
-        [ featureName ] ++ features
-      else
-        features
-    ) [] (builtins.attrNames feat);
-in
-rec {
-  wc_lock = f: wc_lock_0_2_1 { features = wc_lock_0_2_1_features { wc_lock_0_2_1 = f; }; };
-  ansi_term_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "ansi_term";
-    version = "0.9.0";
-    authors = [ "ogham@bsago.me" "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>" ];
-    sha256 = "1vcd8m2hglrdi4zmqnkkz5zy3c73ifgii245k7vj6qr5dzpn9hij";
-    inherit dependencies buildDependencies features;
-  };
-  atty_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "atty";
-    version = "0.2.2";
-    authors = [ "softprops <d.tangren@gmail.com>" ];
-    sha256 = "05c6jvrxljp4s1aycgq2z3y56f7f5yvc56v25cqlmpc1qx65z7ba";
-    inherit dependencies buildDependencies features;
-  };
-  bitflags_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "bitflags";
-    version = "0.7.0";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5";
-    inherit dependencies buildDependencies features;
-  };
-  bitflags_0_8_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "bitflags";
-    version = "0.8.2";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0whaj3969ysqxzk620sk1isvq6vh85516f2fplvqjrw3syz44sb2";
-    inherit dependencies buildDependencies features;
-  };
-  byteorder_0_5_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "byteorder";
-    version = "0.5.3";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-    sha256 = "0zsr6b0m0yl5c0yy92nq7srfpczd1dx1xqcx3rlm5fbl8si9clqx";
-    inherit dependencies buildDependencies features;
-  };
-  byteorder_1_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "byteorder";
-    version = "1.1.0";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-    sha256 = "1i2n0161jm00zvzh4bncgv9zrwa6ydbxdn5j4bx0wwn7rvi9zycp";
-    inherit dependencies buildDependencies features;
-  };
-  cc_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "cc";
-    version = "1.0.0";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "1s5ha0k6cdy1049a5kpzvhnjc9hjvi18zrcr5dmbqpd03ag751g1";
-    inherit dependencies buildDependencies features;
-  };
-  clap_2_24_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "clap";
-    version = "2.24.2";
-    authors = [ "Kevin K. <kbknapp@gmail.com>" ];
-    sha256 = "0028bkzafprs6n7ing8lnf7iss2a2zq17qmgadipgdfgvww43rmv";
-    inherit dependencies buildDependencies features;
-  };
-  coco_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "coco";
-    version = "0.1.1";
-    authors = [ "Stjepan Glavina <stjepang@gmail.com>" ];
-    sha256 = "0hvj4jaj9y6i38c4dkii8nqq98cgx3kyx78cjqkdvk0aqq5sfr94";
-    inherit dependencies buildDependencies features;
-  };
-  color_quant_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "color_quant";
-    version = "1.0.0";
-    authors = [ "nwin <nwin@users.noreply.github.com>" ];
-    sha256 = "0jwr40lr115zm2bydk1wja12gcxrmgsx0n1z1pipq00sab71maaj";
-    inherit dependencies buildDependencies features;
-  };
-  dbus_0_5_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "dbus";
-    version = "0.5.4";
-    authors = [ "David Henningsson <diwic@ubuntu.com>" ];
-    sha256 = "0qr62splq38b8vfjvpcpk9ph21d63ya7vd2vifs5wc8jzwc309yn";
-    inherit dependencies buildDependencies features;
-  };
-  dlib_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "dlib";
-    version = "0.3.1";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "11mhh6g9vszp2ay3r46x4capnnmvvhx5hcp74bapxjhiixqjfvkr";
-    inherit dependencies buildDependencies features;
-  };
-  dtoa_0_4_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "dtoa";
-    version = "0.4.1";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "0mgg4r90yby68qg7y8csbclhsm53ac26vsyq615viq535plllhzw";
-    inherit dependencies buildDependencies features;
-  };
-  either_1_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "either";
-    version = "1.2.0";
-    authors = [ "bluss" ];
-    sha256 = "0l72xaf1kwzgbl3andf3d2ggz7km9059rbmp90iywww8inlnqppp";
-    inherit dependencies buildDependencies features;
-  };
-  enum_primitive_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "enum_primitive";
-    version = "0.1.1";
-    authors = [ "Anders Kaseorg <andersk@mit.edu>" ];
-    sha256 = "1a225rlsz7sz3nn14dar71kp2f9v08s3rwl6j55xp51mv01f695y";
-    inherit dependencies buildDependencies features;
-  };
-  error_chain_0_10_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "error-chain";
-    version = "0.10.0";
-    authors = [ "Brian Anderson <banderson@mozilla.com>" "Paul Colomiets <paul@colomiets.name>" "Colin Kiegel <kiegel@gmx.de>" "Yamakaky <yamakaky@yamaworld.fr>" ];
-    sha256 = "1xxbzd8cjlpzsb9fsih7mdnndhzrvykj0w77yg90qc85az1xwy5z";
-    inherit dependencies buildDependencies features;
-  };
-  flate2_0_2_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "flate2";
-    version = "0.2.20";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "1am0d2vmqym1vcg7rvv516vpcrbhdn1jisy0q03r3nbzdzh54ppl";
-    inherit dependencies buildDependencies features;
-  };
-  fs2_0_2_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "fs2";
-    version = "0.2.5";
-    authors = [ "Dan Burkert <dan@danburkert.com>" ];
-    sha256 = "0j6l5r95jigbl0lgkm69c82dzq10jipjbm9qnni147hb45gyw790";
-    inherit dependencies buildDependencies features;
-  };
-  futures_0_1_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "futures";
-    version = "0.1.16";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0ndk8cl6l600a95q8il2c3y38jz50nhfsczps0nziadqdd45gy2b";
-    inherit dependencies buildDependencies features;
-  };
-  gcc_0_3_50_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "gcc";
-    version = "0.3.50";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "032izcbbyiakv9ck5j3s27p3ddx4468n7qpaxgwi5iswmimjaaj0";
-    inherit dependencies buildDependencies features;
-  };
-  gif_0_9_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "gif";
-    version = "0.9.2";
-    authors = [ "nwin <nwin@users.noreply.github.com>" ];
-    sha256 = "0dl76jrn6127w3bdg2b58p5psf8fpnbzdxdkw1i35ac8dn4vxcqa";
-    inherit dependencies buildDependencies features;
-  };
-  glob_0_2_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "glob";
-    version = "0.2.11";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "104389jjxs8r2f5cc9p0axhjmndgln60ih5x4f00ccgg9d3zarlf";
-    inherit dependencies buildDependencies features;
-  };
-  image_0_10_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "image";
-    version = "0.10.4";
-    authors = [ "ccgn" "bvssvni <bvssvni@gmail.com>" "nwin" "TyOverby <ty@pre-alpha.com>" ];
-    sha256 = "1pwrs7k5760b38i1lg872x9q2zc6xvhs7mjhlzvjnr5p85zx2fbw";
-    libPath = "./src/lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  inflate_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "inflate";
-    version = "0.1.1";
-    authors = [ "nwin <nwin@users.noreply.github.com>" ];
-    sha256 = "112kh9hjcjjxdybl032mdhpwnr3qxw8j0ch6hwanwpcf3gz42g1h";
-    inherit dependencies buildDependencies features;
-  };
-  itoa_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "itoa";
-    version = "0.3.1";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "0jp1wvfw0qqbyz0whbycp7xr5nx1ds5plh4wsfyj503xmjf9ab4k";
-    inherit dependencies buildDependencies features;
-  };
-  jpeg_decoder_0_1_13_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "jpeg-decoder";
-    version = "0.1.13";
-    authors = [ "Ulf Nilsson <kaksmet@gmail.com>" ];
-    sha256 = "0w16gbywlm9p0p3wx34b85q4d1izrx89afcsxlc6g11cx2js4fa2";
-    inherit dependencies buildDependencies features;
-  };
-  kernel32_sys_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "kernel32-sys";
-    version = "0.2.2";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
-    libName = "kernel32";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  lazy_static_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "lazy_static";
-    version = "0.2.8";
-    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-    sha256 = "1xbpxx7cd5kl60g87g43q80jxyrsildhxfjc42jb1x4jncknpwbl";
-    inherit dependencies buildDependencies features;
-  };
-  libc_0_2_23_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "libc";
-    version = "0.2.23";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1i29f6k26fmv81c5bjc6hw2j95sd01h9ad66qxdc755b24xfa9jm";
-    inherit dependencies buildDependencies features;
-  };
-  libdbus_sys_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "libdbus-sys";
-    version = "0.1.1";
-    authors = [ "David Henningsson <diwic@ubuntu.com>" ];
-    sha256 = "14kpislv2zazmgv5f8by4zkgkjxd0cwab8z6621kskjdwyir1wpy";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  libloading_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "libloading";
-    version = "0.3.4";
-    authors = [ "Simonas Kazlauskas <libloading@kazlauskas.me>" ];
-    sha256 = "1f2vy32cr434n638nv8sdf05iwa53q9q5ahlcpw1l9ywh1bcbhf1";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  lzw_0_10_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "lzw";
-    version = "0.10.0";
-    authors = [ "nwin <nwin@users.noreply.github.com>" ];
-    sha256 = "1cfsy2w26kbz9bjaqp9dh1wyyh47rpmhwvj4jpc1rmffbf438fvb";
-    inherit dependencies buildDependencies features;
-  };
-  memmap_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "memmap";
-    version = "0.4.0";
-    authors = [ "Dan Burkert <dan@danburkert.com>" ];
-    sha256 = "0q2gm5p8n9najc8kccbxxkannmnjh85rin4k8d4y1kg5ymdp6kll";
-    inherit dependencies buildDependencies features;
-  };
-  metadeps_1_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "metadeps";
-    version = "1.1.2";
-    authors = [ "Josh Triplett <josh@joshtriplett.org>" ];
-    sha256 = "00dpxjls9fq6fs5gr9v3hkqxmb1zwnhh8b56q3dnzghppjf3ivk3";
-    inherit dependencies buildDependencies features;
-  };
-  miniz_sys_0_1_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "miniz-sys";
-    version = "0.1.10";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "11vg6phafxil87nbxgrlhcx5hjr3145wsbwwkfmibvnmzxfdmvln";
-    libPath = "lib.rs";
-    libName = "miniz_sys";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  num_bigint_0_1_40_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num-bigint";
-    version = "0.1.40";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0pkxd9mb4chdbipprxjc8ll7kjh79n278s2z663zmd80yg5xi788";
-    inherit dependencies buildDependencies features;
-  };
-  num_integer_0_1_35_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num-integer";
-    version = "0.1.35";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0xybj8isi9b6wc646d5rc043i8l8j6wy0vrl4pn995qms9fxbbcc";
-    inherit dependencies buildDependencies features;
-  };
-  num_iter_0_1_34_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num-iter";
-    version = "0.1.34";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "02cld7x9dzbqbs6sxxzq1i22z3awlcd6ljkgvhkfr9rsnaxphzl9";
-    inherit dependencies buildDependencies features;
-  };
-  num_rational_0_1_39_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num-rational";
-    version = "0.1.39";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1qsacdfp97zgpajc2pgbrbga3yag1f0k7yz0gi78vd165gxdwk3m";
-    inherit dependencies buildDependencies features;
-  };
-  num_traits_0_1_37_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num-traits";
-    version = "0.1.37";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0rwzfmdjq6iz6plva2gi7agvy1w9sjs7aqjh0p115w57xiix2224";
-    inherit dependencies buildDependencies features;
-  };
-  num_cpus_1_6_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num_cpus";
-    version = "1.6.2";
-    authors = [ "Sean McArthur <sean.monstar@gmail.com>" ];
-    sha256 = "0wxfzxsk05xbkph5qcvdqyi334zn0pnpahzi7n7iagxbb68145rm";
-    inherit dependencies buildDependencies features;
-  };
-  phf_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "phf";
-    version = "0.7.21";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "11m2rzm2s8s35m0s97gjxxb181xz352kjlhr387xj5c8q3qp5afg";
-    libPath = "src/lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  phf_codegen_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "phf_codegen";
-    version = "0.7.21";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "0kgy8s2q4zr0iqcm21mgq4ppc45wy6z7b5wn98xyfsrcad6lwmmj";
-    inherit dependencies buildDependencies features;
-  };
-  phf_generator_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "phf_generator";
-    version = "0.7.21";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "1jxjfzc6d6d4l9nv0r2bb66if5brk9lnncmg4dpjjifn6zhhqd9g";
-    inherit dependencies buildDependencies features;
-  };
-  phf_shared_0_7_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "phf_shared";
-    version = "0.7.21";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "0lxpg3wgxfhzfalmf9ha9my1lsvfjy74ah9f6mfw88xlp545jlln";
-    libPath = "src/lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  pkg_config_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "pkg-config";
-    version = "0.3.9";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "06k8fxgrsrxj8mjpjcq1n7mn2p1shpxif4zg9y5h09c7vy20s146";
-    inherit dependencies buildDependencies features;
-  };
-  png_0_5_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "png";
-    version = "0.5.2";
-    authors = [ "nwin <nwin@users.noreply.github.com>" ];
-    sha256 = "1pgann3f1ysgf8y1acw86v4s3ji1xk85ri353biyvh4i1cpn1g3q";
-    inherit dependencies buildDependencies features;
-  };
-  rand_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "rand";
-    version = "0.3.15";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1fs30rc1xic40s1n7l3y7pxzfifpy03mgrvhy5ggp5p7zjfv3rr8";
-    inherit dependencies buildDependencies features;
-  };
-  rayon_0_8_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "rayon";
-    version = "0.8.2";
-    authors = [ "Niko Matsakis <niko@alum.mit.edu>" "Josh Stone <cuviper@gmail.com>" ];
-    sha256 = "0d0mddg1k75hb9138pn8lysy2095jijrinskqbpgfr73s0jx6dq8";
-    inherit dependencies buildDependencies features;
-  };
-  rayon_core_1_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "rayon-core";
-    version = "1.2.1";
-    authors = [ "Niko Matsakis <niko@alum.mit.edu>" "Josh Stone <cuviper@gmail.com>" ];
-    sha256 = "12xv2r0dqrgvla24bl5mfvcw0599dlhrj0mx620nq95nyds753kk";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  rustc_serialize_0_3_24_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "rustc-serialize";
-    version = "0.3.24";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0rfk6p66mqkd3g36l0ddlv2rvnp1mp3lrq5frq9zz5cbnz5pmmxn";
-    inherit dependencies buildDependencies features;
-  };
-  rustc_version_0_1_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "rustc_version";
-    version = "0.1.7";
-    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-    sha256 = "0plm9pbyvcwfibd0kbhzil9xmr1bvqi8fgwlfw0x4vali8s6s99p";
-    inherit dependencies buildDependencies features;
-  };
-  scoped_threadpool_0_1_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "scoped_threadpool";
-    version = "0.1.8";
-    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-    sha256 = "1al42hqbbijpah9bc6hw9c49nhnyrc0sj274ja1q3k9305c3s5a6";
-    inherit dependencies buildDependencies features;
-  };
-  scopeguard_0_3_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "scopeguard";
-    version = "0.3.2";
-    authors = [ "bluss" ];
-    sha256 = "0xlvfawva4fnp6kwr5xjwf0q2d1w6di81nhfby1sa55xj1ia5zs2";
-    inherit dependencies buildDependencies features;
-  };
-  semver_0_1_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "semver";
-    version = "0.1.20";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "05cdig0071hls2k8lxbqmyqpl0zjmc53i2d43mwzps033b8njh4n";
-    inherit dependencies buildDependencies features;
-  };
-  serde_0_9_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "serde";
-    version = "0.9.15";
-    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" ];
-    sha256 = "0rlflkc57kvy69hnhj4arfsj7ic4hpihxsb00zg5lkdxfj5qjx9b";
-    inherit dependencies buildDependencies features;
-  };
-  serde_json_0_9_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "serde_json";
-    version = "0.9.10";
-    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" ];
-    sha256 = "0g6bxlfnvf2miicnsizyrxm686rfval6gbss1i2qcna8msfwc005";
-    inherit dependencies buildDependencies features;
-  };
-  siphasher_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "siphasher";
-    version = "0.2.2";
-    authors = [ "Frank Denis <github@pureftpd.org>" ];
-    sha256 = "0iyx7nlzfny9ly1634a6zcq0yvrinhxhypwas4p8ry3zqnn76qqr";
-    inherit dependencies buildDependencies features;
-  };
-  strsim_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "strsim";
-    version = "0.6.0";
-    authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
-    sha256 = "1lz85l6y68hr62lv4baww29yy7g8pg20dlr0lbaswxmmcb0wl7gd";
-    inherit dependencies buildDependencies features;
-  };
-  target_build_utils_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "target_build_utils";
-    version = "0.3.1";
-    authors = [ "Simonas Kazlauskas <target_build_utils@kazlauskas.me>" ];
-    sha256 = "1b450nyxlbgicp2p45mhxiv6yv0z7s4iw01lsaqh3v7b4bm53flj";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  tempfile_2_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tempfile";
-    version = "2.1.5";
-    authors = [ "Steven Allen <steven@stebalien.com>" ];
-    sha256 = "1yz8aaj78z9gsn4b71y0m6fa5bnxhqafcczhxvmwra56k943aqkw";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  term_size_0_3_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "term_size";
-    version = "0.3.0";
-    authors = [ "Kevin K. <kbknapp@gmail.com>" "Benjamin Sago <ogham@bsago.me>" ];
-    sha256 = "054d5avad49sy5nfaaaphai4kv4rmdh6q0npchnvdhpxp02lcfhs";
-    inherit dependencies buildDependencies features;
-  };
-  toml_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "toml";
-    version = "0.2.1";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0p4rkaqhmk4fp6iqpxfgp3p98hxhbs2wmla3fq531n875h922yqs";
-    inherit dependencies buildDependencies features;
-  };
-  unicode_segmentation_1_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "unicode-segmentation";
-    version = "1.2.0";
-    authors = [ "kwantam <kwantam@gmail.com>" ];
-    sha256 = "0yz43x7wrhr3n7a2zsinx3r60yxsdqicg8a5kycyyhdaq1zmiz1y";
-    inherit dependencies buildDependencies features;
-  };
-  unicode_width_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "unicode-width";
-    version = "0.1.4";
-    authors = [ "kwantam <kwantam@gmail.com>" ];
-    sha256 = "1rp7a04icn9y5c0lm74nrd4py0rdl0af8bhdwq7g478n1xifpifl";
-    inherit dependencies buildDependencies features;
-  };
-  vec_map_0_8_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "vec_map";
-    version = "0.8.0";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Jorge Aparicio <japaricious@gmail.com>" "Alexis Beingessner <a.beingessner@gmail.com>" "Brian Anderson <>" "tbu- <>" "Manish Goregaokar <>" "Aaron Turon <aturon@mozilla.com>" "Adolfo Ochagavía <>" "Niko Matsakis <>" "Steven Fackler <>" "Chase Southwood <csouth3@illinois.edu>" "Eduard Burtescu <>" "Florian Wilkens <>" "Félix Raimundo <>" "Tibor Benke <>" "Markus Siemens <markus@m-siemens.de>" "Josh Branchaud <jbranchaud@gmail.com>" "Huon Wilson <dbau.pp@gmail.com>" "Corey Farwell <coref@rwell.org>" "Aaron Liblong <>" "Nick Cameron <nrc@ncameron.org>" "Patrick Walton <pcwalton@mimiga.net>" "Felix S Klock II <>" "Andrew Paseltiner <apaseltiner@gmail.com>" "Sean McArthur <sean.monstar@gmail.com>" "Vadim Petrochenkov <>" ];
-    sha256 = "07sgxp3cf1a4cxm9n3r27fcvqmld32bl2576mrcahnvm34j11xay";
-    inherit dependencies buildDependencies features;
-  };
-  way_cooler_client_helpers_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "way-cooler-client-helpers";
-    version = "0.1.0";
-    authors = [ "Timidger <APragmaticPlace@gmail.com>" ];
-    sha256 = "0749lh5crd0rhq4dxij9mb3y5902laazjd01l6ci5782bjfk4s39";
-    inherit dependencies buildDependencies features;
-  };
-  wayland_client_0_9_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "wayland-client";
-    version = "0.9.6";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "1908h6ilvq2cxph1lxv1vzrb3dcfx4x6pf6pszxwifsfqva8nm34";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  wayland_kbd_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "wayland-kbd";
-    version = "0.9.0";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "1x0f7n79hjwf5fclf62fpzjp05xdzc93xw84zgyrn8f1hill3qhj";
-    inherit dependencies buildDependencies features;
-  };
-  wayland_scanner_0_9_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "wayland-scanner";
-    version = "0.9.6";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "1w5cyc48g4x5w3rakb4sji5328rl5yph1abmjbh5h4slkm4n76g1";
-    inherit dependencies buildDependencies features;
-  };
-  wayland_sys_0_9_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "wayland-sys";
-    version = "0.9.6";
-    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-    sha256 = "0izw50pmj1r10hmr29gi8ps01avs6zjwisywijlq7wr268h6yxcg";
-    inherit dependencies buildDependencies features;
-  };
-  wc_lock_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "wc-lock";
-    version = "0.2.1";
-    authors = [ "Timidger <APragmaticPlace@gmail.com>" ];
-    sha256 = "0ikmir7azihxiyzgb0wnvk81yinmn2l6k93bnb1qg4k704zcyq84";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  winapi_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "winapi";
-    version = "0.2.8";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
-    inherit dependencies buildDependencies features;
-  };
-  winapi_build_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "winapi-build";
-    version = "0.1.1";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
-    libName = "build";
-    inherit dependencies buildDependencies features;
-  };
-  xml_rs_0_3_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "xml-rs";
-    version = "0.3.6";
-    authors = [ "Vladimir Matveev <vladimir.matweev@gmail.com>" ];
-    sha256 = "1g1cclib7fj900m4669vxlz45lxcq0m36g7cd8chl494c2xsgj15";
-    libPath = "src/lib.rs";
-    libName = "xml";
-    crateBin = [ {  name = "xml-analyze";  path = "src/analyze.rs"; } ];
-    inherit dependencies buildDependencies features;
-  };
-  ansi_term_0_9_0 = { features?(ansi_term_0_9_0_features {}) }: ansi_term_0_9_0_ {};
-  ansi_term_0_9_0_features = f: updateFeatures f ({
-    ansi_term_0_9_0.default = (f.ansi_term_0_9_0.default or true);
-  }) [];
-  atty_0_2_2 = { features?(atty_0_2_2_features {}) }: atty_0_2_2_ {
-    dependencies = (if !(kernel == "windows") then mapFeatures features ([ libc_0_2_23 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
-  };
-  atty_0_2_2_features = f: updateFeatures f ({
-    atty_0_2_2.default = (f.atty_0_2_2.default or true);
-    kernel32_sys_0_2_2.default = true;
-    libc_0_2_23.default = true;
-    winapi_0_2_8.default = true;
-  }) [ libc_0_2_23_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
-  bitflags_0_7_0 = { features?(bitflags_0_7_0_features {}) }: bitflags_0_7_0_ {};
-  bitflags_0_7_0_features = f: updateFeatures f ({
-    bitflags_0_7_0.default = (f.bitflags_0_7_0.default or true);
-  }) [];
-  bitflags_0_8_2 = { features?(bitflags_0_8_2_features {}) }: bitflags_0_8_2_ {
-    features = mkFeatures (features.bitflags_0_8_2 or {});
-  };
-  bitflags_0_8_2_features = f: updateFeatures f (rec {
-    bitflags_0_8_2.default = (f.bitflags_0_8_2.default or true);
-    bitflags_0_8_2.i128 =
-      (f.bitflags_0_8_2.i128 or false) ||
-      (f.bitflags_0_8_2.unstable or false) ||
-      (bitflags_0_8_2.unstable or false);
-  }) [];
-  byteorder_0_5_3 = { features?(byteorder_0_5_3_features {}) }: byteorder_0_5_3_ {
-    features = mkFeatures (features.byteorder_0_5_3 or {});
-  };
-  byteorder_0_5_3_features = f: updateFeatures f (rec {
-    byteorder_0_5_3.default = (f.byteorder_0_5_3.default or true);
-    byteorder_0_5_3.std =
-      (f.byteorder_0_5_3.std or false) ||
-      (f.byteorder_0_5_3.default or false) ||
-      (byteorder_0_5_3.default or false);
-  }) [];
-  byteorder_1_1_0 = { features?(byteorder_1_1_0_features {}) }: byteorder_1_1_0_ {
-    features = mkFeatures (features.byteorder_1_1_0 or {});
-  };
-  byteorder_1_1_0_features = f: updateFeatures f (rec {
-    byteorder_1_1_0.default = (f.byteorder_1_1_0.default or true);
-    byteorder_1_1_0.std =
-      (f.byteorder_1_1_0.std or false) ||
-      (f.byteorder_1_1_0.default or false) ||
-      (byteorder_1_1_0.default or false);
-  }) [];
-  cc_1_0_0 = { features?(cc_1_0_0_features {}) }: cc_1_0_0_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.cc_1_0_0 or {});
-  };
-  cc_1_0_0_features = f: updateFeatures f (rec {
-    cc_1_0_0.default = (f.cc_1_0_0.default or true);
-    cc_1_0_0.rayon =
-      (f.cc_1_0_0.rayon or false) ||
-      (f.cc_1_0_0.parallel or false) ||
-      (cc_1_0_0.parallel or false);
-  }) [];
-  clap_2_24_2 = { features?(clap_2_24_2_features {}) }: clap_2_24_2_ {
-    dependencies = mapFeatures features ([ bitflags_0_8_2 unicode_segmentation_1_2_0 unicode_width_0_1_4 vec_map_0_8_0 ]
-      ++ (if features.clap_2_24_2.ansi_term or false then [ ansi_term_0_9_0 ] else [])
-      ++ (if features.clap_2_24_2.atty or false then [ atty_0_2_2 ] else [])
-      ++ (if features.clap_2_24_2.strsim or false then [ strsim_0_6_0 ] else [])
-      ++ (if features.clap_2_24_2.term_size or false then [ term_size_0_3_0 ] else []));
-    features = mkFeatures (features.clap_2_24_2 or {});
-  };
-  clap_2_24_2_features = f: updateFeatures f (rec {
-    ansi_term_0_9_0.default = true;
-    atty_0_2_2.default = true;
-    bitflags_0_8_2.default = true;
-    clap_2_24_2.ansi_term =
-      (f.clap_2_24_2.ansi_term or false) ||
-      (f.clap_2_24_2.color or false) ||
-      (clap_2_24_2.color or false);
-    clap_2_24_2.atty =
-      (f.clap_2_24_2.atty or false) ||
-      (f.clap_2_24_2.color or false) ||
-      (clap_2_24_2.color or false);
-    clap_2_24_2.clippy =
-      (f.clap_2_24_2.clippy or false) ||
-      (f.clap_2_24_2.lints or false) ||
-      (clap_2_24_2.lints or false);
-    clap_2_24_2.color =
-      (f.clap_2_24_2.color or false) ||
-      (f.clap_2_24_2.default or false) ||
-      (clap_2_24_2.default or false);
-    clap_2_24_2.default = (f.clap_2_24_2.default or true);
-    clap_2_24_2.strsim =
-      (f.clap_2_24_2.strsim or false) ||
-      (f.clap_2_24_2.suggestions or false) ||
-      (clap_2_24_2.suggestions or false);
-    clap_2_24_2.suggestions =
-      (f.clap_2_24_2.suggestions or false) ||
-      (f.clap_2_24_2.default or false) ||
-      (clap_2_24_2.default or false);
-    clap_2_24_2.term_size =
-      (f.clap_2_24_2.term_size or false) ||
-      (f.clap_2_24_2.wrap_help or false) ||
-      (clap_2_24_2.wrap_help or false);
-    clap_2_24_2.wrap_help =
-      (f.clap_2_24_2.wrap_help or false) ||
-      (f.clap_2_24_2.default or false) ||
-      (clap_2_24_2.default or false);
-    clap_2_24_2.yaml-rust =
-      (f.clap_2_24_2.yaml-rust or false) ||
-      (f.clap_2_24_2.yaml or false) ||
-      (clap_2_24_2.yaml or false);
-    strsim_0_6_0.default = true;
-    term_size_0_3_0.default = true;
-    unicode_segmentation_1_2_0.default = true;
-    unicode_width_0_1_4.default = true;
-    vec_map_0_8_0.default = true;
-  }) [ ansi_term_0_9_0_features atty_0_2_2_features bitflags_0_8_2_features strsim_0_6_0_features term_size_0_3_0_features unicode_segmentation_1_2_0_features unicode_width_0_1_4_features vec_map_0_8_0_features ];
-  coco_0_1_1 = { features?(coco_0_1_1_features {}) }: coco_0_1_1_ {
-    dependencies = mapFeatures features ([ either_1_2_0 scopeguard_0_3_2 ]);
-    features = mkFeatures (features.coco_0_1_1 or {});
-  };
-  coco_0_1_1_features = f: updateFeatures f ({
-    coco_0_1_1.default = (f.coco_0_1_1.default or true);
-    either_1_2_0.default = true;
-    scopeguard_0_3_2.default = true;
-  }) [ either_1_2_0_features scopeguard_0_3_2_features ];
-  color_quant_1_0_0 = { features?(color_quant_1_0_0_features {}) }: color_quant_1_0_0_ {};
-  color_quant_1_0_0_features = f: updateFeatures f ({
-    color_quant_1_0_0.default = (f.color_quant_1_0_0.default or true);
-  }) [];
-  dbus_0_5_4 = { features?(dbus_0_5_4_features {}) }: dbus_0_5_4_ {
-    dependencies = mapFeatures features ([ libc_0_2_23 libdbus_sys_0_1_1 ]);
-    features = mkFeatures (features.dbus_0_5_4 or {});
-  };
-  dbus_0_5_4_features = f: updateFeatures f ({
-    dbus_0_5_4.default = (f.dbus_0_5_4.default or true);
-    libc_0_2_23.default = true;
-    libdbus_sys_0_1_1.default = true;
-  }) [ libc_0_2_23_features libdbus_sys_0_1_1_features ];
-  dlib_0_3_1 = { features?(dlib_0_3_1_features {}) }: dlib_0_3_1_ {
-    dependencies = mapFeatures features ([ libloading_0_3_4 ]);
-    features = mkFeatures (features.dlib_0_3_1 or {});
-  };
-  dlib_0_3_1_features = f: updateFeatures f ({
-    dlib_0_3_1.default = (f.dlib_0_3_1.default or true);
-    libloading_0_3_4.default = true;
-  }) [ libloading_0_3_4_features ];
-  dtoa_0_4_1 = { features?(dtoa_0_4_1_features {}) }: dtoa_0_4_1_ {};
-  dtoa_0_4_1_features = f: updateFeatures f ({
-    dtoa_0_4_1.default = (f.dtoa_0_4_1.default or true);
-  }) [];
-  either_1_2_0 = { features?(either_1_2_0_features {}) }: either_1_2_0_ {
-    features = mkFeatures (features.either_1_2_0 or {});
-  };
-  either_1_2_0_features = f: updateFeatures f (rec {
-    either_1_2_0.default = (f.either_1_2_0.default or true);
-    either_1_2_0.use_std =
-      (f.either_1_2_0.use_std or false) ||
-      (f.either_1_2_0.default or false) ||
-      (either_1_2_0.default or false);
-  }) [];
-  enum_primitive_0_1_1 = { features?(enum_primitive_0_1_1_features {}) }: enum_primitive_0_1_1_ {
-    dependencies = mapFeatures features ([ num_traits_0_1_37 ]);
-  };
-  enum_primitive_0_1_1_features = f: updateFeatures f ({
-    enum_primitive_0_1_1.default = (f.enum_primitive_0_1_1.default or true);
-    num_traits_0_1_37.default = (f.num_traits_0_1_37.default or false);
-  }) [ num_traits_0_1_37_features ];
-  error_chain_0_10_0 = { features?(error_chain_0_10_0_features {}) }: error_chain_0_10_0_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.error_chain_0_10_0 or {});
-  };
-  error_chain_0_10_0_features = f: updateFeatures f (rec {
-    error_chain_0_10_0.backtrace =
-      (f.error_chain_0_10_0.backtrace or false) ||
-      (f.error_chain_0_10_0.default or false) ||
-      (error_chain_0_10_0.default or false);
-    error_chain_0_10_0.default = (f.error_chain_0_10_0.default or true);
-    error_chain_0_10_0.example_generated =
-      (f.error_chain_0_10_0.example_generated or false) ||
-      (f.error_chain_0_10_0.default or false) ||
-      (error_chain_0_10_0.default or false);
-  }) [];
-  flate2_0_2_20 = { features?(flate2_0_2_20_features {}) }: flate2_0_2_20_ {
-    dependencies = mapFeatures features ([ libc_0_2_23 ]
-      ++ (if features.flate2_0_2_20.miniz-sys or false then [ miniz_sys_0_1_10 ] else []));
-    features = mkFeatures (features.flate2_0_2_20 or {});
-  };
-  flate2_0_2_20_features = f: updateFeatures f (rec {
-    flate2_0_2_20.default = (f.flate2_0_2_20.default or true);
-    flate2_0_2_20.futures =
-      (f.flate2_0_2_20.futures or false) ||
-      (f.flate2_0_2_20.tokio or false) ||
-      (flate2_0_2_20.tokio or false);
-    flate2_0_2_20.libz-sys =
-      (f.flate2_0_2_20.libz-sys or false) ||
-      (f.flate2_0_2_20.zlib or false) ||
-      (flate2_0_2_20.zlib or false);
-    flate2_0_2_20.miniz-sys =
-      (f.flate2_0_2_20.miniz-sys or false) ||
-      (f.flate2_0_2_20.default or false) ||
-      (flate2_0_2_20.default or false);
-    flate2_0_2_20.tokio-io =
-      (f.flate2_0_2_20.tokio-io or false) ||
-      (f.flate2_0_2_20.tokio or false) ||
-      (flate2_0_2_20.tokio or false);
-    libc_0_2_23.default = true;
-    miniz_sys_0_1_10.default = true;
-  }) [ libc_0_2_23_features miniz_sys_0_1_10_features ];
-  fs2_0_2_5 = { features?(fs2_0_2_5_features {}) }: fs2_0_2_5_ {
-    dependencies = mapFeatures features ([ kernel32_sys_0_2_2 libc_0_2_23 winapi_0_2_8 ]);
-  };
-  fs2_0_2_5_features = f: updateFeatures f ({
-    fs2_0_2_5.default = (f.fs2_0_2_5.default or true);
-    kernel32_sys_0_2_2.default = true;
-    libc_0_2_23.default = true;
-    winapi_0_2_8.default = true;
-  }) [ kernel32_sys_0_2_2_features libc_0_2_23_features winapi_0_2_8_features ];
-  futures_0_1_16 = { features?(futures_0_1_16_features {}) }: futures_0_1_16_ {
-    features = mkFeatures (features.futures_0_1_16 or {});
-  };
-  futures_0_1_16_features = f: updateFeatures f (rec {
-    futures_0_1_16.default = (f.futures_0_1_16.default or true);
-    futures_0_1_16.use_std =
-      (f.futures_0_1_16.use_std or false) ||
-      (f.futures_0_1_16.default or false) ||
-      (futures_0_1_16.default or false);
-    futures_0_1_16.with-deprecated =
-      (f.futures_0_1_16.with-deprecated or false) ||
-      (f.futures_0_1_16.default or false) ||
-      (futures_0_1_16.default or false);
-  }) [];
-  gcc_0_3_50 = { features?(gcc_0_3_50_features {}) }: gcc_0_3_50_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.gcc_0_3_50 or {});
-  };
-  gcc_0_3_50_features = f: updateFeatures f (rec {
-    gcc_0_3_50.default = (f.gcc_0_3_50.default or true);
-    gcc_0_3_50.rayon =
-      (f.gcc_0_3_50.rayon or false) ||
-      (f.gcc_0_3_50.parallel or false) ||
-      (gcc_0_3_50.parallel or false);
-  }) [];
-  gif_0_9_2 = { features?(gif_0_9_2_features {}) }: gif_0_9_2_ {
-    dependencies = mapFeatures features ([ color_quant_1_0_0 lzw_0_10_0 ]);
-    features = mkFeatures (features.gif_0_9_2 or {});
-  };
-  gif_0_9_2_features = f: updateFeatures f (rec {
-    color_quant_1_0_0.default = true;
-    gif_0_9_2.default = (f.gif_0_9_2.default or true);
-    gif_0_9_2.libc =
-      (f.gif_0_9_2.libc or false) ||
-      (f.gif_0_9_2.c_api or false) ||
-      (gif_0_9_2.c_api or false);
-    gif_0_9_2.raii_no_panic =
-      (f.gif_0_9_2.raii_no_panic or false) ||
-      (f.gif_0_9_2.default or false) ||
-      (gif_0_9_2.default or false);
-    lzw_0_10_0.default = true;
-  }) [ color_quant_1_0_0_features lzw_0_10_0_features ];
-  glob_0_2_11 = { features?(glob_0_2_11_features {}) }: glob_0_2_11_ {};
-  glob_0_2_11_features = f: updateFeatures f ({
-    glob_0_2_11.default = (f.glob_0_2_11.default or true);
-  }) [];
-  image_0_10_4 = { features?(image_0_10_4_features {}) }: image_0_10_4_ {
-    dependencies = mapFeatures features ([ byteorder_0_5_3 enum_primitive_0_1_1 glob_0_2_11 num_iter_0_1_34 num_rational_0_1_39 num_traits_0_1_37 ]
-      ++ (if features.image_0_10_4.gif or false then [ gif_0_9_2 ] else [])
-      ++ (if features.image_0_10_4.jpeg-decoder or false then [ jpeg_decoder_0_1_13 ] else [])
-      ++ (if features.image_0_10_4.png or false then [ png_0_5_2 ] else [])
-      ++ (if features.image_0_10_4.scoped_threadpool or false then [ scoped_threadpool_0_1_8 ] else []));
-    features = mkFeatures (features.image_0_10_4 or {});
-  };
-  image_0_10_4_features = f: updateFeatures f (rec {
-    byteorder_0_5_3.default = true;
-    enum_primitive_0_1_1.default = true;
-    gif_0_9_2.default = true;
-    glob_0_2_11.default = true;
-    image_0_10_4.bmp =
-      (f.image_0_10_4.bmp or false) ||
-      (f.image_0_10_4.default or false) ||
-      (image_0_10_4.default or false) ||
-      (f.image_0_10_4.ico or false) ||
-      (image_0_10_4.ico or false);
-    image_0_10_4.default = (f.image_0_10_4.default or true);
-    image_0_10_4.gif =
-      (f.image_0_10_4.gif or false) ||
-      (f.image_0_10_4.gif_codec or false) ||
-      (image_0_10_4.gif_codec or false);
-    image_0_10_4.gif_codec =
-      (f.image_0_10_4.gif_codec or false) ||
-      (f.image_0_10_4.default or false) ||
-      (image_0_10_4.default or false);
-    image_0_10_4.hdr =
-      (f.image_0_10_4.hdr or false) ||
-      (f.image_0_10_4.default or false) ||
-      (image_0_10_4.default or false);
-    image_0_10_4.ico =
-      (f.image_0_10_4.ico or false) ||
-      (f.image_0_10_4.default or false) ||
-      (image_0_10_4.default or false);
-    image_0_10_4.jpeg =
-      (f.image_0_10_4.jpeg or false) ||
-      (f.image_0_10_4.default or false) ||
-      (image_0_10_4.default or false);
-    image_0_10_4.jpeg-decoder =
-      (f.image_0_10_4.jpeg-decoder or false) ||
-      (f.image_0_10_4.jpeg or false) ||
-      (image_0_10_4.jpeg or false);
-    image_0_10_4.png =
-      (f.image_0_10_4.png or false) ||
-      (f.image_0_10_4.png_codec or false) ||
-      (image_0_10_4.png_codec or false);
-    image_0_10_4.png_codec =
-      (f.image_0_10_4.png_codec or false) ||
-      (f.image_0_10_4.default or false) ||
-      (image_0_10_4.default or false) ||
-      (f.image_0_10_4.ico or false) ||
-      (image_0_10_4.ico or false);
-    image_0_10_4.ppm =
-      (f.image_0_10_4.ppm or false) ||
-      (f.image_0_10_4.default or false) ||
-      (image_0_10_4.default or false);
-    image_0_10_4.scoped_threadpool =
-      (f.image_0_10_4.scoped_threadpool or false) ||
-      (f.image_0_10_4.hdr or false) ||
-      (image_0_10_4.hdr or false);
-    image_0_10_4.tga =
-      (f.image_0_10_4.tga or false) ||
-      (f.image_0_10_4.default or false) ||
-      (image_0_10_4.default or false);
-    image_0_10_4.tiff =
-      (f.image_0_10_4.tiff or false) ||
-      (f.image_0_10_4.default or false) ||
-      (image_0_10_4.default or false);
-    image_0_10_4.webp =
-      (f.image_0_10_4.webp or false) ||
-      (f.image_0_10_4.default or false) ||
-      (image_0_10_4.default or false);
-    jpeg_decoder_0_1_13.default = true;
-    num_iter_0_1_34.default = true;
-    num_rational_0_1_39.default = true;
-    num_traits_0_1_37.default = true;
-    png_0_5_2.default = true;
-    scoped_threadpool_0_1_8.default = true;
-  }) [ byteorder_0_5_3_features enum_primitive_0_1_1_features gif_0_9_2_features glob_0_2_11_features jpeg_decoder_0_1_13_features num_iter_0_1_34_features num_rational_0_1_39_features num_traits_0_1_37_features png_0_5_2_features scoped_threadpool_0_1_8_features ];
-  inflate_0_1_1 = { features?(inflate_0_1_1_features {}) }: inflate_0_1_1_ {
-    features = mkFeatures (features.inflate_0_1_1 or {});
-  };
-  inflate_0_1_1_features = f: updateFeatures f ({
-    inflate_0_1_1.default = (f.inflate_0_1_1.default or true);
-  }) [];
-  itoa_0_3_1 = { features?(itoa_0_3_1_features {}) }: itoa_0_3_1_ {};
-  itoa_0_3_1_features = f: updateFeatures f ({
-    itoa_0_3_1.default = (f.itoa_0_3_1.default or true);
-  }) [];
-  jpeg_decoder_0_1_13 = { features?(jpeg_decoder_0_1_13_features {}) }: jpeg_decoder_0_1_13_ {
-    dependencies = mapFeatures features ([ byteorder_1_1_0 ]
-      ++ (if features.jpeg_decoder_0_1_13.rayon or false then [ rayon_0_8_2 ] else []));
-    features = mkFeatures (features.jpeg_decoder_0_1_13 or {});
-  };
-  jpeg_decoder_0_1_13_features = f: updateFeatures f (rec {
-    byteorder_1_1_0.default = true;
-    jpeg_decoder_0_1_13.default = (f.jpeg_decoder_0_1_13.default or true);
-    jpeg_decoder_0_1_13.rayon =
-      (f.jpeg_decoder_0_1_13.rayon or false) ||
-      (f.jpeg_decoder_0_1_13.default or false) ||
-      (jpeg_decoder_0_1_13.default or false);
-    rayon_0_8_2.default = true;
-  }) [ byteorder_1_1_0_features rayon_0_8_2_features ];
-  kernel32_sys_0_2_2 = { features?(kernel32_sys_0_2_2_features {}) }: kernel32_sys_0_2_2_ {
-    dependencies = mapFeatures features ([ winapi_0_2_8 ]);
-    buildDependencies = mapFeatures features ([ winapi_build_0_1_1 ]);
-  };
-  kernel32_sys_0_2_2_features = f: updateFeatures f ({
-    kernel32_sys_0_2_2.default = (f.kernel32_sys_0_2_2.default or true);
-    winapi_0_2_8.default = true;
-    winapi_build_0_1_1.default = true;
-  }) [ winapi_0_2_8_features winapi_build_0_1_1_features ];
-  lazy_static_0_2_8 = { features?(lazy_static_0_2_8_features {}) }: lazy_static_0_2_8_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.lazy_static_0_2_8 or {});
-  };
-  lazy_static_0_2_8_features = f: updateFeatures f (rec {
-    lazy_static_0_2_8.default = (f.lazy_static_0_2_8.default or true);
-    lazy_static_0_2_8.nightly =
-      (f.lazy_static_0_2_8.nightly or false) ||
-      (f.lazy_static_0_2_8.spin_no_std or false) ||
-      (lazy_static_0_2_8.spin_no_std or false);
-    lazy_static_0_2_8.spin =
-      (f.lazy_static_0_2_8.spin or false) ||
-      (f.lazy_static_0_2_8.spin_no_std or false) ||
-      (lazy_static_0_2_8.spin_no_std or false);
-  }) [];
-  libc_0_2_23 = { features?(libc_0_2_23_features {}) }: libc_0_2_23_ {
-    features = mkFeatures (features.libc_0_2_23 or {});
-  };
-  libc_0_2_23_features = f: updateFeatures f (rec {
-    libc_0_2_23.default = (f.libc_0_2_23.default or true);
-    libc_0_2_23.use_std =
-      (f.libc_0_2_23.use_std or false) ||
-      (f.libc_0_2_23.default or false) ||
-      (libc_0_2_23.default or false);
-  }) [];
-  libdbus_sys_0_1_1 = { features?(libdbus_sys_0_1_1_features {}) }: libdbus_sys_0_1_1_ {
-    buildDependencies = mapFeatures features ([ metadeps_1_1_2 ]);};
-  libdbus_sys_0_1_1_features = f: updateFeatures f ({
-    libdbus_sys_0_1_1.default = (f.libdbus_sys_0_1_1.default or true);
-    metadeps_1_1_2.default = true;
-  }) [ metadeps_1_1_2_features ];
-  libloading_0_3_4 = { features?(libloading_0_3_4_features {}) }: libloading_0_3_4_ {
-    dependencies = mapFeatures features ([ lazy_static_0_2_8 ])
-      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
-    buildDependencies = mapFeatures features ([ target_build_utils_0_3_1 ]);
-  };
-  libloading_0_3_4_features = f: updateFeatures f ({
-    kernel32_sys_0_2_2.default = true;
-    lazy_static_0_2_8.default = true;
-    libloading_0_3_4.default = (f.libloading_0_3_4.default or true);
-    target_build_utils_0_3_1.default = true;
-    winapi_0_2_8.default = true;
-  }) [ lazy_static_0_2_8_features target_build_utils_0_3_1_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
-  lzw_0_10_0 = { features?(lzw_0_10_0_features {}) }: lzw_0_10_0_ {
-    features = mkFeatures (features.lzw_0_10_0 or {});
-  };
-  lzw_0_10_0_features = f: updateFeatures f (rec {
-    lzw_0_10_0.default = (f.lzw_0_10_0.default or true);
-    lzw_0_10_0.raii_no_panic =
-      (f.lzw_0_10_0.raii_no_panic or false) ||
-      (f.lzw_0_10_0.default or false) ||
-      (lzw_0_10_0.default or false);
-  }) [];
-  memmap_0_4_0 = { features?(memmap_0_4_0_features {}) }: memmap_0_4_0_ {
-    dependencies = mapFeatures features ([ fs2_0_2_5 kernel32_sys_0_2_2 libc_0_2_23 winapi_0_2_8 ]);
-  };
-  memmap_0_4_0_features = f: updateFeatures f ({
-    fs2_0_2_5.default = true;
-    kernel32_sys_0_2_2.default = true;
-    libc_0_2_23.default = true;
-    memmap_0_4_0.default = (f.memmap_0_4_0.default or true);
-    winapi_0_2_8.default = true;
-  }) [ fs2_0_2_5_features kernel32_sys_0_2_2_features libc_0_2_23_features winapi_0_2_8_features ];
-  metadeps_1_1_2 = { features?(metadeps_1_1_2_features {}) }: metadeps_1_1_2_ {
-    dependencies = mapFeatures features ([ error_chain_0_10_0 pkg_config_0_3_9 toml_0_2_1 ]);
-  };
-  metadeps_1_1_2_features = f: updateFeatures f ({
-    error_chain_0_10_0.default = (f.error_chain_0_10_0.default or false);
-    metadeps_1_1_2.default = (f.metadeps_1_1_2.default or true);
-    pkg_config_0_3_9.default = true;
-    toml_0_2_1.default = (f.toml_0_2_1.default or false);
-  }) [ error_chain_0_10_0_features pkg_config_0_3_9_features toml_0_2_1_features ];
-  miniz_sys_0_1_10 = { features?(miniz_sys_0_1_10_features {}) }: miniz_sys_0_1_10_ {
-    dependencies = mapFeatures features ([ libc_0_2_23 ]);
-    buildDependencies = mapFeatures features ([ cc_1_0_0 ]);
-  };
-  miniz_sys_0_1_10_features = f: updateFeatures f ({
-    cc_1_0_0.default = true;
-    libc_0_2_23.default = true;
-    miniz_sys_0_1_10.default = (f.miniz_sys_0_1_10.default or true);
-  }) [ libc_0_2_23_features cc_1_0_0_features ];
-  num_bigint_0_1_40 = { features?(num_bigint_0_1_40_features {}) }: num_bigint_0_1_40_ {
-    dependencies = mapFeatures features ([ num_integer_0_1_35 num_traits_0_1_37 ]
-      ++ (if features.num_bigint_0_1_40.rand or false then [ rand_0_3_15 ] else [])
-      ++ (if features.num_bigint_0_1_40.rustc-serialize or false then [ rustc_serialize_0_3_24 ] else []));
-    features = mkFeatures (features.num_bigint_0_1_40 or {});
-  };
-  num_bigint_0_1_40_features = f: updateFeatures f (rec {
-    num_bigint_0_1_40.default = (f.num_bigint_0_1_40.default or true);
-    num_bigint_0_1_40.rand =
-      (f.num_bigint_0_1_40.rand or false) ||
-      (f.num_bigint_0_1_40.default or false) ||
-      (num_bigint_0_1_40.default or false);
-    num_bigint_0_1_40.rustc-serialize =
-      (f.num_bigint_0_1_40.rustc-serialize or false) ||
-      (f.num_bigint_0_1_40.default or false) ||
-      (num_bigint_0_1_40.default or false);
-    num_integer_0_1_35.default = true;
-    num_traits_0_1_37.default = true;
-    rand_0_3_15.default = true;
-    rustc_serialize_0_3_24.default = true;
-  }) [ num_integer_0_1_35_features num_traits_0_1_37_features rand_0_3_15_features rustc_serialize_0_3_24_features ];
-  num_integer_0_1_35 = { features?(num_integer_0_1_35_features {}) }: num_integer_0_1_35_ {
-    dependencies = mapFeatures features ([ num_traits_0_1_37 ]);
-  };
-  num_integer_0_1_35_features = f: updateFeatures f ({
-    num_integer_0_1_35.default = (f.num_integer_0_1_35.default or true);
-    num_traits_0_1_37.default = true;
-  }) [ num_traits_0_1_37_features ];
-  num_iter_0_1_34 = { features?(num_iter_0_1_34_features {}) }: num_iter_0_1_34_ {
-    dependencies = mapFeatures features ([ num_integer_0_1_35 num_traits_0_1_37 ]);
-  };
-  num_iter_0_1_34_features = f: updateFeatures f ({
-    num_integer_0_1_35.default = true;
-    num_iter_0_1_34.default = (f.num_iter_0_1_34.default or true);
-    num_traits_0_1_37.default = true;
-  }) [ num_integer_0_1_35_features num_traits_0_1_37_features ];
-  num_rational_0_1_39 = { features?(num_rational_0_1_39_features {}) }: num_rational_0_1_39_ {
-    dependencies = mapFeatures features ([ num_integer_0_1_35 num_traits_0_1_37 ]
-      ++ (if features.num_rational_0_1_39.num-bigint or false then [ num_bigint_0_1_40 ] else [])
-      ++ (if features.num_rational_0_1_39.rustc-serialize or false then [ rustc_serialize_0_3_24 ] else []));
-    features = mkFeatures (features.num_rational_0_1_39 or {});
-  };
-  num_rational_0_1_39_features = f: updateFeatures f (rec {
-    num_bigint_0_1_40.default = true;
-    num_integer_0_1_35.default = true;
-    num_rational_0_1_39.bigint =
-      (f.num_rational_0_1_39.bigint or false) ||
-      (f.num_rational_0_1_39.default or false) ||
-      (num_rational_0_1_39.default or false);
-    num_rational_0_1_39.default = (f.num_rational_0_1_39.default or true);
-    num_rational_0_1_39.num-bigint =
-      (f.num_rational_0_1_39.num-bigint or false) ||
-      (f.num_rational_0_1_39.bigint or false) ||
-      (num_rational_0_1_39.bigint or false);
-    num_rational_0_1_39.rustc-serialize =
-      (f.num_rational_0_1_39.rustc-serialize or false) ||
-      (f.num_rational_0_1_39.default or false) ||
-      (num_rational_0_1_39.default or false);
-    num_traits_0_1_37.default = true;
-    rustc_serialize_0_3_24.default = true;
-  }) [ num_bigint_0_1_40_features num_integer_0_1_35_features num_traits_0_1_37_features rustc_serialize_0_3_24_features ];
-  num_traits_0_1_37 = { features?(num_traits_0_1_37_features {}) }: num_traits_0_1_37_ {};
-  num_traits_0_1_37_features = f: updateFeatures f ({
-    num_traits_0_1_37.default = (f.num_traits_0_1_37.default or true);
-  }) [];
-  num_cpus_1_6_2 = { features?(num_cpus_1_6_2_features {}) }: num_cpus_1_6_2_ {
-    dependencies = mapFeatures features ([ libc_0_2_23 ]);
-  };
-  num_cpus_1_6_2_features = f: updateFeatures f ({
-    libc_0_2_23.default = true;
-    num_cpus_1_6_2.default = (f.num_cpus_1_6_2.default or true);
-  }) [ libc_0_2_23_features ];
-  phf_0_7_21 = { features?(phf_0_7_21_features {}) }: phf_0_7_21_ {
-    dependencies = mapFeatures features ([ phf_shared_0_7_21 ]);
-    features = mkFeatures (features.phf_0_7_21 or {});
-  };
-  phf_0_7_21_features = f: updateFeatures f (rec {
-    phf_0_7_21.default = (f.phf_0_7_21.default or true);
-    phf_shared_0_7_21.core =
-      (f.phf_shared_0_7_21.core or false) ||
-      (phf_0_7_21.core or false) ||
-      (f.phf_0_7_21.core or false);
-    phf_shared_0_7_21.default = true;
-    phf_shared_0_7_21.unicase =
-      (f.phf_shared_0_7_21.unicase or false) ||
-      (phf_0_7_21.unicase or false) ||
-      (f.phf_0_7_21.unicase or false);
-  }) [ phf_shared_0_7_21_features ];
-  phf_codegen_0_7_21 = { features?(phf_codegen_0_7_21_features {}) }: phf_codegen_0_7_21_ {
-    dependencies = mapFeatures features ([ phf_generator_0_7_21 phf_shared_0_7_21 ]);
-  };
-  phf_codegen_0_7_21_features = f: updateFeatures f ({
-    phf_codegen_0_7_21.default = (f.phf_codegen_0_7_21.default or true);
-    phf_generator_0_7_21.default = true;
-    phf_shared_0_7_21.default = true;
-  }) [ phf_generator_0_7_21_features phf_shared_0_7_21_features ];
-  phf_generator_0_7_21 = { features?(phf_generator_0_7_21_features {}) }: phf_generator_0_7_21_ {
-    dependencies = mapFeatures features ([ phf_shared_0_7_21 rand_0_3_15 ]);
-  };
-  phf_generator_0_7_21_features = f: updateFeatures f ({
-    phf_generator_0_7_21.default = (f.phf_generator_0_7_21.default or true);
-    phf_shared_0_7_21.default = true;
-    rand_0_3_15.default = true;
-  }) [ phf_shared_0_7_21_features rand_0_3_15_features ];
-  phf_shared_0_7_21 = { features?(phf_shared_0_7_21_features {}) }: phf_shared_0_7_21_ {
-    dependencies = mapFeatures features ([ siphasher_0_2_2 ]);
-    features = mkFeatures (features.phf_shared_0_7_21 or {});
-  };
-  phf_shared_0_7_21_features = f: updateFeatures f ({
-    phf_shared_0_7_21.default = (f.phf_shared_0_7_21.default or true);
-    siphasher_0_2_2.default = true;
-  }) [ siphasher_0_2_2_features ];
-  pkg_config_0_3_9 = { features?(pkg_config_0_3_9_features {}) }: pkg_config_0_3_9_ {};
-  pkg_config_0_3_9_features = f: updateFeatures f ({
-    pkg_config_0_3_9.default = (f.pkg_config_0_3_9.default or true);
-  }) [];
-  png_0_5_2 = { features?(png_0_5_2_features {}) }: png_0_5_2_ {
-    dependencies = mapFeatures features ([ bitflags_0_7_0 inflate_0_1_1 num_iter_0_1_34 ]
-      ++ (if features.png_0_5_2.flate2 or false then [ flate2_0_2_20 ] else []));
-    features = mkFeatures (features.png_0_5_2 or {});
-  };
-  png_0_5_2_features = f: updateFeatures f (rec {
-    bitflags_0_7_0.default = true;
-    flate2_0_2_20.default = true;
-    inflate_0_1_1.default = true;
-    num_iter_0_1_34.default = true;
-    png_0_5_2.default = (f.png_0_5_2.default or true);
-    png_0_5_2.flate2 =
-      (f.png_0_5_2.flate2 or false) ||
-      (f.png_0_5_2.png-encoding or false) ||
-      (png_0_5_2.png-encoding or false);
-    png_0_5_2.png-encoding =
-      (f.png_0_5_2.png-encoding or false) ||
-      (f.png_0_5_2.default or false) ||
-      (png_0_5_2.default or false);
-  }) [ bitflags_0_7_0_features flate2_0_2_20_features inflate_0_1_1_features num_iter_0_1_34_features ];
-  rand_0_3_15 = { features?(rand_0_3_15_features {}) }: rand_0_3_15_ {
-    dependencies = mapFeatures features ([ libc_0_2_23 ]);
-  };
-  rand_0_3_15_features = f: updateFeatures f ({
-    libc_0_2_23.default = true;
-    rand_0_3_15.default = (f.rand_0_3_15.default or true);
-  }) [ libc_0_2_23_features ];
-  rayon_0_8_2 = { features?(rayon_0_8_2_features {}) }: rayon_0_8_2_ {
-    dependencies = mapFeatures features ([ rayon_core_1_2_1 ]);
-  };
-  rayon_0_8_2_features = f: updateFeatures f ({
-    rayon_0_8_2.default = (f.rayon_0_8_2.default or true);
-    rayon_core_1_2_1.default = true;
-  }) [ rayon_core_1_2_1_features ];
-  rayon_core_1_2_1 = { features?(rayon_core_1_2_1_features {}) }: rayon_core_1_2_1_ {
-    dependencies = mapFeatures features ([ coco_0_1_1 futures_0_1_16 lazy_static_0_2_8 libc_0_2_23 num_cpus_1_6_2 rand_0_3_15 ]);
-  };
-  rayon_core_1_2_1_features = f: updateFeatures f ({
-    coco_0_1_1.default = true;
-    futures_0_1_16.default = true;
-    lazy_static_0_2_8.default = true;
-    libc_0_2_23.default = true;
-    num_cpus_1_6_2.default = true;
-    rand_0_3_15.default = true;
-    rayon_core_1_2_1.default = (f.rayon_core_1_2_1.default or true);
-  }) [ coco_0_1_1_features futures_0_1_16_features lazy_static_0_2_8_features libc_0_2_23_features num_cpus_1_6_2_features rand_0_3_15_features ];
-  rustc_serialize_0_3_24 = { features?(rustc_serialize_0_3_24_features {}) }: rustc_serialize_0_3_24_ {};
-  rustc_serialize_0_3_24_features = f: updateFeatures f ({
-    rustc_serialize_0_3_24.default = (f.rustc_serialize_0_3_24.default or true);
-  }) [];
-  rustc_version_0_1_7 = { features?(rustc_version_0_1_7_features {}) }: rustc_version_0_1_7_ {
-    dependencies = mapFeatures features ([ semver_0_1_20 ]);
-  };
-  rustc_version_0_1_7_features = f: updateFeatures f ({
-    rustc_version_0_1_7.default = (f.rustc_version_0_1_7.default or true);
-    semver_0_1_20.default = true;
-  }) [ semver_0_1_20_features ];
-  scoped_threadpool_0_1_8 = { features?(scoped_threadpool_0_1_8_features {}) }: scoped_threadpool_0_1_8_ {
-    features = mkFeatures (features.scoped_threadpool_0_1_8 or {});
-  };
-  scoped_threadpool_0_1_8_features = f: updateFeatures f ({
-    scoped_threadpool_0_1_8.default = (f.scoped_threadpool_0_1_8.default or true);
-  }) [];
-  scopeguard_0_3_2 = { features?(scopeguard_0_3_2_features {}) }: scopeguard_0_3_2_ {
-    features = mkFeatures (features.scopeguard_0_3_2 or {});
-  };
-  scopeguard_0_3_2_features = f: updateFeatures f (rec {
-    scopeguard_0_3_2.default = (f.scopeguard_0_3_2.default or true);
-    scopeguard_0_3_2.use_std =
-      (f.scopeguard_0_3_2.use_std or false) ||
-      (f.scopeguard_0_3_2.default or false) ||
-      (scopeguard_0_3_2.default or false);
-  }) [];
-  semver_0_1_20 = { features?(semver_0_1_20_features {}) }: semver_0_1_20_ {};
-  semver_0_1_20_features = f: updateFeatures f ({
-    semver_0_1_20.default = (f.semver_0_1_20.default or true);
-  }) [];
-  serde_0_9_15 = { features?(serde_0_9_15_features {}) }: serde_0_9_15_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.serde_0_9_15 or {});
-  };
-  serde_0_9_15_features = f: updateFeatures f (rec {
-    serde_0_9_15.alloc =
-      (f.serde_0_9_15.alloc or false) ||
-      (f.serde_0_9_15.collections or false) ||
-      (serde_0_9_15.collections or false);
-    serde_0_9_15.default = (f.serde_0_9_15.default or true);
-    serde_0_9_15.serde_derive =
-      (f.serde_0_9_15.serde_derive or false) ||
-      (f.serde_0_9_15.derive or false) ||
-      (serde_0_9_15.derive or false) ||
-      (f.serde_0_9_15.playground or false) ||
-      (serde_0_9_15.playground or false);
-    serde_0_9_15.std =
-      (f.serde_0_9_15.std or false) ||
-      (f.serde_0_9_15.default or false) ||
-      (serde_0_9_15.default or false) ||
-      (f.serde_0_9_15.unstable-testing or false) ||
-      (serde_0_9_15.unstable-testing or false);
-    serde_0_9_15.unstable =
-      (f.serde_0_9_15.unstable or false) ||
-      (f.serde_0_9_15.alloc or false) ||
-      (serde_0_9_15.alloc or false) ||
-      (f.serde_0_9_15.unstable-testing or false) ||
-      (serde_0_9_15.unstable-testing or false);
-  }) [];
-  serde_json_0_9_10 = { features?(serde_json_0_9_10_features {}) }: serde_json_0_9_10_ {
-    dependencies = mapFeatures features ([ dtoa_0_4_1 itoa_0_3_1 num_traits_0_1_37 serde_0_9_15 ]);
-    features = mkFeatures (features.serde_json_0_9_10 or {});
-  };
-  serde_json_0_9_10_features = f: updateFeatures f (rec {
-    dtoa_0_4_1.default = true;
-    itoa_0_3_1.default = true;
-    num_traits_0_1_37.default = true;
-    serde_0_9_15.default = true;
-    serde_json_0_9_10.default = (f.serde_json_0_9_10.default or true);
-    serde_json_0_9_10.linked-hash-map =
-      (f.serde_json_0_9_10.linked-hash-map or false) ||
-      (f.serde_json_0_9_10.preserve_order or false) ||
-      (serde_json_0_9_10.preserve_order or false);
-  }) [ dtoa_0_4_1_features itoa_0_3_1_features num_traits_0_1_37_features serde_0_9_15_features ];
-  siphasher_0_2_2 = { features?(siphasher_0_2_2_features {}) }: siphasher_0_2_2_ {
-    dependencies = mapFeatures features ([]);
-  };
-  siphasher_0_2_2_features = f: updateFeatures f ({
-    siphasher_0_2_2.default = (f.siphasher_0_2_2.default or true);
-  }) [];
-  strsim_0_6_0 = { features?(strsim_0_6_0_features {}) }: strsim_0_6_0_ {};
-  strsim_0_6_0_features = f: updateFeatures f ({
-    strsim_0_6_0.default = (f.strsim_0_6_0.default or true);
-  }) [];
-  target_build_utils_0_3_1 = { features?(target_build_utils_0_3_1_features {}) }: target_build_utils_0_3_1_ {
-    dependencies = mapFeatures features ([ phf_0_7_21 ]
-      ++ (if features.target_build_utils_0_3_1.serde_json or false then [ serde_json_0_9_10 ] else []));
-    buildDependencies = mapFeatures features ([ phf_codegen_0_7_21 ]);
-    features = mkFeatures (features.target_build_utils_0_3_1 or {});
-  };
-  target_build_utils_0_3_1_features = f: updateFeatures f (rec {
-    phf_0_7_21.default = true;
-    phf_codegen_0_7_21.default = true;
-    serde_json_0_9_10.default = true;
-    target_build_utils_0_3_1.default = (f.target_build_utils_0_3_1.default or true);
-    target_build_utils_0_3_1.serde_json =
-      (f.target_build_utils_0_3_1.serde_json or false) ||
-      (f.target_build_utils_0_3_1.default or false) ||
-      (target_build_utils_0_3_1.default or false);
-  }) [ phf_0_7_21_features serde_json_0_9_10_features phf_codegen_0_7_21_features ];
-  tempfile_2_1_5 = { features?(tempfile_2_1_5_features {}) }: tempfile_2_1_5_ {
-    dependencies = mapFeatures features ([ rand_0_3_15 ])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_23 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
-    buildDependencies = mapFeatures features ([ rustc_version_0_1_7 ]);
-  };
-  tempfile_2_1_5_features = f: updateFeatures f ({
-    kernel32_sys_0_2_2.default = true;
-    libc_0_2_23.default = true;
-    rand_0_3_15.default = true;
-    rustc_version_0_1_7.default = true;
-    tempfile_2_1_5.default = (f.tempfile_2_1_5.default or true);
-    winapi_0_2_8.default = true;
-  }) [ rand_0_3_15_features rustc_version_0_1_7_features libc_0_2_23_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
-  term_size_0_3_0 = { features?(term_size_0_3_0_features {}) }: term_size_0_3_0_ {
-    dependencies = mapFeatures features ([])
-      ++ (if !(kernel == "windows") then mapFeatures features ([ libc_0_2_23 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
-    features = mkFeatures (features.term_size_0_3_0 or {});
-  };
-  term_size_0_3_0_features = f: updateFeatures f (rec {
-    kernel32_sys_0_2_2.default = true;
-    libc_0_2_23.default = true;
-    term_size_0_3_0.clippy =
-      (f.term_size_0_3_0.clippy or false) ||
-      (f.term_size_0_3_0.lints or false) ||
-      (term_size_0_3_0.lints or false);
-    term_size_0_3_0.default = (f.term_size_0_3_0.default or true);
-    term_size_0_3_0.lints =
-      (f.term_size_0_3_0.lints or false) ||
-      (f.term_size_0_3_0.travis or false) ||
-      (term_size_0_3_0.travis or false);
-    term_size_0_3_0.nightly =
-      (f.term_size_0_3_0.nightly or false) ||
-      (f.term_size_0_3_0.lints or false) ||
-      (term_size_0_3_0.lints or false) ||
-      (f.term_size_0_3_0.travis or false) ||
-      (term_size_0_3_0.travis or false);
-    winapi_0_2_8.default = true;
-  }) [ libc_0_2_23_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
-  toml_0_2_1 = { features?(toml_0_2_1_features {}) }: toml_0_2_1_ {
-    dependencies = mapFeatures features ([]);
-  };
-  toml_0_2_1_features = f: updateFeatures f (rec {
-    toml_0_2_1.default = (f.toml_0_2_1.default or true);
-    toml_0_2_1.rustc-serialize =
-      (f.toml_0_2_1.rustc-serialize or false) ||
-      (f.toml_0_2_1.default or false) ||
-      (toml_0_2_1.default or false);
-  }) [];
-  unicode_segmentation_1_2_0 = { features?(unicode_segmentation_1_2_0_features {}) }: unicode_segmentation_1_2_0_ {
-    features = mkFeatures (features.unicode_segmentation_1_2_0 or {});
-  };
-  unicode_segmentation_1_2_0_features = f: updateFeatures f ({
-    unicode_segmentation_1_2_0.default = (f.unicode_segmentation_1_2_0.default or true);
-  }) [];
-  unicode_width_0_1_4 = { features?(unicode_width_0_1_4_features {}) }: unicode_width_0_1_4_ {
-    features = mkFeatures (features.unicode_width_0_1_4 or {});
-  };
-  unicode_width_0_1_4_features = f: updateFeatures f ({
-    unicode_width_0_1_4.default = (f.unicode_width_0_1_4.default or true);
-  }) [];
-  vec_map_0_8_0 = { features?(vec_map_0_8_0_features {}) }: vec_map_0_8_0_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.vec_map_0_8_0 or {});
-  };
-  vec_map_0_8_0_features = f: updateFeatures f (rec {
-    vec_map_0_8_0.default = (f.vec_map_0_8_0.default or true);
-    vec_map_0_8_0.serde =
-      (f.vec_map_0_8_0.serde or false) ||
-      (f.vec_map_0_8_0.eders or false) ||
-      (vec_map_0_8_0.eders or false);
-    vec_map_0_8_0.serde_derive =
-      (f.vec_map_0_8_0.serde_derive or false) ||
-      (f.vec_map_0_8_0.eders or false) ||
-      (vec_map_0_8_0.eders or false);
-  }) [];
-  way_cooler_client_helpers_0_1_0 = { features?(way_cooler_client_helpers_0_1_0_features {}) }: way_cooler_client_helpers_0_1_0_ {
-    dependencies = mapFeatures features ([ wayland_client_0_9_6 wayland_sys_0_9_6 ]);
-  };
-  way_cooler_client_helpers_0_1_0_features = f: updateFeatures f ({
-    way_cooler_client_helpers_0_1_0.default = (f.way_cooler_client_helpers_0_1_0.default or true);
-    wayland_client_0_9_6.cursor = true;
-    wayland_client_0_9_6.default = true;
-    wayland_client_0_9_6.dlopen = true;
-    wayland_sys_0_9_6.client = true;
-    wayland_sys_0_9_6.default = true;
-    wayland_sys_0_9_6.dlopen = true;
-  }) [ wayland_client_0_9_6_features wayland_sys_0_9_6_features ];
-  wayland_client_0_9_6 = { features?(wayland_client_0_9_6_features {}) }: wayland_client_0_9_6_ {
-    dependencies = mapFeatures features ([ bitflags_0_7_0 libc_0_2_23 wayland_sys_0_9_6 ]);
-    buildDependencies = mapFeatures features ([ wayland_scanner_0_9_6 ]);
-    features = mkFeatures (features.wayland_client_0_9_6 or {});
-  };
-  wayland_client_0_9_6_features = f: updateFeatures f (rec {
-    bitflags_0_7_0.default = true;
-    libc_0_2_23.default = true;
-    wayland_client_0_9_6.cursor =
-      (f.wayland_client_0_9_6.cursor or false) ||
-      (f.wayland_client_0_9_6.default or false) ||
-      (wayland_client_0_9_6.default or false);
-    wayland_client_0_9_6.default = (f.wayland_client_0_9_6.default or true);
-    wayland_client_0_9_6.egl =
-      (f.wayland_client_0_9_6.egl or false) ||
-      (f.wayland_client_0_9_6.default or false) ||
-      (wayland_client_0_9_6.default or false);
-    wayland_scanner_0_9_6.default = true;
-    wayland_sys_0_9_6.client = true;
-    wayland_sys_0_9_6.cursor =
-      (f.wayland_sys_0_9_6.cursor or false) ||
-      (wayland_client_0_9_6.cursor or false) ||
-      (f.wayland_client_0_9_6.cursor or false);
-    wayland_sys_0_9_6.default = true;
-    wayland_sys_0_9_6.dlopen =
-      (f.wayland_sys_0_9_6.dlopen or false) ||
-      (wayland_client_0_9_6.dlopen or false) ||
-      (f.wayland_client_0_9_6.dlopen or false);
-    wayland_sys_0_9_6.egl =
-      (f.wayland_sys_0_9_6.egl or false) ||
-      (wayland_client_0_9_6.egl or false) ||
-      (f.wayland_client_0_9_6.egl or false);
-  }) [ bitflags_0_7_0_features libc_0_2_23_features wayland_sys_0_9_6_features wayland_scanner_0_9_6_features ];
-  wayland_kbd_0_9_0 = { features?(wayland_kbd_0_9_0_features {}) }: wayland_kbd_0_9_0_ {
-    dependencies = mapFeatures features ([ bitflags_0_7_0 dlib_0_3_1 lazy_static_0_2_8 memmap_0_4_0 wayland_client_0_9_6 ]);
-  };
-  wayland_kbd_0_9_0_features = f: updateFeatures f ({
-    bitflags_0_7_0.default = true;
-    dlib_0_3_1.default = true;
-    lazy_static_0_2_8.default = true;
-    memmap_0_4_0.default = true;
-    wayland_client_0_9_6.default = true;
-    wayland_kbd_0_9_0.default = (f.wayland_kbd_0_9_0.default or true);
-  }) [ bitflags_0_7_0_features dlib_0_3_1_features lazy_static_0_2_8_features memmap_0_4_0_features wayland_client_0_9_6_features ];
-  wayland_scanner_0_9_6 = { features?(wayland_scanner_0_9_6_features {}) }: wayland_scanner_0_9_6_ {
-    dependencies = mapFeatures features ([ xml_rs_0_3_6 ]);
-  };
-  wayland_scanner_0_9_6_features = f: updateFeatures f ({
-    wayland_scanner_0_9_6.default = (f.wayland_scanner_0_9_6.default or true);
-    xml_rs_0_3_6.default = true;
-  }) [ xml_rs_0_3_6_features ];
-  wayland_sys_0_9_6 = { features?(wayland_sys_0_9_6_features {}) }: wayland_sys_0_9_6_ {
-    dependencies = mapFeatures features ([ dlib_0_3_1 ]
-      ++ (if features.wayland_sys_0_9_6.lazy_static or false then [ lazy_static_0_2_8 ] else []));
-    features = mkFeatures (features.wayland_sys_0_9_6 or {});
-  };
-  wayland_sys_0_9_6_features = f: updateFeatures f (rec {
-    dlib_0_3_1.default = true;
-    dlib_0_3_1.dlopen =
-      (f.dlib_0_3_1.dlopen or false) ||
-      (wayland_sys_0_9_6.dlopen or false) ||
-      (f.wayland_sys_0_9_6.dlopen or false);
-    lazy_static_0_2_8.default = true;
-    wayland_sys_0_9_6.default = (f.wayland_sys_0_9_6.default or true);
-    wayland_sys_0_9_6.lazy_static =
-      (f.wayland_sys_0_9_6.lazy_static or false) ||
-      (f.wayland_sys_0_9_6.dlopen or false) ||
-      (wayland_sys_0_9_6.dlopen or false);
-    wayland_sys_0_9_6.libc =
-      (f.wayland_sys_0_9_6.libc or false) ||
-      (f.wayland_sys_0_9_6.server or false) ||
-      (wayland_sys_0_9_6.server or false);
-  }) [ dlib_0_3_1_features lazy_static_0_2_8_features ];
-  wc_lock_0_2_1 = { features?(wc_lock_0_2_1_features {}) }: wc_lock_0_2_1_ {
-    dependencies = mapFeatures features ([ byteorder_0_5_3 clap_2_24_2 dbus_0_5_4 image_0_10_4 libc_0_2_23 rand_0_3_15 tempfile_2_1_5 way_cooler_client_helpers_0_1_0 wayland_client_0_9_6 wayland_kbd_0_9_0 wayland_sys_0_9_6 ]);
-    buildDependencies = mapFeatures features ([ gcc_0_3_50 wayland_scanner_0_9_6 ]);
-  };
-  wc_lock_0_2_1_features = f: updateFeatures f ({
-    byteorder_0_5_3.default = true;
-    clap_2_24_2.default = true;
-    dbus_0_5_4.default = true;
-    gcc_0_3_50.default = true;
-    image_0_10_4.default = true;
-    libc_0_2_23.default = true;
-    rand_0_3_15.default = true;
-    tempfile_2_1_5.default = true;
-    way_cooler_client_helpers_0_1_0.default = true;
-    wayland_client_0_9_6.cursor = true;
-    wayland_client_0_9_6.default = true;
-    wayland_client_0_9_6.dlopen = true;
-    wayland_kbd_0_9_0.default = true;
-    wayland_scanner_0_9_6.default = true;
-    wayland_sys_0_9_6.client = true;
-    wayland_sys_0_9_6.default = true;
-    wayland_sys_0_9_6.dlopen = true;
-    wc_lock_0_2_1.default = (f.wc_lock_0_2_1.default or true);
-  }) [ byteorder_0_5_3_features clap_2_24_2_features dbus_0_5_4_features image_0_10_4_features libc_0_2_23_features rand_0_3_15_features tempfile_2_1_5_features way_cooler_client_helpers_0_1_0_features wayland_client_0_9_6_features wayland_kbd_0_9_0_features wayland_sys_0_9_6_features gcc_0_3_50_features wayland_scanner_0_9_6_features ];
-  winapi_0_2_8 = { features?(winapi_0_2_8_features {}) }: winapi_0_2_8_ {};
-  winapi_0_2_8_features = f: updateFeatures f ({
-    winapi_0_2_8.default = (f.winapi_0_2_8.default or true);
-  }) [];
-  winapi_build_0_1_1 = { features?(winapi_build_0_1_1_features {}) }: winapi_build_0_1_1_ {};
-  winapi_build_0_1_1_features = f: updateFeatures f ({
-    winapi_build_0_1_1.default = (f.winapi_build_0_1_1.default or true);
-  }) [];
-  xml_rs_0_3_6 = { features?(xml_rs_0_3_6_features {}) }: xml_rs_0_3_6_ {
-    dependencies = mapFeatures features ([ bitflags_0_7_0 ]);
-  };
-  xml_rs_0_3_6_features = f: updateFeatures f ({
-    bitflags_0_7_0.default = true;
-    xml_rs_0_3_6.default = (f.xml_rs_0_3_6.default or true);
-  }) [ bitflags_0_7_0_features ];
-}
diff --git a/pkgs/applications/window-managers/way-cooler/wlc.nix b/pkgs/applications/window-managers/way-cooler/wlc.nix
deleted file mode 100644
index 03d0b3023f7..00000000000
--- a/pkgs/applications/window-managers/way-cooler/wlc.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig
-, wayland, pixman, libxkbcommon, libinput, xcbutilwm, xcbutilimage, libGL
-, libX11, dbus, wayland-protocols, libdrm, mesa
-, libpthreadstubs, libXdmcp, libXext, libXfixes
-, withOptionalPackages ? true, zlib, valgrind, doxygen
-}:
-
-stdenv.mkDerivation rec {
-  pname = "wlc";
-  version = "0.0.11";
-
-  src = fetchFromGitHub {
-    owner = "Cloudef";
-    repo = "wlc";
-    rev = "v${version}";
-    fetchSubmodules = true;
-    sha256 = "1qnak907gjd35hq4b0rrhgb7kz5iwnirh8yk372yzxpgk7dq0gz9";
-  };
-
-  nativeBuildInputs = [ cmake pkgconfig ];
-
-  buildInputs = [
-    wayland pixman libxkbcommon libinput xcbutilwm xcbutilimage libGL
-    libX11 libXfixes dbus wayland-protocols
-    libpthreadstubs libXdmcp libXext libdrm mesa ]
-    ++ stdenv.lib.optionals withOptionalPackages [ zlib valgrind doxygen ];
-
-  doCheck = true;
-  checkTarget = "test";
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    description = "A library for making a simple Wayland compositor";
-    homepage    = https://github.com/Cloudef/wlc;
-    license     = licenses.mit;
-    platforms   = platforms.linux;
-    maintainers = with maintainers; [ primeos ]; # Trying to keep it up-to-date.
-  };
-}
diff --git a/pkgs/build-support/docker-slim/default.nix b/pkgs/build-support/docker-slim/default.nix
new file mode 100644
index 00000000000..6004898f08e
--- /dev/null
+++ b/pkgs/build-support/docker-slim/default.nix
@@ -0,0 +1,67 @@
+{ stdenv
+, buildGoPackage
+, fetchFromGitHub
+, makeWrapper
+}:
+
+let
+
+  version = "1.26.1";
+  rev = "2ec04e169b12a87c5286aa09ef44eac1cea2c7a1";
+
+in buildGoPackage rec {
+  pname = "docker-slim";
+  inherit version;
+
+  goPackagePath = "github.com/docker-slim/docker-slim";
+
+  src = fetchFromGitHub {
+    owner = "docker-slim";
+    repo = "docker-slim";
+    inherit rev;
+    # fetchzip yields a different hash on Darwin because `use-case-hack`
+    sha256 =
+      if stdenv.isDarwin
+      then "0j72rn6qap78qparrnslxm3yv83mzy1yc7ha0crb4frwkzmspyvf"
+      else "01bjb14z7yblm7qdqrx1j2pw5x5da7a6np4rkzay931gly739gbh";
+  };
+
+  subPackages = [ "cmd/docker-slim" "cmd/docker-slim-sensor" ];
+
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
+  # docker-slim vendorized logrus files in different directories, which
+  # conflicts on case-sensitive filesystems
+  preBuild = stdenv.lib.optionalString stdenv.isLinux ''
+    mv go/src/${goPackagePath}/vendor/github.com/Sirupsen/logrus/* \
+      go/src/${goPackagePath}/vendor/github.com/sirupsen/logrus/
+  '';
+
+  buildFlagsArray =
+    let
+      ldflags = "-ldflags=-s -w " +
+                "-X ${goPackagePath}/pkg/version.appVersionTag=${version} " +
+                "-X ${goPackagePath}/pkg/version.appVersionRev=${rev}";
+    in
+      [ ldflags ];
+
+  # docker-slim tries to create its state dir next to the binary (inside the nix
+  # store), so we set it to use the working directory at the time of invocation
+  postInstall = ''
+    wrapProgram "$bin/bin/docker-slim" --add-flags '--state-path "$(pwd)"'
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Minify and secure Docker containers";
+    homepage = "https://dockersl.im/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ filalex77 marsam mbrgm ];
+    # internal/app/sensor/monitors/ptrace/monitor.go:151:16: undefined:
+    #     system.CallNumber
+    # internal/app/sensor/monitors/ptrace/monitor.go:161:15: undefined:
+    #     system.CallReturnValue
+    badPlatforms = [ "aarch64-linux" ];
+  };
+}
diff --git a/pkgs/data/misc/hackage/default.nix b/pkgs/data/misc/hackage/default.nix
index 0537a5d5373..d6b5965cca0 100644
--- a/pkgs/data/misc/hackage/default.nix
+++ b/pkgs/data/misc/hackage/default.nix
@@ -1,6 +1,6 @@
 { fetchurl }:
 
 fetchurl {
-  url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/477d50a859be91a25b2fed6494d414044d7e71ab.tar.gz";
-  sha256 = "0wzi2wgcp5ykwp4wrhcfdaxlbdzrmlgalparx3ap80q069c8fd0n";
+  url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/b2812edaaed9f9033e48dfbcd45e7e5fb56daccd.tar.gz";
+  sha256 = "1a2073gknks4r2ibm3ji1wrib6pr3aicg6wjgzsj2r5xgad7jm6g";
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/core/gnome-session/default.nix
index 459512017c5..3df78b88090 100644
--- a/pkgs/desktops/gnome-3/core/gnome-session/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-session/default.nix
@@ -6,6 +6,8 @@ stdenv.mkDerivation rec {
   pname = "gnome-session";
   version = "3.34.2";
 
+  outputs = ["out" "sessions"];
+
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-session/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1qgqp97f8k2zi2ydvhds14zsjzfj7cv521r6wx5sw0qacn0p7dwb";
@@ -50,6 +52,15 @@ stdenv.mkDerivation rec {
       --suffix XDG_CONFIG_DIRS : "${gnome3.gnome-settings-daemon}/etc/xdg"
   '';
 
+  # We move the GNOME sessions to another output since gnome-session is a dependency of
+  # GDM itself. If we do not hide them, it will show broken GNOME sessions when GDM is
+  # enabled without proper GNOME installation.
+  postInstall = ''
+    mkdir $sessions
+    moveToOutput share/wayland-sessions "$sessions"
+    moveToOutput share/xsessions "$sessions"
+  '';
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = "gnome-session";
diff --git a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
index bbb3ee59596..27bcb21a006 100644
--- a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
@@ -20,7 +20,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-terminal";
-  version = "5.5.0";
+  version = "5.5.1";
 
   repoName = "terminal";
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1wna3kcg621qjyvg70dzk4lfq8si2snnlm9fnl5gj0w6b707gz2x";
+    sha256 = "1b8fzs9s7djhwp02l3fwjpwxylklpbnw7x46mv7c8ksbp0m75iyj";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/apps/switchboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard/default.nix
index 03e6ef999eb..28ec4e65f52 100644
--- a/pkgs/desktops/pantheon/apps/switchboard/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard";
-  version = "2.3.7";
+  version = "2.3.8";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "160aar5dqd019vn28cm0d0ijj1i6mwpqkl7a1l4lpasw12drxwxz";
+    sha256 = "1y254irl07fp70228zm268w20zd7risz0sk9i9wz59yynxwjshbx";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
index 9943415a457..291977349bd 100644
--- a/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
+++ b/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
@@ -6,11 +6,13 @@
 , ninja
 , hicolor-icon-theme
 , gtk3
+, inkscape
+, xorg
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-icon-theme";
-  version = "5.1.0";
+  version = "5.2.0";
 
   repoName = "icons";
 
@@ -18,7 +20,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1yrf92ysjh1yfm42wznlw0lh9zsm5whghwzx3b3wcdkwdhkdg24z";
+    sha256 = "1irkjj8xfpgkl5p56xhqa3w2s98b8lav7d1lxxrabdi87cjv3n33";
   };
 
   passthru = {
@@ -29,9 +31,11 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     gtk3
+    inkscape
     meson
     ninja
     python3
+    xorg.xcursorgen
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
index e601c99108b..be97c5903eb 100644
--- a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
+++ b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
@@ -14,7 +14,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-default-settings";
-  version = "5.1.1";
+  version = "5.1.2";
 
   repoName = "default-settings";
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "10sdy8v34y6bgb3mabwy7k3b5dbqrnab504dvhashpfxr9n9xncy";
+    sha256 = "00z31alwn2skhksrhp2jk75f6jlaipzk91hclx7na4gbcyrw7ahw";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
index 72f94252cca..af6155037ef 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-session";
-  version = "2.2.6";
+  version = "2.2.7";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0pzknbm0hg4kf2izfg1mcmyildfzwyq1hh0xhlq16gsmakq4ld26";
+    sha256 = "0qgb225ldg3qax370z3wvijxmm4bjfqds3r9aqqhlq30599xjhsb";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex b/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex
index ad7f96d6b2a..5333ad154f5 100644
--- a/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex
+++ b/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex
@@ -21,11 +21,11 @@ defmodule NixpkgsGitHubUpdate.GitHubLatestVersion do
   end
 
   defp get_token do
-    String.to_charlist("#{System.get_env("OAUTH_TOKEN")}")
+    System.get_env("OAUTH_TOKEN")
   end
 
-  defp put_token(headers, token) when is_list(token) do
-    Map.put_new(headers, 'Authorization', 'token #{token}')
+  defp put_token(headers, token) when token != nil do
+    Map.put_new(headers, 'Authorization', 'token #{String.to_charlist(token)}')
   end
 
   defp put_token(headers, _), do: headers
diff --git a/pkgs/development/compilers/bs-platform/build-bs-platform.nix b/pkgs/development/compilers/bs-platform/build-bs-platform.nix
index 03e01a7a0da..830a0b647c4 100644
--- a/pkgs/development/compilers/bs-platform/build-bs-platform.nix
+++ b/pkgs/development/compilers/bs-platform/build-bs-platform.nix
@@ -35,11 +35,12 @@ stdenv.mkDerivation {
   '';
 
   buildPhase = ''
-    node scripts/ninja.js build
+    # This is an unfortunate name, but it's actually how to build a release
+    # binary for BuckleScript
+    node scripts/install.js
   '';
 
   installPhase = ''
-    node scripts/install.js
     mkdir -p $out/bin
     cp -rf jscomp lib vendor odoc_gen native $out
     cp bsconfig.json package.json $out
diff --git a/pkgs/development/compilers/dotnet/buildDotnet.nix b/pkgs/development/compilers/dotnet/buildDotnet.nix
new file mode 100644
index 00000000000..58e67ff008a
--- /dev/null
+++ b/pkgs/development/compilers/dotnet/buildDotnet.nix
@@ -0,0 +1,67 @@
+{ type
+, version
+, sha512
+}:
+assert builtins.elem type [ "aspnetcore" "netcore" "sdk"];
+{ stdenv
+, fetchurl
+, libunwind
+, openssl
+, icu
+, libuuid
+, zlib
+, curl
+}: 
+let pname = if type == "aspnetcore" then "aspnetcore-runtime" else if type == "netcore" then "dotnet-runtime" else "dotnet-sdk";
+    urls = {
+        aspnetcore = "https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/${version}/${pname}-${version}-linux-x64.tar.gz";
+        netcore = "https://dotnetcli.azureedge.net/dotnet/Runtime/${version}/${pname}-${version}-linux-x64.tar.gz";
+        sdk = "https://dotnetcli.azureedge.net/dotnet/Sdk/${version}/${pname}-${version}-linux-x64.tar.gz";
+    };
+    descriptions = {
+        aspnetcore = "ASP .NET Core runtime ${version}";
+        netcore = ".NET Core runtime ${version}";
+        sdk = ".NET SDK ${version}";
+    };
+in stdenv.mkDerivation rec {
+    inherit pname version;
+
+    rpath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc libunwind libuuid icu openssl zlib curl ];
+
+    src = fetchurl {
+        url = builtins.getAttr type urls;
+        inherit sha512;
+    };
+
+    sourceRoot = ".";
+
+    dontPatchELF = true;
+
+    installPhase = ''
+        runHook preInstall
+        mkdir -p $out/bin
+        cp -r ./ $out
+        ln -s $out/dotnet $out/bin/dotnet
+        runHook postInstall
+    '';
+
+    postFixup = ''
+        patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" $out/dotnet
+        patchelf --set-rpath "${rpath}" $out/dotnet
+        find $out -type f -name "*.so" -exec patchelf --set-rpath '$ORIGIN:${rpath}' {} \;
+        find $out -type f -name "apphost" -exec patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" --set-rpath '$ORIGIN:${rpath}' {} \;
+    '';
+
+    doInstallCheck = true;
+    installCheckPhase = ''
+        $out/bin/dotnet --info
+    '';
+
+    meta = with stdenv.lib; {
+        homepage = https://dotnet.github.io/;
+        description = builtins.getAttr type descriptions;
+        platforms = [ "x86_64-linux" ];
+        maintainers = with maintainers; [ kuznero ];
+        license = licenses.mit;
+    };
+}
diff --git a/pkgs/development/compilers/dotnet/combinePackages.nix b/pkgs/development/compilers/dotnet/combinePackages.nix
new file mode 100644
index 00000000000..00fb7c6d9b4
--- /dev/null
+++ b/pkgs/development/compilers/dotnet/combinePackages.nix
@@ -0,0 +1,20 @@
+packages:
+{ buildEnv, lib }:
+let cli = builtins.head packages;
+in
+assert lib.assertMsg ((builtins.length packages) != 0)
+    ''You must include at least one package, e.g
+      `with dotnetCorePackages; combinePackages {
+          packages = [ sdk_3_0 aspnetcore_2_1 ];
+       };`'' ;
+  buildEnv {
+    name = "dotnet-core-combined";
+    paths = packages;
+    pathsToLink = [ "/host" "/packs" "/sdk" "/shared" "/templates" ];
+    ignoreCollisions = true;
+    postBuild = ''
+      cp ${cli}/dotnet $out/dotnet
+      mkdir $out/bin
+      ln -s $out/dotnet $out/bin/
+    '';
+  }
diff --git a/pkgs/development/compilers/dotnet/default.nix b/pkgs/development/compilers/dotnet/default.nix
new file mode 100644
index 00000000000..1d9540ccc16
--- /dev/null
+++ b/pkgs/development/compilers/dotnet/default.nix
@@ -0,0 +1,40 @@
+/*
+How to combine packages for use in development:
+dotnetCombined = with dotnetCorePackages; combinePackages [ sdk_3_1 sdk_2_2 sdk_3_0 sdk aspnetcore_2_1 ];
+*/
+{ callPackage }:
+let
+  buildDotnet = attrs: callPackage (import ./buildDotnet.nix attrs) {};
+  buildAspNetCore = attrs: buildDotnet (attrs // { type = "aspnetcore"; } );
+  buildNetCore = attrs: buildDotnet (attrs // { type = "netcore"; } );
+  buildNetCoreSdk = attrs: buildDotnet (attrs // { type = "sdk"; } );
+in rec {
+  combinePackages = attrs: callPackage (import ./combinePackages.nix attrs) {};
+
+  aspnetcore_2_1 = buildAspNetCore {
+    version = "2.1.13";
+    sha512 = "0i9r9pq9avixv08vwcp796kdwplz90lip07y4f50s0jqwpww070qsydplnv3pixi9dfn4s169qd97c7km3qs1snvn9yasigg1vv2wqx";
+  };
+
+  netcore_2_1 = buildNetCore {
+    version = "2.1.13";
+    sha512 = "2gkawhm4vk74qmdlpa9128brirwqxpa1b6w8jmcyd6j4i8lpnkp83jhmjjrjr4jdihchapp8qxb7sa1qdj21yswbpn03n86g8l3gh0h";
+  };
+
+  sdk_2_1 = buildNetCoreSdk {
+    version = "2.1.509";
+    sha512 = "4B7DC25841F56AADDD685ADB227B362177268E3D052B4ADDDAC2530889B6506B7B4768B751AE75F131143424D02EEE77B4565DAD6B49048C39D2C47E39412FDF";
+  };
+  sdk_2_2 = buildNetCoreSdk {
+    version = "2.2.401";
+    sha512 = "05w3zk7bcd8sv3k4kplf20j906and2006g1fggq7y6kaxrlhdnpd6jhy6idm8v5bz48wfxga5b4yys9qx0fp3p8yl7wi67qljpzrq88";
+  };
+  sdk_3_0 = buildNetCoreSdk {
+    version = "3.0.100";
+    sha512 = "766da31f9a0bcfbf0f12c91ea68354eb509ac2111879d55b656f19299c6ea1c005d31460dac7c2a4ef82b3edfea30232c82ba301fb52c0ff268d3e3a1b73d8f7";
+  };
+  sdk_3_1 = buildNetCoreSdk {
+    version = "3.1.100";
+    sha512 = "0hvshwsgbm6v5hc1plzdzx8bwsdna2167fnfhxpysqs5mz7crsa4f13m4cxhrbn64lasqz2007nhdrlpgaqvgll6q8736h884aaw5sj";
+  };
+}
diff --git a/pkgs/development/compilers/dotnet/sdk/default.nix b/pkgs/development/compilers/dotnet/sdk/default.nix
deleted file mode 100644
index 984ab39c91a..00000000000
--- a/pkgs/development/compilers/dotnet/sdk/default.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ stdenv
-, fetchurl
-, libunwind
-, openssl
-, icu
-, libuuid
-, zlib
-, curl
-}:
-
-let
-  rpath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc libunwind libuuid icu openssl zlib curl ];
-in
-  stdenv.mkDerivation rec {
-    version = "2.2.401";
-    netCoreVersion = "2.2.6";
-    pname = "dotnet-sdk";
-
-    src = fetchurl {
-      url = "https://dotnetcli.azureedge.net/dotnet/Sdk/${version}/${pname}-${version}-linux-x64.tar.gz";
-      # use sha512 from the download page
-      sha512 = "05w3zk7bcd8sv3k4kplf20j906and2006g1fggq7y6kaxrlhdnpd6jhy6idm8v5bz48wfxga5b4yys9qx0fp3p8yl7wi67qljpzrq88";
-    };
-
-    sourceRoot = ".";
-
-    buildPhase = ''
-      runHook preBuild
-      patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" ./dotnet
-      patchelf --set-rpath "${rpath}" ./dotnet
-      find -type f -name "*.so" -exec patchelf --set-rpath '$ORIGIN:${rpath}' {} \;
-      echo -n "dotnet-sdk version: "
-      ./dotnet --version
-      runHook postBuild
-    '';
-
-    dontPatchELF = true;
-
-    installPhase = ''
-      runHook preInstall
-      mkdir -p $out/bin
-      cp -r ./ $out
-      ln -s $out/dotnet $out/bin/dotnet
-      runHook postInstall
-    '';
-
-    meta = with stdenv.lib; {
-      homepage = https://dotnet.github.io/;
-      description = ".NET Core SDK ${version} with .NET Core ${netCoreVersion}";
-      platforms = [ "x86_64-linux" ];
-      maintainers = with maintainers; [ kuznero ];
-      license = licenses.mit;
-    };
-  }
diff --git a/pkgs/development/compilers/ghc/8.8.2.nix b/pkgs/development/compilers/ghc/8.8.2.nix
index 4ed99a8402a..b0eef9ef924 100644
--- a/pkgs/development/compilers/ghc/8.8.2.nix
+++ b/pkgs/development/compilers/ghc/8.8.2.nix
@@ -86,12 +86,12 @@ let
 
 in
 stdenv.mkDerivation (rec {
-  version = "8.8.1.20191211";
+  version = "8.8.2";
   name = "${targetPrefix}ghc-${version}";
 
   src = fetchurl {
-    url = "https://downloads.haskell.org/ghc/8.8.2-rc1/ghc-${version}-src.tar.xz";
-    sha256 = "1gl4fzakjbhd94v1saxmr9sfzgk22m1b95jq51rxm93b2g4cixl4";
+    url = "https://downloads.haskell.org/ghc/8.8.2/ghc-${version}-src.tar.xz";
+    sha256 = "02qa6wgjpxgakg7hv4zfdlrx9k7zxa5i02wnr6y9fsv8j16sbkh1";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/purescript/purescript/default.nix b/pkgs/development/compilers/purescript/purescript/default.nix
index f1126fdeddf..d1797a448ad 100644
--- a/pkgs/development/compilers/purescript/purescript/default.nix
+++ b/pkgs/development/compilers/purescript/purescript/default.nix
@@ -18,19 +18,19 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "purescript";
-  version = "0.13.5";
+  version = "0.13.6";
 
   src =
     if stdenv.isDarwin
     then
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz";
-      sha256 = "19bb50m0cd738r353blgy21d842b3yj58xfbplk7bz59jawj9lym";
+      sha256 = "04kwjjrriyizpvhs96jgyx21ppyd1ynblk24i5825ywxlw9hja25";
     }
     else
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz";
-      sha256 = "016wvwypgb4859f0n1lqsqv9a8cca2y8g7d6ffvzx6rncd115gxi";
+      sha256 = "012znrj32aq96qh1g2hscdvhl3flgihhimiz40agk0dykpksblns";
     };
 
 
@@ -59,7 +59,7 @@ in stdenv.mkDerivation rec {
     description = "A strongly-typed functional programming language that compiles to JavaScript";
     homepage = http://www.purescript.org/;
     license = licenses.bsd3;
-    maintainers = [ maintainers.justinwoo ];
+    maintainers = [ maintainers.justinwoo maintainers.mbbx6spp ];
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index f28bf4bb707..5605af97ddc 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -1052,17 +1052,17 @@ self: super: {
   # This raises the lower bound on prettyprinter to 1.5.1 since
   # `removeTrailingWhitespace` is buggy in earlier versions.
   # This will probably be able to be removed when we update to LTS-15.
-  dhall_1_28_0 =
-    dontCheck (super.dhall_1_28_0.override {
+  dhall_1_29_0 =
+    dontCheck (super.dhall_1_29_0.override {
       prettyprinter = self.prettyprinter_1_5_1;
       prettyprinter-ansi-terminal =
         self.prettyprinter-ansi-terminal.override {
           prettyprinter = self.prettyprinter_1_5_1;
         };
     });
-  dhall-bash_1_0_25 = super.dhall-bash_1_0_25.override { dhall = self.dhall_1_28_0; };
-  dhall-json_1_6_0 = super.dhall-json_1_6_0.override {
-    dhall = self.dhall_1_28_0;
+  dhall-bash_1_0_27 = super.dhall-bash_1_0_27.override { dhall = self.dhall_1_29_0; };
+  dhall-json_1_6_1 = super.dhall-json_1_6_1.override {
+    dhall = self.dhall_1_29_0;
     prettyprinter = self.prettyprinter_1_5_1;
     prettyprinter-ansi-terminal =
       self.prettyprinter-ansi-terminal.override {
@@ -1228,8 +1228,7 @@ self: super: {
   temporary-resourcet = doJailbreak super.temporary-resourcet;
 
   # Requires dhall >= 1.23.0
-  ats-pkg = super.ats-pkg.override { dhall = self.dhall_1_28_0; };
-  dhall-to-cabal = super.dhall-to-cabal.override { dhall = self.dhall_1_28_0; };
+  ats-pkg = super.ats-pkg.override { dhall = self.dhall_1_29_0; };
 
   # Test suite doesn't work with current QuickCheck
   # https://github.com/pruvisto/heap/issues/11
@@ -1239,7 +1238,7 @@ self: super: {
   constraints-deriving = dontCheck super.constraints-deriving;
 
   # need newer version of ghc-libparser
-  hlint = super.hlint.override { ghc-lib-parser = self.ghc-lib-parser_8_8_1_20191204; };
+  hlint = super.hlint.override { ghc-lib-parser = self.ghc-lib-parser_8_8_2; };
 
   # https://github.com/sol/hpack/issues/366
   hpack = self.hpack_0_33_0;
@@ -1363,7 +1362,7 @@ self: super: {
 
   # Needs ghc-lib-parser 8.8.1 (does not build with 8.8.0)
   ormolu = doJailbreak (super.ormolu.override {
-    ghc-lib-parser = self.ghc-lib-parser_8_8_1_20191204;
+    ghc-lib-parser = self.ghc-lib-parser_8_8_2;
   });
 
   # krank-0.1.0 does not accept PyF-0.9.0.0.
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
index ab8966ce590..7198ed5ff19 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
@@ -105,6 +105,7 @@ self: super: {
   skylighting = self.skylighting_0_8_3;
   skylighting-core = self.skylighting-core_0_8_3;
   sop-core = self.sop-core_0_5_0_0;
+  tls-session-manager = self.tls-session-manager_0_0_4;
   texmath = self.texmath_0_12;
   th-desugar = self.th-desugar_1_10;
   tls = self.tls_1_5_3;
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 2d144651bc0..a72ee71af3a 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -67,6 +67,8 @@ core-packages:
 # comment saying "# LTS Haskell x.y". Any changes after that commend will be
 # lost the next time `update-stackage.sh` runs.
 default-package-overrides:
+  # pandoc-2.9 does not accept the 0.3 version yet
+  - doclayout < 0.3
   # LTS Haskell 14.20
   - abstract-deque ==0.3
   - abstract-deque-tests ==0.3
@@ -1198,6 +1200,8 @@ default-package-overrides:
   - l10n ==0.1.0.1
   - labels ==0.3.3
   - lackey ==1.0.10
+  - lambdabot-core ==5.2
+  - lambdabot-irc-plugins ==5.2
   - LambdaHack ==0.9.5.0
   - lame ==0.2.0
   - language-c ==0.8.3
@@ -2510,6 +2514,7 @@ extra-packages:
   - dbus <1                             # for xmonad-0.26
   - deepseq == 1.3.0.1                  # required to build Cabal with GHC 6.12.3
   - dhall == 1.27.0                     # required for spago 0.13.0.  Probably can be removed when next version of spago is available.
+  - doctemplates == 0.8                 # required by pandoc-2.9.x
   - generic-deriving == 1.10.5.*        # new versions don't compile with GHC 7.10.x
   - gloss < 1.9.3                       # new versions don't compile with GHC 7.8.x
   - haddock == 2.22.*                   # required on GHC 8.0.x
@@ -2776,6 +2781,7 @@ broken-packages:
   - accelerate-fftw
   - accelerate-fourier
   - accelerate-kullback-liebler
+  - accelerate-llvm
   - accelerate-llvm-native
   - accelerate-random
   - accelerate-typelits
@@ -2882,6 +2888,7 @@ broken-packages:
   - algebra
   - algebra-sql
   - algebraic
+  - algebraic-classes
   - algebraic-graphs
   - algebraic-prelude
   - algo-s
@@ -2910,6 +2917,7 @@ broken-packages:
   - AMI
   - ampersand
   - amqp-conduit
+  - amqp-utils
   - analyze
   - analyze-client
   - anansi-pandoc
@@ -3012,6 +3020,7 @@ broken-packages:
   - ariadne
   - arion
   - arith-encode
+  - arithmetic-circuits
   - armada
   - armor
   - arpa
@@ -3105,6 +3114,7 @@ broken-packages:
   - avl-static
   - AvlTree
   - avr-shake
+  - avro-piper
   - awesome-prelude
   - awesomium
   - awesomium-glut
@@ -4241,6 +4251,7 @@ broken-packages:
   - dictionaries
   - dictparser
   - diet
+  - diff
   - diffcabal
   - difference-monoid
   - DifferenceLogic
@@ -4460,6 +4471,7 @@ broken-packages:
   - elevator
   - elision
   - elliptic-curve
+  - elm-street
   - elm-websocket
   - elsa
   - elynx-seq
@@ -4496,6 +4508,7 @@ broken-packages:
   - EnumMap
   - enummapmap
   - enummapset-th
+  - env-extra
   - env-parser
   - envstatus
   - epanet-haskell
@@ -4572,6 +4585,7 @@ broken-packages:
   - exact-real
   - exact-real-positional
   - except-exceptions
+  - exception-hierarchy
   - exception-monads-fd
   - exchangerates
   - execs
@@ -4602,6 +4616,7 @@ broken-packages:
   - extended-categories
   - extensible-data
   - extensible-effects-concurrent
+  - extensible-skeleton
   - Extra
   - extract-dependencies
   - extractelf
@@ -4837,6 +4852,7 @@ broken-packages:
   - freddy
   - free-category
   - free-concurrent
+  - free-functors
   - free-game
   - free-http
   - free-operational
@@ -5039,6 +5055,7 @@ broken-packages:
   - ghci-lib
   - ghci-ng
   - ghci-pretty
+  - ghcide
   - ghcjs-base-stub
   - ghcjs-dom-jsffi
   - ghcjs-fetch
@@ -5049,6 +5066,7 @@ broken-packages:
   - ghcprofview
   - ght
   - gi-cairo-again
+  - gi-gdkx11
   - gi-graphene
   - gi-gsk
   - gi-gstpbutils
@@ -5074,6 +5092,7 @@ broken-packages:
   - git-fmt
   - git-gpush
   - git-jump
+  - git-mediate
   - git-object
   - git-remote-ipfs
   - git-repair
@@ -5247,6 +5266,7 @@ broken-packages:
   - gstreamer
   - GTALib
   - gtfs
+  - gtfs-realtime
   - gtk-serialized-event
   - gtk-toy
   - gtk2hs-hello
@@ -5493,6 +5513,7 @@ broken-packages:
   - haskell-src-exts-prisms
   - haskell-src-exts-qq
   - haskell-src-exts-sc
+  - haskell-src-exts-simple
   - haskell-src-meta-mwotton
   - haskell-stack-trace-plugin
   - haskell-token-utils
@@ -5784,6 +5805,7 @@ broken-packages:
   - hiccup
   - hichi
   - hid-examples
+  - hie-bios
   - hie-core
   - hieraclus
   - hierarchical-clustering
@@ -5969,6 +5991,7 @@ broken-packages:
   - hpaste
   - hpasteit
   - HPath
+  - hpath-io
   - hpc-tracer
   - hPDB
   - hPDB-examples
@@ -6221,6 +6244,8 @@ broken-packages:
   - http-shed
   - http-streams
   - http-wget
+  - http2-client
+  - http2-client-exe
   - http2-client-grpc
   - http2-grpc-proto3-wire
   - https-everywhere-rules
@@ -6248,6 +6273,7 @@ broken-packages:
   - hunt-searchengine
   - hunt-server
   - hurdle
+  - hurl
   - hurriyet
   - husk-scheme
   - husk-scheme-libs
@@ -6411,6 +6437,7 @@ broken-packages:
   - indieweb-algorithms
   - inf-interval
   - infer-upstream
+  - infernal
   - infernu
   - infinity
   - infix
@@ -6433,6 +6460,7 @@ broken-packages:
   - instapaper-sender
   - instinct
   - int-multimap
+  - intcode
   - integer-pure
   - integreat
   - intel-aes
@@ -6845,6 +6873,7 @@ broken-packages:
   - Level0
   - levmar
   - levmar-chart
+  - lex-applicative
   - lfst
   - lgtk
   - lha
@@ -6960,6 +6989,7 @@ broken-packages:
   - llvm-general
   - llvm-general-pure
   - llvm-general-quote
+  - llvm-hs
   - llvm-hs-pretty
   - llvm-ht
   - llvm-pkg-config
@@ -7411,6 +7441,9 @@ broken-packages:
   - mtl-tf
   - mtlx
   - mtp
+  - mu-grpc-client
+  - mu-grpc-server
+  - mu-protobuf
   - MuCheck
   - MuCheck-Hspec
   - MuCheck-HUnit
@@ -7547,6 +7580,7 @@ broken-packages:
   - network-anonymous-tor
   - network-api-support
   - network-arbitrary
+  - network-bitcoin
   - network-builder
   - network-bytestring
   - network-connection
@@ -7790,6 +7824,7 @@ broken-packages:
   - Paillier
   - pairing
   - pam
+  - pan-os-syslog
   - panda
   - pandoc-citeproc-preamble
   - pandoc-crossref
@@ -7830,6 +7865,7 @@ broken-packages:
   - parco-parsec
   - parconc-examples
   - pareto
+  - parquet-hs
   - Parry
   - parse-help
   - parseargs
@@ -8135,6 +8171,7 @@ broken-packages:
   - presto-hdbc
   - pretty-ncols
   - pretty-relative-time
+  - prettyprinter-graphviz
   - prettyprinter-vty
   - preview
   - prim-array
@@ -8386,6 +8423,7 @@ broken-packages:
   - reactive-glut
   - reactive-thread
   - reactor
+  - read-ctags
   - read-io
   - reader-soup
   - readline-statevar
@@ -8429,10 +8467,13 @@ broken-packages:
   - reflex-basic-host
   - reflex-dom-retractable
   - reflex-dom-svg
+  - reflex-fsnotify
+  - reflex-ghci
   - reflex-gloss
   - reflex-gloss-scene
   - reflex-libtelnet
   - reflex-orphans
+  - reflex-process
   - reflex-sdl2
   - reflex-transformers
   - reflex-vty
@@ -8445,6 +8486,7 @@ broken-packages:
   - reg-alloc-graph-color
   - regex-deriv
   - regex-dfa
+  - regex-do
   - regex-generator
   - regex-parsec
   - regex-pderiv
@@ -8760,6 +8802,7 @@ broken-packages:
   - seclib
   - second-transfer
   - secp256k1
+  - secp256k1-haskell
   - secp256k1-legacy
   - secret-santa
   - secret-sharing
@@ -8924,6 +8967,7 @@ broken-packages:
   - shellmate-extras
   - shh
   - shh-extras
+  - shine-examples
   - shivers-cfg
   - shoap
   - shopify
@@ -8979,6 +9023,7 @@ broken-packages:
   - simplenote
   - simpleprelude
   - SimpleServer
+  - simplest-sqlite
   - simseq
   - singleton-dict
   - singleton-typelits
@@ -9313,6 +9358,7 @@ broken-packages:
   - streaming-postgresql-simple
   - streaming-process
   - streaming-sort
+  - streamly-fsnotify
   - strelka
   - strict-data
   - StrictBench
@@ -9435,6 +9481,7 @@ broken-packages:
   - Tablify
   - tabloid
   - tabs
+  - taffybar
   - tag-bits
   - tag-stream
   - tagged-exception-core
@@ -9600,6 +9647,7 @@ broken-packages:
   - thumbnail-plus
   - thumbnail-polish
   - tic-tac-toe
+  - ticker
   - tickle
   - TicTacToe
   - tictactoe3d
@@ -9659,6 +9707,7 @@ broken-packages:
   - todos
   - tofromxml
   - toilet
+  - token-search
   - tokenify
   - tokstyle
   - toktok
@@ -9748,6 +9797,7 @@ broken-packages:
   - tripLL
   - trivia
   - tropical
+  - tropical-geometry
   - truelevel
   - trurl
   - tsession
@@ -9981,7 +10031,9 @@ broken-packages:
   - vcsgui
   - vcswrapper
   - Vec-Boolean
+  - vec-lens
   - Vec-OpenGLRaw
+  - vec-optics
   - Vec-Transform
   - vect-floating
   - vect-floating-accelerate
@@ -10102,6 +10154,7 @@ broken-packages:
   - warp-dynamic
   - warp-grpc
   - warp-static
+  - warp-systemd
   - WashNGo
   - wasm
   - watcher
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index 5410fccf0bb..c93fc5b7e45 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -1,5 +1,6 @@
 { stdenv, buildPackages, buildHaskellPackages, ghc
-, jailbreak-cabal, hscolour, cpphs, nodejs, shellFor
+, jailbreak-cabal, hscolour, cpphs, nodejs
+, ghcWithHoogle, ghcWithPackages
 }:
 
 let
@@ -206,21 +207,28 @@ let
                         optionals doCheck testPkgconfigDepends ++ optionals doBenchmark benchmarkPkgconfigDepends;
 
   depsBuildBuild = [ nativeGhc ];
-  nativeBuildInputs = [ ghc removeReferencesTo ] ++ optional (allPkgconfigDepends != []) pkgconfig ++
-                      setupHaskellDepends ++
-                      buildTools ++ libraryToolDepends ++ executableToolDepends ++
-                      optionals doCheck testToolDepends ++
-                      optionals doBenchmark benchmarkToolDepends;
+  collectedToolDepends =
+    buildTools ++ libraryToolDepends ++ executableToolDepends ++
+    optionals doCheck testToolDepends ++
+    optionals doBenchmark benchmarkToolDepends;
+  nativeBuildInputs =
+    [ ghc removeReferencesTo ] ++ optional (allPkgconfigDepends != []) pkgconfig ++
+    setupHaskellDepends ++ collectedToolDepends;
   propagatedBuildInputs = buildDepends ++ libraryHaskellDepends ++ executableHaskellDepends ++ libraryFrameworkDepends;
-  otherBuildInputs = extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++ executableFrameworkDepends ++
-                     allPkgconfigDepends ++
-                     optionals doCheck (testDepends ++ testHaskellDepends ++ testSystemDepends ++ testFrameworkDepends) ++
-                     optionals doBenchmark (benchmarkDepends ++ benchmarkHaskellDepends ++ benchmarkSystemDepends ++ benchmarkFrameworkDepends);
-
-
-  allBuildInputs = propagatedBuildInputs ++ otherBuildInputs ++ depsBuildBuild ++ nativeBuildInputs;
-  isHaskellPartition =
-    stdenv.lib.partition isHaskellPkg allBuildInputs;
+  otherBuildInputsHaskell =
+    optionals doCheck (testDepends ++ testHaskellDepends) ++
+    optionals doBenchmark (benchmarkDepends ++ benchmarkHaskellDepends);
+  otherBuildInputsSystem =
+    extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++ executableFrameworkDepends ++
+    allPkgconfigDepends ++
+    optionals doCheck (testSystemDepends ++ testFrameworkDepends) ++
+    optionals doBenchmark (benchmarkSystemDepends ++ benchmarkFrameworkDepends);
+  # TODO next rebuild just define as `otherBuildInputsHaskell ++ otherBuildInputsSystem`
+  otherBuildInputs =
+    extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++ executableFrameworkDepends ++
+    allPkgconfigDepends ++
+    optionals doCheck (testDepends ++ testHaskellDepends ++ testSystemDepends ++ testFrameworkDepends) ++
+    optionals doBenchmark (benchmarkDepends ++ benchmarkHaskellDepends ++ benchmarkSystemDepends ++ benchmarkFrameworkDepends);
 
   setupCommand = "./Setup";
 
@@ -462,17 +470,61 @@ stdenv.mkDerivation ({
     runHook postInstall
   '';
 
-  passthru = passthru // {
+  passthru = passthru // rec {
 
     inherit pname version;
 
     compiler = ghc;
 
+    # All this information is intended just for `shellFor`.  It should be
+    # considered unstable and indeed we knew how to keep it private we would.
+    getCabalDeps = {
+      inherit
+        buildDepends
+        buildTools
+        executableFrameworkDepends
+        executableHaskellDepends
+        executablePkgconfigDepends
+        executableSystemDepends
+        executableToolDepends
+        extraLibraries
+        libraryFrameworkDepends
+        libraryHaskellDepends
+        libraryPkgconfigDepends
+        librarySystemDepends
+        libraryToolDepends
+        pkgconfigDepends
+        setupHaskellDepends
+        ;
+    } // stdenv.lib.optionalAttrs doCheck {
+      inherit
+        testDepends
+        testFrameworkDepends
+        testHaskellDepends
+        testPkgconfigDepends
+        testSystemDepends
+        testToolDepends
+        ;
+    } // stdenv.lib.optionalAttrs doBenchmark {
+      inherit
+        benchmarkDepends
+        benchmarkFrameworkDepends
+        benchmarkHaskellDepends
+        benchmarkPkgconfigDepends
+        benchmarkSystemDepends
+        benchmarkToolDepends
+        ;
+    };
 
-    getBuildInputs = {
+    # Attributes for the old definition of `shellFor`. Should be removed but
+    # this predates the warning at the top of `getCabalDeps`.
+    getBuildInputs = rec {
       inherit propagatedBuildInputs otherBuildInputs allPkgconfigDepends;
       haskellBuildInputs = isHaskellPartition.right;
       systemBuildInputs = isHaskellPartition.wrong;
+      isHaskellPartition = stdenv.lib.partition
+        isHaskellPkg
+        (propagatedBuildInputs ++ otherBuildInputs ++ depsBuildBuild ++ nativeBuildInputs);
     };
 
     isHaskellLibrary = isLibrary;
@@ -485,10 +537,64 @@ stdenv.mkDerivation ({
     # TODO: fetch the self from the fixpoint instead
     haddockDir = self: if doHaddock then "${docdir self.doc}/html" else null;
 
-    env = shellFor {
-      packages = p: [ drv ];
-      inherit shellHook;
-    };
+    # Creates a derivation containing all of the necessary dependencies for building the
+    # parent derivation. The attribute set that it takes as input can be viewed as:
+    #
+    #    { withHoogle }
+    #
+    # The derivation that it builds contains no outpaths because it is meant for use
+    # as an environment
+    #
+    #   # Example use
+    #   # Creates a shell with all of the dependencies required to build the "hello" package,
+    #   # and with python:
+    #
+    #   > nix-shell -E 'with (import <nixpkgs> {}); \
+    #   >    haskell.packages.ghc865.hello.envFunc { buildInputs = [ python ]; }'
+    envFunc = { withHoogle ? false }:
+      let
+        name = "ghc-shell-for-${drv.name}";
+
+        withPackages = if withHoogle then ghcWithHoogle else ghcWithPackages;
+
+        # We use the `ghcWithPackages` function from `buildHaskellPackages` if we
+        # want a shell for the sake of cross compiling a package. In the native case
+        # we don't use this at all, and instead put the setupDepends in the main
+        # `ghcWithPackages`. This way we don't have two wrapper scripts called `ghc`
+        # shadowing each other on the PATH.
+        ghcEnvForBuild =
+          assert isCross;
+          buildHaskellPackages.ghcWithPackages (_: setupHaskellDepends);
+
+        ghcEnv = withPackages (_:
+          otherBuildInputsHaskell ++
+          propagatedBuildInputs ++
+          stdenv.lib.optionals (!isCross) setupHaskellDepends);
+
+        ghcCommandCaps = stdenv.lib.toUpper ghcCommand';
+      in stdenv.mkDerivation ({
+        inherit name shellHook;
+
+        depsBuildBuild = stdenv.lib.optional isCross ghcEnvForBuild;
+        nativeBuildInputs =
+          [ ghcEnv ] ++ optional (allPkgconfigDepends != []) pkgconfig ++
+          collectedToolDepends;
+        buildInputs =
+          otherBuildInputsSystem;
+        phases = ["installPhase"];
+        installPhase = "echo $nativeBuildInputs $buildInputs > $out";
+        LANG = "en_US.UTF-8";
+        LOCALE_ARCHIVE = stdenv.lib.optionalString (stdenv.hostPlatform.libc == "glibc") "${buildPackages.glibcLocales}/lib/locale/locale-archive";
+        "NIX_${ghcCommandCaps}" = "${ghcEnv}/bin/${ghcCommand}";
+        "NIX_${ghcCommandCaps}PKG" = "${ghcEnv}/bin/${ghcCommand}-pkg";
+        # TODO: is this still valid?
+        "NIX_${ghcCommandCaps}_DOCDIR" = "${ghcEnv}/share/doc/ghc/html";
+        "NIX_${ghcCommandCaps}_LIBDIR" = if ghc.isHaLVM or false
+          then "${ghcEnv}/lib/HaLVM-${ghc.version}"
+          else "${ghcEnv}/lib/${ghcCommand}-${ghc.version}";
+      });
+
+    env = envFunc { };
 
   };
 
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 0d2cce19bf7..9de3c0c3170 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -3226,6 +3226,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) libdevil;};
 
+  "Color" = callPackage
+    ({ mkDerivation, base, Cabal, cabal-doctest, colour, criterion
+     , data-default-class, deepseq, doctest, hspec, HUnit, QuickCheck
+     , random, template-haskell, vector
+     }:
+     mkDerivation {
+       pname = "Color";
+       version = "0.1.1";
+       sha256 = "0jwqyvch7mpg83q57c50qc0visgc0nav6ihb8gr81wdp8i3f680k";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [ base data-default-class deepseq vector ];
+       testHaskellDepends = [
+         base colour doctest hspec HUnit QuickCheck random template-haskell
+         vector
+       ];
+       benchmarkHaskellDepends = [ base colour criterion deepseq random ];
+       description = "Color spaces and conversions between them";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "Combinatorrent" = callPackage
     ({ mkDerivation, array, attoparsec, base, bytestring, cereal
      , containers, deepseq, directory, filepath, hopenssl, hslogger
@@ -6351,8 +6371,8 @@ self: {
      }:
      mkDerivation {
        pname = "Frames-dsv";
-       version = "0.1.1";
-       sha256 = "0932k8aqn9c08ijbs29g04gcka441gg424g90cqd4ky9b3yxzm7w";
+       version = "0.1.2";
+       sha256 = "0zdcbysiai7lskm8lmf454022ad0kgwl0v0kzj9596fvbdx0gdi2";
        libraryHaskellDepends = [
          base bytestring Frames hw-dsv pipes template-haskell text vector
          vinyl
@@ -14942,8 +14962,8 @@ self: {
     ({ mkDerivation, base, hashable, syb }:
      mkDerivation {
        pname = "OptDir";
-       version = "0.0.3";
-       sha256 = "1bb5s57d3wyr9rd275jl0sk85yisl1dpbz042yg7pksv5l0xal0q";
+       version = "0.0.4";
+       sha256 = "07l2fagp60ykhsr3dxclkfgg1pxawj2xf0wxrn3dksjdlx0hg5j5";
        libraryHaskellDepends = [ base hashable syb ];
        description = "The OptDir type for representing optimization directions";
        license = stdenv.lib.licenses.bsd3;
@@ -21940,6 +21960,8 @@ self: {
        ];
        description = "Accelerate backend component generating LLVM IR";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "accelerate-llvm-native" = callPackage
@@ -25066,6 +25088,8 @@ self: {
        libraryHaskellDepends = [ base syb template-haskell ];
        description = "Conversions between algebraic classes and F-algebras";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "algebraic-graphs" = callPackage
@@ -28216,7 +28240,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "amqp_0_19_0" = callPackage
+  "amqp_0_19_1" = callPackage
     ({ mkDerivation, base, binary, bytestring, clock, connection
      , containers, data-binary-ieee754, hspec, hspec-expectations
      , monad-control, network, network-uri, split, stm, text, vector
@@ -28224,8 +28248,8 @@ self: {
      }:
      mkDerivation {
        pname = "amqp";
-       version = "0.19.0";
-       sha256 = "1v2jwf9y6mw9f89a9ca66p42da8g5n1ain89gjr7sv6v6r2jxinj";
+       version = "0.19.1";
+       sha256 = "1802gngl74niszw355caf6x41ayfvyg2hpbckgshp7rlhfqdjabj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -28284,6 +28308,8 @@ self: {
        ];
        description = "Generic Haskell AMQP tools";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "amqp-worker" = callPackage
@@ -28318,8 +28344,8 @@ self: {
     ({ mkDerivation, base, deepseq, parsec }:
      mkDerivation {
        pname = "amrun";
-       version = "0.0.0.6";
-       sha256 = "01hnjzlww282hjlc6vbn51qps577hx4ll3pz4g5kn0r4h2bylad9";
+       version = "0.0.0.7";
+       sha256 = "13mc0vq51nhg3n7ff1k2045a9zkg3l5a3hr3wnz7ybfw8j457g78";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base deepseq parsec ];
@@ -29761,13 +29787,18 @@ self: {
      }:
      mkDerivation {
        pname = "api-rpc-pegnet";
-       version = "0.1.0.0";
-       sha256 = "14jb78bkdd8ywwnks3pvi8ynagsri938znyh9ylvyr5mph9ngmnc";
+       version = "0.1.1.2";
+       sha256 = "16f7849awll42w58zznf11dri3p2snd4p7cb87ygsrdx1f96gxp6";
        libraryHaskellDepends = [
          aeson aeson-casing base bytestring http-client http-client-tls
          http-conduit json-alt network remote-json remote-json-client
          remote-monad text time transformers
        ];
+       testHaskellDepends = [
+         aeson aeson-casing base bytestring http-client http-client-tls
+         http-conduit json-alt network remote-json remote-json-client
+         remote-monad text time transformers
+       ];
        description = "simple json-rpc client for PegNet";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -30155,8 +30186,8 @@ self: {
      }:
      mkDerivation {
        pname = "apns-http2";
-       version = "0.1.0.0";
-       sha256 = "1mbsvv202h6vh1gkv4rhx369wagil111qbphb502v02v2g5yibdb";
+       version = "0.1.1.0";
+       sha256 = "1hwybh3c6drqji34x7zwr68l642018ajrdzs4711dxws0ib63jrw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -30880,15 +30911,17 @@ self: {
      }) {debian-mirror = null; help = null;};
 
   "archive-libarchive" = callPackage
-    ({ mkDerivation, base, bytestring, composition-prelude, libarchive
+    ({ mkDerivation, base, bytestring, composition-prelude, cpphs
+     , libarchive
      }:
      mkDerivation {
        pname = "archive-libarchive";
-       version = "0.2.0.0";
-       sha256 = "0gy52dw00b110f5nc6gbnfgs5nssv7r8az1vy8xr1xj1dnpjwb74";
+       version = "0.2.2.0";
+       sha256 = "0gxhfimfyz4ik8qrin9hf70rmgdalrgc2dark6pp3xnkv1hnxw8r";
        libraryHaskellDepends = [
          base bytestring composition-prelude libarchive
        ];
+       libraryToolDepends = [ cpphs ];
        description = "Common interface using libarchive";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -30901,8 +30934,8 @@ self: {
      }:
      mkDerivation {
        pname = "archive-sig";
-       version = "0.2.1.2";
-       sha256 = "03fwzl7pkb025adzv1jzh96k0h91b1w7arxza7q53i492n96qg8i";
+       version = "0.2.2.0";
+       sha256 = "1dia7j8kqjps6s67xd25fqd21wvnsp89lcvkyabvr47skfjaag3l";
        libraryHaskellDepends = [
          base bytestring composition-prelude dir-traverse
        ];
@@ -30911,14 +30944,16 @@ self: {
      }) {};
 
   "archive-tar" = callPackage
-    ({ mkDerivation, base, bytestring, composition-prelude, tar }:
+    ({ mkDerivation, base, bytestring, composition-prelude, cpphs, tar
+     }:
      mkDerivation {
        pname = "archive-tar";
-       version = "0.2.0.0";
-       sha256 = "0svbxr9734ysskilv5kvhfd7s436spn149pb5bcsq3hjz1zq5xq7";
+       version = "0.2.2.0";
+       sha256 = "1rvygznl8vwsbbdr0rin925w380c3ncqf486pdzy8jx62naip02q";
        libraryHaskellDepends = [
          base bytestring composition-prelude tar
        ];
+       libraryToolDepends = [ cpphs ];
        description = "Common interface using the tar package";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -31287,6 +31322,42 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "arithmetic-circuits" = callPackage
+    ({ mkDerivation, aeson, base, bulletproofs, containers, criterion
+     , elliptic-curve, filepath, galois-fft, galois-field
+     , markdown-unlit, MonadRandom, pairing, poly, process-extras
+     , protolude, QuickCheck, quickcheck-instances, semirings, tasty
+     , tasty-discover, tasty-hunit, tasty-quickcheck, text, vector
+     , wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "arithmetic-circuits";
+       version = "0.2.0";
+       sha256 = "09fqcg8302dklzlr3fqlac09zzfws3li45nri4cd886cx8b1vzzq";
+       libraryHaskellDepends = [
+         aeson base bulletproofs containers elliptic-curve filepath
+         galois-fft galois-field MonadRandom poly process-extras protolude
+         semirings text vector wl-pprint-text
+       ];
+       testHaskellDepends = [
+         aeson base bulletproofs containers elliptic-curve filepath
+         galois-fft galois-field markdown-unlit MonadRandom pairing poly
+         process-extras protolude QuickCheck quickcheck-instances semirings
+         tasty tasty-discover tasty-hunit tasty-quickcheck text vector
+         wl-pprint-text
+       ];
+       testToolDepends = [ markdown-unlit tasty-discover ];
+       benchmarkHaskellDepends = [
+         aeson base bulletproofs containers criterion elliptic-curve
+         filepath galois-fft galois-field MonadRandom pairing poly
+         process-extras protolude semirings text vector wl-pprint-text
+       ];
+       description = "Arithmetic circuits for zkSNARKs";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "arithmoi" = callPackage
     ({ mkDerivation, array, base, containers, deepseq, exact-pi, gauge
      , ghc-prim, integer-gmp, integer-logarithms, QuickCheck, random
@@ -32062,6 +32133,48 @@ self: {
        broken = true;
      }) {};
 
+  "asif_6_0_4" = callPackage
+    ({ mkDerivation, attoparsec, base, binary, bytestring, conduit
+     , conduit-combinators, conduit-extra, containers, cpu, directory
+     , doctest, doctest-discover, either, exceptions, foldl
+     , generic-lens, hedgehog, hspec, hspec-discover, hw-bits
+     , hw-hspec-hedgehog, hw-ip, lens, network, old-locale
+     , optparse-applicative, profunctors, resourcet, temporary-resourcet
+     , text, thyme, transformers, vector
+     }:
+     mkDerivation {
+       pname = "asif";
+       version = "6.0.4";
+       sha256 = "1613r90sfw7q0gsiyjd8j9s1gcjmwj4lsngx3qqpykcivy2ggs03";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         attoparsec base binary bytestring conduit conduit-combinators
+         conduit-extra containers cpu either exceptions foldl generic-lens
+         hw-bits hw-ip lens network old-locale profunctors resourcet
+         temporary-resourcet text thyme transformers vector
+       ];
+       executableHaskellDepends = [
+         attoparsec base binary bytestring conduit conduit-combinators
+         conduit-extra containers cpu directory either exceptions foldl
+         generic-lens hw-bits hw-ip lens network old-locale
+         optparse-applicative profunctors resourcet temporary-resourcet text
+         thyme transformers vector
+       ];
+       testHaskellDepends = [
+         attoparsec base binary bytestring conduit conduit-combinators
+         conduit-extra containers cpu doctest doctest-discover either
+         exceptions foldl generic-lens hedgehog hspec hw-bits
+         hw-hspec-hedgehog hw-ip lens network old-locale profunctors
+         resourcet temporary-resourcet text thyme transformers vector
+       ];
+       testToolDepends = [ doctest-discover hspec-discover ];
+       description = "Library for creating and querying segmented feeds";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "asil" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , data-binary-ieee754, directory, filepath, haskell-src-exts, mtl
@@ -34264,6 +34377,43 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "avro_0_4_6_0" = callPackage
+    ({ mkDerivation, aeson, array, base, base16-bytestring, bifunctors
+     , binary, bytestring, containers, data-binary-ieee754, deepseq
+     , directory, doctest, doctest-discover, extra, fail, gauge
+     , hashable, hspec, hspec-discover, lens, lens-aeson, mtl
+     , QuickCheck, random, raw-strings-qq, scientific, semigroups
+     , tagged, template-haskell, text, tf-random, transformers
+     , unordered-containers, vector, zlib
+     }:
+     mkDerivation {
+       pname = "avro";
+       version = "0.4.6.0";
+       sha256 = "127w8pny2ah05wa44khqs53vdyh54jlxvihxhpqk94wx8ggg00vx";
+       libraryHaskellDepends = [
+         aeson array base base16-bytestring bifunctors binary bytestring
+         containers data-binary-ieee754 deepseq fail hashable mtl scientific
+         semigroups tagged template-haskell text tf-random
+         unordered-containers vector zlib
+       ];
+       testHaskellDepends = [
+         aeson array base base16-bytestring bifunctors binary bytestring
+         containers directory doctest doctest-discover extra fail hashable
+         hspec lens lens-aeson mtl QuickCheck raw-strings-qq scientific
+         semigroups tagged template-haskell text tf-random transformers
+         unordered-containers vector zlib
+       ];
+       testToolDepends = [ doctest-discover hspec-discover ];
+       benchmarkHaskellDepends = [
+         aeson base bytestring containers gauge hashable mtl random
+         raw-strings-qq template-haskell text transformers
+         unordered-containers vector
+       ];
+       description = "Avro serialization support for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "avro-piper" = callPackage
     ({ mkDerivation, aeson, avro, base, bytestring, conduit
      , conduit-combinators, conduit-extra, hedgehog, hspec
@@ -34272,8 +34422,8 @@ self: {
      }:
      mkDerivation {
        pname = "avro-piper";
-       version = "1.0.2";
-       sha256 = "17pygij07wg9583yxkhw7zc43ik7zjgb5ncx4hsksknawax83mza";
+       version = "1.0.3";
+       sha256 = "1vi0mgpqpr74ankl8418npklyfxacxg001vppps22p2da97s3pk1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -34294,6 +34444,8 @@ self: {
        ];
        description = "Tool for decoding avro";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "avwx" = callPackage
@@ -34813,6 +34965,25 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
+  "aws-lambda-haskell-runtime_2_0_3" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, hspec, http-client
+     , http-types, path, path-io, safe-exceptions-checked
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "aws-lambda-haskell-runtime";
+       version = "2.0.3";
+       sha256 = "1ycqwmpgqzdb8kz3w6yzf44id32pc3vin1w3j0klzzg2k51l4nnr";
+       libraryHaskellDepends = [
+         aeson base bytestring http-client http-types path path-io
+         safe-exceptions-checked template-haskell text
+       ];
+       testHaskellDepends = [ base hspec ];
+       description = "Haskell runtime for AWS Lambda";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "aws-lambda-runtime" = callPackage
     ({ mkDerivation, aeson, async, base, base-compat, bytestring
      , containers, deepseq, filepath, http-client, http-media
@@ -35835,6 +36006,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "barbies_2_0_0_0" = callPackage
+    ({ mkDerivation, base, QuickCheck, tasty, tasty-hunit
+     , tasty-quickcheck, transformers
+     }:
+     mkDerivation {
+       pname = "barbies";
+       version = "2.0.0.0";
+       sha256 = "0rbwdx9s940wfrlkay772i0q11rbywnhzigh5wy8sppx19pgfq9z";
+       libraryHaskellDepends = [ base transformers ];
+       testHaskellDepends = [
+         base QuickCheck tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "Classes for working with types that can change clothes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "barbies-th" = callPackage
     ({ mkDerivation, barbies, base, template-haskell }:
      mkDerivation {
@@ -36341,8 +36529,8 @@ self: {
      }:
      mkDerivation {
        pname = "base64";
-       version = "0.3.1.0";
-       sha256 = "0fs6lgjxf8z6n1vzjjjq5i952rklj9skgazx8zzi6dzi98ib6dg6";
+       version = "0.3.1.1";
+       sha256 = "0g812lfql9agbdmrqvwc42sb91sibdd6w50mw3kvfz0fflskkiip";
        libraryHaskellDepends = [ base bytestring deepseq text ];
        testHaskellDepends = [
          base base64-bytestring random-bytestring tasty tasty-hunit text
@@ -36376,6 +36564,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "base64-bytestring_1_0_0_3" = callPackage
+    ({ mkDerivation, base, bytestring, containers, criterion, deepseq
+     , HUnit, QuickCheck, split, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "base64-bytestring";
+       version = "1.0.0.3";
+       sha256 = "1iwg03z1w9n3n3q68siwk0dmwkb3sygmravbwbrs7h0lxih9s5gg";
+       libraryHaskellDepends = [ base bytestring ];
+       testHaskellDepends = [
+         base bytestring containers HUnit QuickCheck split test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring containers criterion deepseq
+       ];
+       description = "Fast base64 encoding and decoding for ByteStrings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "base64-bytestring-type" = callPackage
     ({ mkDerivation, aeson, base, base-compat, base64-bytestring
      , binary, bytestring, cereal, deepseq, hashable, http-api-data
@@ -37478,6 +37688,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "bench-show_0_3_1" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, Chart, Chart-diagrams, csv
+     , directory, filepath, mwc-random, optparse-applicative
+     , optparse-simple, semigroups, split, statistics, text
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "bench-show";
+       version = "0.3.1";
+       sha256 = "0z1fdcdl9chwia9kd5pa9572mc5pmy5bld72axkzg20r7v53sr7k";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-wl-pprint base Chart Chart-diagrams csv directory filepath
+         mwc-random split statistics transformers vector
+       ];
+       executableHaskellDepends = [
+         ansi-wl-pprint base Chart Chart-diagrams csv directory filepath
+         mwc-random optparse-applicative optparse-simple semigroups split
+         statistics transformers vector
+       ];
+       testHaskellDepends = [ base split text ];
+       description = "Show, plot and compare benchmark results";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "benchmark-function" = callPackage
     ({ mkDerivation, base, process, random, time }:
      mkDerivation {
@@ -42306,8 +42543,8 @@ self: {
      }:
      mkDerivation {
        pname = "boolector";
-       version = "0.0.0.9";
-       sha256 = "1f4lnshc4b3r9qyc6y476qpkcl3hkripqsd2vfyg9q0xbyg9pxq6";
+       version = "0.0.0.10";
+       sha256 = "0lssarfp05v6mnwn1qkgj8gjzszb43dhbs3025b60cmwsbnhfx2w";
        libraryHaskellDepends = [
          base containers directory mtl temporary time
        ];
@@ -44815,6 +45052,8 @@ self: {
        pname = "bytesmith";
        version = "0.3.2.0";
        sha256 = "0wbmi3wgf85rkhymjiv19dq93i2mg9i74dl37lpkq317qlihgv6f";
+       revision = "1";
+       editedCabalFile = "10r36zdpl96cv2jmkddfq92h78bx6785gjb29769c1dw0nnlvj94";
        libraryHaskellDepends = [
          base byteslice bytestring contiguous primitive run-st text-short
          wide-word
@@ -45685,6 +45924,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "cabal-build-programs" = callPackage
+    ({ mkDerivation, base, Cabal }:
+     mkDerivation {
+       pname = "cabal-build-programs";
+       version = "0.1.0.1";
+       sha256 = "004xr0f59fg6h6rxlf7sf6m2mi6p32h2z3vs9b56hddmxp3gn4vl";
+       libraryHaskellDepends = [ base Cabal ];
+       description = "Adds executable dependencies to the Cabal build";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "cabal-bundle-clib" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, directory, filepath
      , process, temporary, text, time
@@ -46374,6 +46624,28 @@ self: {
        broken = true;
      }) {};
 
+  "cabal-rpm_2_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, directory, filepath
+     , http-client, http-client-tls, http-conduit, optparse-applicative
+     , process, simple-cabal, simple-cmd, simple-cmd-args, time, unix
+     }:
+     mkDerivation {
+       pname = "cabal-rpm";
+       version = "2.0.0";
+       sha256 = "1gr68l5bg2mfl6b8nbfzcinibldk271psxp5wkiw14mclyx7ln8g";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring Cabal directory filepath http-client
+         http-client-tls http-conduit optparse-applicative process
+         simple-cabal simple-cmd simple-cmd-args time unix
+       ];
+       description = "RPM packaging tool for Haskell Cabal-based packages";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "cabal-scripts" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -47410,8 +47682,8 @@ self: {
      }:
      mkDerivation {
        pname = "call-alloy";
-       version = "0.2.0.1";
-       sha256 = "177p5k225bglz602p711pjvym3p93jihxyh4r25yvrh3kb6wi0l4";
+       version = "0.2.0.4";
+       sha256 = "0j1vvnjvgjs11ffy7r5h87vsxywyp51cs8kvqlgi5vnlwb2zfxg9";
        libraryHaskellDepends = [
          base bytestring containers directory file-embed filepath hashable
          lens mtl process split trifecta unix
@@ -54058,8 +54330,8 @@ self: {
      }:
      mkDerivation {
        pname = "cobot-io";
-       version = "0.1.2.5";
-       sha256 = "1md3dyfaybhmfprw3qdwqvlh0r73wy8smf8j8jkdrlkxqw6vhd1f";
+       version = "0.1.2.6";
+       sha256 = "1p76m7qgvcl01zyvb8zmbp5064dp2qjd3rr3mjcai55pk5xcm35r";
        libraryHaskellDepends = [
          array attoparsec base binary bytestring containers data-msgpack
          deepseq http-conduit hyraxAbif lens linear mtl split text vector
@@ -55873,6 +56145,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "compendium-client" = callPackage
+    ({ mkDerivation, aeson, base, http-client, language-protobuf
+     , megaparsec, servant, servant-client, text
+     }:
+     mkDerivation {
+       pname = "compendium-client";
+       version = "0.1.0.1";
+       sha256 = "09j71sjqpzhmzkmr1439qqwc8nizgc5ag7fmbd8z51wnkmw1wmky";
+       libraryHaskellDepends = [
+         aeson base http-client language-protobuf megaparsec servant
+         servant-client text
+       ];
+       description = "Client for the Compendium schema server";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "compensated" = callPackage
     ({ mkDerivation, base, bifunctors, binary, bytes, Cabal
      , cabal-doctest, cereal, comonad, deepseq, distributive, doctest
@@ -56102,8 +56390,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-aeson";
-       version = "0.6.0.0";
-       sha256 = "0r15hc6kwg0dibxix2f5afg91qwc6fd5m9sijn0k0mq62f0ln7ki";
+       version = "0.6.1.0";
+       sha256 = "1a5h03h46ahighdqqxfa22mnhbik9bqzm0cxnpgxyjksbagj3x5x";
        libraryHaskellDepends = [
          aeson aeson-better-errors base composite-base containers
          contravariant generic-deriving hashable lens mmorph mtl profunctors
@@ -56128,8 +56416,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-aeson-refined";
-       version = "0.6.0.0";
-       sha256 = "1plhqx0k0xab8fkip6v96rqnrdjq02ph1gmrk4r5zq5x4gc7gpps";
+       version = "0.6.1.0";
+       sha256 = "1z03ncjabcph9vwwhzmqp7wmhznr7jz188xpnl2lsdw0fzxlir3q";
        libraryHaskellDepends = [
          aeson-better-errors base composite-aeson mtl refined
        ];
@@ -56146,8 +56434,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-base";
-       version = "0.6.0.0";
-       sha256 = "188za7x9069ah8sgf8laqwkg3yfzl7cm23iacbcnbw25jd7k6vy3";
+       version = "0.6.1.0";
+       sha256 = "0qnxchx5dr2bgi8wdi4a1x2z20lw61zfxlmjkr1m7ggzz3f7py3k";
        libraryHaskellDepends = [
          base exceptions lens monad-control mtl profunctors template-haskell
          text transformers transformers-base unliftio-core vinyl
@@ -56168,8 +56456,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-ekg";
-       version = "0.6.0.0";
-       sha256 = "065aah2jx6r8i8qgwfql90nc6avhrrhc3aq3zlrqimqwv4772pvj";
+       version = "0.6.1.0";
+       sha256 = "14pa5bcr0ip43vn6wpxd4pf7lcc83f2xscri05kdf4h4d1nnwscj";
        libraryHaskellDepends = [
          base composite-base ekg-core lens text vinyl
        ];
@@ -56186,8 +56474,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-opaleye";
-       version = "0.6.0.0";
-       sha256 = "13hpvk6wx7yiz7klay7da8lllvszddlixk9xxyc8w9kqq48b4k92";
+       version = "0.6.1.0";
+       sha256 = "1vqj7pwb0wkz7c4clqj7kmc0asg74i7xb92g0g0qmwavwwc9flq1";
        libraryHaskellDepends = [
          base bytestring composite-base lens opaleye postgresql-simple
          product-profunctors profunctors template-haskell text vinyl
@@ -56210,8 +56498,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-swagger";
-       version = "0.6.0.0";
-       sha256 = "1m0a77imgrs55vmzvfx7hy74siwnxpcgjg7cawsmsnarkymb1c5c";
+       version = "0.6.1.0";
+       sha256 = "1ysp297b2nrwq6dx3bv9q44f69hlym4yvbimzj1hqc3mz63qjpaz";
        libraryHaskellDepends = [
          base composite-base insert-ordered-containers lens swagger2
          template-haskell text vinyl
@@ -57292,10 +57580,8 @@ self: {
      }:
      mkDerivation {
        pname = "conduit-audio-sndfile";
-       version = "0.1.2.1";
-       sha256 = "0b326pdvqpiawqnjkmwfgf5ghvg9jn1afini0ihw8cpc7znx846z";
-       revision = "2";
-       editedCabalFile = "00c628bx1j8p342pc03p884illajqsgi47yplfxvdywxcijnwbn3";
+       version = "0.1.2.2";
+       sha256 = "1pfvsq0jz9j66ajzc0avnhchn77l22clp71kf2p7dnrib05xc757";
        libraryHaskellDepends = [
          base conduit conduit-audio hsndfile hsndfile-vector resourcet
          transformers
@@ -60384,8 +60670,8 @@ self: {
      }:
      mkDerivation {
        pname = "cpkg";
-       version = "0.2.4.0";
-       sha256 = "1zamw8c9y5r813ksirlbiz0sk20qclmjcwmg6z2h5495883ihxkj";
+       version = "0.2.4.1";
+       sha256 = "0amv5kwba1amh6nsqfh6bb2gm7a3ky5lrjjr9c88w0qfyk8rr3am";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -63450,6 +63736,36 @@ self: {
        broken = true;
      }) {};
 
+  "cut-the-crap" = callPackage
+    ({ mkDerivation, base, exceptions, generic-lens, hspec, hspec-core
+     , lens, optparse-applicative, optparse-generic, regex-tdfa, shelly
+     , system-filepath, temporary, text, unliftio-core
+     }:
+     mkDerivation {
+       pname = "cut-the-crap";
+       version = "1.0.0";
+       sha256 = "0mq6hzv48ry3n8y0b60qbf3ddkfk2aqny4c1hzn92mqffhg4r0zr";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base exceptions generic-lens lens optparse-applicative
+         optparse-generic regex-tdfa shelly system-filepath temporary text
+         unliftio-core
+       ];
+       executableHaskellDepends = [
+         base exceptions generic-lens lens optparse-applicative
+         optparse-generic regex-tdfa shelly system-filepath temporary text
+         unliftio-core
+       ];
+       testHaskellDepends = [
+         base exceptions generic-lens hspec hspec-core lens
+         optparse-applicative optparse-generic regex-tdfa shelly
+         system-filepath temporary text unliftio-core
+       ];
+       description = "Cuts out uninteresting parts of videos by detecting silences";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "cutter" = callPackage
     ({ mkDerivation, base, bytestring, explicit-exception, spreadsheet
      , utility-ht
@@ -63515,6 +63831,25 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "cyclotomic_1_0_1" = callPackage
+    ({ mkDerivation, arithmoi, base, containers, HUnit, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , test-framework-smallcheck
+     }:
+     mkDerivation {
+       pname = "cyclotomic";
+       version = "1.0.1";
+       sha256 = "0d2jnpgal88j05jk62p3xwfkarigclgw2hy77ph0lii360wijljh";
+       libraryHaskellDepends = [ arithmoi base containers ];
+       testHaskellDepends = [
+         base HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 test-framework-smallcheck
+       ];
+       description = "A subfield of the complex numbers for exact calculation";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cypher" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring
      , classy-parallel, conduit, http-conduit, http-types, resourcet
@@ -69155,7 +69490,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "dhall_1_28_0" = callPackage
+  "dhall_1_29_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, atomic-write
      , base, bytestring, case-insensitive, cborg, cborg-json, containers
      , contravariant, cryptonite, data-fix, deepseq, Diff, directory
@@ -69172,8 +69507,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall";
-       version = "1.28.0";
-       sha256 = "0kiw8a9im768j304s80pv90vp1hh38v7fxfh2bb4hmglh3a8kc21";
+       version = "1.29.0";
+       sha256 = "1xp76wv36rfffym71gwdqsmwg3znmpsq5x9zgz3hfmzigxqmjgn7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -69225,14 +69560,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall-bash_1_0_25" = callPackage
+  "dhall-bash_1_0_27" = callPackage
     ({ mkDerivation, base, bytestring, containers, dhall
      , neat-interpolation, optparse-generic, shell-escape, text
      }:
      mkDerivation {
        pname = "dhall-bash";
-       version = "1.0.25";
-       sha256 = "0bxfx2hj06q1w1372zc7cfibsqw2hckz5116zz447mz5zmcfkjv3";
+       version = "1.0.27";
+       sha256 = "0mmf53fqgf8g6s80g6wss86lcfkrpjc51w5givy7kg9js00d48px";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -69330,7 +69665,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall-json_1_6_0" = callPackage
+  "dhall-json_1_6_1" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, aeson-yaml, ansi-terminal
      , base, bytestring, containers, dhall, exceptions, filepath
      , optparse-applicative, prettyprinter, prettyprinter-ansi-terminal
@@ -69339,8 +69674,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-json";
-       version = "1.6.0";
-       sha256 = "1fb3w7p2blnxqc6q3q620vpr0fpqs2my7hh33ykh7jpzs7p031h5";
+       version = "1.6.1";
+       sha256 = "1j89a75rqr90y6yya17iym6c9d6f4sa5hhmv46qbwim9sflv1s9w";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -69389,8 +69724,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-lsp-server";
-       version = "1.0.3";
-       sha256 = "1ym7v3blgj4ccchg6cpyxpllp6xz6fh8kfyy3i0b1kd5lzm90s0n";
+       version = "1.0.4";
+       sha256 = "0w8xql6hxchgs77ik2fgnhb2llp6138jyiynwvhsfkjijmqj5qrl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -69416,8 +69751,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-nix";
-       version = "1.1.10";
-       sha256 = "04fb8l9qh70fqa50ck0hz8134s1bmcyscbf5xg5ylnxpdrs3n7as";
+       version = "1.1.11";
+       sha256 = "0af8nbakaznw8wvrdgslrqk7fnmv2425f67xv3cx1jlf51drphpk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -69487,8 +69822,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-yaml";
-       version = "1.0.0";
-       sha256 = "05jhcvikm3rbcf9jzw747x70c3dsslcij977yhqks0c59nr9pqn6";
+       version = "1.0.1";
+       sha256 = "1pm36mwq6llnys9ac3b5nisw7d9xjxgh6nh2xl3kcdjh30f3bm2f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -69773,10 +70108,8 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-cairo";
-       version = "1.4.1";
-       sha256 = "0n368gv7jjnynp7gfbnaywnd4x65956qqifcxpi3gsy8yi0zsr6z";
-       revision = "1";
-       editedCabalFile = "0irrv1mf7lz3n4dy5pz9y6kw00v1rly47g2g6hi95nj6a6hib3z0";
+       version = "1.4.1.1";
+       sha256 = "0vyd2yr55n7x71194i18lnbcshdjpnqw4qyq7vj5zx377rsz711k";
        libraryHaskellDepends = [
          array base bytestring cairo colour containers data-default-class
          diagrams-core diagrams-lib filepath hashable JuicyPixels lens mtl
@@ -69873,8 +70206,8 @@ self: {
        pname = "diagrams-gtk";
        version = "1.4";
        sha256 = "1sga2wwkircjgryd4pn9i0wvvcnh3qnhpxas32crpdq939idwsxn";
-       revision = "2";
-       editedCabalFile = "0hblrqvwk1pbssaci97v36r71kpm7kkcghh5ijmq52lmjfq72jqm";
+       revision = "3";
+       editedCabalFile = "0k0i3nm5zpdmrqh8wmd8y5xhw7drd67hifdva5a7dih8w5sab4ra";
        libraryHaskellDepends = [
          base cairo diagrams-cairo diagrams-lib gtk
        ];
@@ -70438,6 +70771,8 @@ self: {
        libraryHaskellDepends = [ base Enum util ];
        description = "Diff and patch";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "diff-gestalt" = callPackage
@@ -73224,6 +73559,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "doclayout_0_3" = callPackage
+    ({ mkDerivation, base, criterion, mtl, safe, tasty, tasty-golden
+     , tasty-hunit, text
+     }:
+     mkDerivation {
+       pname = "doclayout";
+       version = "0.3";
+       sha256 = "1wmnwq28jcyd6c80srivsnd5znmyl9sgmwwnlk2crwiiwqadbal7";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ base mtl safe text ];
+       testHaskellDepends = [
+         base mtl tasty tasty-golden tasty-hunit text
+       ];
+       benchmarkHaskellDepends = [ base criterion mtl text ];
+       description = "A prettyprinting library for laying out text documents";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "docopt" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, bytestring, containers
      , HUnit, parsec, split, template-haskell, text, th-lift
@@ -73325,6 +73679,33 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "doctemplates_0_8_1" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, criterion
+     , doclayout, filepath, Glob, HsYAML, mtl, parsec, safe, scientific
+     , tasty, tasty-golden, tasty-hunit, temporary, text
+     , text-conversions, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "doctemplates";
+       version = "0.8.1";
+       sha256 = "02xysm510m3hbifwb7ngx39wj1ycxjrws4ngnm0d7ywqm9cv1hbb";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base containers doclayout filepath HsYAML mtl parsec safe
+         scientific text text-conversions unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers doclayout filepath Glob tasty
+         tasty-golden tasty-hunit temporary text
+       ];
+       benchmarkHaskellDepends = [
+         aeson base containers criterion doclayout filepath mtl text
+       ];
+       description = "Pandoc-style document templates";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "doctest" = callPackage
     ({ mkDerivation, base, base-compat, code-page, deepseq, directory
      , filepath, ghc, ghc-paths, hspec, HUnit, mockery, process
@@ -77576,6 +77957,8 @@ self: {
        doHaddock = false;
        description = "Crossing the road between Haskell and Elm";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "elm-syntax" = callPackage
@@ -78819,6 +79202,8 @@ self: {
        ];
        description = "Safe helpers for accessing and modifying environment variables";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "env-locale" = callPackage
@@ -79140,6 +79525,8 @@ self: {
        pname = "equeue";
        version = "0";
        sha256 = "14risb13sv4mz5scyhcvg6knb791lx4b9jm3k9189fhxkr5a28cc";
+       revision = "1";
+       editedCabalFile = "0i8gjfmi6jbfbmqs9yckzg694mp7v92b1m99r1hn1yw3xbizvf2j";
        libraryHaskellDepends = [
          base containers contravariant mtl semigroups stm
        ];
@@ -80994,6 +81381,8 @@ self: {
        libraryHaskellDepends = [ base template-haskell ];
        description = "Exception type hierarchy with TemplateHaskell";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "exception-mailer" = callPackage
@@ -82109,6 +82498,8 @@ self: {
        testHaskellDepends = [ base extensible ];
        description = "Operational-based extensible effect library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "extensible-sp" = callPackage
@@ -83191,8 +83582,8 @@ self: {
      }:
      mkDerivation {
        pname = "fay";
-       version = "0.24.0.3";
-       sha256 = "07ys208iiy28hmhc098yx2vj3rzwwxqi0q7l4xx4q61albmryf08";
+       version = "0.24.0.4";
+       sha256 = "1jpqc48a7h9x64wv77g7bdnhvfjgbabp4n3qcbqsfz9v92j46j0a";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -88731,6 +89122,8 @@ self: {
        ];
        description = "Free functors, adjoint to functors that forget class constraints";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "free-game" = callPackage
@@ -89443,8 +89836,8 @@ self: {
     ({ mkDerivation, base, bytestring, process-extras, text }:
      mkDerivation {
        pname = "fromhtml";
-       version = "1.0.1";
-       sha256 = "173rbbnn62mb7kxlv7g9r52gjqi07pj3kqd7h2qr8mhk4xlbbagy";
+       version = "1.0.4";
+       sha256 = "1pavyjpda8x5dc7g018yipz6hc329n6yfi5lbvnvc7fa3r77dvs9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring process-extras text ];
@@ -92381,6 +92774,18 @@ self: {
        broken = true;
      }) {};
 
+  "generic-lens-lite" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "generic-lens-lite";
+       version = "0.1";
+       sha256 = "07z00phy6h50bb4axlr57kin9l5fygi4q4j33rj5180ai2cbcpc6";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base ];
+       description = "Monomorphic field lens like with generic-lens";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "generic-lucid-scaffold" = callPackage
     ({ mkDerivation, base, lucid, text }:
      mkDerivation {
@@ -92430,6 +92835,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "generic-optics-lite" = callPackage
+    ({ mkDerivation, base, generic-lens-lite, optics-core }:
+     mkDerivation {
+       pname = "generic-optics-lite";
+       version = "0.1";
+       sha256 = "0vf5sk1narj69pdhjqxjj0w3w3i5lxjxn8p98xp8dj0jws4mx9xi";
+       libraryHaskellDepends = [ base generic-lens-lite optics-core ];
+       testHaskellDepends = [ base optics-core ];
+       description = "Monomorphic field opics like with generic-lens";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "generic-pretty" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, bytestring, containers
      , tasty, tasty-hunit, text, vector
@@ -94314,15 +94731,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "ghc-lib_8_8_1_20191204" = callPackage
+  "ghc-lib_8_8_2" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, filepath, ghc-lib-parser, ghc-prim, happy
      , hpc, pretty, process, time, transformers, unix
      }:
      mkDerivation {
        pname = "ghc-lib";
-       version = "8.8.1.20191204";
-       sha256 = "1xj2l9w4jmwxavs5s6p50wciracqlvkx9mg015m8gv1s8sxn6sqh";
+       version = "8.8.2";
+       sha256 = "0dsb41vk9agywzw7nayraq9hhi95vz6aw9yz8jgggh1an4vkg833";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
@@ -94353,15 +94770,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "ghc-lib-parser_8_8_1_20191204" = callPackage
+  "ghc-lib-parser_8_8_2" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, filepath, ghc-prim, happy, hpc, pretty
      , process, time, transformers, unix
      }:
      mkDerivation {
        pname = "ghc-lib-parser";
-       version = "8.8.1.20191204";
-       sha256 = "0acfq70mhhb76v0fhgqnijb4yp4njzxwc3c6d53r594cix3grvdp";
+       version = "8.8.2";
+       sha256 = "0q9pxdwmzm5hr6snpbkn1d3165h0lrdncgid5aqffqwz2hc1d2z0";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
@@ -95299,6 +95716,8 @@ self: {
        ];
        description = "The core of an IDE";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "ghcjs-ajax" = callPackage
@@ -95882,6 +96301,8 @@ self: {
        libraryPkgconfigDepends = [ gtk4-x11 ];
        description = "GdkX11 bindings";
        license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {gtk4-x11 = null;};
 
   "gi-ggit" = callPackage
@@ -97194,6 +97615,8 @@ self: {
        ];
        description = "Tool to help resolving git conflicts";
        license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "git-monitor" = callPackage
@@ -98451,8 +98874,10 @@ self: {
      }:
      mkDerivation {
        pname = "glirc";
-       version = "2.33.1";
-       sha256 = "0vzrx0904s8r7srld4c3wkw3j0rx3l6jszz3m5friwkdwfs60a83";
+       version = "2.34";
+       sha256 = "1nmkwzifch01pnzxn3rm0gvxq9xvwvxkvqfwsdsj6zjmiz68w3ca";
+       revision = "1";
+       editedCabalFile = "13dm3cc5m7g7qhpasq2jbzm7x4dizjipjdsy5amghglrs8m0r90y";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath ];
@@ -98620,6 +99045,8 @@ self: {
        pname = "gloss";
        version = "1.13.1.1";
        sha256 = "1bmjwd2vfbxfypr2g23810yyp921m30wxbb6f3m0wkk65iypjnls";
+       revision = "1";
+       editedCabalFile = "1bcjm3issssqxd60jd2y6032y8plcs0sm3wbnha1f6fa3z46z9n0";
        libraryHaskellDepends = [
          base bmp bytestring containers ghc-prim gloss-rendering GLUT OpenGL
        ];
@@ -98794,6 +99221,8 @@ self: {
        pname = "gloss-rendering";
        version = "1.13.1.1";
        sha256 = "1pkzm7zzfdya8cz3h66akx8785h3vxbnyb815liw4nilvwg01d9x";
+       revision = "1";
+       editedCabalFile = "10x83cpxp6yrmamjg4kjm3pzlhh6zj2rdw686py0vcx0jrjy3qg7";
        libraryHaskellDepends = [
          base bmp bytestring containers GLUT OpenGL
        ];
@@ -99134,6 +99563,8 @@ self: {
        pname = "gnuplot";
        version = "0.5.6";
        sha256 = "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp";
+       revision = "1";
+       editedCabalFile = "15ydlmw9a6dfiy0ffxqxy7iiszbysqn2jlhxrh4lfi21ck9n15kq";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -99146,6 +99577,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "gnuplot_0_5_6_1" = callPackage
+    ({ mkDerivation, array, base, containers, data-accessor
+     , data-accessor-transformers, deepseq, filepath, process
+     , semigroups, temporary, time, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "gnuplot";
+       version = "0.5.6.1";
+       sha256 = "1rfq94lnsyjr8y9p5r56jpllv3p8rvh9xxzjji016b6r5adi8cnb";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         array base containers data-accessor data-accessor-transformers
+         deepseq filepath process semigroups temporary time transformers
+         utility-ht
+       ];
+       description = "2D and 3D plots using gnuplot";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "gnutls" = callPackage
     ({ mkDerivation, base, bytestring, gnutls, monads-tf, transformers
      }:
@@ -104513,6 +104966,8 @@ self: {
        ];
        description = "GTFS RealTime protobafs library (autogenerated from .proto file)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "gtk" = callPackage
@@ -108320,8 +108775,10 @@ self: {
     ({ mkDerivation, base, containers, random }:
      mkDerivation {
        pname = "hanabi-dealer";
-       version = "0.2.1.0";
-       sha256 = "1lk2rr48hcf8wdci1aj8xcybyh1nm2dmqi25vj23gj7lq4fir5cs";
+       version = "0.3.2.0";
+       sha256 = "0jaw7s82l0nsr1axqkngcc4wfnmh790jdqbnsknwvyk6anvbpacb";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [ base containers random ];
        description = "Hanabi card game";
        license = stdenv.lib.licenses.bsd3;
@@ -112051,6 +112508,8 @@ self: {
        libraryHaskellDepends = [ base haskell-src-exts ];
        description = "A simplified view on the haskell-src-exts AST";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "haskell-src-exts-util" = callPackage
@@ -113464,6 +113923,37 @@ self: {
        broken = true;
      }) {};
 
+  "haskoin-core_0_10_0" = callPackage
+    ({ mkDerivation, aeson, array, base, base16-bytestring, bytestring
+     , cereal, conduit, containers, cryptonite, deepseq, entropy
+     , hashable, hspec, hspec-discover, HUnit, memory, mtl, murmur3
+     , network, QuickCheck, safe, scientific, secp256k1-haskell, split
+     , string-conversions, text, time, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "haskoin-core";
+       version = "0.10.0";
+       sha256 = "0gb9z0ncy7ff93k41yvbj0i33akpk5vcm477ydpn7sandq3m40nv";
+       libraryHaskellDepends = [
+         aeson array base base16-bytestring bytestring cereal conduit
+         containers cryptonite deepseq entropy hashable hspec HUnit memory
+         mtl murmur3 network QuickCheck safe scientific secp256k1-haskell
+         split string-conversions text time transformers
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring cereal containers deepseq hspec HUnit mtl
+         QuickCheck safe split string-conversions text unordered-containers
+         vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Bitcoin & Bitcoin Cash library for Haskell";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "haskoin-crypto" = callPackage
     ({ mkDerivation, base, binary, byteable, bytestring, containers
      , cryptohash, haskoin-util, HUnit, mtl, QuickCheck, test-framework
@@ -113498,8 +113988,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-node";
-       version = "0.9.14";
-       sha256 = "17nd6spm2bskgnxp2v7jfb66ds2qgxzhzlvd4yhgbf63kqfhlkjl";
+       version = "0.9.15";
+       sha256 = "0bdyqqhxjbz3lqj5q7cg9w9i40xvp9p9185g3dlhqn598s65mppx";
        libraryHaskellDepends = [
          base bytestring cereal conduit conduit-extra containers
          data-default hashable haskoin-core monad-logger mtl network nqe
@@ -113576,8 +114066,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-store";
-       version = "0.19.3";
-       sha256 = "0r7kckbkjb1y4dlz1byh3q1xnkysb8361gydvzk6dwbb4fmzld1p";
+       version = "0.19.5";
+       sha256 = "1pxplfipl4n6vq8s8al0acfrxnbpf8yhya6hpfymszfbvcyqkhl8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -115346,6 +115836,8 @@ self: {
        pname = "haxr";
        version = "3000.11.3.1";
        sha256 = "1wyb848mb0b6idkbi5jarsf6qi1zzl3yh6xd05g228kykii8k9mg";
+       revision = "1";
+       editedCabalFile = "1g5vqgpk02kx502w0klps88i0h0mfwmb8ai14xm5b90jmd9kndn3";
        libraryHaskellDepends = [
          array base base-compat base64-bytestring blaze-builder bytestring
          HaXml HsOpenSSL http-streams http-types io-streams mtl mtl-compat
@@ -118890,21 +119382,21 @@ self: {
   "hgeometry" = callPackage
     ({ mkDerivation, aeson, base, bifunctors, bytestring, containers
      , data-clist, deepseq, dlist, doctest, doctest-discover, fingertree
-     , fixed-vector, hgeometry-combinatorial, lens, linear, MonadRandom
-     , mtl, QuickCheck, quickcheck-instances, reflection, semigroupoids
-     , semigroups, singletons, template-haskell, text, vector
-     , vector-builder, vinyl, yaml
+     , fixed-vector, hgeometry-combinatorial, hspec, lens, linear
+     , MonadRandom, mtl, primitive, QuickCheck, quickcheck-instances
+     , reflection, semigroupoids, semigroups, template-haskell, text
+     , vector, vector-builder, vinyl, yaml
      }:
      mkDerivation {
        pname = "hgeometry";
-       version = "0.9.0.0";
-       sha256 = "1s9hmknrqdsrfda5l8qjs85qhq6lm8vfkd54dnkbg67xk42z0y1m";
+       version = "0.10.0.0";
+       sha256 = "01kf7cmjdr2s172xj25i9vyjpfd0wayh0bjgccxqqy886kxrkhfw";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bifunctors bytestring containers data-clist deepseq
-         dlist fingertree fixed-vector hgeometry-combinatorial lens linear
-         MonadRandom mtl QuickCheck quickcheck-instances reflection
-         semigroupoids semigroups singletons template-haskell text vector
+         dlist fingertree fixed-vector hgeometry-combinatorial hspec lens
+         linear MonadRandom mtl primitive QuickCheck quickcheck-instances
+         reflection semigroupoids semigroups template-haskell text vector
          vector-builder vinyl yaml
        ];
        testHaskellDepends = [ base doctest doctest-discover QuickCheck ];
@@ -118925,13 +119417,13 @@ self: {
      }:
      mkDerivation {
        pname = "hgeometry-combinatorial";
-       version = "0.9.0.0";
-       sha256 = "0c9byfg6x1ch1812s6kf9w1vkrhzffqw6asllhln95f6cvsz58z0";
+       version = "0.10.0.0";
+       sha256 = "0v168wxnzkmylh8gzxzrq0sfq5y2xn3i8r6kqnahc14x1c1jzzk1";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bifunctors bytestring containers contravariant
          data-clist deepseq dlist fingertree lens MonadRandom mtl QuickCheck
-         quickcheck-instances reflection semigroupoids semigroups singletons
+         quickcheck-instances reflection semigroupoids semigroups
          template-haskell text vector vector-builder vinyl yaml
        ];
        testHaskellDepends = [
@@ -119461,6 +119953,8 @@ self: {
        ];
        description = "Set up a GHC API session";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "hie-core" = callPackage
@@ -121123,8 +121617,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger";
-       version = "1.16.1";
-       sha256 = "1dw04sjgji6iprs0hqxr0nynkg5qsqh20l0d48vqjkgaral4sxma";
+       version = "1.16.2";
+       sha256 = "1jvvmj13n3xv575g5zxfq2nw9bk719yb6ivddxfaf36h10zqpdxl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -121249,10 +121743,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-iadd";
-       version = "1.3.9";
-       sha256 = "07g48w4099m4vm7z5hrg9zzd2v2yhy7kcv40902njz6v8cklgdgq";
-       revision = "3";
-       editedCabalFile = "1c06v50lhhzsa4872j9khqvga7pvfrvns8sp3srn9vfwxbiw5x7z";
+       version = "1.3.10";
+       sha256 = "0kdrdbvs5qi8hc807d245xrv589hgx5aly5syb6zk62pi1kf92s3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -121326,8 +121818,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-lib";
-       version = "1.16.1";
-       sha256 = "14rwigcmal1dy286qnw93nnn4rl42hgcnz882wmjmhpyjrs4l5ig";
+       version = "1.16.2";
+       sha256 = "0b3b68560jszx8frmv8q9bxs1nc33n9c52ns1gcy3a3j3s80ww3g";
        libraryHaskellDepends = [
          ansi-terminal array base base-compat-batteries blaze-markup
          bytestring call-stack cassava cassava-megaparsec cmdargs containers
@@ -121380,8 +121872,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-ui";
-       version = "1.16.1";
-       sha256 = "0cn1pwr87lvi65m619v845vj17v27hp3h6fcgy1cpb4gjsdvq861";
+       version = "1.16.2";
+       sha256 = "1bsg48i9fmml4ga8jg1ikxig30dn7x5i8qbzbd9nr9lz5wg9xxlh";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -121427,8 +121919,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-web";
-       version = "1.16.1";
-       sha256 = "1mn3mk4v6akbzl2hc8k89q4njffxpj832h5pywy9rj2mc7fbw5s5";
+       version = "1.16.2";
+       sha256 = "1kipq8b1df1iyp0dsdkbmshzdgii1993kb72drqsbl4ihj6vd96s";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -121528,8 +122020,8 @@ self: {
      }:
      mkDerivation {
        pname = "hlint";
-       version = "2.2.6";
-       sha256 = "0943qnx9c8b1ach233f435qq5830b6g5vqfq3yy8qdagpwi3vpn1";
+       version = "2.2.7";
+       sha256 = "0qcqpw880436n2jdil12hp071mgzvknjflkx1j01fk3hbyn4hqmx";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -123595,19 +124087,18 @@ self: {
 
   "hookup" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, HsOpenSSL
-     , HsOpenSSL-x509-system, network, openssl
+     , HsOpenSSL-x509-system, network
      }:
      mkDerivation {
        pname = "hookup";
-       version = "0.3";
-       sha256 = "08a10bmnr15bb6pdcq4hq3z4595spsq3g8879apcqb6qgbs6dlxb";
+       version = "0.3.0.1";
+       sha256 = "12jwjgbbdiyffy78b90a2jcz1vz1mfsrmgj0q4w3ly3zl79j2la9";
        libraryHaskellDepends = [
          attoparsec base bytestring HsOpenSSL HsOpenSSL-x509-system network
        ];
-       librarySystemDepends = [ openssl ];
        description = "Abstraction over creating network connections with SOCKS5 and TLS";
        license = stdenv.lib.licenses.isc;
-     }) {inherit (pkgs) openssl;};
+     }) {};
 
   "hoopl" = callPackage
     ({ mkDerivation, base, containers, filepath, mtl, parsec
@@ -124617,8 +125108,8 @@ self: {
     ({ mkDerivation, base, bytestring, unix, word8 }:
      mkDerivation {
        pname = "hpath-filepath";
-       version = "0.10.0";
-       sha256 = "0s83ym61sg24z8d5fbmvb5divvr9a05bgx0w66clfqwzi8pi3mxs";
+       version = "0.10.1";
+       sha256 = "16hrcd0qdidggsafm11x3h1b3gyqwf77bav9vyvli5mi8b5ha8n5";
        libraryHaskellDepends = [ base bytestring unix word8 ];
        description = "ByteString based filepath manipulation";
        license = stdenv.lib.licenses.bsd3;
@@ -124626,16 +125117,16 @@ self: {
 
   "hpath-io" = callPackage
     ({ mkDerivation, base, bytestring, hpath, hpath-filepath, hspec
-     , HUnit, IfElse, process, streamly, unix, unix-bytestring
-     , utf8-string
+     , HUnit, IfElse, process, safe-exceptions, streamly, unix
+     , unix-bytestring, utf8-string
      }:
      mkDerivation {
        pname = "hpath-io";
-       version = "0.10.0";
-       sha256 = "01p0118chixajafiiihh8cvpmk9h4jvvpgzynr8ci63zx8x8s3bd";
+       version = "0.10.1";
+       sha256 = "10bhgcw55xs5y58khi67y881v560x3wnp74d67d8qkk64afx36xz";
        libraryHaskellDepends = [
-         base bytestring hpath hpath-filepath IfElse streamly unix
-         unix-bytestring utf8-string
+         base bytestring hpath hpath-filepath IfElse safe-exceptions
+         streamly unix unix-bytestring utf8-string
        ];
        testHaskellDepends = [
          base bytestring hpath hspec HUnit IfElse process unix
@@ -124643,6 +125134,8 @@ self: {
        ];
        description = "High-level IO operations on files/directories";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "hpc_0_6_0_3" = callPackage
@@ -127788,6 +128281,27 @@ self: {
        license = stdenv.lib.licenses.isc;
      }) {};
 
+  "hsinstall_2_6" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, Cabal, directory, filepath
+     , heredoc, optparse-applicative, process, safe-exceptions
+     , transformers
+     }:
+     mkDerivation {
+       pname = "hsinstall";
+       version = "2.6";
+       sha256 = "0763jzyl8ysani30alc6ii3i68i5ls1cd288b6iza4lfz1knval5";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base directory filepath ];
+       executableHaskellDepends = [
+         ansi-wl-pprint base Cabal directory filepath heredoc
+         optparse-applicative process safe-exceptions transformers
+       ];
+       description = "Install Haskell software";
+       license = stdenv.lib.licenses.isc;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hskeleton" = callPackage
     ({ mkDerivation, base, Cabal }:
      mkDerivation {
@@ -131784,6 +132298,8 @@ self: {
        testHaskellDepends = [ base ];
        description = "A native HTTP2 client library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "http2-client-exe" = callPackage
@@ -131803,6 +132319,8 @@ self: {
        ];
        description = "A command-line http2 client";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "http2-client-grpc" = callPackage
@@ -132220,8 +132738,8 @@ self: {
     ({ mkDerivation, base, bytestring, deepseq, ghc, text }:
      mkDerivation {
        pname = "humble-prelude";
-       version = "0.1";
-       sha256 = "019zj48h3daa8yvzcdpg4j9zr252mx384hyif330d8xhp8kpfzvb";
+       version = "0.2";
+       sha256 = "0pzfhp65afkdc33pjbxzcf68c02w6nq8sxqspfwbn78dghg9cbrn";
        libraryHaskellDepends = [ base bytestring deepseq ghc text ];
        description = "Redefinition-free prelude alternative";
        license = stdenv.lib.licenses.bsd3;
@@ -132496,6 +133014,24 @@ self: {
        broken = true;
      }) {};
 
+  "hurl" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, http-client
+     , http-client-tls, http-types, network-uri, text
+     }:
+     mkDerivation {
+       pname = "hurl";
+       version = "1.0.0.0";
+       sha256 = "13yh9n7h3ihdxfi69w5jww7l9xan8yy1l4ijf198sw03sfq52k9l";
+       libraryHaskellDepends = [
+         base base64-bytestring bytestring http-client http-client-tls
+         http-types network-uri text
+       ];
+       description = "Haskell URL resolver";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hurriyet" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, here, hspec
      , http-client, http-client-tls, mtl, text
@@ -132931,6 +133467,8 @@ self: {
        pname = "hw-dsv";
        version = "0.4.0";
        sha256 = "1cpjfq3z4q5wmnlaskrzxhyybb07andc7gli7vv7njm9552bwyvf";
+       revision = "2";
+       editedCabalFile = "167zvbxwjmb25xmhcdhrshk03b98kh5ldrf2b6a4v8xlkj4p33qm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -137209,8 +137747,8 @@ self: {
      }:
      mkDerivation {
        pname = "incremental";
-       version = "0.1";
-       sha256 = "03yax3xkp1mlipi1vn97ljz05c6fxflpvz9myqvlxcj658p9f3kh";
+       version = "0.1.1";
+       sha256 = "17lwakfa7xh0rdxr4hixlqy9hldvz06hcsclw3kln7m4iv4843d7";
        libraryHaskellDepends = [
          aeson base containers deepseq extensible semigroups text
        ];
@@ -137641,6 +138179,26 @@ self: {
        broken = true;
      }) {};
 
+  "infernal" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, case-insensitive
+     , containers, exceptions, heart-app, heart-core, http-client
+     , http-types, mtl, text, unliftio, unordered-containers, wai
+     }:
+     mkDerivation {
+       pname = "infernal";
+       version = "0.3.0";
+       sha256 = "0iixw8np4rh66ql2lm2gkhz9yzkgxw0mch3gxsflqi0a96y2jcik";
+       libraryHaskellDepends = [
+         aeson base binary bytestring case-insensitive containers exceptions
+         heart-app heart-core http-client http-types mtl text unliftio
+         unordered-containers wai
+       ];
+       description = "The Infernal Machine - An AWS Lambda Custom Runtime for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "infernu" = callPackage
     ({ mkDerivation, base, containers, digits, either, fgl
      , language-ecmascript, mtl, optparse-applicative, parsec
@@ -138510,6 +139068,8 @@ self: {
        libraryHaskellDepends = [ base containers primitive ];
        description = "Advent of Code 2019 intcode interpreter";
        license = stdenv.lib.licenses.isc;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "integer-gmp_1_0_2_0" = callPackage
@@ -140108,10 +140668,8 @@ self: {
      }:
      mkDerivation {
        pname = "irc-core";
-       version = "2.7.1";
-       sha256 = "0syhcb1q9j68pcxzbv45pah6bkfvnqjzkpzn2356ci7jpb9qpbbn";
-       revision = "2";
-       editedCabalFile = "1g85hhzjqv3fp9704p6hc09vhclk1wr56b7ih46ryfkclqlgfcm6";
+       version = "2.7.2";
+       sha256 = "1gpd28lxhqj2xj75nyyififn9434imvm0vqvx7zdw44fvg75lqyq";
        libraryHaskellDepends = [
          attoparsec base base64-bytestring bytestring hashable primitive
          text time vector
@@ -142675,6 +143233,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "json_0_10" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, mtl, parsec
+     , pretty, syb, text
+     }:
+     mkDerivation {
+       pname = "json";
+       version = "0.10";
+       sha256 = "1fjnd2r4gl2hfqx158db3cn3rsyin4ch7rf9scb2hcy90cy6l10c";
+       libraryHaskellDepends = [
+         array base bytestring containers mtl parsec pretty syb text
+       ];
+       description = "Support for serialising Haskell to and from JSON";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "json-alt" = callPackage
     ({ mkDerivation, aeson, base }:
      mkDerivation {
@@ -148549,6 +149123,50 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "language-puppet_1_4_6_1" = callPackage
+    ({ mkDerivation, aeson, ansi-wl-pprint, async, attoparsec, base
+     , base16-bytestring, bytestring, case-insensitive, containers
+     , cryptonite, directory, filecache, filepath, formatting, Glob
+     , hashable, hruby, hslogger, hspec, hspec-megaparsec, http-api-data
+     , http-client, lens, lens-aeson, megaparsec, memory, mtl
+     , operational, optparse-applicative, parsec, parser-combinators
+     , pcre-utils, protolude, random, regex-pcre-builtin, scientific
+     , servant, servant-client, split, stm, strict-base-types, temporary
+     , text, time, transformers, unix, unordered-containers, vector
+     , yaml
+     }:
+     mkDerivation {
+       pname = "language-puppet";
+       version = "1.4.6.1";
+       sha256 = "0w1ffflnzlcwfc4zhn1zlrdhapdniy67wy0z2pa6qgkvxv52rlxd";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson ansi-wl-pprint attoparsec base base16-bytestring bytestring
+         case-insensitive containers cryptonite directory filecache filepath
+         formatting hashable hruby hslogger http-api-data http-client lens
+         lens-aeson megaparsec memory mtl operational parsec
+         parser-combinators pcre-utils protolude random regex-pcre-builtin
+         scientific servant servant-client split stm strict-base-types text
+         time transformers unix unordered-containers vector yaml
+       ];
+       executableHaskellDepends = [
+         aeson ansi-wl-pprint async base bytestring containers Glob hslogger
+         http-client lens mtl optparse-applicative regex-pcre-builtin
+         strict-base-types text transformers unordered-containers vector
+         yaml
+       ];
+       testHaskellDepends = [
+         base Glob hslogger hspec hspec-megaparsec lens megaparsec mtl
+         pcre-utils scientific strict-base-types temporary text transformers
+         unordered-containers vector
+       ];
+       description = "Tools to parse and evaluate the Puppet DSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "language-python" = callPackage
     ({ mkDerivation, alex, array, base, containers, happy, monads-tf
      , pretty, transformers, utf8-string
@@ -149856,6 +150474,8 @@ self: {
        pname = "learn-physics";
        version = "0.6.4";
        sha256 = "06f1p3rcb37lh0miih2c697w8jiciby3qgjcbjagmf91svx25mm0";
+       revision = "2";
+       editedCabalFile = "0q1m0nfqjb46r2drisk4w3pggmxlx1f391lhvh8bk0z3w1ih4lmy";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -150740,14 +151360,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "lenz_0_4_1_0" = callPackage
+  "lenz_0_4_2_0" = callPackage
     ({ mkDerivation, base, base-unicode-symbols, hs-functors
      , transformers
      }:
      mkDerivation {
        pname = "lenz";
-       version = "0.4.1.0";
-       sha256 = "110a41iig3s273j7z2cpdahnnkbq1f5rswra33ag3w2x9sqry5yj";
+       version = "0.4.2.0";
+       sha256 = "13yz9lxxll928knxjgvdxdbnv911pxkd9d5jly1hdnhyymahv6lf";
        libraryHaskellDepends = [
          base base-unicode-symbols hs-functors transformers
        ];
@@ -150895,6 +151515,8 @@ self: {
        benchmarkHaskellDepends = [ base gauge util ];
        description = "See README for more info";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "lexer-applicative" = callPackage
@@ -151115,8 +151737,8 @@ self: {
      }:
      mkDerivation {
        pname = "libarchive";
-       version = "2.1.3.2";
-       sha256 = "1z934rl8dm4ncp7qs6kqm2hiir41k5ysrpp44nb6rgzs8f8x46mr";
+       version = "2.2.0.1";
+       sha256 = "0lf7l5wk7hm1s9kkr18bvcm7nqwwhbkas0ycnlk4gz4c6qwbnbz3";
        setupHaskellDepends = [ base Cabal chs-cabal ];
        libraryHaskellDepends = [
          base bytestring composition-prelude deepseq dlist filepath mtl
@@ -154447,6 +155069,8 @@ self: {
        ];
        description = "General purpose LLVM bindings";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {llvm-config = null;};
 
   "llvm-hs_9_0_1" = callPackage
@@ -154474,6 +155098,7 @@ self: {
        description = "General purpose LLVM bindings";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {llvm-config = null;};
 
   "llvm-hs-pretty" = callPackage
@@ -155310,25 +155935,25 @@ self: {
   "log4hs" = callPackage
     ({ mkDerivation, aeson, aeson-qq, base, bytestring, containers
      , criterion, data-default, directory, filepath, generic-lens, hspec
-     , hspec-core, lens, process, QuickCheck, template-haskell, text
-     , time, vformat, yaml
+     , hspec-core, lens, mtl, process, QuickCheck, template-haskell
+     , text, time, vformat, yaml
      }:
      mkDerivation {
        pname = "log4hs";
-       version = "0.4.0.0";
-       sha256 = "1k4xl8496mrgr9h1m3zsa41xcxywb3z134jisjg8lbzx37mh0zb1";
+       version = "0.6.0.0";
+       sha256 = "11lprcp066hxrgc7945lzprwffwkkd1sl1p3fa3qzw8xb6qi5nhz";
        libraryHaskellDepends = [
          aeson base bytestring containers data-default directory filepath
-         generic-lens lens template-haskell text time vformat yaml
+         generic-lens lens mtl template-haskell text time vformat yaml
        ];
        testHaskellDepends = [
          aeson aeson-qq base bytestring containers data-default directory
-         filepath generic-lens hspec hspec-core lens process QuickCheck
+         filepath generic-lens hspec hspec-core lens mtl process QuickCheck
          template-haskell text time vformat yaml
        ];
        benchmarkHaskellDepends = [
          aeson aeson-qq base bytestring containers criterion data-default
-         directory filepath generic-lens lens template-haskell text time
+         directory filepath generic-lens lens mtl template-haskell text time
          vformat yaml
        ];
        description = "A python logging style log library";
@@ -157087,8 +157712,8 @@ self: {
      }:
      mkDerivation {
        pname = "lzlib";
-       version = "0.3.0.5";
-       sha256 = "0mlwcchikmiaq6scs48g2snaiwcznwrcfksn4yij4hagjz734rpq";
+       version = "0.3.1.0";
+       sha256 = "0yklxk2hqfc47lh0i347lwbnr54xk5zk2r6yqyckbaqb89k3xw0p";
        libraryHaskellDepends = [ base bytestring ];
        libraryToolDepends = [ c2hs ];
        testHaskellDepends = [ base bytestring directory hspec ];
@@ -158845,8 +159470,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "maquinitas-tidal";
-       version = "0.1.0";
-       sha256 = "1gdbcjhcdgk1jx674rbh4lr1xbcks18xiygywsh3pv846wh3m0n6";
+       version = "0.2.1";
+       sha256 = "14j4469yl1ypw97m33r2v37mlqxa689ish84k7ggwjdqxj9f64n2";
        libraryHaskellDepends = [ base ];
        description = "library for MIDI control of hardware";
        license = stdenv.lib.licenses.mit;
@@ -159823,6 +160448,26 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "matrix-market-attoparsec_0_1_0_9" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, directory
+     , exceptions, hspec, QuickCheck, scientific
+     }:
+     mkDerivation {
+       pname = "matrix-market-attoparsec";
+       version = "0.1.0.9";
+       sha256 = "0nfmn611x8yyw34xsz6nz7rsmc83211yydf7ic5icq5b598amg9s";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         attoparsec base bytestring exceptions scientific
+       ];
+       testHaskellDepends = [
+         base directory exceptions hspec QuickCheck
+       ];
+       description = "Parsing and serialization functions for the NIST Matrix Market format";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "matrix-market-pure" = callPackage
     ({ mkDerivation, array, base, containers }:
      mkDerivation {
@@ -159889,8 +160534,8 @@ self: {
      }:
      mkDerivation {
        pname = "matterhorn";
-       version = "50200.5.0";
-       sha256 = "0ahlsyk21zm0h1ri0jwlhmqv90myn8x5xhjhpqxafsyjj8vhanpw";
+       version = "50200.6.0";
+       sha256 = "0b8qsd2w324sxmp3cgnz7fzlbhk5nz6slw8qxxm5dpy0bs5v7xnb";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -159927,8 +160572,8 @@ self: {
      }:
      mkDerivation {
        pname = "mattermost-api";
-       version = "50200.2.0";
-       sha256 = "1c0d2djv3a374k9avbg95sm2f22bhz8ssafw76dnphkk7yasr8h6";
+       version = "50200.3.0";
+       sha256 = "1d5nxaf382lzsr05rcby9w8y726bsda29w46b96p89whfbq8s9h3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -159951,8 +160596,8 @@ self: {
      }:
      mkDerivation {
        pname = "mattermost-api-qc";
-       version = "50200.2.0";
-       sha256 = "0wryvjx9s5p1gvvkp1kzdfgrvwrmfpy81caqc85p6mwnr18ybrbq";
+       version = "50200.3.0";
+       sha256 = "14111sq1k7iw8yy050805x0m80i9mixgxaqkl15gm0pvm4ap5ycd";
        libraryHaskellDepends = [
          base containers mattermost-api QuickCheck text time
        ];
@@ -163948,8 +164593,8 @@ self: {
      }:
      mkDerivation {
        pname = "mmsyn7h";
-       version = "0.4.1.0";
-       sha256 = "0i7gpq32zsfdbkq5yydban70g4r16b8z9c1f5hlf0mid57zvmy9v";
+       version = "0.5.1.0";
+       sha256 = "0hrkk5fnknjb6871frf6g2j896vbbbyhhxph4ay3f82s4vyh4zvs";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -163970,8 +164615,8 @@ self: {
     ({ mkDerivation, base, directory, mmsyn2, mmsyn7ukr, vector }:
      mkDerivation {
        pname = "mmsyn7l";
-       version = "0.2.0.0";
-       sha256 = "1x1yk5c51wrr1nrcq76msgc1g4rrh2lghbzhz8xh5z0a2qdich1s";
+       version = "0.2.3.0";
+       sha256 = "1i9va9ynk4iihvgm5ivdf9pnjc7md2crdfkyww3a709ff416v60x";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base directory mmsyn2 mmsyn7ukr vector ];
@@ -164006,8 +164651,8 @@ self: {
      }:
      mkDerivation {
        pname = "mmsyn7ukr";
-       version = "0.6.1.1";
-       sha256 = "15gj44ij2hc1mrlminb7fzg502x2fa2w34k0p9k45hl77l961m49";
+       version = "0.6.3.0";
+       sha256 = "1q831acj5a3c0dxlhy2gqci2925p6szz29c90q0nfs8psp58lz42";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -167892,6 +168537,152 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
+  "mu-avro" = callPackage
+    ({ mkDerivation, aeson, avro, base, bytestring, containers
+     , mu-schema, sop-core, tagged, template-haskell, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "mu-avro";
+       version = "0.1.0.0";
+       sha256 = "1g5083vwd0s7h27r8l8mdrqwbflq89cgm1660cd1nd29vypwz55x";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson avro base bytestring containers mu-schema sop-core tagged
+         template-haskell text unordered-containers vector
+       ];
+       executableHaskellDepends = [ avro base bytestring mu-schema ];
+       description = "Avro serialization support for Mu microservices";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "mu-grpc-client" = callPackage
+    ({ mkDerivation, async, base, bytestring, conduit, http2
+     , http2-client, http2-client-grpc, http2-grpc-proto3-wire
+     , mu-protobuf, mu-rpc, mu-schema, sop-core, stm, stm-chans
+     , stm-conduit, template-haskell, text, th-abstraction
+     }:
+     mkDerivation {
+       pname = "mu-grpc-client";
+       version = "0.1.0.0";
+       sha256 = "00i6z413dknh71dnzy61wcgkcwczj74042glsag8193pr1kxa3s6";
+       libraryHaskellDepends = [
+         async base bytestring conduit http2 http2-client http2-client-grpc
+         http2-grpc-proto3-wire mu-protobuf mu-rpc mu-schema sop-core stm
+         stm-chans stm-conduit template-haskell text th-abstraction
+       ];
+       description = "gRPC clients from Mu definitions";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "mu-grpc-server" = callPackage
+    ({ mkDerivation, async, base, bytestring, conduit
+     , http2-grpc-proto3-wire, http2-grpc-types, mtl, mu-protobuf
+     , mu-rpc, mu-schema, sop-core, stm, stm-conduit, wai, warp
+     , warp-grpc, warp-tls
+     }:
+     mkDerivation {
+       pname = "mu-grpc-server";
+       version = "0.1.0.1";
+       sha256 = "0f494cn3x1v6hdmyf7w97hvhlvichw70pz9jza232rv7ds6bq38j";
+       revision = "1";
+       editedCabalFile = "0g1qs1ydjy0yn2997il049ldb303gvjvc1pn7j161zb31zlc699m";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         async base bytestring conduit http2-grpc-proto3-wire
+         http2-grpc-types mtl mu-protobuf mu-rpc mu-schema sop-core stm
+         stm-conduit wai warp warp-grpc warp-tls
+       ];
+       executableHaskellDepends = [
+         async base bytestring conduit http2-grpc-proto3-wire
+         http2-grpc-types mtl mu-protobuf mu-rpc mu-schema sop-core stm
+         stm-conduit wai warp warp-grpc warp-tls
+       ];
+       description = "gRPC servers for Mu definitions";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "mu-persistent" = callPackage
+    ({ mkDerivation, base, monad-logger, mu-schema, persistent
+     , resourcet, transformers
+     }:
+     mkDerivation {
+       pname = "mu-persistent";
+       version = "0.1.0.0";
+       sha256 = "16y1d69zwfrv2wdx0xj1aavhkfv5z6bg9wvzj29215k1vcvarx7i";
+       libraryHaskellDepends = [
+         base monad-logger mu-schema persistent resourcet transformers
+       ];
+       description = "Utilities for interoperation between Mu and Persistent";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "mu-protobuf" = callPackage
+    ({ mkDerivation, base, bytestring, compendium-client, http-client
+     , http2-grpc-proto3-wire, language-protobuf, mu-rpc, mu-schema
+     , proto3-wire, servant-client-core, sop-core, template-haskell
+     , text
+     }:
+     mkDerivation {
+       pname = "mu-protobuf";
+       version = "0.1.0.0";
+       sha256 = "1vlsq45cjkll4y9fjgjnvp1d9ax850zxy9rawprcrnwc48wmpdxz";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base bytestring compendium-client http-client
+         http2-grpc-proto3-wire language-protobuf mu-rpc mu-schema
+         proto3-wire servant-client-core sop-core template-haskell text
+       ];
+       executableHaskellDepends = [
+         base bytestring mu-schema proto3-wire text
+       ];
+       description = "Protocol Buffers serialization and gRPC schema import for Mu microservices";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "mu-rpc" = callPackage
+    ({ mkDerivation, base, conduit, mtl, mu-schema, sop-core
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "mu-rpc";
+       version = "0.1.0.0";
+       sha256 = "1hinkmhgp49sl7d00iz20p9maf47almii9000hfkszyqbq1dh58p";
+       libraryHaskellDepends = [
+         base conduit mtl mu-schema sop-core template-haskell text
+       ];
+       description = "Protocol-independent declaration of services and servers";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "mu-schema" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, sop-core
+     , template-haskell, text, th-abstraction, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "mu-schema";
+       version = "0.1.0.0";
+       sha256 = "0yqm70w5xbzlcgqdwywfr0qncxlzi9z3nshs8x06shd0g0gjgmhy";
+       libraryHaskellDepends = [
+         aeson base bytestring containers sop-core template-haskell text
+         th-abstraction unordered-containers vector
+       ];
+       description = "Format-independent schemas for serialization";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "mucipher" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -169084,6 +169875,27 @@ self: {
        broken = true;
      }) {};
 
+  "musicScroll" = callPackage
+    ({ mkDerivation, async, base, bytestring, containers, dbus, gi-gtk
+     , gi-gtk-hs, gtk3, req, stm, tagsoup, text
+     }:
+     mkDerivation {
+       pname = "musicScroll";
+       version = "0.1.0.0";
+       sha256 = "1k0di4xiv1jbfdcbwgqf3cn71fn8351lhhd82nv9cj6h3pmphxvd";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         async base bytestring containers dbus gi-gtk gi-gtk-hs req stm
+         tagsoup text
+       ];
+       executableHaskellDepends = [ base ];
+       executablePkgconfigDepends = [ gtk3 ];
+       description = "Supply your tunes info without leaving your music player";
+       license = stdenv.lib.licenses.gpl3;
+     }) {inherit (pkgs) gtk3;};
+
   "musicbrainz-email" = callPackage
     ({ mkDerivation, aeson, amqp, base, blaze-builder, bytestring
      , configurator, errors, ghc-prim, heist, HTTP, HUnit, mime-mail
@@ -172096,6 +172908,8 @@ self: {
        ];
        description = "An interface to bitcoind";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "network-bsd" = callPackage
@@ -172603,12 +173417,12 @@ self: {
      }) {};
 
   "network-run" = callPackage
-    ({ mkDerivation, base, network }:
+    ({ mkDerivation, base, bytestring, network }:
      mkDerivation {
        pname = "network-run";
-       version = "0.2.1";
-       sha256 = "0fviap6njppdw1dv9dy5027q37kz93w3vdzij0wgp4jp284qcc1f";
-       libraryHaskellDepends = [ base network ];
+       version = "0.2.2";
+       sha256 = "1znf2pafcg1gcrb3yyc69h6y5mb8hilibr5khcwil09i5djsjyxx";
+       libraryHaskellDepends = [ base bytestring network ];
        description = "Simple network runner library";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -173529,8 +174343,8 @@ self: {
      }:
      mkDerivation {
        pname = "ngx-export-tools-extra";
-       version = "0.2.0.0";
-       sha256 = "16d1akwdn7w6g4qpa3mz0wb0prwf3wsv9clllbqdg66mk830dznh";
+       version = "0.2.1.0";
+       sha256 = "0xka55h7c5zqyb8nj1pyq0iq50yfwy4p6fspya1zbi0yjblnxnsa";
        libraryHaskellDepends = [
          aeson ansi-wl-pprint base base64 bytestring containers ede
          enclosed-exceptions http-client http-types ngx-export
@@ -173762,8 +174576,8 @@ self: {
      }:
      mkDerivation {
        pname = "niv";
-       version = "0.2.11";
-       sha256 = "1llgfcrj4cayjga84dmn35xkaf8rckxpqrxqf4gagff9fpis96gs";
+       version = "0.2.12";
+       sha256 = "0lbkc49ddkxb6x3miimcd2c4ajwf7d9z0hay54n0gmz7d92ha8q0";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -178998,8 +179812,8 @@ self: {
      }:
      mkDerivation {
        pname = "ormolu";
-       version = "0.0.2.0";
-       sha256 = "10p3h98k5ph2awmdd89k8knavv4npvdmh00a9nrzaw6z32j0igfh";
+       version = "0.0.3.0";
+       sha256 = "04s48k3w4lgi682q8cllhmmawffl2781hi462gkcjr18kx46swx1";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -179917,6 +180731,25 @@ self: {
        broken = true;
      }) {pam = null;};
 
+  "pan-os-syslog" = callPackage
+    ({ mkDerivation, base, byteslice, bytesmith, chronos, gauge, ip
+     , primitive, primitive-addr, run-st
+     }:
+     mkDerivation {
+       pname = "pan-os-syslog";
+       version = "0.1.0.0";
+       sha256 = "0ydydbql0pgd6vp9zvzjf0qzsprjaicz9vffrrp3z1xgmfynh70r";
+       libraryHaskellDepends = [
+         base byteslice bytesmith chronos ip primitive primitive-addr run-st
+       ];
+       testHaskellDepends = [ base byteslice primitive ];
+       benchmarkHaskellDepends = [ base byteslice gauge primitive ];
+       description = "Parse syslog traffic from PAN-OS";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "panda" = callPackage
     ({ mkDerivation, base, cgi, containers, data-default, directory
      , filepath, gravatar, haskell98, hcheat, kibro, MissingH, mps
@@ -181694,6 +182527,8 @@ self: {
        ];
        description = "Streaming Parquet reader";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "parse-dimacs" = callPackage
@@ -182493,6 +183328,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "password_0_1_0_1" = callPackage
+    ({ mkDerivation, base, bytestring, doctest, QuickCheck
+     , quickcheck-instances, scrypt, text
+     }:
+     mkDerivation {
+       pname = "password";
+       version = "0.1.0.1";
+       sha256 = "0n96n9kiiij6pf587y21v39c2zh9r4n4yd6n2k8km770k3bg1skr";
+       libraryHaskellDepends = [ base scrypt text ];
+       testHaskellDepends = [
+         base bytestring doctest QuickCheck quickcheck-instances
+       ];
+       description = "plain-text password and hashed password datatypes and functions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "password-instances" = callPackage
     ({ mkDerivation, aeson, base, doctest, http-api-data, password
      , persistent, QuickCheck, quickcheck-instances
@@ -182511,6 +183363,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "password-instances_0_3_0_1" = callPackage
+    ({ mkDerivation, aeson, base, doctest, http-api-data, password
+     , persistent, QuickCheck, quickcheck-instances
+     }:
+     mkDerivation {
+       pname = "password-instances";
+       version = "0.3.0.1";
+       sha256 = "03x9ky018r1ihl4ajc1fcw78g8h1vk3dzr4gjqck78jsb8kj7l93";
+       libraryHaskellDepends = [
+         aeson base http-api-data password persistent
+       ];
+       testHaskellDepends = [
+         base doctest QuickCheck quickcheck-instances
+       ];
+       description = "typeclass instances for password package";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "passwords" = callPackage
     ({ mkDerivation, base, containers, MonadRandom, random }:
      mkDerivation {
@@ -184674,10 +185545,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-mongoDB";
-       version = "2.9.0.1";
-       sha256 = "08pcx9hn461ww12ziq4fxnxn01pv9rpgmz6lmxk0qpxagp0jfk85";
-       revision = "1";
-       editedCabalFile = "14x751hns0h0ykjhlncm7d5p9dzll7r0rvpafh1kz4149r8566xl";
+       version = "2.9.0.2";
+       sha256 = "0q78y1ydsvm0jrsi211zq789vy50czhskwq13plv6l2h4860917v";
        libraryHaskellDepends = [
          aeson base bson bytestring cereal conduit http-api-data mongoDB
          network path-pieces persistent resource-pool resourcet text time
@@ -184876,7 +185745,7 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
-  "persistent-postgresql_2_10_1_1" = callPackage
+  "persistent-postgresql_2_10_1_2" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
      , containers, fast-logger, hspec, hspec-expectations, HUnit
      , monad-logger, persistent, persistent-qq, persistent-template
@@ -184886,8 +185755,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-postgresql";
-       version = "2.10.1.1";
-       sha256 = "075msvfvi3f1ac002cd3mvj075c16ffvh6k2syls7kcpgy1z7r9v";
+       version = "2.10.1.2";
+       sha256 = "1q7n0h16argvpw2y3f8mxzmvy24q6if46ab9nvybviki283zbvlb";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring conduit containers monad-logger
          persistent postgresql-libpq postgresql-simple resource-pool
@@ -185173,7 +186042,7 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
-  "persistent-template_2_8_0" = callPackage
+  "persistent-template_2_8_0_1" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, criterion
      , deepseq, deepseq-generics, file-embed, hspec, http-api-data
      , monad-control, monad-logger, path-pieces, persistent, QuickCheck
@@ -185182,8 +186051,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-template";
-       version = "2.8.0";
-       sha256 = "16yjrl0gh4jbs4skr7iv6a55lny59bqhd6hjmvch1cl9j5d0c0g3";
+       version = "2.8.0.1";
+       sha256 = "0chgzq70ss8b9hkq0v6zi2kdqsbj3xxcl485ajmwrxclkz1f8c3n";
        libraryHaskellDepends = [
          aeson base bytestring containers http-api-data monad-control
          monad-logger path-pieces persistent template-haskell text
@@ -190935,6 +191804,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "postgresql-simple-migration_0_1_15_0" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, cryptohash
+     , directory, hspec, postgresql-simple, text, time
+     }:
+     mkDerivation {
+       pname = "postgresql-simple-migration";
+       version = "0.1.15.0";
+       sha256 = "0j6nhyknxlmpl0yrdj1pifw1fbb24080jgg64grnhqjwh1d44dvd";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base base64-bytestring bytestring cryptohash directory
+         postgresql-simple time
+       ];
+       executableHaskellDepends = [
+         base base64-bytestring bytestring cryptohash directory
+         postgresql-simple text time
+       ];
+       testHaskellDepends = [ base bytestring hspec postgresql-simple ];
+       description = "PostgreSQL Schema Migrations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "postgresql-simple-named" = callPackage
     ({ mkDerivation, base, bytestring, doctest, Glob, hspec, mtl
      , postgresql-simple, resource-pool, text, transformers
@@ -191821,12 +192714,14 @@ self: {
      }) {};
 
   "predicate-transformers" = callPackage
-    ({ mkDerivation, adjunctions, base, lens, mtl }:
+    ({ mkDerivation, adjunctions, base, deepseq, lens, mtl }:
      mkDerivation {
        pname = "predicate-transformers";
-       version = "0.6.0.0";
-       sha256 = "0m1dgkfbw4prhccllpdm7h99shp2554f1bvi0s950qa2k3mvz9l4";
-       libraryHaskellDepends = [ adjunctions base lens mtl ];
+       version = "0.7.0.2";
+       sha256 = "0wkd7xz3d4sifx9cxm9rnjskhxrbdyqpdspi0sa6jr1ckmq25zpf";
+       revision = "1";
+       editedCabalFile = "1b02l2fdfxvlsvhcmkpsp0vzc0igsd0nrb64yb7af5a7z08cc9c0";
+       libraryHaskellDepends = [ adjunctions base deepseq lens mtl ];
        description = "A library for writing predicates and transformations over predicates in Haskell";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -192485,15 +193380,15 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ cdepillabout ];
      }) {};
 
-  "pretty-simple_3_2_0_0" = callPackage
+  "pretty-simple_3_2_1_0" = callPackage
     ({ mkDerivation, ansi-terminal, base, Cabal, cabal-doctest
      , containers, criterion, doctest, Glob, mtl, QuickCheck
      , template-haskell, text, transformers
      }:
      mkDerivation {
        pname = "pretty-simple";
-       version = "3.2.0.0";
-       sha256 = "0jbxyjiyshbc5q5avbmm5ms8n8m0zm540gl3x7vz8k22pcb65jv8";
+       version = "3.2.1.0";
+       sha256 = "01cnvfn2y7qgp9pc9ra9glmgs64f1m8bxa8n31yy8jlkwwmyhly6";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -192711,6 +193606,19 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "prettyprinter-graphviz" = callPackage
+    ({ mkDerivation, base, graphviz, prettyprinter, text }:
+     mkDerivation {
+       pname = "prettyprinter-graphviz";
+       version = "0.1.0.1";
+       sha256 = "1h6jr4vh60j54ajsylh41y0iskz5yjgh2879v25z1mw7vfi40kww";
+       libraryHaskellDepends = [ base graphviz prettyprinter text ];
+       description = "a prettyprinter backend for graphviz";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "prettyprinter-vty" = callPackage
     ({ mkDerivation, base, prettyprinter, vty }:
      mkDerivation {
@@ -196098,6 +197006,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pure-zlib_0_6_7" = callPackage
+    ({ mkDerivation, array, base, base-compat, bytestring
+     , bytestring-builder, containers, filepath, fingertree, HUnit
+     , QuickCheck, tasty, tasty-hunit, tasty-quickcheck, time
+     }:
+     mkDerivation {
+       pname = "pure-zlib";
+       version = "0.6.7";
+       sha256 = "1ddj88zk94gqqhxiyvkachvhwi5n2la4pfaf5vppkc9ma7sjhyhn";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base base-compat bytestring bytestring-builder containers
+         fingertree
+       ];
+       executableHaskellDepends = [ base base-compat bytestring ];
+       testHaskellDepends = [
+         base base-compat bytestring filepath HUnit QuickCheck tasty
+         tasty-hunit tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ base base-compat bytestring time ];
+       description = "A Haskell-only implementation of zlib / DEFLATE";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pureMD5" = callPackage
     ({ mkDerivation, base, binary, bytestring, cereal, crypto-api
      , crypto-api-tests, pretty-hex, QuickCheck, tagged, test-framework
@@ -200269,14 +201203,14 @@ self: {
      }:
      mkDerivation {
        pname = "raven-haskell";
-       version = "0.1.2.1";
-       sha256 = "1mzz7z99a2agivwypcl62y68vpmihyh6rvy79w1jd29n1l2p621x";
+       version = "0.1.3.0";
+       sha256 = "0jd0xxrliqc85mifkqzblc3fi6xjgkwkqxijqjx42r5jc0m1qs7f";
        libraryHaskellDepends = [
          aeson base bytestring http-conduit mtl network random resourcet
          text time unordered-containers uuid
        ];
        testHaskellDepends = [
-         aeson base bytestring hspec unordered-containers
+         aeson base bytestring hspec time unordered-containers
        ];
        description = "Haskell client for Sentry logging service";
        license = stdenv.lib.licenses.mit;
@@ -201091,6 +202025,8 @@ self: {
          base bytestring containers directory hspec text
        ];
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "read-editor" = callPackage
@@ -202621,6 +203557,44 @@ self: {
        broken = true;
      }) {};
 
+  "reflex-fsnotify" = callPackage
+    ({ mkDerivation, base, fsnotify, reflex }:
+     mkDerivation {
+       pname = "reflex-fsnotify";
+       version = "0.1.0.0";
+       sha256 = "1rj1mk5i3a74i5wjwqwbh5546vjqw97laswg4lkiihkq9w20dlry";
+       libraryHaskellDepends = [ base fsnotify reflex ];
+       description = "reflex-frp interface for watching files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "reflex-ghci" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, fsnotify
+     , optparse-applicative, process, reflex, reflex-fsnotify
+     , reflex-process, reflex-vty, regex-tdfa, text, unix, vty
+     }:
+     mkDerivation {
+       pname = "reflex-ghci";
+       version = "0.1.2.0";
+       sha256 = "13wilfk6d8s201jyifm1ynw8d9ziizaldhg8g9vjvj0j9sxiv1ma";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring directory filepath fsnotify process reflex
+         reflex-fsnotify reflex-process reflex-vty regex-tdfa text unix
+       ];
+       executableHaskellDepends = [
+         base optparse-applicative process reflex reflex-process reflex-vty
+         text vty
+       ];
+       description = "A GHCi widget library for use in reflex applications";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "reflex-gloss" = callPackage
     ({ mkDerivation, base, dependent-sum, gloss, mtl, reflex
      , transformers
@@ -202720,6 +203694,28 @@ self: {
        broken = true;
      }) {};
 
+  "reflex-process" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default
+     , process, reflex, reflex-vty, text, unix, vty
+     }:
+     mkDerivation {
+       pname = "reflex-process";
+       version = "0.1.0.1";
+       sha256 = "0v7xiax45ax2z6w0b4sprc171pv9fkbld7warmk0phwr3sfzb9ai";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring data-default process reflex unix
+       ];
+       executableHaskellDepends = [
+         base containers data-default process reflex reflex-vty text vty
+       ];
+       description = "reflex-frp interface for running shell commands";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "reflex-sdl2" = callPackage
     ({ mkDerivation, async, base, containers, dependent-sum
      , exception-transformers, mtl, primitive, ref-tf, reflex, sdl2, stm
@@ -202766,8 +203762,8 @@ self: {
      }:
      mkDerivation {
        pname = "reflex-vty";
-       version = "0.1.2.1";
-       sha256 = "0l0hpsxg2hjg0446pk34ip24zx8lv6jmr63hizpxjr3vspiff5g0";
+       version = "0.1.3.0";
+       sha256 = "1200svlgpy4zqdfarx1b8n64vgskb9jl00p548ya4pwi0bsv95y7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -202906,26 +203902,29 @@ self: {
 
   "refurb" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, bytestring, classy-prelude
-     , composite-base, composite-opaleye, dlist, fast-logger, hspec
-     , lens, monad-logger, old-locale, opaleye, optparse-applicative
-     , postgresql-simple, process, product-profunctors, template-haskell
-     , text, these, thyme, vector-space
+     , composite-base, composite-opaleye, dlist, exceptions, fast-logger
+     , hspec, lens, monad-control, monad-logger, old-locale, opaleye
+     , optparse-applicative, postgresql-simple, process
+     , product-profunctors, template-haskell, text, these, these-lens
+     , thyme, transformers-base, vector-space
      }:
      mkDerivation {
        pname = "refurb";
-       version = "0.2.2.0";
-       sha256 = "0qnlkpi8hc6a1xf094zf675i4ap3gymxirdmbkdwjq8j54w3lkhl";
+       version = "0.2.3.0";
+       sha256 = "09p9i0l59f34k12pbxvi50bxpj2d864n96fr79mq41xm0bhygsjb";
        libraryHaskellDepends = [
          ansi-wl-pprint base bytestring classy-prelude composite-base
-         composite-opaleye dlist fast-logger lens monad-logger old-locale
-         opaleye optparse-applicative postgresql-simple process
-         product-profunctors template-haskell text these thyme vector-space
+         composite-opaleye dlist exceptions fast-logger lens monad-control
+         monad-logger old-locale opaleye optparse-applicative
+         postgresql-simple process product-profunctors template-haskell text
+         these these-lens thyme transformers-base vector-space
        ];
        testHaskellDepends = [
          ansi-wl-pprint base bytestring classy-prelude composite-base
-         composite-opaleye dlist fast-logger hspec lens monad-logger
-         old-locale opaleye optparse-applicative postgresql-simple process
-         product-profunctors template-haskell text these thyme vector-space
+         composite-opaleye dlist exceptions fast-logger hspec lens
+         monad-control monad-logger old-locale opaleye optparse-applicative
+         postgresql-simple process product-profunctors template-haskell text
+         these these-lens thyme transformers-base vector-space
        ];
        description = "Tools for maintaining a database";
        license = stdenv.lib.licenses.bsd3;
@@ -203138,8 +204137,8 @@ self: {
      }:
      mkDerivation {
        pname = "regex-do";
-       version = "3.2";
-       sha256 = "0ywp64hifikr5wa0spcg7wl2grrfshyiax25pxzs7hk6xrjais57";
+       version = "3.2.1";
+       sha256 = "1jng0vmdvgwysfw71klgfzx6hs18v64q17had9j2kkg82w6fivqw";
        libraryHaskellDepends = [
          array base bytestring regex-base regex-pcre stringsearch tagged
          text
@@ -203150,6 +204149,8 @@ self: {
        ];
        description = "PCRE wrapper";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "regex-easy" = callPackage
@@ -207106,6 +208107,32 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "rio_0_1_13_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, directory
+     , exceptions, filepath, hashable, hspec, microlens, mtl, primitive
+     , process, QuickCheck, text, time, typed-process, unix, unliftio
+     , unliftio-core, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "rio";
+       version = "0.1.13.0";
+       sha256 = "1jsrblk451ayf5smplngxmch73pf4r0qanafyyfn0g5wyh6hsxcm";
+       libraryHaskellDepends = [
+         base bytestring containers deepseq directory exceptions filepath
+         hashable microlens mtl primitive process text time typed-process
+         unix unliftio unliftio-core unordered-containers vector
+       ];
+       testHaskellDepends = [
+         base bytestring containers deepseq directory exceptions filepath
+         hashable hspec microlens mtl primitive process QuickCheck text time
+         typed-process unix unliftio unliftio-core unordered-containers
+         vector
+       ];
+       description = "A standard library for Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "rio-orphans" = callPackage
     ({ mkDerivation, base, exceptions, fast-logger, hspec
      , monad-control, monad-logger, resourcet, rio, transformers-base
@@ -207706,14 +208733,14 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
-  "rocksdb-query_0_3_0" = callPackage
+  "rocksdb-query_0_3_1" = callPackage
     ({ mkDerivation, base, bytestring, cereal, conduit, data-default
      , hspec, resourcet, rocksdb-haskell, unliftio
      }:
      mkDerivation {
        pname = "rocksdb-query";
-       version = "0.3.0";
-       sha256 = "0fy7d9m9g0jwssjgkhyg2d170s7mp7g9kz73zgnnp0xgl6mpxrsi";
+       version = "0.3.1";
+       sha256 = "072l4f5xb5prsbs7d7j12mwxy0rlrsnqf6w7g09xmq7n3mz0sv0f";
        libraryHaskellDepends = [
          base bytestring cereal conduit resourcet rocksdb-haskell unliftio
        ];
@@ -209027,8 +210054,8 @@ self: {
     ({ mkDerivation, base, primitive, primitive-unlifted }:
      mkDerivation {
        pname = "run-st";
-       version = "0.1.0.0";
-       sha256 = "0gy5qkq8g7azfp170nsvbfdmj4k058zzfz6imvm2yvbqsny6i77a";
+       version = "0.1.1.0";
+       sha256 = "11if8xwv22ry0mxrglg3pcx3cx8ljnq56f3m9vjkr9jcj2881dvf";
        libraryHaskellDepends = [ base primitive primitive-unlifted ];
        description = "runST without boxing penalty";
        license = stdenv.lib.licenses.bsd3;
@@ -211455,22 +212482,22 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "science-constants";
-       version = "0.2.0.0";
-       sha256 = "0qp3d9la929kks2b2pyylgznl86gy91lp3zgpb9bn7gas3wll9vy";
+       version = "0.2.0.2";
+       sha256 = "0h60pdq3r32wl9h49i08iq496yf0qwvd0qmlmnk9jy5x3zcdwjmd";
        libraryHaskellDepends = [ base ];
        description = "Mathematical/physical/chemical constants";
-       license = "unknown";
-       hydraPlatforms = stdenv.lib.platforms.none;
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "science-constants-dimensional" = callPackage
-    ({ mkDerivation, base, dimensional, numtype, science-constants }:
+    ({ mkDerivation, base, dimensional, numtype-dk, science-constants
+     }:
      mkDerivation {
        pname = "science-constants-dimensional";
-       version = "0.1.0.2";
-       sha256 = "13yz9c8d52fdrkz23f064s0pp9cc2941qfcfz6b0g4c6f6a0wqkm";
+       version = "0.1.0.3";
+       sha256 = "05svn307q46cskw1ywkkp1b0ym9jcn48dzjij9mvkg5g6gvsbcg4";
        libraryHaskellDepends = [
-         base dimensional numtype science-constants
+         base dimensional numtype-dk science-constants
        ];
        description = "Mathematical/physical/chemical constants";
        license = stdenv.lib.licenses.bsd3;
@@ -212756,6 +213783,33 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Bindings for secp256k1 library from Bitcoin Core";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {libsecp256k1 = null;};
+
+  "secp256k1-haskell_0_1_8" = callPackage
+    ({ mkDerivation, base, base16-bytestring, bytestring, cereal
+     , deepseq, entropy, hashable, hspec, hspec-discover, HUnit
+     , libsecp256k1, mtl, QuickCheck, string-conversions
+     }:
+     mkDerivation {
+       pname = "secp256k1-haskell";
+       version = "0.1.8";
+       sha256 = "0ymmgcvlw4wrmnn0r6nmmpk0djihpappiywwfxvmnq8brqdkf3jk";
+       libraryHaskellDepends = [
+         base base16-bytestring bytestring cereal deepseq entropy hashable
+         QuickCheck string-conversions
+       ];
+       libraryPkgconfigDepends = [ libsecp256k1 ];
+       testHaskellDepends = [
+         base base16-bytestring bytestring cereal deepseq entropy hashable
+         hspec HUnit mtl QuickCheck string-conversions
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Bindings for secp256k1 library from Bitcoin Core";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {libsecp256k1 = null;};
 
   "secp256k1-legacy" = callPackage
@@ -213131,8 +214185,8 @@ self: {
      }:
      mkDerivation {
        pname = "semantic-source";
-       version = "0.0.0.1";
-       sha256 = "0w1iwd67dpvpc43g4x9q686sljrxv6xhx9rlgiw6kzcdil7fcm8z";
+       version = "0.0.1.0";
+       sha256 = "0zzybqys2vc2i06ggkbzcd8b2s68j3qpsrds55p0cvd9ng4dlvgi";
        libraryHaskellDepends = [
          aeson base bytestring deepseq generic-monoid hashable semilattices
          text
@@ -216516,21 +217570,21 @@ self: {
 
   "servant-to-elm" = callPackage
     ({ mkDerivation, aeson, base, bound, elm-syntax, haskell-to-elm
-     , http-types, protolude, servant, text
+     , http-types, protolude, servant, servant-multipart, text
      }:
      mkDerivation {
        pname = "servant-to-elm";
-       version = "0.2.0.0";
-       sha256 = "0kj42y6jb5cqylkvj0iwm857vliagfgbh7rgyzbrgz834r7n5cri";
+       version = "0.3.0.0";
+       sha256 = "1s241rjgr8hwkrnvalx23nbyg3gdi3v5nsdfz2lys4b24wyafg5p";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base bound elm-syntax haskell-to-elm http-types protolude
-         servant text
+         servant servant-multipart text
        ];
        testHaskellDepends = [
          aeson base bound elm-syntax haskell-to-elm http-types protolude
-         servant text
+         servant servant-multipart text
        ];
        description = "Automatically generate Elm clients for Servant APIs";
        license = stdenv.lib.licenses.bsd3;
@@ -218556,8 +219610,8 @@ self: {
      }:
      mkDerivation {
        pname = "shellmate";
-       version = "0.3.4.2";
-       sha256 = "123dv5mjj7nah9mm5yfgwv6ga5lwh4d9xi01zskm3z0ia4fdxs85";
+       version = "0.3.4.3";
+       sha256 = "1cn3kh5rszyis2pqvh3s35zlchxwyf7vssd8md9z8vgqs6apd49r";
        libraryHaskellDepends = [
          base bytestring directory filepath process temporary transformers
          unix
@@ -218574,10 +219628,8 @@ self: {
      }:
      mkDerivation {
        pname = "shellmate-extras";
-       version = "0.3.4.1";
-       sha256 = "0bmqz4k2wcdv2669w053xm4990fdyghqq35m5kwnrbwr9qwn5pgk";
-       revision = "1";
-       editedCabalFile = "11x8alavql8375misc8zry4sz73bz3hxqydmbk9hsymgvkdm51y6";
+       version = "0.3.4.3";
+       sha256 = "1aqc0bslqwrfr8b9nkk52n3fjw2b91gnn7pzzp24smm1cbm2x50d";
        libraryHaskellDepends = [
          base bytestring feed http-conduit http-types mime-types shellmate
          tagsoup text utf8-string xml
@@ -218875,6 +219927,8 @@ self: {
        isExecutable = true;
        description = "Examples for the shine package";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "shine-varying" = callPackage
@@ -220512,6 +221566,8 @@ self: {
        librarySystemDepends = [ sqlite ];
        description = "Simplest SQLite3 binding";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) sqlite;};
 
   "simplex" = callPackage
@@ -221259,6 +222315,8 @@ self: {
        pname = "skip-var";
        version = "0.1.1.0";
        sha256 = "07nljfjd45fagisd99pqz2jhznfapk9cgd9lyy9cija7pmxfbg5z";
+       revision = "1";
+       editedCabalFile = "0vl2y19l7xhlq08f91ggycj4imfdxvkj2fsaz8ifc0waxk3q7ja8";
        libraryHaskellDepends = [ base ];
        description = "Skip variables";
        license = stdenv.lib.licenses.mit;
@@ -221891,6 +222949,8 @@ self: {
        pname = "small-bytearray-builder";
        version = "0.3.1.0";
        sha256 = "1swv0cwsxrmffkvx16qxxxkxfhqfwxwfz7d2msp5fzzz6all6vli";
+       revision = "1";
+       editedCabalFile = "16kslqf3zwqvjk3hhf1s3hb1xkhz0nk2a9n59fwbwqxqrbxy4kdb";
        libraryHaskellDepends = [
          base byteslice bytestring natural-arithmetic primitive
          primitive-offset run-st text-short wide-word
@@ -229774,15 +230834,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "stratosphere_0_46_0" = callPackage
+  "stratosphere_0_47_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
      , hashable, hspec, hspec-discover, lens, template-haskell, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "stratosphere";
-       version = "0.46.0";
-       sha256 = "07qm0bi5f3fkpnbsjbyi4qv2kp7w0wb7zd75q4cikjwkm1wxlldr";
+       version = "0.47.0";
+       sha256 = "04917xnc2hs613xi8d2mj3z2miyrrdmbywcmasg7ffcs2vxig48q";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -230625,6 +231685,8 @@ self: {
        ];
        description = "Folder watching as a Streamly stream";
        license = stdenv.lib.licenses.gpl3Plus;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "streamproc" = callPackage
@@ -231616,6 +232678,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "structured-cli_2_6_0_0" = callPackage
+    ({ mkDerivation, base, data-default, exceptions, haskeline, mtl
+     , split, transformers
+     }:
+     mkDerivation {
+       pname = "structured-cli";
+       version = "2.6.0.0";
+       sha256 = "1g0yq5kxidmh4x0izvspafhhir64krw986s0a5rkbvkjk7ahvm7y";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base data-default exceptions haskeline mtl split transformers
+       ];
+       executableHaskellDepends = [ base data-default mtl split ];
+       description = "Application library for building interactive console CLIs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "structured-haskell-mode" = callPackage
     ({ mkDerivation, base, descriptive, ghc-prim, haskell-src-exts
      , text
@@ -231841,8 +232922,8 @@ self: {
      }:
      mkDerivation {
        pname = "stylist";
-       version = "1.1.0.0";
-       sha256 = "1sgfyslbsppndgbywlqynzfxd63y6vr9mig6d76czh427qvn7qpp";
+       version = "1.1.1.0";
+       sha256 = "0adcw26540a8srlmypjdv41icw5d3j3i2q6i7j92hhssj642bfw4";
        libraryHaskellDepends = [
          base css-syntax hashable network-uri text unordered-containers
        ];
@@ -235101,6 +236182,8 @@ self: {
        executablePkgconfigDepends = [ gtk3 ];
        description = "A desktop bar similar to xmobar, but with more GUI";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) gtk3;};
 
   "tag-bits" = callPackage
@@ -235758,8 +236841,8 @@ self: {
     ({ mkDerivation, base, containers, mtl, safe, text }:
      mkDerivation {
        pname = "tamper";
-       version = "0.4.2.2";
-       sha256 = "0jzx76k1bd47ag3y73xmhi7yw7abr5hk9gy95gv3y7knb6mj9cdl";
+       version = "0.4.2.3";
+       sha256 = "0im6m05lj6nfap6qqff9qmb8vvv4i3g17pcqdg6rqb2xx86dfnjj";
        libraryHaskellDepends = [ base containers mtl safe text ];
        description = "Blaze-style HTML templates as a Monad Transformer";
        license = stdenv.lib.licenses.bsd3;
@@ -236020,8 +237103,8 @@ self: {
      }:
      mkDerivation {
        pname = "taskell";
-       version = "1.9.0.0";
-       sha256 = "14fvvk0a0i0giq5ab8nhkimxhnfhwbqadgjh6p6xvrnm8qikkqg1";
+       version = "1.9.1.0";
+       sha256 = "07hkkx71xb6k89ylis58lcv69ab1avggb4347ppzv2wxp6qljn5l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -236252,8 +237335,8 @@ self: {
        pname = "tasty-hedgehog";
        version = "1.0.0.1";
        sha256 = "1mbg5q0c0xfrk4npfj60pi693igb7r5l78x6xf9fk2jglw0nmxhz";
-       revision = "1";
-       editedCabalFile = "1n6797fm8swyrk8cw7zxz593gq82wx8dayvm204rmgcz75bslcpn";
+       revision = "2";
+       editedCabalFile = "0zrp7njdx69pvhf1lg4fv3p962qfsm2z3qk09h0jhxmfj5ishnhs";
        libraryHaskellDepends = [ base hedgehog tagged tasty ];
        testHaskellDepends = [
          base hedgehog tasty tasty-expected-failure
@@ -236262,6 +237345,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "tasty-hedgehog_1_0_0_2" = callPackage
+    ({ mkDerivation, base, hedgehog, tagged, tasty
+     , tasty-expected-failure
+     }:
+     mkDerivation {
+       pname = "tasty-hedgehog";
+       version = "1.0.0.2";
+       sha256 = "1vsv3m6brhshpqm8qixz97m7h0nx67cj6ira4cngbk7mf5rqylv5";
+       libraryHaskellDepends = [ base hedgehog tagged tasty ];
+       testHaskellDepends = [
+         base hedgehog tasty tasty-expected-failure
+       ];
+       description = "Integration for tasty and hedgehog";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tasty-hedgehog-coverage" = callPackage
     ({ mkDerivation, base, containers, hedgehog, mtl, tagged, tasty
      , tasty-expected-failure, tasty-hedgehog, text, transformers
@@ -240990,6 +242090,26 @@ self: {
        license = "GPL";
      }) {};
 
+  "threaded" = callPackage
+    ({ mkDerivation, async, base, chan, extractable-singleton, hashable
+     , monad-control-aligned, mtl, stm, tmapmvar
+     }:
+     mkDerivation {
+       pname = "threaded";
+       version = "0.0.0";
+       sha256 = "1f7zvigy2gwj0dsxfs4m07ng4k4l29i6mccjnvqz0b45gsm1b4fj";
+       libraryHaskellDepends = [
+         async base chan extractable-singleton hashable
+         monad-control-aligned mtl stm tmapmvar
+       ];
+       testHaskellDepends = [
+         async base chan extractable-singleton hashable
+         monad-control-aligned mtl stm tmapmvar
+       ];
+       description = "Manage concurrently operating threads without having to spark them";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "threadmanager" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -241472,6 +242592,8 @@ self: {
        testHaskellDepends = [ async base deepseq doctest Glob hspec ];
        description = "A concurrent utility inspired by Ticker in golang";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "tickle" = callPackage
@@ -243464,6 +244586,8 @@ self: {
          text unordered-containers
        ];
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "tokenify" = callPackage
@@ -245404,8 +246528,8 @@ self: {
      }:
      mkDerivation {
        pname = "tree-sitter";
-       version = "0.7.2.0";
-       sha256 = "1gq30qjywg6cgbzgxxfngkn5c4kbddnij7wdvz8x7k1yb13ra0hd";
+       version = "0.8.0.0";
+       sha256 = "14hb5ss2iwkbipyl7yvchhajs6wli2pfw85zs5qb1yzaxxx78qml";
        libraryHaskellDepends = [
          aeson base bytestring containers directory filepath fused-effects
          semantic-source split template-haskell text unordered-containers
@@ -245424,8 +246548,8 @@ self: {
      }:
      mkDerivation {
        pname = "tree-sitter-go";
-       version = "0.4.0.0";
-       sha256 = "0i469134jc1i665nr5j3z3al8lgsv74mm5x7rk4gm159kpfm1z1r";
+       version = "0.4.1.0";
+       sha256 = "1a41r2fdmwc7yyqnhfc3y38krklm9s9sn5mbc4lpf2595pqv0ggg";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base semantic-source template-haskell tree-sitter
@@ -245464,8 +246588,8 @@ self: {
      }:
      mkDerivation {
        pname = "tree-sitter-java";
-       version = "0.6.0.0";
-       sha256 = "1jz740pj2ihmkf06ixii93msfn40lh5mky3qc5bvwk5xqf4ai716";
+       version = "0.6.1.0";
+       sha256 = "07zyj3diaq2nrlvxbhbrad1wha2705v5d9kf51vmhxknybdxp5sf";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base semantic-source template-haskell tree-sitter
@@ -245482,19 +246606,26 @@ self: {
      }) {tree-sitter-test-helpers = null;};
 
   "tree-sitter-json" = callPackage
-    ({ mkDerivation, base, template-haskell, text, tree-sitter }:
+    ({ mkDerivation, base, bytestring, hedgehog, pathtype, tasty
+     , tasty-hedgehog, tasty-hunit, template-haskell, text, tree-sitter
+     , tree-sitter-test-helpers
+     }:
      mkDerivation {
        pname = "tree-sitter-json";
-       version = "0.5.0.0";
-       sha256 = "1mq1v81d00l80pg6mji9w1g464hxvgv28djnxany5vy2g38ns7q9";
+       version = "0.6.0.0";
+       sha256 = "0n7rq5a8kjrgr7d7fbhjxybrbgwxr2c8d2wyr80yp27vilvf4lh6";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base template-haskell text tree-sitter ];
+       testHaskellDepends = [
+         base bytestring hedgehog pathtype tasty tasty-hedgehog tasty-hunit
+         text tree-sitter tree-sitter-test-helpers
+       ];
        doHaddock = false;
        description = "Tree-sitter grammar/parser for JSON";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {};
+     }) {tree-sitter-test-helpers = null;};
 
   "tree-sitter-php" = callPackage
     ({ mkDerivation, base, template-haskell, tree-sitter }:
@@ -245513,20 +246644,21 @@ self: {
      }) {};
 
   "tree-sitter-python" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, directory, filepath
-     , hedgehog, pathtype, semantic-source, tasty, tasty-hedgehog
-     , tasty-hunit, template-haskell, text, tree-sitter
-     , tree-sitter-test-helpers
+    ({ mkDerivation, base, bytestring, gauge, hedgehog, pathtype
+     , semantic-source, tasty, tasty-hedgehog, tasty-hunit
+     , template-haskell, text, tree-sitter, tree-sitter-test-helpers
      }:
      mkDerivation {
        pname = "tree-sitter-python";
-       version = "0.8.0.0";
-       sha256 = "08a698qqjck0nml11nrgyzvgrjbkanyvfv0x0bqng0w3mjk62yf0";
+       version = "0.8.1.0";
+       sha256 = "0sjrml57dc9fsjmh555hjsckb05x9pz3lzk970hmm2cfwgnifvyi";
+       isLibrary = true;
+       isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson base directory filepath semantic-source template-haskell
-         tree-sitter
+         base semantic-source template-haskell tree-sitter
        ];
+       executableHaskellDepends = [ base bytestring gauge tree-sitter ];
        testHaskellDepends = [
          base bytestring hedgehog pathtype tasty tasty-hedgehog tasty-hunit
          text tree-sitter tree-sitter-test-helpers
@@ -245539,18 +246671,23 @@ self: {
      }) {tree-sitter-test-helpers = null;};
 
   "tree-sitter-ruby" = callPackage
-    ({ mkDerivation, base, bytestring, hedgehog, pathtype
-     , semantic-source, tasty, tasty-hedgehog, tasty-hunit
+    ({ mkDerivation, base, bytestring, gauge, Glob, hedgehog, lens
+     , pathtype, semantic-source, tasty, tasty-hedgehog, tasty-hunit
      , template-haskell, text, tree-sitter, tree-sitter-test-helpers
      }:
      mkDerivation {
        pname = "tree-sitter-ruby";
-       version = "0.4.0.0";
-       sha256 = "1y26956bryax1n17yf49hqczcig1qd5fk5j39arj93464x142ba9";
+       version = "0.4.1.0";
+       sha256 = "1kb87c1z9jghidygk632lihlqkqbanx48dvpdqxn7ypnni4dzw0k";
+       isLibrary = true;
+       isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base semantic-source template-haskell tree-sitter
        ];
+       executableHaskellDepends = [
+         base bytestring gauge Glob lens pathtype tree-sitter
+       ];
        testHaskellDepends = [
          base bytestring hedgehog pathtype tasty tasty-hedgehog tasty-hunit
          text tree-sitter tree-sitter-test-helpers
@@ -245569,8 +246706,8 @@ self: {
      }:
      mkDerivation {
        pname = "tree-sitter-tsx";
-       version = "0.4.0.0";
-       sha256 = "0q5v1fm9ia83074gkamz06hlcmdkd4vabjfrjqcra7mrvrj1pqa2";
+       version = "0.4.1.0";
+       sha256 = "0bznbbg8yj1qd5z4bqjxf8y4jjbb8w2d68xzmbp66rjbw7nzcs60";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base semantic-source template-haskell tree-sitter
@@ -245593,8 +246730,8 @@ self: {
      }:
      mkDerivation {
        pname = "tree-sitter-typescript";
-       version = "0.4.0.0";
-       sha256 = "0sbvsfipwf2j809kkjcgbqq4k44h69x9dl07dvngjyfimkccv758";
+       version = "0.4.1.0";
+       sha256 = "0p53vi3mjmln5mrmsv6w43jbdlcjywq61qm4911w3qqwmwjbgn14";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base semantic-source template-haskell tree-sitter
@@ -246024,6 +247161,32 @@ self: {
        broken = true;
      }) {};
 
+  "tropical-geometry" = callPackage
+    ({ mkDerivation, algebra, base, containers, criterion, gloss
+     , hlint-test, lens, matrix, numeric-prelude, semiring-simple
+     , singletons, sized, tasty, tasty-hspec, tasty-hunit, type-natural
+     }:
+     mkDerivation {
+       pname = "tropical-geometry";
+       version = "0.0.0.1";
+       sha256 = "12qcfb98yzm0ijnpzjqp3z20i0vvlpvfy4gpz7a001q8sgchd182";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         algebra base containers gloss lens matrix numeric-prelude
+         semiring-simple singletons sized type-natural
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base containers hlint-test tasty tasty-hspec tasty-hunit
+       ];
+       benchmarkHaskellDepends = [ base criterion ];
+       description = "A Tropical Geometry package for Haskell";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "true-name" = callPackage
     ({ mkDerivation, base, containers, template-haskell, time }:
      mkDerivation {
@@ -249133,8 +250296,8 @@ self: {
     ({ mkDerivation, base, bytestring, posix-paths, systemd, unix }:
      mkDerivation {
        pname = "udev";
-       version = "0.1.0.0";
-       sha256 = "1a5i57f50scxbv5snn4xd953bx98qq3cgzhxjnqvxyazqz3h1fx2";
+       version = "0.1.1.0";
+       sha256 = "1sb0bdi221gr58cv2b24izs02wd28fr4jijsbpw8r5gzia2j4wf0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring posix-paths unix ];
@@ -253760,6 +254923,8 @@ self: {
        libraryHaskellDepends = [ base fin lens vec ];
        description = "Vec: length-indexed (sized) list: lens support";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "vec-optics" = callPackage
@@ -253771,6 +254936,8 @@ self: {
        libraryHaskellDepends = [ base fin optics-core vec ];
        description = "Vec: length-indexed (sized) list: optics support";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "vect" = callPackage
@@ -255902,6 +257069,40 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "wai-app-static_3_1_7_1" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup, bytestring
+     , containers, cryptonite, directory, file-embed, filepath, hspec
+     , http-date, http-types, memory, mime-types, mockery, network
+     , old-locale, optparse-applicative, template-haskell, temporary
+     , text, time, transformers, unix-compat, unordered-containers, wai
+     , wai-extra, warp, zlib
+     }:
+     mkDerivation {
+       pname = "wai-app-static";
+       version = "3.1.7.1";
+       sha256 = "10k6jb450p89r6dgpnwh428gg0wfw2qbx9n126jkvbchcjr1f4v8";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base blaze-html blaze-markup bytestring containers cryptonite
+         directory file-embed filepath http-date http-types memory
+         mime-types old-locale optparse-applicative template-haskell text
+         time transformers unix-compat unordered-containers wai wai-extra
+         warp zlib
+       ];
+       executableHaskellDepends = [
+         base bytestring containers directory mime-types text
+       ];
+       testHaskellDepends = [
+         base bytestring filepath hspec http-date http-types mime-types
+         mockery network old-locale temporary text time transformers
+         unix-compat wai wai-extra zlib
+       ];
+       description = "WAI application for static serving";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wai-cli" = callPackage
     ({ mkDerivation, ansi-terminal, base, http-types, iproute
      , monads-tf, network, options, socket-activation, stm
@@ -256220,6 +257421,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "wai-handler-launch_3_0_3" = callPackage
+    ({ mkDerivation, async, base, bytestring, http-types, process
+     , streaming-commons, transformers, wai, warp
+     }:
+     mkDerivation {
+       pname = "wai-handler-launch";
+       version = "3.0.3";
+       sha256 = "1416vx2gnllyrz8vrzq1x6in9ypa1wgxwqyh5zqbb9rfwbb83ha5";
+       libraryHaskellDepends = [
+         async base bytestring http-types process streaming-commons
+         transformers wai warp
+       ];
+       description = "Launch a web app in the default browser";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wai-handler-scgi" = callPackage
     ({ mkDerivation, base, bytestring, wai, wai-extra }:
      mkDerivation {
@@ -257790,7 +259008,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "warp_3_3_6" = callPackage
+  "warp_3_3_7" = callPackage
     ({ mkDerivation, array, async, auto-update, base, bsb-http-chunked
      , bytestring, case-insensitive, containers, directory, gauge
      , ghc-prim, hashable, hspec, http-client, http-date, http-types
@@ -257800,8 +259018,8 @@ self: {
      }:
      mkDerivation {
        pname = "warp";
-       version = "3.3.6";
-       sha256 = "0ldby1rinf6awqhgda72hyvff5pid4lgb9d0kgdxdm5v4qrcvcpd";
+       version = "3.3.7";
+       sha256 = "1145nbrd6gzr0qhd7vgf5vdhs22xd9z1h9cr2jbs77r6kqypzy3v";
        libraryHaskellDepends = [
          array async auto-update base bsb-http-chunked bytestring
          case-insensitive containers ghc-prim hashable http-date http-types
@@ -257891,6 +259109,8 @@ self: {
        libraryHaskellDepends = [ base network systemd unix wai warp ];
        description = "Socket activation and other systemd integration for the Warp web server (WAI)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "warp-tls" = callPackage
@@ -262802,8 +264022,8 @@ self: {
      }:
      mkDerivation {
        pname = "xml-conduit-stylist";
-       version = "1.0.0.0";
-       sha256 = "1w9ig4mr0l0kj8mk7sfsyv8p77k91l93cfpbpvmg32q9wffz2r02";
+       version = "1.0.1.0";
+       sha256 = "1csa940r6a63i01khcm89lvhp7m6dyxpnljn6l6m105z7jfvvy8r";
        libraryHaskellDepends = [
          base containers css-syntax network-uri stylist text
          unordered-containers xml-conduit
@@ -264005,6 +265225,53 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "xrefcheck" = callPackage
+    ({ mkDerivation, aeson, aeson-options, async, autoexporter
+     , base-noprelude, bytestring, cmark-gfm, containers, data-default
+     , deepseq, directory, directory-tree, filepath, fmt, Glob, hspec
+     , hspec-discover, http-client, http-types, lens, loot-prelude, mtl
+     , o-clock, optparse-applicative, pretty-terminal, QuickCheck, req
+     , roman-numerals, template-haskell, text, text-metrics
+     , th-lift-instances, th-utilities, yaml
+     }:
+     mkDerivation {
+       pname = "xrefcheck";
+       version = "0.1.0.0";
+       sha256 = "1ap5pdgbvf9zjwbwi3i46jdizm1ggzpknpmmic22kbw8rdv2i9yr";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-options async base-noprelude bytestring cmark-gfm
+         containers data-default deepseq directory directory-tree filepath
+         fmt Glob http-client http-types lens loot-prelude mtl o-clock
+         optparse-applicative pretty-terminal req roman-numerals
+         template-haskell text text-metrics th-lift-instances th-utilities
+         yaml
+       ];
+       libraryToolDepends = [ autoexporter ];
+       executableHaskellDepends = [
+         aeson aeson-options async base-noprelude bytestring cmark-gfm
+         containers data-default deepseq directory directory-tree filepath
+         fmt Glob http-client http-types lens loot-prelude mtl o-clock
+         optparse-applicative pretty-terminal req roman-numerals
+         template-haskell text text-metrics th-lift-instances th-utilities
+         yaml
+       ];
+       executableToolDepends = [ autoexporter ];
+       testHaskellDepends = [
+         aeson aeson-options async base-noprelude bytestring cmark-gfm
+         containers data-default deepseq directory directory-tree filepath
+         fmt Glob hspec http-client http-types lens loot-prelude mtl o-clock
+         optparse-applicative pretty-terminal QuickCheck req roman-numerals
+         template-haskell text text-metrics th-lift-instances th-utilities
+         yaml
+       ];
+       testToolDepends = [ autoexporter hspec-discover ];
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {loot-prelude = null;};
+
   "xsact" = callPackage
     ({ mkDerivation, array, base, containers, directory, process
      , random, unix
@@ -264800,16 +266067,17 @@ self: {
 
   "yaml2owl" = callPackage
     ({ mkDerivation, base, containers, directory, filepath, network
-     , swish, text, xml, yaml
+     , network-uri, swish, text, xml, yaml
      }:
      mkDerivation {
        pname = "yaml2owl";
-       version = "0.0.1";
-       sha256 = "1yz7cq6xbxjh3j5hljrzla7dpgsa2ag4ywbvc6ynf7bpikdymq65";
+       version = "0.0.2";
+       sha256 = "1d3vnpmqzsia1cwg17vl98n8bx6l3yjl4w4rhxm64xfgizwvjgwc";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base containers directory filepath network swish text xml yaml
+         base containers directory filepath network network-uri swish text
+         xml yaml
        ];
        description = "Generate OWL schema from YAML syntax, and an RDFa template";
        license = "LGPL";
@@ -268575,8 +269843,8 @@ self: {
      }:
      mkDerivation {
        pname = "z3";
-       version = "408.0";
-       sha256 = "13qkzy9wc17rm60i24fa9sx15ywbxq4a80g33w20887gvqyc0q53";
+       version = "408.1";
+       sha256 = "1r54d289rdfvxqk0774hhh0x2kj8zsh7graahqwwp76r911jb8bp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base containers transformers ];
diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix
index e2d01c5798f..9ba25e09db9 100644
--- a/pkgs/development/haskell-modules/make-package-set.nix
+++ b/pkgs/development/haskell-modules/make-package-set.nix
@@ -38,12 +38,12 @@ let
   inherit (stdenv) buildPlatform hostPlatform;
 
   inherit (stdenv.lib) fix' extends makeOverridable;
-  inherit (haskellLib) overrideCabal getBuildInputs;
+  inherit (haskellLib) overrideCabal;
 
   mkDerivationImpl = pkgs.callPackage ./generic-builder.nix {
     inherit stdenv;
     nodejs = buildPackages.nodejs-slim;
-    inherit (self) buildHaskellPackages ghc shellFor;
+    inherit (self) buildHaskellPackages ghc ghcWithHoogle ghcWithPackages;
     inherit (self.buildHaskellPackages) jailbreak-cabal;
     hscolour = overrideCabal self.buildHaskellPackages.hscolour (drv: {
       isLibrary = false;
@@ -258,6 +258,8 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
     # packages themselves. Using nix-shell on this derivation will
     # give you an environment suitable for developing the listed
     # packages with an incremental tool like cabal-install.
+    # In addition to the "packages" arg and "withHoogle" arg, anything that
+    # can be passed into stdenv.mkDerivation can be included in the input attrset
     #
     #     # default.nix
     #     with import <nixpkgs> {};
@@ -268,9 +270,11 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
     #     })
     #
     #     # shell.nix
+    #     let pkgs = import <nixpkgs> {} in
     #     (import ./.).shellFor {
     #       packages = p: [p.frontend p.backend p.common];
     #       withHoogle = true;
+    #       buildInputs = [ pkgs.python ];
     #     }
     #
     #     -- cabal.project
@@ -280,49 +284,41 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
     #       common/
     #
     #     bash$ nix-shell --run "cabal new-build all"
+    #     bash$ nix-shell --run "python"
     shellFor = { packages, withHoogle ? false, ... } @ args:
       let
-        selected = packages self;
-
-        packageInputs = map getBuildInputs selected;
-
-        name = if pkgs.lib.length selected == 1
-          then "ghc-shell-for-${(pkgs.lib.head selected).name}"
-          else "ghc-shell-for-packages";
-
-        # If `packages = [ a b ]` and `a` depends on `b`, don't build `b`,
-        # because cabal will end up ignoring that built version, assuming
-        # new-style commands.
-        haskellInputs = pkgs.lib.filter
-          (input: pkgs.lib.all (p: input.outPath != p.outPath) selected)
-          (pkgs.lib.concatMap (p: p.haskellBuildInputs) packageInputs);
-        systemInputs = pkgs.lib.concatMap (p: p.systemBuildInputs) packageInputs;
-
-        withPackages = if withHoogle then self.ghcWithHoogle else self.ghcWithPackages;
-        ghcEnv = withPackages (p: haskellInputs);
-        nativeBuildInputs = pkgs.lib.concatMap (p: p.nativeBuildInputs) selected;
-
-        ghcCommand' = if ghc.isGhcjs or false then "ghcjs" else "ghc";
-        ghcCommand = "${ghc.targetPrefix}${ghcCommand'}";
-        ghcCommandCaps= pkgs.lib.toUpper ghcCommand';
-
-        mkDrvArgs = builtins.removeAttrs args ["packages" "withHoogle"];
-      in pkgs.stdenv.mkDerivation (mkDrvArgs // {
-        name = mkDrvArgs.name or name;
-
-        buildInputs = systemInputs ++ mkDrvArgs.buildInputs or [];
-        nativeBuildInputs = [ ghcEnv ] ++ nativeBuildInputs ++ mkDrvArgs.nativeBuildInputs or [];
-        phases = ["installPhase"];
-        installPhase = "echo $nativeBuildInputs $buildInputs > $out";
-        LANG = "en_US.UTF-8";
-        LOCALE_ARCHIVE = pkgs.lib.optionalString (stdenv.hostPlatform.libc == "glibc") "${buildPackages.glibcLocales}/lib/locale/locale-archive";
-        "NIX_${ghcCommandCaps}" = "${ghcEnv}/bin/${ghcCommand}";
-        "NIX_${ghcCommandCaps}PKG" = "${ghcEnv}/bin/${ghcCommand}-pkg";
-        # TODO: is this still valid?
-        "NIX_${ghcCommandCaps}_DOCDIR" = "${ghcEnv}/share/doc/ghc/html";
-        "NIX_${ghcCommandCaps}_LIBDIR" = if ghc.isHaLVM or false
-          then "${ghcEnv}/lib/HaLVM-${ghc.version}"
-          else "${ghcEnv}/lib/${ghcCommand}-${ghc.version}";
+        combinedPackageFor = packages:
+          let
+            selected = packages self;
+
+            pname = if pkgs.lib.length selected == 1
+              then (pkgs.lib.head selected).name
+              else "packages";
+
+            # If `packages = [ a b ]` and `a` depends on `b`, don't build `b`,
+            # because cabal will end up ignoring that built version, assuming
+            # new-style commands.
+            combinedPackages = pkgs.lib.filter
+              (input: pkgs.lib.all (p: input.outPath or null != p.outPath) selected);
+
+            # Returns an attrset containing a combined list packages' inputs for each
+            # stage of the build process
+            packageInputs = pkgs.lib.zipAttrsWith
+              (_: pkgs.lib.concatMap combinedPackages)
+              (map (p: p.getCabalDeps) selected);
+
+            genericBuilderArgs = {
+              inherit pname;
+              version = "0";
+              license = null;
+            } // packageInputs;
+
+          in self.mkDerivation genericBuilderArgs;
+
+        envFuncArgs = builtins.removeAttrs args [ "packages" ];
+      in (combinedPackageFor packages).env.overrideAttrs (old: envFuncArgs // {
+        nativeBuildInputs = old.nativeBuildInputs ++ envFuncArgs.nativeBuildInputs or [];
+        buildInputs = old.buildInputs ++ envFuncArgs.buildInputs or [];
       });
 
     ghc = ghc // {
diff --git a/pkgs/development/libraries/libevdevplus/default.nix b/pkgs/development/libraries/libevdevplus/default.nix
index f538aab64ad..0f2b3e05266 100644
--- a/pkgs/development/libraries/libevdevplus/default.nix
+++ b/pkgs/development/libraries/libevdevplus/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libevdevplus";
-  version = "2019-10-01";
+  version = "unstable-2019-10-01";
 
   src  = fetchFromGitHub {
     owner  = "YukiWorkshop";
diff --git a/pkgs/development/python-modules/pypandoc/default.nix b/pkgs/development/python-modules/pypandoc/default.nix
index 3af86dabe21..41576c5ad1f 100644
--- a/pkgs/development/python-modules/pypandoc/default.nix
+++ b/pkgs/development/python-modules/pypandoc/default.nix
@@ -1,33 +1,33 @@
-{ stdenv, buildPythonPackage, fetchPypi
-, pip, pandoc, glibcLocales, haskellPackages, texlive }:
+{ stdenv, buildPythonPackage, fetchFromGitHub
+, pandoc, haskellPackages, texlive }:
 
 buildPythonPackage rec {
   pname = "pypandoc";
-  version = "1.4";
+  version = "unstable-2018-06-18";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "e914e6d5f84a76764887e4d909b09d63308725f0cbb5293872c2c92f07c11a5b";
+  src = fetchFromGitHub {
+    owner = "bebraw";
+    repo = pname;
+    rev = "87912f0f17e0a71c1160008df708c876d32e5819";
+    sha256 = "0l6knkxxhmni4lx8hyvbb71svnhza08ivyklqlk5fw637gznc0hx";
   };
 
-  # Fix tests: first requires network access, second is a bug (reported upstream)
-  preConfigure = ''
+  postPatch = ''
+    # set pandoc path statically
+    sed -i '/^__pandoc_path = None$/c__pandoc_path = "${pandoc}/bin/pandoc"' pypandoc/__init__.py
+
+    # Fix tests: requires network access
     substituteInPlace tests.py --replace "pypandoc.convert(url, 'html')" "'GPL2 license'"
-    substituteInPlace tests.py --replace "pypandoc.convert_file(file_name, lua_file_name)" "'<h1 id=\"title\">title</h1>'"
   '';
 
-  LC_ALL="en_US.UTF-8";
-
-  propagatedBuildInputs = [ pip ];
-
-  buildInputs = [ pandoc texlive.combined.scheme-small haskellPackages.pandoc-citeproc glibcLocales ];
+  preCheck = ''
+    export PATH="${haskellPackages.pandoc-citeproc}/bin:${texlive.combined.scheme-small}/bin:$PATH"
+  '';
 
   meta = with stdenv.lib; {
     description = "Thin wrapper for pandoc";
     homepage = https://github.com/bebraw/pypandoc;
     license = licenses.mit;
-    maintainers = with maintainers; [ bennofs ];
-
-    broken = true; # incompatible with pandoc v2
+    maintainers = with maintainers; [ sternenseemann bennofs ];
   };
 }
diff --git a/pkgs/development/python-modules/sysv_ipc/default.nix b/pkgs/development/python-modules/sysv_ipc/default.nix
new file mode 100644
index 00000000000..37853980f43
--- /dev/null
+++ b/pkgs/development/python-modules/sysv_ipc/default.nix
@@ -0,0 +1,22 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "sysv_ipc";
+  version = "1.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1p5lx3yz4p40rfb453m80a4hh8341yp4dki2nhhxz7bq2zfi1zwf";
+  };
+
+  meta = with stdenv.lib; {
+    description = "SysV IPC primitives (semaphores, shared memory and message queues)";
+    license = licenses.bsd3;
+    homepage = http://semanchuk.com/philip/sysv_ipc/;
+    maintainers = with maintainers; [ ris ];
+  };
+
+}
diff --git a/pkgs/development/tools/dive/default.nix b/pkgs/development/tools/dive/default.nix
index 2113e319f19..6c4d91bac78 100644
--- a/pkgs/development/tools/dive/default.nix
+++ b/pkgs/development/tools/dive/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "dive";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "wagoodman";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0bqmrva7rx6al50fmy4gvf853csascc5mj6ihgg7ydsy0d99j5qn";
+    sha256 = "1dqaqzmb74kf6q70wxfbsrbbfmxl82rj7r5kpsg5znm99filk3ny";
   };
 
-  modSha256 = "0hb7bq8v6xr8xqni1iv3zkqdnknfy539sm0vxqal1mhvs5yg06m0";
+  modSha256 = "1y8mqxlzbizra2m9aayp6w07s39gddvm5igdaw9kwxwjwvd1dbfc";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/misc/clojure-lsp/default.nix b/pkgs/development/tools/misc/clojure-lsp/default.nix
index 50bcd0da812..f2bb771f217 100644
--- a/pkgs/development/tools/misc/clojure-lsp/default.nix
+++ b/pkgs/development/tools/misc/clojure-lsp/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "clojure-lsp";
-  version = "20200114T225020";
+  version = "20200117T215443";
 
   src = fetchurl {
     url = "https://github.com/snoe/clojure-lsp/releases/download/release-${version}/${pname}";
-    sha256 = "1fx27nz79h1f3gmaw9k33dq9r28s7z8rx6hqpv44368v67d8jbhb";
+    sha256 = "0ccn3700lam5m5yh5hdcm6wkazyr3dhvhyc9bc08basjwk09lfkp";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/tools/purescript/spago/spago.nix b/pkgs/development/tools/purescript/spago/spago.nix
index c85cff2f03a..1a7ec35748b 100644
--- a/pkgs/development/tools/purescript/spago/spago.nix
+++ b/pkgs/development/tools/purescript/spago/spago.nix
@@ -11,11 +11,11 @@
 }:
 mkDerivation {
   pname = "spago";
-  version = "0.13.0";
+  version = "0.13.1";
   src = fetchgit {
     url = "https://github.com/spacchetti/spago.git";
-    sha256 = "158xq5zn32iwswxmpma92763hl6kzq7kb01cyvphmmlilx55b6yk";
-    rev = "426838670ba9de4593f4c533a6947efb2d8ad4ba";
+    sha256 = "0l6sy1hz5dbnrjkvb2f44afhd48nwqx5kx1h29ns93xbbd57hci8";
+    rev = "b87858609c671d8f3dc78f858ce1d8c492bd1062";
     fetchSubmodules = true;
   };
   isLibrary = true;
diff --git a/pkgs/development/tools/pypi2nix/default.nix b/pkgs/development/tools/pypi2nix/default.nix
index 76302824d9d..8ecdfb6787f 100644
--- a/pkgs/development/tools/pypi2nix/default.nix
+++ b/pkgs/development/tools/pypi2nix/default.nix
@@ -4,10 +4,10 @@ with python3;
 
 pkgs.buildPythonApplication rec {
   pname = "pypi2nix";
-  version = "2.0.2";
+  version = "2.0.3";
   src = pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "1kynyarqx49j89nxd7rx8mjncg8hkklscfcr36smham7cvj17nsv";
+    sha256 = "0mja8q5lc0lils6s0v0l35knsj7n7779kw246jfmyvkc3l07j8df";
   };
   propagatedBuildInputs = with pkgs; [
     attrs
diff --git a/pkgs/development/tools/rust/cargo-make/Cargo.lock b/pkgs/development/tools/rust/cargo-make/Cargo.lock
index 5d3392fcc38..bcf708735f6 100644
--- a/pkgs/development/tools/rust/cargo-make/Cargo.lock
+++ b/pkgs/development/tools/rust/cargo-make/Cargo.lock
@@ -5,7 +5,7 @@ name = "aho-corasick"
 version = "0.7.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -38,17 +38,12 @@ dependencies = [
 
 [[package]]
 name = "autocfg"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "autocfg"
 version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "backtrace"
-version = "0.3.40"
+version = "0.3.42"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -86,7 +81,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
  "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -104,29 +99,29 @@ dependencies = [
 
 [[package]]
 name = "cargo-make"
-version = "0.26.0"
+version = "0.26.1"
 dependencies = [
  "ci_info 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "colored 1.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "colored 1.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "duckscript 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "duckscriptsdk 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "duckscript 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "duckscriptsdk 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
  "envmnt 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
  "fern 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
  "git_info 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "home 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "run_script 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "rust_info 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
  "shell2batch 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "toml 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -181,7 +176,7 @@ dependencies = [
 
 [[package]]
 name = "colored"
-version = "1.9.1"
+version = "1.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -191,7 +186,7 @@ dependencies = [
 
 [[package]]
 name = "constant_time_eq"
-version = "0.1.4"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
@@ -225,28 +220,87 @@ dependencies = [
 
 [[package]]
 name = "duckscript"
-version = "0.1.4"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "duckscriptsdk"
-version = "0.1.5"
+version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "duckscript 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "duckscript 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "home 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "hostname 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "java-properties 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "meval 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "encoding"
+version = "0.2.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "encoding-index-japanese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "encoding-index-korean 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "encoding-index-simpchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "encoding-index-singlebyte 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "encoding-index-tradchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "encoding-index-japanese"
+version = "1.20141219.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "encoding-index-korean"
+version = "1.20141219.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "encoding-index-simpchinese"
+version = "1.20141219.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "encoding-index-singlebyte"
+version = "1.20141219.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
+name = "encoding-index-tradchinese"
+version = "1.20141219.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "encoding_index_tests"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
 name = "envmnt"
 version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -254,7 +308,7 @@ name = "failure"
 version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)",
+ "backtrace 0.3.42 (registry+https://github.com/rust-lang/crates.io-index)",
  "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -263,7 +317,7 @@ name = "failure_derive"
 version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
  "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -341,14 +395,23 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "1.3.0"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
+name = "java-properties"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
+ "regex 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
 name = "lazy_static"
 version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -373,7 +436,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "memchr"
-version = "2.2.1"
+version = "2.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
@@ -414,7 +477,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.7"
+version = "1.0.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -425,12 +488,12 @@ name = "quote"
 version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "rand"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -521,9 +584,9 @@ version = "1.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "regex-syntax 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
- "thread_local 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "thread_local 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -536,7 +599,7 @@ name = "run_script"
 version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "users 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -561,6 +624,14 @@ version = "0.1.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
+name = "same-file"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
 name = "semver"
 version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -583,7 +654,7 @@ name = "serde_derive"
 version = "1.0.104"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -606,7 +677,7 @@ name = "syn"
 version = "1.0.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -616,7 +687,7 @@ name = "synstructure"
 version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
  "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -632,7 +703,7 @@ dependencies = [
 
 [[package]]
 name = "thread_local"
-version = "1.0.0"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -650,7 +721,7 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.5.5"
+version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -680,6 +751,16 @@ version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
+name = "walkdir"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
 name = "wasi"
 version = "0.9.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -699,6 +780,14 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
+name = "winapi-util"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
 name = "winapi-x86_64-pc-windows-gnu"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -709,9 +798,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
 "checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
 "checksum atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
 "checksum autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
-"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea"
+"checksum backtrace 0.3.42 (registry+https://github.com/rust-lang/crates.io-index)" = "b4b1549d804b6c73f4817df2ba073709e96e426f12987127c48e6745568c350b"
 "checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
 "checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
 "checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
@@ -724,13 +812,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum ci_info 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a4e9091c3d285e7046afdb70fc7413d1ac670288705e151443f868f71e66ed2a"
 "checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
 "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-"checksum colored 1.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f930f8b286023ed451756fe2527d73484d667adf9e905e9932e81d52996a343a"
-"checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120"
+"checksum colored 1.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "8815e2ab78f3a59928fc32e141fbeece88320a240e43f47b2fd64ea3a88a5b3d"
+"checksum constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
 "checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
 "checksum dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3"
 "checksum dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b"
-"checksum duckscript 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "2aa0a0d525a182f41071f23b8912111e2ef42bab6ceb29794ae253977788b0c0"
-"checksum duckscriptsdk 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "79681ce8de938dfa0af2b38cae1a7fc5e341eac8acadea3578d1c07c3e6b8f29"
+"checksum duckscript 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "b5394d82936cc15539317618b25d532c7fc36415eb8c1ca4c3fd263c104e6145"
+"checksum duckscriptsdk 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "3053a419a5bf69b015c8a9d42d82f2fffdf106f9353384d9f5c1819b68dc6141"
+"checksum encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec"
+"checksum encoding-index-japanese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91"
+"checksum encoding-index-korean 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81"
+"checksum encoding-index-simpchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d87a7194909b9118fc707194baa434a4e3b0fb6a5a757c73c3adb07aa25031f7"
+"checksum encoding-index-singlebyte 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3351d5acffb224af9ca265f435b859c7c01537c0849754d3db3fdf2bfe2ae84a"
+"checksum encoding-index-tradchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18"
+"checksum encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569"
 "checksum envmnt 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)" = "39cdd9fdbf10b8cfa59dd70ef823cbaa83e33b86f4ad291ae67b16f4bd37bc69"
 "checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
 "checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
@@ -744,20 +839,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "eff2656d88f158ce120947499e971d743c05dbcbed62e5bd2f38f1698bbc3772"
 "checksum home 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2456aef2e6b6a9784192ae780c0f15bc57df0e918585282325e8c8ac27737654"
 "checksum hostname 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "01b1af8d6d068ba9de1c39c6ff0d879aed20f74873d4d3929a4535000bb07886"
-"checksum indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712d7b3ea5827fcb9d4fda14bf4da5f136f0db2ae9c8f4bd4e2d1c6fde4e6db2"
+"checksum indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b54058f0a6ff80b6803da8faf8997cde53872b38f4023728f6830b06cd3c0dc"
+"checksum java-properties 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "caf4418ade5bde22a283a7f2fb537ea397ec102718f259f2630714e7a5b389fa"
 "checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 "checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
 "checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
 "checksum match_cfg 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
-"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
+"checksum memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3197e20c7edb283f87c071ddfc7a2cca8f8e0b888c242959846a6fce03c72223"
 "checksum meval 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f79496a5651c8d57cd033c5add8ca7ee4e3d5f7587a4777484640d9cb60392d9"
 "checksum nom 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a5b8c256fd9471521bcb84c3cdba98921497f1a331cbc15b8030fc63b82050ce"
 "checksum num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "3f6ea62e9d81a77cd3ee9a2a5b9b609447857f3d358704331e4ef39eb247fcba"
 "checksum num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096"
 "checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
-"checksum proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0319972dcae462681daf4da1adeeaa066e3ebd29c69be96c6abb1259d2ee2bcc"
+"checksum proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3acb317c6ff86a4e579dfa00fc5e6cca91ecbb4e7eb2df0468805b674eb88548"
 "checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
-"checksum rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412"
+"checksum rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
 "checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
 "checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
 "checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
@@ -773,6 +869,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf"
 "checksum rust_info 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "be941f2b996df7ffaf093366039c9dc182b3ca2e00f3e81df44e08c3611e773d"
 "checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
+"checksum same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
 "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
 "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
 "checksum serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449"
@@ -782,14 +879,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1e4ff033220a41d1a57d8125eab57bf5263783dfdcc18688b1dacc6ce9651ef8"
 "checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
 "checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-"checksum thread_local 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "88ddf1ad580c7e3d1efff877d972bcc93f995556b9087a5a259630985c88ceab"
+"checksum thread_local 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
 "checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
-"checksum toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "01d1404644c8b12b16bfcffa4322403a91a451584daaaa7c28d3152e6cbc98cf"
+"checksum toml 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ffc92d160b1eef40665be3a05630d003936a3bc7da7421277846c2613e92c71a"
 "checksum unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
 "checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
 "checksum users 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c72f4267aea0c3ec6d07eaabea6ead7c5ddacfafc5e22bcf8d186706851fb4cf"
 "checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
+"checksum walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d"
 "checksum wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)" = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
 "checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
 "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+"checksum winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4ccfbf554c6ad11084fb7517daca16cfdcaccbdadba4fc336f032a8b12c2ad80"
 "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix
index 25d700d0445..bbad7ee731b 100644
--- a/pkgs/development/tools/rust/cargo-make/default.nix
+++ b/pkgs/development/tools/rust/cargo-make/default.nix
@@ -2,7 +2,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-make";
-  version = "0.26.0";
+  version = "0.26.1";
 
   src =
     let
@@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec {
         owner = "sagiegurari";
         repo = pname;
         rev = version;
-        sha256 = "0x17slfih65hj7xc3m847792yhlkpzq2lnbxgc2kwciclyzhjgfd";
+        sha256 = "04h8vr8k790kkn09yrqv7py0sn2fmj4b51c4kjhplr0pcxkbdbdn";
       };
     in
     runCommand "cargo-make-src" {} ''
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
 
-  cargoSha256 = "1p20y6a99f5bjmjkwq7jvgmvhg6klkacybq4bc4xq6135qnqhdv8";
+  cargoSha256 = "05m966h58mgq1bm92yfzzpd4ivlv4jh5fy1kfazcfsfw2k0kqmka";
 
   # Some tests fail because they need network access.
   # However, Travis ensures a proper build.
diff --git a/pkgs/development/tools/wabt/default.nix b/pkgs/development/tools/wabt/default.nix
index 4c7df9b12d8..b3be6c4552d 100644
--- a/pkgs/development/tools/wabt/default.nix
+++ b/pkgs/development/tools/wabt/default.nix
@@ -1,16 +1,24 @@
-{ stdenv, fetchFromGitHub, cmake, python3 }:
+{ stdenv, fetchFromGitHub, cmake, python3, substituteAll }:
 
 stdenv.mkDerivation rec {
   pname = "wabt";
-  version = "1.0.12";
+  version = "1.0.13";
 
   src = fetchFromGitHub {
-    owner  = "WebAssembly";
-    repo   = "wabt";
-    rev    = version;
-    sha256 = "1zlv3740wkqj4mn6sr84h0x6wk2lcp4pwwmqsh5yyqp1j1glbsa0";
+    owner = "WebAssembly";
+    repo = "wabt";
+    rev = version;
+    sha256 = "07x8m5sf4c7zjq1flypycw1d15ylqdp38l81vn961ds089ngvpgg";
+    fetchSubmodules = true;
   };
 
+  patches = [
+    (substituteAll {
+      src = ./version.patch;
+      inherit version;
+    })
+  ];
+
   nativeBuildInputs = [ cmake ];
   cmakeFlags = [ "-DBUILD_TESTS=OFF" ];
   buildInputs = [ python3 ];
diff --git a/pkgs/development/tools/wabt/version.patch b/pkgs/development/tools/wabt/version.patch
new file mode 100644
index 00000000000..a49cd0bc155
--- /dev/null
+++ b/pkgs/development/tools/wabt/version.patch
@@ -0,0 +1,28 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 363a5660..ad3300ed 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -68,22 +68,7 @@ endif ()
+ include(CheckTypeSize)
+ check_type_size(ssize_t SSIZE_T)
+ check_type_size(size_t SIZEOF_SIZE_T)
+-
+-FIND_PACKAGE(Git QUIET REQUIRED)
+-EXECUTE_PROCESS(COMMAND
+-        "${GIT_EXECUTABLE}" --git-dir=${CMAKE_CURRENT_SOURCE_DIR}/.git describe --tags
+-        RESULT_VARIABLE
+-            GIT_HASH_RESULT
+-        OUTPUT_VARIABLE
+-            GIT_HASH
+-        OUTPUT_STRIP_TRAILING_WHITESPACE)
+-
+-IF(${GIT_HASH_RESULT} EQUAL 0)
+-    SET(WABT_VERSION_INFO "${GIT_HASH}")
+-ELSE()
+-    MESSAGE(WARNING "Error running git describe to determine version")
+-    SET(WABT_VERSION_INFO "(unable to determine version)")
+-ENDIF()
++SET(WABT_VERSION_INFO "@version@")
+ 
+ configure_file(
+   ${WABT_SOURCE_DIR}/src/config.h.in
diff --git a/pkgs/games/quakespasm/vulkan.nix b/pkgs/games/quakespasm/vulkan.nix
index e30065666b0..deca3bec9cc 100644
--- a/pkgs/games/quakespasm/vulkan.nix
+++ b/pkgs/games/quakespasm/vulkan.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vkquake";
-  version = "1.03.0";
+  version = "1.04.1";
 
   src = fetchFromGitHub {
     owner = "Novum";
     repo = "vkQuake";
     rev = version;
-    sha256 = "1x2lx1fvr2p91clbx2jcc29j5yyh0xwq9fh0lyxhyadf5a710fn0";
+    sha256 = "1ry861pk3z02hy7i0yi3xwmd1zma802qzcnlm09w6pslayd9rwbf";
   };
 
   sourceRoot = "source/Quake";
diff --git a/pkgs/os-specific/linux/firejail/default.nix b/pkgs/os-specific/linux/firejail/default.nix
index 8200acf62b7..5a1337b0998 100644
--- a/pkgs/os-specific/linux/firejail/default.nix
+++ b/pkgs/os-specific/linux/firejail/default.nix
@@ -3,10 +3,10 @@ let
   s = # Generated upstream information
   rec {
     baseName="firejail";
-    version="0.9.60";
+    version="0.9.62";
     name="${baseName}-${version}";
     url="mirror://sourceforge/firejail/firejail/firejail-${version}.tar.xz";
-    sha256="1mw2s040wbxaj4lqfm6033wxrxlnix40mqc2bsfran5sj2gxd3sh";
+    sha256="1q2silgy882fl61p5qa9f9jqkxcqnwa71jig3c729iahx4f0hs05";
   };
   buildInputs = [
     which
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 9bfa07ec460..71b626479ba 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.165";
+  version = "4.14.166";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${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 = "1iw8w3kfm8cs97imc6zz2wqzq9bhhlygcg7r8qslwks0hqivbbmh";
+    sha256 = "003wax7dsahlv1iv9yqhkjbxx20crmwyd9464cx974i03a0vzclb";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index 6f4594763c8..fc0caad7406 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.19.96";
+  version = "4.19.97";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${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 = "0k8xcdmc3jffk4y7vxnwvrjnrzhjcw07ikp5a2c4zhbvpbax3h93";
+    sha256 = "1nln2ksfm0ddkqdmhvxwzqq96av1myx89kr1wxs54m2yw0la7clg";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
index 76f7430f104..9b1ebeeb489 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.4.12";
+  version = "5.4.13";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "1yyh934ifzwgqlpd8wy50z9d68hla5arvy50pi6c499dsnicghyr";
+    sha256 = "1mva73ywb2r5lrmzp5m7hyy0zpgxdg91nw42c1z1sz3ydpcjkys9";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/servers/mautrix-whatsapp/default.nix b/pkgs/servers/mautrix-whatsapp/default.nix
index f497ba97e70..bb72ce1b45f 100644
--- a/pkgs/servers/mautrix-whatsapp/default.nix
+++ b/pkgs/servers/mautrix-whatsapp/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule {
   pname = "mautrix-whatsapp-unstable";
-  version = "2020-01-07";
+  version = "2020-01-12";
 
   src = fetchFromGitHub {
     owner = "tulir";
     repo = "mautrix-whatsapp";
-    rev = "302fae6649f083ae2a1d4431157e6045865f62ad";
-    sha256 = "0rnlbw1xqk9kjc23pmybxdznxylpfxl35wa37lkafymfardjjavb";
+    rev = "39e46833b471b0cf262d4ff57fcd61530b5d2b9e";
+    sha256 = "1r1f52advibb97vrhi2gw0d0scnsvfbmfqizsbpjmgm7ci9jjhcl";
   };
 
   modSha256 = "18bcv7x49bqnzwhafh8fvyv9z2d4j6w0iyqql0alq57hy7h7lxik";
diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/pkgs/servers/sql/postgresql/ext/timescaledb.nix
index 0427de60aa5..6f0ec04cd75 100644
--- a/pkgs/servers/sql/postgresql/ext/timescaledb.nix
+++ b/pkgs/servers/sql/postgresql/ext/timescaledb.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   pname = "timescaledb";
-  version = "1.5.1";
+  version = "1.6.0";
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ postgresql openssl ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     owner  = "timescale";
     repo   = "timescaledb";
     rev    = "refs/tags/${version}";
-    sha256 = "1mgmkc42nksfsmjg463v03rj1v8gybwlzzi515gxz6ijx8604w4c";
+    sha256 = "0b42rhkycr4pwwa4fxnmppd3bl0xz7azvlm145rd7warlsr5h0lb";
   };
 
   cmakeFlags = [ "-DSEND_TELEMETRY_DEFAULT=OFF" "-DREGRESS_CHECKS=OFF" ];
diff --git a/pkgs/servers/zoneminder/default.nix b/pkgs/servers/zoneminder/default.nix
index 2dcaf44010e..e536ea0373c 100644
--- a/pkgs/servers/zoneminder/default.nix
+++ b/pkgs/servers/zoneminder/default.nix
@@ -162,6 +162,10 @@ in stdenv.mkDerivation rec {
     "-DZM_CONFIG_DIR=${placeholder "out"}/etc/zoneminder"
     "-DZM_WEB_USER=${user}"
     "-DZM_WEB_GROUP=${user}"
+
+    # Workaround issue in CMakeLists.txt where ZM_CGIDIR set to ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBEXECDIR}/zoneminder/cgi-bin
+    # But CMAKE_INSTALL_LIBEXECDIR is already an absolute path from cmake setup-hook
+    "-DZM_CGIDIR=${placeholder "out"}/libexec/zoneminder/cgi-bin"
   ];
 
   passthru = { inherit dirName; };
diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix
index 1ef3c4b6fd9..5f59c33af0d 100644
--- a/pkgs/shells/fish/default.nix
+++ b/pkgs/shells/fish/default.nix
@@ -3,6 +3,7 @@
   groff, man-db, getent, libiconv, pcre2,
   gettext, ncurses, python3,
   cmake
+  , fetchpatch
 
   , writeText
 
@@ -107,6 +108,15 @@ let
       patchShebangs ./build_tools/git_version_gen.sh
     '';
 
+    patches = [
+      # Fixes "Integer 243 in '243 (243)' followed by non-digit" error with systemctl completion.
+      # https://github.com/fish-shell/fish-shell/issues/5689 (will be included in fish 3.1.0)
+      (fetchpatch {
+        url = "https://github.com/fish-shell/fish-shell/commit/c6ec4235136e82c709e8d7b455f7c463f9714b48.patch";
+        sha256 = "02m6pkhhx6y21csydznsxkbpnwhcpzyz99xgd9ryh7s03v7wbigw";
+      })
+    ];
+
     # Required binaries during execution
     # Python: Autocompletion generated from manpages and config editing
     propagatedBuildInputs = [
diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix
index eb0711b8885..f62d208d22d 100644
--- a/pkgs/test/default.nix
+++ b/pkgs/test/default.nix
@@ -26,6 +26,8 @@ with pkgs;
   cc-wrapper-libcxx-9 = callPackage ./cc-wrapper { stdenv = llvmPackages_9.libcxxStdenv; };
   stdenv-inputs = callPackage ./stdenv-inputs { };
 
+  haskell-shellFor = callPackage ./haskell-shellFor { };
+
   cc-multilib-gcc = callPackage ./cc-wrapper/multilib.nix { stdenv = gccMultiStdenv; };
   cc-multilib-clang = callPackage ./cc-wrapper/multilib.nix { stdenv = clangMultiStdenv; };
 
diff --git a/pkgs/test/haskell-shellFor/default.nix b/pkgs/test/haskell-shellFor/default.nix
new file mode 100644
index 00000000000..1b3de999d22
--- /dev/null
+++ b/pkgs/test/haskell-shellFor/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, haskellPackages, cabal-install }:
+
+haskellPackages.shellFor {
+  packages = p: [ p.database-id-class p.constraints-extras ];
+  nativeBuildInputs = [ cabal-install ];
+  phases = [ "unpackPhase" "buildPhase" "installPhase" ];
+  unpackPhase = ''
+    sourceRoot=$(pwd)/scratch
+    mkdir -p "$sourceRoot"
+    cd "$sourceRoot"
+    tar -xf ${haskellPackages.database-id-class.src}
+    tar -xf ${haskellPackages.constraints-extras.src}
+    cp ${builtins.toFile "cabal.project" "packages: database-id-class* constraints-extras*"} cabal.project
+  '';
+  buildPhase = ''
+    export HOME=$(mktemp -d)
+    mkdir -p $HOME/.cabal
+    touch $HOME/.cabal/config
+    cabal v2-build --offline --verbose database-id-class constraints-extras --ghc-options="-O0 -j$NIX_BUILD_CORES"
+  '';
+  installPhase = ''
+    touch $out
+  '';
+}
diff --git a/pkgs/tools/X11/xcape/default.nix b/pkgs/tools/X11/xcape/default.nix
index 8b0c18c8618..d1b6f9b23b6 100644
--- a/pkgs/tools/X11/xcape/default.nix
+++ b/pkgs/tools/X11/xcape/default.nix
@@ -3,7 +3,7 @@ libXi }:
 
 stdenv.mkDerivation rec {
   pname = "xcape";
-  version = "unstable-20180301";
+  version = "unstable-2018-03-01";
 
   src = fetchFromGitHub {
     owner = "alols";
diff --git a/pkgs/tools/compression/zopfli/default.nix b/pkgs/tools/compression/zopfli/default.nix
index accead9db0b..586c47de582 100644
--- a/pkgs/tools/compression/zopfli/default.nix
+++ b/pkgs/tools/compression/zopfli/default.nix
@@ -2,32 +2,21 @@
 
 stdenv.mkDerivation rec {
   pname = "zopfli";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "zopfli";
     rev = "${pname}-${version}";
     name = "${pname}-${version}-src";
-    sha256 = "1l551hx2p4qi0w9lk96qklbv6ll68gxbah07fhqx1ly28rv5wy9y";
+    sha256 = "0dr8n4j5nj2h9n208jns56wglw59gg4qm3s7c6y3hs75d0nnkhm4";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "zopfli-cmake.patch";
-      url = "https://github.com/google/zopfli/commit/7554e4d34e7000b0595aa606e7d72357cf46ba86.patch";
-      sha256 = "1pvfhir2083v1l042a4dy5byqdmad7sxnd4jrprl2hzzb2avxbbn";
-    })
-  ];
-
   nativeBuildInputs = [ cmake ];
 
   cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" "-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON" ];
 
-  installPhase = ''
-    install -D -t $out/bin zopfli*
-    install -d $out/lib
-    cp -d libzopfli* $out/lib
+  postInstall = ''
     install -Dm444 -t $out/share/doc/zopfli ../README*
   '';
 
diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix
index 9c770441025..f3e985edbff 100644
--- a/pkgs/tools/filesystems/ceph/default.nix
+++ b/pkgs/tools/filesystems/ceph/default.nix
@@ -92,7 +92,7 @@ let
     ps.pyyaml
   ]);
 
-  version = "14.2.5";
+  version = "14.2.6";
 in rec {
   ceph = stdenv.mkDerivation {
     pname = "ceph";
@@ -100,7 +100,7 @@ in rec {
 
     src = fetchurl {
       url = "http://download.ceph.com/tarballs/ceph-${version}.tar.gz";
-      sha256 = "0wbkdplxs8higmlj57a7rydmx9rq08h0arjrmxmp0s80bn0v5x2c";
+      sha256 = "0qkyrb25r2a57n6k8ncb43x7hvhkmpi7abhfyi98mlz2lhmhzlm1";
     };
 
     patches = [
diff --git a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
index da2dff6b77a..003a0e24fb5 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
@@ -35,7 +35,7 @@ buildPythonApplication rec {
   '';
 
   propagatedBuildInputs = [
-    pykickstart pyparted pyblock libselinux.py cryptsetup
+    pykickstart pyparted pyblock libselinux cryptsetup
   ] ++ stdenv.lib.optional useNixUdev systemd;
 
   # tests are currently _heavily_ broken upstream
diff --git a/pkgs/tools/filesystems/nixpart/0.4/default.nix b/pkgs/tools/filesystems/nixpart/0.4/default.nix
index 129283e83eb..5d7a9dd14ec 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/default.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/default.nix
@@ -1,4 +1,5 @@
 { stdenv, fetchurl, python, buildPythonApplication
+, libselinux
 # Propagated to blivet
 , useNixUdev ? true
 # Needed by NixOps
@@ -10,10 +11,9 @@
 let
   blivet = import ./blivet.nix {
     inherit stdenv fetchurl buildPythonApplication;
-    inherit pykickstart pyparted pyblock cryptsetup multipath_tools;
+    inherit pykickstart pyparted pyblock cryptsetup libselinux multipath_tools;
     inherit useNixUdev;
     inherit (pkgs) lsof utillinux systemd;
-    libselinux = pkgs.libselinux.override { enablePython = true; };
   };
 
   cryptsetup = import ./cryptsetup.nix {
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix
index 5e839b354a3..b74378f0793 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ibus-table-others";
-  version = "1.3.9";
+  version = "1.3.11";
 
   src = fetchurl {
     url = "https://github.com/moebiuscurve/ibus-table-others/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0270a9njyzb1f8nw5w9ghwxcl3m6f13d8p8a01fjm8rnjs04mcb3";
+    sha256 = "0763wnlklcs3d8fk21nkp7dgn4qzqgxh1s24q3kl8gzgng2a88jj";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     isIbusEngine = true;
     description  = "Various table-based input methods for IBus";
-    homepage     = https://github.com/moebiuscurve/ibus-table-others;
+    homepage     = "https://github.com/moebiuscurve/ibus-table-others";
     license      = licenses.gpl3;
     platforms    = platforms.linux;
     maintainers  = with maintainers; [ mudri ];
diff --git a/pkgs/tools/misc/mcfly/default.nix b/pkgs/tools/misc/mcfly/default.nix
index db697bc9d51..4ea27ce092f 100644
--- a/pkgs/tools/misc/mcfly/default.nix
+++ b/pkgs/tools/misc/mcfly/default.nix
@@ -2,13 +2,12 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mcfly";
-  version = "v0.3.1";
-  rev = version;
+  version = "0.3.1";
 
   src = fetchFromGitHub {
-    inherit rev;
     owner = "cantino";
     repo = "mcfly";
+    rev = "v${version}";
     sha256 = "0pmyw21zns4zn7pffji4yvbj63fx3g15cx81pk4bs6lzyz5zbdc2";
   };
 
diff --git a/pkgs/tools/misc/wakatime/default.nix b/pkgs/tools/misc/wakatime/default.nix
index a685dc7cbde..58ad9182261 100644
--- a/pkgs/tools/misc/wakatime/default.nix
+++ b/pkgs/tools/misc/wakatime/default.nix
@@ -3,13 +3,13 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "wakatime";
-  version = "13.0.2";
+  version = "13.0.3";
 
   src = fetchFromGitHub {
     owner = "wakatime";
     repo = "wakatime";
     rev = version;
-    sha256 = "0ng7hb83gj6vb569qh58vqp4ana162r20dif086kgc3sch2z63j9";
+    sha256 = "16g23nm1x1a142rmnljdclq03c5anfzyiiazxaxyka8bggzhfmmc";
   };
 
   # needs more dependencies from https://github.com/wakatime/wakatime/blob/191b302bfb5f272ae928c6d3867d06f3dfcba4a8/dev-requirements.txt
diff --git a/pkgs/tools/misc/yle-dl/default.nix b/pkgs/tools/misc/yle-dl/default.nix
index d369bb4fed7..e106c3b8595 100644
--- a/pkgs/tools/misc/yle-dl/default.nix
+++ b/pkgs/tools/misc/yle-dl/default.nix
@@ -11,7 +11,9 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "0k93p9csyjm0w33diwl5s22kzs3g78jl3n9k8nxxpqrybfjl912f";
   };
 
-  propagatedBuildInputs = with pythonPackages; [ lxml pyamf pycrypto requests future ffmpeg ];
+  propagatedBuildInputs = with pythonPackages; [
+    lxml pyamf pycrypto requests future ffmpeg setuptools
+  ];
   pythonPath = [ rtmpdump php ];
 
   doCheck = false; # tests require network access
diff --git a/pkgs/tools/networking/bandwhich/default.nix b/pkgs/tools/networking/bandwhich/default.nix
index ae45e0c1fc1..a399e7209af 100644
--- a/pkgs/tools/networking/bandwhich/default.nix
+++ b/pkgs/tools/networking/bandwhich/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "bandwhich";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "imsnif";
     repo = pname;
     rev = version;
-    sha256 = "0gjk84a4ks5107vrchwwnslpbcrprmznjy3sqn2mrwfvw5biycb3";
+    sha256 = "0xq2lv06dx7g00b4amk131krlsb6acsz7b228pn3iz6gy31fhz3y";
   };
 
   cargoSha256 = "1sa81570cvvpqgdcpnb08b0q4c6ap8a2wxfp2z336jzbv0zgv8a6";
diff --git a/pkgs/tools/networking/nebula/default.nix b/pkgs/tools/networking/nebula/default.nix
index 7f9d194e44a..3411aca5551 100644
--- a/pkgs/tools/networking/nebula/default.nix
+++ b/pkgs/tools/networking/nebula/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "nebula";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "slackhq";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0j7fna352z8kzx6n0hck7rp122c0v44j9syz0v30vq47xq2pwj5c";
+    sha256 = "0nwagk3q2gkirqrk27fisad2c2p2y1lsvz5phax9v5h51p1y79ia";
   };
 
-  modSha256 = "130h0gc5z0w5inpc99y6mismwg3nyzk3bqdq5v9yclkxlhkbcp6d";
+  modSha256 = "1sy5mnwn9fxjf3y41lm8gsggid2c0y08iw88m9ng8psaf4qid8ij";
 
   subPackages = [ "cmd/nebula" "cmd/nebula-cert" ];
 
diff --git a/pkgs/tools/networking/wavemon/default.nix b/pkgs/tools/networking/wavemon/default.nix
index fefff857381..89177f49ecf 100644
--- a/pkgs/tools/networking/wavemon/default.nix
+++ b/pkgs/tools/networking/wavemon/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, ncurses, libnl, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.0";
+  version = "0.9.1";
   baseName = "wavemon";
   name = "${baseName}-${version}";
 
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     owner = "uoaerg";
     repo = "wavemon";
     rev = "v${version}";
-    sha256 = "07cid0h3mcyr74nnrzzf8k5n1p9a4y3wij43jbiaqmkpxilcc1i6";
+    sha256 = "109ycwnjjqc2vpnd8b86njfifczlxglnyv4rh2qmbn2i5nw2wryg";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix
index 81cfcb662c4..dc69ae457dc 100644
--- a/pkgs/tools/package-management/packagekit/default.nix
+++ b/pkgs/tools/package-management/packagekit/default.nix
@@ -9,7 +9,7 @@
 
 stdenv.mkDerivation rec {
   pname = "packagekit";
-  version = "1.1.12";
+  version = "1.1.13";
 
   outputs = [ "out" "dev" ];
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     owner = "hughsie";
     repo = "PackageKit";
     rev = "PACKAGEKIT_${lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "02wq3jw3mkdld90irh5vdfd5bri2g1p89mhrmj56kvif1fqak46x";
+    sha256 = "0xmgac27p5z8wr56yw3cqhywnlvaf8kvyv1g0nzxnq167xj5vxam";
   };
 
   buildInputs = [ glib polkit python3 gobject-introspection ]
@@ -40,7 +40,8 @@ stdenv.mkDerivation rec {
     "--localstatedir=/var"
     "--sysconfdir=/etc"
     "--with-dbus-sys=${placeholder "out"}/share/dbus-1/system.d"
-    "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system/"
+    "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
+    "--with-systemduserunitdir=${placeholder "out"}/lib/systemd/user"
   ]
   ++ lib.optional enableNixBackend "--enable-nix"
   ++ lib.optional (!enableBashCompletion) "--disable-bash-completion"
@@ -49,7 +50,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   installFlags = [
-    "sysconfdir=\${out}/etc"
+    "sysconfdir=${placeholder "out"}/etc"
     "localstatedir=\${TMPDIR}"
   ];
 
diff --git a/pkgs/tools/package-management/rpm/default.nix b/pkgs/tools/package-management/rpm/default.nix
index ae0259e65fc..05d293b5bf1 100644
--- a/pkgs/tools/package-management/rpm/default.nix
+++ b/pkgs/tools/package-management/rpm/default.nix
@@ -50,6 +50,11 @@ stdenv.mkDerivation rec {
       sed -i $out/lib/rpm/macros -e "s/^%__$tool.*/%__$tool $tool/"
     done
 
+    # Avoid helper scripts pointing to absolute paths
+    for tool in find-provides find-requires; do
+      sed -i $out/lib/rpm/$tool -e "s#/usr/lib/rpm/#$out/lib/rpm/#"
+    done
+
     # symlinks produced by build are incorrect
     ln -sf $out/bin/{rpm,rpmquery}
     ln -sf $out/bin/{rpm,rpmverify}
diff --git a/pkgs/tools/security/rage/default.nix b/pkgs/tools/security/rage/default.nix
new file mode 100644
index 00000000000..63cc2972a58
--- /dev/null
+++ b/pkgs/tools/security/rage/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, rustPlatform, fetchFromGitHub, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "rage";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "str4d";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0ri4rfhy1wl0cppi2cp97kkiz08x2f072yfahn2kv9r4v1i9f4a7";
+  };
+
+  cargoSha256 = "02adwvcvha83zcvc5n7p88l7wmkg52j2xhznmhabc0zn328as2yd";
+
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
+
+  meta = with stdenv.lib; {
+    description = "A simple, secure and modern encryption tool with small explicit keys, no config options, and UNIX-style composability";
+    homepage = "https://github.com/str4d/rage";
+    license = licenses.asl20;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 55005036c26..40e9cd87561 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -201,6 +201,8 @@ in
 
   docker-ls = callPackage ../tools/misc/docker-ls { };
 
+  docker-slim = callPackage ../build-support/docker-slim { };
+
   docker-sync = callPackage ../tools/misc/docker-sync { };
 
   docui = callPackage ../tools/misc/docui { };
@@ -213,7 +215,9 @@ in
 
   dotnetbuildhelpers = callPackage ../build-support/dotnetbuildhelpers { };
 
-  dotnet-sdk = callPackage ../development/compilers/dotnet/sdk { };
+  dotnetCorePackages = recurseIntoAttrs (callPackage ../development/compilers/dotnet {});
+
+  dotnet-sdk = dotnetCorePackages.sdk_2_2;
 
   dumb-init = callPackage ../applications/virtualization/dumb-init {};
 
@@ -2942,6 +2946,10 @@ in
 
   mcrcon = callPackage ../tools/networking/mcrcon {};
 
+  rage = callPackage ../tools/security/rage {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   s-tar = callPackage ../tools/archivers/s-tar {};
 
   sonota = callPackage ../tools/misc/sonota { };
@@ -6922,6 +6930,10 @@ in
 
   ua = callPackage ../tools/networking/ua { };
 
+  uberwriter = callPackage ../applications/editors/uberwriter {
+    pythonPackages = python3Packages;
+  };
+
   ubridge = callPackage ../tools/networking/ubridge { };
 
   ucl = callPackage ../development/libraries/ucl { };
@@ -14336,6 +14348,8 @@ in
 
   svrcore = callPackage ../development/libraries/svrcore { };
 
+  svxlink = libsForQt5.callPackage ../applications/radio/svxlink { };
+
   swiftclient = python3.pkgs.callPackage ../tools/admin/swiftclient { };
 
   sword = callPackage ../development/libraries/sword { };
@@ -22039,7 +22053,8 @@ in
     pythonPackages = python3Packages;
   };
 
-  way-cooler = callPackage ../applications/window-managers/way-cooler {};
+  way-cooler = throw ("way-cooler is abandoned by its author: " +
+    "https://way-cooler.org/blog/2020/01/09/way-cooler-post-mortem.html");
 
   waypipe = callPackage ../applications/networking/remote/waypipe { };
 
@@ -23160,9 +23175,7 @@ in
 
   openxcom = callPackage ../games/openxcom { };
 
-  openxray = callPackage ../games/openxray {
-    stdenv = gcc8Stdenv;
-  };
+  openxray = callPackage ../games/openxray { };
 
   orthorobot = callPackage ../games/orthorobot { };
 
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index d402e3f07a4..d1e854b007e 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -5465,6 +5465,8 @@ in {
     inherit (pkgs) pkgconfig systemd;
   };
 
+  sysv_ipc = callPackage ../development/python-modules/sysv_ipc { };
+
   tabulate = callPackage ../development/python-modules/tabulate { };
 
   tadasets = callPackage ../development/python-modules/tadasets { };
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index e39b40be662..6ada2ca6d18 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -191,6 +191,8 @@ let
       haskellPackages = packagePlatforms pkgs.haskellPackages;
       idrisPackages = packagePlatforms pkgs.idrisPackages;
 
+      tests = packagePlatforms pkgs.tests;
+
       # Language packages disabled in https://github.com/NixOS/nixpkgs/commit/ccd1029f58a3bb9eca32d81bf3f33cb4be25cc66
 
       #emacsPackages = packagePlatforms pkgs.emacsPackages;