File
Blob: MODULE.bazel
| 1 | "Bazel dependencies, see https://registry.bazel.build" |
| 2 | |
| 3 | module(name = "workerd") |
| 4 | |
| 5 | # sqlite3 is downloaded from sqlite.org (not GitHub), so it remains manual. |
| 6 | # We have some patches that aren't included in BCR: |
| 7 | # https://github.com/bazelbuild/bazel-central-registry/tree/main/modules/sqlite3/3.47.0/patches |
| 8 | bazel_dep(name = "sqlite3") |
| 9 | archive_override( |
| 10 | module_name = "sqlite3", |
| 11 | build_file = "//:build/BUILD.sqlite3", |
| 12 | patch_args = ["-p1"], |
| 13 | patches = [ |
| 14 | "//:patches/sqlite/0001-row-counts-plain.patch", |
| 15 | "//:patches/sqlite/0002-macOS-missing-PATH-fix.patch", |
| 16 | "//:patches/sqlite/0003-sqlite-complete-early-exit.patch", |
| 17 | "//:patches/sqlite/0004-invalid-wal-on-rollback-fix.patch", |
| 18 | ], |
| 19 | remote_file_integrity = { |
| 20 | "MODULE.bazel": "sha256-+H38CSP6DtMT+YPSy9lplRLcfBApkukY4vdX6lBjDfI=", |
| 21 | }, |
| 22 | # Using build file from more recent version since it imports rules_cc properly |
| 23 | remote_file_urls = { |
| 24 | "MODULE.bazel": ["https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/refs/heads/main/modules/sqlite3/3.51.2.bcr.1/MODULE.bazel"], |
| 25 | }, |
| 26 | sha256 = "f59c349bedb470203586a6b6d10adb35f2afefa49f91e55a672a36a09a8fedf7", |
| 27 | strip_prefix = "sqlite-src-3470000", |
| 28 | url = "https://sqlite.org/2024/sqlite-src-3470000.zip", |
| 29 | ) |
| 30 | |
| 31 | # rules_android/rules_go are not used by ourselves, but protobuf pulls in outdated versions that are |
| 32 | # missing rules_cc symbols – can be dropped once protobuf uses more recent versions. At least we can |
| 33 | # use repo_name = None so that these are not visible to workerd itself and won't be pulled in if not |
| 34 | # needed transitively. |
| 35 | bazel_dep(name = "rules_go", version = "0.60.0", repo_name = None) |
| 36 | bazel_dep(name = "rules_android", version = "0.7.1", repo_name = None) |
| 37 | |
| 38 | # Automatically managed dependencies |
| 39 | include("//build/deps:gen/deps.MODULE.bazel") |
| 40 | include("//build/deps:gen/build_deps.MODULE.bazel") |
| 41 | include("//build/deps:gen/shared_deps.MODULE.bazel") |
| 42 | |
| 43 | # Must be loaded after automated dependencies |
| 44 | include("//build/deps:rust.MODULE.bazel") |
| 45 | include("//build/deps:nodejs.MODULE.bazel") |
| 46 | include("//build/deps:python.MODULE.bazel") |
| 47 | include("//build/deps:v8.MODULE.bazel") |
| 48 | include("//build/deps:oci.MODULE.bazel") |
| 49 | include("//build/deps/formatters:rustfmt.MODULE.bazel") |
| 50 | |
| 51 | # compatibility proxy is needed when using current rules_cc with Bazel 8 |
| 52 | compat = use_extension("@rules_cc//cc:extensions.bzl", "compatibility_proxy") |
| 53 | use_repo(compat, "cc_compatibility_proxy") |
| 54 | |
| 55 | cc_configure = use_extension("@rules_cc//cc:extensions.bzl", "cc_configure_extension") |
| 56 | use_repo(cc_configure, "local_config_cc") |