###############################################################################
# Bazel now uses Bzlmod by default to manage external dependencies.
# Please consider migrating your external dependencies from WORKSPACE to MODULE.bazel.
#
# For more details, please check https://github.com/bazelbuild/bazel/issues/18958
###############################################################################

# NOTE: When editing this file, also update the lockfile.
#   bazel mod deps --lockfile_mode=update

bazel_dep(name = "platforms", version = "1.0.0")
bazel_dep(name = "rules_go", repo_name = "io_bazel_rules_go")
single_version_override(
    module_name = "rules_go",
    patch_strip = 1,
    patches = [
        "//third_party/rules_go:rules_go_absolute_embedsrc.patch",
        "//third_party/rules_go:introduce-all-scope-for-nogo.patch",
    ],
    version = "0.55.1",
)

bazel_dep(name = "gazelle")
single_version_override(
    module_name = "gazelle",
    patch_strip = 1,
    patches = [
        "//third_party/gazelle:add-prepatching.patch",
    ],
    version = "0.44.0",
)

# rules_rust was split into multiple dependencies. Sadly, this means we have to
# patch each include separately.
RULES_RUST_VERSION = "0.61.0"

bazel_dep(name = "rules_rust")
single_version_override(
    module_name = "rules_rust",
    patch_strip = 1,
    patches = [
        "//third_party/rules_rust:rust-prost-nostd.patch",
        "//third_party/rules_rust:rust-reproducibility.patch",
    ],
    version = RULES_RUST_VERSION,
)

bazel_dep(name = "rules_rust_prost")
single_version_override(
    module_name = "rules_rust_prost",
    patch_strip = 3,
    patches = [
        "//third_party/rules_rust:rust-prost-nostd.patch",
    ],
    version = RULES_RUST_VERSION,
)

bazel_dep(name = "rules_rust_protobuf", version = RULES_RUST_VERSION)
bazel_dep(name = "rules_rust_mdbook", version = RULES_RUST_VERSION)
bazel_dep(name = "libuuid")
single_version_override(
    module_name = "libuuid",
    patch_strip = 1,
    patches = [
        "//third_party/libuuid/patches:musl-compat.patch",
    ],
    version = "2.39.3.bcr.1",
)

bazel_dep(name = "glib")
single_version_override(
    module_name = "glib",
    patch_strip = 1,
    patches = [
        "//third_party/glib/patches:musl-compat.patch",
    ],
    version = "2.82.2.bcr.5",
)

bazel_dep(name = "zstd", version = "1.5.7")
bazel_dep(name = "gperf", version = "3.1")
bazel_dep(name = "zlib", version = "1.3.1.bcr.6")
bazel_dep(name = "boringssl", version = "0.20250514.0")
bazel_dep(name = "libcap", version = "2.27")
bazel_dep(name = "buildifier_prebuilt", version = "8.2.0.2")
bazel_dep(name = "bazel_skylib", version = "1.7.1")
bazel_dep(name = "rules_pkg", version = "1.1.0")
bazel_dep(name = "rules_oci", version = "2.2.6")
bazel_dep(name = "aspect_bazel_lib", version = "2.19.4")
bazel_dep(name = "rules_multirun", version = "0.12.0")
bazel_dep(name = "rules_python", version = "1.4.1")
bazel_dep(name = "rules_cc", version = "0.1.2")
bazel_dep(name = "rules_proto", version = "7.1.0")
bazel_dep(name = "rules_proto_grpc_doc", version = "5.1.0")
bazel_dep(name = "rules_proto_grpc_buf", version = "5.1.0")

# Currently supported version are listed here:
# https://protobuf.dev/support/version-support/
bazel_dep(name = "protobuf", version = "31.1")
bazel_dep(name = "toolchain_cc_mngn")
git_override(
    module_name = "toolchain_cc_mngn",
    commit = "6e241ef6ebcbdc630d332fa789a1b53b52c27771",
    remote = "https://review.monogon.dev/toolchain_cc",
)

register_toolchains("//build/toolchain:host_cc_toolchain")

register_toolchains("@toolchain_cc_mngn//linux_musl:linux_x86_64_linux_x86_64_musl_static")

register_toolchains("@toolchain_cc_mngn//linux_musl:linux_x86_64_linux_aarch64_musl_static")

register_toolchains("@toolchain_cc_mngn//linux_musl:linux_x86_64_linux_aarch64_musl")

register_toolchains("@toolchain_cc_mngn//efi:linux_x86_64_efi_x86_64")

register_toolchains("@toolchain_cc_mngn//efi:linux_x86_64_efi_aarch64")

# Rust Toolchains
register_toolchains("@rust_toolchains//:all")

# Protobuf Toolchains
register_toolchains("@rules_rust_protobuf//:default_proto_toolchain")

register_toolchains("//build/toolchain/rust-efi:prost_efi_toolchain")

include("//build/bazel:rust.MODULE.bazel")
include("//build/bazel:go.MODULE.bazel")
include("//build/bazel:oci.MODULE.bazel")
include("//build/bazel:third_party.MODULE.bazel")
