We are currently trying to bootstrap cargo. Here are some details about the process status.


  1. binary stage0
  2. crates index as a git repository
  3. many build dependencies

Current approach

  1. we follow NetBSD approach and use a ?https://github.com/dhuseby/cargo-bootstrap

  2. we embed crates.io-index and then we create a git repo at build time
  3. we embed all of those as a separate orig tarball


The whole crates.io-index is quite big. We could just synthesize a small one containing only the crates needed to build.

We are currently using paths override, but the approach is far from optimal. A better way could be to adopt an approach similar to cargo-vendor.

[On hold] We could split all the embedded deps from cargo. Not sure yet how to handle multiple versions and which paths to use.