• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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