mirror of https://github.com/zcash/zcash.git
When we first integrated Rust into our build system, we had two limitations: - We were building the `librustzcash` FFI library as a dependency, and therefore needed access to its crate dependencies in the depends system. - Gitian builds happen offline, so we needed to fetch any crate dependencies ahead of time, and then configure cargo to use these in an offline environment. At the time, `cargo` already had support for "Source Replacement", but there was no easy way to package the dependencies in the necessary way. What we implemented was effectively the `cargo-vendor` tool, built using Makefiles. A noticeable downside was that we were pinning dependencies twice: once in the `Cargo.lock` for the FFI library, and again in our depends system. Since then, `cargo-vendor` has been upstreamed into `cargo` itself, and we have moved `librustzcash` into this repository. We can therefore use `cargo vendor` directly from our pinned Rust compiler to fetch the dependencies, and rely on our local `Cargo.lock` to pin the specific crates we are relying on. |
||
---|---|---|
.. | ||
bdb.mk | ||
boost.mk | ||
googletest.mk | ||
libevent.mk | ||
libsodium.mk | ||
native_ccache.mk | ||
native_cctools.mk | ||
native_rust.mk | ||
openssl.mk | ||
packages.mk | ||
utfcpp.mk | ||
zeromq.mk |