summary refs log tree commit diff
path: root/pkgs/build-support/rust
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2018-12-07 15:22:35 +0100
committerFrederik Rietdijk <fridh@fridh.nl>2018-12-07 15:22:35 +0100
commit5f554279ec31e8d42266a3f4477035fa8e43a5c7 (patch)
tree0edb6eea939ec15ed533ca44b4d26ff4b97aea21 /pkgs/build-support/rust
parent13ee78018cc0ebb8ff0ae25b6d86c9c273fd55b9 (diff)
parentcb2a447c510848c925977c0ecc440eef7443c12f (diff)
downloadnixpkgs-5f554279ec31e8d42266a3f4477035fa8e43a5c7.tar
nixpkgs-5f554279ec31e8d42266a3f4477035fa8e43a5c7.tar.gz
nixpkgs-5f554279ec31e8d42266a3f4477035fa8e43a5c7.tar.bz2
nixpkgs-5f554279ec31e8d42266a3f4477035fa8e43a5c7.tar.lz
nixpkgs-5f554279ec31e8d42266a3f4477035fa8e43a5c7.tar.xz
nixpkgs-5f554279ec31e8d42266a3f4477035fa8e43a5c7.tar.zst
nixpkgs-5f554279ec31e8d42266a3f4477035fa8e43a5c7.zip
Merge master into staging-next
Diffstat (limited to 'pkgs/build-support/rust')
-rw-r--r--pkgs/build-support/rust/build-rust-crate/configure-crate.nix3
-rw-r--r--pkgs/build-support/rust/build-rust-crate/helpers.nix11
-rw-r--r--pkgs/build-support/rust/build-rust-crate/install-crate.nix8
-rw-r--r--pkgs/build-support/rust/carnix.nix27
-rw-r--r--pkgs/build-support/rust/crates-io.nix632
5 files changed, 298 insertions, 383 deletions
diff --git a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
index 37fef2abd77..7630c6471dc 100644
--- a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
+++ b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
@@ -71,6 +71,9 @@ in ''
   export CARGO_PKG_VERSION_MAJOR=${builtins.elemAt version 0}
   export CARGO_PKG_VERSION_MINOR=${builtins.elemAt version 1}
   export CARGO_PKG_VERSION_PATCH=${builtins.elemAt version 2}
+  export NUM_JOBS=1
+  export RUSTC="rustc"
+  export RUSTDOC="rustdoc"
   if [[ -n "${versionPre}" ]]; then
     export CARGO_PKG_VERSION_PRE="${versionPre}"
   fi
diff --git a/pkgs/build-support/rust/build-rust-crate/helpers.nix b/pkgs/build-support/rust/build-rust-crate/helpers.nix
index e04324684e5..8a0a62434ec 100644
--- a/pkgs/build-support/rust/build-rust-crate/helpers.nix
+++ b/pkgs/build-support/rust/build-rust-crate/helpers.nix
@@ -2,6 +2,7 @@
 {
   kernel = stdenv.hostPlatform.parsed.kernel.name;
   abi = stdenv.hostPlatform.parsed.abi.name;
+  cpu = stdenv.hostPlatform.parsed.cpu.name;
    updateFeatures = f: up: functions: builtins.deepSeq f (lib.lists.foldl' (features: fun: fun features) (lib.attrsets.recursiveUpdate f up) functions);
    mapFeatures = features: map (fun: fun { features = features; });
    mkFeatures = feat: lib.lists.foldl (features: featureName:
@@ -11,10 +12,12 @@
        features
    ) [] (builtins.attrNames feat);
   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
+     lib.lists.any (f:
+       let p = toString (src + ("/" + f));
+           suff = lib.strings.removePrefix p path;
+       in
+       suff == "" || (lib.strings.hasPrefix "/" suff)
+     ) includedFiles
   ) src;
   exclude = excludedFiles: src: builtins.filterSource (path: type:
     lib.lists.all (f:
diff --git a/pkgs/build-support/rust/build-rust-crate/install-crate.nix b/pkgs/build-support/rust/build-rust-crate/install-crate.nix
index c41df34ca39..3b0282621ea 100644
--- a/pkgs/build-support/rust/build-rust-crate/install-crate.nix
+++ b/pkgs/build-support/rust/build-rust-crate/install-crate.nix
@@ -20,9 +20,11 @@ crateName: metadata:
     mkdir -p $out/lib
     cp -r target/build/* $out/lib # */
   fi
-  if [[ "$(ls -A target/bin)" ]]; then
-    mkdir -p $out/bin
-    cp -P target/bin/* $out/bin # */
+  if [[ -d target/bin ]]; then
+    if [[ "$(ls -A target/bin)" ]]; then
+      mkdir -p $out/bin
+      cp -P target/bin/* $out/bin # */
+    fi
   fi
   runHook postInstall
 ''
diff --git a/pkgs/build-support/rust/carnix.nix b/pkgs/build-support/rust/carnix.nix
index 7a0d92f81b4..dd44fed623e 100644
--- a/pkgs/build-support/rust/carnix.nix
+++ b/pkgs/build-support/rust/carnix.nix
@@ -1,4 +1,4 @@
-# Generated by carnix 0.8.11: carnix generate-nix
+# Generated by carnix 0.9.1: carnix generate-nix
 { lib, buildPlatform, buildRustCrate, buildRustCrateHelpers, cratesIO, fetchgit }:
 with buildRustCrateHelpers;
 let inherit (lib.lists) fold;
@@ -6,7 +6,7 @@ let inherit (lib.lists) fold;
 in
 let crates = cratesIO; in
 rec {
-  carnix = crates.crates.carnix."0.8.11" deps;
+  carnix = crates.crates.carnix."0.9.2" deps;
   __all = [ (carnix {}) ];
   deps.aho_corasick."0.6.8" = {
     memchr = "2.1.0";
@@ -42,7 +42,7 @@ rec {
     arrayvec = "0.4.7";
     constant_time_eq = "0.1.3";
   };
-  deps.carnix."0.8.11" = {
+  deps.carnix."0.9.2" = {
     clap = "2.32.0";
     dirs = "1.0.4";
     env_logger = "0.5.13";
@@ -51,7 +51,6 @@ rec {
     log = "0.4.5";
     nom = "3.2.1";
     regex = "1.0.5";
-    rusqlite = "0.14.0";
     serde = "1.0.80";
     serde_derive = "1.0.80";
     serde_json = "1.0.32";
@@ -112,16 +111,9 @@ rec {
     version_check = "0.1.5";
   };
   deps.libc."0.2.43" = {};
-  deps.libsqlite3_sys."0.9.3" = {
-    pkg_config = "0.3.14";
-  };
-  deps.linked_hash_map."0.4.2" = {};
   deps.log."0.4.5" = {
     cfg_if = "0.1.6";
   };
-  deps.lru_cache."0.1.1" = {
-    linked_hash_map = "0.4.2";
-  };
   deps.memchr."1.0.2" = {
     libc = "0.2.43";
   };
@@ -134,7 +126,6 @@ rec {
   deps.nom."3.2.1" = {
     memchr = "1.0.2";
   };
-  deps.pkg_config."0.3.14" = {};
   deps.proc_macro2."0.4.20" = {
     unicode_xid = "0.1.0";
   };
@@ -170,12 +161,6 @@ rec {
   deps.remove_dir_all."0.5.1" = {
     winapi = "0.3.6";
   };
-  deps.rusqlite."0.14.0" = {
-    bitflags = "1.0.4";
-    libsqlite3_sys = "0.9.3";
-    lru_cache = "0.1.1";
-    time = "0.1.40";
-  };
   deps.rustc_demangle."0.1.9" = {};
   deps.ryu."0.2.6" = {};
   deps.scoped_threadpool."0.1.9" = {};
@@ -220,11 +205,6 @@ rec {
   deps.thread_local."0.3.6" = {
     lazy_static = "1.1.0";
   };
-  deps.time."0.1.40" = {
-    libc = "0.2.43";
-    redox_syscall = "0.1.40";
-    winapi = "0.3.6";
-  };
   deps.toml."0.4.8" = {
     serde = "1.0.80";
   };
@@ -232,7 +212,6 @@ rec {
   deps.unicode_width."0.1.5" = {};
   deps.unicode_xid."0.1.0" = {};
   deps.utf8_ranges."1.0.1" = {};
-  deps.vcpkg."0.2.6" = {};
   deps.vec_map."0.8.1" = {};
   deps.version_check."0.1.5" = {};
   deps.winapi."0.3.6" = {
diff --git a/pkgs/build-support/rust/crates-io.nix b/pkgs/build-support/rust/crates-io.nix
index 9d9cafe4cbf..b03f52d3509 100644
--- a/pkgs/build-support/rust/crates-io.nix
+++ b/pkgs/build-support/rust/crates-io.nix
@@ -5,6 +5,8 @@ let inherit (lib.lists) fold;
 in
 rec {
 
+# aho-corasick-0.6.8
+
   crates.aho_corasick."0.6.8" = deps: { features?(features_.aho_corasick."0.6.8" deps {}) }: buildRustCrate {
     crateName = "aho-corasick";
     version = "0.6.8";
@@ -25,6 +27,9 @@ rec {
   ];
 
 
+# end
+# ansi_term-0.11.0
+
   crates.ansi_term."0.11.0" = deps: { features?(features_.ansi_term."0.11.0" deps {}) }: buildRustCrate {
     crateName = "ansi_term";
     version = "0.11.0";
@@ -47,6 +52,9 @@ rec {
   ];
 
 
+# end
+# argon2rs-0.2.5
+
   crates.argon2rs."0.2.5" = deps: { features?(features_.argon2rs."0.2.5" deps {}) }: buildRustCrate {
     crateName = "argon2rs";
     version = "0.2.5";
@@ -61,11 +69,11 @@ rec {
   features_.argon2rs."0.2.5" = deps: f: updateFeatures f (rec {
     argon2rs."0.2.5".default = (f.argon2rs."0.2.5".default or true);
     blake2_rfc = fold recursiveUpdate {} [
-      { "${deps.argon2rs."0.2.5".blake2_rfc}".default = true; }
-      { "0.2.18".simd_asm =
-        (f.blake2_rfc."0.2.18".simd_asm or false) ||
+      { "${deps.argon2rs."0.2.5".blake2_rfc}"."simd_asm" =
+        (f.blake2_rfc."${deps.argon2rs."0.2.5".blake2_rfc}"."simd_asm" or false) ||
         (argon2rs."0.2.5"."simd" or false) ||
         (f."argon2rs"."0.2.5"."simd" or false); }
+      { "${deps.argon2rs."0.2.5".blake2_rfc}".default = true; }
     ];
     scoped_threadpool."${deps.argon2rs."0.2.5".scoped_threadpool}".default = true;
   }) [
@@ -74,6 +82,9 @@ rec {
   ];
 
 
+# end
+# arrayvec-0.4.7
+
   crates.arrayvec."0.4.7" = deps: { features?(features_.arrayvec."0.4.7" deps {}) }: buildRustCrate {
     crateName = "arrayvec";
     version = "0.4.7";
@@ -102,6 +113,9 @@ rec {
   ];
 
 
+# end
+# atty-0.2.11
+
   crates.atty."0.2.11" = deps: { features?(features_.atty."0.2.11" deps {}) }: buildRustCrate {
     crateName = "atty";
     version = "0.2.11";
@@ -136,6 +150,9 @@ rec {
   ];
 
 
+# end
+# backtrace-0.3.9
+
   crates.backtrace."0.3.9" = deps: { features?(features_.backtrace."0.3.9" deps {}) }: buildRustCrate {
     crateName = "backtrace";
     version = "0.3.9";
@@ -147,13 +164,13 @@ rec {
     ])
       ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "fuchsia") && !(kernel == "emscripten") && !(kernel == "darwin") && !(kernel == "ios") then mapFeatures features ([
     ]
-      ++ (if features.backtrace."0.3.9".backtrace-sys or false then [ (crates.backtrace_sys."0.1.24" deps) ] else [])) else [])
+      ++ (if features.backtrace."0.3.9".backtrace-sys or false then [ (crates.backtrace_sys."${deps."backtrace"."0.3.9".backtrace_sys}" deps) ] else [])) else [])
       ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
       (crates."libc"."${deps."backtrace"."0.3.9"."libc"}" deps)
     ]) else [])
       ++ (if kernel == "windows" then mapFeatures features ([
     ]
-      ++ (if features.backtrace."0.3.9".winapi or false then [ (crates.winapi."0.3.6" deps) ] else [])) else []);
+      ++ (if features.backtrace."0.3.9".winapi or false then [ (crates.winapi."${deps."backtrace"."0.3.9".winapi}" deps) ] else [])) else []);
     features = mkFeatures (features."backtrace"."0.3.9" or {});
   };
   features_.backtrace."0.3.9" = deps: f: updateFeatures f (rec {
@@ -241,6 +258,9 @@ rec {
   ];
 
 
+# end
+# backtrace-sys-0.1.24
+
   crates.backtrace_sys."0.1.24" = deps: { features?(features_.backtrace_sys."0.1.24" deps {}) }: buildRustCrate {
     crateName = "backtrace-sys";
     version = "0.1.24";
@@ -265,6 +285,9 @@ rec {
   ];
 
 
+# end
+# bitflags-1.0.4
+
   crates.bitflags."1.0.4" = deps: { features?(features_.bitflags."1.0.4" deps {}) }: buildRustCrate {
     crateName = "bitflags";
     version = "1.0.4";
@@ -277,6 +300,9 @@ rec {
   }) [];
 
 
+# end
+# blake2-rfc-0.2.18
+
   crates.blake2_rfc."0.2.18" = deps: { features?(features_.blake2_rfc."0.2.18" deps {}) }: buildRustCrate {
     crateName = "blake2-rfc";
     version = "0.2.18";
@@ -312,65 +338,68 @@ rec {
   ];
 
 
-  crates.carnix."0.8.11" = deps: { features?(features_.carnix."0.8.11" deps {}) }: buildRustCrate {
+# end
+# carnix-0.9.2
+
+  crates.carnix."0.9.2" = deps: { features?(features_.carnix."0.9.2" deps {}) }: buildRustCrate {
     crateName = "carnix";
-    version = "0.8.11";
+    version = "0.9.2";
     authors = [ "pe@pijul.org <pe@pijul.org>" ];
-    sha256 = "1i5iz51mradd3vishc19cd0nfh9r2clbmiq94f83npny65dnp6ch";
+    sha256 = "1r668rjqcwsxjpz2hrr7j3k099c1xsb8vfq1w7y1ps9hap9af42z";
     crateBin =
       [{  name = "cargo-generate-nixfile";  path = "src/cargo-generate-nixfile.rs"; }] ++
       [{  name = "carnix";  path = "src/main.rs"; }];
     dependencies = mapFeatures features ([
-      (crates."clap"."${deps."carnix"."0.8.11"."clap"}" deps)
-      (crates."dirs"."${deps."carnix"."0.8.11"."dirs"}" deps)
-      (crates."env_logger"."${deps."carnix"."0.8.11"."env_logger"}" deps)
-      (crates."error_chain"."${deps."carnix"."0.8.11"."error_chain"}" deps)
-      (crates."itertools"."${deps."carnix"."0.8.11"."itertools"}" deps)
-      (crates."log"."${deps."carnix"."0.8.11"."log"}" deps)
-      (crates."nom"."${deps."carnix"."0.8.11"."nom"}" deps)
-      (crates."regex"."${deps."carnix"."0.8.11"."regex"}" deps)
-      (crates."rusqlite"."${deps."carnix"."0.8.11"."rusqlite"}" deps)
-      (crates."serde"."${deps."carnix"."0.8.11"."serde"}" deps)
-      (crates."serde_derive"."${deps."carnix"."0.8.11"."serde_derive"}" deps)
-      (crates."serde_json"."${deps."carnix"."0.8.11"."serde_json"}" deps)
-      (crates."tempdir"."${deps."carnix"."0.8.11"."tempdir"}" deps)
-      (crates."toml"."${deps."carnix"."0.8.11"."toml"}" deps)
+      (crates."clap"."${deps."carnix"."0.9.2"."clap"}" deps)
+      (crates."dirs"."${deps."carnix"."0.9.2"."dirs"}" deps)
+      (crates."env_logger"."${deps."carnix"."0.9.2"."env_logger"}" deps)
+      (crates."error_chain"."${deps."carnix"."0.9.2"."error_chain"}" deps)
+      (crates."itertools"."${deps."carnix"."0.9.2"."itertools"}" deps)
+      (crates."log"."${deps."carnix"."0.9.2"."log"}" deps)
+      (crates."nom"."${deps."carnix"."0.9.2"."nom"}" deps)
+      (crates."regex"."${deps."carnix"."0.9.2"."regex"}" deps)
+      (crates."serde"."${deps."carnix"."0.9.2"."serde"}" deps)
+      (crates."serde_derive"."${deps."carnix"."0.9.2"."serde_derive"}" deps)
+      (crates."serde_json"."${deps."carnix"."0.9.2"."serde_json"}" deps)
+      (crates."tempdir"."${deps."carnix"."0.9.2"."tempdir"}" deps)
+      (crates."toml"."${deps."carnix"."0.9.2"."toml"}" deps)
     ]);
   };
-  features_.carnix."0.8.11" = deps: f: updateFeatures f (rec {
-    carnix."0.8.11".default = (f.carnix."0.8.11".default or true);
-    clap."${deps.carnix."0.8.11".clap}".default = true;
-    dirs."${deps.carnix."0.8.11".dirs}".default = true;
-    env_logger."${deps.carnix."0.8.11".env_logger}".default = true;
-    error_chain."${deps.carnix."0.8.11".error_chain}".default = true;
-    itertools."${deps.carnix."0.8.11".itertools}".default = true;
-    log."${deps.carnix."0.8.11".log}".default = true;
-    nom."${deps.carnix."0.8.11".nom}".default = true;
-    regex."${deps.carnix."0.8.11".regex}".default = true;
-    rusqlite."${deps.carnix."0.8.11".rusqlite}".default = true;
-    serde."${deps.carnix."0.8.11".serde}".default = true;
-    serde_derive."${deps.carnix."0.8.11".serde_derive}".default = true;
-    serde_json."${deps.carnix."0.8.11".serde_json}".default = true;
-    tempdir."${deps.carnix."0.8.11".tempdir}".default = true;
-    toml."${deps.carnix."0.8.11".toml}".default = true;
+  features_.carnix."0.9.2" = deps: f: updateFeatures f (rec {
+    carnix."0.9.2".default = (f.carnix."0.9.2".default or true);
+    clap."${deps.carnix."0.9.2".clap}".default = true;
+    dirs."${deps.carnix."0.9.2".dirs}".default = true;
+    env_logger."${deps.carnix."0.9.2".env_logger}".default = true;
+    error_chain."${deps.carnix."0.9.2".error_chain}".default = true;
+    itertools."${deps.carnix."0.9.2".itertools}".default = true;
+    log."${deps.carnix."0.9.2".log}".default = true;
+    nom."${deps.carnix."0.9.2".nom}".default = true;
+    regex."${deps.carnix."0.9.2".regex}".default = true;
+    serde."${deps.carnix."0.9.2".serde}".default = true;
+    serde_derive."${deps.carnix."0.9.2".serde_derive}".default = true;
+    serde_json."${deps.carnix."0.9.2".serde_json}".default = true;
+    tempdir."${deps.carnix."0.9.2".tempdir}".default = true;
+    toml."${deps.carnix."0.9.2".toml}".default = true;
   }) [
-    (features_.clap."${deps."carnix"."0.8.11"."clap"}" deps)
-    (features_.dirs."${deps."carnix"."0.8.11"."dirs"}" deps)
-    (features_.env_logger."${deps."carnix"."0.8.11"."env_logger"}" deps)
-    (features_.error_chain."${deps."carnix"."0.8.11"."error_chain"}" deps)
-    (features_.itertools."${deps."carnix"."0.8.11"."itertools"}" deps)
-    (features_.log."${deps."carnix"."0.8.11"."log"}" deps)
-    (features_.nom."${deps."carnix"."0.8.11"."nom"}" deps)
-    (features_.regex."${deps."carnix"."0.8.11"."regex"}" deps)
-    (features_.rusqlite."${deps."carnix"."0.8.11"."rusqlite"}" deps)
-    (features_.serde."${deps."carnix"."0.8.11"."serde"}" deps)
-    (features_.serde_derive."${deps."carnix"."0.8.11"."serde_derive"}" deps)
-    (features_.serde_json."${deps."carnix"."0.8.11"."serde_json"}" deps)
-    (features_.tempdir."${deps."carnix"."0.8.11"."tempdir"}" deps)
-    (features_.toml."${deps."carnix"."0.8.11"."toml"}" deps)
+    (features_.clap."${deps."carnix"."0.9.2"."clap"}" deps)
+    (features_.dirs."${deps."carnix"."0.9.2"."dirs"}" deps)
+    (features_.env_logger."${deps."carnix"."0.9.2"."env_logger"}" deps)
+    (features_.error_chain."${deps."carnix"."0.9.2"."error_chain"}" deps)
+    (features_.itertools."${deps."carnix"."0.9.2"."itertools"}" deps)
+    (features_.log."${deps."carnix"."0.9.2"."log"}" deps)
+    (features_.nom."${deps."carnix"."0.9.2"."nom"}" deps)
+    (features_.regex."${deps."carnix"."0.9.2"."regex"}" deps)
+    (features_.serde."${deps."carnix"."0.9.2"."serde"}" deps)
+    (features_.serde_derive."${deps."carnix"."0.9.2"."serde_derive"}" deps)
+    (features_.serde_json."${deps."carnix"."0.9.2"."serde_json"}" deps)
+    (features_.tempdir."${deps."carnix"."0.9.2"."tempdir"}" deps)
+    (features_.toml."${deps."carnix"."0.9.2"."toml"}" deps)
   ];
 
 
+# end
+# cc-1.0.25
+
   crates.cc."1.0.25" = deps: { features?(features_.cc."1.0.25" deps {}) }: buildRustCrate {
     crateName = "cc";
     version = "1.0.25";
@@ -391,6 +420,9 @@ rec {
   }) [];
 
 
+# end
+# cfg-if-0.1.6
+
   crates.cfg_if."0.1.6" = deps: { features?(features_.cfg_if."0.1.6" deps {}) }: buildRustCrate {
     crateName = "cfg-if";
     version = "0.1.6";
@@ -402,6 +434,9 @@ rec {
   }) [];
 
 
+# end
+# clap-2.32.0
+
   crates.clap."2.32.0" = deps: { features?(features_.clap."2.32.0" deps {}) }: buildRustCrate {
     crateName = "clap";
     version = "2.32.0";
@@ -412,12 +447,12 @@ rec {
       (crates."textwrap"."${deps."clap"."2.32.0"."textwrap"}" deps)
       (crates."unicode_width"."${deps."clap"."2.32.0"."unicode_width"}" deps)
     ]
-      ++ (if features.clap."2.32.0".atty or false then [ (crates.atty."0.2.11" deps) ] else [])
-      ++ (if features.clap."2.32.0".strsim or false then [ (crates.strsim."0.7.0" deps) ] else [])
-      ++ (if features.clap."2.32.0".vec_map or false then [ (crates.vec_map."0.8.1" deps) ] else []))
+      ++ (if features.clap."2.32.0".atty or false then [ (crates.atty."${deps."clap"."2.32.0".atty}" deps) ] else [])
+      ++ (if features.clap."2.32.0".strsim or false then [ (crates.strsim."${deps."clap"."2.32.0".strsim}" deps) ] else [])
+      ++ (if features.clap."2.32.0".vec_map or false then [ (crates.vec_map."${deps."clap"."2.32.0".vec_map}" deps) ] else []))
       ++ (if !(kernel == "windows") then mapFeatures features ([
     ]
-      ++ (if features.clap."2.32.0".ansi_term or false then [ (crates.ansi_term."0.11.0" deps) ] else [])) else []);
+      ++ (if features.clap."2.32.0".ansi_term or false then [ (crates.ansi_term."${deps."clap"."2.32.0".ansi_term}" deps) ] else [])) else []);
     features = mkFeatures (features."clap"."2.32.0" or {});
   };
   features_.clap."2.32.0" = deps: f: updateFeatures f (rec {
@@ -469,11 +504,11 @@ rec {
     ];
     strsim."${deps.clap."2.32.0".strsim}".default = true;
     textwrap = fold recursiveUpdate {} [
-      { "${deps.clap."2.32.0".textwrap}".default = true; }
-      { "0.10.0".term_size =
-        (f.textwrap."0.10.0".term_size or false) ||
+      { "${deps.clap."2.32.0".textwrap}"."term_size" =
+        (f.textwrap."${deps.clap."2.32.0".textwrap}"."term_size" or false) ||
         (clap."2.32.0"."wrap_help" or false) ||
         (f."clap"."2.32.0"."wrap_help" or false); }
+      { "${deps.clap."2.32.0".textwrap}".default = true; }
     ];
     unicode_width."${deps.clap."2.32.0".unicode_width}".default = true;
     vec_map."${deps.clap."2.32.0".vec_map}".default = true;
@@ -488,6 +523,9 @@ rec {
   ];
 
 
+# end
+# constant_time_eq-0.1.3
+
   crates.constant_time_eq."0.1.3" = deps: { features?(features_.constant_time_eq."0.1.3" deps {}) }: buildRustCrate {
     crateName = "constant_time_eq";
     version = "0.1.3";
@@ -499,6 +537,9 @@ rec {
   }) [];
 
 
+# end
+# dirs-1.0.4
+
   crates.dirs."1.0.4" = deps: { features?(features_.dirs."1.0.4" deps {}) }: buildRustCrate {
     crateName = "dirs";
     version = "1.0.4";
@@ -533,6 +574,9 @@ rec {
   ];
 
 
+# end
+# either-1.5.0
+
   crates.either."1.5.0" = deps: { features?(features_.either."1.5.0" deps {}) }: buildRustCrate {
     crateName = "either";
     version = "1.5.0";
@@ -553,6 +597,9 @@ rec {
   }) [];
 
 
+# end
+# env_logger-0.5.13
+
   crates.env_logger."0.5.13" = deps: { features?(features_.env_logger."0.5.13" deps {}) }: buildRustCrate {
     crateName = "env_logger";
     version = "0.5.13";
@@ -564,7 +611,7 @@ rec {
       (crates."log"."${deps."env_logger"."0.5.13"."log"}" deps)
       (crates."termcolor"."${deps."env_logger"."0.5.13"."termcolor"}" deps)
     ]
-      ++ (if features.env_logger."0.5.13".regex or false then [ (crates.regex."1.0.5" deps) ] else []));
+      ++ (if features.env_logger."0.5.13".regex or false then [ (crates.regex."${deps."env_logger"."0.5.13".regex}" deps) ] else []));
     features = mkFeatures (features."env_logger"."0.5.13" or {});
   };
   features_.env_logger."0.5.13" = deps: f: updateFeatures f (rec {
@@ -592,6 +639,9 @@ rec {
   ];
 
 
+# end
+# error-chain-0.12.0
+
   crates.error_chain."0.12.0" = deps: { features?(features_.error_chain."0.12.0" deps {}) }: buildRustCrate {
     crateName = "error-chain";
     version = "0.12.0";
@@ -599,7 +649,7 @@ rec {
     sha256 = "1m6wk1r6wqg1mn69bxxvk5k081cb4xy6bfhsxb99rv408x9wjcnl";
     dependencies = mapFeatures features ([
     ]
-      ++ (if features.error_chain."0.12.0".backtrace or false then [ (crates.backtrace."0.3.9" deps) ] else []));
+      ++ (if features.error_chain."0.12.0".backtrace or false then [ (crates.backtrace."${deps."error_chain"."0.12.0".backtrace}" deps) ] else []));
     features = mkFeatures (features."error_chain"."0.12.0" or {});
   };
   features_.error_chain."0.12.0" = deps: f: updateFeatures f (rec {
@@ -620,6 +670,9 @@ rec {
   ];
 
 
+# end
+# failure-0.1.3
+
   crates.failure."0.1.3" = deps: { features?(features_.failure."0.1.3" deps {}) }: buildRustCrate {
     crateName = "failure";
     version = "0.1.3";
@@ -627,8 +680,8 @@ rec {
     sha256 = "0cibp01z0clyxrvkl7v7kq6jszsgcg9vwv6d9l6d1drk9jqdss4s";
     dependencies = mapFeatures features ([
     ]
-      ++ (if features.failure."0.1.3".backtrace or false then [ (crates.backtrace."0.3.9" deps) ] else [])
-      ++ (if features.failure."0.1.3".failure_derive or false then [ (crates.failure_derive."0.1.3" deps) ] else []));
+      ++ (if features.failure."0.1.3".backtrace or false then [ (crates.backtrace."${deps."failure"."0.1.3".backtrace}" deps) ] else [])
+      ++ (if features.failure."0.1.3".failure_derive or false then [ (crates.failure_derive."${deps."failure"."0.1.3".failure_derive}" deps) ] else []));
     features = mkFeatures (features."failure"."0.1.3" or {});
   };
   features_.failure."0.1.3" = deps: f: updateFeatures f (rec {
@@ -659,6 +712,9 @@ rec {
   ];
 
 
+# end
+# failure_derive-0.1.3
+
   crates.failure_derive."0.1.3" = deps: { features?(features_.failure_derive."0.1.3" deps {}) }: buildRustCrate {
     crateName = "failure_derive";
     version = "0.1.3";
@@ -688,6 +744,9 @@ rec {
   ];
 
 
+# end
+# fuchsia-zircon-0.3.3
+
   crates.fuchsia_zircon."0.3.3" = deps: { features?(features_.fuchsia_zircon."0.3.3" deps {}) }: buildRustCrate {
     crateName = "fuchsia-zircon";
     version = "0.3.3";
@@ -708,6 +767,9 @@ rec {
   ];
 
 
+# end
+# fuchsia-zircon-sys-0.3.3
+
   crates.fuchsia_zircon_sys."0.3.3" = deps: { features?(features_.fuchsia_zircon_sys."0.3.3" deps {}) }: buildRustCrate {
     crateName = "fuchsia-zircon-sys";
     version = "0.3.3";
@@ -719,6 +781,9 @@ rec {
   }) [];
 
 
+# end
+# humantime-1.1.1
+
   crates.humantime."1.1.1" = deps: { features?(features_.humantime."1.1.1" deps {}) }: buildRustCrate {
     crateName = "humantime";
     version = "1.1.1";
@@ -737,6 +802,9 @@ rec {
   ];
 
 
+# end
+# itertools-0.7.8
+
   crates.itertools."0.7.8" = deps: { features?(features_.itertools."0.7.8" deps {}) }: buildRustCrate {
     crateName = "itertools";
     version = "0.7.8";
@@ -761,6 +829,9 @@ rec {
   ];
 
 
+# end
+# itoa-0.4.3
+
   crates.itoa."0.4.3" = deps: { features?(features_.itoa."0.4.3" deps {}) }: buildRustCrate {
     crateName = "itoa";
     version = "0.4.3";
@@ -779,6 +850,9 @@ rec {
   }) [];
 
 
+# end
+# lazy_static-1.1.0
+
   crates.lazy_static."1.1.0" = deps: { features?(features_.lazy_static."1.1.0" deps {}) }: buildRustCrate {
     crateName = "lazy_static";
     version = "1.1.0";
@@ -811,6 +885,9 @@ rec {
   ];
 
 
+# end
+# libc-0.2.43
+
   crates.libc."0.2.43" = deps: { features?(features_.libc."0.2.43" deps {}) }: buildRustCrate {
     crateName = "libc";
     version = "0.2.43";
@@ -829,105 +906,8 @@ rec {
   }) [];
 
 
-  crates.libsqlite3_sys."0.9.3" = deps: { features?(features_.libsqlite3_sys."0.9.3" deps {}) }: buildRustCrate {
-    crateName = "libsqlite3-sys";
-    version = "0.9.3";
-    authors = [ "John Gallagher <jgallagher@bignerdranch.com>" ];
-    sha256 = "128bv2y342iksv693bffvybr3zzi04vd8p0307zi9wixbdxyp021";
-    build = "build.rs";
-    dependencies = (if abi == "msvc" then mapFeatures features ([
-]) else []);
-
-    buildDependencies = mapFeatures features ([
-    ]
-      ++ (if features.libsqlite3_sys."0.9.3".pkg-config or false then [ (crates.pkg_config."0.3.14" deps) ] else []));
-    features = mkFeatures (features."libsqlite3_sys"."0.9.3" or {});
-  };
-  features_.libsqlite3_sys."0.9.3" = deps: f: updateFeatures f (rec {
-    libsqlite3_sys = fold recursiveUpdate {} [
-      { "0.9.3".bindgen =
-        (f.libsqlite3_sys."0.9.3".bindgen or false) ||
-        (f.libsqlite3_sys."0.9.3".buildtime_bindgen or false) ||
-        (libsqlite3_sys."0.9.3"."buildtime_bindgen" or false); }
-      { "0.9.3".cc =
-        (f.libsqlite3_sys."0.9.3".cc or false) ||
-        (f.libsqlite3_sys."0.9.3".bundled or false) ||
-        (libsqlite3_sys."0.9.3"."bundled" or false); }
-      { "0.9.3".default = (f.libsqlite3_sys."0.9.3".default or true); }
-      { "0.9.3".min_sqlite_version_3_6_8 =
-        (f.libsqlite3_sys."0.9.3".min_sqlite_version_3_6_8 or false) ||
-        (f.libsqlite3_sys."0.9.3".default or false) ||
-        (libsqlite3_sys."0.9.3"."default" or false); }
-      { "0.9.3".pkg-config =
-        (f.libsqlite3_sys."0.9.3".pkg-config or false) ||
-        (f.libsqlite3_sys."0.9.3".buildtime_bindgen or false) ||
-        (libsqlite3_sys."0.9.3"."buildtime_bindgen" or false) ||
-        (f.libsqlite3_sys."0.9.3".min_sqlite_version_3_6_11 or false) ||
-        (libsqlite3_sys."0.9.3"."min_sqlite_version_3_6_11" or false) ||
-        (f.libsqlite3_sys."0.9.3".min_sqlite_version_3_6_23 or false) ||
-        (libsqlite3_sys."0.9.3"."min_sqlite_version_3_6_23" or false) ||
-        (f.libsqlite3_sys."0.9.3".min_sqlite_version_3_6_8 or false) ||
-        (libsqlite3_sys."0.9.3"."min_sqlite_version_3_6_8" or false) ||
-        (f.libsqlite3_sys."0.9.3".min_sqlite_version_3_7_16 or false) ||
-        (libsqlite3_sys."0.9.3"."min_sqlite_version_3_7_16" or false) ||
-        (f.libsqlite3_sys."0.9.3".min_sqlite_version_3_7_3 or false) ||
-        (libsqlite3_sys."0.9.3"."min_sqlite_version_3_7_3" or false) ||
-        (f.libsqlite3_sys."0.9.3".min_sqlite_version_3_7_4 or false) ||
-        (libsqlite3_sys."0.9.3"."min_sqlite_version_3_7_4" or false) ||
-        (f.libsqlite3_sys."0.9.3".min_sqlite_version_3_7_7 or false) ||
-        (libsqlite3_sys."0.9.3"."min_sqlite_version_3_7_7" or false); }
-      { "0.9.3".vcpkg =
-        (f.libsqlite3_sys."0.9.3".vcpkg or false) ||
-        (f.libsqlite3_sys."0.9.3".buildtime_bindgen or false) ||
-        (libsqlite3_sys."0.9.3"."buildtime_bindgen" or false) ||
-        (f.libsqlite3_sys."0.9.3".min_sqlite_version_3_6_11 or false) ||
-        (libsqlite3_sys."0.9.3"."min_sqlite_version_3_6_11" or false) ||
-        (f.libsqlite3_sys."0.9.3".min_sqlite_version_3_6_23 or false) ||
-        (libsqlite3_sys."0.9.3"."min_sqlite_version_3_6_23" or false) ||
-        (f.libsqlite3_sys."0.9.3".min_sqlite_version_3_6_8 or false) ||
-        (libsqlite3_sys."0.9.3"."min_sqlite_version_3_6_8" or false) ||
-        (f.libsqlite3_sys."0.9.3".min_sqlite_version_3_7_16 or false) ||
-        (libsqlite3_sys."0.9.3"."min_sqlite_version_3_7_16" or false) ||
-        (f.libsqlite3_sys."0.9.3".min_sqlite_version_3_7_3 or false) ||
-        (libsqlite3_sys."0.9.3"."min_sqlite_version_3_7_3" or false) ||
-        (f.libsqlite3_sys."0.9.3".min_sqlite_version_3_7_4 or false) ||
-        (libsqlite3_sys."0.9.3"."min_sqlite_version_3_7_4" or false) ||
-        (f.libsqlite3_sys."0.9.3".min_sqlite_version_3_7_7 or false) ||
-        (libsqlite3_sys."0.9.3"."min_sqlite_version_3_7_7" or false); }
-    ];
-    pkg_config."${deps.libsqlite3_sys."0.9.3".pkg_config}".default = true;
-  }) [
-    (features_.pkg_config."${deps."libsqlite3_sys"."0.9.3"."pkg_config"}" deps)
-  ];
-
-
-  crates.linked_hash_map."0.4.2" = deps: { features?(features_.linked_hash_map."0.4.2" deps {}) }: buildRustCrate {
-    crateName = "linked-hash-map";
-    version = "0.4.2";
-    authors = [ "Stepan Koltsov <stepan.koltsov@gmail.com>" "Andrew Paseltiner <apaseltiner@gmail.com>" ];
-    sha256 = "04da208h6jb69f46j37jnvsw2i1wqplglp4d61csqcrhh83avbgl";
-    dependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."linked_hash_map"."0.4.2" or {});
-  };
-  features_.linked_hash_map."0.4.2" = deps: f: updateFeatures f (rec {
-    linked_hash_map = fold recursiveUpdate {} [
-      { "0.4.2".default = (f.linked_hash_map."0.4.2".default or true); }
-      { "0.4.2".heapsize =
-        (f.linked_hash_map."0.4.2".heapsize or false) ||
-        (f.linked_hash_map."0.4.2".heapsize_impl or false) ||
-        (linked_hash_map."0.4.2"."heapsize_impl" or false); }
-      { "0.4.2".serde =
-        (f.linked_hash_map."0.4.2".serde or false) ||
-        (f.linked_hash_map."0.4.2".serde_impl or false) ||
-        (linked_hash_map."0.4.2"."serde_impl" or false); }
-      { "0.4.2".serde_test =
-        (f.linked_hash_map."0.4.2".serde_test or false) ||
-        (f.linked_hash_map."0.4.2".serde_impl or false) ||
-        (linked_hash_map."0.4.2"."serde_impl" or false); }
-    ];
-  }) [];
-
+# end
+# log-0.4.5
 
   crates.log."0.4.5" = deps: { features?(features_.log."0.4.5" deps {}) }: buildRustCrate {
     crateName = "log";
@@ -947,35 +927,8 @@ rec {
   ];
 
 
-  crates.lru_cache."0.1.1" = deps: { features?(features_.lru_cache."0.1.1" deps {}) }: buildRustCrate {
-    crateName = "lru-cache";
-    version = "0.1.1";
-    authors = [ "Stepan Koltsov <stepan.koltsov@gmail.com>" ];
-    sha256 = "1hl6kii1g54sq649gnscv858mmw7a02xj081l4vcgvrswdi2z8fw";
-    dependencies = mapFeatures features ([
-      (crates."linked_hash_map"."${deps."lru_cache"."0.1.1"."linked_hash_map"}" deps)
-    ]);
-    features = mkFeatures (features."lru_cache"."0.1.1" or {});
-  };
-  features_.lru_cache."0.1.1" = deps: f: updateFeatures f (rec {
-    linked_hash_map = fold recursiveUpdate {} [
-      { "${deps.lru_cache."0.1.1".linked_hash_map}".default = true; }
-      { "0.4.2".heapsize_impl =
-        (f.linked_hash_map."0.4.2".heapsize_impl or false) ||
-        (lru_cache."0.1.1"."heapsize_impl" or false) ||
-        (f."lru_cache"."0.1.1"."heapsize_impl" or false); }
-    ];
-    lru_cache = fold recursiveUpdate {} [
-      { "0.1.1".default = (f.lru_cache."0.1.1".default or true); }
-      { "0.1.1".heapsize =
-        (f.lru_cache."0.1.1".heapsize or false) ||
-        (f.lru_cache."0.1.1".heapsize_impl or false) ||
-        (lru_cache."0.1.1"."heapsize_impl" or false); }
-    ];
-  }) [
-    (features_.linked_hash_map."${deps."lru_cache"."0.1.1"."linked_hash_map"}" deps)
-  ];
-
+# end
+# memchr-1.0.2
 
   crates.memchr."1.0.2" = deps: { features?(features_.memchr."1.0.2" deps {}) }: buildRustCrate {
     crateName = "memchr";
@@ -984,16 +937,16 @@ rec {
     sha256 = "0dfb8ifl9nrc9kzgd5z91q6qg87sh285q1ih7xgrsglmqfav9lg7";
     dependencies = mapFeatures features ([
     ]
-      ++ (if features.memchr."1.0.2".libc or false then [ (crates.libc."0.2.43" deps) ] else []));
+      ++ (if features.memchr."1.0.2".libc or false then [ (crates.libc."${deps."memchr"."1.0.2".libc}" deps) ] else []));
     features = mkFeatures (features."memchr"."1.0.2" or {});
   };
   features_.memchr."1.0.2" = deps: f: updateFeatures f (rec {
     libc = fold recursiveUpdate {} [
-      { "${deps.memchr."1.0.2".libc}".default = (f.libc."${deps.memchr."1.0.2".libc}".default or false); }
-      { "0.2.43".use_std =
-        (f.libc."0.2.43".use_std or false) ||
+      { "${deps.memchr."1.0.2".libc}"."use_std" =
+        (f.libc."${deps.memchr."1.0.2".libc}"."use_std" or false) ||
         (memchr."1.0.2"."use_std" or false) ||
         (f."memchr"."1.0.2"."use_std" or false); }
+      { "${deps.memchr."1.0.2".libc}".default = (f.libc."${deps.memchr."1.0.2".libc}".default or false); }
     ];
     memchr = fold recursiveUpdate {} [
       { "1.0.2".default = (f.memchr."1.0.2".default or true); }
@@ -1013,6 +966,9 @@ rec {
   ];
 
 
+# end
+# memchr-2.1.0
+
   crates.memchr."2.1.0" = deps: { features?(features_.memchr."2.1.0" deps {}) }: buildRustCrate {
     crateName = "memchr";
     version = "2.1.0";
@@ -1021,7 +977,7 @@ rec {
     dependencies = mapFeatures features ([
       (crates."cfg_if"."${deps."memchr"."2.1.0"."cfg_if"}" deps)
     ]
-      ++ (if features.memchr."2.1.0".libc or false then [ (crates.libc."0.2.43" deps) ] else []));
+      ++ (if features.memchr."2.1.0".libc or false then [ (crates.libc."${deps."memchr"."2.1.0".libc}" deps) ] else []));
 
     buildDependencies = mapFeatures features ([
       (crates."version_check"."${deps."memchr"."2.1.0"."version_check"}" deps)
@@ -1031,11 +987,11 @@ rec {
   features_.memchr."2.1.0" = deps: f: updateFeatures f (rec {
     cfg_if."${deps.memchr."2.1.0".cfg_if}".default = true;
     libc = fold recursiveUpdate {} [
-      { "${deps.memchr."2.1.0".libc}".default = (f.libc."${deps.memchr."2.1.0".libc}".default or false); }
-      { "0.2.43".use_std =
-        (f.libc."0.2.43".use_std or false) ||
+      { "${deps.memchr."2.1.0".libc}"."use_std" =
+        (f.libc."${deps.memchr."2.1.0".libc}"."use_std" or false) ||
         (memchr."2.1.0"."use_std" or false) ||
         (f."memchr"."2.1.0"."use_std" or false); }
+      { "${deps.memchr."2.1.0".libc}".default = (f.libc."${deps.memchr."2.1.0".libc}".default or false); }
     ];
     memchr = fold recursiveUpdate {} [
       { "2.1.0".default = (f.memchr."2.1.0".default or true); }
@@ -1058,6 +1014,9 @@ rec {
   ];
 
 
+# end
+# nodrop-0.1.12
+
   crates.nodrop."0.1.12" = deps: { features?(features_.nodrop."0.1.12" deps {}) }: buildRustCrate {
     crateName = "nodrop";
     version = "0.1.12";
@@ -1082,6 +1041,9 @@ rec {
   }) [];
 
 
+# end
+# nom-3.2.1
+
   crates.nom."3.2.1" = deps: { features?(features_.nom."3.2.1" deps {}) }: buildRustCrate {
     crateName = "nom";
     version = "3.2.1";
@@ -1094,11 +1056,11 @@ rec {
   };
   features_.nom."3.2.1" = deps: f: updateFeatures f (rec {
     memchr = fold recursiveUpdate {} [
-      { "${deps.nom."3.2.1".memchr}".default = (f.memchr."${deps.nom."3.2.1".memchr}".default or false); }
-      { "1.0.2".use_std =
-        (f.memchr."1.0.2".use_std or false) ||
+      { "${deps.nom."3.2.1".memchr}"."use_std" =
+        (f.memchr."${deps.nom."3.2.1".memchr}"."use_std" or false) ||
         (nom."3.2.1"."std" or false) ||
         (f."nom"."3.2.1"."std" or false); }
+      { "${deps.nom."3.2.1".memchr}".default = (f.memchr."${deps.nom."3.2.1".memchr}".default or false); }
     ];
     nom = fold recursiveUpdate {} [
       { "3.2.1".compiler_error =
@@ -1132,16 +1094,8 @@ rec {
   ];
 
 
-  crates.pkg_config."0.3.14" = deps: { features?(features_.pkg_config."0.3.14" deps {}) }: buildRustCrate {
-    crateName = "pkg-config";
-    version = "0.3.14";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0207fsarrm412j0dh87lfcas72n8mxar7q3mgflsbsrqnb140sv6";
-  };
-  features_.pkg_config."0.3.14" = deps: f: updateFeatures f (rec {
-    pkg_config."0.3.14".default = (f.pkg_config."0.3.14".default or true);
-  }) [];
-
+# end
+# proc-macro2-0.4.20
 
   crates.proc_macro2."0.4.20" = deps: { features?(features_.proc_macro2."0.4.20" deps {}) }: buildRustCrate {
     crateName = "proc-macro2";
@@ -1170,6 +1124,9 @@ rec {
   ];
 
 
+# end
+# quick-error-1.2.2
+
   crates.quick_error."1.2.2" = deps: { features?(features_.quick_error."1.2.2" deps {}) }: buildRustCrate {
     crateName = "quick-error";
     version = "1.2.2";
@@ -1181,6 +1138,9 @@ rec {
   }) [];
 
 
+# end
+# quote-0.6.8
+
   crates.quote."0.6.8" = deps: { features?(features_.quote."0.6.8" deps {}) }: buildRustCrate {
     crateName = "quote";
     version = "0.6.8";
@@ -1193,11 +1153,11 @@ rec {
   };
   features_.quote."0.6.8" = deps: f: updateFeatures f (rec {
     proc_macro2 = fold recursiveUpdate {} [
-      { "${deps.quote."0.6.8".proc_macro2}".default = (f.proc_macro2."${deps.quote."0.6.8".proc_macro2}".default or false); }
-      { "0.4.20".proc-macro =
-        (f.proc_macro2."0.4.20".proc-macro or false) ||
+      { "${deps.quote."0.6.8".proc_macro2}"."proc-macro" =
+        (f.proc_macro2."${deps.quote."0.6.8".proc_macro2}"."proc-macro" or false) ||
         (quote."0.6.8"."proc-macro" or false) ||
         (f."quote"."0.6.8"."proc-macro" or false); }
+      { "${deps.quote."0.6.8".proc_macro2}".default = (f.proc_macro2."${deps.quote."0.6.8".proc_macro2}".default or false); }
     ];
     quote = fold recursiveUpdate {} [
       { "0.6.8".default = (f.quote."0.6.8".default or true); }
@@ -1211,6 +1171,9 @@ rec {
   ];
 
 
+# end
+# rand-0.4.3
+
   crates.rand."0.4.3" = deps: { features?(features_.rand."0.4.3" deps {}) }: buildRustCrate {
     crateName = "rand";
     version = "0.4.3";
@@ -1221,7 +1184,7 @@ rec {
     ]) else [])
       ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
     ]
-      ++ (if features.rand."0.4.3".libc or false then [ (crates.libc."0.2.43" deps) ] else [])) else [])
+      ++ (if features.rand."0.4.3".libc or false then [ (crates.libc."${deps."rand"."0.4.3".libc}" deps) ] else [])) else [])
       ++ (if kernel == "windows" then mapFeatures features ([
       (crates."winapi"."${deps."rand"."0.4.3"."winapi"}" deps)
     ]) else []);
@@ -1259,6 +1222,9 @@ rec {
   ];
 
 
+# end
+# redox_syscall-0.1.40
+
   crates.redox_syscall."0.1.40" = deps: { features?(features_.redox_syscall."0.1.40" deps {}) }: buildRustCrate {
     crateName = "redox_syscall";
     version = "0.1.40";
@@ -1271,6 +1237,9 @@ rec {
   }) [];
 
 
+# end
+# redox_termios-0.1.1
+
   crates.redox_termios."0.1.1" = deps: { features?(features_.redox_termios."0.1.1" deps {}) }: buildRustCrate {
     crateName = "redox_termios";
     version = "0.1.1";
@@ -1289,6 +1258,9 @@ rec {
   ];
 
 
+# end
+# redox_users-0.2.0
+
   crates.redox_users."0.2.0" = deps: { features?(features_.redox_users."0.2.0" deps {}) }: buildRustCrate {
     crateName = "redox_users";
     version = "0.2.0";
@@ -1315,6 +1287,9 @@ rec {
   ];
 
 
+# end
+# regex-1.0.5
+
   crates.regex."1.0.5" = deps: { features?(features_.regex."1.0.5" deps {}) }: buildRustCrate {
     crateName = "regex";
     version = "1.0.5";
@@ -1355,6 +1330,9 @@ rec {
   ];
 
 
+# end
+# regex-syntax-0.6.2
+
   crates.regex_syntax."0.6.2" = deps: { features?(features_.regex_syntax."0.6.2" deps {}) }: buildRustCrate {
     crateName = "regex-syntax";
     version = "0.6.2";
@@ -1372,6 +1350,9 @@ rec {
   ];
 
 
+# end
+# remove_dir_all-0.5.1
+
   crates.remove_dir_all."0.5.1" = deps: { features?(features_.remove_dir_all."0.5.1" deps {}) }: buildRustCrate {
     crateName = "remove_dir_all";
     version = "0.5.1";
@@ -1396,90 +1377,8 @@ rec {
   ];
 
 
-  crates.rusqlite."0.14.0" = deps: { features?(features_.rusqlite."0.14.0" deps {}) }: buildRustCrate {
-    crateName = "rusqlite";
-    version = "0.14.0";
-    authors = [ "John Gallagher <jgallagher@bignerdranch.com>" ];
-    sha256 = "06j1z8yicn6jg8irxclsvgp0575gz5k24jgnbk0d807i5gvsg9jq";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."rusqlite"."0.14.0"."bitflags"}" deps)
-      (crates."libsqlite3_sys"."${deps."rusqlite"."0.14.0"."libsqlite3_sys"}" deps)
-      (crates."lru_cache"."${deps."rusqlite"."0.14.0"."lru_cache"}" deps)
-      (crates."time"."${deps."rusqlite"."0.14.0"."time"}" deps)
-    ]);
-    features = mkFeatures (features."rusqlite"."0.14.0" or {});
-  };
-  features_.rusqlite."0.14.0" = deps: f: updateFeatures f (rec {
-    bitflags."${deps.rusqlite."0.14.0".bitflags}".default = true;
-    libsqlite3_sys = fold recursiveUpdate {} [
-      { "${deps.rusqlite."0.14.0".libsqlite3_sys}".default = true; }
-      { "0.9.3".buildtime_bindgen =
-        (f.libsqlite3_sys."0.9.3".buildtime_bindgen or false) ||
-        (rusqlite."0.14.0"."buildtime_bindgen" or false) ||
-        (f."rusqlite"."0.14.0"."buildtime_bindgen" or false); }
-      { "0.9.3".bundled =
-        (f.libsqlite3_sys."0.9.3".bundled or false) ||
-        (rusqlite."0.14.0"."bundled" or false) ||
-        (f."rusqlite"."0.14.0"."bundled" or false); }
-      { "0.9.3".min_sqlite_version_3_6_11 =
-        (f.libsqlite3_sys."0.9.3".min_sqlite_version_3_6_11 or false) ||
-        (rusqlite."0.14.0"."backup" or false) ||
-        (f."rusqlite"."0.14.0"."backup" or false); }
-      { "0.9.3".min_sqlite_version_3_6_23 =
-        (f.libsqlite3_sys."0.9.3".min_sqlite_version_3_6_23 or false) ||
-        (rusqlite."0.14.0"."trace" or false) ||
-        (f."rusqlite"."0.14.0"."trace" or false); }
-      { "0.9.3".min_sqlite_version_3_7_3 =
-        (f.libsqlite3_sys."0.9.3".min_sqlite_version_3_7_3 or false) ||
-        (rusqlite."0.14.0"."functions" or false) ||
-        (f."rusqlite"."0.14.0"."functions" or false); }
-      { "0.9.3".min_sqlite_version_3_7_4 =
-        (f.libsqlite3_sys."0.9.3".min_sqlite_version_3_7_4 or false) ||
-        (rusqlite."0.14.0"."blob" or false) ||
-        (f."rusqlite"."0.14.0"."blob" or false); }
-      { "0.9.3".min_sqlite_version_3_7_7 =
-        (f.libsqlite3_sys."0.9.3".min_sqlite_version_3_7_7 or false) ||
-        (rusqlite."0.14.0"."vtab" or false) ||
-        (f."rusqlite"."0.14.0"."vtab" or false); }
-      { "0.9.3".sqlcipher =
-        (f.libsqlite3_sys."0.9.3".sqlcipher or false) ||
-        (rusqlite."0.14.0"."sqlcipher" or false) ||
-        (f."rusqlite"."0.14.0"."sqlcipher" or false); }
-      { "0.9.3".unlock_notify =
-        (f.libsqlite3_sys."0.9.3".unlock_notify or false) ||
-        (rusqlite."0.14.0"."unlock_notify" or false) ||
-        (f."rusqlite"."0.14.0"."unlock_notify" or false); }
-    ];
-    lru_cache."${deps.rusqlite."0.14.0".lru_cache}".default = true;
-    rusqlite = fold recursiveUpdate {} [
-      { "0.14.0".bundled =
-        (f.rusqlite."0.14.0".bundled or false) ||
-        (f.rusqlite."0.14.0".array or false) ||
-        (rusqlite."0.14.0"."array" or false); }
-      { "0.14.0".csv =
-        (f.rusqlite."0.14.0".csv or false) ||
-        (f.rusqlite."0.14.0".csvtab or false) ||
-        (rusqlite."0.14.0"."csvtab" or false); }
-      { "0.14.0".default = (f.rusqlite."0.14.0".default or true); }
-      { "0.14.0".lazy_static =
-        (f.rusqlite."0.14.0".lazy_static or false) ||
-        (f.rusqlite."0.14.0".vtab or false) ||
-        (rusqlite."0.14.0"."vtab" or false); }
-      { "0.14.0".vtab =
-        (f.rusqlite."0.14.0".vtab or false) ||
-        (f.rusqlite."0.14.0".array or false) ||
-        (rusqlite."0.14.0"."array" or false) ||
-        (f.rusqlite."0.14.0".csvtab or false) ||
-        (rusqlite."0.14.0"."csvtab" or false); }
-    ];
-    time."${deps.rusqlite."0.14.0".time}".default = true;
-  }) [
-    (features_.bitflags."${deps."rusqlite"."0.14.0"."bitflags"}" deps)
-    (features_.libsqlite3_sys."${deps."rusqlite"."0.14.0"."libsqlite3_sys"}" deps)
-    (features_.lru_cache."${deps."rusqlite"."0.14.0"."lru_cache"}" deps)
-    (features_.time."${deps."rusqlite"."0.14.0"."time"}" deps)
-  ];
-
+# end
+# rustc-demangle-0.1.9
 
   crates.rustc_demangle."0.1.9" = deps: { features?(features_.rustc_demangle."0.1.9" deps {}) }: buildRustCrate {
     crateName = "rustc-demangle";
@@ -1492,6 +1391,9 @@ rec {
   }) [];
 
 
+# end
+# ryu-0.2.6
+
   crates.ryu."0.2.6" = deps: { features?(features_.ryu."0.2.6" deps {}) }: buildRustCrate {
     crateName = "ryu";
     version = "0.2.6";
@@ -1507,6 +1409,9 @@ rec {
   }) [];
 
 
+# end
+# scoped_threadpool-0.1.9
+
   crates.scoped_threadpool."0.1.9" = deps: { features?(features_.scoped_threadpool."0.1.9" deps {}) }: buildRustCrate {
     crateName = "scoped_threadpool";
     version = "0.1.9";
@@ -1519,6 +1424,9 @@ rec {
   }) [];
 
 
+# end
+# serde-1.0.80
+
   crates.serde."1.0.80" = deps: { features?(features_.serde."1.0.80" deps {}) }: buildRustCrate {
     crateName = "serde";
     version = "1.0.80";
@@ -1548,6 +1456,9 @@ rec {
   }) [];
 
 
+# end
+# serde_derive-1.0.80
+
   crates.serde_derive."1.0.80" = deps: { features?(features_.serde_derive."1.0.80" deps {}) }: buildRustCrate {
     crateName = "serde_derive";
     version = "1.0.80";
@@ -1576,6 +1487,9 @@ rec {
   ];
 
 
+# end
+# serde_json-1.0.32
+
   crates.serde_json."1.0.32" = deps: { features?(features_.serde_json."1.0.32" deps {}) }: buildRustCrate {
     crateName = "serde_json";
     version = "1.0.32";
@@ -1606,6 +1520,9 @@ rec {
   ];
 
 
+# end
+# strsim-0.7.0
+
   crates.strsim."0.7.0" = deps: { features?(features_.strsim."0.7.0" deps {}) }: buildRustCrate {
     crateName = "strsim";
     version = "0.7.0";
@@ -1617,6 +1534,9 @@ rec {
   }) [];
 
 
+# end
+# syn-0.15.13
+
   crates.syn."0.15.13" = deps: { features?(features_.syn."0.15.13" deps {}) }: buildRustCrate {
     crateName = "syn";
     version = "0.15.13";
@@ -1626,23 +1546,23 @@ rec {
       (crates."proc_macro2"."${deps."syn"."0.15.13"."proc_macro2"}" deps)
       (crates."unicode_xid"."${deps."syn"."0.15.13"."unicode_xid"}" deps)
     ]
-      ++ (if features.syn."0.15.13".quote or false then [ (crates.quote."0.6.8" deps) ] else []));
+      ++ (if features.syn."0.15.13".quote or false then [ (crates.quote."${deps."syn"."0.15.13".quote}" deps) ] else []));
     features = mkFeatures (features."syn"."0.15.13" or {});
   };
   features_.syn."0.15.13" = deps: f: updateFeatures f (rec {
     proc_macro2 = fold recursiveUpdate {} [
-      { "${deps.syn."0.15.13".proc_macro2}".default = (f.proc_macro2."${deps.syn."0.15.13".proc_macro2}".default or false); }
-      { "0.4.20".proc-macro =
-        (f.proc_macro2."0.4.20".proc-macro or false) ||
+      { "${deps.syn."0.15.13".proc_macro2}"."proc-macro" =
+        (f.proc_macro2."${deps.syn."0.15.13".proc_macro2}"."proc-macro" or false) ||
         (syn."0.15.13"."proc-macro" or false) ||
         (f."syn"."0.15.13"."proc-macro" or false); }
+      { "${deps.syn."0.15.13".proc_macro2}".default = (f.proc_macro2."${deps.syn."0.15.13".proc_macro2}".default or false); }
     ];
     quote = fold recursiveUpdate {} [
-      { "${deps.syn."0.15.13".quote}".default = (f.quote."${deps.syn."0.15.13".quote}".default or false); }
-      { "0.6.8".proc-macro =
-        (f.quote."0.6.8".proc-macro or false) ||
+      { "${deps.syn."0.15.13".quote}"."proc-macro" =
+        (f.quote."${deps.syn."0.15.13".quote}"."proc-macro" or false) ||
         (syn."0.15.13"."proc-macro" or false) ||
         (f."syn"."0.15.13"."proc-macro" or false); }
+      { "${deps.syn."0.15.13".quote}".default = (f.quote."${deps.syn."0.15.13".quote}".default or false); }
     ];
     syn = fold recursiveUpdate {} [
       { "0.15.13".clone-impls =
@@ -1679,6 +1599,9 @@ rec {
   ];
 
 
+# end
+# synstructure-0.10.0
+
   crates.synstructure."0.10.0" = deps: { features?(features_.synstructure."0.10.0" deps {}) }: buildRustCrate {
     crateName = "synstructure";
     version = "0.10.0";
@@ -1710,6 +1633,9 @@ rec {
   ];
 
 
+# end
+# tempdir-0.3.7
+
   crates.tempdir."0.3.7" = deps: { features?(features_.tempdir."0.3.7" deps {}) }: buildRustCrate {
     crateName = "tempdir";
     version = "0.3.7";
@@ -1730,6 +1656,9 @@ rec {
   ];
 
 
+# end
+# termcolor-1.0.4
+
   crates.termcolor."1.0.4" = deps: { features?(features_.termcolor."1.0.4" deps {}) }: buildRustCrate {
     crateName = "termcolor";
     version = "1.0.4";
@@ -1747,6 +1676,9 @@ rec {
   ];
 
 
+# end
+# termion-1.5.1
+
   crates.termion."1.5.1" = deps: { features?(features_.termion."1.5.1" deps {}) }: buildRustCrate {
     crateName = "termion";
     version = "1.5.1";
@@ -1772,6 +1704,9 @@ rec {
   ];
 
 
+# end
+# textwrap-0.10.0
+
   crates.textwrap."0.10.0" = deps: { features?(features_.textwrap."0.10.0" deps {}) }: buildRustCrate {
     crateName = "textwrap";
     version = "0.10.0";
@@ -1789,6 +1724,9 @@ rec {
   ];
 
 
+# end
+# thread_local-0.3.6
+
   crates.thread_local."0.3.6" = deps: { features?(features_.thread_local."0.3.6" deps {}) }: buildRustCrate {
     crateName = "thread_local";
     version = "0.3.6";
@@ -1806,41 +1744,8 @@ rec {
   ];
 
 
-  crates.time."0.1.40" = deps: { features?(features_.time."0.1.40" deps {}) }: buildRustCrate {
-    crateName = "time";
-    version = "0.1.40";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0wgnbjamljz6bqxsd5axc4p2mmhkqfrryj4gf2yswjaxiw5dd01m";
-    dependencies = mapFeatures features ([
-      (crates."libc"."${deps."time"."0.1.40"."libc"}" deps)
-    ])
-      ++ (if kernel == "redox" then mapFeatures features ([
-      (crates."redox_syscall"."${deps."time"."0.1.40"."redox_syscall"}" deps)
-    ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([
-      (crates."winapi"."${deps."time"."0.1.40"."winapi"}" deps)
-    ]) else []);
-  };
-  features_.time."0.1.40" = deps: f: updateFeatures f (rec {
-    libc."${deps.time."0.1.40".libc}".default = true;
-    redox_syscall."${deps.time."0.1.40".redox_syscall}".default = true;
-    time."0.1.40".default = (f.time."0.1.40".default or true);
-    winapi = fold recursiveUpdate {} [
-      { "${deps.time."0.1.40".winapi}"."minwinbase" = true; }
-      { "${deps.time."0.1.40".winapi}"."minwindef" = true; }
-      { "${deps.time."0.1.40".winapi}"."ntdef" = true; }
-      { "${deps.time."0.1.40".winapi}"."profileapi" = true; }
-      { "${deps.time."0.1.40".winapi}"."std" = true; }
-      { "${deps.time."0.1.40".winapi}"."sysinfoapi" = true; }
-      { "${deps.time."0.1.40".winapi}"."timezoneapi" = true; }
-      { "${deps.time."0.1.40".winapi}".default = true; }
-    ];
-  }) [
-    (features_.libc."${deps."time"."0.1.40"."libc"}" deps)
-    (features_.redox_syscall."${deps."time"."0.1.40"."redox_syscall"}" deps)
-    (features_.winapi."${deps."time"."0.1.40"."winapi"}" deps)
-  ];
-
+# end
+# toml-0.4.8
 
   crates.toml."0.4.8" = deps: { features?(features_.toml."0.4.8" deps {}) }: buildRustCrate {
     crateName = "toml";
@@ -1859,6 +1764,9 @@ rec {
   ];
 
 
+# end
+# ucd-util-0.1.1
+
   crates.ucd_util."0.1.1" = deps: { features?(features_.ucd_util."0.1.1" deps {}) }: buildRustCrate {
     crateName = "ucd-util";
     version = "0.1.1";
@@ -1870,6 +1778,9 @@ rec {
   }) [];
 
 
+# end
+# unicode-width-0.1.5
+
   crates.unicode_width."0.1.5" = deps: { features?(features_.unicode_width."0.1.5" deps {}) }: buildRustCrate {
     crateName = "unicode-width";
     version = "0.1.5";
@@ -1882,6 +1793,9 @@ rec {
   }) [];
 
 
+# end
+# unicode-xid-0.1.0
+
   crates.unicode_xid."0.1.0" = deps: { features?(features_.unicode_xid."0.1.0" deps {}) }: buildRustCrate {
     crateName = "unicode-xid";
     version = "0.1.0";
@@ -1894,6 +1808,9 @@ rec {
   }) [];
 
 
+# end
+# utf8-ranges-1.0.1
+
   crates.utf8_ranges."1.0.1" = deps: { features?(features_.utf8_ranges."1.0.1" deps {}) }: buildRustCrate {
     crateName = "utf8-ranges";
     version = "1.0.1";
@@ -1905,16 +1822,8 @@ rec {
   }) [];
 
 
-  crates.vcpkg."0.2.6" = deps: { features?(features_.vcpkg."0.2.6" deps {}) }: buildRustCrate {
-    crateName = "vcpkg";
-    version = "0.2.6";
-    authors = [ "Jim McGrath <jimmc2@gmail.com>" ];
-    sha256 = "1ig6jqpzzl1z9vk4qywgpfr4hfbd8ny8frqsgm3r449wkc4n1i5x";
-  };
-  features_.vcpkg."0.2.6" = deps: f: updateFeatures f (rec {
-    vcpkg."0.2.6".default = (f.vcpkg."0.2.6".default or true);
-  }) [];
-
+# end
+# vec_map-0.8.1
 
   crates.vec_map."0.8.1" = deps: { features?(features_.vec_map."0.8.1" deps {}) }: buildRustCrate {
     crateName = "vec_map";
@@ -1936,6 +1845,9 @@ rec {
   }) [];
 
 
+# end
+# version_check-0.1.5
+
   crates.version_check."0.1.5" = deps: { features?(features_.version_check."0.1.5" deps {}) }: buildRustCrate {
     crateName = "version_check";
     version = "0.1.5";
@@ -1947,6 +1859,9 @@ rec {
   }) [];
 
 
+# end
+# winapi-0.3.6
+
   crates.winapi."0.3.6" = deps: { features?(features_.winapi."0.3.6" deps {}) }: buildRustCrate {
     crateName = "winapi";
     version = "0.3.6";
@@ -1971,6 +1886,9 @@ rec {
   ];
 
 
+# end
+# winapi-i686-pc-windows-gnu-0.4.0
+
   crates.winapi_i686_pc_windows_gnu."0.4.0" = deps: { features?(features_.winapi_i686_pc_windows_gnu."0.4.0" deps {}) }: buildRustCrate {
     crateName = "winapi-i686-pc-windows-gnu";
     version = "0.4.0";
@@ -1983,6 +1901,9 @@ rec {
   }) [];
 
 
+# end
+# winapi-util-0.1.1
+
   crates.winapi_util."0.1.1" = deps: { features?(features_.winapi_util."0.1.1" deps {}) }: buildRustCrate {
     crateName = "winapi-util";
     version = "0.1.1";
@@ -2011,6 +1932,9 @@ rec {
   ];
 
 
+# end
+# winapi-x86_64-pc-windows-gnu-0.4.0
+
   crates.winapi_x86_64_pc_windows_gnu."0.4.0" = deps: { features?(features_.winapi_x86_64_pc_windows_gnu."0.4.0" deps {}) }: buildRustCrate {
     crateName = "winapi-x86_64-pc-windows-gnu";
     version = "0.4.0";
@@ -2023,6 +1947,9 @@ rec {
   }) [];
 
 
+# end
+# wincolor-1.0.1
+
   crates.wincolor."1.0.1" = deps: { features?(features_.wincolor."1.0.1" deps {}) }: buildRustCrate {
     crateName = "wincolor";
     version = "1.0.1";
@@ -2047,4 +1974,5 @@ rec {
   ];
 
 
+# end
 }