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") #bazel_dep(name = "hedron_compile_commands", dev_dependency = True) #git_override( # module_name = "hedron_compile_commands", # remote = "https://github.com/hedronvision/bazel-compile-commands-extractor.git", # commit = "02d15621b528efd877f5d5657c4b738523a0eb17", # ) 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", ) 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"], ) bazel_dep(name = "nlohmann_json", version = "3.12.0.bcr.1") # ---------------------------------------------- # 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", ) """, )