summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix8
-rw-r--r--pkgs/applications/audio/bshapr/default.nix4
-rw-r--r--pkgs/applications/audio/bslizr/default.nix4
-rw-r--r--pkgs/applications/audio/distrho/default.nix6
-rw-r--r--pkgs/applications/audio/ecasound/default.nix4
-rw-r--r--pkgs/applications/audio/giada/default.nix4
-rw-r--r--pkgs/applications/audio/ingen/default.nix17
-rw-r--r--pkgs/applications/audio/jalv/default.nix8
-rw-r--r--pkgs/applications/audio/noise-repellent/default.nix6
-rw-r--r--pkgs/applications/audio/qmmp/default.nix4
-rw-r--r--pkgs/applications/audio/rofi-mpd/default.nix6
-rw-r--r--pkgs/applications/audio/rosegarden/default.nix7
-rw-r--r--pkgs/applications/audio/spotify-tui/default.nix6
-rw-r--r--pkgs/applications/audio/string-machine/default.nix36
-rw-r--r--pkgs/applications/blockchains/wasabiwallet/default.nix4
-rw-r--r--pkgs/applications/editors/android-studio/default.nix6
-rw-r--r--pkgs/applications/editors/bviplus/default.nix4
-rw-r--r--pkgs/applications/editors/eclipse/plugins.nix2
-rw-r--r--pkgs/applications/editors/focuswriter/default.nix4
-rw-r--r--pkgs/applications/editors/kakoune/default.nix4
-rw-r--r--pkgs/applications/editors/quartus-prime/default.nix119
-rw-r--r--pkgs/applications/editors/quartus-prime/vsim.patch11
-rw-r--r--pkgs/applications/editors/texstudio/default.nix12
-rw-r--r--pkgs/applications/editors/uberwriter/default.nix54
-rw-r--r--pkgs/applications/graphics/apngasm/2.nix35
-rw-r--r--pkgs/applications/graphics/apngasm/default.nix26
-rw-r--r--pkgs/applications/graphics/avocode/default.nix4
-rw-r--r--pkgs/applications/graphics/drawio/default.nix4
-rw-r--r--pkgs/applications/graphics/gthumb/default.nix4
-rw-r--r--pkgs/applications/graphics/imgp/default.nix38
-rw-r--r--pkgs/applications/graphics/imlibsetroot/default.nix2
-rw-r--r--pkgs/applications/graphics/krop/default.nix7
-rw-r--r--pkgs/applications/graphics/renderdoc/default.nix4
-rw-r--r--pkgs/applications/graphics/runwayml/default.nix4
-rw-r--r--pkgs/applications/graphics/sxiv/default.nix14
-rw-r--r--pkgs/applications/graphics/tesseract/tesseract4.nix4
-rw-r--r--pkgs/applications/kde/default.nix2
-rw-r--r--pkgs/applications/kde/kmahjongg.nix19
-rw-r--r--pkgs/applications/kde/libkmahjongg.nix18
-rw-r--r--pkgs/applications/misc/bashSnippets/default.nix4
-rw-r--r--pkgs/applications/misc/calibre/default.nix86
-rw-r--r--pkgs/applications/misc/cbatticon/default.nix4
-rw-r--r--pkgs/applications/misc/dbeaver/default.nix4
-rw-r--r--pkgs/applications/misc/girara/default.nix4
-rw-r--r--pkgs/applications/misc/gpxsee/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/keepassx/community.nix4
-rw-r--r--pkgs/applications/misc/marktext/default.nix35
-rw-r--r--pkgs/applications/misc/megacmd/default.nix88
-rw-r--r--pkgs/applications/misc/nnn/default.nix12
-rw-r--r--pkgs/applications/misc/notejot/default.nix4
-rw-r--r--pkgs/applications/misc/qolibri/default.nix2
-rw-r--r--pkgs/applications/misc/syncthingtray/default.nix4
-rw-r--r--pkgs/applications/misc/tmatrix/default.nix19
-rw-r--r--pkgs/applications/misc/todoist/default.nix4
-rw-r--r--pkgs/applications/misc/toot/default.nix4
-rw-r--r--pkgs/applications/misc/vit/default.nix2
-rw-r--r--pkgs/applications/misc/xmrig/default.nix4
-rw-r--r--pkgs/applications/misc/xygrib/default.nix9
-rw-r--r--pkgs/applications/networking/browsers/captive-browser/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/chromium/browser.nix2
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/release_sources.nix770
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix8
-rw-r--r--pkgs/applications/networking/browsers/palemoon/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/fluxctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubeless/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/luigi/default.nix11
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix4
-rw-r--r--pkgs/applications/networking/flexget/default.nix5
-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/chatterino2/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/psi-plus/default.nix18
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix91
-rw-r--r--pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/spectral/default.nix18
-rw-r--r--pkgs/applications/networking/instant-messengers/teams/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix151
-rw-r--r--pkgs/applications/networking/irc/tiny/default.nix35
-rw-r--r--pkgs/applications/networking/p2p/magnetico/default.nix4
-rw-r--r--pkgs/applications/networking/protonvpn-cli-ng/default.nix34
-rw-r--r--pkgs/applications/networking/seafile-client/default.nix22
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix4
-rw-r--r--pkgs/applications/networking/sync/onedrive/default.nix30
-rw-r--r--pkgs/applications/office/atlassian-cli/default.nix4
-rw-r--r--pkgs/applications/office/csv2odf/default.nix28
-rw-r--r--pkgs/applications/office/kmymoney/default.nix4
-rw-r--r--pkgs/applications/office/paperless/default.nix2
-rw-r--r--pkgs/applications/office/skanlite/default.nix6
-rw-r--r--pkgs/applications/office/wpsoffice/default.nix12
-rw-r--r--pkgs/applications/radio/flrig/default.nix4
-rw-r--r--pkgs/applications/radio/svxlink/default.nix71
-rw-r--r--pkgs/applications/radio/urh/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/gildas/default.nix22
-rw-r--r--pkgs/applications/science/astronomy/gildas/imager-py3.patch12
-rw-r--r--pkgs/applications/science/biology/picard-tools/default.nix4
-rw-r--r--pkgs/applications/science/biology/samtools/default.nix4
-rw-r--r--pkgs/applications/science/logic/cubicle/default.nix2
-rw-r--r--pkgs/applications/search/doodle/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/hub/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/thicket/default.nix26
-rw-r--r--pkgs/applications/version-management/git-and-tools/thicket/shards.nix8
-rw-r--r--pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix1
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix4
-rw-r--r--pkgs/applications/video/mpv/default.nix2
-rw-r--r--pkgs/applications/video/obs-studio/default.nix2
-rw-r--r--pkgs/applications/video/shotcut/0001-encodedock.cpp-connect-to-VAAPI-via-DRM-not-X11.patch33
-rw-r--r--pkgs/applications/video/shotcut/default.nix2
-rw-r--r--pkgs/applications/virtualization/cri-o/default.nix5
-rw-r--r--pkgs/applications/virtualization/crun/default.nix12
-rw-r--r--pkgs/applications/virtualization/docker-compose/default.nix4
-rw-r--r--pkgs/applications/virtualization/open-vm-tools/default.nix4
-rw-r--r--pkgs/applications/virtualization/podman/default.nix12
-rw-r--r--pkgs/applications/window-managers/cage/default.nix18
-rw-r--r--pkgs/applications/window-managers/i3/layout-manager.nix6
-rw-r--r--pkgs/applications/window-managers/notion/default.nix50
-rw-r--r--pkgs/applications/window-managers/notion/notion-xft_nixos.diff662
-rw-r--r--pkgs/applications/window-managers/sway/default.nix4
-rw-r--r--pkgs/applications/window-managers/sway/idle.nix9
-rw-r--r--pkgs/applications/window-managers/sway/lock.nix7
-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
136 files changed, 1701 insertions, 8712 deletions
diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
index 0cff19819c0..64ee40e038c 100644
--- a/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
+++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
@@ -2,18 +2,16 @@
 
 bitwig-studio1.overrideAttrs (oldAttrs: rec {
   name = "bitwig-studio-${version}";
-  version = "3.1.1";
+  version = "3.1.2";
 
   src = fetchurl {
     url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb";
-    sha256 = "1mgyyl1mr8hmzn3qdmg77km6sk58hyd0gsqr9jksh0a8p6hj24pk";
+    sha256 = "07djn52lz43ls6fa4k1ncz3m1nc5zv2j93hwyavnr66r0hlqy7l9";
   };
 
   buildInputs = oldAttrs.buildInputs ++ [ xorg.libXtst ];
 
-  runtimeDependencies = [
-    pulseaudio
-  ];
+  runtimeDependencies = [ pulseaudio ];
 
   installPhase = ''
     ${oldAttrs.installPhase}
diff --git a/pkgs/applications/audio/bshapr/default.nix b/pkgs/applications/audio/bshapr/default.nix
index 732a8cf1ce2..88a671495c3 100644
--- a/pkgs/applications/audio/bshapr/default.nix
+++ b/pkgs/applications/audio/bshapr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "BShapr";
-  version = "0.6";
+  version = "0.7";
 
   src = fetchFromGitHub {
     owner = "sjaehn";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0mi8f0svq1h9cmmxyskcazr5x2q4dls3j9jc6ahi5rlk7i0bpa74";
+    sha256 = "1422xay28jkmqlj5y4vhb57kljy6ysvxh20cxpfxm980m8n54gq5";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/bslizr/default.nix b/pkgs/applications/audio/bslizr/default.nix
index 3273d7de68c..97a9d60ec27 100644
--- a/pkgs/applications/audio/bslizr/default.nix
+++ b/pkgs/applications/audio/bslizr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "BSlizr";
-  version = "1.2.2";
+  version = "1.2.4";
 
   src = fetchFromGitHub {
     owner = "sjaehn";
     repo = pname;
     rev = "${version}";
-    sha256 = "0q92ygz17iiriwzqylmaxd5ml2bhqy3n6c3f7g71n4hn9z3bl3s1";
+    sha256 = "0gyczxhd1jch7lwz3y1nrbpc0dycw9cc5i144rpif6b9gd2y1h1j";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/distrho/default.nix b/pkgs/applications/audio/distrho/default.nix
index 0d2858713eb..53d5330fb74 100644
--- a/pkgs/applications/audio/distrho/default.nix
+++ b/pkgs/applications/audio/distrho/default.nix
@@ -9,13 +9,13 @@ let
               else "linux";
 in stdenv.mkDerivation rec {
   pname = "distrho-ports";
-  version = "2018-04-16";
+  version = "unstable-2019-10-09";
 
   src = fetchFromGitHub {
     owner = "DISTRHO";
     repo = "DISTRHO-Ports";
-    rev = version;
-    sha256 = "0l4zwl4mli8jzch32a1fh7c88r9q17xnkxsdw17ds5hadnxlk12v";
+    rev = "7e62235e809e59770d0d91d2c48c3f50ce7c027a";
+    sha256 = "10hpsjcmk0cgcsic9r1wxyja9x6q9wb8w8254dlrnzyswl54r1f8";
   };
 
   configurePhase = ''
diff --git a/pkgs/applications/audio/ecasound/default.nix b/pkgs/applications/audio/ecasound/default.nix
index 6c9cd628a51..c17f6b745b3 100644
--- a/pkgs/applications/audio/ecasound/default.nix
+++ b/pkgs/applications/audio/ecasound/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ecasound";
-  version = "2.9.2";
+  version = "2.9.3";
 
   src = fetchurl {
     url = "https://ecasound.seul.org/download/ecasound-${version}.tar.gz";
-    sha256 = "15rcs28fq2wfvfs66p5na7adq88b55qszbhshpizgdbyqzgr2jf1";
+    sha256 = "1m7njfjdb7sqf0lhgc4swihgdr4snkg8v02wcly08wb5ar2fr2s6";
   };
 
   buildInputs = [ alsaLib audiofile libjack2 liblo liboil libsamplerate libsndfile lilv lv2 ];
diff --git a/pkgs/applications/audio/giada/default.nix b/pkgs/applications/audio/giada/default.nix
index 8907011c16f..eff1d6411a1 100644
--- a/pkgs/applications/audio/giada/default.nix
+++ b/pkgs/applications/audio/giada/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "giada";
-  version = "0.16.0";
+  version = "0.16.1";
 
   src = fetchFromGitHub {
     owner = "monocasual";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1lbxqa4kwzjdd79whrjgh8li453z4ckkjx4s4qzmrv7aqa2xmfsf";
+    sha256 = "0b3lhjs6myml5r5saky15523sbc3qr43r9rh047vhsiafmqdvfq1";
   };
 
   configureFlags = [ "--target=linux" ];
diff --git a/pkgs/applications/audio/ingen/default.nix b/pkgs/applications/audio/ingen/default.nix
index 1e249b51fb7..9d3fb6aae40 100644
--- a/pkgs/applications/audio/ingen/default.nix
+++ b/pkgs/applications/audio/ingen/default.nix
@@ -1,23 +1,24 @@
 { stdenv, fetchgit, boost, ganv, glibmm, gtkmm2, libjack2, lilv
-, lv2Unstable, makeWrapper, pkgconfig, python, raul, rdflib, serd, sord, sratom
+, lv2, makeWrapper, pkgconfig, python, raul, rdflib, serd, sord, sratom
 , wafHook
 , suil
 }:
 
 stdenv.mkDerivation  rec {
-  name = "ingen-unstable-${rev}";
-  rev = "2017-07-22";
+  pname = "ingen";
+  version = "unstable-2019-12-09";
+  name = "${pname}-${version}";
 
   src = fetchgit {
-    url = "https://git.drobilla.net/cgit.cgi/ingen.git";
-    rev = "cc4a4db33f4d126a07a4a498e053c5fb9a883be3";
-    sha256 = "1gmwmml486r9zq4w65v91mfaz36af9zzyjkmi74m8qmh67ffqn3w";
+    url = "https://gitlab.com/drobilla/ingen.git";
+    rev = "e32f32a360f2bf8f017ea347b6d1e568c0beaf68";
+    sha256 = "0wjn2i3j7jb0bmxymg079xpk4iplb91q0xqqnvnpvyldrr7gawlb";
     deepClone = true;
   };
 
   nativeBuildInputs = [ pkgconfig wafHook ];
   buildInputs = [
-    boost ganv glibmm gtkmm2 libjack2 lilv lv2Unstable makeWrapper
+    boost ganv glibmm gtkmm2 libjack2 lilv lv2 makeWrapper
     python raul serd sord sratom suil
   ];
 
@@ -38,7 +39,7 @@ stdenv.mkDerivation  rec {
   meta = with stdenv.lib; {
     description = "A modular audio processing system using JACK and LV2 or LADSPA plugins";
     homepage = http://drobilla.net/software/ingen;
-    license = licenses.gpl3;
+    license = licenses.agpl3Plus;
     maintainers = [ maintainers.goibhniu ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/audio/jalv/default.nix b/pkgs/applications/audio/jalv/default.nix
index a40d5101b34..51ec102dbfd 100644
--- a/pkgs/applications/audio/jalv/default.nix
+++ b/pkgs/applications/audio/jalv/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchurl, gtk2, libjack2, lilv, lv2, pkgconfig, python
+{ stdenv, fetchurl, gtk3, libjack2, lilv, lv2, pkgconfig, python
 , serd, sord , sratom, suil, wafHook }:
 
 stdenv.mkDerivation  rec {
   pname = "jalv";
-  version = "1.6.2";
+  version = "1.6.4";
 
   src = fetchurl {
     url = "https://download.drobilla.net/${pname}-${version}.tar.bz2";
-    sha256 = "13al2hb9s3m7jgbg051x704bmzmcg4wb56cfh8z588kiyh0mxpaa";
+    sha256 = "1wwfn7yzbs37s2rdlfjgks63svd5g14yyzd2gdl7h0z12qncwsy2";
   };
 
   nativeBuildInputs = [ pkgconfig wafHook ];
   buildInputs = [
-    gtk2 libjack2 lilv lv2 python serd sord sratom suil
+    gtk3 libjack2 lilv lv2 python serd sord sratom suil
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/noise-repellent/default.nix b/pkgs/applications/audio/noise-repellent/default.nix
index 146e13f34de..bc5b35396e2 100644
--- a/pkgs/applications/audio/noise-repellent/default.nix
+++ b/pkgs/applications/audio/noise-repellent/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "noise-repellent";
-  version = "unstable-2018-12-29";
+  version = "0.1.5";
 
   src = fetchFromGitHub {
     owner = "lucianodato";
     repo = pname;
-    rev = "9efdd0b41ec184a792087c87cbf5382f455e33ec";
-    sha256 = "0pn9cxapfvb5l62q86bchyfll1290vi0rhrzarb1jpc4ix7kz53c";
+    rev = version;
+    sha256 = "0hb89x9i2knzan46q4nwscf5zmnb2nwf4w13xl2c0y1mx1ls1mwl";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix
index 801d32189bf..a941ea485b7 100644
--- a/pkgs/applications/audio/qmmp/default.nix
+++ b/pkgs/applications/audio/qmmp/default.nix
@@ -29,11 +29,11 @@
 # handle that.
 
 mkDerivation rec {
-  name = "qmmp-1.3.5";
+  name = "qmmp-1.3.6";
 
   src = fetchurl {
     url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
-    sha256 = "0h7kcqzhfvk610937pwrhizcdgd4n7ncl1vayv6sj3va1x7pv6xm";
+    sha256 = "0dihy6v6j1cfx4qgwgajdn8rx6nf8x5srk8yjki9xh1mlcaanhp8";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/applications/audio/rofi-mpd/default.nix b/pkgs/applications/audio/rofi-mpd/default.nix
index 9def4a292f6..97c737675ad 100644
--- a/pkgs/applications/audio/rofi-mpd/default.nix
+++ b/pkgs/applications/audio/rofi-mpd/default.nix
@@ -2,16 +2,16 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "rofi-mpd";
-  version = "1.1.0";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "JakeStanger";
     repo = "Rofi_MPD";
     rev = "v${version}";
-    sha256 = "0pdra1idgas3yl9z9v7b002igwg2c1mv0yw2ffb8rsbx88x4gbai";
+    sha256 = "12zzx0m2nwyzxzzqgzq30a27k015kcw4ylvs7cyalf5gf6sg27kl";
   };
 
-  propagatedBuildInputs = with python3Packages; [ mutagen mpd2 ];
+  propagatedBuildInputs = with python3Packages; [ mutagen mpd2 toml appdirs ];
 
   # upstream doesn't contain a test suite
   doCheck = false;
diff --git a/pkgs/applications/audio/rosegarden/default.nix b/pkgs/applications/audio/rosegarden/default.nix
index 7c4cefb6ba4..8d8e3e1b6c0 100644
--- a/pkgs/applications/audio/rosegarden/default.nix
+++ b/pkgs/applications/audio/rosegarden/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, cmake, makedepend, perl, pkgconfig, qttools, wrapQtAppsHook
-, dssi, fftwSinglePrec, ladspaH, ladspaPlugins, libjack2
+, dssi, fftwSinglePrec, ladspaH, ladspaPlugins, libjack2, alsaLib
 , liblo, liblrdf, libsamplerate, libsndfile, lirc ? null, qtbase }:
 
 stdenv.mkDerivation (rec {
-  version = "19.06";
+  version = "19.12";
   pname = "rosegarden";
 
   src = fetchurl {
     url = "mirror://sourceforge/rosegarden/${pname}-${version}.tar.bz2";
-    sha256 = "169qb58v2s8va59hzkih8nqb2aipsqlrbfs8q39ywqa8w5d60gcc";
+    sha256 = "1qcaxc6hdzva7kwxxhgl95437fagjbxzv4mihsgpr7y9qk08ppw1";
   };
 
   patchPhase = ''
@@ -30,6 +30,7 @@ stdenv.mkDerivation (rec {
     libsndfile
     lirc
     qtbase
+    alsaLib
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/audio/spotify-tui/default.nix b/pkgs/applications/audio/spotify-tui/default.nix
index 973062ecb75..6f8fc541ad7 100644
--- a/pkgs/applications/audio/spotify-tui/default.nix
+++ b/pkgs/applications/audio/spotify-tui/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "spotify-tui";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "Rigellute";
     repo = "spotify-tui";
     rev = "v${version}";
-    sha256 = "1pshwn486msn418dilk57rl9471aas0dif765nx1p9xgkrjpb7wa";
+    sha256 = "18ja0a7s6lhz6y8fmpmabv95zkcfazj0qc0dsd9dblfzzjhvmw39";
   };
 
-  cargoSha256 = "0020igycgikkbd649hv6xlpn13dij4g7yc43fic9z710p6nsxqaq";
+  cargoSha256 = "1364z9jz3mnba3pii5h7imqlwlvbp146pcd5q8w61lsmdr2iyha2";
 
   nativeBuildInputs = [ pkgconfig ] ++ stdenv.lib.optionals stdenv.isLinux [ python3 ];
   buildInputs = [ openssl ]
diff --git a/pkgs/applications/audio/string-machine/default.nix b/pkgs/applications/audio/string-machine/default.nix
new file mode 100644
index 00000000000..67053baa35f
--- /dev/null
+++ b/pkgs/applications/audio/string-machine/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, boost, cairo, lv2, pkg-config }:
+
+stdenv.mkDerivation rec {
+  pname = "string-machine";
+  version = "unstable-2020-01-20";
+
+  src = fetchFromGitHub {
+    owner = "jpcima";
+    repo = pname;
+    rev = "188082dd0beb9a3c341035604841c53675fe66c4";
+    sha256 = "0l9xrzp3f0hk6h320qh250a0n1nbd6qhjmab21sjmrlb4ngy672v";
+    fetchSubmodules = true;
+  };
+
+  postPatch = ''
+    patchShebangs ./dpf/utils/generate-ttl.sh
+  '';
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [
+    boost cairo lv2
+  ];
+
+  makeFlags = [
+    "PREFIX=$(out)"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/jpcima/string-machine";
+    description = "Digital model of electronic string ensemble instrument";
+    maintainers = [ maintainers.magnetophon ];
+    platforms = intersectLists platforms.linux platforms.x86;
+    license = licenses.boost;
+  };
+}
diff --git a/pkgs/applications/blockchains/wasabiwallet/default.nix b/pkgs/applications/blockchains/wasabiwallet/default.nix
index 9599dc9407c..6b9630fa6b7 100644
--- a/pkgs/applications/blockchains/wasabiwallet/default.nix
+++ b/pkgs/applications/blockchains/wasabiwallet/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, makeDesktopItem, openssl, xorg, curl, fontconfig, krb5, zlib, dotnet-sdk }:
+{ stdenv, fetchurl, makeDesktopItem, openssl, xorg, curl, fontconfig, krb5, zlib, dotnet-netcore }:
 
 stdenv.mkDerivation rec {
   pname = "wasabiwallet";
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     cd $out/opt/${pname}
     for i in $(find . -type f -name '*.so') wassabee
       do
-        patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ openssl stdenv.cc.cc.lib xorg.libX11 curl fontconfig.lib krb5 zlib dotnet-sdk ]} $i
+        patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ openssl stdenv.cc.cc.lib xorg.libX11 curl fontconfig.lib krb5 zlib dotnet-netcore ]} $i
       done
     patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" wassabee
     ln -s $out/opt/${pname}/wassabee $out/bin/${pname}
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index 219c13f241c..4bea9188579 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -18,9 +18,9 @@ let
     sha256Hash = "0xpcihr5xxr9l1kv6aflywshs8fww3s7di0g98mz475whhxwzf3q";
   };
   latestVersion = { # canary & dev
-    version = "4.0.0.8"; # "Android Studio 4.0 Canary 8"
-    build = "193.6107147";
-    sha256Hash = "0bdibjp52jjlyh0966p9657xxmz1z7vi262v6ss4ywpb7gpaj9qq";
+    version = "4.0.0.9"; # "Android Studio 4.0 Canary 9"
+    build = "193.6137316";
+    sha256Hash = "1cgxyqp85z5x2jnjh1qabn2cfiziiwvfr6iggzb531dlhllyfyqw";
   };
 in {
   # Attributes are named by their corresponding release channels
diff --git a/pkgs/applications/editors/bviplus/default.nix b/pkgs/applications/editors/bviplus/default.nix
index 7d70ad14b5d..5fab7fe9da6 100644
--- a/pkgs/applications/editors/bviplus/default.nix
+++ b/pkgs/applications/editors/bviplus/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bviplus";
-  version = "0.9.4";
+  version = "1.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/bviplus/bviplus/${version}/bviplus-${version}.tgz";
-    sha256 = "10x6fbn8v6i0y0m40ja30pwpyqksnn8k2vqd290vxxlvlhzah4zb";
+    sha256 = "08q2fdyiirabbsp5qpn3v8jxp4gd85l776w6gqvrbjwqa29a8arg";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix
index 364d432f1e3..dea00c99d7e 100644
--- a/pkgs/applications/editors/eclipse/plugins.nix
+++ b/pkgs/applications/editors/eclipse/plugins.nix
@@ -479,7 +479,7 @@ rec {
     src = fetchzip {
       stripRoot = false;
       url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.14-201912100610/org.eclipse.jdt-4.14.zip;
-      sha256 = "16c5v59mkb0cyfhf2475ds1ajma65bhqfxjr6v59hianqxq9h9la";
+      sha256 = "1c2a23qviv58xljpq3yb37ra8cqw7jh52hmzqlg1nij2sdxb6hm5";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/focuswriter/default.nix b/pkgs/applications/editors/focuswriter/default.nix
index b08e3b5fa23..ccda1b4d4cb 100644
--- a/pkgs/applications/editors/focuswriter/default.nix
+++ b/pkgs/applications/editors/focuswriter/default.nix
@@ -2,11 +2,11 @@
 
 mkDerivation rec {
   pname = "focuswriter";
-  version = "1.7.3";
+  version = "1.7.4";
 
   src = fetchurl {
     url = "https://gottcode.org/focuswriter/focuswriter-${version}-src.tar.bz2";
-    sha256 = "155wf7z1g2yx6fb41w29kcb0m2rhnk9ci5yw882yy86s4x20b1jq";
+    sha256 = "1fli85p9d58gsg2kwmncqdcw1nmx062kddbrhr50mnsn04dc4j3g";
   };
 
   nativeBuildInputs = [ pkgconfig qmake qttools ];
diff --git a/pkgs/applications/editors/kakoune/default.nix b/pkgs/applications/editors/kakoune/default.nix
index a6580581f85..8cb70af40e0 100644
--- a/pkgs/applications/editors/kakoune/default.nix
+++ b/pkgs/applications/editors/kakoune/default.nix
@@ -4,12 +4,12 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "kakoune-unwrapped";
-  version = "2019.12.10";
+  version = "2020.01.16";
   src = fetchFromGitHub {
     repo = "kakoune";
     owner = "mawww";
     rev = "v${version}";
-    sha256 = "0cb3ndlczxvxnzb91s4idxx0cy30mnrc4znsbjpnch68fvpm0x2f";
+    sha256 = "16v6z1nzj54j19fraxhb18jdby4zfs1br91gxpg9s2s4nsk0km0b";
   };
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ ncurses asciidoc docbook_xsl libxslt ];
diff --git a/pkgs/applications/editors/quartus-prime/default.nix b/pkgs/applications/editors/quartus-prime/default.nix
new file mode 100644
index 00000000000..6a6ea80ca45
--- /dev/null
+++ b/pkgs/applications/editors/quartus-prime/default.nix
@@ -0,0 +1,119 @@
+{ buildFHSUserEnv, makeDesktopItem, stdenv, lib, requireFile, unstick, cycloneVSupport ? true }:
+
+let
+  quartus = stdenv.mkDerivation rec {
+    version = "19.1.0.670";
+    pname = "quartus-prime-lite";
+
+    src = let
+      require = {name, sha256}: requireFile {
+        inherit name sha256;
+        url = "${meta.homepage}/${lib.versions.majorMinor version}/?edition=lite&platform=linux";
+      };
+    in map require ([{
+      name = "QuartusLiteSetup-${version}-linux.run";
+      sha256 = "15vxvqxqdk29ahlw3lkm1nzxyhzy4626wb9s5f2h6sjgq64r8m7f";
+    } {
+      name = "ModelSimSetup-${version}-linux.run";
+      sha256 = "0j1vfr91jclv88nam2plx68arxmz4g50sqb840i60wqd5b0l3y6r";
+    }] ++ lib.optional cycloneVSupport {
+      name = "cyclonev-${version}.qdz";
+      sha256 = "0bqxpvjgph0y6slk0jq75mcqzglmqkm0jsx10y9xz5llm6zxzqab";
+    });
+
+    nativeBuildInputs = [ unstick ];
+
+    buildCommand = let
+      installers = lib.sublist 0 2 src;
+      components = lib.sublist 2 ((lib.length src) - 2) src;
+      copyInstaller = installer: ''
+        # `$(cat $NIX_CC/nix-support/dynamic-linker) $src[0]` often segfaults, so cp + patchelf
+        cp ${installer} $TEMP/${installer.name}
+        chmod u+w,+x $TEMP/${installer.name}
+        patchelf --interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $TEMP/${installer.name}
+      '';
+      copyComponent = component: "cp ${component} $TEMP/${component.name}";
+      # leaves enabled: quartus, modelsim_ase, devinfo
+      disabledComponents = [
+        "quartus_help"
+        "quartus_update"
+        "modelsim_ae"
+        # Devices
+        "arria_lite"
+        "cyclone"
+        "cyclone10lp"
+        "max"
+        "max10"
+      ] ++ lib.optional (!cycloneVSupport) "cyclonev";
+    in ''
+    ${lib.concatMapStringsSep "\n" copyInstaller installers}
+    ${lib.concatMapStringsSep "\n" copyComponent components}
+
+    unstick $TEMP/${(builtins.head installers).name} \
+      --disable-components ${lib.concatStringsSep "," disabledComponents} \
+      --mode unattended --installdir $out --accept_eula 1
+
+    # This patch is from https://wiki.archlinux.org/index.php/Altera_Design_Software
+    patch --force --strip 0 --directory $out < ${./vsim.patch}
+
+    rm -r $out/uninstall $out/logs
+  '';
+
+    meta = {
+      homepage = "https://fpgasoftware.intel.com";
+      description = "FPGA design and simulation software";
+      license = lib.licenses.unfree;
+      platforms = lib.platforms.linux;
+      maintainers = with lib.maintainers; [ kwohlfahrt ];
+    };
+  };
+
+  desktopItem = makeDesktopItem {
+    name = quartus.name;
+    exec = "quartus";
+    icon = "quartus";
+    desktopName = "Quartus";
+    genericName = "Quartus FPGA IDE";
+    categories = "Development;";
+  };
+
+# I think modelsim_ase/linux/vlm checksums itself, so use FHSUserEnv instead of `patchelf`
+in buildFHSUserEnv {
+  name = "quartus-prime-lite";
+
+  targetPkgs = pkgs: with pkgs; [
+    # quartus requirements
+    glib
+    xorg.libICE
+    xorg.libSM
+    zlib
+    # qsys requirements
+    xorg.libXtst
+    xorg.libXi
+  ];
+  multiPkgs = pkgs: with pkgs; let
+    # This seems ugly - can we override `libpng = libpng12` for all `pkgs`?
+    freetype = pkgs.freetype.override { libpng = libpng12; };
+    fontconfig = pkgs.fontconfig.override { inherit freetype; };
+    libXft = pkgs.xorg.libXft.override { inherit freetype fontconfig; };
+  in [
+    # modelsim requirements
+    libxml2
+    ncurses5
+    unixODBC
+    libXft
+    # common requirements
+    freetype
+    fontconfig
+    xorg.libX11
+    xorg.libXext
+    xorg.libXrender
+  ];
+
+  extraInstallCommands = ''
+    mkdir -p $out/share/applications
+    cp ${desktopItem}/share/applications/* $out/share/applications
+  '';
+
+  runScript = "${quartus}/quartus/bin/quartus";
+}
diff --git a/pkgs/applications/editors/quartus-prime/vsim.patch b/pkgs/applications/editors/quartus-prime/vsim.patch
new file mode 100644
index 00000000000..36dc41b7ef1
--- /dev/null
+++ b/pkgs/applications/editors/quartus-prime/vsim.patch
@@ -0,0 +1,11 @@
+--- modelsim_ase/vco     	1970-01-01 01:00:01.000000000 +0100
++++ modelsim_ase/vco      	1970-01-01 01:00:01.000000000 +0100
+@@ -207,7 +207,7 @@
+           2.[5-9]*)         vco="linux" ;;
+           2.[1-9][0-9]*)    vco="linux" ;;
+           3.[0-9]*)    		vco="linux" ;;
+-          *)                vco="linux_rh60" ;;
++          *)                vco="linux" ;;
+         esac
+         if [ ! -x "$dir/$vco/vsim" ]; then
+           if [ -x "$dir/linuxle/vsim" ]; then
diff --git a/pkgs/applications/editors/texstudio/default.nix b/pkgs/applications/editors/texstudio/default.nix
index 13b7f4db0c5..372d9508174 100644
--- a/pkgs/applications/editors/texstudio/default.nix
+++ b/pkgs/applications/editors/texstudio/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "texstudio";
-  version = "2.12.16";
+  version = "2.12.20";
 
   src = fetchFromGitHub {
     owner = "${pname}-org";
     repo = pname;
     rev = version;
-    sha256 = "0ck65fvz6mzfpqdb1ndgyvgxdnslrwhdr1swgck4gaghcrgbg3gq";
+    sha256 = "0hywx2knqdrslzmm4if476ryf4ma0aw5j8kdp6lyrz2jx7az2gqa";
   };
 
   nativeBuildInputs = [ qmake wrapQtAppsHook pkgconfig ];
@@ -20,10 +20,10 @@ mkDerivation rec {
   meta = with lib; {
     description = "TeX and LaTeX editor";
     longDescription=''
-	Fork of TeXMaker, this editor is a full fledged IDE for
-	LaTeX editing with completion, structure viewer, preview,
-	spell checking and support of any compilation chain.
-	'';
+      Fork of TeXMaker, this editor is a full fledged IDE for
+      LaTeX editing with completion, structure viewer, preview,
+      spell checking and support of any compilation chain.
+    '';
     homepage = http://texstudio.sourceforge.net;
     license = licenses.gpl2Plus;
     platforms = [ "x86_64-linux" ];
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/apngasm/2.nix b/pkgs/applications/graphics/apngasm/2.nix
new file mode 100644
index 00000000000..166bc135c19
--- /dev/null
+++ b/pkgs/applications/graphics/apngasm/2.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchzip, libpng, zlib, zopfli }:
+
+stdenv.mkDerivation rec {
+  pname = "apngasm";
+  version = "2.91";
+
+  src = fetchzip {
+    url = "mirror://sourceforge/${pname}/${pname}-${version}-src.zip";
+    stripRoot = false;
+    sha256 = "0qhljqql159xkn1l83vz0q8wvzr7rjz4jnhiy0zn36pgvacg0zn1";
+  };
+
+  buildInputs = [ libpng zlib zopfli ];
+
+  postPatch = ''
+    rm -rf libpng zlib zopfli
+  '';
+
+  NIX_CFLAGS_LINK = "-lzopfli";
+
+  installPhase = ''
+    install -Dt $out/bin apngasm
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Create highly optimized Animated PNG files from PNG/TGA images";
+    homepage = "http://apngasm.sourceforge.net/";
+    license = licenses.zlib;
+    maintainers = with maintainers; [ orivej ];
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/applications/graphics/apngasm/default.nix b/pkgs/applications/graphics/apngasm/default.nix
new file mode 100644
index 00000000000..8d50696efcb
--- /dev/null
+++ b/pkgs/applications/graphics/apngasm/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, cmake, boost, libpng, zlib }:
+
+stdenv.mkDerivation rec {
+  pname = "apngasm";
+  version = "3.1.9";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "d50bfb0cf14c376f4cfb94eb91c61d795a76b715"; # not tagged, but in debian/changelog
+    sha256 = "0pk0r8x1950pm6j3d5wgryvy3ldm7a9gl59jmnwnjmg1sf9mzf97";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ boost libpng zlib ];
+
+  meta = with stdenv.lib; {
+    description = "Create an APNG from multiple PNG files";
+    homepage = "https://github.com/apngasm/apngasm";
+    license = licenses.zlib;
+    maintainers = with maintainers; [ orivej ];
+    platforms = platforms.linux;
+  };
+
+}
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/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix
index c71e95b21af..c81ad47db84 100644
--- a/pkgs/applications/graphics/drawio/default.nix
+++ b/pkgs/applications/graphics/drawio/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "drawio";
-  version = "12.4.2";
+  version = "12.5.3";
 
   src = fetchurl {
     url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/draw.io-x86_64-${version}.rpm";
-    sha256 = "1mngn90cn9hixa0xkhk7mb02gjp480wnipjy2jzkq8kwpai1gm1m";
+    sha256 = "048lksq2akkyi5jg1fiz455n2nv6w58kv8xb9y41qms5dshpww2q";
   };
 
   nativeBuildInputs = [
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/imgp/default.nix b/pkgs/applications/graphics/imgp/default.nix
new file mode 100644
index 00000000000..80420202c05
--- /dev/null
+++ b/pkgs/applications/graphics/imgp/default.nix
@@ -0,0 +1,38 @@
+{ lib, fetchFromGitHub, buildPythonApplication, pillow, imgp }:
+
+buildPythonApplication rec {
+  pname = "imgp";
+  version = "2.7";
+
+  src = fetchFromGitHub {
+    owner = "jarun";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "13r4fn3dd0nyidfhrr7zzpls5ifbyqdwxhyvpkqr8ahchws7wfc6";
+  };
+
+  propagatedBuildInputs = [ pillow ];
+
+  installFlags = [
+    "DESTDIR=$(out)"
+    "PREFIX="
+  ];
+
+  postInstall = ''
+    install -Dm555 auto-completion/bash/imgp-completion.bash $out/share/bash-completion/completions/imgp.bash
+    install -Dm555 auto-completion/fish/imgp.fish -t $out/share/fish/vendor_completions.d
+    install -Dm555 auto-completion/zsh/_imgp -t $out/share/zsh/site-functions
+  '';
+
+  checkPhase = ''
+    $out/bin/imgp --help
+  '';
+
+  meta = with lib; {
+    description = "High-performance CLI batch image resizer & rotator";
+    homepage = "https://github.com/jarun/imgp";
+    license = licenses.gpl3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ sikmir ];
+  };
+}
diff --git a/pkgs/applications/graphics/imlibsetroot/default.nix b/pkgs/applications/graphics/imlibsetroot/default.nix
index 49868bbd831..8ca4d71bb56 100644
--- a/pkgs/applications/graphics/imlibsetroot/default.nix
+++ b/pkgs/applications/graphics/imlibsetroot/default.nix
@@ -24,6 +24,6 @@ stdenv.mkDerivation {
     homepage = http://robotmonkeys.net/2010/03/30/imlibsetroot/;
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ lucas8 ];
+    maintainers = with maintainers; [ dwarfmaster ];
   };
 }
diff --git a/pkgs/applications/graphics/krop/default.nix b/pkgs/applications/graphics/krop/default.nix
index c4c889cdba5..401e5f6fc57 100644
--- a/pkgs/applications/graphics/krop/default.nix
+++ b/pkgs/applications/graphics/krop/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, python3Packages, libsForQt5, ghostscript }:
+{ stdenv, fetchFromGitHub, python3Packages, libsForQt5, ghostscript, qt5}:
 
 python3Packages.buildPythonApplication rec {
   pname = "krop";
@@ -19,6 +19,11 @@ python3Packages.buildPythonApplication rec {
     ghostscript
   ];
 
+  nativeBuildInputs = [ qt5.wrapQtAppsHook ];
+  makeWrapperArgs = [
+   "\${qtWrapperArgs[@]}"
+  ];
+
   # Disable checks because of interference with older Qt versions // xcb
   doCheck = false;
 
diff --git a/pkgs/applications/graphics/renderdoc/default.nix b/pkgs/applications/graphics/renderdoc/default.nix
index 426985d312c..843801011f7 100644
--- a/pkgs/applications/graphics/renderdoc/default.nix
+++ b/pkgs/applications/graphics/renderdoc/default.nix
@@ -13,14 +13,14 @@ let
   pythonPackages = python3Packages;
 in
 mkDerivation rec {
-  version = "1.5";
+  version = "1.6";
   pname = "renderdoc";
 
   src = fetchFromGitHub {
     owner = "baldurk";
     repo = "renderdoc";
     rev = "v${version}";
-    sha256 = "0a05f6qfq90wrf4fixchp9knx4nhqhwjxl02n03a7k56xzxxnlci";
+    sha256 = "0b2f9m5azzvcjbmxkwcl1d7jvvp720b81zwn19rrskznfcc2r1i8";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/graphics/runwayml/default.nix b/pkgs/applications/graphics/runwayml/default.nix
index 839a87214e6..c3f747837e0 100644
--- a/pkgs/applications/graphics/runwayml/default.nix
+++ b/pkgs/applications/graphics/runwayml/default.nix
@@ -6,12 +6,12 @@
 
 let
   pname = "runwayml";
-  version = "0.10.11";
+  version = "0.10.20";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://runway-releases.s3.amazonaws.com/Runway%20${version}.AppImage";
-    sha256 = "0f3icgpwj1sk9bkycqw65c8bhrzzpw5yzacw52siv4j1gl4casnl";
+    sha256 = "1wi94xi8nrwfc4v2j1crlmwr0nxg95ffp5h4hxd84crvya8ibxgz";
     name="${pname}-${version}.AppImage";
   };
 
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/graphics/tesseract/tesseract4.nix b/pkgs/applications/graphics/tesseract/tesseract4.nix
index 548f58a50fb..95896337720 100644
--- a/pkgs/applications/graphics/tesseract/tesseract4.nix
+++ b/pkgs/applications/graphics/tesseract/tesseract4.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tesseract";
-  version = "4.1.0";
+  version = "4.1.1";
 
   src = fetchFromGitHub {
     owner = "tesseract-ocr";
     repo = "tesseract";
     rev = version;
-    sha256 = "06i7abxy2ifmdx1fak81cx0kns85n8hvp0339jk6242fhshibljx";
+    sha256 = "1ca27zbjpx35nxh9fha410z3jskwyj06i5hqiqdc08s2d7kdivwn";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix
index 0bfa850cb26..3c45b05e9e8 100644
--- a/pkgs/applications/kde/default.nix
+++ b/pkgs/applications/kde/default.nix
@@ -121,6 +121,7 @@ let
       kio-extras = callPackage ./kio-extras.nix {};
       kldap = callPackage ./kldap.nix {};
       kleopatra = callPackage ./kleopatra.nix {};
+      kmahjongg = callPackage ./kmahjongg.nix {};
       kmail = callPackage ./kmail.nix {};
       kmail-account-wizard = callPackage ./kmail-account-wizard.nix {};
       kmailtransport = callPackage ./kmailtransport.nix {};
@@ -160,6 +161,7 @@ let
       libkgapi = callPackage ./libkgapi.nix {};
       libkipi = callPackage ./libkipi.nix {};
       libkleo = callPackage ./libkleo.nix {};
+      libkmahjongg = callPackage ./libkmahjongg.nix {};
       libkomparediff2 = callPackage ./libkomparediff2.nix {};
       libksane = callPackage ./libksane.nix {};
       libksieve = callPackage ./libksieve.nix {};
diff --git a/pkgs/applications/kde/kmahjongg.nix b/pkgs/applications/kde/kmahjongg.nix
new file mode 100644
index 00000000000..b51d0d147e2
--- /dev/null
+++ b/pkgs/applications/kde/kmahjongg.nix
@@ -0,0 +1,19 @@
+{ lib
+, mkDerivation
+, extra-cmake-modules
+, kdoctools
+, kdeclarative
+, knewstuff
+, libkdegames
+, libkmahjongg
+}:
+
+mkDerivation {
+  name = "kmahjongg";
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  buildInputs = [ kdeclarative libkmahjongg knewstuff libkdegames ];
+  meta = {
+    license = with lib.licenses; [ gpl2 ];
+    maintainers = with lib.maintainers; [ genesis ];
+  };
+}
diff --git a/pkgs/applications/kde/libkmahjongg.nix b/pkgs/applications/kde/libkmahjongg.nix
new file mode 100644
index 00000000000..4b7b8538290
--- /dev/null
+++ b/pkgs/applications/kde/libkmahjongg.nix
@@ -0,0 +1,18 @@
+{
+  mkDerivation, lib, kdepimTeam,
+  extra-cmake-modules, kdoctools,
+  kcompletion, kconfig, kconfigwidgets, kcoreaddons, ki18n,
+  kwidgetsaddons
+}:
+
+mkDerivation {
+  name = "libkmahjongg";
+  meta = {
+    license = with lib.licenses; [ gpl2 ];
+    maintainers = with lib.maintainers; [ genesis ];
+  };
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  buildInputs = [ kcompletion kconfig kconfigwidgets kcoreaddons ki18n
+    kwidgetsaddons ];
+  outputs = [ "out" "dev" ];
+}
diff --git a/pkgs/applications/misc/bashSnippets/default.nix b/pkgs/applications/misc/bashSnippets/default.nix
index b0af34ec760..0976e7625bc 100644
--- a/pkgs/applications/misc/bashSnippets/default.nix
+++ b/pkgs/applications/misc/bashSnippets/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper
 , curl, python, bind, iproute, bc, gitMinimal }:
 let
-  version = "1.17.3";
+  version = "1.23.0";
   deps = lib.makeBinPath [
     curl
     python
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
     owner = "alexanderepstein";
     repo = "Bash-Snippets";
     rev = "v${version}";
-    sha256 = "1xdjk8bjh7l6h7gdqrra1dh4wdq89wmd0jsirsvqa3bmcsb2wz1r";
+    sha256 = "044nxgd3ic2qr6hgq5nymn3dyf5i4s8mv5z4az6jvwlrjnvbg8cp";
   };
 
   buildInputs = [ makeWrapper ];
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/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index d0011eee9c1..f6236a301db 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "dbeaver-ce";
-  version = "6.3.2";
+  version = "6.3.3";
 
   desktopItem = makeDesktopItem {
     name = "dbeaver";
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "0yr79p4vdg6s6c8sry6qnf2ifjcjdapn0sff2crsnz331rsh27sm";
+    sha256 = "08rf7igfzh5g40bapsj0f424jxfx62y97syr3fxmqv3ik7iav9k4";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/misc/girara/default.nix b/pkgs/applications/misc/girara/default.nix
index 6bfb4907807..45bca7d3fbf 100644
--- a/pkgs/applications/misc/girara/default.nix
+++ b/pkgs/applications/misc/girara/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "girara";
-  version = "0.3.3";
+  version = "0.3.4";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://git.pwmt.org/pwmt/${pname}/-/archive/${version}/${pname}-${version}.tar.gz";
-    sha256 = "13vr62kkkqs2xsrmsn114n6c6084ix1qyjksczqsc3s2y3bdsmj4";
+    sha256 = "08zdsr4zwi49facsl5596l0g1xqqv2jk3sqk841gkxwawcggim44";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig gettext check dbus xvfb_run ];
diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix
index 9a9edba512a..9a4e765a1d6 100644
--- a/pkgs/applications/misc/gpxsee/default.nix
+++ b/pkgs/applications/misc/gpxsee/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "gpxsee";
-  version = "7.18";
+  version = "7.19";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = version;
-    sha256 = "1z3knfqfv0rwsq66adk0qngw1r500yvy4z259bygqkzbn2l5fcjk";
+    sha256 = "0mfmj0g6q6p2i6bd64ik1hq2l1ddqxnc6i9m30dnfl4v1zyvlc38";
   };
 
   nativeBuildInputs = [ qmake ];
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/keepassx/community.nix b/pkgs/applications/misc/keepassx/community.nix
index bab4c2d0b7d..c6bcd56167c 100644
--- a/pkgs/applications/misc/keepassx/community.nix
+++ b/pkgs/applications/misc/keepassx/community.nix
@@ -33,13 +33,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "keepassxc";
-  version = "2.5.1";
+  version = "2.5.2";
 
   src = fetchFromGitHub {
     owner = "keepassxreboot";
     repo = "keepassxc";
     rev = version;
-    sha256 = "0dkya9smx81c5cgcwk2gi2m1pabfff1v9gd3ngl42sdvyb63wgdq";
+    sha256 = "0z5bd17qaq7zpv96gw6qwv6rb4xx7xjq86ss6wm5zskcrraf7r7n";
   };
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang [
diff --git a/pkgs/applications/misc/marktext/default.nix b/pkgs/applications/misc/marktext/default.nix
new file mode 100644
index 00000000000..5813fc15c0d
--- /dev/null
+++ b/pkgs/applications/misc/marktext/default.nix
@@ -0,0 +1,35 @@
+{ appimageTools, fetchurl, lib }:
+
+let
+  pname = "marktext";
+  version = "v0.16.0-rc.2";
+in
+appimageTools.wrapType2 rec {
+  name = "${pname}-${version}-binary";
+
+  src = fetchurl {
+    url = "https://github.com/marktext/marktext/releases/download/${version}/marktext-x86_64.AppImage";
+    sha256 = "1w1mxa1j94zr36xhvlhzq8d77pi359vdxqb2j8mnz2bib9khxk9k";
+  };
+
+  profile = ''
+    export LC_ALL=C.UTF-8
+  '';
+
+  multiPkgs = null; # no 32bit needed
+  extraPkgs = p: (appimageTools.defaultFhsEnvArgs.multiPkgs p) ++ [
+    p.libsecret
+    p.xlibs.libxkbfile
+  ];
+
+  # Strip version from binary name.
+  extraInstallCommands = "mv $out/bin/${name} $out/bin/${pname}";
+
+  meta = with lib; {
+    description = "A simple and elegant markdown editor, available for Linux, macOS and Windows.";
+    homepage = "https://marktext.app";
+    license = licenses.mit;
+    maintainers = with maintainers; [ nh2 ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/misc/megacmd/default.nix b/pkgs/applications/misc/megacmd/default.nix
new file mode 100644
index 00000000000..9fe810e4147
--- /dev/null
+++ b/pkgs/applications/misc/megacmd/default.nix
@@ -0,0 +1,88 @@
+{ stdenv
+, autoconf
+, automake
+, c-ares
+, cryptopp
+, curl
+, fetchFromGitHub
+, ffmpeg
+, freeimage
+, gcc-unwrapped
+, libmediainfo
+, libraw
+, libsodium
+, libtool
+, libuv
+, libzen
+, pcre-cpp
+, pkgconfig
+, readline
+, sqlite
+}:
+
+stdenv.mkDerivation rec {
+  pname = "megacmd";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "meganz";
+    repo = "MEGAcmd";
+    rev = "${version}_Linux";
+    sha256 = "004j8m3xs6slx03g2g6wzr97myl2v3zc09wxnfar5c62a625pd53";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [
+    autoconf
+    automake
+    libtool
+    pkgconfig
+  ];
+
+  buildInputs = [
+    c-ares
+    cryptopp
+    curl
+    ffmpeg
+    freeimage
+    gcc-unwrapped
+    libmediainfo
+    libraw
+    libsodium
+    libtool
+    libuv
+    libzen
+    pcre-cpp
+    readline
+    sqlite
+  ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  configureFlags = [
+    "--disable-curl-checks"
+    "--disable-examples"
+    "--with-cares"
+    "--with-cryptopp"
+    "--with-curl"
+    "--with-ffmpeg"
+    "--with-freeimage"
+    "--with-libmediainfo"
+    "--with-libuv"
+    "--with-libzen"
+    "--with-pcre"
+    "--with-readline"
+    "--with-sodium"
+    "--with-termcap"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "MEGA Command Line Interactive and Scriptable Application";
+    homepage    = https://mega.nz/;
+    license     = licenses.unfree;
+    platforms   = [ "i686-linux" "x86_64-linux" ];
+    maintainers = [ maintainers.wedens ];
+  };
+}
diff --git a/pkgs/applications/misc/nnn/default.nix b/pkgs/applications/misc/nnn/default.nix
index e7c32c13095..f2df8a09ff2 100644
--- a/pkgs/applications/misc/nnn/default.nix
+++ b/pkgs/applications/misc/nnn/default.nix
@@ -4,17 +4,17 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "nnn";
-  version = "2.8.1";
+  version = "2.9";
 
   src = fetchFromGitHub {
     owner = "jarun";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0h7j0wcpwwd2fibggr1nwkqpvhv2i1qnk54c4x6hixx31yidy2l0";
+    sha256 = "1pifrcrc8fh85b8h8x01hih9wfclb95sf38s443bs3gip1zdrlk3";
   };
 
-  configFile = optionalString (conf!=null) (builtins.toFile "nnn.h" conf);
-  preBuild = optionalString (conf!=null) "cp ${configFile} nnn.h";
+  configFile = optionalString (conf != null) (builtins.toFile "nnn.h" conf);
+  preBuild = optionalString (conf != null) "cp ${configFile} nnn.h";
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ readline ncurses ];
@@ -30,9 +30,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Small ncurses-based file browser forked from noice";
-    homepage = https://github.com/jarun/nnn;
+    homepage = "https://github.com/jarun/nnn";
     license = licenses.bsd2;
     platforms = platforms.all;
-    maintainers = with maintainers; [ jfrankenau ];
+    maintainers = with maintainers; [ jfrankenau filalex77 ];
   };
 }
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/qolibri/default.nix b/pkgs/applications/misc/qolibri/default.nix
index b7c137258fd..c96fbab4d81 100644
--- a/pkgs/applications/misc/qolibri/default.nix
+++ b/pkgs/applications/misc/qolibri/default.nix
@@ -23,7 +23,7 @@ mkDerivation {
     homepage = https://github.com/ludios/qolibri;
     description = "EPWING reader for viewing Japanese dictionaries";
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ivan ];
+    maintainers = with maintainers; [ ];
     license = licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/misc/syncthingtray/default.nix b/pkgs/applications/misc/syncthingtray/default.nix
index 5a722ffe111..907a2e046df 100644
--- a/pkgs/applications/misc/syncthingtray/default.nix
+++ b/pkgs/applications/misc/syncthingtray/default.nix
@@ -20,14 +20,14 @@
 }:
 
 mkDerivation rec {
-  version = "0.10.4";
+  version = "0.10.5";
   pname = "syncthingtray";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = "syncthingtray";
     rev = "v${version}";
-    sha256 = "068v63bb1bq6vz7byhnd28l6dmr4jmivailxmjv86wakbsqvlhbi";
+    sha256 = "177ywk1dfdfwz7kvlxx3an1q4vv2c27d7qivy0463a3hvkacybxn";
   };
 
   buildInputs = [ qtbase cpp-utilities qtutilities ]
diff --git a/pkgs/applications/misc/tmatrix/default.nix b/pkgs/applications/misc/tmatrix/default.nix
index ead8d7298e6..c03918c4875 100644
--- a/pkgs/applications/misc/tmatrix/default.nix
+++ b/pkgs/applications/misc/tmatrix/default.nix
@@ -1,22 +1,27 @@
-{ stdenv, lib, fetchFromGitHub, cmake, ncurses }:
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, installShellFiles
+, ncurses
+}:
 
 stdenv.mkDerivation rec {
   pname = "tmatrix";
-  version = "1.1";
+  version = "1.3";
 
   src = fetchFromGitHub {
     owner = "M4444";
     repo = "TMatrix";
     rev = "v${version}";
-    sha256 = "1x9drk3wdsd6vzcypk3x068sqcbgis488s9fhcpsv8xgb496rd6y";
+    sha256 = "1cvgxmdpdzpl8w4z3sh4g5pbd15rd8s1kcspi9v95yf9rydyy69s";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake installShellFiles ];
   buildInputs = [ ncurses ];
 
   postInstall = ''
-    mkdir -p $out/share/man/man6
-    install -m 0644 ../tmatrix.6 $out/share/man/man6
+    installManPage ../tmatrix.6
   '';
 
   meta = with lib; {
@@ -30,6 +35,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/M4444/TMatrix";
     license = licenses.gpl2;
     platforms = platforms.all;
-    maintainers = with maintainers; [ infinisil ];
+    maintainers = with maintainers; [ infinisil filalex77 ];
   };
 }
diff --git a/pkgs/applications/misc/todoist/default.nix b/pkgs/applications/misc/todoist/default.nix
index eaedad16748..74b2b770215 100644
--- a/pkgs/applications/misc/todoist/default.nix
+++ b/pkgs/applications/misc/todoist/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "todoist";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "sachaos";
     repo = "todoist";
     rev = "v${version}";
-    sha256 = "0qhmv65il14lns817yxhma784jw5bz629svzh2ykrmilx5f7dxqc";
+    sha256 = "0d3c621jaqxd6i58xm6nvi0avrh5mk23r169i95bn73igzw62w33";
   };
 
   modSha256 = "1nnp5ijz4n34gc97rar4wlvlbx21ndpjyb2mc6gxdk1wzx3mgswp";
diff --git a/pkgs/applications/misc/toot/default.nix b/pkgs/applications/misc/toot/default.nix
index 13e0cdfb260..bfae97027c4 100644
--- a/pkgs/applications/misc/toot/default.nix
+++ b/pkgs/applications/misc/toot/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
-  version = "0.24.0";
+  version = "0.25.0";
   name    = "toot-${version}";
 
   src = fetchFromGitHub {
     owner  = "ihabunek";
     repo   = "toot";
     rev    = version;
-    sha256 = "1szpmkxc1lqfphicfcj0z7b1nq97xmb4ppwf806p8w0fxj1shil3";
+    sha256 = "0padc5jbr55spgbp4avk2kj3if52vzn8dg4ch5jc3h5fvb9l8xz1";
   };
 
   checkInputs = with python3Packages; [ pytest ];
diff --git a/pkgs/applications/misc/vit/default.nix b/pkgs/applications/misc/vit/default.nix
index 9953af19d90..cb71ec1524b 100644
--- a/pkgs/applications/misc/vit/default.nix
+++ b/pkgs/applications/misc/vit/default.nix
@@ -1,5 +1,6 @@
 { lib
 , python3Packages
+, glibcLocales
 , taskwarrior }:
 
 with python3Packages;
@@ -20,6 +21,7 @@ buildPythonApplication rec {
     tzlocal
     urwid
   ];
+  checkInputs = [ glibcLocales ];
 
   makeWrapperArgs = [ "--suffix" "PATH" ":" "${taskwarrior}/bin" ];
 
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/misc/xygrib/default.nix b/pkgs/applications/misc/xygrib/default.nix
index 4f1ecbaf8b3..c7f449d97cd 100644
--- a/pkgs/applications/misc/xygrib/default.nix
+++ b/pkgs/applications/misc/xygrib/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, bzip2, qtbase, qttools, libnova, proj, libpng, openjpeg } :
+{ stdenv, fetchFromGitHub, wrapQtAppsHook, cmake, bzip2, qtbase, qttools, libnova, proj, libpng, openjpeg } :
 
 stdenv.mkDerivation rec {
   version = "1.2.6.1";
@@ -11,13 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "0xzsm8pr0zjk3f8j880fg5n82jyxn8xf1330qmmq1fqv7rsrg9ia";
   };
 
-  nativeBuildInputs = [ cmake qttools ];
+  nativeBuildInputs = [ cmake qttools wrapQtAppsHook ];
   buildInputs = [ bzip2 qtbase libnova proj openjpeg libpng ];
   cmakeFlags = [ "-DOPENJPEG_INCLUDE_DIR=${openjpeg.dev}/include/openjpeg-2.3" ];
 
   postInstall = ''
-    mkdir $out/bin
-    ln -s $out/XyGrib/XyGrib $out/bin/XyGrib
+    wrapQtApp $out/XyGrib/XyGrib
+    mkdir -p $out/bin
+    ln -s $out/XyGrib/XyGrib $out/bin/xygrib
   '';
 
   meta = with stdenv.lib; {
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/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix
index bbfce71a115..b8160a682e6 100644
--- a/pkgs/applications/networking/browsers/chromium/browser.nix
+++ b/pkgs/applications/networking/browsers/chromium/browser.nix
@@ -61,7 +61,7 @@ mkChromiumDerivation (base: rec {
   meta = {
     description = "An open source web browser from Google";
     homepage = http://www.chromium.org/;
-    maintainers = with maintainers; [ bendlas ivan thefloweringash ];
+    maintainers = with maintainers; [ bendlas thefloweringash ];
     license = if enableWideVine then licenses.unfree else licenses.bsd3;
     platforms = platforms.linux;
     hydraPlatforms = if channel == "stable" then ["aarch64-linux" "x86_64-linux"] else [];
diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
index 567c57aab2c..0e339253ade 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,965 +1,965 @@
 {
-  version = "72.0.1";
+  version = "72.0.2";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ach/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/ach/firefox-72.0.2.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "43f16a510e67ba4bb836ebf3dd570503b902ec1ae900a9e89c551ea6bdca6bab1a716e92877c16b738b871cb4d1660ad5c26baff3d57d455845f47f22b53bca7";
+      sha512 = "0d7e31be07e67a439754848dd7b2ae0dca7fdb172cc7900db84a90ce15a40bd2c2e80127700195f4b54e3c3008d4541785c58c0fd0bbce060eae6ece77d38b8f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/af/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/af/firefox-72.0.2.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "72f3fc490ada32629f555e0245056e6f328c05048dada3cd286292d7a8a891f9fa9303ff701a66734f04f1375aebc2c0574637df766f8ae9bd5036db3e81ec15";
+      sha512 = "1ee09340d97967d956d484bb217c5fd7ac3c26ad28714889c18b860f1d03baabc93ea00567743bb0c1650cc7c6934ba56e184e734e89fc0c602cfdbf6366ace8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/an/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/an/firefox-72.0.2.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "3afb1f5a6da6d7a4bb4ac047405b511501a1429602f9c1ecc92bfd17d37ae425c7255101598692084a68591c4bcd27c5f94f0cbc10881f6ab4b77b2525521b25";
+      sha512 = "0a50c181a81823b80c67619d97bb1d371544a7b2109fbe02822a44070088247fc11fffe920e0f7290186f85719567114797720fae780f2c6eaf3d1c2462c87fd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ar/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/ar/firefox-72.0.2.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "99a0390d39e6a49ba635cad30466c3c7a55e0aedac25ae13a9ba2f1faff5e8b26813d198e072fa4725028ee526647649b49ad0416cba470619692aff530dbf05";
+      sha512 = "ca36d482348ffb63af556076e2c3ee159e084837c3e3186f4162856ba573dc0fa8849bdef581440bdfe2e12fbec05b0dca4ba294d9483d99020e26b40be4a5d9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ast/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/ast/firefox-72.0.2.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "7636e9d0c70267100a0bbb0bfbdae3bb308e2c38fd3d38bf8b13c4112a98aac298fb57391c7e985b5d76b7205b1d180e8d9eb1f73264b44758ab5c56d2ebaccb";
+      sha512 = "9f9e3a9fe29a83a37f09e4b25cb65ad76f30d7312a79d27455d1e9fd51bfcba6db7b25e15a0d8442e1ca26c6f5aa1614c6e1815a0aef56547e81ea8458b89c94";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/az/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/az/firefox-72.0.2.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "47d667d87a32e9ab1cd33814b3d231324ef3a1ad302d9372476347c118230b8a85b038a04fbf704e93fe4dfd40f9070ee7e61f00d5503884f8c798832d034629";
+      sha512 = "95ee55c2802c4ea246ef3da4121f382d05c60354fae641485c92d7ca05c4c08e1d41b9fe6e5e5109d8e16a14ceed9692ff96d32a81a29770d937c65b5378128e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/be/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/be/firefox-72.0.2.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "1a3d6654e9f804fb5eda6700cf6c183fb72dced8d90236a860da636a8856040ad33095e41858b3ae7028d02278998b9aa9adb2ee0daee2600e213185cf43f374";
+      sha512 = "fcc595ddec94a0f5eb4106b1b462a8aad2d8d030bf5288ca08a3b56ee8138ad019457eaecc891175229a00b94d786633f5e1dd501470e94ed6a5e4b9b8d332f3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/bg/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/bg/firefox-72.0.2.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "8bb9c4eb8886f6d0ce5a284e09f77587f6bb091a02209a86c60e8c4f0d807a4c78779494db1fa81c10fb9463b9e6a24be7e47de4f52ea239bcaef07198ee9f15";
+      sha512 = "ce4ab1fd20bf0aa69a7cae0af232c9d6c7496b1e63469709f0b8914a2ca7a5dc295ca22f59e368b92b6938b22e582d308ed4c5d7b234350b25a4cb8e9e010cdd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/bn/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/bn/firefox-72.0.2.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha512 = "e9459e8cca78bbc048b26f0610c58e607896588d762b6ca59ed078867932cb35ae2abee79e8271885d7b10a7fb802e1aee73daa65abad64916f25dfd4bd9a7f0";
+      sha512 = "62db7f66b5ebb802243b429a90a368e6d0c1cc27e0382273b627bde7a9db48e32b3e3d7359cbeccc2bf70447534b3ec6a1cb4abcc66d715d971cc8cf1e8cc659";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/br/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/br/firefox-72.0.2.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "62c740962f855f22aad7c63b346fdb224a55cf3f7ee1935ee9103f2ab2a638c1f2dd1482cf8d4965f70dd8a56852f6dd676fbd84f5976d6a03c0142468f3b70a";
+      sha512 = "b7836b77b8311989167dc1bbe1b90994c27c03c555134be9df45b160d785b506ed8f7ed0d851f7e2a26ae14e8f8651ea87c077e012836bbeb5e06596dd7498db";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/bs/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/bs/firefox-72.0.2.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "71078c35c8ad3fd131529178b75c8a9e3f57f398ff61e230f79fae38e44dfe72d6b9657adf1a636b082a4592ca62d89699e726f9f2bae0f1d5bb3399a8b7362d";
+      sha512 = "2a7dfc194c72143401fdefa4f4df4a414bed4d1fb370b82d0d7bf144c77707211b431314cbf409f07d43ba1cb28e43b78e5278b9cd7548191c09c71240c634d0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ca-valencia/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/ca-valencia/firefox-72.0.2.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha512 = "807c234fd009bd25dc069be095eb13f499432eb94590c4bb5cf7d84d48cf97f713465b5f56f0ed9f56e30fb94a3aec1a83868b61c6b7a5113d88470c645e2534";
+      sha512 = "db3dfc0414f66330d9a60bb545c92bb01c20dd4872436b30b4a27da3706870a9f40377ad40987850c556e2e14c13081a73fc8382b0bf45c356818f1c30e325ec";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ca/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/ca/firefox-72.0.2.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "5a26962f759f9c2c12cb7e58d2ed6063224625011dae1a90b9cd27e4b55e47cf9b7c665a8da16ef1a22d8b70fdec4e8902b7d118e62698417905b9f5527ed4e6";
+      sha512 = "d741e0fe55cb9d261832c8cfd5a51e5e88753c2c9483eb5744d80e0885d129a464530771fd5eb1ffba040ac46823fefd74efbadb63935e6d2773a398da160925";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/cak/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/cak/firefox-72.0.2.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "7e51187c51560ff612a9b3c7b06209bb64140e191a4b5cf7b1b2fe3e53450e2020e13e0be096f548cda747b910be038e53ddaa3b969d46e10ce4c163d771c42a";
+      sha512 = "98ac16f8771357d9999789bf2df39f0b4e4d28a32be13c07574fba303ede71b6267f991a1112d83cc95de295383d92a865e3ea5173102466b3d1ed0b2d082faf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/cs/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/cs/firefox-72.0.2.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "09d239079128ac8b6102671cd9d3d2b03989d358f191ae56c11a6639797ba49caf6519ebbdeddd836927fbb7f0df029da055b6d98d4efe1700ba689508c45a1e";
+      sha512 = "c959a5b4008c95923ab0cc6ab669811d700c1b4f5dd0de47ce2d519d7acc1ffc98595a1e8948f6ee7563b2b025307b702595d01365daa57c3552a0e61c85a5da";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/cy/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/cy/firefox-72.0.2.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "e8e2cb301c022db5944e4b5fddc55e0a4a27aa591e4d9deee5e170136f48df956b0bde64311539743f430484035e88e28f080fde3e967d31b424cac0db1d6c41";
+      sha512 = "82b1620bebfac41d498c4ba6bd9d89754dba3c7b48f5073bd41558e735e49a7b95b662efdb247f0eefef8055e07bdea31efbdf579dd17ae7738711fb9679d85d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/da/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/da/firefox-72.0.2.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "072063ae9757d3f06d4f12439641f8b78b38ec0328cc501db67b13f3c0c5965ef5d170ea22534d9f4804fb66a23fab21b3771391f35aff98d4da3030e5aabb0d";
+      sha512 = "71d5d3192f115df501dd889234e33ebe7b9f101bda2f4b604932fb66d172ea2adb475da408e9774466b1d9c379991895787b441c8af11ac36504d96e63eba402";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/de/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/de/firefox-72.0.2.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "4ef88f33a507e8ad65f3f49080e58515b77b09b799d99ae45a725309fe0f4e4b596005c1cb84c22cd815b411c98e4d23494ed454222514ade3fce16fc9b67109";
+      sha512 = "013bac3db996fb3e4bab75c072b02ab0bd04cf6731cc95757b51df9b28c3ac46fdbdc3a17b61388aea842eb0d00dbefe2e9f32d5d758e207995c39338c82c7d3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/dsb/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/dsb/firefox-72.0.2.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "a7b8c9b4328d5c6c6b53dd9226ca469ac75360d71b3bf6ea987e7d1fc7f5d1a270a408dfed4ff3e8d6be557a520c45b2f019d88d62dd007dbb57cc852e6e751e";
+      sha512 = "49ff30d580b38749d8f46b9db90037f844305a3fd716d7f276910475f416d2fc9bc1f0e8fd82544572b4c7840437076f5b194cb37bf0cd39fe7b3b3d355fee05";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/el/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/el/firefox-72.0.2.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "ab31775e09085690623c31c33bdd22a73d2d3d2f5bb13be0bbfdcfcd98d5fb5a16490b705fd42e30cfadaf96026ec147ef758630fd40e1ff3703f14317713e52";
+      sha512 = "7c5e3c97fed944852c3888ccdcdefa9c156712f3aa70c8ca6c3744e7ae32c7fe85e2fcb57c7707e7e4456d7e0cf2d131818552bcc507f082aa9da2ad89267180";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/en-CA/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/en-CA/firefox-72.0.2.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha512 = "6d20bb65de74571c233cc424dd2442c8fbc7a77347ee1b0ca6e0d6f5d11ff2a21f23c6a0ca9509836b19d75ac88186f17513cf3cd99696ac4f7b16a42f434f17";
+      sha512 = "5dceff7aefa5eb668a38487e44fcfdf2d72e4717cd9f6a0beb58bb25c8826086a960a67a70a5d563af0db2865c001ed23eaf7414000d1cf184d10a9267473740";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/en-GB/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/en-GB/firefox-72.0.2.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "058654254505d6be377fe9de989638d1c758ac05ad9244a4ebf0d9a233dea9e7be4dacd35d1b12a20e3b8deb53b474f13e0fb38e3e7ad85c64e48d664b85bcd3";
+      sha512 = "1f47f38344683e1e0afb5f5aeb46f3a7cb1aa80b38730a88cdc9904e66f35c14cbd9b3002deeee2f7387aec9f30ffbc306a3a655296f15650272b7185e6fb0fc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/en-US/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/en-US/firefox-72.0.2.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "8ebdc0eff1e8e0fe269680041276268775e1d6cfa45cf0139593082275abe1486b8be9dc6989811b30ba8bde7453e1ae7b37ccfb9712482815ece731fa07e396";
+      sha512 = "009e4569271e6ffff2325a04ee6b337804c69bf96d3d74682da0a8abc5adf42959658237a01feff736b8336df0c69445fac2d9a8292680173d5f82ecbc262043";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/eo/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/eo/firefox-72.0.2.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "02242eab6cac30f19d5333458e1a0eafead00338ed33007387430739a628aba1928a4dd10cea2ab4c828b98840d55c2616d573f1ba09a9f9b26c01e79bff8613";
+      sha512 = "a61206783846e1fbe55b065c02c8217905222fa92de0290bf42ba2b06745d6903aea5bd575a318b83c2fc1f1aea149040b6b68d9ff98ad3c0d537081951ffcea";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/es-AR/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/es-AR/firefox-72.0.2.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "b60242c35164d66efab4a72b7351982465a03498be29f9a994f3397138b9aad37a7c1f8158f3dfb8b1166f8db0ade5b45f1077257dc3f2f5f5712e31f98618d9";
+      sha512 = "14d6c0cd17e6560e2f4193e8cd182b8dba0b94edc3fc9e407ba3b9423e153f8d74fa0c797a431ef03586a0c8ed8193f3a8b26bc2683c1cb45a27d9c21401ec41";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/es-CL/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/es-CL/firefox-72.0.2.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "f5e388ce9e6edc6ac081b672131a1df5c761a79cd303b5cb5eb22b870e6e3fd0425240707d97a0ecc46e008b913276cb63a88ee7640e4ae7aff81612876177f2";
+      sha512 = "cef6af646f98a5ba5b5e01dc49317dd54efe392b88d3ce93ee220fe880c0b1dd7855c5a004f1b93ae27583df1fae030f4b90031312bd92443cf77e08e746c844";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/es-ES/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/es-ES/firefox-72.0.2.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "07698512c0d024483b169c75bd2ec8e434bf3c91e47ecf80e73c8c8a982d9eb803dfd6fede85651abbb50226aea185deeea4f6c0c42144c96c59040ed2a24e4c";
+      sha512 = "ff17aa9c3c804539d6bcce2e760da2603d914e9d345c7d6e3465d7856a1ee9f581147505779fa81e4d512252fd72334abccd9f2fb1fbbf4ae6ddb47e02561483";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/es-MX/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/es-MX/firefox-72.0.2.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "4448dbe8bf8bee11d0c7b7b5321dbd6c1fea6d594150539b6c6ea8abdddb96100fce21ac1cbf01aa226b95b2f6db8a76faa6c11089abac2732d44b376e63862f";
+      sha512 = "b587ab2e8daa659011f8001b2b5ee544462e789f1bb46d9f32073f5a3a3cc34e34708035e1dbef6d6385673afecae66c4db18d86056f2fe81d0ddd06314b8164";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/et/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/et/firefox-72.0.2.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "fc8db28e2abd979d4a87bc875948412db6e8ec41571d34d397717f35abd4638234108cb5011c8ad6380a48886f6fd3d891a18d1bc2e7e5967ef128f386c91121";
+      sha512 = "b92b11d2ac93c67b858536533794e8da01846485b9dc300b74fc8da3f6856c9278f2cee1599da354bb374a22bd3adfe24924c0c33d080fa9c05c70006a9fe347";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/eu/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/eu/firefox-72.0.2.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "9af8073945a2f554be15fae8c7788ee9fff0da2e1232fe9dbf72150c9076c55260c0c0a30363be02e6b1b5da8d216e2edb2712287d55537e3755a3124e7d6179";
+      sha512 = "30b34427404fdc43c09b5ff6cbc1ef27caec99f8b258ae0d227b0f38383d9b3dc95d7454ce344584706c0340a3859e6fedf125bb87e4f9f11fd1005647b42f8f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/fa/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/fa/firefox-72.0.2.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "b8832d7bbd64fbd3900595c4f66fd79458577bbf944c15794920d244db24de7541c3bcc2911719a3dbd2f5beb36ebfb2629bd6961cbcb9b4a2a37ec451373759";
+      sha512 = "f04b9d5205fb63f8a6d8cf83d5845bdcd7d9b9b1b01f59cff61b3a1042f9cd23b077ed1fc10b6484b87bf019e72fdba313568306bf9e19f7e98ea54cf58b5b9b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ff/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/ff/firefox-72.0.2.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "6ba67b46cb76ab9e75dfd07d7ae6dc81bca9f6bca3d6650efbcf4115ba5b9f09135318c547b0785f4d6330987683d436f3f8881920ab823a33402326a659fda5";
+      sha512 = "789a7dc7ce2d13edce2ad38a64507af6e840426665dd98b072271d4da49d9fae34786c7e64f8f0baba0ed70efa784b40d45537ef1f17a019043dbb65fffc7df0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/fi/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/fi/firefox-72.0.2.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "f538e71986429f574ca7fc5020911f52016b276a703ec2fc061665cd83728590b30e2bc1cc1d3fd60c5d1ef2919c78036291300894a4a538e1d81f2c319c32a0";
+      sha512 = "b4562cfd54bbfac093e872798fc503fc8f05952248f448a86a8a30a31998d4cab531b42ad8b894da41b8cc1b88d6c1e0b39b8e92cfb999e2c99057abfdce6479";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/fr/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/fr/firefox-72.0.2.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "f739e9f34d61c2ba11968cd1343b6292844cbe1237fca0335a7398f46f7654cc8531bb0f22cb0ac104ba00f419e154baf9202ab129ee8028a09d09e35a3c90df";
+      sha512 = "da6c9cec5089be3acba9d0ee4ec5456aa3027f8193478e122c71453c109a4356b8cbd9118a170f037a29cbedeeab99b1bfc213e57cc3aebaed907fde31fa5e2b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/fy-NL/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/fy-NL/firefox-72.0.2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "46c460d1329899a8ed165f13173fa8b80a9c3a557a876a8baaca1e344d1e8337cebc736c0c147494806cc0efcafe18baf8225e40253d5a995ca0d38354d013a6";
+      sha512 = "29b83043e60ef499e75becf12f8b60b855304db7de724120dbcbcb440b0379cabb766bb492c1d5f9eafa2f397cdbc79bc7806793dcba28666597746d743810ba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ga-IE/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/ga-IE/firefox-72.0.2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "bd94bf1a7eb0e99c11d59dddca802b85b83ff1b422f947062960c22728f2f04574ab90ecbf5ca0eb82ceb463364d5a64021bf0bf061c5b95a35b661e3d57c93c";
+      sha512 = "22597f1feb06e89286fca9692c4730ae570ec71f2558ab32d4eb0276d970944afe75cf427abc95d1192c37eca29a27fd7cc6c917eb70c983b436daf79432643c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/gd/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/gd/firefox-72.0.2.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "bdde214b7e2d4183b59e10d6613136761a6b661dd51e7827e1277be2e05726314657687cf95329f56fff5bf596079739915a71ffdf97b601b85c5d71979353f3";
+      sha512 = "96273c0ab26d305dbeabce65e0b7650113edde2882297079527a9802fa5868ded25b5f21af07fce19992b3b3821014f5f611ce2b264c952080e0b8e7867db389";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/gl/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/gl/firefox-72.0.2.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "c742b5e17077ac77f8711a38797e484768f2f7f5fe5e533a63cea430ffbdfca54a3df2d0abb2a584a94b8530fe4b5a39b44500b5c1c3c9dcf073eb3881c212e3";
+      sha512 = "0167a4bb9874e1b0016c464202f14a9c1057a691b6786fd15e8ad44816a2e047728edb987f2fa68bd993583e9d390cf9e1553a8df7d19af0b2a303c10182ed27";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/gn/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/gn/firefox-72.0.2.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "dc18ac9afd198558e9cef1bf51f2dda659756843ea77263c3be844a326f12a8df011c0c0f0e9553f13e8d4a9ef5c54a1a55103fa37f5222e4664911a87615f22";
+      sha512 = "e58fe8062a18a08d57c20d81ceb2c8c76c210d0fa4e00b10a2aae3bf3e6fd548350cb42e9f4f27aa06a21608976520c2c00533f060a30310e8cf78d218bf08b9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/gu-IN/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/gu-IN/firefox-72.0.2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "2264baa47305e992e4d0e357029f3329736f7510da2f375b1d327e63f60f46996402107baf30baa7800c73162e43756f62fe8606502e25ecb5a5471a38687b00";
+      sha512 = "13cd81296562b497b69df87961fc7a16b701d14fd35e8742f3bf15ccfa144745929323e07c2d4d121940aee589a281e0e90d8007faa638b34193a401892b67fc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/he/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/he/firefox-72.0.2.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "6212701e3a6f724b0b022f6f8daf39800227736863ee9ed8c5523e56636514a4ff9bf58ec7581ccade4dd132acf6d24b986a2e356a2401a41a93c544a1a91bca";
+      sha512 = "6ecc9a96ee3157bc183bf3e6cc252f87e84906efd7072a413c392df27869514e41d37bb1a384b3b1e107281830a0ed9d74339cb4acb5001e98c56271a3b57fd0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/hi-IN/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/hi-IN/firefox-72.0.2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "b586f9e5f621a4c284973043f306f2681d9b324a36cb6f0e566b871037452b3497dcbd55e7fd48f5897f2232454fcacdd4070cbbfe36e458175effb42611556b";
+      sha512 = "23dc8a041f08424c6895c151584c7db9d4dacc76f9fedb2adf91d0fbdff7ef43bdffefdbc06a11d565d15629f3794e40b07d39797289d51394c47113d8054d6c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/hr/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/hr/firefox-72.0.2.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "ac0b3ab1a085988a51f3c804d79077bad791e45295c54690f04bde1bef2c220b227d4d33055ad595785c67e2c3c398d61b9df379da32556294ceb2088549adff";
+      sha512 = "e9cd1ae6a782965a4e79b7fb3ee17b2f0d09d2faa659cad1d34add2ecd2645e88006980a8c2a628ecd7622515b1c50c23203c3bbe41801493f767e2c5885932e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/hsb/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/hsb/firefox-72.0.2.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "96abaddab6c5239a411514e14443a1e823886ad3d374fbcca321093f390907fdf28af8bdceab31f50e5127ae1e2fc5b37399c323ffbf20e469a390a04d5f561e";
+      sha512 = "24fff6f98710a3729cb4a82a765a3bb4672c4cf5f067845732b6656d2d5c5f08b7035b6cbb341f00385bb0119d7d81cb5ab275f42f4a92533b4fabda161d2967";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/hu/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/hu/firefox-72.0.2.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "097f822ec0db715846b582bee49a65f611b89409365bbe05dd8c4b066e066a76960966984f44dea090d58678a35ec44b350a9263f50250f3ee1dc7fe6de0169a";
+      sha512 = "0b02c3e55ed81c1a07faf11e159b00987c46cb2225f3c414b824df4fd89bee8d199aafe7f2b9ab78fa8683364a8c30ef9a4b33103310bae32d3fb4fd0b2708de";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/hy-AM/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/hy-AM/firefox-72.0.2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "874761d38dff94c038801a8ade916d40772ddf5e571d434622b8510fc21653591b295ba188aede50869452121af5b4e611ed305a6bc3044e683548865096792d";
+      sha512 = "48d3b6e4f06067e76e7c33daff9dd04b1b1e4745b4c6814880dfdcfac64ec71e378271e963b05cb48a89d3e546fc8bfd607506c783b5bc1624908beac89c2588";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ia/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/ia/firefox-72.0.2.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha512 = "e9349a4ec589f73d3b70395afc3fa678817322b87a97c3212a436b768b7edad8a6821784b920eece1dc7c17fe310f1d8cab33ea65e780657d87116d5ccebecd4";
+      sha512 = "1f99776f7c6f5b3786d3806c838a6790e944ed83c42411f79629ddd54b0906fefce18c355b6c04b7799911fef1f90cb9296a0bf1d17ab489370a1e274be6eb9f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/id/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/id/firefox-72.0.2.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "1cd006c3ef0e0c45a91a390612cdacc46f6983b58ccb746431ba0dcb94c22ab4a36d2bf4e7652bbfa04b9ea0e50c17e72c501794a11e8dfd9a6389497804b5d6";
+      sha512 = "90cfcfa0a6b4d791dee1016fd64af7b195a078c57c4ddb0e2b0e81372d71d0266f592b49cf6509a02aed6e044e0f50f898f09be18c4b5d1d1611789ddcb3b6da";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/is/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/is/firefox-72.0.2.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "616eec8671a725689e730549ab959f054a32ef6d7c3cf5a9cac0826dcb3e0d5a70a14018cc7a126378d3b623050df763a94ffde481c40e19c4b8dd0e4a7b353e";
+      sha512 = "fb9b33dd73e81c80f035f7a47f49a45c7aafcca93dff1f451107a86e9dc566159d2a15fa3a4045ef6a095e2d329956d02e9fe1ceeb29f6ce0d6527d6a383af3a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/it/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/it/firefox-72.0.2.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "b3a1204d5eb1203e0d2f430ba7b7823e24beb44563c8e7eaf225bf2635377107170dd710e945327f07b21ba14b4a597221dd58880d6500c9997fb0fac35ab2c3";
+      sha512 = "cd73f16f1f01f4eb3e1f121a054958c32147baf7f3f7f856e4f5d80515efdb38bb901814734e5825e63c19dec7dc27ba25b4a682430aa8de64d1a72bb24e4533";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ja/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/ja/firefox-72.0.2.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "19b0ffb5b790faccdafc528ab43e91d3b542e71db206a280f83bfd748a7aacd808df043c6acab22c51a668cd2a0963523bbf23b375212957bc55e2b2a753e355";
+      sha512 = "0deea9508673300957dbb33b644f4dabef47a4f502431ee51ca7e4844c7fc5504f59bea5416c70eaa713685091c9af9bb336f0416d3cb78d251f87a3b1d6d194";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ka/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/ka/firefox-72.0.2.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "009385b68f28f3a5e5b7a700d97c01f42c84085bde4d92b0079d3b8f3046608a61663f80c4bbed6de8e998c6cb1c0d0cb228dc8ca35382b13f669a2d9e7d8d0e";
+      sha512 = "00106e34b8353c4e19570e284364d27765f2afda9de181518f33eb5a83b703073c3bbc8a3ecc59f5828a91ae78867db0cfdc1fdae6b3393a3c1d63668d70732a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/kab/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/kab/firefox-72.0.2.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "30c95436c4431208ad491fc500d97b5f0afaeec0f22e8ffd39c5a07cd3554e47db2d7ca93db13caff667b9ef8ce048501d5121fe61d07070e5e69f66614f2a01";
+      sha512 = "e993314ae7d3e23662b8dd52fc33922bc25c29d732217e7c3bce051faf0aff43cc7ede1b91f8995e51e6d20eab8c1cdde980f35d40b0105312e215d2509f7504";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/kk/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/kk/firefox-72.0.2.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "c44c7387a4f700af64fa23c4b643f57098f840cacbb149dc68a517851f2087c2d882d1cadf9b147a318185f3b657fd3aef5a3b22584b4de0fef30e7bc8e31417";
+      sha512 = "ac0f49449f4b296ca3de4a905c667c0eedb7557b54c3b1c27d6494cbd952ce0d1aa61d73271d88ac0a8520ebe4c2d4454ae9742bfa2b5c7e32443a6920850d6a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/km/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/km/firefox-72.0.2.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "edc5616a85b309c390c426b96a60658be350a0ebda009f25067c9c7ed94d5c0e1af67b7c8d4d6cd4df8e34e9296f04879f5912a8f6b743bc0ae07297fae5735d";
+      sha512 = "e5709bcbd40481c3198758813ef5e5a9cdad6e256396174cbb006eafcaa6165efbcd920fb91dab5ab415d19e85b5f7a3cb649f4f3ad9035ad773ab51a5a41009";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/kn/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/kn/firefox-72.0.2.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "47f33f81864ca7dd61d3bdc2679a556f0f42df95dde60327b09a6cd1815ee989518da2ccb61104e258e404dbfb68dae99f9afcd20ac835d010674aea4e44d820";
+      sha512 = "6dc7045adb63e54374dbb6f288bafd710f54f1a637a3849f0c2dd243043e6373ddae941d88a8ec25cde643d0ac856dcc57b75d97356eab29ca01831d0e042724";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ko/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/ko/firefox-72.0.2.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "51c6aa7bd08a4326f4e835618ed8841568f731f6b4a11de2b39a989670e50bbb094f54e602484b7bbbab46e7c55ff844d02f1e56897993a54ed1a26f503e749b";
+      sha512 = "f3246f4a1da0d019c0456b03d8837244c59cd7931f3766c3f513c9ff9d55d390869ae508c0713bd8236fff562b9becba4bb4046a50e6c2f23549b6b06c800688";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/lij/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/lij/firefox-72.0.2.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "5109dffec7feb6e98b309b97dec3fa4c5ef11e506bb28cff8bdabd61a3385267f885f68b0c67ac269feddfba6fa107de7af0c95e9d38093fab2e52af7f294e77";
+      sha512 = "7a7aa021c32790fe844f258a55edb51ea4b13ef26d1d7cb2fba609cbd1f09a4b02c227eba639971bf4663d1fc8b943403eeb95839d9ec53d15fd6316c84aec20";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/lt/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/lt/firefox-72.0.2.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "2af5965fb3b73af30d1088e599020ba7dd9fd00cc63c9f7ec3d706b953d92768975e5e78cd1bb5729194db359f33ba59672cd6a01fd0d7799902ba1017cf4fd5";
+      sha512 = "d3c8d20b7311586dc0693d169b6d47612136d8ca40b31a35641e61f7965778d52bcfe68abcced8356e31d66c2fa208560e8f37f1d7e3621f511721fd7162ce58";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/lv/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/lv/firefox-72.0.2.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "08220de53bba3519db1c2155189234b822082763768615075396bb23ab970962bc6a5602486db2d9240ed3051b4bb11b85a1ef95e10dbee67781962a66e10abe";
+      sha512 = "3e770d4f829abd903dae078526918dcd29fbb0b214b1e44017b32cc273cfc9a6cf626f61d6a805e508d37eedf2ab7eb51fc185d0c34be57fefd842b5f3a083b9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/mk/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/mk/firefox-72.0.2.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "fc8869cc3e696356707b846dbbe55b0faebfbf3e8c0eb8ab498bcf548d0b12c04f74413e8a5512c15aea0e7e5ad51d193e88547dadb921fa6af98010a8f620f4";
+      sha512 = "d6b5deb5cef689500f2ded676145a6efb55e301b6718596e127f45b1e3743a0b7606006994f62a978f0d94789f45d60006f0b45e6f4e5444948388a37a1db19c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/mr/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/mr/firefox-72.0.2.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "303af61561fd54638c1371d449ba23df16eddb4d18a83ddd997d99652e040ce5fa2208ccdee0242e47b25d609fa2cdb391de124340a3782dda965d1eded3d303";
+      sha512 = "4def7628770de7a67cce3c5aea45c718ea3f723ae7574d97bc87a4ef41350034abb0081887c3f335699c45a381e0634b1d4b41984a479dc0f0d5ced667e876ab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ms/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/ms/firefox-72.0.2.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "c9ce87194ac3bbfd30b8702fe2496be9165359eb1ffccd6bbe0bf98850de9a3e2798a921d9996546bf59fdcd9c4b1132d55fc6a62ad671baca5143617dbd3fb7";
+      sha512 = "9713ba2651191cac976aefc43afb3cb640092dd738d9ee9e7518839170281e5f769d0f11b643f70d98b5cb74eac211e78c086787f63ec583636b0b02058461e5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/my/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/my/firefox-72.0.2.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha512 = "0c31569c512e84aa052cd7ae5dceb164e0f3d48d303848dec80c4490dd157c08889b126ed354075d06d375b3f838437da56d018ae1288a28c30b50e34b4bffba";
+      sha512 = "79ed96b7225facd3c759ca36874c42bebc8ed21856a8d46b7170efece2eb48e860065f21295a12561e8e20c2f56734189862420b1278fbf722b36e21d0e2100b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/nb-NO/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/nb-NO/firefox-72.0.2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "4632a857180e2df8960eb343727970d6da5eb2d0d82d270f13c337629217a959897b2cd013d9f0c6d93eee54e0245f0ea6bfe9a9bdd12f8f84455cd961d53631";
+      sha512 = "12d0b02ae7953997514629a739d7df4c0e5d0b4006dd4b09447ac0710ca5d043605a5f060499f2b5f51689f101f580e7565810a4c1d0782ee408fbfe6925aa2a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ne-NP/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/ne-NP/firefox-72.0.2.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha512 = "e485ee72e51359136c3aa0d9c63821ccab4d547d61d15d7db2ae92c139119ee09207135afee13e63e4d651edc407d7aac2e068f559162db0fd32c4850259859e";
+      sha512 = "7d3512fc9cb2f6af9c47c27f54595c957515dea077a5624685f95060783fce7a23bd11ad0f4f74da52345de6704582c5bcb9a162aa29d700adf3feb90b0547b5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/nl/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/nl/firefox-72.0.2.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "5e62d06d92784522d3cd38b9ff584556984d3271c21ba89fad8f92b74bfb7f536aaa26fe86d24a8bb8af5123865af1e9cc801459fa9bce41281ea602e5495323";
+      sha512 = "5a74e2ab73546a3754933adfc5846ce7cb81fbf0f955ef10189f5da86e36cd4a919cfcbf5b34f0e49dd9a0736b402c005591d9f3270ffd5dadec887df63c272c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/nn-NO/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/nn-NO/firefox-72.0.2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "fc2c4a165b65686b0e7e6d82bfe1fad78fec6cba85f387348f3eaffe99401ed4e1aff1b1515fc12030351943fcb7bb621b7c4ec3e7a8dae9d51719ee69cf1e16";
+      sha512 = "59684dbc041f9cb97cf1dc6b62cf075c9e09c27a213d79faa2da7e3c76120249f9dd668036926cace1bac2e386ed2e5f2477dfd29a16d4628cd3492df3dc1e69";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/oc/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/oc/firefox-72.0.2.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha512 = "6a65cfcd9f69a14d7e0f3a95e0594744169bfcb34a77b5cbac3475f79c134d5fc7d2c77a868fb9780d271cfdc5a0e487e35cd20a5b61f7f7da2c0109f1399f19";
+      sha512 = "13aec175cfb0e99ebc64a3fa00d96373f578c0b40e9fb748cee39a6e0e38b884c99010426a47835b04ca76f7e14ae690425226eeba0cca828c4e03f9ea9478a3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/pa-IN/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/pa-IN/firefox-72.0.2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "c5be85c65e1feaa358ff2e51481a2512c3ca8c8d3ad306da749a9abbf906c7e49a7f0fc88f612ea4e0c19c7f3ccb860dbc5ff2af01e10fb71783d9ca9d257af8";
+      sha512 = "5350381fd1490a9d77bce592b5fe5bb16ea806a19a11b90a6d4458dd5804e291be61981ca6358db4f1c61e7b221bf6032ebd74328080b72c7ce7c69b5dc8c6f2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/pl/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/pl/firefox-72.0.2.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "1b824c4d039c0766be5206436a2b5705eea9aea423b8e9d83fe95d13151cf41d8178b2e7005a81b868a40d3c29f9ae7966c62a974a55191985a60ee362a2ab22";
+      sha512 = "73ff9ebe12ceca06c338c75d01f187b3c680d33b7a1ccb9ee9206b97f6249d95eba3047d7e87f01651e4c5e112c5c59be7c50ef5451b6f9e6c384d94d3ec23b1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/pt-BR/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/pt-BR/firefox-72.0.2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "2004bd2c6c70153b93f809c3e4e0bb37fb178e49751cd9a8cc42267c74ec94a3fc4f6c9d8540d36cac629e03196dfca1a3e4c42e2669d2301ef4ee55a68019c1";
+      sha512 = "3660b8376970fb9b70a6d99f68225420b681900e3c3184a503f577cde29e05c94dca80ed3bdfd991497875006769ce8a1e973276dc302e6bc0a8b68472c223c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/pt-PT/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/pt-PT/firefox-72.0.2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "28281392897802a403191e42c315020325f1bbde8f8a1314e460d49d55537bf806e2e88de6775824815124bfe6870fb96f790c992c9bfea8d9a43a4c678df71c";
+      sha512 = "fdcf089be16988c3b31b9628a08a7c60e87913b0bb44a21abd9267358b881c5963694bb956c0f7c075ece3e6f1ee89f814d427d0965537fb75981475806ab6fc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/rm/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/rm/firefox-72.0.2.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "6a09c1a14f9c53248d7b6d78efdf16d5d7f9ba83ac572c6b9b53b1cdbf393f0a2d0d9674b3e351fb2376ce13f250afcff0b9b3827bd01d64909c4b4c375688dc";
+      sha512 = "b38abcbd3da1b481bbcec3caf1dd948e7f696099740e2386fcadd13f628cdc45177176915a8bee6d5024b19e08a43de99fec7f8296839a3af14f4e80c2c69406";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ro/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/ro/firefox-72.0.2.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "925ea33212f3208091413f5d5507f2efb0351c6aaaf1a3b58664e85fd3e7d7cf4917411c47bf8473d9f406c2ea6d5c0b82f9d78f0396b785d05d555c6e3df32f";
+      sha512 = "e0b4a164c9a8199309890c541a72377b852638ba1f2bf134b367b5b82945008e72b9d12db49fce800ca0a5bac3d10207b75059a9463b9f19d9570299f66a8c5f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ru/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/ru/firefox-72.0.2.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "7a39ff663334c4c5bc4e2c6c03cfba37cca615b0927773a94fcaaf3461367c87953ad9ff429139430a1944971c7a88180f3889b5798f65044ab5daa751a42055";
+      sha512 = "ce71732d95d5dda49e80d69b1e363e6e623a81917d0babc01e24fb5e81aff3453e368ec901898c22805587958d833fa9a2dd2e96f73fcb37741ea518685f5df5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/si/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/si/firefox-72.0.2.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "408be66f1c77ada2d80ad80b8c537e93156dab48f10f732eb1e680934e0bb5c3995cbc63269f60080134cb53d8ba95c3243f66c6f7dc1cef1b80161afd6be609";
+      sha512 = "aaaedbf3901a8047cce09f27f05a7e50b395dae2cf31a155d7b3e027e8edc35ffb5d580c03f8c6a56ddad829da2b52ec1b42f146be183eed022a0768c818cd45";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/sk/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/sk/firefox-72.0.2.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "001e0326a8e090b3f4994da9a8f09ca70cb87759f3a5f1eb488724b6070f2c62f38e7eda8345bb7f0b8d168982b564ed74b8eca0bce6e099931f16489137add2";
+      sha512 = "a5a1296e053524ff1aa3779b123406e179a0eae38d7a5b34fed1acc6f70df176cdac22050afee59a7e80c79cedb7b86ec0549726dec9044c7e3bd0a087587b89";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/sl/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/sl/firefox-72.0.2.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "ef769cdf9721ece1915e4064e7c4f0a28da1c061e8c8dd9fa6e7b5dd7c88e4fd73f7a6dfae4b6a9ae3bdce8688442836040a5d190e44a912d3bf1fb5bc520745";
+      sha512 = "b360d85da7d2d8236dd4c731f43417364393b3c379f0b4b88b7521598a7cdc5ea73ecc4c58ed71245e53fa8b2d9b0345f054c27d55d7d1979ed3d97681578314";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/son/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/son/firefox-72.0.2.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "3c15fab6139ab38d3d2dc530681de715eea187b6c86dd84d9b50035cfbb9ea040c2f80c8572c7a7448efee2f47dd51e3d06a3521d787e2902ff7d55cbf191e36";
+      sha512 = "b92eaba0eb03801064258eb5528ffe46115ebd6b6c7efa6d174b48984da527bd542804c7a5edbf565d724dc1c66b464acb0b83160b4a01e1f845b37a82eb5624";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/sq/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/sq/firefox-72.0.2.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "9c96c28c094fa58d41c7d3aa1dbc635e8b1dd960083ec0fbb74b7d15267276f1626dc16283083fd3537ffd35ddb5265713d6055590e02e84b55144c9a0794a48";
+      sha512 = "5620a2d17500a7a6385d93dfe8496dfad466ac415ddd871f82baceec799c02b6dc9291aab8799d1938462c83507d54ce3807de42a5a1e2fc41ac780079a27160";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/sr/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/sr/firefox-72.0.2.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "d608f85aaee8262e7dd5988f524dffcd0a3067992aec04b5260c5049cc130f3bf057326aaa52b569d851948eaea2fb28ef9d83aa4c4a60f0ef4c9802dabe4a6a";
+      sha512 = "79a01eec8ab15e0f3b7cbffa408245abce4e48f91ad1f81520fda0c9f66f2a5ff483864bb1118365d0a24818cd477d6bb992563e01ef704122387e1356b00c20";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/sv-SE/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/sv-SE/firefox-72.0.2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "e13c55f2b570b2ba4d5ebb28462c9a65d512c65f7df950942e01af70bbf3a24e52920ee61c310a193ba45fa0cdaa1bb895b098480e2f8caf63eb97904ceedb10";
+      sha512 = "31351684d7819ce10dfbce8198ae5fb58790f79ee94e277b684eb914b59a686a1eab7e8e8cc3346cbc1a0f630bd181194d34d7e4610351e9d783fa56909d73eb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ta/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/ta/firefox-72.0.2.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "f8c1ed3c0384ffdfb74651cb433d6d3d2f0dacadb80e8868e82cefdf6523a7963695af47fa4cc46263c07564eb25df3fbe98781709d66915ee640201faafea4f";
+      sha512 = "d3204472eff80b522bcb0e8abad52fe1cc49c778f5cf0766ab45b5ca8e5bf2d60e561b1f72745b7accf209fcab9e23d90477a8388044bd2919c617fe96de3174";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/te/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/te/firefox-72.0.2.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "0b332bd6858dd677d0572783a92f9e8aa3098881f9683579a447c0424de3d1ff42805b435b8fb96c925495cb6a9efbd4a64c643039b689dd05788e054fe1230a";
+      sha512 = "a4127d25376e59b67c15e4dcb660262a5fd651b32989e8439de8661b026fc1a96590cfe4bbea9183cfd7568f37623face2e69489f398fc5f4601f8ccb17c39bf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/th/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/th/firefox-72.0.2.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "cf5d207a43e3ff879b705d31d09c6b350b4bd07546b26ecf81a0ddf7aae2ff52bf33c9b46d6a68cb253fd60941fbb4c0bbd88a148c68afe6d7e2496635e4c80c";
+      sha512 = "4b13582eb740408fe252328f00bd3217456f406cddb131912074112d59aa2b1b97a056c71e2c1f7030a29ea82c0f4c3240ecc4ffbebd104e8544fd4eef51133d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/tl/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/tl/firefox-72.0.2.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha512 = "357de95fe201cec31676d2b8f1886f096cfad09a0c85bfd0a7b22efb0ed9c61a81dd61e33eb4f5fe2fcefe869f6f5f2f2820862b4d12c617da51efc032d3eee3";
+      sha512 = "48312b1d86756044a19c47d30ef662f4fded179cde72d9f82f47fe4fcf38df29f5f020dce26c8faa37bf5eb3cb5f389547a0fca3e504edd934ad7a414a1e70cc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/tr/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/tr/firefox-72.0.2.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "8f35c2debbaf88d01ee2426b21c84abd7aa2888d6d464dafd5dafda5fc27acd2caac86acf0fba8ebf2798ae3c24b0e9b7831c40e89123dca855be413eb1f8417";
+      sha512 = "5ebd816cace4f8b10a8bb3891e4dc3fde9a60c24945a3cb54a05a5683c15f9c1710c427f31dbfd7ba3ff035d6dcce3719c08180e4fee8e4022b3c91c297c35d0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/trs/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/trs/firefox-72.0.2.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha512 = "74a02e93e892dc5e52e4609104d70808c491c301aa30070f0975f818454de39dbe78f5e193922d383ce01e334a1522b952a8d13cfcdd5699109ca74d1ad3cfb5";
+      sha512 = "993bc4ccb6d60e93663e13df7176df38682d5980c2b73ac2b7b43b05792a5dae88d4f959940405fecfa2e4cf8d11ac07838f44cd03db395361ee67af4fe27a1c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/uk/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/uk/firefox-72.0.2.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "3412150426f735a6635115254f2e29e36eaa4f43ba532fbf7d78c769d53fc1e181d1f108a5273756b2a036be38d5bd3f4486044b3a4833862e71c600451b3f13";
+      sha512 = "8c61661884089446bbf0359a89550b41f09d3aa6ce9d1f95e7fc0d2d0d3fb6a232f3c3fe26f9124a88af981eec9bc6646030f97f0d412298358272fa440930eb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/ur/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/ur/firefox-72.0.2.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha512 = "ef17cc7ce86ccdfc411fa9e75d46feec89e61a3e9c0923f9adf3066d0093090c4ab7db7ed598b93f2236954d7b3f8e5ecff7f1699c65c9382727b239efc0ef41";
+      sha512 = "64b83bd3057e1d7edd804e948626a1d6c6801ff0c91717140d75da5778c4ff9afb52eb08d982d3e9474f9dc1daf8de5887b2ccbba41e490b567c380980635564";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/uz/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/uz/firefox-72.0.2.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "c4a7a6063b92ad631fdee795037d76573b3909287212f4cc40a581bcaa5d329c22a2c4b38d549cdbf8846bd5cc5312e0d9726be87629ed76e11d2b5db13c55ac";
+      sha512 = "ffe82703e4d66ccf612ac616fd94befd35fd41d26f2dba2d1cd269dc95500dc762c85c3fe2e881fcd8bae04c75486edee55d90a43c0b6c379eacf1f2270b76f1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/vi/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/vi/firefox-72.0.2.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "464dfea04faf08450d14615948644b1349e656a059d940ca6c2f102cfa5b57b2995b961b79b2bb1c308c0ed177a0149b0c94f8bf42839d684be7c9c528170d1b";
+      sha512 = "c4bea8bb131ea97dd52b3849d1edfc36f88afe5550c3a7ad67b2b0f860ded462834b62804a92823149c5bb4d38a76e1e239b626d15c48dd388e9eaf232d03bc0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/xh/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/xh/firefox-72.0.2.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "871fcd388a9309381d9d19878620d829fd8e914f13206e3d924bb0a049320a9d033332d62b7172f0bd31901e32eda0f1ec23017d7ceabdf76fa529c4444f2406";
+      sha512 = "74e09c80cd60f97712e4b5a374b9a32a1bc99c160e34a324b360afc3396d057456a988e8706139ac62525ee8002755e8a1ca52587de83028340fb6c767f1f432";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/zh-CN/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/zh-CN/firefox-72.0.2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "fbde202c492054ba28b3d5387c12cbc7f29a9a0c49fa6c53e39495324b501cee35dfeda6adc4023ad7c992527c41f868755f3cc216fa0a2d71180a8f7a130994";
+      sha512 = "d922dfa80f19904e8905a30074ad57f124c4cf81fcfbbf157f6b9a775f12943909584e21b1ef247540f26e1f5392e1e13852e0bee46bc082b0038cee15cecd3b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-x86_64/zh-TW/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-x86_64/zh-TW/firefox-72.0.2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "35b5995ab0443832eea07f3c164b29def23e213774e28d36b70d78c3438ad62b17a7e8d4c54e22d21c15a6fea0ea97ac4d3ade91890f1c8d5255a3725e3f5c7c";
+      sha512 = "4e5fb29e77467554b767f4f59de3a0d4844de91955782d9a859b6b7a7d379c673325e1c6f090d6af477a67d8b91dbc57e5c3169f77e14dd43fccf2aba508db6a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ach/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/ach/firefox-72.0.2.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "2e7613bb1f6e321f64d59215eb5fd36b6fe0bc2950251c2d227521a157400dda00fe9ce2d17ff8d6db650f6b3ff075b5e32090bc7c92c0f0bc34f38085a85d43";
+      sha512 = "84669f751e3871de2ce92959b944eab1f4f6e808ab275c20389eb253c11815548d4c5ff766ac331562d13165d7bdc7498a1ff376777e98b428d68f83d09f789c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/af/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/af/firefox-72.0.2.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "f2bc6ce77fbcd24b33e57801b897be9aacf3944caa2fe88a3c94636dd3c0efbe54bb09c04a2c98e25d426f734869a247ba00fbc0bb28bf814709b7f3dd802e97";
+      sha512 = "230e212b172566edc7e3e30e7c4d76b94abf55d2c6bfe1d64e75a5769b1d758770b123b77edd2315c4a12641b1edb12be2a7f080dd44a59fe1a3f05f53fd86a6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/an/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/an/firefox-72.0.2.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "47eef64a2dcd87c776a49f4e4f962472e0a9b0b25ce3af14be06cf31f0ee2da6d215bb1e3786f9e806ebfa80cb5840820ce8239d9b417630637fc39a5742ce01";
+      sha512 = "af8a603d252961198255cda016b018d443226cf7143dbb7859494b871999ed1548efe6a8c7aba6bbdec0f8e0bcb7657e84ce3f12b45e23ab5df7067d462b1014";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ar/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/ar/firefox-72.0.2.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "3e2d21ff4032c35aee149acd2e81d8a2c81289be701d3c9473dc87a163c806cd8b78ac05a13e95bfdc83ace1a79615d724bc1fcb317748ae6e40763d0025384b";
+      sha512 = "70c4214324eceec873654620e5a6b9a1f304c392ca83e989030cb43541092d3a1ab9562d58bc0178ce2862392793f65c5adeaff323006cb24cb0e7c660a4d0b8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ast/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/ast/firefox-72.0.2.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "4b6db32a734fd371d14954ada9cdcb853a460329a26c46937eb08549aa1fd3d6840b23ecbee65762dcc2d66c6243dc300a1fbc988f54773b29662fe108b06398";
+      sha512 = "af157cacc34a9f31f04b6fc46cacd7dbc9b3894dee6209e52341f4ad72499e296bbde0b2a6e1b6ce9400559260f9aad5e3ffa3273e56e046528fad7926ba9fd2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/az/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/az/firefox-72.0.2.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "4891d270449593982501fc0a6a44fd5273b306912e935e1486b4352b1c73bc8d39bf22c58f073c4ea59912636b1a7cc6582e7179f6151abead7e32ae80bda03c";
+      sha512 = "863399e7ee8b05c1ad5a35aec88bc0fa9137fe2f1677329cf3ac1ec43db2d20edf28cf6fa07efde7ebac800790c2971dfdaa4f52fdccfe1ff77195f3b1c0a1aa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/be/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/be/firefox-72.0.2.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "207d9f0562b46105d96be498b9d458ae88a9de92df5f4ebe5ac30eb502b0e959ad6652392de4e4349688ce9904f2743f287ac4ea1634a8015e6b1debd0e186e2";
+      sha512 = "0aa85d3e64ce5a27710fd2cf49abac8d63bca791f480d28480f4c0cb725d44a36f723f711392eccc5d1ab90cb150027a17b37cac5ed7cd099c80d8d7c1f1bf57";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/bg/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/bg/firefox-72.0.2.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "8c180f5dc6e98f0f1f00b4b210069fd5265062c40c884e511e1e0a0a14dc6e50530c47ad67deda95581250500bcd3fbb3b69892bc8bdaeb2feee4032ee771a77";
+      sha512 = "b20d322b2955591dc56fd01a0f321cfdc3595533881e27c23ea63ecf6878dadc24f8e357e882d554b58c340a598825ce2325bf08fd65d174a648686992ffae17";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/bn/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/bn/firefox-72.0.2.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha512 = "275c34985fa071ec47fd0aeb0a340ad3a6d829dcb5030f3850fb9c02f8dfcfe6ffa642e1e551c9ab9f99d42232f6c69b08e6da6a9e902822c6330262e48b998e";
+      sha512 = "3ca4fa19d0fdcf2110af4ff36be438e84e23f534f854ae2a24f56d5e3befc57700951c948f45f730e7439109dedeaf0f7ebf27c8fcfe1d9a14f886f5724d009e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/br/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/br/firefox-72.0.2.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "9c5a9e7e4fbfdf264db34358a97a9d64fd963850dba182da3be914f2fd81e6ef9360e07f7541487599026df4b312c09e893f7b48779283d8385ef2c96f2c354f";
+      sha512 = "2d89f28124cb2650a78728e3860d206f627d54886817727884f60157c561a00773fc8688fff3418c76a6c2e4286b9d1277b249c6e5a7c9de03d9d1a62c78494e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/bs/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/bs/firefox-72.0.2.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "04a9741392aa3c234349dddea7fcf2f7be26ba8d39ba11f71222eb75d4aedd925c6de4dd1013ca1f53321d546fc7e9babc0fca8336af9689060bb75bfcd9635f";
+      sha512 = "e047abeba9c53a321484bce65617c3ce5def9ae06153f0317739e716d1617fed2e95fd4fb1959e36e24784b036d273f872250ce865975a977a25c0f98f054bbb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ca-valencia/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/ca-valencia/firefox-72.0.2.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha512 = "e9ec3916406ac3c3fc69f792b79fe267923ac57a9b6a2de8d883f492a83dcc04faa93dfc59acb632f7f0ee3cdf167664682721743ef62d58b2393f8ea85bde03";
+      sha512 = "91de80a3eb281ad887f5c053803d1869aa41e43f2fc7438edecbc5a8ede86e9e401e27db8e66494a84d4c1681f3e8a43dcabb3fdfad5bb763f50bff11c7151ca";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ca/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/ca/firefox-72.0.2.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "c5e2a8914f70c633404653198f3b03078991a5afde0fe30d6cf28030671cd75eca6f34a1ca3b1c7db392c65a62d6cb5902ead96ded0e8a71636ba894986d335e";
+      sha512 = "4b94b5f074848fa6164f2eb6df555ac190846380ca719d09225b63d4e0438a96035f0b3cdf5ce23c6c39fce055909bb4d6ca6f056fb223b652193539b3566bc3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/cak/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/cak/firefox-72.0.2.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "1fe310fd841c7565690ba121f49f8111c75450ae06a13ee040ac959642b025c8f0944425e57a90150c8d5acbf68e79b4d162d014ad191b027cadbfd9d7b570ad";
+      sha512 = "4a60942861ff2a1a3992c664a425c1f957b5f6f3ce9877ace5cdb13ec38a04d843a822c3b07180d4907b91774d9f7194d7e2b8f4b5f807556c3c5735c1a20cc9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/cs/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/cs/firefox-72.0.2.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "4e89cf9a5230541278dc19327e0a5a9f15a663f0bd377b2458750bf0df7457495ada697678e5a47012a329592daf18b785e4d71dc9c98e94aeaac6c280184196";
+      sha512 = "0a1e8b063d06d92c5a0eddb2aec88ca41029a686d4914fda9d4e7addae9b6acd03c0667eed020faad6a0e82c234fa97529a94fb0771042bdf363c887a9aec2f3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/cy/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/cy/firefox-72.0.2.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "c08e9fa79a2cbec9fc7d836c1a275099ae3ddd482685298d76806e1c1ceb99b85a025de5162061117de30909d0e495f489869792112d0496d501328f8136c184";
+      sha512 = "688a86f70b5d1901e6531414587453341fb647ec3a4560103e52c70fcd8c91dd499dbe716572ec8585c3aacfe378d64b82c63790b2f190e286ad1e0bf7b99477";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/da/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/da/firefox-72.0.2.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "6c90eef1e3da30d9106e7cf97e0969a53e59bba19b5212a94436bba36a428842265c2f9da58d467915ced71a0386f406ebb1ddc052a9832e0b8063d6855ab879";
+      sha512 = "84adac21cb7800d3f8afe3fe0d17492cd6a1d2e2cac60969b4403191ff0b1a8cf04fbe772c5a02fcc24ef93372c76b95fbe92f2f4c4b595a929397cb3fce2ccf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/de/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/de/firefox-72.0.2.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "b2684e528dab014152284e3c5aae5874c3ce16548bb2101dcdd91fec6831a486d883eef3673429b087feea10b53e4256c7c083f26a3d8e40e446f4a1f32c307d";
+      sha512 = "a7cbb78ce08d5783997529c61f51ddae197b9d7fa683847444d74978c191a2053b5845dc4d93898e0453ca59894cab4dc28cf9f79baa22b7a4304eea59e3f0f8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/dsb/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/dsb/firefox-72.0.2.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "c25cd1edc62268ff5cf67f4f0cf9751846204d25bd97b214f8c4097ef87d71b5f7989fedf0d47867fe74b427c0187f8398039d56c6e86472d1b9fade73b0cf94";
+      sha512 = "9d2821f99755cf024f4c7215274c6f3b6cff8c00ceb9c1d82f77becf3251f5c81776834a034fedd22ba15ea21aa606955ed743563a176632d592dbe4e55b7c0b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/el/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/el/firefox-72.0.2.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "102679221b358fd7c1595a5f23a0eecd60c83ca37c00e4a765dfc2c852047bd17520af733424d0c82ec116c83900c85e6157972841deecc3eb9eada1bf22b4f4";
+      sha512 = "69023e2ef7c3c5d3716421b603cbd85d7b812c201c1d1e2efb69a47d43de500306a0d493f9a8380bbd1490fdd85c564c0b2a9ed54d792ffc93cf67b399887fb4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/en-CA/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/en-CA/firefox-72.0.2.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha512 = "2eb273a9f9303b6b00f42c6d2b1bb6bc7e657a73e5710694362708208d9d9292a88f6307fcfd5a70aa3888fc0c075c1e2e844802d0307be5c02c159d3c266162";
+      sha512 = "2309e3a8e2973871911757392806fb74086c010c374334c8169fd91f8e45664746d693f63a0376a07f529ee4160f4f75ed22f4aefce5deba39d43df30d683943";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/en-GB/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/en-GB/firefox-72.0.2.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "efcb3f5305e343f99b2d62adb1d4972104a4920eea85caa8cc4a50c9193ebbf741acf2d762ac7280b1c99297746f1924444788b86e25259f023e1d31ef70329e";
+      sha512 = "8db7fb10afa8deb76352ff324ef44becf01db57acb01caa2bd7e69714ddf327912f4795e874a2056acae4f7d970b688ec4b08a4912774e88f6d67d11a208a977";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/en-US/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/en-US/firefox-72.0.2.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "f30ba9e8bbeff878e5e07b1cfbdeeb7ad84ec93736005cd0780c966970f0af056fb1dba5167a3c8cd31bd9d680054d0901c8859d9764388513cd4145390a5502";
+      sha512 = "6665f3683537437a3487cded3219a8228bf58b9294acc205ae18197ffdf240a67f623d827795672217194f327c0747708cc4997d25a1da90e8131e8a32667c94";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/eo/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/eo/firefox-72.0.2.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "2c12b5fab6247d2072ff22f9ff6e25ed52bae0a9f86ea24dceb5d440ace5209d0ef7ff8c54016f06498213fa2c383c8f15697e386f367e4c209941cb67bbfe8b";
+      sha512 = "65e52bd65313c31e9d354bf35896d410123b139aa27fbead0e41bba2cd8bc4737fb4e12fd741429c209cdb31661eafb1c49509359fe333c6082d9c3346e686a5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/es-AR/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/es-AR/firefox-72.0.2.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "74000cd852d7bdb54fc53816d14baffdd30100a3e4e5ac62546f057812631684ff1a3b6d55b57d8974b1aeae823e86a1a309f548a49a7b584db3e4a772822557";
+      sha512 = "5d680d2135e4ba5e7c6ce7771e8b3fc34d753329fb8034e8018af302d451868730cd5175aca40b95a47319c5299b8f34d9bcf180270dd9d2cd4ca9413d0606f6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/es-CL/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/es-CL/firefox-72.0.2.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "74084ecc5d419e264b13b4d26cdbd231010632da36a2660a49df6343dbadfb9c7cc3b55a8bc8aa97937c6c4c156065fc4b85987c88d3bc6b12e45a3695b8176b";
+      sha512 = "a1e81b2a68ce3808630efceb578d6d786ec0a4ad11de5985febd811ab49e60a5c91f60d4682a4b980a658ee03683e53f55d338851d3a475507411b7092090762";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/es-ES/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/es-ES/firefox-72.0.2.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "6ed8e84c4f5b0ce3da7f9f7cf3753d95f2ec8cc0283aef88ef75c5f05a4ac20fa7cd70fa212092f6ad5971aa73def4d331b6e219c958fd0dabd672d9ba9b817b";
+      sha512 = "d7807a206fa3c169a3d36a9b41f8649b83db1a43b2f54de7d238fde37728d59e27c0f8654223f02c7f9970d358830a29776a4bba1ff2e25629ef289ab0612b4a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/es-MX/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/es-MX/firefox-72.0.2.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "ec4154e7c84261fc1522fbe10a56cbfa56106d6c57239758ff3d23c83d2c676c070d01d91a57a18f6c367f62396335769b8793e7b19d85f38006c51ebd80d851";
+      sha512 = "bf0ac4aeb7d527969da7633a6142238c9b9e2c57612cf32582f1316fda1cad020a5c53de18d009db9489dbd781af5de1d1da72a6956b1a08bff3a149372b6982";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/et/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/et/firefox-72.0.2.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "8857b3b4aa2eac6e7e8e541e5aa8f3ece586cc8136702bc10fdc8db00567990027d4bf8231a1f6b91de69f59a2e683298eafaebd1d8d9870cbccd1b87d45b26a";
+      sha512 = "3213ae4c41a450ff0e487f661df8716a6e6ba24fc29d41dc7acc8807f1d0af8e065d65b441f6eb47c3a2c2554e3848ccf83f786b69e536e44f6dac994d76478b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/eu/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/eu/firefox-72.0.2.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "f5448cb81117d9424ab0b5653fb9272abb96cdf3d563fdff9533e8d066850bf9c3df29a076bbcae99ec72abbdbbe5300bfa58ce9e9d228b6db62539f31987756";
+      sha512 = "90f4364bc45540c8543c38291de35013e6198918cc2e32016b707c6dfe96ab5177501fd165204c6386cc3efc7204b86bfaf131af9ab164c0662124a5149d4cad";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/fa/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/fa/firefox-72.0.2.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "49226e26b6940dc7ffa02b6816912de20d05e371c00971e964896cf093b92e8f1de355a17eda648b01e58f1c03a88179d18c903925d37986a5781a8abe4cf404";
+      sha512 = "be2e0aeba63a36348956862f636e6afd6c7dca6e76fbb103c91456737eb487dcac4073bbb57f45987f8308b395fb5ae0424b36b982e0ecb8d3ef90d259660818";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ff/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/ff/firefox-72.0.2.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "3c188cbde07b11e99d6cd717fb83bfc2bd172eff696138a2e1922bc344e78ec78c957becf4419b8bf1fc87b479bf696f7955aeb1fc8985e18f784ecfeae2fedb";
+      sha512 = "5881048229f3f17a2c766c12ec4e734311f3841a3737fae4ad459c50eba5c889e98c4666f8a87074fe87f59c33603ad056cea8bda23ab449babc3eb230d442b4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/fi/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/fi/firefox-72.0.2.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "0ab82df10e491acfb072c4c991e41a2ff8967737eda1597687be00d48c1d3d85b17540fae457939eb9de923d4fbc3f959ff31e148010eb9c85ea66ff4fc0046a";
+      sha512 = "1bc13da6298705ad2bcd40ca0994b1b6288416defed2a8bafedcf5d7a3e0239a550540eae7e2ec6556c4ab5ede77a6b451b906ce61f753fea2b9c1cea5205e99";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/fr/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/fr/firefox-72.0.2.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "3d4b12b186c54581fdee04ca756dfbc5a772cbddf500910f66c6d7d85a5a3a7b8247a79e666270e54a3185423ce452b0d7d2c87f30d407ceab7cf24ca8fe8b7a";
+      sha512 = "c5bb1bf92b1f24a3bcd493a183ac70683b01fe7bdc337e96c41582c043adfd0f429f3eb90f543a9af98dbbef915e6a5e2aa3f90f96414828c9cfa30e58187aa8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/fy-NL/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/fy-NL/firefox-72.0.2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "446f13993a9e14b0bb9af09295f17fda411367eba9d8184445121baf0cdbcec33a6b18feb0c1373d7af003ccf457f21014cfcb6a9d7bd74999df11c6da02f47d";
+      sha512 = "fbd38bc075181e87abbd457e5c763146e4ddb590004d7e76fdc29ddba8c3d66ae718705339bdb224bb782eb8633771f8c287ab0d585f27a37614f3a7a284d97a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ga-IE/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/ga-IE/firefox-72.0.2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "c10f6945b5ef781e77a771281144289c00159ea9bddfb43c843f3de73b4063c930908af7c0d60a7c9681ba6c3cc2a61bcc8e8237abd8c615f5ce63439a4a0dcf";
+      sha512 = "c2276b743f3c5efecfd58bc397a202eb4efa02eaf30d5b18221c8de365e4ab625617e1430a056304b2c4a30ed901376e8ac14bf28b806d2c0b284bd732f546d1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/gd/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/gd/firefox-72.0.2.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "408ef04967d890da9bed3c60829fdcdb5b6fd0d8ff605904f4e563c7e8d971ab0f56e7d2f70db375dd50fa05d6d48889004271155416461b550fcd5030a4051e";
+      sha512 = "327f677c3d4f71c3802f515ebe36decf236725e1fc318f55afc0985aa800b206a5f7fa215a219e1c2c54ffd24f2f95baa6194822325aa6144b0ae1f8fdd22d2a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/gl/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/gl/firefox-72.0.2.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "246c22a6fbd0c57fe95bda05f65d1bb1126f4969bbc626c475126fe665d86f3029de0546373690c43f972fb7556917e4e6ff880e294f699d949b84b82dcab7c1";
+      sha512 = "d8aef85685637cc5186c5b0b6f9458f29955ffea90725973efaaca806cb48cf817095e08ee1d2ec533ccebc6199e671e04acf460d1b8a88c795b9842b1a55be1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/gn/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/gn/firefox-72.0.2.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "79b84cd7dade66fe9bf866ec053e069c127c9c24fa55a795da2870fd21c99304be77a8ed249c1fa61aaa2644036d40737596e1db7714cdb76fa030c2b446295e";
+      sha512 = "95585c2c547ec4224841178f6cd8697139fd6166aaceb749abc444425e100961f230cf1b98b76b8774b849e6a10a37f1be3047d97e48130407cd5c27f9031f71";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/gu-IN/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/gu-IN/firefox-72.0.2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "30759375ddc3343edf4d5548c5e68da3525001ae1fe2120918c7a0e9ce77a5d4038d8083e7c5556ccc043b9587b5e048a9adfd53fa1a3c9d35c0ab4dc85fa6e5";
+      sha512 = "396b68a041957adb0a15390261cc152f41cd339511a94933ace779e5494a595ab36243ce533ed158f57c4bd2418e7b66764ce9c2cb4e93f7708fb29aa6a12b0c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/he/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/he/firefox-72.0.2.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "4db07da68a7fa44ce1ee23fad5c5041d91ed5598fa4fec73c10cb13e71771add1b56e0af542d874776aa67a714440459769f9e6a5f8ad7d3530ffc9ccc6297bd";
+      sha512 = "884ef44f1b5f017d46abcd268b87c6c433ffd8c30f5afb66cf66441558e819bda15d9843b7fba3413c8f148f6d8c583506b6a754d91e2baea70c5cad321909a9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/hi-IN/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/hi-IN/firefox-72.0.2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "17668e7fb3eecf5a9d9870cb634d7437d6081f70ee82811d08ba17d3b9c0bbf05c8bbb901b5e2090c7b133a9b5f742bd9de4d220b62c019e97c7d91ba847b0bc";
+      sha512 = "ca548c8b992d9c11a76f17b0790ca024a8c40893da10d50cd96f133f99459c981a2f2f37ad08f570bae809b6b08684d051651786840db33be4990f502fc5ba5d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/hr/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/hr/firefox-72.0.2.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "ab51419d8bf1397fceddf47b97b5223da65610dd13ab72b8c9298b514218149373061f8828a883b05d6f2d68ea014766a547142c8189085f8f9b7befcb4076b0";
+      sha512 = "d51a5454a6908d349b1b7239176f57fbd118d41d6bfe578c64bb9fe074628afc25acd1731221e6531a85a84d8193765d46e49843e7743f32be96b26180e9b593";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/hsb/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/hsb/firefox-72.0.2.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "4188c372d56d190d2020e92a9f443fddd6e225484d4ff7c3d4aa78b3ebb7a9155809d5c0e5466946f228d5c4333adc64583b93616eaa337f3d9e279c2337553f";
+      sha512 = "19bcad2ccfc2c00d1a735a006c126f7e9610c979310fd1af30ae1d9bbe2e1b6a35ccad8441ff1a2c5d1bf7f4b006751da6f848415ea28cbe2c47b2ebe1b97bd6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/hu/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/hu/firefox-72.0.2.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "30ab854d45f6cbe643839c07a08a838a3d1dc871c1321da1597c913a4fb3623a9fe19bd078e20cd9ce848b3dd9b0f44c77626ae7f6321d60d5ccdb9e5d3a2177";
+      sha512 = "2b598a6adb47878224759492c1834b317ba6fd68839de83ddad835c09f5bdf92c5b89a71351b64aa9f8332f61d685ecf56ca2423128142e03a6904708cd693d1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/hy-AM/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/hy-AM/firefox-72.0.2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "9ab1d1b43b0f70196395701c0940a76fb71190826d17493dd4565e1c859e68f8754c1ff119ffdc56a680b809b23e1481c2e764810cac3cf1cee288b35bed4dd0";
+      sha512 = "76e940fd65f81be02750c299a2375e2252b1e2595193aa52ae6238a4931b08d461ffb2806a6c6ea7ac24a343d183bfacb1a57d349d4c57ae6e3f68ee09833322";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ia/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/ia/firefox-72.0.2.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha512 = "a88de0287e9cdc41ede83d7004fd0614caf479109abe79e1d3f3dd4f370b8f79a48f2174f3a229a897609d2f20d6048d3d88cf50a2934ba3dabedf96794958f9";
+      sha512 = "6554fa82b4e6e7dc20a5dc83148752661ba12aeb4ed19500a21f9d3e46b7cc37881b53ff0100c9f382b2e24e16dc99ce1fc338677e40ae4eeb3d4d1a9bc8ca80";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/id/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/id/firefox-72.0.2.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "e5eeac2e2236704a63680cf17c831076a99a993baac3f7a1b9381d8d6d40aafa898fac2aff93510179ca8d3f0dfbcde08ef7f6f99dcd017d2362750173c89111";
+      sha512 = "dd12e9a4cc83e13c6a7f49d7a52de3f46b4439405a28bdb855406394483cd90120a4b5ce9bd5df912a70128bbd532d158c1b3eddeaa1b7c95ca4b8334429d599";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/is/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/is/firefox-72.0.2.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "c2e752ae20ff38177457afe87b2c80472d769b41026b7fd224a711138482b3cb3abcde4fa2134570ffab89cc110274cb8bad378445bd3cea77f35a825946c532";
+      sha512 = "01e7e45c6e45d7a20dfeeef16558684a6f38b6d97e84bd084246c17d891a19432f9fb77b7c2b0daedb12755853e53efbb0fa567f2f306c385d9c6e7e2fe1d661";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/it/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/it/firefox-72.0.2.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "50638f98c440c9ce73f298f10f9dca803fc7a241cde1afccf5e2f87701a28207a0d01fd90f318a2192174c8dce179a84f3a8c0281dc8f1c0bf6c5fd3793903e1";
+      sha512 = "e000567bccea7588af26e9e51883bcea340ee237d2626dc9e63eb241efc49962d60712bcbd4527caaade8eae7a64ead080e7df0150436f37aedcfd5cc212146c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ja/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/ja/firefox-72.0.2.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "8899ea60537da6da0d0cc4bf99ed406ecfa21183b94865311918c0397650c81dd36c474761c14e2981bce5e9093d3e905dc465141f62d14bf634c4dd392be870";
+      sha512 = "5bc1f2078288499005e189adcf2c6fe3fcaf3f642d624c2451da2611b804072771161c59ffb58021cedeabfb91415644a201db519e5d6211e78ee52f32e97979";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ka/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/ka/firefox-72.0.2.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "146585388cfef7c339142ac54d588c790e1bfcc81a7c04ba47e778732a64fe5eafdb0cb00bccb140c75c1b6a2f6e3c6a3e2f700a978f4569b30c6434cb7ccb4a";
+      sha512 = "ffa42e8f3c098b199d68321c1354cbd6e21ba7f36add6e9000c8a2ea524f3ffd70ad13128b4c67ba5f376158dd87f7565a8bf876bb385481f823b5fdbf74d8d3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/kab/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/kab/firefox-72.0.2.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "c94d2ceb3cca7c15adcfe4d282882c10a13123ced5a939566732a85a7004ca65d002628d5600569213f5e829e3f28261a25902e6cd1bc5716e732bcb82ed28e8";
+      sha512 = "0315ea8f56f8525f9758e919c97437b8ea8781e04a98c2a34502b98196c6b27030759e26098051cd4f27c96c7de4bee3f28ff8cf9ebc87b12aac7e7924a79275";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/kk/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/kk/firefox-72.0.2.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "2c204d753f233548ba6409046653d8e9ef1476bf161a040edd90c5adc519a48e2cda1253ee8fa16b9a05c1147d7697dfeeeaa7700f01c072477d557102f58a60";
+      sha512 = "4c0e327fdafe298dcf897e68fbd1557bab24ddb91bcfbe3bf92a19662f6fc6c4c8862585d909639fc7a4c6bd4b875d52d8a6d0867049ca1b1ffbb00d8e8d9195";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/km/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/km/firefox-72.0.2.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "7bed04807b6e6c90f69c6eb3ea53136dbbdb88924ec2a13019ce0660b3c58f001db94cf8054f040581cdc8d5b9589138542b13b8408da0e8167a89c1295b19c1";
+      sha512 = "34a45eda40d599116be8f320ad99e25dd2d9607d91c99aa8b1eb5b05eae32dbb526391a4a08ce5b8d411a6d6fff23dd9d01e276f75653d9c2adc5a4177511df2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/kn/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/kn/firefox-72.0.2.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "e7db8109668c0350cc5b970da5149072676d6f59ade68bf8f90ef15d35e422c6d102b8cc9e7b5de5d92e14e13af85dd47ccd21f98c974d65d65502a2b08d3eb9";
+      sha512 = "6bce122a0a2a88ee17b29ad2e98e99293c077fb70ac63604b407f4426bf39c9ee3d91057b9e60df6604a71183a266fa7f27bda01c0fa60bde898872d5325e9ca";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ko/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/ko/firefox-72.0.2.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "0687087a4f58172a69f487ae395baf362b03725eb4435306531ed848d552fba835aee43ecedfa3bb8bf9fd518c324727a6dd9e772789253135c46b542ebc71df";
+      sha512 = "3b746676d728ebdf3dfd646bf25b007c61c7ce960f7cf77f80601cb38e6fb56cdb6d6d7ba36e84f55b7969f2f8f882def133126e0598b43ac569380cd897f2f5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/lij/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/lij/firefox-72.0.2.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "d225a4b464f37b45463069b571a78c250bfb242b598aba681209255717113904f3f4466e0f20b8e34a96e1a00355cc5d2ee65361e5b252275962003bd0765f52";
+      sha512 = "453ae335ec815eea785d822ceb8224d590b8615b21f316ee7f6c06e9a0e02c341d26b9e938fd5eed60727df719c8d8394df312bb28868cd21ccaff60d3212d9d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/lt/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/lt/firefox-72.0.2.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "3f0a5c0b6ccd806971d902aac4e11ea1b783c7b5a121e2d92c08ecad14d36c35ca56779362e2cd73e91885a6ff909314d44b290149378f0046785b39b6520d69";
+      sha512 = "e6da72f2ff519a0e348ff8c9cfe7a29a3253eaa16e8ef58fac79868b9e4e4ff9fb453e763397209e0490658005ecd2d4bd339b366afd7f8936d51186e55c94ae";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/lv/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/lv/firefox-72.0.2.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "170a1f7152f0c224e2b7d0b0be6d9f93802c1ae76d6d5f3adfb86ef6793d23218c3874d912dcbbc2c77d7e9a17e50b53e6d265e1a69d40bb71bcf44324dbc8cc";
+      sha512 = "c9f958bf85e43fbebad9b9dee033cbaaeeac010065a7b79c6b4e90967f16ab747f4fd0d01af4316094876eaa80b35ad67b6b485ab4b02a3765ce3583cbe7eae2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/mk/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/mk/firefox-72.0.2.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "342d83f45f97eb89c36d3ed5121b11b21f48d8b79b84e50a44704c9a3b11f428104189888ce6b0c77070b256f30432f0b1365af2016675bbd15403d14e439e33";
+      sha512 = "3c936346e9f915f24b806d299bdb2ab665d03f3d2c12a7b52506109ed1aca4f87fd3a099f6fca6fba1bce46784bc3a93d54ed2d9e8b704990bbc757bf4e1b798";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/mr/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/mr/firefox-72.0.2.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "6faa239678801054aada6860d4b56d708db429a9a42bd6d5182ea8b13f823264130831f75fd77c20c3ffaa955fd47cb97fd4ddc8edd486cfb59166fbbc04421a";
+      sha512 = "92622561297d3e8dcbbe56d2333f3b46ea66cbd72efc64c20c339d33046244e68f98687a9c5b5c5e6738eb6e88d392781cb1c56d96647e454a7e1bd111761ff9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ms/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/ms/firefox-72.0.2.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "798bd9ae750c2825f538e971c59775d9e989c32576c3abf096e33ce205650248912468769b43fd2e02a03338ecbe24ae0c7a1ce89de059ea113be04af4797696";
+      sha512 = "9ba4f473ca8e56576d4c13e467b49f7cbb2f4af43e78406361d4222a74412f7b336419da504168754828796eb2f5211fdbd0afd8f6bf4030aff7a9855919b119";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/my/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/my/firefox-72.0.2.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha512 = "27714b0bcbc636ec08f6fbad35ea6fa047b39d53e887fed95ff5d3b5a83aa3f5ecdc5081f08aa171feabc5d2eac04dbd0a7b523373341cd6f0448f15ce81155c";
+      sha512 = "8abe55c550aa5f185fa0919641749de22d807625d1ad84b561265653b17e04a267311b6d5be5d3e327af04f2ad5bc17352a2d48df7927c7183cf5578c9ebcdc6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/nb-NO/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/nb-NO/firefox-72.0.2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "18df354679b1a564fe18367d12a0a739e2ff330f4c7b559e3c9e2ce9af842bc8ebf94b01bf190f85255927a95df3dbe70fdf4baaee9f273c4bab8737e960ce7c";
+      sha512 = "c15e35640a4b6672fce9263a15dfbb519474652ce2024d6627d3a853ae8017071ea62eea0cc3524ea5c099aa3eb0de34e51d6765e0dd507a58311db6b810de44";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ne-NP/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/ne-NP/firefox-72.0.2.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha512 = "a8e86ab99146c482366eaf8e59cf4ebcbfb9012a2591f925b9a4940f85747eb066a365f1f5994bdbb4005989a7a2281f5f3a33dbab518449d05a3b66589209b0";
+      sha512 = "d5b54a65c3b12d7090061e23ab3e0428c6e870b1dd7c6293d13011921b868db6dfd8ed9f4e0ffa33d2af7c5f53ae2ad50eaeea0a87b0a9af676d32f6563d1e5b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/nl/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/nl/firefox-72.0.2.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "58f2f70a6cf55c70a5ae7a280f834b0f5553950abefe8e54cd804d540ba9ec16dc7c5c998bdf07499790b202546c95c9b65d9d42bb826191c1ea7154498cd939";
+      sha512 = "3c7c0e1b45948125a01b3447e6bb4d1bf48e79c16477bdaef5145e67d154f101b299ec696d22588052a5d7e3e87b226418795c3aeef9991d226bbd344d7e8c7d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/nn-NO/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/nn-NO/firefox-72.0.2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "7a350a2415aabf4407fac3b26abbeda0cda67bc109636ebe06a1bcf6f449f24ac1676241f4e94359d466b130334f1894a4c962acb6fd531540c1b671ab0754c8";
+      sha512 = "f4391136225aa0e477c748d541e94be9b75b955ef8a756d12ac3213a7a83f0b273d320b512bd3cd82393f6fd1b1470f02206cb37562554179d0c23b3b6ab83cd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/oc/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/oc/firefox-72.0.2.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha512 = "dec9c3c3e9c8a5502a4fcd3538248eceb827df95b7cd647e1ce562a3b8ad56e9b060e9fddbda68b87157ac04bac155ddb273b94146941f4adc814c77b07de322";
+      sha512 = "af5c368c519a95d575ca0cd3b719406ece8823350c828fb4984b58584c1abe8b743ee99bbbd29f98a543510c91358a80817d707070c2b2e341529e33ea955e64";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/pa-IN/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/pa-IN/firefox-72.0.2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "c53fbe696a907608b557b071f8d10db9029fc315a6b4909a4387b056cd794efe3aae51f4ccba03235d90161284281f0feb3fbf7bd91f6c4b794786b2e632c3a7";
+      sha512 = "9e1f51321f34b9d4ae207b2630c7be558f16b0d1e3a0b7fcde82c908dc435b044388a3a23da99e28c7be3889275d67041cd53276b8a4af04f7b01e00f06ae3b8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/pl/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/pl/firefox-72.0.2.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "ebd0b078f7b6949d60dcc4d42e7b13a385528076bddfe75b659b7407fd9699cf705465a6bb37fe60bf9999a2d5a5f95b65580f77116423276434c47ab0e5651e";
+      sha512 = "3b5ec2695ceb35dd2b0d70b3f47cad9b692eb11447ed9bbf4b3fa8e049a35911802ee455a132fa812eaded78ef18df31ef3a8a11c8c95b260bc89350a7355181";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/pt-BR/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/pt-BR/firefox-72.0.2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "a08009bcca93ff1339d22d3c745153232b65332fba7546df17d761e7c382b4fff8bcde481b368a9704cda8096f42d39d5a422a1a6c3888fab2905c3df717338a";
+      sha512 = "df5fbe1a058233864e7ffae44538b14540ed4846ca5bdbfbf07eb627a8753c3bdaf68b337eb6e69900df8cf3930a9468e7c626583af60761854a282fd5d52b95";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/pt-PT/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/pt-PT/firefox-72.0.2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "ed90835cacda14da02f70ce7a8ddddb63df2c9c5952d5380b78da9c57d7f9264e6034fb6411c1da7d41d1f7c42107fcd3ce09530dcb63462849df194158ab7a2";
+      sha512 = "0145016eb55586388a49fe052daf5d7cadadda15ae88ccbf1410f35de0d0e4fbcf7afa5ab5889c9c88a0937691617a51ac53dc8db070aa199b17840275d03ec8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/rm/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/rm/firefox-72.0.2.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "b67fbd54ef325232ef4c3168aeb1511bd96a3b359d71f4edfd2dc3f925d9d246192c24c65332baa80d57f3449dc94f6c3f06fb9ffd6204959ec7745e61cdfd6c";
+      sha512 = "9890545266e1f31a27c50a4782acb6d3af0825699e6ec78151d872d7a181c6258a08764cbf046d483593bfd8467c4c78b9bc316fef20bf444afa73b7bcc14795";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ro/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/ro/firefox-72.0.2.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "deffedac6577d0e413954217b075cb775330b11013076d484329710756fd539ba2c35af8c267f49aa367e7d61cf56de65d67b2c888db58401012f8c3f6113427";
+      sha512 = "e13b760d6d61079136b4449ee14a8d2cbaf72512071f4475d8fdb95337ef86970ee3eb72f987c1e07290650898108f0e90948ecb2ae027ba40b5fdd53ff7303e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ru/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/ru/firefox-72.0.2.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "ded41bb7b3a0dadbaeb05b836a175988133a6e94637063efd63e7658a7887e38e2601384b79ac64be0b9de4100f923bf9de40c31562b9c4314ff0df7768be511";
+      sha512 = "3c51eb7be0e7a23b2f3ee8b8ec5cd420ceda5bcc3aad6b76ff4406ea0b59fd77327b295d78df6990556cc9c6f8d221978d6af58890d4122cfb604891fe6d574d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/si/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/si/firefox-72.0.2.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "c45238b95c815603e01c180eaf254e06a7e2feddf429adc58977fa5cd5b094774f6c0e9f34030dfc38fa198662cf0ae5289a78930b6f37042b2c1bba4109a37d";
+      sha512 = "1a4bb6b01a0d9bc89b270844d4c1e235354abc447068b45b3630733d1735b66e65c808f70c532474c31298b7962b463c7b71bda89ae2f302fcb847101e0734b4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/sk/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/sk/firefox-72.0.2.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "5a2cbbf81ac7b879413ac0813890d37609ce7c9fbf47037e20886d9728fd4687159a193fed05c15090c8a47d43e63059925c901020c1661db1f979f62c8a385e";
+      sha512 = "c46e2914e4afdd9b3e6a0eec1f2e5ff9082944221a35d9a4de8439f5c31ee705b37575eebad365e19ad2a447eea065a712cb02150757cf053be83986e69700c4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/sl/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/sl/firefox-72.0.2.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "6c47debf86017544d54494eb7a17823bb2de08e1c8fd5d0065e2887349c19eb1c83a617b2f828ac547629d32d6ea0f8b6b7cec616f80cdf56120e2008b180764";
+      sha512 = "335256ef9a8c9008119fc7de2f14c4c51e288f65cfeac0ce8dea737cab04772739f99401ef7b8873e95e0290239502a227d3a6772d7fab96ae7e78437b6854a7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/son/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/son/firefox-72.0.2.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "7f3068c3d69972e730a7141e098c658773b10bb462168eddcd3adcf9b4874229b571cc8f7eed99ed6b45be8b74c79219d0cd12fa43797603ab2f032557fe8f8f";
+      sha512 = "1de8c05e776163d5015487ee1c48b63f8c2beb6699c3502e9bd08058529a59324df59f26426852558e30018657978ea613b97e2e651a6dc500379d4a61651947";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/sq/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/sq/firefox-72.0.2.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "4db0d7f87447910fa43e4145cf024c5a165a10b9809bc18c4b76f2a86cb41aeeae3193d34f4bdcc7bead8a62974fd68f8883ace5c79d35e33a47c954d73eea1f";
+      sha512 = "02794e37e26dbc6b8df8a62d9a29a5e47cf0a45a1929265c1177c97181592a5ecaa99b5549bb95da00a0559d1488723a4454866d2e5edb08413b984165150140";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/sr/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/sr/firefox-72.0.2.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "85d8ecf97a1b1f7eff30b1de4bb84ed0637bf99cb72ad444e7e769d29cd687773e66dbed2116f5997af6fbf64802ab7c31b28f579e7a517a08a6cf06f92c8f96";
+      sha512 = "dbe5862115a4f55f2c78de57b03198e08dce35d491b60238955d406b0696600bec8f116615a41bac3d80d5e77e1faccdc33663056b4b15aad952d0b096d73260";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/sv-SE/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/sv-SE/firefox-72.0.2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "322f999692fbf3931789b3b6af5eb646545f5e9fe4876ba004b3803454d89c633fe0ba85283954edd3fe4439ab30e17eeb4e4edd655570e07da2c0c78bda0e22";
+      sha512 = "4c0d9dea8339def7a3dc300da9f8cfa1ba6d6eb5a5899918bf0ab8211b4b5aab4367ca91a7a290aa5faa3424588d29bc34e89ab645bca155d8ce6150e225b946";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ta/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/ta/firefox-72.0.2.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "ba1c8227da1f99f385376402133ac2706bf20fef739ff48850daf1f0e586b87146322ac18af838eb32355ae40288f922ebd5a1976039a800de60077b4428dc44";
+      sha512 = "d70089c118868484a556e747a72cab6242ca7a5aedd7425c59f273170ec559afd9b057d7106226a9948540641d25829b21b4bb9b4bf15b02f3ec2702badac873";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/te/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/te/firefox-72.0.2.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "1d785d24d460e536f35a88fa0d8feb6434f1ccadb38e89946f8e432a2d98161cf10bf42c6d34fde577d5d2c4b13d47fab43abfa2f18554231a53887e361d6ad8";
+      sha512 = "bb65f50f55d11b79c1943df102b6f3479127c89c74bf4cc7aeb5fa8dea61116f23caef84a770016567285cbd7788c923f3c87af5598d7ffb805c541e0c69a0fc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/th/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/th/firefox-72.0.2.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "ef10ce89127be75a918e9825ceb97aaf7e2f66ca0591ebba624fa2da786a267304b1e505a1dca72282a92d6c6678148c6cc322e02175c1f506bed110ee7936fe";
+      sha512 = "5dc7eb602e0ab548d5f337bd79630c516968544bcf6f801093676f784f54e20b5218d2fd0b323cff31292aca15616e2485e75c3475f71c2681222bc10a74e367";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/tl/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/tl/firefox-72.0.2.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha512 = "ed033872bfc0a06b0928e5bc775e4f4dda5267555d086c7719872491480dd6e70bd94540aa9dc0a197d907ff66642b93460e41c04f721f7d0daed663bfc1d091";
+      sha512 = "3318940aafc8af7421a2e1973a1bdfabb6670dda5a104de41f4ed1abbb3c904e6319ceb6f94fddcf11e4d18e5f72d439f5e4506f6b42f9b5adddbf291e9e2532";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/tr/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/tr/firefox-72.0.2.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "d4c24c049e4fd378e7c20d3df5dc2a9c5e9cdefe3f84e5dd6b3fefea10fb8010a01f96cbaf7635914c9bea38f0059d11c8f7e7ac748f4fa9d7f3351259301fd8";
+      sha512 = "fedcec77a95458fd334be9c8af587923d6281a50ed9c146a32f289f51138ab27d0cf551ccaae77fec2f5e4aa2565c12af7267d5476e777d95761ac2f6904cdcb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/trs/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/trs/firefox-72.0.2.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha512 = "931a3b11e536164b6743a7005f3b826495616ce591c50fbe2ccb42d32908c88412d5a9519843eb7f4ad50e406b9fd14ea69295c313f30a3d41c3338638e483d4";
+      sha512 = "1f4293cf978b92114b25aecf7f633608eb0ec52274147b939bda57463bfa170467484d3eac34183588b58ebcab6c68b20d59561961489069b7fdb120474806ba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/uk/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/uk/firefox-72.0.2.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "6baa572a479043e15de3704f009ca3702ef48d18f364401165a20367809fc4f09b59d04734bd9ffb698d1e834dd88540abe4f951354650c731304b6cc1333018";
+      sha512 = "7e7b442ed847d07ee42c9665835a6fbb06f1b8e61e04dccbe623624facc0fb4ed3832b91192819190be785decaf07a61575f198f089f852b814328a168e2af5e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/ur/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/ur/firefox-72.0.2.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha512 = "9eb660140868950613b2754b006e5f7bc08f73830be2508fc6a39a83dce9509796b834dcce0288ffd74e8373f2c8a175f0034582d2aed769ead063bb57045d85";
+      sha512 = "4519a75106a92aa6b6c172fe565818f554aa9da3a6cad86fa6fc4ead9f3fec24bf5065f69e12d985b7798b7d0b019033b88b81605d9599746bbd58786d2d2025";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/uz/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/uz/firefox-72.0.2.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "9272971df4ffa5d1867b40b1f2d6004a64e604312208f3031edae6ddaf9a2dda262dca69aa5c41b9439241133a6fe64d43e5932192d3cc74a893290cb1594a45";
+      sha512 = "41f4eb9cb1f002373ab5d1587c92f6b3fc5b0729117dfe4d74e399d1c8b08c595fdf8d22a253296f4f838dae1f8c4eb15fb634a77a2d60f8d4d61fb402b2a1cc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/vi/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/vi/firefox-72.0.2.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "ebf8065c61505a8daaba054711a523abb6053db6560d8f72d0b7ca816784aa9ab5856b959357afe94fddc9e1d8e5140ca1bed4aae85daa8be71347e1f158e35b";
+      sha512 = "02a6856c5a9a13820cd26333d6968159743907304e58fa1973592f694968d3b9ab229811f239a0f5c37974ef16c504c71d2312127293b8276c7077b03dcbe0b8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/xh/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/xh/firefox-72.0.2.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "e7121225f6eff3a16bfc95b38d07ef474b03891ce1b5a57905b5f521fecd8e8f5cac71b9246c65399f1bc4879279d4f53675db652c563d6023f0574a8dd30462";
+      sha512 = "d0076f85cd30481b7d174fe89b245c13063b6bf64465c0a6cd288ece96c662d77e25ff2412afe334310375dc3ea39bdfa31c81b1b67ca5d54f09d2e871e7d23b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/zh-CN/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/zh-CN/firefox-72.0.2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "8730552f819342a634e9eeae8e0989e54d9d4a3f0cdc76d5c296e6ed5f5028b5029286eccf4f252addd53e3e3e06a3321491d7b37b0d565b0524382210a02e0c";
+      sha512 = "d560bab6c8deef31fe2f582faa1cf827eac11e60b2ce8695be5c8682972247bd9b6abc3b7c0e2ec174e3dec09374c3a909554660b449abeea821c9b69fdc3550";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.1/linux-i686/zh-TW/firefox-72.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0.2/linux-i686/zh-TW/firefox-72.0.2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "ae10d531f4819cf603adcba33c5a5779bdf70962a4b0d802c1b001ae4c34b573941dcadd9b1ba6377d5b1dd55627bbb7f97b28d44c21c2cd9b124f1e465186d6";
+      sha512 = "06c70f2d07a84f98c5fc2407e29a53fdf08174c661908f788ef7b4b652a0c589c192c0eb6d5eb51e2b4fd6d529d491899c93e153cfd1e58169f3eb037d112dfc";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index 54be5fd32b6..833b97ba86f 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -16,10 +16,10 @@ in
 rec {
   firefox = common rec {
     pname = "firefox";
-    ffversion = "72.0.1";
+    ffversion = "72.0.2";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
-      sha512 = "37ryimi6yfpcha4c9mcv8gjk38kia1lr5xrj2lglwsr1jai7qxrcd8ljcry8bg87qfwwb9fa13prmn78f5pzpxr7jf8gnsbvr6adxld";
+      sha512 = "13l23p2dqsf2cpdzaydqqq4kbxlc5jxggz9r2i49avn4q9bqx036zvsq512q1hk37bz2bwq8zdr0530s44zickinls150xq14kq732d";
     };
 
     patches = [
@@ -100,10 +100,10 @@ rec {
 
   firefox-esr-68 = common rec {
     pname = "firefox-esr";
-    ffversion = "68.4.1esr";
+    ffversion = "68.4.2esr";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
-      sha512 = "3nqchvyr95c9xvz23z0kcqqyx8lskw0lxa3rahiagc7b71pnrk8l40c7327q1wd4y5g16lix0fg04xiy6lqjfycjsrjlfr2y6b51n4d";
+      sha512 = "1n7ssx4w5b822bq8zcv6vsy5ph1xjyj9qh6zbnknym5bc0spzk19nrkrpl8a2m26z6xj2lgw1n19gjf4ab6jpfxv3cqq4qwmm0v2fz1";
     };
 
     patches = [
diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix
index 21dd04610cd..76417d482b5 100644
--- a/pkgs/applications/networking/browsers/palemoon/default.nix
+++ b/pkgs/applications/networking/browsers/palemoon/default.nix
@@ -13,13 +13,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "palemoon";
-  version = "28.8.0";
+  version = "28.8.1";
 
   src = fetchFromGitHub {
     owner  = "MoonchildProductions";
     repo   = "UXP";
     rev    = "PM${version}_Release";
-    sha256 = "0swmwall8pyg905jnw6x1b6vcv92zb7ph3zqcymh4ay2liikh8c0";
+    sha256 = "055bmfgasxf7azjqry06bbgwx6ryrdc1zrcq8b217b6zb1in037x";
   };
 
   desktopItem = makeDesktopItem {
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/cluster/fluxctl/default.nix b/pkgs/applications/networking/cluster/fluxctl/default.nix
index 904eabfcda8..16472b98fdd 100644
--- a/pkgs/applications/networking/cluster/fluxctl/default.nix
+++ b/pkgs/applications/networking/cluster/fluxctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fluxctl";
-  version = "1.16.0";
+  version = "1.17.1";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = "flux";
     rev = version;
-    sha256 = "1yk78w9cwssk5y69iapfzqf7mnrkam3w64x4zsx3zjpdmvp9dq7l";
+    sha256 = "0kp4xk1b8vxajl3cl6any9gmf3412gsahm5fvkyaclnj20yvq807";
   };
 
-  modSha256 = "17rh8yilxqv0dwljwm5ay43diwcy5pa1g2jff9wyhsh8q7sy9wln";
+  modSha256 = "0fnlnavw4l3425c9nwjkd98xihrgxi9n5yc9yv15j5xzg47qnqav";
 
   subPackages = [ "cmd/fluxctl" ];
 
diff --git a/pkgs/applications/networking/cluster/kubeless/default.nix b/pkgs/applications/networking/cluster/kubeless/default.nix
index aaf183ad666..48540bffb53 100644
--- a/pkgs/applications/networking/cluster/kubeless/default.nix
+++ b/pkgs/applications/networking/cluster/kubeless/default.nix
@@ -23,7 +23,7 @@ buildGoPackage rec {
     homepage = "https://kubeless.io";
     description = "The Kubernetes Native Serverless Framework";
     license = licenses.asl20;
-    maintainers = with maintainers; [ "00-matt" ];
+    maintainers = with maintainers; [];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index f852c3ac0a3..a5e2b374326 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -15,13 +15,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "kubernetes";
-  version = "1.16.4";
+  version = "1.16.5";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "kubernetes";
     rev = "v${version}";
-    sha256 = "05rpwmzkxhbvckcs7hspy6krdfskd8jnsn9g43fhidjvqhxyh6n3";
+    sha256 = "12ks79sjgbd0c97pipid4j3l5fwiimaxa25rvmf2vccdrw4ngx4m";
   };
 
   buildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];
diff --git a/pkgs/applications/networking/cluster/luigi/default.nix b/pkgs/applications/networking/cluster/luigi/default.nix
index aad75264364..def13e2b9d0 100644
--- a/pkgs/applications/networking/cluster/luigi/default.nix
+++ b/pkgs/applications/networking/cluster/luigi/default.nix
@@ -2,19 +2,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "luigi";
-  version = "2.8.0";
+  version = "2.8.11";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "1869lb6flmca6s7ccws7mvyn66nvrqjky40jwf2liv9fg0lp8899";
+    sha256 = "17nc5xrqp6hp3ayscvdpsiiga8gsfpa4whsk0n97gzk5qpndrcy2";
   };
 
-  # Relax version constraint
-  postPatch = ''
-    sed -i 's/<2.2.0//' setup.py
-  '';
-
-  propagatedBuildInputs = with python3Packages; [ tornado_4 python-daemon boto3 ];
+  propagatedBuildInputs = with python3Packages; [ dateutil tornado_4 python-daemon boto3 ];
 
   # Requires tox, hadoop, and google cloud
   doCheck = false;
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index b290f3b5f04..5c131948649 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -112,8 +112,8 @@ in rec {
   terraform_0_11-full = terraform_0_11.full;
 
   terraform_0_12 = pluggable (generic {
-    version = "0.12.19";
-    sha256 = "067gzxysz8r2myj3rh0vwrs0pmbgb21jxlmawlf4v0lkjnhj6kwv";
+    version = "0.12.20";
+    sha256 = "1k94iwhdvp1ifg9w7y26cl89ihki2w9kxv8mz06pp9bnfwfw67x5";
     patches = [ ./provider-path.patch ];
     passthru = { inherit plugins; };
   });
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index 98d37fae911..73613778365 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "FlexGet";
-  version = "3.0.31";
+  version = "3.1.10";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "b9edd905556c77b40046b5d7a27151b76a1c9a8c43a4e4153279ad42a784844e";
+    sha256 = "d16c519630350dd1ca867529970b47438950f078e16f9f1d37bc3f027666bda4";
   };
 
   postPatch = ''
@@ -39,6 +39,7 @@ python3Packages.buildPythonApplication rec {
     jinja2
     jsonschema
     loguru
+    more-itertools
     progressbar
     pynzb
     pyparsing
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/chatterino2/default.nix b/pkgs/applications/networking/instant-messengers/chatterino2/default.nix
index becf828a856..787d66826ef 100644
--- a/pkgs/applications/networking/instant-messengers/chatterino2/default.nix
+++ b/pkgs/applications/networking/instant-messengers/chatterino2/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, pkgconfig, fetchFromGitHub, qtbase, qtsvg, qtmultimedia, qmake, boost, openssl }:
+{ mkDerivation, lib, pkgconfig, fetchFromGitHub, qtbase, qtsvg, qtmultimedia, qmake, boost, openssl }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "chatterino2";
   version = "unstable-2019-05-11";
   src = fetchFromGitHub {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
   nativeBuildInputs = [ qmake pkgconfig ];
   buildInputs = [ qtbase qtsvg qtmultimedia boost openssl ];
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A chat client for Twitch chat";
     longDescription = ''
       Chatterino is a chat client for Twitch chat. It aims to be an
diff --git a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
index d7741bda646..010c06e0c2a 100644
--- a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
+++ b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
@@ -1,25 +1,25 @@
-{ stdenv, fetchFromGitHub, cmake
+{ stdenv, fetchFromGitHub, cmake, wrapQtAppsHook
 , qtbase, qtmultimedia, qtx11extras, qttools, qtwebengine
-, libidn, qca2-qt5, qtkeychain, libXScrnSaver, hunspell
+, libidn, qca2-qt5, libsecret, libXScrnSaver, hunspell
 , libgcrypt, libotr, html-tidy, libgpgerror, libsignal-protocol-c
 }:
 
 stdenv.mkDerivation rec {
   pname = "psi-plus";
-  version = "1.4.904";
+  version = "1.4.984";
 
   src = fetchFromGitHub {
     owner = "psi-plus";
     repo = "psi-plus-snapshots";
     rev = version;
-    sha256 = "1bs7yk3qp91sm8nb9gna8vm59381afn1wfs7aii9yi29bhx6fw9h";
+    sha256 = "1nii2nfi37i6mn79xmygscmm8ax75ky244wxkzlga0ya8i8wfjh7";
   };
 
   resources = fetchFromGitHub {
     owner = "psi-plus";
     repo = "resources";
-    rev = "182c92ca0bcc055579d8c91bccba9efe157e77a9";
-    sha256 = "06k7q63cxpifpzjnlw1snclkr2mwf9fh71cgfd40n7jgzswzwhpb";
+    rev = "2f1c12564f7506bf902a26040fdb47ead4df6b73";
+    sha256 = "1dgm9k052fq7f2bpx13kchg7sxb227dkn115lyspzvhnhprnypz2";
   };
 
   postUnpack = ''
@@ -30,11 +30,11 @@ stdenv.mkDerivation rec {
     "-DENABLE_PLUGINS=ON"
   ];
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake wrapQtAppsHook ];
 
   buildInputs = [
     qtbase qtmultimedia qtx11extras qttools qtwebengine
-    libidn qca2-qt5 qtkeychain libXScrnSaver hunspell
+    libidn qca2-qt5 libsecret libXScrnSaver hunspell
     libgcrypt libotr html-tidy libgpgerror libsignal-protocol-c
   ];
 
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "XMPP (Jabber) client";
-    maintainers = with maintainers; [ orivej ];
+    maintainers = with maintainers; [ orivej misuzu ];
     license = licenses.gpl2;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/networking/instant-messengers/rambox/default.nix b/pkgs/applications/networking/instant-messengers/rambox/default.nix
index eeab5e32c0f..f588c31c183 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation {
       --prefix PATH : ${xdg_utils}/bin
   '';
 
-  inherit (rambox-bare.meta // {
+  meta = rambox-bare.meta // {
     platforms = [ "i686-linux" "x86_64-linux" ];
-  });
+  };
 }
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index 2e8581f4eae..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.3"; # 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 = "1rkj6rwmwwvyd5041r96j1dxlfbmc6xsdrza43c0ykdrhfj73h11";
-  };
-
-  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/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index d43d8e1f988..500f8f3fe87 100644
--- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
@@ -7,7 +7,7 @@ let
 
   # Please keep the version x.y.0.z and do not update to x.y.76.z because the
   # source of the latter disappears much faster.
-  version = "8.55.0.123";
+  version = "8.55.0.141";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
@@ -63,7 +63,7 @@ let
           "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
           "https://web.archive.org/web/https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
         ];
-        sha256 = "08dvgqwj7f8k3xv5kv96k6v6ga1v2chif9m7amncg6ppp81hy7nx";
+        sha256 = "0yfbxrnf2mjihrsvp0r81kbxh3rfh53y7sbfp3bwqky951a93qis";
       }
     else
       throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
diff --git a/pkgs/applications/networking/instant-messengers/spectral/default.nix b/pkgs/applications/networking/instant-messengers/spectral/default.nix
index 314a3bb6457..23659e8a6c9 100644
--- a/pkgs/applications/networking/instant-messengers/spectral/default.nix
+++ b/pkgs/applications/networking/instant-messengers/spectral/default.nix
@@ -7,34 +7,32 @@
 , qtgraphicaleffects
 , qtdeclarative
 , qtmacextras
-, olm, cmark
+, olm, libsecret, cmark
 }:
 
 let qtkeychain-qt5 = qtkeychain.override {
   inherit qtbase qttools;
   withQt5 = true;
 };
-in stdenv.mkDerivation {
+in stdenv.mkDerivation rec {
   pname = "spectral";
-  version = "unstable-2019-08-30";
+  version = "817";
 
   src = fetchgit {
-    url = "https://gitlab.com/b0/spectral.git";
-    rev = "ee86c948aec5fe72979fc6df97f4a6ef711bdf94";
-    sha256 = "1mqabdkvzq48wki92wm2r79kj8g8m7ganpl47sh60qfsk4bxa8b2";
+    url = "https://gitlab.com/spectral-im/spectral.git";
+    rev = version;
+    sha256 = "0lg0bkz621cmqb67kz1zmn4xwbspcqalz68byll5iszqz9y4gnp1";
     fetchSubmodules = true;
   };
 
-  #qmakeFlags = [ "CONFIG+=qtquickcompiler" "BUNDLE_FONT=true" ];
-
   nativeBuildInputs = [ pkgconfig cmake wrapQtAppsHook ];
-  buildInputs = [ qtbase qtkeychain-qt5 qtquickcontrols2 qtmultimedia qtgraphicaleffects qtdeclarative olm cmark ]
+  buildInputs = [ qtbase qtkeychain-qt5 qtquickcontrols2 qtmultimedia qtgraphicaleffects qtdeclarative olm libsecret cmark ]
     ++ stdenv.lib.optional stdenv.hostPlatform.isLinux libpulseaudio
     ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin qtmacextras;
 
   meta = with stdenv.lib; {
     description = "A glossy cross-platform Matrix client.";
-    homepage = "https://gitlab.com/b0/spectral";
+    homepage = "https://spectral.im";
     license = licenses.gpl3;
     platforms = with platforms; linux ++ darwin;
     maintainers = with maintainers; [ dtzWill ];
diff --git a/pkgs/applications/networking/instant-messengers/teams/default.nix b/pkgs/applications/networking/instant-messengers/teams/default.nix
index 0921dcfccdd..ef7e3717f72 100644
--- a/pkgs/applications/networking/instant-messengers/teams/default.nix
+++ b/pkgs/applications/networking/instant-messengers/teams/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "teams";
-  version = "1.2.00.32451";
+  version = "1.3.00.958";
 
   src = fetchurl {
     url = "https://packages.microsoft.com/repos/ms-teams/pool/main/t/teams/teams_${version}_amd64.deb";
-    sha256 = "1p053kg5qksr78v2h7cxia5mb9kzgfwm6n99x579vfx48kka1n18";
+    sha256 = "015awxgbwk4j973jnxj7q3i8csx7wnwpwp5g4jlmn7z8fxwy83d5";
   };
 
   nativeBuildInputs = [ dpkg autoPatchelfHook wrapGAppsHook ];
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index e57ff881af3..25ee992cb6c 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -1,79 +1,69 @@
-{ 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.4";
   # 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 = "1ldsgbix0ca4pl2z55wiz90ll3542zsm9slayrzyr7b2jw7arxwy";
   };
 
   # 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 = "553350";
+    sha256 = "05fyij490flrbn4jfwhm8gx9imh0wfby4j9fj69f45qgkpsd7ajb";
   };
 
   # 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}/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"'
   '';
 
   # 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 +77,46 @@ 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 = [
+    "-Ddisable_autoupdate=ON"
+    #"-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_PACKAGED=ON"
+    "-DDESKTOP_APP_USE_PACKAGED_RLOTTIE=OFF"
+    "-DDESKTOP_APP_DISABLE_CRASH_REPORTS=ON"
+    "-DTDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME=ON"
+    "-DTDESKTOP_DISABLE_DESKTOP_FILE_GENERATION=ON"
+    "-DTDESKTOP_USE_PACKAGED_TGVOIP=OFF"
+    #"-DDESKTOP_APP_SPECIAL_TARGET=\"\"" # TODO: Error when set to "": Bad special target '""'
+  ];
 
-  cmakeFlags = [ "-UTDESKTOP_OFFICIAL_TARGET" ];
+  # Note: The following packages could be packaged system-wide, but it's
+  # probably best to use the bundled ones from tdesktop (Arch does this too):
+  # rlottie:
+  # - CMake flag: "-DTDESKTOP_USE_PACKAGED_TGVOIP=ON"
+  # - Sources (problem: there are no stable releases!):
+  #   - desktop-app (tdesktop): https://github.com/desktop-app/rlottie
+  #   - upstream: https://github.com/Samsung/rlottie
+  # libtgvoip:
+  # - CMake flag: "-DDESKTOP_APP_USE_PACKAGED_RLOTTIE=ON"
+  # - Sources  (problem: the stable releases might be too old!):
+  #   - tdesktop: https://github.com/telegramdesktop/libtgvoip
+  #   - upstream: https://github.com/grishka/libtgvoip
+  # Both of these packages are included in this PR (kotatogram-desktop):
+  # https://github.com/NixOS/nixpkgs/pull/75210
 
   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
   '';
 
@@ -155,7 +127,8 @@ mkDerivation rec {
       "''${gappsWrapperArgs[@]}" \
       "''${qtWrapperArgs[@]}" \
       --prefix PATH : ${xdg_utils}/bin \
-      --set XDG_RUNTIME_DIR "XDG-RUNTIME-DIR"
+      --set XDG_RUNTIME_DIR "XDG-RUNTIME-DIR" \
+      --unset QT_QPA_PLATFORMTHEME # From the Arch wrapper
     sed -i $out/bin/telegram-desktop \
       -e "s,'XDG-RUNTIME-DIR',\"\''${XDG_RUNTIME_DIR:-/run/user/\$(id --user)}\","
   '';
diff --git a/pkgs/applications/networking/irc/tiny/default.nix b/pkgs/applications/networking/irc/tiny/default.nix
new file mode 100644
index 00000000000..7967bdcc9c4
--- /dev/null
+++ b/pkgs/applications/networking/irc/tiny/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, lib
+, rustPlatform
+, fetchpatch
+, fetchFromGitHub
+, pkg-config
+, dbus
+, openssl
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "tiny";
+  version = "0.5.1";
+
+  src = fetchFromGitHub {
+    owner = "osa1";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1m57xsrc7lzkrm8k1wh3yx3in5bhd0qjzygxdwr8lvigpsiy5caa";
+  };
+
+  cargoSha256 = "1vj6whnx8gd5r66zric9163ddlqc4al4azj0dvhv5sq0r33871kv";
+
+  RUSTC_BOOTSTRAP = 1;
+
+  nativeBuildInputs = lib.optional stdenv.isLinux pkg-config;
+  buildInputs = lib.optionals stdenv.isLinux [ dbus openssl ];
+
+  meta = with lib; {
+    description = "A console IRC client";
+    homepage = "https://github.com/osa1/tiny";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/pkgs/applications/networking/p2p/magnetico/default.nix b/pkgs/applications/networking/p2p/magnetico/default.nix
index 1c266d247b7..94720f35504 100644
--- a/pkgs/applications/networking/p2p/magnetico/default.nix
+++ b/pkgs/applications/networking/p2p/magnetico/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "magnetico";
-  version = "0.8.1";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner  = "boramalper";
     repo   = "magnetico";
     rev    = "v${version}";
-    sha256 = "1f7y3z9ql079ix6ycihkmd3z3da3sfiqw2fap31pbvvjs65sg644";
+    sha256 = "1flw7r8igc0hhm288p67lpy9aj1fnywva5b28yfknpw8g97c9r5x";
   };
 
   modSha256 = "1h9fij8mxlxfw7kxix00n10fkhkvmf8529fxbk1n30cxc1bs2szf";
diff --git a/pkgs/applications/networking/protonvpn-cli-ng/default.nix b/pkgs/applications/networking/protonvpn-cli-ng/default.nix
new file mode 100644
index 00000000000..03d1a665273
--- /dev/null
+++ b/pkgs/applications/networking/protonvpn-cli-ng/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, lib, fetchFromGitHub, python3Packages, openvpn, dialog }:
+
+python3Packages.buildPythonApplication rec {
+  name = "protonvpn-cli-ng";
+  version = "2.2.0";
+
+  src = fetchFromGitHub {
+    owner = "protonvpn";
+    repo = "protonvpn-cli-ng";
+    rev = "v${version}";
+    sha256 = "11fvnnr5p3qdc4y10815jnydcjvxlxwkkq9kvaajg0yszq84rwkz";
+  };
+
+  propagatedBuildInputs = (with python3Packages; [
+      requests
+      docopt
+      setuptools
+      pythondialog
+    ]) ++ [
+      dialog
+      openvpn
+    ];
+
+  # No tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Linux command-line client for ProtonVPN";
+    homepage = "https://github.com/protonvpn/protonvpn-cli-ng";
+    maintainers = [ maintainers.jtcoolen ];
+    license = licenses.gpl3;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/seafile-client/default.nix b/pkgs/applications/networking/seafile-client/default.nix
index 16430d31e83..1b96e9fb663 100644
--- a/pkgs/applications/networking/seafile-client/default.nix
+++ b/pkgs/applications/networking/seafile-client/default.nix
@@ -1,33 +1,31 @@
-{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, cmake, qtbase, qttools
-, seafile-shared, ccnet
+{ stdenv, lib, fetchFromGitHub, pkgconfig, cmake, qtbase, qttools
+, seafile-shared, ccnet, jansson, libsearpc
 , withShibboleth ? true, qtwebengine }:
 
-with stdenv.lib;
-
-mkDerivation rec {
-  version = "6.2.11";
+stdenv.mkDerivation rec {
   pname = "seafile-client";
+  version = "7.0.5";
 
   src = fetchFromGitHub {
     owner = "haiwen";
     repo = "seafile-client";
     rev = "v${version}";
-    sha256 = "1b8jqmr2qd3bpb3sr4p5w2a76x5zlknkj922sxrvw1rdwqhkb2pj";
+    sha256 = "08ysmhvdpyzq2s16i3fvii252fzjrxly3da74x8y6wbyy8yywmjy";
   };
 
   nativeBuildInputs = [ pkgconfig cmake ];
-  buildInputs = [ qtbase qttools seafile-shared ]
-    ++ optional withShibboleth qtwebengine;
+  buildInputs = [ qtbase qttools seafile-shared jansson libsearpc ]
+    ++ lib.optional withShibboleth qtwebengine;
 
   cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ]
-    ++ optional withShibboleth "-DBUILD_SHIBBOLETH_SUPPORT=ON";
+    ++ lib.optional withShibboleth "-DBUILD_SHIBBOLETH_SUPPORT=ON";
 
   qtWrapperArgs = [
     "--suffix PATH : ${stdenv.lib.makeBinPath [ ccnet seafile-shared ]}"
   ];
 
-  meta = with stdenv.lib; {
-    homepage = https://github.com/haiwen/seafile-client;
+  meta = with lib; {
+    homepage = "https://github.com/haiwen/seafile-client";
     description = "Desktop client for Seafile, the Next-generation Open Source Cloud Storage";
     license = licenses.asl20;
     platforms = platforms.linux;
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index 67365405cc2..2da36be90de 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -10,7 +10,7 @@ assert withQt  -> qt5  != null;
 with stdenv.lib;
 
 let
-  version = "3.2.0";
+  version = "3.2.1";
   variant = if withQt then "qt" else "cli";
 
 in stdenv.mkDerivation {
@@ -20,7 +20,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz";
-    sha256 = "0v5nn7i2nbqr59jsw8cs2052hr7xd96x1sa3480g8ks5kahk7zac";
+    sha256 = "0nz84zyhs4177ljxmv34vgc9kgg7ssxhxa4mssxqwh6nb00697sq";
   };
 
   cmakeFlags = [
diff --git a/pkgs/applications/networking/sync/onedrive/default.nix b/pkgs/applications/networking/sync/onedrive/default.nix
index dc38debd305..636761d2aaf 100644
--- a/pkgs/applications/networking/sync/onedrive/default.nix
+++ b/pkgs/applications/networking/sync/onedrive/default.nix
@@ -1,35 +1,27 @@
-{ stdenv
-, fetchFromGitHub
-, dmd
-, pkgconfig
-, curl
-, sqlite
-}:
+{ stdenv, fetchFromGitHub, dmd, pkgconfig, curl, sqlite, libnotify }:
 
 stdenv.mkDerivation rec {
   pname = "onedrive";
-  version = "2.3.12";
+  version = "2.3.13";
 
   src = fetchFromGitHub {
     owner = "abraunegg";
-    repo = "onedrive";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "0605nb3blvnncjx09frg2liarrd6pw8ph5jhnh764qcx0hyxcgs6";
+    sha256 = "0bcsrfh1g7bdlcp0zjn6np88qzpn5frv61lzxz9b2ayxf7wyybvi";
   };
 
-  nativeBuildInputs = [
-    dmd
-    pkgconfig
-  ];
-  buildInputs = [
-    curl
-    sqlite
-  ];
+  nativeBuildInputs = [ dmd pkgconfig ];
+
+  buildInputs = [ curl sqlite libnotify ];
+
+  configureFlags = [ "--enable-notifications" ];
+
   meta = with stdenv.lib; {
     description = "A complete tool to interact with OneDrive on Linux";
     homepage = "https://github.com/abraunegg/onedrive";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ doronbehar srgom ];
+    maintainers = with maintainers; [ srgom ianmjones ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/office/atlassian-cli/default.nix b/pkgs/applications/office/atlassian-cli/default.nix
index 6894f1ca635..021eadb6476 100644
--- a/pkgs/applications/office/atlassian-cli/default.nix
+++ b/pkgs/applications/office/atlassian-cli/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "atlassian-cli";
-  version = "9.0.0";
+  version = "9.1.0";
   
   src = fetchzip {
     url  = "https://bobswift.atlassian.net/wiki/download/attachments/16285777/${pname}-${version}-distribution.zip";
-    sha256  = "1z8723krq65fcy5aapgiz216vrpw2nw8fbn1h3a4zpis7kw8qp0f";
+    sha256  = "06431nmz2k1d7vdpnyr88j777sfaa0vrfvxbr9zikn65176mkw7k";
     extraPostFetch = "chmod go-w $out";
   };
   
diff --git a/pkgs/applications/office/csv2odf/default.nix b/pkgs/applications/office/csv2odf/default.nix
new file mode 100644
index 00000000000..7bab06ed4ab
--- /dev/null
+++ b/pkgs/applications/office/csv2odf/default.nix
@@ -0,0 +1,28 @@
+{ lib, python3, fetchurl }:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "csv2odf";
+  version = "2.09";
+  src = fetchurl {
+    url = "mirror://sourceforge/project/${pname}/${pname}-${version}/${pname}-${version}.tar.gz";
+    sha256 = "09l0yfay89grjdzap2h11f0hcyn49np5zizg2yyp2aqgjs8ki57p";
+  };
+
+  meta = with lib; {
+    homepage = "https://sourceforge.net/p/csv2odf/wiki/Main_Page/";
+    description = "Convert csv files to OpenDocument Format";
+    longDescription = ''
+      csv2odf is a command line tool that can convert a comma separated value
+      (csv) file to an odf, ods, html, xlsx, or docx document that can be viewed in
+      LibreOffice and other office productivity programs. csv2odf is useful for
+      creating reports from databases and other data sources that produce csv files.
+      csv2odf can be combined with cron and shell scripts to automatically generate
+      business reports.
+      
+      The output format (fonts, number formatting, etc.) is controlled by a
+      template file that you can design in your office application of choice.
+    '';
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ leenaars ];
+  };
+}
diff --git a/pkgs/applications/office/kmymoney/default.nix b/pkgs/applications/office/kmymoney/default.nix
index c7b4377c3dc..275cd826a69 100644
--- a/pkgs/applications/office/kmymoney/default.nix
+++ b/pkgs/applications/office/kmymoney/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kmymoney";
-  version = "5.0.7";
+  version = "5.0.8";
 
   src = fetchurl {
     url = "mirror://kde/stable/kmymoney/${version}/src/${pname}-${version}.tar.xz";
-    sha256 = "1h5mzvgpfyl2j66b3nsw17yxvg0ja1qhjlcmfkz62221vcqsrp6m";
+    sha256 = "1h6l01a08f1xgk4dfpndl7rmgbp9npm58qi760jwl2gggprwwsxc";
   };
 
   # Hidden dependency that wasn't included in CMakeLists.txt:
diff --git a/pkgs/applications/office/paperless/default.nix b/pkgs/applications/office/paperless/default.nix
index 97088f36041..1383986cf2e 100644
--- a/pkgs/applications/office/paperless/default.nix
+++ b/pkgs/applications/office/paperless/default.nix
@@ -116,7 +116,7 @@ let
     };
   };
 
-  django_2_0 = pyPkgs: pyPkgs.django_2_1.overrideDerivation (_: rec {
+  django_2_0 = pyPkgs: pyPkgs.django_2_2.overrideDerivation (_: rec {
     pname = "Django";
     version = "2.0.12";
     name = "${pname}-${version}";
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/flrig/default.nix b/pkgs/applications/radio/flrig/default.nix
index 242536a8965..17d579cb45e 100644
--- a/pkgs/applications/radio/flrig/default.nix
+++ b/pkgs/applications/radio/flrig/default.nix
@@ -6,12 +6,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.3.48";
+  version = "1.3.49";
   pname = "flrig";
 
   src = fetchurl {
     url = "mirror://sourceforge/fldigi/${pname}-${version}.tar.gz";
-    sha256 = "0f46rmrr8aphj8fsbfa1bywihigzfzyxq9zg66d1laa7d3jsfs9q";
+    sha256 = "0icfniiw2l7d7gyxrzy87n3ragzvf0ykvq7c10ppf111wl5in295";
   };
 
   buildInputs = [
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/radio/urh/default.nix b/pkgs/applications/radio/urh/default.nix
index eea9bb9027c..8ca42ab94ac 100644
--- a/pkgs/applications/radio/urh/default.nix
+++ b/pkgs/applications/radio/urh/default.nix
@@ -5,13 +5,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "urh";
-  version = "2.8.1";
+  version = "2.8.2";
 
   src = fetchFromGitHub {
     owner = "jopohl";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0vwc1jw1fjirdpavrnvc95bql8023ayrz9srbwn0p6n0ia038948";
+    sha256 = "0cypm602zl3s4qggmafj4c246h65qgzsj3bsimvc5zz7jspk6m77";
   };
 
   nativeBuildInputs = [ qt5.wrapQtAppsHook ];
diff --git a/pkgs/applications/science/astronomy/gildas/default.nix b/pkgs/applications/science/astronomy/gildas/default.nix
index 4bb3c7b34fe..cc6af8a17c0 100644
--- a/pkgs/applications/science/astronomy/gildas/default.nix
+++ b/pkgs/applications/science/astronomy/gildas/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, gtk2-x11 , pkgconfig , python27 , gfortran , lesstif
-, cfitsio , getopt , perl , groff , which, darwin
+{ stdenv, fetchurl, gtk2-x11 , pkgconfig , python3 , gfortran , lesstif
+, cfitsio , getopt , perl , groff , which, darwin, ncurses
 }:
 
 let
-  python27Env = python27.withPackages(ps: with ps; [ numpy ]);
+  python3Env = python3.withPackages(ps: with ps; [ numpy ]);
 in
 
 stdenv.mkDerivation rec {
-  srcVersion = "dec19a";
-  version = "20191201_a";
+  srcVersion = "jan20a";
+  version = "20200101_a";
   pname = "gildas";
 
   src = fetchurl {
@@ -16,17 +16,19 @@ stdenv.mkDerivation rec {
     # source code of the previous release to a different directory
     urls = [ "http://www.iram.fr/~gildas/dist/gildas-src-${srcVersion}.tar.xz"
       "http://www.iram.fr/~gildas/dist/archive/gildas/gildas-src-${srcVersion}.tar.xz" ];
-    sha256 = "0kwq5gzgzx5hkbabwvbrw2958pqz4m2s501k5cbllgxh4sqp86b1";
+    sha256 = "12n08pax7gwg2z121ix3ah5prq3yswqnf2yc8jgs4i9rgkpbsfzz";
   };
 
-  enableParallelBuilding = true;
+  # Python scripts are not converted to Python 3 syntax when parallel
+  # building is turned on. Disable it until this is fixed upstream.
+  enableParallelBuilding = false;
 
   nativeBuildInputs = [ pkgconfig groff perl getopt gfortran which ];
 
-  buildInputs = [ gtk2-x11 lesstif cfitsio python27Env ]
+  buildInputs = [ gtk2-x11 lesstif cfitsio python3Env ncurses ]
     ++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ CoreFoundation ]);
 
-  patches = [ ./wrapper.patch ./clang.patch ./aarch64.patch ];
+  patches = [ ./wrapper.patch ./clang.patch ./aarch64.patch ./imager-py3.patch ];
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-unused-command-line-argument";
 
@@ -34,7 +36,7 @@ stdenv.mkDerivation rec {
 
   configurePhase=''
     substituteInPlace admin/wrapper.sh --replace '%%OUT%%' $out
-    substituteInPlace admin/wrapper.sh --replace '%%PYTHONHOME%%' ${python27Env}
+    substituteInPlace admin/wrapper.sh --replace '%%PYTHONHOME%%' ${python3Env}
     substituteInPlace utilities/main/gag-makedepend.pl --replace '/usr/bin/perl' ${perl}/bin/perl
     source admin/gildas-env.sh -c gfortran -o openmp
     echo "gag_doc:        $out/share/doc/" >> kernel/etc/gag.dico.lcl
diff --git a/pkgs/applications/science/astronomy/gildas/imager-py3.patch b/pkgs/applications/science/astronomy/gildas/imager-py3.patch
new file mode 100644
index 00000000000..71a129164ba
--- /dev/null
+++ b/pkgs/applications/science/astronomy/gildas/imager-py3.patch
@@ -0,0 +1,12 @@
+diff -ruN gildas-src-jan20a.orig/contrib/imager/pro/define.ima gildas-src-jan20a/contrib/imager/pro/define.ima
+--- gildas-src-jan20a.orig/contrib/imager/pro/define.ima	2020-01-01 02:15:16.000000000 +0100
++++ gildas-src-jan20a/contrib/imager/pro/define.ima	2020-01-14 11:18:46.000000000 +0100
+@@ -9,7 +9,7 @@
+ !
+ ! Patch for a Bug on Mac-OS/X where Python blocks if activated first
+ ! from a script launched by a widget.
+-python print "Starting Python" 
++python print("Starting Python")
+ !
+ ! INPUT, GO and UVT_CONVERT always defined by GreG
+ define command GO "@ p_go.ima" gag_pro:go_greg.hlp  
diff --git a/pkgs/applications/science/biology/picard-tools/default.nix b/pkgs/applications/science/biology/picard-tools/default.nix
index a67653c8437..44247f294aa 100644
--- a/pkgs/applications/science/biology/picard-tools/default.nix
+++ b/pkgs/applications/science/biology/picard-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "picard-tools";
-  version = "2.21.3";
+  version = "2.21.6";
 
   src = fetchurl {
     url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
-    sha256 = "0s1gn2bkya41866kd8zj0g8xjbivs763jqmlzdpjz4c25h6xkhns";
+    sha256 = "1vpyzhrs3bbviwk2n7k5296rnsw7g9ksvjsibl0gm7dawip9jb5s";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/science/biology/samtools/default.nix b/pkgs/applications/science/biology/samtools/default.nix
index daa2925de7c..f2c5e9f25be 100644
--- a/pkgs/applications/science/biology/samtools/default.nix
+++ b/pkgs/applications/science/biology/samtools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "samtools";
-  version = "1.9";
+  version = "1.10";
 
   src = fetchurl {
     url = "https://github.com/samtools/samtools/releases/download/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "10ilqbmm7ri8z431sn90lvbjwizd0hhkf9rcqw8j823hf26nhgq8";
+    sha256 = "119ms0dpydw8dkh3zc4yyw9zhdzgv12px4l2kayigv31bpqcb7kv";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/applications/science/logic/cubicle/default.nix b/pkgs/applications/science/logic/cubicle/default.nix
index cd41e1ca64b..d198de41f9b 100644
--- a/pkgs/applications/science/logic/cubicle/default.nix
+++ b/pkgs/applications/science/logic/cubicle/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     homepage = http://cubicle.lri.fr/;
     license = licenses.asl20;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ lucas8 ];
+    maintainers = with maintainers; [ dwarfmaster ];
   };
 }
diff --git a/pkgs/applications/search/doodle/default.nix b/pkgs/applications/search/doodle/default.nix
index ba9fbee5d96..9d1da21492a 100644
--- a/pkgs/applications/search/doodle/default.nix
+++ b/pkgs/applications/search/doodle/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, libextractor, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "doodle-0.7.0";
+  name = "doodle-0.7.1";
 
   buildInputs = [ libextractor gettext ];
 
   src = fetchurl {
     url = "https://grothoff.org/christian/doodle/download/${name}.tar.gz";
-    sha256 = "0ayx5q7chzll9sv3miq35xl36r629cvgdzphf379kxzlzhjldy3j";
+    sha256 = "086va4q8swiablv5x72yikrdh5swhy7kzmg5wlszi5a7vjya29xw";
   };
 
   meta = {
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index d57ffd75d7f..acfb30cd7c5 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -46,7 +46,7 @@ let
   gitFull = gitBase.override {
     svnSupport = true;
     guiSupport = true;
-    sendEmailSupport = !stdenv.isDarwin;
+    sendEmailSupport = true;
     withLibsecret = !stdenv.isDarwin;
   };
 
@@ -174,6 +174,8 @@ let
 
   svn-all-fast-export = libsForQt5.callPackage ./svn-all-fast-export { };
 
+  thicket = callPackage ./thicket { };
+
   tig = callPackage ./tig { };
 
   topGit = callPackage ./topgit { };
diff --git a/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix b/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix
index 969ea7cc2fa..54543bb4841 100644
--- a/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-subrepo";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "ingydotnet";
     repo = "git-subrepo";
     rev = version;
-    sha256 = "05m2dm9gq2nggwnxxdyq2kjj584sn2lxk66pr1qhjxnk81awj9l7";
+    sha256 = "0n10qnc8kyms6cv65k1n5xa9nnwpwbjn9h2cq47llxplawzqgrvp";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/version-management/git-and-tools/hub/default.nix b/pkgs/applications/version-management/git-and-tools/hub/default.nix
index ee21a2158ac..1b67b933cb1 100644
--- a/pkgs/applications/version-management/git-and-tools/hub/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/hub/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "hub";
-  version = "2.13.0";
+  version = "2.14.1";
 
   goPackagePath = "github.com/github/hub";
 
@@ -13,7 +13,7 @@ buildGoPackage rec {
     owner = "github";
     repo = pname;
     rev = "v${version}";
-    sha256 = "18b0r16fk5wahvysqvg6vzjr7smyc2sdxp9sf55viby3kkwjfbkh";
+    sha256 = "0b179sp8z2blzh4a0c2pjbbiya68x2i4cnmcci58r8k0mwrx6mw1";
   };
 
   nativeBuildInputs = [ groff utillinux ];
diff --git a/pkgs/applications/version-management/git-and-tools/thicket/default.nix b/pkgs/applications/version-management/git-and-tools/thicket/default.nix
new file mode 100644
index 00000000000..42819043d58
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/thicket/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, fetchFromGitHub
+, crystal
+}:
+
+crystal.buildCrystalPackage rec {
+  pname = "thicket";
+  version = "0.1.3";
+
+  src = fetchFromGitHub {
+    owner = "taylorthurlow";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0hkmmssiwipx373d0zw9a2yn72gqzqzcvwkqbs522m5adz6qmkzw";
+  };
+
+  shardsFile = ./shards.nix;
+  crystalBinaries.thicket.src = "src/thicket.cr";
+
+  meta = with lib; {
+    description = "A better one-line git log";
+    homepage = "https://github.com/taylorthurlow/thicket";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/version-management/git-and-tools/thicket/shards.nix b/pkgs/applications/version-management/git-and-tools/thicket/shards.nix
new file mode 100644
index 00000000000..c8839651a26
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/thicket/shards.nix
@@ -0,0 +1,8 @@
+{
+  ameba = {
+    owner = "veelenga";
+    repo = "ameba";
+    rev = "v0.10.0";
+    sha256 = "1yjxzwdhigsyjn0qp362jkj85qvg4dsyzal00pgr1srnh2xry912";
+  };
+}
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/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index fa2154c4472..36859892e8c 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -51,6 +51,7 @@ let
     # One of the patches uses this variable - if it's unset, execution
     # of rake tasks fails.
     GITLAB_LOG_PATH = "log";
+    FOSS_ONLY = !gitlabEnterprise;
 
     configurePhase = ''
       runHook preConfigure
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index fc2b4aaf3cb..4736dedcb84 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -13,13 +13,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "mkvtoolnix";
-  version = "41.0.0";
+  version = "42.0.0";
 
   src = fetchFromGitLab {
     owner  = "mbunkus";
     repo   = "mkvtoolnix";
     rev    = "release-${version}";
-    sha256 = "0p9mwhc6smchwikxbslgk7a2f3hfccaih09xfhricb80d97jz218";
+    sha256 = "0bjb1cx1sj61yhpraqryhxma4wiz0yl3asnbsv9hvq730v07hg0b";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index c333790d6a6..0ea042c1314 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -234,7 +234,7 @@ in stdenv.mkDerivation rec {
     description = "A media player that supports many video formats (MPlayer and mplayer2 fork)";
     homepage = https://mpv.io;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ AndersonTorres fpletz globin ivan ma27 tadeokondrak ];
+    maintainers = with maintainers; [ AndersonTorres fpletz globin ma27 tadeokondrak ];
     platforms = platforms.darwin ++ platforms.linux;
 
     longDescription = ''
diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix
index 0c103f997b2..380b3d49ca7 100644
--- a/pkgs/applications/video/obs-studio/default.nix
+++ b/pkgs/applications/video/obs-studio/default.nix
@@ -40,7 +40,7 @@ in mkDerivation rec {
   version = "24.0.6";
 
   src = fetchFromGitHub {
-    owner = "jp9000";
+    owner = "obsproject";
     repo = "obs-studio";
     rev = version;
     sha256 = "07grnab5v4fd4lw25adhnlifs5c5phc3rsz7h80m663nbszy7abh";
diff --git a/pkgs/applications/video/shotcut/0001-encodedock.cpp-connect-to-VAAPI-via-DRM-not-X11.patch b/pkgs/applications/video/shotcut/0001-encodedock.cpp-connect-to-VAAPI-via-DRM-not-X11.patch
new file mode 100644
index 00000000000..475788ba3a4
--- /dev/null
+++ b/pkgs/applications/video/shotcut/0001-encodedock.cpp-connect-to-VAAPI-via-DRM-not-X11.patch
@@ -0,0 +1,33 @@
+From 247baa7e9210bbe5462b6155014c3dcd4a60e56a Mon Sep 17 00:00:00 2001
+From: Peter Simons <simons@cryp.to>
+Date: Tue, 24 Sep 2019 10:27:17 +0200
+Subject: [PATCH] encodedock.cpp: connect to VAAPI via DRM, not X11
+
+---
+ src/docks/encodedock.cpp | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/docks/encodedock.cpp b/src/docks/encodedock.cpp
+index f2d64fc8..63d20787 100644
+--- a/src/docks/encodedock.cpp
++++ b/src/docks/encodedock.cpp
+@@ -766,7 +766,6 @@ Mlt::Properties* EncodeDock::collectProperties(int realtime)
+                     setIfNotSet(p, "pix_fmt", "nv12");
+                 } else if (vcodec.endsWith("_vaapi")) {
+                     setIfNotSet(p, "vprofile", "main");
+-                    setIfNotSet(p, "connection_type", "x11");
+                 }
+             }
+             setIfNotSet(p, "width", ui->widthSpinner->value());
+@@ -1890,7 +1889,7 @@ void EncodeDock::on_hwencodeCheckBox_clicked(bool checked)
+             QStringList args;
+             args << "-hide_banner" << "-f" << "lavfi" << "-i" << "color=s=640x360" << "-frames" << "1" << "-an";
+             if (codec.endsWith("_vaapi"))
+-                args << "-init_hw_device" << "vaapi=vaapi0:,connection_type=x11" << "-filter_hw_device" << "vaapi0" << "-vf" << "format=nv12,hwupload";
++                args << "-init_hw_device" << "vaapi=vaapi0" << "-filter_hw_device" << "vaapi0" << "-vf" << "format=nv12,hwupload";
+             else if (codec == "hevc_qsv")
+                 args << "-load_plugin" << "hevc_hw";
+             args << "-c:v" << codec << "-f" << "rawvideo" << "pipe:";
+-- 
+2.24.1
+
diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix
index 33ce5c18028..6926f7e8eae 100644
--- a/pkgs/applications/video/shotcut/default.nix
+++ b/pkgs/applications/video/shotcut/default.nix
@@ -17,6 +17,8 @@ mkDerivation rec {
     sha256 = "1vwgah8pp2kbd0iaz952d3bwxphk06yxqc0pi4hk1mklkh87qzm9";
   };
 
+  patches = [ ./0001-encodedock.cpp-connect-to-VAAPI-via-DRM-not-X11.patch ];
+
   enableParallelBuilding = true;
   nativeBuildInputs = [ pkgconfig qmake ];
   buildInputs = [
diff --git a/pkgs/applications/virtualization/cri-o/default.nix b/pkgs/applications/virtualization/cri-o/default.nix
index 483c6f8b337..f6e78f364c2 100644
--- a/pkgs/applications/virtualization/cri-o/default.nix
+++ b/pkgs/applications/virtualization/cri-o/default.nix
@@ -16,8 +16,7 @@
 }:
 
 let
-  makeFlags = "BUILDTAGS=\"apparmor seccomp selinux
-    containers_image_ostree_stub\"";
+  buildTags = "apparmor seccomp selinux containers_image_ostree_stub";
 in buildGoPackage rec {
   project = "cri-o";
   version = "1.16.1";
@@ -47,7 +46,7 @@ in buildGoPackage rec {
     # Build the crio binaries
     function build() {
       go build \
-        -tags ${makeFlags} \
+        -tags "${buildTags}" \
         -o bin/"$1" \
         -buildmode=pie \
         -ldflags '-s -w ${ldflags}' \
diff --git a/pkgs/applications/virtualization/crun/default.nix b/pkgs/applications/virtualization/crun/default.nix
index 9376adf8d6a..6fc60780ba7 100644
--- a/pkgs/applications/virtualization/crun/default.nix
+++ b/pkgs/applications/virtualization/crun/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "crun";
-  version = "0.10.6";
+  version = "0.11";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = version;
-    sha256 = "0v1hrlpnln0c976fb0k2ig4jv11qbyzf95z0wy92fd8r8in16rc1";
+    sha256 = "0mn64hrgx4a7mhqjxn127i8yivhn1grp93wws1da1ffj4ap6ay76";
     fetchSubmodules = true;
   };
 
@@ -19,6 +19,14 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  preBuild = ''
+    cat > git-version.h <<EOF
+    #ifndef GIT_VERSION
+    # define GIT_VERSION "nixpkgs-${version}"
+    #endif
+    EOF
+  '';
+
   # the tests require additional permissions
   doCheck = false;
 
diff --git a/pkgs/applications/virtualization/docker-compose/default.nix b/pkgs/applications/virtualization/docker-compose/default.nix
index 7e8dbf33a7b..4bb03aa4ac3 100644
--- a/pkgs/applications/virtualization/docker-compose/default.nix
+++ b/pkgs/applications/virtualization/docker-compose/default.nix
@@ -7,12 +7,12 @@
 }:
 
 buildPythonApplication rec {
-  version = "1.25.0";
+  version = "1.25.1";
   pname = "docker-compose";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0zlprmsgmj4z627snsl0qmq8y7ggcyqrqm5vxvrvcigl7zywnprc";
+    sha256 = "003rb5hp8plb3yvv0x5dwzz13gdvq91nvrvx29d41h97n1lklw67";
   };
 
   # lots of networking and other fails
diff --git a/pkgs/applications/virtualization/open-vm-tools/default.nix b/pkgs/applications/virtualization/open-vm-tools/default.nix
index 8261ead3892..87ec2e52f13 100644
--- a/pkgs/applications/virtualization/open-vm-tools/default.nix
+++ b/pkgs/applications/virtualization/open-vm-tools/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "open-vm-tools";
-  version = "11.0.1";
+  version = "11.0.5";
 
   src = fetchFromGitHub {
     owner  = "vmware";
     repo   = "open-vm-tools";
     rev    = "stable-${version}";
-    sha256 = "1p499ilb2j1s0d7qf19b8nig8ggdq7b60xcgb7bc18g8kp5g82lv";
+    sha256 = "0idh8dqwb1df2di689090k9x1iap35jk3wg8yb1g70byichmscqb";
   };
 
   sourceRoot = "${src.name}/open-vm-tools";
diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix
index 607d790247f..dbd05e38d3f 100644
--- a/pkgs/applications/virtualization/podman/default.nix
+++ b/pkgs/applications/virtualization/podman/default.nix
@@ -20,12 +20,14 @@ buildGoPackage rec {
 
   nativeBuildInputs = [ pkgconfig go-md2man installShellFiles ];
 
-  buildInputs = [ btrfs-progs libseccomp gpgme lvm2 systemd ];
+  buildInputs = stdenv.lib.optionals stdenv.isLinux [ btrfs-progs libseccomp gpgme lvm2 systemd ];
 
   buildPhase = ''
-    pushd $NIX_BUILD_TOP/go/src/${goPackagePath}
+    pushd go/src/${goPackagePath}
     patchShebangs .
-    make binaries docs
+    ${if stdenv.isDarwin
+      then "make CGO_ENABLED=0 BUILDTAGS='remoteclient containers_image_openpgp exclude_graphdriver_devicemapper' varlink_generate all"
+      else "make binaries docs"}
   '';
 
   installPhase = ''
@@ -39,7 +41,7 @@ buildGoPackage rec {
     homepage = https://podman.io/;
     description = "A program for managing pods, containers and container images";
     license = licenses.asl20;
-    maintainers = with maintainers; [ vdemeester saschagrunert ];
-    platforms = platforms.linux;
+    maintainers = with maintainers; [ vdemeester saschagrunert marsam ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/window-managers/cage/default.nix b/pkgs/applications/window-managers/cage/default.nix
index ce4031b92f5..fe5e9c4e2e3 100644
--- a/pkgs/applications/window-managers/cage/default.nix
+++ b/pkgs/applications/window-managers/cage/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub
+{ stdenv, fetchFromGitHub, fetchpatch
 , meson, ninja, pkgconfig, makeWrapper
 , wlroots, wayland, wayland-protocols, pixman, libxkbcommon
 , systemd, libGL, libX11
@@ -6,14 +6,20 @@
 }:
 
 stdenv.mkDerivation rec {
-  pname = "cage";
-  version = "0.1.1";
+  pname = "cage-unstable";
+  version = "2020-01-18";
+  # The last stable release (0.1.1) would require at least the following 3 patches:
+  # - https://github.com/Hjdskes/cage/commit/33bb3c818c5971777b6f09d8821e7f078d38d262.patch
+  # - https://github.com/Hjdskes/cage/commit/51e6c760da51e2b885737d61a61cdc965bb9269d.patch
+  # - https://github.com/Hjdskes/cage/commit/84216ca2a417b237ad61c11e2f3ebbcb91681ece.patch
+  # Which need to be adapted due to other changes. At this point it seems
+  # better to use the current master version until the next stable release.
 
   src = fetchFromGitHub {
     owner = "Hjdskes";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "1vp4mfkflrjmlgyx5mkbzdi3iq58m76q7l9dfrsk85xn0642d6q1";
+    repo = "cage";
+    rev = "cc1f975c442ebd691b70196d76aa120ead717810";
+    sha256 = "1gkqx26pvlw00b3fgx6sh87yyjfzyj51jwxvbf9k117npkrf4b2g";
   };
 
   nativeBuildInputs = [ meson ninja pkgconfig makeWrapper ];
diff --git a/pkgs/applications/window-managers/i3/layout-manager.nix b/pkgs/applications/window-managers/i3/layout-manager.nix
index 85d103e172a..c7454981400 100644
--- a/pkgs/applications/window-managers/i3/layout-manager.nix
+++ b/pkgs/applications/window-managers/i3/layout-manager.nix
@@ -6,13 +6,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "i3-layout-manager";
-  version = "unstable-2019-06-19";
+  version = "unstable-2019-12-06";
 
   src = fetchFromGitHub {
     owner = "klaxalk";
     repo = pname;
-    rev = "80ade872bfd70d9c6039024097ceb8c852a2816a";
-    sha256 = "02xhyd737qwni628mjzr9i5v2kga5cq4k8m77bxm1p6kkj84nlmg";
+    rev = "064e13959413ba2d706185478a394e5852c0dc53";
+    sha256 = "1qm35sp1cfi3xj5j7xwa05dkb3353gwq4xh69ryc6382xx3wszg6";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/window-managers/notion/default.nix b/pkgs/applications/window-managers/notion/default.nix
index 60900bd2a3c..2b9e8237a04 100644
--- a/pkgs/applications/window-managers/notion/default.nix
+++ b/pkgs/applications/window-managers/notion/default.nix
@@ -1,45 +1,39 @@
-{
-  enableXft ? true, libXft ? null, patches ? [], stdenv, lua, gettext, pkgconfig, xlibsWrapper, libXinerama, libXrandr, libX11,
-  xterm, xmessage, makeWrapper, fetchFromGitHub, mandoc, which
+{ stdenv, fetchFromGitHub, pkgconfig
+, lua, gettext, which, groff, xmessage, xterm
+, readline, fontconfig, libX11, libXext, libSM
+, libXinerama, libXrandr, libXft
+, xlibsWrapper, makeWrapper
 }:
 
-assert enableXft -> libXft != null;
-
-let
+stdenv.mkDerivation rec{
   pname = "notion";
-  version = "3-2017050501";
-  inherit patches;
-in
-stdenv.mkDerivation {
-  name = "${pname}-${version}";
-  meta = with stdenv.lib; {
-    description = "Tiling tabbed window manager, follow-on to the ion window manager";
-    homepage = http://notion.sourceforge.net;
-    platforms = platforms.linux;
-    license   = licenses.notion_lgpl;
-    maintainers = with maintainers; [jfb];
-  };
+  version = "3-2019050101";
+
   src = fetchFromGitHub {
     owner = "raboof";
     repo = pname;
     rev = version;
-    sha256 = "1wq5ylpsw5lkbm3c2bzmx2ajlngwib30adxlqbvq4bgkaf9zjh65";
+    sha256 = "09kvgqyw0gnj3jhz9gmwq81ak8qy32vyanx1hw79r6m181aysspz";
   };
 
-  patches = patches;
-  postPatch = ''
-    substituteInPlace system-autodetect.mk --replace '#PRELOAD_MODULES=1' 'PRELOAD_MODULES=1'
-    substituteInPlace man/Makefile --replace "nroff -man -Tlatin1" "${mandoc}/bin/mandoc -T man"
-  '';
+  nativeBuildInputs = [ pkgconfig makeWrapper groff ];
+  buildInputs = [ lua gettext which readline fontconfig libX11 libXext libSM
+                  libXinerama libXrandr libXft xlibsWrapper ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [makeWrapper xlibsWrapper lua gettext mandoc which libXinerama libXrandr libX11 ] ++ stdenv.lib.optional enableXft libXft;
+  buildFlags = [ "CC=cc" "LUA_DIR=${lua}" "X11_PREFIX=/no-such-path" ];
 
-  buildFlags = [ "LUA_DIR=${lua}" "X11_PREFIX=/no-such-path" "PREFIX=\${out}" ];
-  installFlags = [ "PREFIX=\${out}" ];
+  makeFlags = [ "PREFIX=\${out}" ];
 
   postInstall = ''
     wrapProgram $out/bin/notion \
       --prefix PATH ":" "${xmessage}/bin:${xterm}/bin" \
   '';
+
+  meta = with stdenv.lib; {
+    description = "Tiling tabbed window manager, follow-on to the Ion";
+    homepage = "https://notionwm.net/";
+    license   = licenses.lgpl21;
+    maintainers = with maintainers; [ jfb AndersonTorres ];
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/applications/window-managers/notion/notion-xft_nixos.diff b/pkgs/applications/window-managers/notion/notion-xft_nixos.diff
deleted file mode 100644
index 542aa446c3f..00000000000
--- a/pkgs/applications/window-managers/notion/notion-xft_nixos.diff
+++ /dev/null
@@ -1,662 +0,0 @@
-diff -ur notion-3-2015061300/de/brush.c notion-3-2015061300-PATCHED/de/brush.c
---- notion-3-2015061300/de/brush.c	2015-06-13 10:37:26.000000000 -0400
-+++ notion-3-2015061300-PATCHED/de/brush.c	2015-07-13 10:37:23.093298917 -0400
-@@ -48,6 +48,9 @@
-     
-     gr_stylespec_init(&brush->current_attr);
-     
-+#ifdef XFT
-+    brush->draw=NULL;
-+#endif /* XFT */
-     style->usecount++;
- 
-     if(!grbrush_init(&(brush->grbrush))){
-@@ -128,6 +131,10 @@
- {
-     destyle_unref(brush->d);
-     brush->d=NULL;
-+#ifdef XFT
-+    if(brush->draw!=NULL)
-+        XftDrawDestroy(brush->draw);
-+#endif /* XFT */
-     gr_stylespec_unalloc(&brush->current_attr);
-     grbrush_deinit(&(brush->grbrush));
- }
-@@ -139,6 +146,21 @@
- }
- 
- 
-+#ifdef XFT
-+XftDraw *debrush_get_draw(DEBrush *brush, Drawable d)
-+{
-+    if(brush->draw==NULL)
-+        brush->draw=XftDrawCreate(ioncore_g.dpy, d,
-+                                  XftDEDefaultVisual(),
-+                                  DefaultColormap(ioncore_g.dpy,
-+                                  0));
-+    else
-+        XftDrawChange(brush->draw, d);
-+
-+    return brush->draw;
-+}
-+#endif
-+
- /*}}}*/
- 
- 
-diff -ur notion-3-2015061300/de/brush.h notion-3-2015061300-PATCHED/de/brush.h
---- notion-3-2015061300/de/brush.h	2015-06-13 10:37:26.000000000 -0400
-+++ notion-3-2015061300-PATCHED/de/brush.h	2015-07-13 10:37:23.096298747 -0400
-@@ -15,6 +15,10 @@
- #include <ioncore/gr.h>
- #include <ioncore/rectangle.h>
- 
-+#ifdef XFT
-+#include <X11/Xft/Xft.h>
-+#endif /* XFT */
-+
- INTRCLASS(DEBrush);
- 
- #include "style.h"
-@@ -33,6 +37,9 @@
- DECLCLASS(DEBrush){
-     GrBrush grbrush;
-     DEStyle *d;
-+#ifdef XFT
-+    XftDraw *draw;
-+#endif
-     DEBrushExtrasFn *extras_fn;
-     int indicator_w;
-     Window win;
-@@ -108,5 +115,8 @@
- extern void debrush_fill_area(DEBrush *brush, const WRectangle *geom);
- extern void debrush_clear_area(DEBrush *brush, const WRectangle *geom);
- 
-+#ifdef XFT
-+XftDraw *debrush_get_draw(DEBrush *brush, Drawable d);
-+#endif
- 
- #endif /* ION_DE_BRUSH_H */
-diff -ur notion-3-2015061300/de/colour.c notion-3-2015061300-PATCHED/de/colour.c
---- notion-3-2015061300/de/colour.c	2015-06-13 10:37:26.000000000 -0400
-+++ notion-3-2015061300-PATCHED/de/colour.c	2015-07-13 10:37:23.098298633 -0400
-@@ -12,9 +12,21 @@
- 
- bool de_alloc_colour(WRootWin *rootwin, DEColour *ret, const char *name)
- {
-+#ifndef XFT
-     XColor c;
-     bool ok=FALSE;
-+#else /* XFT */
-+    if(name==NULL)
-+        return FALSE;
-+    return XftColorAllocName(
-+        ioncore_g.dpy,
-+        XftDEDefaultVisual(),
-+        rootwin->default_cmap,
-+        name,
-+        ret);
-+#endif /* XFT */
- 
-+#ifndef XFT
-     if(name==NULL)
-         return FALSE;
- 
-@@ -25,11 +37,13 @@
-     }
-     
-     return ok;
-+#endif /* ! XFT */
- }
- 
- 
- bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out)
- {
-+#ifndef XFT
-     XColor c;
-     c.pixel=in;
-     XQueryColor(ioncore_g.dpy, rootwin->default_cmap, &c);
-@@ -38,11 +52,20 @@
-         return TRUE;
-     }
-     return FALSE;
-+#else /* XFT */
-+    return XftColorAllocName(
-+        ioncore_g.dpy,
-+        XftDEDefaultVisual(),
-+        rootwin->default_cmap,
-+        &(in.color),
-+        out);
-+#endif /* XFT */
- }
- 
- 
- void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg)
- {
-+#ifndef XFT
-     DEColour pixels[5];
-     
-     pixels[0]=cg->bg;
-@@ -54,15 +77,26 @@
-     XFreeColors(ioncore_g.dpy, rootwin->default_cmap, pixels, 5, 0);
-     
-     gr_stylespec_unalloc(&cg->spec);
-+#else /* XFT */
-+    de_free_colour(rootwin, cg->bg);
-+    de_free_colour(rootwin, cg->fg);
-+    de_free_colour(rootwin, cg->hl);
-+    de_free_colour(rootwin, cg->sh);
-+    de_free_colour(rootwin, cg->pad);
-+#endif /* XFT */
- }
- 
- 
- void de_free_colour(WRootWin *rootwin, DEColour col)
- {
-+#ifndef XFT
-     DEColour pixels[1];
-     
-     pixels[0]=col;
-     
-     XFreeColors(ioncore_g.dpy, rootwin->default_cmap, pixels, 1, 0);
-+#else /* XFT */
-+    XftColorFree(ioncore_g.dpy, XftDEDefaultVisual(), rootwin->default_cmap, &col);
-+#endif /* XFT */
- }
- 
-diff -ur notion-3-2015061300/de/colour.h notion-3-2015061300-PATCHED/de/colour.h
---- notion-3-2015061300/de/colour.h	2015-06-13 10:37:26.000000000 -0400
-+++ notion-3-2015061300-PATCHED/de/colour.h	2015-07-13 10:37:23.099298576 -0400
-@@ -12,12 +12,19 @@
- #include <ioncore/common.h>
- #include <ioncore/global.h>
- #include <ioncore/rootwin.h>
-+#ifdef XFT
-+#include <X11/Xft/Xft.h>
-+#endif /* XFT */
- 
- 
- INTRSTRUCT(DEColourGroup);
- 
- 
-+#ifndef XFT
- typedef unsigned long DEColour;
-+#else /* XFT */
-+typedef XftColor DEColour;
-+#endif /* XFT */
- 
- 
- DECLSTRUCT(DEColourGroup){
-@@ -34,5 +41,6 @@
- bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out);
- void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg);
- void de_free_colour(WRootWin *rootwin, DEColour col);
-+#define XftDEDefaultVisual()    DefaultVisual(ioncore_g.dpy, 0)
- 
- #endif /* ION_DE_COLOUR_H */
-diff -ur notion-3-2015061300/de/draw.c notion-3-2015061300-PATCHED/de/draw.c
---- notion-3-2015061300/de/draw.c	2015-06-13 10:37:26.000000000 -0400
-+++ notion-3-2015061300-PATCHED/de/draw.c	2015-07-13 10:37:23.109298008 -0400
-@@ -20,6 +20,14 @@
- #include <X11/extensions/shape.h>
- 
- 
-+#ifndef XFT
-+#define PIXEL(x) x
-+#else /* XFT */
-+#define PIXEL(x) x.pixel
-+#endif /* XFT */
-+
-+
-+
- /*{{{ Colour group lookup */
- 
- 
-@@ -84,8 +92,7 @@
-     w--;
-     h--;
- 
--    XSetForeground(ioncore_g.dpy, gc, tlc);
--
-+    XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc));
-     
-     a=(br!=0);
-     b=0;
-@@ -104,7 +111,7 @@
-     }
- 
-     
--    XSetForeground(ioncore_g.dpy, gc, brc);
-+    XSetForeground(ioncore_g.dpy, gc, PIXEL(brc));
- 
-     a=(tl!=0);
-     b=0;
-@@ -141,23 +148,23 @@
-                             GrBorderLine line)
- {
-     if(line==GR_BORDERLINE_LEFT && geom->h>0 && tl>0){
--        XSetForeground(ioncore_g.dpy, gc, tlc);
--        XSetBackground(ioncore_g.dpy, gc, tlc);
-+        XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc));
-+        XSetBackground(ioncore_g.dpy, gc, PIXEL(tlc));
-         XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, tl, geom->h);
-         geom->x+=tl;
-     }else if(line==GR_BORDERLINE_TOP && geom->w>0 && tl>0){
--        XSetForeground(ioncore_g.dpy, gc, tlc);
--        XSetBackground(ioncore_g.dpy, gc, tlc);
-+        XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc));
-+        XSetBackground(ioncore_g.dpy, gc, PIXEL(tlc));
-         XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, geom->w, tl);
-         geom->y+=tl;
-     }else if(line==GR_BORDERLINE_RIGHT && geom->h>0 && br>0){
--        XSetForeground(ioncore_g.dpy, gc, brc);
--        XSetBackground(ioncore_g.dpy, gc, brc);
-+        XSetForeground(ioncore_g.dpy, gc, PIXEL(brc));
-+        XSetBackground(ioncore_g.dpy, gc, PIXEL(brc));
-         XFillRectangle(ioncore_g.dpy, win, gc, geom->x+geom->w-br, geom->y, br, geom->h);
-         geom->w-=br;
-     }else if(line==GR_BORDERLINE_BOTTOM && geom->w>0 && br>0){
--        XSetForeground(ioncore_g.dpy, gc, brc);
--        XSetBackground(ioncore_g.dpy, gc, brc);
-+        XSetForeground(ioncore_g.dpy, gc, PIXEL(brc));
-+        XSetBackground(ioncore_g.dpy, gc, PIXEL(brc));
-         XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y+geom->h-br, geom->w, br);
-         geom->h-=br;
-     }
-@@ -388,7 +395,7 @@
-     }
-     
-     if(ISSET(a2, GR_ATTR(tagged)) || ISSET(a1, GR_ATTR(tagged))){
--        XSetForeground(ioncore_g.dpy, d->copy_gc, cg->fg);
-+        XSetForeground(ioncore_g.dpy, d->copy_gc, PIXEL(cg->fg));
-             
-         copy_masked(brush, d->tag_pixmap, brush->win, 0, 0,
-                     d->tag_pixmap_w, d->tag_pixmap_h,
-@@ -437,7 +444,7 @@
-     GC gc=brush->d->normal_gc;
-     
-     if(TRUE/*needfill*/){
--        XSetForeground(ioncore_g.dpy, gc, cg->bg);
-+        XSetForeground(ioncore_g.dpy, gc, PIXEL(cg->bg));
-         XFillRectangle(ioncore_g.dpy, brush->win, gc, geom->x, geom->y, 
-                        geom->w, geom->h);
-     }
-@@ -605,7 +612,7 @@
-         attr.background_pixmap=ParentRelative;
-     }else{
-         attrflags=CWBackPixel;
--        attr.background_pixel=brush->d->cgrp.bg;
-+        attr.background_pixel=brush->d->PIXEL(cgrp.bg);
-     }
-     
-     XChangeWindowAttributes(ioncore_g.dpy, brush->win, attrflags, &attr);
-@@ -621,7 +628,7 @@
-     if(cg==NULL)
-         return;
-     
--    XSetForeground(ioncore_g.dpy, gc, cg->bg);
-+    XSetForeground(ioncore_g.dpy, gc, PIXEL(cg->bg));
-     XFillRectangle(ioncore_g.dpy, brush->win, gc, 
-                    geom->x, geom->y, geom->w, geom->h);
- }
-diff -ur notion-3-2015061300/de/font.c notion-3-2015061300-PATCHED/de/font.c
---- notion-3-2015061300/de/font.c	2015-06-13 10:37:26.000000000 -0400
-+++ notion-3-2015061300-PATCHED/de/font.c	2015-07-13 10:37:23.118297497 -0400
-@@ -13,7 +13,9 @@
- #include <ioncore/common.h>
- #include <ioncore/log.h>
- #include "font.h"
-+#ifndef XFT
- #include "fontset.h"
-+#endif /* ! XFT */
- #include "brush.h"
- #include "precompose.h"
- 
-@@ -106,6 +108,9 @@
- 
- DEFont *de_load_font(const char *fontname)
- {
-+#ifdef XFT
-+    XftFont *font;
-+#endif
-     DEFont *fnt;
-     XFontSet fontset=NULL;
-     XFontStruct *fontstruct=NULL;
-@@ -120,7 +125,8 @@
-             return fnt;
-         }
-     }
--    
-+
-+#ifndef XFT
-     if(ioncore_g.use_mb && !(ioncore_g.enc_utf8 && iso10646_font(fontname))){
-         LOG(DEBUG, FONT, "Loading fontset %s", fontname); 
-         fontset=de_create_font_set(fontname);
-@@ -149,13 +155,34 @@
-         return NULL;
-     }
-     
-+#else /* XFT */
-+    if(strncmp(fontname, "xft:", 4)==0){
-+        font=XftFontOpenName(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy),
-+                 fontname+4);
-+    }else{
-+        font=XftFontOpenXlfd(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy), fontname);
-+    }
-+    
-+    if(font==NULL){
-+        if(strcmp(fontname, CF_FALLBACK_FONT_NAME)!=0){
-+            warn(TR("Could not load font \"%s\", trying \"%s\""),
-+             fontname, CF_FALLBACK_FONT_NAME);
-+            return de_load_font(CF_FALLBACK_FONT_NAME);
-+        }
-+        return NULL;
-+    }
-+#endif /* XFT */
-     fnt=ALLOC(DEFont);
-     
-     if(fnt==NULL)
-         return NULL;
-     
-+#ifndef XFT
-     fnt->fontset=fontset;
-     fnt->fontstruct=fontstruct;
-+#else
-+    fnt->font=font;
-+#endif
-     fnt->pattern=scopy(fontname);
-     fnt->next=NULL;
-     fnt->prev=NULL;
-@@ -175,11 +202,13 @@
-     style->font=font;
-     font->refcount++;
-     
-+#ifndef XFT
-     if(style->font->fontstruct!=NULL){
-         XSetFont(ioncore_g.dpy, style->normal_gc, 
-                  style->font->fontstruct->fid);
-     }
- 
-+#endif /* ! XFT */
-     return TRUE;
- }
- 
-@@ -194,11 +223,13 @@
-     if(style->font==NULL)
-         return FALSE;
-     
-+#ifndef XFT
-     if(style->font->fontstruct!=NULL){
-         XSetFont(ioncore_g.dpy, style->normal_gc, 
-                  style->font->fontstruct->fid);
-     }
-     
-+#endif /* ! XFT */
-     return TRUE;
- }
- 
-@@ -208,10 +239,15 @@
-     if(--font->refcount!=0)
-         return;
-     
-+#ifndef XFT
-     if(font->fontset!=NULL)
-         XFreeFontSet(ioncore_g.dpy, font->fontset);
-     if(font->fontstruct!=NULL)
-         XFreeFont(ioncore_g.dpy, font->fontstruct);
-+#else /* XFT */
-+    if(font->font!=NULL)
-+        XftFontClose(ioncore_g.dpy, font->font);
-+#endif /* XFT */
-     if(font->pattern!=NULL)
-         free(font->pattern);
-     
-@@ -239,6 +275,7 @@
- 
- void defont_get_font_extents(DEFont *font, GrFontExtents *fnte)
- {
-+#ifndef XFT
-     if(font->fontset!=NULL){
-         XFontSetExtents *ext=XExtentsOfFontSet(font->fontset);
-         if(ext==NULL)
-@@ -254,7 +291,14 @@
-         fnte->baseline=fnt->ascent;
-         return;
-     }
--    
-+#else /* XFT */
-+    if(font->font!=NULL){
-+        fnte->max_height=font->font->ascent+font->font->descent;
-+        fnte->max_width=font->font->max_advance_width;
-+        fnte->baseline=font->font->ascent;
-+        return;
-+    }
-+#endif /* XFT */
- fail:
-     DE_RESET_FONT_EXTENTS(fnte);
- }
-@@ -271,6 +315,7 @@
- 
- uint defont_get_text_width(DEFont *font, const char *text, uint len)
- {
-+#ifndef XFT
-     if(font->fontset!=NULL){
-         XRectangle lext;
- #ifdef CF_DE_USE_XUTF8
-@@ -298,6 +343,18 @@
-     }else{
-         return 0;
-     }
-+#else /* XFT */
-+    if(font->font!=NULL){
-+        XGlyphInfo extents;
-+        if(ioncore_g.enc_utf8)
-+            XftTextExtentsUtf8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, &extents);
-+        else
-+            XftTextExtents8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, &extents);
-+        return extents.xOff;
-+    }else{
-+        return 0;
-+    }
-+#endif /* XFT */
- }
- 
- 
-@@ -307,6 +364,7 @@
- /*{{{ String drawing */
- 
- 
-+#ifndef XFT
- void debrush_do_draw_string_default(DEBrush *brush, int x, int y,
-                                     const char *str, int len, bool needfill, 
-                                     DEColourGroup *colours)
-@@ -366,6 +424,43 @@
-     }
- }
- 
-+#else /* XFT */
-+void debrush_do_draw_string_default(DEBrush *brush, 
-+                                    int x, int y, const char *str,
-+                                    int len, bool needfill, 
-+                                    DEColourGroup *colours)
-+{
-+    Window win = brush->win;
-+    GC gc=brush->d->normal_gc;
-+    XftDraw *draw;
-+    XftFont *font;
-+    
-+    if(brush->d->font==NULL)
-+        return;
-+
-+    font=brush->d->font->font;
-+    draw=debrush_get_draw(brush, win);
-+
-+    if(needfill){
-+        XGlyphInfo extents;
-+        if(ioncore_g.enc_utf8){
-+            XftTextExtentsUtf8(ioncore_g.dpy, font, (XftChar8 *)str, len,
-+                               &extents);
-+        }else{
-+            XftTextExtents8(ioncore_g.dpy, font, (XftChar8 *)str, len, &extents);
-+            XftDrawRect(draw, &(colours->bg), x-extents.x, y-extents.y,
-+                        extents.width+10, extents.height);
-+        }
-+    }
-+
-+    if(ioncore_g.enc_utf8){
-+        XftDrawStringUtf8(draw, &(colours->fg), font, x, y, (XftChar8 *)str,
-+                          len);
-+    }else{
-+        XftDrawString8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, len);
-+    }
-+}
-+#endif /* XFT */
- 
- void debrush_do_draw_string(DEBrush *brush, int x, int y,
-                             const char *str, int len, bool needfill, 
-diff -ur notion-3-2015061300/de/font.h notion-3-2015061300-PATCHED/de/font.h
---- notion-3-2015061300/de/font.h	2015-06-13 10:37:26.000000000 -0400
-+++ notion-3-2015061300-PATCHED/de/font.h	2015-07-13 10:37:23.119297440 -0400
-@@ -12,6 +12,9 @@
- 
- #include <ioncore/common.h>
- #include <ioncore/gr.h>
-+#ifdef XFT
-+#include <X11/Xft/Xft.h>
-+#endif /* XFT */
- 
- INTRSTRUCT(DEFont);
- 
-@@ -27,6 +30,9 @@
-     int refcount;
-     XFontSet fontset;
-     XFontStruct *fontstruct;
-+#ifdef XFT /* XFT */
-+    XftFont *font;
-+#endif /* XFT */
-     DEFont *next, *prev;
- };
- 
-diff -ur notion-3-2015061300/de/init.c notion-3-2015061300-PATCHED/de/init.c
---- notion-3-2015061300/de/init.c	2015-06-13 10:37:26.000000000 -0400
-+++ notion-3-2015061300-PATCHED/de/init.c	2015-07-13 10:37:23.122297270 -0400
-@@ -165,17 +165,26 @@
- {
-     bool bgset;
-     DEColour padinh;
--    
-+    DEColour black, white;
-+
-+#ifdef XFT
-+    de_alloc_colour(rootwin, &black, "black");
-+    de_alloc_colour(rootwin, &white, "white");
-+#else
-+    black=DE_BLACK(rootwin);
-+    white=DE_WHITE(rootwin);
-+#endif
-+
-     de_get_colour(rootwin, &(cg->hl), tab, "highlight_colour",
--                  (based_on ? based_on->cgrp.hl : DE_WHITE(rootwin)));
-+                  (based_on ? based_on->cgrp.hl : white));
-     de_get_colour(rootwin, &(cg->sh), tab, "shadow_colour",
--                  (based_on ? based_on->cgrp.sh : DE_WHITE(rootwin)));
-+                  (based_on ? based_on->cgrp.sh : white));
-     de_get_colour(rootwin, &(cg->fg), tab, "foreground_colour",
--                  (based_on ? based_on->cgrp.fg : DE_WHITE(rootwin)));
-+                  (based_on ? based_on->cgrp.fg : white));
-     bgset=de_get_colour(rootwin, &(cg->bg), tab, "background_colour",
--                        (based_on ? based_on->cgrp.bg : DE_BLACK(rootwin)));
-+                        (based_on ? based_on->cgrp.bg : black));
-                         
--    padinh=(based_on ? based_on->cgrp.pad : DE_WHITE(rootwin));
-+    padinh=(based_on ? based_on->cgrp.pad : white);
-     
-     de_get_colour_(rootwin, &(cg->pad), tab, "padding_colour", 
-                    (bgset ? cg->bg : padinh), padinh);
-diff -ur notion-3-2015061300/de/style.c notion-3-2015061300-PATCHED/de/style.c
---- notion-3-2015061300/de/style.c	2015-06-13 10:37:26.000000000 -0400
-+++ notion-3-2015061300-PATCHED/de/style.c	2015-07-13 10:37:23.128296929 -0400
-@@ -70,10 +70,17 @@
-     /*gcv.function=GXclear;*/
-     gcv.stipple=stipple_pixmap;
-     gcvmask=GCFillStyle|GCStipple/*|GCFunction*/;
-+#ifndef XFT
-     if(style->font!=NULL && style->font->fontstruct!=NULL){
-         gcv.font=style->font->fontstruct->fid;
-         gcvmask|=GCFont;
-     }
-+#else /* XFT */
-+//    if(style->font!=NULL){
-+//        gcv.font=style->font;
-+//        gcvmask|=GCFont;
-+//    }
-+#endif /* XFT */
- 
-     style->stipple_gc=XCreateGC(dpy, root, gcvmask, &gcv);
-     XCopyGC(dpy, style->normal_gc, 
-@@ -201,6 +208,14 @@
- 
- bool destyle_init(DEStyle *style, WRootWin *rootwin, const char *name)
- {
-+    DEColour black, white;
-+#ifdef XFT
-+    de_alloc_colour(rootwin, &black, "black");
-+    de_alloc_colour(rootwin, &white, "white");
-+#else
-+    black=DE_BLACK(rootwin);
-+    white=DE_WHITE(rootwin);
-+#endif /* XFT */
-     if(!gr_stylespec_load(&style->spec, name))
-         return FALSE;
-     
-@@ -223,11 +238,11 @@
-     style->textalign=DEALIGN_CENTER;
- 
-     style->cgrp_alloced=FALSE;
--    style->cgrp.bg=DE_BLACK(rootwin);
--    style->cgrp.pad=DE_BLACK(rootwin);
--    style->cgrp.fg=DE_WHITE(rootwin);
--    style->cgrp.hl=DE_WHITE(rootwin);
--    style->cgrp.sh=DE_WHITE(rootwin);
-+    style->cgrp.bg=black;
-+    style->cgrp.pad=black;
-+    style->cgrp.fg=white;
-+    style->cgrp.hl=white;
-+    style->cgrp.sh=white;
-     gr_stylespec_init(&style->cgrp.spec);
-     
-     style->font=NULL;
-diff -ur notion-3-2015061300/de/style.h notion-3-2015061300-PATCHED/de/style.h
---- notion-3-2015061300/de/style.h	2015-06-13 10:37:26.000000000 -0400
-+++ notion-3-2015061300-PATCHED/de/style.h	2015-07-13 10:37:23.130296815 -0400
-@@ -80,6 +80,7 @@
-     Pixmap tag_pixmap;
-     int tag_pixmap_w;
-     int tag_pixmap_h;
-+    int xft_style;
-     
-     DEStyle *next, *prev;
- };
-diff -ur notion-3-2015061300/system-autodetect.mk notion-3-2015061300-PATCHED/system-autodetect.mk
---- notion-3-2015061300/system-autodetect.mk	2015-06-13 10:37:26.000000000 -0400
-+++ notion-3-2015061300-PATCHED/system-autodetect.mk	2015-07-13 10:38:14.921332013 -0400
-@@ -103,6 +103,19 @@
- 
- 
- ##
-+## Xft support
-+##
-+
-+USE_XFT=1
-+
-+ifeq ($(USE_XFT),1)
-+EXTRA_INCLUDES += `pkg-config xft --cflags`
-+EXTRA_LIBS += `pkg-config xft --libs`
-+DEFINES += -DXFT -DCF_FALLBACK_FONT_NAME=\"Sans\"
-+endif
-+
-+
-+##
- ## Localisation
- ##
- 
diff --git a/pkgs/applications/window-managers/sway/default.nix b/pkgs/applications/window-managers/sway/default.nix
index c9427fbf695..a020c10a348 100644
--- a/pkgs/applications/window-managers/sway/default.nix
+++ b/pkgs/applications/window-managers/sway/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sway-unwrapped";
-  version = "1.2";
+  version = "1.4";
 
   src = fetchFromGitHub {
     owner = "swaywm";
     repo = "sway";
     rev = version;
-    sha256 = "0vch2zm5afc76ia78p3vg71zr2fyda67l9hd2h0x1jq3mnvfbxnd";
+    sha256 = "11qf89y3q92g696a6f4d23qb44gqixg6qxq740vwv2jw59ms34ja";
   };
 
   patches = [
diff --git a/pkgs/applications/window-managers/sway/idle.nix b/pkgs/applications/window-managers/sway/idle.nix
index bc917e76f97..486ab79598d 100644
--- a/pkgs/applications/window-managers/sway/idle.nix
+++ b/pkgs/applications/window-managers/sway/idle.nix
@@ -5,15 +5,20 @@
 
 stdenv.mkDerivation rec {
   pname = "swayidle";
-  version = "1.5";
+  version = "1.6";
 
   src = fetchFromGitHub {
     owner = "swaywm";
     repo = "swayidle";
     rev = version;
-    sha256 = "05qi96j58xqxjiighay1d39rfanxcpn6vlynj23mb5dymxvlaq9n";
+    sha256 = "1nd3v8r9549lykdwh4krldfl59lzaspmmai5k1icy7dvi6kkr18r";
   };
 
+  postPatch = ''
+    substituteInPlace meson.build \
+      --replace "version: '1.5'" "version: '${version}'"
+  '';
+
   nativeBuildInputs = [ meson ninja pkgconfig scdoc ];
   buildInputs = [ wayland wayland-protocols systemd ];
 
diff --git a/pkgs/applications/window-managers/sway/lock.nix b/pkgs/applications/window-managers/sway/lock.nix
index fe445a6b7ad..dcff3a5c47f 100644
--- a/pkgs/applications/window-managers/sway/lock.nix
+++ b/pkgs/applications/window-managers/sway/lock.nix
@@ -5,17 +5,18 @@
 
 stdenv.mkDerivation rec {
   pname = "swaylock";
-  version = "1.4";
+  version = "1.5";
 
   src = fetchFromGitHub {
     owner = "swaywm";
     repo = "swaylock";
     rev = version;
-    sha256 = "1ii9ql1mxkk2z69dv6bg1x22nl3a46iww764wqjiv78x08xpk982";
+    sha256 = "0r95p4w11dwm5ra614vddz83r8j7z6gd120z2vcchy7m9b0f15kf";
   };
 
   postPatch = ''
-    sed -iE "s/version: '1\.3',/version: '${version}',/" meson.build
+    substituteInPlace meson.build \
+      --replace "version: '1.4'" "version: '${version}'"
   '';
 
   nativeBuildInputs = [ meson ninja pkgconfig scdoc ];
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.
-  };
-}