blob: 65395cb47dbaf3359c1548895d655015af504cac [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",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800164]
165
166llvm_cxxopts = [
167 "-std=gnu++17",
168]
169
Brian Silverman1e7c8972022-02-03 23:15:41 -0800170llvm_opt_copts = [
171 "-DAOS_DEBUG=0",
172]
173
174llvm_fastbuild_copts = [
175 "-DAOS_DEBUG=0",
176]
177
Brian Silverman4c7235a2021-11-17 19:04:37 -0800178llvm_dbg_copts = [
179 "-DAOS_DEBUG=1",
180]
Brian Silvermanc0309a02022-01-01 23:57:03 -0800181
182llvm_toolchain(
183 name = "llvm_toolchain",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800184 additional_target_compatible_with = {
185 "linux-armv7": [
186 "@//tools/platforms/hardware:raspberry_pi",
187 ],
188 },
189 conlyopts = {
190 "linux-x86_64": llvm_conlyopts,
191 "linux-armv7": llvm_conlyopts,
192 },
193 copts = {
194 "linux-x86_64": llvm_copts,
195 "linux-armv7": llvm_copts,
196 },
197 cxxopts = {
198 "linux-x86_64": llvm_cxxopts,
199 "linux-armv7": llvm_cxxopts,
200 },
201 dbg_copts = {
202 "linux-x86_64": llvm_dbg_copts,
Brian Silverman1e7c8972022-02-03 23:15:41 -0800203 "linux-armv7": llvm_dbg_copts,
204 },
205 fastbuild_copts = {
206 "linux-x86_64": llvm_fastbuild_copts,
207 "linux-armv7": llvm_fastbuild_copts,
Brian Silverman4c7235a2021-11-17 19:04:37 -0800208 },
209 llvm_version = llvm_version,
Brian Silverman1e7c8972022-02-03 23:15:41 -0800210 opt_copts = {
211 "linux-x86_64": llvm_opt_copts,
212 "linux-armv7": llvm_opt_copts,
213 },
Brian Silverman4c7235a2021-11-17 19:04:37 -0800214 standard_libraries = {
215 "linux-x86_64": "libstdc++-10",
216 "linux-armv7": "libstdc++-10",
217 },
218 static_libstdcxx = False,
Brian Silvermanc0309a02022-01-01 23:57:03 -0800219 sysroot = {
220 "linux-x86_64": "@amd64_debian_sysroot//:sysroot_files",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800221 "linux-armv7": "@armhf_debian_rootfs//:sysroot_files",
222 },
223 target_toolchain_roots = {
224 "linux-x86_64": "@llvm_k8//",
225 "linux-armv7": "@llvm_armv7//",
226 },
227 toolchain_roots = {
228 "linux-x86_64": "@llvm_k8//",
Brian Silvermanc0309a02022-01-01 23:57:03 -0800229 },
230)
231
Brian Silverman4c7235a2021-11-17 19:04:37 -0800232load("@llvm_toolchain//:toolchains.bzl", "llvm_register_toolchains")
233
234llvm_register_toolchains()
235
Philipp Schraderdada1072020-11-24 11:34:46 -0800236register_toolchains(
Philipp Schraderdada1072020-11-24 11:34:46 -0800237 "//tools/cpp:cc-toolchain-roborio",
238 "//tools/cpp:cc-toolchain-cortex-m4f",
Austin Schuh0a96ea32022-01-01 22:29:30 -0800239 "//tools/cpp:cc-toolchain-rp2040",
Philipp Schraderdada1072020-11-24 11:34:46 -0800240 # Find a good way to select between these two M4F toolchains.
241 #"//tools/cpp:cc-toolchain-cortex-m4f-k22",
Philipp Schraderf198a152021-12-05 09:18:23 -0800242 "//tools/python:python_toolchain",
Philipp Schrader73e56602021-12-06 21:37:30 -0800243 "//tools/go:noop_go_toolchain",
Ravago Jones16809802021-11-18 20:40:03 -0800244 "//tools/rust:rust-toolchain-roborio",
245 "//tools/rust:noop_rust_toolchain",
Philipp Schraderdada1072020-11-24 11:34:46 -0800246)
247
Philipp Schrader37fdbb62021-12-18 00:30:37 -0800248load("//tools/ci:repo_defs.bzl", "ci_configure")
249
250ci_configure(name = "ci_configure")
251
Philipp Schraderdada1072020-11-24 11:34:46 -0800252http_archive(
253 name = "platforms",
254 sha256 = "3c4057c53b64dd3f2c753e0a80bbb6ccb29fb437910200c911dd51454baf619b",
Philipp Schraderdada1072020-11-24 11:34:46 -0800255 strip_prefix = "platforms-10b4d2bdde25ea1e66c02c3f83a6d921000a7272",
Austin Schuh4c3b4f02020-12-21 11:51:42 -0800256 url = "https://www.frc971.org/Build-Dependencies/platforms_10b4d2bdde25ea1e66c02c3f83a6d921000a7272.zip",
Philipp Schraderdada1072020-11-24 11:34:46 -0800257)
258
259http_archive(
260 name = "bazel_skylib",
Austin Schuh4c3b4f02020-12-21 11:51:42 -0800261 sha256 = "1c531376ac7e5a180e0237938a2536de0c54d93f5c278634818e0efc952dd56c",
Philipp Schraderdada1072020-11-24 11:34:46 -0800262 urls = [
263 "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz",
264 "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz",
265 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800266)
267
Austin Schuhf093fa52019-06-23 20:47:23 -0700268http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700269 name = "python_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700270 build_file = "@//debian:python.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800271 sha256 = "048c51872f9c3853ae4e961c710533f477194a3f170b454e8d582f32a83e90f5",
272 url = "https://www.frc971.org/Build-Dependencies/python-6.tar.gz",
Philipp Schrader9b1790e2018-03-10 20:21:30 -0800273)
274
Austin Schuh7466fe12020-12-29 23:01:47 -0800275http_archive(
276 name = "com_github_stevengj_nlopt",
277 build_file = "@//debian:nlopt.BUILD",
278 patch_args = ["-p1"],
279 patches = ["//debian:nlopt.patch"],
280 sha256 = "2d65815b21c30813499fe19c63947f7da56b10c0d4a459dce05417899b43e461",
281 strip_prefix = "nlopt-496be736b8b249273838b891f4c8ca3669551127",
282 url = "https://www.frc971.org/Build-Dependencies/nlopt-496be736b8b249273838b891f4c8ca3669551127.zip",
283)
284
Austin Schuhd57edc42019-09-21 17:52:38 -0700285local_repository(
286 name = "com_google_absl",
287 path = "third_party/abseil",
Austin Schuh36244a12019-09-21 17:52:38 -0700288)
289
Alex Perrycb7da4b2019-08-28 19:35:56 -0700290local_repository(
291 name = "org_tuxfamily_eigen",
292 path = "third_party/eigen",
293)
294
James Kuszmaulbc02ff42021-01-15 20:41:30 -0800295local_repository(
296 name = "com_github_rawrtc_re",
297 path = "third_party/rawrtc/re",
298)
299
300local_repository(
301 name = "com_github_rawrtc_rew",
302 path = "third_party/rawrtc/rew",
303)
304
305local_repository(
306 name = "com_github_rawrtc_usrsctp",
307 path = "third_party/rawrtc/usrsctp",
308)
309
310local_repository(
311 name = "com_github_rawrtc_rawrtc_common",
312 path = "third_party/rawrtc/rawrtc-common",
313)
314
315local_repository(
316 name = "com_github_rawrtc_rawrtc_data_channel",
317 path = "third_party/rawrtc/rawrtc-data-channel",
318)
319
320local_repository(
321 name = "com_github_rawrtc_rawrtc",
322 path = "third_party/rawrtc/rawrtc",
323)
324
Austin Schuh0ca51f32020-12-25 21:51:45 -0800325http_archive(
326 name = "boringssl",
327 patch_args = ["-p1"],
328 patches = ["//debian:boringssl.patch"],
329 sha256 = "bcab08a22c28f5322316542aa2c3a9ef0a9f9fde9be22d489cee574867b24675",
330 strip_prefix = "boringssl-613fe9dbe74b58d6aaaf0d22fe57dccd964c7413",
331 urls = ["https://www.frc971.org/Build-Dependencies/boringssl-613fe9dbe74b58d6aaaf0d22fe57dccd964c7413.zip"],
332)
333
Austin Schuh36244a12019-09-21 17:52:38 -0700334# C++ rules for Bazel.
335http_archive(
336 name = "rules_cc",
Austin Schuh968174a2021-03-31 20:04:01 -0700337 sha256 = "ed36cc7a6f46b7c28ab4009db4a37e350e1ba367446b0886bcc9cdc1df92752e",
338 strip_prefix = "rules_cc-608c7b605fb844a20e96a3eddc9b49ad2542adab",
Austin Schuh36244a12019-09-21 17:52:38 -0700339 urls = [
Austin Schuh968174a2021-03-31 20:04:01 -0700340 "https://www.frc971.org/Build-Dependencies/rules_cc-608c7b605fb844a20e96a3eddc9b49ad2542adab.zip",
Austin Schuh36244a12019-09-21 17:52:38 -0700341 ],
342)
Austin Schuhd57edc42019-09-21 17:52:38 -0700343
James Kuszmaulf4bf9fe2021-05-10 22:58:24 -0700344# Note that rules_python is currently only imported to make googletest happy.
345# TODO: add frc971.org URL
346http_archive(
347 name = "rules_python",
Philipp Schrader530e3ae2021-12-04 20:13:16 -0800348 sha256 = "895fa3b03898d7708eb50ed34dcfb71c07866433df6912a6ff4f4fb473048f99",
349 strip_prefix = "rules_python-2b1d6beb4d5d8f59d629597e30e9aa519182d9a9",
350 url = "https://github.com/bazelbuild/rules_python/archive/2b1d6beb4d5d8f59d629597e30e9aa519182d9a9.tar.gz",
James Kuszmaulf4bf9fe2021-05-10 22:58:24 -0700351)
352
Austin Schuh4759ffc2015-10-07 20:39:56 -0700353new_local_repository(
Brian Silverman7bda6212018-08-05 11:42:11 -0700354 name = "usr_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700355 build_file = "@//debian:usr.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700356 path = "/usr",
Austin Schuh4759ffc2015-10-07 20:39:56 -0700357)
358
Austin Schuh1f9aeb42015-11-12 23:34:49 -0800359new_git_repository(
Brian Silverman7bda6212018-08-05 11:42:11 -0700360 name = "slycot_repo",
Tyler Chatow2584bb12018-10-27 20:48:35 -0700361 build_file = "@//debian:slycot.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700362 commit = "5af5f283cb23cbe23c4dfea4d5e56071bdbd6e70",
363 remote = "https://github.com/avventi/Slycot.git",
Austin Schuh1f9aeb42015-11-12 23:34:49 -0800364)
365
Austin Schuh9950f682021-11-06 15:27:58 -0700366# TODO(austin): https://github.com/wpilibsuite/roborio-toolchain/releases/tag/v2022-1
Austin Schuhf093fa52019-06-23 20:47:23 -0700367http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700368 name = "arm_frc_linux_gnueabi_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700369 build_file = "@//tools/cpp/arm-frc-linux-gnueabi:arm-frc-linux-gnueabi.BUILD",
Austin Schuhe991fe22020-11-18 16:53:39 -0800370 patches = ["//debian:fts.patch"],
James Kuszmaul3ae42262019-11-08 12:33:41 -0800371 sha256 = "043a5b047c2af9cf80d146d8327b588264c98a01e0f3f41e3564dd2bbbc95c0e",
372 strip_prefix = "frc2020/roborio/",
Austin Schuha5778ae2020-10-21 21:15:35 -0700373 url = "https://www.frc971.org/Build-Dependencies/FRC-2020-Linux-Toolchain-7.3.0.tar.gz",
Austin Schuh55139fe2015-10-14 23:55:24 -0700374)
Austin Schuhe456f152015-11-27 13:44:39 -0800375
Brian Silverman4c7235a2021-11-17 19:04:37 -0800376# 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
377# The following files and folders are removed to make bazel happy with it:
Brian Silvermanbf4c1312020-01-12 11:35:45 -0800378# usr/share/ca-certificates
Brian Silverman4c7235a2021-11-17 19:04:37 -0800379# lib/systemd/system/system-systemd\\x2dcryptsetup.slice
Brian Silvermanbf4c1312020-01-12 11:35:45 -0800380http_archive(
381 name = "armhf_debian_rootfs",
Brian Silverman60606c92020-01-15 22:45:04 -0800382 build_file = "@//:compilers/debian_rootfs.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800383 sha256 = "734f26a0cfc943cc3cae88412536186adfc4ed148cc167e6ffb298497c686280",
384 url = "https://www.frc971.org/Build-Dependencies/2021-10-30-raspios-bullseye-armhf-lite_rootfs.tar.bz2",
Brian Silvermanbf4c1312020-01-12 11:35:45 -0800385)
386
Brian Silverman60606c92020-01-15 22:45:04 -0800387# Created with:
388# `debootstrap buster buster_sysroot`
389# and then chrooting in and running:
390# apt install libc6-dev libstdc++-7-dev
Brian Silverman4c7235a2021-11-17 19:04:37 -0800391# removing the apt cache,
Brian Silverman60606c92020-01-15 22:45:04 -0800392# and then tarring up the result
393http_archive(
394 name = "amd64_debian_sysroot",
395 build_file = "@//:compilers/debian_rootfs.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800396 sha256 = "5e10f4cac85a98a39da1716b218bc05fff4666c61cc471a7df27876710bc86d2",
397 url = "https://www.frc971.org/Build-Dependencies/2022-01-06-debian-bullseye_rootfs.tar.bz2",
Brian Silverman60606c92020-01-15 22:45:04 -0800398)
399
Austin Schuhe456f152015-11-27 13:44:39 -0800400new_git_repository(
Brian Silverman7bda6212018-08-05 11:42:11 -0700401 name = "python_gflags_repo",
Tyler Chatow2584bb12018-10-27 20:48:35 -0700402 build_file = "@//debian:gflags.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700403 commit = "41c4571864f0db5823e07715317e7388e94faabc",
404 remote = "https://github.com/gflags/python-gflags.git",
Austin Schuhe456f152015-11-27 13:44:39 -0800405)
406
407bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700408 name = "python-gflags",
409 actual = "@python_gflags_repo//:gflags",
Austin Schuhe456f152015-11-27 13:44:39 -0800410)
411
Brian Silverman16a923c2018-10-31 19:40:51 -0700412local_repository(
413 name = "com_github_gflags_gflags",
414 path = "third_party/gflags",
415)
416
Brian Silverman8d644032020-02-02 12:15:43 -0800417# Downloaded from:
418# https://pypi.python.org/packages/source/g/glog/glog-0.1.tar.gz
Austin Schuhf093fa52019-06-23 20:47:23 -0700419http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700420 name = "python_glog_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700421 build_file = "@//debian:glog.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700422 sha256 = "953fd80122c48023d1148e6d1bda2763fcab59c8a81682bb298238a5935547b0",
423 strip_prefix = "glog-0.1",
Austin Schuha5778ae2020-10-21 21:15:35 -0700424 url = "https://www.frc971.org/Build-Dependencies/glog-0.1.tar.gz",
Austin Schuhe456f152015-11-27 13:44:39 -0800425)
426
427bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700428 name = "python-glog",
429 actual = "@python_glog_repo//:glog",
Austin Schuhe456f152015-11-27 13:44:39 -0800430)
Brian Silvermancee260a2015-12-24 16:27:51 -0800431
Brian Silverman82a12b92019-01-19 21:52:10 -0800432# Generated with:
Austin Schuh9950f682021-11-06 15:27:58 -0700433# git fetch https://github.com/wpilibsuite/ni-libraries main
434# git archive --output=allwpilib_ni-libraries_987ab82a80232691d8e21c57c9f13d35d2c31f24.tar.gz --format=tar.gz 987ab82a80232691d8e21c57c9f13d35d2c31f24
Austin Schuhf093fa52019-06-23 20:47:23 -0700435http_archive(
James Kuszmaulc9c46b32019-12-08 21:10:00 -0800436 name = "allwpilib_ni_libraries",
437 build_file = "@//debian:ni-libraries.BUILD",
Austin Schuh9950f682021-11-06 15:27:58 -0700438 sha256 = "f57dfc76ee3d8680aba8cfa6077e20cd47a2e5b2badd918ec3095d2c6300588f",
439 url = "https://www.frc971.org/Build-Dependencies/allwpilib_ni-libraries_987ab82a80232691d8e21c57c9f13d35d2c31f24.tar.gz",
Brian Silverman82a12b92019-01-19 21:52:10 -0800440)
441
Brian Silverman3fca9d72016-02-20 02:32:51 -0500442# Downloaded from:
443# https://pypi.python.org/packages/source/s/six/six-1.10.0.tar.gz
Austin Schuhf093fa52019-06-23 20:47:23 -0700444http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700445 name = "six_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700446 build_file = "@//debian:six.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700447 sha256 = "105f8d68616f8248e24bf0e9372ef04d3cc10104f1980f54d57b2ce73a5ad56a",
448 strip_prefix = "six-1.10.0",
Austin Schuha5778ae2020-10-21 21:15:35 -0700449 url = "https://www.frc971.org/Build-Dependencies/six-1.10.0.tar.gz",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500450)
451
452# For protobuf. Don't use these.
453bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700454 name = "six",
455 actual = "@six_repo//:six",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500456)
Brian Silverman7bda6212018-08-05 11:42:11 -0700457
Brian Silverman3fca9d72016-02-20 02:32:51 -0500458bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700459 name = "gtest",
460 actual = "//third_party/googletest:googlemock",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500461)
Brian Silverman7bda6212018-08-05 11:42:11 -0700462
Brian Silverman3fca9d72016-02-20 02:32:51 -0500463bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700464 name = "gtest_main",
465 actual = "//third_party/googletest:googlemock_main",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500466)
467
Brian Silverman4aa83042018-01-05 12:47:31 -0800468# Recompressed from libusb-1.0.21.7z.
469http_file(
Brian Silverman7bda6212018-08-05 11:42:11 -0700470 name = "libusb_1_0_windows",
Austin Schuh4ac96a82019-08-14 20:24:23 -0700471 downloaded_file_path = "libusb-1.0.21-windows.tar.xz",
Brian Silverman7bda6212018-08-05 11:42:11 -0700472 sha256 = "fc2ba03992f343aabbaf9eb90559c6e00cdc6a2bd914d7cebea85857d5244015",
Austin Schuha5778ae2020-10-21 21:15:35 -0700473 urls = ["https://www.frc971.org/Build-Dependencies/libusb-1.0.21-windows.tar.xz"],
Brian Silverman4aa83042018-01-05 12:47:31 -0800474)
Brian Silvermand3ad1652018-02-18 22:16:29 -0500475
476# The data tarball of the same-named Debian package.
Austin Schuhf093fa52019-06-23 20:47:23 -0700477http_archive(
Brian Silvermand3ad1652018-02-18 22:16:29 -0500478 name = "f2c",
Austin Schuhf093fa52019-06-23 20:47:23 -0700479 build_file = "@//debian:f2c.BUILD",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500480 sha256 = "2c677437f8217a2e2b23e41b33995d0571644fc1bea46de858f8913a5053e3f4",
Austin Schuha5778ae2020-10-21 21:15:35 -0700481 url = "https://www.frc971.org/Build-Dependencies/f2c_20100827-1_amd64.xz.tar.xz",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500482)
483
484# Downloaded from http://www.netlib.org/clapack/.
Austin Schuhf093fa52019-06-23 20:47:23 -0700485http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700486 name = "clapack",
Austin Schuhf093fa52019-06-23 20:47:23 -0700487 build_file = "@//debian:clapack.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700488 sha256 = "6dc4c382164beec8aaed8fd2acc36ad24232c406eda6db462bd4c41d5e455fac",
489 strip_prefix = "CLAPACK-3.2.1/",
Austin Schuha5778ae2020-10-21 21:15:35 -0700490 url = "https://www.frc971.org/Build-Dependencies/clapack-3.2.1.tgz",
Brian Silverman7bda6212018-08-05 11:42:11 -0700491)
492
Austin Schuhf093fa52019-06-23 20:47:23 -0700493http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700494 name = "patch",
Austin Schuhf093fa52019-06-23 20:47:23 -0700495 build_file = "@//debian:patch.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700496 sha256 = "b5ce139648a2e04f5585948ddad2fdae24dd4ee7976ac5a22d6ae7bd5674631e",
Austin Schuha5778ae2020-10-21 21:15:35 -0700497 url = "https://www.frc971.org/Build-Dependencies/patch.tar.gz",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500498)
Brian Silverman7297c0c2018-08-05 13:43:00 -0700499
Austin Schuhf093fa52019-06-23 20:47:23 -0700500http_archive(
Austin Schuh71f6fa72019-08-31 18:23:02 -0700501 name = "rsync",
502 build_file = "@//debian:rsync.BUILD",
503 sha256 = "53be65a9214aaa6d1b9176f135184fb4a78ccefd58f95ce0da37e6a392dfeb60",
Austin Schuha5778ae2020-10-21 21:15:35 -0700504 url = "https://www.frc971.org/Build-Dependencies/rsync.tar.gz",
Austin Schuh71f6fa72019-08-31 18:23:02 -0700505)
506
Brian Silvermanbd7860e2020-01-05 17:52:40 -0800507# //debian:ssh
Austin Schuh71f6fa72019-08-31 18:23:02 -0700508http_archive(
509 name = "ssh",
510 build_file = "@//debian:ssh.BUILD",
Brian Silvermanbd7860e2020-01-05 17:52:40 -0800511 sha256 = "470fdc1252a2133a9d3c3da778e892a5b88f04f402cb04d8eb1cff7853242034",
Austin Schuha5778ae2020-10-21 21:15:35 -0700512 url = "https://www.frc971.org/Build-Dependencies/ssh_v3.tar.gz",
Austin Schuh71f6fa72019-08-31 18:23:02 -0700513)
514
515http_archive(
Philipp Schraderd0e33a42022-01-22 21:55:15 -0800516 name = "apache2",
517 build_file = "@//debian:apache2.BUILD",
518 sha256 = "98b0ad6d911751ba0aa486429e6278f995e7bbabd928c7d3d44c888fa2bf371b",
519 url = "https://www.frc971.org/Build-Dependencies/apache2.tar.gz",
520)
521
522http_archive(
Brian Silverman7297c0c2018-08-05 13:43:00 -0700523 name = "pandoc",
Austin Schuhf093fa52019-06-23 20:47:23 -0700524 build_file = "@//debian:pandoc.BUILD",
Brian Silverman7297c0c2018-08-05 13:43:00 -0700525 sha256 = "9f7a7adb3974a1f14715054c349ff3edc2909e920dbe3438fca437a83845f3c4",
Austin Schuha5778ae2020-10-21 21:15:35 -0700526 url = "https://www.frc971.org/Build-Dependencies/pandoc.tar.gz",
Brian Silverman7297c0c2018-08-05 13:43:00 -0700527)
Brian Silverman4f6ba442018-08-05 14:34:58 -0700528
Austin Schuhf093fa52019-06-23 20:47:23 -0700529http_archive(
Brian Silverman4f6ba442018-08-05 14:34:58 -0700530 name = "libusb",
Austin Schuhf093fa52019-06-23 20:47:23 -0700531 build_file = "@//debian:libusb.BUILD",
Brian Silverman4f6ba442018-08-05 14:34:58 -0700532 sha256 = "3ca5cc2d317226f6646866ff9e8c443db3b0f6c82f828e800240982727531590",
Austin Schuha5778ae2020-10-21 21:15:35 -0700533 url = "https://www.frc971.org/Build-Dependencies/libusb.tar.gz",
Brian Silverman4f6ba442018-08-05 14:34:58 -0700534)
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700535
Austin Schuhf093fa52019-06-23 20:47:23 -0700536http_archive(
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700537 name = "mingw_compiler",
Austin Schuhf093fa52019-06-23 20:47:23 -0700538 build_file = "@//debian:mingw_compiler.BUILD",
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700539 sha256 = "45e86a8460f2151a4f0306e7ae7b06761029d2412ee16f63d1e8d2d29354e378",
Austin Schuha5778ae2020-10-21 21:15:35 -0700540 url = "https://www.frc971.org/Build-Dependencies/mingw_compiler.tar.gz",
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700541)
Brian Silverman6470f442018-08-05 12:08:16 -0700542
James Kuszmaul910f92b2020-01-01 15:30:38 -0800543# Note that we should generally keep the matplotlib repo in a folder not
544# named matplotlib, because otherwise the repository itself tends to end up
545# on the PYTHONPATH, rather than the matplotlib folder within this repo.
Austin Schuhf093fa52019-06-23 20:47:23 -0700546http_archive(
James Kuszmaul910f92b2020-01-01 15:30:38 -0800547 name = "matplotlib_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700548 build_file = "@//debian:matplotlib.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800549 sha256 = "71d1512f1a9a3c90496f0ef3adcd46c4e5e4da4310d7cbb6b0da01a07e5e76e8",
550 url = "https://www.frc971.org/Build-Dependencies/matplotlib-6.tar.gz",
Brian Silverman6470f442018-08-05 12:08:16 -0700551)
552
Austin Schuhf093fa52019-06-23 20:47:23 -0700553http_archive(
Brian Silverman6470f442018-08-05 12:08:16 -0700554 name = "patchelf",
Austin Schuhf093fa52019-06-23 20:47:23 -0700555 build_file = "@//debian:patchelf.BUILD",
Brian Silverman6470f442018-08-05 12:08:16 -0700556 sha256 = "bf8b709909d7d9e30815dd228eeded7dc282e3ce3919d0589ccbb56ac8632abc",
Austin Schuha5778ae2020-10-21 21:15:35 -0700557 url = "https://www.frc971.org/Build-Dependencies/patchelf.tar.gz",
Brian Silverman6470f442018-08-05 12:08:16 -0700558)
Brian Silverman50b9ac02018-08-12 13:24:10 -0700559
Austin Schuhf093fa52019-06-23 20:47:23 -0700560http_archive(
Brian Silverman50b9ac02018-08-12 13:24:10 -0700561 name = "arm_frc_gnueabi_deps",
Austin Schuhf093fa52019-06-23 20:47:23 -0700562 build_file = "@//debian:arm_frc_gnueabi_deps.BUILD",
Brian Silverman50b9ac02018-08-12 13:24:10 -0700563 sha256 = "4b26fe45010817dc136488ee1604ade21bd7c264c29f17d864fc6eba9d7442c4",
Austin Schuha5778ae2020-10-21 21:15:35 -0700564 url = "https://www.frc971.org/Build-Dependencies/arm_frc_gnueabi_deps.tar.gz",
Brian Silverman50b9ac02018-08-12 13:24:10 -0700565)
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700566
Austin Schuhf093fa52019-06-23 20:47:23 -0700567http_archive(
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -0700568 name = "python_gtk",
Austin Schuhf093fa52019-06-23 20:47:23 -0700569 build_file = "@//debian:python_gtk.BUILD",
Austin Schuh903b99a2021-02-06 13:41:34 -0800570 sha256 = "d8310f3a8b8bd7d7b0040bfec4bb7818ab6221031ffd334525de3618585148b8",
571 url = "https://www.frc971.org/Build-Dependencies/python_gtk-3.tar.gz",
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -0700572)
573
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700574# Downloaded from
575# 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 -0700576http_archive(
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700577 name = "gcc_arm_none_eabi",
Austin Schuhf093fa52019-06-23 20:47:23 -0700578 build_file = "@//:compilers/gcc_arm_none_eabi.BUILD",
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700579 sha256 = "bb17109f0ee697254a5d4ae6e5e01440e3ea8f0277f2e8169bf95d07c7d5fe69",
580 strip_prefix = "gcc-arm-none-eabi-7-2018-q2-update/",
Austin Schuha5778ae2020-10-21 21:15:35 -0700581 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 -0700582)
Austin Schuhad596222018-01-31 23:34:03 -0800583
Austin Schuhe18baff2018-10-20 17:40:42 -0700584# Java9 JDK.
Austin Schuhf093fa52019-06-23 20:47:23 -0700585http_archive(
Austin Schuhe18baff2018-10-20 17:40:42 -0700586 name = "openjdk_linux_archive",
587 build_file_content = """
588java_runtime(
589 name = 'jdk',
590 srcs = glob(['**']),
Austin Schuhf6b94632019-02-02 22:11:27 -0800591 visibility = ['//visibility:public'],
Austin Schuhe18baff2018-10-20 17:40:42 -0700592)
593""",
594 sha256 = "f27cb933de4f9e7fe9a703486cf44c84bc8e9f138be0c270c9e5716a32367e87",
595 strip_prefix = "zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules",
596 urls = [
Austin Schuha5778ae2020-10-21 21:15:35 -0700597 "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 -0700598 ],
599)
600
Austin Schuhf9724442018-10-28 20:30:21 -0700601local_repository(
602 name = "com_google_protobuf",
603 path = "third_party/protobuf",
Brian Silverman9c614bc2016-02-15 20:20:02 -0500604)
Austin Schuh10358f22019-01-21 20:25:11 -0800605
606local_repository(
607 name = "com_github_google_glog",
608 path = "third_party/google-glog",
609)
Austin Schuh6defdeb2019-01-21 21:00:30 -0800610
Alex Perrycb7da4b2019-08-28 19:35:56 -0700611local_repository(
612 name = "com_google_googletest",
613 path = "third_party/googletest",
614)
615
Austin Schuh6defdeb2019-01-21 21:00:30 -0800616# External dependency: Google Benchmark; has no Bazel build.
617local_repository(
618 name = "com_github_google_benchmark",
619 path = "third_party/google-benchmark",
Austin Schuhcbc17402019-01-21 21:00:30 -0800620)
Austin Schuh033df092019-01-21 19:46:48 -0800621
622local_repository(
623 name = "com_google_ceres_solver",
624 path = "third_party/ceres",
Austin Schuh70cc9552019-01-21 19:46:48 -0800625)
Austin Schuhf6b94632019-02-02 22:11:27 -0800626
Austin Schuh9950f682021-11-06 15:27:58 -0700627# TODO(austin): Update!
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800628# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/api-cpp/5.18.1/.
Austin Schuhf093fa52019-06-23 20:47:23 -0700629http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800630 name = "ctre_phoenix_api_cpp_headers",
Austin Schuhf6b94632019-02-02 22:11:27 -0800631 build_file_content = """
632cc_library(
633 name = 'api-cpp',
634 visibility = ['//visibility:public'],
635 hdrs = glob(['ctre/phoenix/**/*.h']),
636)
637""",
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800638 sha256 = "230ff927e36b2f75e746da0f0bf9852e5a049bb3e95c4617138ef0618b2e80d9",
Austin Schuhf6b94632019-02-02 22:11:27 -0800639 urls = [
Austin Schuha5778ae2020-10-21 21:15:35 -0700640 "https://www.frc971.org/Build-Dependencies/api-cpp-5.18.1-headers.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800641 ],
642)
643
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800644# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/api-cpp/5.18.1/.
Austin Schuhf093fa52019-06-23 20:47:23 -0700645http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800646 name = "ctre_phoenix_api_cpp_athena",
Austin Schuhf6b94632019-02-02 22:11:27 -0800647 build_file_content = """
648cc_library(
649 name = 'api-cpp',
650 visibility = ['//visibility:public'],
651 srcs = ['linux/athena/static/libCTRE_Phoenix.a'],
Philipp Schraderdada1072020-11-24 11:34:46 -0800652 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
Austin Schuhf6b94632019-02-02 22:11:27 -0800653 deps = [
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800654 '@ctre_phoenix_core_headers//:core',
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800655 '@ctre_phoenix_core_athena//:core',
Austin Schuhf6b94632019-02-02 22:11:27 -0800656 ],
657)
658""",
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800659 sha256 = "a4de1930e1e946e1c72c13ee272dae38c12c4b7b85b44477dbb67312724d96b1",
Austin Schuhf6b94632019-02-02 22:11:27 -0800660 urls = [
Austin Schuha5778ae2020-10-21 21:15:35 -0700661 "https://www.frc971.org/Build-Dependencies/api-cpp-5.18.1-linuxathenastatic.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800662 ],
663)
664
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800665# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/diagnostics/5.18.1/.
Austin Schuhf093fa52019-06-23 20:47:23 -0700666http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800667 name = "ctre_phoenix_diagnostics_headers",
668 build_file_content = """
669cc_library(
670 name = 'diagnostics',
671 visibility = ['//visibility:public'],
672 hdrs = glob(['ctre/phoenix/**/*.h']),
673)
674""",
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800675 sha256 = "a94bff6c241de8dc2396a1cece9e2822fe4a7e4980aedaaea682c3e8c5de008c",
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800676 urls = [
Austin Schuha5778ae2020-10-21 21:15:35 -0700677 "https://www.frc971.org/Build-Dependencies/diagnostics-5.18.1-headers.zip",
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800678 ],
679)
680
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800681# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/diagnostics/5.18.1/.
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800682http_archive(
683 name = "ctre_phoenix_diagnostics_athena",
684 build_file_content = """
685cc_library(
686 name = 'diagnostics',
687 visibility = ['//visibility:public'],
688 srcs = ['linux/athena/static/libCTRE_PhoenixDiagnostics.a'],
Philipp Schraderdada1072020-11-24 11:34:46 -0800689 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800690 deps = [
691 '@ctre_phoenix_core_headers//:core',
692 '@ctre_phoenix_core_athena//:core',
693 ],
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800694)
695""",
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800696 sha256 = "638a4a4d7400942baa040619ea6cde2bdef0e7721300a9427424a577ce0f56db",
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800697 urls = [
Austin Schuha5778ae2020-10-21 21:15:35 -0700698 "https://www.frc971.org/Build-Dependencies/diagnostics-5.18.1-linuxathenastatic.zip",
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800699 ],
700)
701
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800702# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/cci/5.18.1/.
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800703http_archive(
704 name = "ctre_phoenix_cci_headers",
Austin Schuhf6b94632019-02-02 22:11:27 -0800705 build_file_content = """
706cc_library(
707 name = 'cci',
708 visibility = ['//visibility:public'],
709 hdrs = glob(['ctre/phoenix/**/*.h']),
710)
711""",
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800712 sha256 = "31e4d8f7fd9612ba687661e19aabc3d89dc076f66756d4696aa7799f31bbc72f",
Austin Schuhf6b94632019-02-02 22:11:27 -0800713 urls = [
Austin Schuha5778ae2020-10-21 21:15:35 -0700714 "https://www.frc971.org/Build-Dependencies/cci-5.18.1-headers.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800715 ],
716)
717
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800718# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/cci/5.18.1/.
Austin Schuhf093fa52019-06-23 20:47:23 -0700719http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800720 name = "ctre_phoenix_cci_athena",
Austin Schuhf6b94632019-02-02 22:11:27 -0800721 build_file_content = """
722cc_library(
723 name = 'cci',
724 visibility = ['//visibility:public'],
725 srcs = ['linux/athena/static/libCTRE_PhoenixCCI.a'],
Philipp Schraderdada1072020-11-24 11:34:46 -0800726 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
Austin Schuhf6b94632019-02-02 22:11:27 -0800727)
728""",
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800729 sha256 = "e5d9b58072002dbd2daa8cc8d42e047e5c90d26bd5a2b1d63dc1b89112ac3837",
Austin Schuhf6b94632019-02-02 22:11:27 -0800730 urls = [
Austin Schuha5778ae2020-10-21 21:15:35 -0700731 "https://www.frc971.org/Build-Dependencies/cci-5.18.1-linuxathenastatic.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800732 ],
733)
734
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800735# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/core/5.18.1/.
Austin Schuhf093fa52019-06-23 20:47:23 -0700736http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800737 name = "ctre_phoenix_core_headers",
Austin Schuhf6b94632019-02-02 22:11:27 -0800738 build_file_content = """
739cc_library(
740 name = 'core',
741 visibility = ['//visibility:public'],
742 hdrs = glob(['ctre/phoenix/**/*.h']),
743)
744""",
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800745 sha256 = "af2db0f9c3693cbb74216882ee140e4d6b722a416f2d384062378a8ae37f65ee",
Austin Schuhf6b94632019-02-02 22:11:27 -0800746 urls = [
Austin Schuha5778ae2020-10-21 21:15:35 -0700747 "https://www.frc971.org/Build-Dependencies/core-5.18.1-headers.zip",
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800748 ],
749)
750
751# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/core/5.18.1/.
752http_archive(
753 name = "ctre_phoenix_core_athena",
754 build_file_content = """
755cc_library(
756 name = 'core',
757 visibility = ['//visibility:public'],
758 srcs = ['linux/athena/static/libCTRE_PhoenixCore.a'],
Philipp Schraderdada1072020-11-24 11:34:46 -0800759 target_compatible_with = ['@//tools/platforms/hardware:roborio'],
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800760)
761""",
762 sha256 = "cd827bc68c0f4ef2fe6c363a7f9f5a08f7d944b574c65a2c7fb823686501f43f",
763 urls = [
Austin Schuha5778ae2020-10-21 21:15:35 -0700764 "https://www.frc971.org/Build-Dependencies/core-5.18.1-linuxathenastatic.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800765 ],
766)
Austin Schuheed14442019-03-23 14:42:46 -0700767
768http_archive(
Austin Schuhda9d0602019-09-15 17:29:38 -0700769 name = "build_bazel_rules_nodejs",
Philipp Schrader87277f42022-01-01 07:45:12 -0800770 sha256 = "cfc289523cf1594598215901154a6c2515e8bf3671fd708264a6f6aefe02bf39",
771 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 -0700772)
Austin Schuheed14442019-03-23 14:42:46 -0700773
Philipp Schrader87277f42022-01-01 07:45:12 -0800774load("@build_bazel_rules_nodejs//:index.bzl", "node_repositories", "yarn_install")
Austin Schuheed14442019-03-23 14:42:46 -0700775
776node_repositories()
777
778# Setup Bazel managed npm dependencies with the `yarn_install` rule.
Philipp Schrader87277f42022-01-01 07:45:12 -0800779
Austin Schuhda9d0602019-09-15 17:29:38 -0700780# To run yarn by hand, use:
781# bazel run @nodejs_linux_amd64//:bin/yarn -- list
782# I'm sure there is a better path, but that works...
Austin Schuheed14442019-03-23 14:42:46 -0700783yarn_install(
784 name = "npm",
Alex Perryb3168082022-01-22 13:36:13 -0800785 frozen_lockfile = True,
Austin Schuheed14442019-03-23 14:42:46 -0700786 package_json = "//:package.json",
Austin Schuhda9d0602019-09-15 17:29:38 -0700787 symlink_node_modules = False,
Austin Schuheed14442019-03-23 14:42:46 -0700788 yarn_lock = "//:yarn.lock",
789)
Austin Schuh4ac96a82019-08-14 20:24:23 -0700790
Alex Perryb3168082022-01-22 13:36:13 -0800791http_archive(
792 name = "io_bazel_rules_webtesting",
793 sha256 = "e9abb7658b6a129740c0b3ef6f5a2370864e102a5ba5ffca2cea565829ed825a",
794 urls = ["https://github.com/bazelbuild/rules_webtesting/releases/download/0.3.5/rules_webtesting.tar.gz"],
795)
796
Ravago Jones16809802021-11-18 20:40:03 -0800797http_archive(
798 name = "rules_rust",
799 sha256 = "531bdd470728b61ce41cf7604dc4f9a115983e455d46ac1d0c1632f613ab9fc3",
800 strip_prefix = "rules_rust-d8238877c0e552639d3e057aadd6bfcf37592408",
801 urls = [
802 # `main` branch as of 2021-08-23
803 "https://github.com/bazelbuild/rules_rust/archive/d8238877c0e552639d3e057aadd6bfcf37592408.tar.gz",
804 ],
805)
806
807load("@rules_rust//rust:repositories.bzl", "rust_repository_set")
808
809rust_repository_set(
810 name = "rust",
811 edition = "2021",
812 exec_triple = "x86_64-unknown-linux-gnu",
813 extra_target_triples = [
814 "arm-unknown-linux-gnueabi",
815 "armv7-unknown-linux-gnueabihf",
816 ],
817 version = "1.56.1",
818)
819
Austin Schuh4ac96a82019-08-14 20:24:23 -0700820# Flatbuffers
821local_repository(
822 name = "com_github_google_flatbuffers",
823 path = "third_party/flatbuffers",
824)
James Kuszmaul7daef362019-12-31 18:28:17 -0800825
826http_file(
827 name = "sample_logfile",
828 downloaded_file_path = "log.fbs",
milind945708b2021-07-03 13:30:15 -0700829 sha256 = "45d1d19fb82786c476d3f21a8d62742abaeeedf4c16a00ec37ae350dcb61f1fc",
830 urls = ["https://www.frc971.org/Build-Dependencies/small_sample_logfile2.fbs"],
James Kuszmaul7daef362019-12-31 18:28:17 -0800831)
Brian Silvermand4260c72020-01-14 00:08:02 -0800832
James Kuszmaul9c128122021-03-22 22:24:36 -0700833http_archive(
James Kuszmaul531609d2020-02-18 17:12:23 -0800834 name = "drivetrain_replay",
James Kuszmaul9c128122021-03-22 22:24:36 -0700835 build_file_content = """
836filegroup(
837 name = "drivetrain_replay",
838 srcs = glob(["**/*.bfbs"]),
839 visibility = ["//visibility:public"],
840)
841 """,
842 sha256 = "115dcd2fe005cb9cad3325707aa7f4466390c43a08555edf331c06c108bdf692",
843 url = "https://www.frc971.org/Build-Dependencies/2021-03-20_drivetrain_spin_wheels.tar.gz",
James Kuszmaul531609d2020-02-18 17:12:23 -0800844)
845
milind-u7baf7342021-08-25 18:31:26 -0700846http_archive(
847 name = "superstructure_replay",
848 build_file_content = """
849filegroup(
850 name = "superstructure_replay",
851 srcs = glob(["**/*.bfbs"]),
852 visibility = ["//visibility:public"],
853)
854 """,
milind-u200b2762021-11-06 19:36:15 -0700855 sha256 = "2b9a3ecc83f2aba89a1909ae38fe51e6718a5b4d0e7c131846dfb2845df9cd19",
856 url = "https://www.frc971.org/Build-Dependencies/2021-10-03_superstructure_shoot_balls.tar.gz",
milind-u7baf7342021-08-25 18:31:26 -0700857)
858
Brian Silvermand4260c72020-01-14 00:08:02 -0800859# OpenCV armhf (for raspberry pi)
860http_archive(
861 name = "opencv_armhf",
862 build_file = "@//debian:opencv.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800863 sha256 = "064165507bad1afa8f7b22961a9a9067b243abc70064d713d26b37bc8dc2bf56",
864 url = "https://www.frc971.org/Build-Dependencies/opencv_armhf_v4.tar.gz",
Brian Silvermand4260c72020-01-14 00:08:02 -0800865)
Brian Silvermand97a47c2020-01-16 00:47:53 -0800866
867http_archive(
868 name = "opencv_k8",
869 build_file = "@//debian:opencv.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800870 sha256 = "b730f5d0c8eb59411157b4e84bfdddd3a6fceed10b842716d9d1b74ad322ea14",
871 url = "https://www.frc971.org/Build-Dependencies/opencv_amd64_v3.tar.gz",
Brian Silvermand97a47c2020-01-16 00:47:53 -0800872)
Brian Silverman764945b2020-01-16 23:40:43 -0800873
874# Downloaded from:
875# https://github.com/halide/Halide/releases/download/release_2019_08_27/halide-linux-64-gcc53-800-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz
876# which is "Halide 2019/08/27" at https://github.com/halide/Halide/releases.
877http_archive(
878 name = "halide_k8",
879 build_file = "@//debian:halide.BUILD",
Brian Silvermanbe23ed62020-06-18 14:35:25 -0700880 sha256 = "c67185d50a99adba86f6b2cc43c7e2cf11bcdfba9052d05e764a89b456a50446",
Brian Silverman764945b2020-01-16 23:40:43 -0800881 strip_prefix = "halide/",
Austin Schuha5778ae2020-10-21 21:15:35 -0700882 url = "https://www.frc971.org/Build-Dependencies/halide-linux-64-gcc53-800-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz",
Brian Silverman764945b2020-01-16 23:40:43 -0800883)
884
885# Downloaded from:
886# https://github.com/halide/Halide/releases/download/release_2019_08_27/halide-arm32-linux-32-trunk-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz
887# which is "Halide 2019/08/27" at https://github.com/halide/Halide/releases.
888http_archive(
889 name = "halide_armhf",
890 build_file = "@//debian:halide.BUILD",
Brian Silvermanbe23ed62020-06-18 14:35:25 -0700891 sha256 = "10564c559c9e04a173823413916d05fadd6e697d91bab21ddc5041190fa8f0f0",
Brian Silverman764945b2020-01-16 23:40:43 -0800892 strip_prefix = "halide/",
Austin Schuha5778ae2020-10-21 21:15:35 -0700893 url = "https://www.frc971.org/Build-Dependencies/halide-arm32-linux-32-trunk-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz",
Brian Silverman764945b2020-01-16 23:40:43 -0800894)
Brian Silverman4fe44ea2020-02-02 12:56:42 -0800895
896# Downloaded from:
Austin Schuh085eab92020-11-26 13:54:51 -0800897# 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 -0800898http_archive(
899 name = "opencv_contrib_nonfree_amd64",
900 build_file = "@//debian:opencv_python.BUILD",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800901 sha256 = "a1dfa0486db367594510c0c799ec7481247dc86e651b69008806d875ab731471",
Brian Silverman4fe44ea2020-02-02 12:56:42 -0800902 type = "zip",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800903 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 -0800904)
Tyler Chatow60671d32020-02-26 19:49:30 -0800905
906http_archive(
907 name = "gstreamer_k8",
908 build_file = "@//debian:gstreamer.BUILD",
909 sha256 = "4d74d4a82f7a73dc9fe9463d5fae409b17845eef7cd64ef9c4c4553816c53589",
Austin Schuha5778ae2020-10-21 21:15:35 -0700910 url = "https://www.frc971.org/Build-Dependencies/gstreamer_amd64.tar.gz",
Tyler Chatow60671d32020-02-26 19:49:30 -0800911)
912
913http_archive(
914 name = "gstreamer_armhf",
915 build_file = "@//debian:gstreamer.BUILD",
916 sha256 = "c5ac4c604952c274a50636e244f0d091bd1de302032446f24f0e9e03ae9c76f7",
Austin Schuha5778ae2020-10-21 21:15:35 -0700917 url = "https://www.frc971.org/Build-Dependencies/gstreamer_armhf.tar.gz",
Tyler Chatow60671d32020-02-26 19:49:30 -0800918)
James Kuszmaulc91e4402020-05-10 18:47:20 -0700919
920# Downloaded from:
921# https://files.pythonhosted.org/packages/64/a7/45e11eebf2f15bf987c3bc11d37dcc838d9dc81250e67e4c5968f6008b6c/Jinja2-2.11.2.tar.gz
922http_archive(
923 name = "python_jinja2",
924 build_file = "@//debian:python_jinja2.BUILD",
925 sha256 = "89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0",
926 strip_prefix = "Jinja2-2.11.2",
Austin Schuha5778ae2020-10-21 21:15:35 -0700927 url = "https://www.frc971.org/Build-Dependencies/Jinja2-2.11.2.tar.gz",
James Kuszmaulc91e4402020-05-10 18:47:20 -0700928)
929
930# Downloaded from:
931# https://files.pythonhosted.org/packages/b9/2e/64db92e53b86efccfaea71321f597fa2e1b2bd3853d8ce658568f7a13094/MarkupSafe-1.1.1.tar.gz
932http_archive(
933 name = "python_markupsafe",
934 build_file = "@//debian:python_markupsafe.BUILD",
935 sha256 = "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b",
936 strip_prefix = "MarkupSafe-1.1.1",
Austin Schuha5778ae2020-10-21 21:15:35 -0700937 url = "https://www.frc971.org/Build-Dependencies/MarkupSafe-1.1.1.tar.gz",
James Kuszmaulc91e4402020-05-10 18:47:20 -0700938)
Austin Schuh023e7f52020-08-18 21:24:37 -0700939
Brian Silvermanf59fe3f2020-09-22 21:04:09 -0700940# //debian:lzma_amd64
941http_archive(
942 name = "lzma_amd64",
943 build_file_content = """
944cc_library(
945 name = "lib",
946 srcs = [
947 "usr/lib/x86_64-linux-gnu/liblzma.a",
948 ],
949 hdrs = glob([
950 "usr/include/lzma/*.h",
951 "usr/include/*.h",
952 ]),
953 strip_include_prefix = "usr/include",
954 visibility = ["//visibility:public"],
955)
956""",
957 sha256 = "e0ccaa7f793e44638e9f89570e00f146073a98a5928e0b547146c8184488bb19",
Austin Schuha5778ae2020-10-21 21:15:35 -0700958 urls = ["https://www.frc971.org/Build-Dependencies/lzma_amd64.tar.gz"],
Brian Silvermanf59fe3f2020-09-22 21:04:09 -0700959)
960
961# //debian:lzma_arm64
962http_archive(
963 name = "lzma_arm64",
964 build_file_content = """
965cc_library(
966 name = "lib",
967 srcs = [
968 "usr/lib/aarch64-linux-gnu/liblzma.a",
969 ],
970 hdrs = glob([
971 "usr/include/lzma/*.h",
972 "usr/include/*.h",
973 ]),
974 strip_include_prefix = "usr/include",
975 visibility = ["//visibility:public"],
976)
977""",
978 sha256 = "18db35669ee49a5f8324a344071dd4ab553e716f385fb75747b909bd1de959f5",
Austin Schuha5778ae2020-10-21 21:15:35 -0700979 urls = ["https://www.frc971.org/Build-Dependencies/lzma_arm64.tar.gz"],
Brian Silvermanf59fe3f2020-09-22 21:04:09 -0700980)
James Kuszmaul2cffe852021-10-27 20:17:49 -0700981
982local_repository(
983 name = "snappy",
984 path = "third_party/snappy",
985)
Philipp Schrader73e56602021-12-06 21:37:30 -0800986
987http_archive(
988 name = "io_bazel_rules_go",
Philipp Schrader039f5c32022-01-20 22:30:01 -0800989 patch_args = [
990 "-p1",
991 ],
992 patches = [
993 "@//third_party:rules_go/0001-Disable-warnings-for-external-repositories.patch",
994 ],
Philipp Schrader73e56602021-12-06 21:37:30 -0800995 sha256 = "2b1641428dff9018f9e85c0384f03ec6c10660d935b750e3fa1492a281a53b0f",
996 urls = [
997 "https://www.frc971.org/Build-Dependencies/rules_go-v0.29.0.zip",
998 "https://github.com/bazelbuild/rules_go/releases/download/v0.29.0/rules_go-v0.29.0.zip",
999 ],
1000)
1001
Philipp Schrader37fdbb62021-12-18 00:30:37 -08001002http_archive(
1003 name = "bazel_gazelle",
1004 sha256 = "de69a09dc70417580aabf20a28619bb3ef60d038470c7cf8442fafcf627c21cb",
1005 urls = [
1006 "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz",
1007 "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz",
1008 ],
1009)
1010
Philipp Schrader73e56602021-12-06 21:37:30 -08001011load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
1012
1013go_rules_dependencies()
1014
1015go_register_toolchains(version = "1.17.1")
Philipp Schrader37fdbb62021-12-18 00:30:37 -08001016
1017load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
1018load("//:go_deps.bzl", "go_dependencies")
1019load("//tools/go:mirrored_go_deps.bzl", "mirrored_go_dependencies")
1020
1021mirrored_go_dependencies()
1022
1023# gazelle:repository_macro go_deps.bzl%go_dependencies
1024go_dependencies()
1025
1026gazelle_dependencies()
Philipp Schradercc016b32021-12-30 08:59:58 -08001027
1028http_archive(
1029 name = "com_github_bazelbuild_buildtools",
1030 sha256 = "44a6e5acc007e197d45ac3326e7f993f0160af9a58e8777ca7701e00501c0857",
1031 strip_prefix = "buildtools-4.2.4",
1032 urls = [
1033 "https://github.com/bazelbuild/buildtools/archive/refs/tags/4.2.4.tar.gz",
1034 ],
1035)