blob: fa7c757060dd52f72a86ea1001f0fe95ab30a973 [file] [log] [blame]
Tim Windelschmidt4a3e05f2024-07-30 18:19:21 +02001# third_party external repositories
2
Tim Windelschmidtf5c45102025-02-08 22:30:58 +00003github_repository = use_repo_rule("//build/github_repository:def.bzl", "github_repository")
4
5github_repository(
6 name = "edk2",
7 build_file = "//third_party/edk2:edk2.bzl",
8 integrity = "sha256-vid2bYN5OEJvcIstC5iQKZqwH1/jnXFM8FN3mjDU20k=",
9 owner = "tianocore",
10 patch_args = ["-p1"],
11 patches = [
12 "//third_party/edk2/patches:disable-werror.patch",
13 "//third_party/edk2/patches:remove-brotli-build.patch",
14 ],
15 ref = "b24306f15daa2ff8510b06702114724b33895d3c", # stable202202
16 repo = "edk2",
17 submodules = {
18 "CryptoPkg/Library/OpensslLib/openssl": "sha256-WoyWOXrAhTcXJRNpcEZ7y+hwrCXWHIcJA2N1NxoORsY=",
19 "ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3": "sha256-+q6ImBTqaikvfKA9mzbmx+lbqypkd3gEiDzIIrjUh1c=",
20 "UnitTestFrameworkPkg/Library/CmockaLib/cmocka": "sha256-Wc1LgauvrjXZSsXZHPSuWwUSLmiHE81ttR5eTO9HHY8=",
21 "MdeModulePkg/Universal/RegularExpressionDxe/oniguruma": "sha256-7ql3OA67GHHV3jjE9/FUQu5pDJC995BZDZMKa780fyg=",
22 "MdeModulePkg/Library/BrotliCustomDecompressLib/brotli": "sha256-bWyszgUIa33r51EnQV/5w2YYSfVk/i9fOwOD1Iqk7Xc=",
23 "BaseTools/Source/C/BrotliCompress/brotli": "sha256-bWyszgUIa33r51EnQV/5w2YYSfVk/i9fOwOD1Iqk7Xc=",
24 "RedfishPkg/Library/JsonLib/jansson": "sha256-55NcDZHW0i9t7nEKJrI+Io7MT+jvfo91ZVjDWZ9ow7Q=",
25 },
26)
27
Tim Windelschmidt4a3e05f2024-07-30 18:19:21 +020028http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
Tim Windelschmidt6b1b79a2024-08-27 00:04:18 +020029
Tim Windelschmidt4a3e05f2024-07-30 18:19:21 +020030http_file = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file")
31
32# Used by tests in cloud/takeover
33http_file(
34 name = "debian_11_cloudimage",
Tim Windelschmidte1420ab2024-08-27 01:53:16 +020035 integrity = "sha256-FMruxoujEpoRWptXOW0I3AlzzJ9WnOBJIy19FddorUE=",
Tim Windelschmidt4a3e05f2024-07-30 18:19:21 +020036 urls = [
37 "https://cloud.debian.org/images/cloud/bullseye/20230124-1270/debian-11-genericcloud-amd64-20230124-1270.qcow2",
38 ],
39)
40
41# Used to include staticcheck as nogo analyzer
42http_archive(
43 name = "com_github_sluongng_nogo_analyzer",
Tim Windelschmidt677de972024-09-25 05:30:04 +020044 integrity = "sha256-Dca16GCU0IHgW80MPkH8J1ojmMZOVFN2FmE5QSGB8VA=",
45 strip_prefix = "nogo-analyzer-0.0.3",
Tim Windelschmidt4a3e05f2024-07-30 18:19:21 +020046 urls = [
Tim Windelschmidt677de972024-09-25 05:30:04 +020047 "https://github.com/sluongng/nogo-analyzer/archive/refs/tags/v0.0.3.tar.gz",
Tim Windelschmidt4a3e05f2024-07-30 18:19:21 +020048 ],
49)
50
Tim Windelschmidt492434a2024-10-22 14:29:55 +020051# Used in swtpm
Tim Windelschmidt6948d332025-02-10 19:55:48 +010052BORINGSSL_VERSION = "d7278cebad5b8eda0901246f2215344cffece4f4"
53
54http_archive(
Tim Windelschmidt4a3e05f2024-07-30 18:19:21 +020055 name = "boringssl",
Tim Windelschmidt6948d332025-02-10 19:55:48 +010056 integrity = "sha256-bpWXzfHbkV8J3Ed1Hp/L8WyFnWnFDn3+IuNN8A0IGyY=",
57 urls = [
58 "https://boringssl.googlesource.com/boringssl/+archive/%s.tar.gz" % BORINGSSL_VERSION,
59 ],
Tim Windelschmidt4a3e05f2024-07-30 18:19:21 +020060)
61
62# CockroachDB binary used for tests.
63#
64# WARNING: Not distributed under an OSI certified license. Must only be used in
65# tests, not be redistributed!
Tim Windelschmidte1420ab2024-08-27 01:53:16 +020066COCKROACH_VERSION = "22.1.6"
67
Tim Windelschmidt4a3e05f2024-07-30 18:19:21 +020068http_archive(
69 name = "cockroach",
Tim Windelschmidte4895292025-02-04 03:10:39 +010070 build_file = "//third_party/cockroach:cockroach.bzl",
Tim Windelschmidte1420ab2024-08-27 01:53:16 +020071 integrity = "sha256-CCHP9XcEAPuUyLbCqzONlvQRT78rMga8im3PYvnA9Oo=",
72 strip_prefix = "cockroach-v%s.linux-amd64" % COCKROACH_VERSION,
Tim Windelschmidt4a3e05f2024-07-30 18:19:21 +020073 urls = [
74 # TODO: select() to pick other host architectures.
Tim Windelschmidte1420ab2024-08-27 01:53:16 +020075 "https://binaries.cockroachdb.com/cockroach-v%s.linux-amd64.tgz" % COCKROACH_VERSION,
Tim Windelschmidt4a3e05f2024-07-30 18:19:21 +020076 ],
77)
78
79# CockroachDB repository used for linter passes.
80http_archive(
81 name = "com_github_cockroachdb_cockroach",
Tim Windelschmidte1420ab2024-08-27 01:53:16 +020082 integrity = "sha256-bDVo7yRM5rh0aU7u7Lg+1PXV3/bPA3yVLs3naCimxQI=",
83 strip_prefix = "cockroach-" + COCKROACH_VERSION,
Tim Windelschmidt4a3e05f2024-07-30 18:19:21 +020084 urls = [
Tim Windelschmidte1420ab2024-08-27 01:53:16 +020085 "https://github.com/cockroachdb/cockroach/archive/v%s.tar.gz" % COCKROACH_VERSION,
Tim Windelschmidt4a3e05f2024-07-30 18:19:21 +020086 ],
87)
88
Tim Windelschmidt4a3e05f2024-07-30 18:19:21 +020089# Derived from Mozilla NSS, currently needed for containerd to be able to pull images
90http_file(
91 name = "cacerts",
Lorenz Brun15c46cc2025-01-16 17:41:42 +000092 integrity = "sha256-o/Mowh453dHyvhzqQ6wN7IGeqiCpBCXX2pAaEVMbOqU=",
93 urls = ["https://curl.se/ca/cacert-2024-12-31.pem"],
Tim Windelschmidt4a3e05f2024-07-30 18:19:21 +020094)
95
Tim Windelschmidt4a3e05f2024-07-30 18:19:21 +020096# ini.h, a tiny ini parser library
Tim Windelschmidte1420ab2024-08-27 01:53:16 +020097INIH_VERSION = "r53"
98
Tim Windelschmidt4a3e05f2024-07-30 18:19:21 +020099http_archive(
100 name = "inih",
Tim Windelschmidte1420ab2024-08-27 01:53:16 +0200101 build_file = "//third_party/inih:inih.bzl",
102 integrity = "sha256-AbA2b9/fY2PvwHDC+Fbxr6M+emVGVIutpUVq2UpRYkE=",
103 strip_prefix = "inih-" + INIH_VERSION,
104 urls = ["https://github.com/benhoyt/inih/archive/%s.tar.gz" % INIH_VERSION],
Tim Windelschmidt4a3e05f2024-07-30 18:19:21 +0200105)
106
Tim Windelschmidt6948d332025-02-10 19:55:48 +0100107GPERF_VERSION = "de9373c2d48a3edf29862eb8be44764a7f7d24c6"
108
109http_archive(
Tim Windelschmidt4a3e05f2024-07-30 18:19:21 +0200110 name = "gperf",
Tim Windelschmidt6948d332025-02-10 19:55:48 +0100111 integrity = "sha256-xHLG+LYlXSuNG1rNvXwgjoSSG/FAZ9fu2WT4rTvnJkU=",
112 strip_prefix = "gperf-" + GPERF_VERSION,
113 urls = ["https://github.com/monogon-dev/gperf/archive/%s.tar.gz" % GPERF_VERSION],
Tim Windelschmidt4a3e05f2024-07-30 18:19:21 +0200114)
Tim Windelschmidte1420ab2024-08-27 01:53:16 +0200115
Lorenz Brund842aaf2025-02-17 17:39:46 +0100116LINUX_VERSION = "6.12.15"
Tim Windelschmidte1420ab2024-08-27 01:53:16 +0200117
118http_archive(
119 name = "linux",
Tim Windelschmidte4895292025-02-04 03:10:39 +0100120 build_file = "//third_party/linux:linux.bzl",
Lorenz Brund842aaf2025-02-17 17:39:46 +0100121 integrity = "sha256-X/W9hOoOIsU0NzAttdOU0Kkti4saiM4g0QmCmOn3Ywo=",
Tim Windelschmidte1420ab2024-08-27 01:53:16 +0200122 patch_args = ["-p1"],
123 patches = [
Tim Windelschmidte4895292025-02-04 03:10:39 +0100124 "//third_party/linux/patches:0001-block-partition-expose-PARTUUID-through-uevent.patch",
125 "//third_party/linux/patches:disable-static-ifs.patch",
126 "//third_party/linux/patches:enable-pmsg.patch",
127 "//third_party/linux/patches:lacp_fix.patch",
128 "//third_party/linux/patches:fb-devs-knob.patch",
Tim Windelschmidte1420ab2024-08-27 01:53:16 +0200129 ],
130 strip_prefix = "linux-" + LINUX_VERSION,
131 urls = ["https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-%s.tar.xz" % LINUX_VERSION],
132)
133
Lorenz Brun25458952024-09-11 16:35:28 +0000134LINUX_FIRMWARE_VERSION = "20240909"
Tim Windelschmidte1420ab2024-08-27 01:53:16 +0200135
136http_archive(
137 name = "linux-firmware",
Tim Windelschmidte4895292025-02-04 03:10:39 +0100138 build_file = "//third_party/linux-firmware:linux-firmware.bzl",
Lorenz Brun25458952024-09-11 16:35:28 +0000139 integrity = "sha256-k+m2riJAZhY5yHT1/Dj2d9GK/jZbF6E/7mtPxPukLBA=",
Tim Windelschmidte1420ab2024-08-27 01:53:16 +0200140 strip_prefix = "linux-firmware-" + LINUX_FIRMWARE_VERSION,
141 urls = ["https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-%s.tar.gz" % LINUX_FIRMWARE_VERSION],
142)
143
Lorenz Brunc752ec62024-09-11 16:36:43 +0000144INTEL_UCODE_VERSION = "20240910"
Tim Windelschmidte1420ab2024-08-27 01:53:16 +0200145
146http_archive(
147 name = "intel_ucode",
Tim Windelschmidte4895292025-02-04 03:10:39 +0100148 build_file = "//third_party/intel_ucode:intel_ucode.bzl",
Lorenz Brunc752ec62024-09-11 16:36:43 +0000149 integrity = "sha256-i3WC6sfpppE1bhizvcvHstsJSU4EDsmApKX7bQ2iYb8=",
Tim Windelschmidte1420ab2024-08-27 01:53:16 +0200150 strip_prefix = "Intel-Linux-Processor-Microcode-Data-Files-microcode-" + INTEL_UCODE_VERSION,
151 urls = ["https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/archive/refs/tags/microcode-%s.tar.gz" % INTEL_UCODE_VERSION],
152)
153
Tim Windelschmidte1420ab2024-08-27 01:53:16 +0200154MUSL_VERSION = "1.1.24"
155
156http_archive(
157 name = "musl",
Tim Windelschmidte4895292025-02-04 03:10:39 +0100158 build_file = "//third_party/musl:musl.bzl",
Tim Windelschmidte1420ab2024-08-27 01:53:16 +0200159 integrity = "sha256-E3DJqBKyzyp9koAlEMygBYzDfmanvt1wBR8KNAFQIqM=",
160 strip_prefix = "musl-" + MUSL_VERSION,
161 urls = ["https://www.musl-libc.org/releases/musl-%s.tar.gz" % MUSL_VERSION],
162)
163
164UTIL_LINUX_VERSION = "2.36.2"
165
166http_archive(
167 name = "util_linux",
168 build_file = "//third_party/util-linux:util-linux.bzl",
169 integrity = "sha256-CEvG+b1Hm/146JJOY/hbsXlTaBvx2tJA5NhgGiEpTQs=",
170 patch_args = ["-p1"],
171 patches = ["//third_party/util-linux/patches:bazel_cc_fix.patch"],
172 strip_prefix = "util-linux-" + UTIL_LINUX_VERSION,
173 urls = ["https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/snapshot/util-linux-%s.tar.gz" % UTIL_LINUX_VERSION],
174)
175
176URCU_VERSION = "0.14.0"
177
178http_archive(
179 name = "urcu",
180 build_file = "//third_party/urcu:urcu.bzl",
181 integrity = "sha256-QvtRKaP//lpLeQ3+HqOnNMae4JX++/ZJMmJpu6lMJi0=",
182 patch_args = ["-p1"],
183 patches = ["//third_party/urcu/patches:generated-files.patch"],
184 strip_prefix = "userspace-rcu-" + URCU_VERSION,
185 urls = ["https://github.com/urcu/userspace-rcu/archive/refs/tags/v%s.tar.gz" % URCU_VERSION],
186)
187
188XFSPROGS_VERSION = "6.9.0"
189
190http_archive(
191 name = "xfsprogs",
192 build_file = "//third_party/xfsprogs:xfsprogs.bzl",
193 integrity = "sha256-/nIGlou9gXd1S6cy9jn4Ubacj3CsX5a7DhgtiGZBQL8=",
194 patch_args = ["-p1"],
195 patches = ["//third_party/xfsprogs/patches:bazel_cc_fix.patch"],
196 strip_prefix = "xfsprogs-dev-" + XFSPROGS_VERSION,
197 urls = ["https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git/snapshot/xfsprogs-dev-%s.tar.gz" % XFSPROGS_VERSION],
198)
199
Tim Windelschmidte1420ab2024-08-27 01:53:16 +0200200# NOTE: Remember to update seccomp.bzl's seccomp.h template rule
201# with the correct version.
202SECCOMP_VERSION = "2.5.1"
203
204http_archive(
205 name = "seccomp",
206 build_file = "//third_party/seccomp:seccomp.bzl",
207 integrity = "sha256-dq1U4x0UOzmpkINWQEUhKpZeAmoQEKdC7deT0m1pmCk=",
208 patch_args = ["-p1"],
209 patches = [
210 "//third_party/seccomp/patches:bazel_cc_fix.patch",
211 "//third_party/seccomp/patches:fix_generated_includes.patch",
212 ],
213 strip_prefix = "libseccomp-" + SECCOMP_VERSION,
214 # We cannot use the actual release tarball as it contains files generated incorrectly for our environment
215 urls = ["https://github.com/seccomp/libseccomp/archive/v%s.tar.gz" % SECCOMP_VERSION],
216)
217
218GLIB_VERSION = "2.67.5"
219
220http_archive(
221 name = "glib",
222 integrity = "sha256-QQlm23EmONx0kFTAo8MIdUXVEGZDE5wlgGOZpRqNSrE=",
223 patch_args = [
224 "-p1",
225 "-u",
226 ],
227 patches = [
228 "//third_party/glib/patches:bazel_cc_fix.patch",
229 "//third_party/glib/patches:bazel_support.patch",
230 ],
231 strip_prefix = "glib-" + GLIB_VERSION,
232 # We cannot use the actual release tarball as it contains files generated incorrectly for our environment
233 urls = ["https://gitlab.gnome.org/GNOME/glib/-/archive/%s/glib-%s.tar.gz" % (GLIB_VERSION, GLIB_VERSION)],
234)
235
Tim Windelschmidte1420ab2024-08-27 01:53:16 +0200236# ONCHANGE(//third_party/chrony:chrony.bzl): version needs to be kept in sync
237CHRONY_VERSION = "4.1"
238
239http_archive(
240 name = "chrony",
241 build_file = "//third_party/chrony:chrony.bzl",
242 integrity = "sha256-7Xby0/k0esYiGpGtS9VT3QVlrBiM10kNCAHQj3FxFkw=",
243 patch_args = ["-p1"],
244 patches = [
245 "//third_party/chrony/patches:disable_defaults.patch",
246 "//third_party/chrony/patches:support_fixed_uids.patch",
247 ],
248 strip_prefix = "chrony-" + CHRONY_VERSION,
Tim Windelschmidtccabae92024-12-17 22:25:33 +0100249 urls = ["https://chrony-project.org/releases/chrony-%s.tar.gz" % CHRONY_VERSION],
Tim Windelschmidte1420ab2024-08-27 01:53:16 +0200250)
251
252CAP_VERSION = "1.2.55"
253
254http_archive(
255 name = "cap",
256 build_file = "//third_party/cap:cap.bzl",
257 integrity = "sha256-4pMiAy6pTpBpauLRdTDtyRTHF2UjLuj9T944umOcslY=",
258 patch_args = ["-p1"],
259 patches = [
260 "//third_party/cap/patches:add_go_codegen.patch",
261 ],
262 strip_prefix = "libcap-cap/v%s/libcap" % CAP_VERSION,
263 urls = ["https://git.kernel.org/pub/scm/libs/libcap/libcap.git/snapshot/libcap-cap/v%s.tar.gz" % CAP_VERSION],
264)
265
266GNUEFI_VERSION = "3.0.14"
267
268http_archive(
269 name = "gnuefi",
270 build_file = "//third_party/gnuefi:gnuefi.bzl",
271 integrity = "sha256-V4XneCX+xeZm5MINeqqa9M2VI1GywJWTlydE/oQ2+Vc=",
272 strip_prefix = "gnu-efi-%s" % GNUEFI_VERSION,
273 urls = ["https://github.com/ncroxon/gnu-efi/archive/refs/tags/%s.tar.gz" % GNUEFI_VERSION],
274)
275
276# Developed in the systemd monorepo, pinned to master as there have been a bunch of critical fixes for the
277# EFI stub since 249.
278EFISTUB_VERSION = "3542da2442d8b29661b47c42ad7e5fa9bc8562ec"
279
280http_archive(
281 name = "efistub",
282 build_file = "//third_party/efistub:efistub.bzl",
283 integrity = "sha256-AhwTW+45ynNG0fCZI758BEo9NYZv9BGnyWJnAv9MlSM=",
284 patch_args = ["-p1"],
285 patches = [
286 "//third_party/efistub/patches:use-sysv-for-kernel.patch",
287 "//third_party/efistub/patches:remove-wrong-cmdline-assertion.patch",
288 "//third_party/efistub/patches:ab-slot-handling.patch",
289 ],
290 strip_prefix = "systemd-%s" % EFISTUB_VERSION,
291 urls = ["https://github.com/systemd/systemd/archive/%s.zip" % EFISTUB_VERSION],
292)
293
294LIBPG_QUERY_VERSION = "15-4.2.3"
295
296http_archive(
297 name = "libpg_query",
Tim Windelschmidte4895292025-02-04 03:10:39 +0100298 build_file = "//third_party/libpg_query:libpg_query.bzl",
Tim Windelschmidte1420ab2024-08-27 01:53:16 +0200299 integrity = "sha256-i4INY0QrFnfOTw3yqVs/r9vFIKgpAd74EhdVnsTfnms=",
300 strip_prefix = "libpg_query-" + LIBPG_QUERY_VERSION,
301 urls = ["https://github.com/pganalyze/libpg_query/archive/refs/tags/%s.tar.gz" % LIBPG_QUERY_VERSION],
302)
303
304DOSFSTOOLS_VERSION = "c888797b1d84ffbb949f147e3116e8bfb2e145a7"
305
306http_archive(
307 name = "com_github_dosfstools_dosfstools",
308 build_file = "//third_party/dosfstools:dosfstools.bzl",
309 integrity = "sha256-SkC0iMDCWcEftUeD/G8B5e6RJYK7SdM9DRGxH4WkLo0=",
310 strip_prefix = "dosfstools-" + DOSFSTOOLS_VERSION,
311 urls = ["https://github.com/dosfstools/dosfstools/archive/%s.zip" % DOSFSTOOLS_VERSION],
312)
313
314# master at 2024/01/09 (0.10.0 prerelease).
315LIBTPMS_VERSION = "93a827aeccd3ab2178281571b1545dcfffa2991b"
316
317http_archive(
318 name = "libtpms",
319 integrity = "sha256-5QnguhCfd9pRe15YqfCTvrBAUl5r5R3gbRFTyCeMcNE=",
320 patch_args = ["-p1"],
321 patches = [
322 "//third_party/libtpms/patches:0001-boringssl-compat-new-SHA-types.patch",
323 "//third_party/libtpms/patches:0002-boringssl-compat-removed-const_DES_cblock.patch",
324 "//third_party/libtpms/patches:0003-boringssl-compat-removed-EC_POINTs_mul.patch",
325 "//third_party/libtpms/patches:0004-boringssl-compat-removed-camellia-support.patch",
326 "//third_party/libtpms/patches:0005-boringssl-compat-remove-constant-time-flags-UNSAFE.patch",
327 "//third_party/libtpms/patches:0006-bazel-support-implement.patch",
328 ],
329 strip_prefix = "libtpms-" + LIBTPMS_VERSION,
330 urls = ["https://github.com/stefanberger/libtpms/archive/%s.tar.gz" % LIBTPMS_VERSION],
331)
332
333# master at 2024/06/04
334SWTPM_VERSION = "0c9a6c4a12a63b86ab472e69e95bd75853d4fa96"
335
336http_archive(
337 name = "swtpm",
338 integrity = "sha256-Fp3bE5WX+oCOES1FJFdEXHntUhuzT5mQZtIN6SFAVs4=",
339 patch_args = ["-p1"],
340 patches = [
341 "//third_party/swtpm/patches:0001-bazel-compat-glib.h-glib-glib.h.patch",
342 "//third_party/swtpm/patches:0002-swtpm_localca-replace-gmp-mpz-dependency-with-boring.patch",
343 "//third_party/swtpm/patches:0003-swtpm_setup-replace-dep-on-JSON-GLib-with-sheredom-j.patch",
344 "//third_party/swtpm/patches:0004-bazel-support-implement.patch",
345 ],
346 strip_prefix = "swtpm-" + SWTPM_VERSION,
347 urls = ["https://github.com/stefanberger/swtpm/archive/%s.tar.gz" % SWTPM_VERSION],
348)