blob: 96aa929b3bd6082e359084dd8f55e09bf72adbc9 [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")
Brian Silverman7bda6212018-08-05 11:42:11 -07005load(
6 "//debian:python.bzl",
7 python_debs = "files",
8)
9load(
Philipp Schraderd0e33a42022-01-22 21:55:15 -080010 "//debian:apache2.bzl",
11 apache2_debs = "files",
12)
13load(
Brian Silverman7bda6212018-08-05 11:42:11 -070014 "//debian:patch.bzl",
15 patch_debs = "files",
16)
Brian Silverman7297c0c2018-08-05 13:43:00 -070017load(
Austin Schuh71f6fa72019-08-31 18:23:02 -070018 "//debian:rsync.bzl",
19 rsync_debs = "files",
20)
21load(
22 "//debian:ssh.bzl",
23 ssh_debs = "files",
24)
25load(
Brian Silverman7297c0c2018-08-05 13:43:00 -070026 "//debian:pandoc.bzl",
27 pandoc_debs = "files",
28)
Brian Silverman4f6ba442018-08-05 14:34:58 -070029load(
30 "//debian:libusb.bzl",
31 libusb_debs = "files",
32)
Brian Silvermanb80dc9f2018-08-05 14:59:24 -070033load(
34 "//debian:mingw_compiler.bzl",
35 mingw_compiler_debs = "files",
36)
Brian Silverman6470f442018-08-05 12:08:16 -070037load(
38 "//debian:patchelf.bzl",
39 patchelf_debs = "files",
40)
41load(
42 "//debian:matplotlib.bzl",
43 matplotlib_debs = "files",
44)
Brian Silverman50b9ac02018-08-12 13:24:10 -070045load(
46 "//debian:arm_frc_gnueabi_deps.bzl",
47 arm_frc_gnueabi_deps_debs = "files",
48)
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -070049load(
50 "//debian:python_gtk.bzl",
51 python_gtk_debs = "files",
52)
Brian Silvermand4260c72020-01-14 00:08:02 -080053load(
54 "//debian:opencv_armhf.bzl",
55 opencv_armhf_debs = "files",
56)
Brian Silvermand97a47c2020-01-16 00:47:53 -080057load(
58 "//debian:opencv_amd64.bzl",
59 opencv_amd64_debs = "files",
60)
Tyler Chatow60671d32020-02-26 19:49:30 -080061load(
62 "//debian:gstreamer_amd64.bzl",
James Kuszmaulc91e4402020-05-10 18:47:20 -070063 gstreamer_amd64_debs = "files",
Tyler Chatow60671d32020-02-26 19:49:30 -080064)
65load(
66 "//debian:gstreamer_armhf.bzl",
James Kuszmaulc91e4402020-05-10 18:47:20 -070067 gstreamer_armhf_debs = "files",
Tyler Chatow60671d32020-02-26 19:49:30 -080068)
Austin Schuh023e7f52020-08-18 21:24:37 -070069load(
70 "//debian:m4.bzl",
71 m4_debs = "files",
72)
Brian Silvermanf59fe3f2020-09-22 21:04:09 -070073load(
74 "//debian:lzma_amd64.bzl",
75 lzma_amd64_debs = "files",
76)
77load(
78 "//debian:lzma_arm64.bzl",
79 lzma_arm64_debs = "files",
80)
Philipp Schrader0e19c602018-03-07 21:07:22 -080081load("//debian:packages.bzl", "generate_repositories_for_debs")
82
83generate_repositories_for_debs(python_debs)
Brian Silverman7bda6212018-08-05 11:42:11 -070084
Austin Schuh71f6fa72019-08-31 18:23:02 -070085generate_repositories_for_debs(rsync_debs)
86
87generate_repositories_for_debs(ssh_debs)
88
Philipp Schraderd0e33a42022-01-22 21:55:15 -080089generate_repositories_for_debs(apache2_debs)
90
Brian Silverman7bda6212018-08-05 11:42:11 -070091generate_repositories_for_debs(patch_debs)
92
Brian Silverman7297c0c2018-08-05 13:43:00 -070093generate_repositories_for_debs(pandoc_debs)
94
Brian Silverman4f6ba442018-08-05 14:34:58 -070095generate_repositories_for_debs(libusb_debs)
96
Brian Silvermanb80dc9f2018-08-05 14:59:24 -070097generate_repositories_for_debs(mingw_compiler_debs)
98
Brian Silverman6470f442018-08-05 12:08:16 -070099generate_repositories_for_debs(patchelf_debs)
100
101generate_repositories_for_debs(matplotlib_debs)
102
Brian Silverman50b9ac02018-08-12 13:24:10 -0700103generate_repositories_for_debs(arm_frc_gnueabi_deps_debs)
104
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -0700105generate_repositories_for_debs(python_gtk_debs)
106
Brian Silvermand4260c72020-01-14 00:08:02 -0800107generate_repositories_for_debs(opencv_armhf_debs)
108
Brian Silvermand97a47c2020-01-16 00:47:53 -0800109generate_repositories_for_debs(opencv_amd64_debs)
110
Tyler Chatow60671d32020-02-26 19:49:30 -0800111generate_repositories_for_debs(gstreamer_amd64_debs)
112
113generate_repositories_for_debs(gstreamer_armhf_debs)
114
Austin Schuh023e7f52020-08-18 21:24:37 -0700115generate_repositories_for_debs(m4_debs)
116
Brian Silvermanf59fe3f2020-09-22 21:04:09 -0700117generate_repositories_for_debs(lzma_amd64_debs)
118
119generate_repositories_for_debs(lzma_arm64_debs)
120
Brian Silvermanc0309a02022-01-01 23:57:03 -0800121local_repository(
122 name = "com_grail_bazel_toolchain",
123 path = "third_party/bazel-toolchain",
124)
125
Brian Silverman4c7235a2021-11-17 19:04:37 -0800126load("@com_grail_bazel_toolchain//toolchain:rules.bzl", "llvm", "llvm_toolchain")
127
128llvm_version = "13.0.0"
129
130llvm(
131 name = "llvm_k8",
132 distribution = "clang+llvm-%s-x86_64-linux-gnu-ubuntu-16.04.tar.xz" % llvm_version,
133 llvm_version = llvm_version,
134)
135
136llvm(
137 name = "llvm_armv7",
138 distribution = "clang+llvm-%s-armv7a-linux-gnueabihf.tar.xz" % llvm_version,
139 llvm_version = llvm_version,
140)
141
142llvm_conlyopts = [
143 "-std=gnu99",
144]
145
146llvm_copts = [
147 "-D__STDC_FORMAT_MACROS",
148 "-D__STDC_CONSTANT_MACROS",
149 "-D__STDC_LIMIT_MACROS",
150 "-D_FILE_OFFSET_BITS=64",
151 "-fmessage-length=100",
152 "-fmacro-backtrace-limit=0",
153 "-Wextra",
154 "-Wpointer-arith",
155 "-Wstrict-aliasing",
156 "-Wcast-qual",
157 "-Wcast-align",
158 "-Wwrite-strings",
159 "-Wtype-limits",
160 "-Wsign-compare",
161 "-Wformat=2",
162 "-Werror",
163 "-ggdb3",
164 "-DAOS_DEBUG=0",
165]
166
167llvm_cxxopts = [
168 "-std=gnu++17",
169]
170
171llvm_dbg_copts = [
172 "-DAOS_DEBUG=1",
173]
Brian Silvermanc0309a02022-01-01 23:57:03 -0800174
175llvm_toolchain(
176 name = "llvm_toolchain",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800177 additional_target_compatible_with = {
178 "linux-armv7": [
179 "@//tools/platforms/hardware:raspberry_pi",
180 ],
181 },
182 conlyopts = {
183 "linux-x86_64": llvm_conlyopts,
184 "linux-armv7": llvm_conlyopts,
185 },
186 copts = {
187 "linux-x86_64": llvm_copts,
188 "linux-armv7": llvm_copts,
189 },
190 cxxopts = {
191 "linux-x86_64": llvm_cxxopts,
192 "linux-armv7": llvm_cxxopts,
193 },
194 dbg_copts = {
195 "linux-x86_64": llvm_dbg_copts,
196 "linux-armv7": llvm_cxxopts,
197 },
198 llvm_version = llvm_version,
199 standard_libraries = {
200 "linux-x86_64": "libstdc++-10",
201 "linux-armv7": "libstdc++-10",
202 },
203 static_libstdcxx = False,
Brian Silvermanc0309a02022-01-01 23:57:03 -0800204 sysroot = {
205 "linux-x86_64": "@amd64_debian_sysroot//:sysroot_files",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800206 "linux-armv7": "@armhf_debian_rootfs//:sysroot_files",
207 },
208 target_toolchain_roots = {
209 "linux-x86_64": "@llvm_k8//",
210 "linux-armv7": "@llvm_armv7//",
211 },
212 toolchain_roots = {
213 "linux-x86_64": "@llvm_k8//",
Brian Silvermanc0309a02022-01-01 23:57:03 -0800214 },
215)
216
Brian Silverman4c7235a2021-11-17 19:04:37 -0800217load("@llvm_toolchain//:toolchains.bzl", "llvm_register_toolchains")
218
219llvm_register_toolchains()
220
Philipp Schraderdada1072020-11-24 11:34:46 -0800221register_toolchains(
Philipp Schraderdada1072020-11-24 11:34:46 -0800222 "//tools/cpp:cc-toolchain-roborio",
223 "//tools/cpp:cc-toolchain-cortex-m4f",
Austin Schuh0a96ea32022-01-01 22:29:30 -0800224 "//tools/cpp:cc-toolchain-rp2040",
Philipp Schraderdada1072020-11-24 11:34:46 -0800225 # Find a good way to select between these two M4F toolchains.
226 #"//tools/cpp:cc-toolchain-cortex-m4f-k22",
Philipp Schraderf198a152021-12-05 09:18:23 -0800227 "//tools/python:python_toolchain",
Philipp Schrader73e56602021-12-06 21:37:30 -0800228 "//tools/go:noop_go_toolchain",
Ravago Jones16809802021-11-18 20:40:03 -0800229 "//tools/rust:rust-toolchain-roborio",
230 "//tools/rust:noop_rust_toolchain",
Philipp Schraderdada1072020-11-24 11:34:46 -0800231)
232
Philipp Schrader37fdbb62021-12-18 00:30:37 -0800233load("//tools/ci:repo_defs.bzl", "ci_configure")
234
235ci_configure(name = "ci_configure")
236
Philipp Schraderdada1072020-11-24 11:34:46 -0800237http_archive(
238 name = "platforms",
239 sha256 = "3c4057c53b64dd3f2c753e0a80bbb6ccb29fb437910200c911dd51454baf619b",
Philipp Schraderdada1072020-11-24 11:34:46 -0800240 strip_prefix = "platforms-10b4d2bdde25ea1e66c02c3f83a6d921000a7272",
Austin Schuh4c3b4f02020-12-21 11:51:42 -0800241 url = "https://www.frc971.org/Build-Dependencies/platforms_10b4d2bdde25ea1e66c02c3f83a6d921000a7272.zip",
Philipp Schraderdada1072020-11-24 11:34:46 -0800242)
243
244http_archive(
245 name = "bazel_skylib",
Austin Schuh4c3b4f02020-12-21 11:51:42 -0800246 sha256 = "1c531376ac7e5a180e0237938a2536de0c54d93f5c278634818e0efc952dd56c",
Philipp Schraderdada1072020-11-24 11:34:46 -0800247 urls = [
248 "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz",
249 "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz",
250 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800251)
252
Austin Schuhf093fa52019-06-23 20:47:23 -0700253http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700254 name = "python_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700255 build_file = "@//debian:python.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800256 sha256 = "048c51872f9c3853ae4e961c710533f477194a3f170b454e8d582f32a83e90f5",
257 url = "https://www.frc971.org/Build-Dependencies/python-6.tar.gz",
Philipp Schrader9b1790e2018-03-10 20:21:30 -0800258)
259
Austin Schuh7466fe12020-12-29 23:01:47 -0800260http_archive(
261 name = "com_github_stevengj_nlopt",
262 build_file = "@//debian:nlopt.BUILD",
263 patch_args = ["-p1"],
264 patches = ["//debian:nlopt.patch"],
265 sha256 = "2d65815b21c30813499fe19c63947f7da56b10c0d4a459dce05417899b43e461",
266 strip_prefix = "nlopt-496be736b8b249273838b891f4c8ca3669551127",
267 url = "https://www.frc971.org/Build-Dependencies/nlopt-496be736b8b249273838b891f4c8ca3669551127.zip",
268)
269
Austin Schuhd57edc42019-09-21 17:52:38 -0700270local_repository(
271 name = "com_google_absl",
272 path = "third_party/abseil",
Austin Schuh36244a12019-09-21 17:52:38 -0700273)
274
Alex Perrycb7da4b2019-08-28 19:35:56 -0700275local_repository(
276 name = "org_tuxfamily_eigen",
277 path = "third_party/eigen",
278)
279
James Kuszmaulbc02ff42021-01-15 20:41:30 -0800280local_repository(
281 name = "com_github_rawrtc_re",
282 path = "third_party/rawrtc/re",
283)
284
285local_repository(
286 name = "com_github_rawrtc_rew",
287 path = "third_party/rawrtc/rew",
288)
289
290local_repository(
291 name = "com_github_rawrtc_usrsctp",
292 path = "third_party/rawrtc/usrsctp",
293)
294
295local_repository(
296 name = "com_github_rawrtc_rawrtc_common",
297 path = "third_party/rawrtc/rawrtc-common",
298)
299
300local_repository(
301 name = "com_github_rawrtc_rawrtc_data_channel",
302 path = "third_party/rawrtc/rawrtc-data-channel",
303)
304
305local_repository(
306 name = "com_github_rawrtc_rawrtc",
307 path = "third_party/rawrtc/rawrtc",
308)
309
Austin Schuh0ca51f32020-12-25 21:51:45 -0800310http_archive(
311 name = "boringssl",
312 patch_args = ["-p1"],
313 patches = ["//debian:boringssl.patch"],
314 sha256 = "bcab08a22c28f5322316542aa2c3a9ef0a9f9fde9be22d489cee574867b24675",
315 strip_prefix = "boringssl-613fe9dbe74b58d6aaaf0d22fe57dccd964c7413",
316 urls = ["https://www.frc971.org/Build-Dependencies/boringssl-613fe9dbe74b58d6aaaf0d22fe57dccd964c7413.zip"],
317)
318
Austin Schuh36244a12019-09-21 17:52:38 -0700319# C++ rules for Bazel.
320http_archive(
321 name = "rules_cc",
Austin Schuh968174a2021-03-31 20:04:01 -0700322 sha256 = "ed36cc7a6f46b7c28ab4009db4a37e350e1ba367446b0886bcc9cdc1df92752e",
323 strip_prefix = "rules_cc-608c7b605fb844a20e96a3eddc9b49ad2542adab",
Austin Schuh36244a12019-09-21 17:52:38 -0700324 urls = [
Austin Schuh968174a2021-03-31 20:04:01 -0700325 "https://www.frc971.org/Build-Dependencies/rules_cc-608c7b605fb844a20e96a3eddc9b49ad2542adab.zip",
Austin Schuh36244a12019-09-21 17:52:38 -0700326 ],
327)
Austin Schuhd57edc42019-09-21 17:52:38 -0700328
James Kuszmaulf4bf9fe2021-05-10 22:58:24 -0700329# Note that rules_python is currently only imported to make googletest happy.
330# TODO: add frc971.org URL
331http_archive(
332 name = "rules_python",
Philipp Schrader530e3ae2021-12-04 20:13:16 -0800333 sha256 = "895fa3b03898d7708eb50ed34dcfb71c07866433df6912a6ff4f4fb473048f99",
334 strip_prefix = "rules_python-2b1d6beb4d5d8f59d629597e30e9aa519182d9a9",
335 url = "https://github.com/bazelbuild/rules_python/archive/2b1d6beb4d5d8f59d629597e30e9aa519182d9a9.tar.gz",
James Kuszmaulf4bf9fe2021-05-10 22:58:24 -0700336)
337
Austin Schuh4759ffc2015-10-07 20:39:56 -0700338new_local_repository(
Brian Silverman7bda6212018-08-05 11:42:11 -0700339 name = "usr_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700340 build_file = "@//debian:usr.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700341 path = "/usr",
Austin Schuh4759ffc2015-10-07 20:39:56 -0700342)
343
Austin Schuh1f9aeb42015-11-12 23:34:49 -0800344new_git_repository(
Brian Silverman7bda6212018-08-05 11:42:11 -0700345 name = "slycot_repo",
Tyler Chatow2584bb12018-10-27 20:48:35 -0700346 build_file = "@//debian:slycot.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700347 commit = "5af5f283cb23cbe23c4dfea4d5e56071bdbd6e70",
348 remote = "https://github.com/avventi/Slycot.git",
Austin Schuh1f9aeb42015-11-12 23:34:49 -0800349)
350
Austin Schuh9950f682021-11-06 15:27:58 -0700351# TODO(austin): https://github.com/wpilibsuite/roborio-toolchain/releases/tag/v2022-1
Austin Schuhf093fa52019-06-23 20:47:23 -0700352http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700353 name = "arm_frc_linux_gnueabi_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700354 build_file = "@//tools/cpp/arm-frc-linux-gnueabi:arm-frc-linux-gnueabi.BUILD",
Austin Schuhe991fe22020-11-18 16:53:39 -0800355 patches = ["//debian:fts.patch"],
James Kuszmaul3ae42262019-11-08 12:33:41 -0800356 sha256 = "043a5b047c2af9cf80d146d8327b588264c98a01e0f3f41e3564dd2bbbc95c0e",
357 strip_prefix = "frc2020/roborio/",
Austin Schuha5778ae2020-10-21 21:15:35 -0700358 url = "https://www.frc971.org/Build-Dependencies/FRC-2020-Linux-Toolchain-7.3.0.tar.gz",
Austin Schuh55139fe2015-10-14 23:55:24 -0700359)
Austin Schuhe456f152015-11-27 13:44:39 -0800360
Brian Silverman4c7235a2021-11-17 19:04:37 -0800361# 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
362# The following files and folders are removed to make bazel happy with it:
Brian Silvermanbf4c1312020-01-12 11:35:45 -0800363# usr/share/ca-certificates
Brian Silverman4c7235a2021-11-17 19:04:37 -0800364# lib/systemd/system/system-systemd\\x2dcryptsetup.slice
Brian Silvermanbf4c1312020-01-12 11:35:45 -0800365http_archive(
366 name = "armhf_debian_rootfs",
Brian Silverman60606c92020-01-15 22:45:04 -0800367 build_file = "@//:compilers/debian_rootfs.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800368 sha256 = "734f26a0cfc943cc3cae88412536186adfc4ed148cc167e6ffb298497c686280",
369 url = "https://www.frc971.org/Build-Dependencies/2021-10-30-raspios-bullseye-armhf-lite_rootfs.tar.bz2",
Brian Silvermanbf4c1312020-01-12 11:35:45 -0800370)
371
Brian Silverman60606c92020-01-15 22:45:04 -0800372# Created with:
373# `debootstrap buster buster_sysroot`
374# and then chrooting in and running:
375# apt install libc6-dev libstdc++-7-dev
Brian Silverman4c7235a2021-11-17 19:04:37 -0800376# removing the apt cache,
Brian Silverman60606c92020-01-15 22:45:04 -0800377# and then tarring up the result
378http_archive(
379 name = "amd64_debian_sysroot",
380 build_file = "@//:compilers/debian_rootfs.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800381 sha256 = "5e10f4cac85a98a39da1716b218bc05fff4666c61cc471a7df27876710bc86d2",
382 url = "https://www.frc971.org/Build-Dependencies/2022-01-06-debian-bullseye_rootfs.tar.bz2",
Brian Silverman60606c92020-01-15 22:45:04 -0800383)
384
Austin Schuhe456f152015-11-27 13:44:39 -0800385new_git_repository(
Brian Silverman7bda6212018-08-05 11:42:11 -0700386 name = "python_gflags_repo",
Tyler Chatow2584bb12018-10-27 20:48:35 -0700387 build_file = "@//debian:gflags.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700388 commit = "41c4571864f0db5823e07715317e7388e94faabc",
389 remote = "https://github.com/gflags/python-gflags.git",
Austin Schuhe456f152015-11-27 13:44:39 -0800390)
391
392bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700393 name = "python-gflags",
394 actual = "@python_gflags_repo//:gflags",
Austin Schuhe456f152015-11-27 13:44:39 -0800395)
396
Brian Silverman16a923c2018-10-31 19:40:51 -0700397local_repository(
398 name = "com_github_gflags_gflags",
399 path = "third_party/gflags",
400)
401
Brian Silverman8d644032020-02-02 12:15:43 -0800402# Downloaded from:
403# https://pypi.python.org/packages/source/g/glog/glog-0.1.tar.gz
Austin Schuhf093fa52019-06-23 20:47:23 -0700404http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700405 name = "python_glog_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700406 build_file = "@//debian:glog.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700407 sha256 = "953fd80122c48023d1148e6d1bda2763fcab59c8a81682bb298238a5935547b0",
408 strip_prefix = "glog-0.1",
Austin Schuha5778ae2020-10-21 21:15:35 -0700409 url = "https://www.frc971.org/Build-Dependencies/glog-0.1.tar.gz",
Austin Schuhe456f152015-11-27 13:44:39 -0800410)
411
412bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700413 name = "python-glog",
414 actual = "@python_glog_repo//:glog",
Austin Schuhe456f152015-11-27 13:44:39 -0800415)
Brian Silvermancee260a2015-12-24 16:27:51 -0800416
Brian Silverman82a12b92019-01-19 21:52:10 -0800417# Generated with:
Austin Schuh9950f682021-11-06 15:27:58 -0700418# git fetch https://github.com/wpilibsuite/ni-libraries main
419# git archive --output=allwpilib_ni-libraries_987ab82a80232691d8e21c57c9f13d35d2c31f24.tar.gz --format=tar.gz 987ab82a80232691d8e21c57c9f13d35d2c31f24
Austin Schuhf093fa52019-06-23 20:47:23 -0700420http_archive(
James Kuszmaulc9c46b32019-12-08 21:10:00 -0800421 name = "allwpilib_ni_libraries",
422 build_file = "@//debian:ni-libraries.BUILD",
Austin Schuh9950f682021-11-06 15:27:58 -0700423 sha256 = "f57dfc76ee3d8680aba8cfa6077e20cd47a2e5b2badd918ec3095d2c6300588f",
424 url = "https://www.frc971.org/Build-Dependencies/allwpilib_ni-libraries_987ab82a80232691d8e21c57c9f13d35d2c31f24.tar.gz",
Brian Silverman82a12b92019-01-19 21:52:10 -0800425)
426
Brian Silverman3fca9d72016-02-20 02:32:51 -0500427# Downloaded from:
428# https://pypi.python.org/packages/source/s/six/six-1.10.0.tar.gz
Austin Schuhf093fa52019-06-23 20:47:23 -0700429http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700430 name = "six_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700431 build_file = "@//debian:six.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700432 sha256 = "105f8d68616f8248e24bf0e9372ef04d3cc10104f1980f54d57b2ce73a5ad56a",
433 strip_prefix = "six-1.10.0",
Austin Schuha5778ae2020-10-21 21:15:35 -0700434 url = "https://www.frc971.org/Build-Dependencies/six-1.10.0.tar.gz",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500435)
436
437# For protobuf. Don't use these.
438bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700439 name = "six",
440 actual = "@six_repo//:six",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500441)
Brian Silverman7bda6212018-08-05 11:42:11 -0700442
Brian Silverman3fca9d72016-02-20 02:32:51 -0500443bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700444 name = "gtest",
445 actual = "//third_party/googletest:googlemock",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500446)
Brian Silverman7bda6212018-08-05 11:42:11 -0700447
Brian Silverman3fca9d72016-02-20 02:32:51 -0500448bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700449 name = "gtest_main",
450 actual = "//third_party/googletest:googlemock_main",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500451)
452
Brian Silverman4aa83042018-01-05 12:47:31 -0800453# Recompressed from libusb-1.0.21.7z.
454http_file(
Brian Silverman7bda6212018-08-05 11:42:11 -0700455 name = "libusb_1_0_windows",
Austin Schuh4ac96a82019-08-14 20:24:23 -0700456 downloaded_file_path = "libusb-1.0.21-windows.tar.xz",
Brian Silverman7bda6212018-08-05 11:42:11 -0700457 sha256 = "fc2ba03992f343aabbaf9eb90559c6e00cdc6a2bd914d7cebea85857d5244015",
Austin Schuha5778ae2020-10-21 21:15:35 -0700458 urls = ["https://www.frc971.org/Build-Dependencies/libusb-1.0.21-windows.tar.xz"],
Brian Silverman4aa83042018-01-05 12:47:31 -0800459)
Brian Silvermand3ad1652018-02-18 22:16:29 -0500460
461# The data tarball of the same-named Debian package.
Austin Schuhf093fa52019-06-23 20:47:23 -0700462http_archive(
Brian Silvermand3ad1652018-02-18 22:16:29 -0500463 name = "f2c",
Austin Schuhf093fa52019-06-23 20:47:23 -0700464 build_file = "@//debian:f2c.BUILD",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500465 sha256 = "2c677437f8217a2e2b23e41b33995d0571644fc1bea46de858f8913a5053e3f4",
Austin Schuha5778ae2020-10-21 21:15:35 -0700466 url = "https://www.frc971.org/Build-Dependencies/f2c_20100827-1_amd64.xz.tar.xz",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500467)
468
469# Downloaded from http://www.netlib.org/clapack/.
Austin Schuhf093fa52019-06-23 20:47:23 -0700470http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700471 name = "clapack",
Austin Schuhf093fa52019-06-23 20:47:23 -0700472 build_file = "@//debian:clapack.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700473 sha256 = "6dc4c382164beec8aaed8fd2acc36ad24232c406eda6db462bd4c41d5e455fac",
474 strip_prefix = "CLAPACK-3.2.1/",
Austin Schuha5778ae2020-10-21 21:15:35 -0700475 url = "https://www.frc971.org/Build-Dependencies/clapack-3.2.1.tgz",
Brian Silverman7bda6212018-08-05 11:42:11 -0700476)
477
Austin Schuhf093fa52019-06-23 20:47:23 -0700478http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700479 name = "patch",
Austin Schuhf093fa52019-06-23 20:47:23 -0700480 build_file = "@//debian:patch.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700481 sha256 = "b5ce139648a2e04f5585948ddad2fdae24dd4ee7976ac5a22d6ae7bd5674631e",
Austin Schuha5778ae2020-10-21 21:15:35 -0700482 url = "https://www.frc971.org/Build-Dependencies/patch.tar.gz",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500483)
Brian Silverman7297c0c2018-08-05 13:43:00 -0700484
Austin Schuhf093fa52019-06-23 20:47:23 -0700485http_archive(
Austin Schuh71f6fa72019-08-31 18:23:02 -0700486 name = "rsync",
487 build_file = "@//debian:rsync.BUILD",
488 sha256 = "53be65a9214aaa6d1b9176f135184fb4a78ccefd58f95ce0da37e6a392dfeb60",
Austin Schuha5778ae2020-10-21 21:15:35 -0700489 url = "https://www.frc971.org/Build-Dependencies/rsync.tar.gz",
Austin Schuh71f6fa72019-08-31 18:23:02 -0700490)
491
Brian Silvermanbd7860e2020-01-05 17:52:40 -0800492# //debian:ssh
Austin Schuh71f6fa72019-08-31 18:23:02 -0700493http_archive(
494 name = "ssh",
495 build_file = "@//debian:ssh.BUILD",
Brian Silvermanbd7860e2020-01-05 17:52:40 -0800496 sha256 = "470fdc1252a2133a9d3c3da778e892a5b88f04f402cb04d8eb1cff7853242034",
Austin Schuha5778ae2020-10-21 21:15:35 -0700497 url = "https://www.frc971.org/Build-Dependencies/ssh_v3.tar.gz",
Austin Schuh71f6fa72019-08-31 18:23:02 -0700498)
499
500http_archive(
Philipp Schraderd0e33a42022-01-22 21:55:15 -0800501 name = "apache2",
502 build_file = "@//debian:apache2.BUILD",
503 sha256 = "98b0ad6d911751ba0aa486429e6278f995e7bbabd928c7d3d44c888fa2bf371b",
504 url = "https://www.frc971.org/Build-Dependencies/apache2.tar.gz",
505)
506
507http_archive(
Brian Silverman7297c0c2018-08-05 13:43:00 -0700508 name = "pandoc",
Austin Schuhf093fa52019-06-23 20:47:23 -0700509 build_file = "@//debian:pandoc.BUILD",
Brian Silverman7297c0c2018-08-05 13:43:00 -0700510 sha256 = "9f7a7adb3974a1f14715054c349ff3edc2909e920dbe3438fca437a83845f3c4",
Austin Schuha5778ae2020-10-21 21:15:35 -0700511 url = "https://www.frc971.org/Build-Dependencies/pandoc.tar.gz",
Brian Silverman7297c0c2018-08-05 13:43:00 -0700512)
Brian Silverman4f6ba442018-08-05 14:34:58 -0700513
Austin Schuhf093fa52019-06-23 20:47:23 -0700514http_archive(
Brian Silverman4f6ba442018-08-05 14:34:58 -0700515 name = "libusb",
Austin Schuhf093fa52019-06-23 20:47:23 -0700516 build_file = "@//debian:libusb.BUILD",
Brian Silverman4f6ba442018-08-05 14:34:58 -0700517 sha256 = "3ca5cc2d317226f6646866ff9e8c443db3b0f6c82f828e800240982727531590",
Austin Schuha5778ae2020-10-21 21:15:35 -0700518 url = "https://www.frc971.org/Build-Dependencies/libusb.tar.gz",
Brian Silverman4f6ba442018-08-05 14:34:58 -0700519)
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700520
Austin Schuhf093fa52019-06-23 20:47:23 -0700521http_archive(
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700522 name = "mingw_compiler",
Austin Schuhf093fa52019-06-23 20:47:23 -0700523 build_file = "@//debian:mingw_compiler.BUILD",
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700524 sha256 = "45e86a8460f2151a4f0306e7ae7b06761029d2412ee16f63d1e8d2d29354e378",
Austin Schuha5778ae2020-10-21 21:15:35 -0700525 url = "https://www.frc971.org/Build-Dependencies/mingw_compiler.tar.gz",
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700526)
Brian Silverman6470f442018-08-05 12:08:16 -0700527
James Kuszmaul910f92b2020-01-01 15:30:38 -0800528# Note that we should generally keep the matplotlib repo in a folder not
529# named matplotlib, because otherwise the repository itself tends to end up
530# on the PYTHONPATH, rather than the matplotlib folder within this repo.
Austin Schuhf093fa52019-06-23 20:47:23 -0700531http_archive(
James Kuszmaul910f92b2020-01-01 15:30:38 -0800532 name = "matplotlib_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700533 build_file = "@//debian:matplotlib.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800534 sha256 = "71d1512f1a9a3c90496f0ef3adcd46c4e5e4da4310d7cbb6b0da01a07e5e76e8",
535 url = "https://www.frc971.org/Build-Dependencies/matplotlib-6.tar.gz",
Brian Silverman6470f442018-08-05 12:08:16 -0700536)
537
Austin Schuhf093fa52019-06-23 20:47:23 -0700538http_archive(
Brian Silverman6470f442018-08-05 12:08:16 -0700539 name = "patchelf",
Austin Schuhf093fa52019-06-23 20:47:23 -0700540 build_file = "@//debian:patchelf.BUILD",
Brian Silverman6470f442018-08-05 12:08:16 -0700541 sha256 = "bf8b709909d7d9e30815dd228eeded7dc282e3ce3919d0589ccbb56ac8632abc",
Austin Schuha5778ae2020-10-21 21:15:35 -0700542 url = "https://www.frc971.org/Build-Dependencies/patchelf.tar.gz",
Brian Silverman6470f442018-08-05 12:08:16 -0700543)
Brian Silverman50b9ac02018-08-12 13:24:10 -0700544
Austin Schuhf093fa52019-06-23 20:47:23 -0700545http_archive(
Brian Silverman50b9ac02018-08-12 13:24:10 -0700546 name = "arm_frc_gnueabi_deps",
Austin Schuhf093fa52019-06-23 20:47:23 -0700547 build_file = "@//debian:arm_frc_gnueabi_deps.BUILD",
Brian Silverman50b9ac02018-08-12 13:24:10 -0700548 sha256 = "4b26fe45010817dc136488ee1604ade21bd7c264c29f17d864fc6eba9d7442c4",
Austin Schuha5778ae2020-10-21 21:15:35 -0700549 url = "https://www.frc971.org/Build-Dependencies/arm_frc_gnueabi_deps.tar.gz",
Brian Silverman50b9ac02018-08-12 13:24:10 -0700550)
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700551
Austin Schuhf093fa52019-06-23 20:47:23 -0700552http_archive(
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -0700553 name = "python_gtk",
Austin Schuhf093fa52019-06-23 20:47:23 -0700554 build_file = "@//debian:python_gtk.BUILD",
Austin Schuh903b99a2021-02-06 13:41:34 -0800555 sha256 = "d8310f3a8b8bd7d7b0040bfec4bb7818ab6221031ffd334525de3618585148b8",
556 url = "https://www.frc971.org/Build-Dependencies/python_gtk-3.tar.gz",
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -0700557)
558
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700559# Downloaded from
560# 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 -0700561http_archive(
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700562 name = "gcc_arm_none_eabi",
Austin Schuhf093fa52019-06-23 20:47:23 -0700563 build_file = "@//:compilers/gcc_arm_none_eabi.BUILD",
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700564 sha256 = "bb17109f0ee697254a5d4ae6e5e01440e3ea8f0277f2e8169bf95d07c7d5fe69",
565 strip_prefix = "gcc-arm-none-eabi-7-2018-q2-update/",
Austin Schuha5778ae2020-10-21 21:15:35 -0700566 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 -0700567)
Austin Schuhad596222018-01-31 23:34:03 -0800568
Austin Schuhe18baff2018-10-20 17:40:42 -0700569# Java9 JDK.
Austin Schuhf093fa52019-06-23 20:47:23 -0700570http_archive(
Austin Schuhe18baff2018-10-20 17:40:42 -0700571 name = "openjdk_linux_archive",
572 build_file_content = """
573java_runtime(
574 name = 'jdk',
575 srcs = glob(['**']),
Austin Schuhf6b94632019-02-02 22:11:27 -0800576 visibility = ['//visibility:public'],
Austin Schuhe18baff2018-10-20 17:40:42 -0700577)
578""",
579 sha256 = "f27cb933de4f9e7fe9a703486cf44c84bc8e9f138be0c270c9e5716a32367e87",
580 strip_prefix = "zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules",
581 urls = [
Austin Schuha5778ae2020-10-21 21:15:35 -0700582 "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 -0700583 ],
584)
585
Austin Schuhf9724442018-10-28 20:30:21 -0700586local_repository(
587 name = "com_google_protobuf",
588 path = "third_party/protobuf",
Brian Silverman9c614bc2016-02-15 20:20:02 -0500589)
Austin Schuh10358f22019-01-21 20:25:11 -0800590
591local_repository(
592 name = "com_github_google_glog",
593 path = "third_party/google-glog",
594)
Austin Schuh6defdeb2019-01-21 21:00:30 -0800595
Alex Perrycb7da4b2019-08-28 19:35:56 -0700596local_repository(
597 name = "com_google_googletest",
598 path = "third_party/googletest",
599)
600
Austin Schuh6defdeb2019-01-21 21:00:30 -0800601# External dependency: Google Benchmark; has no Bazel build.
602local_repository(
603 name = "com_github_google_benchmark",
604 path = "third_party/google-benchmark",
Austin Schuhcbc17402019-01-21 21:00:30 -0800605)
Austin Schuh033df092019-01-21 19:46:48 -0800606
607local_repository(
608 name = "com_google_ceres_solver",
609 path = "third_party/ceres",
Austin Schuh70cc9552019-01-21 19:46:48 -0800610)
Austin Schuhf6b94632019-02-02 22:11:27 -0800611
Austin Schuh9950f682021-11-06 15:27:58 -0700612# TODO(austin): Update!
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800613# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/api-cpp/5.18.1/.
Austin Schuhf093fa52019-06-23 20:47:23 -0700614http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800615 name = "ctre_phoenix_api_cpp_headers",
Austin Schuhf6b94632019-02-02 22:11:27 -0800616 build_file_content = """
617cc_library(
618 name = 'api-cpp',
619 visibility = ['//visibility:public'],
620 hdrs = glob(['ctre/phoenix/**/*.h']),
621)
622""",
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800623 sha256 = "230ff927e36b2f75e746da0f0bf9852e5a049bb3e95c4617138ef0618b2e80d9",
Austin Schuhf6b94632019-02-02 22:11:27 -0800624 urls = [
Austin Schuha5778ae2020-10-21 21:15:35 -0700625 "https://www.frc971.org/Build-Dependencies/api-cpp-5.18.1-headers.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800626 ],
627)
628
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800629# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/api-cpp/5.18.1/.
Austin Schuhf093fa52019-06-23 20:47:23 -0700630http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800631 name = "ctre_phoenix_api_cpp_athena",
Austin Schuhf6b94632019-02-02 22:11:27 -0800632 build_file_content = """
633cc_library(
634 name = 'api-cpp',
635 visibility = ['//visibility:public'],
636 srcs = ['linux/athena/static/libCTRE_Phoenix.a'],
Philipp Schraderdada1072020-11-24 11:34:46 -0800637 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
Austin Schuhf6b94632019-02-02 22:11:27 -0800638 deps = [
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800639 '@ctre_phoenix_core_headers//:core',
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800640 '@ctre_phoenix_core_athena//:core',
Austin Schuhf6b94632019-02-02 22:11:27 -0800641 ],
642)
643""",
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800644 sha256 = "a4de1930e1e946e1c72c13ee272dae38c12c4b7b85b44477dbb67312724d96b1",
Austin Schuhf6b94632019-02-02 22:11:27 -0800645 urls = [
Austin Schuha5778ae2020-10-21 21:15:35 -0700646 "https://www.frc971.org/Build-Dependencies/api-cpp-5.18.1-linuxathenastatic.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800647 ],
648)
649
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800650# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/diagnostics/5.18.1/.
Austin Schuhf093fa52019-06-23 20:47:23 -0700651http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800652 name = "ctre_phoenix_diagnostics_headers",
653 build_file_content = """
654cc_library(
655 name = 'diagnostics',
656 visibility = ['//visibility:public'],
657 hdrs = glob(['ctre/phoenix/**/*.h']),
658)
659""",
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800660 sha256 = "a94bff6c241de8dc2396a1cece9e2822fe4a7e4980aedaaea682c3e8c5de008c",
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800661 urls = [
Austin Schuha5778ae2020-10-21 21:15:35 -0700662 "https://www.frc971.org/Build-Dependencies/diagnostics-5.18.1-headers.zip",
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800663 ],
664)
665
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800666# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/diagnostics/5.18.1/.
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800667http_archive(
668 name = "ctre_phoenix_diagnostics_athena",
669 build_file_content = """
670cc_library(
671 name = 'diagnostics',
672 visibility = ['//visibility:public'],
673 srcs = ['linux/athena/static/libCTRE_PhoenixDiagnostics.a'],
Philipp Schraderdada1072020-11-24 11:34:46 -0800674 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800675 deps = [
676 '@ctre_phoenix_core_headers//:core',
677 '@ctre_phoenix_core_athena//:core',
678 ],
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800679)
680""",
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800681 sha256 = "638a4a4d7400942baa040619ea6cde2bdef0e7721300a9427424a577ce0f56db",
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800682 urls = [
Austin Schuha5778ae2020-10-21 21:15:35 -0700683 "https://www.frc971.org/Build-Dependencies/diagnostics-5.18.1-linuxathenastatic.zip",
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800684 ],
685)
686
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800687# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/cci/5.18.1/.
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800688http_archive(
689 name = "ctre_phoenix_cci_headers",
Austin Schuhf6b94632019-02-02 22:11:27 -0800690 build_file_content = """
691cc_library(
692 name = 'cci',
693 visibility = ['//visibility:public'],
694 hdrs = glob(['ctre/phoenix/**/*.h']),
695)
696""",
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800697 sha256 = "31e4d8f7fd9612ba687661e19aabc3d89dc076f66756d4696aa7799f31bbc72f",
Austin Schuhf6b94632019-02-02 22:11:27 -0800698 urls = [
Austin Schuha5778ae2020-10-21 21:15:35 -0700699 "https://www.frc971.org/Build-Dependencies/cci-5.18.1-headers.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800700 ],
701)
702
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800703# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/cci/5.18.1/.
Austin Schuhf093fa52019-06-23 20:47:23 -0700704http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800705 name = "ctre_phoenix_cci_athena",
Austin Schuhf6b94632019-02-02 22:11:27 -0800706 build_file_content = """
707cc_library(
708 name = 'cci',
709 visibility = ['//visibility:public'],
710 srcs = ['linux/athena/static/libCTRE_PhoenixCCI.a'],
Philipp Schraderdada1072020-11-24 11:34:46 -0800711 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
Austin Schuhf6b94632019-02-02 22:11:27 -0800712)
713""",
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800714 sha256 = "e5d9b58072002dbd2daa8cc8d42e047e5c90d26bd5a2b1d63dc1b89112ac3837",
Austin Schuhf6b94632019-02-02 22:11:27 -0800715 urls = [
Austin Schuha5778ae2020-10-21 21:15:35 -0700716 "https://www.frc971.org/Build-Dependencies/cci-5.18.1-linuxathenastatic.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800717 ],
718)
719
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800720# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/core/5.18.1/.
Austin Schuhf093fa52019-06-23 20:47:23 -0700721http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800722 name = "ctre_phoenix_core_headers",
Austin Schuhf6b94632019-02-02 22:11:27 -0800723 build_file_content = """
724cc_library(
725 name = 'core',
726 visibility = ['//visibility:public'],
727 hdrs = glob(['ctre/phoenix/**/*.h']),
728)
729""",
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800730 sha256 = "af2db0f9c3693cbb74216882ee140e4d6b722a416f2d384062378a8ae37f65ee",
Austin Schuhf6b94632019-02-02 22:11:27 -0800731 urls = [
Austin Schuha5778ae2020-10-21 21:15:35 -0700732 "https://www.frc971.org/Build-Dependencies/core-5.18.1-headers.zip",
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800733 ],
734)
735
736# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/core/5.18.1/.
737http_archive(
738 name = "ctre_phoenix_core_athena",
739 build_file_content = """
740cc_library(
741 name = 'core',
742 visibility = ['//visibility:public'],
743 srcs = ['linux/athena/static/libCTRE_PhoenixCore.a'],
Philipp Schraderdada1072020-11-24 11:34:46 -0800744 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800745)
746""",
747 sha256 = "cd827bc68c0f4ef2fe6c363a7f9f5a08f7d944b574c65a2c7fb823686501f43f",
748 urls = [
Austin Schuha5778ae2020-10-21 21:15:35 -0700749 "https://www.frc971.org/Build-Dependencies/core-5.18.1-linuxathenastatic.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800750 ],
751)
Austin Schuheed14442019-03-23 14:42:46 -0700752
753http_archive(
Austin Schuhda9d0602019-09-15 17:29:38 -0700754 name = "build_bazel_rules_nodejs",
Philipp Schrader87277f42022-01-01 07:45:12 -0800755 sha256 = "cfc289523cf1594598215901154a6c2515e8bf3671fd708264a6f6aefe02bf39",
756 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 -0700757)
Austin Schuheed14442019-03-23 14:42:46 -0700758
Philipp Schrader87277f42022-01-01 07:45:12 -0800759load("@build_bazel_rules_nodejs//:index.bzl", "node_repositories", "yarn_install")
Austin Schuheed14442019-03-23 14:42:46 -0700760
761node_repositories()
762
763# Setup Bazel managed npm dependencies with the `yarn_install` rule.
Philipp Schrader87277f42022-01-01 07:45:12 -0800764
Austin Schuhda9d0602019-09-15 17:29:38 -0700765# To run yarn by hand, use:
766# bazel run @nodejs_linux_amd64//:bin/yarn -- list
767# I'm sure there is a better path, but that works...
Austin Schuheed14442019-03-23 14:42:46 -0700768yarn_install(
769 name = "npm",
Alex Perryb3168082022-01-22 13:36:13 -0800770 frozen_lockfile = True,
Austin Schuheed14442019-03-23 14:42:46 -0700771 package_json = "//:package.json",
Austin Schuhda9d0602019-09-15 17:29:38 -0700772 symlink_node_modules = False,
Austin Schuheed14442019-03-23 14:42:46 -0700773 yarn_lock = "//:yarn.lock",
774)
Austin Schuh4ac96a82019-08-14 20:24:23 -0700775
Alex Perryb3168082022-01-22 13:36:13 -0800776http_archive(
777 name = "io_bazel_rules_webtesting",
778 sha256 = "e9abb7658b6a129740c0b3ef6f5a2370864e102a5ba5ffca2cea565829ed825a",
779 urls = ["https://github.com/bazelbuild/rules_webtesting/releases/download/0.3.5/rules_webtesting.tar.gz"],
780)
781
Ravago Jones16809802021-11-18 20:40:03 -0800782http_archive(
783 name = "rules_rust",
784 sha256 = "531bdd470728b61ce41cf7604dc4f9a115983e455d46ac1d0c1632f613ab9fc3",
785 strip_prefix = "rules_rust-d8238877c0e552639d3e057aadd6bfcf37592408",
786 urls = [
787 # `main` branch as of 2021-08-23
788 "https://github.com/bazelbuild/rules_rust/archive/d8238877c0e552639d3e057aadd6bfcf37592408.tar.gz",
789 ],
790)
791
792load("@rules_rust//rust:repositories.bzl", "rust_repository_set")
793
794rust_repository_set(
795 name = "rust",
796 edition = "2021",
797 exec_triple = "x86_64-unknown-linux-gnu",
798 extra_target_triples = [
799 "arm-unknown-linux-gnueabi",
800 "armv7-unknown-linux-gnueabihf",
801 ],
802 version = "1.56.1",
803)
804
Austin Schuh4ac96a82019-08-14 20:24:23 -0700805# Flatbuffers
806local_repository(
807 name = "com_github_google_flatbuffers",
808 path = "third_party/flatbuffers",
809)
James Kuszmaul7daef362019-12-31 18:28:17 -0800810
811http_file(
812 name = "sample_logfile",
813 downloaded_file_path = "log.fbs",
milind945708b2021-07-03 13:30:15 -0700814 sha256 = "45d1d19fb82786c476d3f21a8d62742abaeeedf4c16a00ec37ae350dcb61f1fc",
815 urls = ["https://www.frc971.org/Build-Dependencies/small_sample_logfile2.fbs"],
James Kuszmaul7daef362019-12-31 18:28:17 -0800816)
Brian Silvermand4260c72020-01-14 00:08:02 -0800817
James Kuszmaul9c128122021-03-22 22:24:36 -0700818http_archive(
James Kuszmaul531609d2020-02-18 17:12:23 -0800819 name = "drivetrain_replay",
James Kuszmaul9c128122021-03-22 22:24:36 -0700820 build_file_content = """
821filegroup(
822 name = "drivetrain_replay",
823 srcs = glob(["**/*.bfbs"]),
824 visibility = ["//visibility:public"],
825)
826 """,
827 sha256 = "115dcd2fe005cb9cad3325707aa7f4466390c43a08555edf331c06c108bdf692",
828 url = "https://www.frc971.org/Build-Dependencies/2021-03-20_drivetrain_spin_wheels.tar.gz",
James Kuszmaul531609d2020-02-18 17:12:23 -0800829)
830
milind-u7baf7342021-08-25 18:31:26 -0700831http_archive(
832 name = "superstructure_replay",
833 build_file_content = """
834filegroup(
835 name = "superstructure_replay",
836 srcs = glob(["**/*.bfbs"]),
837 visibility = ["//visibility:public"],
838)
839 """,
milind-u200b2762021-11-06 19:36:15 -0700840 sha256 = "2b9a3ecc83f2aba89a1909ae38fe51e6718a5b4d0e7c131846dfb2845df9cd19",
841 url = "https://www.frc971.org/Build-Dependencies/2021-10-03_superstructure_shoot_balls.tar.gz",
milind-u7baf7342021-08-25 18:31:26 -0700842)
843
Brian Silvermand4260c72020-01-14 00:08:02 -0800844# OpenCV armhf (for raspberry pi)
845http_archive(
846 name = "opencv_armhf",
847 build_file = "@//debian:opencv.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800848 sha256 = "064165507bad1afa8f7b22961a9a9067b243abc70064d713d26b37bc8dc2bf56",
849 url = "https://www.frc971.org/Build-Dependencies/opencv_armhf_v4.tar.gz",
Brian Silvermand4260c72020-01-14 00:08:02 -0800850)
Brian Silvermand97a47c2020-01-16 00:47:53 -0800851
852http_archive(
853 name = "opencv_k8",
854 build_file = "@//debian:opencv.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800855 sha256 = "b730f5d0c8eb59411157b4e84bfdddd3a6fceed10b842716d9d1b74ad322ea14",
856 url = "https://www.frc971.org/Build-Dependencies/opencv_amd64_v3.tar.gz",
Brian Silvermand97a47c2020-01-16 00:47:53 -0800857)
Brian Silverman764945b2020-01-16 23:40:43 -0800858
859# Downloaded from:
860# https://github.com/halide/Halide/releases/download/release_2019_08_27/halide-linux-64-gcc53-800-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz
861# which is "Halide 2019/08/27" at https://github.com/halide/Halide/releases.
862http_archive(
863 name = "halide_k8",
864 build_file = "@//debian:halide.BUILD",
Brian Silvermanbe23ed62020-06-18 14:35:25 -0700865 sha256 = "c67185d50a99adba86f6b2cc43c7e2cf11bcdfba9052d05e764a89b456a50446",
Brian Silverman764945b2020-01-16 23:40:43 -0800866 strip_prefix = "halide/",
Austin Schuha5778ae2020-10-21 21:15:35 -0700867 url = "https://www.frc971.org/Build-Dependencies/halide-linux-64-gcc53-800-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz",
Brian Silverman764945b2020-01-16 23:40:43 -0800868)
869
870# Downloaded from:
871# https://github.com/halide/Halide/releases/download/release_2019_08_27/halide-arm32-linux-32-trunk-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz
872# which is "Halide 2019/08/27" at https://github.com/halide/Halide/releases.
873http_archive(
874 name = "halide_armhf",
875 build_file = "@//debian:halide.BUILD",
Brian Silvermanbe23ed62020-06-18 14:35:25 -0700876 sha256 = "10564c559c9e04a173823413916d05fadd6e697d91bab21ddc5041190fa8f0f0",
Brian Silverman764945b2020-01-16 23:40:43 -0800877 strip_prefix = "halide/",
Austin Schuha5778ae2020-10-21 21:15:35 -0700878 url = "https://www.frc971.org/Build-Dependencies/halide-arm32-linux-32-trunk-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz",
Brian Silverman764945b2020-01-16 23:40:43 -0800879)
Brian Silverman4fe44ea2020-02-02 12:56:42 -0800880
881# Downloaded from:
Austin Schuh085eab92020-11-26 13:54:51 -0800882# 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 -0800883http_archive(
884 name = "opencv_contrib_nonfree_amd64",
885 build_file = "@//debian:opencv_python.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800886 sha256 = "a1dfa0486db367594510c0c799ec7481247dc86e651b69008806d875ab731471",
Brian Silverman4fe44ea2020-02-02 12:56:42 -0800887 type = "zip",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800888 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 -0800889)
Tyler Chatow60671d32020-02-26 19:49:30 -0800890
891http_archive(
892 name = "gstreamer_k8",
893 build_file = "@//debian:gstreamer.BUILD",
894 sha256 = "4d74d4a82f7a73dc9fe9463d5fae409b17845eef7cd64ef9c4c4553816c53589",
Austin Schuha5778ae2020-10-21 21:15:35 -0700895 url = "https://www.frc971.org/Build-Dependencies/gstreamer_amd64.tar.gz",
Tyler Chatow60671d32020-02-26 19:49:30 -0800896)
897
898http_archive(
899 name = "gstreamer_armhf",
900 build_file = "@//debian:gstreamer.BUILD",
901 sha256 = "c5ac4c604952c274a50636e244f0d091bd1de302032446f24f0e9e03ae9c76f7",
Austin Schuha5778ae2020-10-21 21:15:35 -0700902 url = "https://www.frc971.org/Build-Dependencies/gstreamer_armhf.tar.gz",
Tyler Chatow60671d32020-02-26 19:49:30 -0800903)
James Kuszmaulc91e4402020-05-10 18:47:20 -0700904
905# Downloaded from:
906# https://files.pythonhosted.org/packages/64/a7/45e11eebf2f15bf987c3bc11d37dcc838d9dc81250e67e4c5968f6008b6c/Jinja2-2.11.2.tar.gz
907http_archive(
908 name = "python_jinja2",
909 build_file = "@//debian:python_jinja2.BUILD",
910 sha256 = "89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0",
911 strip_prefix = "Jinja2-2.11.2",
Austin Schuha5778ae2020-10-21 21:15:35 -0700912 url = "https://www.frc971.org/Build-Dependencies/Jinja2-2.11.2.tar.gz",
James Kuszmaulc91e4402020-05-10 18:47:20 -0700913)
914
915# Downloaded from:
916# https://files.pythonhosted.org/packages/b9/2e/64db92e53b86efccfaea71321f597fa2e1b2bd3853d8ce658568f7a13094/MarkupSafe-1.1.1.tar.gz
917http_archive(
918 name = "python_markupsafe",
919 build_file = "@//debian:python_markupsafe.BUILD",
920 sha256 = "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b",
921 strip_prefix = "MarkupSafe-1.1.1",
Austin Schuha5778ae2020-10-21 21:15:35 -0700922 url = "https://www.frc971.org/Build-Dependencies/MarkupSafe-1.1.1.tar.gz",
James Kuszmaulc91e4402020-05-10 18:47:20 -0700923)
Austin Schuh023e7f52020-08-18 21:24:37 -0700924
Brian Silvermanf59fe3f2020-09-22 21:04:09 -0700925# //debian:lzma_amd64
926http_archive(
927 name = "lzma_amd64",
928 build_file_content = """
929cc_library(
930 name = "lib",
931 srcs = [
932 "usr/lib/x86_64-linux-gnu/liblzma.a",
933 ],
934 hdrs = glob([
935 "usr/include/lzma/*.h",
936 "usr/include/*.h",
937 ]),
938 strip_include_prefix = "usr/include",
939 visibility = ["//visibility:public"],
940)
941""",
942 sha256 = "e0ccaa7f793e44638e9f89570e00f146073a98a5928e0b547146c8184488bb19",
Austin Schuha5778ae2020-10-21 21:15:35 -0700943 urls = ["https://www.frc971.org/Build-Dependencies/lzma_amd64.tar.gz"],
Brian Silvermanf59fe3f2020-09-22 21:04:09 -0700944)
945
946# //debian:lzma_arm64
947http_archive(
948 name = "lzma_arm64",
949 build_file_content = """
950cc_library(
951 name = "lib",
952 srcs = [
953 "usr/lib/aarch64-linux-gnu/liblzma.a",
954 ],
955 hdrs = glob([
956 "usr/include/lzma/*.h",
957 "usr/include/*.h",
958 ]),
959 strip_include_prefix = "usr/include",
960 visibility = ["//visibility:public"],
961)
962""",
963 sha256 = "18db35669ee49a5f8324a344071dd4ab553e716f385fb75747b909bd1de959f5",
Austin Schuha5778ae2020-10-21 21:15:35 -0700964 urls = ["https://www.frc971.org/Build-Dependencies/lzma_arm64.tar.gz"],
Brian Silvermanf59fe3f2020-09-22 21:04:09 -0700965)
James Kuszmaul2cffe852021-10-27 20:17:49 -0700966
967local_repository(
968 name = "snappy",
969 path = "third_party/snappy",
970)
Philipp Schrader73e56602021-12-06 21:37:30 -0800971
972http_archive(
973 name = "io_bazel_rules_go",
Philipp Schrader039f5c32022-01-20 22:30:01 -0800974 patch_args = [
975 "-p1",
976 ],
977 patches = [
978 "@//third_party:rules_go/0001-Disable-warnings-for-external-repositories.patch",
979 ],
Philipp Schrader73e56602021-12-06 21:37:30 -0800980 sha256 = "2b1641428dff9018f9e85c0384f03ec6c10660d935b750e3fa1492a281a53b0f",
981 urls = [
982 "https://www.frc971.org/Build-Dependencies/rules_go-v0.29.0.zip",
983 "https://github.com/bazelbuild/rules_go/releases/download/v0.29.0/rules_go-v0.29.0.zip",
984 ],
985)
986
Philipp Schrader37fdbb62021-12-18 00:30:37 -0800987http_archive(
988 name = "bazel_gazelle",
989 sha256 = "de69a09dc70417580aabf20a28619bb3ef60d038470c7cf8442fafcf627c21cb",
990 urls = [
991 "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz",
992 "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz",
993 ],
994)
995
Philipp Schrader73e56602021-12-06 21:37:30 -0800996load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
997
998go_rules_dependencies()
999
1000go_register_toolchains(version = "1.17.1")
Philipp Schrader37fdbb62021-12-18 00:30:37 -08001001
1002load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
1003load("//:go_deps.bzl", "go_dependencies")
1004load("//tools/go:mirrored_go_deps.bzl", "mirrored_go_dependencies")
1005
1006mirrored_go_dependencies()
1007
1008# gazelle:repository_macro go_deps.bzl%go_dependencies
1009go_dependencies()
1010
1011gazelle_dependencies()
Philipp Schradercc016b32021-12-30 08:59:58 -08001012
1013http_archive(
1014 name = "com_github_bazelbuild_buildtools",
1015 sha256 = "44a6e5acc007e197d45ac3326e7f993f0160af9a58e8777ca7701e00501c0857",
1016 strip_prefix = "buildtools-4.2.4",
1017 urls = [
1018 "https://github.com/bazelbuild/buildtools/archive/refs/tags/4.2.4.tar.gz",
1019 ],
1020)