summary refs log tree commit diff
path: root/pkgs/applications/window-managers/way-cooler/way-cooler.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/window-managers/way-cooler/way-cooler.nix')
-rw-r--r--pkgs/applications/window-managers/way-cooler/way-cooler.nix2780
1 files changed, 1852 insertions, 928 deletions
diff --git a/pkgs/applications/window-managers/way-cooler/way-cooler.nix b/pkgs/applications/window-managers/way-cooler/way-cooler.nix
index 816a1c88708..9ba6db36772 100644
--- a/pkgs/applications/window-managers/way-cooler/way-cooler.nix
+++ b/pkgs/applications/window-managers/way-cooler/way-cooler.nix
@@ -1,938 +1,1862 @@
-# Generated by carnix 0.5.0: carnix -o way-cooler.nix Cargo.lock
+# Generated by carnix 0.6.5: carnix -o way-cooler.nix Cargo.lock
 { lib, buildPlatform, buildRustCrate, fetchgit }:
 let kernel = buildPlatform.parsed.kernel.name;
     abi = buildPlatform.parsed.abi.name;
-    hasFeature = feature:
-      lib.lists.any
-        (originName: feature.${originName})
-        (builtins.attrNames feature);
-
-    hasDefault = feature:
-      let defaultFeatures = builtins.attrNames (feature."default" or {}); in
-      (defaultFeatures == [])
-      || (lib.lists.any (originName: feature."default".${originName}) defaultFeatures);
-
+    include = includedFiles: src: builtins.filterSource (path: type:
+      lib.lists.any (f:
+        let p = toString (src + ("/" + f)); in
+        (path == p) || (type == "directory" && lib.strings.hasPrefix path p)
+      ) includedFiles
+    ) src;
+    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 featureName != "" && hasFeature feat.${featureName} then
+      if feat.${featureName} or false then
         [ featureName ] ++ features
       else
         features
-    ) (if hasDefault feat then [ "default" ] else []) (builtins.attrNames feat);
-    aho_corasick_0_5_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "aho-corasick";
-      version = "0.5.3";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "1igab46mvgknga3sxkqc917yfff0wsjxjzabdigmh240p5qxqlnn";
-      libName = "aho_corasick";
-      crateBin = [ {  name = "aho-corasick-dot"; } ];
-      inherit dependencies buildDependencies features;
-    };
-    bitflags_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "bitflags";
-      version = "0.4.0";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0an03kibhfcc0mcxf6a0mvbab0s7cggnvflw8jn0b15i351h828c";
-      inherit dependencies buildDependencies features;
-    };
-    bitflags_0_5_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "bitflags";
-      version = "0.5.0";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0bgw1kiy121kikjrwj6zsd7l8n1gg1jirivzkc7zpjsvqa3p0hla";
-      inherit dependencies buildDependencies features;
-    };
-    bitflags_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "bitflags";
-      version = "0.6.0";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1znq4b770mdp3kdj9yz199ylc2pmf8l5j2f281jjrcfhg1mm22h6";
-      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;
-    };
-    c_vec_1_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "c_vec";
-      version = "1.2.1";
-      authors = [ "Guillaume Gomez <guillaume1.gomez@gmail.com>" ];
-      sha256 = "15gm72wx9kd0n51454i58rmpkmig8swghrj2440frxxi9kqg97xd";
-      inherit dependencies buildDependencies features;
-    };
-    cairo_rs_0_1_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "cairo-rs";
-      version = "0.1.3";
-      authors = [ "The Gtk-rs Project Developers" ];
-      sha256 = "17wp5wh1jvn2ny8s6fckvbwn0x8ixha6xrqas1bqxd9ygm5g58w1";
-      libName = "cairo";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    cairo_sys_rs_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "cairo-sys-rs";
-      version = "0.3.4";
-      authors = [ "The Gtk-rs Project Developers" ];
-      sha256 = "1fzxshv7vysnnc2nywla6gj3hh00nr6cz1ak0mrxkg65rzrgxkww";
-      libName = "cairo_sys";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    cfg_if_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "cfg-if";
-      version = "0.1.0";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "1grr9v6ijms84cvl1jqv5hp9clw9gn3l3g6kj9a31sdzvidd6v29";
-      inherit dependencies buildDependencies features;
-    };
-    dbus_0_4_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "dbus";
-      version = "0.4.1";
-      authors = [ "David Henningsson <diwic@ubuntu.com>" ];
-      sha256 = "0qw32qj2rys318h780klxlznkwg93dfimbn8mc34m4940l8v00g9";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    dbus_macros_0_0_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "dbus-macros";
-      version = "0.0.6";
-      authors = [ "Antoni Boucher <bouanto@zoho.com>" ];
-      sha256 = "1nymk2hzzgyafyr5nfa4r4frx4hml3wlwgzfr9b69vmcvn3d2jyd";
-      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;
-    };
-    dummy_rustwlc_0_6_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "dummy-rustwlc";
-      version = "0.6.3";
-      authors = [ "Snirk Immington <snirk.immington@gmail.com>" "Preston Carpenter <APragmaticPlace@gmail.com>" ];
-      sha256 = "09pcl2r3ifajgq794j4jqaq0n4kyb2z4aaavs1fr78w4fhrzqqmj";
-      inherit dependencies buildDependencies features;
-    };
-    env_logger_0_3_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "env_logger";
-      version = "0.3.5";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1mvxiaaqsyjliv1mm1qaagjqiccw11mdyi3n9h9rf8y6wj15zycw";
-      inherit dependencies buildDependencies features;
-    };
-    fixedbitset_0_1_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "fixedbitset";
-      version = "0.1.6";
-      authors = [ "bluss" ];
-      sha256 = "1jcq0i41l888153v4jyb6q2kc9sjs004md5byfz5mprlmhdawha3";
-      inherit dependencies buildDependencies features;
-    };
-    gcc_0_3_46_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "gcc";
-      version = "0.3.46";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "17rbdxa2yapjymbdq7b930sc1ipiwhx4xz7hh48q4bz3d28zg6qb";
-      inherit dependencies buildDependencies features;
-    };
-    getopts_0_2_14_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "getopts";
-      version = "0.2.14";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1wdz34vls97g9868h8kiw4wmwkbyxg4xm3xzvr1542hc3w4c7z0a";
-      inherit dependencies buildDependencies features;
-    };
-    glib_0_1_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "glib";
-      version = "0.1.3";
-      authors = [ "The Gtk-rs Project Developers" ];
-      sha256 = "1j2zwsnxlfdrj8wdi8yp3zl5l9nydsifgxspnwl6ijq3ywnjhcpa";
-      inherit dependencies buildDependencies features;
-    };
-    glib_sys_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "glib-sys";
-      version = "0.3.4";
-      authors = [ "The Gtk-rs Project Developers" ];
-      sha256 = "06ymp4ljrjnb7cly0bixy3svxgnwpbx79499889dqakpfs7566rc";
-      libName = "glib_sys";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    gobject_sys_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "gobject-sys";
-      version = "0.3.4";
-      authors = [ "The Gtk-rs Project Developers" ];
-      sha256 = "0rrk3c94myhspyl3iq7k4kcm72zxl8bk3r7kvqv2f9lf6y820giw";
-      libName = "gobject_sys";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    hlua_0_1_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "hlua";
-      version = "0.1.9";
-      authors = [ "pierre.krieger1708@gmail.com" ];
-      sha256 = "1vn7w1rcaj9g04yx5jak09a3wpw7g3yx2fgn8ibx36z07vpf57fs";
-      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;
-    };
-    json_macro_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "json_macro";
-      version = "0.1.1";
-      authors = [ "Denis Kolodin <deniskolodin@gmail.com>" ];
-      sha256 = "0hl2934shpwqbszrq035valbdz9y8p7dza183brygy5dbvivcyqy";
-      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;
-    };
-    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;
-    };
-    log_0_3_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "log";
-      version = "0.3.7";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1qxrwkhpfzhgcmfnw4bl9yy7wwr92wwbin3dp6izcfy58lr369v4";
-      inherit dependencies buildDependencies features;
-    };
-    lua52_sys_0_0_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "lua52-sys";
-      version = "0.0.4";
-      authors = [ "Pierre Krieger <pierre.krieger1708@gmail.com>" ];
-      sha256 = "115i7k2dnnf4c1b2mxwf5mvqv2wsqmmxm3krphf5wjky20gi2ciz";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    memchr_0_1_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "memchr";
-      version = "0.1.11";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" "bluss" ];
-      sha256 = "0x73jghamvxxq5fsw9wb0shk5m6qp3q6fsf0nibn0i6bbqkw91s8";
-      inherit dependencies buildDependencies features;
-    };
-    nix_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "nix";
-      version = "0.6.0";
-      authors = [ "Carl Lerche <me@carllerche.com>" ];
-      sha256 = "1bgh75y897isnxbw3vd79vns9h6q4d59p1cgv9c4laysyw6fkqwf";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    nix_0_8_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "nix";
-      version = "0.8.1";
-      authors = [ "The nix-rust Project Developers" ];
-      sha256 = "0iqmn55ajwcq91pl8xviwdvc2zrkaccajsp0nc9lbq9ydli0vhf9";
-      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;
-    };
-    ordermap_0_2_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "ordermap";
-      version = "0.2.10";
-      authors = [ "bluss" ];
-      sha256 = "1pj6d56nwi0wa7cnwl80dwz13vws9nf5s1b7k7i2dav35gkpwy1z";
-      inherit dependencies buildDependencies features;
-    };
-    petgraph_0_4_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "petgraph";
-      version = "0.4.5";
-      authors = [ "bluss" "mitchmindtree" ];
-      sha256 = "0482id2flwnxkhj1443g384cvk7f9lva9n6wj2wsag9145zhpjzg";
-      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;
-    };
-    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;
-    };
-    regex_0_1_80_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "regex";
-      version = "0.1.80";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0y4s8ghhx6sgzb35irwivm3w0l2hhqhmdcd2px9hirqnkagal9l6";
-      inherit dependencies buildDependencies features;
-    };
-    regex_syntax_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "regex-syntax";
-      version = "0.3.9";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1mzhphkbwppwd1zam2jkgjk550cqgf6506i87bw2yzrvcsraiw7m";
-      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;
-    };
-    rustwlc_0_6_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rustwlc";
-      version = "0.6.2";
-      authors = [ "Snirk Immington <snirk.immington@gmail.com>" "Timidger <apragmaticplace@gmail.com>" ];
-      sha256 = "16k8wzyvn1syxcjimy2vh7hc6jlbw31v03ysrzrqgfwncmwx5b2d";
-      build = "build.rs";
-      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;
-    };
-    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;
-    };
-    thread_id_2_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "thread-id";
-      version = "2.0.0";
-      authors = [ "Ruud van Asseldonk <dev@veniogames.com>" ];
-      sha256 = "06i3c8ckn97i5rp16civ2vpqbknlkx66dkrl070iw60nawi0kjc3";
-      inherit dependencies buildDependencies features;
-    };
-    thread_local_0_2_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "thread_local";
-      version = "0.2.7";
-      authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
-      sha256 = "19p0zrs24rdwjvpi10jig5ms3sxj00pv8shkr9cpddri8cdghqp7";
-      inherit dependencies buildDependencies features;
-    };
-    utf8_ranges_0_1_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "utf8-ranges";
-      version = "0.1.3";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "1cj548a91a93j8375p78qikaiam548xh84cb0ck8y119adbmsvbp";
-      inherit dependencies buildDependencies features;
-    };
-    uuid_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "uuid";
-      version = "0.3.1";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "16ak1c84dfkd8h33cvkxrkvc30k7b0bhrnza8ni2c0jsx85fpbip";
-      inherit dependencies buildDependencies features;
-    };
-    void_1_0_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "void";
-      version = "1.0.2";
-      authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
-      sha256 = "0h1dm0dx8dhf56a83k68mijyxigqhizpskwxfdrs1drwv2cdclv3";
-      inherit dependencies buildDependencies features;
-    };
-    way_cooler_0_6_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "way-cooler";
-      version = "0.6.2";
-      authors = [ "Snirk Immington <snirk.immington@gmail.com>" "Timidger <apragmaticplace@gmail.com>" ];
-      sha256 = "0ygzgjjhf54fcpk6sbi0acbyki4ff1v7wyckfk4lhv4ycpg9v3cj";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    wayland_scanner_0_9_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "wayland-scanner";
-      version = "0.9.4";
-      authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-      sha256 = "1kdhpm1gkn99sj8vxhyr1x6nxnhm0cjvypajycvn2fa9sdpgw8yc";
-      inherit dependencies buildDependencies features;
-    };
-    wayland_server_0_9_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "wayland-server";
-      version = "0.9.4";
-      authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-      sha256 = "1aqidrac0z7ny65yhfv9inl3xmdmph21yhmyd3k0nafyghgg9pxw";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    wayland_sys_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "wayland-sys";
-      version = "0.6.0";
-      authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-      sha256 = "0m6db0kld2d4xv4ai9kxlqrh362hwi0030b4zbss0sfha1hx5mfl";
-      inherit dependencies buildDependencies features;
-    };
-    wayland_sys_0_9_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "wayland-sys";
-      version = "0.9.4";
-      authors = [ "Victor Berger <victor.berger@m4x.org>" ];
-      sha256 = "0vqrc46ib5hgbq6djghapairbjskdncas09k680f7pwylbi7yzcj";
-      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;
-    };
-
+    ) [] (builtins.attrNames feat);
 in
 rec {
-  aho_corasick_0_5_3 = aho_corasick_0_5_3_ rec {
-    dependencies = [ memchr_0_1_11 ];
-  };
-  memchr_0_1_11_features."default".from_aho_corasick_0_5_3__default = true;
-  bitflags_0_4_0 = bitflags_0_4_0_ rec {
-    features = mkFeatures bitflags_0_4_0_features;
-  };
-  bitflags_0_4_0_features."".self = true;
-  bitflags_0_5_0 = bitflags_0_5_0_ rec {
-    features = mkFeatures bitflags_0_5_0_features;
-  };
-  bitflags_0_5_0_features."".self = true;
-  bitflags_0_6_0 = bitflags_0_6_0_ rec {};
-  bitflags_0_7_0 = bitflags_0_7_0_ rec {};
-  bitflags_0_8_2 = bitflags_0_8_2_ rec {
-    features = mkFeatures bitflags_0_8_2_features;
-  };
-  bitflags_0_8_2_features."i128".self_unstable = hasFeature (bitflags_0_8_2_features."unstable" or {});
-  c_vec_1_2_1 = c_vec_1_2_1_ rec {};
-  cairo_rs_0_1_3 = cairo_rs_0_1_3_ rec {
-    dependencies = [ c_vec_1_2_1 cairo_sys_rs_0_3_4 glib_0_1_3 libc_0_2_23 ]
-      ++ (if lib.lists.any (x: x == "glib") features then [glib_0_1_3] else [])
-      ++ (if kernel == "windows" then [ winapi_0_2_8 ] else []);
-    buildDependencies = [];
-    features = mkFeatures cairo_rs_0_1_3_features;
-  };
-  cairo_rs_0_1_3_features."".self = true;
-  cairo_rs_0_1_3_features."glib".self_default = hasDefault cairo_rs_0_1_3_features;
-  cairo_rs_0_1_3_features."gtk-rs-lgpl-docs".self_embed-lgpl-docs = hasFeature (cairo_rs_0_1_3_features."embed-lgpl-docs" or {});
-  cairo_rs_0_1_3_features."gtk-rs-lgpl-docs".self_purge-lgpl-docs = hasFeature (cairo_rs_0_1_3_features."purge-lgpl-docs" or {});
-  c_vec_1_2_1_features."default".from_cairo_rs_0_1_3__default = true;
-  cairo_sys_rs_0_3_4_features."png".from_cairo_rs_0_1_3__png = hasFeature (cairo_rs_0_1_3_features."png" or {});
-  cairo_sys_rs_0_3_4_features."v1_12".from_cairo_rs_0_1_3__v1_12 = hasFeature (cairo_rs_0_1_3_features."v1_12" or {});
-  cairo_sys_rs_0_3_4_features."xcb".from_cairo_rs_0_1_3__xcb = hasFeature (cairo_rs_0_1_3_features."xcb" or {});
-  cairo_sys_rs_0_3_4_features."default".from_cairo_rs_0_1_3__default = true;
-  glib_0_1_3_features."default".from_cairo_rs_0_1_3__default = true;
-  libc_0_2_23_features."default".from_cairo_rs_0_1_3__default = true;
-  winapi_0_2_8_features."default".from_cairo_rs_0_1_3__default = true;
-  cairo_sys_rs_0_3_4 = cairo_sys_rs_0_3_4_ rec {
-    dependencies = [ libc_0_2_23 ]
-      ++ (if kernel == "windows" then [ winapi_0_2_8 ] else []);
-    buildDependencies = [ pkg_config_0_3_9 ];
-    features = mkFeatures cairo_sys_rs_0_3_4_features;
-  };
-  cairo_sys_rs_0_3_4_features."v1_12".self_v1_14 = hasFeature (cairo_sys_rs_0_3_4_features."v1_14" or {});
-  cairo_sys_rs_0_3_4_features."x11".self_xlib = hasFeature (cairo_sys_rs_0_3_4_features."xlib" or {});
-  libc_0_2_23_features."default".from_cairo_sys_rs_0_3_4__default = true;
-  x11_0_0_0_features."xlib".from_cairo_sys_rs_0_3_4 = true;
-  x11_0_0_0_features."default".from_cairo_sys_rs_0_3_4__default = true;
-  winapi_0_2_8_features."default".from_cairo_sys_rs_0_3_4__default = true;
-  cfg_if_0_1_0 = cfg_if_0_1_0_ rec {};
-  dbus_0_4_1 = dbus_0_4_1_ rec {
-    dependencies = [ libc_0_2_23 ];
-    buildDependencies = [ pkg_config_0_3_9 ];
-  };
-  libc_0_2_23_features."default".from_dbus_0_4_1__default = true;
-  dbus_macros_0_0_6 = dbus_macros_0_0_6_ rec {
-    dependencies = [ dbus_0_4_1 ];
-  };
-  dbus_0_4_1_features."default".from_dbus_macros_0_0_6__default = true;
-  dlib_0_3_1 = dlib_0_3_1_ rec {
-    dependencies = [ libloading_0_3_4 ];
-    features = mkFeatures dlib_0_3_1_features;
-  };
-  dlib_0_3_1_features."".self = true;
-  libloading_0_3_4_features."default".from_dlib_0_3_1__default = true;
-  dtoa_0_4_1 = dtoa_0_4_1_ rec {};
-  dummy_rustwlc_0_6_3 = dummy_rustwlc_0_6_3_ rec {
-    dependencies = [ bitflags_0_6_0 libc_0_2_23 wayland_sys_0_9_4 ];
-  };
-  bitflags_0_6_0_features."default".from_dummy_rustwlc_0_6_3__default = true;
-  libc_0_2_23_features."default".from_dummy_rustwlc_0_6_3__default = true;
-  wayland_sys_0_9_4_features."server".from_dummy_rustwlc_0_6_3 = true;
-  wayland_sys_0_9_4_features."dlopen".from_dummy_rustwlc_0_6_3 = true;
-  wayland_sys_0_9_4_features."default".from_dummy_rustwlc_0_6_3__default = true;
-  env_logger_0_3_5 = env_logger_0_3_5_ rec {
-    dependencies = [ log_0_3_7 regex_0_1_80 ]
-      ++ (if lib.lists.any (x: x == "regex") features then [regex_0_1_80] else []);
-    features = mkFeatures env_logger_0_3_5_features;
-  };
-  env_logger_0_3_5_features."".self = true;
-  env_logger_0_3_5_features."regex".self_default = hasDefault env_logger_0_3_5_features;
-  log_0_3_7_features."default".from_env_logger_0_3_5__default = true;
-  regex_0_1_80_features."default".from_env_logger_0_3_5__default = true;
-  fixedbitset_0_1_6 = fixedbitset_0_1_6_ rec {};
-  gcc_0_3_46 = gcc_0_3_46_ rec {
-    dependencies = [];
-    features = mkFeatures gcc_0_3_46_features;
-  };
-  gcc_0_3_46_features."rayon".self_parallel = hasFeature (gcc_0_3_46_features."parallel" or {});
-  rayon_0_0_0_features."default".from_gcc_0_3_46__default = true;
-  getopts_0_2_14 = getopts_0_2_14_ rec {};
-  glib_0_1_3 = glib_0_1_3_ rec {
-    dependencies = [ bitflags_0_5_0 glib_sys_0_3_4 gobject_sys_0_3_4 lazy_static_0_2_8 libc_0_2_23 ];
-    features = mkFeatures glib_0_1_3_features;
-  };
-  glib_0_1_3_features."v2_38".self_v2_40 = hasFeature (glib_0_1_3_features."v2_40" or {});
-  glib_0_1_3_features."v2_40".self_v2_44 = hasFeature (glib_0_1_3_features."v2_44" or {});
-  glib_0_1_3_features."v2_44".self_v2_46 = hasFeature (glib_0_1_3_features."v2_46" or {});
-  glib_0_1_3_features."v2_46".self_v2_48 = hasFeature (glib_0_1_3_features."v2_48" or {});
-  glib_0_1_3_features."v2_48".self_v2_50 = hasFeature (glib_0_1_3_features."v2_50" or {});
-  bitflags_0_5_0_features."default".from_glib_0_1_3__default = true;
-  glib_sys_0_3_4_features."v2_38".from_glib_0_1_3__v2_38 = hasFeature (glib_0_1_3_features."v2_38" or {});
-  glib_sys_0_3_4_features."v2_40".from_glib_0_1_3__v2_40 = hasFeature (glib_0_1_3_features."v2_40" or {});
-  glib_sys_0_3_4_features."v2_44".from_glib_0_1_3__v2_44 = hasFeature (glib_0_1_3_features."v2_44" or {});
-  glib_sys_0_3_4_features."v2_46".from_glib_0_1_3__v2_46 = hasFeature (glib_0_1_3_features."v2_46" or {});
-  glib_sys_0_3_4_features."v2_48".from_glib_0_1_3__v2_48 = hasFeature (glib_0_1_3_features."v2_48" or {});
-  glib_sys_0_3_4_features."v2_50".from_glib_0_1_3__v2_50 = hasFeature (glib_0_1_3_features."v2_50" or {});
-  glib_sys_0_3_4_features."default".from_glib_0_1_3__default = true;
-  gobject_sys_0_3_4_features."v2_38".from_glib_0_1_3__v2_38 = hasFeature (glib_0_1_3_features."v2_38" or {});
-  gobject_sys_0_3_4_features."v2_44".from_glib_0_1_3__v2_44 = hasFeature (glib_0_1_3_features."v2_44" or {});
-  gobject_sys_0_3_4_features."v2_46".from_glib_0_1_3__v2_46 = hasFeature (glib_0_1_3_features."v2_46" or {});
-  gobject_sys_0_3_4_features."default".from_glib_0_1_3__default = true;
-  lazy_static_0_2_8_features."default".from_glib_0_1_3__default = true;
-  libc_0_2_23_features."default".from_glib_0_1_3__default = true;
-  glib_sys_0_3_4 = glib_sys_0_3_4_ rec {
-    dependencies = [ bitflags_0_8_2 libc_0_2_23 ];
-    buildDependencies = [ pkg_config_0_3_9 ];
-    features = mkFeatures glib_sys_0_3_4_features;
-  };
-  glib_sys_0_3_4_features."v2_34".self_v2_36 = hasFeature (glib_sys_0_3_4_features."v2_36" or {});
-  glib_sys_0_3_4_features."v2_36".self_v2_38 = hasFeature (glib_sys_0_3_4_features."v2_38" or {});
-  glib_sys_0_3_4_features."v2_38".self_v2_40 = hasFeature (glib_sys_0_3_4_features."v2_40" or {});
-  glib_sys_0_3_4_features."v2_40".self_v2_44 = hasFeature (glib_sys_0_3_4_features."v2_44" or {});
-  glib_sys_0_3_4_features."v2_44".self_v2_46 = hasFeature (glib_sys_0_3_4_features."v2_46" or {});
-  glib_sys_0_3_4_features."v2_46".self_v2_48 = hasFeature (glib_sys_0_3_4_features."v2_48" or {});
-  glib_sys_0_3_4_features."v2_48".self_v2_50 = hasFeature (glib_sys_0_3_4_features."v2_50" or {});
-  bitflags_0_8_2_features."default".from_glib_sys_0_3_4__default = true;
-  libc_0_2_23_features."default".from_glib_sys_0_3_4__default = true;
-  gobject_sys_0_3_4 = gobject_sys_0_3_4_ rec {
-    dependencies = [ bitflags_0_8_2 glib_sys_0_3_4 libc_0_2_23 ];
-    buildDependencies = [ pkg_config_0_3_9 ];
-    features = mkFeatures gobject_sys_0_3_4_features;
-  };
-  gobject_sys_0_3_4_features."v2_34".self_v2_36 = hasFeature (gobject_sys_0_3_4_features."v2_36" or {});
-  gobject_sys_0_3_4_features."v2_36".self_v2_38 = hasFeature (gobject_sys_0_3_4_features."v2_38" or {});
-  gobject_sys_0_3_4_features."v2_38".self_v2_42 = hasFeature (gobject_sys_0_3_4_features."v2_42" or {});
-  gobject_sys_0_3_4_features."v2_42".self_v2_44 = hasFeature (gobject_sys_0_3_4_features."v2_44" or {});
-  gobject_sys_0_3_4_features."v2_44".self_v2_46 = hasFeature (gobject_sys_0_3_4_features."v2_46" or {});
-  bitflags_0_8_2_features."default".from_gobject_sys_0_3_4__default = true;
-  glib_sys_0_3_4_features."default".from_gobject_sys_0_3_4__default = true;
-  libc_0_2_23_features."default".from_gobject_sys_0_3_4__default = true;
-  hlua_0_1_9 = hlua_0_1_9_ rec {
-    dependencies = [ libc_0_2_23 lua52_sys_0_0_4 ];
-  };
-  libc_0_2_23_features."default".from_hlua_0_1_9__default = true;
-  lua52_sys_0_0_4_features."default".from_hlua_0_1_9__default = true;
-  itoa_0_3_1 = itoa_0_3_1_ rec {};
-  json_macro_0_1_1 = json_macro_0_1_1_ rec {
-    dependencies = [ rustc_serialize_0_3_24 ];
-  };
-  rustc_serialize_0_3_24_features."default".from_json_macro_0_1_1__default = true;
-  kernel32_sys_0_2_2 = kernel32_sys_0_2_2_ rec {
-    dependencies = [ winapi_0_2_8 ];
-    buildDependencies = [ winapi_build_0_1_1 ];
-  };
-  winapi_0_2_8_features."default".from_kernel32_sys_0_2_2__default = true;
-  lazy_static_0_2_8 = lazy_static_0_2_8_ rec {
-    dependencies = [];
-    features = mkFeatures lazy_static_0_2_8_features;
-  };
-  lazy_static_0_2_8_features."nightly".self_spin_no_std = hasFeature (lazy_static_0_2_8_features."spin_no_std" or {});
-  lazy_static_0_2_8_features."spin".self_spin_no_std = hasFeature (lazy_static_0_2_8_features."spin_no_std" or {});
-  spin_0_0_0_features."default".from_lazy_static_0_2_8__default = true;
-  libc_0_2_23 = libc_0_2_23_ rec {
-    features = mkFeatures libc_0_2_23_features;
-  };
-  libc_0_2_23_features."use_std".self_default = hasDefault libc_0_2_23_features;
-  libloading_0_3_4 = libloading_0_3_4_ rec {
-    dependencies = [ lazy_static_0_2_8 ]
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-    buildDependencies = [ target_build_utils_0_3_1 ];
-  };
-  lazy_static_0_2_8_features."default".from_libloading_0_3_4__default = true;
-  kernel32_sys_0_2_2_features."default".from_libloading_0_3_4__default = true;
-  winapi_0_2_8_features."default".from_libloading_0_3_4__default = true;
-  log_0_3_7 = log_0_3_7_ rec {
-    features = mkFeatures log_0_3_7_features;
-  };
-  log_0_3_7_features."use_std".self_default = hasDefault log_0_3_7_features;
-  lua52_sys_0_0_4 = lua52_sys_0_0_4_ rec {
-    dependencies = [ libc_0_2_23 ];
-    buildDependencies = [ gcc_0_3_46 pkg_config_0_3_9 ];
-  };
-  libc_0_2_23_features."default".from_lua52_sys_0_0_4__default = true;
-  memchr_0_1_11 = memchr_0_1_11_ rec {
-    dependencies = [ libc_0_2_23 ];
-  };
-  libc_0_2_23_features."default".from_memchr_0_1_11__default = true;
-  nix_0_6_0 = nix_0_6_0_ rec {
-    dependencies = [ bitflags_0_4_0 cfg_if_0_1_0 libc_0_2_23 void_1_0_2 ];
-    buildDependencies = [ rustc_version_0_1_7 semver_0_1_20 ];
-    features = mkFeatures nix_0_6_0_features;
-  };
-  nix_0_6_0_features."".self = true;
-  bitflags_0_4_0_features."default".from_nix_0_6_0__default = true;
-  cfg_if_0_1_0_features."default".from_nix_0_6_0__default = true;
-  libc_0_2_23_features."default".from_nix_0_6_0__default = true;
-  void_1_0_2_features."default".from_nix_0_6_0__default = true;
-  nix_0_8_1 = nix_0_8_1_ rec {
-    dependencies = [ bitflags_0_7_0 cfg_if_0_1_0 libc_0_2_23 void_1_0_2 ];
-    features = mkFeatures nix_0_8_1_features;
-  };
-  nix_0_8_1_features."".self = true;
-  bitflags_0_7_0_features."default".from_nix_0_8_1__default = true;
-  cfg_if_0_1_0_features."default".from_nix_0_8_1__default = true;
-  libc_0_2_23_features."default".from_nix_0_8_1__default = true;
-  void_1_0_2_features."default".from_nix_0_8_1__default = true;
-  num_traits_0_1_37 = num_traits_0_1_37_ rec {};
-  ordermap_0_2_10 = ordermap_0_2_10_ rec {
-    features = mkFeatures ordermap_0_2_10_features;
-  };
-  ordermap_0_2_10_features."".self = true;
-  petgraph_0_4_5 = petgraph_0_4_5_ rec {
-    dependencies = [ fixedbitset_0_1_6 ordermap_0_2_10 ]
-      ++ (if lib.lists.any (x: x == "ordermap") features then [ordermap_0_2_10] else []);
-    features = mkFeatures petgraph_0_4_5_features;
-  };
-  petgraph_0_4_5_features."".self = true;
-  petgraph_0_4_5_features."unstable".self_all = hasFeature (petgraph_0_4_5_features."all" or {});
-  petgraph_0_4_5_features."quickcheck".self_all = hasFeature (petgraph_0_4_5_features."all" or {});
-  petgraph_0_4_5_features."stable_graph".self_all = hasFeature (petgraph_0_4_5_features."all" or {});
-  petgraph_0_4_5_features."graphmap".self_all = hasFeature (petgraph_0_4_5_features."all" or {});
-  petgraph_0_4_5_features."graphmap".self_default = hasDefault petgraph_0_4_5_features;
-  petgraph_0_4_5_features."stable_graph".self_default = hasDefault petgraph_0_4_5_features;
-  petgraph_0_4_5_features."ordermap".self_graphmap = hasFeature (petgraph_0_4_5_features."graphmap" or {});
-  petgraph_0_4_5_features."generate".self_unstable = hasFeature (petgraph_0_4_5_features."unstable" or {});
-  fixedbitset_0_1_6_features."default".from_petgraph_0_4_5__default = true;
-  ordermap_0_2_10_features."default".from_petgraph_0_4_5__default = true;
-  quickcheck_0_0_0_features."default".from_petgraph_0_4_5__default = false;
-  phf_0_7_21 = phf_0_7_21_ rec {
-    dependencies = [ phf_shared_0_7_21 ];
-    features = mkFeatures phf_0_7_21_features;
-  };
-  phf_0_7_21_features."".self = true;
-  phf_shared_0_7_21_features."core".from_phf_0_7_21__core = hasFeature (phf_0_7_21_features."core" or {});
-  phf_shared_0_7_21_features."unicase".from_phf_0_7_21__unicase = hasFeature (phf_0_7_21_features."unicase" or {});
-  phf_shared_0_7_21_features."default".from_phf_0_7_21__default = true;
-  phf_codegen_0_7_21 = phf_codegen_0_7_21_ rec {
-    dependencies = [ phf_generator_0_7_21 phf_shared_0_7_21 ];
-  };
-  phf_generator_0_7_21_features."default".from_phf_codegen_0_7_21__default = true;
-  phf_shared_0_7_21_features."default".from_phf_codegen_0_7_21__default = true;
-  phf_generator_0_7_21 = phf_generator_0_7_21_ rec {
-    dependencies = [ phf_shared_0_7_21 rand_0_3_15 ];
-  };
-  phf_shared_0_7_21_features."default".from_phf_generator_0_7_21__default = true;
-  rand_0_3_15_features."default".from_phf_generator_0_7_21__default = true;
-  phf_shared_0_7_21 = phf_shared_0_7_21_ rec {
-    dependencies = [ siphasher_0_2_2 ];
-    features = mkFeatures phf_shared_0_7_21_features;
-  };
-  phf_shared_0_7_21_features."".self = true;
-  siphasher_0_2_2_features."default".from_phf_shared_0_7_21__default = true;
-  unicase_0_0_0_features."default".from_phf_shared_0_7_21__default = true;
-  pkg_config_0_3_9 = pkg_config_0_3_9_ rec {};
-  rand_0_3_15 = rand_0_3_15_ rec {
-    dependencies = [ libc_0_2_23 ];
-  };
-  libc_0_2_23_features."default".from_rand_0_3_15__default = true;
-  regex_0_1_80 = regex_0_1_80_ rec {
-    dependencies = [ aho_corasick_0_5_3 memchr_0_1_11 regex_syntax_0_3_9 thread_local_0_2_7 utf8_ranges_0_1_3 ];
-    features = mkFeatures regex_0_1_80_features;
-  };
-  regex_0_1_80_features."simd".self_simd-accel = hasFeature (regex_0_1_80_features."simd-accel" or {});
-  aho_corasick_0_5_3_features."default".from_regex_0_1_80__default = true;
-  memchr_0_1_11_features."default".from_regex_0_1_80__default = true;
-  regex_syntax_0_3_9_features."default".from_regex_0_1_80__default = true;
-  simd_0_0_0_features."default".from_regex_0_1_80__default = true;
-  thread_local_0_2_7_features."default".from_regex_0_1_80__default = true;
-  utf8_ranges_0_1_3_features."default".from_regex_0_1_80__default = true;
-  regex_syntax_0_3_9 = regex_syntax_0_3_9_ rec {};
-  rustc_serialize_0_3_24 = rustc_serialize_0_3_24_ rec {};
-  rustc_version_0_1_7 = rustc_version_0_1_7_ rec {
-    dependencies = [ semver_0_1_20 ];
-  };
-  semver_0_1_20_features."default".from_rustc_version_0_1_7__default = true;
-  rustwlc_0_6_2 = rustwlc_0_6_2_ rec {
-    dependencies = [ bitflags_0_7_0 libc_0_2_23 wayland_sys_0_6_0 ]
-      ++ (if lib.lists.any (x: x == "wayland-sys") features then [wayland_sys_0_6_0] else []);
-    features = mkFeatures rustwlc_0_6_2_features;
-  };
-  rustwlc_0_6_2_features."".self = true;
-  rustwlc_0_6_2_features."wayland-sys".self_wlc-wayland = hasFeature (rustwlc_0_6_2_features."wlc-wayland" or {});
-  bitflags_0_7_0_features."default".from_rustwlc_0_6_2__default = true;
-  libc_0_2_23_features."default".from_rustwlc_0_6_2__default = true;
-  wayland_sys_0_6_0_features."server".from_rustwlc_0_6_2 = true;
-  wayland_sys_0_6_0_features."default".from_rustwlc_0_6_2__default = true;
-  semver_0_1_20 = semver_0_1_20_ rec {};
-  serde_0_9_15 = serde_0_9_15_ rec {
-    dependencies = [];
-    features = mkFeatures serde_0_9_15_features;
-  };
-  serde_0_9_15_features."unstable".self_alloc = hasFeature (serde_0_9_15_features."alloc" or {});
-  serde_0_9_15_features."alloc".self_collections = hasFeature (serde_0_9_15_features."collections" or {});
-  serde_0_9_15_features."std".self_default = hasDefault serde_0_9_15_features;
-  serde_0_9_15_features."serde_derive".self_derive = hasFeature (serde_0_9_15_features."derive" or {});
-  serde_0_9_15_features."serde_derive".self_playground = hasFeature (serde_0_9_15_features."playground" or {});
-  serde_0_9_15_features."unstable".self_unstable-testing = hasFeature (serde_0_9_15_features."unstable-testing" or {});
-  serde_0_9_15_features."std".self_unstable-testing = hasFeature (serde_0_9_15_features."unstable-testing" or {});
-  serde_derive_0_0_0_features."default".from_serde_0_9_15__default = true;
-  serde_json_0_9_10 = serde_json_0_9_10_ rec {
-    dependencies = [ dtoa_0_4_1 itoa_0_3_1 num_traits_0_1_37 serde_0_9_15 ];
-    features = mkFeatures serde_json_0_9_10_features;
-  };
-  serde_json_0_9_10_features."linked-hash-map".self_preserve_order = hasFeature (serde_json_0_9_10_features."preserve_order" or {});
-  dtoa_0_4_1_features."default".from_serde_json_0_9_10__default = true;
-  itoa_0_3_1_features."default".from_serde_json_0_9_10__default = true;
-  linked_hash_map_0_0_0_features."default".from_serde_json_0_9_10__default = true;
-  num_traits_0_1_37_features."default".from_serde_json_0_9_10__default = true;
-  serde_0_9_15_features."default".from_serde_json_0_9_10__default = true;
-  siphasher_0_2_2 = siphasher_0_2_2_ rec {
-    dependencies = [];
-  };
-  clippy_0_0_0_features."default".from_siphasher_0_2_2__default = true;
-  target_build_utils_0_3_1 = target_build_utils_0_3_1_ rec {
-    dependencies = [ phf_0_7_21 serde_json_0_9_10 ]
-      ++ (if lib.lists.any (x: x == "serde_json") features then [serde_json_0_9_10] else []);
-    buildDependencies = [ phf_codegen_0_7_21 ];
-    features = mkFeatures target_build_utils_0_3_1_features;
-  };
-  target_build_utils_0_3_1_features."".self = true;
-  target_build_utils_0_3_1_features."serde_json".self_default = hasDefault target_build_utils_0_3_1_features;
-  phf_0_7_21_features."default".from_target_build_utils_0_3_1__default = true;
-  serde_json_0_9_10_features."default".from_target_build_utils_0_3_1__default = true;
-  thread_id_2_0_0 = thread_id_2_0_0_ rec {
-    dependencies = [ kernel32_sys_0_2_2 libc_0_2_23 ];
-  };
-  kernel32_sys_0_2_2_features."default".from_thread_id_2_0_0__default = true;
-  libc_0_2_23_features."default".from_thread_id_2_0_0__default = true;
-  thread_local_0_2_7 = thread_local_0_2_7_ rec {
-    dependencies = [ thread_id_2_0_0 ];
-  };
-  thread_id_2_0_0_features."default".from_thread_local_0_2_7__default = true;
-  utf8_ranges_0_1_3 = utf8_ranges_0_1_3_ rec {};
-  uuid_0_3_1 = uuid_0_3_1_ rec {
-    dependencies = [ rand_0_3_15 rustc_serialize_0_3_24 ]
-      ++ (if lib.lists.any (x: x == "rand") features then [rand_0_3_15] else [])      ++ (if lib.lists.any (x: x == "rustc-serialize") features then [rustc_serialize_0_3_24] else []);
-    features = mkFeatures uuid_0_3_1_features;
-  };
-  uuid_0_3_1_features."".self = true;
-  uuid_0_3_1_features."rand".self_v4 = hasFeature (uuid_0_3_1_features."v4" or {});
-  uuid_0_3_1_features."sha1".self_v5 = hasFeature (uuid_0_3_1_features."v5" or {});
-  rand_0_3_15_features."default".from_uuid_0_3_1__default = true;
-  rustc_serialize_0_3_24_features."default".from_uuid_0_3_1__default = true;
-  serde_0_0_0_features."default".from_uuid_0_3_1__default = true;
-  sha1_0_0_0_features."default".from_uuid_0_3_1__default = true;
-  void_1_0_2 = void_1_0_2_ rec {
-    features = mkFeatures void_1_0_2_features;
-  };
-  void_1_0_2_features."std".self_default = hasDefault void_1_0_2_features;
-  way_cooler_0_6_2 = way_cooler_0_6_2_ rec {
-    dependencies = [ bitflags_0_7_0 cairo_rs_0_1_3 dbus_0_4_1 dbus_macros_0_0_6 env_logger_0_3_5 getopts_0_2_14 hlua_0_1_9 json_macro_0_1_1 lazy_static_0_2_8 log_0_3_7 nix_0_6_0 petgraph_0_4_5 rustc_serialize_0_3_24 rustwlc_0_6_2 uuid_0_3_1 wayland_server_0_9_4 wayland_sys_0_9_4 ];
-    buildDependencies = [ wayland_scanner_0_9_4 ];
-    features = mkFeatures way_cooler_0_6_2_features;
-  };
-  way_cooler_0_6_2_features."".self = true;
-  bitflags_0_7_0_features."default".from_way_cooler_0_6_2__default = true;
-  cairo_rs_0_1_3_features."default".from_way_cooler_0_6_2__default = true;
-  dbus_0_4_1_features."default".from_way_cooler_0_6_2__default = true;
-  dbus_macros_0_0_6_features."default".from_way_cooler_0_6_2__default = true;
-  env_logger_0_3_5_features."default".from_way_cooler_0_6_2__default = true;
-  getopts_0_2_14_features."default".from_way_cooler_0_6_2__default = true;
-  hlua_0_1_9_features."default".from_way_cooler_0_6_2__default = true;
-  json_macro_0_1_1_features."default".from_way_cooler_0_6_2__default = true;
-  lazy_static_0_2_8_features."default".from_way_cooler_0_6_2__default = true;
-  log_0_3_7_features."default".from_way_cooler_0_6_2__default = true;
-  nix_0_6_0_features."default".from_way_cooler_0_6_2__default = true;
-  petgraph_0_4_5_features."default".from_way_cooler_0_6_2__default = true;
-  rustc_serialize_0_3_24_features."default".from_way_cooler_0_6_2__default = true;
-  rustwlc_0_6_2_features."wlc-wayland".from_way_cooler_0_6_2 = true;
-  rustwlc_0_6_2_features."static-wlc".from_way_cooler_0_6_2__static-wlc = hasFeature (way_cooler_0_6_2_features."static-wlc" or {});
-  rustwlc_0_6_2_features."default".from_way_cooler_0_6_2__default = true;
-  uuid_0_3_1_features."v4".from_way_cooler_0_6_2 = true;
-  uuid_0_3_1_features."rustc-serialize".from_way_cooler_0_6_2 = true;
-  uuid_0_3_1_features."default".from_way_cooler_0_6_2__default = true;
-  wayland_server_0_9_4_features."default".from_way_cooler_0_6_2__default = true;
-  wayland_sys_0_9_4_features."client".from_way_cooler_0_6_2 = true;
-  wayland_sys_0_9_4_features."dlopen".from_way_cooler_0_6_2 = true;
-  wayland_sys_0_9_4_features."default".from_way_cooler_0_6_2__default = true;
-  wayland_scanner_0_9_4 = wayland_scanner_0_9_4_ rec {
-    dependencies = [ xml_rs_0_3_6 ];
-  };
-  xml_rs_0_3_6_features."default".from_wayland_scanner_0_9_4__default = true;
-  wayland_server_0_9_4 = wayland_server_0_9_4_ rec {
-    dependencies = [ bitflags_0_7_0 libc_0_2_23 nix_0_8_1 wayland_sys_0_9_4 ];
-    buildDependencies = [ wayland_scanner_0_9_4 ];
-    features = mkFeatures wayland_server_0_9_4_features;
-  };
-  wayland_server_0_9_4_features."".self = true;
-  bitflags_0_7_0_features."default".from_wayland_server_0_9_4__default = true;
-  libc_0_2_23_features."default".from_wayland_server_0_9_4__default = true;
-  nix_0_8_1_features."default".from_wayland_server_0_9_4__default = true;
-  wayland_sys_0_9_4_features."server".from_wayland_server_0_9_4 = true;
-  wayland_sys_0_9_4_features."dlopen".from_wayland_server_0_9_4__dlopen = hasFeature (wayland_server_0_9_4_features."dlopen" or {});
-  wayland_sys_0_9_4_features."default".from_wayland_server_0_9_4__default = true;
-  wayland_sys_0_6_0 = wayland_sys_0_6_0_ rec {
-    dependencies = [ dlib_0_3_1 libc_0_2_23 ]
-      ++ (if lib.lists.any (x: x == "libc") features then [libc_0_2_23] else []);
-    features = mkFeatures wayland_sys_0_6_0_features;
-  };
-  wayland_sys_0_6_0_features."".self = true;
-  wayland_sys_0_6_0_features."lazy_static".self_dlopen = hasFeature (wayland_sys_0_6_0_features."dlopen" or {});
-  wayland_sys_0_6_0_features."libc".self_server = hasFeature (wayland_sys_0_6_0_features."server" or {});
-  dlib_0_3_1_features."dlopen".from_wayland_sys_0_6_0__dlopen = hasFeature (wayland_sys_0_6_0_features."dlopen" or {});
-  dlib_0_3_1_features."default".from_wayland_sys_0_6_0__default = true;
-  lazy_static_0_0_0_features."default".from_wayland_sys_0_6_0__default = true;
-  libc_0_2_23_features."default".from_wayland_sys_0_6_0__default = true;
-  wayland_sys_0_9_4 = wayland_sys_0_9_4_ rec {
-    dependencies = [ dlib_0_3_1 lazy_static_0_2_8 libc_0_2_23 ]
-      ++ (if lib.lists.any (x: x == "lazy_static") features then [lazy_static_0_2_8] else [])      ++ (if lib.lists.any (x: x == "libc") features then [libc_0_2_23] else []);
-    features = mkFeatures wayland_sys_0_9_4_features;
-  };
-  wayland_sys_0_9_4_features."".self = true;
-  wayland_sys_0_9_4_features."lazy_static".self_dlopen = hasFeature (wayland_sys_0_9_4_features."dlopen" or {});
-  wayland_sys_0_9_4_features."libc".self_server = hasFeature (wayland_sys_0_9_4_features."server" or {});
-  dlib_0_3_1_features."dlopen".from_wayland_sys_0_9_4__dlopen = hasFeature (wayland_sys_0_9_4_features."dlopen" or {});
-  dlib_0_3_1_features."default".from_wayland_sys_0_9_4__default = true;
-  lazy_static_0_2_8_features."default".from_wayland_sys_0_9_4__default = true;
-  libc_0_2_23_features."default".from_wayland_sys_0_9_4__default = true;
-  winapi_0_2_8 = winapi_0_2_8_ rec {};
-  winapi_build_0_1_1 = winapi_build_0_1_1_ rec {};
-  xml_rs_0_3_6 = xml_rs_0_3_6_ rec {
-    dependencies = [ bitflags_0_7_0 ];
-  };
-  bitflags_0_7_0_features."default".from_xml_rs_0_3_6__default = true;
+  way_cooler = f: way_cooler_0_8_0 { features = way_cooler_0_8_0_features { way_cooler_0_8_0 = f; }; };
+  aho_corasick_0_5_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "aho-corasick";
+    version = "0.5.3";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "1igab46mvgknga3sxkqc917yfff0wsjxjzabdigmh240p5qxqlnn";
+    libName = "aho_corasick";
+    crateBin = [ {  name = "aho-corasick-dot"; } ];
+    inherit dependencies buildDependencies features;
+  };
+  bitflags_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "bitflags";
+    version = "0.4.0";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0an03kibhfcc0mcxf6a0mvbab0s7cggnvflw8jn0b15i351h828c";
+    inherit dependencies buildDependencies features;
+  };
+  bitflags_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "bitflags";
+    version = "0.6.0";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1znq4b770mdp3kdj9yz199ylc2pmf8l5j2f281jjrcfhg1mm22h6";
+    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;
+  };
+  bitflags_1_0_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "bitflags";
+    version = "1.0.1";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0p4b3nr0s5nda2qmm7xdhnvh4lkqk3xd8l9ffmwbvqw137vx7mj1";
+    inherit dependencies buildDependencies features;
+  };
+  c_vec_1_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "c_vec";
+    version = "1.2.1";
+    authors = [ "Guillaume Gomez <guillaume1.gomez@gmail.com>" ];
+    sha256 = "15gm72wx9kd0n51454i58rmpkmig8swghrj2440frxxi9kqg97xd";
+    inherit dependencies buildDependencies features;
+  };
+  cairo_rs_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "cairo-rs";
+    version = "0.2.0";
+    authors = [ "The Gtk-rs Project Developers" ];
+    sha256 = "0bcbhbyips15b7la4r43p4x57jv1w2ll8iwg9lxwvzz5k6c7iwvd";
+    libName = "cairo";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  cairo_sys_rs_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "cairo-sys-rs";
+    version = "0.4.0";
+    authors = [ "The Gtk-rs Project Developers" ];
+    sha256 = "062nxihlydci65pyy2ldn7djkc9sm7a5xvkl8pxrsxfxvfapm5br";
+    libName = "cairo_sys";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  cfg_if_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "cfg-if";
+    version = "0.1.2";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0x06hvrrqy96m97593823vvxcgvjaxckghwyy2jcyc8qc7c6cyhi";
+    inherit dependencies buildDependencies features;
+  };
+  dbus_0_4_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "dbus";
+    version = "0.4.1";
+    authors = [ "David Henningsson <diwic@ubuntu.com>" ];
+    sha256 = "0qw32qj2rys318h780klxlznkwg93dfimbn8mc34m4940l8v00g9";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  dbus_macros_0_0_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "dbus-macros";
+    version = "0.0.6";
+    authors = [ "Antoni Boucher <bouanto@zoho.com>" ];
+    sha256 = "1nymk2hzzgyafyr5nfa4r4frx4hml3wlwgzfr9b69vmcvn3d2jyd";
+    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;
+  };
+  dlib_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "dlib";
+    version = "0.4.0";
+    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
+    sha256 = "08sy43rji5dyhyz8r4i0dz6zan1r1dz8sh6fk3c1jyhy8v8s96jr";
+    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;
+  };
+  dummy_rustwlc_0_7_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "dummy-rustwlc";
+    version = "0.7.1";
+    authors = [ "Snirk Immington <snirk.immington@gmail.com>" "Preston Carpenter <APragmaticPlace@gmail.com>" ];
+    sha256 = "13priwnxpjvmym6yh9v9x1230ca04cba7bzbnn21pbvqngis1y88";
+    inherit dependencies buildDependencies features;
+  };
+  env_logger_0_3_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "env_logger";
+    version = "0.3.5";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1mvxiaaqsyjliv1mm1qaagjqiccw11mdyi3n9h9rf8y6wj15zycw";
+    inherit dependencies buildDependencies features;
+  };
+  fixedbitset_0_1_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "fixedbitset";
+    version = "0.1.8";
+    authors = [ "bluss" ];
+    sha256 = "18qr6w8jlfvhq825dr0mv9k0xqgb43sshdihbarc9khi9cz910a2";
+    inherit dependencies buildDependencies features;
+  };
+  fuchsia_zircon_0_3_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "fuchsia-zircon";
+    version = "0.3.2";
+    authors = [ "Raph Levien <raph@google.com>" ];
+    sha256 = "1zhxksplv52nlqd4j21h8462b5s913ngnhd303qsxsxn8dpaxgkq";
+    inherit dependencies buildDependencies features;
+  };
+  fuchsia_zircon_sys_0_3_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "fuchsia-zircon-sys";
+    version = "0.3.2";
+    authors = [ "Raph Levien <raph@google.com>" ];
+    sha256 = "0p8mrhg8pxk4kpzziv6nlxd8xgkj916gsg2b0x2mvf9dxwzrqhnk";
+    inherit dependencies buildDependencies features;
+  };
+  gcc_0_3_54_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "gcc";
+    version = "0.3.54";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "07a5i47r8achc6gxsba3ga17h9gnh4b9a2cak8vjg4hx62aajkr4";
+    inherit dependencies buildDependencies features;
+  };
+  gdk_pixbuf_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "gdk-pixbuf";
+    version = "0.2.0";
+    authors = [ "The Gtk-rs Project Developers" ];
+    sha256 = "082z1s30haa59ax35wsv06mj8z8bhhq0fac36g01qa77kpiphj5y";
+    libName = "gdk_pixbuf";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  gdk_pixbuf_sys_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "gdk-pixbuf-sys";
+    version = "0.4.0";
+    authors = [ "The Gtk-rs Project Developers" ];
+    sha256 = "1r98zdqqik3hh1l10jmhhcjx59yk4m0bs9pc7hnkwp2p6gm968vp";
+    libName = "gdk_pixbuf_sys";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  getopts_0_2_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "getopts";
+    version = "0.2.15";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "14wm893ihscwwbwpd1xvjm23slaidridbl2p2ghwkx69xfzm9333";
+    inherit dependencies buildDependencies features;
+  };
+  gio_sys_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "gio-sys";
+    version = "0.4.0";
+    authors = [ "The Gtk-rs Project Developers" ];
+    sha256 = "064lv6h3qfgjzc6pbbxgln24b2fq9gxzh78z6d7fwfa97azllv2l";
+    libName = "gio_sys";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  glib_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "glib";
+    version = "0.3.1";
+    authors = [ "The Gtk-rs Project Developers" ];
+    sha256 = "00s3n0pd8by1fk2l01mxmbnqq4ff6wadnkcf9jbjvr1l9bzgyqbl";
+    inherit dependencies buildDependencies features;
+  };
+  glib_sys_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "glib-sys";
+    version = "0.4.0";
+    authors = [ "The Gtk-rs Project Developers" ];
+    sha256 = "153i1zmk824hdf8agkaqcgddlwpvgng71n7bdpaav5f4zzlfyp2w";
+    libName = "glib_sys";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  gobject_sys_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "gobject-sys";
+    version = "0.4.0";
+    authors = [ "The Gtk-rs Project Developers" ];
+    sha256 = "00zmcbzqfhn9w01cphhf3hbq8ldd9ajba7x07z59vv1gdq6wjzli";
+    libName = "gobject_sys";
+    build = "build.rs";
+    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;
+  };
+  json_macro_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "json_macro";
+    version = "0.1.1";
+    authors = [ "Denis Kolodin <deniskolodin@gmail.com>" ];
+    sha256 = "0hl2934shpwqbszrq035valbdz9y8p7dza183brygy5dbvivcyqy";
+    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_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "lazy_static";
+    version = "0.2.11";
+    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+    sha256 = "1x6871cvpy5b96yv4c7jvpq316fp5d4609s9py7qk6cd6x9k34vm";
+    inherit dependencies buildDependencies features;
+  };
+  lazy_static_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "lazy_static";
+    version = "1.0.0";
+    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+    sha256 = "0wfvqyr2nvx2mbsrscg5y7gfa9skhb8p72ayanl8vl49pw24v4fh";
+    inherit dependencies buildDependencies features;
+  };
+  libc_0_2_34_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "libc";
+    version = "0.2.34";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "11jmqdxmv0ka10ay0l8nzx0nl7s2lc3dbrnh1mgbr2grzwdyxi2s";
+    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;
+  };
+  libloading_0_4_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "libloading";
+    version = "0.4.3";
+    authors = [ "Simonas Kazlauskas <libloading@kazlauskas.me>" ];
+    sha256 = "1cgb6xbadm59gc3cq733wrzsp59914hrjam0fan5gn1z100b6319";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  log_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "log";
+    version = "0.3.9";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "19i9pwp7lhaqgzangcpw00kc3zsgcqcx84crv07xgz3v7d3kvfa2";
+    inherit dependencies buildDependencies features;
+  };
+  log_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "log";
+    version = "0.4.0";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0d6m7c1cr6sj3kk47801zyjgnzyl94yh2ra9gxc3waljza7wvx92";
+    inherit dependencies buildDependencies features;
+  };
+  memchr_0_1_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "memchr";
+    version = "0.1.11";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" "bluss" ];
+    sha256 = "0x73jghamvxxq5fsw9wb0shk5m6qp3q6fsf0nibn0i6bbqkw91s8";
+    inherit dependencies buildDependencies features;
+  };
+  nix_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "nix";
+    version = "0.6.0";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "1bgh75y897isnxbw3vd79vns9h6q4d59p1cgv9c4laysyw6fkqwf";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  nix_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "nix";
+    version = "0.9.0";
+    authors = [ "The nix-rust Project Developers" ];
+    sha256 = "00p63bphzwwn460rja5l2wcpgmv7ljf7illf6n95cppx63d180q0";
+    inherit dependencies buildDependencies features;
+  };
+  num_traits_0_1_41_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num-traits";
+    version = "0.1.41";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "134gv890n1gv8v0jys55k0940gqp2hibgf1fs8q9jmyk2xp1jp9m";
+    inherit dependencies buildDependencies features;
+  };
+  ordermap_0_3_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "ordermap";
+    version = "0.3.2";
+    authors = [ "bluss" ];
+    sha256 = "13zw8i0gf3snihmg9xvd63sd3ffdhhv8bmgfwbwf4shqxh6h3sac";
+    inherit dependencies buildDependencies features;
+  };
+  petgraph_0_4_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "petgraph";
+    version = "0.4.10";
+    authors = [ "bluss" "mitchmindtree" ];
+    sha256 = "1fdh2hwkrbf716qxdiasjn8jspvshhykclj8mwafdd8h241159sj";
+    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;
+  };
+  rand_0_3_19_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rand";
+    version = "0.3.19";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "19zx65w7rrrfnjifmjp2i80w9bc6ld7pcwnk5hmr9xszmmvhk8zp";
+    inherit dependencies buildDependencies features;
+  };
+  regex_0_1_80_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "regex";
+    version = "0.1.80";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0y4s8ghhx6sgzb35irwivm3w0l2hhqhmdcd2px9hirqnkagal9l6";
+    inherit dependencies buildDependencies features;
+  };
+  regex_syntax_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "regex-syntax";
+    version = "0.3.9";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1mzhphkbwppwd1zam2jkgjk550cqgf6506i87bw2yzrvcsraiw7m";
+    inherit dependencies buildDependencies features;
+  };
+  rlua_0_9_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rlua";
+    version = "0.9.7";
+    authors = [ "kyren <catherine@chucklefish.org>" ];
+    sha256 = "1671b5ga54aq49sqx69hvnjr732hf9jpqwswwxgpcqq8q05mfzgp";
+    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;
+  };
+  rustwlc_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rustwlc";
+    version = "0.7.0";
+    authors = [ "Snirk Immington <snirk.immington@gmail.com>" "Timidger <apragmaticplace@gmail.com>" ];
+    sha256 = "0gqi9pdw74al33ja25h33q68vnfklj3gpjgkiqqbr3gflgli5h1i";
+    build = "build.rs";
+    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;
+  };
+  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;
+  };
+  thread_id_2_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "thread-id";
+    version = "2.0.0";
+    authors = [ "Ruud van Asseldonk <dev@veniogames.com>" ];
+    sha256 = "06i3c8ckn97i5rp16civ2vpqbknlkx66dkrl070iw60nawi0kjc3";
+    inherit dependencies buildDependencies features;
+  };
+  thread_local_0_2_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "thread_local";
+    version = "0.2.7";
+    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
+    sha256 = "19p0zrs24rdwjvpi10jig5ms3sxj00pv8shkr9cpddri8cdghqp7";
+    inherit dependencies buildDependencies features;
+  };
+  token_store_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "token_store";
+    version = "0.1.2";
+    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
+    sha256 = "1v7acraqyh6iibg87pwkxm41v783sminxm5k9f4ndra7r0vq4zvq";
+    inherit dependencies buildDependencies features;
+  };
+  utf8_ranges_0_1_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "utf8-ranges";
+    version = "0.1.3";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "1cj548a91a93j8375p78qikaiam548xh84cb0ck8y119adbmsvbp";
+    inherit dependencies buildDependencies features;
+  };
+  uuid_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "uuid";
+    version = "0.3.1";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "16ak1c84dfkd8h33cvkxrkvc30k7b0bhrnza8ni2c0jsx85fpbip";
+    inherit dependencies buildDependencies features;
+  };
+  void_1_0_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "void";
+    version = "1.0.2";
+    authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
+    sha256 = "0h1dm0dx8dhf56a83k68mijyxigqhizpskwxfdrs1drwv2cdclv3";
+    inherit dependencies buildDependencies features;
+  };
+  way_cooler_0_8_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "way-cooler";
+    version = "0.8.0";
+    authors = [ "Snirk Immington <snirk.immington@gmail.com>" "Timidger <apragmaticplace@gmail.com>" ];
+    sha256 = "1xg7sg0ssc7a8nx7g6pjdfz9ndf0l7p2n0ydh3sqym3k5ifxi965";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  wayland_scanner_0_12_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "wayland-scanner";
+    version = "0.12.4";
+    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
+    sha256 = "043s30i7da64a7inmwiib36ax681vw7zr0pfl54alcyc6pgyanb1";
+    inherit dependencies buildDependencies features;
+  };
+  wayland_server_0_12_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "wayland-server";
+    version = "0.12.4";
+    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
+    sha256 = "0m8565848l8f1h3mwlyxy3nfqv11vpl50y9qcpmp60hw8w2vw124";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  wayland_sys_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "wayland-sys";
+    version = "0.6.0";
+    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
+    sha256 = "0m6db0kld2d4xv4ai9kxlqrh362hwi0030b4zbss0sfha1hx5mfl";
+    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;
+  };
+  wayland_sys_0_12_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "wayland-sys";
+    version = "0.12.4";
+    authors = [ "Victor Berger <victor.berger@m4x.org>" ];
+    sha256 = "1q9qyjl6bz356kh50lzvk48qbs87zbaqh5mhm6nlngkg1qrbvi6c";
+    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;
+  };
+  xcb_0_8_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "xcb";
+    version = "0.8.1";
+    authors = [ "Remi Thebault <remi.thebault@gmail.com>" ];
+    sha256 = "12jk8rbbmw3h9w0c7idvjph5bx0qpjgrv0nql2cfwy571j9qxb7j";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  xml_rs_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "xml-rs";
+    version = "0.7.0";
+    authors = [ "Vladimir Matveev <vladimir.matweev@gmail.com>" ];
+    sha256 = "12rynhqjgkg2hzy9x1d1232p9d9jm40bc3by5yzjv8gx089mflyb";
+    libPath = "src/lib.rs";
+    libName = "xml";
+    crateBin = [ {  name = "xml-analyze";  path = "src/analyze.rs"; } ];
+    inherit dependencies buildDependencies features;
+  };
+  aho_corasick_0_5_3 = { features?(aho_corasick_0_5_3_features {}) }: aho_corasick_0_5_3_ {
+    dependencies = mapFeatures features ([ memchr_0_1_11 ]);
+  };
+  aho_corasick_0_5_3_features = f: updateFeatures f (rec {
+    aho_corasick_0_5_3.default = (f.aho_corasick_0_5_3.default or true);
+    memchr_0_1_11.default = true;
+  }) [ memchr_0_1_11_features ];
+  bitflags_0_4_0 = { features?(bitflags_0_4_0_features {}) }: bitflags_0_4_0_ {
+    features = mkFeatures (features.bitflags_0_4_0 or {});
+  };
+  bitflags_0_4_0_features = f: updateFeatures f (rec {
+    bitflags_0_4_0.default = (f.bitflags_0_4_0.default or true);
+  }) [];
+  bitflags_0_6_0 = { features?(bitflags_0_6_0_features {}) }: bitflags_0_6_0_ {};
+  bitflags_0_6_0_features = f: updateFeatures f (rec {
+    bitflags_0_6_0.default = (f.bitflags_0_6_0.default or true);
+  }) [];
+  bitflags_0_7_0 = { features?(bitflags_0_7_0_features {}) }: bitflags_0_7_0_ {};
+  bitflags_0_7_0_features = f: updateFeatures f (rec {
+    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);
+  }) [];
+  bitflags_1_0_1 = { features?(bitflags_1_0_1_features {}) }: bitflags_1_0_1_ {
+    features = mkFeatures (features.bitflags_1_0_1 or {});
+  };
+  bitflags_1_0_1_features = f: updateFeatures f (rec {
+    bitflags_1_0_1.default = (f.bitflags_1_0_1.default or true);
+    bitflags_1_0_1.example_generated =
+      (f.bitflags_1_0_1.example_generated or false) ||
+      (f.bitflags_1_0_1.default or false) ||
+      (bitflags_1_0_1.default or false);
+  }) [];
+  c_vec_1_2_1 = { features?(c_vec_1_2_1_features {}) }: c_vec_1_2_1_ {};
+  c_vec_1_2_1_features = f: updateFeatures f (rec {
+    c_vec_1_2_1.default = (f.c_vec_1_2_1.default or true);
+  }) [];
+  cairo_rs_0_2_0 = { features?(cairo_rs_0_2_0_features {}) }: cairo_rs_0_2_0_ {
+    dependencies = mapFeatures features ([ c_vec_1_2_1 cairo_sys_rs_0_4_0 libc_0_2_34 ]
+      ++ (if features.cairo_rs_0_2_0.glib or false then [ glib_0_3_1 ] else [])
+      ++ (if features.cairo_rs_0_2_0.glib-sys or false then [ glib_sys_0_4_0 ] else []))
+      ++ (if kernel == "windows" then mapFeatures features ([ winapi_0_2_8 ]) else []);
+    buildDependencies = mapFeatures features ([]);
+    features = mkFeatures (features.cairo_rs_0_2_0 or {});
+  };
+  cairo_rs_0_2_0_features = f: updateFeatures f (rec {
+    c_vec_1_2_1.default = true;
+    cairo_rs_0_2_0.default = (f.cairo_rs_0_2_0.default or true);
+    cairo_rs_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);
+    cairo_rs_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);
+    cairo_rs_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);
+    cairo_rs_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);
+    cairo_sys_rs_0_4_0.default = true;
+    cairo_sys_rs_0_4_0.png =
+      (f.cairo_sys_rs_0_4_0.png or false) ||
+      (cairo_rs_0_2_0.png or false) ||
+      (f.cairo_rs_0_2_0.png or false);
+    cairo_sys_rs_0_4_0.v1_12 =
+      (f.cairo_sys_rs_0_4_0.v1_12 or false) ||
+      (cairo_rs_0_2_0.v1_12 or false) ||
+      (f.cairo_rs_0_2_0.v1_12 or false);
+    cairo_sys_rs_0_4_0.xcb =
+      (f.cairo_sys_rs_0_4_0.xcb or false) ||
+      (cairo_rs_0_2_0.xcb or false) ||
+      (f.cairo_rs_0_2_0.xcb or false);
+    glib_0_3_1.default = true;
+    glib_sys_0_4_0.default = true;
+    libc_0_2_34.default = true;
+    winapi_0_2_8.default = true;
+  }) [ c_vec_1_2_1_features cairo_sys_rs_0_4_0_features glib_0_3_1_features glib_sys_0_4_0_features libc_0_2_34_features winapi_0_2_8_features ];
+  cairo_sys_rs_0_4_0 = { features?(cairo_sys_rs_0_4_0_features {}) }: cairo_sys_rs_0_4_0_ {
+    dependencies = mapFeatures features ([ libc_0_2_34 ])
+      ++ (if kernel == "windows" then mapFeatures features ([ winapi_0_2_8 ]) else []);
+    buildDependencies = mapFeatures features ([ pkg_config_0_3_9 ]);
+    features = mkFeatures (features.cairo_sys_rs_0_4_0 or {});
+  };
+  cairo_sys_rs_0_4_0_features = f: updateFeatures f (rec {
+    cairo_sys_rs_0_4_0.default = (f.cairo_sys_rs_0_4_0.default or true);
+    cairo_sys_rs_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);
+    cairo_sys_rs_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);
+    libc_0_2_34.default = true;
+    pkg_config_0_3_9.default = true;
+    winapi_0_2_8.default = true;
+  }) [ libc_0_2_34_features pkg_config_0_3_9_features winapi_0_2_8_features ];
+  cfg_if_0_1_2 = { features?(cfg_if_0_1_2_features {}) }: cfg_if_0_1_2_ {};
+  cfg_if_0_1_2_features = f: updateFeatures f (rec {
+    cfg_if_0_1_2.default = (f.cfg_if_0_1_2.default or true);
+  }) [];
+  dbus_0_4_1 = { features?(dbus_0_4_1_features {}) }: dbus_0_4_1_ {
+    dependencies = mapFeatures features ([ libc_0_2_34 ]);
+    buildDependencies = mapFeatures features ([ pkg_config_0_3_9 ]);
+  };
+  dbus_0_4_1_features = f: updateFeatures f (rec {
+    dbus_0_4_1.default = (f.dbus_0_4_1.default or true);
+    libc_0_2_34.default = true;
+    pkg_config_0_3_9.default = true;
+  }) [ libc_0_2_34_features pkg_config_0_3_9_features ];
+  dbus_macros_0_0_6 = { features?(dbus_macros_0_0_6_features {}) }: dbus_macros_0_0_6_ {
+    dependencies = mapFeatures features ([ dbus_0_4_1 ]);
+  };
+  dbus_macros_0_0_6_features = f: updateFeatures f (rec {
+    dbus_0_4_1.default = true;
+    dbus_macros_0_0_6.default = (f.dbus_macros_0_0_6.default or true);
+  }) [ dbus_0_4_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 (rec {
+    dlib_0_3_1.default = (f.dlib_0_3_1.default or true);
+    libloading_0_3_4.default = true;
+  }) [ libloading_0_3_4_features ];
+  dlib_0_4_0 = { features?(dlib_0_4_0_features {}) }: dlib_0_4_0_ {
+    dependencies = mapFeatures features ([ libloading_0_4_3 ]);
+    features = mkFeatures (features.dlib_0_4_0 or {});
+  };
+  dlib_0_4_0_features = f: updateFeatures f (rec {
+    dlib_0_4_0.default = (f.dlib_0_4_0.default or true);
+    libloading_0_4_3.default = true;
+  }) [ libloading_0_4_3_features ];
+  dtoa_0_4_2 = { features?(dtoa_0_4_2_features {}) }: dtoa_0_4_2_ {};
+  dtoa_0_4_2_features = f: updateFeatures f (rec {
+    dtoa_0_4_2.default = (f.dtoa_0_4_2.default or true);
+  }) [];
+  dummy_rustwlc_0_7_1 = { features?(dummy_rustwlc_0_7_1_features {}) }: dummy_rustwlc_0_7_1_ {
+    dependencies = mapFeatures features ([ bitflags_0_6_0 libc_0_2_34 wayland_sys_0_9_10 ]);
+  };
+  dummy_rustwlc_0_7_1_features = f: updateFeatures f (rec {
+    bitflags_0_6_0.default = true;
+    dummy_rustwlc_0_7_1.default = (f.dummy_rustwlc_0_7_1.default or true);
+    libc_0_2_34.default = true;
+    wayland_sys_0_9_10.default = true;
+    wayland_sys_0_9_10.dlopen = true;
+    wayland_sys_0_9_10.server = true;
+  }) [ bitflags_0_6_0_features libc_0_2_34_features wayland_sys_0_9_10_features ];
+  env_logger_0_3_5 = { features?(env_logger_0_3_5_features {}) }: env_logger_0_3_5_ {
+    dependencies = mapFeatures features ([ log_0_3_9 ]
+      ++ (if features.env_logger_0_3_5.regex or false then [ regex_0_1_80 ] else []));
+    features = mkFeatures (features.env_logger_0_3_5 or {});
+  };
+  env_logger_0_3_5_features = f: updateFeatures f (rec {
+    env_logger_0_3_5.default = (f.env_logger_0_3_5.default or true);
+    env_logger_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);
+    log_0_3_9.default = true;
+    regex_0_1_80.default = true;
+  }) [ log_0_3_9_features regex_0_1_80_features ];
+  fixedbitset_0_1_8 = { features?(fixedbitset_0_1_8_features {}) }: fixedbitset_0_1_8_ {};
+  fixedbitset_0_1_8_features = f: updateFeatures f (rec {
+    fixedbitset_0_1_8.default = (f.fixedbitset_0_1_8.default or true);
+  }) [];
+  fuchsia_zircon_0_3_2 = { features?(fuchsia_zircon_0_3_2_features {}) }: fuchsia_zircon_0_3_2_ {
+    dependencies = mapFeatures features ([ bitflags_1_0_1 fuchsia_zircon_sys_0_3_2 ]);
+  };
+  fuchsia_zircon_0_3_2_features = f: updateFeatures f (rec {
+    bitflags_1_0_1.default = true;
+    fuchsia_zircon_0_3_2.default = (f.fuchsia_zircon_0_3_2.default or true);
+    fuchsia_zircon_sys_0_3_2.default = true;
+  }) [ bitflags_1_0_1_features fuchsia_zircon_sys_0_3_2_features ];
+  fuchsia_zircon_sys_0_3_2 = { features?(fuchsia_zircon_sys_0_3_2_features {}) }: fuchsia_zircon_sys_0_3_2_ {};
+  fuchsia_zircon_sys_0_3_2_features = f: updateFeatures f (rec {
+    fuchsia_zircon_sys_0_3_2.default = (f.fuchsia_zircon_sys_0_3_2.default or true);
+  }) [];
+  gcc_0_3_54 = { features?(gcc_0_3_54_features {}) }: gcc_0_3_54_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.gcc_0_3_54 or {});
+  };
+  gcc_0_3_54_features = f: updateFeatures f (rec {
+    gcc_0_3_54.default = (f.gcc_0_3_54.default or true);
+    gcc_0_3_54.rayon =
+      (f.gcc_0_3_54.rayon or false) ||
+      (f.gcc_0_3_54.parallel or false) ||
+      (gcc_0_3_54.parallel or false);
+  }) [];
+  gdk_pixbuf_0_2_0 = { features?(gdk_pixbuf_0_2_0_features {}) }: gdk_pixbuf_0_2_0_ {
+    dependencies = mapFeatures features ([ gdk_pixbuf_sys_0_4_0 glib_0_3_1 glib_sys_0_4_0 gobject_sys_0_4_0 libc_0_2_34 ]);
+    buildDependencies = mapFeatures features ([]);
+    features = mkFeatures (features.gdk_pixbuf_0_2_0 or {});
+  };
+  gdk_pixbuf_0_2_0_features = f: updateFeatures f (rec {
+    gdk_pixbuf_0_2_0.default = (f.gdk_pixbuf_0_2_0.default or true);
+    gdk_pixbuf_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);
+    gdk_pixbuf_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);
+    gdk_pixbuf_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);
+    gdk_pixbuf_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);
+    gdk_pixbuf_sys_0_4_0.default = true;
+    gdk_pixbuf_sys_0_4_0.v2_28 =
+      (f.gdk_pixbuf_sys_0_4_0.v2_28 or false) ||
+      (gdk_pixbuf_0_2_0.v2_28 or false) ||
+      (f.gdk_pixbuf_0_2_0.v2_28 or false);
+    gdk_pixbuf_sys_0_4_0.v2_30 =
+      (f.gdk_pixbuf_sys_0_4_0.v2_30 or false) ||
+      (gdk_pixbuf_0_2_0.v2_30 or false) ||
+      (f.gdk_pixbuf_0_2_0.v2_30 or false);
+    gdk_pixbuf_sys_0_4_0.v2_32 =
+      (f.gdk_pixbuf_sys_0_4_0.v2_32 or false) ||
+      (gdk_pixbuf_0_2_0.v2_32 or false) ||
+      (f.gdk_pixbuf_0_2_0.v2_32 or false);
+    gdk_pixbuf_sys_0_4_0.v2_36 =
+      (f.gdk_pixbuf_sys_0_4_0.v2_36 or false) ||
+      (gdk_pixbuf_0_2_0.v2_36 or false) ||
+      (f.gdk_pixbuf_0_2_0.v2_36 or false);
+    glib_0_3_1.default = true;
+    glib_sys_0_4_0.default = true;
+    gobject_sys_0_4_0.default = true;
+    libc_0_2_34.default = true;
+  }) [ gdk_pixbuf_sys_0_4_0_features glib_0_3_1_features glib_sys_0_4_0_features gobject_sys_0_4_0_features libc_0_2_34_features ];
+  gdk_pixbuf_sys_0_4_0 = { features?(gdk_pixbuf_sys_0_4_0_features {}) }: gdk_pixbuf_sys_0_4_0_ {
+    dependencies = mapFeatures features ([ bitflags_0_9_1 gio_sys_0_4_0 glib_sys_0_4_0 gobject_sys_0_4_0 libc_0_2_34 ]);
+    buildDependencies = mapFeatures features ([ pkg_config_0_3_9 ]);
+    features = mkFeatures (features.gdk_pixbuf_sys_0_4_0 or {});
+  };
+  gdk_pixbuf_sys_0_4_0_features = f: updateFeatures f (rec {
+    bitflags_0_9_1.default = true;
+    gdk_pixbuf_sys_0_4_0.default = (f.gdk_pixbuf_sys_0_4_0.default or true);
+    gdk_pixbuf_sys_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);
+    gdk_pixbuf_sys_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);
+    gdk_pixbuf_sys_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);
+    gio_sys_0_4_0.default = true;
+    glib_sys_0_4_0.default = true;
+    gobject_sys_0_4_0.default = true;
+    libc_0_2_34.default = true;
+    pkg_config_0_3_9.default = true;
+  }) [ bitflags_0_9_1_features gio_sys_0_4_0_features glib_sys_0_4_0_features gobject_sys_0_4_0_features libc_0_2_34_features pkg_config_0_3_9_features ];
+  getopts_0_2_15 = { features?(getopts_0_2_15_features {}) }: getopts_0_2_15_ {};
+  getopts_0_2_15_features = f: updateFeatures f (rec {
+    getopts_0_2_15.default = (f.getopts_0_2_15.default or true);
+  }) [];
+  gio_sys_0_4_0 = { features?(gio_sys_0_4_0_features {}) }: gio_sys_0_4_0_ {
+    dependencies = mapFeatures features ([ bitflags_0_9_1 glib_sys_0_4_0 gobject_sys_0_4_0 libc_0_2_34 ]);
+    buildDependencies = mapFeatures features ([ pkg_config_0_3_9 ]);
+    features = mkFeatures (features.gio_sys_0_4_0 or {});
+  };
+  gio_sys_0_4_0_features = f: updateFeatures f (rec {
+    bitflags_0_9_1.default = true;
+    gio_sys_0_4_0.default = (f.gio_sys_0_4_0.default or true);
+    gio_sys_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);
+    gio_sys_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);
+    gio_sys_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);
+    gio_sys_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);
+    gio_sys_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);
+    gio_sys_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);
+    gio_sys_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);
+    gio_sys_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);
+    glib_sys_0_4_0.default = true;
+    gobject_sys_0_4_0.default = true;
+    libc_0_2_34.default = true;
+    pkg_config_0_3_9.default = true;
+  }) [ bitflags_0_9_1_features glib_sys_0_4_0_features gobject_sys_0_4_0_features libc_0_2_34_features pkg_config_0_3_9_features ];
+  glib_0_3_1 = { features?(glib_0_3_1_features {}) }: glib_0_3_1_ {
+    dependencies = mapFeatures features ([ bitflags_0_9_1 glib_sys_0_4_0 gobject_sys_0_4_0 lazy_static_0_2_11 libc_0_2_34 ]);
+    features = mkFeatures (features.glib_0_3_1 or {});
+  };
+  glib_0_3_1_features = f: updateFeatures f (rec {
+    bitflags_0_9_1.default = true;
+    glib_0_3_1.default = (f.glib_0_3_1.default or true);
+    glib_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);
+    glib_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);
+    glib_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);
+    glib_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);
+    glib_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);
+    glib_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);
+    glib_sys_0_4_0.default = true;
+    glib_sys_0_4_0.v2_34 =
+      (f.glib_sys_0_4_0.v2_34 or false) ||
+      (glib_0_3_1.v2_34 or false) ||
+      (f.glib_0_3_1.v2_34 or false);
+    glib_sys_0_4_0.v2_38 =
+      (f.glib_sys_0_4_0.v2_38 or false) ||
+      (glib_0_3_1.v2_38 or false) ||
+      (f.glib_0_3_1.v2_38 or false);
+    glib_sys_0_4_0.v2_40 =
+      (f.glib_sys_0_4_0.v2_40 or false) ||
+      (glib_0_3_1.v2_40 or false) ||
+      (f.glib_0_3_1.v2_40 or false);
+    glib_sys_0_4_0.v2_44 =
+      (f.glib_sys_0_4_0.v2_44 or false) ||
+      (glib_0_3_1.v2_44 or false) ||
+      (f.glib_0_3_1.v2_44 or false);
+    glib_sys_0_4_0.v2_46 =
+      (f.glib_sys_0_4_0.v2_46 or false) ||
+      (glib_0_3_1.v2_46 or false) ||
+      (f.glib_0_3_1.v2_46 or false);
+    glib_sys_0_4_0.v2_48 =
+      (f.glib_sys_0_4_0.v2_48 or false) ||
+      (glib_0_3_1.v2_48 or false) ||
+      (f.glib_0_3_1.v2_48 or false);
+    glib_sys_0_4_0.v2_50 =
+      (f.glib_sys_0_4_0.v2_50 or false) ||
+      (glib_0_3_1.v2_50 or false) ||
+      (f.glib_0_3_1.v2_50 or false);
+    gobject_sys_0_4_0.default = true;
+    gobject_sys_0_4_0.v2_34 =
+      (f.gobject_sys_0_4_0.v2_34 or false) ||
+      (glib_0_3_1.v2_34 or false) ||
+      (f.glib_0_3_1.v2_34 or false);
+    gobject_sys_0_4_0.v2_38 =
+      (f.gobject_sys_0_4_0.v2_38 or false) ||
+      (glib_0_3_1.v2_38 or false) ||
+      (f.glib_0_3_1.v2_38 or false);
+    gobject_sys_0_4_0.v2_44 =
+      (f.gobject_sys_0_4_0.v2_44 or false) ||
+      (glib_0_3_1.v2_44 or false) ||
+      (f.glib_0_3_1.v2_44 or false);
+    gobject_sys_0_4_0.v2_46 =
+      (f.gobject_sys_0_4_0.v2_46 or false) ||
+      (glib_0_3_1.v2_46 or false) ||
+      (f.glib_0_3_1.v2_46 or false);
+    lazy_static_0_2_11.default = true;
+    libc_0_2_34.default = true;
+  }) [ bitflags_0_9_1_features glib_sys_0_4_0_features gobject_sys_0_4_0_features lazy_static_0_2_11_features libc_0_2_34_features ];
+  glib_sys_0_4_0 = { features?(glib_sys_0_4_0_features {}) }: glib_sys_0_4_0_ {
+    dependencies = mapFeatures features ([ bitflags_0_9_1 libc_0_2_34 ]);
+    buildDependencies = mapFeatures features ([ pkg_config_0_3_9 ]);
+    features = mkFeatures (features.glib_sys_0_4_0 or {});
+  };
+  glib_sys_0_4_0_features = f: updateFeatures f (rec {
+    bitflags_0_9_1.default = true;
+    glib_sys_0_4_0.default = (f.glib_sys_0_4_0.default or true);
+    glib_sys_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);
+    glib_sys_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);
+    glib_sys_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);
+    glib_sys_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);
+    glib_sys_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);
+    glib_sys_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);
+    glib_sys_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);
+    libc_0_2_34.default = true;
+    pkg_config_0_3_9.default = true;
+  }) [ bitflags_0_9_1_features libc_0_2_34_features pkg_config_0_3_9_features ];
+  gobject_sys_0_4_0 = { features?(gobject_sys_0_4_0_features {}) }: gobject_sys_0_4_0_ {
+    dependencies = mapFeatures features ([ bitflags_0_9_1 glib_sys_0_4_0 libc_0_2_34 ]);
+    buildDependencies = mapFeatures features ([ pkg_config_0_3_9 ]);
+    features = mkFeatures (features.gobject_sys_0_4_0 or {});
+  };
+  gobject_sys_0_4_0_features = f: updateFeatures f (rec {
+    bitflags_0_9_1.default = true;
+    glib_sys_0_4_0.default = true;
+    gobject_sys_0_4_0.default = (f.gobject_sys_0_4_0.default or true);
+    gobject_sys_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);
+    gobject_sys_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);
+    gobject_sys_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);
+    gobject_sys_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);
+    gobject_sys_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);
+    libc_0_2_34.default = true;
+    pkg_config_0_3_9.default = true;
+  }) [ bitflags_0_9_1_features glib_sys_0_4_0_features libc_0_2_34_features pkg_config_0_3_9_features ];
+  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 (rec {
+    itoa_0_3_4.default = (f.itoa_0_3_4.default or true);
+  }) [];
+  json_macro_0_1_1 = { features?(json_macro_0_1_1_features {}) }: json_macro_0_1_1_ {
+    dependencies = mapFeatures features ([ rustc_serialize_0_3_24 ]);
+  };
+  json_macro_0_1_1_features = f: updateFeatures f (rec {
+    json_macro_0_1_1.default = (f.json_macro_0_1_1.default or true);
+    rustc_serialize_0_3_24.default = true;
+  }) [ rustc_serialize_0_3_24_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 (rec {
+    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_11 = { features?(lazy_static_0_2_11_features {}) }: lazy_static_0_2_11_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.lazy_static_0_2_11 or {});
+  };
+  lazy_static_0_2_11_features = f: updateFeatures f (rec {
+    lazy_static_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);
+    lazy_static_0_2_11.default = (f.lazy_static_0_2_11.default or true);
+    lazy_static_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);
+    lazy_static_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);
+  }) [];
+  lazy_static_1_0_0 = { features?(lazy_static_1_0_0_features {}) }: lazy_static_1_0_0_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.lazy_static_1_0_0 or {});
+  };
+  lazy_static_1_0_0_features = f: updateFeatures f (rec {
+    lazy_static_1_0_0.compiletest_rs =
+      (f.lazy_static_1_0_0.compiletest_rs or false) ||
+      (f.lazy_static_1_0_0.compiletest or false) ||
+      (lazy_static_1_0_0.compiletest or false);
+    lazy_static_1_0_0.default = (f.lazy_static_1_0_0.default or true);
+    lazy_static_1_0_0.nightly =
+      (f.lazy_static_1_0_0.nightly or false) ||
+      (f.lazy_static_1_0_0.spin_no_std or false) ||
+      (lazy_static_1_0_0.spin_no_std or false);
+    lazy_static_1_0_0.spin =
+      (f.lazy_static_1_0_0.spin or false) ||
+      (f.lazy_static_1_0_0.spin_no_std or false) ||
+      (lazy_static_1_0_0.spin_no_std or false);
+  }) [];
+  libc_0_2_34 = { features?(libc_0_2_34_features {}) }: libc_0_2_34_ {
+    features = mkFeatures (features.libc_0_2_34 or {});
+  };
+  libc_0_2_34_features = f: updateFeatures f (rec {
+    libc_0_2_34.default = (f.libc_0_2_34.default or true);
+    libc_0_2_34.use_std =
+      (f.libc_0_2_34.use_std or false) ||
+      (f.libc_0_2_34.default or false) ||
+      (libc_0_2_34.default or false);
+  }) [];
+  libloading_0_3_4 = { features?(libloading_0_3_4_features {}) }: libloading_0_3_4_ {
+    dependencies = mapFeatures features ([ lazy_static_0_2_11 ])
+      ++ (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 (rec {
+    kernel32_sys_0_2_2.default = true;
+    lazy_static_0_2_11.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_11_features target_build_utils_0_3_1_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
+  libloading_0_4_3 = { features?(libloading_0_4_3_features {}) }: libloading_0_4_3_ {
+    dependencies = mapFeatures features ([ lazy_static_1_0_0 ])
+      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 winapi_0_2_8 ]) else []);
+  };
+  libloading_0_4_3_features = f: updateFeatures f (rec {
+    kernel32_sys_0_2_2.default = true;
+    lazy_static_1_0_0.default = true;
+    libloading_0_4_3.default = (f.libloading_0_4_3.default or true);
+    winapi_0_2_8.default = true;
+  }) [ lazy_static_1_0_0_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
+  log_0_3_9 = { features?(log_0_3_9_features {}) }: log_0_3_9_ {
+    dependencies = mapFeatures features ([ log_0_4_0 ]);
+    features = mkFeatures (features.log_0_3_9 or {});
+  };
+  log_0_3_9_features = f: updateFeatures f (rec {
+    log_0_3_9.default = (f.log_0_3_9.default or true);
+    log_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);
+    log_0_4_0.default = true;
+    log_0_4_0.max_level_debug =
+      (f.log_0_4_0.max_level_debug or false) ||
+      (log_0_3_9.max_level_debug or false) ||
+      (f.log_0_3_9.max_level_debug or false);
+    log_0_4_0.max_level_error =
+      (f.log_0_4_0.max_level_error or false) ||
+      (log_0_3_9.max_level_error or false) ||
+      (f.log_0_3_9.max_level_error or false);
+    log_0_4_0.max_level_info =
+      (f.log_0_4_0.max_level_info or false) ||
+      (log_0_3_9.max_level_info or false) ||
+      (f.log_0_3_9.max_level_info or false);
+    log_0_4_0.max_level_off =
+      (f.log_0_4_0.max_level_off or false) ||
+      (log_0_3_9.max_level_off or false) ||
+      (f.log_0_3_9.max_level_off or false);
+    log_0_4_0.max_level_trace =
+      (f.log_0_4_0.max_level_trace or false) ||
+      (log_0_3_9.max_level_trace or false) ||
+      (f.log_0_3_9.max_level_trace or false);
+    log_0_4_0.max_level_warn =
+      (f.log_0_4_0.max_level_warn or false) ||
+      (log_0_3_9.max_level_warn or false) ||
+      (f.log_0_3_9.max_level_warn or false);
+    log_0_4_0.release_max_level_debug =
+      (f.log_0_4_0.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);
+    log_0_4_0.release_max_level_error =
+      (f.log_0_4_0.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);
+    log_0_4_0.release_max_level_info =
+      (f.log_0_4_0.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);
+    log_0_4_0.release_max_level_off =
+      (f.log_0_4_0.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);
+    log_0_4_0.release_max_level_trace =
+      (f.log_0_4_0.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);
+    log_0_4_0.release_max_level_warn =
+      (f.log_0_4_0.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);
+    log_0_4_0.std =
+      (f.log_0_4_0.std or false) ||
+      (log_0_3_9.use_std or false) ||
+      (f.log_0_3_9.use_std or false);
+  }) [ log_0_4_0_features ];
+  log_0_4_0 = { features?(log_0_4_0_features {}) }: log_0_4_0_ {
+    dependencies = mapFeatures features ([ cfg_if_0_1_2 ]);
+    features = mkFeatures (features.log_0_4_0 or {});
+  };
+  log_0_4_0_features = f: updateFeatures f (rec {
+    cfg_if_0_1_2.default = true;
+    log_0_4_0.default = (f.log_0_4_0.default or true);
+  }) [ cfg_if_0_1_2_features ];
+  memchr_0_1_11 = { features?(memchr_0_1_11_features {}) }: memchr_0_1_11_ {
+    dependencies = mapFeatures features ([ libc_0_2_34 ]);
+  };
+  memchr_0_1_11_features = f: updateFeatures f (rec {
+    libc_0_2_34.default = true;
+    memchr_0_1_11.default = (f.memchr_0_1_11.default or true);
+  }) [ libc_0_2_34_features ];
+  nix_0_6_0 = { features?(nix_0_6_0_features {}) }: nix_0_6_0_ {
+    dependencies = mapFeatures features ([ bitflags_0_4_0 cfg_if_0_1_2 libc_0_2_34 void_1_0_2 ]);
+    buildDependencies = mapFeatures features ([ rustc_version_0_1_7 semver_0_1_20 ]);
+    features = mkFeatures (features.nix_0_6_0 or {});
+  };
+  nix_0_6_0_features = f: updateFeatures f (rec {
+    bitflags_0_4_0.default = true;
+    cfg_if_0_1_2.default = true;
+    libc_0_2_34.default = true;
+    nix_0_6_0.default = (f.nix_0_6_0.default or true);
+    rustc_version_0_1_7.default = true;
+    semver_0_1_20.default = true;
+    void_1_0_2.default = true;
+  }) [ bitflags_0_4_0_features cfg_if_0_1_2_features libc_0_2_34_features void_1_0_2_features rustc_version_0_1_7_features semver_0_1_20_features ];
+  nix_0_9_0 = { features?(nix_0_9_0_features {}) }: nix_0_9_0_ {
+    dependencies = mapFeatures features ([ bitflags_0_9_1 cfg_if_0_1_2 libc_0_2_34 void_1_0_2 ]);
+  };
+  nix_0_9_0_features = f: updateFeatures f (rec {
+    bitflags_0_9_1.default = true;
+    cfg_if_0_1_2.default = true;
+    libc_0_2_34.default = true;
+    nix_0_9_0.default = (f.nix_0_9_0.default or true);
+    void_1_0_2.default = true;
+  }) [ bitflags_0_9_1_features cfg_if_0_1_2_features libc_0_2_34_features void_1_0_2_features ];
+  num_traits_0_1_41 = { features?(num_traits_0_1_41_features {}) }: num_traits_0_1_41_ {};
+  num_traits_0_1_41_features = f: updateFeatures f (rec {
+    num_traits_0_1_41.default = (f.num_traits_0_1_41.default or true);
+  }) [];
+  ordermap_0_3_2 = { features?(ordermap_0_3_2_features {}) }: ordermap_0_3_2_ {
+    dependencies = mapFeatures features ([]);
+    features = mkFeatures (features.ordermap_0_3_2 or {});
+  };
+  ordermap_0_3_2_features = f: updateFeatures f (rec {
+    ordermap_0_3_2.default = (f.ordermap_0_3_2.default or true);
+    ordermap_0_3_2.serde =
+      (f.ordermap_0_3_2.serde or false) ||
+      (f.ordermap_0_3_2.serde-1 or false) ||
+      (ordermap_0_3_2.serde-1 or false);
+  }) [];
+  petgraph_0_4_10 = { features?(petgraph_0_4_10_features {}) }: petgraph_0_4_10_ {
+    dependencies = mapFeatures features ([ fixedbitset_0_1_8 ]
+      ++ (if features.petgraph_0_4_10.ordermap or false then [ ordermap_0_3_2 ] else []));
+    features = mkFeatures (features.petgraph_0_4_10 or {});
+  };
+  petgraph_0_4_10_features = f: updateFeatures f (rec {
+    fixedbitset_0_1_8.default = true;
+    ordermap_0_3_2.default = true;
+    petgraph_0_4_10.default = (f.petgraph_0_4_10.default or true);
+    petgraph_0_4_10.generate =
+      (f.petgraph_0_4_10.generate or false) ||
+      (f.petgraph_0_4_10.unstable or false) ||
+      (petgraph_0_4_10.unstable or false);
+    petgraph_0_4_10.graphmap =
+      (f.petgraph_0_4_10.graphmap or false) ||
+      (f.petgraph_0_4_10.all or false) ||
+      (petgraph_0_4_10.all or false) ||
+      (f.petgraph_0_4_10.default or false) ||
+      (petgraph_0_4_10.default or false);
+    petgraph_0_4_10.ordermap =
+      (f.petgraph_0_4_10.ordermap or false) ||
+      (f.petgraph_0_4_10.graphmap or false) ||
+      (petgraph_0_4_10.graphmap or false);
+    petgraph_0_4_10.quickcheck =
+      (f.petgraph_0_4_10.quickcheck or false) ||
+      (f.petgraph_0_4_10.all or false) ||
+      (petgraph_0_4_10.all or false);
+    petgraph_0_4_10.serde =
+      (f.petgraph_0_4_10.serde or false) ||
+      (f.petgraph_0_4_10.serde-1 or false) ||
+      (petgraph_0_4_10.serde-1 or false);
+    petgraph_0_4_10.serde_derive =
+      (f.petgraph_0_4_10.serde_derive or false) ||
+      (f.petgraph_0_4_10.serde-1 or false) ||
+      (petgraph_0_4_10.serde-1 or false);
+    petgraph_0_4_10.stable_graph =
+      (f.petgraph_0_4_10.stable_graph or false) ||
+      (f.petgraph_0_4_10.all or false) ||
+      (petgraph_0_4_10.all or false) ||
+      (f.petgraph_0_4_10.default or false) ||
+      (petgraph_0_4_10.default or false);
+    petgraph_0_4_10.unstable =
+      (f.petgraph_0_4_10.unstable or false) ||
+      (f.petgraph_0_4_10.all or false) ||
+      (petgraph_0_4_10.all or false);
+  }) [ fixedbitset_0_1_8_features ordermap_0_3_2_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 (rec {
+    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_19 ]);
+  };
+  phf_generator_0_7_21_features = f: updateFeatures f (rec {
+    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_19.default = true;
+  }) [ phf_shared_0_7_21_features rand_0_3_19_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 (rec {
+    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 (rec {
+    pkg_config_0_3_9.default = (f.pkg_config_0_3_9.default or true);
+  }) [];
+  rand_0_3_19 = { features?(rand_0_3_19_features {}) }: rand_0_3_19_ {
+    dependencies = mapFeatures features ([ libc_0_2_34 ])
+      ++ (if kernel == "fuchsia" then mapFeatures features ([ fuchsia_zircon_0_3_2 ]) else []);
+    features = mkFeatures (features.rand_0_3_19 or {});
+  };
+  rand_0_3_19_features = f: updateFeatures f (rec {
+    fuchsia_zircon_0_3_2.default = true;
+    libc_0_2_34.default = true;
+    rand_0_3_19.default = (f.rand_0_3_19.default or true);
+    rand_0_3_19.i128_support =
+      (f.rand_0_3_19.i128_support or false) ||
+      (f.rand_0_3_19.nightly or false) ||
+      (rand_0_3_19.nightly or false);
+  }) [ libc_0_2_34_features fuchsia_zircon_0_3_2_features ];
+  regex_0_1_80 = { features?(regex_0_1_80_features {}) }: regex_0_1_80_ {
+    dependencies = mapFeatures features ([ aho_corasick_0_5_3 memchr_0_1_11 regex_syntax_0_3_9 thread_local_0_2_7 utf8_ranges_0_1_3 ]);
+    features = mkFeatures (features.regex_0_1_80 or {});
+  };
+  regex_0_1_80_features = f: updateFeatures f (rec {
+    aho_corasick_0_5_3.default = true;
+    memchr_0_1_11.default = true;
+    regex_0_1_80.default = (f.regex_0_1_80.default or true);
+    regex_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);
+    regex_syntax_0_3_9.default = true;
+    thread_local_0_2_7.default = true;
+    utf8_ranges_0_1_3.default = true;
+  }) [ aho_corasick_0_5_3_features memchr_0_1_11_features regex_syntax_0_3_9_features thread_local_0_2_7_features utf8_ranges_0_1_3_features ];
+  regex_syntax_0_3_9 = { features?(regex_syntax_0_3_9_features {}) }: regex_syntax_0_3_9_ {};
+  regex_syntax_0_3_9_features = f: updateFeatures f (rec {
+    regex_syntax_0_3_9.default = (f.regex_syntax_0_3_9.default or true);
+  }) [];
+  rlua_0_9_7 = { features?(rlua_0_9_7_features {}) }: rlua_0_9_7_ {
+    dependencies = mapFeatures features ([ libc_0_2_34 ]);
+    buildDependencies = mapFeatures features ([ ]
+      ++ (if features.rlua_0_9_7.gcc or false then [ gcc_0_3_54 ] else []));
+    features = mkFeatures (features.rlua_0_9_7 or {});
+  };
+  rlua_0_9_7_features = f: updateFeatures f (rec {
+    gcc_0_3_54.default = true;
+    libc_0_2_34.default = true;
+    rlua_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);
+    rlua_0_9_7.default = (f.rlua_0_9_7.default or true);
+    rlua_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);
+  }) [ libc_0_2_34_features gcc_0_3_54_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 (rec {
+    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 (rec {
+    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 ];
+  rustwlc_0_7_0 = { features?(rustwlc_0_7_0_features {}) }: rustwlc_0_7_0_ {
+    dependencies = mapFeatures features ([ bitflags_0_7_0 libc_0_2_34 ]
+      ++ (if features.rustwlc_0_7_0.wayland-sys or false then [ wayland_sys_0_6_0 ] else []));
+    features = mkFeatures (features.rustwlc_0_7_0 or {});
+  };
+  rustwlc_0_7_0_features = f: updateFeatures f (rec {
+    bitflags_0_7_0.default = true;
+    libc_0_2_34.default = true;
+    rustwlc_0_7_0.default = (f.rustwlc_0_7_0.default or true);
+    rustwlc_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);
+    wayland_sys_0_6_0.default = true;
+    wayland_sys_0_6_0.server = true;
+  }) [ bitflags_0_7_0_features libc_0_2_34_features wayland_sys_0_6_0_features ];
+  semver_0_1_20 = { features?(semver_0_1_20_features {}) }: semver_0_1_20_ {};
+  semver_0_1_20_features = f: updateFeatures f (rec {
+    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_2 itoa_0_3_4 num_traits_0_1_41 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_41.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_41_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 (rec {
+    siphasher_0_2_2.default = (f.siphasher_0_2_2.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 ];
+  thread_id_2_0_0 = { features?(thread_id_2_0_0_features {}) }: thread_id_2_0_0_ {
+    dependencies = mapFeatures features ([ kernel32_sys_0_2_2 libc_0_2_34 ]);
+  };
+  thread_id_2_0_0_features = f: updateFeatures f (rec {
+    kernel32_sys_0_2_2.default = true;
+    libc_0_2_34.default = true;
+    thread_id_2_0_0.default = (f.thread_id_2_0_0.default or true);
+  }) [ kernel32_sys_0_2_2_features libc_0_2_34_features ];
+  thread_local_0_2_7 = { features?(thread_local_0_2_7_features {}) }: thread_local_0_2_7_ {
+    dependencies = mapFeatures features ([ thread_id_2_0_0 ]);
+  };
+  thread_local_0_2_7_features = f: updateFeatures f (rec {
+    thread_id_2_0_0.default = true;
+    thread_local_0_2_7.default = (f.thread_local_0_2_7.default or true);
+  }) [ thread_id_2_0_0_features ];
+  token_store_0_1_2 = { features?(token_store_0_1_2_features {}) }: token_store_0_1_2_ {};
+  token_store_0_1_2_features = f: updateFeatures f (rec {
+    token_store_0_1_2.default = (f.token_store_0_1_2.default or true);
+  }) [];
+  utf8_ranges_0_1_3 = { features?(utf8_ranges_0_1_3_features {}) }: utf8_ranges_0_1_3_ {};
+  utf8_ranges_0_1_3_features = f: updateFeatures f (rec {
+    utf8_ranges_0_1_3.default = (f.utf8_ranges_0_1_3.default or true);
+  }) [];
+  uuid_0_3_1 = { features?(uuid_0_3_1_features {}) }: uuid_0_3_1_ {
+    dependencies = mapFeatures features ([ ]
+      ++ (if features.uuid_0_3_1.rand or false then [ rand_0_3_19 ] else [])
+      ++ (if features.uuid_0_3_1.rustc-serialize or false then [ rustc_serialize_0_3_24 ] else []));
+    features = mkFeatures (features.uuid_0_3_1 or {});
+  };
+  uuid_0_3_1_features = f: updateFeatures f (rec {
+    rand_0_3_19.default = true;
+    rustc_serialize_0_3_24.default = true;
+    uuid_0_3_1.default = (f.uuid_0_3_1.default or true);
+    uuid_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);
+    uuid_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);
+  }) [ rand_0_3_19_features rustc_serialize_0_3_24_features ];
+  void_1_0_2 = { features?(void_1_0_2_features {}) }: void_1_0_2_ {
+    features = mkFeatures (features.void_1_0_2 or {});
+  };
+  void_1_0_2_features = f: updateFeatures f (rec {
+    void_1_0_2.default = (f.void_1_0_2.default or true);
+    void_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);
+  }) [];
+  way_cooler_0_8_0 = { features?(way_cooler_0_8_0_features {}) }: way_cooler_0_8_0_ {
+    dependencies = mapFeatures features ([ 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_15 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_10 rlua_0_9_7 rustc_serialize_0_3_24 rustwlc_0_7_0 uuid_0_3_1 wayland_server_0_12_4 wayland_sys_0_12_4 xcb_0_8_1 ]);
+    buildDependencies = mapFeatures features ([ wayland_scanner_0_12_4 ]);
+    features = mkFeatures (features.way_cooler_0_8_0 or {});
+  };
+  way_cooler_0_8_0_features = f: updateFeatures f (rec {
+    bitflags_0_7_0.default = true;
+    cairo_rs_0_2_0.default = true;
+    cairo_sys_rs_0_4_0.default = true;
+    dbus_0_4_1.default = true;
+    dbus_macros_0_0_6.default = true;
+    env_logger_0_3_5.default = true;
+    gdk_pixbuf_0_2_0.default = true;
+    getopts_0_2_15.default = true;
+    glib_0_3_1.default = true;
+    json_macro_0_1_1.default = true;
+    lazy_static_0_2_11.default = true;
+    log_0_3_9.default = true;
+    nix_0_6_0.default = true;
+    petgraph_0_4_10.default = true;
+    rlua_0_9_7.builtin-lua =
+      (f.rlua_0_9_7.builtin-lua or false) ||
+      (way_cooler_0_8_0.builtin-lua or false) ||
+      (f.way_cooler_0_8_0.builtin-lua or false);
+    rlua_0_9_7.default = (f.rlua_0_9_7.default or false);
+    rustc_serialize_0_3_24.default = true;
+    rustwlc_0_7_0.default = true;
+    rustwlc_0_7_0.static-wlc =
+      (f.rustwlc_0_7_0.static-wlc or false) ||
+      (way_cooler_0_8_0.static-wlc or false) ||
+      (f.way_cooler_0_8_0.static-wlc or false);
+    rustwlc_0_7_0.wlc-wayland = true;
+    uuid_0_3_1.default = true;
+    uuid_0_3_1.rustc-serialize = true;
+    uuid_0_3_1.v4 = true;
+    way_cooler_0_8_0.default = (f.way_cooler_0_8_0.default or true);
+    wayland_scanner_0_12_4.default = true;
+    wayland_server_0_12_4.default = true;
+    wayland_sys_0_12_4.client = true;
+    wayland_sys_0_12_4.default = true;
+    wayland_sys_0_12_4.dlopen = true;
+    xcb_0_8_1.default = true;
+    xcb_0_8_1.xkb = true;
+  }) [ bitflags_0_7_0_features cairo_rs_0_2_0_features cairo_sys_rs_0_4_0_features dbus_0_4_1_features dbus_macros_0_0_6_features env_logger_0_3_5_features gdk_pixbuf_0_2_0_features getopts_0_2_15_features glib_0_3_1_features json_macro_0_1_1_features lazy_static_0_2_11_features log_0_3_9_features nix_0_6_0_features petgraph_0_4_10_features rlua_0_9_7_features rustc_serialize_0_3_24_features rustwlc_0_7_0_features uuid_0_3_1_features wayland_server_0_12_4_features wayland_sys_0_12_4_features xcb_0_8_1_features wayland_scanner_0_12_4_features ];
+  wayland_scanner_0_12_4 = { features?(wayland_scanner_0_12_4_features {}) }: wayland_scanner_0_12_4_ {
+    dependencies = mapFeatures features ([ xml_rs_0_7_0 ]);
+  };
+  wayland_scanner_0_12_4_features = f: updateFeatures f (rec {
+    wayland_scanner_0_12_4.default = (f.wayland_scanner_0_12_4.default or true);
+    xml_rs_0_7_0.default = true;
+  }) [ xml_rs_0_7_0_features ];
+  wayland_server_0_12_4 = { features?(wayland_server_0_12_4_features {}) }: wayland_server_0_12_4_ {
+    dependencies = mapFeatures features ([ bitflags_1_0_1 libc_0_2_34 nix_0_9_0 token_store_0_1_2 wayland_sys_0_12_4 ]);
+    buildDependencies = mapFeatures features ([ wayland_scanner_0_12_4 ]);
+    features = mkFeatures (features.wayland_server_0_12_4 or {});
+  };
+  wayland_server_0_12_4_features = f: updateFeatures f (rec {
+    bitflags_1_0_1.default = true;
+    libc_0_2_34.default = true;
+    nix_0_9_0.default = true;
+    token_store_0_1_2.default = true;
+    wayland_scanner_0_12_4.default = true;
+    wayland_server_0_12_4.default = (f.wayland_server_0_12_4.default or true);
+    wayland_sys_0_12_4.default = true;
+    wayland_sys_0_12_4.dlopen =
+      (f.wayland_sys_0_12_4.dlopen or false) ||
+      (wayland_server_0_12_4.dlopen or false) ||
+      (f.wayland_server_0_12_4.dlopen or false);
+    wayland_sys_0_12_4.server = true;
+  }) [ bitflags_1_0_1_features libc_0_2_34_features nix_0_9_0_features token_store_0_1_2_features wayland_sys_0_12_4_features wayland_scanner_0_12_4_features ];
+  wayland_sys_0_6_0 = { features?(wayland_sys_0_6_0_features {}) }: wayland_sys_0_6_0_ {
+    dependencies = mapFeatures features ([ dlib_0_3_1 ]
+      ++ (if features.wayland_sys_0_6_0.libc or false then [ libc_0_2_34 ] else []));
+    features = mkFeatures (features.wayland_sys_0_6_0 or {});
+  };
+  wayland_sys_0_6_0_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_6_0.dlopen or false) ||
+      (f.wayland_sys_0_6_0.dlopen or false);
+    libc_0_2_34.default = true;
+    wayland_sys_0_6_0.default = (f.wayland_sys_0_6_0.default or true);
+    wayland_sys_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);
+    wayland_sys_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);
+  }) [ dlib_0_3_1_features libc_0_2_34_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_11 ] else [])
+      ++ (if features.wayland_sys_0_9_10.libc or false then [ libc_0_2_34 ] 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_11.default = true;
+    libc_0_2_34.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_11_features libc_0_2_34_features ];
+  wayland_sys_0_12_4 = { features?(wayland_sys_0_12_4_features {}) }: wayland_sys_0_12_4_ {
+    dependencies = mapFeatures features ([ dlib_0_4_0 ]
+      ++ (if features.wayland_sys_0_12_4.lazy_static or false then [ lazy_static_0_2_11 ] else [])
+      ++ (if features.wayland_sys_0_12_4.libc or false then [ libc_0_2_34 ] else []));
+    features = mkFeatures (features.wayland_sys_0_12_4 or {});
+  };
+  wayland_sys_0_12_4_features = f: updateFeatures f (rec {
+    dlib_0_4_0.default = true;
+    dlib_0_4_0.dlopen =
+      (f.dlib_0_4_0.dlopen or false) ||
+      (wayland_sys_0_12_4.dlopen or false) ||
+      (f.wayland_sys_0_12_4.dlopen or false);
+    lazy_static_0_2_11.default = true;
+    libc_0_2_34.default = true;
+    wayland_sys_0_12_4.default = (f.wayland_sys_0_12_4.default or true);
+    wayland_sys_0_12_4.lazy_static =
+      (f.wayland_sys_0_12_4.lazy_static or false) ||
+      (f.wayland_sys_0_12_4.dlopen or false) ||
+      (wayland_sys_0_12_4.dlopen or false);
+    wayland_sys_0_12_4.libc =
+      (f.wayland_sys_0_12_4.libc or false) ||
+      (f.wayland_sys_0_12_4.server or false) ||
+      (wayland_sys_0_12_4.server or false);
+  }) [ dlib_0_4_0_features lazy_static_0_2_11_features libc_0_2_34_features ];
+  winapi_0_2_8 = { features?(winapi_0_2_8_features {}) }: winapi_0_2_8_ {};
+  winapi_0_2_8_features = f: updateFeatures f (rec {
+    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 (rec {
+    winapi_build_0_1_1.default = (f.winapi_build_0_1_1.default or true);
+  }) [];
+  xcb_0_8_1 = { features?(xcb_0_8_1_features {}) }: xcb_0_8_1_ {
+    dependencies = mapFeatures features ([ libc_0_2_34 log_0_3_9 ]);
+    buildDependencies = mapFeatures features ([ libc_0_2_34 ]);
+    features = mkFeatures (features.xcb_0_8_1 or {});
+  };
+  xcb_0_8_1_features = f: updateFeatures f (rec {
+    libc_0_2_34.default = true;
+    log_0_3_9.default = true;
+    xcb_0_8_1.composite =
+      (f.xcb_0_8_1.composite or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.damage =
+      (f.xcb_0_8_1.damage or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.default = (f.xcb_0_8_1.default or true);
+    xcb_0_8_1.dpms =
+      (f.xcb_0_8_1.dpms or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.dri2 =
+      (f.xcb_0_8_1.dri2 or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.dri3 =
+      (f.xcb_0_8_1.dri3 or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.glx =
+      (f.xcb_0_8_1.glx or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.randr =
+      (f.xcb_0_8_1.randr or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.record =
+      (f.xcb_0_8_1.record or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.render =
+      (f.xcb_0_8_1.render or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false) ||
+      (f.xcb_0_8_1.present or false) ||
+      (xcb_0_8_1.present or false) ||
+      (f.xcb_0_8_1.randr or false) ||
+      (xcb_0_8_1.randr or false) ||
+      (f.xcb_0_8_1.xfixes or false) ||
+      (xcb_0_8_1.xfixes or false);
+    xcb_0_8_1.res =
+      (f.xcb_0_8_1.res or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.screensaver =
+      (f.xcb_0_8_1.screensaver or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.shape =
+      (f.xcb_0_8_1.shape or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false) ||
+      (f.xcb_0_8_1.xfixes or false) ||
+      (xcb_0_8_1.xfixes or false);
+    xcb_0_8_1.shm =
+      (f.xcb_0_8_1.shm or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false) ||
+      (f.xcb_0_8_1.xv or false) ||
+      (xcb_0_8_1.xv or false);
+    xcb_0_8_1.sync =
+      (f.xcb_0_8_1.sync or false) ||
+      (f.xcb_0_8_1.present or false) ||
+      (xcb_0_8_1.present or false);
+    xcb_0_8_1.thread =
+      (f.xcb_0_8_1.thread or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.xevie =
+      (f.xcb_0_8_1.xevie or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.xf86dri =
+      (f.xcb_0_8_1.xf86dri or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.xfixes =
+      (f.xcb_0_8_1.xfixes or false) ||
+      (f.xcb_0_8_1.composite or false) ||
+      (xcb_0_8_1.composite or false) ||
+      (f.xcb_0_8_1.damage or false) ||
+      (xcb_0_8_1.damage or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false) ||
+      (f.xcb_0_8_1.present or false) ||
+      (xcb_0_8_1.present or false) ||
+      (f.xcb_0_8_1.xinput or false) ||
+      (xcb_0_8_1.xinput or false);
+    xcb_0_8_1.xinerama =
+      (f.xcb_0_8_1.xinerama or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.xkb =
+      (f.xcb_0_8_1.xkb or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.xlib_xcb =
+      (f.xcb_0_8_1.xlib_xcb or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.xprint =
+      (f.xcb_0_8_1.xprint or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.xselinux =
+      (f.xcb_0_8_1.xselinux or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.xtest =
+      (f.xcb_0_8_1.xtest or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+    xcb_0_8_1.xv =
+      (f.xcb_0_8_1.xv or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false) ||
+      (f.xcb_0_8_1.xvmc or false) ||
+      (xcb_0_8_1.xvmc or false);
+    xcb_0_8_1.xvmc =
+      (f.xcb_0_8_1.xvmc or false) ||
+      (f.xcb_0_8_1.debug_all or false) ||
+      (xcb_0_8_1.debug_all or false);
+  }) [ libc_0_2_34_features log_0_3_9_features libc_0_2_34_features ];
+  xml_rs_0_7_0 = { features?(xml_rs_0_7_0_features {}) }: xml_rs_0_7_0_ {
+    dependencies = mapFeatures features ([ bitflags_1_0_1 ]);
+  };
+  xml_rs_0_7_0_features = f: updateFeatures f (rec {
+    bitflags_1_0_1.default = true;
+    xml_rs_0_7_0.default = (f.xml_rs_0_7_0.default or true);
+  }) [ bitflags_1_0_1_features ];
 }