Files
nearby/MODULE.bazel

155 lines
4.9 KiB
Python

bazel_dep(name = "platforms", version = "1.0.0")
bazel_dep(name = "rules_apple", version = "3.19.0")
bazel_dep(name = "rules_cc", version = "0.2.0")
bazel_dep(name = "rules_rust", version = "0.54.1")
bazel_dep(name = "bazel_skylib", version = "1.8.1")
bazel_dep(name = "abseil-cpp", version = "20250814.0", repo_name = "com_google_absl")
bazel_dep(name = "rules_foreign_cc", version = "0.15.0")
# version of prebuilt protoc in com_github_protobuf_prebuilt must match this.
bazel_dep(name = "protobuf", version = "32.0", repo_name = "com_google_protobuf")
bazel_dep(name = "googletest", version = "1.17.0", repo_name = "com_google_googletest")
bazel_dep(name = "boringssl", version = "0.0.0-20240126-22d349c")
git_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
git_repository(
name = "beto-core",
commit = "415bd032561d078720642d52e28fd3bc9d5155d4",
remote = "https://beto-core.googlesource.com/beto-core",
)
# Hedron's Compile Commands Extractor for Bazel
# https://github.com/hedronvision/bazel-compile-commands-extractor
# Hedron's Compile Commands Extractor for Bazel
# https://github.com/hedronvision/bazel-compile-commands-extractor
bazel_dep(name = "hedron_compile_commands", dev_dependency = True)
git_override(
module_name = "hedron_compile_commands",
remote = "https://github.com/mikael-s-persson/bazel-compile-commands-extractor",
commit = "02d15621b528efd877f5d5657c4b738523a0eb17"
)
rust = use_extension("@rules_rust//rust:extensions.bzl", "rust")
rust.toolchain(
edition = "2021",
versions = ["1.77.1"],
)
use_repo(rust, "rust_toolchains")
register_toolchains("@rust_toolchains//:all")
crate = use_extension(
"@rules_rust//crate_universe:extension.bzl",
"crate",
)
crate.from_cargo(
name = "crate_index",
cargo_lockfile = "@beto-core//:bazel_placeholder/Cargo.lock",
manifests = [
"@beto-core//:bazel_placeholder/Cargo.toml",
],
)
use_repo(crate, "crate_index")
http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "com_google_ukey2",
strip_prefix = "ukey2-master",
urls = ["https://github.com/google/ukey2/archive/master.zip"],
)
http_archive(
name = "aappleby_smhasher",
build_file_content = """
package(default_visibility = ["//visibility:public"])
cc_library(
name = "libmurmur3",
srcs = ["src/MurmurHash3.cpp"],
hdrs = ["src/MurmurHash3.h"],
copts = ["-Wno-implicit-fallthrough"],
licenses = ["unencumbered"], # MurmurHash is explicity public-domain
)""",
strip_prefix = "smhasher-master",
urls = ["https://github.com/aappleby/smhasher/archive/master.zip"],
)
http_archive(
name = "nlohmann_json",
build_file_content = """
cc_library(
name = "json",
hdrs = glob([
"include/nlohmann/**/*.hpp",
]),
strip_include_prefix = "include",
visibility = ["//visibility:public"],
alwayslink = True,
)""",
strip_prefix = "json-3.10.5",
urls = [
"https://github.com/nlohmann/json/archive/refs/tags/v3.10.5.tar.gz",
],
)
# ----------------------------------------------
# Nisaba: Script processing library from Google:
# ----------------------------------------------
# We depend on some of core C++ libraries from Nisaba and use the fresh code
# from the HEAD. See
# https://github.com/google-research/nisaba
http_archive(
name = "com_google_nisaba",
strip_prefix = "nisaba-main",
url = "https://github.com/google-research/nisaba/archive/refs/heads/main.zip",
)
# -------------------------------------------------------------------------
# Protocol buffer matches (should be part of gmock and gtest, but not yet):
# https://github.com/inazarenko/protobuf-matchers
http_archive(
name = "com_github_protobuf_matchers",
strip_prefix = "protobuf-matchers-master",
urls = ["https://github.com/inazarenko/protobuf-matchers/archive/refs/heads/master.zip"],
)
http_archive(
name = "com_github_protobuf_prebuilt",
build_file_content = """
filegroup(
name = "protoc",
srcs = ["bin/protoc"],
visibility = ["//visibility:public"],
)""",
urls = [
"https://github.com/protocolbuffers/protobuf/releases/download/v32.0/protoc-32.0-linux-x86_64.zip",
],
)
# Create a repo that exposes system-installed sdbus-c++ and libsystemd to Bazel.
new_local_repository = use_repo_rule(
"@bazel_tools//tools/build_defs/repo:local.bzl",
"new_local_repository",
)
# Fedora/RHEL layout (lib64); see Ubuntu/Debian variant below
new_local_repository(
name = "sdbus_cpp",
path = "/usr",
build_file_content = """
package(default_visibility = ["//visibility:public"])
cc_import(
name = "sdbus_cpp",
shared_library = "lib/x86_64-linux-gnu/libsdbus-c++.so",
hdrs = glob(["include/sdbus-c++/**/*.h*"]),
includes = ["include"],
)
cc_import(
name = "libsystemd",
shared_library = "lib/x86_64-linux-gnu/libsystemd.so",
)
""",
)