summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndrew Childs <lorne@cons.org.nz>2018-01-18 00:01:04 +0900
committerAndrew Childs <lorne@cons.org.nz>2018-01-18 20:44:42 +0900
commitbe797f7e1c48dd17cd4a03b9232a2d88557baac6 (patch)
treead610d5e623d5dd5d564af83705afbd212df6aa5
parent62dcb3d5d0d22f10a128a20a3acf099b2b66bf79 (diff)
downloadnixpkgs-be797f7e1c48dd17cd4a03b9232a2d88557baac6.tar
nixpkgs-be797f7e1c48dd17cd4a03b9232a2d88557baac6.tar.gz
nixpkgs-be797f7e1c48dd17cd4a03b9232a2d88557baac6.tar.bz2
nixpkgs-be797f7e1c48dd17cd4a03b9232a2d88557baac6.tar.lz
nixpkgs-be797f7e1c48dd17cd4a03b9232a2d88557baac6.tar.xz
nixpkgs-be797f7e1c48dd17cd4a03b9232a2d88557baac6.tar.zst
nixpkgs-be797f7e1c48dd17cd4a03b9232a2d88557baac6.zip
cargo-vendor: Build from source using carnix
Removes a binary bootstrap, and enables cargo-vendor on aarch64.
-rw-r--r--pkgs/build-support/rust/cargo-vendor.nix34
-rw-r--r--pkgs/build-support/rust/cargo-vendor/cargo-vendor.nix1487
-rw-r--r--pkgs/build-support/rust/cargo-vendor/default.nix10
-rw-r--r--pkgs/build-support/rust/default-crate-overrides.nix31
-rw-r--r--pkgs/build-support/rust/default.nix6
5 files changed, 1529 insertions, 39 deletions
diff --git a/pkgs/build-support/rust/cargo-vendor.nix b/pkgs/build-support/rust/cargo-vendor.nix
deleted file mode 100644
index 9c379eaa333..00000000000
--- a/pkgs/build-support/rust/cargo-vendor.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ fetchurl, stdenv }:
-let
-  inherit (stdenv) system;
-
-  version = "0.1.12";
-
-  hashes = {
-    x86_64-linux = "1hxlavcxy374yypfamlkygjg662lhll8j434qcvdawkvlidg5ii5";
-    x86_64-darwin = "1jkvhh710gwjnnjx59kaplx2ncfvkx9agfa76rr94sbjqq4igddm";
-  };
-  hash = hashes. ${system} or badSystem;
-
-  badSystem = throw "missing bootstrap hash for platform ${system}";
-
-  platforms = {
-    x86_64-linux = "x86_64-unknown-linux-musl";
-    x86_64-darwin = "x86_64-apple-darwin";
-  };
-  platform = platforms . ${system} or badSystem;
-
-in stdenv.mkDerivation {
-  name = "cargo-vendor-${version}";
-
-  src = fetchurl {
-     url = "https://github.com/alexcrichton/cargo-vendor/releases/download/${version}/cargo-vendor-${version}-${platform}.tar.gz";
-     sha256 = hash;
-  };
-
-  phases = "unpackPhase installPhase";
-
-  installPhase = ''
-    install -Dm755 cargo-vendor $out/bin/cargo-vendor
-  '';
-}
diff --git a/pkgs/build-support/rust/cargo-vendor/cargo-vendor.nix b/pkgs/build-support/rust/cargo-vendor/cargo-vendor.nix
new file mode 100644
index 00000000000..ac6bb6ab1bd
--- /dev/null
+++ b/pkgs/build-support/rust/cargo-vendor/cargo-vendor.nix
@@ -0,0 +1,1487 @@
+# Generated by carnix 0.5.2: carnix Cargo.lock -o cargo-vendor.nix
+{ lib, buildPlatform, buildRustCrate, fetchgit }:
+let kernel = buildPlatform.parsed.kernel.name;
+    abi = buildPlatform.parsed.abi.name;
+    hasFeature = feature:
+      lib.lists.any
+        (originName: feature.${originName})
+        (builtins.attrNames feature);
+
+    hasDefault = feature:
+      let defaultFeatures = builtins.attrNames (feature."default" or {}); in
+      (defaultFeatures == [])
+      || (lib.lists.any (originName: feature."default".${originName}) defaultFeatures);
+
+    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);
+    advapi32_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "advapi32-sys";
+      version = "0.2.0";
+      authors = [ "Peter Atashian <retep998@gmail.com>" ];
+      sha256 = "1l6789hkz2whd9gklwz1m379kcvyizaj8nnzj3rn4a5h79yg59v7";
+      libName = "advapi32";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+    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;
+    };
+    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_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "backtrace";
+      version = "0.3.3";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" "The Rust Project Developers" ];
+      sha256 = "0invfdxkj85v8zyrjs3amfxjdk2a36x8irq7wq7kny6q49hh8y0z";
+      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_0_9_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "bitflags";
+      version = "0.9.1";
+      authors = [ "The Rust Project Developers" ];
+      sha256 = "18h073l5jd88rx4qdr95fjddr9rk79pb1aqnshzdnw16cfmb9rws";
+      inherit dependencies buildDependencies features;
+    };
+    cargo_0_22_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "cargo";
+      version = "0.22.0";
+      authors = [ "Yehuda Katz <wycats@gmail.com>" "Carl Lerche <me@carllerche.com>" "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "1a47jzkxydsrcyybdqv7wd6a2f258c8bb8rb2jv5n4apxz5qhycl";
+      libPath = "src/cargo/lib.rs";
+      crateBin = [ {  name = "cargo"; } ];
+      inherit dependencies buildDependencies features;
+    };
+    cargo_vendor_0_1_13_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "cargo-vendor";
+      version = "0.1.13";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      src = ./.;
+      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;
+    };
+    cmake_0_1_26_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "cmake";
+      version = "0.1.26";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "0qi1vb1fzlngxr4mzklg58jjmvwj08059pjvh0yh1azzj2mcmgx6";
+      inherit dependencies buildDependencies features;
+    };
+    core_foundation_0_4_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "core-foundation";
+      version = "0.4.4";
+      authors = [ "The Servo Project Developers" ];
+      sha256 = "1vn9cdbihjnqrlznrbvw0yggz5grb4wqll5xq080w28xxhnayyhx";
+      inherit dependencies buildDependencies features;
+    };
+    core_foundation_sys_0_4_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "core-foundation-sys";
+      version = "0.4.4";
+      authors = [ "The Servo Project Developers" ];
+      sha256 = "022i015jzjmv85vr25l9caxz211649d8rnbcsmr0gh9k4ygm7pqk";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+    crates_io_0_11_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "crates-io";
+      version = "0.11.0";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "1xxhbka89bk1kkhl8nsnlp9ih64fzv904dyb7jyws7lizcvq77wm";
+      libPath = "lib.rs";
+      libName = "crates_io";
+      inherit dependencies buildDependencies features;
+    };
+    crossbeam_0_2_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "crossbeam";
+      version = "0.2.10";
+      authors = [ "Aaron Turon <aturon@mozilla.com>" ];
+      sha256 = "1k1a4q5gy7zakiw39hdzrblnw3kk4nsqmkdp1dpzh8h558140rhq";
+      inherit dependencies buildDependencies features;
+    };
+    curl_0_4_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "curl";
+      version = "0.4.8";
+      authors = [ "Carl Lerche <me@carllerche.com>" "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "0pxg1bpplm1bp8b8gzlvs4pmd36m02gjhskvwrd161hh9pslczv5";
+      inherit dependencies buildDependencies features;
+    };
+    curl_sys_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "curl-sys";
+      version = "0.3.15";
+      authors = [ "Carl Lerche <me@carllerche.com>" "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "0x2ysxhpwg1a7srf74v4qcy516jzf0kjg87hsl6cfnasxplz5x1g";
+      libPath = "lib.rs";
+      libName = "curl_sys";
+      build = "build.rs";
+      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;
+    };
+    docopt_0_8_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "docopt";
+      version = "0.8.1";
+      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+      sha256 = "0kmqy534qgcc2hh81nd248jmnvdjb5y4wclddd7y2jjm27rzibss";
+      crateBin = [ {  name = "docopt-wordlist";  path = "src/wordlist.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;
+    };
+    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;
+    };
+    filetime_0_1_14_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "filetime";
+      version = "0.1.14";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "0i6dvc3ba7vl1iccc91k7c9bv9j5md98mbvlmfy0kicikx0ffn08";
+      inherit dependencies buildDependencies features;
+    };
+    flate2_0_2_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "flate2";
+      version = "0.2.20";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "1am0d2vmqym1vcg7rvv516vpcrbhdn1jisy0q03r3nbzdzh54ppl";
+      inherit dependencies buildDependencies features;
+    };
+    fnv_1_0_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "fnv";
+      version = "1.0.5";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "164832m16b3hdm3jfrda03ps3ayi5qb855irpm9sqpnw1awpy2a2";
+      libPath = "lib.rs";
+      inherit dependencies buildDependencies features;
+    };
+    foreign_types_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "foreign-types";
+      version = "0.2.0";
+      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+      sha256 = "1sznwg2py4xi7hyrx0gg1sirlwgh87wsanvjx3zb475g6c4139jh";
+      inherit dependencies buildDependencies features;
+    };
+    fs2_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "fs2";
+      version = "0.4.2";
+      authors = [ "Dan Burkert <dan@danburkert.com>" ];
+      sha256 = "034s52pmqvrkafmmlnklysqx6gl08rl63ycngbav9hs0mrq22qvf";
+      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;
+    };
+    git2_0_6_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "git2";
+      version = "0.6.8";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "1si82zg35a1az91wa2zjwlkmbd4pdia8wf87j6hz4bs8l55y8fd9";
+      inherit dependencies buildDependencies features;
+    };
+    git2_curl_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "git2-curl";
+      version = "0.7.0";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "1k36py61r3g7xz79ms02c1zb9x5c60g4wnjg2ffwz2j7kqzw9cc8";
+      inherit dependencies buildDependencies features;
+    };
+    glob_0_2_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "glob";
+      version = "0.2.11";
+      authors = [ "The Rust Project Developers" ];
+      sha256 = "104389jjxs8r2f5cc9p0axhjmndgln60ih5x4f00ccgg9d3zarlf";
+      inherit dependencies buildDependencies features;
+    };
+    globset_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "globset";
+      version = "0.2.1";
+      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+      sha256 = "02dycdz001g33rs2jygiq7yqqswmy1in5rczfl44clq1p118fis0";
+      inherit dependencies buildDependencies features;
+    };
+    hex_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "hex";
+      version = "0.2.0";
+      authors = [ "KokaKiwi <kokakiwi@kokakiwi.net>" ];
+      sha256 = "0yd68d709w1z8133n9hny9dfj2fvil0r6802c3bb63czyis8rfbp";
+      inherit dependencies buildDependencies features;
+    };
+    home_0_3_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "home";
+      version = "0.3.0";
+      authors = [ "Brian Anderson <andersrb@gmail.com>" ];
+      sha256 = "1dzc0wd2i82zqq1s8j4mpy2almaq5fcas22s4asn38pm86k40zf2";
+      inherit dependencies buildDependencies features;
+    };
+    idna_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "idna";
+      version = "0.1.4";
+      authors = [ "The rust-url developers" ];
+      sha256 = "15j44qgjx1skwg9i7f4cm36ni4n99b1ayx23yxx7axxcw8vjf336";
+      inherit dependencies buildDependencies features;
+    };
+    ignore_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "ignore";
+      version = "0.2.2";
+      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+      sha256 = "1b9wc8q25jwbipxmrysaps7sykbhyh6hdl8ihqzlwfvg39dy7mjc";
+      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;
+    };
+    jobserver_0_1_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "jobserver";
+      version = "0.1.8";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "0rscjndafcrldrlb5nax2jgnc6fk298awqc6yzi9lbnbybm6r004";
+      inherit dependencies buildDependencies features;
+    };
+    kernel32_sys_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "kernel32-sys";
+      version = "0.2.2";
+      authors = [ "Peter Atashian <retep998@gmail.com>" ];
+      sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
+      libName = "kernel32";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+    lazy_static_0_2_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "lazy_static";
+      version = "0.2.9";
+      authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+      sha256 = "08ldzr5292y3hvi6l6v8l4i6v95lm1aysmnfln65h10sqrfh6iw7";
+      inherit dependencies buildDependencies features;
+    };
+    libc_0_2_33_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "libc";
+      version = "0.2.33";
+      authors = [ "The Rust Project Developers" ];
+      sha256 = "1l7synziccnvarsq2kk22vps720ih6chmn016bhr2bq54hblbnl1";
+      inherit dependencies buildDependencies features;
+    };
+    libgit2_sys_0_6_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "libgit2-sys";
+      version = "0.6.16";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "05axjdwkm7z8z6c7s96cakdigjiq9sfah8z48868bhby6v1q30n9";
+      libPath = "lib.rs";
+      libName = "libgit2_sys";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+    libssh2_sys_0_2_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "libssh2-sys";
+      version = "0.2.6";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "0pvdgr3lg9x8xyjmfwifr9dxirvrzjvq7i3clix50rwp7ck21jh7";
+      libPath = "lib.rs";
+      libName = "libssh2_sys";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+    libz_sys_1_0_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "libz-sys";
+      version = "1.0.18";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "0lr0rvmmfbfa4g7mhi0l93i8jq86pfcssdv4d40kzfy45ajdcgim";
+      build = "build.rs";
+      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;
+    };
+    matches_0_1_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "matches";
+      version = "0.1.6";
+      authors = [ "Simon Sapin <simon.sapin@exyr.org>" ];
+      sha256 = "1zlrqlbvzxdil8z8ial2ihvxjwvlvg3g8dr0lcdpsjclkclasjan";
+      libPath = "lib.rs";
+      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;
+    };
+    memchr_2_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "memchr";
+      version = "2.0.0";
+      authors = [ "Andrew Gallant <jamslam@gmail.com>" "bluss" ];
+      sha256 = "182svm4sr8b7l38ss6ph5wkj3p7ypp08jq65fm83mxpylxziih9p";
+      inherit dependencies buildDependencies features;
+    };
+    miniz_sys_0_1_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "miniz-sys";
+      version = "0.1.10";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "11vg6phafxil87nbxgrlhcx5hjr3145wsbwwkfmibvnmzxfdmvln";
+      libPath = "lib.rs";
+      libName = "miniz_sys";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+    miow_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "miow";
+      version = "0.2.1";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "14f8zkc6ix7mkyis1vsqnim8m29b6l55abkba3p2yz7j1ibcvrl0";
+      inherit dependencies buildDependencies features;
+    };
+    net2_0_2_31_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "net2";
+      version = "0.2.31";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "13mphllfcbybsdqyi1jb3kyqx65m8ch07drr59a4wb3yl89awm7y";
+      inherit dependencies buildDependencies features;
+    };
+    num_traits_0_1_40_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "num-traits";
+      version = "0.1.40";
+      authors = [ "The Rust Project Developers" ];
+      sha256 = "1fr8ghp4i97q3agki54i0hpmqxv3s65i2mqd1pinc7w7arc3fplw";
+      inherit dependencies buildDependencies features;
+    };
+    num_cpus_1_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "num_cpus";
+      version = "1.7.0";
+      authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
+      sha256 = "0231xmd65ma3pqfiw8pkv9dvm9x708z4xlrwp3i0sgiwv408dz3f";
+      inherit dependencies buildDependencies features;
+    };
+    openssl_0_9_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "openssl";
+      version = "0.9.20";
+      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+      sha256 = "0dbj6k6z828c3sqbxidw5zfval29k8dlsr8qn8fizhc1alli18gx";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+    openssl_probe_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "openssl-probe";
+      version = "0.1.1";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "19ykmqfnbmq56nadir0kvap4q1rpcjpmrfpnbc1qkj195dnh66na";
+      inherit dependencies buildDependencies features;
+    };
+    openssl_sys_0_9_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "openssl-sys";
+      version = "0.9.20";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" "Steven Fackler <sfackler@gmail.com>" ];
+      sha256 = "05q6qagvy7lim9vkq2v00vpm34j1dq4xy9pchs7fb6yy803vx24m";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+    percent_encoding_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "percent-encoding";
+      version = "1.0.0";
+      authors = [ "The rust-url developers" ];
+      sha256 = "0c91wp8inj7z270i2kilxjl00kcagqalxxnnjg7fsdlimdwb7q1z";
+      libPath = "lib.rs";
+      inherit dependencies buildDependencies features;
+    };
+    pkg_config_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "pkg-config";
+      version = "0.3.9";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "06k8fxgrsrxj8mjpjcq1n7mn2p1shpxif4zg9y5h09c7vy20s146";
+      inherit dependencies buildDependencies features;
+    };
+    psapi_sys_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "psapi-sys";
+      version = "0.1.0";
+      authors = [ "Peter Atashian <retep998@gmail.com>" ];
+      sha256 = "091sbrcwbnhq1mwx6rc5w5kkwzg2ph78rhwjkdy9aqnzj7yj5ppm";
+      libName = "psapi";
+      build = "build.rs";
+      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_31_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "redox_syscall";
+      version = "0.1.31";
+      authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
+      sha256 = "0kipd9qslzin4fgj4jrxv6yz5l3l71gnbd7fq1jhk2j7f2sq33j4";
+      libName = "syscall";
+      inherit dependencies buildDependencies features;
+    };
+    redox_termios_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "redox_termios";
+      version = "0.1.1";
+      authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
+      sha256 = "04s6yyzjca552hdaqlvqhp3vw0zqbc304md5czyd3axh56iry8wh";
+      libPath = "src/lib.rs";
+      inherit dependencies buildDependencies features;
+    };
+    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;
+    };
+    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;
+    };
+    same_file_0_1_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "same-file";
+      version = "0.1.3";
+      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+      sha256 = "01hdnxblb1hlysr47nwdv7r8vs7p63ia08v5h4lcffmzqvl5zzn9";
+      inherit dependencies buildDependencies features;
+    };
+    scoped_tls_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "scoped-tls";
+      version = "0.1.0";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "1j8azxa15srljafrg7wc221npvxb3700sbfk6jjav0rw2zclsnf5";
+      inherit dependencies buildDependencies features;
+    };
+    scopeguard_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "scopeguard";
+      version = "0.1.2";
+      authors = [ "bluss" ];
+      sha256 = "00b3jrxlrzqv7qqzdd18m6p5skj1xwb4nw6bhch2ikg0hnfv5zdb";
+      inherit dependencies buildDependencies features;
+    };
+    semver_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "semver";
+      version = "0.7.0";
+      authors = [ "Steve Klabnik <steve@steveklabnik.com>" "The Rust Project Developers" ];
+      sha256 = "079944bh20ldr41i96nk9b31igj555dl2d8mg51m4h0ccwric4l8";
+      inherit dependencies buildDependencies features;
+    };
+    semver_parser_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "semver-parser";
+      version = "0.7.0";
+      authors = [ "Steve Klabnik <steve@steveklabnik.com>" ];
+      sha256 = "1da66c8413yakx0y15k8c055yna5lyb6fr0fw9318kdwkrk5k12h";
+      inherit dependencies buildDependencies features;
+    };
+    serde_1_0_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "serde";
+      version = "1.0.18";
+      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+      sha256 = "14cczcvmfwgbm8447k93aggi7fbx0ix5f7dz16fxzs9l3riac5vq";
+      inherit dependencies buildDependencies features;
+    };
+    serde_derive_1_0_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "serde_derive";
+      version = "1.0.18";
+      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+      sha256 = "1kx8zjcc9mxib6ipb9ygjjgxdniff93pwazvj4vqb859paqazdsj";
+      procMacro = true;
+      inherit dependencies buildDependencies features;
+    };
+    serde_derive_internals_0_16_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "serde_derive_internals";
+      version = "0.16.0";
+      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+      sha256 = "1k96ypwlhnvmaksimkx1pd5rwvjaanfcdzpgndhy994hx03xplhs";
+      inherit dependencies buildDependencies features;
+    };
+    serde_ignored_0_0_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "serde_ignored";
+      version = "0.0.3";
+      authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+      sha256 = "0yz81jz6rqbzbhznmkygl9rdq1xq43jsgv10mmd5m24vh4j00icc";
+      inherit dependencies buildDependencies features;
+    };
+    serde_json_1_0_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "serde_json";
+      version = "1.0.5";
+      authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+      sha256 = "1yka3aa2gfi30415jpf0935k54r08jhyw6r7rjz2nv1kqgbw2brs";
+      inherit dependencies buildDependencies features;
+    };
+    shell_escape_0_1_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "shell-escape";
+      version = "0.1.3";
+      authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+      sha256 = "0r3pj7kl40iqjbivwh4kd6agjdhbf5avzp7i8v42xvpc1zrzrq77";
+      inherit dependencies buildDependencies features;
+    };
+    socket2_0_2_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "socket2";
+      version = "0.2.4";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "1pdwqlx4wnabgv549i3pb3whbk8ggcq4kg0lfx9cpcazcjk5p6iz";
+      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;
+    };
+    tar_0_4_13_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "tar";
+      version = "0.4.13";
+      authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+      sha256 = "1m425d07h0i6h2vbpxnh067zmc16l9yr9bii17zxw4z2inkfyfc4";
+      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;
+    };
+    termcolor_0_3_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "termcolor";
+      version = "0.3.3";
+      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+      sha256 = "1rb853jzvkbwm62373dhls4x4r3r5cvfcsxvqh0i75rhx5j8kwsz";
+      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;
+    };
+    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;
+    };
+    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_bidi_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "unicode-bidi";
+      version = "0.3.4";
+      authors = [ "The Servo Project Developers" ];
+      sha256 = "0lcd6jasrf8p9p0q20qyf10c6xhvw40m2c4rr105hbk6zy26nj1q";
+      libName = "unicode_bidi";
+      inherit dependencies buildDependencies features;
+    };
+    unicode_normalization_0_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "unicode-normalization";
+      version = "0.1.5";
+      authors = [ "kwantam <kwantam@gmail.com>" ];
+      sha256 = "0hg29g86fca7b65mwk4sm5s838js6bqrl0gabadbazvbsgjam0j5";
+      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;
+    };
+    url_1_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "url";
+      version = "1.6.0";
+      authors = [ "The rust-url developers" ];
+      sha256 = "1bvzl4dvjj84h46ai3x23wyafa2wwhchj08vr2brf25dxwc7mg18";
+      inherit dependencies buildDependencies features;
+    };
+    userenv_sys_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "userenv-sys";
+      version = "0.2.0";
+      authors = [ "Peter Atashian <retep998@gmail.com>" ];
+      sha256 = "19l85k56y30likj69ri83jspsf4n9q4d03pi4mbs7cimlzn8lvzj";
+      libName = "userenv";
+      build = "build.rs";
+      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;
+    };
+    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;
+    };
+    walkdir_1_0_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "walkdir";
+      version = "1.0.7";
+      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+      sha256 = "1ygsc59m8mbnlz0psjxdzm1xjndxpywjwalqcd3pwdarzk1gy1vr";
+      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;
+    };
+    wincolor_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "wincolor";
+      version = "0.1.4";
+      authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+      sha256 = "0cxv6hadnj5vffb8a73y7055p59n20bpqd524df85cm29dcjl38a";
+      inherit dependencies buildDependencies features;
+    };
+    ws2_32_sys_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
+      crateName = "ws2_32-sys";
+      version = "0.2.1";
+      authors = [ "Peter Atashian <retep998@gmail.com>" ];
+      sha256 = "1zpy9d9wk11sj17fczfngcj28w4xxjs3b4n036yzpy38dxp4f7kc";
+      libName = "ws2_32";
+      build = "build.rs";
+      inherit dependencies buildDependencies features;
+    };
+
+in
+rec {
+  advapi32_sys_0_2_0 = advapi32_sys_0_2_0_ rec {
+    dependencies = [ winapi_0_2_8 ];
+    buildDependencies = [ winapi_build_0_1_1 ];
+  };
+  winapi_0_2_8_features."default".from_advapi32_sys_0_2_0__default_ = true;
+  winapi_build_0_1_1_features."default".from_advapi32_sys_0_2_0__default_ = true;
+  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;
+  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 []);
+  };
+  kernel32_sys_0_2_2_features."default".from_atty_0_2_3__default_ = true;
+  libc_0_2_33_features."default".from_atty_0_2_3__default_ = false;
+  termion_1_5_1_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_3 = backtrace_0_3_3_ rec {
+    dependencies = [ cfg_if_0_1_2 rustc_demangle_0_1_5 ]
+      ++ (if (kernel == "linux" || kernel == "darwin") && !(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_3_features;
+  };
+  backtrace_0_3_3_features."".self = true;
+  backtrace_0_3_3_features."kernel32-sys".self_dbghelp = hasFeature (backtrace_0_3_3_features."dbghelp" or {});
+  backtrace_0_3_3_features."winapi".self_dbghelp = hasFeature (backtrace_0_3_3_features."dbghelp" or {});
+  backtrace_0_3_3_features."dbghelp-sys".self_dbghelp = hasFeature (backtrace_0_3_3_features."dbghelp" or {});
+  backtrace_0_3_3_features."libunwind".self_default = hasDefault backtrace_0_3_3_features;
+  backtrace_0_3_3_features."libbacktrace".self_default = hasDefault backtrace_0_3_3_features;
+  backtrace_0_3_3_features."coresymbolication".self_default = hasDefault backtrace_0_3_3_features;
+  backtrace_0_3_3_features."dladdr".self_default = hasDefault backtrace_0_3_3_features;
+  backtrace_0_3_3_features."dbghelp".self_default = hasDefault backtrace_0_3_3_features;
+  backtrace_0_3_3_features."addr2line".self_gimli-symbolize = hasFeature (backtrace_0_3_3_features."gimli-symbolize" or {});
+  backtrace_0_3_3_features."findshlibs".self_gimli-symbolize = hasFeature (backtrace_0_3_3_features."gimli-symbolize" or {});
+  backtrace_0_3_3_features."backtrace-sys".self_libbacktrace = hasFeature (backtrace_0_3_3_features."libbacktrace" or {});
+  backtrace_0_3_3_features."rustc-serialize".self_serialize-rustc = hasFeature (backtrace_0_3_3_features."serialize-rustc" or {});
+  backtrace_0_3_3_features."serde".self_serialize-serde = hasFeature (backtrace_0_3_3_features."serialize-serde" or {});
+  backtrace_0_3_3_features."serde_derive".self_serialize-serde = hasFeature (backtrace_0_3_3_features."serialize-serde" or {});
+  addr2line_0_0_0_features."default".from_backtrace_0_3_3__default_ = true;
+  backtrace_sys_0_1_16_features."default".from_backtrace_0_3_3__default_ = true;
+  cfg_if_0_1_2_features."default".from_backtrace_0_3_3__default_ = true;
+  cpp_demangle_0_0_0_features."default".from_backtrace_0_3_3__default_ = false;
+  dbghelp_sys_0_2_0_features."default".from_backtrace_0_3_3__default_ = true;
+  findshlibs_0_0_0_features."default".from_backtrace_0_3_3__default_ = true;
+  kernel32_sys_0_2_2_features."default".from_backtrace_0_3_3__default_ = true;
+  libc_0_2_33_features."default".from_backtrace_0_3_3__default_ = true;
+  rustc_demangle_0_1_5_features."default".from_backtrace_0_3_3__default_ = true;
+  rustc_serialize_0_0_0_features."default".from_backtrace_0_3_3__default_ = true;
+  serde_0_0_0_features."default".from_backtrace_0_3_3__default_ = true;
+  serde_derive_0_0_0_features."default".from_backtrace_0_3_3__default_ = true;
+  winapi_0_2_8_features."default".from_backtrace_0_3_3__default_ = true;
+  backtrace_sys_0_1_16 = backtrace_sys_0_1_16_ rec {
+    dependencies = [ libc_0_2_33 ];
+    buildDependencies = [ cc_1_0_3 ];
+  };
+  cc_1_0_3_features."default".from_backtrace_sys_0_1_16__default_ = true;
+  libc_0_2_33_features."default".from_backtrace_sys_0_1_16__default_ = true;
+  bitflags_0_7_0 = bitflags_0_7_0_ rec {};
+  bitflags_0_9_1 = bitflags_0_9_1_ rec {
+    features = mkFeatures bitflags_0_9_1_features;
+  };
+  bitflags_0_9_1_features."example_generated".self_default = hasDefault bitflags_0_9_1_features;
+  cargo_0_22_0 = cargo_0_22_0_ rec {
+    dependencies = [ atty_0_2_3 crates_io_0_11_0 crossbeam_0_2_10 curl_0_4_8 docopt_0_8_1 env_logger_0_4_3 error_chain_0_11_0 filetime_0_1_14 flate2_0_2_20 fs2_0_4_2 git2_0_6_8 git2_curl_0_7_0 glob_0_2_11 hex_0_2_0 home_0_3_0 ignore_0_2_2 jobserver_0_1_8 libc_0_2_33 libgit2_sys_0_6_16 log_0_3_8 num_cpus_1_7_0 same_file_0_1_3 scoped_tls_0_1_0 semver_0_7_0 serde_1_0_18 serde_derive_1_0_18 serde_ignored_0_0_3 serde_json_1_0_5 shell_escape_0_1_3 tar_0_4_13 tempdir_0_3_5 termcolor_0_3_3 toml_0_4_5 url_1_6_0 ]
+      ++ (if kernel == "darwin" then [ core_foundation_0_4_4 ] else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then [ openssl_0_9_20 ] else [])
+      ++ (if kernel == "windows" then [ advapi32_sys_0_2_0 kernel32_sys_0_2_2 miow_0_2_1 psapi_sys_0_1_0 winapi_0_2_8 ] else []);
+  };
+  semver_0_7_0_features."serde".from_cargo_0_22_0 = true;
+  core_foundation_0_4_4_features."mac_os_10_7_support".from_cargo_0_22_0 = true;
+  advapi32_sys_0_2_0_features."default".from_cargo_0_22_0__default_ = true;
+  atty_0_2_3_features."default".from_cargo_0_22_0__default_ = true;
+  core_foundation_0_4_4_features."default".from_cargo_0_22_0__default_ = true;
+  crates_io_0_11_0_features."default".from_cargo_0_22_0__default_ = true;
+  crossbeam_0_2_10_features."default".from_cargo_0_22_0__default_ = true;
+  curl_0_4_8_features."default".from_cargo_0_22_0__default_ = true;
+  docopt_0_8_1_features."default".from_cargo_0_22_0__default_ = true;
+  env_logger_0_4_3_features."default".from_cargo_0_22_0__default_ = true;
+  error_chain_0_11_0_features."default".from_cargo_0_22_0__default_ = true;
+  filetime_0_1_14_features."default".from_cargo_0_22_0__default_ = true;
+  flate2_0_2_20_features."default".from_cargo_0_22_0__default_ = true;
+  fs2_0_4_2_features."default".from_cargo_0_22_0__default_ = true;
+  git2_0_6_8_features."default".from_cargo_0_22_0__default_ = true;
+  git2_curl_0_7_0_features."default".from_cargo_0_22_0__default_ = true;
+  glob_0_2_11_features."default".from_cargo_0_22_0__default_ = true;
+  hex_0_2_0_features."default".from_cargo_0_22_0__default_ = true;
+  home_0_3_0_features."default".from_cargo_0_22_0__default_ = true;
+  ignore_0_2_2_features."default".from_cargo_0_22_0__default_ = true;
+  jobserver_0_1_8_features."default".from_cargo_0_22_0__default_ = true;
+  kernel32_sys_0_2_2_features."default".from_cargo_0_22_0__default_ = true;
+  libc_0_2_33_features."default".from_cargo_0_22_0__default_ = true;
+  libgit2_sys_0_6_16_features."default".from_cargo_0_22_0__default_ = true;
+  log_0_3_8_features."default".from_cargo_0_22_0__default_ = true;
+  miow_0_2_1_features."default".from_cargo_0_22_0__default_ = true;
+  num_cpus_1_7_0_features."default".from_cargo_0_22_0__default_ = true;
+  openssl_0_9_20_features."default".from_cargo_0_22_0__default_ = true;
+  psapi_sys_0_1_0_features."default".from_cargo_0_22_0__default_ = true;
+  same_file_0_1_3_features."default".from_cargo_0_22_0__default_ = true;
+  scoped_tls_0_1_0_features."default".from_cargo_0_22_0__default_ = true;
+  semver_0_7_0_features."default".from_cargo_0_22_0__default_ = true;
+  serde_1_0_18_features."default".from_cargo_0_22_0__default_ = true;
+  serde_derive_1_0_18_features."default".from_cargo_0_22_0__default_ = true;
+  serde_ignored_0_0_3_features."default".from_cargo_0_22_0__default_ = true;
+  serde_json_1_0_5_features."default".from_cargo_0_22_0__default_ = true;
+  shell_escape_0_1_3_features."default".from_cargo_0_22_0__default_ = true;
+  tar_0_4_13_features."default".from_cargo_0_22_0__default_ = false;
+  tempdir_0_3_5_features."default".from_cargo_0_22_0__default_ = true;
+  termcolor_0_3_3_features."default".from_cargo_0_22_0__default_ = true;
+  toml_0_4_5_features."default".from_cargo_0_22_0__default_ = true;
+  url_1_6_0_features."default".from_cargo_0_22_0__default_ = true;
+  winapi_0_2_8_features."default".from_cargo_0_22_0__default_ = true;
+  cargo_vendor_0_1_13 = cargo_vendor_0_1_13_ rec {
+    dependencies = [ cargo_0_22_0 env_logger_0_4_3 serde_1_0_18 serde_derive_1_0_18 serde_json_1_0_5 toml_0_4_5 ];
+  };
+  cargo_0_22_0_features."default".from_cargo_vendor_0_1_13__default_ = true;
+  env_logger_0_4_3_features."default".from_cargo_vendor_0_1_13__default_ = true;
+  serde_1_0_18_features."default".from_cargo_vendor_0_1_13__default_ = true;
+  serde_derive_1_0_18_features."default".from_cargo_vendor_0_1_13__default_ = true;
+  serde_json_1_0_5_features."default".from_cargo_vendor_0_1_13__default_ = true;
+  toml_0_4_5_features."default".from_cargo_vendor_0_1_13__default_ = true;
+  cc_1_0_3 = 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 {};
+  cmake_0_1_26 = cmake_0_1_26_ rec {
+    dependencies = [ cc_1_0_3 ];
+  };
+  cc_1_0_3_features."default".from_cmake_0_1_26__default_ = true;
+  core_foundation_0_4_4 = core_foundation_0_4_4_ rec {
+    dependencies = [ core_foundation_sys_0_4_4 libc_0_2_33 ];
+    features = mkFeatures core_foundation_0_4_4_features;
+  };
+  core_foundation_0_4_4_features."".self = true;
+  core_foundation_sys_0_4_4_features."mac_os_10_7_support".from_core_foundation_0_4_4__mac_os_10_7_support = hasFeature (core_foundation_0_4_4_features."mac_os_10_7_support" or {});
+  core_foundation_sys_0_4_4_features."mac_os_10_8_features".from_core_foundation_0_4_4__mac_os_10_8_features = hasFeature (core_foundation_0_4_4_features."mac_os_10_8_features" or {});
+  core_foundation_sys_0_4_4_features."default".from_core_foundation_0_4_4__default_ = true;
+  libc_0_2_33_features."default".from_core_foundation_0_4_4__default_ = true;
+  core_foundation_sys_0_4_4 = core_foundation_sys_0_4_4_ rec {
+    dependencies = [ libc_0_2_33 ];
+    features = mkFeatures core_foundation_sys_0_4_4_features;
+  };
+  core_foundation_sys_0_4_4_features."".self = true;
+  libc_0_2_33_features."default".from_core_foundation_sys_0_4_4__default_ = true;
+  crates_io_0_11_0 = crates_io_0_11_0_ rec {
+    dependencies = [ curl_0_4_8 error_chain_0_11_0 serde_1_0_18 serde_derive_1_0_18 serde_json_1_0_5 url_1_6_0 ];
+  };
+  curl_0_4_8_features."default".from_crates_io_0_11_0__default_ = true;
+  error_chain_0_11_0_features."default".from_crates_io_0_11_0__default_ = true;
+  serde_1_0_18_features."default".from_crates_io_0_11_0__default_ = true;
+  serde_derive_1_0_18_features."default".from_crates_io_0_11_0__default_ = true;
+  serde_json_1_0_5_features."default".from_crates_io_0_11_0__default_ = true;
+  url_1_6_0_features."default".from_crates_io_0_11_0__default_ = true;
+  crossbeam_0_2_10 = crossbeam_0_2_10_ rec {
+    features = mkFeatures crossbeam_0_2_10_features;
+  };
+  crossbeam_0_2_10_features."".self = true;
+  curl_0_4_8 = curl_0_4_8_ rec {
+    dependencies = [ curl_sys_0_3_15 libc_0_2_33 socket2_0_2_4 ]
+      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then [ openssl_probe_0_1_1 openssl_sys_0_9_20 ] else [])
+      ++ (if kernel == "windows" then [ winapi_0_2_8 ] else []);
+  };
+  curl_sys_0_3_15_features."default".from_curl_0_4_8__default_ = true;
+  libc_0_2_33_features."default".from_curl_0_4_8__default_ = true;
+  openssl_probe_0_1_1_features."default".from_curl_0_4_8__default_ = true;
+  openssl_sys_0_9_20_features."default".from_curl_0_4_8__default_ = true;
+  socket2_0_2_4_features."default".from_curl_0_4_8__default_ = true;
+  winapi_0_2_8_features."default".from_curl_0_4_8__default_ = true;
+  curl_sys_0_3_15 = curl_sys_0_3_15_ rec {
+    dependencies = [ libc_0_2_33 libz_sys_1_0_18 ]
+      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then [ openssl_sys_0_9_20 ] else [])
+      ++ (if abi == "msvc" then [] else [])
+      ++ (if kernel == "windows" then [ winapi_0_2_8 ] else []);
+    buildDependencies = [ cc_1_0_3 pkg_config_0_3_9 ];
+  };
+  cc_1_0_3_features."default".from_curl_sys_0_3_15__default_ = true;
+  libc_0_2_33_features."default".from_curl_sys_0_3_15__default_ = true;
+  libz_sys_1_0_18_features."default".from_curl_sys_0_3_15__default_ = true;
+  openssl_sys_0_9_20_features."default".from_curl_sys_0_3_15__default_ = true;
+  pkg_config_0_3_9_features."default".from_curl_sys_0_3_15__default_ = true;
+  winapi_0_2_8_features."default".from_curl_sys_0_3_15__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;
+  winapi_build_0_1_1_features."default".from_dbghelp_sys_0_2_0__default_ = true;
+  docopt_0_8_1 = docopt_0_8_1_ rec {
+    dependencies = [ lazy_static_0_2_9 regex_0_2_2 serde_1_0_18 serde_derive_1_0_18 strsim_0_6_0 ];
+  };
+  lazy_static_0_2_9_features."default".from_docopt_0_8_1__default_ = true;
+  regex_0_2_2_features."default".from_docopt_0_8_1__default_ = true;
+  serde_1_0_18_features."default".from_docopt_0_8_1__default_ = true;
+  serde_derive_1_0_18_features."default".from_docopt_0_8_1__default_ = true;
+  strsim_0_6_0_features."default".from_docopt_0_8_1__default_ = true;
+  dtoa_0_4_2 = dtoa_0_4_2_ rec {};
+  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_3 ]
+      ++ (if lib.lists.any (x: x == "backtrace") features then [backtrace_0_3_3] 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_3_features."default".from_error_chain_0_11_0__default_ = true;
+  filetime_0_1_14 = filetime_0_1_14_ rec {
+    dependencies = [ cfg_if_0_1_2 ]
+      ++ (if kernel == "redox" then [ redox_syscall_0_1_31 ] else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else []);
+  };
+  cfg_if_0_1_2_features."default".from_filetime_0_1_14__default_ = true;
+  libc_0_2_33_features."default".from_filetime_0_1_14__default_ = true;
+  redox_syscall_0_1_31_features."default".from_filetime_0_1_14__default_ = true;
+  flate2_0_2_20 = flate2_0_2_20_ rec {
+    dependencies = [ libc_0_2_33 miniz_sys_0_1_10 ]
+      ++ (if lib.lists.any (x: x == "miniz-sys") features then [miniz_sys_0_1_10] else []);
+    features = mkFeatures flate2_0_2_20_features;
+  };
+  flate2_0_2_20_features."".self = true;
+  flate2_0_2_20_features."miniz-sys".self_default = hasDefault flate2_0_2_20_features;
+  flate2_0_2_20_features."tokio-io".self_tokio = hasFeature (flate2_0_2_20_features."tokio" or {});
+  flate2_0_2_20_features."futures".self_tokio = hasFeature (flate2_0_2_20_features."tokio" or {});
+  flate2_0_2_20_features."libz-sys".self_zlib = hasFeature (flate2_0_2_20_features."zlib" or {});
+  futures_0_0_0_features."default".from_flate2_0_2_20__default_ = true;
+  libc_0_2_33_features."default".from_flate2_0_2_20__default_ = true;
+  libz_sys_0_0_0_features."default".from_flate2_0_2_20__default_ = true;
+  miniz_sys_0_1_10_features."default".from_flate2_0_2_20__default_ = true;
+  tokio_io_0_0_0_features."default".from_flate2_0_2_20__default_ = true;
+  fnv_1_0_5 = fnv_1_0_5_ rec {};
+  foreign_types_0_2_0 = foreign_types_0_2_0_ rec {};
+  fs2_0_4_2 = fs2_0_4_2_ rec {
+    dependencies = (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 []);
+  };
+  kernel32_sys_0_2_2_features."default".from_fs2_0_4_2__default_ = true;
+  libc_0_2_33_features."default".from_fs2_0_4_2__default_ = true;
+  winapi_0_2_8_features."default".from_fs2_0_4_2__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;
+  git2_0_6_8 = git2_0_6_8_ rec {
+    dependencies = [ bitflags_0_9_1 libc_0_2_33 libgit2_sys_0_6_16 url_1_6_0 ]
+      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "darwin") then [ openssl_probe_0_1_1 openssl_sys_0_9_20 ]
+      ++ (if lib.lists.any (x: x == "openssl-probe") features then [openssl_probe_0_1_1] else [])
+      ++ (if lib.lists.any (x: x == "openssl-sys") features then [openssl_sys_0_9_20] else []) else []);
+    features = mkFeatures git2_0_6_8_features;
+  };
+  git2_0_6_8_features."".self = true;
+  git2_0_6_8_features."ssh".self_default = hasDefault git2_0_6_8_features;
+  git2_0_6_8_features."https".self_default = hasDefault git2_0_6_8_features;
+  git2_0_6_8_features."curl".self_default = hasDefault git2_0_6_8_features;
+  git2_0_6_8_features."openssl-sys".self_https = hasFeature (git2_0_6_8_features."https" or {});
+  git2_0_6_8_features."openssl-probe".self_https = hasFeature (git2_0_6_8_features."https" or {});
+  libgit2_sys_0_6_16_features."curl".from_git2_0_6_8__curl = hasFeature (git2_0_6_8_features."curl" or {});
+  libgit2_sys_0_6_16_features."https".from_git2_0_6_8__https = hasFeature (git2_0_6_8_features."https" or {});
+  libgit2_sys_0_6_16_features."ssh".from_git2_0_6_8__ssh = hasFeature (git2_0_6_8_features."ssh" or {});
+  bitflags_0_9_1_features."default".from_git2_0_6_8__default_ = true;
+  libc_0_2_33_features."default".from_git2_0_6_8__default_ = true;
+  libgit2_sys_0_6_16_features."default".from_git2_0_6_8__default_ = true;
+  openssl_probe_0_1_1_features."default".from_git2_0_6_8__default_ = true;
+  openssl_sys_0_9_20_features."default".from_git2_0_6_8__default_ = true;
+  url_1_6_0_features."default".from_git2_0_6_8__default_ = true;
+  git2_curl_0_7_0 = git2_curl_0_7_0_ rec {
+    dependencies = [ curl_0_4_8 git2_0_6_8 log_0_3_8 url_1_6_0 ];
+  };
+  curl_0_4_8_features."default".from_git2_curl_0_7_0__default_ = true;
+  git2_0_6_8_features."default".from_git2_curl_0_7_0__default_ = false;
+  log_0_3_8_features."default".from_git2_curl_0_7_0__default_ = true;
+  url_1_6_0_features."default".from_git2_curl_0_7_0__default_ = true;
+  glob_0_2_11 = glob_0_2_11_ rec {};
+  globset_0_2_1 = globset_0_2_1_ rec {
+    dependencies = [ aho_corasick_0_6_3 fnv_1_0_5 log_0_3_8 memchr_2_0_0 regex_0_2_2 ];
+    features = mkFeatures globset_0_2_1_features;
+  };
+  globset_0_2_1_features."".self = true;
+  regex_0_2_2_features."simd-accel".from_globset_0_2_1__simd-accel = hasFeature (globset_0_2_1_features."simd-accel" or {});
+  aho_corasick_0_6_3_features."default".from_globset_0_2_1__default_ = true;
+  fnv_1_0_5_features."default".from_globset_0_2_1__default_ = true;
+  log_0_3_8_features."default".from_globset_0_2_1__default_ = true;
+  memchr_2_0_0_features."default".from_globset_0_2_1__default_ = true;
+  regex_0_2_2_features."default".from_globset_0_2_1__default_ = true;
+  hex_0_2_0 = hex_0_2_0_ rec {};
+  home_0_3_0 = home_0_3_0_ rec {
+    dependencies = (if kernel == "windows" then [ advapi32_sys_0_2_0 kernel32_sys_0_2_2 scopeguard_0_1_2 userenv_sys_0_2_0 winapi_0_2_8 ] else []);
+  };
+  advapi32_sys_0_2_0_features."default".from_home_0_3_0__default_ = true;
+  kernel32_sys_0_2_2_features."default".from_home_0_3_0__default_ = true;
+  scopeguard_0_1_2_features."default".from_home_0_3_0__default_ = true;
+  userenv_sys_0_2_0_features."default".from_home_0_3_0__default_ = true;
+  winapi_0_2_8_features."default".from_home_0_3_0__default_ = true;
+  idna_0_1_4 = idna_0_1_4_ rec {
+    dependencies = [ matches_0_1_6 unicode_bidi_0_3_4 unicode_normalization_0_1_5 ];
+  };
+  matches_0_1_6_features."default".from_idna_0_1_4__default_ = true;
+  unicode_bidi_0_3_4_features."default".from_idna_0_1_4__default_ = true;
+  unicode_normalization_0_1_5_features."default".from_idna_0_1_4__default_ = true;
+  ignore_0_2_2 = ignore_0_2_2_ rec {
+    dependencies = [ crossbeam_0_2_10 globset_0_2_1 lazy_static_0_2_9 log_0_3_8 memchr_1_0_2 regex_0_2_2 thread_local_0_3_4 walkdir_1_0_7 ];
+    features = mkFeatures ignore_0_2_2_features;
+  };
+  ignore_0_2_2_features."".self = true;
+  globset_0_2_1_features."simd-accel".from_ignore_0_2_2__simd-accel = hasFeature (ignore_0_2_2_features."simd-accel" or {});
+  crossbeam_0_2_10_features."default".from_ignore_0_2_2__default_ = true;
+  globset_0_2_1_features."default".from_ignore_0_2_2__default_ = true;
+  lazy_static_0_2_9_features."default".from_ignore_0_2_2__default_ = true;
+  log_0_3_8_features."default".from_ignore_0_2_2__default_ = true;
+  memchr_1_0_2_features."default".from_ignore_0_2_2__default_ = true;
+  regex_0_2_2_features."default".from_ignore_0_2_2__default_ = true;
+  thread_local_0_3_4_features."default".from_ignore_0_2_2__default_ = true;
+  walkdir_1_0_7_features."default".from_ignore_0_2_2__default_ = true;
+  itoa_0_3_4 = itoa_0_3_4_ rec {
+    features = mkFeatures itoa_0_3_4_features;
+  };
+  itoa_0_3_4_features."".self = true;
+  jobserver_0_1_8 = jobserver_0_1_8_ rec {
+    dependencies = (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else [])
+      ++ (if kernel == "windows" then [ rand_0_3_18 ] else []);
+  };
+  libc_0_2_33_features."default".from_jobserver_0_1_8__default_ = true;
+  rand_0_3_18_features."default".from_jobserver_0_1_8__default_ = true;
+  kernel32_sys_0_2_2 = kernel32_sys_0_2_2_ rec {
+    dependencies = [ winapi_0_2_8 ];
+    buildDependencies = [ winapi_build_0_1_1 ];
+  };
+  winapi_0_2_8_features."default".from_kernel32_sys_0_2_2__default_ = true;
+  winapi_build_0_1_1_features."default".from_kernel32_sys_0_2_2__default_ = true;
+  lazy_static_0_2_9 = lazy_static_0_2_9_ rec {
+    dependencies = [];
+    features = mkFeatures lazy_static_0_2_9_features;
+  };
+  lazy_static_0_2_9_features."nightly".self_spin_no_std = hasFeature (lazy_static_0_2_9_features."spin_no_std" or {});
+  lazy_static_0_2_9_features."spin".self_spin_no_std = hasFeature (lazy_static_0_2_9_features."spin_no_std" or {});
+  spin_0_0_0_features."default".from_lazy_static_0_2_9__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;
+  libgit2_sys_0_6_16 = libgit2_sys_0_6_16_ rec {
+    dependencies = [ curl_sys_0_3_15 libc_0_2_33 libssh2_sys_0_2_6 libz_sys_1_0_18 ]
+      ++ (if lib.lists.any (x: x == "curl-sys") features then [curl_sys_0_3_15] else [])
+      ++ (if lib.lists.any (x: x == "libssh2-sys") features then [libssh2_sys_0_2_6] else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then [ openssl_sys_0_9_20 ]
+      ++ (if lib.lists.any (x: x == "openssl-sys") features then [openssl_sys_0_9_20] else []) else []);
+    buildDependencies = [ cc_1_0_3 cmake_0_1_26 pkg_config_0_3_9 ];
+    features = mkFeatures libgit2_sys_0_6_16_features;
+  };
+  libgit2_sys_0_6_16_features."".self = true;
+  libgit2_sys_0_6_16_features."curl-sys".self_curl = hasFeature (libgit2_sys_0_6_16_features."curl" or {});
+  libgit2_sys_0_6_16_features."openssl-sys".self_https = hasFeature (libgit2_sys_0_6_16_features."https" or {});
+  libgit2_sys_0_6_16_features."libssh2-sys".self_ssh = hasFeature (libgit2_sys_0_6_16_features."ssh" or {});
+  cc_1_0_3_features."default".from_libgit2_sys_0_6_16__default_ = true;
+  cmake_0_1_26_features."default".from_libgit2_sys_0_6_16__default_ = true;
+  curl_sys_0_3_15_features."default".from_libgit2_sys_0_6_16__default_ = true;
+  libc_0_2_33_features."default".from_libgit2_sys_0_6_16__default_ = true;
+  libssh2_sys_0_2_6_features."default".from_libgit2_sys_0_6_16__default_ = true;
+  libz_sys_1_0_18_features."default".from_libgit2_sys_0_6_16__default_ = true;
+  openssl_sys_0_9_20_features."default".from_libgit2_sys_0_6_16__default_ = true;
+  pkg_config_0_3_9_features."default".from_libgit2_sys_0_6_16__default_ = true;
+  libssh2_sys_0_2_6 = libssh2_sys_0_2_6_ rec {
+    dependencies = [ libc_0_2_33 libz_sys_1_0_18 ]
+      ++ (if (kernel == "linux" || kernel == "darwin") then [ openssl_sys_0_9_20 ] else []);
+    buildDependencies = [ cmake_0_1_26 pkg_config_0_3_9 ];
+  };
+  cmake_0_1_26_features."default".from_libssh2_sys_0_2_6__default_ = true;
+  libc_0_2_33_features."default".from_libssh2_sys_0_2_6__default_ = true;
+  libz_sys_1_0_18_features."default".from_libssh2_sys_0_2_6__default_ = true;
+  openssl_sys_0_9_20_features."default".from_libssh2_sys_0_2_6__default_ = true;
+  pkg_config_0_3_9_features."default".from_libssh2_sys_0_2_6__default_ = true;
+  libz_sys_1_0_18 = libz_sys_1_0_18_ rec {
+    dependencies = [ libc_0_2_33 ]
+      ++ (if abi == "msvc" then [] else []);
+    buildDependencies = [ cc_1_0_3 pkg_config_0_3_9 ];
+  };
+  cc_1_0_3_features."default".from_libz_sys_1_0_18__default_ = true;
+  libc_0_2_33_features."default".from_libz_sys_1_0_18__default_ = true;
+  pkg_config_0_3_9_features."default".from_libz_sys_1_0_18__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;
+  matches_0_1_6 = matches_0_1_6_ rec {};
+  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;
+  memchr_2_0_0 = memchr_2_0_0_ rec {
+    dependencies = [ libc_0_2_33 ]
+      ++ (if lib.lists.any (x: x == "libc") features then [libc_0_2_33] else []);
+    features = mkFeatures memchr_2_0_0_features;
+  };
+  memchr_2_0_0_features."".self = true;
+  memchr_2_0_0_features."use_std".self_default = hasDefault memchr_2_0_0_features;
+  memchr_2_0_0_features."libc".self_default = hasDefault memchr_2_0_0_features;
+  memchr_2_0_0_features."libc".self_use_std = hasFeature (memchr_2_0_0_features."use_std" or {});
+  libc_0_2_33_features."use_std".from_memchr_2_0_0__use_std = hasFeature (memchr_2_0_0_features."use_std" or {});
+  libc_0_2_33_features."default".from_memchr_2_0_0__default_ = false;
+  miniz_sys_0_1_10 = miniz_sys_0_1_10_ rec {
+    dependencies = [ libc_0_2_33 ];
+    buildDependencies = [ cc_1_0_3 ];
+  };
+  cc_1_0_3_features."default".from_miniz_sys_0_1_10__default_ = true;
+  libc_0_2_33_features."default".from_miniz_sys_0_1_10__default_ = true;
+  miow_0_2_1 = miow_0_2_1_ rec {
+    dependencies = [ kernel32_sys_0_2_2 net2_0_2_31 winapi_0_2_8 ws2_32_sys_0_2_1 ];
+  };
+  kernel32_sys_0_2_2_features."default".from_miow_0_2_1__default_ = true;
+  net2_0_2_31_features."default".from_miow_0_2_1__default_ = false;
+  winapi_0_2_8_features."default".from_miow_0_2_1__default_ = true;
+  ws2_32_sys_0_2_1_features."default".from_miow_0_2_1__default_ = true;
+  net2_0_2_31 = net2_0_2_31_ rec {
+    dependencies = [ cfg_if_0_1_2 ]
+      ++ (if (kernel == "linux" || kernel == "darwin") then [ libc_0_2_33 ] else [])
+      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ws2_32_sys_0_2_1 ] else [])
+      ++ (if kernel == "i686-apple-darwin" then [ libc_0_2_33 ] else [])
+      ++ (if kernel == "i686-unknown-linux-gnu" then [ libc_0_2_33 ] else [])
+      ++ (if kernel == "x86_64-apple-darwin" then [ libc_0_2_33 ] else [])
+      ++ (if kernel == "x86_64-unknown-linux-gnu" then [ libc_0_2_33 ] else []);
+    features = mkFeatures net2_0_2_31_features;
+  };
+  net2_0_2_31_features."duration".self_default = hasDefault net2_0_2_31_features;
+  cfg_if_0_1_2_features."default".from_net2_0_2_31__default_ = true;
+  kernel32_sys_0_2_2_features."default".from_net2_0_2_31__default_ = true;
+  libc_0_2_33_features."default".from_net2_0_2_31__default_ = true;
+  winapi_0_2_8_features."default".from_net2_0_2_31__default_ = true;
+  ws2_32_sys_0_2_1_features."default".from_net2_0_2_31__default_ = true;
+  num_traits_0_1_40 = num_traits_0_1_40_ rec {};
+  num_cpus_1_7_0 = num_cpus_1_7_0_ rec {
+    dependencies = [ libc_0_2_33 ];
+  };
+  libc_0_2_33_features."default".from_num_cpus_1_7_0__default_ = true;
+  openssl_0_9_20 = openssl_0_9_20_ rec {
+    dependencies = [ bitflags_0_9_1 foreign_types_0_2_0 lazy_static_0_2_9 libc_0_2_33 openssl_sys_0_9_20 ];
+    features = mkFeatures openssl_0_9_20_features;
+  };
+  openssl_0_9_20_features."".self = true;
+  bitflags_0_9_1_features."default".from_openssl_0_9_20__default_ = true;
+  foreign_types_0_2_0_features."default".from_openssl_0_9_20__default_ = true;
+  lazy_static_0_2_9_features."default".from_openssl_0_9_20__default_ = true;
+  libc_0_2_33_features."default".from_openssl_0_9_20__default_ = true;
+  openssl_sys_0_9_20_features."default".from_openssl_0_9_20__default_ = true;
+  openssl_probe_0_1_1 = openssl_probe_0_1_1_ rec {};
+  openssl_sys_0_9_20 = openssl_sys_0_9_20_ rec {
+    dependencies = [ libc_0_2_33 ]
+      ++ (if abi == "msvc" then [] else []);
+    buildDependencies = [ cc_1_0_3 pkg_config_0_3_9 ];
+  };
+  cc_1_0_3_features."default".from_openssl_sys_0_9_20__default_ = true;
+  libc_0_2_33_features."default".from_openssl_sys_0_9_20__default_ = true;
+  pkg_config_0_3_9_features."default".from_openssl_sys_0_9_20__default_ = true;
+  percent_encoding_1_0_0 = percent_encoding_1_0_0_ rec {};
+  pkg_config_0_3_9 = pkg_config_0_3_9_ rec {};
+  psapi_sys_0_1_0 = psapi_sys_0_1_0_ rec {
+    dependencies = [ winapi_0_2_8 ];
+    buildDependencies = [ winapi_build_0_1_1 ];
+  };
+  winapi_0_2_8_features."default".from_psapi_sys_0_1_0__default_ = true;
+  winapi_build_0_1_1_features."default".from_psapi_sys_0_1_0__default_ = true;
+  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 {});
+  fuchsia_zircon_0_2_1_features."default".from_rand_0_3_18__default_ = true;
+  libc_0_2_33_features."default".from_rand_0_3_18__default_ = true;
+  redox_syscall_0_1_31 = redox_syscall_0_1_31_ rec {};
+  redox_termios_0_1_1 = redox_termios_0_1_1_ rec {
+    dependencies = [ redox_syscall_0_1_31 ];
+  };
+  redox_syscall_0_1_31_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 {};
+  rustc_demangle_0_1_5 = rustc_demangle_0_1_5_ rec {};
+  same_file_0_1_3 = same_file_0_1_3_ rec {
+    dependencies = (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
+  };
+  kernel32_sys_0_2_2_features."default".from_same_file_0_1_3__default_ = true;
+  winapi_0_2_8_features."default".from_same_file_0_1_3__default_ = true;
+  scoped_tls_0_1_0 = scoped_tls_0_1_0_ rec {};
+  scopeguard_0_1_2 = scopeguard_0_1_2_ rec {};
+  semver_0_7_0 = semver_0_7_0_ rec {
+    dependencies = [ semver_parser_0_7_0 serde_1_0_18 ]
+      ++ (if lib.lists.any (x: x == "serde") features then [serde_1_0_18] else []);
+    features = mkFeatures semver_0_7_0_features;
+  };
+  semver_0_7_0_features."".self = true;
+  semver_0_7_0_features."serde".self_ci = hasFeature (semver_0_7_0_features."ci" or {});
+  semver_parser_0_7_0_features."default".from_semver_0_7_0__default_ = true;
+  serde_1_0_18_features."default".from_semver_0_7_0__default_ = true;
+  semver_parser_0_7_0 = semver_parser_0_7_0_ rec {};
+  serde_1_0_18 = serde_1_0_18_ rec {
+    dependencies = [];
+    features = mkFeatures serde_1_0_18_features;
+  };
+  serde_1_0_18_features."unstable".self_alloc = hasFeature (serde_1_0_18_features."alloc" or {});
+  serde_1_0_18_features."std".self_default = hasDefault serde_1_0_18_features;
+  serde_1_0_18_features."serde_derive".self_derive = hasFeature (serde_1_0_18_features."derive" or {});
+  serde_1_0_18_features."serde_derive".self_playground = hasFeature (serde_1_0_18_features."playground" or {});
+  serde_derive_0_0_0_features."default".from_serde_1_0_18__default_ = true;
+  serde_derive_1_0_18 = serde_derive_1_0_18_ rec {
+    dependencies = [ quote_0_3_15 serde_derive_internals_0_16_0 syn_0_11_11 ];
+  };
+  syn_0_11_11_features."visit".from_serde_derive_1_0_18 = true;
+  quote_0_3_15_features."default".from_serde_derive_1_0_18__default_ = true;
+  serde_derive_internals_0_16_0_features."default".from_serde_derive_1_0_18__default_ = false;
+  syn_0_11_11_features."default".from_serde_derive_1_0_18__default_ = true;
+  serde_derive_internals_0_16_0 = serde_derive_internals_0_16_0_ rec {
+    dependencies = [ syn_0_11_11 synom_0_11_3 ];
+  };
+  syn_0_11_11_features."parsing".from_serde_derive_internals_0_16_0 = true;
+  syn_0_11_11_features."default".from_serde_derive_internals_0_16_0__default_ = false;
+  synom_0_11_3_features."default".from_serde_derive_internals_0_16_0__default_ = true;
+  serde_ignored_0_0_3 = serde_ignored_0_0_3_ rec {
+    dependencies = [ serde_1_0_18 ];
+  };
+  serde_1_0_18_features."default".from_serde_ignored_0_0_3__default_ = true;
+  serde_json_1_0_5 = serde_json_1_0_5_ rec {
+    dependencies = [ dtoa_0_4_2 itoa_0_3_4 num_traits_0_1_40 serde_1_0_18 ];
+    features = mkFeatures serde_json_1_0_5_features;
+  };
+  serde_json_1_0_5_features."linked-hash-map".self_preserve_order = hasFeature (serde_json_1_0_5_features."preserve_order" or {});
+  dtoa_0_4_2_features."default".from_serde_json_1_0_5__default_ = true;
+  itoa_0_3_4_features."default".from_serde_json_1_0_5__default_ = true;
+  linked_hash_map_0_0_0_features."default".from_serde_json_1_0_5__default_ = true;
+  num_traits_0_1_40_features."default".from_serde_json_1_0_5__default_ = true;
+  serde_1_0_18_features."default".from_serde_json_1_0_5__default_ = true;
+  shell_escape_0_1_3 = shell_escape_0_1_3_ rec {};
+  socket2_0_2_4 = socket2_0_2_4_ rec {
+    dependencies = (if (kernel == "linux" || kernel == "darwin") then [ cfg_if_0_1_2 libc_0_2_33 ] else [])
+      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ws2_32_sys_0_2_1 ] else []);
+    features = mkFeatures socket2_0_2_4_features;
+  };
+  socket2_0_2_4_features."".self = true;
+  cfg_if_0_1_2_features."default".from_socket2_0_2_4__default_ = true;
+  kernel32_sys_0_2_2_features."default".from_socket2_0_2_4__default_ = true;
+  libc_0_2_33_features."default".from_socket2_0_2_4__default_ = true;
+  winapi_0_2_8_features."default".from_socket2_0_2_4__default_ = true;
+  ws2_32_sys_0_2_1_features."default".from_socket2_0_2_4__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;
+  tar_0_4_13 = tar_0_4_13_ rec {
+    dependencies = [ filetime_0_1_14 libc_0_2_33 ]
+      ++ (if (kernel == "linux" || kernel == "darwin") then [] else []);
+  };
+  tar_0_4_13_features."xattr".self_default = hasDefault tar_0_4_13_features;
+  filetime_0_1_14_features."default".from_tar_0_4_13__default_ = true;
+  libc_0_2_33_features."default".from_tar_0_4_13__default_ = true;
+  xattr_0_0_0_features."default".from_tar_0_4_13__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;
+  termcolor_0_3_3 = termcolor_0_3_3_ rec {
+    dependencies = (if kernel == "windows" then [ wincolor_0_1_4 ] else []);
+  };
+  wincolor_0_1_4_features."default".from_termcolor_0_3_3__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_31 redox_termios_0_1_1 ] else []);
+  };
+  libc_0_2_33_features."default".from_termion_1_5_1__default_ = true;
+  redox_syscall_0_1_31_features."default".from_termion_1_5_1__default_ = true;
+  redox_termios_0_1_1_features."default".from_termion_1_5_1__default_ = true;
+  thread_local_0_3_4 = thread_local_0_3_4_ rec {
+    dependencies = [ lazy_static_0_2_9 unreachable_1_0_0 ];
+  };
+  lazy_static_0_2_9_features."default".from_thread_local_0_3_4__default_ = true;
+  unreachable_1_0_0_features."default".from_thread_local_0_3_4__default_ = true;
+  toml_0_4_5 = toml_0_4_5_ rec {
+    dependencies = [ serde_1_0_18 ];
+  };
+  serde_1_0_18_features."default".from_toml_0_4_5__default_ = true;
+  unicode_bidi_0_3_4 = unicode_bidi_0_3_4_ rec {
+    dependencies = [ matches_0_1_6 ];
+    features = mkFeatures unicode_bidi_0_3_4_features;
+  };
+  unicode_bidi_0_3_4_features."flame".self_flame_it = hasFeature (unicode_bidi_0_3_4_features."flame_it" or {});
+  unicode_bidi_0_3_4_features."flamer".self_flame_it = hasFeature (unicode_bidi_0_3_4_features."flame_it" or {});
+  unicode_bidi_0_3_4_features."serde".self_with_serde = hasFeature (unicode_bidi_0_3_4_features."with_serde" or {});
+  serde_0_0_0_features."derive".from_unicode_bidi_0_3_4 = true;
+  flame_0_0_0_features."default".from_unicode_bidi_0_3_4__default_ = true;
+  flamer_0_0_0_features."default".from_unicode_bidi_0_3_4__default_ = true;
+  matches_0_1_6_features."default".from_unicode_bidi_0_3_4__default_ = true;
+  serde_0_0_0_features."default".from_unicode_bidi_0_3_4__default_ = true;
+  unicode_normalization_0_1_5 = unicode_normalization_0_1_5_ rec {};
+  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;
+  url_1_6_0 = url_1_6_0_ rec {
+    dependencies = [ idna_0_1_4 matches_0_1_6 percent_encoding_1_0_0 ];
+    features = mkFeatures url_1_6_0_features;
+  };
+  url_1_6_0_features."heapsize".self_heap_size = hasFeature (url_1_6_0_features."heap_size" or {});
+  url_1_6_0_features."encoding".self_query_encoding = hasFeature (url_1_6_0_features."query_encoding" or {});
+  encoding_0_0_0_features."default".from_url_1_6_0__default_ = true;
+  heapsize_0_0_0_features."default".from_url_1_6_0__default_ = true;
+  idna_0_1_4_features."default".from_url_1_6_0__default_ = true;
+  matches_0_1_6_features."default".from_url_1_6_0__default_ = true;
+  percent_encoding_1_0_0_features."default".from_url_1_6_0__default_ = true;
+  rustc_serialize_0_0_0_features."default".from_url_1_6_0__default_ = true;
+  serde_0_0_0_features."default".from_url_1_6_0__default_ = true;
+  userenv_sys_0_2_0 = userenv_sys_0_2_0_ rec {
+    dependencies = [ winapi_0_2_8 ];
+    buildDependencies = [ winapi_build_0_1_1 ];
+  };
+  winapi_0_2_8_features."default".from_userenv_sys_0_2_0__default_ = true;
+  winapi_build_0_1_1_features."default".from_userenv_sys_0_2_0__default_ = true;
+  utf8_ranges_1_0_0 = utf8_ranges_1_0_0_ rec {};
+  vcpkg_0_2_2 = vcpkg_0_2_2_ rec {};
+  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;
+  walkdir_1_0_7 = walkdir_1_0_7_ rec {
+    dependencies = [ same_file_0_1_3 ]
+      ++ (if kernel == "windows" then [ kernel32_sys_0_2_2 winapi_0_2_8 ] else []);
+  };
+  kernel32_sys_0_2_2_features."default".from_walkdir_1_0_7__default_ = true;
+  same_file_0_1_3_features."default".from_walkdir_1_0_7__default_ = true;
+  winapi_0_2_8_features."default".from_walkdir_1_0_7__default_ = true;
+  winapi_0_2_8 = winapi_0_2_8_ rec {};
+  winapi_build_0_1_1 = winapi_build_0_1_1_ rec {};
+  wincolor_0_1_4 = wincolor_0_1_4_ rec {
+    dependencies = [ kernel32_sys_0_2_2 winapi_0_2_8 ];
+  };
+  kernel32_sys_0_2_2_features."default".from_wincolor_0_1_4__default_ = true;
+  winapi_0_2_8_features."default".from_wincolor_0_1_4__default_ = true;
+  ws2_32_sys_0_2_1 = ws2_32_sys_0_2_1_ rec {
+    dependencies = [ winapi_0_2_8 ];
+    buildDependencies = [ winapi_build_0_1_1 ];
+  };
+  winapi_0_2_8_features."default".from_ws2_32_sys_0_2_1__default_ = true;
+  winapi_build_0_1_1_features."default".from_ws2_32_sys_0_2_1__default_ = true;
+}
diff --git a/pkgs/build-support/rust/cargo-vendor/default.nix b/pkgs/build-support/rust/cargo-vendor/default.nix
new file mode 100644
index 00000000000..faeb6e03743
--- /dev/null
+++ b/pkgs/build-support/rust/cargo-vendor/default.nix
@@ -0,0 +1,10 @@
+{ callPackage, fetchFromGitHub }:
+
+(callPackage ./cargo-vendor.nix {}).cargo_vendor_0_1_13.overrideAttrs (attrs: {
+  src = fetchFromGitHub {
+    owner = "alexcrichton";
+    repo = "cargo-vendor";
+    rev = "0.1.13";
+    sha256 = "0ljh2d65zpxp26a95b3czy5ai2z2dm87x7ndfdc1s0v1fsy69kn4";
+  };
+})
diff --git a/pkgs/build-support/rust/default-crate-overrides.nix b/pkgs/build-support/rust/default-crate-overrides.nix
index c074d46a7f7..f4020ab3096 100644
--- a/pkgs/build-support/rust/default-crate-overrides.nix
+++ b/pkgs/build-support/rust/default-crate-overrides.nix
@@ -1,9 +1,38 @@
-{ pkgconfig, sqlite, openssl, ... }:
+{ stdenv, pkgconfig, curl, darwin, libiconv, libgit2, libssh2,
+  openssl, sqlite, zlib, ... }:
 
+let
+  inherit (darwin.apple_sdk.frameworks) CoreFoundation;
+in
 {
+  cargo = attrs: {
+    buildInputs = [ openssl zlib curl ]
+      ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation libiconv ];
+    # TODO: buildRustCrate seems to use incorrect default inference
+    crateBin = [ {  name = "cargo"; path = "src/bin/cargo.rs"; } ];
+  };
+  cargo-vendor = attrs: {
+    buildInputs = [ openssl zlib curl ];
+    # TODO: this defaults to cargo_vendor; needs to be cargo-vendor to
+    # be considered a cargo subcommand.
+    crateBin = [ { name = "cargo-vendor"; path = "src/main.rs"; } ];
+  };
+  curl-sys = attrs: {
+    buildInputs = [ pkgconfig curl ];
+  };
+  libgit2-sys = attrs: {
+    LIBGIT2_SYS_USE_PKG_CONFIG = true;
+    buildInputs = [ pkgconfig openssl zlib libgit2 ];
+  };
   libsqlite3-sys = attrs: {
     buildInputs = [ pkgconfig sqlite ];
   };
+  libssh2-sys = attrs: {
+    buildInputs = [ pkgconfig openssl zlib libssh2 ];
+  };
+  openssl = attrs: {
+    buildInputs = [ openssl ];
+  };
   openssl-sys = attrs: {
     buildInputs = [ pkgconfig openssl ];
   };
diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix
index 57948c33bbc..ce89b42176e 100644
--- a/pkgs/build-support/rust/default.nix
+++ b/pkgs/build-support/rust/default.nix
@@ -1,8 +1,6 @@
-{ fetchurl, stdenv, path, cacert, git, rust }:
+{ callPackage, fetchurl, stdenv, path, cacert, git, rust }:
 let
-  cargoVendor = import ./cargo-vendor.nix {
-    inherit fetchurl stdenv;
-  };
+  cargoVendor = callPackage ./cargo-vendor {};
 
   fetchcargo = import ./fetchcargo.nix {
     inherit stdenv cacert git rust cargoVendor;