1"""Dependencies needed for the cross-installer tool""" 2 3load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") 4load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") 5load("//cargo:defs.bzl", "cargo_bootstrap_repository") 6 7# buildifier: disable=bzl-visibility 8load("//rust/private:common.bzl", "DEFAULT_RUST_VERSION") 9 10def cross_installer_deps(): 11 """Define cross repositories used for compiling cargo-bazel for various platforms""" 12 maybe( 13 http_archive, 14 name = "cross_rs", 15 # v0.2.5+ 16 urls = ["https://github.com/cross-rs/cross/archive/764d258e8b88323df7e88b1b6f178d09f951966a.zip"], 17 strip_prefix = "cross-764d258e8b88323df7e88b1b6f178d09f951966a", 18 integrity = "sha256-vC3qT2dzF6yEKCTGK3cHaSMZk/V5/LxZSHvT2Jo5qw8=", 19 build_file_content = """exports_files(["Cargo.toml", "Cargo.lock"], visibility = ["//visibility:public"])""", 20 ) 21 22 version = DEFAULT_RUST_VERSION 23 if "-" in version: 24 version = "nightly/{}".format(version) 25 26 maybe( 27 cargo_bootstrap_repository, 28 name = "cross_rs_host_bin", 29 binary = "cross", 30 cargo_toml = "@cross_rs//:Cargo.toml", 31 cargo_lockfile = "@cross_rs//:Cargo.lock", 32 version = version, 33 ) 34