blob: 817e5ba9ac4574c2baccdcc581ad912c7de94616 [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",
21 sha256 = "1c531376ac7e5a180e0237938a2536de0c54d93f5c278634818e0efc952dd56c",
22 urls = [
23 "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz",
24 "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz",
25 ],
26)
27
28http_archive(
Philipp Schrader55dd6b42023-02-22 20:44:23 -080029 name = "aspect_bazel_lib",
30 sha256 = "80897b673c2b506d21f861ae316689aa8abcc3e56947580a41bf9e68ff13af58",
31 strip_prefix = "bazel-lib-1.27.1",
32 url = "https://github.com/aspect-build/bazel-lib/releases/download/v1.27.1/bazel-lib-v1.27.1.tar.gz",
33)
34
Philipp Schrader175a93c2023-02-19 13:13:40 -080035load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains")
Philipp Schrader55dd6b42023-02-22 20:44:23 -080036
37aspect_bazel_lib_dependencies()
38
Philipp Schrader175a93c2023-02-19 13:13:40 -080039register_jq_toolchains()
40
Philipp Schrader55dd6b42023-02-22 20:44:23 -080041http_archive(
Philipp Schrader9670a2a2023-01-11 01:20:16 -080042 name = "rules_python",
43 patch_args = ["-p1"],
44 patches = [
45 "//third_party:rules_python/0001-Support-overriding-individual-packages.patch",
46 "//third_party:rules_python/0002-Allow-user-to-patch-wheels.patch",
47 ],
48 sha256 = "497ca47374f48c8b067d786b512ac10a276211810f4a580178ee9b9ad139323a",
49 strip_prefix = "rules_python-0.16.1",
50 url = "https://github.com/bazelbuild/rules_python/archive/refs/tags/0.16.1.tar.gz",
51)
52
53load("@rules_python//python:repositories.bzl", "python_register_toolchains")
54
55python_register_toolchains(
56 name = "python3_9",
57 python_version = "3.9",
58 register_toolchains = False,
59)
60
James Kuszmaul9776b392023-01-14 14:08:08 -080061load(
62 "@python3_9//:defs.bzl",
63 python_interpreter = "interpreter",
64)
Philipp Schrader9670a2a2023-01-11 01:20:16 -080065load("@rules_python//python:pip.bzl", "pip_parse")
James Kuszmaul9776b392023-01-14 14:08:08 -080066load(
67 "//tools/python:package_annotations.bzl",
68 PYTHON_ANNOTATIONS = "ANNOTATIONS",
69)
Philipp Schrader9670a2a2023-01-11 01:20:16 -080070
71pip_parse(
72 name = "pip_deps",
73 annotations = PYTHON_ANNOTATIONS,
74 enable_implicit_namespace_pkgs = True,
75 overrides = "//tools/python:whl_overrides.json",
76 patch_spec = "//tools/python:patches.json",
77 python_interpreter_target = python_interpreter,
78 require_overrides = RUNNING_IN_CI,
79 requirements_lock = "//tools/python:requirements.lock.txt",
80)
81
82# Load the starlark macro which will define your dependencies.
James Kuszmaul9776b392023-01-14 14:08:08 -080083load(
84 "@pip_deps//:requirements.bzl",
85 install_pip_deps = "install_deps",
86)
Philipp Schrader9670a2a2023-01-11 01:20:16 -080087
88install_pip_deps()
89
90load("//tools/python:repo_defs.bzl", "pip_configure")
91
92pip_configure(
93 name = "pip",
94)
95
96http_archive(
97 name = "rules_pkg",
98 patch_args = ["-p1"],
99 patches = [
100 "//third_party:rules_pkg/0001-Fix-tree-artifacts.patch",
101 ],
102 sha256 = "62eeb544ff1ef41d786e329e1536c1d541bb9bcad27ae984d57f18f314018e66",
103 urls = [
104 "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.6.0/rules_pkg-0.6.0.tar.gz",
105 "https://github.com/bazelbuild/rules_pkg/releases/download/0.6.0/rules_pkg-0.6.0.tar.gz",
106 ],
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 Silvermand4260c72020-01-14 00:08:02 -0800162 "//debian:opencv_armhf.bzl",
163 opencv_armhf_debs = "files",
164)
Brian Silvermand97a47c2020-01-16 00:47:53 -0800165load(
166 "//debian:opencv_amd64.bzl",
167 opencv_amd64_debs = "files",
168)
Tyler Chatow60671d32020-02-26 19:49:30 -0800169load(
170 "//debian:gstreamer_amd64.bzl",
James Kuszmaulc91e4402020-05-10 18:47:20 -0700171 gstreamer_amd64_debs = "files",
Tyler Chatow60671d32020-02-26 19:49:30 -0800172)
173load(
174 "//debian:gstreamer_armhf.bzl",
James Kuszmaulc91e4402020-05-10 18:47:20 -0700175 gstreamer_armhf_debs = "files",
Tyler Chatow60671d32020-02-26 19:49:30 -0800176)
Austin Schuh023e7f52020-08-18 21:24:37 -0700177load(
Tyler Chatow6eda82c2022-03-27 22:37:38 -0700178 "//debian:gstreamer_arm64.bzl",
179 gstreamer_arm64_debs = "files",
180)
181load(
Austin Schuh023e7f52020-08-18 21:24:37 -0700182 "//debian:m4.bzl",
183 m4_debs = "files",
184)
Brian Silvermanf59fe3f2020-09-22 21:04:09 -0700185load(
186 "//debian:lzma_amd64.bzl",
187 lzma_amd64_debs = "files",
188)
189load(
190 "//debian:lzma_arm64.bzl",
191 lzma_arm64_debs = "files",
192)
Tyler Chatow8a51ac62022-03-15 13:23:12 -0700193load(
194 "//debian:libtinfo5_amd64.bzl",
195 libtinfo5_amd64_debs = "files",
196)
Tyler Chatowec100e22022-03-22 16:23:04 -0700197load(
198 "//debian:libtinfo5_arm64.bzl",
199 libtinfo5_arm64_debs = "files",
200)
Philipp Schraderf60e7d72023-02-19 17:07:22 -0800201load(
202 "//debian:xvfb_amd64.bzl",
203 xvfb_amd64_debs = "files",
204)
Philipp Schrader0e19c602018-03-07 21:07:22 -0800205load("//debian:packages.bzl", "generate_repositories_for_debs")
206
Austin Schuh71f6fa72019-08-31 18:23:02 -0700207generate_repositories_for_debs(rsync_debs)
208
209generate_repositories_for_debs(ssh_debs)
210
Philipp Schraderd0e33a42022-01-22 21:55:15 -0800211generate_repositories_for_debs(apache2_debs)
212
Philipp Schrader41011a12022-03-13 12:49:32 -0700213generate_repositories_for_debs(postgresql_amd64_debs)
214
Brian Silverman7bda6212018-08-05 11:42:11 -0700215generate_repositories_for_debs(patch_debs)
216
Brian Silverman7297c0c2018-08-05 13:43:00 -0700217generate_repositories_for_debs(pandoc_debs)
218
Brian Silverman4f6ba442018-08-05 14:34:58 -0700219generate_repositories_for_debs(libusb_debs)
220
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700221generate_repositories_for_debs(mingw_compiler_debs)
222
Brian Silverman6470f442018-08-05 12:08:16 -0700223generate_repositories_for_debs(patchelf_debs)
224
Brian Silverman50b9ac02018-08-12 13:24:10 -0700225generate_repositories_for_debs(arm_frc_gnueabi_deps_debs)
226
Philipp Schraderfd5489f2022-09-17 17:31:09 -0700227generate_repositories_for_debs(gtk_runtime_debs)
228
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800229generate_repositories_for_debs(opencv_arm64_debs)
230
Brian Silvermand4260c72020-01-14 00:08:02 -0800231generate_repositories_for_debs(opencv_armhf_debs)
232
Brian Silvermand97a47c2020-01-16 00:47:53 -0800233generate_repositories_for_debs(opencv_amd64_debs)
234
Tyler Chatow6eda82c2022-03-27 22:37:38 -0700235generate_repositories_for_debs(
236 gstreamer_amd64_debs,
237 base_url = "https://www.frc971.org/Build-Dependencies/gstreamer_bullseye_amd64_deps",
238)
Tyler Chatow60671d32020-02-26 19:49:30 -0800239
240generate_repositories_for_debs(gstreamer_armhf_debs)
241
Tyler Chatow6eda82c2022-03-27 22:37:38 -0700242generate_repositories_for_debs(
243 gstreamer_arm64_debs,
244 base_url = "https://www.frc971.org/Build-Dependencies/gstreamer_bullseye_arm64_deps",
245)
246
Austin Schuh023e7f52020-08-18 21:24:37 -0700247generate_repositories_for_debs(m4_debs)
248
Brian Silvermanf59fe3f2020-09-22 21:04:09 -0700249generate_repositories_for_debs(lzma_amd64_debs)
250
251generate_repositories_for_debs(lzma_arm64_debs)
252
Tyler Chatow8a51ac62022-03-15 13:23:12 -0700253generate_repositories_for_debs(libtinfo5_amd64_debs)
254
Tyler Chatowec100e22022-03-22 16:23:04 -0700255generate_repositories_for_debs(libtinfo5_arm64_debs)
256
Philipp Schraderf60e7d72023-02-19 17:07:22 -0800257generate_repositories_for_debs(xvfb_amd64_debs)
258
Brian Silvermanc0309a02022-01-01 23:57:03 -0800259local_repository(
260 name = "com_grail_bazel_toolchain",
261 path = "third_party/bazel-toolchain",
262)
263
Brian Silverman4c7235a2021-11-17 19:04:37 -0800264load("@com_grail_bazel_toolchain//toolchain:rules.bzl", "llvm", "llvm_toolchain")
265
266llvm_version = "13.0.0"
267
268llvm(
269 name = "llvm_k8",
270 distribution = "clang+llvm-%s-x86_64-linux-gnu-ubuntu-16.04.tar.xz" % llvm_version,
271 llvm_version = llvm_version,
272)
273
274llvm(
275 name = "llvm_armv7",
276 distribution = "clang+llvm-%s-armv7a-linux-gnueabihf.tar.xz" % llvm_version,
277 llvm_version = llvm_version,
278)
279
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800280llvm(
281 name = "llvm_aarch64",
282 distribution = "clang+llvm-%s-aarch64-linux-gnu.tar.xz" % llvm_version,
283 llvm_version = llvm_version,
284)
285
Brian Silverman4c7235a2021-11-17 19:04:37 -0800286llvm_conlyopts = [
287 "-std=gnu99",
288]
289
290llvm_copts = [
291 "-D__STDC_FORMAT_MACROS",
292 "-D__STDC_CONSTANT_MACROS",
293 "-D__STDC_LIMIT_MACROS",
294 "-D_FILE_OFFSET_BITS=64",
295 "-fmessage-length=100",
296 "-fmacro-backtrace-limit=0",
297 "-Wextra",
298 "-Wpointer-arith",
299 "-Wstrict-aliasing",
300 "-Wcast-qual",
301 "-Wcast-align",
302 "-Wwrite-strings",
303 "-Wtype-limits",
304 "-Wsign-compare",
305 "-Wformat=2",
306 "-Werror",
307 "-ggdb3",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800308]
309
310llvm_cxxopts = [
311 "-std=gnu++17",
312]
313
Brian Silverman1e7c8972022-02-03 23:15:41 -0800314llvm_opt_copts = [
315 "-DAOS_DEBUG=0",
316]
317
318llvm_fastbuild_copts = [
319 "-DAOS_DEBUG=0",
320]
321
Brian Silverman4c7235a2021-11-17 19:04:37 -0800322llvm_dbg_copts = [
323 "-DAOS_DEBUG=1",
324]
Brian Silvermanc0309a02022-01-01 23:57:03 -0800325
326llvm_toolchain(
327 name = "llvm_toolchain",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800328 additional_target_compatible_with = {
329 "linux-armv7": [
330 "@//tools/platforms/hardware:raspberry_pi",
331 ],
332 },
333 conlyopts = {
334 "linux-x86_64": llvm_conlyopts,
335 "linux-armv7": llvm_conlyopts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800336 "linux-aarch64": llvm_conlyopts,
Brian Silverman4c7235a2021-11-17 19:04:37 -0800337 },
338 copts = {
339 "linux-x86_64": llvm_copts,
340 "linux-armv7": llvm_copts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800341 "linux-aarch64": llvm_copts,
Brian Silverman4c7235a2021-11-17 19:04:37 -0800342 },
343 cxxopts = {
344 "linux-x86_64": llvm_cxxopts,
345 "linux-armv7": llvm_cxxopts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800346 "linux-aarch64": llvm_cxxopts,
Brian Silverman4c7235a2021-11-17 19:04:37 -0800347 },
348 dbg_copts = {
349 "linux-x86_64": llvm_dbg_copts,
Brian Silverman1e7c8972022-02-03 23:15:41 -0800350 "linux-armv7": llvm_dbg_copts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800351 "linux-aarch64": llvm_dbg_copts,
Brian Silverman1e7c8972022-02-03 23:15:41 -0800352 },
353 fastbuild_copts = {
354 "linux-x86_64": llvm_fastbuild_copts,
355 "linux-armv7": llvm_fastbuild_copts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800356 "linux-aarch64": llvm_fastbuild_copts,
Brian Silverman4c7235a2021-11-17 19:04:37 -0800357 },
358 llvm_version = llvm_version,
Brian Silverman1e7c8972022-02-03 23:15:41 -0800359 opt_copts = {
360 "linux-x86_64": llvm_opt_copts,
361 "linux-armv7": llvm_opt_copts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800362 "linux-aarch64": llvm_opt_copts,
Brian Silverman1e7c8972022-02-03 23:15:41 -0800363 },
Brian Silverman4c7235a2021-11-17 19:04:37 -0800364 standard_libraries = {
365 "linux-x86_64": "libstdc++-10",
366 "linux-armv7": "libstdc++-10",
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800367 "linux-aarch64": "libstdc++-10",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800368 },
369 static_libstdcxx = False,
Brian Silvermanc0309a02022-01-01 23:57:03 -0800370 sysroot = {
371 "linux-x86_64": "@amd64_debian_sysroot//:sysroot_files",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800372 "linux-armv7": "@armhf_debian_rootfs//:sysroot_files",
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800373 "linux-aarch64": "@arm64_debian_rootfs//:sysroot_files",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800374 },
375 target_toolchain_roots = {
376 "linux-x86_64": "@llvm_k8//",
377 "linux-armv7": "@llvm_armv7//",
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800378 "linux-aarch64": "@llvm_aarch64//",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800379 },
380 toolchain_roots = {
381 "linux-x86_64": "@llvm_k8//",
Tyler Chatow486ad3e2022-03-23 13:32:03 -0700382 "linux-aarch64": "@llvm_aarch64//",
Brian Silvermanc0309a02022-01-01 23:57:03 -0800383 },
384)
385
Brian Silverman4c7235a2021-11-17 19:04:37 -0800386load("@llvm_toolchain//:toolchains.bzl", "llvm_register_toolchains")
387
388llvm_register_toolchains()
389
Philipp Schraderdada1072020-11-24 11:34:46 -0800390register_toolchains(
Philipp Schraderdada1072020-11-24 11:34:46 -0800391 "//tools/cpp:cc-toolchain-roborio",
392 "//tools/cpp:cc-toolchain-cortex-m4f",
Austin Schuh0a96ea32022-01-01 22:29:30 -0800393 "//tools/cpp:cc-toolchain-rp2040",
Philipp Schraderdada1072020-11-24 11:34:46 -0800394 # Find a good way to select between these two M4F toolchains.
395 #"//tools/cpp:cc-toolchain-cortex-m4f-k22",
Philipp Schraderf198a152021-12-05 09:18:23 -0800396 "//tools/python:python_toolchain",
Philipp Schrader73e56602021-12-06 21:37:30 -0800397 "//tools/go:noop_go_toolchain",
Brian Silverman847121b2022-03-09 15:48:08 -0800398 "//tools/rust:rust-toolchain-x86",
399 "//tools/rust:rust-toolchain-armv7",
400 "//tools/rust:rust-toolchain-arm64",
Brian Silvermana8ad1af2022-07-23 16:05:12 -0700401 # TODO(Brian): Make this work. See the comment on
402 # //tools/platforms:linux_roborio for details.
403 #"//tools/rust:rust-toolchain-roborio",
Ravago Jones16809802021-11-18 20:40:03 -0800404 "//tools/rust:noop_rust_toolchain",
Philipp Schrader54047962022-02-16 21:05:11 -0800405 "//tools/ts:noop_node_toolchain",
Philipp Schraderdada1072020-11-24 11:34:46 -0800406)
407
Austin Schuhf093fa52019-06-23 20:47:23 -0700408http_archive(
Austin Schuh7466fe12020-12-29 23:01:47 -0800409 name = "com_github_stevengj_nlopt",
410 build_file = "@//debian:nlopt.BUILD",
411 patch_args = ["-p1"],
412 patches = ["//debian:nlopt.patch"],
413 sha256 = "2d65815b21c30813499fe19c63947f7da56b10c0d4a459dce05417899b43e461",
414 strip_prefix = "nlopt-496be736b8b249273838b891f4c8ca3669551127",
415 url = "https://www.frc971.org/Build-Dependencies/nlopt-496be736b8b249273838b891f4c8ca3669551127.zip",
416)
417
James Kuszmaul203bfc22023-01-13 22:37:06 -0800418http_archive(
Austin Schuhd57edc42019-09-21 17:52:38 -0700419 name = "com_google_absl",
James Kuszmaul203bfc22023-01-13 22:37:06 -0800420 patch_args = ["-p1"],
421 patches = ["//third_party/abseil:abseil.patch"],
422 sha256 = "91209b5eecd9c3d862b230fefbc2728c7f2764ff6d5866ec398d48db1aaa1e90",
423 strip_prefix = "abseil-cpp-bb63a76710554cebbeb20306739a7b832be38c4a",
424 url = "https://github.com/abseil/abseil-cpp/archive/bb63a76710554cebbeb20306739a7b832be38c4a.zip",
Austin Schuh36244a12019-09-21 17:52:38 -0700425)
426
Alex Perrycb7da4b2019-08-28 19:35:56 -0700427local_repository(
428 name = "org_tuxfamily_eigen",
429 path = "third_party/eigen",
430)
431
James Kuszmaulbc02ff42021-01-15 20:41:30 -0800432local_repository(
433 name = "com_github_rawrtc_re",
434 path = "third_party/rawrtc/re",
435)
436
437local_repository(
438 name = "com_github_rawrtc_rew",
439 path = "third_party/rawrtc/rew",
440)
441
442local_repository(
443 name = "com_github_rawrtc_usrsctp",
444 path = "third_party/rawrtc/usrsctp",
445)
446
447local_repository(
448 name = "com_github_rawrtc_rawrtc_common",
449 path = "third_party/rawrtc/rawrtc-common",
450)
451
452local_repository(
453 name = "com_github_rawrtc_rawrtc_data_channel",
454 path = "third_party/rawrtc/rawrtc-data-channel",
455)
456
457local_repository(
458 name = "com_github_rawrtc_rawrtc",
459 path = "third_party/rawrtc/rawrtc",
460)
461
Austin Schuh0ca51f32020-12-25 21:51:45 -0800462http_archive(
463 name = "boringssl",
464 patch_args = ["-p1"],
465 patches = ["//debian:boringssl.patch"],
466 sha256 = "bcab08a22c28f5322316542aa2c3a9ef0a9f9fde9be22d489cee574867b24675",
467 strip_prefix = "boringssl-613fe9dbe74b58d6aaaf0d22fe57dccd964c7413",
468 urls = ["https://www.frc971.org/Build-Dependencies/boringssl-613fe9dbe74b58d6aaaf0d22fe57dccd964c7413.zip"],
469)
470
Austin Schuh36244a12019-09-21 17:52:38 -0700471# C++ rules for Bazel.
472http_archive(
473 name = "rules_cc",
Austin Schuh968174a2021-03-31 20:04:01 -0700474 sha256 = "ed36cc7a6f46b7c28ab4009db4a37e350e1ba367446b0886bcc9cdc1df92752e",
475 strip_prefix = "rules_cc-608c7b605fb844a20e96a3eddc9b49ad2542adab",
Austin Schuh36244a12019-09-21 17:52:38 -0700476 urls = [
Austin Schuh968174a2021-03-31 20:04:01 -0700477 "https://www.frc971.org/Build-Dependencies/rules_cc-608c7b605fb844a20e96a3eddc9b49ad2542adab.zip",
Austin Schuh36244a12019-09-21 17:52:38 -0700478 ],
479)
Austin Schuhd57edc42019-09-21 17:52:38 -0700480
Austin Schuh4759ffc2015-10-07 20:39:56 -0700481new_local_repository(
Brian Silverman7bda6212018-08-05 11:42:11 -0700482 name = "usr_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700483 build_file = "@//debian:usr.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700484 path = "/usr",
Austin Schuh4759ffc2015-10-07 20:39:56 -0700485)
486
Austin Schuh1f9aeb42015-11-12 23:34:49 -0800487new_git_repository(
Brian Silverman7bda6212018-08-05 11:42:11 -0700488 name = "slycot_repo",
Tyler Chatow2584bb12018-10-27 20:48:35 -0700489 build_file = "@//debian:slycot.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700490 commit = "5af5f283cb23cbe23c4dfea4d5e56071bdbd6e70",
491 remote = "https://github.com/avventi/Slycot.git",
Austin Schuh1f9aeb42015-11-12 23:34:49 -0800492)
493
James Kuszmaul9776b392023-01-14 14:08:08 -0800494# TODO(Ravago, Max, Alex): https://github.com/wpilibsuite/opensdk
Austin Schuhf093fa52019-06-23 20:47:23 -0700495http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700496 name = "arm_frc_linux_gnueabi_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700497 build_file = "@//tools/cpp/arm-frc-linux-gnueabi:arm-frc-linux-gnueabi.BUILD",
Austin Schuhe991fe22020-11-18 16:53:39 -0800498 patches = ["//debian:fts.patch"],
James Kuszmaul9776b392023-01-14 14:08:08 -0800499 sha256 = "f53c6b86c25b4827d50365efe760a08edfea39c027dd08674ae696c9093d6a37",
500 strip_prefix = "roborio-academic",
501 url = "https://www.frc971.org/Build-Dependencies/cortexa9_vfpv3-roborio-academic-2023-x86_64-linux-gnu-Toolchain-12.1.0.tgz",
Austin Schuh55139fe2015-10-14 23:55:24 -0700502)
Austin Schuhe456f152015-11-27 13:44:39 -0800503
Brian Silverman4c7235a2021-11-17 19:04:37 -0800504# The main partition from https://downloads.raspberrypi.org/raspios_lite_armhf/images/raspios_lite_armhf-2021-11-08/2021-10-30-raspios-bullseye-armhf-lite.zip.sig
505# The following files and folders are removed to make bazel happy with it:
Brian Silvermanbf4c1312020-01-12 11:35:45 -0800506# usr/share/ca-certificates
Brian Silverman4c7235a2021-11-17 19:04:37 -0800507# lib/systemd/system/system-systemd\\x2dcryptsetup.slice
Brian Silvermanbf4c1312020-01-12 11:35:45 -0800508http_archive(
509 name = "armhf_debian_rootfs",
Brian Silverman60606c92020-01-15 22:45:04 -0800510 build_file = "@//:compilers/debian_rootfs.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800511 sha256 = "734f26a0cfc943cc3cae88412536186adfc4ed148cc167e6ffb298497c686280",
512 url = "https://www.frc971.org/Build-Dependencies/2021-10-30-raspios-bullseye-armhf-lite_rootfs.tar.bz2",
Brian Silvermanbf4c1312020-01-12 11:35:45 -0800513)
514
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800515# The main partition from https://downloads.raspberrypi.org/raspios_lite_armhf/images/raspios_lite_armhf-2021-11-08/2021-10-30-raspios-bullseye-armhf-lite.zip.sig
516# The following files and folders are removed to make bazel happy with it:
517# usr/share/ca-certificates
518# lib/systemd/system/system-systemd\\x2dcryptsetup.slice
519http_archive(
520 name = "arm64_debian_rootfs",
521 build_file = "@//:compilers/debian_rootfs.BUILD",
522 sha256 = "7e6ad432fec0a36f8b66c3fc2ab8795ea446e61f7dce7a206b55602677cf0904",
523 url = "https://www.frc971.org/Build-Dependencies/2021-10-30-raspios-bullseye-arm64-lite_rootfs.tar.bz2",
524)
525
Brian Silverman60606c92020-01-15 22:45:04 -0800526# Created with:
527# `debootstrap buster buster_sysroot`
528# and then chrooting in and running:
529# apt install libc6-dev libstdc++-7-dev
Brian Silverman4c7235a2021-11-17 19:04:37 -0800530# removing the apt cache,
Brian Silverman60606c92020-01-15 22:45:04 -0800531# and then tarring up the result
532http_archive(
533 name = "amd64_debian_sysroot",
534 build_file = "@//:compilers/debian_rootfs.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800535 sha256 = "5e10f4cac85a98a39da1716b218bc05fff4666c61cc471a7df27876710bc86d2",
536 url = "https://www.frc971.org/Build-Dependencies/2022-01-06-debian-bullseye_rootfs.tar.bz2",
Brian Silverman60606c92020-01-15 22:45:04 -0800537)
538
Brian Silverman16a923c2018-10-31 19:40:51 -0700539local_repository(
540 name = "com_github_gflags_gflags",
541 path = "third_party/gflags",
542)
543
Brian Silverman82a12b92019-01-19 21:52:10 -0800544# Generated with:
Austin Schuh9950f682021-11-06 15:27:58 -0700545# git fetch https://github.com/wpilibsuite/ni-libraries main
Austin Schuhd3c72912022-02-22 18:05:32 -0800546# git archive --output=allwpilib_ni-libraries_776db4e8aed31a651fa2f590e7468c69b384b42a.tar.gz --format=tar.gz 776db4e8aed31a651fa2f590e7468c69b384b42a
Austin Schuhf093fa52019-06-23 20:47:23 -0700547http_archive(
James Kuszmaulc9c46b32019-12-08 21:10:00 -0800548 name = "allwpilib_ni_libraries",
549 build_file = "@//debian:ni-libraries.BUILD",
James Kuszmaul9776b392023-01-14 14:08:08 -0800550 sha256 = "c5d03ce5ed3807d9c4a5d415d8123d9ab3479498428eb0f1d77e74891f107aa0",
551 strip_prefix = "ni-libraries-2023.3.0",
552 url = "https://github.com/wpilibsuite/ni-libraries/archive/refs/tags/v2023.3.0.zip",
Brian Silverman82a12b92019-01-19 21:52:10 -0800553)
554
Brian Silverman3fca9d72016-02-20 02:32:51 -0500555# For protobuf. Don't use these.
556bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700557 name = "six",
Philipp Schrader01535ee2023-01-08 13:19:03 -0800558 actual = "@pip//six",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500559)
Brian Silverman7bda6212018-08-05 11:42:11 -0700560
Brian Silverman3fca9d72016-02-20 02:32:51 -0500561bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700562 name = "gtest",
James Kuszmaul3aabc1c2023-01-13 21:33:43 -0800563 actual = "@com_google_googletest//:gtest",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500564)
Brian Silverman7bda6212018-08-05 11:42:11 -0700565
Brian Silverman3fca9d72016-02-20 02:32:51 -0500566bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700567 name = "gtest_main",
James Kuszmaul3aabc1c2023-01-13 21:33:43 -0800568 actual = "@com_google_googletest//:gtest_main",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500569)
570
James Kuszmaul59a308f2023-01-28 19:14:07 -0800571http_archive(
572 name = "april_tag_test_image",
573 build_file_content = """
574filegroup(
575 name = "april_tag_test_image",
576 srcs = ["test.bfbs", "expected.jpeg", "expected.png"],
577 visibility = ["//visibility:public"],
578)""",
579 sha256 = "5312c79b19e9883b3cebd9d65b4438a2bf05b41da0bcd8c35e19d22c3b2e1859",
580 urls = ["https://www.frc971.org/Build-Dependencies/test_image_frc971.vision.CameraImage_2023.01.28.tar.gz"],
581)
582
Brian Silverman4aa83042018-01-05 12:47:31 -0800583# Recompressed from libusb-1.0.21.7z.
584http_file(
Brian Silverman7bda6212018-08-05 11:42:11 -0700585 name = "libusb_1_0_windows",
Austin Schuh4ac96a82019-08-14 20:24:23 -0700586 downloaded_file_path = "libusb-1.0.21-windows.tar.xz",
Brian Silverman7bda6212018-08-05 11:42:11 -0700587 sha256 = "fc2ba03992f343aabbaf9eb90559c6e00cdc6a2bd914d7cebea85857d5244015",
Austin Schuha5778ae2020-10-21 21:15:35 -0700588 urls = ["https://www.frc971.org/Build-Dependencies/libusb-1.0.21-windows.tar.xz"],
Brian Silverman4aa83042018-01-05 12:47:31 -0800589)
Brian Silvermand3ad1652018-02-18 22:16:29 -0500590
591# The data tarball of the same-named Debian package.
Austin Schuhf093fa52019-06-23 20:47:23 -0700592http_archive(
Brian Silvermand3ad1652018-02-18 22:16:29 -0500593 name = "f2c",
Austin Schuhf093fa52019-06-23 20:47:23 -0700594 build_file = "@//debian:f2c.BUILD",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500595 sha256 = "2c677437f8217a2e2b23e41b33995d0571644fc1bea46de858f8913a5053e3f4",
Austin Schuha5778ae2020-10-21 21:15:35 -0700596 url = "https://www.frc971.org/Build-Dependencies/f2c_20100827-1_amd64.xz.tar.xz",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500597)
598
599# Downloaded from http://www.netlib.org/clapack/.
Austin Schuhf093fa52019-06-23 20:47:23 -0700600http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700601 name = "clapack",
Austin Schuhf093fa52019-06-23 20:47:23 -0700602 build_file = "@//debian:clapack.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700603 sha256 = "6dc4c382164beec8aaed8fd2acc36ad24232c406eda6db462bd4c41d5e455fac",
604 strip_prefix = "CLAPACK-3.2.1/",
Austin Schuha5778ae2020-10-21 21:15:35 -0700605 url = "https://www.frc971.org/Build-Dependencies/clapack-3.2.1.tgz",
Brian Silverman7bda6212018-08-05 11:42:11 -0700606)
607
Austin Schuhf093fa52019-06-23 20:47:23 -0700608http_archive(
Philipp Schrader41011a12022-03-13 12:49:32 -0700609 name = "postgresql_amd64",
610 build_file = "@//debian:postgresql_amd64.BUILD",
611 sha256 = "2b8bb77deaf58f798c296ce31ee7a32781395d55e05dcddc8a7da7e827f38d7f",
612 url = "https://www.frc971.org/Build-Dependencies/postgresql_amd64.tar.gz",
613)
614
615http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700616 name = "patch",
Austin Schuhf093fa52019-06-23 20:47:23 -0700617 build_file = "@//debian:patch.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700618 sha256 = "b5ce139648a2e04f5585948ddad2fdae24dd4ee7976ac5a22d6ae7bd5674631e",
Austin Schuha5778ae2020-10-21 21:15:35 -0700619 url = "https://www.frc971.org/Build-Dependencies/patch.tar.gz",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500620)
Brian Silverman7297c0c2018-08-05 13:43:00 -0700621
Austin Schuhf093fa52019-06-23 20:47:23 -0700622http_archive(
Austin Schuh71f6fa72019-08-31 18:23:02 -0700623 name = "rsync",
624 build_file = "@//debian:rsync.BUILD",
625 sha256 = "53be65a9214aaa6d1b9176f135184fb4a78ccefd58f95ce0da37e6a392dfeb60",
Austin Schuha5778ae2020-10-21 21:15:35 -0700626 url = "https://www.frc971.org/Build-Dependencies/rsync.tar.gz",
Austin Schuh71f6fa72019-08-31 18:23:02 -0700627)
628
Brian Silvermanbd7860e2020-01-05 17:52:40 -0800629# //debian:ssh
Austin Schuh71f6fa72019-08-31 18:23:02 -0700630http_archive(
631 name = "ssh",
632 build_file = "@//debian:ssh.BUILD",
Brian Silvermanbd7860e2020-01-05 17:52:40 -0800633 sha256 = "470fdc1252a2133a9d3c3da778e892a5b88f04f402cb04d8eb1cff7853242034",
Austin Schuha5778ae2020-10-21 21:15:35 -0700634 url = "https://www.frc971.org/Build-Dependencies/ssh_v3.tar.gz",
Austin Schuh71f6fa72019-08-31 18:23:02 -0700635)
636
637http_archive(
Philipp Schraderd0e33a42022-01-22 21:55:15 -0800638 name = "apache2",
639 build_file = "@//debian:apache2.BUILD",
640 sha256 = "98b0ad6d911751ba0aa486429e6278f995e7bbabd928c7d3d44c888fa2bf371b",
641 url = "https://www.frc971.org/Build-Dependencies/apache2.tar.gz",
642)
643
644http_archive(
Brian Silverman7297c0c2018-08-05 13:43:00 -0700645 name = "pandoc",
Austin Schuhf093fa52019-06-23 20:47:23 -0700646 build_file = "@//debian:pandoc.BUILD",
Brian Silverman7297c0c2018-08-05 13:43:00 -0700647 sha256 = "9f7a7adb3974a1f14715054c349ff3edc2909e920dbe3438fca437a83845f3c4",
Austin Schuha5778ae2020-10-21 21:15:35 -0700648 url = "https://www.frc971.org/Build-Dependencies/pandoc.tar.gz",
Brian Silverman7297c0c2018-08-05 13:43:00 -0700649)
Brian Silverman4f6ba442018-08-05 14:34:58 -0700650
Austin Schuhf093fa52019-06-23 20:47:23 -0700651http_archive(
Brian Silverman4f6ba442018-08-05 14:34:58 -0700652 name = "libusb",
Austin Schuhf093fa52019-06-23 20:47:23 -0700653 build_file = "@//debian:libusb.BUILD",
Brian Silverman4f6ba442018-08-05 14:34:58 -0700654 sha256 = "3ca5cc2d317226f6646866ff9e8c443db3b0f6c82f828e800240982727531590",
Austin Schuha5778ae2020-10-21 21:15:35 -0700655 url = "https://www.frc971.org/Build-Dependencies/libusb.tar.gz",
Brian Silverman4f6ba442018-08-05 14:34:58 -0700656)
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700657
Austin Schuhf093fa52019-06-23 20:47:23 -0700658http_archive(
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700659 name = "mingw_compiler",
Austin Schuhf093fa52019-06-23 20:47:23 -0700660 build_file = "@//debian:mingw_compiler.BUILD",
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700661 sha256 = "45e86a8460f2151a4f0306e7ae7b06761029d2412ee16f63d1e8d2d29354e378",
Austin Schuha5778ae2020-10-21 21:15:35 -0700662 url = "https://www.frc971.org/Build-Dependencies/mingw_compiler.tar.gz",
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700663)
Brian Silverman6470f442018-08-05 12:08:16 -0700664
Austin Schuhf093fa52019-06-23 20:47:23 -0700665http_archive(
Brian Silverman6470f442018-08-05 12:08:16 -0700666 name = "patchelf",
Austin Schuhf093fa52019-06-23 20:47:23 -0700667 build_file = "@//debian:patchelf.BUILD",
Brian Silverman6470f442018-08-05 12:08:16 -0700668 sha256 = "bf8b709909d7d9e30815dd228eeded7dc282e3ce3919d0589ccbb56ac8632abc",
Austin Schuha5778ae2020-10-21 21:15:35 -0700669 url = "https://www.frc971.org/Build-Dependencies/patchelf.tar.gz",
Brian Silverman6470f442018-08-05 12:08:16 -0700670)
Brian Silverman50b9ac02018-08-12 13:24:10 -0700671
Austin Schuhf093fa52019-06-23 20:47:23 -0700672http_archive(
Brian Silverman50b9ac02018-08-12 13:24:10 -0700673 name = "arm_frc_gnueabi_deps",
Austin Schuhf093fa52019-06-23 20:47:23 -0700674 build_file = "@//debian:arm_frc_gnueabi_deps.BUILD",
Brian Silverman50b9ac02018-08-12 13:24:10 -0700675 sha256 = "4b26fe45010817dc136488ee1604ade21bd7c264c29f17d864fc6eba9d7442c4",
Austin Schuha5778ae2020-10-21 21:15:35 -0700676 url = "https://www.frc971.org/Build-Dependencies/arm_frc_gnueabi_deps.tar.gz",
Brian Silverman50b9ac02018-08-12 13:24:10 -0700677)
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700678
Austin Schuhf093fa52019-06-23 20:47:23 -0700679http_archive(
Philipp Schraderfd5489f2022-09-17 17:31:09 -0700680 name = "gtk_runtime",
681 build_file = "@//debian:gtk_runtime.BUILD",
Philipp Schrader7520ee62022-12-10 14:04:40 -0800682 sha256 = "5a6014d1783363be6bc95843d03bbb6513e650eaea60be2b1a4c65bf21981f9b",
683 url = "https://www.frc971.org/Build-Dependencies/gtk_runtime-4.tar.gz",
Philipp Schraderfd5489f2022-09-17 17:31:09 -0700684)
685
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700686# Downloaded from
687# 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 -0700688http_archive(
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700689 name = "gcc_arm_none_eabi",
Austin Schuhf093fa52019-06-23 20:47:23 -0700690 build_file = "@//:compilers/gcc_arm_none_eabi.BUILD",
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700691 sha256 = "bb17109f0ee697254a5d4ae6e5e01440e3ea8f0277f2e8169bf95d07c7d5fe69",
692 strip_prefix = "gcc-arm-none-eabi-7-2018-q2-update/",
Austin Schuha5778ae2020-10-21 21:15:35 -0700693 url = "https://www.frc971.org/Build-Dependencies/gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2",
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700694)
Austin Schuhad596222018-01-31 23:34:03 -0800695
Tyler Chatowfba57822022-03-22 19:38:41 -0700696# Java11 JDK.
Philipp Schrader6efe5732022-02-12 15:11:13 -0800697remote_java_repository(
Austin Schuhe18baff2018-10-20 17:40:42 -0700698 name = "openjdk_linux_archive",
Philipp Schrader6efe5732022-02-12 15:11:13 -0800699 prefix = "openjdk",
Tyler Chatowfba57822022-03-22 19:38:41 -0700700 sha256 = "60e65d32e38876f81ddb623e87ac26c820465b637e263e8bed1acdecb4ca9be2",
701 strip_prefix = "zulu11.54.25-ca-jdk11.0.14.1-linux_x64",
Philipp Schrader9670a2a2023-01-11 01:20:16 -0800702 target_compatible_with = [
703 "@platforms//cpu:x86_64",
704 "@platforms//os:linux",
705 ],
Austin Schuhe18baff2018-10-20 17:40:42 -0700706 urls = [
Tyler Chatowfba57822022-03-22 19:38:41 -0700707 "https://www.frc971.org/Build-Dependencies/zulu11.54.25-ca-jdk11.0.14.1-linux_x64.tar.gz",
Austin Schuhe18baff2018-10-20 17:40:42 -0700708 ],
Tyler Chatowfba57822022-03-22 19:38:41 -0700709 version = "11",
710)
711
712remote_java_repository(
713 name = "openjdk_linux_archive_aarch64",
Tyler Chatowfba57822022-03-22 19:38:41 -0700714 prefix = "openjdk",
715 sha256 = "b0fb0bc303bb05b5042ef3d0939b9489f4a49a13a2d1c8f03c5d8ab23099454d",
716 strip_prefix = "zulu11.54.25-ca-jdk11.0.14.1-linux_aarch64",
Philipp Schrader9670a2a2023-01-11 01:20:16 -0800717 target_compatible_with = [
718 "@platforms//cpu:aarch64",
719 "@platforms//os:linux",
720 ],
Tyler Chatowfba57822022-03-22 19:38:41 -0700721 urls = [
722 "https://www.frc971.org/Build-Dependencies/zulu11.54.25-ca-jdk11.0.14.1-linux_aarch64.tar.gz",
723 ],
724 version = "11",
Austin Schuhe18baff2018-10-20 17:40:42 -0700725)
726
Austin Schuhf9724442018-10-28 20:30:21 -0700727local_repository(
728 name = "com_google_protobuf",
729 path = "third_party/protobuf",
Brian Silverman9c614bc2016-02-15 20:20:02 -0500730)
Austin Schuh10358f22019-01-21 20:25:11 -0800731
732local_repository(
733 name = "com_github_google_glog",
734 path = "third_party/google-glog",
735)
Austin Schuh6defdeb2019-01-21 21:00:30 -0800736
James Kuszmaul3aabc1c2023-01-13 21:33:43 -0800737http_archive(
Alex Perrycb7da4b2019-08-28 19:35:56 -0700738 name = "com_google_googletest",
James Kuszmaul3aabc1c2023-01-13 21:33:43 -0800739 patch_args = ["-p1"],
740 patches = ["//third_party/googletest:googletest.patch"],
741 sha256 = "5c6d595243de011f8ce8cc68050cc0490726786e80cdfd6555ebfe148d920407",
742 strip_prefix = "googletest-356fc301251378e0f6fa6aa794d73714202887ac",
743 urls = ["https://github.com/google/googletest/archive/356fc301251378e0f6fa6aa794d73714202887ac.zip"],
Alex Perrycb7da4b2019-08-28 19:35:56 -0700744)
745
Austin Schuh6defdeb2019-01-21 21:00:30 -0800746# External dependency: Google Benchmark; has no Bazel build.
James Kuszmaul38169b92023-01-13 21:17:05 -0800747http_archive(
Austin Schuh6defdeb2019-01-21 21:00:30 -0800748 name = "com_github_google_benchmark",
James Kuszmaul38169b92023-01-13 21:17:05 -0800749 patch_args = ["-p1"],
750 patches = ["//third_party/google-benchmark:benchmark.patch"],
751 sha256 = "6430e4092653380d9dc4ccb45a1e2dc9259d581f4866dc0759713126056bc1d7",
752 strip_prefix = "benchmark-1.7.1",
753 urls = ["https://github.com/google/benchmark/archive/refs/tags/v1.7.1.tar.gz"],
Austin Schuhcbc17402019-01-21 21:00:30 -0800754)
Austin Schuh033df092019-01-21 19:46:48 -0800755
756local_repository(
757 name = "com_google_ceres_solver",
758 path = "third_party/ceres",
Austin Schuh70cc9552019-01-21 19:46:48 -0800759)
Austin Schuhf6b94632019-02-02 22:11:27 -0800760
Austin Schuhf093fa52019-06-23 20:47:23 -0700761http_archive(
James Kuszmaul9776b392023-01-14 14:08:08 -0800762 name = "ctre_phoenixpro_api_cpp_headers",
763 build_file_content = """
764cc_library(
765 name = 'api-cpp',
766 visibility = ['//visibility:public'],
767 hdrs = glob(['ctre/phoenixpro/**/*.hpp', 'units/*.h']),
768 includes = ["."],
769 deps = ["@//third_party/allwpilib/wpimath"],
770)
771""",
Ravago Jones2060ee62023-02-03 18:12:24 -0800772 sha256 = "7ffc54bf40814a5c101ea3159af15215f15087298cfc2ae65826f987ccf65499",
James Kuszmaul9776b392023-01-14 14:08:08 -0800773 urls = [
Ravago Jones2060ee62023-02-03 18:12:24 -0800774 "https://maven.ctr-electronics.com/release/com/ctre/phoenixpro/api-cpp/23.0.5/api-cpp-23.0.5-headers.zip",
James Kuszmaul9776b392023-01-14 14:08:08 -0800775 ],
776)
777
778http_archive(
779 name = "ctre_phoenixpro_api_cpp_athena",
780 build_file_content = """
781filegroup(
782 name = 'shared_libraries',
783 srcs = [
784 'linux/athena/shared/libCTRE_PhoenixPro.so',
785 ],
786 visibility = ['//visibility:public'],
787)
788
789cc_library(
790 name = 'api-cpp',
791 visibility = ['//visibility:public'],
792 srcs = ['linux/athena/shared/libCTRE_PhoenixPro.so'],
793 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
794)
795""",
Ravago Jones2060ee62023-02-03 18:12:24 -0800796 sha256 = "1e8a487cb538388de437d04985512533a9dea79e6c56ee0f319c5eb80260fcab",
James Kuszmaul9776b392023-01-14 14:08:08 -0800797 urls = [
Ravago Jones2060ee62023-02-03 18:12:24 -0800798 "https://maven.ctr-electronics.com/release/com/ctre/phoenixpro/api-cpp/23.0.5/api-cpp-23.0.5-linuxathena.zip",
James Kuszmaul9776b392023-01-14 14:08:08 -0800799 ],
800)
801
802http_archive(
803 name = "ctre_phoenixpro_tools_headers",
804 build_file_content = """
805cc_library(
806 name = 'tools',
807 visibility = ['//visibility:public'],
808 hdrs = glob(['ctre/**/*.h', 'ctre/**/*.hpp']),
809)
810""",
Ravago Jones2060ee62023-02-03 18:12:24 -0800811 sha256 = "51c52dfce4c2491887a7b7380e2f17e93a4092b6ac9f60d716738447a8ebedd7",
James Kuszmaul9776b392023-01-14 14:08:08 -0800812 urls = [
Ravago Jones2060ee62023-02-03 18:12:24 -0800813 "https://maven.ctr-electronics.com/release/com/ctre/phoenixpro/tools/23.0.5/tools-23.0.5-headers.zip",
James Kuszmaul9776b392023-01-14 14:08:08 -0800814 ],
815)
816
817http_archive(
818 name = "ctre_phoenixpro_tools_athena",
819 build_file_content = """
820filegroup(
821 name = 'shared_libraries',
822 srcs = [
823 'linux/athena/shared/libCTRE_PhoenixTools.so',
824 ],
825 visibility = ['//visibility:public'],
826)
827
828cc_library(
829 name = 'tools',
830 visibility = ['//visibility:public'],
831 srcs = ['linux/athena/shared/libCTRE_PhoenixTools.so'],
832 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
833)
834""",
Ravago Jones2060ee62023-02-03 18:12:24 -0800835 sha256 = "9fb137321745c1eff63bdcfe486806afb46ede11ea4d4c59461320845698cc1e",
James Kuszmaul9776b392023-01-14 14:08:08 -0800836 urls = [
Ravago Jones2060ee62023-02-03 18:12:24 -0800837 "https://maven.ctr-electronics.com/release/com/ctre/phoenixpro/tools/23.0.5/tools-23.0.5-linuxathena.zip",
James Kuszmaul9776b392023-01-14 14:08:08 -0800838 ],
839)
840
841http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800842 name = "ctre_phoenix_api_cpp_headers",
Austin Schuhf6b94632019-02-02 22:11:27 -0800843 build_file_content = """
844cc_library(
845 name = 'api-cpp',
846 visibility = ['//visibility:public'],
847 hdrs = glob(['ctre/phoenix/**/*.h']),
848)
849""",
James Kuszmaul9776b392023-01-14 14:08:08 -0800850 sha256 = "93cc41c53e98bbcd5db7b0631ab95a7de7744527d5847d2e795e6c8acec46bf8",
Austin Schuhf6b94632019-02-02 22:11:27 -0800851 urls = [
James Kuszmaul9776b392023-01-14 14:08:08 -0800852 "https://maven.ctr-electronics.com/release/com/ctre/phoenix/api-cpp/5.30.2/api-cpp-5.30.2-headers.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800853 ],
854)
855
Austin Schuhf093fa52019-06-23 20:47:23 -0700856http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800857 name = "ctre_phoenix_api_cpp_athena",
Austin Schuhf6b94632019-02-02 22:11:27 -0800858 build_file_content = """
Austin Schuhde605f12022-02-23 23:08:19 -0800859filegroup(
860 name = 'shared_libraries',
861 srcs = [
862 'linux/athena/shared/libCTRE_Phoenix.so',
863 ],
864 visibility = ['//visibility:public'],
865)
866
Austin Schuhf6b94632019-02-02 22:11:27 -0800867cc_library(
868 name = 'api-cpp',
869 visibility = ['//visibility:public'],
Austin Schuhde605f12022-02-23 23:08:19 -0800870 srcs = ['linux/athena/shared/libCTRE_Phoenix.so'],
Philipp Schraderdada1072020-11-24 11:34:46 -0800871 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
Austin Schuhf6b94632019-02-02 22:11:27 -0800872)
873""",
James Kuszmaul9776b392023-01-14 14:08:08 -0800874 sha256 = "63889beeeaac8bbef2573d23f1a9500b6382d28ab91c78f3605b6b624c27d68e",
Austin Schuhf6b94632019-02-02 22:11:27 -0800875 urls = [
James Kuszmaul9776b392023-01-14 14:08:08 -0800876 "https://maven.ctr-electronics.com/release/com/ctre/phoenix/api-cpp/5.30.2/api-cpp-5.30.2-linuxathena.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800877 ],
878)
879
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800880http_archive(
881 name = "ctre_phoenix_cci_headers",
Austin Schuhf6b94632019-02-02 22:11:27 -0800882 build_file_content = """
883cc_library(
884 name = 'cci',
885 visibility = ['//visibility:public'],
886 hdrs = glob(['ctre/phoenix/**/*.h']),
887)
888""",
James Kuszmaul9776b392023-01-14 14:08:08 -0800889 sha256 = "d41dd70aa4397cba934292e636c90511e571a56971f696348851fcd3bb88894d",
Austin Schuhf6b94632019-02-02 22:11:27 -0800890 urls = [
James Kuszmaul9776b392023-01-14 14:08:08 -0800891 "https://maven.ctr-electronics.com/release/com/ctre/phoenix/cci/5.30.2/cci-5.30.2-headers.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800892 ],
893)
894
Austin Schuhf093fa52019-06-23 20:47:23 -0700895http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800896 name = "ctre_phoenix_cci_athena",
Austin Schuhf6b94632019-02-02 22:11:27 -0800897 build_file_content = """
Austin Schuhde605f12022-02-23 23:08:19 -0800898filegroup(
899 name = 'shared_libraries',
900 srcs = [
901 'linux/athena/shared/libCTRE_PhoenixCCI.so',
902 ],
903 visibility = ['//visibility:public'],
904)
905
Austin Schuhf6b94632019-02-02 22:11:27 -0800906cc_library(
907 name = 'cci',
908 visibility = ['//visibility:public'],
Austin Schuhde605f12022-02-23 23:08:19 -0800909 srcs = ['linux/athena/shared/libCTRE_PhoenixCCI.so'],
Philipp Schraderdada1072020-11-24 11:34:46 -0800910 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
Austin Schuhf6b94632019-02-02 22:11:27 -0800911)
912""",
James Kuszmaul9776b392023-01-14 14:08:08 -0800913 sha256 = "b01f78b74ffcf01f48636dca894942e801ec6eac3daadcea7d65c4b74a80a056",
Austin Schuhf6b94632019-02-02 22:11:27 -0800914 urls = [
James Kuszmaul9776b392023-01-14 14:08:08 -0800915 "https://maven.ctr-electronics.com/release/com/ctre/phoenix/cci/5.30.2/cci-5.30.2-linuxathena.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800916 ],
917)
Austin Schuheed14442019-03-23 14:42:46 -0700918
919http_archive(
Philipp Schrader175a93c2023-02-19 13:13:40 -0800920 name = "aspect_rules_js",
921 sha256 = "9fadde0ae6e0101755b8aedabf7d80b166491a8de297c60f6a5179cd0d0fea58",
922 strip_prefix = "rules_js-1.20.0",
923 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 -0700924)
Austin Schuheed14442019-03-23 14:42:46 -0700925
Philipp Schrader175a93c2023-02-19 13:13:40 -0800926load("@aspect_rules_js//npm:npm_import.bzl", "npm_translate_lock", "pnpm_repository")
Austin Schuheed14442019-03-23 14:42:46 -0700927
Philipp Schrader175a93c2023-02-19 13:13:40 -0800928pnpm_repository(name = "pnpm")
Austin Schuheed14442019-03-23 14:42:46 -0700929
Philipp Schrader175a93c2023-02-19 13:13:40 -0800930load("@aspect_rules_js//js:repositories.bzl", "rules_js_dependencies")
Philipp Schrader87277f42022-01-01 07:45:12 -0800931
Philipp Schrader175a93c2023-02-19 13:13:40 -0800932rules_js_dependencies()
Philipp Schrader54047962022-02-16 21:05:11 -0800933
Alex Perryb3168082022-01-22 13:36:13 -0800934http_archive(
Philipp Schrader175a93c2023-02-19 13:13:40 -0800935 name = "aspect_rules_esbuild",
936 sha256 = "b98cde83e9e6a006d8300e88e2f09da56b5a6c18166465a224cfe36bdcbc03e0",
937 strip_prefix = "aspect-build-rules_esbuild-110b94c",
938 type = "tar.gz",
939 url = "https://github.com/aspect-build/rules_esbuild/tarball/110b94c7f16f328a0eab8aa0b862030055b86564",
940)
941
942load("@aspect_rules_esbuild//esbuild:dependencies.bzl", "rules_esbuild_dependencies")
943
944rules_esbuild_dependencies()
945
946load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
947
948nodejs_register_toolchains(
949 name = "nodejs",
950 node_version = DEFAULT_NODE_VERSION,
951)
952
953npm_translate_lock(
954 name = "npm",
955 data = [
956 "@//:package.json",
957 "@//:pnpm-workspace.yaml",
958 "@//scouting/www:package.json",
959 "@//scouting/www/counter_button:package.json",
960 "@//scouting/www/driver_ranking:package.json",
961 "@//scouting/www/entry:package.json",
962 "@//scouting/www/import_match_list:package.json",
963 "@//scouting/www/match_list:package.json",
964 "@//scouting/www/notes:package.json",
965 "@//scouting/www/rpc:package.json",
966 "@//scouting/www/shift_schedule:package.json",
967 "@//scouting/www/view:package.json",
Philipp Schrader54047962022-02-16 21:05:11 -0800968 ],
Philipp Schrader175a93c2023-02-19 13:13:40 -0800969
970 # Running lifecycle hooks on npm package fsevents@2.3.2 fails in a dramatic way:
971 # ```
972 # SyntaxError: Unexpected strict mode reserved word
973 # at ESMLoader.moduleStrategy (node:internal/modules/esm/translators:117:18)
974 # at ESMLoader.moduleProvider (node:internal/modules/esm/loader:337:14)
975 # at async link (node:internal/modules/esm/module_job:70:21)
976 # ```
977 lifecycle_hooks_no_sandbox = False,
978 npmrc = "@//:.npmrc",
979 pnpm_lock = "//:pnpm-lock.yaml",
980 quiet = False,
981 update_pnpm_lock = False,
982 verify_node_modules_ignored = "//:.bazelignore",
983)
984
985load("@aspect_rules_esbuild//esbuild:repositories.bzl", "esbuild_register_toolchains", LATEST_ESBUILD_VERSION = "LATEST_VERSION")
986
987esbuild_register_toolchains(
988 name = "esbuild",
989 esbuild_version = LATEST_ESBUILD_VERSION,
990)
991
992http_archive(
993 name = "aspect_rules_rollup",
994 patch_args = [
995 "-p1",
996 ],
997 patches = [
998 "//third_party:rules_rollup/0001-Fix-resolving-files.patch",
999 ],
1000 sha256 = "4c43d20ce377b93cd43a3553e6159a17b85ce80c36a564b55051c2320d32b777",
1001 strip_prefix = "rules_rollup-0.13.1",
1002 url = "https://github.com/aspect-build/rules_rollup/releases/download/v0.13.1/rules_rollup-v0.13.1.tar.gz",
1003)
1004
1005load("@aspect_rules_rollup//rollup:dependencies.bzl", "rules_rollup_dependencies")
1006
1007# Fetches the rules_rollup dependencies.
1008# If you want to have a different version of some dependency,
1009# you should fetch it *before* calling this.
1010# Alternatively, you can skip calling this function, so long as you've
1011# already fetched all the dependencies.
1012rules_rollup_dependencies()
1013
1014load("@aspect_rules_rollup//rollup:repositories.bzl", "rollup_repositories")
1015
1016rollup_repositories(name = "rollup")
1017
1018load("@rollup//:npm_repositories.bzl", rollup_npm_repositories = "npm_repositories")
1019
1020rollup_npm_repositories()
1021
1022http_archive(
1023 name = "aspect_rules_terser",
1024 sha256 = "918e7ac036eca1402cae4d4ddba75ecdcdd886ac35bc0624d9f1ebc7527e369b",
1025 strip_prefix = "rules_terser-0.13.0",
1026 url = "https://github.com/aspect-build/rules_terser/archive/refs/tags/v0.13.0.tar.gz",
1027)
1028
1029load("@aspect_rules_terser//terser:dependencies.bzl", "rules_terser_dependencies")
1030
1031rules_terser_dependencies()
1032
1033# Fetch and register a nodejs interpreter, if you haven't already
1034
1035nodejs_register_toolchains(
1036 name = "node",
1037 node_version = DEFAULT_NODE_VERSION,
1038)
1039
1040# Fetch and register the terser tool
1041load("@aspect_rules_terser//terser:repositories.bzl", "terser_repositories")
1042
1043terser_repositories(name = "terser")
1044
1045load("@terser//:npm_repositories.bzl", terser_npm_repositories = "npm_repositories")
1046
1047terser_npm_repositories()
1048
1049http_archive(
1050 name = "aspect_rules_ts",
1051 sha256 = "db77d904284d21121ae63dbaaadfd8c75ff6d21ad229f92038b415c1ad5019cc",
1052 strip_prefix = "rules_ts-1.3.0",
1053 url = "https://github.com/aspect-build/rules_ts/releases/download/v1.3.0/rules_ts-v1.3.0.tar.gz",
1054)
1055
1056load("@aspect_rules_ts//ts:repositories.bzl", "rules_ts_dependencies")
1057
1058rules_ts_dependencies(ts_version_from = "//:package.json")
1059
1060load("@npm//:repositories.bzl", "npm_repositories")
1061
1062npm_repositories()
1063
1064http_archive(
1065 name = "aspect_rules_cypress",
1066 sha256 = "06d70a2960108607d2e70f9bc6863af6b82317fdfcf7a5a30fd226a5abc46782",
1067 strip_prefix = "aspect-build-rules_cypress-3db1b74",
1068 type = "tar.gz",
1069 urls = [
1070 "https://github.com/aspect-build/rules_cypress/tarball/3db1b74818ac4ce1b9d489a6e0065b36c1076761",
1071 ],
1072)
1073
1074load("@aspect_rules_cypress//cypress:dependencies.bzl", "rules_cypress_dependencies")
1075load("@aspect_rules_cypress//cypress:repositories.bzl", "cypress_register_toolchains")
1076
1077rules_cypress_dependencies()
1078
1079cypress_register_toolchains(
1080 name = "cypress",
1081 cypress_version = "12.3.0",
1082)
1083
1084# Copied from:
1085# https://github.com/aspect-build/rules_cypress/blob/3db1b74818ac4ce1b9d489a6e0065b36c1076761/internal_deps.bzl#L47
1086#
1087# To update CHROME_REVISION, use the below script
1088#
1089# LASTCHANGE_URL="https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Linux_x64%2FLAST_CHANGE?alt=media"
1090# CHROME_REVISION=$(curl -s -S $LASTCHANGE_URL)
1091# echo "latest CHROME_REVISION_LINUX is $CHROME_REVISION"
1092CHROME_REVISION_LINUX = "1072361"
1093
1094http_archive(
1095 name = "chrome_linux",
1096 build_file_content = """filegroup(
1097name = "all",
1098srcs = glob(["**"]),
1099visibility = ["//visibility:public"],
1100)""",
1101 sha256 = "0df22f743facd1e090eff9b7f8d8bdc293fb4dc31ce9156d2ef19b515974a72b",
1102 strip_prefix = "chrome-linux",
1103 urls = [
1104 "https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Linux_x64%2F" + CHROME_REVISION_LINUX + "%2Fchrome-linux.zip?alt=media",
1105 ],
Alex Perryb3168082022-01-22 13:36:13 -08001106)
1107
Brian Silvermane84b0cf2022-08-13 19:36:21 -07001108http_archive(
1109 name = "rules_rust_tinyjson",
1110 build_file = "@rules_rust//util/process_wrapper:BUILD.tinyjson.bazel",
1111 sha256 = "1a8304da9f9370f6a6f9020b7903b044aa9ce3470f300a1fba5bc77c78145a16",
1112 strip_prefix = "tinyjson-2.3.0",
1113 type = "tar.gz",
1114 url = "https://crates.io/api/v1/crates/tinyjson/2.3.0/download",
1115)
1116
Brian Silverman01dfd872022-04-06 22:20:40 -07001117local_repository(
Ravago Jones16809802021-11-18 20:40:03 -08001118 name = "rules_rust",
Brian Silverman01dfd872022-04-06 22:20:40 -07001119 path = "third_party/rules_rust",
Ravago Jones16809802021-11-18 20:40:03 -08001120)
1121
Brian Silvermane84b0cf2022-08-13 19:36:21 -07001122load("@rules_rust//rust:repositories.bzl", "rust_repository_set")
Ravago Jones16809802021-11-18 20:40:03 -08001123
Brian Silvermane84b0cf2022-08-13 19:36:21 -07001124rust_repository_set(
Ravago Jones16809802021-11-18 20:40:03 -08001125 name = "rust",
Brian Silverman8751d482022-05-18 23:28:44 -07001126 allocator_library = "@//tools/rust:forward_allocator",
Ravago Jones16809802021-11-18 20:40:03 -08001127 edition = "2021",
1128 exec_triple = "x86_64-unknown-linux-gnu",
1129 extra_target_triples = [
1130 "arm-unknown-linux-gnueabi",
1131 "armv7-unknown-linux-gnueabihf",
Philipp Schraderf1bbf342022-02-05 14:30:15 -08001132 "aarch64-unknown-linux-gnu",
Ravago Jones16809802021-11-18 20:40:03 -08001133 ],
Brian Silvermane84b0cf2022-08-13 19:36:21 -07001134 register_toolchain = False,
Brian Silvermana8ad1af2022-07-23 16:05:12 -07001135 rustfmt_version = "1.62.0",
Brian Silvermana8ad1af2022-07-23 16:05:12 -07001136 version = "1.62.0",
Ravago Jones16809802021-11-18 20:40:03 -08001137)
1138
Austin Schuh4ac96a82019-08-14 20:24:23 -07001139# Flatbuffers
1140local_repository(
1141 name = "com_github_google_flatbuffers",
1142 path = "third_party/flatbuffers",
1143)
James Kuszmaul7daef362019-12-31 18:28:17 -08001144
1145http_file(
1146 name = "sample_logfile",
1147 downloaded_file_path = "log.fbs",
milind945708b2021-07-03 13:30:15 -07001148 sha256 = "45d1d19fb82786c476d3f21a8d62742abaeeedf4c16a00ec37ae350dcb61f1fc",
1149 urls = ["https://www.frc971.org/Build-Dependencies/small_sample_logfile2.fbs"],
James Kuszmaul7daef362019-12-31 18:28:17 -08001150)
Brian Silvermand4260c72020-01-14 00:08:02 -08001151
James Kuszmaul9c128122021-03-22 22:24:36 -07001152http_archive(
James Kuszmaul531609d2020-02-18 17:12:23 -08001153 name = "drivetrain_replay",
James Kuszmaul9c128122021-03-22 22:24:36 -07001154 build_file_content = """
1155filegroup(
1156 name = "drivetrain_replay",
1157 srcs = glob(["**/*.bfbs"]),
1158 visibility = ["//visibility:public"],
1159)
1160 """,
1161 sha256 = "115dcd2fe005cb9cad3325707aa7f4466390c43a08555edf331c06c108bdf692",
1162 url = "https://www.frc971.org/Build-Dependencies/2021-03-20_drivetrain_spin_wheels.tar.gz",
James Kuszmaul531609d2020-02-18 17:12:23 -08001163)
1164
milind-u7baf7342021-08-25 18:31:26 -07001165http_archive(
1166 name = "superstructure_replay",
1167 build_file_content = """
1168filegroup(
1169 name = "superstructure_replay",
1170 srcs = glob(["**/*.bfbs"]),
1171 visibility = ["//visibility:public"],
1172)
1173 """,
milind-u200b2762021-11-06 19:36:15 -07001174 sha256 = "2b9a3ecc83f2aba89a1909ae38fe51e6718a5b4d0e7c131846dfb2845df9cd19",
1175 url = "https://www.frc971.org/Build-Dependencies/2021-10-03_superstructure_shoot_balls.tar.gz",
milind-u7baf7342021-08-25 18:31:26 -07001176)
1177
Philipp Schraderf1bbf342022-02-05 14:30:15 -08001178# OpenCV arm64 (for raspberry pi)
1179http_archive(
1180 name = "opencv_arm64",
1181 build_file = "@//debian:opencv.BUILD",
1182 sha256 = "d284fae46ca710cf24c81ff7ace34929773466bff38f365a80371bea3b36a2ed",
1183 url = "https://www.frc971.org/Build-Dependencies/opencv_arm64.tar.gz",
1184)
1185
Brian Silvermand4260c72020-01-14 00:08:02 -08001186# OpenCV armhf (for raspberry pi)
1187http_archive(
1188 name = "opencv_armhf",
1189 build_file = "@//debian:opencv.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -08001190 sha256 = "064165507bad1afa8f7b22961a9a9067b243abc70064d713d26b37bc8dc2bf56",
1191 url = "https://www.frc971.org/Build-Dependencies/opencv_armhf_v4.tar.gz",
Brian Silvermand4260c72020-01-14 00:08:02 -08001192)
Brian Silvermand97a47c2020-01-16 00:47:53 -08001193
1194http_archive(
1195 name = "opencv_k8",
1196 build_file = "@//debian:opencv.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -08001197 sha256 = "b730f5d0c8eb59411157b4e84bfdddd3a6fceed10b842716d9d1b74ad322ea14",
1198 url = "https://www.frc971.org/Build-Dependencies/opencv_amd64_v3.tar.gz",
Brian Silvermand97a47c2020-01-16 00:47:53 -08001199)
Brian Silverman764945b2020-01-16 23:40:43 -08001200
Brian Silverman764945b2020-01-16 23:40:43 -08001201http_archive(
1202 name = "halide_k8",
1203 build_file = "@//debian:halide.BUILD",
Austin Schuh669068e2023-01-04 20:50:34 -08001204 sha256 = "be3bdd067acb9ee0d37d0830821113cd69174bee46da466a836d8829fef7cf91",
1205 strip_prefix = "Halide-14.0.0-x86-64-linux/",
1206 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 -08001207)
1208
Philipp Schraderf1bbf342022-02-05 14:30:15 -08001209http_archive(
1210 name = "halide_arm64",
1211 build_file = "@//debian:halide.BUILD",
Austin Schuh669068e2023-01-04 20:50:34 -08001212 sha256 = "cdd42411bcbba682f73d7db0af69837c4857ee90f1727c6feb37fc9a98132385",
1213 strip_prefix = "Halide-14.0.0-arm-64-linux/",
1214 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 -08001215)
1216
Brian Silverman764945b2020-01-16 23:40:43 -08001217http_archive(
1218 name = "halide_armhf",
1219 build_file = "@//debian:halide.BUILD",
Austin Schuh669068e2023-01-04 20:50:34 -08001220 sha256 = "6b3fe3396391b57990a2c41d8dcea74b0734d1b2a0fd42fe0858d954aa45df2b",
1221 strip_prefix = "Halide-14.0.0-arm-32-linux/",
1222 url = "https://github.com/halide/Halide/releases/download/v14.0.0/Halide-14.0.0-arm-32-linux-6b9ed2afd1d6d0badf04986602c943e287d44e46.tar.gz",
Brian Silverman764945b2020-01-16 23:40:43 -08001223)
Brian Silverman4fe44ea2020-02-02 12:56:42 -08001224
Austin Schuh2e28d872022-02-19 18:25:57 -08001225http_archive(
Tyler Chatow60671d32020-02-26 19:49:30 -08001226 name = "gstreamer_k8",
1227 build_file = "@//debian:gstreamer.BUILD",
Tyler Chatow6eda82c2022-03-27 22:37:38 -07001228 sha256 = "d4994261a432c188716f0bdf30fc3f0dff6727319d9c58e7156e2b3ed5105248",
1229 url = "https://www.frc971.org/Build-Dependencies/gstreamer_1.20.1-1~bpo11+1_amd64.tar.gz",
Tyler Chatow60671d32020-02-26 19:49:30 -08001230)
1231
1232http_archive(
1233 name = "gstreamer_armhf",
1234 build_file = "@//debian:gstreamer.BUILD",
1235 sha256 = "c5ac4c604952c274a50636e244f0d091bd1de302032446f24f0e9e03ae9c76f7",
Austin Schuha5778ae2020-10-21 21:15:35 -07001236 url = "https://www.frc971.org/Build-Dependencies/gstreamer_armhf.tar.gz",
Tyler Chatow60671d32020-02-26 19:49:30 -08001237)
James Kuszmaulc91e4402020-05-10 18:47:20 -07001238
Tyler Chatow6eda82c2022-03-27 22:37:38 -07001239http_archive(
1240 name = "gstreamer_arm64",
1241 build_file = "@//debian:gstreamer.BUILD",
1242 sha256 = "42b414c565ffdbae3d2d7796a66da9de42a650de757fa6554fd624f0cc3aaa9b",
1243 url = "https://www.frc971.org/Build-Dependencies/gstreamer_1.20.1-1~bpo11+1_arm64.tar.gz",
1244)
1245
Brian Silvermanf59fe3f2020-09-22 21:04:09 -07001246# //debian:lzma_amd64
1247http_archive(
1248 name = "lzma_amd64",
1249 build_file_content = """
1250cc_library(
1251 name = "lib",
1252 srcs = [
1253 "usr/lib/x86_64-linux-gnu/liblzma.a",
1254 ],
1255 hdrs = glob([
1256 "usr/include/lzma/*.h",
1257 "usr/include/*.h",
1258 ]),
1259 strip_include_prefix = "usr/include",
1260 visibility = ["//visibility:public"],
1261)
1262""",
Austin Schuhe6751772022-06-27 00:58:26 -07001263 sha256 = "6fa0ad579b78bd41a0133024c34063b140442dd2ad4201fd2bf4c55229e7c13f",
1264 urls = ["https://www.frc971.org/Build-Dependencies/lzma_amd64-2.tar.gz"],
Brian Silvermanf59fe3f2020-09-22 21:04:09 -07001265)
1266
1267# //debian:lzma_arm64
1268http_archive(
1269 name = "lzma_arm64",
1270 build_file_content = """
1271cc_library(
1272 name = "lib",
1273 srcs = [
1274 "usr/lib/aarch64-linux-gnu/liblzma.a",
1275 ],
1276 hdrs = glob([
1277 "usr/include/lzma/*.h",
1278 "usr/include/*.h",
1279 ]),
1280 strip_include_prefix = "usr/include",
1281 visibility = ["//visibility:public"],
1282)
1283""",
Austin Schuhc020b182022-06-29 19:54:01 -07001284 sha256 = "b4ab9fd7cf3bfdb9e3fc67ac4a3c84db7f7e3c48431ccfc6e6e210f5829d17c9",
1285 urls = ["https://www.frc971.org/Build-Dependencies/lzma_arm64-2.tar.gz"],
Brian Silvermanf59fe3f2020-09-22 21:04:09 -07001286)
James Kuszmaul2cffe852021-10-27 20:17:49 -07001287
1288local_repository(
1289 name = "snappy",
1290 path = "third_party/snappy",
1291)
Philipp Schrader73e56602021-12-06 21:37:30 -08001292
1293http_archive(
1294 name = "io_bazel_rules_go",
Philipp Schrader039f5c32022-01-20 22:30:01 -08001295 patch_args = [
1296 "-p1",
1297 ],
1298 patches = [
1299 "@//third_party:rules_go/0001-Disable-warnings-for-external-repositories.patch",
1300 ],
Philipp Schrader73e56602021-12-06 21:37:30 -08001301 sha256 = "2b1641428dff9018f9e85c0384f03ec6c10660d935b750e3fa1492a281a53b0f",
1302 urls = [
1303 "https://www.frc971.org/Build-Dependencies/rules_go-v0.29.0.zip",
1304 "https://github.com/bazelbuild/rules_go/releases/download/v0.29.0/rules_go-v0.29.0.zip",
1305 ],
1306)
1307
Philipp Schrader37fdbb62021-12-18 00:30:37 -08001308http_archive(
1309 name = "bazel_gazelle",
1310 sha256 = "de69a09dc70417580aabf20a28619bb3ef60d038470c7cf8442fafcf627c21cb",
1311 urls = [
1312 "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz",
1313 "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz",
1314 ],
1315)
1316
Philipp Schrader73e56602021-12-06 21:37:30 -08001317load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
1318
1319go_rules_dependencies()
1320
Philipp Schrader6097ed12022-03-26 15:37:37 -07001321go_register_toolchains(version = "1.18")
Philipp Schrader37fdbb62021-12-18 00:30:37 -08001322
1323load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
1324load("//:go_deps.bzl", "go_dependencies")
1325load("//tools/go:mirrored_go_deps.bzl", "mirrored_go_dependencies")
1326
1327mirrored_go_dependencies()
1328
1329# gazelle:repository_macro go_deps.bzl%go_dependencies
1330go_dependencies()
1331
1332gazelle_dependencies()
Philipp Schradercc016b32021-12-30 08:59:58 -08001333
1334http_archive(
1335 name = "com_github_bazelbuild_buildtools",
1336 sha256 = "44a6e5acc007e197d45ac3326e7f993f0160af9a58e8777ca7701e00501c0857",
1337 strip_prefix = "buildtools-4.2.4",
1338 urls = [
1339 "https://github.com/bazelbuild/buildtools/archive/refs/tags/4.2.4.tar.gz",
1340 ],
1341)
Philipp Schrader0f5d2502022-03-08 22:44:55 -08001342
1343http_archive(
Tyler Chatowec100e22022-03-22 16:23:04 -07001344 name = "libtinfo5_amd64",
Tyler Chatow8a51ac62022-03-15 13:23:12 -07001345 build_file_content = """
1346exports_files(
1347 [
1348 'lib/x86_64-linux-gnu/libtinfo.so.5',
1349 'lib/x86_64-linux-gnu/libtinfo.so.5.9',
1350 ],
1351 ["//visibility:public"],
1352)
1353""",
1354 patch_cmds = ["touch lib/x86_64-linux-gnu/BUILD"],
1355 sha256 = "059e14f77dce365c57b96284aae98c892f61e269b3fbb7d07714b7135c2e5617",
1356 urls = ["https://www.frc971.org/Build-Dependencies/libtinfo5_amd64.tar.gz"],
1357)
Tyler Chatowec100e22022-03-22 16:23:04 -07001358
1359http_archive(
1360 name = "libtinfo5_arm64",
1361 build_file_content = """
1362exports_files(
1363 [
1364 'lib/aarch64-linux-gnu/libtinfo.so.5',
1365 'lib/aarch64-linux-gnu/libtinfo.so.5.9',
1366 ],
1367 ["//visibility:public"],
1368)
1369""",
1370 patch_cmds = ["touch lib/aarch64-linux-gnu/BUILD"],
1371 sha256 = "df4ea5194c80df8d1f5f6ed68b47ce9dbf78aa8cdebbc61cf00654d9075f8e3c",
1372 urls = ["https://www.frc971.org/Build-Dependencies/libtinfo5_arm64.tar.gz"],
1373)
James Kuszmaul4ed5fb12022-03-22 15:20:04 -07001374
Philipp Schraderf60e7d72023-02-19 17:07:22 -08001375http_archive(
1376 name = "xvfb_amd64",
1377 build_file = "//third_party:xvfb/xvfb.BUILD",
1378 patch_cmds = [
1379 "unlink usr/bin/X11",
1380 ],
1381 sha256 = "a7491bf6c47ed0037992fa493f9c25af3ab00a695d706e1fdc122a8b798c0d7c",
1382 urls = ["https://www.frc971.org/Build-Dependencies/xvfb_amd64.tar.gz"],
1383)
1384
James Kuszmaul4ed5fb12022-03-22 15:20:04 -07001385local_repository(
1386 name = "com_github_nlohmann_json",
1387 path = "third_party/com_github_nlohmann_json",
1388)
James Kuszmaul5c56ed32022-03-30 15:10:07 -07001389
Austin Schuh86110712022-09-16 15:40:54 -07001390# https://curl.haxx.se/download/curl-7.69.1.tar.gz
1391http_archive(
1392 name = "com_github_curl_curl",
1393 build_file = "//debian:curl.BUILD",
1394 sha256 = "01ae0c123dee45b01bbaef94c0bc00ed2aec89cb2ee0fd598e0d302a6b5e0a98",
1395 strip_prefix = "curl-7.69.1",
1396 url = "https://www.frc971.org/Build-Dependencies/curl-7.69.1.tar.gz",
1397)
1398
1399http_archive(
1400 # No official name exists. Names used in our external dependencies include
1401 # zlib, madler_zlib, com_github_madler_zlib.
1402 name = "zlib",
1403 build_file = "//debian:BUILD.zlib.bazel",
1404 sha256 = "629380c90a77b964d896ed37163f5c3a34f6e6d897311f1df2a7016355c45eff",
1405 strip_prefix = "zlib-1.2.11",
1406 urls = [
1407 "https://github.com/madler/zlib/archive/v1.2.11.tar.gz",
1408 ],
1409)
1410
1411# 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 -08001412# git clone -b 1.10.34 --recurse-submodules --depth=1 https://github.com/aws/aws-sdk-cpp
Austin Schuh86110712022-09-16 15:40:54 -07001413# cd aws-sdk-cpp
1414# 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/\)')
1415# Now run the command that printed, and the output will be at aws_sdk-version.tar.gz.
1416http_archive(
1417 name = "aws_sdk",
1418 build_file = "//debian:aws_sdk.BUILD",
1419 patch_args = ["-p1"],
1420 patches = ["//debian:aws_sdk.patch"],
James Kuszmaulb0931ac2023-01-24 14:23:13 -08001421 sha256 = "de6570d10c246189fd8c02100f7f0d9af8499a3ef94a131eeb85619f3bd6c604",
1422 url = "https://www.frc971.org/Build-Dependencies/aws_sdk-1.10.34.tar.gz",
Austin Schuh86110712022-09-16 15:40:54 -07001423)
1424
James Kuszmaul5ab990d2022-11-07 16:35:49 -08001425# Source code of LZ4 (files under lib/) are under BSD 2-Clause.
1426# The rest of the repository (build information, documentation, etc.) is under GPLv2.
1427# We only care about the lib/ subfolder anyways, and strip out any other files.
1428http_archive(
1429 name = "com_github_lz4_lz4",
1430 build_file = "//debian:BUILD.lz4.bazel",
1431 sha256 = "0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b",
1432 strip_prefix = "lz4-1.9.4/lib",
1433 url = "https://github.com/lz4/lz4/archive/refs/tags/v1.9.4.tar.gz",
1434)
1435
James Kuszmaul5c56ed32022-03-30 15:10:07 -07001436http_file(
1437 name = "com_github_foxglove_mcap_mcap",
1438 executable = True,
James Kuszmaul5ab990d2022-11-07 16:35:49 -08001439 sha256 = "ae745dd09cf4c9570c1c038a72630c07b073f0ed4b05983d64108ff748a40d3f",
1440 urls = ["https://github.com/foxglove/mcap/releases/download/releases%2Fmcap-cli%2Fv0.0.22/mcap-linux-amd64"],
James Kuszmaul5c56ed32022-03-30 15:10:07 -07001441)
Brian Silverman0aa13732022-05-19 23:14:08 -07001442
1443http_archive(
1444 name = "cargo_raze",
1445 patches = ["@//third_party/cargo_raze:cargo_raze.patch"],
1446 sha256 = "08bfc8859ff686ecb55005a3c4a9cf790115de0abdbcc69cf57b15be0745a859",
1447 strip_prefix = "cargo-raze-0.14.2",
1448 url = "https://github.com/google/cargo-raze/archive/v0.14.2.tar.gz",
1449)
1450
1451http_archive(
1452 name = "rules_foreign_cc",
1453 patch_args = ["-p1"],
1454 patches = ["@//third_party/rules_foreign_cc:backport_d93bd96dc719760c968b54730258ad0a5b10f8fb.patch"],
1455 sha256 = "69023642d5781c68911beda769f91fcbc8ca48711db935a75da7f6536b65047f",
1456 strip_prefix = "rules_foreign_cc-0.6.0",
1457 url = "https://github.com/bazelbuild/rules_foreign_cc/archive/0.6.0.tar.gz",
1458)
1459
1460load("@cargo_raze//:repositories.bzl", "cargo_raze_repositories")
1461
1462cargo_raze_repositories()
1463
1464# cargo_raze_transitive_deps wants to do `rust_repositories`, which we do
1465# manually to get the right platforms. rules_foreign_cc is currently the only
1466# other thing it has, so just do that manually.
1467load("@rules_foreign_cc//foreign_cc:repositories.bzl", "rules_foreign_cc_dependencies")
1468
1469rules_foreign_cc_dependencies()
Brian Silverman547eda02022-05-19 23:14:08 -07001470
1471load("//third_party/cargo:crates.bzl", "raze_fetch_remote_crates")
1472
1473raze_fetch_remote_crates()
James Kuszmaul0de4feb2022-04-15 12:16:59 -07001474
1475http_archive(
1476 name = "com_github_zaphoyd_websocketpp",
1477 build_file = "//third_party/websocketpp:websocketpp.BUILD",
Ravago Jones0c74c122023-01-08 15:20:19 -08001478 patch_args = ["-p1"],
1479 patches = ["//third_party/websocketpp:websocketpp.patch"],
James Kuszmaul0de4feb2022-04-15 12:16:59 -07001480 sha256 = "6ce889d85ecdc2d8fa07408d6787e7352510750daa66b5ad44aacb47bea76755",
1481 strip_prefix = "websocketpp-0.8.2",
1482 url = "https://github.com/zaphoyd/websocketpp/archive/refs/tags/0.8.2.tar.gz",
1483)
1484
1485http_archive(
1486 name = "com_github_foxglove_ws-protocol",
James Kuszmaul6b609292023-01-28 15:58:43 -08001487 build_file = "//third_party/foxglove/ws_protocol:foxglove_ws_protocol.BUILD",
James Kuszmaul0de4feb2022-04-15 12:16:59 -07001488 patch_args = ["-p1"],
James Kuszmaul6b609292023-01-28 15:58:43 -08001489 patches = ["//third_party/foxglove/ws_protocol:foxglove_ws_protocol.patch"],
James Kuszmaul0de4feb2022-04-15 12:16:59 -07001490 sha256 = "3256f09a67419f6556778c443d332f1a4bf53ba0e7a464179bf838abffa366ab",
1491 strip_prefix = "ws-protocol-releases-typescript-ws-protocol-examples-v0.0.6",
1492 url = "https://github.com/foxglove/ws-protocol/archive/refs/tags/releases/typescript/ws-protocol-examples/v0.0.6.tar.gz",
1493)
1494
1495http_archive(
1496 name = "asio",
1497 build_file_content = """
1498cc_library(
1499 name = "asio",
1500 hdrs = glob(["include/asio/**/*.hpp", "include/asio/**/*.ipp", "include/asio.hpp"]),
1501 visibility = ["//visibility:public"],
1502 defines = ["ASIO_STANDALONE"],
1503 includes = ["include/"],
1504)""",
1505 sha256 = "8976812c24a118600f6fcf071a20606630a69afe4c0abee3b0dea528e682c585",
1506 strip_prefix = "asio-1.24.0",
1507 url = "https://downloads.sourceforge.net/project/asio/asio/1.24.0%2520%2528Stable%2529/asio-1.24.0.tar.bz2",
1508)
James Kuszmaul6b609292023-01-28 15:58:43 -08001509
1510http_archive(
1511 name = "com_github_foxglove_schemas",
1512 build_file = "//third_party/foxglove/schemas:schemas.BUILD",
1513 sha256 = "c0d08365eb8fba0af7773b5f0095fb53fb53f020bde46edaa308af5bb939fc15",
1514 strip_prefix = "schemas-7a3e077b88142ac46bb4e2616f83dc029b45352e/schemas/flatbuffer",
1515 url = "https://github.com/foxglove/schemas/archive/7a3e077b88142ac46bb4e2616f83dc029b45352e.tar.gz",
1516)
James Kuszmaul3398d0b2023-02-11 22:55:22 -08001517
1518# This contains the *compiled* foxglove studio. This can be reproduced by:
1519# 1. Cloning https://github.com/foxglove/studio
1520# 2. Building the code (yarn web:build:prod)
1521# 3. tar'ing the web/.webpack folder
1522# These files can be hosted locally to provide an offline foxglove server.
1523# Foxglove may be served on any port and may be nested at a subpath
1524# (e.g., at hostname:8000/foxglove behind a proxy).
1525http_archive(
1526 name = "foxglove_studio",
1527 build_file_content = """
1528filegroup(
1529 name = "foxglove_studio",
1530 srcs = glob(["**"]),
1531 visibility = ["//visibility:public"],
1532)""",
1533 sha256 = "629b150e4c71679e1ac30b8a2dfa558a04bbcca7ad0edd61bd6878d3b243edb6",
1534 url =
1535 "https://www.frc971.org/Build-Dependencies/foxglove-d6b00825.tar.gz",
1536)
Ravago Jones9c10b2a2023-02-06 12:41:59 -08001537
1538#
1539# https://www.st.com/en/embedded-software/stsw-img009.html#overview
1540http_archive(
1541 name = "vl53l1x_ultra_lite_driver_api",
1542 build_file = "//third_party/vl53l1x:vl53l1x.BUILD",
1543 patch_args = ["-p1"],
1544 patches = ["//third_party/vl53l1x:vl53l1x.patch"],
1545 sha256 = "06a66254ab7a8b061f93ff0f65abb6088c3ea50335475bb6ac11087beb65d174",
1546 strip_prefix = "en.STSW-IMG009_v3.5.2/API",
1547 url = "https://www.frc971.org/Build-Dependencies/en.STSW-IMG009.zip",
1548)