blob: d6a50c72229426c2ddd01e7ea7b46a6fc4f10948 [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(
29 name = "rules_python",
30 patch_args = ["-p1"],
31 patches = [
32 "//third_party:rules_python/0001-Support-overriding-individual-packages.patch",
33 "//third_party:rules_python/0002-Allow-user-to-patch-wheels.patch",
34 ],
35 sha256 = "497ca47374f48c8b067d786b512ac10a276211810f4a580178ee9b9ad139323a",
36 strip_prefix = "rules_python-0.16.1",
37 url = "https://github.com/bazelbuild/rules_python/archive/refs/tags/0.16.1.tar.gz",
38)
39
40load("@rules_python//python:repositories.bzl", "python_register_toolchains")
41
42python_register_toolchains(
43 name = "python3_9",
44 python_version = "3.9",
45 register_toolchains = False,
46)
47
James Kuszmaul9776b392023-01-14 14:08:08 -080048load(
49 "@python3_9//:defs.bzl",
50 python_interpreter = "interpreter",
51)
Philipp Schrader9670a2a2023-01-11 01:20:16 -080052load("@rules_python//python:pip.bzl", "pip_parse")
James Kuszmaul9776b392023-01-14 14:08:08 -080053load(
54 "//tools/python:package_annotations.bzl",
55 PYTHON_ANNOTATIONS = "ANNOTATIONS",
56)
Philipp Schrader9670a2a2023-01-11 01:20:16 -080057
58pip_parse(
59 name = "pip_deps",
60 annotations = PYTHON_ANNOTATIONS,
61 enable_implicit_namespace_pkgs = True,
62 overrides = "//tools/python:whl_overrides.json",
63 patch_spec = "//tools/python:patches.json",
64 python_interpreter_target = python_interpreter,
65 require_overrides = RUNNING_IN_CI,
66 requirements_lock = "//tools/python:requirements.lock.txt",
67)
68
69# Load the starlark macro which will define your dependencies.
James Kuszmaul9776b392023-01-14 14:08:08 -080070load(
71 "@pip_deps//:requirements.bzl",
72 install_pip_deps = "install_deps",
73)
Philipp Schrader9670a2a2023-01-11 01:20:16 -080074
75install_pip_deps()
76
77load("//tools/python:repo_defs.bzl", "pip_configure")
78
79pip_configure(
80 name = "pip",
81)
82
83http_archive(
84 name = "rules_pkg",
85 patch_args = ["-p1"],
86 patches = [
87 "//third_party:rules_pkg/0001-Fix-tree-artifacts.patch",
88 ],
89 sha256 = "62eeb544ff1ef41d786e329e1536c1d541bb9bcad27ae984d57f18f314018e66",
90 urls = [
91 "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.6.0/rules_pkg-0.6.0.tar.gz",
92 "https://github.com/bazelbuild/rules_pkg/releases/download/0.6.0/rules_pkg-0.6.0.tar.gz",
93 ],
94)
95
96load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
97
98rules_pkg_dependencies()
99
Brian Silverman7bda6212018-08-05 11:42:11 -0700100load(
Philipp Schraderd0e33a42022-01-22 21:55:15 -0800101 "//debian:apache2.bzl",
102 apache2_debs = "files",
103)
104load(
Philipp Schrader41011a12022-03-13 12:49:32 -0700105 "//debian:postgresql_amd64.bzl",
106 postgresql_amd64_debs = "files",
107)
108load(
Brian Silverman7bda6212018-08-05 11:42:11 -0700109 "//debian:patch.bzl",
110 patch_debs = "files",
111)
Brian Silverman7297c0c2018-08-05 13:43:00 -0700112load(
Austin Schuh71f6fa72019-08-31 18:23:02 -0700113 "//debian:rsync.bzl",
114 rsync_debs = "files",
115)
116load(
117 "//debian:ssh.bzl",
118 ssh_debs = "files",
119)
120load(
Brian Silverman7297c0c2018-08-05 13:43:00 -0700121 "//debian:pandoc.bzl",
122 pandoc_debs = "files",
123)
Brian Silverman4f6ba442018-08-05 14:34:58 -0700124load(
125 "//debian:libusb.bzl",
126 libusb_debs = "files",
127)
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700128load(
129 "//debian:mingw_compiler.bzl",
130 mingw_compiler_debs = "files",
131)
Brian Silverman6470f442018-08-05 12:08:16 -0700132load(
133 "//debian:patchelf.bzl",
134 patchelf_debs = "files",
135)
136load(
Brian Silverman50b9ac02018-08-12 13:24:10 -0700137 "//debian:arm_frc_gnueabi_deps.bzl",
138 arm_frc_gnueabi_deps_debs = "files",
139)
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -0700140load(
Philipp Schraderfd5489f2022-09-17 17:31:09 -0700141 "//debian:gtk_runtime.bzl",
142 gtk_runtime_debs = "files",
143)
144load(
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800145 "//debian:opencv_arm64.bzl",
146 opencv_arm64_debs = "files",
147)
148load(
Brian Silvermand4260c72020-01-14 00:08:02 -0800149 "//debian:opencv_armhf.bzl",
150 opencv_armhf_debs = "files",
151)
Brian Silvermand97a47c2020-01-16 00:47:53 -0800152load(
153 "//debian:opencv_amd64.bzl",
154 opencv_amd64_debs = "files",
155)
Tyler Chatow60671d32020-02-26 19:49:30 -0800156load(
157 "//debian:gstreamer_amd64.bzl",
James Kuszmaulc91e4402020-05-10 18:47:20 -0700158 gstreamer_amd64_debs = "files",
Tyler Chatow60671d32020-02-26 19:49:30 -0800159)
160load(
161 "//debian:gstreamer_armhf.bzl",
James Kuszmaulc91e4402020-05-10 18:47:20 -0700162 gstreamer_armhf_debs = "files",
Tyler Chatow60671d32020-02-26 19:49:30 -0800163)
Austin Schuh023e7f52020-08-18 21:24:37 -0700164load(
Tyler Chatow6eda82c2022-03-27 22:37:38 -0700165 "//debian:gstreamer_arm64.bzl",
166 gstreamer_arm64_debs = "files",
167)
168load(
Austin Schuh023e7f52020-08-18 21:24:37 -0700169 "//debian:m4.bzl",
170 m4_debs = "files",
171)
Brian Silvermanf59fe3f2020-09-22 21:04:09 -0700172load(
173 "//debian:lzma_amd64.bzl",
174 lzma_amd64_debs = "files",
175)
176load(
177 "//debian:lzma_arm64.bzl",
178 lzma_arm64_debs = "files",
179)
Tyler Chatow8a51ac62022-03-15 13:23:12 -0700180load(
181 "//debian:libtinfo5_amd64.bzl",
182 libtinfo5_amd64_debs = "files",
183)
Tyler Chatowec100e22022-03-22 16:23:04 -0700184load(
185 "//debian:libtinfo5_arm64.bzl",
186 libtinfo5_arm64_debs = "files",
187)
Philipp Schrader0e19c602018-03-07 21:07:22 -0800188load("//debian:packages.bzl", "generate_repositories_for_debs")
189
Austin Schuh71f6fa72019-08-31 18:23:02 -0700190generate_repositories_for_debs(rsync_debs)
191
192generate_repositories_for_debs(ssh_debs)
193
Philipp Schraderd0e33a42022-01-22 21:55:15 -0800194generate_repositories_for_debs(apache2_debs)
195
Philipp Schrader41011a12022-03-13 12:49:32 -0700196generate_repositories_for_debs(postgresql_amd64_debs)
197
Brian Silverman7bda6212018-08-05 11:42:11 -0700198generate_repositories_for_debs(patch_debs)
199
Brian Silverman7297c0c2018-08-05 13:43:00 -0700200generate_repositories_for_debs(pandoc_debs)
201
Brian Silverman4f6ba442018-08-05 14:34:58 -0700202generate_repositories_for_debs(libusb_debs)
203
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700204generate_repositories_for_debs(mingw_compiler_debs)
205
Brian Silverman6470f442018-08-05 12:08:16 -0700206generate_repositories_for_debs(patchelf_debs)
207
Brian Silverman50b9ac02018-08-12 13:24:10 -0700208generate_repositories_for_debs(arm_frc_gnueabi_deps_debs)
209
Philipp Schraderfd5489f2022-09-17 17:31:09 -0700210generate_repositories_for_debs(gtk_runtime_debs)
211
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800212generate_repositories_for_debs(opencv_arm64_debs)
213
Brian Silvermand4260c72020-01-14 00:08:02 -0800214generate_repositories_for_debs(opencv_armhf_debs)
215
Brian Silvermand97a47c2020-01-16 00:47:53 -0800216generate_repositories_for_debs(opencv_amd64_debs)
217
Tyler Chatow6eda82c2022-03-27 22:37:38 -0700218generate_repositories_for_debs(
219 gstreamer_amd64_debs,
220 base_url = "https://www.frc971.org/Build-Dependencies/gstreamer_bullseye_amd64_deps",
221)
Tyler Chatow60671d32020-02-26 19:49:30 -0800222
223generate_repositories_for_debs(gstreamer_armhf_debs)
224
Tyler Chatow6eda82c2022-03-27 22:37:38 -0700225generate_repositories_for_debs(
226 gstreamer_arm64_debs,
227 base_url = "https://www.frc971.org/Build-Dependencies/gstreamer_bullseye_arm64_deps",
228)
229
Austin Schuh023e7f52020-08-18 21:24:37 -0700230generate_repositories_for_debs(m4_debs)
231
Brian Silvermanf59fe3f2020-09-22 21:04:09 -0700232generate_repositories_for_debs(lzma_amd64_debs)
233
234generate_repositories_for_debs(lzma_arm64_debs)
235
Tyler Chatow8a51ac62022-03-15 13:23:12 -0700236generate_repositories_for_debs(libtinfo5_amd64_debs)
237
Tyler Chatowec100e22022-03-22 16:23:04 -0700238generate_repositories_for_debs(libtinfo5_arm64_debs)
239
Brian Silvermanc0309a02022-01-01 23:57:03 -0800240local_repository(
241 name = "com_grail_bazel_toolchain",
242 path = "third_party/bazel-toolchain",
243)
244
Brian Silverman4c7235a2021-11-17 19:04:37 -0800245load("@com_grail_bazel_toolchain//toolchain:rules.bzl", "llvm", "llvm_toolchain")
246
247llvm_version = "13.0.0"
248
249llvm(
250 name = "llvm_k8",
251 distribution = "clang+llvm-%s-x86_64-linux-gnu-ubuntu-16.04.tar.xz" % llvm_version,
252 llvm_version = llvm_version,
253)
254
255llvm(
256 name = "llvm_armv7",
257 distribution = "clang+llvm-%s-armv7a-linux-gnueabihf.tar.xz" % llvm_version,
258 llvm_version = llvm_version,
259)
260
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800261llvm(
262 name = "llvm_aarch64",
263 distribution = "clang+llvm-%s-aarch64-linux-gnu.tar.xz" % llvm_version,
264 llvm_version = llvm_version,
265)
266
Brian Silverman4c7235a2021-11-17 19:04:37 -0800267llvm_conlyopts = [
268 "-std=gnu99",
269]
270
271llvm_copts = [
272 "-D__STDC_FORMAT_MACROS",
273 "-D__STDC_CONSTANT_MACROS",
274 "-D__STDC_LIMIT_MACROS",
275 "-D_FILE_OFFSET_BITS=64",
276 "-fmessage-length=100",
277 "-fmacro-backtrace-limit=0",
278 "-Wextra",
279 "-Wpointer-arith",
280 "-Wstrict-aliasing",
281 "-Wcast-qual",
282 "-Wcast-align",
283 "-Wwrite-strings",
284 "-Wtype-limits",
285 "-Wsign-compare",
286 "-Wformat=2",
287 "-Werror",
288 "-ggdb3",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800289]
290
291llvm_cxxopts = [
292 "-std=gnu++17",
293]
294
Brian Silverman1e7c8972022-02-03 23:15:41 -0800295llvm_opt_copts = [
296 "-DAOS_DEBUG=0",
297]
298
299llvm_fastbuild_copts = [
300 "-DAOS_DEBUG=0",
301]
302
Brian Silverman4c7235a2021-11-17 19:04:37 -0800303llvm_dbg_copts = [
304 "-DAOS_DEBUG=1",
305]
Brian Silvermanc0309a02022-01-01 23:57:03 -0800306
307llvm_toolchain(
308 name = "llvm_toolchain",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800309 additional_target_compatible_with = {
310 "linux-armv7": [
311 "@//tools/platforms/hardware:raspberry_pi",
312 ],
313 },
314 conlyopts = {
315 "linux-x86_64": llvm_conlyopts,
316 "linux-armv7": llvm_conlyopts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800317 "linux-aarch64": llvm_conlyopts,
Brian Silverman4c7235a2021-11-17 19:04:37 -0800318 },
319 copts = {
320 "linux-x86_64": llvm_copts,
321 "linux-armv7": llvm_copts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800322 "linux-aarch64": llvm_copts,
Brian Silverman4c7235a2021-11-17 19:04:37 -0800323 },
324 cxxopts = {
325 "linux-x86_64": llvm_cxxopts,
326 "linux-armv7": llvm_cxxopts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800327 "linux-aarch64": llvm_cxxopts,
Brian Silverman4c7235a2021-11-17 19:04:37 -0800328 },
329 dbg_copts = {
330 "linux-x86_64": llvm_dbg_copts,
Brian Silverman1e7c8972022-02-03 23:15:41 -0800331 "linux-armv7": llvm_dbg_copts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800332 "linux-aarch64": llvm_dbg_copts,
Brian Silverman1e7c8972022-02-03 23:15:41 -0800333 },
334 fastbuild_copts = {
335 "linux-x86_64": llvm_fastbuild_copts,
336 "linux-armv7": llvm_fastbuild_copts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800337 "linux-aarch64": llvm_fastbuild_copts,
Brian Silverman4c7235a2021-11-17 19:04:37 -0800338 },
339 llvm_version = llvm_version,
Brian Silverman1e7c8972022-02-03 23:15:41 -0800340 opt_copts = {
341 "linux-x86_64": llvm_opt_copts,
342 "linux-armv7": llvm_opt_copts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800343 "linux-aarch64": llvm_opt_copts,
Brian Silverman1e7c8972022-02-03 23:15:41 -0800344 },
Brian Silverman4c7235a2021-11-17 19:04:37 -0800345 standard_libraries = {
346 "linux-x86_64": "libstdc++-10",
347 "linux-armv7": "libstdc++-10",
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800348 "linux-aarch64": "libstdc++-10",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800349 },
350 static_libstdcxx = False,
Brian Silvermanc0309a02022-01-01 23:57:03 -0800351 sysroot = {
352 "linux-x86_64": "@amd64_debian_sysroot//:sysroot_files",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800353 "linux-armv7": "@armhf_debian_rootfs//:sysroot_files",
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800354 "linux-aarch64": "@arm64_debian_rootfs//:sysroot_files",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800355 },
356 target_toolchain_roots = {
357 "linux-x86_64": "@llvm_k8//",
358 "linux-armv7": "@llvm_armv7//",
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800359 "linux-aarch64": "@llvm_aarch64//",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800360 },
361 toolchain_roots = {
362 "linux-x86_64": "@llvm_k8//",
Tyler Chatow486ad3e2022-03-23 13:32:03 -0700363 "linux-aarch64": "@llvm_aarch64//",
Brian Silvermanc0309a02022-01-01 23:57:03 -0800364 },
365)
366
Brian Silverman4c7235a2021-11-17 19:04:37 -0800367load("@llvm_toolchain//:toolchains.bzl", "llvm_register_toolchains")
368
369llvm_register_toolchains()
370
Philipp Schraderdada1072020-11-24 11:34:46 -0800371register_toolchains(
Philipp Schraderdada1072020-11-24 11:34:46 -0800372 "//tools/cpp:cc-toolchain-roborio",
373 "//tools/cpp:cc-toolchain-cortex-m4f",
Austin Schuh0a96ea32022-01-01 22:29:30 -0800374 "//tools/cpp:cc-toolchain-rp2040",
Philipp Schraderdada1072020-11-24 11:34:46 -0800375 # Find a good way to select between these two M4F toolchains.
376 #"//tools/cpp:cc-toolchain-cortex-m4f-k22",
Philipp Schraderf198a152021-12-05 09:18:23 -0800377 "//tools/python:python_toolchain",
Philipp Schrader73e56602021-12-06 21:37:30 -0800378 "//tools/go:noop_go_toolchain",
Brian Silverman847121b2022-03-09 15:48:08 -0800379 "//tools/rust:rust-toolchain-x86",
380 "//tools/rust:rust-toolchain-armv7",
381 "//tools/rust:rust-toolchain-arm64",
Brian Silvermana8ad1af2022-07-23 16:05:12 -0700382 # TODO(Brian): Make this work. See the comment on
383 # //tools/platforms:linux_roborio for details.
384 #"//tools/rust:rust-toolchain-roborio",
Ravago Jones16809802021-11-18 20:40:03 -0800385 "//tools/rust:noop_rust_toolchain",
Philipp Schrader54047962022-02-16 21:05:11 -0800386 "//tools/ts:noop_node_toolchain",
Philipp Schraderdada1072020-11-24 11:34:46 -0800387)
388
Austin Schuhf093fa52019-06-23 20:47:23 -0700389http_archive(
Austin Schuh7466fe12020-12-29 23:01:47 -0800390 name = "com_github_stevengj_nlopt",
391 build_file = "@//debian:nlopt.BUILD",
392 patch_args = ["-p1"],
393 patches = ["//debian:nlopt.patch"],
394 sha256 = "2d65815b21c30813499fe19c63947f7da56b10c0d4a459dce05417899b43e461",
395 strip_prefix = "nlopt-496be736b8b249273838b891f4c8ca3669551127",
396 url = "https://www.frc971.org/Build-Dependencies/nlopt-496be736b8b249273838b891f4c8ca3669551127.zip",
397)
398
James Kuszmaul203bfc22023-01-13 22:37:06 -0800399http_archive(
Austin Schuhd57edc42019-09-21 17:52:38 -0700400 name = "com_google_absl",
James Kuszmaul203bfc22023-01-13 22:37:06 -0800401 patch_args = ["-p1"],
402 patches = ["//third_party/abseil:abseil.patch"],
403 sha256 = "91209b5eecd9c3d862b230fefbc2728c7f2764ff6d5866ec398d48db1aaa1e90",
404 strip_prefix = "abseil-cpp-bb63a76710554cebbeb20306739a7b832be38c4a",
405 url = "https://github.com/abseil/abseil-cpp/archive/bb63a76710554cebbeb20306739a7b832be38c4a.zip",
Austin Schuh36244a12019-09-21 17:52:38 -0700406)
407
Alex Perrycb7da4b2019-08-28 19:35:56 -0700408local_repository(
409 name = "org_tuxfamily_eigen",
410 path = "third_party/eigen",
411)
412
James Kuszmaulbc02ff42021-01-15 20:41:30 -0800413local_repository(
414 name = "com_github_rawrtc_re",
415 path = "third_party/rawrtc/re",
416)
417
418local_repository(
419 name = "com_github_rawrtc_rew",
420 path = "third_party/rawrtc/rew",
421)
422
423local_repository(
424 name = "com_github_rawrtc_usrsctp",
425 path = "third_party/rawrtc/usrsctp",
426)
427
428local_repository(
429 name = "com_github_rawrtc_rawrtc_common",
430 path = "third_party/rawrtc/rawrtc-common",
431)
432
433local_repository(
434 name = "com_github_rawrtc_rawrtc_data_channel",
435 path = "third_party/rawrtc/rawrtc-data-channel",
436)
437
438local_repository(
439 name = "com_github_rawrtc_rawrtc",
440 path = "third_party/rawrtc/rawrtc",
441)
442
Austin Schuh0ca51f32020-12-25 21:51:45 -0800443http_archive(
444 name = "boringssl",
445 patch_args = ["-p1"],
446 patches = ["//debian:boringssl.patch"],
447 sha256 = "bcab08a22c28f5322316542aa2c3a9ef0a9f9fde9be22d489cee574867b24675",
448 strip_prefix = "boringssl-613fe9dbe74b58d6aaaf0d22fe57dccd964c7413",
449 urls = ["https://www.frc971.org/Build-Dependencies/boringssl-613fe9dbe74b58d6aaaf0d22fe57dccd964c7413.zip"],
450)
451
Austin Schuh36244a12019-09-21 17:52:38 -0700452# C++ rules for Bazel.
453http_archive(
454 name = "rules_cc",
Austin Schuh968174a2021-03-31 20:04:01 -0700455 sha256 = "ed36cc7a6f46b7c28ab4009db4a37e350e1ba367446b0886bcc9cdc1df92752e",
456 strip_prefix = "rules_cc-608c7b605fb844a20e96a3eddc9b49ad2542adab",
Austin Schuh36244a12019-09-21 17:52:38 -0700457 urls = [
Austin Schuh968174a2021-03-31 20:04:01 -0700458 "https://www.frc971.org/Build-Dependencies/rules_cc-608c7b605fb844a20e96a3eddc9b49ad2542adab.zip",
Austin Schuh36244a12019-09-21 17:52:38 -0700459 ],
460)
Austin Schuhd57edc42019-09-21 17:52:38 -0700461
Austin Schuh4759ffc2015-10-07 20:39:56 -0700462new_local_repository(
Brian Silverman7bda6212018-08-05 11:42:11 -0700463 name = "usr_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700464 build_file = "@//debian:usr.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700465 path = "/usr",
Austin Schuh4759ffc2015-10-07 20:39:56 -0700466)
467
Austin Schuh1f9aeb42015-11-12 23:34:49 -0800468new_git_repository(
Brian Silverman7bda6212018-08-05 11:42:11 -0700469 name = "slycot_repo",
Tyler Chatow2584bb12018-10-27 20:48:35 -0700470 build_file = "@//debian:slycot.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700471 commit = "5af5f283cb23cbe23c4dfea4d5e56071bdbd6e70",
472 remote = "https://github.com/avventi/Slycot.git",
Austin Schuh1f9aeb42015-11-12 23:34:49 -0800473)
474
James Kuszmaul9776b392023-01-14 14:08:08 -0800475# TODO(Ravago, Max, Alex): https://github.com/wpilibsuite/opensdk
Austin Schuhf093fa52019-06-23 20:47:23 -0700476http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700477 name = "arm_frc_linux_gnueabi_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700478 build_file = "@//tools/cpp/arm-frc-linux-gnueabi:arm-frc-linux-gnueabi.BUILD",
Austin Schuhe991fe22020-11-18 16:53:39 -0800479 patches = ["//debian:fts.patch"],
James Kuszmaul9776b392023-01-14 14:08:08 -0800480 sha256 = "f53c6b86c25b4827d50365efe760a08edfea39c027dd08674ae696c9093d6a37",
481 strip_prefix = "roborio-academic",
482 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 -0700483)
Austin Schuhe456f152015-11-27 13:44:39 -0800484
Brian Silverman4c7235a2021-11-17 19:04:37 -0800485# 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
486# The following files and folders are removed to make bazel happy with it:
Brian Silvermanbf4c1312020-01-12 11:35:45 -0800487# usr/share/ca-certificates
Brian Silverman4c7235a2021-11-17 19:04:37 -0800488# lib/systemd/system/system-systemd\\x2dcryptsetup.slice
Brian Silvermanbf4c1312020-01-12 11:35:45 -0800489http_archive(
490 name = "armhf_debian_rootfs",
Brian Silverman60606c92020-01-15 22:45:04 -0800491 build_file = "@//:compilers/debian_rootfs.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800492 sha256 = "734f26a0cfc943cc3cae88412536186adfc4ed148cc167e6ffb298497c686280",
493 url = "https://www.frc971.org/Build-Dependencies/2021-10-30-raspios-bullseye-armhf-lite_rootfs.tar.bz2",
Brian Silvermanbf4c1312020-01-12 11:35:45 -0800494)
495
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800496# 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
497# The following files and folders are removed to make bazel happy with it:
498# usr/share/ca-certificates
499# lib/systemd/system/system-systemd\\x2dcryptsetup.slice
500http_archive(
501 name = "arm64_debian_rootfs",
502 build_file = "@//:compilers/debian_rootfs.BUILD",
503 sha256 = "7e6ad432fec0a36f8b66c3fc2ab8795ea446e61f7dce7a206b55602677cf0904",
504 url = "https://www.frc971.org/Build-Dependencies/2021-10-30-raspios-bullseye-arm64-lite_rootfs.tar.bz2",
505)
506
Brian Silverman60606c92020-01-15 22:45:04 -0800507# Created with:
508# `debootstrap buster buster_sysroot`
509# and then chrooting in and running:
510# apt install libc6-dev libstdc++-7-dev
Brian Silverman4c7235a2021-11-17 19:04:37 -0800511# removing the apt cache,
Brian Silverman60606c92020-01-15 22:45:04 -0800512# and then tarring up the result
513http_archive(
514 name = "amd64_debian_sysroot",
515 build_file = "@//:compilers/debian_rootfs.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800516 sha256 = "5e10f4cac85a98a39da1716b218bc05fff4666c61cc471a7df27876710bc86d2",
517 url = "https://www.frc971.org/Build-Dependencies/2022-01-06-debian-bullseye_rootfs.tar.bz2",
Brian Silverman60606c92020-01-15 22:45:04 -0800518)
519
Brian Silverman16a923c2018-10-31 19:40:51 -0700520local_repository(
521 name = "com_github_gflags_gflags",
522 path = "third_party/gflags",
523)
524
Brian Silverman82a12b92019-01-19 21:52:10 -0800525# Generated with:
Austin Schuh9950f682021-11-06 15:27:58 -0700526# git fetch https://github.com/wpilibsuite/ni-libraries main
Austin Schuhd3c72912022-02-22 18:05:32 -0800527# git archive --output=allwpilib_ni-libraries_776db4e8aed31a651fa2f590e7468c69b384b42a.tar.gz --format=tar.gz 776db4e8aed31a651fa2f590e7468c69b384b42a
Austin Schuhf093fa52019-06-23 20:47:23 -0700528http_archive(
James Kuszmaulc9c46b32019-12-08 21:10:00 -0800529 name = "allwpilib_ni_libraries",
530 build_file = "@//debian:ni-libraries.BUILD",
James Kuszmaul9776b392023-01-14 14:08:08 -0800531 sha256 = "c5d03ce5ed3807d9c4a5d415d8123d9ab3479498428eb0f1d77e74891f107aa0",
532 strip_prefix = "ni-libraries-2023.3.0",
533 url = "https://github.com/wpilibsuite/ni-libraries/archive/refs/tags/v2023.3.0.zip",
Brian Silverman82a12b92019-01-19 21:52:10 -0800534)
535
Brian Silverman3fca9d72016-02-20 02:32:51 -0500536# For protobuf. Don't use these.
537bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700538 name = "six",
Philipp Schrader01535ee2023-01-08 13:19:03 -0800539 actual = "@pip//six",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500540)
Brian Silverman7bda6212018-08-05 11:42:11 -0700541
Brian Silverman3fca9d72016-02-20 02:32:51 -0500542bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700543 name = "gtest",
James Kuszmaul3aabc1c2023-01-13 21:33:43 -0800544 actual = "@com_google_googletest//:gtest",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500545)
Brian Silverman7bda6212018-08-05 11:42:11 -0700546
Brian Silverman3fca9d72016-02-20 02:32:51 -0500547bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700548 name = "gtest_main",
James Kuszmaul3aabc1c2023-01-13 21:33:43 -0800549 actual = "@com_google_googletest//:gtest_main",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500550)
551
James Kuszmaul59a308f2023-01-28 19:14:07 -0800552http_archive(
553 name = "april_tag_test_image",
554 build_file_content = """
555filegroup(
556 name = "april_tag_test_image",
557 srcs = ["test.bfbs", "expected.jpeg", "expected.png"],
558 visibility = ["//visibility:public"],
559)""",
560 sha256 = "5312c79b19e9883b3cebd9d65b4438a2bf05b41da0bcd8c35e19d22c3b2e1859",
561 urls = ["https://www.frc971.org/Build-Dependencies/test_image_frc971.vision.CameraImage_2023.01.28.tar.gz"],
562)
563
Brian Silverman4aa83042018-01-05 12:47:31 -0800564# Recompressed from libusb-1.0.21.7z.
565http_file(
Brian Silverman7bda6212018-08-05 11:42:11 -0700566 name = "libusb_1_0_windows",
Austin Schuh4ac96a82019-08-14 20:24:23 -0700567 downloaded_file_path = "libusb-1.0.21-windows.tar.xz",
Brian Silverman7bda6212018-08-05 11:42:11 -0700568 sha256 = "fc2ba03992f343aabbaf9eb90559c6e00cdc6a2bd914d7cebea85857d5244015",
Austin Schuha5778ae2020-10-21 21:15:35 -0700569 urls = ["https://www.frc971.org/Build-Dependencies/libusb-1.0.21-windows.tar.xz"],
Brian Silverman4aa83042018-01-05 12:47:31 -0800570)
Brian Silvermand3ad1652018-02-18 22:16:29 -0500571
572# The data tarball of the same-named Debian package.
Austin Schuhf093fa52019-06-23 20:47:23 -0700573http_archive(
Brian Silvermand3ad1652018-02-18 22:16:29 -0500574 name = "f2c",
Austin Schuhf093fa52019-06-23 20:47:23 -0700575 build_file = "@//debian:f2c.BUILD",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500576 sha256 = "2c677437f8217a2e2b23e41b33995d0571644fc1bea46de858f8913a5053e3f4",
Austin Schuha5778ae2020-10-21 21:15:35 -0700577 url = "https://www.frc971.org/Build-Dependencies/f2c_20100827-1_amd64.xz.tar.xz",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500578)
579
580# Downloaded from http://www.netlib.org/clapack/.
Austin Schuhf093fa52019-06-23 20:47:23 -0700581http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700582 name = "clapack",
Austin Schuhf093fa52019-06-23 20:47:23 -0700583 build_file = "@//debian:clapack.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700584 sha256 = "6dc4c382164beec8aaed8fd2acc36ad24232c406eda6db462bd4c41d5e455fac",
585 strip_prefix = "CLAPACK-3.2.1/",
Austin Schuha5778ae2020-10-21 21:15:35 -0700586 url = "https://www.frc971.org/Build-Dependencies/clapack-3.2.1.tgz",
Brian Silverman7bda6212018-08-05 11:42:11 -0700587)
588
Austin Schuhf093fa52019-06-23 20:47:23 -0700589http_archive(
Philipp Schrader41011a12022-03-13 12:49:32 -0700590 name = "postgresql_amd64",
591 build_file = "@//debian:postgresql_amd64.BUILD",
592 sha256 = "2b8bb77deaf58f798c296ce31ee7a32781395d55e05dcddc8a7da7e827f38d7f",
593 url = "https://www.frc971.org/Build-Dependencies/postgresql_amd64.tar.gz",
594)
595
596http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700597 name = "patch",
Austin Schuhf093fa52019-06-23 20:47:23 -0700598 build_file = "@//debian:patch.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700599 sha256 = "b5ce139648a2e04f5585948ddad2fdae24dd4ee7976ac5a22d6ae7bd5674631e",
Austin Schuha5778ae2020-10-21 21:15:35 -0700600 url = "https://www.frc971.org/Build-Dependencies/patch.tar.gz",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500601)
Brian Silverman7297c0c2018-08-05 13:43:00 -0700602
Austin Schuhf093fa52019-06-23 20:47:23 -0700603http_archive(
Austin Schuh71f6fa72019-08-31 18:23:02 -0700604 name = "rsync",
605 build_file = "@//debian:rsync.BUILD",
606 sha256 = "53be65a9214aaa6d1b9176f135184fb4a78ccefd58f95ce0da37e6a392dfeb60",
Austin Schuha5778ae2020-10-21 21:15:35 -0700607 url = "https://www.frc971.org/Build-Dependencies/rsync.tar.gz",
Austin Schuh71f6fa72019-08-31 18:23:02 -0700608)
609
Brian Silvermanbd7860e2020-01-05 17:52:40 -0800610# //debian:ssh
Austin Schuh71f6fa72019-08-31 18:23:02 -0700611http_archive(
612 name = "ssh",
613 build_file = "@//debian:ssh.BUILD",
Brian Silvermanbd7860e2020-01-05 17:52:40 -0800614 sha256 = "470fdc1252a2133a9d3c3da778e892a5b88f04f402cb04d8eb1cff7853242034",
Austin Schuha5778ae2020-10-21 21:15:35 -0700615 url = "https://www.frc971.org/Build-Dependencies/ssh_v3.tar.gz",
Austin Schuh71f6fa72019-08-31 18:23:02 -0700616)
617
618http_archive(
Philipp Schraderd0e33a42022-01-22 21:55:15 -0800619 name = "apache2",
620 build_file = "@//debian:apache2.BUILD",
621 sha256 = "98b0ad6d911751ba0aa486429e6278f995e7bbabd928c7d3d44c888fa2bf371b",
622 url = "https://www.frc971.org/Build-Dependencies/apache2.tar.gz",
623)
624
625http_archive(
Brian Silverman7297c0c2018-08-05 13:43:00 -0700626 name = "pandoc",
Austin Schuhf093fa52019-06-23 20:47:23 -0700627 build_file = "@//debian:pandoc.BUILD",
Brian Silverman7297c0c2018-08-05 13:43:00 -0700628 sha256 = "9f7a7adb3974a1f14715054c349ff3edc2909e920dbe3438fca437a83845f3c4",
Austin Schuha5778ae2020-10-21 21:15:35 -0700629 url = "https://www.frc971.org/Build-Dependencies/pandoc.tar.gz",
Brian Silverman7297c0c2018-08-05 13:43:00 -0700630)
Brian Silverman4f6ba442018-08-05 14:34:58 -0700631
Austin Schuhf093fa52019-06-23 20:47:23 -0700632http_archive(
Brian Silverman4f6ba442018-08-05 14:34:58 -0700633 name = "libusb",
Austin Schuhf093fa52019-06-23 20:47:23 -0700634 build_file = "@//debian:libusb.BUILD",
Brian Silverman4f6ba442018-08-05 14:34:58 -0700635 sha256 = "3ca5cc2d317226f6646866ff9e8c443db3b0f6c82f828e800240982727531590",
Austin Schuha5778ae2020-10-21 21:15:35 -0700636 url = "https://www.frc971.org/Build-Dependencies/libusb.tar.gz",
Brian Silverman4f6ba442018-08-05 14:34:58 -0700637)
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700638
Austin Schuhf093fa52019-06-23 20:47:23 -0700639http_archive(
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700640 name = "mingw_compiler",
Austin Schuhf093fa52019-06-23 20:47:23 -0700641 build_file = "@//debian:mingw_compiler.BUILD",
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700642 sha256 = "45e86a8460f2151a4f0306e7ae7b06761029d2412ee16f63d1e8d2d29354e378",
Austin Schuha5778ae2020-10-21 21:15:35 -0700643 url = "https://www.frc971.org/Build-Dependencies/mingw_compiler.tar.gz",
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700644)
Brian Silverman6470f442018-08-05 12:08:16 -0700645
Austin Schuhf093fa52019-06-23 20:47:23 -0700646http_archive(
Brian Silverman6470f442018-08-05 12:08:16 -0700647 name = "patchelf",
Austin Schuhf093fa52019-06-23 20:47:23 -0700648 build_file = "@//debian:patchelf.BUILD",
Brian Silverman6470f442018-08-05 12:08:16 -0700649 sha256 = "bf8b709909d7d9e30815dd228eeded7dc282e3ce3919d0589ccbb56ac8632abc",
Austin Schuha5778ae2020-10-21 21:15:35 -0700650 url = "https://www.frc971.org/Build-Dependencies/patchelf.tar.gz",
Brian Silverman6470f442018-08-05 12:08:16 -0700651)
Brian Silverman50b9ac02018-08-12 13:24:10 -0700652
Austin Schuhf093fa52019-06-23 20:47:23 -0700653http_archive(
Brian Silverman50b9ac02018-08-12 13:24:10 -0700654 name = "arm_frc_gnueabi_deps",
Austin Schuhf093fa52019-06-23 20:47:23 -0700655 build_file = "@//debian:arm_frc_gnueabi_deps.BUILD",
Brian Silverman50b9ac02018-08-12 13:24:10 -0700656 sha256 = "4b26fe45010817dc136488ee1604ade21bd7c264c29f17d864fc6eba9d7442c4",
Austin Schuha5778ae2020-10-21 21:15:35 -0700657 url = "https://www.frc971.org/Build-Dependencies/arm_frc_gnueabi_deps.tar.gz",
Brian Silverman50b9ac02018-08-12 13:24:10 -0700658)
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700659
Austin Schuhf093fa52019-06-23 20:47:23 -0700660http_archive(
Philipp Schraderfd5489f2022-09-17 17:31:09 -0700661 name = "gtk_runtime",
662 build_file = "@//debian:gtk_runtime.BUILD",
Philipp Schrader7520ee62022-12-10 14:04:40 -0800663 sha256 = "5a6014d1783363be6bc95843d03bbb6513e650eaea60be2b1a4c65bf21981f9b",
664 url = "https://www.frc971.org/Build-Dependencies/gtk_runtime-4.tar.gz",
Philipp Schraderfd5489f2022-09-17 17:31:09 -0700665)
666
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700667# Downloaded from
668# 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 -0700669http_archive(
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700670 name = "gcc_arm_none_eabi",
Austin Schuhf093fa52019-06-23 20:47:23 -0700671 build_file = "@//:compilers/gcc_arm_none_eabi.BUILD",
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700672 sha256 = "bb17109f0ee697254a5d4ae6e5e01440e3ea8f0277f2e8169bf95d07c7d5fe69",
673 strip_prefix = "gcc-arm-none-eabi-7-2018-q2-update/",
Austin Schuha5778ae2020-10-21 21:15:35 -0700674 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 -0700675)
Austin Schuhad596222018-01-31 23:34:03 -0800676
Tyler Chatowfba57822022-03-22 19:38:41 -0700677# Java11 JDK.
Philipp Schrader6efe5732022-02-12 15:11:13 -0800678remote_java_repository(
Austin Schuhe18baff2018-10-20 17:40:42 -0700679 name = "openjdk_linux_archive",
Philipp Schrader6efe5732022-02-12 15:11:13 -0800680 prefix = "openjdk",
Tyler Chatowfba57822022-03-22 19:38:41 -0700681 sha256 = "60e65d32e38876f81ddb623e87ac26c820465b637e263e8bed1acdecb4ca9be2",
682 strip_prefix = "zulu11.54.25-ca-jdk11.0.14.1-linux_x64",
Philipp Schrader9670a2a2023-01-11 01:20:16 -0800683 target_compatible_with = [
684 "@platforms//cpu:x86_64",
685 "@platforms//os:linux",
686 ],
Austin Schuhe18baff2018-10-20 17:40:42 -0700687 urls = [
Tyler Chatowfba57822022-03-22 19:38:41 -0700688 "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 -0700689 ],
Tyler Chatowfba57822022-03-22 19:38:41 -0700690 version = "11",
691)
692
693remote_java_repository(
694 name = "openjdk_linux_archive_aarch64",
Tyler Chatowfba57822022-03-22 19:38:41 -0700695 prefix = "openjdk",
696 sha256 = "b0fb0bc303bb05b5042ef3d0939b9489f4a49a13a2d1c8f03c5d8ab23099454d",
697 strip_prefix = "zulu11.54.25-ca-jdk11.0.14.1-linux_aarch64",
Philipp Schrader9670a2a2023-01-11 01:20:16 -0800698 target_compatible_with = [
699 "@platforms//cpu:aarch64",
700 "@platforms//os:linux",
701 ],
Tyler Chatowfba57822022-03-22 19:38:41 -0700702 urls = [
703 "https://www.frc971.org/Build-Dependencies/zulu11.54.25-ca-jdk11.0.14.1-linux_aarch64.tar.gz",
704 ],
705 version = "11",
Austin Schuhe18baff2018-10-20 17:40:42 -0700706)
707
Austin Schuhf9724442018-10-28 20:30:21 -0700708local_repository(
709 name = "com_google_protobuf",
710 path = "third_party/protobuf",
Brian Silverman9c614bc2016-02-15 20:20:02 -0500711)
Austin Schuh10358f22019-01-21 20:25:11 -0800712
713local_repository(
714 name = "com_github_google_glog",
715 path = "third_party/google-glog",
716)
Austin Schuh6defdeb2019-01-21 21:00:30 -0800717
James Kuszmaul3aabc1c2023-01-13 21:33:43 -0800718http_archive(
Alex Perrycb7da4b2019-08-28 19:35:56 -0700719 name = "com_google_googletest",
James Kuszmaul3aabc1c2023-01-13 21:33:43 -0800720 patch_args = ["-p1"],
721 patches = ["//third_party/googletest:googletest.patch"],
722 sha256 = "5c6d595243de011f8ce8cc68050cc0490726786e80cdfd6555ebfe148d920407",
723 strip_prefix = "googletest-356fc301251378e0f6fa6aa794d73714202887ac",
724 urls = ["https://github.com/google/googletest/archive/356fc301251378e0f6fa6aa794d73714202887ac.zip"],
Alex Perrycb7da4b2019-08-28 19:35:56 -0700725)
726
Austin Schuh6defdeb2019-01-21 21:00:30 -0800727# External dependency: Google Benchmark; has no Bazel build.
James Kuszmaul38169b92023-01-13 21:17:05 -0800728http_archive(
Austin Schuh6defdeb2019-01-21 21:00:30 -0800729 name = "com_github_google_benchmark",
James Kuszmaul38169b92023-01-13 21:17:05 -0800730 patch_args = ["-p1"],
731 patches = ["//third_party/google-benchmark:benchmark.patch"],
732 sha256 = "6430e4092653380d9dc4ccb45a1e2dc9259d581f4866dc0759713126056bc1d7",
733 strip_prefix = "benchmark-1.7.1",
734 urls = ["https://github.com/google/benchmark/archive/refs/tags/v1.7.1.tar.gz"],
Austin Schuhcbc17402019-01-21 21:00:30 -0800735)
Austin Schuh033df092019-01-21 19:46:48 -0800736
737local_repository(
738 name = "com_google_ceres_solver",
739 path = "third_party/ceres",
Austin Schuh70cc9552019-01-21 19:46:48 -0800740)
Austin Schuhf6b94632019-02-02 22:11:27 -0800741
Austin Schuhf093fa52019-06-23 20:47:23 -0700742http_archive(
James Kuszmaul9776b392023-01-14 14:08:08 -0800743 name = "ctre_phoenixpro_api_cpp_headers",
744 build_file_content = """
745cc_library(
746 name = 'api-cpp',
747 visibility = ['//visibility:public'],
748 hdrs = glob(['ctre/phoenixpro/**/*.hpp', 'units/*.h']),
749 includes = ["."],
750 deps = ["@//third_party/allwpilib/wpimath"],
751)
752""",
753 sha256 = "d9d6c48df9318cf106237a44bf7ad95e4092618bc3ab731092e9b733cacb1ffc",
754 urls = [
755 "https://maven.ctr-electronics.com/release/com/ctre/phoenixpro/api-cpp/23.0.1/api-cpp-23.0.1-headers.zip",
756 ],
757)
758
759http_archive(
760 name = "ctre_phoenixpro_api_cpp_athena",
761 build_file_content = """
762filegroup(
763 name = 'shared_libraries',
764 srcs = [
765 'linux/athena/shared/libCTRE_PhoenixPro.so',
766 ],
767 visibility = ['//visibility:public'],
768)
769
770cc_library(
771 name = 'api-cpp',
772 visibility = ['//visibility:public'],
773 srcs = ['linux/athena/shared/libCTRE_PhoenixPro.so'],
774 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
775)
776""",
777 sha256 = "3d228fdf8565de5411a739fa2670d4ef5390acb15ceb4d3cbef8c76b5adc7682",
778 urls = [
779 "https://maven.ctr-electronics.com/release/com/ctre/phoenixpro/api-cpp/23.0.1/api-cpp-23.0.1-linuxathena.zip",
780 ],
781)
782
783http_archive(
784 name = "ctre_phoenixpro_tools_headers",
785 build_file_content = """
786cc_library(
787 name = 'tools',
788 visibility = ['//visibility:public'],
789 hdrs = glob(['ctre/**/*.h', 'ctre/**/*.hpp']),
790)
791""",
792 sha256 = "74d79bb3e739d9d6b87311656b0530aaefc211952cc647a3d57776a0cee9efce",
793 urls = [
794 "https://maven.ctr-electronics.com/release/com/ctre/phoenixpro/tools/23.0.1/tools-23.0.1-headers.zip",
795 ],
796)
797
798http_archive(
799 name = "ctre_phoenixpro_tools_athena",
800 build_file_content = """
801filegroup(
802 name = 'shared_libraries',
803 srcs = [
804 'linux/athena/shared/libCTRE_PhoenixTools.so',
805 ],
806 visibility = ['//visibility:public'],
807)
808
809cc_library(
810 name = 'tools',
811 visibility = ['//visibility:public'],
812 srcs = ['linux/athena/shared/libCTRE_PhoenixTools.so'],
813 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
814)
815""",
816 sha256 = "1791b35fdf76aa08ad120e4d689d9440bd386542f63f5c44e4047a06e2e05b9a",
817 urls = [
818 "https://maven.ctr-electronics.com/release/com/ctre/phoenixpro/tools/23.0.1/tools-23.0.1-linuxathena.zip",
819 ],
820)
821
822http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800823 name = "ctre_phoenix_api_cpp_headers",
Austin Schuhf6b94632019-02-02 22:11:27 -0800824 build_file_content = """
825cc_library(
826 name = 'api-cpp',
827 visibility = ['//visibility:public'],
828 hdrs = glob(['ctre/phoenix/**/*.h']),
829)
830""",
James Kuszmaul9776b392023-01-14 14:08:08 -0800831 sha256 = "93cc41c53e98bbcd5db7b0631ab95a7de7744527d5847d2e795e6c8acec46bf8",
Austin Schuhf6b94632019-02-02 22:11:27 -0800832 urls = [
James Kuszmaul9776b392023-01-14 14:08:08 -0800833 "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 -0800834 ],
835)
836
Austin Schuhf093fa52019-06-23 20:47:23 -0700837http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800838 name = "ctre_phoenix_api_cpp_athena",
Austin Schuhf6b94632019-02-02 22:11:27 -0800839 build_file_content = """
Austin Schuhde605f12022-02-23 23:08:19 -0800840filegroup(
841 name = 'shared_libraries',
842 srcs = [
843 'linux/athena/shared/libCTRE_Phoenix.so',
844 ],
845 visibility = ['//visibility:public'],
846)
847
Austin Schuhf6b94632019-02-02 22:11:27 -0800848cc_library(
849 name = 'api-cpp',
850 visibility = ['//visibility:public'],
Austin Schuhde605f12022-02-23 23:08:19 -0800851 srcs = ['linux/athena/shared/libCTRE_Phoenix.so'],
Philipp Schraderdada1072020-11-24 11:34:46 -0800852 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
Austin Schuhf6b94632019-02-02 22:11:27 -0800853)
854""",
James Kuszmaul9776b392023-01-14 14:08:08 -0800855 sha256 = "63889beeeaac8bbef2573d23f1a9500b6382d28ab91c78f3605b6b624c27d68e",
Austin Schuhf6b94632019-02-02 22:11:27 -0800856 urls = [
James Kuszmaul9776b392023-01-14 14:08:08 -0800857 "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 -0800858 ],
859)
860
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800861http_archive(
862 name = "ctre_phoenix_cci_headers",
Austin Schuhf6b94632019-02-02 22:11:27 -0800863 build_file_content = """
864cc_library(
865 name = 'cci',
866 visibility = ['//visibility:public'],
867 hdrs = glob(['ctre/phoenix/**/*.h']),
868)
869""",
James Kuszmaul9776b392023-01-14 14:08:08 -0800870 sha256 = "d41dd70aa4397cba934292e636c90511e571a56971f696348851fcd3bb88894d",
Austin Schuhf6b94632019-02-02 22:11:27 -0800871 urls = [
James Kuszmaul9776b392023-01-14 14:08:08 -0800872 "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 -0800873 ],
874)
875
Austin Schuhf093fa52019-06-23 20:47:23 -0700876http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800877 name = "ctre_phoenix_cci_athena",
Austin Schuhf6b94632019-02-02 22:11:27 -0800878 build_file_content = """
Austin Schuhde605f12022-02-23 23:08:19 -0800879filegroup(
880 name = 'shared_libraries',
881 srcs = [
882 'linux/athena/shared/libCTRE_PhoenixCCI.so',
883 ],
884 visibility = ['//visibility:public'],
885)
886
Austin Schuhf6b94632019-02-02 22:11:27 -0800887cc_library(
888 name = 'cci',
889 visibility = ['//visibility:public'],
Austin Schuhde605f12022-02-23 23:08:19 -0800890 srcs = ['linux/athena/shared/libCTRE_PhoenixCCI.so'],
Philipp Schraderdada1072020-11-24 11:34:46 -0800891 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
Austin Schuhf6b94632019-02-02 22:11:27 -0800892)
893""",
James Kuszmaul9776b392023-01-14 14:08:08 -0800894 sha256 = "b01f78b74ffcf01f48636dca894942e801ec6eac3daadcea7d65c4b74a80a056",
Austin Schuhf6b94632019-02-02 22:11:27 -0800895 urls = [
James Kuszmaul9776b392023-01-14 14:08:08 -0800896 "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 -0800897 ],
898)
Austin Schuheed14442019-03-23 14:42:46 -0700899
900http_archive(
Austin Schuhda9d0602019-09-15 17:29:38 -0700901 name = "build_bazel_rules_nodejs",
Philipp Schrader87277f42022-01-01 07:45:12 -0800902 sha256 = "cfc289523cf1594598215901154a6c2515e8bf3671fd708264a6f6aefe02bf39",
903 urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.6/rules_nodejs-4.4.6.tar.gz"],
Austin Schuhda9d0602019-09-15 17:29:38 -0700904)
Austin Schuheed14442019-03-23 14:42:46 -0700905
Philipp Schrader87277f42022-01-01 07:45:12 -0800906load("@build_bazel_rules_nodejs//:index.bzl", "node_repositories", "yarn_install")
Austin Schuheed14442019-03-23 14:42:46 -0700907
908node_repositories()
909
910# Setup Bazel managed npm dependencies with the `yarn_install` rule.
Philipp Schrader87277f42022-01-01 07:45:12 -0800911
Austin Schuhda9d0602019-09-15 17:29:38 -0700912# To run yarn by hand, use:
913# bazel run @nodejs_linux_amd64//:bin/yarn -- list
914# I'm sure there is a better path, but that works...
Austin Schuheed14442019-03-23 14:42:46 -0700915yarn_install(
916 name = "npm",
Alex Perryeddc18c2022-01-29 16:22:41 -0800917 frozen_lockfile = True,
Austin Schuheed14442019-03-23 14:42:46 -0700918 package_json = "//:package.json",
Philipp Schraderb48f8ea2022-03-13 20:59:54 -0700919 patch_args = ["-p1"],
920 post_install_patches = [
921 "//third_party:npm/@bazel/protractor/bazel-protractor.patch",
922 ],
Austin Schuhda9d0602019-09-15 17:29:38 -0700923 symlink_node_modules = False,
Austin Schuheed14442019-03-23 14:42:46 -0700924 yarn_lock = "//:yarn.lock",
925)
Austin Schuh4ac96a82019-08-14 20:24:23 -0700926
Philipp Schrader54047962022-02-16 21:05:11 -0800927load("@build_bazel_rules_nodejs//toolchains/esbuild:esbuild_repositories.bzl", "esbuild_repositories")
928
929esbuild_repositories(npm_repository = "npm")
930
Alex Perryb3168082022-01-22 13:36:13 -0800931http_archive(
932 name = "io_bazel_rules_webtesting",
Philipp Schrader54047962022-02-16 21:05:11 -0800933 patch_args = ["-p1"],
934 patches = [
935 "@//third_party:rules_webtesting/rules_webtesting.patch",
936 ],
Alex Perryb3168082022-01-22 13:36:13 -0800937 sha256 = "e9abb7658b6a129740c0b3ef6f5a2370864e102a5ba5ffca2cea565829ed825a",
938 urls = ["https://github.com/bazelbuild/rules_webtesting/releases/download/0.3.5/rules_webtesting.tar.gz"],
939)
940
Brian Silvermane84b0cf2022-08-13 19:36:21 -0700941http_archive(
942 name = "rules_rust_tinyjson",
943 build_file = "@rules_rust//util/process_wrapper:BUILD.tinyjson.bazel",
944 sha256 = "1a8304da9f9370f6a6f9020b7903b044aa9ce3470f300a1fba5bc77c78145a16",
945 strip_prefix = "tinyjson-2.3.0",
946 type = "tar.gz",
947 url = "https://crates.io/api/v1/crates/tinyjson/2.3.0/download",
948)
949
Brian Silverman01dfd872022-04-06 22:20:40 -0700950local_repository(
Ravago Jones16809802021-11-18 20:40:03 -0800951 name = "rules_rust",
Brian Silverman01dfd872022-04-06 22:20:40 -0700952 path = "third_party/rules_rust",
Ravago Jones16809802021-11-18 20:40:03 -0800953)
954
Brian Silvermane84b0cf2022-08-13 19:36:21 -0700955load("@rules_rust//rust:repositories.bzl", "rust_repository_set")
Ravago Jones16809802021-11-18 20:40:03 -0800956
Brian Silvermane84b0cf2022-08-13 19:36:21 -0700957rust_repository_set(
Ravago Jones16809802021-11-18 20:40:03 -0800958 name = "rust",
Brian Silverman8751d482022-05-18 23:28:44 -0700959 allocator_library = "@//tools/rust:forward_allocator",
Ravago Jones16809802021-11-18 20:40:03 -0800960 edition = "2021",
961 exec_triple = "x86_64-unknown-linux-gnu",
962 extra_target_triples = [
963 "arm-unknown-linux-gnueabi",
964 "armv7-unknown-linux-gnueabihf",
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800965 "aarch64-unknown-linux-gnu",
Ravago Jones16809802021-11-18 20:40:03 -0800966 ],
Brian Silvermane84b0cf2022-08-13 19:36:21 -0700967 register_toolchain = False,
Brian Silvermana8ad1af2022-07-23 16:05:12 -0700968 rustfmt_version = "1.62.0",
Brian Silvermana8ad1af2022-07-23 16:05:12 -0700969 version = "1.62.0",
Ravago Jones16809802021-11-18 20:40:03 -0800970)
971
Philipp Schrader54047962022-02-16 21:05:11 -0800972load("@io_bazel_rules_webtesting//web:repositories.bzl", "web_test_repositories")
973
974web_test_repositories()
975
976load("@io_bazel_rules_webtesting//web/versioned:browsers-0.3.3.bzl", "browser_repositories")
977
978browser_repositories(chromium = True)
979
Austin Schuh4ac96a82019-08-14 20:24:23 -0700980# Flatbuffers
981local_repository(
982 name = "com_github_google_flatbuffers",
983 path = "third_party/flatbuffers",
984)
James Kuszmaul7daef362019-12-31 18:28:17 -0800985
986http_file(
987 name = "sample_logfile",
988 downloaded_file_path = "log.fbs",
milind945708b2021-07-03 13:30:15 -0700989 sha256 = "45d1d19fb82786c476d3f21a8d62742abaeeedf4c16a00ec37ae350dcb61f1fc",
990 urls = ["https://www.frc971.org/Build-Dependencies/small_sample_logfile2.fbs"],
James Kuszmaul7daef362019-12-31 18:28:17 -0800991)
Brian Silvermand4260c72020-01-14 00:08:02 -0800992
James Kuszmaul9c128122021-03-22 22:24:36 -0700993http_archive(
James Kuszmaul531609d2020-02-18 17:12:23 -0800994 name = "drivetrain_replay",
James Kuszmaul9c128122021-03-22 22:24:36 -0700995 build_file_content = """
996filegroup(
997 name = "drivetrain_replay",
998 srcs = glob(["**/*.bfbs"]),
999 visibility = ["//visibility:public"],
1000)
1001 """,
1002 sha256 = "115dcd2fe005cb9cad3325707aa7f4466390c43a08555edf331c06c108bdf692",
1003 url = "https://www.frc971.org/Build-Dependencies/2021-03-20_drivetrain_spin_wheels.tar.gz",
James Kuszmaul531609d2020-02-18 17:12:23 -08001004)
1005
milind-u7baf7342021-08-25 18:31:26 -07001006http_archive(
1007 name = "superstructure_replay",
1008 build_file_content = """
1009filegroup(
1010 name = "superstructure_replay",
1011 srcs = glob(["**/*.bfbs"]),
1012 visibility = ["//visibility:public"],
1013)
1014 """,
milind-u200b2762021-11-06 19:36:15 -07001015 sha256 = "2b9a3ecc83f2aba89a1909ae38fe51e6718a5b4d0e7c131846dfb2845df9cd19",
1016 url = "https://www.frc971.org/Build-Dependencies/2021-10-03_superstructure_shoot_balls.tar.gz",
milind-u7baf7342021-08-25 18:31:26 -07001017)
1018
Philipp Schraderf1bbf342022-02-05 14:30:15 -08001019# OpenCV arm64 (for raspberry pi)
1020http_archive(
1021 name = "opencv_arm64",
1022 build_file = "@//debian:opencv.BUILD",
1023 sha256 = "d284fae46ca710cf24c81ff7ace34929773466bff38f365a80371bea3b36a2ed",
1024 url = "https://www.frc971.org/Build-Dependencies/opencv_arm64.tar.gz",
1025)
1026
Brian Silvermand4260c72020-01-14 00:08:02 -08001027# OpenCV armhf (for raspberry pi)
1028http_archive(
1029 name = "opencv_armhf",
1030 build_file = "@//debian:opencv.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -08001031 sha256 = "064165507bad1afa8f7b22961a9a9067b243abc70064d713d26b37bc8dc2bf56",
1032 url = "https://www.frc971.org/Build-Dependencies/opencv_armhf_v4.tar.gz",
Brian Silvermand4260c72020-01-14 00:08:02 -08001033)
Brian Silvermand97a47c2020-01-16 00:47:53 -08001034
1035http_archive(
1036 name = "opencv_k8",
1037 build_file = "@//debian:opencv.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -08001038 sha256 = "b730f5d0c8eb59411157b4e84bfdddd3a6fceed10b842716d9d1b74ad322ea14",
1039 url = "https://www.frc971.org/Build-Dependencies/opencv_amd64_v3.tar.gz",
Brian Silvermand97a47c2020-01-16 00:47:53 -08001040)
Brian Silverman764945b2020-01-16 23:40:43 -08001041
Brian Silverman764945b2020-01-16 23:40:43 -08001042http_archive(
1043 name = "halide_k8",
1044 build_file = "@//debian:halide.BUILD",
Austin Schuh669068e2023-01-04 20:50:34 -08001045 sha256 = "be3bdd067acb9ee0d37d0830821113cd69174bee46da466a836d8829fef7cf91",
1046 strip_prefix = "Halide-14.0.0-x86-64-linux/",
1047 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 -08001048)
1049
Philipp Schraderf1bbf342022-02-05 14:30:15 -08001050http_archive(
1051 name = "halide_arm64",
1052 build_file = "@//debian:halide.BUILD",
Austin Schuh669068e2023-01-04 20:50:34 -08001053 sha256 = "cdd42411bcbba682f73d7db0af69837c4857ee90f1727c6feb37fc9a98132385",
1054 strip_prefix = "Halide-14.0.0-arm-64-linux/",
1055 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 -08001056)
1057
Brian Silverman764945b2020-01-16 23:40:43 -08001058http_archive(
1059 name = "halide_armhf",
1060 build_file = "@//debian:halide.BUILD",
Austin Schuh669068e2023-01-04 20:50:34 -08001061 sha256 = "6b3fe3396391b57990a2c41d8dcea74b0734d1b2a0fd42fe0858d954aa45df2b",
1062 strip_prefix = "Halide-14.0.0-arm-32-linux/",
1063 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 -08001064)
Brian Silverman4fe44ea2020-02-02 12:56:42 -08001065
Austin Schuh2e28d872022-02-19 18:25:57 -08001066http_archive(
Tyler Chatow60671d32020-02-26 19:49:30 -08001067 name = "gstreamer_k8",
1068 build_file = "@//debian:gstreamer.BUILD",
Tyler Chatow6eda82c2022-03-27 22:37:38 -07001069 sha256 = "d4994261a432c188716f0bdf30fc3f0dff6727319d9c58e7156e2b3ed5105248",
1070 url = "https://www.frc971.org/Build-Dependencies/gstreamer_1.20.1-1~bpo11+1_amd64.tar.gz",
Tyler Chatow60671d32020-02-26 19:49:30 -08001071)
1072
1073http_archive(
1074 name = "gstreamer_armhf",
1075 build_file = "@//debian:gstreamer.BUILD",
1076 sha256 = "c5ac4c604952c274a50636e244f0d091bd1de302032446f24f0e9e03ae9c76f7",
Austin Schuha5778ae2020-10-21 21:15:35 -07001077 url = "https://www.frc971.org/Build-Dependencies/gstreamer_armhf.tar.gz",
Tyler Chatow60671d32020-02-26 19:49:30 -08001078)
James Kuszmaulc91e4402020-05-10 18:47:20 -07001079
Tyler Chatow6eda82c2022-03-27 22:37:38 -07001080http_archive(
1081 name = "gstreamer_arm64",
1082 build_file = "@//debian:gstreamer.BUILD",
1083 sha256 = "42b414c565ffdbae3d2d7796a66da9de42a650de757fa6554fd624f0cc3aaa9b",
1084 url = "https://www.frc971.org/Build-Dependencies/gstreamer_1.20.1-1~bpo11+1_arm64.tar.gz",
1085)
1086
Brian Silvermanf59fe3f2020-09-22 21:04:09 -07001087# //debian:lzma_amd64
1088http_archive(
1089 name = "lzma_amd64",
1090 build_file_content = """
1091cc_library(
1092 name = "lib",
1093 srcs = [
1094 "usr/lib/x86_64-linux-gnu/liblzma.a",
1095 ],
1096 hdrs = glob([
1097 "usr/include/lzma/*.h",
1098 "usr/include/*.h",
1099 ]),
1100 strip_include_prefix = "usr/include",
1101 visibility = ["//visibility:public"],
1102)
1103""",
Austin Schuhe6751772022-06-27 00:58:26 -07001104 sha256 = "6fa0ad579b78bd41a0133024c34063b140442dd2ad4201fd2bf4c55229e7c13f",
1105 urls = ["https://www.frc971.org/Build-Dependencies/lzma_amd64-2.tar.gz"],
Brian Silvermanf59fe3f2020-09-22 21:04:09 -07001106)
1107
1108# //debian:lzma_arm64
1109http_archive(
1110 name = "lzma_arm64",
1111 build_file_content = """
1112cc_library(
1113 name = "lib",
1114 srcs = [
1115 "usr/lib/aarch64-linux-gnu/liblzma.a",
1116 ],
1117 hdrs = glob([
1118 "usr/include/lzma/*.h",
1119 "usr/include/*.h",
1120 ]),
1121 strip_include_prefix = "usr/include",
1122 visibility = ["//visibility:public"],
1123)
1124""",
Austin Schuhc020b182022-06-29 19:54:01 -07001125 sha256 = "b4ab9fd7cf3bfdb9e3fc67ac4a3c84db7f7e3c48431ccfc6e6e210f5829d17c9",
1126 urls = ["https://www.frc971.org/Build-Dependencies/lzma_arm64-2.tar.gz"],
Brian Silvermanf59fe3f2020-09-22 21:04:09 -07001127)
James Kuszmaul2cffe852021-10-27 20:17:49 -07001128
1129local_repository(
1130 name = "snappy",
1131 path = "third_party/snappy",
1132)
Philipp Schrader73e56602021-12-06 21:37:30 -08001133
1134http_archive(
1135 name = "io_bazel_rules_go",
Philipp Schrader039f5c32022-01-20 22:30:01 -08001136 patch_args = [
1137 "-p1",
1138 ],
1139 patches = [
1140 "@//third_party:rules_go/0001-Disable-warnings-for-external-repositories.patch",
1141 ],
Philipp Schrader73e56602021-12-06 21:37:30 -08001142 sha256 = "2b1641428dff9018f9e85c0384f03ec6c10660d935b750e3fa1492a281a53b0f",
1143 urls = [
1144 "https://www.frc971.org/Build-Dependencies/rules_go-v0.29.0.zip",
1145 "https://github.com/bazelbuild/rules_go/releases/download/v0.29.0/rules_go-v0.29.0.zip",
1146 ],
1147)
1148
Philipp Schrader37fdbb62021-12-18 00:30:37 -08001149http_archive(
1150 name = "bazel_gazelle",
1151 sha256 = "de69a09dc70417580aabf20a28619bb3ef60d038470c7cf8442fafcf627c21cb",
1152 urls = [
1153 "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz",
1154 "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz",
1155 ],
1156)
1157
Philipp Schrader73e56602021-12-06 21:37:30 -08001158load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
1159
1160go_rules_dependencies()
1161
Philipp Schrader6097ed12022-03-26 15:37:37 -07001162go_register_toolchains(version = "1.18")
Philipp Schrader37fdbb62021-12-18 00:30:37 -08001163
1164load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
1165load("//:go_deps.bzl", "go_dependencies")
1166load("//tools/go:mirrored_go_deps.bzl", "mirrored_go_dependencies")
1167
1168mirrored_go_dependencies()
1169
1170# gazelle:repository_macro go_deps.bzl%go_dependencies
1171go_dependencies()
1172
1173gazelle_dependencies()
Philipp Schradercc016b32021-12-30 08:59:58 -08001174
1175http_archive(
1176 name = "com_github_bazelbuild_buildtools",
1177 sha256 = "44a6e5acc007e197d45ac3326e7f993f0160af9a58e8777ca7701e00501c0857",
1178 strip_prefix = "buildtools-4.2.4",
1179 urls = [
1180 "https://github.com/bazelbuild/buildtools/archive/refs/tags/4.2.4.tar.gz",
1181 ],
1182)
Philipp Schrader0f5d2502022-03-08 22:44:55 -08001183
1184http_archive(
Tyler Chatowec100e22022-03-22 16:23:04 -07001185 name = "libtinfo5_amd64",
Tyler Chatow8a51ac62022-03-15 13:23:12 -07001186 build_file_content = """
1187exports_files(
1188 [
1189 'lib/x86_64-linux-gnu/libtinfo.so.5',
1190 'lib/x86_64-linux-gnu/libtinfo.so.5.9',
1191 ],
1192 ["//visibility:public"],
1193)
1194""",
1195 patch_cmds = ["touch lib/x86_64-linux-gnu/BUILD"],
1196 sha256 = "059e14f77dce365c57b96284aae98c892f61e269b3fbb7d07714b7135c2e5617",
1197 urls = ["https://www.frc971.org/Build-Dependencies/libtinfo5_amd64.tar.gz"],
1198)
Tyler Chatowec100e22022-03-22 16:23:04 -07001199
1200http_archive(
1201 name = "libtinfo5_arm64",
1202 build_file_content = """
1203exports_files(
1204 [
1205 'lib/aarch64-linux-gnu/libtinfo.so.5',
1206 'lib/aarch64-linux-gnu/libtinfo.so.5.9',
1207 ],
1208 ["//visibility:public"],
1209)
1210""",
1211 patch_cmds = ["touch lib/aarch64-linux-gnu/BUILD"],
1212 sha256 = "df4ea5194c80df8d1f5f6ed68b47ce9dbf78aa8cdebbc61cf00654d9075f8e3c",
1213 urls = ["https://www.frc971.org/Build-Dependencies/libtinfo5_arm64.tar.gz"],
1214)
James Kuszmaul4ed5fb12022-03-22 15:20:04 -07001215
1216local_repository(
1217 name = "com_github_nlohmann_json",
1218 path = "third_party/com_github_nlohmann_json",
1219)
James Kuszmaul5c56ed32022-03-30 15:10:07 -07001220
Austin Schuh86110712022-09-16 15:40:54 -07001221# https://curl.haxx.se/download/curl-7.69.1.tar.gz
1222http_archive(
1223 name = "com_github_curl_curl",
1224 build_file = "//debian:curl.BUILD",
1225 sha256 = "01ae0c123dee45b01bbaef94c0bc00ed2aec89cb2ee0fd598e0d302a6b5e0a98",
1226 strip_prefix = "curl-7.69.1",
1227 url = "https://www.frc971.org/Build-Dependencies/curl-7.69.1.tar.gz",
1228)
1229
1230http_archive(
1231 # No official name exists. Names used in our external dependencies include
1232 # zlib, madler_zlib, com_github_madler_zlib.
1233 name = "zlib",
1234 build_file = "//debian:BUILD.zlib.bazel",
1235 sha256 = "629380c90a77b964d896ed37163f5c3a34f6e6d897311f1df2a7016355c45eff",
1236 strip_prefix = "zlib-1.2.11",
1237 urls = [
1238 "https://github.com/madler/zlib/archive/v1.2.11.tar.gz",
1239 ],
1240)
1241
1242# 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 -08001243# git clone -b 1.10.34 --recurse-submodules --depth=1 https://github.com/aws/aws-sdk-cpp
Austin Schuh86110712022-09-16 15:40:54 -07001244# cd aws-sdk-cpp
1245# 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/\)')
1246# Now run the command that printed, and the output will be at aws_sdk-version.tar.gz.
1247http_archive(
1248 name = "aws_sdk",
1249 build_file = "//debian:aws_sdk.BUILD",
1250 patch_args = ["-p1"],
1251 patches = ["//debian:aws_sdk.patch"],
James Kuszmaulb0931ac2023-01-24 14:23:13 -08001252 sha256 = "de6570d10c246189fd8c02100f7f0d9af8499a3ef94a131eeb85619f3bd6c604",
1253 url = "https://www.frc971.org/Build-Dependencies/aws_sdk-1.10.34.tar.gz",
Austin Schuh86110712022-09-16 15:40:54 -07001254)
1255
James Kuszmaul5ab990d2022-11-07 16:35:49 -08001256# Source code of LZ4 (files under lib/) are under BSD 2-Clause.
1257# The rest of the repository (build information, documentation, etc.) is under GPLv2.
1258# We only care about the lib/ subfolder anyways, and strip out any other files.
1259http_archive(
1260 name = "com_github_lz4_lz4",
1261 build_file = "//debian:BUILD.lz4.bazel",
1262 sha256 = "0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b",
1263 strip_prefix = "lz4-1.9.4/lib",
1264 url = "https://github.com/lz4/lz4/archive/refs/tags/v1.9.4.tar.gz",
1265)
1266
James Kuszmaul5c56ed32022-03-30 15:10:07 -07001267http_file(
1268 name = "com_github_foxglove_mcap_mcap",
1269 executable = True,
James Kuszmaul5ab990d2022-11-07 16:35:49 -08001270 sha256 = "ae745dd09cf4c9570c1c038a72630c07b073f0ed4b05983d64108ff748a40d3f",
1271 urls = ["https://github.com/foxglove/mcap/releases/download/releases%2Fmcap-cli%2Fv0.0.22/mcap-linux-amd64"],
James Kuszmaul5c56ed32022-03-30 15:10:07 -07001272)
Brian Silverman0aa13732022-05-19 23:14:08 -07001273
1274http_archive(
1275 name = "cargo_raze",
1276 patches = ["@//third_party/cargo_raze:cargo_raze.patch"],
1277 sha256 = "08bfc8859ff686ecb55005a3c4a9cf790115de0abdbcc69cf57b15be0745a859",
1278 strip_prefix = "cargo-raze-0.14.2",
1279 url = "https://github.com/google/cargo-raze/archive/v0.14.2.tar.gz",
1280)
1281
1282http_archive(
1283 name = "rules_foreign_cc",
1284 patch_args = ["-p1"],
1285 patches = ["@//third_party/rules_foreign_cc:backport_d93bd96dc719760c968b54730258ad0a5b10f8fb.patch"],
1286 sha256 = "69023642d5781c68911beda769f91fcbc8ca48711db935a75da7f6536b65047f",
1287 strip_prefix = "rules_foreign_cc-0.6.0",
1288 url = "https://github.com/bazelbuild/rules_foreign_cc/archive/0.6.0.tar.gz",
1289)
1290
1291load("@cargo_raze//:repositories.bzl", "cargo_raze_repositories")
1292
1293cargo_raze_repositories()
1294
1295# cargo_raze_transitive_deps wants to do `rust_repositories`, which we do
1296# manually to get the right platforms. rules_foreign_cc is currently the only
1297# other thing it has, so just do that manually.
1298load("@rules_foreign_cc//foreign_cc:repositories.bzl", "rules_foreign_cc_dependencies")
1299
1300rules_foreign_cc_dependencies()
Brian Silverman547eda02022-05-19 23:14:08 -07001301
1302load("//third_party/cargo:crates.bzl", "raze_fetch_remote_crates")
1303
1304raze_fetch_remote_crates()
James Kuszmaul0de4feb2022-04-15 12:16:59 -07001305
1306http_archive(
1307 name = "com_github_zaphoyd_websocketpp",
1308 build_file = "//third_party/websocketpp:websocketpp.BUILD",
Ravago Jones0c74c122023-01-08 15:20:19 -08001309 patch_args = ["-p1"],
1310 patches = ["//third_party/websocketpp:websocketpp.patch"],
James Kuszmaul0de4feb2022-04-15 12:16:59 -07001311 sha256 = "6ce889d85ecdc2d8fa07408d6787e7352510750daa66b5ad44aacb47bea76755",
1312 strip_prefix = "websocketpp-0.8.2",
1313 url = "https://github.com/zaphoyd/websocketpp/archive/refs/tags/0.8.2.tar.gz",
1314)
1315
1316http_archive(
1317 name = "com_github_foxglove_ws-protocol",
James Kuszmaul6b609292023-01-28 15:58:43 -08001318 build_file = "//third_party/foxglove/ws_protocol:foxglove_ws_protocol.BUILD",
James Kuszmaul0de4feb2022-04-15 12:16:59 -07001319 patch_args = ["-p1"],
James Kuszmaul6b609292023-01-28 15:58:43 -08001320 patches = ["//third_party/foxglove/ws_protocol:foxglove_ws_protocol.patch"],
James Kuszmaul0de4feb2022-04-15 12:16:59 -07001321 sha256 = "3256f09a67419f6556778c443d332f1a4bf53ba0e7a464179bf838abffa366ab",
1322 strip_prefix = "ws-protocol-releases-typescript-ws-protocol-examples-v0.0.6",
1323 url = "https://github.com/foxglove/ws-protocol/archive/refs/tags/releases/typescript/ws-protocol-examples/v0.0.6.tar.gz",
1324)
1325
1326http_archive(
1327 name = "asio",
1328 build_file_content = """
1329cc_library(
1330 name = "asio",
1331 hdrs = glob(["include/asio/**/*.hpp", "include/asio/**/*.ipp", "include/asio.hpp"]),
1332 visibility = ["//visibility:public"],
1333 defines = ["ASIO_STANDALONE"],
1334 includes = ["include/"],
1335)""",
1336 sha256 = "8976812c24a118600f6fcf071a20606630a69afe4c0abee3b0dea528e682c585",
1337 strip_prefix = "asio-1.24.0",
1338 url = "https://downloads.sourceforge.net/project/asio/asio/1.24.0%2520%2528Stable%2529/asio-1.24.0.tar.bz2",
1339)
James Kuszmaul6b609292023-01-28 15:58:43 -08001340
1341http_archive(
1342 name = "com_github_foxglove_schemas",
1343 build_file = "//third_party/foxglove/schemas:schemas.BUILD",
1344 sha256 = "c0d08365eb8fba0af7773b5f0095fb53fb53f020bde46edaa308af5bb939fc15",
1345 strip_prefix = "schemas-7a3e077b88142ac46bb4e2616f83dc029b45352e/schemas/flatbuffer",
1346 url = "https://github.com/foxglove/schemas/archive/7a3e077b88142ac46bb4e2616f83dc029b45352e.tar.gz",
1347)
James Kuszmaul3398d0b2023-02-11 22:55:22 -08001348
1349# This contains the *compiled* foxglove studio. This can be reproduced by:
1350# 1. Cloning https://github.com/foxglove/studio
1351# 2. Building the code (yarn web:build:prod)
1352# 3. tar'ing the web/.webpack folder
1353# These files can be hosted locally to provide an offline foxglove server.
1354# Foxglove may be served on any port and may be nested at a subpath
1355# (e.g., at hostname:8000/foxglove behind a proxy).
1356http_archive(
1357 name = "foxglove_studio",
1358 build_file_content = """
1359filegroup(
1360 name = "foxglove_studio",
1361 srcs = glob(["**"]),
1362 visibility = ["//visibility:public"],
1363)""",
1364 sha256 = "629b150e4c71679e1ac30b8a2dfa558a04bbcca7ad0edd61bd6878d3b243edb6",
1365 url =
1366 "https://www.frc971.org/Build-Dependencies/foxglove-d6b00825.tar.gz",
1367)