blob: 398202cd0a890bb67d46940167b1bee0ea46c8c0 [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(
Brian Silverman7bda6212018-08-05 11:42:11 -070015 "//debian:patch.bzl",
16 patch_debs = "files",
17)
Brian Silverman7297c0c2018-08-05 13:43:00 -070018load(
Austin Schuh71f6fa72019-08-31 18:23:02 -070019 "//debian:rsync.bzl",
20 rsync_debs = "files",
21)
22load(
23 "//debian:ssh.bzl",
24 ssh_debs = "files",
25)
26load(
Brian Silverman7297c0c2018-08-05 13:43:00 -070027 "//debian:pandoc.bzl",
28 pandoc_debs = "files",
29)
Brian Silverman4f6ba442018-08-05 14:34:58 -070030load(
31 "//debian:libusb.bzl",
32 libusb_debs = "files",
33)
Brian Silvermanb80dc9f2018-08-05 14:59:24 -070034load(
35 "//debian:mingw_compiler.bzl",
36 mingw_compiler_debs = "files",
37)
Brian Silverman6470f442018-08-05 12:08:16 -070038load(
39 "//debian:patchelf.bzl",
40 patchelf_debs = "files",
41)
42load(
43 "//debian:matplotlib.bzl",
44 matplotlib_debs = "files",
45)
Brian Silverman50b9ac02018-08-12 13:24:10 -070046load(
47 "//debian:arm_frc_gnueabi_deps.bzl",
48 arm_frc_gnueabi_deps_debs = "files",
49)
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -070050load(
51 "//debian:python_gtk.bzl",
52 python_gtk_debs = "files",
53)
Brian Silvermand4260c72020-01-14 00:08:02 -080054load(
Philipp Schraderf1bbf342022-02-05 14:30:15 -080055 "//debian:opencv_arm64.bzl",
56 opencv_arm64_debs = "files",
57)
58load(
Brian Silvermand4260c72020-01-14 00:08:02 -080059 "//debian:opencv_armhf.bzl",
60 opencv_armhf_debs = "files",
61)
Brian Silvermand97a47c2020-01-16 00:47:53 -080062load(
63 "//debian:opencv_amd64.bzl",
64 opencv_amd64_debs = "files",
65)
Tyler Chatow60671d32020-02-26 19:49:30 -080066load(
67 "//debian:gstreamer_amd64.bzl",
James Kuszmaulc91e4402020-05-10 18:47:20 -070068 gstreamer_amd64_debs = "files",
Tyler Chatow60671d32020-02-26 19:49:30 -080069)
70load(
71 "//debian:gstreamer_armhf.bzl",
James Kuszmaulc91e4402020-05-10 18:47:20 -070072 gstreamer_armhf_debs = "files",
Tyler Chatow60671d32020-02-26 19:49:30 -080073)
Austin Schuh023e7f52020-08-18 21:24:37 -070074load(
75 "//debian:m4.bzl",
76 m4_debs = "files",
77)
Brian Silvermanf59fe3f2020-09-22 21:04:09 -070078load(
79 "//debian:lzma_amd64.bzl",
80 lzma_amd64_debs = "files",
81)
82load(
83 "//debian:lzma_arm64.bzl",
84 lzma_arm64_debs = "files",
85)
Philipp Schrader0e19c602018-03-07 21:07:22 -080086load("//debian:packages.bzl", "generate_repositories_for_debs")
87
88generate_repositories_for_debs(python_debs)
Brian Silverman7bda6212018-08-05 11:42:11 -070089
Austin Schuh71f6fa72019-08-31 18:23:02 -070090generate_repositories_for_debs(rsync_debs)
91
92generate_repositories_for_debs(ssh_debs)
93
Philipp Schraderd0e33a42022-01-22 21:55:15 -080094generate_repositories_for_debs(apache2_debs)
95
Brian Silverman7bda6212018-08-05 11:42:11 -070096generate_repositories_for_debs(patch_debs)
97
Brian Silverman7297c0c2018-08-05 13:43:00 -070098generate_repositories_for_debs(pandoc_debs)
99
Brian Silverman4f6ba442018-08-05 14:34:58 -0700100generate_repositories_for_debs(libusb_debs)
101
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700102generate_repositories_for_debs(mingw_compiler_debs)
103
Brian Silverman6470f442018-08-05 12:08:16 -0700104generate_repositories_for_debs(patchelf_debs)
105
106generate_repositories_for_debs(matplotlib_debs)
107
Brian Silverman50b9ac02018-08-12 13:24:10 -0700108generate_repositories_for_debs(arm_frc_gnueabi_deps_debs)
109
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -0700110generate_repositories_for_debs(python_gtk_debs)
111
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800112generate_repositories_for_debs(opencv_arm64_debs)
113
Brian Silvermand4260c72020-01-14 00:08:02 -0800114generate_repositories_for_debs(opencv_armhf_debs)
115
Brian Silvermand97a47c2020-01-16 00:47:53 -0800116generate_repositories_for_debs(opencv_amd64_debs)
117
Tyler Chatow60671d32020-02-26 19:49:30 -0800118generate_repositories_for_debs(gstreamer_amd64_debs)
119
120generate_repositories_for_debs(gstreamer_armhf_debs)
121
Austin Schuh023e7f52020-08-18 21:24:37 -0700122generate_repositories_for_debs(m4_debs)
123
Brian Silvermanf59fe3f2020-09-22 21:04:09 -0700124generate_repositories_for_debs(lzma_amd64_debs)
125
126generate_repositories_for_debs(lzma_arm64_debs)
127
Brian Silvermanc0309a02022-01-01 23:57:03 -0800128local_repository(
129 name = "com_grail_bazel_toolchain",
130 path = "third_party/bazel-toolchain",
131)
132
Brian Silverman4c7235a2021-11-17 19:04:37 -0800133load("@com_grail_bazel_toolchain//toolchain:rules.bzl", "llvm", "llvm_toolchain")
134
135llvm_version = "13.0.0"
136
137llvm(
138 name = "llvm_k8",
139 distribution = "clang+llvm-%s-x86_64-linux-gnu-ubuntu-16.04.tar.xz" % llvm_version,
140 llvm_version = llvm_version,
141)
142
143llvm(
144 name = "llvm_armv7",
145 distribution = "clang+llvm-%s-armv7a-linux-gnueabihf.tar.xz" % llvm_version,
146 llvm_version = llvm_version,
147)
148
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800149llvm(
150 name = "llvm_aarch64",
151 distribution = "clang+llvm-%s-aarch64-linux-gnu.tar.xz" % llvm_version,
152 llvm_version = llvm_version,
153)
154
Brian Silverman4c7235a2021-11-17 19:04:37 -0800155llvm_conlyopts = [
156 "-std=gnu99",
157]
158
159llvm_copts = [
160 "-D__STDC_FORMAT_MACROS",
161 "-D__STDC_CONSTANT_MACROS",
162 "-D__STDC_LIMIT_MACROS",
163 "-D_FILE_OFFSET_BITS=64",
164 "-fmessage-length=100",
165 "-fmacro-backtrace-limit=0",
166 "-Wextra",
167 "-Wpointer-arith",
168 "-Wstrict-aliasing",
169 "-Wcast-qual",
170 "-Wcast-align",
171 "-Wwrite-strings",
172 "-Wtype-limits",
173 "-Wsign-compare",
174 "-Wformat=2",
175 "-Werror",
176 "-ggdb3",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800177]
178
179llvm_cxxopts = [
180 "-std=gnu++17",
181]
182
Brian Silverman1e7c8972022-02-03 23:15:41 -0800183llvm_opt_copts = [
184 "-DAOS_DEBUG=0",
185]
186
187llvm_fastbuild_copts = [
188 "-DAOS_DEBUG=0",
189]
190
Brian Silverman4c7235a2021-11-17 19:04:37 -0800191llvm_dbg_copts = [
192 "-DAOS_DEBUG=1",
193]
Brian Silvermanc0309a02022-01-01 23:57:03 -0800194
195llvm_toolchain(
196 name = "llvm_toolchain",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800197 additional_target_compatible_with = {
198 "linux-armv7": [
199 "@//tools/platforms/hardware:raspberry_pi",
200 ],
201 },
202 conlyopts = {
203 "linux-x86_64": llvm_conlyopts,
204 "linux-armv7": llvm_conlyopts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800205 "linux-aarch64": llvm_conlyopts,
Brian Silverman4c7235a2021-11-17 19:04:37 -0800206 },
207 copts = {
208 "linux-x86_64": llvm_copts,
209 "linux-armv7": llvm_copts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800210 "linux-aarch64": llvm_copts,
Brian Silverman4c7235a2021-11-17 19:04:37 -0800211 },
212 cxxopts = {
213 "linux-x86_64": llvm_cxxopts,
214 "linux-armv7": llvm_cxxopts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800215 "linux-aarch64": llvm_cxxopts,
Brian Silverman4c7235a2021-11-17 19:04:37 -0800216 },
217 dbg_copts = {
218 "linux-x86_64": llvm_dbg_copts,
Brian Silverman1e7c8972022-02-03 23:15:41 -0800219 "linux-armv7": llvm_dbg_copts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800220 "linux-aarch64": llvm_dbg_copts,
Brian Silverman1e7c8972022-02-03 23:15:41 -0800221 },
222 fastbuild_copts = {
223 "linux-x86_64": llvm_fastbuild_copts,
224 "linux-armv7": llvm_fastbuild_copts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800225 "linux-aarch64": llvm_fastbuild_copts,
Brian Silverman4c7235a2021-11-17 19:04:37 -0800226 },
227 llvm_version = llvm_version,
Brian Silverman1e7c8972022-02-03 23:15:41 -0800228 opt_copts = {
229 "linux-x86_64": llvm_opt_copts,
230 "linux-armv7": llvm_opt_copts,
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800231 "linux-aarch64": llvm_opt_copts,
Brian Silverman1e7c8972022-02-03 23:15:41 -0800232 },
Brian Silverman4c7235a2021-11-17 19:04:37 -0800233 standard_libraries = {
234 "linux-x86_64": "libstdc++-10",
235 "linux-armv7": "libstdc++-10",
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800236 "linux-aarch64": "libstdc++-10",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800237 },
238 static_libstdcxx = False,
Brian Silvermanc0309a02022-01-01 23:57:03 -0800239 sysroot = {
240 "linux-x86_64": "@amd64_debian_sysroot//:sysroot_files",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800241 "linux-armv7": "@armhf_debian_rootfs//:sysroot_files",
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800242 "linux-aarch64": "@arm64_debian_rootfs//:sysroot_files",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800243 },
244 target_toolchain_roots = {
245 "linux-x86_64": "@llvm_k8//",
246 "linux-armv7": "@llvm_armv7//",
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800247 "linux-aarch64": "@llvm_aarch64//",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800248 },
249 toolchain_roots = {
250 "linux-x86_64": "@llvm_k8//",
Brian Silvermanc0309a02022-01-01 23:57:03 -0800251 },
252)
253
Brian Silverman4c7235a2021-11-17 19:04:37 -0800254load("@llvm_toolchain//:toolchains.bzl", "llvm_register_toolchains")
255
256llvm_register_toolchains()
257
Philipp Schraderdada1072020-11-24 11:34:46 -0800258register_toolchains(
Philipp Schraderdada1072020-11-24 11:34:46 -0800259 "//tools/cpp:cc-toolchain-roborio",
260 "//tools/cpp:cc-toolchain-cortex-m4f",
Austin Schuh0a96ea32022-01-01 22:29:30 -0800261 "//tools/cpp:cc-toolchain-rp2040",
Philipp Schraderdada1072020-11-24 11:34:46 -0800262 # Find a good way to select between these two M4F toolchains.
263 #"//tools/cpp:cc-toolchain-cortex-m4f-k22",
Philipp Schraderf198a152021-12-05 09:18:23 -0800264 "//tools/python:python_toolchain",
Philipp Schrader73e56602021-12-06 21:37:30 -0800265 "//tools/go:noop_go_toolchain",
Ravago Jones16809802021-11-18 20:40:03 -0800266 "//tools/rust:rust-toolchain-roborio",
267 "//tools/rust:noop_rust_toolchain",
Philipp Schrader54047962022-02-16 21:05:11 -0800268 "//tools/ts:noop_node_toolchain",
Philipp Schraderdada1072020-11-24 11:34:46 -0800269)
270
Philipp Schrader37fdbb62021-12-18 00:30:37 -0800271load("//tools/ci:repo_defs.bzl", "ci_configure")
272
273ci_configure(name = "ci_configure")
274
Philipp Schraderdada1072020-11-24 11:34:46 -0800275http_archive(
276 name = "platforms",
Philipp Schraderea74b602022-02-05 16:13:12 -0800277 sha256 = "2c8d8347427e6bb0ba7cf9f933c08fe2be2b62ff2454546ad852f7bf267aad87",
278 strip_prefix = "platforms-e658a6af526089406d0057160542597501ba65d7",
279 url = "https://github.com/bazelbuild/platforms/archive/e658a6af526089406d0057160542597501ba65d7.zip",
Philipp Schraderdada1072020-11-24 11:34:46 -0800280)
281
282http_archive(
283 name = "bazel_skylib",
Austin Schuh4c3b4f02020-12-21 11:51:42 -0800284 sha256 = "1c531376ac7e5a180e0237938a2536de0c54d93f5c278634818e0efc952dd56c",
Philipp Schraderdada1072020-11-24 11:34:46 -0800285 urls = [
286 "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz",
287 "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz",
288 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800289)
290
Austin Schuhf093fa52019-06-23 20:47:23 -0700291http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700292 name = "python_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700293 build_file = "@//debian:python.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800294 sha256 = "048c51872f9c3853ae4e961c710533f477194a3f170b454e8d582f32a83e90f5",
295 url = "https://www.frc971.org/Build-Dependencies/python-6.tar.gz",
Philipp Schrader9b1790e2018-03-10 20:21:30 -0800296)
297
Austin Schuh7466fe12020-12-29 23:01:47 -0800298http_archive(
299 name = "com_github_stevengj_nlopt",
300 build_file = "@//debian:nlopt.BUILD",
301 patch_args = ["-p1"],
302 patches = ["//debian:nlopt.patch"],
303 sha256 = "2d65815b21c30813499fe19c63947f7da56b10c0d4a459dce05417899b43e461",
304 strip_prefix = "nlopt-496be736b8b249273838b891f4c8ca3669551127",
305 url = "https://www.frc971.org/Build-Dependencies/nlopt-496be736b8b249273838b891f4c8ca3669551127.zip",
306)
307
Austin Schuhd57edc42019-09-21 17:52:38 -0700308local_repository(
309 name = "com_google_absl",
310 path = "third_party/abseil",
Austin Schuh36244a12019-09-21 17:52:38 -0700311)
312
Alex Perrycb7da4b2019-08-28 19:35:56 -0700313local_repository(
314 name = "org_tuxfamily_eigen",
315 path = "third_party/eigen",
316)
317
James Kuszmaulbc02ff42021-01-15 20:41:30 -0800318local_repository(
319 name = "com_github_rawrtc_re",
320 path = "third_party/rawrtc/re",
321)
322
323local_repository(
324 name = "com_github_rawrtc_rew",
325 path = "third_party/rawrtc/rew",
326)
327
328local_repository(
329 name = "com_github_rawrtc_usrsctp",
330 path = "third_party/rawrtc/usrsctp",
331)
332
333local_repository(
334 name = "com_github_rawrtc_rawrtc_common",
335 path = "third_party/rawrtc/rawrtc-common",
336)
337
338local_repository(
339 name = "com_github_rawrtc_rawrtc_data_channel",
340 path = "third_party/rawrtc/rawrtc-data-channel",
341)
342
343local_repository(
344 name = "com_github_rawrtc_rawrtc",
345 path = "third_party/rawrtc/rawrtc",
346)
347
Austin Schuh0ca51f32020-12-25 21:51:45 -0800348http_archive(
349 name = "boringssl",
350 patch_args = ["-p1"],
351 patches = ["//debian:boringssl.patch"],
352 sha256 = "bcab08a22c28f5322316542aa2c3a9ef0a9f9fde9be22d489cee574867b24675",
353 strip_prefix = "boringssl-613fe9dbe74b58d6aaaf0d22fe57dccd964c7413",
354 urls = ["https://www.frc971.org/Build-Dependencies/boringssl-613fe9dbe74b58d6aaaf0d22fe57dccd964c7413.zip"],
355)
356
Austin Schuh36244a12019-09-21 17:52:38 -0700357# C++ rules for Bazel.
358http_archive(
359 name = "rules_cc",
Austin Schuh968174a2021-03-31 20:04:01 -0700360 sha256 = "ed36cc7a6f46b7c28ab4009db4a37e350e1ba367446b0886bcc9cdc1df92752e",
361 strip_prefix = "rules_cc-608c7b605fb844a20e96a3eddc9b49ad2542adab",
Austin Schuh36244a12019-09-21 17:52:38 -0700362 urls = [
Austin Schuh968174a2021-03-31 20:04:01 -0700363 "https://www.frc971.org/Build-Dependencies/rules_cc-608c7b605fb844a20e96a3eddc9b49ad2542adab.zip",
Austin Schuh36244a12019-09-21 17:52:38 -0700364 ],
365)
Austin Schuhd57edc42019-09-21 17:52:38 -0700366
James Kuszmaulf4bf9fe2021-05-10 22:58:24 -0700367# Note that rules_python is currently only imported to make googletest happy.
368# TODO: add frc971.org URL
369http_archive(
370 name = "rules_python",
Philipp Schrader530e3ae2021-12-04 20:13:16 -0800371 sha256 = "895fa3b03898d7708eb50ed34dcfb71c07866433df6912a6ff4f4fb473048f99",
372 strip_prefix = "rules_python-2b1d6beb4d5d8f59d629597e30e9aa519182d9a9",
373 url = "https://github.com/bazelbuild/rules_python/archive/2b1d6beb4d5d8f59d629597e30e9aa519182d9a9.tar.gz",
James Kuszmaulf4bf9fe2021-05-10 22:58:24 -0700374)
375
Austin Schuh4759ffc2015-10-07 20:39:56 -0700376new_local_repository(
Brian Silverman7bda6212018-08-05 11:42:11 -0700377 name = "usr_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700378 build_file = "@//debian:usr.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700379 path = "/usr",
Austin Schuh4759ffc2015-10-07 20:39:56 -0700380)
381
Austin Schuh1f9aeb42015-11-12 23:34:49 -0800382new_git_repository(
Brian Silverman7bda6212018-08-05 11:42:11 -0700383 name = "slycot_repo",
Tyler Chatow2584bb12018-10-27 20:48:35 -0700384 build_file = "@//debian:slycot.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700385 commit = "5af5f283cb23cbe23c4dfea4d5e56071bdbd6e70",
386 remote = "https://github.com/avventi/Slycot.git",
Austin Schuh1f9aeb42015-11-12 23:34:49 -0800387)
388
Austin Schuh9950f682021-11-06 15:27:58 -0700389# TODO(austin): https://github.com/wpilibsuite/roborio-toolchain/releases/tag/v2022-1
Austin Schuhf093fa52019-06-23 20:47:23 -0700390http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700391 name = "arm_frc_linux_gnueabi_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700392 build_file = "@//tools/cpp/arm-frc-linux-gnueabi:arm-frc-linux-gnueabi.BUILD",
Austin Schuhe991fe22020-11-18 16:53:39 -0800393 patches = ["//debian:fts.patch"],
James Kuszmaul3ae42262019-11-08 12:33:41 -0800394 sha256 = "043a5b047c2af9cf80d146d8327b588264c98a01e0f3f41e3564dd2bbbc95c0e",
395 strip_prefix = "frc2020/roborio/",
Austin Schuha5778ae2020-10-21 21:15:35 -0700396 url = "https://www.frc971.org/Build-Dependencies/FRC-2020-Linux-Toolchain-7.3.0.tar.gz",
Austin Schuh55139fe2015-10-14 23:55:24 -0700397)
Austin Schuhe456f152015-11-27 13:44:39 -0800398
Brian Silverman4c7235a2021-11-17 19:04:37 -0800399# 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
400# The following files and folders are removed to make bazel happy with it:
Brian Silvermanbf4c1312020-01-12 11:35:45 -0800401# usr/share/ca-certificates
Brian Silverman4c7235a2021-11-17 19:04:37 -0800402# lib/systemd/system/system-systemd\\x2dcryptsetup.slice
Brian Silvermanbf4c1312020-01-12 11:35:45 -0800403http_archive(
404 name = "armhf_debian_rootfs",
Brian Silverman60606c92020-01-15 22:45:04 -0800405 build_file = "@//:compilers/debian_rootfs.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800406 sha256 = "734f26a0cfc943cc3cae88412536186adfc4ed148cc167e6ffb298497c686280",
407 url = "https://www.frc971.org/Build-Dependencies/2021-10-30-raspios-bullseye-armhf-lite_rootfs.tar.bz2",
Brian Silvermanbf4c1312020-01-12 11:35:45 -0800408)
409
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800410# 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
411# The following files and folders are removed to make bazel happy with it:
412# usr/share/ca-certificates
413# lib/systemd/system/system-systemd\\x2dcryptsetup.slice
414http_archive(
415 name = "arm64_debian_rootfs",
416 build_file = "@//:compilers/debian_rootfs.BUILD",
417 sha256 = "7e6ad432fec0a36f8b66c3fc2ab8795ea446e61f7dce7a206b55602677cf0904",
418 url = "https://www.frc971.org/Build-Dependencies/2021-10-30-raspios-bullseye-arm64-lite_rootfs.tar.bz2",
419)
420
Brian Silverman60606c92020-01-15 22:45:04 -0800421# Created with:
422# `debootstrap buster buster_sysroot`
423# and then chrooting in and running:
424# apt install libc6-dev libstdc++-7-dev
Brian Silverman4c7235a2021-11-17 19:04:37 -0800425# removing the apt cache,
Brian Silverman60606c92020-01-15 22:45:04 -0800426# and then tarring up the result
427http_archive(
428 name = "amd64_debian_sysroot",
429 build_file = "@//:compilers/debian_rootfs.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800430 sha256 = "5e10f4cac85a98a39da1716b218bc05fff4666c61cc471a7df27876710bc86d2",
431 url = "https://www.frc971.org/Build-Dependencies/2022-01-06-debian-bullseye_rootfs.tar.bz2",
Brian Silverman60606c92020-01-15 22:45:04 -0800432)
433
Austin Schuhe456f152015-11-27 13:44:39 -0800434new_git_repository(
Brian Silverman7bda6212018-08-05 11:42:11 -0700435 name = "python_gflags_repo",
Tyler Chatow2584bb12018-10-27 20:48:35 -0700436 build_file = "@//debian:gflags.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700437 commit = "41c4571864f0db5823e07715317e7388e94faabc",
438 remote = "https://github.com/gflags/python-gflags.git",
Austin Schuhe456f152015-11-27 13:44:39 -0800439)
440
441bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700442 name = "python-gflags",
443 actual = "@python_gflags_repo//:gflags",
Austin Schuhe456f152015-11-27 13:44:39 -0800444)
445
Brian Silverman16a923c2018-10-31 19:40:51 -0700446local_repository(
447 name = "com_github_gflags_gflags",
448 path = "third_party/gflags",
449)
450
Brian Silverman8d644032020-02-02 12:15:43 -0800451# Downloaded from:
452# https://pypi.python.org/packages/source/g/glog/glog-0.1.tar.gz
Austin Schuhf093fa52019-06-23 20:47:23 -0700453http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700454 name = "python_glog_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700455 build_file = "@//debian:glog.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700456 sha256 = "953fd80122c48023d1148e6d1bda2763fcab59c8a81682bb298238a5935547b0",
457 strip_prefix = "glog-0.1",
Austin Schuha5778ae2020-10-21 21:15:35 -0700458 url = "https://www.frc971.org/Build-Dependencies/glog-0.1.tar.gz",
Austin Schuhe456f152015-11-27 13:44:39 -0800459)
460
461bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700462 name = "python-glog",
463 actual = "@python_glog_repo//:glog",
Austin Schuhe456f152015-11-27 13:44:39 -0800464)
Brian Silvermancee260a2015-12-24 16:27:51 -0800465
Brian Silverman82a12b92019-01-19 21:52:10 -0800466# Generated with:
Austin Schuh9950f682021-11-06 15:27:58 -0700467# git fetch https://github.com/wpilibsuite/ni-libraries main
Austin Schuhd3c72912022-02-22 18:05:32 -0800468# git archive --output=allwpilib_ni-libraries_776db4e8aed31a651fa2f590e7468c69b384b42a.tar.gz --format=tar.gz 776db4e8aed31a651fa2f590e7468c69b384b42a
Austin Schuhf093fa52019-06-23 20:47:23 -0700469http_archive(
James Kuszmaulc9c46b32019-12-08 21:10:00 -0800470 name = "allwpilib_ni_libraries",
471 build_file = "@//debian:ni-libraries.BUILD",
Austin Schuhd3c72912022-02-22 18:05:32 -0800472 sha256 = "525b9d777cd00091b9095893c2e4fd0a70c7609c76db161161d407769ad4ba74",
473 url = "https://www.frc971.org/Build-Dependencies/allwpilib_ni-libraries_776db4e8aed31a651fa2f590e7468c69b384b42a.tar.gz",
Brian Silverman82a12b92019-01-19 21:52:10 -0800474)
475
Brian Silverman3fca9d72016-02-20 02:32:51 -0500476# Downloaded from:
477# https://pypi.python.org/packages/source/s/six/six-1.10.0.tar.gz
Austin Schuhf093fa52019-06-23 20:47:23 -0700478http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700479 name = "six_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700480 build_file = "@//debian:six.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700481 sha256 = "105f8d68616f8248e24bf0e9372ef04d3cc10104f1980f54d57b2ce73a5ad56a",
482 strip_prefix = "six-1.10.0",
Austin Schuha5778ae2020-10-21 21:15:35 -0700483 url = "https://www.frc971.org/Build-Dependencies/six-1.10.0.tar.gz",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500484)
485
486# For protobuf. Don't use these.
487bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700488 name = "six",
489 actual = "@six_repo//:six",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500490)
Brian Silverman7bda6212018-08-05 11:42:11 -0700491
Brian Silverman3fca9d72016-02-20 02:32:51 -0500492bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700493 name = "gtest",
494 actual = "//third_party/googletest:googlemock",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500495)
Brian Silverman7bda6212018-08-05 11:42:11 -0700496
Brian Silverman3fca9d72016-02-20 02:32:51 -0500497bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700498 name = "gtest_main",
499 actual = "//third_party/googletest:googlemock_main",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500500)
501
Brian Silverman4aa83042018-01-05 12:47:31 -0800502# Recompressed from libusb-1.0.21.7z.
503http_file(
Brian Silverman7bda6212018-08-05 11:42:11 -0700504 name = "libusb_1_0_windows",
Austin Schuh4ac96a82019-08-14 20:24:23 -0700505 downloaded_file_path = "libusb-1.0.21-windows.tar.xz",
Brian Silverman7bda6212018-08-05 11:42:11 -0700506 sha256 = "fc2ba03992f343aabbaf9eb90559c6e00cdc6a2bd914d7cebea85857d5244015",
Austin Schuha5778ae2020-10-21 21:15:35 -0700507 urls = ["https://www.frc971.org/Build-Dependencies/libusb-1.0.21-windows.tar.xz"],
Brian Silverman4aa83042018-01-05 12:47:31 -0800508)
Brian Silvermand3ad1652018-02-18 22:16:29 -0500509
510# The data tarball of the same-named Debian package.
Austin Schuhf093fa52019-06-23 20:47:23 -0700511http_archive(
Brian Silvermand3ad1652018-02-18 22:16:29 -0500512 name = "f2c",
Austin Schuhf093fa52019-06-23 20:47:23 -0700513 build_file = "@//debian:f2c.BUILD",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500514 sha256 = "2c677437f8217a2e2b23e41b33995d0571644fc1bea46de858f8913a5053e3f4",
Austin Schuha5778ae2020-10-21 21:15:35 -0700515 url = "https://www.frc971.org/Build-Dependencies/f2c_20100827-1_amd64.xz.tar.xz",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500516)
517
518# Downloaded from http://www.netlib.org/clapack/.
Austin Schuhf093fa52019-06-23 20:47:23 -0700519http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700520 name = "clapack",
Austin Schuhf093fa52019-06-23 20:47:23 -0700521 build_file = "@//debian:clapack.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700522 sha256 = "6dc4c382164beec8aaed8fd2acc36ad24232c406eda6db462bd4c41d5e455fac",
523 strip_prefix = "CLAPACK-3.2.1/",
Austin Schuha5778ae2020-10-21 21:15:35 -0700524 url = "https://www.frc971.org/Build-Dependencies/clapack-3.2.1.tgz",
Brian Silverman7bda6212018-08-05 11:42:11 -0700525)
526
Austin Schuhf093fa52019-06-23 20:47:23 -0700527http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700528 name = "patch",
Austin Schuhf093fa52019-06-23 20:47:23 -0700529 build_file = "@//debian:patch.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700530 sha256 = "b5ce139648a2e04f5585948ddad2fdae24dd4ee7976ac5a22d6ae7bd5674631e",
Austin Schuha5778ae2020-10-21 21:15:35 -0700531 url = "https://www.frc971.org/Build-Dependencies/patch.tar.gz",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500532)
Brian Silverman7297c0c2018-08-05 13:43:00 -0700533
Austin Schuhf093fa52019-06-23 20:47:23 -0700534http_archive(
Austin Schuh71f6fa72019-08-31 18:23:02 -0700535 name = "rsync",
536 build_file = "@//debian:rsync.BUILD",
537 sha256 = "53be65a9214aaa6d1b9176f135184fb4a78ccefd58f95ce0da37e6a392dfeb60",
Austin Schuha5778ae2020-10-21 21:15:35 -0700538 url = "https://www.frc971.org/Build-Dependencies/rsync.tar.gz",
Austin Schuh71f6fa72019-08-31 18:23:02 -0700539)
540
Brian Silvermanbd7860e2020-01-05 17:52:40 -0800541# //debian:ssh
Austin Schuh71f6fa72019-08-31 18:23:02 -0700542http_archive(
543 name = "ssh",
544 build_file = "@//debian:ssh.BUILD",
Brian Silvermanbd7860e2020-01-05 17:52:40 -0800545 sha256 = "470fdc1252a2133a9d3c3da778e892a5b88f04f402cb04d8eb1cff7853242034",
Austin Schuha5778ae2020-10-21 21:15:35 -0700546 url = "https://www.frc971.org/Build-Dependencies/ssh_v3.tar.gz",
Austin Schuh71f6fa72019-08-31 18:23:02 -0700547)
548
549http_archive(
Philipp Schraderd0e33a42022-01-22 21:55:15 -0800550 name = "apache2",
551 build_file = "@//debian:apache2.BUILD",
552 sha256 = "98b0ad6d911751ba0aa486429e6278f995e7bbabd928c7d3d44c888fa2bf371b",
553 url = "https://www.frc971.org/Build-Dependencies/apache2.tar.gz",
554)
555
556http_archive(
Brian Silverman7297c0c2018-08-05 13:43:00 -0700557 name = "pandoc",
Austin Schuhf093fa52019-06-23 20:47:23 -0700558 build_file = "@//debian:pandoc.BUILD",
Brian Silverman7297c0c2018-08-05 13:43:00 -0700559 sha256 = "9f7a7adb3974a1f14715054c349ff3edc2909e920dbe3438fca437a83845f3c4",
Austin Schuha5778ae2020-10-21 21:15:35 -0700560 url = "https://www.frc971.org/Build-Dependencies/pandoc.tar.gz",
Brian Silverman7297c0c2018-08-05 13:43:00 -0700561)
Brian Silverman4f6ba442018-08-05 14:34:58 -0700562
Austin Schuhf093fa52019-06-23 20:47:23 -0700563http_archive(
Brian Silverman4f6ba442018-08-05 14:34:58 -0700564 name = "libusb",
Austin Schuhf093fa52019-06-23 20:47:23 -0700565 build_file = "@//debian:libusb.BUILD",
Brian Silverman4f6ba442018-08-05 14:34:58 -0700566 sha256 = "3ca5cc2d317226f6646866ff9e8c443db3b0f6c82f828e800240982727531590",
Austin Schuha5778ae2020-10-21 21:15:35 -0700567 url = "https://www.frc971.org/Build-Dependencies/libusb.tar.gz",
Brian Silverman4f6ba442018-08-05 14:34:58 -0700568)
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700569
Austin Schuhf093fa52019-06-23 20:47:23 -0700570http_archive(
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700571 name = "mingw_compiler",
Austin Schuhf093fa52019-06-23 20:47:23 -0700572 build_file = "@//debian:mingw_compiler.BUILD",
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700573 sha256 = "45e86a8460f2151a4f0306e7ae7b06761029d2412ee16f63d1e8d2d29354e378",
Austin Schuha5778ae2020-10-21 21:15:35 -0700574 url = "https://www.frc971.org/Build-Dependencies/mingw_compiler.tar.gz",
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700575)
Brian Silverman6470f442018-08-05 12:08:16 -0700576
James Kuszmaul910f92b2020-01-01 15:30:38 -0800577# Note that we should generally keep the matplotlib repo in a folder not
578# named matplotlib, because otherwise the repository itself tends to end up
579# on the PYTHONPATH, rather than the matplotlib folder within this repo.
Austin Schuhf093fa52019-06-23 20:47:23 -0700580http_archive(
James Kuszmaul910f92b2020-01-01 15:30:38 -0800581 name = "matplotlib_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700582 build_file = "@//debian:matplotlib.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800583 sha256 = "71d1512f1a9a3c90496f0ef3adcd46c4e5e4da4310d7cbb6b0da01a07e5e76e8",
584 url = "https://www.frc971.org/Build-Dependencies/matplotlib-6.tar.gz",
Brian Silverman6470f442018-08-05 12:08:16 -0700585)
586
Austin Schuhf093fa52019-06-23 20:47:23 -0700587http_archive(
Brian Silverman6470f442018-08-05 12:08:16 -0700588 name = "patchelf",
Austin Schuhf093fa52019-06-23 20:47:23 -0700589 build_file = "@//debian:patchelf.BUILD",
Brian Silverman6470f442018-08-05 12:08:16 -0700590 sha256 = "bf8b709909d7d9e30815dd228eeded7dc282e3ce3919d0589ccbb56ac8632abc",
Austin Schuha5778ae2020-10-21 21:15:35 -0700591 url = "https://www.frc971.org/Build-Dependencies/patchelf.tar.gz",
Brian Silverman6470f442018-08-05 12:08:16 -0700592)
Brian Silverman50b9ac02018-08-12 13:24:10 -0700593
Austin Schuhf093fa52019-06-23 20:47:23 -0700594http_archive(
Brian Silverman50b9ac02018-08-12 13:24:10 -0700595 name = "arm_frc_gnueabi_deps",
Austin Schuhf093fa52019-06-23 20:47:23 -0700596 build_file = "@//debian:arm_frc_gnueabi_deps.BUILD",
Brian Silverman50b9ac02018-08-12 13:24:10 -0700597 sha256 = "4b26fe45010817dc136488ee1604ade21bd7c264c29f17d864fc6eba9d7442c4",
Austin Schuha5778ae2020-10-21 21:15:35 -0700598 url = "https://www.frc971.org/Build-Dependencies/arm_frc_gnueabi_deps.tar.gz",
Brian Silverman50b9ac02018-08-12 13:24:10 -0700599)
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700600
Austin Schuhf093fa52019-06-23 20:47:23 -0700601http_archive(
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -0700602 name = "python_gtk",
Austin Schuhf093fa52019-06-23 20:47:23 -0700603 build_file = "@//debian:python_gtk.BUILD",
Philipp Schraderc3670b82022-02-22 19:11:30 -0800604 sha256 = "36db18fc2b2c9012312b5d1cdc3d392d7e9756040f759ea50cb623fea29ae817",
605 url = "https://www.frc971.org/Build-Dependencies/python_gtk-4.tar.gz",
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -0700606)
607
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700608# Downloaded from
609# 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 -0700610http_archive(
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700611 name = "gcc_arm_none_eabi",
Austin Schuhf093fa52019-06-23 20:47:23 -0700612 build_file = "@//:compilers/gcc_arm_none_eabi.BUILD",
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700613 sha256 = "bb17109f0ee697254a5d4ae6e5e01440e3ea8f0277f2e8169bf95d07c7d5fe69",
614 strip_prefix = "gcc-arm-none-eabi-7-2018-q2-update/",
Austin Schuha5778ae2020-10-21 21:15:35 -0700615 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 -0700616)
Austin Schuhad596222018-01-31 23:34:03 -0800617
Austin Schuhe18baff2018-10-20 17:40:42 -0700618# Java9 JDK.
Philipp Schrader6efe5732022-02-12 15:11:13 -0800619remote_java_repository(
Austin Schuhe18baff2018-10-20 17:40:42 -0700620 name = "openjdk_linux_archive",
Philipp Schrader6efe5732022-02-12 15:11:13 -0800621 exec_compatible_with = [
622 "@platforms//cpu:x86_64",
623 "@platforms//os:linux",
624 ],
625 prefix = "openjdk",
Austin Schuhe18baff2018-10-20 17:40:42 -0700626 sha256 = "f27cb933de4f9e7fe9a703486cf44c84bc8e9f138be0c270c9e5716a32367e87",
627 strip_prefix = "zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules",
628 urls = [
Austin Schuha5778ae2020-10-21 21:15:35 -0700629 "https://www.frc971.org/Build-Dependencies/zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules.tar.gz",
Austin Schuhe18baff2018-10-20 17:40:42 -0700630 ],
Philipp Schrader6efe5732022-02-12 15:11:13 -0800631 version = "9",
Austin Schuhe18baff2018-10-20 17:40:42 -0700632)
633
Austin Schuhf9724442018-10-28 20:30:21 -0700634local_repository(
635 name = "com_google_protobuf",
636 path = "third_party/protobuf",
Brian Silverman9c614bc2016-02-15 20:20:02 -0500637)
Austin Schuh10358f22019-01-21 20:25:11 -0800638
639local_repository(
640 name = "com_github_google_glog",
641 path = "third_party/google-glog",
642)
Austin Schuh6defdeb2019-01-21 21:00:30 -0800643
Alex Perrycb7da4b2019-08-28 19:35:56 -0700644local_repository(
645 name = "com_google_googletest",
646 path = "third_party/googletest",
647)
648
Austin Schuh6defdeb2019-01-21 21:00:30 -0800649# External dependency: Google Benchmark; has no Bazel build.
650local_repository(
651 name = "com_github_google_benchmark",
652 path = "third_party/google-benchmark",
Austin Schuhcbc17402019-01-21 21:00:30 -0800653)
Austin Schuh033df092019-01-21 19:46:48 -0800654
655local_repository(
656 name = "com_google_ceres_solver",
657 path = "third_party/ceres",
Austin Schuh70cc9552019-01-21 19:46:48 -0800658)
Austin Schuhf6b94632019-02-02 22:11:27 -0800659
Austin Schuhf093fa52019-06-23 20:47:23 -0700660http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800661 name = "ctre_phoenix_api_cpp_headers",
Austin Schuhf6b94632019-02-02 22:11:27 -0800662 build_file_content = """
663cc_library(
664 name = 'api-cpp',
665 visibility = ['//visibility:public'],
666 hdrs = glob(['ctre/phoenix/**/*.h']),
667)
668""",
Austin Schuhde605f12022-02-23 23:08:19 -0800669 sha256 = "ea4131d1809bc8ccbd72b15cc7a65bd6ebb89a65019afc6a336e2c92d91ec824",
Austin Schuhf6b94632019-02-02 22:11:27 -0800670 urls = [
Austin Schuhde605f12022-02-23 23:08:19 -0800671 "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 -0800672 ],
673)
674
Austin Schuhf093fa52019-06-23 20:47:23 -0700675http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800676 name = "ctre_phoenix_api_cpp_athena",
Austin Schuhf6b94632019-02-02 22:11:27 -0800677 build_file_content = """
Austin Schuhde605f12022-02-23 23:08:19 -0800678filegroup(
679 name = 'shared_libraries',
680 srcs = [
681 'linux/athena/shared/libCTRE_Phoenix.so',
682 ],
683 visibility = ['//visibility:public'],
684)
685
Austin Schuhf6b94632019-02-02 22:11:27 -0800686cc_library(
687 name = 'api-cpp',
688 visibility = ['//visibility:public'],
Austin Schuhde605f12022-02-23 23:08:19 -0800689 srcs = ['linux/athena/shared/libCTRE_Phoenix.so'],
Philipp Schraderdada1072020-11-24 11:34:46 -0800690 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
Austin Schuhf6b94632019-02-02 22:11:27 -0800691)
692""",
Austin Schuhde605f12022-02-23 23:08:19 -0800693 sha256 = "328130012a0fc1050c3ff09f30a2adf5106d15accc3d850b744fa60ec635a462",
Austin Schuhf6b94632019-02-02 22:11:27 -0800694 urls = [
Austin Schuhde605f12022-02-23 23:08:19 -0800695 "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 -0800696 ],
697)
698
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800699http_archive(
700 name = "ctre_phoenix_cci_headers",
Austin Schuhf6b94632019-02-02 22:11:27 -0800701 build_file_content = """
702cc_library(
703 name = 'cci',
704 visibility = ['//visibility:public'],
705 hdrs = glob(['ctre/phoenix/**/*.h']),
706)
707""",
Austin Schuhde605f12022-02-23 23:08:19 -0800708 sha256 = "b3332885c6afe082f9f67c2335086e89f705b6ac6c5101188616f81c58d3e49a",
Austin Schuhf6b94632019-02-02 22:11:27 -0800709 urls = [
Austin Schuhde605f12022-02-23 23:08:19 -0800710 "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 -0800711 ],
712)
713
Austin Schuhf093fa52019-06-23 20:47:23 -0700714http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800715 name = "ctre_phoenix_cci_athena",
Austin Schuhf6b94632019-02-02 22:11:27 -0800716 build_file_content = """
Austin Schuhde605f12022-02-23 23:08:19 -0800717filegroup(
718 name = 'shared_libraries',
719 srcs = [
720 'linux/athena/shared/libCTRE_PhoenixCCI.so',
721 ],
722 visibility = ['//visibility:public'],
723)
724
Austin Schuhf6b94632019-02-02 22:11:27 -0800725cc_library(
726 name = 'cci',
727 visibility = ['//visibility:public'],
Austin Schuhde605f12022-02-23 23:08:19 -0800728 srcs = ['linux/athena/shared/libCTRE_PhoenixCCI.so'],
Philipp Schraderdada1072020-11-24 11:34:46 -0800729 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
Austin Schuhf6b94632019-02-02 22:11:27 -0800730)
731""",
Austin Schuhde605f12022-02-23 23:08:19 -0800732 sha256 = "94812541734d7905774d97e10a97e9c79b5c37cba60d9b6b2d6e4bf3bbabc2fb",
Austin Schuhf6b94632019-02-02 22:11:27 -0800733 urls = [
Austin Schuhde605f12022-02-23 23:08:19 -0800734 "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 -0800735 ],
736)
Austin Schuheed14442019-03-23 14:42:46 -0700737
738http_archive(
Austin Schuhda9d0602019-09-15 17:29:38 -0700739 name = "build_bazel_rules_nodejs",
Philipp Schrader87277f42022-01-01 07:45:12 -0800740 sha256 = "cfc289523cf1594598215901154a6c2515e8bf3671fd708264a6f6aefe02bf39",
741 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 -0700742)
Austin Schuheed14442019-03-23 14:42:46 -0700743
Philipp Schrader87277f42022-01-01 07:45:12 -0800744load("@build_bazel_rules_nodejs//:index.bzl", "node_repositories", "yarn_install")
Austin Schuheed14442019-03-23 14:42:46 -0700745
746node_repositories()
747
748# Setup Bazel managed npm dependencies with the `yarn_install` rule.
Philipp Schrader87277f42022-01-01 07:45:12 -0800749
Austin Schuhda9d0602019-09-15 17:29:38 -0700750# To run yarn by hand, use:
751# bazel run @nodejs_linux_amd64//:bin/yarn -- list
752# I'm sure there is a better path, but that works...
Austin Schuheed14442019-03-23 14:42:46 -0700753yarn_install(
754 name = "npm",
Alex Perryeddc18c2022-01-29 16:22:41 -0800755 frozen_lockfile = True,
Austin Schuheed14442019-03-23 14:42:46 -0700756 package_json = "//:package.json",
Austin Schuhda9d0602019-09-15 17:29:38 -0700757 symlink_node_modules = False,
Austin Schuheed14442019-03-23 14:42:46 -0700758 yarn_lock = "//:yarn.lock",
759)
Austin Schuh4ac96a82019-08-14 20:24:23 -0700760
Philipp Schrader54047962022-02-16 21:05:11 -0800761load("@build_bazel_rules_nodejs//toolchains/esbuild:esbuild_repositories.bzl", "esbuild_repositories")
762
763esbuild_repositories(npm_repository = "npm")
764
Alex Perryb3168082022-01-22 13:36:13 -0800765http_archive(
766 name = "io_bazel_rules_webtesting",
Philipp Schrader54047962022-02-16 21:05:11 -0800767 patch_args = ["-p1"],
768 patches = [
769 "@//third_party:rules_webtesting/rules_webtesting.patch",
770 ],
Alex Perryb3168082022-01-22 13:36:13 -0800771 sha256 = "e9abb7658b6a129740c0b3ef6f5a2370864e102a5ba5ffca2cea565829ed825a",
772 urls = ["https://github.com/bazelbuild/rules_webtesting/releases/download/0.3.5/rules_webtesting.tar.gz"],
773)
774
Ravago Jones16809802021-11-18 20:40:03 -0800775http_archive(
776 name = "rules_rust",
777 sha256 = "531bdd470728b61ce41cf7604dc4f9a115983e455d46ac1d0c1632f613ab9fc3",
778 strip_prefix = "rules_rust-d8238877c0e552639d3e057aadd6bfcf37592408",
779 urls = [
780 # `main` branch as of 2021-08-23
781 "https://github.com/bazelbuild/rules_rust/archive/d8238877c0e552639d3e057aadd6bfcf37592408.tar.gz",
782 ],
783)
784
785load("@rules_rust//rust:repositories.bzl", "rust_repository_set")
786
787rust_repository_set(
788 name = "rust",
789 edition = "2021",
790 exec_triple = "x86_64-unknown-linux-gnu",
791 extra_target_triples = [
792 "arm-unknown-linux-gnueabi",
793 "armv7-unknown-linux-gnueabihf",
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800794 "aarch64-unknown-linux-gnu",
Ravago Jones16809802021-11-18 20:40:03 -0800795 ],
796 version = "1.56.1",
797)
798
Philipp Schrader54047962022-02-16 21:05:11 -0800799load("@io_bazel_rules_webtesting//web:repositories.bzl", "web_test_repositories")
800
801web_test_repositories()
802
803load("@io_bazel_rules_webtesting//web/versioned:browsers-0.3.3.bzl", "browser_repositories")
804
805browser_repositories(chromium = True)
806
Austin Schuh4ac96a82019-08-14 20:24:23 -0700807# Flatbuffers
808local_repository(
809 name = "com_github_google_flatbuffers",
810 path = "third_party/flatbuffers",
811)
James Kuszmaul7daef362019-12-31 18:28:17 -0800812
813http_file(
814 name = "sample_logfile",
815 downloaded_file_path = "log.fbs",
milind945708b2021-07-03 13:30:15 -0700816 sha256 = "45d1d19fb82786c476d3f21a8d62742abaeeedf4c16a00ec37ae350dcb61f1fc",
817 urls = ["https://www.frc971.org/Build-Dependencies/small_sample_logfile2.fbs"],
James Kuszmaul7daef362019-12-31 18:28:17 -0800818)
Brian Silvermand4260c72020-01-14 00:08:02 -0800819
James Kuszmaul9c128122021-03-22 22:24:36 -0700820http_archive(
James Kuszmaul531609d2020-02-18 17:12:23 -0800821 name = "drivetrain_replay",
James Kuszmaul9c128122021-03-22 22:24:36 -0700822 build_file_content = """
823filegroup(
824 name = "drivetrain_replay",
825 srcs = glob(["**/*.bfbs"]),
826 visibility = ["//visibility:public"],
827)
828 """,
829 sha256 = "115dcd2fe005cb9cad3325707aa7f4466390c43a08555edf331c06c108bdf692",
830 url = "https://www.frc971.org/Build-Dependencies/2021-03-20_drivetrain_spin_wheels.tar.gz",
James Kuszmaul531609d2020-02-18 17:12:23 -0800831)
832
milind-u7baf7342021-08-25 18:31:26 -0700833http_archive(
834 name = "superstructure_replay",
835 build_file_content = """
836filegroup(
837 name = "superstructure_replay",
838 srcs = glob(["**/*.bfbs"]),
839 visibility = ["//visibility:public"],
840)
841 """,
milind-u200b2762021-11-06 19:36:15 -0700842 sha256 = "2b9a3ecc83f2aba89a1909ae38fe51e6718a5b4d0e7c131846dfb2845df9cd19",
843 url = "https://www.frc971.org/Build-Dependencies/2021-10-03_superstructure_shoot_balls.tar.gz",
milind-u7baf7342021-08-25 18:31:26 -0700844)
845
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800846# OpenCV arm64 (for raspberry pi)
847http_archive(
848 name = "opencv_arm64",
849 build_file = "@//debian:opencv.BUILD",
850 sha256 = "d284fae46ca710cf24c81ff7ace34929773466bff38f365a80371bea3b36a2ed",
851 url = "https://www.frc971.org/Build-Dependencies/opencv_arm64.tar.gz",
852)
853
Brian Silvermand4260c72020-01-14 00:08:02 -0800854# OpenCV armhf (for raspberry pi)
855http_archive(
856 name = "opencv_armhf",
857 build_file = "@//debian:opencv.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800858 sha256 = "064165507bad1afa8f7b22961a9a9067b243abc70064d713d26b37bc8dc2bf56",
859 url = "https://www.frc971.org/Build-Dependencies/opencv_armhf_v4.tar.gz",
Brian Silvermand4260c72020-01-14 00:08:02 -0800860)
Brian Silvermand97a47c2020-01-16 00:47:53 -0800861
862http_archive(
863 name = "opencv_k8",
864 build_file = "@//debian:opencv.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800865 sha256 = "b730f5d0c8eb59411157b4e84bfdddd3a6fceed10b842716d9d1b74ad322ea14",
866 url = "https://www.frc971.org/Build-Dependencies/opencv_amd64_v3.tar.gz",
Brian Silvermand97a47c2020-01-16 00:47:53 -0800867)
Brian Silverman764945b2020-01-16 23:40:43 -0800868
869# Downloaded from:
870# https://github.com/halide/Halide/releases/download/release_2019_08_27/halide-linux-64-gcc53-800-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz
871# which is "Halide 2019/08/27" at https://github.com/halide/Halide/releases.
872http_archive(
873 name = "halide_k8",
874 build_file = "@//debian:halide.BUILD",
Brian Silvermanbe23ed62020-06-18 14:35:25 -0700875 sha256 = "c67185d50a99adba86f6b2cc43c7e2cf11bcdfba9052d05e764a89b456a50446",
Brian Silverman764945b2020-01-16 23:40:43 -0800876 strip_prefix = "halide/",
Austin Schuha5778ae2020-10-21 21:15:35 -0700877 url = "https://www.frc971.org/Build-Dependencies/halide-linux-64-gcc53-800-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz",
Brian Silverman764945b2020-01-16 23:40:43 -0800878)
879
880# Downloaded from:
Philipp Schraderf1bbf342022-02-05 14:30:15 -0800881# https://github.com/halide/Halide/releases/download/v8.0.0/halide-arm64-linux-64-trunk-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz
882# which is "Halide 8.0.0" at https://github.com/halide/Halide/releases.
883# The "2019/08/27" release was renamed as per the release notes:
884# https://github.com/halide/Halide/releases/tag/v8.0.0
885http_archive(
886 name = "halide_arm64",
887 build_file = "@//debian:halide.BUILD",
888 sha256 = "97b3e54565cd9df52abdd6452f3720ffd38861524154d74ae3d20dc949ed2a63",
889 strip_prefix = "halide/",
890 url = "https://www.frc971.org/Build-Dependencies/halide-arm64-linux-64-trunk-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz",
891)
892
893# Downloaded from:
Brian Silverman764945b2020-01-16 23:40:43 -0800894# https://github.com/halide/Halide/releases/download/release_2019_08_27/halide-arm32-linux-32-trunk-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz
895# which is "Halide 2019/08/27" at https://github.com/halide/Halide/releases.
896http_archive(
897 name = "halide_armhf",
898 build_file = "@//debian:halide.BUILD",
Brian Silvermanbe23ed62020-06-18 14:35:25 -0700899 sha256 = "10564c559c9e04a173823413916d05fadd6e697d91bab21ddc5041190fa8f0f0",
Brian Silverman764945b2020-01-16 23:40:43 -0800900 strip_prefix = "halide/",
Austin Schuha5778ae2020-10-21 21:15:35 -0700901 url = "https://www.frc971.org/Build-Dependencies/halide-arm32-linux-32-trunk-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz",
Brian Silverman764945b2020-01-16 23:40:43 -0800902)
Brian Silverman4fe44ea2020-02-02 12:56:42 -0800903
904# Downloaded from:
Austin Schuh085eab92020-11-26 13:54:51 -0800905# 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 -0800906http_archive(
907 name = "opencv_contrib_nonfree_amd64",
908 build_file = "@//debian:opencv_python.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800909 sha256 = "a1dfa0486db367594510c0c799ec7481247dc86e651b69008806d875ab731471",
Brian Silverman4fe44ea2020-02-02 12:56:42 -0800910 type = "zip",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800911 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 -0800912)
Tyler Chatow60671d32020-02-26 19:49:30 -0800913
914http_archive(
Austin Schuh2e28d872022-02-19 18:25:57 -0800915 name = "osqp_amd64",
916 build_file = "@//debian:osqp_python.BUILD",
917 sha256 = "8003fc363f707daa46fef3af548e6a580372154d6cd49a7bf2f569ba5f807d15",
918 type = "zip",
919 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",
920)
921
922http_archive(
923 name = "qdldl_amd64",
924 build_file = "@//debian:qdldl_python.BUILD",
925 sha256 = "2c09f4b1a1c6f3a0579af004443417e084491e7c844ff9fb73170bb5d43f70b5",
926 type = "zip",
927 url = "https://files.pythonhosted.org/packages/9e/26/ccb4f065b40c1e9ff35ee66970d4fa97dd2fe221b846da2110eb8cd6c3f4/qdldl-0.1.5.post0-cp39-cp39-manylinux2014_x86_64.whl",
928)
929
930http_archive(
Tyler Chatow60671d32020-02-26 19:49:30 -0800931 name = "gstreamer_k8",
932 build_file = "@//debian:gstreamer.BUILD",
933 sha256 = "4d74d4a82f7a73dc9fe9463d5fae409b17845eef7cd64ef9c4c4553816c53589",
Austin Schuha5778ae2020-10-21 21:15:35 -0700934 url = "https://www.frc971.org/Build-Dependencies/gstreamer_amd64.tar.gz",
Tyler Chatow60671d32020-02-26 19:49:30 -0800935)
936
937http_archive(
938 name = "gstreamer_armhf",
939 build_file = "@//debian:gstreamer.BUILD",
940 sha256 = "c5ac4c604952c274a50636e244f0d091bd1de302032446f24f0e9e03ae9c76f7",
Austin Schuha5778ae2020-10-21 21:15:35 -0700941 url = "https://www.frc971.org/Build-Dependencies/gstreamer_armhf.tar.gz",
Tyler Chatow60671d32020-02-26 19:49:30 -0800942)
James Kuszmaulc91e4402020-05-10 18:47:20 -0700943
944# Downloaded from:
945# https://files.pythonhosted.org/packages/64/a7/45e11eebf2f15bf987c3bc11d37dcc838d9dc81250e67e4c5968f6008b6c/Jinja2-2.11.2.tar.gz
946http_archive(
947 name = "python_jinja2",
948 build_file = "@//debian:python_jinja2.BUILD",
949 sha256 = "89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0",
950 strip_prefix = "Jinja2-2.11.2",
Austin Schuha5778ae2020-10-21 21:15:35 -0700951 url = "https://www.frc971.org/Build-Dependencies/Jinja2-2.11.2.tar.gz",
James Kuszmaulc91e4402020-05-10 18:47:20 -0700952)
953
954# Downloaded from:
955# https://files.pythonhosted.org/packages/b9/2e/64db92e53b86efccfaea71321f597fa2e1b2bd3853d8ce658568f7a13094/MarkupSafe-1.1.1.tar.gz
956http_archive(
957 name = "python_markupsafe",
958 build_file = "@//debian:python_markupsafe.BUILD",
959 sha256 = "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b",
960 strip_prefix = "MarkupSafe-1.1.1",
Austin Schuha5778ae2020-10-21 21:15:35 -0700961 url = "https://www.frc971.org/Build-Dependencies/MarkupSafe-1.1.1.tar.gz",
James Kuszmaulc91e4402020-05-10 18:47:20 -0700962)
Austin Schuh023e7f52020-08-18 21:24:37 -0700963
Brian Silvermanf59fe3f2020-09-22 21:04:09 -0700964# //debian:lzma_amd64
965http_archive(
966 name = "lzma_amd64",
967 build_file_content = """
968cc_library(
969 name = "lib",
970 srcs = [
971 "usr/lib/x86_64-linux-gnu/liblzma.a",
972 ],
973 hdrs = glob([
974 "usr/include/lzma/*.h",
975 "usr/include/*.h",
976 ]),
977 strip_include_prefix = "usr/include",
978 visibility = ["//visibility:public"],
979)
980""",
981 sha256 = "e0ccaa7f793e44638e9f89570e00f146073a98a5928e0b547146c8184488bb19",
Austin Schuha5778ae2020-10-21 21:15:35 -0700982 urls = ["https://www.frc971.org/Build-Dependencies/lzma_amd64.tar.gz"],
Brian Silvermanf59fe3f2020-09-22 21:04:09 -0700983)
984
985# //debian:lzma_arm64
986http_archive(
987 name = "lzma_arm64",
988 build_file_content = """
989cc_library(
990 name = "lib",
991 srcs = [
992 "usr/lib/aarch64-linux-gnu/liblzma.a",
993 ],
994 hdrs = glob([
995 "usr/include/lzma/*.h",
996 "usr/include/*.h",
997 ]),
998 strip_include_prefix = "usr/include",
999 visibility = ["//visibility:public"],
1000)
1001""",
1002 sha256 = "18db35669ee49a5f8324a344071dd4ab553e716f385fb75747b909bd1de959f5",
Austin Schuha5778ae2020-10-21 21:15:35 -07001003 urls = ["https://www.frc971.org/Build-Dependencies/lzma_arm64.tar.gz"],
Brian Silvermanf59fe3f2020-09-22 21:04:09 -07001004)
James Kuszmaul2cffe852021-10-27 20:17:49 -07001005
1006local_repository(
1007 name = "snappy",
1008 path = "third_party/snappy",
1009)
Philipp Schrader73e56602021-12-06 21:37:30 -08001010
1011http_archive(
1012 name = "io_bazel_rules_go",
Philipp Schrader039f5c32022-01-20 22:30:01 -08001013 patch_args = [
1014 "-p1",
1015 ],
1016 patches = [
1017 "@//third_party:rules_go/0001-Disable-warnings-for-external-repositories.patch",
1018 ],
Philipp Schrader73e56602021-12-06 21:37:30 -08001019 sha256 = "2b1641428dff9018f9e85c0384f03ec6c10660d935b750e3fa1492a281a53b0f",
1020 urls = [
1021 "https://www.frc971.org/Build-Dependencies/rules_go-v0.29.0.zip",
1022 "https://github.com/bazelbuild/rules_go/releases/download/v0.29.0/rules_go-v0.29.0.zip",
1023 ],
1024)
1025
Philipp Schrader37fdbb62021-12-18 00:30:37 -08001026http_archive(
1027 name = "bazel_gazelle",
1028 sha256 = "de69a09dc70417580aabf20a28619bb3ef60d038470c7cf8442fafcf627c21cb",
1029 urls = [
1030 "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz",
1031 "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz",
1032 ],
1033)
1034
Philipp Schrader73e56602021-12-06 21:37:30 -08001035load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
1036
1037go_rules_dependencies()
1038
1039go_register_toolchains(version = "1.17.1")
Philipp Schrader37fdbb62021-12-18 00:30:37 -08001040
1041load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
1042load("//:go_deps.bzl", "go_dependencies")
1043load("//tools/go:mirrored_go_deps.bzl", "mirrored_go_dependencies")
1044
1045mirrored_go_dependencies()
1046
1047# gazelle:repository_macro go_deps.bzl%go_dependencies
1048go_dependencies()
1049
1050gazelle_dependencies()
Philipp Schradercc016b32021-12-30 08:59:58 -08001051
1052http_archive(
1053 name = "com_github_bazelbuild_buildtools",
1054 sha256 = "44a6e5acc007e197d45ac3326e7f993f0160af9a58e8777ca7701e00501c0857",
1055 strip_prefix = "buildtools-4.2.4",
1056 urls = [
1057 "https://github.com/bazelbuild/buildtools/archive/refs/tags/4.2.4.tar.gz",
1058 ],
1059)