blob: 3158eb832bf937db138f5caf1952744d10ecec47 [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")
Brian Silverman7bda6212018-08-05 11:42:11 -07006load(
7 "//debian:python.bzl",
8 python_debs = "files",
9)
10load(
Philipp Schraderd0e33a42022-01-22 21:55:15 -080011 "//debian:apache2.bzl",
12 apache2_debs = "files",
13)
14load(
Philipp Schrader41011a12022-03-13 12:49:32 -070015 "//debian:postgresql_amd64.bzl",
16 postgresql_amd64_debs = "files",
17)
18load(
Brian Silverman7bda6212018-08-05 11:42:11 -070019 "//debian:patch.bzl",
20 patch_debs = "files",
21)
Brian Silverman7297c0c2018-08-05 13:43:00 -070022load(
Austin Schuh71f6fa72019-08-31 18:23:02 -070023 "//debian:rsync.bzl",
24 rsync_debs = "files",
25)
26load(
27 "//debian:ssh.bzl",
28 ssh_debs = "files",
29)
30load(
Brian Silverman7297c0c2018-08-05 13:43:00 -070031 "//debian:pandoc.bzl",
32 pandoc_debs = "files",
33)
Brian Silverman4f6ba442018-08-05 14:34:58 -070034load(
35 "//debian:libusb.bzl",
36 libusb_debs = "files",
37)
Brian Silvermanb80dc9f2018-08-05 14:59:24 -070038load(
39 "//debian:mingw_compiler.bzl",
40 mingw_compiler_debs = "files",
41)
Brian Silverman6470f442018-08-05 12:08:16 -070042load(
43 "//debian:patchelf.bzl",
44 patchelf_debs = "files",
45)
46load(
47 "//debian:matplotlib.bzl",
48 matplotlib_debs = "files",
49)
Brian Silverman50b9ac02018-08-12 13:24:10 -070050load(
51 "//debian:arm_frc_gnueabi_deps.bzl",
52 arm_frc_gnueabi_deps_debs = "files",
53)
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -070054load(
55 "//debian:python_gtk.bzl",
56 python_gtk_debs = "files",
57)
Brian Silvermand4260c72020-01-14 00:08:02 -080058load(
Philipp Schraderfd5489f2022-09-17 17:31:09 -070059 "//debian:gtk_runtime.bzl",
60 gtk_runtime_debs = "files",
61)
62load(
Philipp Schraderf1bbf342022-02-05 14:30:15 -080063 "//debian:opencv_arm64.bzl",
64 opencv_arm64_debs = "files",
65)
66load(
Brian Silvermand4260c72020-01-14 00:08:02 -080067 "//debian:opencv_armhf.bzl",
68 opencv_armhf_debs = "files",
69)
Brian Silvermand97a47c2020-01-16 00:47:53 -080070load(
71 "//debian:opencv_amd64.bzl",
72 opencv_amd64_debs = "files",
73)
Tyler Chatow60671d32020-02-26 19:49:30 -080074load(
75 "//debian:gstreamer_amd64.bzl",
James Kuszmaulc91e4402020-05-10 18:47:20 -070076 gstreamer_amd64_debs = "files",
Tyler Chatow60671d32020-02-26 19:49:30 -080077)
78load(
79 "//debian:gstreamer_armhf.bzl",
James Kuszmaulc91e4402020-05-10 18:47:20 -070080 gstreamer_armhf_debs = "files",
Tyler Chatow60671d32020-02-26 19:49:30 -080081)
Austin Schuh023e7f52020-08-18 21:24:37 -070082load(
Tyler Chatow6eda82c2022-03-27 22:37:38 -070083 "//debian:gstreamer_arm64.bzl",
84 gstreamer_arm64_debs = "files",
85)
86load(
Austin Schuh023e7f52020-08-18 21:24:37 -070087 "//debian:m4.bzl",
88 m4_debs = "files",
89)
Brian Silvermanf59fe3f2020-09-22 21:04:09 -070090load(
91 "//debian:lzma_amd64.bzl",
92 lzma_amd64_debs = "files",
93)
94load(
95 "//debian:lzma_arm64.bzl",
96 lzma_arm64_debs = "files",
97)
Tyler Chatow8a51ac62022-03-15 13:23:12 -070098load(
99 "//debian:libtinfo5_amd64.bzl",
100 libtinfo5_amd64_debs = "files",
101)
Tyler Chatowec100e22022-03-22 16:23:04 -0700102load(
103 "//debian:libtinfo5_arm64.bzl",
104 libtinfo5_arm64_debs = "files",
105)
Philipp Schrader0e19c602018-03-07 21:07:22 -0800106load("//debian:packages.bzl", "generate_repositories_for_debs")
107
108generate_repositories_for_debs(python_debs)
Brian Silverman7bda6212018-08-05 11:42:11 -0700109
Austin Schuh71f6fa72019-08-31 18:23:02 -0700110generate_repositories_for_debs(rsync_debs)
111
112generate_repositories_for_debs(ssh_debs)
113
Philipp Schraderd0e33a42022-01-22 21:55:15 -0800114generate_repositories_for_debs(apache2_debs)
115
Philipp Schrader41011a12022-03-13 12:49:32 -0700116generate_repositories_for_debs(postgresql_amd64_debs)
117
Brian Silverman7bda6212018-08-05 11:42:11 -0700118generate_repositories_for_debs(patch_debs)
119
Brian Silverman7297c0c2018-08-05 13:43:00 -0700120generate_repositories_for_debs(pandoc_debs)
121
Brian Silverman4f6ba442018-08-05 14:34:58 -0700122generate_repositories_for_debs(libusb_debs)
123
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700124generate_repositories_for_debs(mingw_compiler_debs)
125
Brian Silverman6470f442018-08-05 12:08:16 -0700126generate_repositories_for_debs(patchelf_debs)
127
128generate_repositories_for_debs(matplotlib_debs)
129
Brian Silverman50b9ac02018-08-12 13:24:10 -0700130generate_repositories_for_debs(arm_frc_gnueabi_deps_debs)
131
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -0700132generate_repositories_for_debs(python_gtk_debs)
133
Philipp Schraderfd5489f2022-09-17 17:31:09 -0700134generate_repositories_for_debs(gtk_runtime_debs)
135
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800136generate_repositories_for_debs(opencv_arm64_debs)
137
Brian Silvermand4260c72020-01-14 00:08:02 -0800138generate_repositories_for_debs(opencv_armhf_debs)
139
Brian Silvermand97a47c2020-01-16 00:47:53 -0800140generate_repositories_for_debs(opencv_amd64_debs)
141
Tyler Chatow6eda82c2022-03-27 22:37:38 -0700142generate_repositories_for_debs(
143 gstreamer_amd64_debs,
144 base_url = "https://www.frc971.org/Build-Dependencies/gstreamer_bullseye_amd64_deps",
145)
Tyler Chatow60671d32020-02-26 19:49:30 -0800146
147generate_repositories_for_debs(gstreamer_armhf_debs)
148
Tyler Chatow6eda82c2022-03-27 22:37:38 -0700149generate_repositories_for_debs(
150 gstreamer_arm64_debs,
151 base_url = "https://www.frc971.org/Build-Dependencies/gstreamer_bullseye_arm64_deps",
152)
153
Austin Schuh023e7f52020-08-18 21:24:37 -0700154generate_repositories_for_debs(m4_debs)
155
Brian Silvermanf59fe3f2020-09-22 21:04:09 -0700156generate_repositories_for_debs(lzma_amd64_debs)
157
158generate_repositories_for_debs(lzma_arm64_debs)
159
Tyler Chatow8a51ac62022-03-15 13:23:12 -0700160generate_repositories_for_debs(libtinfo5_amd64_debs)
161
Tyler Chatowec100e22022-03-22 16:23:04 -0700162generate_repositories_for_debs(libtinfo5_arm64_debs)
163
Brian Silvermanc0309a02022-01-01 23:57:03 -0800164local_repository(
165 name = "com_grail_bazel_toolchain",
166 path = "third_party/bazel-toolchain",
167)
168
Brian Silverman4c7235a2021-11-17 19:04:37 -0800169load("@com_grail_bazel_toolchain//toolchain:rules.bzl", "llvm", "llvm_toolchain")
170
171llvm_version = "13.0.0"
172
173llvm(
174 name = "llvm_k8",
175 distribution = "clang+llvm-%s-x86_64-linux-gnu-ubuntu-16.04.tar.xz" % llvm_version,
176 llvm_version = llvm_version,
177)
178
179llvm(
180 name = "llvm_armv7",
181 distribution = "clang+llvm-%s-armv7a-linux-gnueabihf.tar.xz" % llvm_version,
182 llvm_version = llvm_version,
183)
184
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800185llvm(
186 name = "llvm_aarch64",
187 distribution = "clang+llvm-%s-aarch64-linux-gnu.tar.xz" % llvm_version,
188 llvm_version = llvm_version,
189)
190
Brian Silverman4c7235a2021-11-17 19:04:37 -0800191llvm_conlyopts = [
192 "-std=gnu99",
193]
194
195llvm_copts = [
196 "-D__STDC_FORMAT_MACROS",
197 "-D__STDC_CONSTANT_MACROS",
198 "-D__STDC_LIMIT_MACROS",
199 "-D_FILE_OFFSET_BITS=64",
200 "-fmessage-length=100",
201 "-fmacro-backtrace-limit=0",
202 "-Wextra",
203 "-Wpointer-arith",
204 "-Wstrict-aliasing",
205 "-Wcast-qual",
206 "-Wcast-align",
207 "-Wwrite-strings",
208 "-Wtype-limits",
209 "-Wsign-compare",
210 "-Wformat=2",
211 "-Werror",
212 "-ggdb3",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800213]
214
215llvm_cxxopts = [
216 "-std=gnu++17",
217]
218
Brian Silverman1e7c8972022-02-03 23:15:41 -0800219llvm_opt_copts = [
220 "-DAOS_DEBUG=0",
221]
222
223llvm_fastbuild_copts = [
224 "-DAOS_DEBUG=0",
225]
226
Brian Silverman4c7235a2021-11-17 19:04:37 -0800227llvm_dbg_copts = [
228 "-DAOS_DEBUG=1",
229]
Brian Silvermanc0309a02022-01-01 23:57:03 -0800230
231llvm_toolchain(
232 name = "llvm_toolchain",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800233 additional_target_compatible_with = {
234 "linux-armv7": [
235 "@//tools/platforms/hardware:raspberry_pi",
236 ],
237 },
238 conlyopts = {
239 "linux-x86_64": llvm_conlyopts,
240 "linux-armv7": llvm_conlyopts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800241 "linux-aarch64": llvm_conlyopts,
Brian Silverman4c7235a2021-11-17 19:04:37 -0800242 },
243 copts = {
244 "linux-x86_64": llvm_copts,
245 "linux-armv7": llvm_copts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800246 "linux-aarch64": llvm_copts,
Brian Silverman4c7235a2021-11-17 19:04:37 -0800247 },
248 cxxopts = {
249 "linux-x86_64": llvm_cxxopts,
250 "linux-armv7": llvm_cxxopts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800251 "linux-aarch64": llvm_cxxopts,
Brian Silverman4c7235a2021-11-17 19:04:37 -0800252 },
253 dbg_copts = {
254 "linux-x86_64": llvm_dbg_copts,
Brian Silverman1e7c8972022-02-03 23:15:41 -0800255 "linux-armv7": llvm_dbg_copts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800256 "linux-aarch64": llvm_dbg_copts,
Brian Silverman1e7c8972022-02-03 23:15:41 -0800257 },
258 fastbuild_copts = {
259 "linux-x86_64": llvm_fastbuild_copts,
260 "linux-armv7": llvm_fastbuild_copts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800261 "linux-aarch64": llvm_fastbuild_copts,
Brian Silverman4c7235a2021-11-17 19:04:37 -0800262 },
263 llvm_version = llvm_version,
Brian Silverman1e7c8972022-02-03 23:15:41 -0800264 opt_copts = {
265 "linux-x86_64": llvm_opt_copts,
266 "linux-armv7": llvm_opt_copts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800267 "linux-aarch64": llvm_opt_copts,
Brian Silverman1e7c8972022-02-03 23:15:41 -0800268 },
Brian Silverman4c7235a2021-11-17 19:04:37 -0800269 standard_libraries = {
270 "linux-x86_64": "libstdc++-10",
271 "linux-armv7": "libstdc++-10",
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800272 "linux-aarch64": "libstdc++-10",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800273 },
274 static_libstdcxx = False,
Brian Silvermanc0309a02022-01-01 23:57:03 -0800275 sysroot = {
276 "linux-x86_64": "@amd64_debian_sysroot//:sysroot_files",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800277 "linux-armv7": "@armhf_debian_rootfs//:sysroot_files",
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800278 "linux-aarch64": "@arm64_debian_rootfs//:sysroot_files",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800279 },
280 target_toolchain_roots = {
281 "linux-x86_64": "@llvm_k8//",
282 "linux-armv7": "@llvm_armv7//",
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800283 "linux-aarch64": "@llvm_aarch64//",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800284 },
285 toolchain_roots = {
286 "linux-x86_64": "@llvm_k8//",
Tyler Chatow486ad3e2022-03-23 13:32:03 -0700287 "linux-aarch64": "@llvm_aarch64//",
Brian Silvermanc0309a02022-01-01 23:57:03 -0800288 },
289)
290
Brian Silverman4c7235a2021-11-17 19:04:37 -0800291load("@llvm_toolchain//:toolchains.bzl", "llvm_register_toolchains")
292
293llvm_register_toolchains()
294
Philipp Schraderdada1072020-11-24 11:34:46 -0800295register_toolchains(
Philipp Schraderdada1072020-11-24 11:34:46 -0800296 "//tools/cpp:cc-toolchain-roborio",
297 "//tools/cpp:cc-toolchain-cortex-m4f",
Austin Schuh0a96ea32022-01-01 22:29:30 -0800298 "//tools/cpp:cc-toolchain-rp2040",
Philipp Schraderdada1072020-11-24 11:34:46 -0800299 # Find a good way to select between these two M4F toolchains.
300 #"//tools/cpp:cc-toolchain-cortex-m4f-k22",
Philipp Schraderf198a152021-12-05 09:18:23 -0800301 "//tools/python:python_toolchain",
Philipp Schrader9e1b9bd2021-12-28 00:15:12 -0800302 "//tools/python:upstream_python_toolchain",
Philipp Schrader73e56602021-12-06 21:37:30 -0800303 "//tools/go:noop_go_toolchain",
Brian Silverman847121b2022-03-09 15:48:08 -0800304 "//tools/rust:rust-toolchain-x86",
305 "//tools/rust:rust-toolchain-armv7",
306 "//tools/rust:rust-toolchain-arm64",
Brian Silvermana8ad1af2022-07-23 16:05:12 -0700307 # TODO(Brian): Make this work. See the comment on
308 # //tools/platforms:linux_roborio for details.
309 #"//tools/rust:rust-toolchain-roborio",
Ravago Jones16809802021-11-18 20:40:03 -0800310 "//tools/rust:noop_rust_toolchain",
Philipp Schrader54047962022-02-16 21:05:11 -0800311 "//tools/ts:noop_node_toolchain",
Philipp Schraderdada1072020-11-24 11:34:46 -0800312)
313
Philipp Schrader37fdbb62021-12-18 00:30:37 -0800314load("//tools/ci:repo_defs.bzl", "ci_configure")
315
316ci_configure(name = "ci_configure")
317
Philipp Schrader868070a2022-09-06 22:51:13 -0700318load("@ci_configure//:ci.bzl", "RUNNING_IN_CI")
319
Philipp Schraderdada1072020-11-24 11:34:46 -0800320http_archive(
321 name = "platforms",
Philipp Schraderea74b602022-02-05 16:13:12 -0800322 sha256 = "2c8d8347427e6bb0ba7cf9f933c08fe2be2b62ff2454546ad852f7bf267aad87",
323 strip_prefix = "platforms-e658a6af526089406d0057160542597501ba65d7",
324 url = "https://github.com/bazelbuild/platforms/archive/e658a6af526089406d0057160542597501ba65d7.zip",
Philipp Schraderdada1072020-11-24 11:34:46 -0800325)
326
327http_archive(
328 name = "bazel_skylib",
Austin Schuh4c3b4f02020-12-21 11:51:42 -0800329 sha256 = "1c531376ac7e5a180e0237938a2536de0c54d93f5c278634818e0efc952dd56c",
Philipp Schraderdada1072020-11-24 11:34:46 -0800330 urls = [
331 "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz",
332 "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz",
333 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800334)
335
Austin Schuhf093fa52019-06-23 20:47:23 -0700336http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700337 name = "python_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700338 build_file = "@//debian:python.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800339 sha256 = "048c51872f9c3853ae4e961c710533f477194a3f170b454e8d582f32a83e90f5",
340 url = "https://www.frc971.org/Build-Dependencies/python-6.tar.gz",
Philipp Schrader9b1790e2018-03-10 20:21:30 -0800341)
342
Austin Schuh7466fe12020-12-29 23:01:47 -0800343http_archive(
344 name = "com_github_stevengj_nlopt",
345 build_file = "@//debian:nlopt.BUILD",
346 patch_args = ["-p1"],
347 patches = ["//debian:nlopt.patch"],
348 sha256 = "2d65815b21c30813499fe19c63947f7da56b10c0d4a459dce05417899b43e461",
349 strip_prefix = "nlopt-496be736b8b249273838b891f4c8ca3669551127",
350 url = "https://www.frc971.org/Build-Dependencies/nlopt-496be736b8b249273838b891f4c8ca3669551127.zip",
351)
352
Austin Schuhd57edc42019-09-21 17:52:38 -0700353local_repository(
354 name = "com_google_absl",
355 path = "third_party/abseil",
Austin Schuh36244a12019-09-21 17:52:38 -0700356)
357
Alex Perrycb7da4b2019-08-28 19:35:56 -0700358local_repository(
359 name = "org_tuxfamily_eigen",
360 path = "third_party/eigen",
361)
362
James Kuszmaulbc02ff42021-01-15 20:41:30 -0800363local_repository(
364 name = "com_github_rawrtc_re",
365 path = "third_party/rawrtc/re",
366)
367
368local_repository(
369 name = "com_github_rawrtc_rew",
370 path = "third_party/rawrtc/rew",
371)
372
373local_repository(
374 name = "com_github_rawrtc_usrsctp",
375 path = "third_party/rawrtc/usrsctp",
376)
377
378local_repository(
379 name = "com_github_rawrtc_rawrtc_common",
380 path = "third_party/rawrtc/rawrtc-common",
381)
382
383local_repository(
384 name = "com_github_rawrtc_rawrtc_data_channel",
385 path = "third_party/rawrtc/rawrtc-data-channel",
386)
387
388local_repository(
389 name = "com_github_rawrtc_rawrtc",
390 path = "third_party/rawrtc/rawrtc",
391)
392
Austin Schuh0ca51f32020-12-25 21:51:45 -0800393http_archive(
394 name = "boringssl",
395 patch_args = ["-p1"],
396 patches = ["//debian:boringssl.patch"],
397 sha256 = "bcab08a22c28f5322316542aa2c3a9ef0a9f9fde9be22d489cee574867b24675",
398 strip_prefix = "boringssl-613fe9dbe74b58d6aaaf0d22fe57dccd964c7413",
399 urls = ["https://www.frc971.org/Build-Dependencies/boringssl-613fe9dbe74b58d6aaaf0d22fe57dccd964c7413.zip"],
400)
401
Austin Schuh36244a12019-09-21 17:52:38 -0700402# C++ rules for Bazel.
403http_archive(
404 name = "rules_cc",
Austin Schuh968174a2021-03-31 20:04:01 -0700405 sha256 = "ed36cc7a6f46b7c28ab4009db4a37e350e1ba367446b0886bcc9cdc1df92752e",
406 strip_prefix = "rules_cc-608c7b605fb844a20e96a3eddc9b49ad2542adab",
Austin Schuh36244a12019-09-21 17:52:38 -0700407 urls = [
Austin Schuh968174a2021-03-31 20:04:01 -0700408 "https://www.frc971.org/Build-Dependencies/rules_cc-608c7b605fb844a20e96a3eddc9b49ad2542adab.zip",
Austin Schuh36244a12019-09-21 17:52:38 -0700409 ],
410)
Austin Schuhd57edc42019-09-21 17:52:38 -0700411
James Kuszmaulf4bf9fe2021-05-10 22:58:24 -0700412http_archive(
413 name = "rules_python",
Philipp Schrader868070a2022-09-06 22:51:13 -0700414 patch_args = ["-p1"],
415 patches = [
416 "//third_party:rules_python/0001-Support-overriding-individual-packages.patch",
Philipp Schrader7520ee62022-12-10 14:04:40 -0800417 "//third_party:rules_python/0002-Allow-user-to-patch-wheels.patch",
Philipp Schrader868070a2022-09-06 22:51:13 -0700418 ],
Philipp Schrader9ebb7062022-12-07 20:17:15 -0800419 sha256 = "497ca47374f48c8b067d786b512ac10a276211810f4a580178ee9b9ad139323a",
420 strip_prefix = "rules_python-0.16.1",
421 url = "https://github.com/bazelbuild/rules_python/archive/refs/tags/0.16.1.tar.gz",
Philipp Schrader9e1b9bd2021-12-28 00:15:12 -0800422)
423
424load("@rules_python//python:repositories.bzl", "python_register_toolchains")
425
426python_register_toolchains(
427 name = "python3_9",
428 python_version = "3.9",
429 register_toolchains = False,
430)
431
432load("@python3_9//:defs.bzl", python_interpreter = "interpreter")
433load("@rules_python//python:pip.bzl", "pip_parse")
Philipp Schrader7520ee62022-12-10 14:04:40 -0800434load("//tools/python:package_annotations.bzl", PYTHON_ANNOTATIONS = "ANNOTATIONS")
Philipp Schrader9e1b9bd2021-12-28 00:15:12 -0800435
436pip_parse(
437 name = "pip_deps",
Philipp Schrader7520ee62022-12-10 14:04:40 -0800438 annotations = PYTHON_ANNOTATIONS,
439 enable_implicit_namespace_pkgs = True,
Philipp Schrader868070a2022-09-06 22:51:13 -0700440 overrides = "//tools/python:whl_overrides.json",
Philipp Schrader7520ee62022-12-10 14:04:40 -0800441 patch_spec = "//tools/python:patches.json",
Philipp Schrader9e1b9bd2021-12-28 00:15:12 -0800442 python_interpreter_target = python_interpreter,
Philipp Schrader868070a2022-09-06 22:51:13 -0700443 require_overrides = RUNNING_IN_CI,
Philipp Schrader9e1b9bd2021-12-28 00:15:12 -0800444 requirements_lock = "//tools/python:requirements.lock.txt",
445)
446
447# Load the starlark macro which will define your dependencies.
448load("@pip_deps//:requirements.bzl", install_pip_deps = "install_deps")
449
450install_pip_deps()
451
452load("//tools/python:repo_defs.bzl", "pip_configure")
453
454pip_configure(
455 name = "pip",
James Kuszmaulf4bf9fe2021-05-10 22:58:24 -0700456)
457
Austin Schuh4759ffc2015-10-07 20:39:56 -0700458new_local_repository(
Brian Silverman7bda6212018-08-05 11:42:11 -0700459 name = "usr_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700460 build_file = "@//debian:usr.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700461 path = "/usr",
Austin Schuh4759ffc2015-10-07 20:39:56 -0700462)
463
Austin Schuh1f9aeb42015-11-12 23:34:49 -0800464new_git_repository(
Brian Silverman7bda6212018-08-05 11:42:11 -0700465 name = "slycot_repo",
Tyler Chatow2584bb12018-10-27 20:48:35 -0700466 build_file = "@//debian:slycot.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700467 commit = "5af5f283cb23cbe23c4dfea4d5e56071bdbd6e70",
468 remote = "https://github.com/avventi/Slycot.git",
Austin Schuh1f9aeb42015-11-12 23:34:49 -0800469)
470
Austin Schuh9950f682021-11-06 15:27:58 -0700471# TODO(austin): https://github.com/wpilibsuite/roborio-toolchain/releases/tag/v2022-1
Austin Schuhf093fa52019-06-23 20:47:23 -0700472http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700473 name = "arm_frc_linux_gnueabi_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700474 build_file = "@//tools/cpp/arm-frc-linux-gnueabi:arm-frc-linux-gnueabi.BUILD",
Austin Schuhe991fe22020-11-18 16:53:39 -0800475 patches = ["//debian:fts.patch"],
James Kuszmaul3ae42262019-11-08 12:33:41 -0800476 sha256 = "043a5b047c2af9cf80d146d8327b588264c98a01e0f3f41e3564dd2bbbc95c0e",
477 strip_prefix = "frc2020/roborio/",
Austin Schuha5778ae2020-10-21 21:15:35 -0700478 url = "https://www.frc971.org/Build-Dependencies/FRC-2020-Linux-Toolchain-7.3.0.tar.gz",
Austin Schuh55139fe2015-10-14 23:55:24 -0700479)
Austin Schuhe456f152015-11-27 13:44:39 -0800480
Brian Silverman4c7235a2021-11-17 19:04:37 -0800481# 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
482# The following files and folders are removed to make bazel happy with it:
Brian Silvermanbf4c1312020-01-12 11:35:45 -0800483# usr/share/ca-certificates
Brian Silverman4c7235a2021-11-17 19:04:37 -0800484# lib/systemd/system/system-systemd\\x2dcryptsetup.slice
Brian Silvermanbf4c1312020-01-12 11:35:45 -0800485http_archive(
486 name = "armhf_debian_rootfs",
Brian Silverman60606c92020-01-15 22:45:04 -0800487 build_file = "@//:compilers/debian_rootfs.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800488 sha256 = "734f26a0cfc943cc3cae88412536186adfc4ed148cc167e6ffb298497c686280",
489 url = "https://www.frc971.org/Build-Dependencies/2021-10-30-raspios-bullseye-armhf-lite_rootfs.tar.bz2",
Brian Silvermanbf4c1312020-01-12 11:35:45 -0800490)
491
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800492# 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
493# The following files and folders are removed to make bazel happy with it:
494# usr/share/ca-certificates
495# lib/systemd/system/system-systemd\\x2dcryptsetup.slice
496http_archive(
497 name = "arm64_debian_rootfs",
498 build_file = "@//:compilers/debian_rootfs.BUILD",
499 sha256 = "7e6ad432fec0a36f8b66c3fc2ab8795ea446e61f7dce7a206b55602677cf0904",
500 url = "https://www.frc971.org/Build-Dependencies/2021-10-30-raspios-bullseye-arm64-lite_rootfs.tar.bz2",
501)
502
Brian Silverman60606c92020-01-15 22:45:04 -0800503# Created with:
504# `debootstrap buster buster_sysroot`
505# and then chrooting in and running:
506# apt install libc6-dev libstdc++-7-dev
Brian Silverman4c7235a2021-11-17 19:04:37 -0800507# removing the apt cache,
Brian Silverman60606c92020-01-15 22:45:04 -0800508# and then tarring up the result
509http_archive(
510 name = "amd64_debian_sysroot",
511 build_file = "@//:compilers/debian_rootfs.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800512 sha256 = "5e10f4cac85a98a39da1716b218bc05fff4666c61cc471a7df27876710bc86d2",
513 url = "https://www.frc971.org/Build-Dependencies/2022-01-06-debian-bullseye_rootfs.tar.bz2",
Brian Silverman60606c92020-01-15 22:45:04 -0800514)
515
Austin Schuhe456f152015-11-27 13:44:39 -0800516new_git_repository(
Brian Silverman7bda6212018-08-05 11:42:11 -0700517 name = "python_gflags_repo",
Tyler Chatow2584bb12018-10-27 20:48:35 -0700518 build_file = "@//debian:gflags.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700519 commit = "41c4571864f0db5823e07715317e7388e94faabc",
520 remote = "https://github.com/gflags/python-gflags.git",
Austin Schuhe456f152015-11-27 13:44:39 -0800521)
522
523bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700524 name = "python-gflags",
525 actual = "@python_gflags_repo//:gflags",
Austin Schuhe456f152015-11-27 13:44:39 -0800526)
527
Brian Silverman16a923c2018-10-31 19:40:51 -0700528local_repository(
529 name = "com_github_gflags_gflags",
530 path = "third_party/gflags",
531)
532
Brian Silverman8d644032020-02-02 12:15:43 -0800533# Downloaded from:
534# https://pypi.python.org/packages/source/g/glog/glog-0.1.tar.gz
Austin Schuhf093fa52019-06-23 20:47:23 -0700535http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700536 name = "python_glog_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700537 build_file = "@//debian:glog.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700538 sha256 = "953fd80122c48023d1148e6d1bda2763fcab59c8a81682bb298238a5935547b0",
539 strip_prefix = "glog-0.1",
Austin Schuha5778ae2020-10-21 21:15:35 -0700540 url = "https://www.frc971.org/Build-Dependencies/glog-0.1.tar.gz",
Austin Schuhe456f152015-11-27 13:44:39 -0800541)
542
543bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700544 name = "python-glog",
545 actual = "@python_glog_repo//:glog",
Austin Schuhe456f152015-11-27 13:44:39 -0800546)
Brian Silvermancee260a2015-12-24 16:27:51 -0800547
Brian Silverman82a12b92019-01-19 21:52:10 -0800548# Generated with:
Austin Schuh9950f682021-11-06 15:27:58 -0700549# git fetch https://github.com/wpilibsuite/ni-libraries main
Austin Schuhd3c72912022-02-22 18:05:32 -0800550# git archive --output=allwpilib_ni-libraries_776db4e8aed31a651fa2f590e7468c69b384b42a.tar.gz --format=tar.gz 776db4e8aed31a651fa2f590e7468c69b384b42a
Austin Schuhf093fa52019-06-23 20:47:23 -0700551http_archive(
James Kuszmaulc9c46b32019-12-08 21:10:00 -0800552 name = "allwpilib_ni_libraries",
553 build_file = "@//debian:ni-libraries.BUILD",
Austin Schuhd3c72912022-02-22 18:05:32 -0800554 sha256 = "525b9d777cd00091b9095893c2e4fd0a70c7609c76db161161d407769ad4ba74",
555 url = "https://www.frc971.org/Build-Dependencies/allwpilib_ni-libraries_776db4e8aed31a651fa2f590e7468c69b384b42a.tar.gz",
Brian Silverman82a12b92019-01-19 21:52:10 -0800556)
557
Brian Silverman3fca9d72016-02-20 02:32:51 -0500558# Downloaded from:
559# https://pypi.python.org/packages/source/s/six/six-1.10.0.tar.gz
Austin Schuhf093fa52019-06-23 20:47:23 -0700560http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700561 name = "six_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700562 build_file = "@//debian:six.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700563 sha256 = "105f8d68616f8248e24bf0e9372ef04d3cc10104f1980f54d57b2ce73a5ad56a",
564 strip_prefix = "six-1.10.0",
Austin Schuha5778ae2020-10-21 21:15:35 -0700565 url = "https://www.frc971.org/Build-Dependencies/six-1.10.0.tar.gz",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500566)
567
568# For protobuf. Don't use these.
569bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700570 name = "six",
571 actual = "@six_repo//:six",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500572)
Brian Silverman7bda6212018-08-05 11:42:11 -0700573
Brian Silverman3fca9d72016-02-20 02:32:51 -0500574bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700575 name = "gtest",
576 actual = "//third_party/googletest:googlemock",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500577)
Brian Silverman7bda6212018-08-05 11:42:11 -0700578
Brian Silverman3fca9d72016-02-20 02:32:51 -0500579bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700580 name = "gtest_main",
581 actual = "//third_party/googletest:googlemock_main",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500582)
583
Brian Silverman4aa83042018-01-05 12:47:31 -0800584# Recompressed from libusb-1.0.21.7z.
585http_file(
Brian Silverman7bda6212018-08-05 11:42:11 -0700586 name = "libusb_1_0_windows",
Austin Schuh4ac96a82019-08-14 20:24:23 -0700587 downloaded_file_path = "libusb-1.0.21-windows.tar.xz",
Brian Silverman7bda6212018-08-05 11:42:11 -0700588 sha256 = "fc2ba03992f343aabbaf9eb90559c6e00cdc6a2bd914d7cebea85857d5244015",
Austin Schuha5778ae2020-10-21 21:15:35 -0700589 urls = ["https://www.frc971.org/Build-Dependencies/libusb-1.0.21-windows.tar.xz"],
Brian Silverman4aa83042018-01-05 12:47:31 -0800590)
Brian Silvermand3ad1652018-02-18 22:16:29 -0500591
592# The data tarball of the same-named Debian package.
Austin Schuhf093fa52019-06-23 20:47:23 -0700593http_archive(
Brian Silvermand3ad1652018-02-18 22:16:29 -0500594 name = "f2c",
Austin Schuhf093fa52019-06-23 20:47:23 -0700595 build_file = "@//debian:f2c.BUILD",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500596 sha256 = "2c677437f8217a2e2b23e41b33995d0571644fc1bea46de858f8913a5053e3f4",
Austin Schuha5778ae2020-10-21 21:15:35 -0700597 url = "https://www.frc971.org/Build-Dependencies/f2c_20100827-1_amd64.xz.tar.xz",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500598)
599
600# Downloaded from http://www.netlib.org/clapack/.
Austin Schuhf093fa52019-06-23 20:47:23 -0700601http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700602 name = "clapack",
Austin Schuhf093fa52019-06-23 20:47:23 -0700603 build_file = "@//debian:clapack.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700604 sha256 = "6dc4c382164beec8aaed8fd2acc36ad24232c406eda6db462bd4c41d5e455fac",
605 strip_prefix = "CLAPACK-3.2.1/",
Austin Schuha5778ae2020-10-21 21:15:35 -0700606 url = "https://www.frc971.org/Build-Dependencies/clapack-3.2.1.tgz",
Brian Silverman7bda6212018-08-05 11:42:11 -0700607)
608
Austin Schuhf093fa52019-06-23 20:47:23 -0700609http_archive(
Philipp Schrader41011a12022-03-13 12:49:32 -0700610 name = "postgresql_amd64",
611 build_file = "@//debian:postgresql_amd64.BUILD",
612 sha256 = "2b8bb77deaf58f798c296ce31ee7a32781395d55e05dcddc8a7da7e827f38d7f",
613 url = "https://www.frc971.org/Build-Dependencies/postgresql_amd64.tar.gz",
614)
615
616http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700617 name = "patch",
Austin Schuhf093fa52019-06-23 20:47:23 -0700618 build_file = "@//debian:patch.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700619 sha256 = "b5ce139648a2e04f5585948ddad2fdae24dd4ee7976ac5a22d6ae7bd5674631e",
Austin Schuha5778ae2020-10-21 21:15:35 -0700620 url = "https://www.frc971.org/Build-Dependencies/patch.tar.gz",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500621)
Brian Silverman7297c0c2018-08-05 13:43:00 -0700622
Austin Schuhf093fa52019-06-23 20:47:23 -0700623http_archive(
Austin Schuh71f6fa72019-08-31 18:23:02 -0700624 name = "rsync",
625 build_file = "@//debian:rsync.BUILD",
626 sha256 = "53be65a9214aaa6d1b9176f135184fb4a78ccefd58f95ce0da37e6a392dfeb60",
Austin Schuha5778ae2020-10-21 21:15:35 -0700627 url = "https://www.frc971.org/Build-Dependencies/rsync.tar.gz",
Austin Schuh71f6fa72019-08-31 18:23:02 -0700628)
629
Brian Silvermanbd7860e2020-01-05 17:52:40 -0800630# //debian:ssh
Austin Schuh71f6fa72019-08-31 18:23:02 -0700631http_archive(
632 name = "ssh",
633 build_file = "@//debian:ssh.BUILD",
Brian Silvermanbd7860e2020-01-05 17:52:40 -0800634 sha256 = "470fdc1252a2133a9d3c3da778e892a5b88f04f402cb04d8eb1cff7853242034",
Austin Schuha5778ae2020-10-21 21:15:35 -0700635 url = "https://www.frc971.org/Build-Dependencies/ssh_v3.tar.gz",
Austin Schuh71f6fa72019-08-31 18:23:02 -0700636)
637
638http_archive(
Philipp Schraderd0e33a42022-01-22 21:55:15 -0800639 name = "apache2",
640 build_file = "@//debian:apache2.BUILD",
641 sha256 = "98b0ad6d911751ba0aa486429e6278f995e7bbabd928c7d3d44c888fa2bf371b",
642 url = "https://www.frc971.org/Build-Dependencies/apache2.tar.gz",
643)
644
645http_archive(
Brian Silverman7297c0c2018-08-05 13:43:00 -0700646 name = "pandoc",
Austin Schuhf093fa52019-06-23 20:47:23 -0700647 build_file = "@//debian:pandoc.BUILD",
Brian Silverman7297c0c2018-08-05 13:43:00 -0700648 sha256 = "9f7a7adb3974a1f14715054c349ff3edc2909e920dbe3438fca437a83845f3c4",
Austin Schuha5778ae2020-10-21 21:15:35 -0700649 url = "https://www.frc971.org/Build-Dependencies/pandoc.tar.gz",
Brian Silverman7297c0c2018-08-05 13:43:00 -0700650)
Brian Silverman4f6ba442018-08-05 14:34:58 -0700651
Austin Schuhf093fa52019-06-23 20:47:23 -0700652http_archive(
Brian Silverman4f6ba442018-08-05 14:34:58 -0700653 name = "libusb",
Austin Schuhf093fa52019-06-23 20:47:23 -0700654 build_file = "@//debian:libusb.BUILD",
Brian Silverman4f6ba442018-08-05 14:34:58 -0700655 sha256 = "3ca5cc2d317226f6646866ff9e8c443db3b0f6c82f828e800240982727531590",
Austin Schuha5778ae2020-10-21 21:15:35 -0700656 url = "https://www.frc971.org/Build-Dependencies/libusb.tar.gz",
Brian Silverman4f6ba442018-08-05 14:34:58 -0700657)
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700658
Austin Schuhf093fa52019-06-23 20:47:23 -0700659http_archive(
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700660 name = "mingw_compiler",
Austin Schuhf093fa52019-06-23 20:47:23 -0700661 build_file = "@//debian:mingw_compiler.BUILD",
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700662 sha256 = "45e86a8460f2151a4f0306e7ae7b06761029d2412ee16f63d1e8d2d29354e378",
Austin Schuha5778ae2020-10-21 21:15:35 -0700663 url = "https://www.frc971.org/Build-Dependencies/mingw_compiler.tar.gz",
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700664)
Brian Silverman6470f442018-08-05 12:08:16 -0700665
James Kuszmaul910f92b2020-01-01 15:30:38 -0800666# Note that we should generally keep the matplotlib repo in a folder not
667# named matplotlib, because otherwise the repository itself tends to end up
668# on the PYTHONPATH, rather than the matplotlib folder within this repo.
Austin Schuhf093fa52019-06-23 20:47:23 -0700669http_archive(
James Kuszmaul910f92b2020-01-01 15:30:38 -0800670 name = "matplotlib_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700671 build_file = "@//debian:matplotlib.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800672 sha256 = "71d1512f1a9a3c90496f0ef3adcd46c4e5e4da4310d7cbb6b0da01a07e5e76e8",
673 url = "https://www.frc971.org/Build-Dependencies/matplotlib-6.tar.gz",
Brian Silverman6470f442018-08-05 12:08:16 -0700674)
675
Austin Schuhf093fa52019-06-23 20:47:23 -0700676http_archive(
Brian Silverman6470f442018-08-05 12:08:16 -0700677 name = "patchelf",
Austin Schuhf093fa52019-06-23 20:47:23 -0700678 build_file = "@//debian:patchelf.BUILD",
Brian Silverman6470f442018-08-05 12:08:16 -0700679 sha256 = "bf8b709909d7d9e30815dd228eeded7dc282e3ce3919d0589ccbb56ac8632abc",
Austin Schuha5778ae2020-10-21 21:15:35 -0700680 url = "https://www.frc971.org/Build-Dependencies/patchelf.tar.gz",
Brian Silverman6470f442018-08-05 12:08:16 -0700681)
Brian Silverman50b9ac02018-08-12 13:24:10 -0700682
Austin Schuhf093fa52019-06-23 20:47:23 -0700683http_archive(
Brian Silverman50b9ac02018-08-12 13:24:10 -0700684 name = "arm_frc_gnueabi_deps",
Austin Schuhf093fa52019-06-23 20:47:23 -0700685 build_file = "@//debian:arm_frc_gnueabi_deps.BUILD",
Brian Silverman50b9ac02018-08-12 13:24:10 -0700686 sha256 = "4b26fe45010817dc136488ee1604ade21bd7c264c29f17d864fc6eba9d7442c4",
Austin Schuha5778ae2020-10-21 21:15:35 -0700687 url = "https://www.frc971.org/Build-Dependencies/arm_frc_gnueabi_deps.tar.gz",
Brian Silverman50b9ac02018-08-12 13:24:10 -0700688)
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700689
Austin Schuhf093fa52019-06-23 20:47:23 -0700690http_archive(
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -0700691 name = "python_gtk",
Austin Schuhf093fa52019-06-23 20:47:23 -0700692 build_file = "@//debian:python_gtk.BUILD",
Philipp Schraderc3670b82022-02-22 19:11:30 -0800693 sha256 = "36db18fc2b2c9012312b5d1cdc3d392d7e9756040f759ea50cb623fea29ae817",
694 url = "https://www.frc971.org/Build-Dependencies/python_gtk-4.tar.gz",
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -0700695)
696
Philipp Schraderfd5489f2022-09-17 17:31:09 -0700697http_archive(
698 name = "gtk_runtime",
699 build_file = "@//debian:gtk_runtime.BUILD",
Philipp Schrader7520ee62022-12-10 14:04:40 -0800700 sha256 = "5a6014d1783363be6bc95843d03bbb6513e650eaea60be2b1a4c65bf21981f9b",
701 url = "https://www.frc971.org/Build-Dependencies/gtk_runtime-4.tar.gz",
Philipp Schraderfd5489f2022-09-17 17:31:09 -0700702)
703
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700704# Downloaded from
705# 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 -0700706http_archive(
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700707 name = "gcc_arm_none_eabi",
Austin Schuhf093fa52019-06-23 20:47:23 -0700708 build_file = "@//:compilers/gcc_arm_none_eabi.BUILD",
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700709 sha256 = "bb17109f0ee697254a5d4ae6e5e01440e3ea8f0277f2e8169bf95d07c7d5fe69",
710 strip_prefix = "gcc-arm-none-eabi-7-2018-q2-update/",
Austin Schuha5778ae2020-10-21 21:15:35 -0700711 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 -0700712)
Austin Schuhad596222018-01-31 23:34:03 -0800713
Tyler Chatowfba57822022-03-22 19:38:41 -0700714# Java11 JDK.
Philipp Schrader6efe5732022-02-12 15:11:13 -0800715remote_java_repository(
Austin Schuhe18baff2018-10-20 17:40:42 -0700716 name = "openjdk_linux_archive",
Philipp Schrader6efe5732022-02-12 15:11:13 -0800717 exec_compatible_with = [
718 "@platforms//cpu:x86_64",
719 "@platforms//os:linux",
720 ],
721 prefix = "openjdk",
Tyler Chatowfba57822022-03-22 19:38:41 -0700722 sha256 = "60e65d32e38876f81ddb623e87ac26c820465b637e263e8bed1acdecb4ca9be2",
723 strip_prefix = "zulu11.54.25-ca-jdk11.0.14.1-linux_x64",
Austin Schuhe18baff2018-10-20 17:40:42 -0700724 urls = [
Tyler Chatowfba57822022-03-22 19:38:41 -0700725 "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 -0700726 ],
Tyler Chatowfba57822022-03-22 19:38:41 -0700727 version = "11",
728)
729
730remote_java_repository(
731 name = "openjdk_linux_archive_aarch64",
732 exec_compatible_with = [
733 "@platforms//cpu:aarch64",
734 "@platforms//os:linux",
735 ],
736 prefix = "openjdk",
737 sha256 = "b0fb0bc303bb05b5042ef3d0939b9489f4a49a13a2d1c8f03c5d8ab23099454d",
738 strip_prefix = "zulu11.54.25-ca-jdk11.0.14.1-linux_aarch64",
739 urls = [
740 "https://www.frc971.org/Build-Dependencies/zulu11.54.25-ca-jdk11.0.14.1-linux_aarch64.tar.gz",
741 ],
742 version = "11",
Austin Schuhe18baff2018-10-20 17:40:42 -0700743)
744
Austin Schuhf9724442018-10-28 20:30:21 -0700745local_repository(
746 name = "com_google_protobuf",
747 path = "third_party/protobuf",
Brian Silverman9c614bc2016-02-15 20:20:02 -0500748)
Austin Schuh10358f22019-01-21 20:25:11 -0800749
750local_repository(
751 name = "com_github_google_glog",
752 path = "third_party/google-glog",
753)
Austin Schuh6defdeb2019-01-21 21:00:30 -0800754
Alex Perrycb7da4b2019-08-28 19:35:56 -0700755local_repository(
756 name = "com_google_googletest",
757 path = "third_party/googletest",
758)
759
Austin Schuh6defdeb2019-01-21 21:00:30 -0800760# External dependency: Google Benchmark; has no Bazel build.
761local_repository(
762 name = "com_github_google_benchmark",
763 path = "third_party/google-benchmark",
Austin Schuhcbc17402019-01-21 21:00:30 -0800764)
Austin Schuh033df092019-01-21 19:46:48 -0800765
766local_repository(
767 name = "com_google_ceres_solver",
768 path = "third_party/ceres",
Austin Schuh70cc9552019-01-21 19:46:48 -0800769)
Austin Schuhf6b94632019-02-02 22:11:27 -0800770
Austin Schuhf093fa52019-06-23 20:47:23 -0700771http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800772 name = "ctre_phoenix_api_cpp_headers",
Austin Schuhf6b94632019-02-02 22:11:27 -0800773 build_file_content = """
774cc_library(
775 name = 'api-cpp',
776 visibility = ['//visibility:public'],
777 hdrs = glob(['ctre/phoenix/**/*.h']),
778)
779""",
Austin Schuhde605f12022-02-23 23:08:19 -0800780 sha256 = "ea4131d1809bc8ccbd72b15cc7a65bd6ebb89a65019afc6a336e2c92d91ec824",
Austin Schuhf6b94632019-02-02 22:11:27 -0800781 urls = [
Austin Schuhde605f12022-02-23 23:08:19 -0800782 "http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/api-cpp/5.21.1/api-cpp-5.21.1-headers.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800783 ],
784)
785
Austin Schuhf093fa52019-06-23 20:47:23 -0700786http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800787 name = "ctre_phoenix_api_cpp_athena",
Austin Schuhf6b94632019-02-02 22:11:27 -0800788 build_file_content = """
Austin Schuhde605f12022-02-23 23:08:19 -0800789filegroup(
790 name = 'shared_libraries',
791 srcs = [
792 'linux/athena/shared/libCTRE_Phoenix.so',
793 ],
794 visibility = ['//visibility:public'],
795)
796
Austin Schuhf6b94632019-02-02 22:11:27 -0800797cc_library(
798 name = 'api-cpp',
799 visibility = ['//visibility:public'],
Austin Schuhde605f12022-02-23 23:08:19 -0800800 srcs = ['linux/athena/shared/libCTRE_Phoenix.so'],
Philipp Schraderdada1072020-11-24 11:34:46 -0800801 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
Austin Schuhf6b94632019-02-02 22:11:27 -0800802)
803""",
Austin Schuhde605f12022-02-23 23:08:19 -0800804 sha256 = "328130012a0fc1050c3ff09f30a2adf5106d15accc3d850b744fa60ec635a462",
Austin Schuhf6b94632019-02-02 22:11:27 -0800805 urls = [
Austin Schuhde605f12022-02-23 23:08:19 -0800806 "http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/api-cpp/5.21.1/api-cpp-5.21.1-linuxathena.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800807 ],
808)
809
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800810http_archive(
811 name = "ctre_phoenix_cci_headers",
Austin Schuhf6b94632019-02-02 22:11:27 -0800812 build_file_content = """
813cc_library(
814 name = 'cci',
815 visibility = ['//visibility:public'],
816 hdrs = glob(['ctre/phoenix/**/*.h']),
817)
818""",
Austin Schuhde605f12022-02-23 23:08:19 -0800819 sha256 = "b3332885c6afe082f9f67c2335086e89f705b6ac6c5101188616f81c58d3e49a",
Austin Schuhf6b94632019-02-02 22:11:27 -0800820 urls = [
Austin Schuhde605f12022-02-23 23:08:19 -0800821 "http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/cci/5.21.1/cci-5.21.1-headers.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800822 ],
823)
824
Austin Schuhf093fa52019-06-23 20:47:23 -0700825http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800826 name = "ctre_phoenix_cci_athena",
Austin Schuhf6b94632019-02-02 22:11:27 -0800827 build_file_content = """
Austin Schuhde605f12022-02-23 23:08:19 -0800828filegroup(
829 name = 'shared_libraries',
830 srcs = [
831 'linux/athena/shared/libCTRE_PhoenixCCI.so',
832 ],
833 visibility = ['//visibility:public'],
834)
835
Austin Schuhf6b94632019-02-02 22:11:27 -0800836cc_library(
837 name = 'cci',
838 visibility = ['//visibility:public'],
Austin Schuhde605f12022-02-23 23:08:19 -0800839 srcs = ['linux/athena/shared/libCTRE_PhoenixCCI.so'],
Philipp Schraderdada1072020-11-24 11:34:46 -0800840 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
Austin Schuhf6b94632019-02-02 22:11:27 -0800841)
842""",
Austin Schuhde605f12022-02-23 23:08:19 -0800843 sha256 = "94812541734d7905774d97e10a97e9c79b5c37cba60d9b6b2d6e4bf3bbabc2fb",
Austin Schuhf6b94632019-02-02 22:11:27 -0800844 urls = [
Austin Schuhde605f12022-02-23 23:08:19 -0800845 "http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/cci/5.21.1/cci-5.21.1-linuxathena.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800846 ],
847)
Austin Schuheed14442019-03-23 14:42:46 -0700848
849http_archive(
Austin Schuhda9d0602019-09-15 17:29:38 -0700850 name = "build_bazel_rules_nodejs",
Philipp Schrader87277f42022-01-01 07:45:12 -0800851 sha256 = "cfc289523cf1594598215901154a6c2515e8bf3671fd708264a6f6aefe02bf39",
852 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 -0700853)
Austin Schuheed14442019-03-23 14:42:46 -0700854
Philipp Schrader87277f42022-01-01 07:45:12 -0800855load("@build_bazel_rules_nodejs//:index.bzl", "node_repositories", "yarn_install")
Austin Schuheed14442019-03-23 14:42:46 -0700856
857node_repositories()
858
859# Setup Bazel managed npm dependencies with the `yarn_install` rule.
Philipp Schrader87277f42022-01-01 07:45:12 -0800860
Austin Schuhda9d0602019-09-15 17:29:38 -0700861# To run yarn by hand, use:
862# bazel run @nodejs_linux_amd64//:bin/yarn -- list
863# I'm sure there is a better path, but that works...
Austin Schuheed14442019-03-23 14:42:46 -0700864yarn_install(
865 name = "npm",
Alex Perryeddc18c2022-01-29 16:22:41 -0800866 frozen_lockfile = True,
Austin Schuheed14442019-03-23 14:42:46 -0700867 package_json = "//:package.json",
Philipp Schraderb48f8ea2022-03-13 20:59:54 -0700868 patch_args = ["-p1"],
869 post_install_patches = [
870 "//third_party:npm/@bazel/protractor/bazel-protractor.patch",
871 ],
Austin Schuhda9d0602019-09-15 17:29:38 -0700872 symlink_node_modules = False,
Austin Schuheed14442019-03-23 14:42:46 -0700873 yarn_lock = "//:yarn.lock",
874)
Austin Schuh4ac96a82019-08-14 20:24:23 -0700875
Philipp Schrader54047962022-02-16 21:05:11 -0800876load("@build_bazel_rules_nodejs//toolchains/esbuild:esbuild_repositories.bzl", "esbuild_repositories")
877
878esbuild_repositories(npm_repository = "npm")
879
Alex Perryb3168082022-01-22 13:36:13 -0800880http_archive(
881 name = "io_bazel_rules_webtesting",
Philipp Schrader54047962022-02-16 21:05:11 -0800882 patch_args = ["-p1"],
883 patches = [
884 "@//third_party:rules_webtesting/rules_webtesting.patch",
885 ],
Alex Perryb3168082022-01-22 13:36:13 -0800886 sha256 = "e9abb7658b6a129740c0b3ef6f5a2370864e102a5ba5ffca2cea565829ed825a",
887 urls = ["https://github.com/bazelbuild/rules_webtesting/releases/download/0.3.5/rules_webtesting.tar.gz"],
888)
889
Brian Silvermane84b0cf2022-08-13 19:36:21 -0700890http_archive(
891 name = "rules_rust_tinyjson",
892 build_file = "@rules_rust//util/process_wrapper:BUILD.tinyjson.bazel",
893 sha256 = "1a8304da9f9370f6a6f9020b7903b044aa9ce3470f300a1fba5bc77c78145a16",
894 strip_prefix = "tinyjson-2.3.0",
895 type = "tar.gz",
896 url = "https://crates.io/api/v1/crates/tinyjson/2.3.0/download",
897)
898
Brian Silverman01dfd872022-04-06 22:20:40 -0700899local_repository(
Ravago Jones16809802021-11-18 20:40:03 -0800900 name = "rules_rust",
Brian Silverman01dfd872022-04-06 22:20:40 -0700901 path = "third_party/rules_rust",
Ravago Jones16809802021-11-18 20:40:03 -0800902)
903
Brian Silvermane84b0cf2022-08-13 19:36:21 -0700904load("@rules_rust//rust:repositories.bzl", "rust_repository_set")
Ravago Jones16809802021-11-18 20:40:03 -0800905
Brian Silvermane84b0cf2022-08-13 19:36:21 -0700906rust_repository_set(
Ravago Jones16809802021-11-18 20:40:03 -0800907 name = "rust",
Brian Silverman8751d482022-05-18 23:28:44 -0700908 allocator_library = "@//tools/rust:forward_allocator",
Ravago Jones16809802021-11-18 20:40:03 -0800909 edition = "2021",
910 exec_triple = "x86_64-unknown-linux-gnu",
911 extra_target_triples = [
912 "arm-unknown-linux-gnueabi",
913 "armv7-unknown-linux-gnueabihf",
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800914 "aarch64-unknown-linux-gnu",
Ravago Jones16809802021-11-18 20:40:03 -0800915 ],
Brian Silvermane84b0cf2022-08-13 19:36:21 -0700916 register_toolchain = False,
Brian Silvermana8ad1af2022-07-23 16:05:12 -0700917 rustfmt_version = "1.62.0",
Brian Silvermana8ad1af2022-07-23 16:05:12 -0700918 version = "1.62.0",
Ravago Jones16809802021-11-18 20:40:03 -0800919)
920
Philipp Schrader54047962022-02-16 21:05:11 -0800921load("@io_bazel_rules_webtesting//web:repositories.bzl", "web_test_repositories")
922
923web_test_repositories()
924
925load("@io_bazel_rules_webtesting//web/versioned:browsers-0.3.3.bzl", "browser_repositories")
926
927browser_repositories(chromium = True)
928
Austin Schuh4ac96a82019-08-14 20:24:23 -0700929# Flatbuffers
930local_repository(
931 name = "com_github_google_flatbuffers",
932 path = "third_party/flatbuffers",
933)
James Kuszmaul7daef362019-12-31 18:28:17 -0800934
935http_file(
936 name = "sample_logfile",
937 downloaded_file_path = "log.fbs",
milind945708b2021-07-03 13:30:15 -0700938 sha256 = "45d1d19fb82786c476d3f21a8d62742abaeeedf4c16a00ec37ae350dcb61f1fc",
939 urls = ["https://www.frc971.org/Build-Dependencies/small_sample_logfile2.fbs"],
James Kuszmaul7daef362019-12-31 18:28:17 -0800940)
Brian Silvermand4260c72020-01-14 00:08:02 -0800941
James Kuszmaul9c128122021-03-22 22:24:36 -0700942http_archive(
James Kuszmaul531609d2020-02-18 17:12:23 -0800943 name = "drivetrain_replay",
James Kuszmaul9c128122021-03-22 22:24:36 -0700944 build_file_content = """
945filegroup(
946 name = "drivetrain_replay",
947 srcs = glob(["**/*.bfbs"]),
948 visibility = ["//visibility:public"],
949)
950 """,
951 sha256 = "115dcd2fe005cb9cad3325707aa7f4466390c43a08555edf331c06c108bdf692",
952 url = "https://www.frc971.org/Build-Dependencies/2021-03-20_drivetrain_spin_wheels.tar.gz",
James Kuszmaul531609d2020-02-18 17:12:23 -0800953)
954
milind-u7baf7342021-08-25 18:31:26 -0700955http_archive(
956 name = "superstructure_replay",
957 build_file_content = """
958filegroup(
959 name = "superstructure_replay",
960 srcs = glob(["**/*.bfbs"]),
961 visibility = ["//visibility:public"],
962)
963 """,
milind-u200b2762021-11-06 19:36:15 -0700964 sha256 = "2b9a3ecc83f2aba89a1909ae38fe51e6718a5b4d0e7c131846dfb2845df9cd19",
965 url = "https://www.frc971.org/Build-Dependencies/2021-10-03_superstructure_shoot_balls.tar.gz",
milind-u7baf7342021-08-25 18:31:26 -0700966)
967
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800968# OpenCV arm64 (for raspberry pi)
969http_archive(
970 name = "opencv_arm64",
971 build_file = "@//debian:opencv.BUILD",
972 sha256 = "d284fae46ca710cf24c81ff7ace34929773466bff38f365a80371bea3b36a2ed",
973 url = "https://www.frc971.org/Build-Dependencies/opencv_arm64.tar.gz",
974)
975
Brian Silvermand4260c72020-01-14 00:08:02 -0800976# OpenCV armhf (for raspberry pi)
977http_archive(
978 name = "opencv_armhf",
979 build_file = "@//debian:opencv.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800980 sha256 = "064165507bad1afa8f7b22961a9a9067b243abc70064d713d26b37bc8dc2bf56",
981 url = "https://www.frc971.org/Build-Dependencies/opencv_armhf_v4.tar.gz",
Brian Silvermand4260c72020-01-14 00:08:02 -0800982)
Brian Silvermand97a47c2020-01-16 00:47:53 -0800983
984http_archive(
985 name = "opencv_k8",
986 build_file = "@//debian:opencv.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800987 sha256 = "b730f5d0c8eb59411157b4e84bfdddd3a6fceed10b842716d9d1b74ad322ea14",
988 url = "https://www.frc971.org/Build-Dependencies/opencv_amd64_v3.tar.gz",
Brian Silvermand97a47c2020-01-16 00:47:53 -0800989)
Brian Silverman764945b2020-01-16 23:40:43 -0800990
991# Downloaded from:
992# https://github.com/halide/Halide/releases/download/release_2019_08_27/halide-linux-64-gcc53-800-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz
993# which is "Halide 2019/08/27" at https://github.com/halide/Halide/releases.
994http_archive(
995 name = "halide_k8",
996 build_file = "@//debian:halide.BUILD",
Brian Silvermanbe23ed62020-06-18 14:35:25 -0700997 sha256 = "c67185d50a99adba86f6b2cc43c7e2cf11bcdfba9052d05e764a89b456a50446",
Brian Silverman764945b2020-01-16 23:40:43 -0800998 strip_prefix = "halide/",
Austin Schuha5778ae2020-10-21 21:15:35 -0700999 url = "https://www.frc971.org/Build-Dependencies/halide-linux-64-gcc53-800-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz",
Brian Silverman764945b2020-01-16 23:40:43 -08001000)
1001
1002# Downloaded from:
Philipp Schraderf1bbf342022-02-05 14:30:15 -08001003# https://github.com/halide/Halide/releases/download/v8.0.0/halide-arm64-linux-64-trunk-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz
1004# which is "Halide 8.0.0" at https://github.com/halide/Halide/releases.
1005# The "2019/08/27" release was renamed as per the release notes:
1006# https://github.com/halide/Halide/releases/tag/v8.0.0
1007http_archive(
1008 name = "halide_arm64",
1009 build_file = "@//debian:halide.BUILD",
1010 sha256 = "97b3e54565cd9df52abdd6452f3720ffd38861524154d74ae3d20dc949ed2a63",
1011 strip_prefix = "halide/",
1012 url = "https://www.frc971.org/Build-Dependencies/halide-arm64-linux-64-trunk-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz",
1013)
1014
1015# Downloaded from:
Brian Silverman764945b2020-01-16 23:40:43 -08001016# https://github.com/halide/Halide/releases/download/release_2019_08_27/halide-arm32-linux-32-trunk-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz
1017# which is "Halide 2019/08/27" at https://github.com/halide/Halide/releases.
1018http_archive(
1019 name = "halide_armhf",
1020 build_file = "@//debian:halide.BUILD",
Brian Silvermanbe23ed62020-06-18 14:35:25 -07001021 sha256 = "10564c559c9e04a173823413916d05fadd6e697d91bab21ddc5041190fa8f0f0",
Brian Silverman764945b2020-01-16 23:40:43 -08001022 strip_prefix = "halide/",
Austin Schuha5778ae2020-10-21 21:15:35 -07001023 url = "https://www.frc971.org/Build-Dependencies/halide-arm32-linux-32-trunk-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz",
Brian Silverman764945b2020-01-16 23:40:43 -08001024)
Brian Silverman4fe44ea2020-02-02 12:56:42 -08001025
1026# Downloaded from:
Austin Schuh085eab92020-11-26 13:54:51 -08001027# https://files.pythonhosted.org/packages/0f/13/192104516c4a3d92dc6b5e106ffcfbf0fe35f3c4faa49650205ff652af72/opencv_python-4.5.1.48-cp37-cp37m-manylinux2014_x86_64.whl
Brian Silverman4fe44ea2020-02-02 12:56:42 -08001028http_archive(
1029 name = "opencv_contrib_nonfree_amd64",
1030 build_file = "@//debian:opencv_python.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -08001031 sha256 = "a1dfa0486db367594510c0c799ec7481247dc86e651b69008806d875ab731471",
Brian Silverman4fe44ea2020-02-02 12:56:42 -08001032 type = "zip",
Brian Silverman4c7235a2021-11-17 19:04:37 -08001033 url = "https://www.frc971.org/Build-Dependencies/opencv_python-4.5.1.48-cp39-cp39-manylinux2014_x86_64.whl",
Brian Silverman4fe44ea2020-02-02 12:56:42 -08001034)
Tyler Chatow60671d32020-02-26 19:49:30 -08001035
1036http_archive(
Austin Schuh2e28d872022-02-19 18:25:57 -08001037 name = "osqp_amd64",
1038 build_file = "@//debian:osqp_python.BUILD",
1039 sha256 = "8003fc363f707daa46fef3af548e6a580372154d6cd49a7bf2f569ba5f807d15",
1040 type = "zip",
1041 url = "https://files.pythonhosted.org/packages/3f/e2/f1c40e890f00f8a566bc2481d0f215e52def3dfe8eea6b8ad4cc2d3cbca2/osqp-0.6.2.post5-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
1042)
1043
1044http_archive(
1045 name = "qdldl_amd64",
1046 build_file = "@//debian:qdldl_python.BUILD",
1047 sha256 = "2c09f4b1a1c6f3a0579af004443417e084491e7c844ff9fb73170bb5d43f70b5",
1048 type = "zip",
1049 url = "https://files.pythonhosted.org/packages/9e/26/ccb4f065b40c1e9ff35ee66970d4fa97dd2fe221b846da2110eb8cd6c3f4/qdldl-0.1.5.post0-cp39-cp39-manylinux2014_x86_64.whl",
1050)
1051
1052http_archive(
Tyler Chatow60671d32020-02-26 19:49:30 -08001053 name = "gstreamer_k8",
1054 build_file = "@//debian:gstreamer.BUILD",
Tyler Chatow6eda82c2022-03-27 22:37:38 -07001055 sha256 = "d4994261a432c188716f0bdf30fc3f0dff6727319d9c58e7156e2b3ed5105248",
1056 url = "https://www.frc971.org/Build-Dependencies/gstreamer_1.20.1-1~bpo11+1_amd64.tar.gz",
Tyler Chatow60671d32020-02-26 19:49:30 -08001057)
1058
1059http_archive(
1060 name = "gstreamer_armhf",
1061 build_file = "@//debian:gstreamer.BUILD",
1062 sha256 = "c5ac4c604952c274a50636e244f0d091bd1de302032446f24f0e9e03ae9c76f7",
Austin Schuha5778ae2020-10-21 21:15:35 -07001063 url = "https://www.frc971.org/Build-Dependencies/gstreamer_armhf.tar.gz",
Tyler Chatow60671d32020-02-26 19:49:30 -08001064)
James Kuszmaulc91e4402020-05-10 18:47:20 -07001065
Tyler Chatow6eda82c2022-03-27 22:37:38 -07001066http_archive(
1067 name = "gstreamer_arm64",
1068 build_file = "@//debian:gstreamer.BUILD",
1069 sha256 = "42b414c565ffdbae3d2d7796a66da9de42a650de757fa6554fd624f0cc3aaa9b",
1070 url = "https://www.frc971.org/Build-Dependencies/gstreamer_1.20.1-1~bpo11+1_arm64.tar.gz",
1071)
1072
James Kuszmaulc91e4402020-05-10 18:47:20 -07001073# Downloaded from:
1074# https://files.pythonhosted.org/packages/64/a7/45e11eebf2f15bf987c3bc11d37dcc838d9dc81250e67e4c5968f6008b6c/Jinja2-2.11.2.tar.gz
1075http_archive(
1076 name = "python_jinja2",
1077 build_file = "@//debian:python_jinja2.BUILD",
1078 sha256 = "89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0",
1079 strip_prefix = "Jinja2-2.11.2",
Austin Schuha5778ae2020-10-21 21:15:35 -07001080 url = "https://www.frc971.org/Build-Dependencies/Jinja2-2.11.2.tar.gz",
James Kuszmaulc91e4402020-05-10 18:47:20 -07001081)
1082
1083# Downloaded from:
1084# https://files.pythonhosted.org/packages/b9/2e/64db92e53b86efccfaea71321f597fa2e1b2bd3853d8ce658568f7a13094/MarkupSafe-1.1.1.tar.gz
1085http_archive(
1086 name = "python_markupsafe",
1087 build_file = "@//debian:python_markupsafe.BUILD",
1088 sha256 = "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b",
1089 strip_prefix = "MarkupSafe-1.1.1",
Austin Schuha5778ae2020-10-21 21:15:35 -07001090 url = "https://www.frc971.org/Build-Dependencies/MarkupSafe-1.1.1.tar.gz",
James Kuszmaulc91e4402020-05-10 18:47:20 -07001091)
Austin Schuh023e7f52020-08-18 21:24:37 -07001092
Ravago Jones23dac942022-07-31 16:18:54 -07001093http_archive(
1094 name = "python_yapf",
1095 build_file = "@//debian:python_yapf.BUILD",
1096 sha256 = "410ed0f592c898d75d73f7792aee6569bdbc0b57bc72b417c722c17f41f66b12",
1097 strip_prefix = "yapf-0.32.0",
1098 url = "https://github.com/google/yapf/archive/refs/tags/v0.32.0.tar.gz",
1099)
1100
Brian Silvermanf59fe3f2020-09-22 21:04:09 -07001101# //debian:lzma_amd64
1102http_archive(
1103 name = "lzma_amd64",
1104 build_file_content = """
1105cc_library(
1106 name = "lib",
1107 srcs = [
1108 "usr/lib/x86_64-linux-gnu/liblzma.a",
1109 ],
1110 hdrs = glob([
1111 "usr/include/lzma/*.h",
1112 "usr/include/*.h",
1113 ]),
1114 strip_include_prefix = "usr/include",
1115 visibility = ["//visibility:public"],
1116)
1117""",
Austin Schuhe6751772022-06-27 00:58:26 -07001118 sha256 = "6fa0ad579b78bd41a0133024c34063b140442dd2ad4201fd2bf4c55229e7c13f",
1119 urls = ["https://www.frc971.org/Build-Dependencies/lzma_amd64-2.tar.gz"],
Brian Silvermanf59fe3f2020-09-22 21:04:09 -07001120)
1121
1122# //debian:lzma_arm64
1123http_archive(
1124 name = "lzma_arm64",
1125 build_file_content = """
1126cc_library(
1127 name = "lib",
1128 srcs = [
1129 "usr/lib/aarch64-linux-gnu/liblzma.a",
1130 ],
1131 hdrs = glob([
1132 "usr/include/lzma/*.h",
1133 "usr/include/*.h",
1134 ]),
1135 strip_include_prefix = "usr/include",
1136 visibility = ["//visibility:public"],
1137)
1138""",
Austin Schuhc020b182022-06-29 19:54:01 -07001139 sha256 = "b4ab9fd7cf3bfdb9e3fc67ac4a3c84db7f7e3c48431ccfc6e6e210f5829d17c9",
1140 urls = ["https://www.frc971.org/Build-Dependencies/lzma_arm64-2.tar.gz"],
Brian Silvermanf59fe3f2020-09-22 21:04:09 -07001141)
James Kuszmaul2cffe852021-10-27 20:17:49 -07001142
1143local_repository(
1144 name = "snappy",
1145 path = "third_party/snappy",
1146)
Philipp Schrader73e56602021-12-06 21:37:30 -08001147
1148http_archive(
1149 name = "io_bazel_rules_go",
Philipp Schrader039f5c32022-01-20 22:30:01 -08001150 patch_args = [
1151 "-p1",
1152 ],
1153 patches = [
1154 "@//third_party:rules_go/0001-Disable-warnings-for-external-repositories.patch",
1155 ],
Philipp Schrader73e56602021-12-06 21:37:30 -08001156 sha256 = "2b1641428dff9018f9e85c0384f03ec6c10660d935b750e3fa1492a281a53b0f",
1157 urls = [
1158 "https://www.frc971.org/Build-Dependencies/rules_go-v0.29.0.zip",
1159 "https://github.com/bazelbuild/rules_go/releases/download/v0.29.0/rules_go-v0.29.0.zip",
1160 ],
1161)
1162
Philipp Schrader37fdbb62021-12-18 00:30:37 -08001163http_archive(
1164 name = "bazel_gazelle",
1165 sha256 = "de69a09dc70417580aabf20a28619bb3ef60d038470c7cf8442fafcf627c21cb",
1166 urls = [
1167 "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz",
1168 "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz",
1169 ],
1170)
1171
Philipp Schrader73e56602021-12-06 21:37:30 -08001172load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
1173
1174go_rules_dependencies()
1175
Philipp Schrader6097ed12022-03-26 15:37:37 -07001176go_register_toolchains(version = "1.18")
Philipp Schrader37fdbb62021-12-18 00:30:37 -08001177
1178load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
1179load("//:go_deps.bzl", "go_dependencies")
1180load("//tools/go:mirrored_go_deps.bzl", "mirrored_go_dependencies")
1181
1182mirrored_go_dependencies()
1183
1184# gazelle:repository_macro go_deps.bzl%go_dependencies
1185go_dependencies()
1186
1187gazelle_dependencies()
Philipp Schradercc016b32021-12-30 08:59:58 -08001188
1189http_archive(
1190 name = "com_github_bazelbuild_buildtools",
1191 sha256 = "44a6e5acc007e197d45ac3326e7f993f0160af9a58e8777ca7701e00501c0857",
1192 strip_prefix = "buildtools-4.2.4",
1193 urls = [
1194 "https://github.com/bazelbuild/buildtools/archive/refs/tags/4.2.4.tar.gz",
1195 ],
1196)
Philipp Schrader0f5d2502022-03-08 22:44:55 -08001197
1198http_archive(
1199 name = "rules_pkg",
1200 patch_args = ["-p1"],
1201 patches = [
1202 "//third_party:rules_pkg/0001-Fix-tree-artifacts.patch",
1203 ],
1204 sha256 = "62eeb544ff1ef41d786e329e1536c1d541bb9bcad27ae984d57f18f314018e66",
1205 urls = [
1206 "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.6.0/rules_pkg-0.6.0.tar.gz",
1207 "https://github.com/bazelbuild/rules_pkg/releases/download/0.6.0/rules_pkg-0.6.0.tar.gz",
1208 ],
1209)
1210
1211load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
1212
1213rules_pkg_dependencies()
Tyler Chatow8a51ac62022-03-15 13:23:12 -07001214
1215http_archive(
Tyler Chatowec100e22022-03-22 16:23:04 -07001216 name = "libtinfo5_amd64",
Tyler Chatow8a51ac62022-03-15 13:23:12 -07001217 build_file_content = """
1218exports_files(
1219 [
1220 'lib/x86_64-linux-gnu/libtinfo.so.5',
1221 'lib/x86_64-linux-gnu/libtinfo.so.5.9',
1222 ],
1223 ["//visibility:public"],
1224)
1225""",
1226 patch_cmds = ["touch lib/x86_64-linux-gnu/BUILD"],
1227 sha256 = "059e14f77dce365c57b96284aae98c892f61e269b3fbb7d07714b7135c2e5617",
1228 urls = ["https://www.frc971.org/Build-Dependencies/libtinfo5_amd64.tar.gz"],
1229)
Tyler Chatowec100e22022-03-22 16:23:04 -07001230
1231http_archive(
1232 name = "libtinfo5_arm64",
1233 build_file_content = """
1234exports_files(
1235 [
1236 'lib/aarch64-linux-gnu/libtinfo.so.5',
1237 'lib/aarch64-linux-gnu/libtinfo.so.5.9',
1238 ],
1239 ["//visibility:public"],
1240)
1241""",
1242 patch_cmds = ["touch lib/aarch64-linux-gnu/BUILD"],
1243 sha256 = "df4ea5194c80df8d1f5f6ed68b47ce9dbf78aa8cdebbc61cf00654d9075f8e3c",
1244 urls = ["https://www.frc971.org/Build-Dependencies/libtinfo5_arm64.tar.gz"],
1245)
James Kuszmaul4ed5fb12022-03-22 15:20:04 -07001246
1247local_repository(
1248 name = "com_github_nlohmann_json",
1249 path = "third_party/com_github_nlohmann_json",
1250)
James Kuszmaul5c56ed32022-03-30 15:10:07 -07001251
Austin Schuh86110712022-09-16 15:40:54 -07001252# https://curl.haxx.se/download/curl-7.69.1.tar.gz
1253http_archive(
1254 name = "com_github_curl_curl",
1255 build_file = "//debian:curl.BUILD",
1256 sha256 = "01ae0c123dee45b01bbaef94c0bc00ed2aec89cb2ee0fd598e0d302a6b5e0a98",
1257 strip_prefix = "curl-7.69.1",
1258 url = "https://www.frc971.org/Build-Dependencies/curl-7.69.1.tar.gz",
1259)
1260
1261http_archive(
1262 # No official name exists. Names used in our external dependencies include
1263 # zlib, madler_zlib, com_github_madler_zlib.
1264 name = "zlib",
1265 build_file = "//debian:BUILD.zlib.bazel",
1266 sha256 = "629380c90a77b964d896ed37163f5c3a34f6e6d897311f1df2a7016355c45eff",
1267 strip_prefix = "zlib-1.2.11",
1268 urls = [
1269 "https://github.com/madler/zlib/archive/v1.2.11.tar.gz",
1270 ],
1271)
1272
1273# This one is tricky to get an archive because it has recursive submodules. These semi-automated steps do work though:
1274# git clone -b version1.9 --recurse-submodules --depth=1 https://github.com/aws/aws-sdk-cpp
1275# cd aws-sdk-cpp
1276# 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/\)')
1277# Now run the command that printed, and the output will be at aws_sdk-version.tar.gz.
1278http_archive(
1279 name = "aws_sdk",
1280 build_file = "//debian:aws_sdk.BUILD",
1281 patch_args = ["-p1"],
1282 patches = ["//debian:aws_sdk.patch"],
1283 sha256 = "1a2668722e5b5b2608a6ab21c876c1d98b5fd8c7d613129ced9561f5520817dc",
1284 url = "https://www.frc971.org/Build-Dependencies/aws_sdk-19.0.0-RC1.tar.gz",
1285)
1286
James Kuszmaul5ab990d2022-11-07 16:35:49 -08001287# Source code of LZ4 (files under lib/) are under BSD 2-Clause.
1288# The rest of the repository (build information, documentation, etc.) is under GPLv2.
1289# We only care about the lib/ subfolder anyways, and strip out any other files.
1290http_archive(
1291 name = "com_github_lz4_lz4",
1292 build_file = "//debian:BUILD.lz4.bazel",
1293 sha256 = "0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b",
1294 strip_prefix = "lz4-1.9.4/lib",
1295 url = "https://github.com/lz4/lz4/archive/refs/tags/v1.9.4.tar.gz",
1296)
1297
James Kuszmaul5c56ed32022-03-30 15:10:07 -07001298http_file(
1299 name = "com_github_foxglove_mcap_mcap",
1300 executable = True,
James Kuszmaul5ab990d2022-11-07 16:35:49 -08001301 sha256 = "ae745dd09cf4c9570c1c038a72630c07b073f0ed4b05983d64108ff748a40d3f",
1302 urls = ["https://github.com/foxglove/mcap/releases/download/releases%2Fmcap-cli%2Fv0.0.22/mcap-linux-amd64"],
James Kuszmaul5c56ed32022-03-30 15:10:07 -07001303)
Brian Silverman0aa13732022-05-19 23:14:08 -07001304
1305http_archive(
1306 name = "cargo_raze",
1307 patches = ["@//third_party/cargo_raze:cargo_raze.patch"],
1308 sha256 = "08bfc8859ff686ecb55005a3c4a9cf790115de0abdbcc69cf57b15be0745a859",
1309 strip_prefix = "cargo-raze-0.14.2",
1310 url = "https://github.com/google/cargo-raze/archive/v0.14.2.tar.gz",
1311)
1312
1313http_archive(
1314 name = "rules_foreign_cc",
1315 patch_args = ["-p1"],
1316 patches = ["@//third_party/rules_foreign_cc:backport_d93bd96dc719760c968b54730258ad0a5b10f8fb.patch"],
1317 sha256 = "69023642d5781c68911beda769f91fcbc8ca48711db935a75da7f6536b65047f",
1318 strip_prefix = "rules_foreign_cc-0.6.0",
1319 url = "https://github.com/bazelbuild/rules_foreign_cc/archive/0.6.0.tar.gz",
1320)
1321
1322load("@cargo_raze//:repositories.bzl", "cargo_raze_repositories")
1323
1324cargo_raze_repositories()
1325
1326# cargo_raze_transitive_deps wants to do `rust_repositories`, which we do
1327# manually to get the right platforms. rules_foreign_cc is currently the only
1328# other thing it has, so just do that manually.
1329load("@rules_foreign_cc//foreign_cc:repositories.bzl", "rules_foreign_cc_dependencies")
1330
1331rules_foreign_cc_dependencies()
Brian Silverman547eda02022-05-19 23:14:08 -07001332
1333load("//third_party/cargo:crates.bzl", "raze_fetch_remote_crates")
1334
1335raze_fetch_remote_crates()
James Kuszmaul0de4feb2022-04-15 12:16:59 -07001336
1337http_archive(
1338 name = "com_github_zaphoyd_websocketpp",
1339 build_file = "//third_party/websocketpp:websocketpp.BUILD",
1340 sha256 = "6ce889d85ecdc2d8fa07408d6787e7352510750daa66b5ad44aacb47bea76755",
1341 strip_prefix = "websocketpp-0.8.2",
1342 url = "https://github.com/zaphoyd/websocketpp/archive/refs/tags/0.8.2.tar.gz",
1343)
1344
1345http_archive(
1346 name = "com_github_foxglove_ws-protocol",
1347 build_file = "//third_party/foxglove_ws_protocol:foxglove_ws_protocol.BUILD",
1348 patch_args = ["-p1"],
1349 patches = ["//third_party/foxglove_ws_protocol:foxglove_ws_protocol.patch"],
1350 sha256 = "3256f09a67419f6556778c443d332f1a4bf53ba0e7a464179bf838abffa366ab",
1351 strip_prefix = "ws-protocol-releases-typescript-ws-protocol-examples-v0.0.6",
1352 url = "https://github.com/foxglove/ws-protocol/archive/refs/tags/releases/typescript/ws-protocol-examples/v0.0.6.tar.gz",
1353)
1354
1355http_archive(
1356 name = "asio",
1357 build_file_content = """
1358cc_library(
1359 name = "asio",
1360 hdrs = glob(["include/asio/**/*.hpp", "include/asio/**/*.ipp", "include/asio.hpp"]),
1361 visibility = ["//visibility:public"],
1362 defines = ["ASIO_STANDALONE"],
1363 includes = ["include/"],
1364)""",
1365 sha256 = "8976812c24a118600f6fcf071a20606630a69afe4c0abee3b0dea528e682c585",
1366 strip_prefix = "asio-1.24.0",
1367 url = "https://downloads.sourceforge.net/project/asio/asio/1.24.0%2520%2528Stable%2529/asio-1.24.0.tar.bz2",
1368)