blob: 0540a280a7d33a261481303cffda1efb8d6efdb6 [file] [log] [blame]
Philipp Schrader0e19c602018-03-07 21:07:22 -08001load(
2 "//debian:python.bzl",
3 python_debs = "files",
4)
Philipp Schraderaedfc5c2018-03-10 19:32:30 -08005load(
Brian Silverman7bda6212018-08-05 11:42:11 -07006 ":patch.bzl",
7 patch_debs = "files",
8)
Brian Silverman7297c0c2018-08-05 13:43:00 -07009load(
Austin Schuh71f6fa72019-08-31 18:23:02 -070010 ":rsync.bzl",
11 rsync_debs = "files",
12)
13load(
14 ":ssh.bzl",
15 ssh_debs = "files",
16)
17load(
Brian Silverman7297c0c2018-08-05 13:43:00 -070018 ":pandoc.bzl",
19 pandoc_debs = "files",
20)
Brian Silverman4f6ba442018-08-05 14:34:58 -070021load(
22 ":libusb.bzl",
23 libusb_debs = "files",
24)
Brian Silvermanb80dc9f2018-08-05 14:59:24 -070025load(
26 ":mingw_compiler.bzl",
27 mingw_compiler_debs = "files",
28)
Brian Silverman6470f442018-08-05 12:08:16 -070029load(
30 ":patchelf.bzl",
31 patchelf_debs = "files",
32)
33load(
34 ":matplotlib.bzl",
35 matplotlib_debs = "files",
36)
Brian Silverman50b9ac02018-08-12 13:24:10 -070037load(
38 ":arm_frc_gnueabi_deps.bzl",
39 arm_frc_gnueabi_deps_debs = "files",
40)
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -070041load(
42 ":python_gtk.bzl",
43 python_gtk_debs = "files",
44)
Brian Silvermand4260c72020-01-14 00:08:02 -080045load(
46 ":opencv_armhf.bzl",
47 opencv_armhf_debs = "files",
48)
Brian Silvermand97a47c2020-01-16 00:47:53 -080049load(
50 ":opencv_amd64.bzl",
51 opencv_amd64_debs = "files",
52)
Tyler Chatow60671d32020-02-26 19:49:30 -080053load(
54 ":gstreamer_amd64.bzl",
55 gstreamer_amd64_debs = "files",
56)
57load(
58 ":gstreamer_armhf.bzl",
59 gstreamer_armhf_debs = "files",
60)
Austin Schuh023e7f52020-08-18 21:24:37 -070061load(
Brian Silvermanf59fe3f2020-09-22 21:04:09 -070062 ":lzma_amd64.bzl",
63 lzma_amd64_debs = "files",
64)
65load(
66 ":lzma_arm64.bzl",
67 lzma_arm64_debs = "files",
68)
69load(":packages.bzl", "download_packages", "generate_deb_tarball")
Philipp Schrader0e19c602018-03-07 21:07:22 -080070
Philipp Schradercc016b32021-12-30 08:59:58 -080071package(default_visibility = ["//visibility:public"])
72
Brian Silverman6470f442018-08-05 12:08:16 -070073filegroup(
74 name = "matplotlib_patches",
75 srcs = [
76 "matplotlib_init.patch",
77 ],
James Kuszmaul910f92b2020-01-01 15:30:38 -080078 visibility = ["@matplotlib_repo//:__pkg__"],
Brian Silverman6470f442018-08-05 12:08:16 -070079)
80
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -070081filegroup(
82 name = "python_shapely_patches",
83 srcs = [
84 "python_shapely_init.patch",
85 ],
86 visibility = ["@python_gtk//:__pkg__"],
87)
88
89filegroup(
90 name = "python_gi_patches",
91 srcs = [
92 "python_gi_init.patch",
93 ],
94 visibility = ["@python_gtk//:__pkg__"],
95)
96
97filegroup(
98 name = "python_geos_patches",
99 srcs = [
100 "python_geos.patch",
101 ],
102 visibility = ["@python_gtk//:__pkg__"],
103)
104
Philipp Schrader0e19c602018-03-07 21:07:22 -0800105py_binary(
106 name = "download_packages",
107 srcs = [
108 "download_packages.py",
109 ],
Philipp Schrader0e19c602018-03-07 21:07:22 -0800110 main = "download_packages.py",
Philipp Schraderdada1072020-11-24 11:34:46 -0800111 target_compatible_with = ["@platforms//os:linux"],
Philipp Schrader0e19c602018-03-07 21:07:22 -0800112)
113
114download_packages(
115 name = "download_python_deps",
116 excludes = [
117 "libblas.so.3",
118 "liblapack.so.3",
119 ],
120 packages = [
Philipp Schrader0e19c602018-03-07 21:07:22 -0800121 "python3-dev",
122 "python3-numpy",
Brian Silverman6470f442018-08-05 12:08:16 -0700123 "python3-scipy",
Philipp Schrader0e19c602018-03-07 21:07:22 -0800124 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800125 target_compatible_with = ["@platforms//os:linux"],
Philipp Schrader0e19c602018-03-07 21:07:22 -0800126)
127
Philipp Schraderaedfc5c2018-03-10 19:32:30 -0800128download_packages(
129 name = "download_clang_deps",
130 excludes = [
James Kuszmaul3ae42262019-11-08 12:33:41 -0800131 "lib32stdc++6",
132 "libstdc++6",
Philipp Schraderaedfc5c2018-03-10 19:32:30 -0800133 ],
134 force_includes = [
135 "libc6",
136 "libc6-dev",
137 ],
138 packages = [
James Kuszmaul3ae42262019-11-08 12:33:41 -0800139 "clang-6.0",
140 "clang-format-6.0",
Philipp Schraderaedfc5c2018-03-10 19:32:30 -0800141 "gcc",
142 "gfortran",
143 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800144 target_compatible_with = ["@platforms//os:linux"],
Philipp Schraderaedfc5c2018-03-10 19:32:30 -0800145)
146
Brian Silverman7bda6212018-08-05 11:42:11 -0700147download_packages(
148 name = "download_patch_deps",
149 packages = [
150 "patch",
151 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800152 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman7bda6212018-08-05 11:42:11 -0700153)
154
Brian Silverman7297c0c2018-08-05 13:43:00 -0700155download_packages(
156 name = "download_pandoc_deps",
157 packages = [
158 "pandoc",
159 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800160 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman7297c0c2018-08-05 13:43:00 -0700161)
162
Brian Silverman4f6ba442018-08-05 14:34:58 -0700163download_packages(
164 name = "download_libusb_deps",
165 packages = [
166 "libusb-0.1-4",
167 "libusb-1.0-0",
168 "libusb-1.0-0-dev",
169 "libusb-dev",
170 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800171 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman4f6ba442018-08-05 14:34:58 -0700172)
173
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700174download_packages(
175 name = "download_mingw_compiler_deps",
176 packages = [
177 "g++-mingw-w64-x86-64",
178 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800179 target_compatible_with = ["@platforms//os:linux"],
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700180)
181
Brian Silverman6470f442018-08-05 12:08:16 -0700182download_packages(
183 name = "download_patchelf_deps",
184 packages = [
185 "patchelf",
186 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800187 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700188)
189
190download_packages(
191 name = "download_matplotlib_deps",
192 excludes = [
Brian Silverman6470f442018-08-05 12:08:16 -0700193 "python3-dev",
194 "python3-numpy",
195 "python3-scipy",
196 "x11-common",
197 "fonts-freefont",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800198 "python3",
Brian Silverman6470f442018-08-05 12:08:16 -0700199 "libcups2",
200 ],
201 packages = [
Brian Silverman6470f442018-08-05 12:08:16 -0700202 "python3-matplotlib",
James Kuszmaul910f92b2020-01-01 15:30:38 -0800203 "python3-tk",
Brian Silverman6470f442018-08-05 12:08:16 -0700204 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800205 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700206)
207
Brian Silverman50b9ac02018-08-12 13:24:10 -0700208# This list was obtained by manually looking at the output from:
209# find bazel-out/../../../external/arm_frc_linux_gnueabi_repo/ -executable -type f -exec ldd {} + | sed 's/=>.*//g' | sort -u
210download_packages(
211 name = "download_arm_frc_gnueabi_deps",
212 packages = [
213 "libexpat1",
214 "libgmp10",
215 "libisl10",
216 "liblzma5",
217 "libmpc3",
218 "libmpfr4",
219 "libncurses5",
220 "libtinfo5",
221 "zlib1g",
222 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800223 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman50b9ac02018-08-12 13:24:10 -0700224)
225
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -0700226download_packages(
227 name = "download_python_gtk_deps",
228 excludes = [
229 "fonts-freefont",
230 "gsettings-backend",
231 "libpng-dev",
232 "libz-dev",
233 "python3-dev",
234 "python3",
James Kuszmaulf89cfab2020-01-17 19:48:25 -0800235 "libblas.so.3",
236 "liblapack.so.3",
237 "libstdc++-dev",
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -0700238 ],
239 packages = [
240 "libgtk-3-dev",
241 "python3-cairo",
242 "python3-gi",
243 "python3-gi-cairo",
244 "python3-shapely",
245 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800246 target_compatible_with = ["@platforms//os:linux"],
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -0700247)
248
Philipp Schrader0e19c602018-03-07 21:07:22 -0800249generate_deb_tarball(
250 name = "python",
251 files = python_debs,
Philipp Schraderdada1072020-11-24 11:34:46 -0800252 target_compatible_with = ["@platforms//os:linux"],
Philipp Schrader0e19c602018-03-07 21:07:22 -0800253)
Philipp Schraderaedfc5c2018-03-10 19:32:30 -0800254
255generate_deb_tarball(
Brian Silverman7bda6212018-08-05 11:42:11 -0700256 name = "patch",
257 files = patch_debs,
Philipp Schraderdada1072020-11-24 11:34:46 -0800258 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman7bda6212018-08-05 11:42:11 -0700259)
Brian Silverman7297c0c2018-08-05 13:43:00 -0700260
261generate_deb_tarball(
Austin Schuh71f6fa72019-08-31 18:23:02 -0700262 name = "rsync",
263 files = rsync_debs,
Philipp Schraderdada1072020-11-24 11:34:46 -0800264 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh71f6fa72019-08-31 18:23:02 -0700265)
266
267generate_deb_tarball(
Brian Silvermanbd7860e2020-01-05 17:52:40 -0800268 name = "ssh_v3",
Austin Schuh71f6fa72019-08-31 18:23:02 -0700269 files = ssh_debs,
Philipp Schraderdada1072020-11-24 11:34:46 -0800270 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh71f6fa72019-08-31 18:23:02 -0700271)
272
273generate_deb_tarball(
Brian Silverman7297c0c2018-08-05 13:43:00 -0700274 name = "pandoc",
275 files = pandoc_debs,
Philipp Schraderdada1072020-11-24 11:34:46 -0800276 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman7297c0c2018-08-05 13:43:00 -0700277)
Brian Silverman4f6ba442018-08-05 14:34:58 -0700278
279generate_deb_tarball(
280 name = "libusb",
281 files = libusb_debs,
Philipp Schraderdada1072020-11-24 11:34:46 -0800282 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman4f6ba442018-08-05 14:34:58 -0700283)
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700284
285generate_deb_tarball(
286 name = "mingw_compiler",
287 files = mingw_compiler_debs,
Philipp Schraderdada1072020-11-24 11:34:46 -0800288 target_compatible_with = ["@platforms//os:linux"],
Brian Silvermanb80dc9f2018-08-05 14:59:24 -0700289)
Brian Silverman6470f442018-08-05 12:08:16 -0700290
291generate_deb_tarball(
292 name = "patchelf",
293 files = patchelf_debs,
Philipp Schraderdada1072020-11-24 11:34:46 -0800294 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700295)
296
297generate_deb_tarball(
298 name = "matplotlib",
299 files = matplotlib_debs,
Philipp Schraderdada1072020-11-24 11:34:46 -0800300 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700301)
Brian Silverman50b9ac02018-08-12 13:24:10 -0700302
303generate_deb_tarball(
304 name = "arm_frc_gnueabi_deps",
305 files = arm_frc_gnueabi_deps_debs,
Philipp Schraderdada1072020-11-24 11:34:46 -0800306 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman50b9ac02018-08-12 13:24:10 -0700307)
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -0700308
309generate_deb_tarball(
310 name = "python_gtk",
311 files = python_gtk_debs,
Philipp Schraderdada1072020-11-24 11:34:46 -0800312 target_compatible_with = ["@platforms//os:linux"],
Brian Silvermanb0ebf1d2018-10-17 23:36:40 -0700313)
Brian Silvermanbd7860e2020-01-05 17:52:40 -0800314
Austin Schuh5e7bbd72020-11-04 21:43:21 -0800315download_packages(
316 name = "download_opencv",
317 packages = [
318 "libopencv-calib3d-dev",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800319 "libopencv-calib3d4.5",
Austin Schuh5e7bbd72020-11-04 21:43:21 -0800320 "libopencv-contrib-dev",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800321 "libopencv-contrib4.5",
Austin Schuh5e7bbd72020-11-04 21:43:21 -0800322 "libopencv-core-dev",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800323 "libopencv-core4.5",
Austin Schuh5e7bbd72020-11-04 21:43:21 -0800324 "libopencv-dev",
325 "libopencv-features2d-dev",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800326 "libopencv-features2d4.5",
Austin Schuh5e7bbd72020-11-04 21:43:21 -0800327 "libopencv-flann-dev",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800328 "libopencv-flann4.5",
Austin Schuh5e7bbd72020-11-04 21:43:21 -0800329 "libopencv-highgui-dev",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800330 "libopencv-highgui4.5",
Austin Schuh5e7bbd72020-11-04 21:43:21 -0800331 "libopencv-imgcodecs-dev",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800332 "libopencv-imgcodecs4.5",
Austin Schuh5e7bbd72020-11-04 21:43:21 -0800333 "libopencv-imgproc-dev",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800334 "libopencv-imgproc4.5",
Austin Schuh5e7bbd72020-11-04 21:43:21 -0800335 "libopencv-ml-dev",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800336 "libopencv-ml4.5",
Austin Schuh5e7bbd72020-11-04 21:43:21 -0800337 "libopencv-objdetect-dev",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800338 "libopencv-objdetect4.5",
Austin Schuh5e7bbd72020-11-04 21:43:21 -0800339 "libopencv-photo-dev",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800340 "libopencv-photo4.5",
Austin Schuh5e7bbd72020-11-04 21:43:21 -0800341 "libopencv-shape-dev",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800342 "libopencv-shape4.5",
Austin Schuh5e7bbd72020-11-04 21:43:21 -0800343 "libopencv-stitching-dev",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800344 "libopencv-stitching4.5",
Austin Schuh5e7bbd72020-11-04 21:43:21 -0800345 "libopencv-superres-dev",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800346 "libopencv-superres4.5",
Austin Schuh5e7bbd72020-11-04 21:43:21 -0800347 "libopencv-video-dev",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800348 "libopencv-video4.5",
Austin Schuh5e7bbd72020-11-04 21:43:21 -0800349 "libopencv-videoio-dev",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800350 "libopencv-videoio4.5",
Austin Schuh5e7bbd72020-11-04 21:43:21 -0800351 "libopencv-videostab-dev",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800352 "libopencv-videostab4.5",
Austin Schuh5e7bbd72020-11-04 21:43:21 -0800353 "libopencv-viz-dev",
Brian Silverman4c7235a2021-11-17 19:04:37 -0800354 "libopencv-viz4.5",
Austin Schuh5e7bbd72020-11-04 21:43:21 -0800355 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800356 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh5e7bbd72020-11-04 21:43:21 -0800357)
358
Brian Silvermand4260c72020-01-14 00:08:02 -0800359generate_deb_tarball(
Brian Silverman4c7235a2021-11-17 19:04:37 -0800360 name = "opencv_armhf_v4",
Brian Silvermand4260c72020-01-14 00:08:02 -0800361 files = opencv_armhf_debs,
Philipp Schraderdada1072020-11-24 11:34:46 -0800362 target_compatible_with = ["@platforms//os:linux"],
Brian Silvermand4260c72020-01-14 00:08:02 -0800363)
364
Brian Silvermand97a47c2020-01-16 00:47:53 -0800365generate_deb_tarball(
366 name = "opencv_amd64",
367 files = opencv_amd64_debs,
Philipp Schraderdada1072020-11-24 11:34:46 -0800368 target_compatible_with = ["@platforms//os:linux"],
Brian Silvermand97a47c2020-01-16 00:47:53 -0800369)
370
Tyler Chatow60671d32020-02-26 19:49:30 -0800371generate_deb_tarball(
372 name = "gstreamer_amd64",
373 files = gstreamer_amd64_debs,
Philipp Schraderdada1072020-11-24 11:34:46 -0800374 target_compatible_with = ["@platforms//os:linux"],
Tyler Chatow60671d32020-02-26 19:49:30 -0800375)
376
377generate_deb_tarball(
378 name = "gstreamer_armhf",
379 files = gstreamer_armhf_debs,
Philipp Schraderdada1072020-11-24 11:34:46 -0800380 target_compatible_with = ["@platforms//os:linux"],
Tyler Chatow60671d32020-02-26 19:49:30 -0800381)
382
Brian Silvermanf59fe3f2020-09-22 21:04:09 -0700383download_packages(
384 name = "download_lzma",
385 packages = [
386 "liblzma-dev",
387 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800388 target_compatible_with = ["@platforms//os:linux"],
Brian Silvermanf59fe3f2020-09-22 21:04:09 -0700389)
390
391generate_deb_tarball(
392 name = "lzma_amd64",
393 files = lzma_amd64_debs,
Philipp Schraderdada1072020-11-24 11:34:46 -0800394 target_compatible_with = ["@platforms//os:linux"],
Brian Silvermanf59fe3f2020-09-22 21:04:09 -0700395)
396
397generate_deb_tarball(
398 name = "lzma_arm64",
399 files = lzma_arm64_debs,
Philipp Schraderdada1072020-11-24 11:34:46 -0800400 target_compatible_with = ["@platforms//os:linux"],
Brian Silvermanf59fe3f2020-09-22 21:04:09 -0700401)
402
Brian Silvermanbd7860e2020-01-05 17:52:40 -0800403exports_files([
404 "ssh_wrapper.sh",
405])