blob: 15bc0100be697856d31c3d1cd6ad2b2daa0220f8 [file] [log] [blame]
Googler75c7ad02022-05-23 13:27:49 -07001# Part of the Crubit project, under the Apache License v2.0 with LLVM
2# Exceptions. See /LICENSE for license information.
3# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
4
5load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
6
Googler75c7ad02022-05-23 13:27:49 -07007http_archive(
8 name = "rules_rust",
Marcel Hlopko6762a032022-07-08 02:37:05 -07009 sha256 = "edb87c0d2ba70823fe3df7862676d695599314a4634b9758bd55f0e8f19c2751",
Googler75c7ad02022-05-23 13:27:49 -070010 urls = [
Marcel Hlopko6762a032022-07-08 02:37:05 -070011 "https://github.com/bazelbuild/rules_rust/releases/download/0.4.0/rules_rust-v0.4.0.tar.gz",
Googler75c7ad02022-05-23 13:27:49 -070012 ],
13)
14
15load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains")
16
17rules_rust_dependencies()
18
Marcel Hlopko84aeda42022-07-08 02:38:30 -070019rust_register_toolchains(
20 edition = "2021",
21 iso_date = "2022-07-07",
22 version = "nightly",)
Googler75c7ad02022-05-23 13:27:49 -070023
24load("@rules_rust//crate_universe:repositories.bzl", "crate_universe_dependencies")
25
26crate_universe_dependencies()
27
28load("@rules_rust//crate_universe:defs.bzl", "crate", "crates_repository", "render_config")
29
30# after changing:
31# CARGO_BAZEL_REPIN=1 bazelisk sync --only=crate_index
32crates_repository(
33 name = "crate_index",
34 lockfile = "//:Cargo.Bazel.lock",
35 packages = {
36 "anyhow": crate.spec(
37 version = ">0.0.0",
38 ),
39 "itertools": crate.spec(
40 version = ">0.0.0",
41 ),
42 "maplit": crate.spec(
43 version = ">0.0.0",
44 ),
45 "memoffset": crate.spec(
46 version = ">0.0.0",
47 ),
Michael VanBemmel5014b3e2022-08-03 16:27:34 -070048 "once_cell": crate.spec(
49 version = ">0.0.0",
50 ),
Googler75c7ad02022-05-23 13:27:49 -070051 "pin-project": crate.spec(
52 version = ">0.0.0",
53 ),
54 "proc-macro2": crate.spec(
55 version = ">0.0.0",
56 ),
57 "quote": crate.spec(
58 version = ">0.0.0",
59 ),
Marcel Hlopko3a95e022022-07-08 00:26:16 -070060 "salsa": crate.spec(
61 version = ">0.0.0",
62 ),
Googler75c7ad02022-05-23 13:27:49 -070063 "serde": crate.spec(
Marcel Hlopko668f5342022-07-08 01:30:08 -070064 features = ["derive", "rc",],
Googler75c7ad02022-05-23 13:27:49 -070065 version = ">0.0.0",
66 ),
67 "serde_json": crate.spec(
68 version = ">0.0.0",
69 ),
Marcel Hlopko9bcf75d2022-06-03 02:22:46 -070070 "static_assertions": crate.spec(
Marcel Hlopko9bcf75d2022-06-03 02:22:46 -070071 version = ">0.0.0",
72 ),
Googler75c7ad02022-05-23 13:27:49 -070073 "syn": crate.spec(
74 features = ["extra-traits"],
75 version = ">0.0.0",
76 ),
77 },
78
79 render_config = render_config(
80 default_package_name = "",
81 ),
82)
83
84load("@crate_index//:defs.bzl", "crate_repositories")
85
86crate_repositories()
87
88# https://github.com/bazelbuild/bazel-skylib/releases/tag/1.2.1
89
90http_archive(
91 name = "bazel_skylib",
92 sha256 = "f7be3474d42aae265405a592bb7da8e171919d74c16f082a5457840f06054728",
93 urls = [
94 "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.2.1/bazel-skylib-1.2.1.tar.gz",
95 "https://github.com/bazelbuild/bazel-skylib/releases/download/1.2.1/bazel-skylib-1.2.1.tar.gz",
96 ],
97)
98
99load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
100
101bazel_skylib_workspace()
102
103# https://abseil.io/docs/cpp/quickstart#set-up-a-bazel-workspace-to-work-with-abseil
Lukasz Anforowiczadb512f2022-08-26 07:04:42 -0700104#
105# From https://abseil.io/about/releases: Abseil encourages developers to “live
106# at head”. 92fdbfb301f8b301b28ab5c99e7361e775c2fb8a was the head/ToT on
107# 2022-08-25.
Googler75c7ad02022-05-23 13:27:49 -0700108http_archive(
109 name = "absl",
Lukasz Anforowiczadb512f2022-08-26 07:04:42 -0700110 sha256 = "feea6e761ab9df667f054531b4e4d5d143eaa78f2c40dbf5ba45289142cbcc1d",
111 strip_prefix = "abseil-cpp-92fdbfb301f8b301b28ab5c99e7361e775c2fb8a",
112 urls = ["https://github.com/abseil/abseil-cpp/archive/92fdbfb301f8b301b28ab5c99e7361e775c2fb8a.zip"],
Googler75c7ad02022-05-23 13:27:49 -0700113)
114
Luca Versaric21d92f2022-05-25 00:56:30 -0700115# https://google.github.io/googletest/quickstart-bazel.html
116
117http_archive(
118 name = "com_google_googletest",
119 urls = ["https://github.com/google/googletest/archive/609281088cfefc76f9d0ce82e1ff6c30cc3591e5.zip"],
120 strip_prefix = "googletest-609281088cfefc76f9d0ce82e1ff6c30cc3591e5",
121)
122
Matthew Riley03a01e32022-05-24 10:16:04 -0700123# Create the "loader" repository, then use it to configure the desired LLVM
124# repository. For more details, see the comment in bazel/llvm.bzl.
Googler75c7ad02022-05-23 13:27:49 -0700125
Matthew Riley03a01e32022-05-24 10:16:04 -0700126load("//bazel:llvm.bzl", "llvm_loader_repository_dependencies", "llvm_loader_repository")
127llvm_loader_repository_dependencies()
128llvm_loader_repository(name = "llvm-loader")
Googler75c7ad02022-05-23 13:27:49 -0700129
Matthew Riley03a01e32022-05-24 10:16:04 -0700130load("@llvm-loader//:llvm.bzl", "llvm_repository")
131llvm_repository(name = "llvm-project")