workspace(name = "prysm") load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") http_archive( name = "bazel_toolchains", sha256 = "8e0633dfb59f704594f19ae996a35650747adc621ada5e8b9fb588f808c89cb0", strip_prefix = "bazel-toolchains-3.7.0", urls = [ "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/releases/download/3.7.0/bazel-toolchains-3.7.0.tar.gz", "https://github.com/bazelbuild/bazel-toolchains/releases/download/3.7.0/bazel-toolchains-3.7.0.tar.gz", ], ) http_archive( name = "com_grail_bazel_toolchain", sha256 = "b210fc8e58782ef171f428bfc850ed7179bdd805543ebd1aa144b9c93489134f", strip_prefix = "bazel-toolchain-83e69ba9e4b4fdad0d1d057fcb87addf77c281c9", urls = ["https://github.com/grailbio/bazel-toolchain/archive/83e69ba9e4b4fdad0d1d057fcb87addf77c281c9.tar.gz"], ) load("@com_grail_bazel_toolchain//toolchain:deps.bzl", "bazel_toolchain_dependencies") bazel_toolchain_dependencies() load("@com_grail_bazel_toolchain//toolchain:rules.bzl", "llvm_toolchain") llvm_toolchain( name = "llvm_toolchain", llvm_version = "10.0.0", ) load("@llvm_toolchain//:toolchains.bzl", "llvm_register_toolchains") llvm_register_toolchains() load("@prysm//tools/cross-toolchain:prysm_toolchains.bzl", "configure_prysm_toolchains") configure_prysm_toolchains() load("@prysm//tools/cross-toolchain:rbe_toolchains_config.bzl", "rbe_toolchains_config") rbe_toolchains_config() load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "bazel_skylib", sha256 = "1c531376ac7e5a180e0237938a2536de0c54d93f5c278634818e0efc952dd56c", urls = [ "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz", "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz", ], ) load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace") bazel_skylib_workspace() http_archive( name = "bazel_gazelle", sha256 = "5982e5463f171da99e3bdaeff8c0f48283a7a5f396ec5282910b9e8a49c0dd7e", urls = [ "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.25.0/bazel-gazelle-v0.25.0.tar.gz", "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.25.0/bazel-gazelle-v0.25.0.tar.gz", ], ) http_archive( name = "com_github_atlassian_bazel_tools", sha256 = "60821f298a7399450b51b9020394904bbad477c18718d2ad6c789f231e5b8b45", strip_prefix = "bazel-tools-a2138311856f55add11cd7009a5abc8d4fd6f163", urls = ["https://github.com/atlassian/bazel-tools/archive/a2138311856f55add11cd7009a5abc8d4fd6f163.tar.gz"], ) http_archive( name = "io_bazel_rules_docker", sha256 = "1f4e59843b61981a96835dc4ac377ad4da9f8c334ebe5e0bb3f58f80c09735f4", strip_prefix = "rules_docker-0.19.0", urls = ["https://github.com/bazelbuild/rules_docker/releases/download/v0.19.0/rules_docker-v0.19.0.tar.gz"], ) http_archive( name = "io_bazel_rules_go", patch_args = ["-p1"], patches = [ # Expose internals of go_test for custom build transitions. "//third_party:io_bazel_rules_go_test.patch", ], sha256 = "16e9fca53ed6bd4ff4ad76facc9b7b651a89db1689a2877d6fd7b82aa824e366", urls = [ "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.34.0/rules_go-v0.34.0.zip", "https://github.com/bazelbuild/rules_go/releases/download/v0.34.0/rules_go-v0.34.0.zip", ], ) # Override default import in rules_go with special patch until # https://github.com/gogo/protobuf/pull/582 is merged. git_repository( name = "com_github_gogo_protobuf", commit = "b03c65ea87cdc3521ede29f62fe3ce239267c1bc", patch_args = ["-p1"], patches = [ "@io_bazel_rules_go//third_party:com_github_gogo_protobuf-gazelle.patch", "//third_party:com_github_gogo_protobuf-equal.patch", ], remote = "https://github.com/gogo/protobuf", shallow_since = "1610265707 +0000", # gazelle args: -go_prefix github.com/gogo/protobuf -proto legacy ) http_archive( name = "fuzzit_linux", build_file_content = "exports_files([\"fuzzit\"])", sha256 = "9ca76ac1c22d9360936006efddf992977ebf8e4788ded8e5f9d511285c9ac774", urls = ["https://github.com/fuzzitdev/fuzzit/releases/download/v2.4.76/fuzzit_Linux_x86_64.zip"], ) load( "@io_bazel_rules_docker//repositories:repositories.bzl", container_repositories = "repositories", ) container_repositories() load( "@io_bazel_rules_docker//container:container.bzl", "container_pull", ) container_pull( name = "cc_image_base", digest = "sha256:2c4bb6b7236db0a55ec54ba8845e4031f5db2be957ac61867872bf42e56c4deb", registry = "gcr.io", repository = "distroless/cc", ) container_pull( name = "cc_debug_image_base", digest = "sha256:3680c61e81f68fc00bfb5e1ec65e8e678aaafa7c5f056bc2681c29527ebbb30c", registry = "gcr.io", repository = "distroless/cc", ) container_pull( name = "go_image_base", digest = "sha256:ba7a315f86771332e76fa9c3d423ecfdbb8265879c6f1c264d6fff7d4fa460a4", registry = "gcr.io", repository = "distroless/base", ) container_pull( name = "go_debug_image_base", digest = "sha256:efd8711717d9e9b5d0dbb20ea10876dab0609c923bc05321b912f9239090ca80", registry = "gcr.io", repository = "distroless/base", ) container_pull( name = "alpine_cc_linux_amd64", digest = "sha256:752aa0c9a88461ffc50c5267bb7497ef03a303e38b2c8f7f2ded9bebe5f1f00e", registry = "index.docker.io", repository = "pinglamb/alpine-glibc", ) container_pull( name = "fuzzit_base", digest = "sha256:24a39a4360b07b8f0121eb55674a2e757ab09f0baff5569332fefd227ee4338f", registry = "gcr.io", repository = "fuzzit-public/stretch-llvm8", ) load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") go_rules_dependencies() go_register_toolchains( go_version = "1.18.5", nogo = "@//:nogo", ) http_archive( name = "prysm_testnet_site", build_file_content = """ proto_library( name = "faucet_proto", srcs = ["src/proto/faucet.proto"], visibility = ["//visibility:public"], )""", sha256 = "29742136ff9faf47343073c4569a7cf21b8ed138f726929e09e3c38ab83544f7", strip_prefix = "prysm-testnet-site-5c711600f0a77fc553b18cf37b880eaffef4afdb", url = "https://github.com/prestonvanloon/prysm-testnet-site/archive/5c711600f0a77fc553b18cf37b880eaffef4afdb.tar.gz", ) http_archive( name = "io_kubernetes_build", sha256 = "b84fbd1173acee9d02a7d3698ad269fdf4f7aa081e9cecd40e012ad0ad8cfa2a", strip_prefix = "repo-infra-6537f2101fb432b679f3d103ee729dd8ac5d30a0", url = "https://github.com/kubernetes/repo-infra/archive/6537f2101fb432b679f3d103ee729dd8ac5d30a0.tar.gz", ) http_archive( name = "eip3076_spec_tests", build_file_content = """ filegroup( name = "test_data", srcs = glob([ "**/*.json", ]), visibility = ["//visibility:public"], ) """, sha256 = "91434d5fd5e1c6eb7b0174fed2afe25e09bddf00e1e4c431db931b2cee4e7773", url = "https://github.com/eth-clients/slashing-protection-interchange-tests/archive/b8413ca42dc92308019d0d4db52c87e9e125c4e9.tar.gz", ) consensus_spec_version = "v1.2.0-rc.2" bls_test_version = "v0.1.1" http_archive( name = "consensus_spec_tests_general", build_file_content = """ filegroup( name = "test_data", srcs = glob([ "**/*.ssz_snappy", "**/*.yaml", ]), visibility = ["//visibility:public"], ) """, sha256 = "eff52923eebbed6e37a5282db5290abe67c68d6aa54302e3db2b0718c3edf867", url = "https://github.com/ethereum/consensus-spec-tests/releases/download/%s/general.tar.gz" % consensus_spec_version, ) http_archive( name = "consensus_spec_tests_minimal", build_file_content = """ filegroup( name = "test_data", srcs = glob([ "**/*.ssz_snappy", "**/*.yaml", ]), visibility = ["//visibility:public"], ) """, sha256 = "6183d39d40ae659347e8bcfa435cbbe6de8c19ab327b61d47f906bb087bc7a67", url = "https://github.com/ethereum/consensus-spec-tests/releases/download/%s/minimal.tar.gz" % consensus_spec_version, ) http_archive( name = "consensus_spec_tests_mainnet", build_file_content = """ filegroup( name = "test_data", srcs = glob([ "**/*.ssz_snappy", "**/*.yaml", ]), visibility = ["//visibility:public"], ) """, sha256 = "894d16608d7d37a8f6206165e6c2b6ffcc45b13152b5f411e9283b005ca9793f", url = "https://github.com/ethereum/consensus-spec-tests/releases/download/%s/mainnet.tar.gz" % consensus_spec_version, ) http_archive( name = "consensus_spec", build_file_content = """ filegroup( name = "spec_data", srcs = glob([ "**/*.yaml", ]), visibility = ["//visibility:public"], ) """, sha256 = "006674e5d7eee613f1155e154ab97f6b57589ec92e6e3e5f7affd2b53581e907", strip_prefix = "consensus-specs-" + consensus_spec_version[1:], url = "https://github.com/ethereum/consensus-specs/archive/refs/tags/%s.tar.gz" % consensus_spec_version, ) http_archive( name = "bls_spec_tests", build_file_content = """ filegroup( name = "test_data", srcs = glob([ "**/*.yaml", ]), visibility = ["//visibility:public"], ) """, sha256 = "93c7d006e7c5b882cbd11dc9ec6c5d0e07f4a8c6b27a32f964eb17cf2db9763a", url = "https://github.com/ethereum/bls12-381-tests/releases/download/%s/bls_tests_yaml.tar.gz" % bls_test_version, ) http_archive( name = "eth2_networks", build_file_content = """ filegroup( name = "configs", srcs = glob([ "shared/**/config.yaml", ]), visibility = ["//visibility:public"], ) """, sha256 = "82b01a48b143fe0f2fb7fb5f5dd385c1f934335a12d7954f08b1d45d77427b5e", strip_prefix = "eth2-networks-674f7a1d01d9c18345456eab76e3871b3df2126b", url = "https://github.com/eth-clients/eth2-networks/archive/674f7a1d01d9c18345456eab76e3871b3df2126b.tar.gz", ) http_archive( name = "com_github_bazelbuild_buildtools", sha256 = "7a182df18df1debabd9e36ae07c8edfa1378b8424a04561b674d933b965372b3", strip_prefix = "buildtools-f2aed9ee205d62d45c55cfabbfd26342f8526862", url = "https://github.com/bazelbuild/buildtools/archive/f2aed9ee205d62d45c55cfabbfd26342f8526862.zip", ) git_repository( name = "com_google_protobuf", commit = "436bd7880e458532901c58f4d9d1ea23fa7edd52", remote = "https://github.com/protocolbuffers/protobuf", shallow_since = "1617835118 -0700", ) # Group the sources of the library so that CMake rule have access to it all_content = """filegroup(name = "all", srcs = glob(["**"]), visibility = ["//visibility:public"])""" # External dependencies http_archive( name = "prysm_web_ui", build_file_content = """ filegroup( name = "site", srcs = glob(["**/*"]), visibility = ["//visibility:public"], ) """, sha256 = "98013b40922e54a64996da49b939e0a88fe2456f68eedc5aee4ceba0f8623f71", urls = [ "https://github.com/prysmaticlabs/prysm-web-ui/releases/download/v2.0.0/prysm-web-ui.tar.gz", ], ) load("//:deps.bzl", "prysm_deps") # gazelle:repository_macro deps.bzl%prysm_deps prysm_deps() load("@prysm//third_party/herumi:herumi.bzl", "bls_dependencies") bls_dependencies() load("@prysm//testing/endtoend:deps.bzl", "e2e_deps") e2e_deps() load( "@io_bazel_rules_docker//go:image.bzl", _go_image_repos = "repositories", ) # Golang images # This is using gcr.io/distroless/base _go_image_repos() # CC images # This is using gcr.io/distroless/base load( "@io_bazel_rules_docker//cc:image.bzl", _cc_image_repos = "repositories", ) _cc_image_repos() load("@io_bazel_rules_go//extras:embed_data_deps.bzl", "go_embed_data_dependencies") go_embed_data_dependencies() load("@com_github_atlassian_bazel_tools//gometalinter:deps.bzl", "gometalinter_dependencies") gometalinter_dependencies() load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies") gazelle_dependencies() load("@com_github_bazelbuild_buildtools//buildifier:deps.bzl", "buildifier_dependencies") buildifier_dependencies() load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") protobuf_deps() # Do NOT add new go dependencies here! Refer to DEPENDENCIES.md!