From 66541dcae9fb60aa4a77ca5c95596846b97d1493 Mon Sep 17 00:00:00 2001 From: Andrew Bradshaw Date: Thu, 9 Apr 2026 11:41:34 -0700 Subject: [PATCH] SERVER-123778: Fix LTO rust failures (#51510) GitOrigin-RevId: a44e8ae1ee44f12539195994a1bb8ccab758d32a --- MODULE.bazel | 47 +- MODULE.bazel.lock | 10 +- bazel/cargo_bindeps.lock | 2 +- bazel/crates.lock | 616 +----------------- bazel/crates.toml | 84 +-- .../rules_rust/ppc64le_cargo_bazel_url.patch | 12 +- bazel/wasm_rules/wasm_aot_compile.bzl | 4 +- 7 files changed, 64 insertions(+), 711 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 198aa86742f..004d524ee89 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -326,7 +326,7 @@ use_repo(setup_mongo_windows_toolchains_extension, "mongo_windows_toolchain") register_toolchains("@mongo_windows_toolchain//...") ###################### RUST DEPS ###################### -bazel_dep(name = "rules_rust", version = "0.68.1") +bazel_dep(name = "rules_rust", version = "0.69.0") # Right now we dont build rust on ppc, when we do unsupported_host_skip_crates.patch # should be removed @@ -338,20 +338,23 @@ single_version_override( "//bazel/rules_rust:ppc64le_crates.patch", "//bazel/rules_rust:ppc64le_cargo_bazel_url.patch", ], - version = "0.68.1", + version = "0.69.0", ) rust = use_extension("@rules_rust//rust:extensions.bzl", "rust") + +# The known_shas.bzl in rules_rust has a list of hashes for nightly tools +# Make sure this version is set to one of those, or specify the hashes yourself rust.toolchain( edition = "2024", - versions = ["nightly/2025-12-11"], + versions = ["nightly/2026-02-12"], ) rust_host = use_extension("@rules_rust//rust:extensions.bzl", "rust_host_tools") rust_host.host_tools( name = "rust_host_tools_nightly", edition = "2024", - version = "nightly/2025-12-11", + version = "nightly/2026-02-12", ) use_repo(rust_host, "rust_host_tools_nightly") @@ -427,38 +430,16 @@ crate.annotation( ) crate.spec( package = "zstd-sys", - version = "=2.0.16+zstd.1.5.7", + version = "=2.0.9+zstd.1.5.5", ) -# Bindgen uses libclang to parse code so it needs to know the path to libclang -crate.annotation_select( - build_script_data = [ - "@@mongo_toolchain_v5//:libclang", - ], - build_script_env = { - "LIBCLANG_PATH": "$(execpath @@mongo_toolchain_v5//:libclang)", - "BINDGEN_EXTRA_CLANG_ARGS": "-isystem$${pwd}/external/mongo_toolchain_v5/stow/llvm-v5/lib/clang/19/include", - }, +# Disable zstd-sys's build script to prevent it from compiling its own copy of zstd. +# With LTO we can only have one set of zstd symbols, so we link against our vendored copy. +# The crate falls back to pre-generated bindings when the build script is disabled. +crate.annotation( crate = "zstd-sys", - repositories = ["crates"], - triples = [ - "aarch64-unknown-linux-gnu", - "x86_64-unknown-linux-gnu", - "s390x-unknown-linux-gnu", - ], -) -crate.annotation_select( - build_script_data = [ - "@@windows_libclang//file", - ], - build_script_env = { - "LIBCLANG_PATH": "$(execpath @@windows_libclang//file)", - }, - crate = "zstd-sys", - repositories = ["crates"], - triples = [ - "x86_64-pc-windows-msvc", - ], + gen_build_script = "off", + deps = ["@@//src/third_party/zstandard:zstd"], ) # Update the lock file using "CARGO_BAZEL_REPIN=1 bazel sync --only=crates" diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index c9c4dbb6c08..ea735d8fd93 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -218,8 +218,8 @@ "https://bcr.bazel.build/modules/rules_python/1.5.1/MODULE.bazel": "acfe65880942d44a69129d4c5c3122d57baaf3edf58ae5a6bd4edea114906bf5", "https://bcr.bazel.build/modules/rules_python/1.8.5/MODULE.bazel": "28b2d79ed8368d7d45b34bacc220e3c0b99cbcd9392641961b849e4c3f55dd30", "https://bcr.bazel.build/modules/rules_python/1.8.5/source.json": "e261b03c8804f2582c9536013f987e1ea105a2b38c238aa2ac8f98fc34c8b18a", - "https://bcr.bazel.build/modules/rules_rust/0.68.1/MODULE.bazel": "8d3332ef4079673385eb81f8bd68b012decc04ac00c9d5a01a40eff90301732c", - "https://bcr.bazel.build/modules/rules_rust/0.68.1/source.json": "3378e746f81b62457fdfd37391244fa8ff075ba85c05931ee4f3a20ac1efe963", + "https://bcr.bazel.build/modules/rules_rust/0.69.0/MODULE.bazel": "4326fec48f2fef0d514de46346f7f77e200c82936dd08b91c9ef039fbdad5c10", + "https://bcr.bazel.build/modules/rules_rust/0.69.0/source.json": "0d094307d690cc18b3ab003998697be8070a206f65592c5c8476999796f11c4b", "https://bcr.bazel.build/modules/rules_shell/0.2.0/MODULE.bazel": "fda8a652ab3c7d8fee214de05e7a9916d8b28082234e8d2c0094505c5268ed3c", "https://bcr.bazel.build/modules/rules_shell/0.3.0/MODULE.bazel": "de4402cd12f4cc8fda2354fce179fdb068c0b9ca1ec2d2b17b3e21b24c1a937b", "https://bcr.bazel.build/modules/rules_shell/0.6.1/MODULE.bazel": "72e76b0eea4e81611ef5452aa82b3da34caca0c8b7b5c0c9584338aa93bae26b", @@ -2002,8 +2002,8 @@ }, "@@rules_rust~//crate_universe/private:internal_extensions.bzl%cu_nr": { "general": { - "bzlTransitiveDigest": "O/B6V91E8A6mlyh6/5gWjHkpB4k9DnbIaz1NSXXpkes=", - "usagesDigest": "t9RsYFKNxo9gStVX1j5ojkf0uAuLQJGxkv4ItCvnQ+4=", + "bzlTransitiveDigest": "N99OmWQvGv8pGuN4+UB7z5volIyJRma4gQ87dB5S1bc=", + "usagesDigest": "jdsFFevZIrOcSfuuZxyovS/wXbhPLIa/eBqyNOiTP98=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -2068,7 +2068,7 @@ "binary": "cargo-bazel", "cargo_lockfile": "@@rules_rust~//crate_universe:Cargo.lock", "cargo_toml": "@@rules_rust~//crate_universe:Cargo.toml", - "version": "1.86.0", + "version": "1.93.1", "timeout": 900, "rust_toolchain_cargo_template": "@rust_host_tools//:bin/{tool}", "rust_toolchain_rustc_template": "@rust_host_tools//:bin/{tool}", diff --git a/bazel/cargo_bindeps.lock b/bazel/cargo_bindeps.lock index 64d3cefc993..8d26ceacc0a 100644 --- a/bazel/cargo_bindeps.lock +++ b/bazel/cargo_bindeps.lock @@ -1,5 +1,5 @@ { - "checksum": "251013be224787204a84d2d8bd920812e5a0c804bc2d77d3624906dd21a2a7f2", + "checksum": "14e3d78cf8dddc34151b0ee8e41886f553b1fbf6cff1a6b50e87b8845b22adb1", "crates": { "aho-corasick 1.1.4": { "name": "aho-corasick", diff --git a/bazel/crates.lock b/bazel/crates.lock index 986d8b608cf..c6f524a4138 100644 --- a/bazel/crates.lock +++ b/bazel/crates.lock @@ -1,5 +1,5 @@ { - "checksum": "0256258b9d1449e99ffd305bbb25865efb8f8bf3b978974704da48917b5ffc63", + "checksum": "6f1a493bc49158410b13b645a5141e6cbbc8d3e54977b882d999bf716c697aee", "crates": { "addr2line 0.25.1": { "name": "addr2line", @@ -838,131 +838,6 @@ ], "license_file": "LICENSE-APACHE" }, - "bindgen 0.72.1": { - "name": "bindgen", - "version": "0.72.1", - "package_url": "https://github.com/rust-lang/rust-bindgen", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/bindgen/0.72.1/download", - "sha256": "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" - } - }, - "targets": [ - { - "Library": { - "crate_name": "bindgen", - "crate_root": "lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "bindgen", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "runtime" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "bindgen 0.72.1", - "target": "build_script_build" - }, - { - "id": "bitflags 2.11.0", - "target": "bitflags" - }, - { - "id": "cexpr 0.6.0", - "target": "cexpr" - }, - { - "id": "clang-sys 1.8.1", - "target": "clang_sys" - }, - { - "id": "itertools 0.13.0", - "target": "itertools" - }, - { - "id": "proc-macro2 1.0.106", - "target": "proc_macro2" - }, - { - "id": "quote 1.0.45", - "target": "quote" - }, - { - "id": "regex 1.12.3", - "target": "regex" - }, - { - "id": "rustc-hash 2.1.2", - "target": "rustc_hash" - }, - { - "id": "shlex 1.3.0", - "target": "shlex" - }, - { - "id": "syn 2.0.117", - "target": "syn" - } - ], - "selects": {} - }, - "edition": "2021", - "version": "0.72.1" - }, - "build_script_attrs": { - "compile_data_glob": [ - "**" - ], - "compile_data_glob_excludes": [ - "**/*.rs" - ], - "data_glob": [ - "**" - ], - "link_deps": { - "common": [ - { - "id": "clang-sys 1.8.1", - "target": "clang_sys" - } - ], - "selects": {} - } - }, - "license": "BSD-3-Clause", - "license_ids": [ - "BSD-3-Clause" - ], - "license_file": "LICENSE" - }, "bitflags 2.11.0": { "name": "bitflags", "version": "2.11.0", @@ -1813,54 +1688,6 @@ ], "license_file": "LICENSE-APACHE" }, - "cexpr 0.6.0": { - "name": "cexpr", - "version": "0.6.0", - "package_url": "https://github.com/jethrogb/rust-cexpr", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/cexpr/0.6.0/download", - "sha256": "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" - } - }, - "targets": [ - { - "Library": { - "crate_name": "cexpr", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "cexpr", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "nom 7.1.3", - "target": "nom" - } - ], - "selects": {} - }, - "edition": "2018", - "version": "0.6.0" - }, - "license": "Apache-2.0/MIT", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "license_file": "LICENSE-APACHE" - }, "cfg-if 1.0.4": { "name": "cfg-if", "version": "1.0.4", @@ -1900,118 +1727,6 @@ ], "license_file": "LICENSE-APACHE" }, - "clang-sys 1.8.1": { - "name": "clang-sys", - "version": "1.8.1", - "package_url": "https://github.com/KyleMayes/clang-sys", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/clang-sys/1.8.1/download", - "sha256": "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" - } - }, - "targets": [ - { - "Library": { - "crate_name": "clang_sys", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "clang_sys", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "clang_10_0", - "clang_11_0", - "clang_3_5", - "clang_3_6", - "clang_3_7", - "clang_3_8", - "clang_3_9", - "clang_4_0", - "clang_5_0", - "clang_6_0", - "clang_7_0", - "clang_8_0", - "clang_9_0", - "libloading", - "runtime" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "clang-sys 1.8.1", - "target": "build_script_build" - }, - { - "id": "glob 0.3.3", - "target": "glob" - }, - { - "id": "libc 0.2.184", - "target": "libc" - }, - { - "id": "libloading 0.8.9", - "target": "libloading" - } - ], - "selects": {} - }, - "edition": "2021", - "version": "1.8.1" - }, - "build_script_attrs": { - "compile_data_glob": [ - "**" - ], - "compile_data_glob_excludes": [ - "**/*.rs" - ], - "data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "glob 0.3.3", - "target": "glob" - } - ], - "selects": {} - }, - "links": "clang" - }, - "license": "Apache-2.0", - "license_ids": [ - "Apache-2.0" - ], - "license_file": "LICENSE.txt" - }, "clap 4.6.0": { "name": "clap", "version": "4.6.0", @@ -3925,7 +3640,7 @@ "target": "wasmtime_cli" }, { - "id": "zstd-sys 2.0.16+zstd.1.5.7", + "id": "zstd-sys 2.0.9+zstd.1.5.5", "target": "zstd_sys" } ], @@ -6161,45 +5876,6 @@ ], "license_file": "LICENSE-APACHE" }, - "glob 0.3.3": { - "name": "glob", - "version": "0.3.3", - "package_url": "https://github.com/rust-lang/glob", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/glob/0.3.3/download", - "sha256": "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" - } - }, - "targets": [ - { - "Library": { - "crate_name": "glob", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "glob", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "edition": "2015", - "version": "0.3.3" - }, - "license": "MIT OR Apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "license_file": "LICENSE-APACHE" - }, "h2 0.4.13": { "name": "h2", "version": "0.4.13", @@ -8223,54 +7899,6 @@ ], "license_file": "LICENSE-APACHE" }, - "itertools 0.13.0": { - "name": "itertools", - "version": "0.13.0", - "package_url": "https://github.com/rust-itertools/itertools", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/itertools/0.13.0/download", - "sha256": "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" - } - }, - "targets": [ - { - "Library": { - "crate_name": "itertools", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "itertools", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "either 1.15.0", - "target": "either" - } - ], - "selects": {} - }, - "edition": "2018", - "version": "0.13.0" - }, - "license": "MIT OR Apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "license_file": "LICENSE-APACHE" - }, "itertools 0.14.0": { "name": "itertools", "version": "0.14.0", @@ -9874,51 +9502,6 @@ ], "license_file": "LICENSE-APACHE" }, - "minimal-lexical 0.2.1": { - "name": "minimal-lexical", - "version": "0.2.1", - "package_url": "https://github.com/Alexhuszagh/minimal-lexical", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/minimal-lexical/0.2.1/download", - "sha256": "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - } - }, - "targets": [ - { - "Library": { - "crate_name": "minimal_lexical", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "minimal_lexical", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "std" - ], - "selects": {} - }, - "edition": "2018", - "version": "0.2.1" - }, - "license": "MIT/Apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "license_file": "LICENSE-APACHE" - }, "mio 1.2.0": { "name": "mio", "version": "1.2.0", @@ -9988,64 +9571,6 @@ ], "license_file": "LICENSE" }, - "nom 7.1.3": { - "name": "nom", - "version": "7.1.3", - "package_url": "https://github.com/Geal/nom", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/nom/7.1.3/download", - "sha256": "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" - } - }, - "targets": [ - { - "Library": { - "crate_name": "nom", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "nom", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "alloc", - "std" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "memchr 2.8.0", - "target": "memchr" - }, - { - "id": "minimal-lexical 0.2.1", - "target": "minimal_lexical" - } - ], - "selects": {} - }, - "edition": "2018", - "version": "7.1.3" - }, - "license": "MIT", - "license_ids": [ - "MIT" - ], - "license_file": "LICENSE" - }, "nu-ansi-term 0.50.3": { "name": "nu-ansi-term", "version": "0.50.3", @@ -12022,8 +11547,7 @@ "perf-inline", "perf-literal", "perf-onepass", - "std", - "unicode-perl" + "std" ], "selects": {} }, @@ -12103,9 +11627,7 @@ "perf-literal-multisubstring", "perf-literal-substring", "std", - "syntax", - "unicode-perl", - "unicode-word-boundary" + "syntax" ], "selects": {} }, @@ -19243,7 +18765,7 @@ "target": "build_script_build" }, { - "id": "zstd 0.13.3", + "id": "zstd 0.13.0", "target": "zstd" } ], @@ -25194,14 +24716,14 @@ ], "license_file": "LICENSE-MIT" }, - "zstd 0.13.3": { + "zstd 0.13.0": { "name": "zstd", - "version": "0.13.3", + "version": "0.13.0", "package_url": "https://github.com/gyscos/zstd-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/zstd/0.13.3/download", - "sha256": "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" + "url": "https://static.crates.io/crates/zstd/0.13.0/download", + "sha256": "bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110" } }, "targets": [ @@ -25226,14 +24748,14 @@ "deps": { "common": [ { - "id": "zstd-safe 7.2.4", + "id": "zstd-safe 7.0.0", "target": "zstd_safe" } ], "selects": {} }, "edition": "2018", - "version": "0.13.3" + "version": "0.13.0" }, "license": "MIT", "license_ids": [ @@ -25241,14 +24763,14 @@ ], "license_file": "LICENSE" }, - "zstd-safe 7.2.4": { + "zstd-safe 7.0.0": { "name": "zstd-safe", - "version": "7.2.4", + "version": "7.0.0", "package_url": "https://github.com/gyscos/zstd-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/zstd-safe/7.2.4/download", - "sha256": "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" + "url": "https://static.crates.io/crates/zstd-safe/7.0.0/download", + "sha256": "43747c7422e2924c11144d5229878b98180ef8b06cca4ab5af37afc8a8d8ea3e" } }, "targets": [ @@ -25291,18 +24813,18 @@ "deps": { "common": [ { - "id": "zstd-safe 7.2.4", + "id": "zstd-safe 7.0.0", "target": "build_script_build" }, { - "id": "zstd-sys 2.0.16+zstd.1.5.7", + "id": "zstd-sys 2.0.9+zstd.1.5.5", "target": "zstd_sys" } ], "selects": {} }, "edition": "2018", - "version": "7.2.4" + "version": "7.0.0" }, "build_script_attrs": { "compile_data_glob": [ @@ -25317,28 +24839,28 @@ "link_deps": { "common": [ { - "id": "zstd-sys 2.0.16+zstd.1.5.7", + "id": "zstd-sys 2.0.9+zstd.1.5.5", "target": "zstd_sys" } ], "selects": {} } }, - "license": "MIT OR Apache-2.0", + "license": "MIT/Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], "license_file": "LICENSE" }, - "zstd-sys 2.0.16+zstd.1.5.7": { + "zstd-sys 2.0.9+zstd.1.5.5": { "name": "zstd-sys", - "version": "2.0.16+zstd.1.5.7", + "version": "2.0.9+zstd.1.5.5", "package_url": "https://github.com/gyscos/zstd-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/zstd-sys/2.0.16+zstd.1.5.7/download", - "sha256": "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" + "url": "https://static.crates.io/crates/zstd-sys/2.0.9+zstd.1.5.5/download", + "sha256": "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" } }, "targets": [ @@ -25353,18 +24875,6 @@ ] } } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } } ], "library_target_name": "zstd_sys", @@ -25374,7 +24884,6 @@ ], "crate_features": { "common": [ - "bindgen", "default", "legacy", "std", @@ -25382,83 +24891,14 @@ ], "selects": {} }, - "deps": { + "extra_deps": { "common": [ - { - "id": "zstd-sys 2.0.16+zstd.1.5.7", - "target": "build_script_build" - } + "@@//src/third_party/zstandard:zstd" ], "selects": {} }, "edition": "2018", - "version": "2.0.16+zstd.1.5.7" - }, - "build_script_attrs": { - "compile_data_glob": [ - "**" - ], - "compile_data_glob_excludes": [ - "**/*.rs" - ], - "data": { - "common": [], - "selects": { - "aarch64-unknown-linux-gnu": [ - "@@mongo_toolchain_v5//:libclang" - ], - "s390x-unknown-linux-gnu": [ - "@@mongo_toolchain_v5//:libclang" - ], - "x86_64-pc-windows-msvc": [ - "@@windows_libclang//file:file" - ], - "x86_64-unknown-linux-gnu": [ - "@@mongo_toolchain_v5//:libclang" - ] - } - }, - "data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "bindgen 0.72.1", - "target": "bindgen" - }, - { - "id": "cc 1.2.59", - "target": "cc" - }, - { - "id": "pkg-config 0.3.32", - "target": "pkg_config" - } - ], - "selects": {} - }, - "build_script_env": { - "common": {}, - "selects": { - "aarch64-unknown-linux-gnu": { - "BINDGEN_EXTRA_CLANG_ARGS": "-isystem$${pwd}/external/mongo_toolchain_v5/stow/llvm-v5/lib/clang/19/include", - "LIBCLANG_PATH": "$(execpath @@mongo_toolchain_v5//:libclang)" - }, - "s390x-unknown-linux-gnu": { - "BINDGEN_EXTRA_CLANG_ARGS": "-isystem$${pwd}/external/mongo_toolchain_v5/stow/llvm-v5/lib/clang/19/include", - "LIBCLANG_PATH": "$(execpath @@mongo_toolchain_v5//:libclang)" - }, - "x86_64-pc-windows-msvc": { - "LIBCLANG_PATH": "$(execpath @@windows_libclang//file)" - }, - "x86_64-unknown-linux-gnu": { - "BINDGEN_EXTRA_CLANG_ARGS": "-isystem$${pwd}/external/mongo_toolchain_v5/stow/llvm-v5/lib/clang/19/include", - "LIBCLANG_PATH": "$(execpath @@mongo_toolchain_v5//:libclang)" - } - } - }, - "links": "zstd" + "version": "2.0.9+zstd.1.5.5" }, "license": "MIT/Apache-2.0", "license_ids": [ @@ -25661,7 +25101,7 @@ "wasmtime 40.0.2", "wasmtime-c-api-impl 40.0.2", "wasmtime-cli 40.0.2", - "zstd-sys 2.0.16+zstd.1.5.7" + "zstd-sys 2.0.9+zstd.1.5.5" ], "direct_dev_deps": [], "unused_patches": [] diff --git a/bazel/crates.toml b/bazel/crates.toml index 7edd96c6a8b..7ec3a1369fe 100644 --- a/bazel/crates.toml +++ b/bazel/crates.toml @@ -132,24 +132,6 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" -[[package]] -name = "bindgen" -version = "0.72.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" -dependencies = [ - "bitflags", - "cexpr", - "clang-sys", - "itertools 0.13.0", - "proc-macro2", - "quote", - "regex", - "rustc-hash", - "shlex", - "syn", -] - [[package]] name = "bitflags" version = "2.11.0" @@ -279,32 +261,12 @@ dependencies = [ "shlex", ] -[[package]] -name = "cexpr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -dependencies = [ - "nom", -] - [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "clang-sys" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" -dependencies = [ - "glob", - "libc", - "libloading", -] - [[package]] name = "clap" version = "4.6.0" @@ -936,12 +898,6 @@ dependencies = [ "stable_deref_trait", ] -[[package]] -name = "glob" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" - [[package]] name = "h2" version = "0.4.13" @@ -1260,15 +1216,6 @@ version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" -[[package]] -name = "itertools" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -dependencies = [ - "either", -] - [[package]] name = "itertools" version = "0.14.0" @@ -1516,12 +1463,6 @@ dependencies = [ "rustix 1.1.4", ] -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - [[package]] name = "mio" version = "1.2.0" @@ -1533,16 +1474,6 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - [[package]] name = "nu-ansi-term" version = "0.50.3" @@ -2966,7 +2897,7 @@ dependencies = [ "cranelift-frontend", "cranelift-native", "gimli 0.32.3", - "itertools 0.14.0", + "itertools", "log", "object", "pulley-interpreter", @@ -3860,29 +3791,28 @@ checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" [[package]] name = "zstd" -version = "0.13.3" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" +checksum = "bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "7.2.4" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" +checksum = "43747c7422e2924c11144d5229878b98180ef8b06cca4ab5af37afc8a8d8ea3e" dependencies = [ "zstd-sys", ] [[package]] name = "zstd-sys" -version = "2.0.16+zstd.1.5.7" +version = "2.0.9+zstd.1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" +checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" dependencies = [ - "bindgen", "cc", "pkg-config", ] diff --git a/bazel/rules_rust/ppc64le_cargo_bazel_url.patch b/bazel/rules_rust/ppc64le_cargo_bazel_url.patch index 803678d5dd8..d2bcc7f2fb6 100644 --- a/bazel/rules_rust/ppc64le_cargo_bazel_url.patch +++ b/bazel/rules_rust/ppc64le_cargo_bazel_url.patch @@ -1,10 +1,10 @@ --- crate_universe/private/urls.bzl +++ crate_universe/private/urls.bzl @@ -15,6 +15,7 @@ - "aarch64-pc-windows-msvc": "https://github.com/bazelbuild/rules_rust/releases/download/0.68.1/cargo-bazel-aarch64-pc-windows-msvc.exe", - "aarch64-unknown-linux-gnu": "https://github.com/bazelbuild/rules_rust/releases/download/0.68.1/cargo-bazel-aarch64-unknown-linux-gnu", - "aarch64-unknown-linux-musl": "https://github.com/bazelbuild/rules_rust/releases/download/0.68.1/cargo-bazel-aarch64-unknown-linux-musl", + "aarch64-pc-windows-msvc": "https://github.com/bazelbuild/rules_rust/releases/download/0.69.0/cargo-bazel-aarch64-pc-windows-msvc.exe", + "aarch64-unknown-linux-gnu": "https://github.com/bazelbuild/rules_rust/releases/download/0.69.0/cargo-bazel-aarch64-unknown-linux-gnu", + "aarch64-unknown-linux-musl": "https://github.com/bazelbuild/rules_rust/releases/download/0.69.0/cargo-bazel-aarch64-unknown-linux-musl", + "powerpc64le-unknown-linux-gnu": "https://mdb-build-public.s3.us-east-1.amazonaws.com/rust-toolchain/cargo-bazel-ppc64le", - "s390x-unknown-linux-gnu": "https://github.com/bazelbuild/rules_rust/releases/download/0.68.1/cargo-bazel-s390x-unknown-linux-gnu", - "x86_64-apple-darwin": "https://github.com/bazelbuild/rules_rust/releases/download/0.68.1/cargo-bazel-x86_64-apple-darwin", - "x86_64-pc-windows-gnu": "https://github.com/bazelbuild/rules_rust/releases/download/0.68.1/cargo-bazel-x86_64-pc-windows-gnu.exe", + "s390x-unknown-linux-gnu": "https://github.com/bazelbuild/rules_rust/releases/download/0.69.0/cargo-bazel-s390x-unknown-linux-gnu", + "x86_64-apple-darwin": "https://github.com/bazelbuild/rules_rust/releases/download/0.69.0/cargo-bazel-x86_64-apple-darwin", + "x86_64-pc-windows-gnu": "https://github.com/bazelbuild/rules_rust/releases/download/0.69.0/cargo-bazel-x86_64-pc-windows-gnu.exe", diff --git a/bazel/wasm_rules/wasm_aot_compile.bzl b/bazel/wasm_rules/wasm_aot_compile.bzl index 163b34c93a9..5a5e51e235f 100644 --- a/bazel/wasm_rules/wasm_aot_compile.bzl +++ b/bazel/wasm_rules/wasm_aot_compile.bzl @@ -18,8 +18,10 @@ def _aot_compile_wasm_impl(ctx): toolchain = ctx.toolchains["@rules_rust//rust:toolchain_type"] triple_str = toolchain.target_triple.str + tool_inputs = ctx.attr.tool[DefaultInfo].default_runfiles.files + ctx.actions.run( - inputs = [input_file], + inputs = depset([input_file], transitive = [tool_inputs]), outputs = [output_file], executable = tool, arguments = [