summary refs log tree commit diff
path: root/pkgs/build-support
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2018-01-27 09:14:22 +0100
committerVladimír Čunát <vcunat@gmail.com>2018-01-27 09:14:22 +0100
commit2d2dbe083f0df9dbde5643234cb2b067653739fa (patch)
tree66195da25376f3bb7bed16d469d85fcaffe0f13b /pkgs/build-support
parentef60e411455c9d7ef16069df63daf2c9fbd66ec6 (diff)
parent9c95eb828ab6cc7b022197f68e1e0a8ce4241d89 (diff)
downloadnixpkgs-2d2dbe083f0df9dbde5643234cb2b067653739fa.tar
nixpkgs-2d2dbe083f0df9dbde5643234cb2b067653739fa.tar.gz
nixpkgs-2d2dbe083f0df9dbde5643234cb2b067653739fa.tar.bz2
nixpkgs-2d2dbe083f0df9dbde5643234cb2b067653739fa.tar.lz
nixpkgs-2d2dbe083f0df9dbde5643234cb2b067653739fa.tar.xz
nixpkgs-2d2dbe083f0df9dbde5643234cb2b067653739fa.tar.zst
nixpkgs-2d2dbe083f0df9dbde5643234cb2b067653739fa.zip
Merge branch 'master' into staging
Hydra: ?compare=1429281
Diffstat (limited to 'pkgs/build-support')
-rwxr-xr-xpkgs/build-support/fetchgit/nix-prefetch-git2
-rw-r--r--pkgs/build-support/rust/carnix.nix1977
-rw-r--r--pkgs/build-support/vm/windows/cygwin-iso/default.nix1
3 files changed, 1127 insertions, 853 deletions
diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git
index 17962d08acc..2441da156d1 100755
--- a/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -184,7 +184,7 @@ init_submodules(){
         local url
 
         # checkout each submodule
-        hash=$(echo "$l" | awk '{print substr($1,2)}')
+        hash=$(echo "$l" | awk '{print $1}' | tr -d '-')
         dir=$(echo "$l" | awk '{print $2}')
         name=$(
             git config -f .gitmodules --get-regexp submodule\..*\.path |
diff --git a/pkgs/build-support/rust/carnix.nix b/pkgs/build-support/rust/carnix.nix
index adb7139758c..1457832c928 100644
--- a/pkgs/build-support/rust/carnix.nix
+++ b/pkgs/build-support/rust/carnix.nix
@@ -1,4 +1,4 @@
-# Generated by carnix 0.5.0: carnix -o carnix.nix --src ./. Cargo.lock
+# Generated by carnix 0.6.0: carnix -o carnix.nix --src ./. Cargo.lock
 { lib, buildPlatform, buildRustCrate, fetchgit }:
 let kernel = buildPlatform.parsed.kernel.name;
     abi = buildPlatform.parsed.abi.name;
@@ -7,869 +7,1144 @@ let kernel = buildPlatform.parsed.kernel.name;
         (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;
 
     mkFeatures = feat: lib.lists.foldl (features: featureName:
       if featureName != "" && hasFeature feat.${featureName} then
         [ featureName ] ++ features
       else
         features
-    ) (if hasDefault feat then [ "default" ] else []) (builtins.attrNames feat);
-    aho_corasick_0_6_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "aho-corasick";
-      version = "0.6.3";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "1cpqzf6acj8lm06z3f1cg41wn6c2n9l3v49nh0dvimv4055qib6k";
-      libName = "aho_corasick";
-      crateBin = [ {  name = "aho-corasick-dot"; } ];
-      inherit dependencies buildDependencies features;
-    };
-    ansi_term_0_10_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "ansi_term";
-      version = "0.10.2";
-      authors = [ "ogham@bsago.me" "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>" "Josh Triplett <josh@joshtriplett.org>" ];
-      sha256 = "07k0hfmlhv43lihyxb9d81l5mq5zlpqvv30dkfd3knmv2ginasn9";
-      inherit dependencies buildDependencies features;
-    };
-    atty_0_2_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "atty";
-      version = "0.2.3";
-      authors = [ "softprops <d.tangren@gmail.com>" ];
-      sha256 = "0zl0cjfgarp5y78nd755lpki5bbkj4hgmi88v265m543yg29i88f";
-      inherit dependencies buildDependencies features;
-    };
-    backtrace_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "backtrace";
-      version = "0.3.4";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" "The Rust Project Developers" ];
-      sha256 = "1caba8w3rqd5ghr88ghyz5wgkf81dgx18bj1llkax6qmianc6gk7";
-      inherit dependencies buildDependencies features;
-    };
-    backtrace_sys_0_1_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "backtrace-sys";
-      version = "0.1.16";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "1cn2c8q3dn06crmnk0p62czkngam4l8nf57wy33nz1y5g25pszwy";
-      build = "build.rs";
-      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_1_0_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "bitflags";
-      version = "1.0.1";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0p4b3nr0s5nda2qmm7xdhnvh4lkqk3xd8l9ffmwbvqw137vx7mj1";
-      inherit dependencies buildDependencies features;
-    };
-    carnix_0_5_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "carnix";
-      version = "0.5.2";
-      authors = [ "pe@pijul.org <pe@pijul.org>" ];
-      sha256 = "1znj345jziksxxkq7ap3i8p3fp3x4794qggac35d0banj7ml3fv8";
-      inherit dependencies buildDependencies features;
-    };
-    cc_1_0_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "cc";
-      version = "1.0.3";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "193pwqgh79w6k0k29svyds5nnlrwx44myqyrw605d5jj4yk2zmpr";
-      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;
-    };
-    clap_2_28_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "clap";
-      version = "2.28.0";
-      authors = [ "Kevin K. <kbknapp@gmail.com>" ];
-      sha256 = "0m0rj9xw6mja4gdhqmaldv0q5y5jfsfzbyzfd70mm3857aynq03k";
-      inherit dependencies buildDependencies features;
-    };
-    dbghelp_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "dbghelp-sys";
-      version = "0.2.0";
-      authors = [ "Peter Atashian <retep998@gmail.com>" ];
-      sha256 = "0ylpi3bbiy233m57hnisn1df1v0lbl7nsxn34b0anzsgg440hqpq";
-      libName = "dbghelp";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    dtoa_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "dtoa";
-      version = "0.4.2";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "1bxsh6fags7nr36vlz07ik2a1rzyipc8x1y30kjk832hf2pzadmw";
-      inherit dependencies buildDependencies features;
-    };
-    either_1_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "either";
-      version = "1.4.0";
-      authors = [ "bluss" ];
-      sha256 = "04kpfd84lvyrkb2z4sljlz2d3d5qczd0sb1yy37fgijq2yx3vb37";
-      inherit dependencies buildDependencies features;
-    };
-    env_logger_0_4_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "env_logger";
-      version = "0.4.3";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0nrx04p4xa86d5kc7aq4fwvipbqji9cmgy449h47nc9f1chafhgg";
-      inherit dependencies buildDependencies features;
-    };
-    error_chain_0_11_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "error-chain";
-      version = "0.11.0";
-      authors = [ "Brian Anderson <banderson@mozilla.com>" "Paul Colomiets <paul@colomiets.name>" "Colin Kiegel <kiegel@gmx.de>" "Yamakaky <yamakaky@yamaworld.fr>" ];
-      sha256 = "19nz17q6dzp0mx2jhh9qbj45gkvvgcl7zq9z2ai5a8ihbisfj6d7";
-      inherit dependencies buildDependencies features;
-    };
-    fuchsia_zircon_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "fuchsia-zircon";
-      version = "0.2.1";
-      authors = [ "Raph Levien <raph@google.com>" ];
-      sha256 = "0yd4rd7ql1vdr349p6vgq2dnwmpylky1kjp8g1zgvp250jxrhddb";
-      inherit dependencies buildDependencies features;
-    };
-    fuchsia_zircon_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "fuchsia-zircon-sys";
-      version = "0.2.0";
-      authors = [ "Raph Levien <raph@google.com>" ];
-      sha256 = "1yrqsrjwlhl3di6prxf5xmyd82gyjaysldbka5wwk83z11mpqh4w";
-      inherit dependencies buildDependencies features;
-    };
-    itertools_0_7_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "itertools";
-      version = "0.7.3";
-      authors = [ "bluss" ];
-      sha256 = "128a69cnmgpj38rs6lcwzya773d2vx7f9y7012iycjf9yi2pyckj";
-      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;
-    };
-    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;
-    };
-    libc_0_2_33_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "libc";
-      version = "0.2.33";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1l7synziccnvarsq2kk22vps720ih6chmn016bhr2bq54hblbnl1";
-      inherit dependencies buildDependencies features;
-    };
-    libsqlite3_sys_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "libsqlite3-sys";
-      version = "0.9.0";
-      authors = [ "John Gallagher <jgallagher@bignerdranch.com>" ];
-      sha256 = "1pnx3i9h85si6cs4nhazfb28hsvk7dn0arnfvpdzpjdnj9z38q57";
-      build = "build.rs";
-      inherit dependencies buildDependencies features;
-    };
-    linked_hash_map_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "linked-hash-map";
-      version = "0.4.2";
-      authors = [ "Stepan Koltsov <stepan.koltsov@gmail.com>" "Andrew Paseltiner <apaseltiner@gmail.com>" ];
-      sha256 = "04da208h6jb69f46j37jnvsw2i1wqplglp4d61csqcrhh83avbgl";
-      inherit dependencies buildDependencies features;
-    };
-    log_0_3_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "log";
-      version = "0.3.8";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1c43z4z85sxrsgir4s1hi84558ab5ic7jrn5qgmsiqcv90vvn006";
-      inherit dependencies buildDependencies features;
-    };
-    lru_cache_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "lru-cache";
-      version = "0.1.1";
-      authors = [ "Stepan Koltsov <stepan.koltsov@gmail.com>" ];
-      sha256 = "1hl6kii1g54sq649gnscv858mmw7a02xj081l4vcgvrswdi2z8fw";
-      inherit dependencies buildDependencies features;
-    };
-    memchr_1_0_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "memchr";
-      version = "1.0.2";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" "bluss" ];
-      sha256 = "0dfb8ifl9nrc9kzgd5z91q6qg87sh285q1ih7xgrsglmqfav9lg7";
-      inherit dependencies buildDependencies features;
-    };
-    nom_3_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "nom";
-      version = "3.2.1";
-      authors = [ "contact@geoffroycouprie.com" ];
-      sha256 = "1vcllxrz9hdw6j25kn020ka3psz1vkaqh1hm3yfak2240zrxgi07";
-      inherit dependencies buildDependencies features;
-    };
-    num_traits_0_1_40_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "num-traits";
-      version = "0.1.40";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1fr8ghp4i97q3agki54i0hpmqxv3s65i2mqd1pinc7w7arc3fplw";
-      inherit dependencies buildDependencies features;
-    };
-    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;
-    };
-    quote_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "quote";
-      version = "0.3.15";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "09il61jv4kd1360spaj46qwyl21fv1qz18fsv2jra8wdnlgl5jsg";
-      inherit dependencies buildDependencies features;
-    };
-    rand_0_3_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rand";
-      version = "0.3.18";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "15d7c3myn968dzjs0a2pgv58hzdavxnq6swgj032lw2v966ir4xv";
-      inherit dependencies buildDependencies features;
-    };
-    redox_syscall_0_1_32_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "redox_syscall";
-      version = "0.1.32";
-      authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
-      sha256 = "1axxj8x6ngh6npkzqc5h216fajkcyrdxdgb7m2f0n5xfclbk47fv";
-      libName = "syscall";
-      inherit dependencies buildDependencies features;
-    };
-    redox_termios_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "redox_termios";
-      version = "0.1.1";
-      authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
-      sha256 = "04s6yyzjca552hdaqlvqhp3vw0zqbc304md5czyd3axh56iry8wh";
-      libPath = "src/lib.rs";
-      inherit dependencies buildDependencies features;
-    };
-    regex_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "regex";
-      version = "0.2.2";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1f1zrrynfylg0vcfyfp60bybq4rp5g1yk2k7lc7fyz7mmc7k2qr7";
-      inherit dependencies buildDependencies features;
-    };
-    regex_syntax_0_4_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "regex-syntax";
-      version = "0.4.1";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "01yrsm68lj86ad1whgg1z95c2pfsvv58fz8qjcgw7mlszc0c08ls";
-      inherit dependencies buildDependencies features;
-    };
-    rusqlite_0_13_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rusqlite";
-      version = "0.13.0";
-      authors = [ "John Gallagher <jgallagher@bignerdranch.com>" ];
-      sha256 = "1hj2464ar2y4324sk3jx7m9byhkcp60krrrs1v1i8dlhhlnkb9hc";
-      inherit dependencies buildDependencies features;
-    };
-    rustc_demangle_0_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "rustc-demangle";
-      version = "0.1.5";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "096kkcx9j747700fhxj1s4rlwkj21pqjmvj64psdj6bakb2q13nc";
-      inherit dependencies buildDependencies features;
-    };
-    serde_1_0_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde";
-      version = "1.0.21";
-      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "10almq7pvx8s4ryiqk8gf7fj5igl0yq6dcjknwc67rkmxd8q50w3";
-      inherit dependencies buildDependencies features;
-    };
-    serde_derive_1_0_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde_derive";
-      version = "1.0.21";
-      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "0r20qyimm9scfaz7lc0swnhik9d045zklmbidd0zzpd4b2f3jsqm";
-      procMacro = true;
-      inherit dependencies buildDependencies features;
-    };
-    serde_derive_internals_0_17_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde_derive_internals";
-      version = "0.17.0";
-      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "1g1j3v6pj9wbcz3v3w4smjpwrcdwjicmf6yd5cbai04as9iwhw74";
-      inherit dependencies buildDependencies features;
-    };
-    serde_json_1_0_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "serde_json";
-      version = "1.0.6";
-      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "1kacyc59splwbg8gr7qs32pp9smgy1khq0ggnv07yxhs7h355vjz";
-      inherit dependencies buildDependencies features;
-    };
-    strsim_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "strsim";
-      version = "0.6.0";
-      authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
-      sha256 = "1lz85l6y68hr62lv4baww29yy7g8pg20dlr0lbaswxmmcb0wl7gd";
-      inherit dependencies buildDependencies features;
-    };
-    syn_0_11_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "syn";
-      version = "0.11.11";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "0yw8ng7x1dn5a6ykg0ib49y7r9nhzgpiq2989rqdp7rdz3n85502";
-      inherit dependencies buildDependencies features;
-    };
-    synom_0_11_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "synom";
-      version = "0.11.3";
-      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-      sha256 = "1l6d1s9qjfp6ng2s2z8219igvlv7gyk8gby97sdykqc1r93d8rhc";
-      inherit dependencies buildDependencies features;
-    };
-    tempdir_0_3_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "tempdir";
-      version = "0.3.5";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "0rirc5prqppzgd15fm8ayan349lgk2k5iqdkrbwrwrv5pm4znsnz";
-      inherit dependencies buildDependencies features;
-    };
-    termion_1_5_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "termion";
-      version = "1.5.1";
-      authors = [ "ticki <Ticki@users.noreply.github.com>" "gycos <alexandre.bury@gmail.com>" "IGI-111 <igi-111@protonmail.com>" ];
-      sha256 = "02gq4vd8iws1f3gjrgrgpajsk2bk43nds5acbbb4s8dvrdvr8nf1";
-      inherit dependencies buildDependencies features;
-    };
-    textwrap_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "textwrap";
-      version = "0.9.0";
-      authors = [ "Martin Geisler <martin@geisler.net>" ];
-      sha256 = "18jg79ndjlwndz01mlbh82kkr2arqm658yn5kwp65l5n1hz8w4yb";
-      inherit dependencies buildDependencies features;
-    };
-    thread_local_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "thread_local";
-      version = "0.3.4";
-      authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
-      sha256 = "1y6cwyhhx2nkz4b3dziwhqdvgq830z8wjp32b40pjd8r0hxqv2jr";
-      inherit dependencies buildDependencies features;
-    };
-    time_0_1_38_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "time";
-      version = "0.1.38";
-      authors = [ "The Rust Project Developers" ];
-      sha256 = "1ws283vvz7c6jfiwn53rmc6kybapr4pjaahfxxrz232b0qzw7gcp";
-      inherit dependencies buildDependencies features;
-    };
-    toml_0_4_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "toml";
-      version = "0.4.5";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-      sha256 = "06zxqhn3y58yzjfaykhcrvlf7p2dnn54kn3g4apmja3cn5b18lkk";
-      inherit dependencies buildDependencies features;
-    };
-    unicode_width_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "unicode-width";
-      version = "0.1.4";
-      authors = [ "kwantam <kwantam@gmail.com>" ];
-      sha256 = "1rp7a04icn9y5c0lm74nrd4py0rdl0af8bhdwq7g478n1xifpifl";
-      inherit dependencies buildDependencies features;
-    };
-    unicode_xid_0_0_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "unicode-xid";
-      version = "0.0.4";
-      authors = [ "erick.tryzelaar <erick.tryzelaar@gmail.com>" "kwantam <kwantam@gmail.com>" ];
-      sha256 = "1dc8wkkcd3s6534s5aw4lbjn8m67flkkbnajp5bl8408wdg8rh9v";
-      inherit dependencies buildDependencies features;
-    };
-    unreachable_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "unreachable";
-      version = "1.0.0";
-      authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
-      sha256 = "1am8czbk5wwr25gbp2zr007744fxjshhdqjz9liz7wl4pnv3whcf";
-      inherit dependencies buildDependencies features;
-    };
-    utf8_ranges_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "utf8-ranges";
-      version = "1.0.0";
-      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-      sha256 = "0rzmqprwjv9yp1n0qqgahgm24872x6c0xddfym5pfndy7a36vkn0";
-      inherit dependencies buildDependencies features;
-    };
-    vcpkg_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "vcpkg";
-      version = "0.2.2";
-      authors = [ "Jim McGrath <jimmc2@gmail.com>" ];
-      sha256 = "1fl5j0ksnwrnsrf1b1a9lqbjgnajdipq0030vsbhx81mb7d9478a";
-      inherit dependencies buildDependencies features;
-    };
-    vec_map_0_8_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-      crateName = "vec_map";
-      version = "0.8.0";
-      authors = [ "Alex Crichton <alex@alexcrichton.com>" "Jorge Aparicio <japaricious@gmail.com>" "Alexis Beingessner <a.beingessner@gmail.com>" "Brian Anderson <>" "tbu- <>" "Manish Goregaokar <>" "Aaron Turon <aturon@mozilla.com>" "Adolfo Ochagavía <>" "Niko Matsakis <>" "Steven Fackler <>" "Chase Southwood <csouth3@illinois.edu>" "Eduard Burtescu <>" "Florian Wilkens <>" "Félix Raimundo <>" "Tibor Benke <>" "Markus Siemens <markus@m-siemens.de>" "Josh Branchaud <jbranchaud@gmail.com>" "Huon Wilson <dbau.pp@gmail.com>" "Corey Farwell <coref@rwell.org>" "Aaron Liblong <>" "Nick Cameron <nrc@ncameron.org>" "Patrick Walton <pcwalton@mimiga.net>" "Felix S Klock II <>" "Andrew Paseltiner <apaseltiner@gmail.com>" "Sean McArthur <sean.monstar@gmail.com>" "Vadim Petrochenkov <>" ];
-      sha256 = "07sgxp3cf1a4cxm9n3r27fcvqmld32bl2576mrcahnvm34j11xay";
-      inherit dependencies buildDependencies features;
-    };
-    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;
-    };
-    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;
-    };
-
+    ) (if hasFeature (feat.default or {}) then [ "default" ] else []) (builtins.attrNames feat);
 in
 rec {
-  aho_corasick_0_6_3 = aho_corasick_0_6_3_ rec {
-    dependencies = [ memchr_1_0_2 ];
-  };
-  memchr_1_0_2_features."default".from_aho_corasick_0_6_3__default = true;
-  ansi_term_0_10_2 = ansi_term_0_10_2_ rec {};
-  atty_0_2_3 = atty_0_2_3_ rec {
-    dependencies = (if kernel == "redox" then [ termion_1_5_1 ] else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-  };
-  termion_1_5_1_features."default".from_atty_0_2_3__default = true;
-  libc_0_2_33_features."default".from_atty_0_2_3__default = false;
-  kernel32_sys_0_2_2_features."default".from_atty_0_2_3__default = true;
-  winapi_0_2_8_features."default".from_atty_0_2_3__default = true;
-  backtrace_0_3_4 = backtrace_0_3_4_ rec {
-    dependencies = [ cfg_if_0_1_2 rustc_demangle_0_1_5 ]
-      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "fuchsia") && !(kernel == "emscripten") && !(kernel == "darwin") && !(kernel == "ios") then [ backtrace_sys_0_1_16 ]
-      ++ (if lib.lists.any (x: x == "backtrace-sys") features then [backtrace_sys_0_1_16] else []) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "windows" then [ dbghelp_sys_0_2_0 kernel32_sys_0_2_2 winapi_0_2_8 ]
-      ++ (if lib.lists.any (x: x == "dbghelp-sys") features then [dbghelp_sys_0_2_0] else [])      ++ (if lib.lists.any (x: x == "kernel32-sys") features then [kernel32_sys_0_2_2] else [])      ++ (if lib.lists.any (x: x == "winapi") features then [winapi_0_2_8] else []) else []);
-    features = mkFeatures backtrace_0_3_4_features;
-  };
-  backtrace_0_3_4_features."".self = true;
-  backtrace_0_3_4_features."kernel32-sys".self_dbghelp = hasFeature (backtrace_0_3_4_features."dbghelp" or {});
-  backtrace_0_3_4_features."winapi".self_dbghelp = hasFeature (backtrace_0_3_4_features."dbghelp" or {});
-  backtrace_0_3_4_features."dbghelp-sys".self_dbghelp = hasFeature (backtrace_0_3_4_features."dbghelp" or {});
-  backtrace_0_3_4_features."libunwind".self_default = hasDefault backtrace_0_3_4_features;
-  backtrace_0_3_4_features."libbacktrace".self_default = hasDefault backtrace_0_3_4_features;
-  backtrace_0_3_4_features."coresymbolication".self_default = hasDefault backtrace_0_3_4_features;
-  backtrace_0_3_4_features."dladdr".self_default = hasDefault backtrace_0_3_4_features;
-  backtrace_0_3_4_features."dbghelp".self_default = hasDefault backtrace_0_3_4_features;
-  backtrace_0_3_4_features."addr2line".self_gimli-symbolize = hasFeature (backtrace_0_3_4_features."gimli-symbolize" or {});
-  backtrace_0_3_4_features."findshlibs".self_gimli-symbolize = hasFeature (backtrace_0_3_4_features."gimli-symbolize" or {});
-  backtrace_0_3_4_features."backtrace-sys".self_libbacktrace = hasFeature (backtrace_0_3_4_features."libbacktrace" or {});
-  backtrace_0_3_4_features."rustc-serialize".self_serialize-rustc = hasFeature (backtrace_0_3_4_features."serialize-rustc" or {});
-  backtrace_0_3_4_features."serde".self_serialize-serde = hasFeature (backtrace_0_3_4_features."serialize-serde" or {});
-  backtrace_0_3_4_features."serde_derive".self_serialize-serde = hasFeature (backtrace_0_3_4_features."serialize-serde" or {});
-  addr2line_0_0_0_features."default".from_backtrace_0_3_4__default = true;
-  cfg_if_0_1_2_features."default".from_backtrace_0_3_4__default = true;
-  cpp_demangle_0_0_0_features."default".from_backtrace_0_3_4__default = false;
-  findshlibs_0_0_0_features."default".from_backtrace_0_3_4__default = true;
-  rustc_demangle_0_1_5_features."default".from_backtrace_0_3_4__default = true;
-  rustc_serialize_0_0_0_features."default".from_backtrace_0_3_4__default = true;
-  serde_0_0_0_features."default".from_backtrace_0_3_4__default = true;
-  serde_derive_0_0_0_features."default".from_backtrace_0_3_4__default = true;
-  backtrace_sys_0_1_16_features."default".from_backtrace_0_3_4__default = true;
-  libc_0_2_33_features."default".from_backtrace_0_3_4__default = true;
-  dbghelp_sys_0_2_0_features."default".from_backtrace_0_3_4__default = true;
-  kernel32_sys_0_2_2_features."default".from_backtrace_0_3_4__default = true;
-  winapi_0_2_8_features."default".from_backtrace_0_3_4__default = true;
-  backtrace_sys_0_1_16 = backtrace_sys_0_1_16_ rec {
-    dependencies = [ libc_0_2_33 ];
-    buildDependencies = [ cc_1_0_3 ];
-  };
-  libc_0_2_33_features."default".from_backtrace_sys_0_1_16__default = true;
-  bitflags_0_7_0 = bitflags_0_7_0_ rec {};
-  bitflags_1_0_1 = bitflags_1_0_1_ rec {
-    features = mkFeatures bitflags_1_0_1_features;
-  };
-  bitflags_1_0_1_features."example_generated".self_default = hasDefault bitflags_1_0_1_features;
-  carnix_0_5_2 = carnix_0_5_2_ rec {
-    dependencies = [ clap_2_28_0 env_logger_0_4_3 error_chain_0_11_0 itertools_0_7_3 log_0_3_8 nom_3_2_1 regex_0_2_2 rusqlite_0_13_0 serde_1_0_21 serde_derive_1_0_21 serde_json_1_0_6 tempdir_0_3_5 toml_0_4_5 ];
-  };
-  clap_2_28_0_features."default".from_carnix_0_5_2__default = true;
-  env_logger_0_4_3_features."default".from_carnix_0_5_2__default = true;
-  error_chain_0_11_0_features."default".from_carnix_0_5_2__default = true;
-  itertools_0_7_3_features."default".from_carnix_0_5_2__default = true;
-  log_0_3_8_features."default".from_carnix_0_5_2__default = true;
-  nom_3_2_1_features."default".from_carnix_0_5_2__default = true;
-  regex_0_2_2_features."default".from_carnix_0_5_2__default = true;
-  rusqlite_0_13_0_features."default".from_carnix_0_5_2__default = true;
-  serde_1_0_21_features."default".from_carnix_0_5_2__default = true;
-  serde_derive_1_0_21_features."default".from_carnix_0_5_2__default = true;
-  serde_json_1_0_6_features."default".from_carnix_0_5_2__default = true;
-  tempdir_0_3_5_features."default".from_carnix_0_5_2__default = true;
-  toml_0_4_5_features."default".from_carnix_0_5_2__default = true;
-  cc_1_0_3 = cc_1_0_3_ rec {
+  aho_corasick_0_6_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "aho-corasick";
+    version = "0.6.3";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "1cpqzf6acj8lm06z3f1cg41wn6c2n9l3v49nh0dvimv4055qib6k";
+    libName = "aho_corasick";
+    crateBin = [ {  name = "aho-corasick-dot"; } ];
+    inherit dependencies buildDependencies features;
+  };
+  ansi_term_0_10_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "ansi_term";
+    version = "0.10.2";
+    authors = [ "ogham@bsago.me" "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>" "Josh Triplett <josh@joshtriplett.org>" ];
+    sha256 = "07k0hfmlhv43lihyxb9d81l5mq5zlpqvv30dkfd3knmv2ginasn9";
+    inherit dependencies buildDependencies features;
+  };
+  atty_0_2_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "atty";
+    version = "0.2.3";
+    authors = [ "softprops <d.tangren@gmail.com>" ];
+    sha256 = "0zl0cjfgarp5y78nd755lpki5bbkj4hgmi88v265m543yg29i88f";
+    inherit dependencies buildDependencies features;
+  };
+  backtrace_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "backtrace";
+    version = "0.3.4";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "The Rust Project Developers" ];
+    sha256 = "1caba8w3rqd5ghr88ghyz5wgkf81dgx18bj1llkax6qmianc6gk7";
+    inherit dependencies buildDependencies features;
+  };
+  backtrace_sys_0_1_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "backtrace-sys";
+    version = "0.1.16";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1cn2c8q3dn06crmnk0p62czkngam4l8nf57wy33nz1y5g25pszwy";
+    build = "build.rs";
+    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_1_0_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "bitflags";
+    version = "1.0.1";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0p4b3nr0s5nda2qmm7xdhnvh4lkqk3xd8l9ffmwbvqw137vx7mj1";
+    inherit dependencies buildDependencies features;
+  };
+  carnix_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "carnix";
+    version = "0.6.0";
+    authors = [ "pe@pijul.org <pe@pijul.org>" ];
+    src = include [ "Cargo.toml" "src/main.rs" "src/cache.rs" "src/cfg.rs" "src/krate/mod.rs" "src/krate/prefetch.rs" ] ./.;
+    inherit dependencies buildDependencies features;
+  };
+  cc_1_0_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "cc";
+    version = "1.0.3";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "193pwqgh79w6k0k29svyds5nnlrwx44myqyrw605d5jj4yk2zmpr";
+    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;
+  };
+  clap_2_28_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "clap";
+    version = "2.28.0";
+    authors = [ "Kevin K. <kbknapp@gmail.com>" ];
+    sha256 = "0m0rj9xw6mja4gdhqmaldv0q5y5jfsfzbyzfd70mm3857aynq03k";
+    inherit dependencies buildDependencies features;
+  };
+  dbghelp_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "dbghelp-sys";
+    version = "0.2.0";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "0ylpi3bbiy233m57hnisn1df1v0lbl7nsxn34b0anzsgg440hqpq";
+    libName = "dbghelp";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  dtoa_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "dtoa";
+    version = "0.4.2";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1bxsh6fags7nr36vlz07ik2a1rzyipc8x1y30kjk832hf2pzadmw";
+    inherit dependencies buildDependencies features;
+  };
+  either_1_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "either";
+    version = "1.4.0";
+    authors = [ "bluss" ];
+    sha256 = "04kpfd84lvyrkb2z4sljlz2d3d5qczd0sb1yy37fgijq2yx3vb37";
+    inherit dependencies buildDependencies features;
+  };
+  env_logger_0_4_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "env_logger";
+    version = "0.4.3";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0nrx04p4xa86d5kc7aq4fwvipbqji9cmgy449h47nc9f1chafhgg";
+    inherit dependencies buildDependencies features;
+  };
+  error_chain_0_11_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "error-chain";
+    version = "0.11.0";
+    authors = [ "Brian Anderson <banderson@mozilla.com>" "Paul Colomiets <paul@colomiets.name>" "Colin Kiegel <kiegel@gmx.de>" "Yamakaky <yamakaky@yamaworld.fr>" ];
+    sha256 = "19nz17q6dzp0mx2jhh9qbj45gkvvgcl7zq9z2ai5a8ihbisfj6d7";
+    inherit dependencies buildDependencies features;
+  };
+  fuchsia_zircon_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "fuchsia-zircon";
+    version = "0.2.1";
+    authors = [ "Raph Levien <raph@google.com>" ];
+    sha256 = "0yd4rd7ql1vdr349p6vgq2dnwmpylky1kjp8g1zgvp250jxrhddb";
+    inherit dependencies buildDependencies features;
+  };
+  fuchsia_zircon_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "fuchsia-zircon-sys";
+    version = "0.2.0";
+    authors = [ "Raph Levien <raph@google.com>" ];
+    sha256 = "1yrqsrjwlhl3di6prxf5xmyd82gyjaysldbka5wwk83z11mpqh4w";
+    inherit dependencies buildDependencies features;
+  };
+  itertools_0_7_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "itertools";
+    version = "0.7.3";
+    authors = [ "bluss" ];
+    sha256 = "128a69cnmgpj38rs6lcwzya773d2vx7f9y7012iycjf9yi2pyckj";
+    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;
+  };
+  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;
+  };
+  libc_0_2_33_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "libc";
+    version = "0.2.33";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1l7synziccnvarsq2kk22vps720ih6chmn016bhr2bq54hblbnl1";
+    inherit dependencies buildDependencies features;
+  };
+  libsqlite3_sys_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "libsqlite3-sys";
+    version = "0.9.0";
+    authors = [ "John Gallagher <jgallagher@bignerdranch.com>" ];
+    sha256 = "1pnx3i9h85si6cs4nhazfb28hsvk7dn0arnfvpdzpjdnj9z38q57";
+    build = "build.rs";
+    inherit dependencies buildDependencies features;
+  };
+  linked_hash_map_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "linked-hash-map";
+    version = "0.4.2";
+    authors = [ "Stepan Koltsov <stepan.koltsov@gmail.com>" "Andrew Paseltiner <apaseltiner@gmail.com>" ];
+    sha256 = "04da208h6jb69f46j37jnvsw2i1wqplglp4d61csqcrhh83avbgl";
+    inherit dependencies buildDependencies features;
+  };
+  log_0_3_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "log";
+    version = "0.3.8";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1c43z4z85sxrsgir4s1hi84558ab5ic7jrn5qgmsiqcv90vvn006";
+    inherit dependencies buildDependencies features;
+  };
+  lru_cache_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "lru-cache";
+    version = "0.1.1";
+    authors = [ "Stepan Koltsov <stepan.koltsov@gmail.com>" ];
+    sha256 = "1hl6kii1g54sq649gnscv858mmw7a02xj081l4vcgvrswdi2z8fw";
+    inherit dependencies buildDependencies features;
+  };
+  memchr_1_0_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "memchr";
+    version = "1.0.2";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" "bluss" ];
+    sha256 = "0dfb8ifl9nrc9kzgd5z91q6qg87sh285q1ih7xgrsglmqfav9lg7";
+    inherit dependencies buildDependencies features;
+  };
+  nom_3_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "nom";
+    version = "3.2.1";
+    authors = [ "contact@geoffroycouprie.com" ];
+    sha256 = "1vcllxrz9hdw6j25kn020ka3psz1vkaqh1hm3yfak2240zrxgi07";
+    inherit dependencies buildDependencies features;
+  };
+  num_traits_0_1_40_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "num-traits";
+    version = "0.1.40";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1fr8ghp4i97q3agki54i0hpmqxv3s65i2mqd1pinc7w7arc3fplw";
+    inherit dependencies buildDependencies features;
+  };
+  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;
+  };
+  quote_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "quote";
+    version = "0.3.15";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "09il61jv4kd1360spaj46qwyl21fv1qz18fsv2jra8wdnlgl5jsg";
+    inherit dependencies buildDependencies features;
+  };
+  rand_0_3_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rand";
+    version = "0.3.18";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "15d7c3myn968dzjs0a2pgv58hzdavxnq6swgj032lw2v966ir4xv";
+    inherit dependencies buildDependencies features;
+  };
+  redox_syscall_0_1_32_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "redox_syscall";
+    version = "0.1.32";
+    authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
+    sha256 = "1axxj8x6ngh6npkzqc5h216fajkcyrdxdgb7m2f0n5xfclbk47fv";
+    libName = "syscall";
+    inherit dependencies buildDependencies features;
+  };
+  redox_termios_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "redox_termios";
+    version = "0.1.1";
+    authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
+    sha256 = "04s6yyzjca552hdaqlvqhp3vw0zqbc304md5czyd3axh56iry8wh";
+    libPath = "src/lib.rs";
+    inherit dependencies buildDependencies features;
+  };
+  regex_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "regex";
+    version = "0.2.2";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1f1zrrynfylg0vcfyfp60bybq4rp5g1yk2k7lc7fyz7mmc7k2qr7";
+    inherit dependencies buildDependencies features;
+  };
+  regex_syntax_0_4_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "regex-syntax";
+    version = "0.4.1";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "01yrsm68lj86ad1whgg1z95c2pfsvv58fz8qjcgw7mlszc0c08ls";
+    inherit dependencies buildDependencies features;
+  };
+  rusqlite_0_13_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rusqlite";
+    version = "0.13.0";
+    authors = [ "John Gallagher <jgallagher@bignerdranch.com>" ];
+    sha256 = "1hj2464ar2y4324sk3jx7m9byhkcp60krrrs1v1i8dlhhlnkb9hc";
+    inherit dependencies buildDependencies features;
+  };
+  rustc_demangle_0_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "rustc-demangle";
+    version = "0.1.5";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "096kkcx9j747700fhxj1s4rlwkj21pqjmvj64psdj6bakb2q13nc";
+    inherit dependencies buildDependencies features;
+  };
+  serde_1_0_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "serde";
+    version = "1.0.21";
+    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "10almq7pvx8s4ryiqk8gf7fj5igl0yq6dcjknwc67rkmxd8q50w3";
+    inherit dependencies buildDependencies features;
+  };
+  serde_derive_1_0_21_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "serde_derive";
+    version = "1.0.21";
+    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "0r20qyimm9scfaz7lc0swnhik9d045zklmbidd0zzpd4b2f3jsqm";
+    procMacro = true;
+    inherit dependencies buildDependencies features;
+  };
+  serde_derive_internals_0_17_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "serde_derive_internals";
+    version = "0.17.0";
+    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1g1j3v6pj9wbcz3v3w4smjpwrcdwjicmf6yd5cbai04as9iwhw74";
+    inherit dependencies buildDependencies features;
+  };
+  serde_json_1_0_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "serde_json";
+    version = "1.0.6";
+    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1kacyc59splwbg8gr7qs32pp9smgy1khq0ggnv07yxhs7h355vjz";
+    inherit dependencies buildDependencies features;
+  };
+  strsim_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "strsim";
+    version = "0.6.0";
+    authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
+    sha256 = "1lz85l6y68hr62lv4baww29yy7g8pg20dlr0lbaswxmmcb0wl7gd";
+    inherit dependencies buildDependencies features;
+  };
+  syn_0_11_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "syn";
+    version = "0.11.11";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "0yw8ng7x1dn5a6ykg0ib49y7r9nhzgpiq2989rqdp7rdz3n85502";
+    inherit dependencies buildDependencies features;
+  };
+  synom_0_11_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "synom";
+    version = "0.11.3";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1l6d1s9qjfp6ng2s2z8219igvlv7gyk8gby97sdykqc1r93d8rhc";
+    inherit dependencies buildDependencies features;
+  };
+  tempdir_0_3_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "tempdir";
+    version = "0.3.5";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0rirc5prqppzgd15fm8ayan349lgk2k5iqdkrbwrwrv5pm4znsnz";
+    inherit dependencies buildDependencies features;
+  };
+  termion_1_5_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "termion";
+    version = "1.5.1";
+    authors = [ "ticki <Ticki@users.noreply.github.com>" "gycos <alexandre.bury@gmail.com>" "IGI-111 <igi-111@protonmail.com>" ];
+    sha256 = "02gq4vd8iws1f3gjrgrgpajsk2bk43nds5acbbb4s8dvrdvr8nf1";
+    inherit dependencies buildDependencies features;
+  };
+  textwrap_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "textwrap";
+    version = "0.9.0";
+    authors = [ "Martin Geisler <martin@geisler.net>" ];
+    sha256 = "18jg79ndjlwndz01mlbh82kkr2arqm658yn5kwp65l5n1hz8w4yb";
+    inherit dependencies buildDependencies features;
+  };
+  thread_local_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "thread_local";
+    version = "0.3.4";
+    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
+    sha256 = "1y6cwyhhx2nkz4b3dziwhqdvgq830z8wjp32b40pjd8r0hxqv2jr";
+    inherit dependencies buildDependencies features;
+  };
+  time_0_1_38_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "time";
+    version = "0.1.38";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1ws283vvz7c6jfiwn53rmc6kybapr4pjaahfxxrz232b0qzw7gcp";
+    inherit dependencies buildDependencies features;
+  };
+  toml_0_4_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "toml";
+    version = "0.4.5";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "06zxqhn3y58yzjfaykhcrvlf7p2dnn54kn3g4apmja3cn5b18lkk";
+    inherit dependencies buildDependencies features;
+  };
+  unicode_width_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "unicode-width";
+    version = "0.1.4";
+    authors = [ "kwantam <kwantam@gmail.com>" ];
+    sha256 = "1rp7a04icn9y5c0lm74nrd4py0rdl0af8bhdwq7g478n1xifpifl";
+    inherit dependencies buildDependencies features;
+  };
+  unicode_xid_0_0_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "unicode-xid";
+    version = "0.0.4";
+    authors = [ "erick.tryzelaar <erick.tryzelaar@gmail.com>" "kwantam <kwantam@gmail.com>" ];
+    sha256 = "1dc8wkkcd3s6534s5aw4lbjn8m67flkkbnajp5bl8408wdg8rh9v";
+    inherit dependencies buildDependencies features;
+  };
+  unreachable_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "unreachable";
+    version = "1.0.0";
+    authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
+    sha256 = "1am8czbk5wwr25gbp2zr007744fxjshhdqjz9liz7wl4pnv3whcf";
+    inherit dependencies buildDependencies features;
+  };
+  utf8_ranges_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "utf8-ranges";
+    version = "1.0.0";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "0rzmqprwjv9yp1n0qqgahgm24872x6c0xddfym5pfndy7a36vkn0";
+    inherit dependencies buildDependencies features;
+  };
+  vcpkg_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "vcpkg";
+    version = "0.2.2";
+    authors = [ "Jim McGrath <jimmc2@gmail.com>" ];
+    sha256 = "1fl5j0ksnwrnsrf1b1a9lqbjgnajdipq0030vsbhx81mb7d9478a";
+    inherit dependencies buildDependencies features;
+  };
+  vec_map_0_8_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+    crateName = "vec_map";
+    version = "0.8.0";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Jorge Aparicio <japaricious@gmail.com>" "Alexis Beingessner <a.beingessner@gmail.com>" "Brian Anderson <>" "tbu- <>" "Manish Goregaokar <>" "Aaron Turon <aturon@mozilla.com>" "Adolfo Ochagavía <>" "Niko Matsakis <>" "Steven Fackler <>" "Chase Southwood <csouth3@illinois.edu>" "Eduard Burtescu <>" "Florian Wilkens <>" "Félix Raimundo <>" "Tibor Benke <>" "Markus Siemens <markus@m-siemens.de>" "Josh Branchaud <jbranchaud@gmail.com>" "Huon Wilson <dbau.pp@gmail.com>" "Corey Farwell <coref@rwell.org>" "Aaron Liblong <>" "Nick Cameron <nrc@ncameron.org>" "Patrick Walton <pcwalton@mimiga.net>" "Felix S Klock II <>" "Andrew Paseltiner <apaseltiner@gmail.com>" "Sean McArthur <sean.monstar@gmail.com>" "Vadim Petrochenkov <>" ];
+    sha256 = "07sgxp3cf1a4cxm9n3r27fcvqmld32bl2576mrcahnvm34j11xay";
+    inherit dependencies buildDependencies features;
+  };
+  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;
+  };
+  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;
+  };
+  aho_corasick_0_6_3 = f: aho_corasick_0_6_3_ rec {
+    dependencies = [ (memchr_1_0_2 f) ];
+  };
+  aho_corasick_0_6_3_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        memchr_1_0_2.default.from_aho_corasick_0_6_3__default_ = true;
+      }))
+    [ memchr_1_0_2_features ];
+  ansi_term_0_10_2 = f: ansi_term_0_10_2_ rec {};
+  ansi_term_0_10_2_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+      }))
+    [ ];
+  atty_0_2_3 = f: atty_0_2_3_ rec {
+    dependencies = (if kernel == "redox" then [ (termion_1_5_1 f) ] else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then [ (libc_0_2_33 f) ] else [])
+      ++ (if kernel == "windows" then [ (kernel32_sys_0_2_2 f) (winapi_0_2_8 f) ] else []);
+  };
+  atty_0_2_3_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        kernel32_sys_0_2_2.default.from_atty_0_2_3__default_ = true;
+        libc_0_2_33.default.from_atty_0_2_3__default_ = false;
+        termion_1_5_1.default.from_atty_0_2_3__default_ = true;
+        winapi_0_2_8.default.from_atty_0_2_3__default_ = true;
+      }))
+    [ termion_1_5_1_features libc_0_2_33_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
+  backtrace_0_3_4 = f: backtrace_0_3_4_ rec {
+    dependencies = [ (cfg_if_0_1_2 f) (rustc_demangle_0_1_5 f) ]
+      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "fuchsia") && !(kernel == "emscripten") && !(kernel == "darwin") && !(kernel == "ios") then [ ]
+      ++ (if hasFeature (f.backtrace_0_3_4."backtrace-sys" or {}) then [(backtrace_sys_0_1_16 f)] else []) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then [ (libc_0_2_33 f) ] else [])
+      ++ (if kernel == "windows" then [ ]
+      ++ (if hasFeature (f.backtrace_0_3_4."dbghelp-sys" or {}) then [(dbghelp_sys_0_2_0 f)] else [])
+      ++ (if hasFeature (f.backtrace_0_3_4."kernel32-sys" or {}) then [(kernel32_sys_0_2_2 f)] else [])
+      ++ (if hasFeature (f.backtrace_0_3_4."winapi" or {}) then [(winapi_0_2_8 f)] else []) else []);
+    features = mkFeatures (f.backtrace_0_3_4 or {});
+  };
+  backtrace_0_3_4_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        backtrace_0_3_4."kernel32-sys".self_dbghelp = hasFeature (backtrace_0_3_4."dbghelp" or {}) || hasFeature (features.backtrace_0_3_4."dbghelp" or {});
+        backtrace_0_3_4."winapi".self_dbghelp = hasFeature (backtrace_0_3_4."dbghelp" or {}) || hasFeature (features.backtrace_0_3_4."dbghelp" or {});
+        backtrace_0_3_4."dbghelp-sys".self_dbghelp = hasFeature (backtrace_0_3_4."dbghelp" or {}) || hasFeature (features.backtrace_0_3_4."dbghelp" or {});
+        backtrace_0_3_4."libunwind".self_default = hasFeature (backtrace_0_3_4.default or {}) || hasFeature (features.backtrace_0_3_4.default or {});
+        backtrace_0_3_4."libbacktrace".self_default = hasFeature (backtrace_0_3_4.default or {}) || hasFeature (features.backtrace_0_3_4.default or {});
+        backtrace_0_3_4."coresymbolication".self_default = hasFeature (backtrace_0_3_4.default or {}) || hasFeature (features.backtrace_0_3_4.default or {});
+        backtrace_0_3_4."dladdr".self_default = hasFeature (backtrace_0_3_4.default or {}) || hasFeature (features.backtrace_0_3_4.default or {});
+        backtrace_0_3_4."dbghelp".self_default = hasFeature (backtrace_0_3_4.default or {}) || hasFeature (features.backtrace_0_3_4.default or {});
+        backtrace_0_3_4."addr2line".self_gimli-symbolize = hasFeature (backtrace_0_3_4."gimli-symbolize" or {}) || hasFeature (features.backtrace_0_3_4."gimli-symbolize" or {});
+        backtrace_0_3_4."findshlibs".self_gimli-symbolize = hasFeature (backtrace_0_3_4."gimli-symbolize" or {}) || hasFeature (features.backtrace_0_3_4."gimli-symbolize" or {});
+        backtrace_0_3_4."backtrace-sys".self_libbacktrace = hasFeature (backtrace_0_3_4."libbacktrace" or {}) || hasFeature (features.backtrace_0_3_4."libbacktrace" or {});
+        backtrace_0_3_4."rustc-serialize".self_serialize-rustc = hasFeature (backtrace_0_3_4."serialize-rustc" or {}) || hasFeature (features.backtrace_0_3_4."serialize-rustc" or {});
+        backtrace_0_3_4."serde".self_serialize-serde = hasFeature (backtrace_0_3_4."serialize-serde" or {}) || hasFeature (features.backtrace_0_3_4."serialize-serde" or {});
+        backtrace_0_3_4."serde_derive".self_serialize-serde = hasFeature (backtrace_0_3_4."serialize-serde" or {}) || hasFeature (features.backtrace_0_3_4."serialize-serde" or {});
+        backtrace_sys_0_1_16.default.from_backtrace_0_3_4__default_ = true;
+        cfg_if_0_1_2.default.from_backtrace_0_3_4__default_ = true;
+        dbghelp_sys_0_2_0.default.from_backtrace_0_3_4__default_ = true;
+        kernel32_sys_0_2_2.default.from_backtrace_0_3_4__default_ = true;
+        libc_0_2_33.default.from_backtrace_0_3_4__default_ = true;
+        rustc_demangle_0_1_5.default.from_backtrace_0_3_4__default_ = true;
+        winapi_0_2_8.default.from_backtrace_0_3_4__default_ = true;
+      }))
+    [ cfg_if_0_1_2_features rustc_demangle_0_1_5_features backtrace_sys_0_1_16_features libc_0_2_33_features dbghelp_sys_0_2_0_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
+  backtrace_sys_0_1_16 = f: backtrace_sys_0_1_16_ rec {
+    dependencies = [ (libc_0_2_33 f) ];
+    buildDependencies = [ (cc_1_0_3 f) ];
+  };
+  backtrace_sys_0_1_16_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        cc_1_0_3.default.from_backtrace_sys_0_1_16__default_ = true;
+        libc_0_2_33.default.from_backtrace_sys_0_1_16__default_ = true;
+      }))
+    [ libc_0_2_33_features cc_1_0_3_features ];
+  bitflags_0_7_0 = f: bitflags_0_7_0_ rec {};
+  bitflags_0_7_0_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+      }))
+    [ ];
+  bitflags_1_0_1 = f: bitflags_1_0_1_ rec {
+    features = mkFeatures (f.bitflags_1_0_1 or {});
+  };
+  bitflags_1_0_1_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        bitflags_1_0_1."example_generated".self_default = hasFeature (bitflags_1_0_1.default or {}) || hasFeature (features.bitflags_1_0_1.default or {});
+      }))
+    [ ];
+  carnix_0_6_0 = f: carnix_0_6_0_ rec {
+    dependencies = [ (clap_2_28_0 f) (env_logger_0_4_3 f) (error_chain_0_11_0 f) (itertools_0_7_3 f) (log_0_3_8 f) (nom_3_2_1 f) (regex_0_2_2 f) (rusqlite_0_13_0 f) (serde_1_0_21 f) (serde_derive_1_0_21 f) (serde_json_1_0_6 f) (tempdir_0_3_5 f) (toml_0_4_5 f) ];
+  };
+  carnix_0_6_0_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        clap_2_28_0.default.from_carnix_0_6_0__default_ = true;
+        env_logger_0_4_3.default.from_carnix_0_6_0__default_ = true;
+        error_chain_0_11_0.default.from_carnix_0_6_0__default_ = true;
+        itertools_0_7_3.default.from_carnix_0_6_0__default_ = true;
+        log_0_3_8.default.from_carnix_0_6_0__default_ = true;
+        nom_3_2_1.default.from_carnix_0_6_0__default_ = true;
+        regex_0_2_2.default.from_carnix_0_6_0__default_ = true;
+        rusqlite_0_13_0.default.from_carnix_0_6_0__default_ = true;
+        serde_1_0_21.default.from_carnix_0_6_0__default_ = true;
+        serde_derive_1_0_21.default.from_carnix_0_6_0__default_ = true;
+        serde_json_1_0_6.default.from_carnix_0_6_0__default_ = true;
+        tempdir_0_3_5.default.from_carnix_0_6_0__default_ = true;
+        toml_0_4_5.default.from_carnix_0_6_0__default_ = true;
+      }))
+    [ clap_2_28_0_features env_logger_0_4_3_features error_chain_0_11_0_features itertools_0_7_3_features log_0_3_8_features nom_3_2_1_features regex_0_2_2_features rusqlite_0_13_0_features serde_1_0_21_features serde_derive_1_0_21_features serde_json_1_0_6_features tempdir_0_3_5_features toml_0_4_5_features ];
+  cc_1_0_3 = f: cc_1_0_3_ rec {
     dependencies = [];
-    features = mkFeatures cc_1_0_3_features;
-  };
-  cc_1_0_3_features."rayon".self_parallel = hasFeature (cc_1_0_3_features."parallel" or {});
-  rayon_0_0_0_features."default".from_cc_1_0_3__default = true;
-  cfg_if_0_1_2 = cfg_if_0_1_2_ rec {};
-  clap_2_28_0 = clap_2_28_0_ rec {
-    dependencies = [ ansi_term_0_10_2 atty_0_2_3 bitflags_1_0_1 strsim_0_6_0 textwrap_0_9_0 unicode_width_0_1_4 vec_map_0_8_0 ]
-      ++ (if lib.lists.any (x: x == "ansi_term") features then [ansi_term_0_10_2] else [])      ++ (if lib.lists.any (x: x == "atty") features then [atty_0_2_3] else [])      ++ (if lib.lists.any (x: x == "strsim") features then [strsim_0_6_0] else [])      ++ (if lib.lists.any (x: x == "vec_map") features then [vec_map_0_8_0] else []);
-    features = mkFeatures clap_2_28_0_features;
-  };
-  clap_2_28_0_features."".self = true;
-  clap_2_28_0_features."ansi_term".self_color = hasFeature (clap_2_28_0_features."color" or {});
-  clap_2_28_0_features."atty".self_color = hasFeature (clap_2_28_0_features."color" or {});
-  clap_2_28_0_features."suggestions".self_default = hasDefault clap_2_28_0_features;
-  clap_2_28_0_features."color".self_default = hasDefault clap_2_28_0_features;
-  clap_2_28_0_features."vec_map".self_default = hasDefault clap_2_28_0_features;
-  clap_2_28_0_features."yaml".self_doc = hasFeature (clap_2_28_0_features."doc" or {});
-  clap_2_28_0_features."clippy".self_lints = hasFeature (clap_2_28_0_features."lints" or {});
-  clap_2_28_0_features."strsim".self_suggestions = hasFeature (clap_2_28_0_features."suggestions" or {});
-  clap_2_28_0_features."term_size".self_wrap_help = hasFeature (clap_2_28_0_features."wrap_help" or {});
-  clap_2_28_0_features."yaml-rust".self_yaml = hasFeature (clap_2_28_0_features."yaml" or {});
-  ansi_term_0_10_2_features."default".from_clap_2_28_0__default = true;
-  atty_0_2_3_features."default".from_clap_2_28_0__default = true;
-  bitflags_1_0_1_features."default".from_clap_2_28_0__default = true;
-  clippy_0_0_0_features."default".from_clap_2_28_0__default = true;
-  strsim_0_6_0_features."default".from_clap_2_28_0__default = true;
-  term_size_0_0_0_features."default".from_clap_2_28_0__default = true;
-  textwrap_0_9_0_features."term_size".from_clap_2_28_0__wrap_help = hasFeature (clap_2_28_0_features."wrap_help" or {});
-  textwrap_0_9_0_features."default".from_clap_2_28_0__default = true;
-  unicode_width_0_1_4_features."default".from_clap_2_28_0__default = true;
-  vec_map_0_8_0_features."default".from_clap_2_28_0__default = true;
-  yaml_rust_0_0_0_features."default".from_clap_2_28_0__default = true;
-  dbghelp_sys_0_2_0 = dbghelp_sys_0_2_0_ rec {
-    dependencies = [ winapi_0_2_8 ];
-    buildDependencies = [ winapi_build_0_1_1 ];
-  };
-  winapi_0_2_8_features."default".from_dbghelp_sys_0_2_0__default = true;
-  dtoa_0_4_2 = dtoa_0_4_2_ rec {};
-  either_1_4_0 = either_1_4_0_ rec {
+    features = mkFeatures (f.cc_1_0_3 or {});
+  };
+  cc_1_0_3_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        cc_1_0_3."rayon".self_parallel = hasFeature (cc_1_0_3."parallel" or {}) || hasFeature (features.cc_1_0_3."parallel" or {});
+      }))
+    [ ];
+  cfg_if_0_1_2 = f: cfg_if_0_1_2_ rec {};
+  cfg_if_0_1_2_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+      }))
+    [ ];
+  clap_2_28_0 = f: clap_2_28_0_ rec {
+    dependencies = [ (bitflags_1_0_1 f) (textwrap_0_9_0 f) (unicode_width_0_1_4 f) ]
+      ++ (if hasFeature (f.clap_2_28_0."ansi_term" or {}) then [(ansi_term_0_10_2 f)] else [])
+      ++ (if hasFeature (f.clap_2_28_0."atty" or {}) then [(atty_0_2_3 f)] else [])
+      ++ (if hasFeature (f.clap_2_28_0."strsim" or {}) then [(strsim_0_6_0 f)] else [])
+      ++ (if hasFeature (f.clap_2_28_0."vec_map" or {}) then [(vec_map_0_8_0 f)] else []);
+    features = mkFeatures (f.clap_2_28_0 or {});
+  };
+  clap_2_28_0_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        clap_2_28_0."ansi_term".self_color = hasFeature (clap_2_28_0."color" or {}) || hasFeature (features.clap_2_28_0."color" or {});
+        clap_2_28_0."atty".self_color = hasFeature (clap_2_28_0."color" or {}) || hasFeature (features.clap_2_28_0."color" or {});
+        clap_2_28_0."suggestions".self_default = hasFeature (clap_2_28_0.default or {}) || hasFeature (features.clap_2_28_0.default or {});
+        clap_2_28_0."color".self_default = hasFeature (clap_2_28_0.default or {}) || hasFeature (features.clap_2_28_0.default or {});
+        clap_2_28_0."vec_map".self_default = hasFeature (clap_2_28_0.default or {}) || hasFeature (features.clap_2_28_0.default or {});
+        clap_2_28_0."yaml".self_doc = hasFeature (clap_2_28_0."doc" or {}) || hasFeature (features.clap_2_28_0."doc" or {});
+        clap_2_28_0."clippy".self_lints = hasFeature (clap_2_28_0."lints" or {}) || hasFeature (features.clap_2_28_0."lints" or {});
+        clap_2_28_0."strsim".self_suggestions = hasFeature (clap_2_28_0."suggestions" or {}) || hasFeature (features.clap_2_28_0."suggestions" or {});
+        clap_2_28_0."term_size".self_wrap_help = hasFeature (clap_2_28_0."wrap_help" or {}) || hasFeature (features.clap_2_28_0."wrap_help" or {});
+        clap_2_28_0."yaml-rust".self_yaml = hasFeature (clap_2_28_0."yaml" or {}) || hasFeature (features.clap_2_28_0."yaml" or {});
+        textwrap_0_9_0."term_size".from_clap_2_28_0__term_size = hasFeature (clap_2_28_0."wrap_help" or {}) || hasFeature (features.clap_2_28_0."wrap_help" or {});
+        ansi_term_0_10_2.default.from_clap_2_28_0__default_ = true;
+        atty_0_2_3.default.from_clap_2_28_0__default_ = true;
+        bitflags_1_0_1.default.from_clap_2_28_0__default_ = true;
+        strsim_0_6_0.default.from_clap_2_28_0__default_ = true;
+        textwrap_0_9_0.default.from_clap_2_28_0__default_ = true;
+        unicode_width_0_1_4.default.from_clap_2_28_0__default_ = true;
+        vec_map_0_8_0.default.from_clap_2_28_0__default_ = true;
+      }))
+    [ ansi_term_0_10_2_features atty_0_2_3_features bitflags_1_0_1_features strsim_0_6_0_features textwrap_0_9_0_features unicode_width_0_1_4_features vec_map_0_8_0_features ];
+  dbghelp_sys_0_2_0 = f: dbghelp_sys_0_2_0_ rec {
+    dependencies = [ (winapi_0_2_8 f) ];
+    buildDependencies = [ (winapi_build_0_1_1 f) ];
+  };
+  dbghelp_sys_0_2_0_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        winapi_0_2_8.default.from_dbghelp_sys_0_2_0__default_ = true;
+        winapi_build_0_1_1.default.from_dbghelp_sys_0_2_0__default_ = true;
+      }))
+    [ winapi_0_2_8_features winapi_build_0_1_1_features ];
+  dtoa_0_4_2 = f: dtoa_0_4_2_ rec {};
+  dtoa_0_4_2_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+      }))
+    [ ];
+  either_1_4_0 = f: either_1_4_0_ rec {
     dependencies = [];
-    features = mkFeatures either_1_4_0_features;
-  };
-  either_1_4_0_features."use_std".self_default = hasDefault either_1_4_0_features;
-  serde_0_0_0_features."derive".from_either_1_4_0 = true;
-  serde_0_0_0_features."default".from_either_1_4_0__default = true;
-  env_logger_0_4_3 = env_logger_0_4_3_ rec {
-    dependencies = [ log_0_3_8 regex_0_2_2 ]
-      ++ (if lib.lists.any (x: x == "regex") features then [regex_0_2_2] else []);
-    features = mkFeatures env_logger_0_4_3_features;
-  };
-  env_logger_0_4_3_features."".self = true;
-  env_logger_0_4_3_features."regex".self_default = hasDefault env_logger_0_4_3_features;
-  log_0_3_8_features."default".from_env_logger_0_4_3__default = true;
-  regex_0_2_2_features."default".from_env_logger_0_4_3__default = true;
-  error_chain_0_11_0 = error_chain_0_11_0_ rec {
-    dependencies = [ backtrace_0_3_4 ]
-      ++ (if lib.lists.any (x: x == "backtrace") features then [backtrace_0_3_4] else []);
-    features = mkFeatures error_chain_0_11_0_features;
-  };
-  error_chain_0_11_0_features."".self = true;
-  error_chain_0_11_0_features."backtrace".self_default = hasDefault error_chain_0_11_0_features;
-  error_chain_0_11_0_features."example_generated".self_default = hasDefault error_chain_0_11_0_features;
-  backtrace_0_3_4_features."default".from_error_chain_0_11_0__default = true;
-  fuchsia_zircon_0_2_1 = fuchsia_zircon_0_2_1_ rec {
-    dependencies = [ fuchsia_zircon_sys_0_2_0 ];
-  };
-  fuchsia_zircon_sys_0_2_0_features."default".from_fuchsia_zircon_0_2_1__default = true;
-  fuchsia_zircon_sys_0_2_0 = fuchsia_zircon_sys_0_2_0_ rec {
-    dependencies = [ bitflags_0_7_0 ];
-  };
-  bitflags_0_7_0_features."default".from_fuchsia_zircon_sys_0_2_0__default = true;
-  itertools_0_7_3 = itertools_0_7_3_ rec {
-    dependencies = [ either_1_4_0 ];
-    features = mkFeatures itertools_0_7_3_features;
-  };
-  itertools_0_7_3_features."use_std".self_default = hasDefault itertools_0_7_3_features;
-  either_1_4_0_features."default".from_itertools_0_7_3__default = false;
-  itoa_0_3_4 = itoa_0_3_4_ rec {
-    features = mkFeatures itoa_0_3_4_features;
-  };
-  itoa_0_3_4_features."".self = 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_11 = lazy_static_0_2_11_ rec {
+    features = mkFeatures (f.either_1_4_0 or {});
+  };
+  either_1_4_0_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        either_1_4_0."use_std".self_default = hasFeature (either_1_4_0.default or {}) || hasFeature (features.either_1_4_0.default or {});
+      }))
+    [ ];
+  env_logger_0_4_3 = f: env_logger_0_4_3_ rec {
+    dependencies = [ (log_0_3_8 f) ]
+      ++ (if hasFeature (f.env_logger_0_4_3."regex" or {}) then [(regex_0_2_2 f)] else []);
+    features = mkFeatures (f.env_logger_0_4_3 or {});
+  };
+  env_logger_0_4_3_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        env_logger_0_4_3."regex".self_default = hasFeature (env_logger_0_4_3.default or {}) || hasFeature (features.env_logger_0_4_3.default or {});
+        log_0_3_8.default.from_env_logger_0_4_3__default_ = true;
+        regex_0_2_2.default.from_env_logger_0_4_3__default_ = true;
+      }))
+    [ log_0_3_8_features regex_0_2_2_features ];
+  error_chain_0_11_0 = f: error_chain_0_11_0_ rec {
+    dependencies = [ ]
+      ++ (if hasFeature (f.error_chain_0_11_0."backtrace" or {}) then [(backtrace_0_3_4 f)] else []);
+    features = mkFeatures (f.error_chain_0_11_0 or {});
+  };
+  error_chain_0_11_0_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        error_chain_0_11_0."backtrace".self_default = hasFeature (error_chain_0_11_0.default or {}) || hasFeature (features.error_chain_0_11_0.default or {});
+        error_chain_0_11_0."example_generated".self_default = hasFeature (error_chain_0_11_0.default or {}) || hasFeature (features.error_chain_0_11_0.default or {});
+        backtrace_0_3_4.default.from_error_chain_0_11_0__default_ = true;
+      }))
+    [ backtrace_0_3_4_features ];
+  fuchsia_zircon_0_2_1 = f: fuchsia_zircon_0_2_1_ rec {
+    dependencies = [ (fuchsia_zircon_sys_0_2_0 f) ];
+  };
+  fuchsia_zircon_0_2_1_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        fuchsia_zircon_sys_0_2_0.default.from_fuchsia_zircon_0_2_1__default_ = true;
+      }))
+    [ fuchsia_zircon_sys_0_2_0_features ];
+  fuchsia_zircon_sys_0_2_0 = f: fuchsia_zircon_sys_0_2_0_ rec {
+    dependencies = [ (bitflags_0_7_0 f) ];
+  };
+  fuchsia_zircon_sys_0_2_0_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        bitflags_0_7_0.default.from_fuchsia_zircon_sys_0_2_0__default_ = true;
+      }))
+    [ bitflags_0_7_0_features ];
+  itertools_0_7_3 = f: itertools_0_7_3_ rec {
+    dependencies = [ (either_1_4_0 f) ];
+    features = mkFeatures (f.itertools_0_7_3 or {});
+  };
+  itertools_0_7_3_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        itertools_0_7_3."use_std".self_default = hasFeature (itertools_0_7_3.default or {}) || hasFeature (features.itertools_0_7_3.default or {});
+        either_1_4_0.default.from_itertools_0_7_3__default_ = false;
+      }))
+    [ either_1_4_0_features ];
+  itoa_0_3_4 = f: itoa_0_3_4_ rec {
+    features = mkFeatures (f.itoa_0_3_4 or {});
+  };
+  itoa_0_3_4_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+      }))
+    [ ];
+  kernel32_sys_0_2_2 = f: kernel32_sys_0_2_2_ rec {
+    dependencies = [ (winapi_0_2_8 f) ];
+    buildDependencies = [ (winapi_build_0_1_1 f) ];
+  };
+  kernel32_sys_0_2_2_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        winapi_0_2_8.default.from_kernel32_sys_0_2_2__default_ = true;
+        winapi_build_0_1_1.default.from_kernel32_sys_0_2_2__default_ = true;
+      }))
+    [ winapi_0_2_8_features winapi_build_0_1_1_features ];
+  lazy_static_0_2_11 = f: lazy_static_0_2_11_ rec {
     dependencies = [];
-    features = mkFeatures lazy_static_0_2_11_features;
-  };
-  lazy_static_0_2_11_features."compiletest_rs".self_compiletest = hasFeature (lazy_static_0_2_11_features."compiletest" or {});
-  lazy_static_0_2_11_features."nightly".self_spin_no_std = hasFeature (lazy_static_0_2_11_features."spin_no_std" or {});
-  lazy_static_0_2_11_features."spin".self_spin_no_std = hasFeature (lazy_static_0_2_11_features."spin_no_std" or {});
-  compiletest_rs_0_0_0_features."default".from_lazy_static_0_2_11__default = true;
-  spin_0_0_0_features."default".from_lazy_static_0_2_11__default = true;
-  libc_0_2_33 = libc_0_2_33_ rec {
-    features = mkFeatures libc_0_2_33_features;
-  };
-  libc_0_2_33_features."use_std".self_default = hasDefault libc_0_2_33_features;
-  libsqlite3_sys_0_9_0 = libsqlite3_sys_0_9_0_ rec {
+    features = mkFeatures (f.lazy_static_0_2_11 or {});
+  };
+  lazy_static_0_2_11_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        lazy_static_0_2_11."compiletest_rs".self_compiletest = hasFeature (lazy_static_0_2_11."compiletest" or {}) || hasFeature (features.lazy_static_0_2_11."compiletest" or {});
+        lazy_static_0_2_11."nightly".self_spin_no_std = hasFeature (lazy_static_0_2_11."spin_no_std" or {}) || hasFeature (features.lazy_static_0_2_11."spin_no_std" or {});
+        lazy_static_0_2_11."spin".self_spin_no_std = hasFeature (lazy_static_0_2_11."spin_no_std" or {}) || hasFeature (features.lazy_static_0_2_11."spin_no_std" or {});
+      }))
+    [ ];
+  libc_0_2_33 = f: libc_0_2_33_ rec {
+    features = mkFeatures (f.libc_0_2_33 or {});
+  };
+  libc_0_2_33_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        libc_0_2_33."use_std".self_default = hasFeature (libc_0_2_33.default or {}) || hasFeature (features.libc_0_2_33.default or {});
+      }))
+    [ ];
+  libsqlite3_sys_0_9_0 = f: libsqlite3_sys_0_9_0_ rec {
     dependencies = (if abi == "msvc" then [] else []);
-    buildDependencies = [ pkg_config_0_3_9 ]
-      ++ (if lib.lists.any (x: x == "pkg-config") features then [pkg_config_0_3_9] else []);
-    features = mkFeatures libsqlite3_sys_0_9_0_features;
-  };
-  libsqlite3_sys_0_9_0_features."bindgen".self_buildtime_bindgen = hasFeature (libsqlite3_sys_0_9_0_features."buildtime_bindgen" or {});
-  libsqlite3_sys_0_9_0_features."pkg-config".self_buildtime_bindgen = hasFeature (libsqlite3_sys_0_9_0_features."buildtime_bindgen" or {});
-  libsqlite3_sys_0_9_0_features."vcpkg".self_buildtime_bindgen = hasFeature (libsqlite3_sys_0_9_0_features."buildtime_bindgen" or {});
-  libsqlite3_sys_0_9_0_features."cc".self_bundled = hasFeature (libsqlite3_sys_0_9_0_features."bundled" or {});
-  libsqlite3_sys_0_9_0_features."min_sqlite_version_3_6_8".self_default = hasDefault libsqlite3_sys_0_9_0_features;
-  libsqlite3_sys_0_9_0_features."pkg-config".self_min_sqlite_version_3_6_11 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_6_11" or {});
-  libsqlite3_sys_0_9_0_features."vcpkg".self_min_sqlite_version_3_6_11 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_6_11" or {});
-  libsqlite3_sys_0_9_0_features."pkg-config".self_min_sqlite_version_3_6_23 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_6_23" or {});
-  libsqlite3_sys_0_9_0_features."vcpkg".self_min_sqlite_version_3_6_23 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_6_23" or {});
-  libsqlite3_sys_0_9_0_features."pkg-config".self_min_sqlite_version_3_6_8 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_6_8" or {});
-  libsqlite3_sys_0_9_0_features."vcpkg".self_min_sqlite_version_3_6_8 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_6_8" or {});
-  libsqlite3_sys_0_9_0_features."pkg-config".self_min_sqlite_version_3_7_16 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_7_16" or {});
-  libsqlite3_sys_0_9_0_features."vcpkg".self_min_sqlite_version_3_7_16 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_7_16" or {});
-  libsqlite3_sys_0_9_0_features."pkg-config".self_min_sqlite_version_3_7_3 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_7_3" or {});
-  libsqlite3_sys_0_9_0_features."vcpkg".self_min_sqlite_version_3_7_3 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_7_3" or {});
-  libsqlite3_sys_0_9_0_features."pkg-config".self_min_sqlite_version_3_7_4 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_7_4" or {});
-  libsqlite3_sys_0_9_0_features."vcpkg".self_min_sqlite_version_3_7_4 = hasFeature (libsqlite3_sys_0_9_0_features."min_sqlite_version_3_7_4" or {});
-  linked_hash_map_0_4_2 = linked_hash_map_0_4_2_ rec {
+    buildDependencies = [ ]
+      ++ (if hasFeature (f.libsqlite3_sys_0_9_0."pkg-config" or {}) then [(pkg_config_0_3_9 f)] else []);
+    features = mkFeatures (f.libsqlite3_sys_0_9_0 or {});
+  };
+  libsqlite3_sys_0_9_0_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        libsqlite3_sys_0_9_0."bindgen".self_buildtime_bindgen = hasFeature (libsqlite3_sys_0_9_0."buildtime_bindgen" or {}) || hasFeature (features.libsqlite3_sys_0_9_0."buildtime_bindgen" or {});
+        libsqlite3_sys_0_9_0."pkg-config".self_buildtime_bindgen = hasFeature (libsqlite3_sys_0_9_0."buildtime_bindgen" or {}) || hasFeature (features.libsqlite3_sys_0_9_0."buildtime_bindgen" or {});
+        libsqlite3_sys_0_9_0."vcpkg".self_buildtime_bindgen = hasFeature (libsqlite3_sys_0_9_0."buildtime_bindgen" or {}) || hasFeature (features.libsqlite3_sys_0_9_0."buildtime_bindgen" or {});
+        libsqlite3_sys_0_9_0."cc".self_bundled = hasFeature (libsqlite3_sys_0_9_0."bundled" or {}) || hasFeature (features.libsqlite3_sys_0_9_0."bundled" or {});
+        libsqlite3_sys_0_9_0."min_sqlite_version_3_6_8".self_default = hasFeature (libsqlite3_sys_0_9_0.default or {}) || hasFeature (features.libsqlite3_sys_0_9_0.default or {});
+        libsqlite3_sys_0_9_0."pkg-config".self_min_sqlite_version_3_6_11 = hasFeature (libsqlite3_sys_0_9_0."min_sqlite_version_3_6_11" or {}) || hasFeature (features.libsqlite3_sys_0_9_0."min_sqlite_version_3_6_11" or {});
+        libsqlite3_sys_0_9_0."vcpkg".self_min_sqlite_version_3_6_11 = hasFeature (libsqlite3_sys_0_9_0."min_sqlite_version_3_6_11" or {}) || hasFeature (features.libsqlite3_sys_0_9_0."min_sqlite_version_3_6_11" or {});
+        libsqlite3_sys_0_9_0."pkg-config".self_min_sqlite_version_3_6_23 = hasFeature (libsqlite3_sys_0_9_0."min_sqlite_version_3_6_23" or {}) || hasFeature (features.libsqlite3_sys_0_9_0."min_sqlite_version_3_6_23" or {});
+        libsqlite3_sys_0_9_0."vcpkg".self_min_sqlite_version_3_6_23 = hasFeature (libsqlite3_sys_0_9_0."min_sqlite_version_3_6_23" or {}) || hasFeature (features.libsqlite3_sys_0_9_0."min_sqlite_version_3_6_23" or {});
+        libsqlite3_sys_0_9_0."pkg-config".self_min_sqlite_version_3_6_8 = hasFeature (libsqlite3_sys_0_9_0."min_sqlite_version_3_6_8" or {}) || hasFeature (features.libsqlite3_sys_0_9_0."min_sqlite_version_3_6_8" or {});
+        libsqlite3_sys_0_9_0."vcpkg".self_min_sqlite_version_3_6_8 = hasFeature (libsqlite3_sys_0_9_0."min_sqlite_version_3_6_8" or {}) || hasFeature (features.libsqlite3_sys_0_9_0."min_sqlite_version_3_6_8" or {});
+        libsqlite3_sys_0_9_0."pkg-config".self_min_sqlite_version_3_7_16 = hasFeature (libsqlite3_sys_0_9_0."min_sqlite_version_3_7_16" or {}) || hasFeature (features.libsqlite3_sys_0_9_0."min_sqlite_version_3_7_16" or {});
+        libsqlite3_sys_0_9_0."vcpkg".self_min_sqlite_version_3_7_16 = hasFeature (libsqlite3_sys_0_9_0."min_sqlite_version_3_7_16" or {}) || hasFeature (features.libsqlite3_sys_0_9_0."min_sqlite_version_3_7_16" or {});
+        libsqlite3_sys_0_9_0."pkg-config".self_min_sqlite_version_3_7_3 = hasFeature (libsqlite3_sys_0_9_0."min_sqlite_version_3_7_3" or {}) || hasFeature (features.libsqlite3_sys_0_9_0."min_sqlite_version_3_7_3" or {});
+        libsqlite3_sys_0_9_0."vcpkg".self_min_sqlite_version_3_7_3 = hasFeature (libsqlite3_sys_0_9_0."min_sqlite_version_3_7_3" or {}) || hasFeature (features.libsqlite3_sys_0_9_0."min_sqlite_version_3_7_3" or {});
+        libsqlite3_sys_0_9_0."pkg-config".self_min_sqlite_version_3_7_4 = hasFeature (libsqlite3_sys_0_9_0."min_sqlite_version_3_7_4" or {}) || hasFeature (features.libsqlite3_sys_0_9_0."min_sqlite_version_3_7_4" or {});
+        libsqlite3_sys_0_9_0."vcpkg".self_min_sqlite_version_3_7_4 = hasFeature (libsqlite3_sys_0_9_0."min_sqlite_version_3_7_4" or {}) || hasFeature (features.libsqlite3_sys_0_9_0."min_sqlite_version_3_7_4" or {});
+        pkg_config_0_3_9.default.from_libsqlite3_sys_0_9_0__default_ = true;
+      }))
+    [ pkg_config_0_3_9_features ];
+  linked_hash_map_0_4_2 = f: linked_hash_map_0_4_2_ rec {
     dependencies = [];
-    features = mkFeatures linked_hash_map_0_4_2_features;
-  };
-  linked_hash_map_0_4_2_features."heapsize".self_heapsize_impl = hasFeature (linked_hash_map_0_4_2_features."heapsize_impl" or {});
-  linked_hash_map_0_4_2_features."serde".self_serde_impl = hasFeature (linked_hash_map_0_4_2_features."serde_impl" or {});
-  linked_hash_map_0_4_2_features."serde_test".self_serde_impl = hasFeature (linked_hash_map_0_4_2_features."serde_impl" or {});
-  clippy_0_0_0_features."default".from_linked_hash_map_0_4_2__default = true;
-  heapsize_0_0_0_features."default".from_linked_hash_map_0_4_2__default = true;
-  serde_0_0_0_features."default".from_linked_hash_map_0_4_2__default = true;
-  serde_test_0_0_0_features."default".from_linked_hash_map_0_4_2__default = true;
-  log_0_3_8 = log_0_3_8_ rec {
-    features = mkFeatures log_0_3_8_features;
-  };
-  log_0_3_8_features."use_std".self_default = hasDefault log_0_3_8_features;
-  lru_cache_0_1_1 = lru_cache_0_1_1_ rec {
-    dependencies = [ linked_hash_map_0_4_2 ];
-    features = mkFeatures lru_cache_0_1_1_features;
-  };
-  lru_cache_0_1_1_features."heapsize".self_heapsize_impl = hasFeature (lru_cache_0_1_1_features."heapsize_impl" or {});
-  heapsize_0_0_0_features."default".from_lru_cache_0_1_1__default = true;
-  linked_hash_map_0_4_2_features."heapsize_impl".from_lru_cache_0_1_1__heapsize_impl = hasFeature (lru_cache_0_1_1_features."heapsize_impl" or {});
-  linked_hash_map_0_4_2_features."default".from_lru_cache_0_1_1__default = true;
-  memchr_1_0_2 = memchr_1_0_2_ rec {
-    dependencies = [ libc_0_2_33 ]
-      ++ (if lib.lists.any (x: x == "libc") features then [libc_0_2_33] else []);
-    features = mkFeatures memchr_1_0_2_features;
-  };
-  memchr_1_0_2_features."".self = true;
-  memchr_1_0_2_features."use_std".self_default = hasDefault memchr_1_0_2_features;
-  memchr_1_0_2_features."libc".self_default = hasDefault memchr_1_0_2_features;
-  memchr_1_0_2_features."libc".self_use_std = hasFeature (memchr_1_0_2_features."use_std" or {});
-  libc_0_2_33_features."use_std".from_memchr_1_0_2__use_std = hasFeature (memchr_1_0_2_features."use_std" or {});
-  libc_0_2_33_features."default".from_memchr_1_0_2__default = false;
-  nom_3_2_1 = nom_3_2_1_ rec {
-    dependencies = [ memchr_1_0_2 ];
-    features = mkFeatures nom_3_2_1_features;
-  };
-  nom_3_2_1_features."std".self_default = hasDefault nom_3_2_1_features;
-  nom_3_2_1_features."stream".self_default = hasDefault nom_3_2_1_features;
-  nom_3_2_1_features."compiler_error".self_nightly = hasFeature (nom_3_2_1_features."nightly" or {});
-  nom_3_2_1_features."regex".self_regexp = hasFeature (nom_3_2_1_features."regexp" or {});
-  nom_3_2_1_features."regexp".self_regexp_macros = hasFeature (nom_3_2_1_features."regexp_macros" or {});
-  nom_3_2_1_features."lazy_static".self_regexp_macros = hasFeature (nom_3_2_1_features."regexp_macros" or {});
-  compiler_error_0_0_0_features."default".from_nom_3_2_1__default = true;
-  lazy_static_0_0_0_features."default".from_nom_3_2_1__default = true;
-  memchr_1_0_2_features."use_std".from_nom_3_2_1__std = hasFeature (nom_3_2_1_features."std" or {});
-  memchr_1_0_2_features."default".from_nom_3_2_1__default = false;
-  regex_0_0_0_features."default".from_nom_3_2_1__default = true;
-  num_traits_0_1_40 = num_traits_0_1_40_ rec {};
-  pkg_config_0_3_9 = pkg_config_0_3_9_ rec {};
-  quote_0_3_15 = quote_0_3_15_ rec {};
-  rand_0_3_18 = rand_0_3_18_ rec {
-    dependencies = [ libc_0_2_33 ]
-      ++ (if kernel == "fuchsia" then [ fuchsia_zircon_0_2_1 ] else []);
-    features = mkFeatures rand_0_3_18_features;
-  };
-  rand_0_3_18_features."i128_support".self_nightly = hasFeature (rand_0_3_18_features."nightly" or {});
-  libc_0_2_33_features."default".from_rand_0_3_18__default = true;
-  fuchsia_zircon_0_2_1_features."default".from_rand_0_3_18__default = true;
-  redox_syscall_0_1_32 = redox_syscall_0_1_32_ rec {};
-  redox_termios_0_1_1 = redox_termios_0_1_1_ rec {
-    dependencies = [ redox_syscall_0_1_32 ];
-  };
-  redox_syscall_0_1_32_features."default".from_redox_termios_0_1_1__default = true;
-  regex_0_2_2 = regex_0_2_2_ rec {
-    dependencies = [ aho_corasick_0_6_3 memchr_1_0_2 regex_syntax_0_4_1 thread_local_0_3_4 utf8_ranges_1_0_0 ];
-    features = mkFeatures regex_0_2_2_features;
-  };
-  regex_0_2_2_features."simd".self_simd-accel = hasFeature (regex_0_2_2_features."simd-accel" or {});
-  aho_corasick_0_6_3_features."default".from_regex_0_2_2__default = true;
-  memchr_1_0_2_features."default".from_regex_0_2_2__default = true;
-  regex_syntax_0_4_1_features."default".from_regex_0_2_2__default = true;
-  simd_0_0_0_features."default".from_regex_0_2_2__default = true;
-  thread_local_0_3_4_features."default".from_regex_0_2_2__default = true;
-  utf8_ranges_1_0_0_features."default".from_regex_0_2_2__default = true;
-  regex_syntax_0_4_1 = regex_syntax_0_4_1_ rec {};
-  rusqlite_0_13_0 = rusqlite_0_13_0_ rec {
-    dependencies = [ bitflags_1_0_1 libsqlite3_sys_0_9_0 lru_cache_0_1_1 time_0_1_38 ];
-    features = mkFeatures rusqlite_0_13_0_features;
-  };
-  rusqlite_0_13_0_features."".self = true;
-  bitflags_1_0_1_features."default".from_rusqlite_0_13_0__default = true;
-  chrono_0_0_0_features."default".from_rusqlite_0_13_0__default = true;
-  libsqlite3_sys_0_9_0_features."min_sqlite_version_3_6_11".from_rusqlite_0_13_0__backup = hasFeature (rusqlite_0_13_0_features."backup" or {});
-  libsqlite3_sys_0_9_0_features."min_sqlite_version_3_7_4".from_rusqlite_0_13_0__blob = hasFeature (rusqlite_0_13_0_features."blob" or {});
-  libsqlite3_sys_0_9_0_features."buildtime_bindgen".from_rusqlite_0_13_0__buildtime_bindgen = hasFeature (rusqlite_0_13_0_features."buildtime_bindgen" or {});
-  libsqlite3_sys_0_9_0_features."bundled".from_rusqlite_0_13_0__bundled = hasFeature (rusqlite_0_13_0_features."bundled" or {});
-  libsqlite3_sys_0_9_0_features."min_sqlite_version_3_7_3".from_rusqlite_0_13_0__functions = hasFeature (rusqlite_0_13_0_features."functions" or {});
-  libsqlite3_sys_0_9_0_features."sqlcipher".from_rusqlite_0_13_0__sqlcipher = hasFeature (rusqlite_0_13_0_features."sqlcipher" or {});
-  libsqlite3_sys_0_9_0_features."min_sqlite_version_3_6_23".from_rusqlite_0_13_0__trace = hasFeature (rusqlite_0_13_0_features."trace" or {});
-  libsqlite3_sys_0_9_0_features."default".from_rusqlite_0_13_0__default = true;
-  lru_cache_0_1_1_features."default".from_rusqlite_0_13_0__default = true;
-  serde_json_0_0_0_features."default".from_rusqlite_0_13_0__default = true;
-  time_0_1_38_features."default".from_rusqlite_0_13_0__default = true;
-  rustc_demangle_0_1_5 = rustc_demangle_0_1_5_ rec {};
-  serde_1_0_21 = serde_1_0_21_ rec {
+    features = mkFeatures (f.linked_hash_map_0_4_2 or {});
+  };
+  linked_hash_map_0_4_2_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        linked_hash_map_0_4_2."heapsize".self_heapsize_impl = hasFeature (linked_hash_map_0_4_2."heapsize_impl" or {}) || hasFeature (features.linked_hash_map_0_4_2."heapsize_impl" or {});
+        linked_hash_map_0_4_2."serde".self_serde_impl = hasFeature (linked_hash_map_0_4_2."serde_impl" or {}) || hasFeature (features.linked_hash_map_0_4_2."serde_impl" or {});
+        linked_hash_map_0_4_2."serde_test".self_serde_impl = hasFeature (linked_hash_map_0_4_2."serde_impl" or {}) || hasFeature (features.linked_hash_map_0_4_2."serde_impl" or {});
+      }))
+    [ ];
+  log_0_3_8 = f: log_0_3_8_ rec {
+    features = mkFeatures (f.log_0_3_8 or {});
+  };
+  log_0_3_8_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        log_0_3_8."use_std".self_default = hasFeature (log_0_3_8.default or {}) || hasFeature (features.log_0_3_8.default or {});
+      }))
+    [ ];
+  lru_cache_0_1_1 = f: lru_cache_0_1_1_ rec {
+    dependencies = [ (linked_hash_map_0_4_2 f) ];
+    features = mkFeatures (f.lru_cache_0_1_1 or {});
+  };
+  lru_cache_0_1_1_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        lru_cache_0_1_1."heapsize".self_heapsize_impl = hasFeature (lru_cache_0_1_1."heapsize_impl" or {}) || hasFeature (features.lru_cache_0_1_1."heapsize_impl" or {});
+        linked_hash_map_0_4_2."heapsize_impl".from_lru_cache_0_1_1__heapsize_impl = hasFeature (lru_cache_0_1_1."heapsize_impl" or {}) || hasFeature (features.lru_cache_0_1_1."heapsize_impl" or {});
+        linked_hash_map_0_4_2.default.from_lru_cache_0_1_1__default_ = true;
+      }))
+    [ linked_hash_map_0_4_2_features ];
+  memchr_1_0_2 = f: memchr_1_0_2_ rec {
+    dependencies = [ ]
+      ++ (if hasFeature (f.memchr_1_0_2."libc" or {}) then [(libc_0_2_33 f)] else []);
+    features = mkFeatures (f.memchr_1_0_2 or {});
+  };
+  memchr_1_0_2_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        memchr_1_0_2."use_std".self_default = hasFeature (memchr_1_0_2.default or {}) || hasFeature (features.memchr_1_0_2.default or {});
+        memchr_1_0_2."libc".self_default = hasFeature (memchr_1_0_2.default or {}) || hasFeature (features.memchr_1_0_2.default or {});
+        memchr_1_0_2."libc".self_use_std = hasFeature (memchr_1_0_2."use_std" or {}) || hasFeature (features.memchr_1_0_2."use_std" or {});
+        libc_0_2_33."use_std".from_memchr_1_0_2__use_std = hasFeature (memchr_1_0_2."use_std" or {}) || hasFeature (features.memchr_1_0_2."use_std" or {});
+        libc_0_2_33.default.from_memchr_1_0_2__default_ = false;
+      }))
+    [ libc_0_2_33_features ];
+  nom_3_2_1 = f: nom_3_2_1_ rec {
+    dependencies = [ (memchr_1_0_2 f) ];
+    features = mkFeatures (f.nom_3_2_1 or {});
+  };
+  nom_3_2_1_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        nom_3_2_1."std".self_default = hasFeature (nom_3_2_1.default or {}) || hasFeature (features.nom_3_2_1.default or {});
+        nom_3_2_1."stream".self_default = hasFeature (nom_3_2_1.default or {}) || hasFeature (features.nom_3_2_1.default or {});
+        nom_3_2_1."compiler_error".self_nightly = hasFeature (nom_3_2_1."nightly" or {}) || hasFeature (features.nom_3_2_1."nightly" or {});
+        nom_3_2_1."regex".self_regexp = hasFeature (nom_3_2_1."regexp" or {}) || hasFeature (features.nom_3_2_1."regexp" or {});
+        nom_3_2_1."regexp".self_regexp_macros = hasFeature (nom_3_2_1."regexp_macros" or {}) || hasFeature (features.nom_3_2_1."regexp_macros" or {});
+        nom_3_2_1."lazy_static".self_regexp_macros = hasFeature (nom_3_2_1."regexp_macros" or {}) || hasFeature (features.nom_3_2_1."regexp_macros" or {});
+        memchr_1_0_2."use_std".from_nom_3_2_1__use_std = hasFeature (nom_3_2_1."std" or {}) || hasFeature (features.nom_3_2_1."std" or {});
+        memchr_1_0_2.default.from_nom_3_2_1__default_ = false;
+      }))
+    [ memchr_1_0_2_features ];
+  num_traits_0_1_40 = f: num_traits_0_1_40_ rec {};
+  num_traits_0_1_40_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+      }))
+    [ ];
+  pkg_config_0_3_9 = f: pkg_config_0_3_9_ rec {};
+  pkg_config_0_3_9_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+      }))
+    [ ];
+  quote_0_3_15 = f: quote_0_3_15_ rec {};
+  quote_0_3_15_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+      }))
+    [ ];
+  rand_0_3_18 = f: rand_0_3_18_ rec {
+    dependencies = [ (libc_0_2_33 f) ]
+      ++ (if kernel == "fuchsia" then [ (fuchsia_zircon_0_2_1 f) ] else []);
+    features = mkFeatures (f.rand_0_3_18 or {});
+  };
+  rand_0_3_18_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        rand_0_3_18."i128_support".self_nightly = hasFeature (rand_0_3_18."nightly" or {}) || hasFeature (features.rand_0_3_18."nightly" or {});
+        fuchsia_zircon_0_2_1.default.from_rand_0_3_18__default_ = true;
+        libc_0_2_33.default.from_rand_0_3_18__default_ = true;
+      }))
+    [ libc_0_2_33_features fuchsia_zircon_0_2_1_features ];
+  redox_syscall_0_1_32 = f: redox_syscall_0_1_32_ rec {};
+  redox_syscall_0_1_32_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+      }))
+    [ ];
+  redox_termios_0_1_1 = f: redox_termios_0_1_1_ rec {
+    dependencies = [ (redox_syscall_0_1_32 f) ];
+  };
+  redox_termios_0_1_1_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        redox_syscall_0_1_32.default.from_redox_termios_0_1_1__default_ = true;
+      }))
+    [ redox_syscall_0_1_32_features ];
+  regex_0_2_2 = f: regex_0_2_2_ rec {
+    dependencies = [ (aho_corasick_0_6_3 f) (memchr_1_0_2 f) (regex_syntax_0_4_1 f) (thread_local_0_3_4 f) (utf8_ranges_1_0_0 f) ];
+    features = mkFeatures (f.regex_0_2_2 or {});
+  };
+  regex_0_2_2_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        regex_0_2_2."simd".self_simd-accel = hasFeature (regex_0_2_2."simd-accel" or {}) || hasFeature (features.regex_0_2_2."simd-accel" or {});
+        aho_corasick_0_6_3.default.from_regex_0_2_2__default_ = true;
+        memchr_1_0_2.default.from_regex_0_2_2__default_ = true;
+        regex_syntax_0_4_1.default.from_regex_0_2_2__default_ = true;
+        thread_local_0_3_4.default.from_regex_0_2_2__default_ = true;
+        utf8_ranges_1_0_0.default.from_regex_0_2_2__default_ = true;
+      }))
+    [ aho_corasick_0_6_3_features memchr_1_0_2_features regex_syntax_0_4_1_features thread_local_0_3_4_features utf8_ranges_1_0_0_features ];
+  regex_syntax_0_4_1 = f: regex_syntax_0_4_1_ rec {};
+  regex_syntax_0_4_1_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+      }))
+    [ ];
+  rusqlite_0_13_0 = f: rusqlite_0_13_0_ rec {
+    dependencies = [ (bitflags_1_0_1 f) (libsqlite3_sys_0_9_0 f) (lru_cache_0_1_1 f) (time_0_1_38 f) ];
+    features = mkFeatures (f.rusqlite_0_13_0 or {});
+  };
+  rusqlite_0_13_0_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        libsqlite3_sys_0_9_0."min_sqlite_version_3_6_11".from_rusqlite_0_13_0__min_sqlite_version_3_6_11 = hasFeature (rusqlite_0_13_0."backup" or {}) || hasFeature (features.rusqlite_0_13_0."backup" or {});
+        libsqlite3_sys_0_9_0."min_sqlite_version_3_7_4".from_rusqlite_0_13_0__min_sqlite_version_3_7_4 = hasFeature (rusqlite_0_13_0."blob" or {}) || hasFeature (features.rusqlite_0_13_0."blob" or {});
+        libsqlite3_sys_0_9_0."buildtime_bindgen".from_rusqlite_0_13_0__buildtime_bindgen = hasFeature (rusqlite_0_13_0."buildtime_bindgen" or {}) || hasFeature (features.rusqlite_0_13_0."buildtime_bindgen" or {});
+        libsqlite3_sys_0_9_0."bundled".from_rusqlite_0_13_0__bundled = hasFeature (rusqlite_0_13_0."bundled" or {}) || hasFeature (features.rusqlite_0_13_0."bundled" or {});
+        libsqlite3_sys_0_9_0."min_sqlite_version_3_7_3".from_rusqlite_0_13_0__min_sqlite_version_3_7_3 = hasFeature (rusqlite_0_13_0."functions" or {}) || hasFeature (features.rusqlite_0_13_0."functions" or {});
+        libsqlite3_sys_0_9_0."sqlcipher".from_rusqlite_0_13_0__sqlcipher = hasFeature (rusqlite_0_13_0."sqlcipher" or {}) || hasFeature (features.rusqlite_0_13_0."sqlcipher" or {});
+        libsqlite3_sys_0_9_0."min_sqlite_version_3_6_23".from_rusqlite_0_13_0__min_sqlite_version_3_6_23 = hasFeature (rusqlite_0_13_0."trace" or {}) || hasFeature (features.rusqlite_0_13_0."trace" or {});
+        bitflags_1_0_1.default.from_rusqlite_0_13_0__default_ = true;
+        libsqlite3_sys_0_9_0.default.from_rusqlite_0_13_0__default_ = true;
+        lru_cache_0_1_1.default.from_rusqlite_0_13_0__default_ = true;
+        time_0_1_38.default.from_rusqlite_0_13_0__default_ = true;
+      }))
+    [ bitflags_1_0_1_features libsqlite3_sys_0_9_0_features lru_cache_0_1_1_features time_0_1_38_features ];
+  rustc_demangle_0_1_5 = f: rustc_demangle_0_1_5_ rec {};
+  rustc_demangle_0_1_5_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+      }))
+    [ ];
+  serde_1_0_21 = f: serde_1_0_21_ rec {
     dependencies = [];
-    features = mkFeatures serde_1_0_21_features;
-  };
-  serde_1_0_21_features."unstable".self_alloc = hasFeature (serde_1_0_21_features."alloc" or {});
-  serde_1_0_21_features."std".self_default = hasDefault serde_1_0_21_features;
-  serde_1_0_21_features."serde_derive".self_derive = hasFeature (serde_1_0_21_features."derive" or {});
-  serde_1_0_21_features."serde_derive".self_playground = hasFeature (serde_1_0_21_features."playground" or {});
-  serde_derive_0_0_0_features."default".from_serde_1_0_21__default = true;
-  serde_derive_1_0_21 = serde_derive_1_0_21_ rec {
-    dependencies = [ quote_0_3_15 serde_derive_internals_0_17_0 syn_0_11_11 ];
-  };
-  quote_0_3_15_features."default".from_serde_derive_1_0_21__default = true;
-  serde_derive_internals_0_17_0_features."default".from_serde_derive_1_0_21__default = false;
-  syn_0_11_11_features."visit".from_serde_derive_1_0_21 = true;
-  syn_0_11_11_features."default".from_serde_derive_1_0_21__default = true;
-  serde_derive_internals_0_17_0 = serde_derive_internals_0_17_0_ rec {
-    dependencies = [ syn_0_11_11 synom_0_11_3 ];
-  };
-  syn_0_11_11_features."parsing".from_serde_derive_internals_0_17_0 = true;
-  syn_0_11_11_features."default".from_serde_derive_internals_0_17_0__default = false;
-  synom_0_11_3_features."default".from_serde_derive_internals_0_17_0__default = true;
-  serde_json_1_0_6 = serde_json_1_0_6_ rec {
-    dependencies = [ dtoa_0_4_2 itoa_0_3_4 num_traits_0_1_40 serde_1_0_21 ];
-    features = mkFeatures serde_json_1_0_6_features;
-  };
-  serde_json_1_0_6_features."linked-hash-map".self_preserve_order = hasFeature (serde_json_1_0_6_features."preserve_order" or {});
-  dtoa_0_4_2_features."default".from_serde_json_1_0_6__default = true;
-  itoa_0_3_4_features."default".from_serde_json_1_0_6__default = true;
-  linked_hash_map_0_0_0_features."default".from_serde_json_1_0_6__default = true;
-  num_traits_0_1_40_features."default".from_serde_json_1_0_6__default = true;
-  serde_1_0_21_features."default".from_serde_json_1_0_6__default = true;
-  strsim_0_6_0 = strsim_0_6_0_ rec {};
-  syn_0_11_11 = syn_0_11_11_ rec {
-    dependencies = [ quote_0_3_15 synom_0_11_3 unicode_xid_0_0_4 ]
-      ++ (if lib.lists.any (x: x == "quote") features then [quote_0_3_15] else [])      ++ (if lib.lists.any (x: x == "synom") features then [synom_0_11_3] else [])      ++ (if lib.lists.any (x: x == "unicode-xid") features then [unicode_xid_0_0_4] else []);
-    features = mkFeatures syn_0_11_11_features;
-  };
-  syn_0_11_11_features."".self = true;
-  syn_0_11_11_features."parsing".self_default = hasDefault syn_0_11_11_features;
-  syn_0_11_11_features."printing".self_default = hasDefault syn_0_11_11_features;
-  syn_0_11_11_features."unicode-xid".self_parsing = hasFeature (syn_0_11_11_features."parsing" or {});
-  syn_0_11_11_features."synom".self_parsing = hasFeature (syn_0_11_11_features."parsing" or {});
-  syn_0_11_11_features."quote".self_printing = hasFeature (syn_0_11_11_features."printing" or {});
-  quote_0_3_15_features."default".from_syn_0_11_11__default = true;
-  synom_0_11_3_features."default".from_syn_0_11_11__default = true;
-  unicode_xid_0_0_4_features."default".from_syn_0_11_11__default = true;
-  synom_0_11_3 = synom_0_11_3_ rec {
-    dependencies = [ unicode_xid_0_0_4 ];
-  };
-  unicode_xid_0_0_4_features."default".from_synom_0_11_3__default = true;
-  tempdir_0_3_5 = tempdir_0_3_5_ rec {
-    dependencies = [ rand_0_3_18 ];
-  };
-  rand_0_3_18_features."default".from_tempdir_0_3_5__default = true;
-  termion_1_5_1 = termion_1_5_1_ rec {
-    dependencies = (if !(kernel == "redox") then [ libc_0_2_33 ] else [])
-      ++ (if kernel == "redox" then [ redox_syscall_0_1_32 redox_termios_0_1_1 ] else []);
-  };
-  libc_0_2_33_features."default".from_termion_1_5_1__default = true;
-  redox_syscall_0_1_32_features."default".from_termion_1_5_1__default = true;
-  redox_termios_0_1_1_features."default".from_termion_1_5_1__default = true;
-  textwrap_0_9_0 = textwrap_0_9_0_ rec {
-    dependencies = [ unicode_width_0_1_4 ];
-  };
-  hyphenation_0_0_0_features."default".from_textwrap_0_9_0__default = true;
-  term_size_0_0_0_features."default".from_textwrap_0_9_0__default = true;
-  unicode_width_0_1_4_features."default".from_textwrap_0_9_0__default = true;
-  thread_local_0_3_4 = thread_local_0_3_4_ rec {
-    dependencies = [ lazy_static_0_2_11 unreachable_1_0_0 ];
-  };
-  lazy_static_0_2_11_features."default".from_thread_local_0_3_4__default = true;
-  unreachable_1_0_0_features."default".from_thread_local_0_3_4__default = true;
-  time_0_1_38 = time_0_1_38_ rec {
-    dependencies = [ libc_0_2_33 ]
-      ++ (if kernel == "redox" then [ redox_syscall_0_1_32 ] else [])
-      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
-  };
-  libc_0_2_33_features."default".from_time_0_1_38__default = true;
-  rustc_serialize_0_0_0_features."default".from_time_0_1_38__default = true;
-  redox_syscall_0_1_32_features."default".from_time_0_1_38__default = true;
-  kernel32_sys_0_2_2_features."default".from_time_0_1_38__default = true;
-  winapi_0_2_8_features."default".from_time_0_1_38__default = true;
-  toml_0_4_5 = toml_0_4_5_ rec {
-    dependencies = [ serde_1_0_21 ];
-  };
-  serde_1_0_21_features."default".from_toml_0_4_5__default = true;
-  unicode_width_0_1_4 = unicode_width_0_1_4_ rec {
-    features = mkFeatures unicode_width_0_1_4_features;
-  };
-  unicode_width_0_1_4_features."".self = true;
-  unicode_xid_0_0_4 = unicode_xid_0_0_4_ rec {
-    features = mkFeatures unicode_xid_0_0_4_features;
-  };
-  unicode_xid_0_0_4_features."".self = true;
-  unreachable_1_0_0 = unreachable_1_0_0_ rec {
-    dependencies = [ void_1_0_2 ];
-  };
-  void_1_0_2_features."default".from_unreachable_1_0_0__default = false;
-  utf8_ranges_1_0_0 = utf8_ranges_1_0_0_ rec {};
-  vcpkg_0_2_2 = vcpkg_0_2_2_ rec {};
-  vec_map_0_8_0 = vec_map_0_8_0_ rec {
+    features = mkFeatures (f.serde_1_0_21 or {});
+  };
+  serde_1_0_21_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        serde_1_0_21."unstable".self_alloc = hasFeature (serde_1_0_21."alloc" or {}) || hasFeature (features.serde_1_0_21."alloc" or {});
+        serde_1_0_21."std".self_default = hasFeature (serde_1_0_21.default or {}) || hasFeature (features.serde_1_0_21.default or {});
+        serde_1_0_21."serde_derive".self_derive = hasFeature (serde_1_0_21."derive" or {}) || hasFeature (features.serde_1_0_21."derive" or {});
+        serde_1_0_21."serde_derive".self_playground = hasFeature (serde_1_0_21."playground" or {}) || hasFeature (features.serde_1_0_21."playground" or {});
+      }))
+    [ ];
+  serde_derive_1_0_21 = f: serde_derive_1_0_21_ rec {
+    dependencies = [ (quote_0_3_15 f) (serde_derive_internals_0_17_0 f) (syn_0_11_11 f) ];
+  };
+  serde_derive_1_0_21_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        syn_0_11_11."visit".from_serde_derive_1_0_21 = true;
+        quote_0_3_15.default.from_serde_derive_1_0_21__default_ = true;
+        serde_derive_internals_0_17_0.default.from_serde_derive_1_0_21__default_ = false;
+        syn_0_11_11.default.from_serde_derive_1_0_21__default_ = true;
+      }))
+    [ quote_0_3_15_features serde_derive_internals_0_17_0_features syn_0_11_11_features ];
+  serde_derive_internals_0_17_0 = f: serde_derive_internals_0_17_0_ rec {
+    dependencies = [ (syn_0_11_11 f) (synom_0_11_3 f) ];
+  };
+  serde_derive_internals_0_17_0_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        syn_0_11_11."parsing".from_serde_derive_internals_0_17_0 = true;
+        syn_0_11_11.default.from_serde_derive_internals_0_17_0__default_ = false;
+        synom_0_11_3.default.from_serde_derive_internals_0_17_0__default_ = true;
+      }))
+    [ syn_0_11_11_features synom_0_11_3_features ];
+  serde_json_1_0_6 = f: serde_json_1_0_6_ rec {
+    dependencies = [ (dtoa_0_4_2 f) (itoa_0_3_4 f) (num_traits_0_1_40 f) (serde_1_0_21 f) ];
+    features = mkFeatures (f.serde_json_1_0_6 or {});
+  };
+  serde_json_1_0_6_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        serde_json_1_0_6."linked-hash-map".self_preserve_order = hasFeature (serde_json_1_0_6."preserve_order" or {}) || hasFeature (features.serde_json_1_0_6."preserve_order" or {});
+        dtoa_0_4_2.default.from_serde_json_1_0_6__default_ = true;
+        itoa_0_3_4.default.from_serde_json_1_0_6__default_ = true;
+        num_traits_0_1_40.default.from_serde_json_1_0_6__default_ = true;
+        serde_1_0_21.default.from_serde_json_1_0_6__default_ = true;
+      }))
+    [ dtoa_0_4_2_features itoa_0_3_4_features num_traits_0_1_40_features serde_1_0_21_features ];
+  strsim_0_6_0 = f: strsim_0_6_0_ rec {};
+  strsim_0_6_0_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+      }))
+    [ ];
+  syn_0_11_11 = f: syn_0_11_11_ rec {
+    dependencies = [ ]
+      ++ (if hasFeature (f.syn_0_11_11."quote" or {}) then [(quote_0_3_15 f)] else [])
+      ++ (if hasFeature (f.syn_0_11_11."synom" or {}) then [(synom_0_11_3 f)] else [])
+      ++ (if hasFeature (f.syn_0_11_11."unicode-xid" or {}) then [(unicode_xid_0_0_4 f)] else []);
+    features = mkFeatures (f.syn_0_11_11 or {});
+  };
+  syn_0_11_11_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        syn_0_11_11."parsing".self_default = hasFeature (syn_0_11_11.default or {}) || hasFeature (features.syn_0_11_11.default or {});
+        syn_0_11_11."printing".self_default = hasFeature (syn_0_11_11.default or {}) || hasFeature (features.syn_0_11_11.default or {});
+        syn_0_11_11."unicode-xid".self_parsing = hasFeature (syn_0_11_11."parsing" or {}) || hasFeature (features.syn_0_11_11."parsing" or {});
+        syn_0_11_11."synom".self_parsing = hasFeature (syn_0_11_11."parsing" or {}) || hasFeature (features.syn_0_11_11."parsing" or {});
+        syn_0_11_11."quote".self_printing = hasFeature (syn_0_11_11."printing" or {}) || hasFeature (features.syn_0_11_11."printing" or {});
+        quote_0_3_15.default.from_syn_0_11_11__default_ = true;
+        synom_0_11_3.default.from_syn_0_11_11__default_ = true;
+        unicode_xid_0_0_4.default.from_syn_0_11_11__default_ = true;
+      }))
+    [ quote_0_3_15_features synom_0_11_3_features unicode_xid_0_0_4_features ];
+  synom_0_11_3 = f: synom_0_11_3_ rec {
+    dependencies = [ (unicode_xid_0_0_4 f) ];
+  };
+  synom_0_11_3_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        unicode_xid_0_0_4.default.from_synom_0_11_3__default_ = true;
+      }))
+    [ unicode_xid_0_0_4_features ];
+  tempdir_0_3_5 = f: tempdir_0_3_5_ rec {
+    dependencies = [ (rand_0_3_18 f) ];
+  };
+  tempdir_0_3_5_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        rand_0_3_18.default.from_tempdir_0_3_5__default_ = true;
+      }))
+    [ rand_0_3_18_features ];
+  termion_1_5_1 = f: termion_1_5_1_ rec {
+    dependencies = (if !(kernel == "redox") then [ (libc_0_2_33 f) ] else [])
+      ++ (if kernel == "redox" then [ (redox_syscall_0_1_32 f) (redox_termios_0_1_1 f) ] else []);
+  };
+  termion_1_5_1_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        libc_0_2_33.default.from_termion_1_5_1__default_ = true;
+        redox_syscall_0_1_32.default.from_termion_1_5_1__default_ = true;
+        redox_termios_0_1_1.default.from_termion_1_5_1__default_ = true;
+      }))
+    [ libc_0_2_33_features redox_syscall_0_1_32_features redox_termios_0_1_1_features ];
+  textwrap_0_9_0 = f: textwrap_0_9_0_ rec {
+    dependencies = [ (unicode_width_0_1_4 f) ];
+  };
+  textwrap_0_9_0_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        unicode_width_0_1_4.default.from_textwrap_0_9_0__default_ = true;
+      }))
+    [ unicode_width_0_1_4_features ];
+  thread_local_0_3_4 = f: thread_local_0_3_4_ rec {
+    dependencies = [ (lazy_static_0_2_11 f) (unreachable_1_0_0 f) ];
+  };
+  thread_local_0_3_4_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        lazy_static_0_2_11.default.from_thread_local_0_3_4__default_ = true;
+        unreachable_1_0_0.default.from_thread_local_0_3_4__default_ = true;
+      }))
+    [ lazy_static_0_2_11_features unreachable_1_0_0_features ];
+  time_0_1_38 = f: time_0_1_38_ rec {
+    dependencies = [ (libc_0_2_33 f) ]
+      ++ (if kernel == "redox" then [ (redox_syscall_0_1_32 f) ] else [])
+      ++ (if kernel == "windows" then [ (kernel32_sys_0_2_2 f) (winapi_0_2_8 f) ] else []);
+  };
+  time_0_1_38_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        kernel32_sys_0_2_2.default.from_time_0_1_38__default_ = true;
+        libc_0_2_33.default.from_time_0_1_38__default_ = true;
+        redox_syscall_0_1_32.default.from_time_0_1_38__default_ = true;
+        winapi_0_2_8.default.from_time_0_1_38__default_ = true;
+      }))
+    [ libc_0_2_33_features redox_syscall_0_1_32_features kernel32_sys_0_2_2_features winapi_0_2_8_features ];
+  toml_0_4_5 = f: toml_0_4_5_ rec {
+    dependencies = [ (serde_1_0_21 f) ];
+  };
+  toml_0_4_5_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        serde_1_0_21.default.from_toml_0_4_5__default_ = true;
+      }))
+    [ serde_1_0_21_features ];
+  unicode_width_0_1_4 = f: unicode_width_0_1_4_ rec {
+    features = mkFeatures (f.unicode_width_0_1_4 or {});
+  };
+  unicode_width_0_1_4_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+      }))
+    [ ];
+  unicode_xid_0_0_4 = f: unicode_xid_0_0_4_ rec {
+    features = mkFeatures (f.unicode_xid_0_0_4 or {});
+  };
+  unicode_xid_0_0_4_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+      }))
+    [ ];
+  unreachable_1_0_0 = f: unreachable_1_0_0_ rec {
+    dependencies = [ (void_1_0_2 f) ];
+  };
+  unreachable_1_0_0_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        void_1_0_2.default.from_unreachable_1_0_0__default_ = false;
+      }))
+    [ void_1_0_2_features ];
+  utf8_ranges_1_0_0 = f: utf8_ranges_1_0_0_ rec {};
+  utf8_ranges_1_0_0_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+      }))
+    [ ];
+  vcpkg_0_2_2 = f: vcpkg_0_2_2_ rec {};
+  vcpkg_0_2_2_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+      }))
+    [ ];
+  vec_map_0_8_0 = f: vec_map_0_8_0_ rec {
     dependencies = [];
-    features = mkFeatures vec_map_0_8_0_features;
-  };
-  vec_map_0_8_0_features."serde".self_eders = hasFeature (vec_map_0_8_0_features."eders" or {});
-  vec_map_0_8_0_features."serde_derive".self_eders = hasFeature (vec_map_0_8_0_features."eders" or {});
-  serde_0_0_0_features."default".from_vec_map_0_8_0__default = true;
-  serde_derive_0_0_0_features."default".from_vec_map_0_8_0__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;
-  winapi_0_2_8 = winapi_0_2_8_ rec {};
-  winapi_build_0_1_1 = winapi_build_0_1_1_ rec {};
+    features = mkFeatures (f.vec_map_0_8_0 or {});
+  };
+  vec_map_0_8_0_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        vec_map_0_8_0."serde".self_eders = hasFeature (vec_map_0_8_0."eders" or {}) || hasFeature (features.vec_map_0_8_0."eders" or {});
+        vec_map_0_8_0."serde_derive".self_eders = hasFeature (vec_map_0_8_0."eders" or {}) || hasFeature (features.vec_map_0_8_0."eders" or {});
+      }))
+    [ ];
+  void_1_0_2 = f: void_1_0_2_ rec {
+    features = mkFeatures (f.void_1_0_2 or {});
+  };
+  void_1_0_2_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+        void_1_0_2."std".self_default = hasFeature (void_1_0_2.default or {}) || hasFeature (features.void_1_0_2.default or {});
+      }))
+    [ ];
+  winapi_0_2_8 = f: winapi_0_2_8_ rec {};
+  winapi_0_2_8_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+      }))
+    [ ];
+  winapi_build_0_1_1 = f: winapi_build_0_1_1_ rec {};
+  winapi_build_0_1_1_features = features:
+    lib.lists.foldl' (features: f: f features)
+      (lib.attrsets.recursiveUpdate features (rec {
+      }))
+    [ ];
 }
diff --git a/pkgs/build-support/vm/windows/cygwin-iso/default.nix b/pkgs/build-support/vm/windows/cygwin-iso/default.nix
index 01884f48878..2c46d5fae90 100644
--- a/pkgs/build-support/vm/windows/cygwin-iso/default.nix
+++ b/pkgs/build-support/vm/windows/cygwin-iso/default.nix
@@ -21,7 +21,6 @@ let
     crossSystem = {
       libc = "msvcrt";
       platform = {};
-      openssl.system = "mingw64";
       inherit arch;
       config = "${arch}-w64-mingw32";
     };