| # Part of the Crubit project, under the Apache License v2.0 with LLVM |
| # Exceptions. See /LICENSE for license information. |
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| |
| load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") |
| |
| # https://github.com/bazelbuild/bazel-skylib/releases/tag/1.3.0 |
| |
| http_archive( |
| name = "platforms", |
| sha256 = "3a561c99e7bdbe9173aa653fd579fe849f1d8d67395780ab4770b1f381431d51", |
| urls = [ |
| "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.7/platforms-0.0.7.tar.gz", |
| "https://github.com/bazelbuild/platforms/releases/download/0.0.7/platforms-0.0.7.tar.gz", |
| ], |
| ) |
| |
| http_archive( |
| name = "bazel_skylib", |
| sha256 = "74d544d96f4a5bb630d465ca8bbcfe231e3594e5aae57e1edbf17a6eb3ca2506", |
| urls = [ |
| "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz", |
| "https://github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz", |
| ], |
| ) |
| |
| load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace") |
| |
| bazel_skylib_workspace() |
| |
| http_archive( |
| name = "rules_license", |
| sha256 = "6157e1e68378532d0241ecd15d3c45f6e5cfd98fc10846045509fb2a7cc9e381", |
| urls = [ |
| "https://mirror.bazel.build/github.com/bazelbuild/rules_license/releases/download/0.0.4/rules_license-0.0.4.tar.gz", |
| "https://github.com/bazelbuild/rules_license/releases/download/0.0.4/rules_license-0.0.4.tar.gz", |
| ], |
| ) |
| |
| http_archive( |
| name = "rules_rust", |
| patch_args = [ |
| "-p1", |
| ], |
| patches = [ |
| # copybara:strip_begin(Google-internal) |
| # The patch is based on the copybara transformations here: |
| # http://google3/third_party/bazel_rules/rules_rust/copy.bara.sky;l=398;rcl=549936350 |
| # copybara:strip_end |
| "@@//bazel/rules_rust:attach_rust_bindings_from_cc_aspect.patch", |
| ], |
| sha256 = "4a9cb4fda6ccd5b5ec393b2e944822a62e050c7c06f1ea41607f14c4fdec57a2", |
| urls = ["https://github.com/bazelbuild/rules_rust/releases/download/0.25.1/rules_rust-v0.25.1.tar.gz"], |
| ) |
| |
| load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains") |
| |
| rules_rust_dependencies() |
| |
| RUST_TOOLCHAIN_VERSION = "nightly/2024-04-14" |
| |
| rust_register_toolchains( |
| allocator_library = "@//common:rust_allocator_shims", |
| dev_components = True, |
| edition = "2021", |
| versions = [ |
| RUST_TOOLCHAIN_VERSION, |
| ], |
| ) |
| |
| load("@rules_rust//crate_universe:repositories.bzl", "crate_universe_dependencies") |
| |
| crate_universe_dependencies() |
| |
| load("@rules_rust//crate_universe:defs.bzl", "crate", "crates_repository", "render_config") |
| |
| # after changing `packages`, re-generate Cargo.lock: |
| # CARGO_BAZEL_REPIN=1 bazelisk sync --only=crate_index |
| crates_repository( |
| name = "crate_index", |
| cargo_lockfile = "//:Cargo.lock", |
| packages = { |
| "anyhow": crate.spec( |
| version = ">0.0.0", |
| ), |
| "clap": crate.spec( |
| features = [ |
| "derive", |
| "color", |
| "derive", |
| "env", |
| "std", |
| "string", |
| "suggestions", |
| ], |
| version = ">=4.3.12", |
| ), |
| "either": crate.spec( |
| version = ">1.0.0", |
| ), |
| "flagset": crate.spec( |
| version = ">0.0.0", |
| ), |
| "itertools": crate.spec( |
| version = ">0.0.0", |
| ), |
| "maplit": crate.spec( |
| version = ">0.0.0", |
| ), |
| "once_cell": crate.spec( |
| version = ">0.0.0", |
| ), |
| "pin-project": crate.spec( |
| version = ">0.0.0", |
| ), |
| "proc-macro2": crate.spec( |
| version = ">0.0.0", |
| ), |
| "quote": crate.spec( |
| version = ">0.0.0", |
| ), |
| "regex": crate.spec( |
| version = ">=1.6.0", |
| ), |
| "salsa": crate.spec( |
| version = ">0.0.0", |
| ), |
| "serde": crate.spec( |
| features = [ |
| "derive", |
| "rc", |
| ], |
| version = ">0.0.0", |
| ), |
| "serde_json": crate.spec( |
| version = ">0.0.0", |
| ), |
| "static_assertions": crate.spec( |
| version = ">0.0.0", |
| ), |
| "syn": crate.spec( |
| features = ["extra-traits"], |
| version = ">0.0.0", |
| ), |
| "tempfile": crate.spec( |
| version = "=3.4.0", |
| ), |
| "unicode-ident": crate.spec( |
| version = ">0.0.0", |
| ), |
| }, |
| render_config = render_config( |
| default_package_name = "", |
| ), |
| rust_version = RUST_TOOLCHAIN_VERSION, |
| ) |
| |
| load("@crate_index//:defs.bzl", "crate_repositories") |
| |
| crate_repositories() |
| |
| # https://google.github.io/googletest/quickstart-bazel.html |
| http_archive( |
| name = "com_google_googletest", |
| sha256 = "7fda611bceb5a793824a3c63ecbf68d2389e70c38f5763e9b1d415ca24912f44", |
| strip_prefix = "googletest-1336c4b6d1a6f4bc6beebccb920e5ff858889292", |
| urls = ["https://github.com/google/googletest/archive/1336c4b6d1a6f4bc6beebccb920e5ff858889292.zip"], |
| ) |
| |
| # zstd is a dependency of llvm. See https://reviews.llvm.org/D143344#4232172 |
| http_archive( |
| name = "llvm_zstd", |
| build_file = "@llvm-raw//utils/bazel/third_party_build:zstd.BUILD", |
| sha256 = "7c42d56fac126929a6a85dbc73ff1db2411d04f104fae9bdea51305663a83fd0", |
| strip_prefix = "zstd-1.5.2", |
| urls = [ |
| "https://github.com/facebook/zstd/releases/download/v1.5.2/zstd-1.5.2.tar.gz", |
| ], |
| ) |
| |
| # @llvm-project//llvm:Support needs zlib. |
| http_archive( |
| name = "llvm_zlib", |
| build_file = "@llvm-raw//utils/bazel/third_party_build:zlib-ng.BUILD", |
| sha256 = "e36bb346c00472a1f9ff2a0a4643e590a254be6379da7cddd9daeb9a7f296731", |
| strip_prefix = "zlib-ng-2.0.7", |
| urls = [ |
| "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.0.7.zip", |
| ], |
| ) |
| |
| # Create the "loader" repository, then use it to configure the desired LLVM |
| # repository. For more details, see the comment in bazel/llvm.bzl. |
| |
| load("//bazel:llvm.bzl", "llvm_loader_repository", "llvm_loader_repository_dependencies") |
| |
| llvm_loader_repository_dependencies() |
| |
| llvm_loader_repository(name = "llvm-loader") |
| |
| load("@llvm-loader//:llvm.bzl", "llvm_repository") |
| |
| llvm_repository(name = "llvm-project") |
| |
| # protobuf (used in nullability/; crubit proper should not depend on it) |
| http_archive( |
| name = "rules_proto", |
| sha256 = "dc3fb206a2cb3441b485eb1e423165b231235a1ea9b031b4433cf7bc1fa460dd", |
| strip_prefix = "rules_proto-5.3.0-21.7", |
| urls = [ |
| "https://github.com/bazelbuild/rules_proto/archive/refs/tags/5.3.0-21.7.tar.gz", |
| ], |
| ) |
| |
| load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies", "rules_proto_toolchains") |
| |
| rules_proto_dependencies() |
| |
| rules_proto_toolchains() |