blob: bf609e77efd44f7428c9667b196463ebdb7c327e [file] [log] [blame]
Brian Silverman7bda6212018-08-05 11:42:11 -07001workspace(name = "org_frc971")
Brian Silvermand1c19fb2016-07-07 00:10:57 -07002
Philipp Schradercc016b32021-12-30 08:59:58 -08003load("@bazel_tools//tools/build_defs/repo:git.bzl", "new_git_repository")
Austin Schuhf093fa52019-06-23 20:47:23 -07004load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_file")
Philipp Schrader6efe5732022-02-12 15:11:13 -08005load("@bazel_tools//tools/jdk:remote_java_repository.bzl", "remote_java_repository")
Philipp Schrader9670a2a2023-01-11 01:20:16 -08006load("//tools/ci:repo_defs.bzl", "ci_configure")
7
8ci_configure(name = "ci_configure")
9
10load("@ci_configure//:ci.bzl", "RUNNING_IN_CI")
11
12http_archive(
13 name = "platforms",
14 sha256 = "2c8d8347427e6bb0ba7cf9f933c08fe2be2b62ff2454546ad852f7bf267aad87",
15 strip_prefix = "platforms-e658a6af526089406d0057160542597501ba65d7",
16 url = "https://github.com/bazelbuild/platforms/archive/e658a6af526089406d0057160542597501ba65d7.zip",
17)
18
19http_archive(
20 name = "bazel_skylib",
Philipp Schrader35bb1532023-03-05 13:49:12 -080021 sha256 = "b8a1527901774180afc798aeb28c4634bdccf19c4d98e7bdd1ce79d1fe9aaad7",
Philipp Schrader9670a2a2023-01-11 01:20:16 -080022 urls = [
Philipp Schrader35bb1532023-03-05 13:49:12 -080023 "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.4.1/bazel-skylib-1.4.1.tar.gz",
24 "https://github.com/bazelbuild/bazel-skylib/releases/download/1.4.1/bazel-skylib-1.4.1.tar.gz",
Philipp Schrader9670a2a2023-01-11 01:20:16 -080025 ],
26)
27
Philipp Schrader35bb1532023-03-05 13:49:12 -080028load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
29
30bazel_skylib_workspace()
31
Philipp Schrader9670a2a2023-01-11 01:20:16 -080032http_archive(
Philipp Schrader55dd6b42023-02-22 20:44:23 -080033 name = "aspect_bazel_lib",
34 sha256 = "80897b673c2b506d21f861ae316689aa8abcc3e56947580a41bf9e68ff13af58",
35 strip_prefix = "bazel-lib-1.27.1",
36 url = "https://github.com/aspect-build/bazel-lib/releases/download/v1.27.1/bazel-lib-v1.27.1.tar.gz",
37)
38
Philipp Schrader175a93c2023-02-19 13:13:40 -080039load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains")
Philipp Schrader55dd6b42023-02-22 20:44:23 -080040
41aspect_bazel_lib_dependencies()
42
Philipp Schrader175a93c2023-02-19 13:13:40 -080043register_jq_toolchains()
44
Philipp Schrader55dd6b42023-02-22 20:44:23 -080045http_archive(
Philipp Schrader9670a2a2023-01-11 01:20:16 -080046 name = "rules_python",
47 patch_args = ["-p1"],
48 patches = [
49 "//third_party:rules_python/0001-Support-overriding-individual-packages.patch",
50 "//third_party:rules_python/0002-Allow-user-to-patch-wheels.patch",
51 ],
52 sha256 = "497ca47374f48c8b067d786b512ac10a276211810f4a580178ee9b9ad139323a",
53 strip_prefix = "rules_python-0.16.1",
54 url = "https://github.com/bazelbuild/rules_python/archive/refs/tags/0.16.1.tar.gz",
55)
56
57load("@rules_python//python:repositories.bzl", "python_register_toolchains")
58
59python_register_toolchains(
60 name = "python3_9",
61 python_version = "3.9",
62 register_toolchains = False,
63)
64
James Kuszmaul9776b392023-01-14 14:08:08 -080065load(
66 "@python3_9//:defs.bzl",
67 python_interpreter = "interpreter",
68)
Philipp Schrader9670a2a2023-01-11 01:20:16 -080069load("@rules_python//python:pip.bzl", "pip_parse")
James Kuszmaul9776b392023-01-14 14:08:08 -080070load(
71 "//tools/python:package_annotations.bzl",
72 PYTHON_ANNOTATIONS = "ANNOTATIONS",
73)
Philipp Schrader9670a2a2023-01-11 01:20:16 -080074
75pip_parse(
76 name = "pip_deps",
77 annotations = PYTHON_ANNOTATIONS,
78 enable_implicit_namespace_pkgs = True,
79 overrides = "//tools/python:whl_overrides.json",
80 patch_spec = "//tools/python:patches.json",
81 python_interpreter_target = python_interpreter,
82 require_overrides = RUNNING_IN_CI,
83 requirements_lock = "//tools/python:requirements.lock.txt",
84)
85
86# Load the starlark macro which will define your dependencies.
James Kuszmaul9776b392023-01-14 14:08:08 -080087load(
88 "@pip_deps//:requirements.bzl",
89 install_pip_deps = "install_deps",
90)
Philipp Schrader9670a2a2023-01-11 01:20:16 -080091
92install_pip_deps()
93
94load("//tools/python:repo_defs.bzl", "pip_configure")
95
96pip_configure(
97 name = "pip",
98)
99
100http_archive(
101 name = "rules_pkg",
Philipp Schrader973fd3f2023-03-07 21:21:36 -0800102 sha256 = "8c20f74bca25d2d442b327ae26768c02cf3c99e93fad0381f32be9aab1967675",
Philipp Schrader9670a2a2023-01-11 01:20:16 -0800103 urls = [
Philipp Schrader973fd3f2023-03-07 21:21:36 -0800104 "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.8.1/rules_pkg-0.8.1.tar.gz",
105 "https://github.com/bazelbuild/rules_pkg/releases/download/0.8.1/rules_pkg-0.8.1.tar.gz",
Philipp Schrader9670a2a2023-01-11 01:20:16 -0800106 ],
107)
108
109load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
110
111rules_pkg_dependencies()
112
Brian Silverman7bda6212018-08-05 11:42:11 -0700113load(
Philipp Schraderd0e33a42022-01-22 21:55:15 -0800114 "//debian:apache2.bzl",
115 apache2_debs = "files",
116)
117load(
Philipp Schrader41011a12022-03-13 12:49:32 -0700118 "//debian:postgresql_amd64.bzl",
119 postgresql_amd64_debs = "files",
120)
121load(
Brian Silverman7bda6212018-08-05 11:42:11 -0700122 "//debian:patch.bzl",
123 patch_debs = "files",
124)
Brian Silverman7297c0c2018-08-05 13:43:00 -0700125load(
Austin Schuh71f6fa72019-08-31 18:23:02 -0700126 "//debian:rsync.bzl",
127 rsync_debs = "files",
128)
129load(
130 "//debian:ssh.bzl",
131 ssh_debs = "files",
132)
133load(
Brian Silverman7297c0c2018-08-05 13:43:00 -0700134 "//debian:pandoc.bzl",
135 pandoc_debs = "files",
136)
Brian Silverman4f6ba442018-08-05 14:34:58 -0700137load(
138 "//debian:libusb.bzl",
139 libusb_debs = "files",
140)
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700141load(
142 "//debian:mingw_compiler.bzl",
143 mingw_compiler_debs = "files",
144)
Brian Silverman6470f442018-08-05 12:08:16 -0700145load(
146 "//debian:patchelf.bzl",
147 patchelf_debs = "files",
148)
149load(
Brian Silverman50b9ac02018-08-12 13:24:10 -0700150 "//debian:arm_frc_gnueabi_deps.bzl",
151 arm_frc_gnueabi_deps_debs = "files",
152)
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -0700153load(
Philipp Schraderfd5489f2022-09-17 17:31:09 -0700154 "//debian:gtk_runtime.bzl",
155 gtk_runtime_debs = "files",
156)
157load(
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800158 "//debian:opencv_arm64.bzl",
159 opencv_arm64_debs = "files",
160)
161load(
Brian Silvermand97a47c2020-01-16 00:47:53 -0800162 "//debian:opencv_amd64.bzl",
163 opencv_amd64_debs = "files",
164)
Tyler Chatow60671d32020-02-26 19:49:30 -0800165load(
166 "//debian:gstreamer_amd64.bzl",
James Kuszmaulc91e4402020-05-10 18:47:20 -0700167 gstreamer_amd64_debs = "files",
Tyler Chatow60671d32020-02-26 19:49:30 -0800168)
169load(
Tyler Chatow6eda82c2022-03-27 22:37:38 -0700170 "//debian:gstreamer_arm64.bzl",
171 gstreamer_arm64_debs = "files",
172)
173load(
Austin Schuh023e7f52020-08-18 21:24:37 -0700174 "//debian:m4.bzl",
175 m4_debs = "files",
176)
Brian Silvermanf59fe3f2020-09-22 21:04:09 -0700177load(
178 "//debian:lzma_amd64.bzl",
179 lzma_amd64_debs = "files",
180)
181load(
182 "//debian:lzma_arm64.bzl",
183 lzma_arm64_debs = "files",
184)
Tyler Chatow8a51ac62022-03-15 13:23:12 -0700185load(
186 "//debian:libtinfo5_amd64.bzl",
187 libtinfo5_amd64_debs = "files",
188)
Tyler Chatowec100e22022-03-22 16:23:04 -0700189load(
190 "//debian:libtinfo5_arm64.bzl",
191 libtinfo5_arm64_debs = "files",
192)
Philipp Schraderf60e7d72023-02-19 17:07:22 -0800193load(
194 "//debian:xvfb_amd64.bzl",
195 xvfb_amd64_debs = "files",
196)
Philipp Schrader0e19c602018-03-07 21:07:22 -0800197load("//debian:packages.bzl", "generate_repositories_for_debs")
198
Austin Schuh71f6fa72019-08-31 18:23:02 -0700199generate_repositories_for_debs(rsync_debs)
200
201generate_repositories_for_debs(ssh_debs)
202
Philipp Schraderd0e33a42022-01-22 21:55:15 -0800203generate_repositories_for_debs(apache2_debs)
204
Philipp Schrader41011a12022-03-13 12:49:32 -0700205generate_repositories_for_debs(postgresql_amd64_debs)
206
Brian Silverman7bda6212018-08-05 11:42:11 -0700207generate_repositories_for_debs(patch_debs)
208
Brian Silverman7297c0c2018-08-05 13:43:00 -0700209generate_repositories_for_debs(pandoc_debs)
210
Brian Silverman4f6ba442018-08-05 14:34:58 -0700211generate_repositories_for_debs(libusb_debs)
212
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700213generate_repositories_for_debs(mingw_compiler_debs)
214
Brian Silverman6470f442018-08-05 12:08:16 -0700215generate_repositories_for_debs(patchelf_debs)
216
Brian Silverman50b9ac02018-08-12 13:24:10 -0700217generate_repositories_for_debs(arm_frc_gnueabi_deps_debs)
218
Philipp Schraderfd5489f2022-09-17 17:31:09 -0700219generate_repositories_for_debs(gtk_runtime_debs)
220
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800221generate_repositories_for_debs(opencv_arm64_debs)
222
Brian Silvermand97a47c2020-01-16 00:47:53 -0800223generate_repositories_for_debs(opencv_amd64_debs)
224
Tyler Chatow6eda82c2022-03-27 22:37:38 -0700225generate_repositories_for_debs(
226 gstreamer_amd64_debs,
Maxwell Henderson7a93a652023-06-24 15:17:09 -0700227 base_url = "https://software.frc971.org/Build-Dependencies/gstreamer_bullseye_amd64_deps",
Tyler Chatow6eda82c2022-03-27 22:37:38 -0700228)
Tyler Chatow60671d32020-02-26 19:49:30 -0800229
Tyler Chatow6eda82c2022-03-27 22:37:38 -0700230generate_repositories_for_debs(
231 gstreamer_arm64_debs,
Maxwell Henderson7a93a652023-06-24 15:17:09 -0700232 base_url = "https://software.frc971.org/Build-Dependencies/gstreamer_bullseye_arm64_deps",
Tyler Chatow6eda82c2022-03-27 22:37:38 -0700233)
234
Austin Schuh023e7f52020-08-18 21:24:37 -0700235generate_repositories_for_debs(m4_debs)
236
Brian Silvermanf59fe3f2020-09-22 21:04:09 -0700237generate_repositories_for_debs(lzma_amd64_debs)
238
239generate_repositories_for_debs(lzma_arm64_debs)
240
Tyler Chatow8a51ac62022-03-15 13:23:12 -0700241generate_repositories_for_debs(libtinfo5_amd64_debs)
242
Tyler Chatowec100e22022-03-22 16:23:04 -0700243generate_repositories_for_debs(libtinfo5_arm64_debs)
244
Philipp Schraderf60e7d72023-02-19 17:07:22 -0800245generate_repositories_for_debs(xvfb_amd64_debs)
246
Brian Silvermanc0309a02022-01-01 23:57:03 -0800247local_repository(
248 name = "com_grail_bazel_toolchain",
249 path = "third_party/bazel-toolchain",
250)
251
Brian Silverman4c7235a2021-11-17 19:04:37 -0800252load("@com_grail_bazel_toolchain//toolchain:rules.bzl", "llvm", "llvm_toolchain")
253
Austin Schuh612d95d2023-10-21 00:01:40 -0700254llvm_version = "17.0.2"
Brian Silverman4c7235a2021-11-17 19:04:37 -0800255
256llvm(
257 name = "llvm_k8",
Austin Schuh50e3dca2023-07-23 14:34:27 -0700258 distribution = "clang+llvm-%s-x86_64-linux-gnu-ubuntu-22.04.tar.xz" % llvm_version,
Brian Silverman4c7235a2021-11-17 19:04:37 -0800259 llvm_version = llvm_version,
260)
261
262llvm(
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800263 name = "llvm_aarch64",
264 distribution = "clang+llvm-%s-aarch64-linux-gnu.tar.xz" % llvm_version,
265 llvm_version = llvm_version,
266)
267
Brian Silverman4c7235a2021-11-17 19:04:37 -0800268llvm_conlyopts = [
269 "-std=gnu99",
270]
271
272llvm_copts = [
273 "-D__STDC_FORMAT_MACROS",
274 "-D__STDC_CONSTANT_MACROS",
275 "-D__STDC_LIMIT_MACROS",
276 "-D_FILE_OFFSET_BITS=64",
277 "-fmessage-length=100",
278 "-fmacro-backtrace-limit=0",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800279 "-ggdb3",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800280]
281
282llvm_cxxopts = [
Philipp Schraderf43b18b2023-08-23 20:05:10 -0700283 "-std=gnu++20",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800284]
285
Brian Silverman1e7c8972022-02-03 23:15:41 -0800286llvm_opt_copts = [
287 "-DAOS_DEBUG=0",
288]
289
290llvm_fastbuild_copts = [
291 "-DAOS_DEBUG=0",
292]
293
Brian Silverman4c7235a2021-11-17 19:04:37 -0800294llvm_dbg_copts = [
295 "-DAOS_DEBUG=1",
296]
Brian Silvermanc0309a02022-01-01 23:57:03 -0800297
298llvm_toolchain(
299 name = "llvm_toolchain",
Austin Schuh1e69d422023-06-25 16:57:01 -0700300 additional_target_compatible_with = {},
Brian Silverman4c7235a2021-11-17 19:04:37 -0800301 conlyopts = {
302 "linux-x86_64": llvm_conlyopts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800303 "linux-aarch64": llvm_conlyopts,
Brian Silverman4c7235a2021-11-17 19:04:37 -0800304 },
305 copts = {
306 "linux-x86_64": llvm_copts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800307 "linux-aarch64": llvm_copts,
Brian Silverman4c7235a2021-11-17 19:04:37 -0800308 },
309 cxxopts = {
310 "linux-x86_64": llvm_cxxopts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800311 "linux-aarch64": llvm_cxxopts,
Brian Silverman4c7235a2021-11-17 19:04:37 -0800312 },
313 dbg_copts = {
314 "linux-x86_64": llvm_dbg_copts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800315 "linux-aarch64": llvm_dbg_copts,
Brian Silverman1e7c8972022-02-03 23:15:41 -0800316 },
317 fastbuild_copts = {
318 "linux-x86_64": llvm_fastbuild_copts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800319 "linux-aarch64": llvm_fastbuild_copts,
Brian Silverman4c7235a2021-11-17 19:04:37 -0800320 },
321 llvm_version = llvm_version,
Brian Silverman1e7c8972022-02-03 23:15:41 -0800322 opt_copts = {
323 "linux-x86_64": llvm_opt_copts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800324 "linux-aarch64": llvm_opt_copts,
Brian Silverman1e7c8972022-02-03 23:15:41 -0800325 },
Brian Silverman4c7235a2021-11-17 19:04:37 -0800326 standard_libraries = {
Austin Schuh0bd410a2023-11-05 12:38:12 -0800327 "linux-x86_64": "libstdc++-12",
Austin Schuh86d980e2023-10-20 22:44:47 -0700328 "linux-aarch64": "libstdc++-12",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800329 },
330 static_libstdcxx = False,
Brian Silvermanc0309a02022-01-01 23:57:03 -0800331 sysroot = {
332 "linux-x86_64": "@amd64_debian_sysroot//:sysroot_files",
Austin Schuh86d980e2023-10-20 22:44:47 -0700333 "linux-aarch64": "@arm64_debian_sysroot//:sysroot_files",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800334 },
335 target_toolchain_roots = {
336 "linux-x86_64": "@llvm_k8//",
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800337 "linux-aarch64": "@llvm_aarch64//",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800338 },
339 toolchain_roots = {
340 "linux-x86_64": "@llvm_k8//",
Tyler Chatow486ad3e2022-03-23 13:32:03 -0700341 "linux-aarch64": "@llvm_aarch64//",
Brian Silvermanc0309a02022-01-01 23:57:03 -0800342 },
343)
344
Brian Silverman4c7235a2021-11-17 19:04:37 -0800345load("@llvm_toolchain//:toolchains.bzl", "llvm_register_toolchains")
346
347llvm_register_toolchains()
348
Philipp Schraderdada1072020-11-24 11:34:46 -0800349register_toolchains(
Philipp Schraderdada1072020-11-24 11:34:46 -0800350 "//tools/cpp:cc-toolchain-roborio",
351 "//tools/cpp:cc-toolchain-cortex-m4f",
Austin Schuh0a96ea32022-01-01 22:29:30 -0800352 "//tools/cpp:cc-toolchain-rp2040",
Philipp Schraderdada1072020-11-24 11:34:46 -0800353 # Find a good way to select between these two M4F toolchains.
354 #"//tools/cpp:cc-toolchain-cortex-m4f-k22",
Philipp Schraderf198a152021-12-05 09:18:23 -0800355 "//tools/python:python_toolchain",
Philipp Schrader73e56602021-12-06 21:37:30 -0800356 "//tools/go:noop_go_toolchain",
Brian Silverman847121b2022-03-09 15:48:08 -0800357 "//tools/rust:rust-toolchain-x86",
358 "//tools/rust:rust-toolchain-armv7",
359 "//tools/rust:rust-toolchain-arm64",
Brian Silvermana8ad1af2022-07-23 16:05:12 -0700360 # TODO(Brian): Make this work. See the comment on
361 # //tools/platforms:linux_roborio for details.
362 #"//tools/rust:rust-toolchain-roborio",
Ravago Jones16809802021-11-18 20:40:03 -0800363 "//tools/rust:noop_rust_toolchain",
Philipp Schrader54047962022-02-16 21:05:11 -0800364 "//tools/ts:noop_node_toolchain",
Philipp Schraderdada1072020-11-24 11:34:46 -0800365)
366
Austin Schuhf093fa52019-06-23 20:47:23 -0700367http_archive(
Austin Schuh7466fe12020-12-29 23:01:47 -0800368 name = "com_github_stevengj_nlopt",
369 build_file = "@//debian:nlopt.BUILD",
370 patch_args = ["-p1"],
371 patches = ["//debian:nlopt.patch"],
372 sha256 = "2d65815b21c30813499fe19c63947f7da56b10c0d4a459dce05417899b43e461",
373 strip_prefix = "nlopt-496be736b8b249273838b891f4c8ca3669551127",
Maxwell Henderson7a93a652023-06-24 15:17:09 -0700374 url = "https://software.frc971.org/Build-Dependencies/nlopt-496be736b8b249273838b891f4c8ca3669551127.zip",
Austin Schuh7466fe12020-12-29 23:01:47 -0800375)
376
James Kuszmaul203bfc22023-01-13 22:37:06 -0800377http_archive(
Austin Schuhd57edc42019-09-21 17:52:38 -0700378 name = "com_google_absl",
James Kuszmaul203bfc22023-01-13 22:37:06 -0800379 patch_args = ["-p1"],
380 patches = ["//third_party/abseil:abseil.patch"],
Adam Snaider13d48d92023-08-03 12:20:15 -0700381 sha256 = "ea1d31db00eb37e607bfda17ffac09064670ddf05da067944c4766f517876390",
382 strip_prefix = "abseil-cpp-c2435f8342c2d0ed8101cb43adfd605fdc52dca2",
383 url = "https://github.com/abseil/abseil-cpp/archive/c2435f8342c2d0ed8101cb43adfd605fdc52dca2.zip",
Austin Schuh36244a12019-09-21 17:52:38 -0700384)
385
Alex Perrycb7da4b2019-08-28 19:35:56 -0700386local_repository(
387 name = "org_tuxfamily_eigen",
388 path = "third_party/eigen",
389)
390
James Kuszmaulbc02ff42021-01-15 20:41:30 -0800391local_repository(
392 name = "com_github_rawrtc_re",
393 path = "third_party/rawrtc/re",
394)
395
396local_repository(
397 name = "com_github_rawrtc_rew",
398 path = "third_party/rawrtc/rew",
399)
400
401local_repository(
402 name = "com_github_rawrtc_usrsctp",
403 path = "third_party/rawrtc/usrsctp",
404)
405
406local_repository(
407 name = "com_github_rawrtc_rawrtc_common",
408 path = "third_party/rawrtc/rawrtc-common",
409)
410
411local_repository(
412 name = "com_github_rawrtc_rawrtc_data_channel",
413 path = "third_party/rawrtc/rawrtc-data-channel",
414)
415
416local_repository(
417 name = "com_github_rawrtc_rawrtc",
418 path = "third_party/rawrtc/rawrtc",
419)
420
Austin Schuh36244a12019-09-21 17:52:38 -0700421# C++ rules for Bazel.
422http_archive(
423 name = "rules_cc",
Austin Schuh968174a2021-03-31 20:04:01 -0700424 sha256 = "ed36cc7a6f46b7c28ab4009db4a37e350e1ba367446b0886bcc9cdc1df92752e",
425 strip_prefix = "rules_cc-608c7b605fb844a20e96a3eddc9b49ad2542adab",
Austin Schuh36244a12019-09-21 17:52:38 -0700426 urls = [
Maxwell Henderson7a93a652023-06-24 15:17:09 -0700427 "https://software.frc971.org/Build-Dependencies/rules_cc-608c7b605fb844a20e96a3eddc9b49ad2542adab.zip",
Austin Schuh36244a12019-09-21 17:52:38 -0700428 ],
429)
Austin Schuhd57edc42019-09-21 17:52:38 -0700430
Austin Schuh4759ffc2015-10-07 20:39:56 -0700431new_local_repository(
Brian Silverman7bda6212018-08-05 11:42:11 -0700432 name = "usr_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700433 build_file = "@//debian:usr.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700434 path = "/usr",
Austin Schuh4759ffc2015-10-07 20:39:56 -0700435)
436
Austin Schuh1f9aeb42015-11-12 23:34:49 -0800437new_git_repository(
Brian Silverman7bda6212018-08-05 11:42:11 -0700438 name = "slycot_repo",
Tyler Chatow2584bb12018-10-27 20:48:35 -0700439 build_file = "@//debian:slycot.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700440 commit = "5af5f283cb23cbe23c4dfea4d5e56071bdbd6e70",
441 remote = "https://github.com/avventi/Slycot.git",
Austin Schuh1f9aeb42015-11-12 23:34:49 -0800442)
443
James Kuszmaul9776b392023-01-14 14:08:08 -0800444# TODO(Ravago, Max, Alex): https://github.com/wpilibsuite/opensdk
Austin Schuhf093fa52019-06-23 20:47:23 -0700445http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700446 name = "arm_frc_linux_gnueabi_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700447 build_file = "@//tools/cpp/arm-frc-linux-gnueabi:arm-frc-linux-gnueabi.BUILD",
Austin Schuhe991fe22020-11-18 16:53:39 -0800448 patches = ["//debian:fts.patch"],
James Kuszmaul686f62c2023-11-22 20:38:56 -0800449 sha256 = "10349791e4f9fa33100ee52a84e7f9ba4df581963818334771253369b0d12061",
James Kuszmaul9776b392023-01-14 14:08:08 -0800450 strip_prefix = "roborio-academic",
James Kuszmaul686f62c2023-11-22 20:38:56 -0800451 url = "https://github.com/wpilibsuite/opensdk/releases/download/v2024-1/cortexa9_vfpv3-roborio-academic-2024-x86_64-linux-gnu-Toolchain-12.1.0.tgz",
Austin Schuh55139fe2015-10-14 23:55:24 -0700452)
Austin Schuhe456f152015-11-27 13:44:39 -0800453
Austin Schuh86d980e2023-10-20 22:44:47 -0700454# The main partition built from //frc971/orin/build_rootfs.py.
Brian Silvermanbf4c1312020-01-12 11:35:45 -0800455http_archive(
Austin Schuh86d980e2023-10-20 22:44:47 -0700456 name = "arm64_debian_sysroot",
457 build_file = "@//:compilers/orin_debian_rootfs.BUILD",
458 sha256 = "a1d8297cebdf8dcc380afaa9703d56864f256775d4d239210d0883a9f2d009bc",
459 url = "https://software.frc971.org/Build-Dependencies/2023-11-18-bookworm-arm64-nvidia-rootfs.tar.xz",
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800460)
461
Austin Schuh0bd410a2023-11-05 12:38:12 -0800462# Sysroot generated using //frc971/amd64/build_rootfs.py
Brian Silverman60606c92020-01-15 22:45:04 -0800463http_archive(
464 name = "amd64_debian_sysroot",
Austin Schuh0bd410a2023-11-05 12:38:12 -0800465 build_file = "@//:compilers/amd64_debian_rootfs.BUILD",
466 sha256 = "3c098330f8bc57dccb4191167cfbba4c47f3bacf52926479c95ad2e50834b3c2",
467 url = "https://software.frc971.org/Build-Dependencies/2023-11-09-bookworm-amd64-nvidia-rootfs.tar.xz",
Brian Silverman60606c92020-01-15 22:45:04 -0800468)
469
Brian Silverman16a923c2018-10-31 19:40:51 -0700470local_repository(
471 name = "com_github_gflags_gflags",
472 path = "third_party/gflags",
473)
474
Brian Silverman82a12b92019-01-19 21:52:10 -0800475# Generated with:
Austin Schuh9950f682021-11-06 15:27:58 -0700476# git fetch https://github.com/wpilibsuite/ni-libraries main
Austin Schuhd3c72912022-02-22 18:05:32 -0800477# git archive --output=allwpilib_ni-libraries_776db4e8aed31a651fa2f590e7468c69b384b42a.tar.gz --format=tar.gz 776db4e8aed31a651fa2f590e7468c69b384b42a
Austin Schuhf093fa52019-06-23 20:47:23 -0700478http_archive(
James Kuszmaulc9c46b32019-12-08 21:10:00 -0800479 name = "allwpilib_ni_libraries",
480 build_file = "@//debian:ni-libraries.BUILD",
James Kuszmaulcd622d52023-11-22 20:44:04 -0800481 sha256 = "b325099ed896d1325c9cd998f07053b4e60e28a65d991f86f28203bf6728eccd",
482 strip_prefix = "ni-libraries-2024.1.1",
483 url = "https://github.com/wpilibsuite/ni-libraries/archive/refs/tags/v2024.1.1.zip",
Brian Silverman82a12b92019-01-19 21:52:10 -0800484)
485
Brian Silverman3fca9d72016-02-20 02:32:51 -0500486# For protobuf. Don't use these.
487bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700488 name = "six",
Philipp Schrader01535ee2023-01-08 13:19:03 -0800489 actual = "@pip//six",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500490)
Brian Silverman7bda6212018-08-05 11:42:11 -0700491
Brian Silverman3fca9d72016-02-20 02:32:51 -0500492bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700493 name = "gtest",
James Kuszmaul3aabc1c2023-01-13 21:33:43 -0800494 actual = "@com_google_googletest//:gtest",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500495)
Brian Silverman7bda6212018-08-05 11:42:11 -0700496
Brian Silverman3fca9d72016-02-20 02:32:51 -0500497bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700498 name = "gtest_main",
James Kuszmaul3aabc1c2023-01-13 21:33:43 -0800499 actual = "@com_google_googletest//:gtest_main",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500500)
501
James Kuszmaul59a308f2023-01-28 19:14:07 -0800502http_archive(
503 name = "april_tag_test_image",
504 build_file_content = """
505filegroup(
506 name = "april_tag_test_image",
507 srcs = ["test.bfbs", "expected.jpeg", "expected.png"],
508 visibility = ["//visibility:public"],
509)""",
510 sha256 = "5312c79b19e9883b3cebd9d65b4438a2bf05b41da0bcd8c35e19d22c3b2e1859",
Maxwell Henderson7a93a652023-06-24 15:17:09 -0700511 urls = ["https://software.frc971.org/Build-Dependencies/test_image_frc971.vision.CameraImage_2023.01.28.tar.gz"],
James Kuszmaul59a308f2023-01-28 19:14:07 -0800512)
513
Filip Kujawa8c76e5d2023-04-08 16:20:27 -0700514http_file(
515 name = "game_pieces_edgetpu_model",
516 downloaded_file_path = "edgetpu_model.tflite",
Filip Kujawaec433e12023-04-09 19:58:59 -0700517 sha256 = "3d37f34805d017153064076519aaf4b532658a3b8f2518bce8787f27a5c3064c",
Maxwell Henderson7a93a652023-06-24 15:17:09 -0700518 urls = ["https://software.frc971.org/Build-Dependencies/models/2023/model_edgetpu_2023.04.09_3.tflite"],
Filip Kujawa8c76e5d2023-04-08 16:20:27 -0700519)
520
Brian Silverman4aa83042018-01-05 12:47:31 -0800521# Recompressed from libusb-1.0.21.7z.
522http_file(
Brian Silverman7bda6212018-08-05 11:42:11 -0700523 name = "libusb_1_0_windows",
Austin Schuh4ac96a82019-08-14 20:24:23 -0700524 downloaded_file_path = "libusb-1.0.21-windows.tar.xz",
Brian Silverman7bda6212018-08-05 11:42:11 -0700525 sha256 = "fc2ba03992f343aabbaf9eb90559c6e00cdc6a2bd914d7cebea85857d5244015",
Maxwell Henderson7a93a652023-06-24 15:17:09 -0700526 urls = ["https://software.frc971.org/Build-Dependencies/libusb-1.0.21-windows.tar.xz"],
Brian Silverman4aa83042018-01-05 12:47:31 -0800527)
Brian Silvermand3ad1652018-02-18 22:16:29 -0500528
529# The data tarball of the same-named Debian package.
Austin Schuhf093fa52019-06-23 20:47:23 -0700530http_archive(
Brian Silvermand3ad1652018-02-18 22:16:29 -0500531 name = "f2c",
Austin Schuhf093fa52019-06-23 20:47:23 -0700532 build_file = "@//debian:f2c.BUILD",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500533 sha256 = "2c677437f8217a2e2b23e41b33995d0571644fc1bea46de858f8913a5053e3f4",
Maxwell Henderson7a93a652023-06-24 15:17:09 -0700534 url = "https://software.frc971.org/Build-Dependencies/f2c_20100827-1_amd64.xz.tar.xz",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500535)
536
537# Downloaded from http://www.netlib.org/clapack/.
Austin Schuhf093fa52019-06-23 20:47:23 -0700538http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700539 name = "clapack",
Austin Schuhf093fa52019-06-23 20:47:23 -0700540 build_file = "@//debian:clapack.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700541 sha256 = "6dc4c382164beec8aaed8fd2acc36ad24232c406eda6db462bd4c41d5e455fac",
542 strip_prefix = "CLAPACK-3.2.1/",
Maxwell Henderson7a93a652023-06-24 15:17:09 -0700543 url = "https://software.frc971.org/Build-Dependencies/clapack-3.2.1.tgz",
Brian Silverman7bda6212018-08-05 11:42:11 -0700544)
545
Austin Schuhf093fa52019-06-23 20:47:23 -0700546http_archive(
Philipp Schrader41011a12022-03-13 12:49:32 -0700547 name = "postgresql_amd64",
548 build_file = "@//debian:postgresql_amd64.BUILD",
Austin Schuhb7775c02023-06-02 18:12:02 -0700549 sha256 = "483e199d0e7feae7cca0df132c649b5c20ddcc1a17760e656c25709f44f57a65",
Maxwell Henderson7a93a652023-06-24 15:17:09 -0700550 url = "https://software.frc971.org/Build-Dependencies/postgresql_amd64_v2.tar.gz",
Philipp Schrader41011a12022-03-13 12:49:32 -0700551)
552
553http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700554 name = "patch",
Austin Schuhf093fa52019-06-23 20:47:23 -0700555 build_file = "@//debian:patch.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700556 sha256 = "b5ce139648a2e04f5585948ddad2fdae24dd4ee7976ac5a22d6ae7bd5674631e",
Maxwell Henderson7a93a652023-06-24 15:17:09 -0700557 url = "https://software.frc971.org/Build-Dependencies/patch.tar.gz",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500558)
Brian Silverman7297c0c2018-08-05 13:43:00 -0700559
Austin Schuhf093fa52019-06-23 20:47:23 -0700560http_archive(
Austin Schuh71f6fa72019-08-31 18:23:02 -0700561 name = "rsync",
562 build_file = "@//debian:rsync.BUILD",
James Kuszmaulc6ea63a2023-09-06 20:36:46 -0700563 sha256 = "75ea8ce442c94fd12c0d00eb24860ac1de5ea6af56154bb1b195a96018c9e8a2",
564 url = "https://software.frc971.org/Build-Dependencies/rsync-2023.09.06.tar.gz",
Austin Schuh71f6fa72019-08-31 18:23:02 -0700565)
566
Brian Silvermanbd7860e2020-01-05 17:52:40 -0800567# //debian:ssh
Austin Schuh71f6fa72019-08-31 18:23:02 -0700568http_archive(
569 name = "ssh",
570 build_file = "@//debian:ssh.BUILD",
James Kuszmaulc6ea63a2023-09-06 20:36:46 -0700571 sha256 = "9c4a9eefa605283486fb15a44ef9977d4a95b55c3a41c4e71cfbacd1cf20a4b5",
572 url = "https://software.frc971.org/Build-Dependencies/ssh-2023.09.06.tar.gz",
Austin Schuh71f6fa72019-08-31 18:23:02 -0700573)
574
575http_archive(
Philipp Schraderd0e33a42022-01-22 21:55:15 -0800576 name = "apache2",
577 build_file = "@//debian:apache2.BUILD",
578 sha256 = "98b0ad6d911751ba0aa486429e6278f995e7bbabd928c7d3d44c888fa2bf371b",
Maxwell Henderson7a93a652023-06-24 15:17:09 -0700579 url = "https://software.frc971.org/Build-Dependencies/apache2.tar.gz",
Philipp Schraderd0e33a42022-01-22 21:55:15 -0800580)
581
582http_archive(
Brian Silverman7297c0c2018-08-05 13:43:00 -0700583 name = "pandoc",
Austin Schuhf093fa52019-06-23 20:47:23 -0700584 build_file = "@//debian:pandoc.BUILD",
Brian Silverman7297c0c2018-08-05 13:43:00 -0700585 sha256 = "9f7a7adb3974a1f14715054c349ff3edc2909e920dbe3438fca437a83845f3c4",
Maxwell Henderson7a93a652023-06-24 15:17:09 -0700586 url = "https://software.frc971.org/Build-Dependencies/pandoc.tar.gz",
Brian Silverman7297c0c2018-08-05 13:43:00 -0700587)
Brian Silverman4f6ba442018-08-05 14:34:58 -0700588
Austin Schuhf093fa52019-06-23 20:47:23 -0700589http_archive(
Brian Silverman4f6ba442018-08-05 14:34:58 -0700590 name = "libusb",
Austin Schuhf093fa52019-06-23 20:47:23 -0700591 build_file = "@//debian:libusb.BUILD",
Brian Silverman4f6ba442018-08-05 14:34:58 -0700592 sha256 = "3ca5cc2d317226f6646866ff9e8c443db3b0f6c82f828e800240982727531590",
Maxwell Henderson7a93a652023-06-24 15:17:09 -0700593 url = "https://software.frc971.org/Build-Dependencies/libusb.tar.gz",
Brian Silverman4f6ba442018-08-05 14:34:58 -0700594)
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700595
Austin Schuhf093fa52019-06-23 20:47:23 -0700596http_archive(
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700597 name = "mingw_compiler",
Austin Schuhf093fa52019-06-23 20:47:23 -0700598 build_file = "@//debian:mingw_compiler.BUILD",
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700599 sha256 = "45e86a8460f2151a4f0306e7ae7b06761029d2412ee16f63d1e8d2d29354e378",
Maxwell Henderson7a93a652023-06-24 15:17:09 -0700600 url = "https://software.frc971.org/Build-Dependencies/mingw_compiler.tar.gz",
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700601)
Brian Silverman6470f442018-08-05 12:08:16 -0700602
Austin Schuhf093fa52019-06-23 20:47:23 -0700603http_archive(
Brian Silverman6470f442018-08-05 12:08:16 -0700604 name = "patchelf",
Austin Schuhf093fa52019-06-23 20:47:23 -0700605 build_file = "@//debian:patchelf.BUILD",
Brian Silverman6470f442018-08-05 12:08:16 -0700606 sha256 = "bf8b709909d7d9e30815dd228eeded7dc282e3ce3919d0589ccbb56ac8632abc",
Maxwell Henderson7a93a652023-06-24 15:17:09 -0700607 url = "https://software.frc971.org/Build-Dependencies/patchelf.tar.gz",
Brian Silverman6470f442018-08-05 12:08:16 -0700608)
Brian Silverman50b9ac02018-08-12 13:24:10 -0700609
Austin Schuhf093fa52019-06-23 20:47:23 -0700610http_archive(
Brian Silverman50b9ac02018-08-12 13:24:10 -0700611 name = "arm_frc_gnueabi_deps",
Austin Schuhf093fa52019-06-23 20:47:23 -0700612 build_file = "@//debian:arm_frc_gnueabi_deps.BUILD",
Brian Silverman50b9ac02018-08-12 13:24:10 -0700613 sha256 = "4b26fe45010817dc136488ee1604ade21bd7c264c29f17d864fc6eba9d7442c4",
Maxwell Henderson7a93a652023-06-24 15:17:09 -0700614 url = "https://software.frc971.org/Build-Dependencies/arm_frc_gnueabi_deps.tar.gz",
Brian Silverman50b9ac02018-08-12 13:24:10 -0700615)
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700616
Austin Schuhf093fa52019-06-23 20:47:23 -0700617http_archive(
Philipp Schraderfd5489f2022-09-17 17:31:09 -0700618 name = "gtk_runtime",
619 build_file = "@//debian:gtk_runtime.BUILD",
Philipp Schrader7520ee62022-12-10 14:04:40 -0800620 sha256 = "5a6014d1783363be6bc95843d03bbb6513e650eaea60be2b1a4c65bf21981f9b",
Maxwell Henderson7a93a652023-06-24 15:17:09 -0700621 url = "https://software.frc971.org/Build-Dependencies/gtk_runtime-4.tar.gz",
Philipp Schraderfd5489f2022-09-17 17:31:09 -0700622)
623
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700624# Downloaded from
625# https://developer.arm.com/-/media/Files/downloads/gnu-rm/7-2018q2/gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2?revision=bc2c96c0-14b5-4bb4-9f18-bceb4050fee7?product=GNU%20Arm%20Embedded%20Toolchain,64-bit,,Linux,7-2018-q2-update
Austin Schuhf093fa52019-06-23 20:47:23 -0700626http_archive(
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700627 name = "gcc_arm_none_eabi",
Austin Schuhf093fa52019-06-23 20:47:23 -0700628 build_file = "@//:compilers/gcc_arm_none_eabi.BUILD",
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700629 sha256 = "bb17109f0ee697254a5d4ae6e5e01440e3ea8f0277f2e8169bf95d07c7d5fe69",
630 strip_prefix = "gcc-arm-none-eabi-7-2018-q2-update/",
Maxwell Henderson7a93a652023-06-24 15:17:09 -0700631 url = "https://software.frc971.org/Build-Dependencies/gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2",
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700632)
Austin Schuhad596222018-01-31 23:34:03 -0800633
Tyler Chatowfba57822022-03-22 19:38:41 -0700634# Java11 JDK.
Philipp Schrader6efe5732022-02-12 15:11:13 -0800635remote_java_repository(
Austin Schuhe18baff2018-10-20 17:40:42 -0700636 name = "openjdk_linux_archive",
Philipp Schrader6efe5732022-02-12 15:11:13 -0800637 prefix = "openjdk",
Tyler Chatowfba57822022-03-22 19:38:41 -0700638 sha256 = "60e65d32e38876f81ddb623e87ac26c820465b637e263e8bed1acdecb4ca9be2",
639 strip_prefix = "zulu11.54.25-ca-jdk11.0.14.1-linux_x64",
Philipp Schrader9670a2a2023-01-11 01:20:16 -0800640 target_compatible_with = [
641 "@platforms//cpu:x86_64",
642 "@platforms//os:linux",
643 ],
Austin Schuhe18baff2018-10-20 17:40:42 -0700644 urls = [
Maxwell Henderson7a93a652023-06-24 15:17:09 -0700645 "https://software.frc971.org/Build-Dependencies/zulu11.54.25-ca-jdk11.0.14.1-linux_x64.tar.gz",
Austin Schuhe18baff2018-10-20 17:40:42 -0700646 ],
Tyler Chatowfba57822022-03-22 19:38:41 -0700647 version = "11",
648)
649
650remote_java_repository(
651 name = "openjdk_linux_archive_aarch64",
Tyler Chatowfba57822022-03-22 19:38:41 -0700652 prefix = "openjdk",
653 sha256 = "b0fb0bc303bb05b5042ef3d0939b9489f4a49a13a2d1c8f03c5d8ab23099454d",
654 strip_prefix = "zulu11.54.25-ca-jdk11.0.14.1-linux_aarch64",
Philipp Schrader9670a2a2023-01-11 01:20:16 -0800655 target_compatible_with = [
656 "@platforms//cpu:aarch64",
657 "@platforms//os:linux",
658 ],
Tyler Chatowfba57822022-03-22 19:38:41 -0700659 urls = [
Maxwell Henderson7a93a652023-06-24 15:17:09 -0700660 "https://software.frc971.org/Build-Dependencies/zulu11.54.25-ca-jdk11.0.14.1-linux_aarch64.tar.gz",
Tyler Chatowfba57822022-03-22 19:38:41 -0700661 ],
662 version = "11",
Austin Schuhe18baff2018-10-20 17:40:42 -0700663)
664
Austin Schuhf9724442018-10-28 20:30:21 -0700665local_repository(
Austin Schuh10358f22019-01-21 20:25:11 -0800666 name = "com_github_google_glog",
667 path = "third_party/google-glog",
668)
Austin Schuh6defdeb2019-01-21 21:00:30 -0800669
James Kuszmaul3aabc1c2023-01-13 21:33:43 -0800670http_archive(
Alex Perrycb7da4b2019-08-28 19:35:56 -0700671 name = "com_google_googletest",
James Kuszmaul3aabc1c2023-01-13 21:33:43 -0800672 patch_args = ["-p1"],
673 patches = ["//third_party/googletest:googletest.patch"],
674 sha256 = "5c6d595243de011f8ce8cc68050cc0490726786e80cdfd6555ebfe148d920407",
675 strip_prefix = "googletest-356fc301251378e0f6fa6aa794d73714202887ac",
676 urls = ["https://github.com/google/googletest/archive/356fc301251378e0f6fa6aa794d73714202887ac.zip"],
Alex Perrycb7da4b2019-08-28 19:35:56 -0700677)
678
Austin Schuh6defdeb2019-01-21 21:00:30 -0800679# External dependency: Google Benchmark; has no Bazel build.
James Kuszmaul38169b92023-01-13 21:17:05 -0800680http_archive(
Austin Schuh6defdeb2019-01-21 21:00:30 -0800681 name = "com_github_google_benchmark",
James Kuszmaul38169b92023-01-13 21:17:05 -0800682 patch_args = ["-p1"],
683 patches = ["//third_party/google-benchmark:benchmark.patch"],
684 sha256 = "6430e4092653380d9dc4ccb45a1e2dc9259d581f4866dc0759713126056bc1d7",
685 strip_prefix = "benchmark-1.7.1",
686 urls = ["https://github.com/google/benchmark/archive/refs/tags/v1.7.1.tar.gz"],
Austin Schuhcbc17402019-01-21 21:00:30 -0800687)
Austin Schuh033df092019-01-21 19:46:48 -0800688
689local_repository(
690 name = "com_google_ceres_solver",
691 path = "third_party/ceres",
Austin Schuh70cc9552019-01-21 19:46:48 -0800692)
Austin Schuhf6b94632019-02-02 22:11:27 -0800693
Austin Schuhf093fa52019-06-23 20:47:23 -0700694http_archive(
Maxwell Hendersonfcc0d122023-08-05 17:03:34 -0700695 name = "ctre_phoenix6_api_cpp_headers",
James Kuszmaul9776b392023-01-14 14:08:08 -0800696 build_file_content = """
697cc_library(
698 name = 'api-cpp',
699 visibility = ['//visibility:public'],
James Kuszmaulcd622d52023-11-22 20:44:04 -0800700 hdrs = glob(['ctre/phoenix6/**/*.hpp']),
James Kuszmaul9776b392023-01-14 14:08:08 -0800701 includes = ["."],
702 deps = ["@//third_party/allwpilib/wpimath"],
703)
704""",
James Kuszmaulcd622d52023-11-22 20:44:04 -0800705 sha256 = "dd2de00f2ac6be5db36bf0d280c9548ac97deb872a078f9790fbfb7f0e2251ad",
James Kuszmaul9776b392023-01-14 14:08:08 -0800706 urls = [
James Kuszmaulcd622d52023-11-22 20:44:04 -0800707 "https://maven.ctr-electronics.com/release/com/ctre/phoenix6/api-cpp/24.0.0-beta-3/api-cpp-24.0.0-beta-3-headers.zip",
James Kuszmaul9776b392023-01-14 14:08:08 -0800708 ],
709)
710
711http_archive(
Maxwell Hendersonfcc0d122023-08-05 17:03:34 -0700712 name = "ctre_phoenix6_api_cpp_athena",
James Kuszmaul9776b392023-01-14 14:08:08 -0800713 build_file_content = """
714filegroup(
715 name = 'shared_libraries',
716 srcs = [
Maxwell Hendersonfcc0d122023-08-05 17:03:34 -0700717 'linux/athena/shared/libCTRE_Phoenix6.so',
James Kuszmaul9776b392023-01-14 14:08:08 -0800718 ],
719 visibility = ['//visibility:public'],
720)
721
722cc_library(
723 name = 'api-cpp',
724 visibility = ['//visibility:public'],
Maxwell Hendersonfcc0d122023-08-05 17:03:34 -0700725 srcs = ['linux/athena/shared/libCTRE_Phoenix6.so'],
James Kuszmaul9776b392023-01-14 14:08:08 -0800726 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
727)
728""",
James Kuszmaulcd622d52023-11-22 20:44:04 -0800729 sha256 = "1f9cc3479ccb2747292522120fe9fc1c2505595ca16f8f32d4a77704e126183b",
James Kuszmaul9776b392023-01-14 14:08:08 -0800730 urls = [
James Kuszmaulcd622d52023-11-22 20:44:04 -0800731 "https://maven.ctr-electronics.com/release/com/ctre/phoenix6/api-cpp/24.0.0-beta-3/api-cpp-24.0.0-beta-3-linuxathena.zip",
James Kuszmaul9776b392023-01-14 14:08:08 -0800732 ],
733)
734
735http_archive(
Maxwell Hendersonfcc0d122023-08-05 17:03:34 -0700736 name = "ctre_phoenix6_tools_headers",
James Kuszmaul9776b392023-01-14 14:08:08 -0800737 build_file_content = """
738cc_library(
739 name = 'tools',
740 visibility = ['//visibility:public'],
741 hdrs = glob(['ctre/**/*.h', 'ctre/**/*.hpp']),
742)
743""",
James Kuszmaulcd622d52023-11-22 20:44:04 -0800744 sha256 = "2b97f575210261566468c11ced919b86245927322bd8435f14582f2da18285ac",
James Kuszmaul9776b392023-01-14 14:08:08 -0800745 urls = [
James Kuszmaulcd622d52023-11-22 20:44:04 -0800746 "https://maven.ctr-electronics.com/release/com/ctre/phoenix6/tools/24.0.0-beta-3/tools-24.0.0-beta-3-headers.zip",
James Kuszmaul9776b392023-01-14 14:08:08 -0800747 ],
748)
749
750http_archive(
Maxwell Hendersonfcc0d122023-08-05 17:03:34 -0700751 name = "ctre_phoenix6_tools_athena",
James Kuszmaul9776b392023-01-14 14:08:08 -0800752 build_file_content = """
753filegroup(
754 name = 'shared_libraries',
755 srcs = [
756 'linux/athena/shared/libCTRE_PhoenixTools.so',
757 ],
758 visibility = ['//visibility:public'],
759)
760
761cc_library(
762 name = 'tools',
763 visibility = ['//visibility:public'],
764 srcs = ['linux/athena/shared/libCTRE_PhoenixTools.so'],
765 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
766)
767""",
James Kuszmaulcd622d52023-11-22 20:44:04 -0800768 sha256 = "527ff6aa042b4e61c2d9511cc6908f9e85fb2418c20c8805ff62bffa0dc8336f",
James Kuszmaul9776b392023-01-14 14:08:08 -0800769 urls = [
James Kuszmaulcd622d52023-11-22 20:44:04 -0800770 "https://maven.ctr-electronics.com/release/com/ctre/phoenix6/tools/24.0.0-beta-3/tools-24.0.0-beta-3-linuxathena.zip",
James Kuszmaul9776b392023-01-14 14:08:08 -0800771 ],
772)
773
774http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800775 name = "ctre_phoenix_api_cpp_headers",
Austin Schuhf6b94632019-02-02 22:11:27 -0800776 build_file_content = """
777cc_library(
778 name = 'api-cpp',
779 visibility = ['//visibility:public'],
780 hdrs = glob(['ctre/phoenix/**/*.h']),
781)
782""",
James Kuszmaulcd622d52023-11-22 20:44:04 -0800783 sha256 = "d902ccd756b49e5aa152904f98fa9a31bc7508be8bf0ec7f978d16e33c760828",
Austin Schuhf6b94632019-02-02 22:11:27 -0800784 urls = [
James Kuszmaulcd622d52023-11-22 20:44:04 -0800785 "https://maven.ctr-electronics.com/release/com/ctre/phoenix/api-cpp/5.32.0-beta-1/api-cpp-5.32.0-beta-1-headers.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800786 ],
787)
788
Austin Schuhf093fa52019-06-23 20:47:23 -0700789http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800790 name = "ctre_phoenix_api_cpp_athena",
Austin Schuhf6b94632019-02-02 22:11:27 -0800791 build_file_content = """
Austin Schuhde605f12022-02-23 23:08:19 -0800792filegroup(
793 name = 'shared_libraries',
794 srcs = [
795 'linux/athena/shared/libCTRE_Phoenix.so',
796 ],
797 visibility = ['//visibility:public'],
798)
799
Austin Schuhf6b94632019-02-02 22:11:27 -0800800cc_library(
801 name = 'api-cpp',
802 visibility = ['//visibility:public'],
Austin Schuhde605f12022-02-23 23:08:19 -0800803 srcs = ['linux/athena/shared/libCTRE_Phoenix.so'],
Philipp Schraderdada1072020-11-24 11:34:46 -0800804 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
Austin Schuhf6b94632019-02-02 22:11:27 -0800805)
806""",
James Kuszmaulcd622d52023-11-22 20:44:04 -0800807 sha256 = "882741ba5cf28881425393be33f3b7d1f564995a87c614c3f3b189ac2941c2dc",
Austin Schuhf6b94632019-02-02 22:11:27 -0800808 urls = [
James Kuszmaulcd622d52023-11-22 20:44:04 -0800809 "https://maven.ctr-electronics.com/release/com/ctre/phoenix/api-cpp/5.32.0-beta-1/api-cpp-5.32.0-beta-1-linuxathena.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800810 ],
811)
812
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800813http_archive(
814 name = "ctre_phoenix_cci_headers",
Austin Schuhf6b94632019-02-02 22:11:27 -0800815 build_file_content = """
816cc_library(
817 name = 'cci',
818 visibility = ['//visibility:public'],
819 hdrs = glob(['ctre/phoenix/**/*.h']),
820)
821""",
James Kuszmaulcd622d52023-11-22 20:44:04 -0800822 sha256 = "e751e319ebcc337d8ab538027fb424cda03e1a80e10c94de07c980e8a0ec0bee",
Austin Schuhf6b94632019-02-02 22:11:27 -0800823 urls = [
James Kuszmaulcd622d52023-11-22 20:44:04 -0800824 "https://maven.ctr-electronics.com/release/com/ctre/phoenix/cci/5.32.0-beta-1/cci-5.32.0-beta-1-headers.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800825 ],
826)
827
Austin Schuhf093fa52019-06-23 20:47:23 -0700828http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800829 name = "ctre_phoenix_cci_athena",
Austin Schuhf6b94632019-02-02 22:11:27 -0800830 build_file_content = """
Austin Schuhde605f12022-02-23 23:08:19 -0800831filegroup(
832 name = 'shared_libraries',
833 srcs = [
834 'linux/athena/shared/libCTRE_PhoenixCCI.so',
835 ],
836 visibility = ['//visibility:public'],
837)
838
Austin Schuhf6b94632019-02-02 22:11:27 -0800839cc_library(
840 name = 'cci',
841 visibility = ['//visibility:public'],
Austin Schuhde605f12022-02-23 23:08:19 -0800842 srcs = ['linux/athena/shared/libCTRE_PhoenixCCI.so'],
Philipp Schraderdada1072020-11-24 11:34:46 -0800843 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
Austin Schuhf6b94632019-02-02 22:11:27 -0800844)
845""",
James Kuszmaulcd622d52023-11-22 20:44:04 -0800846 sha256 = "b9c23b25ebeec0acb4063424ee7685b9e1ddecd3b31c84c353342d22228e33b5",
Austin Schuhf6b94632019-02-02 22:11:27 -0800847 urls = [
James Kuszmaulcd622d52023-11-22 20:44:04 -0800848 "https://maven.ctr-electronics.com/release/com/ctre/phoenix/cci/5.32.0-beta-1/cci-5.32.0-beta-1-linuxathena.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800849 ],
850)
Austin Schuheed14442019-03-23 14:42:46 -0700851
852http_archive(
Philipp Schrader175a93c2023-02-19 13:13:40 -0800853 name = "aspect_rules_js",
854 sha256 = "9fadde0ae6e0101755b8aedabf7d80b166491a8de297c60f6a5179cd0d0fea58",
855 strip_prefix = "rules_js-1.20.0",
856 url = "https://github.com/aspect-build/rules_js/releases/download/v1.20.0/rules_js-v1.20.0.tar.gz",
Austin Schuhda9d0602019-09-15 17:29:38 -0700857)
Austin Schuheed14442019-03-23 14:42:46 -0700858
Philipp Schrader175a93c2023-02-19 13:13:40 -0800859load("@aspect_rules_js//npm:npm_import.bzl", "npm_translate_lock", "pnpm_repository")
Austin Schuheed14442019-03-23 14:42:46 -0700860
Philipp Schrader175a93c2023-02-19 13:13:40 -0800861pnpm_repository(name = "pnpm")
Austin Schuheed14442019-03-23 14:42:46 -0700862
Philipp Schrader175a93c2023-02-19 13:13:40 -0800863load("@aspect_rules_js//js:repositories.bzl", "rules_js_dependencies")
Philipp Schrader87277f42022-01-01 07:45:12 -0800864
Philipp Schrader175a93c2023-02-19 13:13:40 -0800865rules_js_dependencies()
Philipp Schrader54047962022-02-16 21:05:11 -0800866
Alex Perryb3168082022-01-22 13:36:13 -0800867http_archive(
Philipp Schrader175a93c2023-02-19 13:13:40 -0800868 name = "aspect_rules_esbuild",
869 sha256 = "b98cde83e9e6a006d8300e88e2f09da56b5a6c18166465a224cfe36bdcbc03e0",
870 strip_prefix = "aspect-build-rules_esbuild-110b94c",
871 type = "tar.gz",
872 url = "https://github.com/aspect-build/rules_esbuild/tarball/110b94c7f16f328a0eab8aa0b862030055b86564",
873)
874
875load("@aspect_rules_esbuild//esbuild:dependencies.bzl", "rules_esbuild_dependencies")
876
877rules_esbuild_dependencies()
878
879load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
880
881nodejs_register_toolchains(
882 name = "nodejs",
883 node_version = DEFAULT_NODE_VERSION,
884)
885
886npm_translate_lock(
887 name = "npm",
888 data = [
889 "@//:package.json",
890 "@//:pnpm-workspace.yaml",
891 "@//scouting/www:package.json",
892 "@//scouting/www/counter_button:package.json",
893 "@//scouting/www/driver_ranking:package.json",
894 "@//scouting/www/entry:package.json",
Philipp Schrader175a93c2023-02-19 13:13:40 -0800895 "@//scouting/www/match_list:package.json",
896 "@//scouting/www/notes:package.json",
897 "@//scouting/www/rpc:package.json",
898 "@//scouting/www/shift_schedule:package.json",
899 "@//scouting/www/view:package.json",
Philipp Schrader54047962022-02-16 21:05:11 -0800900 ],
Philipp Schrader175a93c2023-02-19 13:13:40 -0800901
902 # Running lifecycle hooks on npm package fsevents@2.3.2 fails in a dramatic way:
903 # ```
904 # SyntaxError: Unexpected strict mode reserved word
905 # at ESMLoader.moduleStrategy (node:internal/modules/esm/translators:117:18)
906 # at ESMLoader.moduleProvider (node:internal/modules/esm/loader:337:14)
907 # at async link (node:internal/modules/esm/module_job:70:21)
908 # ```
909 lifecycle_hooks_no_sandbox = False,
910 npmrc = "@//:.npmrc",
911 pnpm_lock = "//:pnpm-lock.yaml",
912 quiet = False,
913 update_pnpm_lock = False,
914 verify_node_modules_ignored = "//:.bazelignore",
915)
916
917load("@aspect_rules_esbuild//esbuild:repositories.bzl", "esbuild_register_toolchains", LATEST_ESBUILD_VERSION = "LATEST_VERSION")
918
919esbuild_register_toolchains(
920 name = "esbuild",
921 esbuild_version = LATEST_ESBUILD_VERSION,
922)
923
924http_archive(
925 name = "aspect_rules_rollup",
926 patch_args = [
927 "-p1",
928 ],
929 patches = [
930 "//third_party:rules_rollup/0001-Fix-resolving-files.patch",
931 ],
932 sha256 = "4c43d20ce377b93cd43a3553e6159a17b85ce80c36a564b55051c2320d32b777",
933 strip_prefix = "rules_rollup-0.13.1",
934 url = "https://github.com/aspect-build/rules_rollup/releases/download/v0.13.1/rules_rollup-v0.13.1.tar.gz",
935)
936
937load("@aspect_rules_rollup//rollup:dependencies.bzl", "rules_rollup_dependencies")
938
939# Fetches the rules_rollup dependencies.
940# If you want to have a different version of some dependency,
941# you should fetch it *before* calling this.
942# Alternatively, you can skip calling this function, so long as you've
943# already fetched all the dependencies.
944rules_rollup_dependencies()
945
946load("@aspect_rules_rollup//rollup:repositories.bzl", "rollup_repositories")
947
948rollup_repositories(name = "rollup")
949
950load("@rollup//:npm_repositories.bzl", rollup_npm_repositories = "npm_repositories")
951
952rollup_npm_repositories()
953
954http_archive(
955 name = "aspect_rules_terser",
956 sha256 = "918e7ac036eca1402cae4d4ddba75ecdcdd886ac35bc0624d9f1ebc7527e369b",
957 strip_prefix = "rules_terser-0.13.0",
958 url = "https://github.com/aspect-build/rules_terser/archive/refs/tags/v0.13.0.tar.gz",
959)
960
961load("@aspect_rules_terser//terser:dependencies.bzl", "rules_terser_dependencies")
962
963rules_terser_dependencies()
964
965# Fetch and register a nodejs interpreter, if you haven't already
966
967nodejs_register_toolchains(
968 name = "node",
969 node_version = DEFAULT_NODE_VERSION,
970)
971
972# Fetch and register the terser tool
973load("@aspect_rules_terser//terser:repositories.bzl", "terser_repositories")
974
975terser_repositories(name = "terser")
976
977load("@terser//:npm_repositories.bzl", terser_npm_repositories = "npm_repositories")
978
979terser_npm_repositories()
980
981http_archive(
982 name = "aspect_rules_ts",
983 sha256 = "db77d904284d21121ae63dbaaadfd8c75ff6d21ad229f92038b415c1ad5019cc",
984 strip_prefix = "rules_ts-1.3.0",
985 url = "https://github.com/aspect-build/rules_ts/releases/download/v1.3.0/rules_ts-v1.3.0.tar.gz",
986)
987
988load("@aspect_rules_ts//ts:repositories.bzl", "rules_ts_dependencies")
989
990rules_ts_dependencies(ts_version_from = "//:package.json")
991
992load("@npm//:repositories.bzl", "npm_repositories")
993
994npm_repositories()
995
996http_archive(
997 name = "aspect_rules_cypress",
998 sha256 = "06d70a2960108607d2e70f9bc6863af6b82317fdfcf7a5a30fd226a5abc46782",
999 strip_prefix = "aspect-build-rules_cypress-3db1b74",
1000 type = "tar.gz",
1001 urls = [
1002 "https://github.com/aspect-build/rules_cypress/tarball/3db1b74818ac4ce1b9d489a6e0065b36c1076761",
1003 ],
1004)
1005
1006load("@aspect_rules_cypress//cypress:dependencies.bzl", "rules_cypress_dependencies")
1007load("@aspect_rules_cypress//cypress:repositories.bzl", "cypress_register_toolchains")
1008
1009rules_cypress_dependencies()
1010
1011cypress_register_toolchains(
1012 name = "cypress",
1013 cypress_version = "12.3.0",
1014)
1015
1016# Copied from:
1017# https://github.com/aspect-build/rules_cypress/blob/3db1b74818ac4ce1b9d489a6e0065b36c1076761/internal_deps.bzl#L47
1018#
1019# To update CHROME_REVISION, use the below script
1020#
1021# LASTCHANGE_URL="https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Linux_x64%2FLAST_CHANGE?alt=media"
1022# CHROME_REVISION=$(curl -s -S $LASTCHANGE_URL)
1023# echo "latest CHROME_REVISION_LINUX is $CHROME_REVISION"
1024CHROME_REVISION_LINUX = "1072361"
1025
1026http_archive(
1027 name = "chrome_linux",
1028 build_file_content = """filegroup(
1029name = "all",
1030srcs = glob(["**"]),
1031visibility = ["//visibility:public"],
1032)""",
1033 sha256 = "0df22f743facd1e090eff9b7f8d8bdc293fb4dc31ce9156d2ef19b515974a72b",
1034 strip_prefix = "chrome-linux",
1035 urls = [
1036 "https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Linux_x64%2F" + CHROME_REVISION_LINUX + "%2Fchrome-linux.zip?alt=media",
1037 ],
Alex Perryb3168082022-01-22 13:36:13 -08001038)
1039
Brian Silvermane84b0cf2022-08-13 19:36:21 -07001040http_archive(
1041 name = "rules_rust_tinyjson",
1042 build_file = "@rules_rust//util/process_wrapper:BUILD.tinyjson.bazel",
1043 sha256 = "1a8304da9f9370f6a6f9020b7903b044aa9ce3470f300a1fba5bc77c78145a16",
1044 strip_prefix = "tinyjson-2.3.0",
1045 type = "tar.gz",
1046 url = "https://crates.io/api/v1/crates/tinyjson/2.3.0/download",
1047)
1048
Adam Snaider770b97b2023-08-04 21:07:48 -07001049# Flatbuffers
1050local_repository(
1051 name = "com_github_google_flatbuffers",
1052 path = "third_party/flatbuffers",
1053)
1054
Brian Silverman01dfd872022-04-06 22:20:40 -07001055local_repository(
Ravago Jones16809802021-11-18 20:40:03 -08001056 name = "rules_rust",
Brian Silverman01dfd872022-04-06 22:20:40 -07001057 path = "third_party/rules_rust",
Ravago Jones16809802021-11-18 20:40:03 -08001058)
1059
Adam Snaiderb8097452023-07-10 23:18:26 -04001060load("@rules_rust//rust:repositories.bzl", "rust_analyzer_toolchain_repository", "rust_repository_set")
1061
1062RUST_VERSION = "1.70.0"
Ravago Jones16809802021-11-18 20:40:03 -08001063
Brian Silvermane84b0cf2022-08-13 19:36:21 -07001064rust_repository_set(
Ravago Jones16809802021-11-18 20:40:03 -08001065 name = "rust",
Brian Silverman8751d482022-05-18 23:28:44 -07001066 allocator_library = "@//tools/rust:forward_allocator",
Ravago Jones16809802021-11-18 20:40:03 -08001067 edition = "2021",
1068 exec_triple = "x86_64-unknown-linux-gnu",
1069 extra_target_triples = [
1070 "arm-unknown-linux-gnueabi",
1071 "armv7-unknown-linux-gnueabihf",
Philipp Schraderf1bbf342022-02-05 14:30:15 -08001072 "aarch64-unknown-linux-gnu",
Ravago Jones16809802021-11-18 20:40:03 -08001073 ],
Brian Silvermane84b0cf2022-08-13 19:36:21 -07001074 register_toolchain = False,
Adam Snaiderb8097452023-07-10 23:18:26 -04001075 rustfmt_version = RUST_VERSION,
1076 versions = [RUST_VERSION],
Ravago Jones16809802021-11-18 20:40:03 -08001077)
1078
Adam Snaider770b97b2023-08-04 21:07:48 -07001079load("@rules_rust//crate_universe:repositories.bzl", "crate_universe_dependencies")
1080
1081crate_universe_dependencies()
1082
1083load("@rules_rust//crate_universe:defs.bzl", "crate", "crates_repository")
1084
1085# Run `CARGO_BAZEL_REPIN=1 bazel sync --only=crate_index` to update the lock file
1086# after adding or removing any dependencies.
1087crates_repository(
1088 name = "crate_index",
1089 annotations = {
1090 "link-cplusplus": [
1091 # Bazel toolchains take care of linking the C++ standard library, so don't add
1092 # an extra flag via Rust by enabling the `nothing` feature. I'm not even sure
1093 # it would end up on the link command line, but this crate's build.rs attempts
1094 # to find a C++ compiler itself otherwise which definitely doesn't work.
1095 crate.annotation(
1096 crate_features = ["nothing"],
1097 ),
1098 ],
1099 "cxx": [
1100 crate.annotation(
1101 additive_build_file = "@//third_party/cargo:cxx/include.BUILD.bazel",
1102 extra_aliased_targets = ["cxx_cc"],
1103 gen_build_script = False,
1104 ),
1105 ],
1106 "log": [
1107 crate.annotation(
1108 rustc_flags = ["--cfg=atomic_cas"],
1109 ),
1110 ],
1111 },
1112 cargo_lockfile = "//:Cargo.lock",
1113 generator_sha256s = {"x86_64-unknown-linux-gnu": "1987a00e7ae12c705fa010b340410230ae8a47d7d95c02900191968b2e745649"},
1114 generator_urls = {
1115 "x86_64-unknown-linux-gnu": "https://software.frc971.org/Build-Dependencies/cargo-bazel-x86_64-unknown-linux-gnu",
1116 },
1117 lockfile = "//:Cargo.Bazel.lock",
1118 manifests = [
1119 "//:Cargo.toml",
1120 "//third_party/autocxx:Cargo.toml",
1121 "//third_party/autocxx:engine/Cargo.toml",
1122 "//third_party/autocxx:parser/Cargo.toml",
1123 "//third_party/autocxx:gen/cmd/Cargo.toml",
1124 "//third_party/autocxx:macro/Cargo.toml",
1125 "//third_party/autocxx:integration-tests/Cargo.toml",
1126 "@com_github_google_flatbuffers//rust:flatbuffers/Cargo.toml",
1127 ],
1128 rust_toolchain_cargo_template = "@rust__{triple}__{channel}_tools//:bin/{tool}",
1129 rust_toolchain_rustc_template = "@rust__{triple}__{channel}_tools//:bin/{tool}",
Adam Snaiderb8097452023-07-10 23:18:26 -04001130 rust_version = RUST_VERSION,
Adam Snaider770b97b2023-08-04 21:07:48 -07001131 supported_platform_triples = [
1132 "x86_64-unknown-linux-gnu",
1133 "arm-unknown-linux-gnueabi",
1134 "armv7-unknown-linux-gnueabihf",
1135 "aarch64-unknown-linux-gnu",
1136 ],
Austin Schuh4ac96a82019-08-14 20:24:23 -07001137)
James Kuszmaul7daef362019-12-31 18:28:17 -08001138
Adam Snaider770b97b2023-08-04 21:07:48 -07001139load("@crate_index//:defs.bzl", "crate_repositories")
1140
1141crate_repositories()
1142
Adam Snaiderb8097452023-07-10 23:18:26 -04001143load("@rules_rust//tools/rust_analyzer:deps.bzl", "rust_analyzer_dependencies")
1144
1145rust_analyzer_dependencies()
1146
1147register_toolchains(rust_analyzer_toolchain_repository(
1148 name = "rust_analyzer_toolchain",
1149 version = RUST_VERSION,
1150))
1151
Adam Snaider770b97b2023-08-04 21:07:48 -07001152http_archive(
1153 name = "cxxbridge-cmd",
1154 build_file = "//third_party/cargo:cxxbridge-cmd/include.BUILD.bazel",
1155 sha256 = "df13eece12ed9e7bd4fb071a6af4c44421bb9024d339d029f5333bcdaca00000",
1156 strip_prefix = "cxxbridge-cmd-1.0.100",
1157 type = "tar.gz",
1158 urls = ["https://crates.io/api/v1/crates/cxxbridge-cmd/1.0.100/download"],
1159)
1160
1161crates_repository(
1162 name = "cxxbridge_cmd_deps",
1163 cargo_lockfile = "//third_party/cargo:cxxbridge-cmd/Cargo.lock",
1164 generator_sha256s = {"x86_64-unknown-linux-gnu": "1987a00e7ae12c705fa010b340410230ae8a47d7d95c02900191968b2e745649"},
1165 generator_urls = {
1166 "x86_64-unknown-linux-gnu": "https://software.frc971.org/Build-Dependencies/cargo-bazel-x86_64-unknown-linux-gnu",
1167 },
1168 lockfile = "//third_party/cargo:cxxbridge-cmd/Cargo.Bazel.lock",
1169 manifests = ["@cxxbridge-cmd//:Cargo.toml"],
1170 rust_toolchain_cargo_template = "@rust__{triple}__{channel}_tools//:bin/{tool}",
1171 rust_toolchain_rustc_template = "@rust__{triple}__{channel}_tools//:bin/{tool}",
1172 rust_version = "1.70.0",
1173 supported_platform_triples = [
1174 "x86_64-unknown-linux-gnu",
1175 "arm-unknown-linux-gnueabi",
1176 "armv7-unknown-linux-gnueabihf",
1177 "aarch64-unknown-linux-gnu",
1178 ],
1179)
1180
1181load("@cxxbridge_cmd_deps//:defs.bzl", cxxbridge_cmd_deps = "crate_repositories")
1182
1183cxxbridge_cmd_deps()
1184
James Kuszmaul7daef362019-12-31 18:28:17 -08001185http_file(
1186 name = "sample_logfile",
1187 downloaded_file_path = "log.fbs",
milind945708b2021-07-03 13:30:15 -07001188 sha256 = "45d1d19fb82786c476d3f21a8d62742abaeeedf4c16a00ec37ae350dcb61f1fc",
Maxwell Henderson7a93a652023-06-24 15:17:09 -07001189 urls = ["https://software.frc971.org/Build-Dependencies/small_sample_logfile2.fbs"],
James Kuszmaul7daef362019-12-31 18:28:17 -08001190)
Brian Silvermand4260c72020-01-14 00:08:02 -08001191
James Kuszmaul9c128122021-03-22 22:24:36 -07001192http_archive(
James Kuszmaul531609d2020-02-18 17:12:23 -08001193 name = "drivetrain_replay",
James Kuszmaul9c128122021-03-22 22:24:36 -07001194 build_file_content = """
1195filegroup(
1196 name = "drivetrain_replay",
1197 srcs = glob(["**/*.bfbs"]),
1198 visibility = ["//visibility:public"],
1199)
1200 """,
1201 sha256 = "115dcd2fe005cb9cad3325707aa7f4466390c43a08555edf331c06c108bdf692",
Maxwell Henderson7a93a652023-06-24 15:17:09 -07001202 url = "https://software.frc971.org/Build-Dependencies/2021-03-20_drivetrain_spin_wheels.tar.gz",
James Kuszmaul531609d2020-02-18 17:12:23 -08001203)
1204
milind-u7baf7342021-08-25 18:31:26 -07001205http_archive(
1206 name = "superstructure_replay",
1207 build_file_content = """
1208filegroup(
1209 name = "superstructure_replay",
1210 srcs = glob(["**/*.bfbs"]),
1211 visibility = ["//visibility:public"],
1212)
1213 """,
milind-u200b2762021-11-06 19:36:15 -07001214 sha256 = "2b9a3ecc83f2aba89a1909ae38fe51e6718a5b4d0e7c131846dfb2845df9cd19",
Maxwell Henderson7a93a652023-06-24 15:17:09 -07001215 url = "https://software.frc971.org/Build-Dependencies/2021-10-03_superstructure_shoot_balls.tar.gz",
milind-u7baf7342021-08-25 18:31:26 -07001216)
1217
Philipp Schraderf1bbf342022-02-05 14:30:15 -08001218# OpenCV arm64 (for raspberry pi)
1219http_archive(
1220 name = "opencv_arm64",
1221 build_file = "@//debian:opencv.BUILD",
1222 sha256 = "d284fae46ca710cf24c81ff7ace34929773466bff38f365a80371bea3b36a2ed",
Maxwell Henderson7a93a652023-06-24 15:17:09 -07001223 url = "https://software.frc971.org/Build-Dependencies/opencv_arm64.tar.gz",
Philipp Schraderf1bbf342022-02-05 14:30:15 -08001224)
1225
Brian Silvermand97a47c2020-01-16 00:47:53 -08001226http_archive(
1227 name = "opencv_k8",
1228 build_file = "@//debian:opencv.BUILD",
Austin Schuhb7775c02023-06-02 18:12:02 -07001229 sha256 = "1d8f839fd135a700ca0576a503b15b0a198fef5b36f22efae5cae9eaa17935d1",
Maxwell Henderson7a93a652023-06-24 15:17:09 -07001230 url = "https://software.frc971.org/Build-Dependencies/opencv_amd64_v4.tar.gz",
Brian Silvermand97a47c2020-01-16 00:47:53 -08001231)
Brian Silverman764945b2020-01-16 23:40:43 -08001232
Brian Silverman764945b2020-01-16 23:40:43 -08001233http_archive(
1234 name = "halide_k8",
1235 build_file = "@//debian:halide.BUILD",
Austin Schuh669068e2023-01-04 20:50:34 -08001236 sha256 = "be3bdd067acb9ee0d37d0830821113cd69174bee46da466a836d8829fef7cf91",
1237 strip_prefix = "Halide-14.0.0-x86-64-linux/",
1238 url = "https://github.com/halide/Halide/releases/download/v14.0.0/Halide-14.0.0-x86-64-linux-6b9ed2afd1d6d0badf04986602c943e287d44e46.tar.gz",
Brian Silverman764945b2020-01-16 23:40:43 -08001239)
1240
Philipp Schraderf1bbf342022-02-05 14:30:15 -08001241http_archive(
1242 name = "halide_arm64",
1243 build_file = "@//debian:halide.BUILD",
Austin Schuh669068e2023-01-04 20:50:34 -08001244 sha256 = "cdd42411bcbba682f73d7db0af69837c4857ee90f1727c6feb37fc9a98132385",
1245 strip_prefix = "Halide-14.0.0-arm-64-linux/",
1246 url = "https://github.com/halide/Halide/releases/download/v14.0.0/Halide-14.0.0-arm-64-linux-6b9ed2afd1d6d0badf04986602c943e287d44e46.tar.gz",
Philipp Schraderf1bbf342022-02-05 14:30:15 -08001247)
1248
Brian Silverman764945b2020-01-16 23:40:43 -08001249http_archive(
Tyler Chatow60671d32020-02-26 19:49:30 -08001250 name = "gstreamer_k8",
1251 build_file = "@//debian:gstreamer.BUILD",
Austin Schuhb7775c02023-06-02 18:12:02 -07001252 sha256 = "09765cb1dd8abc643cb1dd91d536aef3e6604ff05f5f92898d508ed857455d0b",
Maxwell Henderson7a93a652023-06-24 15:17:09 -07001253 url = "https://software.frc971.org/Build-Dependencies/gstreamer_1.20.1-1~bpo11+1_amd64_v2.tar.gz",
Tyler Chatow60671d32020-02-26 19:49:30 -08001254)
1255
1256http_archive(
Tyler Chatow6eda82c2022-03-27 22:37:38 -07001257 name = "gstreamer_arm64",
1258 build_file = "@//debian:gstreamer.BUILD",
1259 sha256 = "42b414c565ffdbae3d2d7796a66da9de42a650de757fa6554fd624f0cc3aaa9b",
Maxwell Henderson7a93a652023-06-24 15:17:09 -07001260 url = "https://software.frc971.org/Build-Dependencies/gstreamer_1.20.1-1~bpo11+1_arm64.tar.gz",
Tyler Chatow6eda82c2022-03-27 22:37:38 -07001261)
1262
Brian Silvermanf59fe3f2020-09-22 21:04:09 -07001263# //debian:lzma_amd64
1264http_archive(
1265 name = "lzma_amd64",
1266 build_file_content = """
1267cc_library(
1268 name = "lib",
1269 srcs = [
1270 "usr/lib/x86_64-linux-gnu/liblzma.a",
1271 ],
1272 hdrs = glob([
1273 "usr/include/lzma/*.h",
1274 "usr/include/*.h",
1275 ]),
1276 strip_include_prefix = "usr/include",
1277 visibility = ["//visibility:public"],
1278)
1279""",
Austin Schuhe6751772022-06-27 00:58:26 -07001280 sha256 = "6fa0ad579b78bd41a0133024c34063b140442dd2ad4201fd2bf4c55229e7c13f",
Maxwell Henderson7a93a652023-06-24 15:17:09 -07001281 urls = ["https://software.frc971.org/Build-Dependencies/lzma_amd64-2.tar.gz"],
Brian Silvermanf59fe3f2020-09-22 21:04:09 -07001282)
1283
1284# //debian:lzma_arm64
1285http_archive(
1286 name = "lzma_arm64",
1287 build_file_content = """
1288cc_library(
1289 name = "lib",
1290 srcs = [
1291 "usr/lib/aarch64-linux-gnu/liblzma.a",
1292 ],
1293 hdrs = glob([
1294 "usr/include/lzma/*.h",
1295 "usr/include/*.h",
1296 ]),
1297 strip_include_prefix = "usr/include",
1298 visibility = ["//visibility:public"],
1299)
1300""",
Austin Schuhc020b182022-06-29 19:54:01 -07001301 sha256 = "b4ab9fd7cf3bfdb9e3fc67ac4a3c84db7f7e3c48431ccfc6e6e210f5829d17c9",
Maxwell Henderson7a93a652023-06-24 15:17:09 -07001302 urls = ["https://software.frc971.org/Build-Dependencies/lzma_arm64-2.tar.gz"],
Brian Silvermanf59fe3f2020-09-22 21:04:09 -07001303)
James Kuszmaul2cffe852021-10-27 20:17:49 -07001304
1305local_repository(
1306 name = "snappy",
1307 path = "third_party/snappy",
1308)
Philipp Schrader73e56602021-12-06 21:37:30 -08001309
1310http_archive(
1311 name = "io_bazel_rules_go",
Philipp Schrader039f5c32022-01-20 22:30:01 -08001312 patch_args = [
1313 "-p1",
1314 ],
1315 patches = [
1316 "@//third_party:rules_go/0001-Disable-warnings-for-external-repositories.patch",
1317 ],
Philipp Schrader35bb1532023-03-05 13:49:12 -08001318 sha256 = "dd926a88a564a9246713a9c00b35315f54cbd46b31a26d5d8fb264c07045f05d",
Philipp Schrader73e56602021-12-06 21:37:30 -08001319 urls = [
Philipp Schrader35bb1532023-03-05 13:49:12 -08001320 "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.38.1/rules_go-v0.38.1.zip",
1321 "https://github.com/bazelbuild/rules_go/releases/download/v0.38.1/rules_go-v0.38.1.zip",
Philipp Schrader73e56602021-12-06 21:37:30 -08001322 ],
1323)
1324
Philipp Schrader37fdbb62021-12-18 00:30:37 -08001325http_archive(
1326 name = "bazel_gazelle",
Philipp Schrader35bb1532023-03-05 13:49:12 -08001327 patch_args = [
1328 "-p1",
1329 ],
1330 patches = [
1331 "@//third_party:bazel-gazelle/0001-Fix-visibility-of-gazelle-runner.patch",
1332 ],
1333 sha256 = "ecba0f04f96b4960a5b250c8e8eeec42281035970aa8852dda73098274d14a1d",
Philipp Schrader37fdbb62021-12-18 00:30:37 -08001334 urls = [
Philipp Schrader35bb1532023-03-05 13:49:12 -08001335 "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.29.0/bazel-gazelle-v0.29.0.tar.gz",
1336 "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.29.0/bazel-gazelle-v0.29.0.tar.gz",
Philipp Schrader37fdbb62021-12-18 00:30:37 -08001337 ],
1338)
1339
Philipp Schrader73e56602021-12-06 21:37:30 -08001340load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
1341
1342go_rules_dependencies()
1343
Philipp Schrader35bb1532023-03-05 13:49:12 -08001344go_register_toolchains(version = "1.19.5")
Philipp Schrader37fdbb62021-12-18 00:30:37 -08001345
1346load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
1347load("//:go_deps.bzl", "go_dependencies")
1348load("//tools/go:mirrored_go_deps.bzl", "mirrored_go_dependencies")
1349
1350mirrored_go_dependencies()
1351
1352# gazelle:repository_macro go_deps.bzl%go_dependencies
1353go_dependencies()
1354
1355gazelle_dependencies()
Philipp Schradercc016b32021-12-30 08:59:58 -08001356
1357http_archive(
Adam Snaider13d48d92023-08-03 12:20:15 -07001358 name = "com_google_protobuf",
1359 sha256 = "ace0abf35274ee0f08d5564635505ed55a0bc346a6534413d3c5b040fc926332",
1360 strip_prefix = "protobuf-24.3",
1361 url = "https://github.com/protocolbuffers/protobuf/archive/refs/tags/v24.3.zip",
1362)
1363
1364http_archive(
1365 name = "com_github_grpc_grpc",
1366 patch_args = ["-p1"],
1367 patches = ["//debian:grpc.patch"],
1368 sha256 = "a3a65f0129c4922c5d7f4c11dcd40083a12ca54076fd3a927bcd63c53b7e44a5",
1369 strip_prefix = "grpc-1.59.2",
1370 url = "https://github.com/grpc/grpc/archive/refs/tags/v1.59.2.tar.gz",
1371)
1372
1373load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")
1374
1375grpc_deps()
1376
1377load("@com_github_grpc_grpc//bazel:grpc_extra_deps.bzl", "grpc_extra_deps")
1378
1379grpc_extra_deps()
1380
1381http_archive(
Philipp Schradercc016b32021-12-30 08:59:58 -08001382 name = "com_github_bazelbuild_buildtools",
1383 sha256 = "44a6e5acc007e197d45ac3326e7f993f0160af9a58e8777ca7701e00501c0857",
1384 strip_prefix = "buildtools-4.2.4",
1385 urls = [
1386 "https://github.com/bazelbuild/buildtools/archive/refs/tags/4.2.4.tar.gz",
1387 ],
1388)
Philipp Schrader0f5d2502022-03-08 22:44:55 -08001389
1390http_archive(
Tyler Chatowec100e22022-03-22 16:23:04 -07001391 name = "libtinfo5_amd64",
Tyler Chatow8a51ac62022-03-15 13:23:12 -07001392 build_file_content = """
1393exports_files(
1394 [
1395 'lib/x86_64-linux-gnu/libtinfo.so.5',
1396 'lib/x86_64-linux-gnu/libtinfo.so.5.9',
1397 ],
1398 ["//visibility:public"],
1399)
1400""",
1401 patch_cmds = ["touch lib/x86_64-linux-gnu/BUILD"],
1402 sha256 = "059e14f77dce365c57b96284aae98c892f61e269b3fbb7d07714b7135c2e5617",
Maxwell Henderson7a93a652023-06-24 15:17:09 -07001403 urls = ["https://software.frc971.org/Build-Dependencies/libtinfo5_amd64.tar.gz"],
Tyler Chatow8a51ac62022-03-15 13:23:12 -07001404)
Tyler Chatowec100e22022-03-22 16:23:04 -07001405
1406http_archive(
1407 name = "libtinfo5_arm64",
1408 build_file_content = """
1409exports_files(
1410 [
1411 'lib/aarch64-linux-gnu/libtinfo.so.5',
1412 'lib/aarch64-linux-gnu/libtinfo.so.5.9',
1413 ],
1414 ["//visibility:public"],
1415)
1416""",
1417 patch_cmds = ["touch lib/aarch64-linux-gnu/BUILD"],
1418 sha256 = "df4ea5194c80df8d1f5f6ed68b47ce9dbf78aa8cdebbc61cf00654d9075f8e3c",
Maxwell Henderson7a93a652023-06-24 15:17:09 -07001419 urls = ["https://software.frc971.org/Build-Dependencies/libtinfo5_arm64.tar.gz"],
Tyler Chatowec100e22022-03-22 16:23:04 -07001420)
James Kuszmaul4ed5fb12022-03-22 15:20:04 -07001421
Philipp Schraderf60e7d72023-02-19 17:07:22 -08001422http_archive(
1423 name = "xvfb_amd64",
1424 build_file = "//third_party:xvfb/xvfb.BUILD",
1425 patch_cmds = [
1426 "unlink usr/bin/X11",
1427 ],
1428 sha256 = "a7491bf6c47ed0037992fa493f9c25af3ab00a695d706e1fdc122a8b798c0d7c",
Maxwell Henderson7a93a652023-06-24 15:17:09 -07001429 urls = ["https://software.frc971.org/Build-Dependencies/xvfb_amd64.tar.gz"],
Philipp Schraderf60e7d72023-02-19 17:07:22 -08001430)
1431
Austin Schuh86110712022-09-16 15:40:54 -07001432# https://curl.haxx.se/download/curl-7.69.1.tar.gz
1433http_archive(
1434 name = "com_github_curl_curl",
1435 build_file = "//debian:curl.BUILD",
1436 sha256 = "01ae0c123dee45b01bbaef94c0bc00ed2aec89cb2ee0fd598e0d302a6b5e0a98",
1437 strip_prefix = "curl-7.69.1",
Maxwell Henderson7a93a652023-06-24 15:17:09 -07001438 url = "https://software.frc971.org/Build-Dependencies/curl-7.69.1.tar.gz",
Austin Schuh86110712022-09-16 15:40:54 -07001439)
1440
1441http_archive(
1442 # No official name exists. Names used in our external dependencies include
1443 # zlib, madler_zlib, com_github_madler_zlib.
1444 name = "zlib",
1445 build_file = "//debian:BUILD.zlib.bazel",
1446 sha256 = "629380c90a77b964d896ed37163f5c3a34f6e6d897311f1df2a7016355c45eff",
1447 strip_prefix = "zlib-1.2.11",
1448 urls = [
1449 "https://github.com/madler/zlib/archive/v1.2.11.tar.gz",
1450 ],
1451)
1452
1453# This one is tricky to get an archive because it has recursive submodules. These semi-automated steps do work though:
James Kuszmaulb0931ac2023-01-24 14:23:13 -08001454# git clone -b 1.10.34 --recurse-submodules --depth=1 https://github.com/aws/aws-sdk-cpp
Austin Schuh86110712022-09-16 15:40:54 -07001455# cd aws-sdk-cpp
1456# echo bsdtar -a -cf aws_sdk-version.tar.gz --ignore-zeros @\<\(git archive HEAD\) $(git submodule foreach --recursive --quiet 'echo @\<\(cd $displaypath \&\& git archive HEAD --prefix=$displaypath/\)')
1457# Now run the command that printed, and the output will be at aws_sdk-version.tar.gz.
1458http_archive(
1459 name = "aws_sdk",
1460 build_file = "//debian:aws_sdk.BUILD",
1461 patch_args = ["-p1"],
1462 patches = ["//debian:aws_sdk.patch"],
James Kuszmaulb0931ac2023-01-24 14:23:13 -08001463 sha256 = "de6570d10c246189fd8c02100f7f0d9af8499a3ef94a131eeb85619f3bd6c604",
Maxwell Henderson7a93a652023-06-24 15:17:09 -07001464 url = "https://software.frc971.org/Build-Dependencies/aws_sdk-1.10.34.tar.gz",
Austin Schuh86110712022-09-16 15:40:54 -07001465)
1466
James Kuszmaul5ab990d2022-11-07 16:35:49 -08001467# Source code of LZ4 (files under lib/) are under BSD 2-Clause.
1468# The rest of the repository (build information, documentation, etc.) is under GPLv2.
1469# We only care about the lib/ subfolder anyways, and strip out any other files.
1470http_archive(
1471 name = "com_github_lz4_lz4",
1472 build_file = "//debian:BUILD.lz4.bazel",
1473 sha256 = "0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b",
1474 strip_prefix = "lz4-1.9.4/lib",
1475 url = "https://github.com/lz4/lz4/archive/refs/tags/v1.9.4.tar.gz",
1476)
1477
James Kuszmaul5c56ed32022-03-30 15:10:07 -07001478http_file(
1479 name = "com_github_foxglove_mcap_mcap",
1480 executable = True,
James Kuszmaul5ab990d2022-11-07 16:35:49 -08001481 sha256 = "ae745dd09cf4c9570c1c038a72630c07b073f0ed4b05983d64108ff748a40d3f",
1482 urls = ["https://github.com/foxglove/mcap/releases/download/releases%2Fmcap-cli%2Fv0.0.22/mcap-linux-amd64"],
James Kuszmaul5c56ed32022-03-30 15:10:07 -07001483)
Brian Silverman0aa13732022-05-19 23:14:08 -07001484
1485http_archive(
James Kuszmaul0de4feb2022-04-15 12:16:59 -07001486 name = "com_github_zaphoyd_websocketpp",
1487 build_file = "//third_party/websocketpp:websocketpp.BUILD",
Ravago Jones0c74c122023-01-08 15:20:19 -08001488 patch_args = ["-p1"],
1489 patches = ["//third_party/websocketpp:websocketpp.patch"],
James Kuszmaul0de4feb2022-04-15 12:16:59 -07001490 sha256 = "6ce889d85ecdc2d8fa07408d6787e7352510750daa66b5ad44aacb47bea76755",
1491 strip_prefix = "websocketpp-0.8.2",
1492 url = "https://github.com/zaphoyd/websocketpp/archive/refs/tags/0.8.2.tar.gz",
1493)
1494
1495http_archive(
1496 name = "com_github_foxglove_ws-protocol",
James Kuszmaul6b609292023-01-28 15:58:43 -08001497 build_file = "//third_party/foxglove/ws_protocol:foxglove_ws_protocol.BUILD",
James Kuszmaul0de4feb2022-04-15 12:16:59 -07001498 patch_args = ["-p1"],
James Kuszmaul6b609292023-01-28 15:58:43 -08001499 patches = ["//third_party/foxglove/ws_protocol:foxglove_ws_protocol.patch"],
James Kuszmaul0de4feb2022-04-15 12:16:59 -07001500 sha256 = "3256f09a67419f6556778c443d332f1a4bf53ba0e7a464179bf838abffa366ab",
1501 strip_prefix = "ws-protocol-releases-typescript-ws-protocol-examples-v0.0.6",
1502 url = "https://github.com/foxglove/ws-protocol/archive/refs/tags/releases/typescript/ws-protocol-examples/v0.0.6.tar.gz",
1503)
1504
1505http_archive(
1506 name = "asio",
1507 build_file_content = """
1508cc_library(
1509 name = "asio",
1510 hdrs = glob(["include/asio/**/*.hpp", "include/asio/**/*.ipp", "include/asio.hpp"]),
1511 visibility = ["//visibility:public"],
1512 defines = ["ASIO_STANDALONE"],
1513 includes = ["include/"],
1514)""",
1515 sha256 = "8976812c24a118600f6fcf071a20606630a69afe4c0abee3b0dea528e682c585",
1516 strip_prefix = "asio-1.24.0",
1517 url = "https://downloads.sourceforge.net/project/asio/asio/1.24.0%2520%2528Stable%2529/asio-1.24.0.tar.bz2",
1518)
James Kuszmaul6b609292023-01-28 15:58:43 -08001519
1520http_archive(
1521 name = "com_github_foxglove_schemas",
1522 build_file = "//third_party/foxglove/schemas:schemas.BUILD",
1523 sha256 = "c0d08365eb8fba0af7773b5f0095fb53fb53f020bde46edaa308af5bb939fc15",
1524 strip_prefix = "schemas-7a3e077b88142ac46bb4e2616f83dc029b45352e/schemas/flatbuffer",
1525 url = "https://github.com/foxglove/schemas/archive/7a3e077b88142ac46bb4e2616f83dc029b45352e.tar.gz",
1526)
James Kuszmaul3398d0b2023-02-11 22:55:22 -08001527
1528# This contains the *compiled* foxglove studio. This can be reproduced by:
1529# 1. Cloning https://github.com/foxglove/studio
1530# 2. Building the code (yarn web:build:prod)
1531# 3. tar'ing the web/.webpack folder
1532# These files can be hosted locally to provide an offline foxglove server.
1533# Foxglove may be served on any port and may be nested at a subpath
1534# (e.g., at hostname:8000/foxglove behind a proxy).
1535http_archive(
1536 name = "foxglove_studio",
1537 build_file_content = """
1538filegroup(
1539 name = "foxglove_studio",
1540 srcs = glob(["**"]),
1541 visibility = ["//visibility:public"],
1542)""",
James Kuszmaul4ae8e2e2023-12-09 12:59:33 -08001543 sha256 = "68513024efb60dcdfc9b130d3e0466d194a8599fbd85f8e99d01c148d03e5887",
James Kuszmaul3398d0b2023-02-11 22:55:22 -08001544 url =
James Kuszmaul4ae8e2e2023-12-09 12:59:33 -08001545 "https://software.frc971.org/Build-Dependencies/foxglove-9857d637e90dfeecd63ad47fa760046791f8d43c.tar.gz",
James Kuszmaul3398d0b2023-02-11 22:55:22 -08001546)
Ravago Jones9c10b2a2023-02-06 12:41:59 -08001547
1548#
1549# https://www.st.com/en/embedded-software/stsw-img009.html#overview
1550http_archive(
1551 name = "vl53l1x_ultra_lite_driver_api",
1552 build_file = "//third_party/vl53l1x:vl53l1x.BUILD",
1553 patch_args = ["-p1"],
1554 patches = ["//third_party/vl53l1x:vl53l1x.patch"],
1555 sha256 = "06a66254ab7a8b061f93ff0f65abb6088c3ea50335475bb6ac11087beb65d174",
1556 strip_prefix = "en.STSW-IMG009_v3.5.2/API",
Maxwell Henderson7a93a652023-06-24 15:17:09 -07001557 url = "https://software.frc971.org/Build-Dependencies/en.STSW-IMG009.zip",
Ravago Jones9c10b2a2023-02-06 12:41:59 -08001558)
Yash Chainani10b7b022023-02-22 14:34:04 -08001559
1560http_archive(
1561 name = "apriltag_test_bfbs_images",
1562 build_file_content = """
1563filegroup(
1564 name = "apriltag_test_bfbs_images",
1565 srcs = glob(["**"]),
1566 visibility = ["//visibility:public"],
1567)""",
1568 sha256 = "2356b9d0b3be59d01e837bfbbee21de55b16232d5e00c66701c20b64ff3272e3",
Maxwell Henderson7a93a652023-06-24 15:17:09 -07001569 url = "https://software.frc971.org/Build-Dependencies/2023_arducam_apriltag_test_images.tar.gz",
Yash Chainani10b7b022023-02-22 14:34:04 -08001570)
Filip Kujawaa5e39702023-03-04 17:58:27 -08001571
1572http_archive(
1573 name = "libedgetpu",
1574 build_file = "//third_party:libedgetpu/libedgetpu.BUILD",
Filip Kujawa8c76e5d2023-04-08 16:20:27 -07001575 sha256 = "c900faf2c9ea9599fda60c3d03ac43d0d7b34119659c9e35638b81cd14354b57",
Filip Kujawaa5e39702023-03-04 17:58:27 -08001576 strip_prefix = "libedgetpu-bazel",
Maxwell Henderson7a93a652023-06-24 15:17:09 -07001577 url = "https://software.frc971.org/Build-Dependencies/libedgetpu-ddfa7bde33c23afd8c2892182faa3e5b4e6ad94e.tar.gz",
Filip Kujawaa5e39702023-03-04 17:58:27 -08001578)
1579
1580http_archive(
1581 name = "libtensorflowlite",
1582 build_file = "//third_party:libtensorflowlite/libtensorflowlite.BUILD",
Filip Kujawa8c76e5d2023-04-08 16:20:27 -07001583 sha256 = "a073dfddb3cb25113ba7eac6edb5569d0ae7988cad881d3f665e8ca0b8b85108",
Filip Kujawaa5e39702023-03-04 17:58:27 -08001584 strip_prefix = "tensorflow-bazel",
Maxwell Henderson7a93a652023-06-24 15:17:09 -07001585 url = "https://software.frc971.org/Build-Dependencies/tensorflow-a4dfb8d1a71385bd6d122e4f27f86dcebb96712d.tar.gz",
Filip Kujawaa5e39702023-03-04 17:58:27 -08001586)
Philipp Schrader119c3822023-03-07 19:49:58 -08001587
1588http_archive(
1589 name = "julia",
1590 build_file = "//third_party:julia/julia.BUILD",
1591 patch_cmds = [
1592 "echo 'LIB_SYMLINKS = {' > files.bzl",
Austin Schuh1e69d422023-06-25 16:57:01 -07001593 """find lib/ -type l -exec bash -c 'echo "\\"{}\\": \\"$(readlink {})\\","' \\; | sort >> files.bzl""",
Philipp Schrader119c3822023-03-07 19:49:58 -08001594 "echo '}' >> files.bzl",
1595 "echo 'LIBS = [' >> files.bzl",
Austin Schuh1e69d422023-06-25 16:57:01 -07001596 """find lib/ -type f -exec bash -c 'echo "\\"{}\\","' \\; | sort >> files.bzl""",
Philipp Schrader119c3822023-03-07 19:49:58 -08001597 "echo ']' >> files.bzl",
1598 ],
1599 sha256 = "e71a24816e8fe9d5f4807664cbbb42738f5aa9fe05397d35c81d4c5d649b9d05",
1600 strip_prefix = "julia-1.8.5",
1601 url = "https://julialang-s3.julialang.org/bin/linux/x64/1.8/julia-1.8.5-linux-x86_64.tar.gz",
1602)
Austin Schuhae856ca2023-11-18 14:04:00 -08001603
1604http_archive(
1605 name = "com_github_nvidia_cuco",
1606 build_file = "//third_party/cuco:cuco.BUILD",
1607 patch_args = ["-p1"],
1608 patches = [
1609 "//third_party/cuco:template.patch",
1610 ],
1611 sha256 = "eecc9a111956a195f28ebc4b4fd23ac6991d072f5c1d7c68a59d059e05d7ad78",
1612 strip_prefix = "cuCollections-b7514d2010967fdfe4a1d414894bb945bc09fddc",
1613 url = "https://github.com/NVIDIA/cuCollections/archive/b7514d2010967fdfe4a1d414894bb945bc09fddc.zip",
1614)
1615
1616http_archive(
1617 name = "com_github_nvidia_cccl",
1618 build_file = "//third_party/cccl:cccl.BUILD",
1619 sha256 = "38160c628a9e32b7cd55553f299768f72b24074cc9c1a993ba40a177877b3421",
1620 strip_prefix = "cccl-931dc6793482c61edbc97b7a19256874fd264313",
1621 url = "https://github.com/NVIDIA/cccl/archive/931dc6793482c61edbc97b7a19256874fd264313.zip",
1622)