YP.Lam | Rust patch.crates-io 同一 package 多版本支持
  • In Rust
  • /
  • Posted 2023-06-03

Rust patch.crates-io 同一 package 多版本支持

最近在一个 mips 架构的嵌入式 Linux 上用到 ring 与 rustls,由于 ring 0.16.20 对 mips 的支持较差,而 0.17 又迟迟不发布,只能魔改一堆包。

其中重点是 rustls,并且不同上层包对 rustls 版本依赖还不一样,幸好 cargo patch.crates-io 机制可以比较容易兼容项目中同时 patch 多个版本。

修改 Cargo.toml

[patch.crates-io]
rustls = { version = "0.19", path = "./third_party/rustls-0.19.1" }
rustls1 = { version = "0.21", package = "rustls", path = "./third_party/rustls-0.21.1" }