From 6029fd113d42fee7aa8081b39c87f7384c71420c Mon Sep 17 00:00:00 2001 From: lbl <1791778603@qq.com> Date: Sat, 22 Aug 2026 01:27:28 +0800 Subject: [PATCH] =?UTF-8?q?build(vnt-core):=20=E4=BD=BF=E7=94=A8=20vendore?= =?UTF-8?q?d=20protoc,=E4=B8=8D=E5=86=8D=E4=BE=9D=E8=B5=96=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E5=AE=89=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Cargo.lock | 65 +++++++++++++++++++++++++++++++++++++++++++++ vnt-core/Cargo.toml | 1 + vnt-core/build.rs | 9 ++++++- 3 files changed, 74 insertions(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index 0871c22..6973b66 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2013,6 +2013,70 @@ dependencies = [ "prost", ] +[[package]] +name = "protoc-bin-vendored" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1c381df33c98266b5f08186583660090a4ffa0889e76c7e9a5e175f645a67fa" +dependencies = [ + "protoc-bin-vendored-linux-aarch_64", + "protoc-bin-vendored-linux-ppcle_64", + "protoc-bin-vendored-linux-s390_64", + "protoc-bin-vendored-linux-x86_32", + "protoc-bin-vendored-linux-x86_64", + "protoc-bin-vendored-macos-aarch_64", + "protoc-bin-vendored-macos-x86_64", + "protoc-bin-vendored-win32", +] + +[[package]] +name = "protoc-bin-vendored-linux-aarch_64" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c350df4d49b5b9e3ca79f7e646fde2377b199e13cfa87320308397e1f37e1a4c" + +[[package]] +name = "protoc-bin-vendored-linux-ppcle_64" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a55a63e6c7244f19b5c6393f025017eb5d793fd5467823a099740a7a4222440c" + +[[package]] +name = "protoc-bin-vendored-linux-s390_64" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dba5565db4288e935d5330a07c264a4ee8e4a5b4a4e6f4e83fad824cc32f3b0" + +[[package]] +name = "protoc-bin-vendored-linux-x86_32" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8854774b24ee28b7868cd71dccaae8e02a2365e67a4a87a6cd11ee6cdbdf9cf5" + +[[package]] +name = "protoc-bin-vendored-linux-x86_64" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b38b07546580df720fa464ce124c4b03630a6fb83e05c336fea2a241df7e5d78" + +[[package]] +name = "protoc-bin-vendored-macos-aarch_64" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89278a9926ce312e51f1d999fee8825d324d603213344a9a706daa009f1d8092" + +[[package]] +name = "protoc-bin-vendored-macos-x86_64" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81745feda7ccfb9471d7a4de888f0652e806d5795b61480605d4943176299756" + +[[package]] +name = "protoc-bin-vendored-win32" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95067976aca6421a523e491fce939a3e65249bac4b977adee0ee9771568e8aa3" + [[package]] name = "quick-error" version = "1.2.3" @@ -3285,6 +3349,7 @@ dependencies = [ "pnet_packet", "prost", "prost-build", + "protoc-bin-vendored", "quinn", "rand 0.10.2", "rcgen", diff --git a/vnt-core/Cargo.toml b/vnt-core/Cargo.toml index f11e199..29d9c9e 100644 --- a/vnt-core/Cargo.toml +++ b/vnt-core/Cargo.toml @@ -55,3 +55,4 @@ widestring = "1.2" [build-dependencies] prost-build = "0.14" +protoc-bin-vendored = "3" diff --git a/vnt-core/build.rs b/vnt-core/build.rs index b31a0f5..adcf030 100644 --- a/vnt-core/build.rs +++ b/vnt-core/build.rs @@ -1,6 +1,13 @@ fn main() { + let protoc_path = protoc_bin_vendored::protoc_bin_path() + .expect("failed to find vendored protoc"); + let mut config = prost_build::Config::new(); + + config.protoc_executable(protoc_path); + config.protoc_arg("--experimental_allow_proto3_optional"); + config .compile_protos( &[ @@ -12,4 +19,4 @@ fn main() { &["proto"], ) .unwrap(); -} +} \ No newline at end of file