blob: fb6e2cba422a4131d3548962a216caf4c00aec7c [file] [log] [blame]
Brian Silverman7bda6212018-08-05 11:42:11 -07001workspace(name = "org_frc971")
Brian Silvermand1c19fb2016-07-07 00:10:57 -07002
Tyler Chatow2584bb12018-10-27 20:48:35 -07003load("@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(
10 "//debian:clang.bzl",
11 clang_debs = "files",
12)
13load(
14 "//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)
Philipp Schrader0e19c602018-03-07 21:07:22 -080061load("//debian:packages.bzl", "generate_repositories_for_debs")
62
63generate_repositories_for_debs(python_debs)
Brian Silverman7bda6212018-08-05 11:42:11 -070064
Philipp Schraderaedfc5c2018-03-10 19:32:30 -080065generate_repositories_for_debs(clang_debs)
Philipp Schrader0e19c602018-03-07 21:07:22 -080066
Austin Schuh71f6fa72019-08-31 18:23:02 -070067generate_repositories_for_debs(rsync_debs)
68
69generate_repositories_for_debs(ssh_debs)
70
Brian Silverman7bda6212018-08-05 11:42:11 -070071generate_repositories_for_debs(patch_debs)
72
Brian Silverman7297c0c2018-08-05 13:43:00 -070073generate_repositories_for_debs(pandoc_debs)
74
Brian Silverman4f6ba442018-08-05 14:34:58 -070075generate_repositories_for_debs(libusb_debs)
76
Brian Silvermanb80dc9f2018-08-05 14:59:24 -070077generate_repositories_for_debs(mingw_compiler_debs)
78
Brian Silverman6470f442018-08-05 12:08:16 -070079generate_repositories_for_debs(patchelf_debs)
80
81generate_repositories_for_debs(matplotlib_debs)
82
Brian Silverman50b9ac02018-08-12 13:24:10 -070083generate_repositories_for_debs(arm_frc_gnueabi_deps_debs)
84
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -070085generate_repositories_for_debs(python_gtk_debs)
86
Brian Silvermand4260c72020-01-14 00:08:02 -080087generate_repositories_for_debs(opencv_armhf_debs)
88
Brian Silvermand97a47c2020-01-16 00:47:53 -080089generate_repositories_for_debs(opencv_amd64_debs)
90
Austin Schuhf093fa52019-06-23 20:47:23 -070091http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -070092 name = "python_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -070093 build_file = "@//debian:python.BUILD",
James Kuszmaul77253872019-12-28 11:59:57 -080094 sha256 = "cc48d18417f015238b7efb083f4ff64a80f0baf347fbaf94d5437c14f7a3d84c",
95 url = "http://www.frc971.org/Build-Dependencies/python-4.tar.gz",
Philipp Schrader9fc87e02018-03-10 20:36:39 -080096)
97
Austin Schuhf093fa52019-06-23 20:47:23 -070098http_archive(
James Kuszmaul3ae42262019-11-08 12:33:41 -080099 name = "clang_6p0_repo",
100 build_file = "@//tools/cpp/clang_6p0:clang_6p0.BUILD",
101 sha256 = "7c5dc0f124fbd26e440797a851466e7f852da27d9f1562c74059b5a34c294cc9",
102 url = "http://frc971.org/Build-Dependencies/clang_6p0.tar.gz",
Philipp Schrader9b1790e2018-03-10 20:21:30 -0800103)
104
Austin Schuhd57edc42019-09-21 17:52:38 -0700105local_repository(
106 name = "com_google_absl",
107 path = "third_party/abseil",
Austin Schuh36244a12019-09-21 17:52:38 -0700108)
109
Alex Perrycb7da4b2019-08-28 19:35:56 -0700110local_repository(
111 name = "org_tuxfamily_eigen",
112 path = "third_party/eigen",
113)
114
Austin Schuh36244a12019-09-21 17:52:38 -0700115# C++ rules for Bazel.
116http_archive(
117 name = "rules_cc",
118 sha256 = "67412176974bfce3f4cf8bdaff39784a72ed709fc58def599d1f68710b58d68b",
119 strip_prefix = "rules_cc-b7fe9697c0c76ab2fd431a891dbb9a6a32ed7c3e",
120 urls = [
121 "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/b7fe9697c0c76ab2fd431a891dbb9a6a32ed7c3e.zip",
122 "https://github.com/bazelbuild/rules_cc/archive/b7fe9697c0c76ab2fd431a891dbb9a6a32ed7c3e.zip",
123 ],
124)
Austin Schuhd57edc42019-09-21 17:52:38 -0700125
Austin Schuh4759ffc2015-10-07 20:39:56 -0700126new_local_repository(
Brian Silverman7bda6212018-08-05 11:42:11 -0700127 name = "usr_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700128 build_file = "@//debian:usr.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700129 path = "/usr",
Austin Schuh4759ffc2015-10-07 20:39:56 -0700130)
131
Austin Schuh1f9aeb42015-11-12 23:34:49 -0800132new_git_repository(
Brian Silverman7bda6212018-08-05 11:42:11 -0700133 name = "slycot_repo",
Tyler Chatow2584bb12018-10-27 20:48:35 -0700134 build_file = "@//debian:slycot.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700135 commit = "5af5f283cb23cbe23c4dfea4d5e56071bdbd6e70",
136 remote = "https://github.com/avventi/Slycot.git",
Austin Schuh1f9aeb42015-11-12 23:34:49 -0800137)
138
Austin Schuhf093fa52019-06-23 20:47:23 -0700139http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700140 name = "arm_frc_linux_gnueabi_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700141 build_file = "@//tools/cpp/arm-frc-linux-gnueabi:arm-frc-linux-gnueabi.BUILD",
James Kuszmaul3ae42262019-11-08 12:33:41 -0800142 sha256 = "043a5b047c2af9cf80d146d8327b588264c98a01e0f3f41e3564dd2bbbc95c0e",
143 strip_prefix = "frc2020/roborio/",
144 url = "http://frc971.org/Build-Dependencies/FRC-2020-Linux-Toolchain-7.3.0.tar.gz",
Austin Schuh55139fe2015-10-14 23:55:24 -0700145)
Austin Schuhe456f152015-11-27 13:44:39 -0800146
Brian Silverman0d57fc82016-01-24 21:02:53 -0500147# Recompressed version of the one downloaded from Linaro at
James Kuszmaul3ae42262019-11-08 12:33:41 -0800148# <https://releases.linaro.org/components/toolchain/binaries/7.4-2019.02/arm-linux-gnueabihf/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf.tar.xz>
Brian Silverman0d57fc82016-01-24 21:02:53 -0500149# with workarounds for <https://github.com/bazelbuild/bazel/issues/574> and the
150# top-level folder stripped off.
Austin Schuhf093fa52019-06-23 20:47:23 -0700151http_archive(
James Kuszmaul3ae42262019-11-08 12:33:41 -0800152 name = "linaro_linux_gcc_repo",
153 build_file = "@//:compilers/linaro_linux_gcc.BUILD",
154 sha256 = "3c951cf1941d0fa06d64cc0d5e88612b209d8123b273fa26c16d70bd7bc6b163",
155 strip_prefix = "gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf",
156 url = "http://frc971.org/Build-Dependencies/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf.tar.xz",
Brian Silverman0d57fc82016-01-24 21:02:53 -0500157)
158
Brian Silvermanbf4c1312020-01-12 11:35:45 -0800159# The main partition from https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2019-09-30/2019-09-26-raspbian-buster-lite.zip.
160# The following folders are removed to make bazel happy with it:
161# usr/share/ca-certificates
162# This copy command to make clang happy: `cp usr/lib/arm-linux-gnueabihf/*.o usr/lib`
163http_archive(
164 name = "armhf_debian_rootfs",
Brian Silverman60606c92020-01-15 22:45:04 -0800165 build_file = "@//:compilers/debian_rootfs.BUILD",
Brian Silvermanbf4c1312020-01-12 11:35:45 -0800166 sha256 = "8c827bdb79615046ee3e13e85664e5d01286ca1721f7169341667a634e599eb6",
167 url = "http://frc971.org/Build-Dependencies/2019-09-26-raspbian-buster-lite_rootfs.tar.bz2",
168)
169
Brian Silverman60606c92020-01-15 22:45:04 -0800170# Created with:
171# `debootstrap buster buster_sysroot`
172# and then chrooting in and running:
173# apt install libc6-dev libstdc++-7-dev
174# and then tarring up the result
175http_archive(
176 name = "amd64_debian_sysroot",
177 build_file = "@//:compilers/debian_rootfs.BUILD",
178 sha256 = "fb0a4f0b35b4c99fcfc83902d2d2eaac7062024b2ff2f998e68736aac92c8e59",
179 url = "http://frc971.org/Build-Dependencies/2019-01-14-debian-buster_rootfs.tar.bz2",
180)
181
Austin Schuhe456f152015-11-27 13:44:39 -0800182new_git_repository(
Brian Silverman7bda6212018-08-05 11:42:11 -0700183 name = "python_gflags_repo",
Tyler Chatow2584bb12018-10-27 20:48:35 -0700184 build_file = "@//debian:gflags.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700185 commit = "41c4571864f0db5823e07715317e7388e94faabc",
186 remote = "https://github.com/gflags/python-gflags.git",
Austin Schuhe456f152015-11-27 13:44:39 -0800187)
188
189bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700190 name = "python-gflags",
191 actual = "@python_gflags_repo//:gflags",
Austin Schuhe456f152015-11-27 13:44:39 -0800192)
193
Brian Silverman16a923c2018-10-31 19:40:51 -0700194local_repository(
195 name = "com_github_gflags_gflags",
196 path = "third_party/gflags",
197)
198
Brian Silverman8d644032020-02-02 12:15:43 -0800199# Downloaded from:
200# https://pypi.python.org/packages/source/g/glog/glog-0.1.tar.gz
Austin Schuhf093fa52019-06-23 20:47:23 -0700201http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700202 name = "python_glog_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700203 build_file = "@//debian:glog.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700204 sha256 = "953fd80122c48023d1148e6d1bda2763fcab59c8a81682bb298238a5935547b0",
205 strip_prefix = "glog-0.1",
Brian Silverman8d644032020-02-02 12:15:43 -0800206 url = "http://frc971.org/Build-Dependencies/glog-0.1.tar.gz",
Austin Schuhe456f152015-11-27 13:44:39 -0800207)
208
209bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700210 name = "python-glog",
211 actual = "@python_glog_repo//:glog",
Austin Schuhe456f152015-11-27 13:44:39 -0800212)
Brian Silvermancee260a2015-12-24 16:27:51 -0800213
Brian Silverman82a12b92019-01-19 21:52:10 -0800214# Generated with:
215# git fetch https://github.com/wpilibsuite/ni-libraries master
James Kuszmaul76a37ae2020-01-04 16:21:52 -0800216# git archive --output=allwpilib_ni-libraries_c826046.tar.gz --format=tar.gz c826046
Austin Schuhf093fa52019-06-23 20:47:23 -0700217http_archive(
James Kuszmaulc9c46b32019-12-08 21:10:00 -0800218 name = "allwpilib_ni_libraries",
219 build_file = "@//debian:ni-libraries.BUILD",
James Kuszmaul76a37ae2020-01-04 16:21:52 -0800220 sha256 = "59e971854d689b8e60d2b7ede3cc1da911dbc70deeccb9b5306bb7c7aa5102d9",
221 url = "http://frc971.org/Build-Dependencies/allwpilib_ni-libraries_c826046.tar.gz",
Brian Silverman82a12b92019-01-19 21:52:10 -0800222)
223
Brian Silverman3fca9d72016-02-20 02:32:51 -0500224# Downloaded from:
225# https://pypi.python.org/packages/source/s/six/six-1.10.0.tar.gz
Austin Schuhf093fa52019-06-23 20:47:23 -0700226http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700227 name = "six_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700228 build_file = "@//debian:six.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700229 sha256 = "105f8d68616f8248e24bf0e9372ef04d3cc10104f1980f54d57b2ce73a5ad56a",
230 strip_prefix = "six-1.10.0",
johnp8a384f92019-01-03 13:10:00 -0800231 url = "http://www.frc971.org/Build-Dependencies/six-1.10.0.tar.gz",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500232)
233
234# For protobuf. Don't use these.
235bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700236 name = "six",
237 actual = "@six_repo//:six",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500238)
Brian Silverman7bda6212018-08-05 11:42:11 -0700239
Brian Silverman3fca9d72016-02-20 02:32:51 -0500240bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700241 name = "gtest",
242 actual = "//third_party/googletest:googlemock",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500243)
Brian Silverman7bda6212018-08-05 11:42:11 -0700244
Brian Silverman3fca9d72016-02-20 02:32:51 -0500245bind(
Brian Silverman7bda6212018-08-05 11:42:11 -0700246 name = "gtest_main",
247 actual = "//third_party/googletest:googlemock_main",
Brian Silverman3fca9d72016-02-20 02:32:51 -0500248)
249
Brian Silverman4aa83042018-01-05 12:47:31 -0800250# Recompressed from libusb-1.0.21.7z.
251http_file(
Brian Silverman7bda6212018-08-05 11:42:11 -0700252 name = "libusb_1_0_windows",
Austin Schuh4ac96a82019-08-14 20:24:23 -0700253 downloaded_file_path = "libusb-1.0.21-windows.tar.xz",
Brian Silverman7bda6212018-08-05 11:42:11 -0700254 sha256 = "fc2ba03992f343aabbaf9eb90559c6e00cdc6a2bd914d7cebea85857d5244015",
Austin Schuhf093fa52019-06-23 20:47:23 -0700255 urls = ["http://www.frc971.org/Build-Dependencies/libusb-1.0.21-windows.tar.xz"],
Brian Silverman4aa83042018-01-05 12:47:31 -0800256)
Brian Silvermand3ad1652018-02-18 22:16:29 -0500257
258# The data tarball of the same-named Debian package.
Austin Schuhf093fa52019-06-23 20:47:23 -0700259http_archive(
Brian Silvermand3ad1652018-02-18 22:16:29 -0500260 name = "f2c",
Austin Schuhf093fa52019-06-23 20:47:23 -0700261 build_file = "@//debian:f2c.BUILD",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500262 sha256 = "2c677437f8217a2e2b23e41b33995d0571644fc1bea46de858f8913a5053e3f4",
johnp8a384f92019-01-03 13:10:00 -0800263 url = "http://www.frc971.org/Build-Dependencies/f2c_20100827-1_amd64.xz.tar.xz",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500264)
265
266# Downloaded from http://www.netlib.org/clapack/.
Austin Schuhf093fa52019-06-23 20:47:23 -0700267http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700268 name = "clapack",
Austin Schuhf093fa52019-06-23 20:47:23 -0700269 build_file = "@//debian:clapack.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700270 sha256 = "6dc4c382164beec8aaed8fd2acc36ad24232c406eda6db462bd4c41d5e455fac",
271 strip_prefix = "CLAPACK-3.2.1/",
johnp8a384f92019-01-03 13:10:00 -0800272 url = "http://www.frc971.org/Build-Dependencies/clapack-3.2.1.tgz",
Brian Silverman7bda6212018-08-05 11:42:11 -0700273)
274
Austin Schuhf093fa52019-06-23 20:47:23 -0700275http_archive(
Brian Silverman7bda6212018-08-05 11:42:11 -0700276 name = "patch",
Austin Schuhf093fa52019-06-23 20:47:23 -0700277 build_file = "@//debian:patch.BUILD",
Brian Silverman7bda6212018-08-05 11:42:11 -0700278 sha256 = "b5ce139648a2e04f5585948ddad2fdae24dd4ee7976ac5a22d6ae7bd5674631e",
johnp8a384f92019-01-03 13:10:00 -0800279 url = "http://www.frc971.org/Build-Dependencies/patch.tar.gz",
Brian Silvermand3ad1652018-02-18 22:16:29 -0500280)
Brian Silverman7297c0c2018-08-05 13:43:00 -0700281
Austin Schuhf093fa52019-06-23 20:47:23 -0700282http_archive(
Austin Schuh71f6fa72019-08-31 18:23:02 -0700283 name = "rsync",
284 build_file = "@//debian:rsync.BUILD",
285 sha256 = "53be65a9214aaa6d1b9176f135184fb4a78ccefd58f95ce0da37e6a392dfeb60",
286 url = "http://www.frc971.org/Build-Dependencies/rsync.tar.gz",
287)
288
Brian Silvermanbd7860e2020-01-05 17:52:40 -0800289# //debian:ssh
Austin Schuh71f6fa72019-08-31 18:23:02 -0700290http_archive(
291 name = "ssh",
292 build_file = "@//debian:ssh.BUILD",
Brian Silvermanbd7860e2020-01-05 17:52:40 -0800293 sha256 = "470fdc1252a2133a9d3c3da778e892a5b88f04f402cb04d8eb1cff7853242034",
294 url = "http://www.frc971.org/Build-Dependencies/ssh_v3.tar.gz",
Austin Schuh71f6fa72019-08-31 18:23:02 -0700295)
296
297http_archive(
Brian Silverman7297c0c2018-08-05 13:43:00 -0700298 name = "pandoc",
Austin Schuhf093fa52019-06-23 20:47:23 -0700299 build_file = "@//debian:pandoc.BUILD",
Brian Silverman7297c0c2018-08-05 13:43:00 -0700300 sha256 = "9f7a7adb3974a1f14715054c349ff3edc2909e920dbe3438fca437a83845f3c4",
johnp8a384f92019-01-03 13:10:00 -0800301 url = "http://www.frc971.org/Build-Dependencies/pandoc.tar.gz",
Brian Silverman7297c0c2018-08-05 13:43:00 -0700302)
Brian Silverman4f6ba442018-08-05 14:34:58 -0700303
Austin Schuhf093fa52019-06-23 20:47:23 -0700304http_archive(
Brian Silverman4f6ba442018-08-05 14:34:58 -0700305 name = "libusb",
Austin Schuhf093fa52019-06-23 20:47:23 -0700306 build_file = "@//debian:libusb.BUILD",
Brian Silverman4f6ba442018-08-05 14:34:58 -0700307 sha256 = "3ca5cc2d317226f6646866ff9e8c443db3b0f6c82f828e800240982727531590",
johnp8a384f92019-01-03 13:10:00 -0800308 url = "http://www.frc971.org/Build-Dependencies/libusb.tar.gz",
Brian Silverman4f6ba442018-08-05 14:34:58 -0700309)
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700310
Austin Schuhf093fa52019-06-23 20:47:23 -0700311http_archive(
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700312 name = "mingw_compiler",
Austin Schuhf093fa52019-06-23 20:47:23 -0700313 build_file = "@//debian:mingw_compiler.BUILD",
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700314 sha256 = "45e86a8460f2151a4f0306e7ae7b06761029d2412ee16f63d1e8d2d29354e378",
johnp8a384f92019-01-03 13:10:00 -0800315 url = "http://www.frc971.org/Build-Dependencies/mingw_compiler.tar.gz",
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700316)
Brian Silverman6470f442018-08-05 12:08:16 -0700317
James Kuszmaul910f92b2020-01-01 15:30:38 -0800318# Note that we should generally keep the matplotlib repo in a folder not
319# named matplotlib, because otherwise the repository itself tends to end up
320# on the PYTHONPATH, rather than the matplotlib folder within this repo.
Austin Schuhf093fa52019-06-23 20:47:23 -0700321http_archive(
James Kuszmaul910f92b2020-01-01 15:30:38 -0800322 name = "matplotlib_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700323 build_file = "@//debian:matplotlib.BUILD",
James Kuszmaul910f92b2020-01-01 15:30:38 -0800324 sha256 = "24f8b75754e465299ddf92bd895ab111d54945a45b0f410d7cfa16b15b162e2f",
325 url = "http://www.frc971.org/Build-Dependencies/matplotlib-4.tar.gz",
Brian Silverman6470f442018-08-05 12:08:16 -0700326)
327
Austin Schuhf093fa52019-06-23 20:47:23 -0700328http_archive(
Brian Silverman6470f442018-08-05 12:08:16 -0700329 name = "patchelf",
Austin Schuhf093fa52019-06-23 20:47:23 -0700330 build_file = "@//debian:patchelf.BUILD",
Brian Silverman6470f442018-08-05 12:08:16 -0700331 sha256 = "bf8b709909d7d9e30815dd228eeded7dc282e3ce3919d0589ccbb56ac8632abc",
johnp8a384f92019-01-03 13:10:00 -0800332 url = "http://www.frc971.org/Build-Dependencies/patchelf.tar.gz",
Brian Silverman6470f442018-08-05 12:08:16 -0700333)
Brian Silverman50b9ac02018-08-12 13:24:10 -0700334
Austin Schuhf093fa52019-06-23 20:47:23 -0700335http_archive(
Brian Silverman50b9ac02018-08-12 13:24:10 -0700336 name = "arm_frc_gnueabi_deps",
Austin Schuhf093fa52019-06-23 20:47:23 -0700337 build_file = "@//debian:arm_frc_gnueabi_deps.BUILD",
Brian Silverman50b9ac02018-08-12 13:24:10 -0700338 sha256 = "4b26fe45010817dc136488ee1604ade21bd7c264c29f17d864fc6eba9d7442c4",
johnp8a384f92019-01-03 13:10:00 -0800339 url = "http://www.frc971.org/Build-Dependencies/arm_frc_gnueabi_deps.tar.gz",
Brian Silverman50b9ac02018-08-12 13:24:10 -0700340)
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700341
Austin Schuhf093fa52019-06-23 20:47:23 -0700342http_archive(
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -0700343 name = "python_gtk",
Austin Schuhf093fa52019-06-23 20:47:23 -0700344 build_file = "@//debian:python_gtk.BUILD",
James Kuszmaulf89cfab2020-01-17 19:48:25 -0800345 sha256 = "2c95dbce3ead87ad7d64327535f08c95ab14d5c12d5646530d734e70a1921130",
346 url = "http://www.frc971.org/Build-Dependencies/python_gtk-2.tar.gz",
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -0700347)
348
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700349# Downloaded from
350# 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 -0700351http_archive(
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700352 name = "gcc_arm_none_eabi",
Austin Schuhf093fa52019-06-23 20:47:23 -0700353 build_file = "@//:compilers/gcc_arm_none_eabi.BUILD",
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700354 sha256 = "bb17109f0ee697254a5d4ae6e5e01440e3ea8f0277f2e8169bf95d07c7d5fe69",
355 strip_prefix = "gcc-arm-none-eabi-7-2018-q2-update/",
johnp8a384f92019-01-03 13:10:00 -0800356 url = "http://www.frc971.org/Build-Dependencies/gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2",
Brian Silverman6c8b88b2018-09-03 18:17:02 -0700357)
Austin Schuhad596222018-01-31 23:34:03 -0800358
Austin Schuhf093fa52019-06-23 20:47:23 -0700359http_archive(
Austin Schuhad596222018-01-31 23:34:03 -0800360 name = "cgal_repo",
Austin Schuhf093fa52019-06-23 20:47:23 -0700361 build_file = "@//debian:cgal.BUILD",
Austin Schuhad596222018-01-31 23:34:03 -0800362 sha256 = "d564dda558570344b4caa66c5bae2cdae9ef68e07829d64f5651b25f2c6a0e9e",
johnp8a384f92019-01-03 13:10:00 -0800363 url = "http://www.frc971.org/Build-Dependencies/cgal-dev-4.5-2.tar.gz",
Austin Schuhad596222018-01-31 23:34:03 -0800364)
Austin Schuhe18baff2018-10-20 17:40:42 -0700365
366# Java9 JDK.
Austin Schuhf093fa52019-06-23 20:47:23 -0700367http_archive(
Austin Schuhe18baff2018-10-20 17:40:42 -0700368 name = "openjdk_linux_archive",
369 build_file_content = """
370java_runtime(
371 name = 'jdk',
372 srcs = glob(['**']),
Austin Schuhf6b94632019-02-02 22:11:27 -0800373 visibility = ['//visibility:public'],
Austin Schuhe18baff2018-10-20 17:40:42 -0700374)
375""",
376 sha256 = "f27cb933de4f9e7fe9a703486cf44c84bc8e9f138be0c270c9e5716a32367e87",
377 strip_prefix = "zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules",
378 urls = [
johnp8a384f92019-01-03 13:10:00 -0800379 "http://www.frc971.org/Build-Dependencies/zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules.tar.gz",
Austin Schuhe18baff2018-10-20 17:40:42 -0700380 ],
381)
382
Austin Schuhf9724442018-10-28 20:30:21 -0700383local_repository(
384 name = "com_google_protobuf",
385 path = "third_party/protobuf",
Brian Silverman9c614bc2016-02-15 20:20:02 -0500386)
Austin Schuh10358f22019-01-21 20:25:11 -0800387
388local_repository(
389 name = "com_github_google_glog",
390 path = "third_party/google-glog",
391)
Austin Schuh6defdeb2019-01-21 21:00:30 -0800392
Alex Perrycb7da4b2019-08-28 19:35:56 -0700393local_repository(
394 name = "com_google_googletest",
395 path = "third_party/googletest",
396)
397
Austin Schuh6defdeb2019-01-21 21:00:30 -0800398# External dependency: Google Benchmark; has no Bazel build.
399local_repository(
400 name = "com_github_google_benchmark",
401 path = "third_party/google-benchmark",
Austin Schuhcbc17402019-01-21 21:00:30 -0800402)
Austin Schuh033df092019-01-21 19:46:48 -0800403
404local_repository(
405 name = "com_google_ceres_solver",
406 path = "third_party/ceres",
Austin Schuh70cc9552019-01-21 19:46:48 -0800407)
Austin Schuhf6b94632019-02-02 22:11:27 -0800408
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800409# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/api-cpp/5.18.1/.
Austin Schuhf093fa52019-06-23 20:47:23 -0700410http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800411 name = "ctre_phoenix_api_cpp_headers",
Austin Schuhf6b94632019-02-02 22:11:27 -0800412 build_file_content = """
413cc_library(
414 name = 'api-cpp',
415 visibility = ['//visibility:public'],
416 hdrs = glob(['ctre/phoenix/**/*.h']),
417)
418""",
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800419 sha256 = "230ff927e36b2f75e746da0f0bf9852e5a049bb3e95c4617138ef0618b2e80d9",
Austin Schuhf6b94632019-02-02 22:11:27 -0800420 urls = [
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800421 "http://www.frc971.org/Build-Dependencies/api-cpp-5.18.1-headers.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800422 ],
423)
424
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800425# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/api-cpp/5.18.1/.
Austin Schuhf093fa52019-06-23 20:47:23 -0700426http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800427 name = "ctre_phoenix_api_cpp_athena",
Austin Schuhf6b94632019-02-02 22:11:27 -0800428 build_file_content = """
429cc_library(
430 name = 'api-cpp',
431 visibility = ['//visibility:public'],
432 srcs = ['linux/athena/static/libCTRE_Phoenix.a'],
433 restricted_to = ['@//tools:roborio'],
434 deps = [
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800435 '@ctre_phoenix_core_headers//:core',
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800436 '@ctre_phoenix_core_athena//:core',
Austin Schuhf6b94632019-02-02 22:11:27 -0800437 ],
438)
439""",
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800440 sha256 = "a4de1930e1e946e1c72c13ee272dae38c12c4b7b85b44477dbb67312724d96b1",
Austin Schuhf6b94632019-02-02 22:11:27 -0800441 urls = [
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800442 "http://www.frc971.org/Build-Dependencies/api-cpp-5.18.1-linuxathenastatic.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800443 ],
444)
445
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800446# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/diagnostics/5.18.1/.
Austin Schuhf093fa52019-06-23 20:47:23 -0700447http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800448 name = "ctre_phoenix_diagnostics_headers",
449 build_file_content = """
450cc_library(
451 name = 'diagnostics',
452 visibility = ['//visibility:public'],
453 hdrs = glob(['ctre/phoenix/**/*.h']),
454)
455""",
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800456 sha256 = "a94bff6c241de8dc2396a1cece9e2822fe4a7e4980aedaaea682c3e8c5de008c",
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800457 urls = [
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800458 "http://www.frc971.org/Build-Dependencies/diagnostics-5.18.1-headers.zip",
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800459 ],
460)
461
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800462# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/diagnostics/5.18.1/.
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800463http_archive(
464 name = "ctre_phoenix_diagnostics_athena",
465 build_file_content = """
466cc_library(
467 name = 'diagnostics',
468 visibility = ['//visibility:public'],
469 srcs = ['linux/athena/static/libCTRE_PhoenixDiagnostics.a'],
470 restricted_to = ['@//tools:roborio'],
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800471 deps = [
472 '@ctre_phoenix_core_headers//:core',
473 '@ctre_phoenix_core_athena//:core',
474 ],
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800475)
476""",
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800477 sha256 = "638a4a4d7400942baa040619ea6cde2bdef0e7721300a9427424a577ce0f56db",
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800478 urls = [
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800479 "http://www.frc971.org/Build-Dependencies/diagnostics-5.18.1-linuxathenastatic.zip",
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800480 ],
481)
482
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800483# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/cci/5.18.1/.
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800484http_archive(
485 name = "ctre_phoenix_cci_headers",
Austin Schuhf6b94632019-02-02 22:11:27 -0800486 build_file_content = """
487cc_library(
488 name = 'cci',
489 visibility = ['//visibility:public'],
490 hdrs = glob(['ctre/phoenix/**/*.h']),
491)
492""",
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800493 sha256 = "31e4d8f7fd9612ba687661e19aabc3d89dc076f66756d4696aa7799f31bbc72f",
Austin Schuhf6b94632019-02-02 22:11:27 -0800494 urls = [
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800495 "http://www.frc971.org/Build-Dependencies/cci-5.18.1-headers.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800496 ],
497)
498
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800499# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/cci/5.18.1/.
Austin Schuhf093fa52019-06-23 20:47:23 -0700500http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800501 name = "ctre_phoenix_cci_athena",
Austin Schuhf6b94632019-02-02 22:11:27 -0800502 build_file_content = """
503cc_library(
504 name = 'cci',
505 visibility = ['//visibility:public'],
506 srcs = ['linux/athena/static/libCTRE_PhoenixCCI.a'],
507 restricted_to = ['@//tools:roborio'],
508)
509""",
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800510 sha256 = "e5d9b58072002dbd2daa8cc8d42e047e5c90d26bd5a2b1d63dc1b89112ac3837",
Austin Schuhf6b94632019-02-02 22:11:27 -0800511 urls = [
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800512 "http://www.frc971.org/Build-Dependencies/cci-5.18.1-linuxathenastatic.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800513 ],
514)
515
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800516# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/core/5.18.1/.
Austin Schuhf093fa52019-06-23 20:47:23 -0700517http_archive(
James Kuszmaul02eb05e2019-12-22 12:32:18 -0800518 name = "ctre_phoenix_core_headers",
Austin Schuhf6b94632019-02-02 22:11:27 -0800519 build_file_content = """
520cc_library(
521 name = 'core',
522 visibility = ['//visibility:public'],
523 hdrs = glob(['ctre/phoenix/**/*.h']),
524)
525""",
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800526 sha256 = "af2db0f9c3693cbb74216882ee140e4d6b722a416f2d384062378a8ae37f65ee",
Austin Schuhf6b94632019-02-02 22:11:27 -0800527 urls = [
James Kuszmaulb656f2e2020-02-17 18:08:09 -0800528 "http://www.frc971.org/Build-Dependencies/core-5.18.1-headers.zip",
529 ],
530)
531
532# Downloaded from http://devsite.ctr-electronics.com/maven/release/com/ctre/phoenix/core/5.18.1/.
533http_archive(
534 name = "ctre_phoenix_core_athena",
535 build_file_content = """
536cc_library(
537 name = 'core',
538 visibility = ['//visibility:public'],
539 srcs = ['linux/athena/static/libCTRE_PhoenixCore.a'],
540 restricted_to = ['@//tools:roborio'],
541)
542""",
543 sha256 = "cd827bc68c0f4ef2fe6c363a7f9f5a08f7d944b574c65a2c7fb823686501f43f",
544 urls = [
545 "http://www.frc971.org/Build-Dependencies/core-5.18.1-linuxathenastatic.zip",
Austin Schuhf6b94632019-02-02 22:11:27 -0800546 ],
547)
Austin Schuheed14442019-03-23 14:42:46 -0700548
549http_archive(
550 name = "build_bazel_rules_typescript",
551 strip_prefix = "rules_typescript-0.21.0",
552 url = "https://github.com/bazelbuild/rules_typescript/archive/0.21.0.zip",
553)
554
James Kuszmaul27da8142019-07-21 16:13:55 -0700555emscripten_version = "1.38.31"
Alex Perrycb7da4b2019-08-28 19:35:56 -0700556
James Kuszmaul27da8142019-07-21 16:13:55 -0700557http_archive(
558 name = "emscripten_toolchain",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700559 build_file_content = """
560filegroup(
561 name = 'all',
562 visibility = ['//visibility:public'],
563 srcs = glob(['**']),
564)
565""",
James Kuszmaul27da8142019-07-21 16:13:55 -0700566 # TODO(james): Once a functioning release contains this patch, convert
567 # to that. See https://github.com/emscripten-core/emscripten/pull/9048
568 patches = ["@//debian:emscripten_toolchain.patch"],
569 sha256 = "c87e42cb6a104094e7daf2b7e61ac835f83674ac0168f533455838a1129cc764",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700570 strip_prefix = "emscripten-" + emscripten_version,
571 urls = ["https://github.com/emscripten-core/emscripten/archive/" + emscripten_version + ".tar.gz"],
James Kuszmaul27da8142019-07-21 16:13:55 -0700572)
573
574new_http_archive(
575 name = "emscripten_clang",
James Kuszmaul27da8142019-07-21 16:13:55 -0700576 build_file_content = """
577filegroup(
578 name = 'all',
579 visibility = ['//visibility:public'],
580 srcs = glob(['**']),
581)
582""",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700583 sha256 = "a0c2f2c5a897577f40af0fdf68dcf3cf65557ff20c081df26678c066a4fed4b1",
584 strip_prefix = "emscripten-llvm-e" + emscripten_version,
Austin Schuhd8614e02019-12-01 13:35:34 -0800585 url = "http://www.frc971.org/Build-Dependencies/emscripten-llvm-e" + emscripten_version + ".tar.gz",
James Kuszmaul27da8142019-07-21 16:13:55 -0700586)
587
Alex Perry0ea81612020-01-20 13:26:13 -0800588new_http_archive(
589 name = "webrtc_x64",
590 build_file = "@//debian:webrtc.BUILD",
591 sha256 = "bd212b2a112a043d08d27f49027091788fa01c7c2ac5f072d096c17d9dbd976f",
592 url = "http://www.frc971.org/Build-Dependencies/webrtc-30326-1a68679-linux-x64.tar.gz",
593)
594
595new_http_archive(
596 name = "webrtc_arm",
597 build_file = "@//debian:webrtc.BUILD",
598 sha256 = "c34badaf313877cd03a0dfd6b71de024d806a7652550a7f1cd7dea523a7c813d",
599 url = "http://www.frc971.org/Build-Dependencies/webrtc-30326-1a68679-linux-arm.tar.gz",
600)
601
602new_http_archive(
603 name = "webrtc_rio",
604 build_file = "@//debian:webrtc.BUILD",
605 sha256 = "d86d3b030099b35ae5ea31c807fb4d0b0352598e79f1ea84877e5504e185faa8",
606 url = "http://www.frc971.org/Build-Dependencies/webrtc-30376-4c4735b-linux-rio.tar.gz",
607)
608
Austin Schuheed14442019-03-23 14:42:46 -0700609# Fetch our Bazel dependencies that aren't distributed on npm
610load("@build_bazel_rules_typescript//:package.bzl", "rules_typescript_dependencies")
611
612rules_typescript_dependencies()
613
614# Setup TypeScript toolchain
615load("@build_bazel_rules_typescript//:defs.bzl", "ts_setup_workspace")
616
617ts_setup_workspace()
618
619# Setup the NodeJS toolchain
620load("@build_bazel_rules_nodejs//:defs.bzl", "node_repositories", "yarn_install")
621
622node_repositories()
623
624# Setup Bazel managed npm dependencies with the `yarn_install` rule.
625yarn_install(
626 name = "npm",
627 package_json = "//:package.json",
628 yarn_lock = "//:yarn.lock",
629)
Austin Schuh4ac96a82019-08-14 20:24:23 -0700630
631# Flatbuffers
632local_repository(
633 name = "com_github_google_flatbuffers",
634 path = "third_party/flatbuffers",
635)
James Kuszmaul7daef362019-12-31 18:28:17 -0800636
637http_file(
638 name = "sample_logfile",
639 downloaded_file_path = "log.fbs",
640 sha256 = "91c98edee0c90a19992792c711dde4a6743af2d6d7e45b5079ec228fdf51ff11",
641 urls = ["http://www.frc971.org/Build-Dependencies/small_sample_logfile.fbs"],
642)
Brian Silvermand4260c72020-01-14 00:08:02 -0800643
644# OpenCV armhf (for raspberry pi)
645http_archive(
646 name = "opencv_armhf",
647 build_file = "@//debian:opencv.BUILD",
648 sha256 = "1dd496ad0947ed6ce5d89cbefcfa55ea15ccb5bf70fa6ad7701c62cf2fcdd657",
649 url = "http://www.frc971.org/Build-Dependencies/opencv_armhf_v3.tar.gz",
650)
Brian Silvermand97a47c2020-01-16 00:47:53 -0800651
652http_archive(
653 name = "opencv_k8",
654 build_file = "@//debian:opencv.BUILD",
655 sha256 = "4b438c5bb123b2ed95db959fcfdefc833e8e5eee5778c0fbecbb62a94df0079e",
656 url = "http://www.frc971.org/Build-Dependencies/opencv_amd64.tar.gz",
657)
Brian Silverman764945b2020-01-16 23:40:43 -0800658
659# Downloaded from:
660# https://github.com/halide/Halide/releases/download/release_2019_08_27/halide-linux-64-gcc53-800-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz
661# which is "Halide 2019/08/27" at https://github.com/halide/Halide/releases.
662http_archive(
663 name = "halide_k8",
664 build_file = "@//debian:halide.BUILD",
665 strip_prefix = "halide/",
666 url = "http://www.frc971.org/Build-Dependencies/halide-linux-64-gcc53-800-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz",
667)
668
669# Downloaded from:
670# https://github.com/halide/Halide/releases/download/release_2019_08_27/halide-arm32-linux-32-trunk-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz
671# which is "Halide 2019/08/27" at https://github.com/halide/Halide/releases.
672http_archive(
673 name = "halide_armhf",
674 build_file = "@//debian:halide.BUILD",
675 strip_prefix = "halide/",
676 url = "http://www.frc971.org/Build-Dependencies/halide-arm32-linux-32-trunk-65c26cba6a3eca2d08a0bccf113ca28746012cc3.tgz",
677)
Brian Silverman4fe44ea2020-02-02 12:56:42 -0800678
679# Downloaded from:
680# https://files.pythonhosted.org/packages/05/23/7f9a896da9e7ce4170377a7a14bb804b460761f9dd66734e6ad8f001a76c/opencv_contrib_python_nonfree-4.1.1.1-cp35-cp35m-manylinux1_x86_64.whl
681http_archive(
682 name = "opencv_contrib_nonfree_amd64",
683 build_file = "@//debian:opencv_python.BUILD",
684 sha256 = "c10e7712ee1f19bf382c64fc29b5d24fa0b5bfd901eab69cef83604713e6a89e",
685 type = "zip",
686 url = "http://www.frc971.org/Build-Dependencies/opencv_contrib_python_nonfree-4.1.1.1-cp35-cp35m-manylinux1_x86_64.whl",
687)