| Serge Bazanski | 31370b0 | 2021-01-07 16:31:14 +0100 | [diff] [blame] | 1 | workspace(name = "dev_source_monogon") | 
| Leopold Schabel | 5c80aca | 2019-10-22 15:48:58 +0200 | [diff] [blame] | 2 |  | 
| Lorenz Brun | c88c82d | 2020-05-08 14:35:04 +0200 | [diff] [blame] | 3 | load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_file") | 
| Leopold Schabel | 5c80aca | 2019-10-22 15:48:58 +0200 | [diff] [blame] | 4 | load("@bazel_tools//tools/build_defs/repo:git.bzl", "new_git_repository") | 
 | 5 |  | 
 | 6 | # Load skylib | 
 | 7 |  | 
 | 8 | http_archive( | 
 | 9 |     name = "bazel_skylib", | 
 | 10 |     sha256 = "97e70364e9249702246c0e9444bccdc4b847bed1eb03c5a3ece4f83dfe6abc44", | 
 | 11 |     urls = [ | 
 | 12 |         "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.2/bazel-skylib-1.0.2.tar.gz", | 
 | 13 |         "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.2/bazel-skylib-1.0.2.tar.gz", | 
 | 14 |     ], | 
 | 15 | ) | 
 | 16 |  | 
 | 17 | load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace") | 
 | 18 |  | 
 | 19 | bazel_skylib_workspace() | 
 | 20 |  | 
 | 21 | # Assert minimum Bazel version | 
 | 22 |  | 
 | 23 | load("@bazel_skylib//lib:versions.bzl", "versions") | 
 | 24 |  | 
| Leopold Schabel | af5ec37 | 2020-03-11 13:33:17 +0100 | [diff] [blame] | 25 | versions.check(minimum_bazel_version = "2.2.0") | 
| Leopold Schabel | 5c80aca | 2019-10-22 15:48:58 +0200 | [diff] [blame] | 26 |  | 
 | 27 | # Go and Gazelle | 
 | 28 |  | 
 | 29 | load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") | 
 | 30 |  | 
 | 31 | http_archive( | 
 | 32 |     name = "io_bazel_rules_go", | 
| Lorenz Brun | d13c1c6 | 2022-03-30 19:58:58 +0200 | [diff] [blame] | 33 |     sha256 = "f2dcd210c7095febe54b804bb1cd3a58fe8435a909db2ec04e31542631cf715c", | 
| Leopold Schabel | 5c80aca | 2019-10-22 15:48:58 +0200 | [diff] [blame] | 34 |     urls = [ | 
| Lorenz Brun | d13c1c6 | 2022-03-30 19:58:58 +0200 | [diff] [blame] | 35 |         "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.31.0/rules_go-v0.31.0.zip", | 
 | 36 |         "https://github.com/bazelbuild/rules_go/releases/download/v0.31.0/rules_go-v0.31.0.zip", | 
| Leopold Schabel | 5c80aca | 2019-10-22 15:48:58 +0200 | [diff] [blame] | 37 |     ], | 
 | 38 | ) | 
 | 39 |  | 
 | 40 | http_archive( | 
 | 41 |     name = "bazel_gazelle", | 
| Lorenz Brun | 2073ce3 | 2021-02-03 18:52:59 +0100 | [diff] [blame] | 42 |     patch_args = ["-p1"], | 
| Lorenz Brun | efb028f | 2020-07-28 17:04:49 +0200 | [diff] [blame] | 43 |     patches = [ | 
 | 44 |         "//third_party/gazelle:add-prepatching.patch", | 
 | 45 |     ], | 
| Lorenz Brun | d13c1c6 | 2022-03-30 19:58:58 +0200 | [diff] [blame] | 46 |     sha256 = "5982e5463f171da99e3bdaeff8c0f48283a7a5f396ec5282910b9e8a49c0dd7e", | 
| Leopold Schabel | 5c80aca | 2019-10-22 15:48:58 +0200 | [diff] [blame] | 47 |     urls = [ | 
| Lorenz Brun | d13c1c6 | 2022-03-30 19:58:58 +0200 | [diff] [blame] | 48 |         "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.25.0/bazel-gazelle-v0.25.0.tar.gz", | 
 | 49 |         "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.25.0/bazel-gazelle-v0.25.0.tar.gz", | 
| Leopold Schabel | 5c80aca | 2019-10-22 15:48:58 +0200 | [diff] [blame] | 50 |     ], | 
 | 51 | ) | 
 | 52 |  | 
 | 53 | load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") | 
| Leopold Schabel | 5c80aca | 2019-10-22 15:48:58 +0200 | [diff] [blame] | 54 |  | 
| Lorenz Brun | d13c1c6 | 2022-03-30 19:58:58 +0200 | [diff] [blame] | 55 | load("//third_party/go:repositories.bzl", "go_repositories") | 
 | 56 |  | 
 | 57 | # gazelle:repository_macro third_party/go/repositories.bzl%go_repositories | 
 | 58 | go_repositories() | 
 | 59 |  | 
| Leopold Schabel | 5c80aca | 2019-10-22 15:48:58 +0200 | [diff] [blame] | 60 | go_rules_dependencies() | 
 | 61 |  | 
| Leopold Schabel | 60a85b6 | 2019-11-17 19:12:41 +0100 | [diff] [blame] | 62 | go_register_toolchains( | 
| Lorenz Brun | c2e3b1b | 2021-11-11 11:06:41 +0100 | [diff] [blame] | 63 |     go_version = "1.17.1", | 
| Serge Bazanski | 0ef9629 | 2021-05-21 15:41:32 +0200 | [diff] [blame] | 64 |     nogo = "@dev_source_monogon//build/analysis:nogo", | 
| Leopold Schabel | 60a85b6 | 2019-11-17 19:12:41 +0100 | [diff] [blame] | 65 | ) | 
| Leopold Schabel | 5c80aca | 2019-10-22 15:48:58 +0200 | [diff] [blame] | 66 |  | 
| Lorenz Brun | c2e3b1b | 2021-11-11 11:06:41 +0100 | [diff] [blame] | 67 | load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies") | 
 | 68 |  | 
 | 69 | # Load Gazelle-generated local dependencies | 
 | 70 | gazelle_dependencies() | 
 | 71 |  | 
| Leopold Schabel | 5c80aca | 2019-10-22 15:48:58 +0200 | [diff] [blame] | 72 | # Protobuf | 
 | 73 |  | 
 | 74 | http_archive( | 
 | 75 |     name = "com_google_protobuf", | 
| Serge Bazanski | cbeb8a0 | 2021-08-24 15:17:04 +0200 | [diff] [blame] | 76 |     sha256 = "c6003e1d2e7fefa78a3039f19f383b4f3a61e81be8c19356f85b6461998ad3db", | 
 | 77 |     strip_prefix = "protobuf-3.17.3", | 
 | 78 |     urls = ["https://github.com/protocolbuffers/protobuf/archive/v3.17.3.tar.gz"], | 
| Leopold Schabel | 5c80aca | 2019-10-22 15:48:58 +0200 | [diff] [blame] | 79 | ) | 
 | 80 |  | 
 | 81 | load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") | 
 | 82 |  | 
 | 83 | protobuf_deps() | 
 | 84 |  | 
| Serge Bazanski | bb7db92 | 2020-04-30 12:43:10 +0200 | [diff] [blame] | 85 | # Build packages | 
 | 86 | http_archive( | 
 | 87 |     name = "rules_pkg", | 
| Lorenz Brun | 3ec8116 | 2021-11-09 03:37:03 +0100 | [diff] [blame] | 88 |     sha256 = "a89e203d3cf264e564fcb96b6e06dd70bc0557356eb48400ce4b5d97c2c3720d", | 
 | 89 |     urls = [ | 
 | 90 |         "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.5.1/rules_pkg-0.5.1.tar.gz", | 
 | 91 |         "https://github.com/bazelbuild/rules_pkg/releases/download/0.5.1/rules_pkg-0.5.1.tar.gz", | 
 | 92 |     ], | 
| Serge Bazanski | bb7db92 | 2020-04-30 12:43:10 +0200 | [diff] [blame] | 93 | ) | 
 | 94 |  | 
| Lorenz Brun | 3ec8116 | 2021-11-09 03:37:03 +0100 | [diff] [blame] | 95 | load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies") | 
 | 96 |  | 
 | 97 | rules_pkg_dependencies() | 
 | 98 |  | 
| Serge Bazanski | cbf1fa9 | 2021-07-02 17:28:50 +0200 | [diff] [blame] | 99 | # Rust rules | 
 | 100 | http_archive( | 
 | 101 |     name = "rules_rust", | 
 | 102 |     sha256 = "6c6abf4100b3118467a9674e9dba5f4933aa97840f909823aacddffc2abe139b", | 
 | 103 |     strip_prefix = "rules_rust-f4cbea56b8053436fbab625fc32254da212a0304", | 
 | 104 |     urls = [ | 
 | 105 |         # Main branch as of 2021-07-01 | 
 | 106 |         "https://github.com/bazelbuild/rules_rust/archive/f4cbea56b8053436fbab625fc32254da212a0304.tar.gz", | 
 | 107 |     ], | 
 | 108 | ) | 
 | 109 |  | 
 | 110 | load("@rules_rust//rust:repositories.bzl", "rust_repositories") | 
 | 111 |  | 
 | 112 | rust_repositories() | 
 | 113 |  | 
 | 114 | load("//third_party/rust/cargo:crates.bzl", "raze_fetch_remote_crates") | 
 | 115 |  | 
 | 116 | raze_fetch_remote_crates() | 
 | 117 |  | 
| Serge Bazanski | 2fb13a8 | 2020-02-11 12:41:37 +0100 | [diff] [blame] | 118 | # third_party external repositories | 
 | 119 | load("//third_party/linux:external.bzl", "linux_external") | 
| Lorenz Brun | 7b5d994 | 2020-03-19 16:14:02 +0100 | [diff] [blame] | 120 |  | 
 | 121 | linux_external( | 
 | 122 |     name = "linux", | 
| Lorenz Brun | fc2d0d8 | 2022-03-31 14:36:17 +0200 | [diff] [blame] | 123 |     version = "5.15.32", | 
| Lorenz Brun | 7b5d994 | 2020-03-19 16:14:02 +0100 | [diff] [blame] | 124 | ) | 
| Leopold Schabel | 5c80aca | 2019-10-22 15:48:58 +0200 | [diff] [blame] | 125 |  | 
| Lorenz Brun | 17c4c8b | 2022-02-01 12:59:47 +0100 | [diff] [blame] | 126 | load("//third_party/linux-firmware:external.bzl", "linux_firmware_external") | 
 | 127 |  | 
 | 128 | linux_firmware_external( | 
 | 129 |     name = "linux-firmware", | 
 | 130 |     version = "20211216", | 
 | 131 | ) | 
 | 132 |  | 
| Lorenz Brun | 80deba5 | 2022-02-24 17:07:13 +0100 | [diff] [blame] | 133 | load("//third_party/intel_ucode:external.bzl", "intel_ucode_external") | 
 | 134 |  | 
 | 135 | intel_ucode_external( | 
 | 136 |     name = "intel_ucode", | 
 | 137 |     version = "20220207", | 
 | 138 | ) | 
 | 139 |  | 
| Serge Bazanski | 2fb13a8 | 2020-02-11 12:41:37 +0100 | [diff] [blame] | 140 | load("//third_party/edk2:external.bzl", "edk2_external") | 
| Lorenz Brun | 7b5d994 | 2020-03-19 16:14:02 +0100 | [diff] [blame] | 141 |  | 
 | 142 | edk2_external(name = "edk2") | 
| Leopold Schabel | 5c80aca | 2019-10-22 15:48:58 +0200 | [diff] [blame] | 143 |  | 
| Serge Bazanski | 2fb13a8 | 2020-02-11 12:41:37 +0100 | [diff] [blame] | 144 | load("//third_party/musl:external.bzl", "musl_external") | 
| Lorenz Brun | 7b5d994 | 2020-03-19 16:14:02 +0100 | [diff] [blame] | 145 |  | 
 | 146 | musl_external( | 
 | 147 |     name = "musl", | 
 | 148 |     version = "1.1.24", | 
 | 149 | ) | 
| Leopold Schabel | 5c80aca | 2019-10-22 15:48:58 +0200 | [diff] [blame] | 150 |  | 
| Serge Bazanski | 2fb13a8 | 2020-02-11 12:41:37 +0100 | [diff] [blame] | 151 | load("//third_party/util-linux:external.bzl", "util_linux_external") | 
| Lorenz Brun | 7b5d994 | 2020-03-19 16:14:02 +0100 | [diff] [blame] | 152 |  | 
 | 153 | util_linux_external( | 
 | 154 |     name = "util_linux", | 
| Lorenz Brun | ddd6caf | 2021-03-04 17:16:04 +0100 | [diff] [blame] | 155 |     version = "2.36.2", | 
| Lorenz Brun | 7b5d994 | 2020-03-19 16:14:02 +0100 | [diff] [blame] | 156 | ) | 
| Leopold Schabel | 5c80aca | 2019-10-22 15:48:58 +0200 | [diff] [blame] | 157 |  | 
| Serge Bazanski | 2fb13a8 | 2020-02-11 12:41:37 +0100 | [diff] [blame] | 158 | load("//third_party/xfsprogs:external.bzl", "xfsprogs_external") | 
| Lorenz Brun | 7b5d994 | 2020-03-19 16:14:02 +0100 | [diff] [blame] | 159 |  | 
 | 160 | xfsprogs_external( | 
 | 161 |     name = "xfsprogs", | 
| Lorenz Brun | ddd6caf | 2021-03-04 17:16:04 +0100 | [diff] [blame] | 162 |     version = "5.10.0", | 
| Lorenz Brun | 7b5d994 | 2020-03-19 16:14:02 +0100 | [diff] [blame] | 163 | ) | 
| Lorenz Brun | 6c39ea1 | 2019-11-04 11:39:42 +0100 | [diff] [blame] | 164 |  | 
| Lorenz Brun | 0de1893 | 2021-03-11 00:36:48 +0100 | [diff] [blame] | 165 | load("//third_party/pixman:external.bzl", "pixman_external") | 
 | 166 |  | 
 | 167 | pixman_external( | 
 | 168 |     name = "pixman", | 
 | 169 |     version = "0.40.0", | 
 | 170 | ) | 
 | 171 |  | 
 | 172 | load("//third_party/uring:external.bzl", "uring_external") | 
 | 173 |  | 
 | 174 | uring_external( | 
 | 175 |     name = "uring", | 
 | 176 |     version = "2.0", | 
 | 177 | ) | 
 | 178 |  | 
 | 179 | load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") | 
 | 180 |  | 
 | 181 | git_repository( | 
 | 182 |     name = "gperf", | 
 | 183 |     commit = "de9373c2d48a3edf29862eb8be44764a7f7d24c6", | 
| Leopold Schabel | 57a9d3e | 2021-04-01 17:31:48 +0200 | [diff] [blame] | 184 |     remote = "https://github.com/monogon-dev/gperf.git", | 
| Lorenz Brun | 0de1893 | 2021-03-11 00:36:48 +0100 | [diff] [blame] | 185 |     shallow_since = "1615306886 +0100", | 
 | 186 | ) | 
 | 187 |  | 
 | 188 | load("//third_party/seccomp:external.bzl", "seccomp_external") | 
 | 189 |  | 
 | 190 | seccomp_external( | 
 | 191 |     name = "seccomp", | 
 | 192 |     version = "2.5.1", | 
 | 193 | ) | 
 | 194 |  | 
 | 195 | load("//third_party/glib:external.bzl", "glib_external") | 
 | 196 |  | 
 | 197 | glib_external( | 
 | 198 |     name = "glib", | 
 | 199 |     version = "2.67.5", | 
 | 200 | ) | 
 | 201 |  | 
 | 202 | load("//third_party/qemu:external.bzl", "qemu_external") | 
 | 203 |  | 
 | 204 | qemu_external( | 
 | 205 |     name = "qemu", | 
 | 206 |     version = "5.2.0", | 
 | 207 | ) | 
 | 208 |  | 
| Serge Bazanski | 8ff4b7c | 2021-08-17 19:21:18 +0200 | [diff] [blame] | 209 | load("//third_party/chrony:external.bzl", "chrony_external") | 
 | 210 |  | 
 | 211 | chrony_external( | 
 | 212 |     name = "chrony", | 
 | 213 | ) | 
 | 214 |  | 
| Lorenz Brun | 40025ff | 2021-08-31 13:06:02 +0200 | [diff] [blame] | 215 | load("//third_party/cap:external.bzl", "cap_external") | 
 | 216 |  | 
 | 217 | cap_external( | 
 | 218 |     name = "cap", | 
 | 219 |     version = "1.2.55", | 
 | 220 | ) | 
 | 221 |  | 
| Lorenz Brun | 296bde2 | 2021-09-28 15:04:40 +0200 | [diff] [blame] | 222 | load("//third_party/gnuefi:external.bzl", "gnuefi_external") | 
 | 223 |  | 
 | 224 | gnuefi_external( | 
 | 225 |     name = "gnuefi", | 
 | 226 |     version = "3.0.14", | 
 | 227 | ) | 
 | 228 |  | 
| Lorenz Brun | 5d40c67 | 2021-09-28 15:06:37 +0200 | [diff] [blame] | 229 | load("//third_party/efistub:external.bzl", "efistub_external") | 
 | 230 |  | 
 | 231 | efistub_external( | 
 | 232 |     name = "efistub", | 
 | 233 |     # Developed in the systemd monorepo, pinned to master as there have been a bunch of critical fixes for the | 
 | 234 |     # EFI stub since 249. | 
 | 235 |     version = "3542da2442d8b29661b47c42ad7e5fa9bc8562ec", | 
 | 236 | ) | 
 | 237 |  | 
| Serge Bazanski | bb7db92 | 2020-04-30 12:43:10 +0200 | [diff] [blame] | 238 | register_toolchains("//:host_python") | 
| Lorenz Brun | 7b5d994 | 2020-03-19 16:14:02 +0100 | [diff] [blame] | 239 |  | 
| Serge Bazanski | bb7db92 | 2020-04-30 12:43:10 +0200 | [diff] [blame] | 240 | # same for gvisor/rules_docker. | 
 | 241 |  | 
 | 242 | http_archive( | 
 | 243 |     name = "io_bazel_rules_docker", | 
| Serge Bazanski | 3536e4d | 2021-05-11 11:58:56 +0200 | [diff] [blame] | 244 |     sha256 = "59d5b42ac315e7eadffa944e86e90c2990110a1c8075f1cd145f487e999d22b3", | 
 | 245 |     strip_prefix = "rules_docker-0.17.0", | 
 | 246 |     urls = ["https://github.com/bazelbuild/rules_docker/releases/download/v0.17.0/rules_docker-v0.17.0.tar.gz"], | 
| Serge Bazanski | bb7db92 | 2020-04-30 12:43:10 +0200 | [diff] [blame] | 247 | ) | 
| Lorenz Brun | c88c82d | 2020-05-08 14:35:04 +0200 | [diff] [blame] | 248 |  | 
| Lorenz Brun | 8b0431a | 2020-07-13 16:56:36 +0200 | [diff] [blame] | 249 | load( | 
 | 250 |     "@io_bazel_rules_docker//repositories:repositories.bzl", | 
 | 251 |     container_repositories = "repositories", | 
 | 252 | ) | 
 | 253 |  | 
 | 254 | container_repositories() | 
 | 255 |  | 
 | 256 | load( | 
 | 257 |     "@io_bazel_rules_docker//go:image.bzl", | 
 | 258 |     go_image_repos = "repositories", | 
 | 259 | ) | 
 | 260 |  | 
 | 261 | go_image_repos() | 
 | 262 |  | 
| Lorenz Brun | c88c82d | 2020-05-08 14:35:04 +0200 | [diff] [blame] | 263 | # Derived from Mozilla NSS, currently needed for containerd to be able to pull images | 
 | 264 | http_file( | 
 | 265 |     name = "cacerts", | 
 | 266 |     sha256 = "adf770dfd574a0d6026bfaa270cb6879b063957177a991d453ff1d302c02081f", | 
 | 267 |     urls = ["https://curl.haxx.se/ca/cacert-2020-01-01.pem"], | 
 | 268 | ) | 
| Serge Bazanski | 140bddc | 2020-06-05 21:01:19 +0200 | [diff] [blame] | 269 |  | 
 | 270 | # lz4, the library and the tool. | 
 | 271 | http_archive( | 
 | 272 |     name = "com_github_lz4_lz4", | 
 | 273 |     patch_args = ["-p1"], | 
 | 274 |     patches = ["//third_party/lz4:build.patch"], | 
 | 275 |     sha256 = "658ba6191fa44c92280d4aa2c271b0f4fbc0e34d249578dd05e50e76d0e5efcc", | 
 | 276 |     strip_prefix = "lz4-1.9.2", | 
 | 277 |     urls = ["https://github.com/lz4/lz4/archive/v1.9.2.tar.gz"], | 
 | 278 | ) | 
| Lorenz Brun | 2e30e88 | 2020-06-24 15:17:29 +0200 | [diff] [blame] | 279 |  | 
| Lorenz Brun | ddd6caf | 2021-03-04 17:16:04 +0100 | [diff] [blame] | 280 | # ini.h, a tiny ini parser library | 
 | 281 | http_archive( | 
 | 282 |     name = "inih", | 
 | 283 |     build_file = "@//third_party/inih:inih.bzl", | 
 | 284 |     sha256 = "01b0366fdfdf6363efc070c2f856f1afa33e7a6546548bada5456ad94a516241", | 
 | 285 |     strip_prefix = "inih-r53", | 
 | 286 |     urls = ["https://github.com/benhoyt/inih/archive/r53.tar.gz"], | 
 | 287 | ) | 
 | 288 |  | 
| Lorenz Brun | 2e30e88 | 2020-06-24 15:17:29 +0200 | [diff] [blame] | 289 | # qboot bootloader for MicroVMs | 
 | 290 | http_archive( | 
 | 291 |     name = "com_github_bonzini_qboot", | 
 | 292 |     build_file = "//third_party/qboot:qboot.bzl", | 
 | 293 |     sha256 = "a643b2486fbee57b969659d408984094ca9afa1a048317dd3f5d3022e47213e8", | 
 | 294 |     strip_prefix = "qboot-a5300c4949b8d4de2d34bedfaed66793f48ec948", | 
 | 295 |     urls = ["https://github.com/bonzini/qboot/archive/a5300c4949b8d4de2d34bedfaed66793f48ec948.tar.gz"], | 
 | 296 | ) | 
| Serge Bazanski | 9e861a8 | 2020-09-16 13:46:41 +0200 | [diff] [blame] | 297 |  | 
| Serge Bazanski | 662b5b3 | 2020-12-21 13:49:00 +0100 | [diff] [blame] | 298 | # Load musl toolchain Metropolis sysroot tarball into external repository. | 
| Serge Bazanski | 9e861a8 | 2020-09-16 13:46:41 +0200 | [diff] [blame] | 299 | load("//build/toolchain/musl-host-gcc:sysroot.bzl", "musl_sysroot_repositories") | 
| Lorenz Brun | 2073ce3 | 2021-02-03 18:52:59 +0100 | [diff] [blame] | 300 |  | 
| Serge Bazanski | 9e861a8 | 2020-09-16 13:46:41 +0200 | [diff] [blame] | 301 | musl_sysroot_repositories() |