Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
332 changes: 332 additions & 0 deletions modules/envoy_toolshed/0.5.9.envoy/MODULE.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,332 @@
module(
name = "envoy_toolshed",
version = "0.5.9.envoy",
bazel_compatibility = [">=7.2.1"],
)

bazel_dep(name = "abseil-cpp", version = "20260817.0")
bazel_dep(name = "aspect_bazel_lib", version = "2.22.5")
bazel_dep(name = "bazel_skylib", version = "1.9.2")
bazel_dep(name = "boringssl", version = "0.20260813.0")
bazel_dep(name = "buildifier_prebuilt", version = "10.0.1", repo_name = "buildifier")
bazel_dep(name = "envoy_toolshed_jq", version = "0.5.9.envoy")
bazel_dep(name = "platforms", version = "1.1.0")
bazel_dep(name = "rules_cc", version = "0.2.25")
bazel_dep(name = "rules_pkg", version = "1.3.0")
bazel_dep(name = "rules_python", version = "2.4.5")
bazel_dep(name = "rules_shell", version = "0.8.0")
bazel_dep(name = "zstd", version = "1.5.7.bcr.3")

#############################################################################################
# deps: dev
#############################################################################################

bazel_dep(name = "curl", version = "8.11.0.bcr.4", dev_dependency = True)
bazel_dep(name = "git", version = "2.55.0", dev_dependency = True)
bazel_dep(name = "protobuf", version = "35.1.bcr.envoy", dev_dependency = True, repo_name = "com_google_protobuf")
bazel_dep(name = "rules_foreign_cc", version = "0.16.0", dev_dependency = True)
bazel_dep(name = "sq", version = "1.4.0.envoy", dev_dependency = True)
bazel_dep(name = "toolchains_llvm", version = "1.9.1.envoy", dev_dependency = True)
bazel_dep(name = "v8", version = "14.6.202.10.envoy.1", dev_dependency = True)

#############################################################################################
# toolchains
#############################################################################################

bazel_lib_toolchains = use_extension("@aspect_bazel_lib//lib:extensions.bzl", "toolchains")
bazel_lib_toolchains.jq(version = "1.7")
bazel_lib_toolchains.yq()
bazel_lib_toolchains.tar()
use_repo(bazel_lib_toolchains, "bsd_tar_toolchains", "jq", "jq_toolchains", "yq", "yq_toolchains")

buildifier_prebuilt = use_extension("@buildifier//:defs.bzl", "buildifier_prebuilt_deps_extension")
buildifier_prebuilt.toolchains()
use_repo(buildifier_prebuilt, "buildifier_prebuilt_toolchains")

PYTHON_VERSION_DEFAULT = "3.12"

PYTHON_VERSIONS = [
"3.11",
"3.12",
]

python = use_extension("@rules_python//python/extensions:python.bzl", "python")

[
python.toolchain(
is_default = python_version == PYTHON_VERSION_DEFAULT,
python_version = python_version,
)
for python_version in PYTHON_VERSIONS
]

use_repo(python, "python_3_11_host", "python_3_12_host")

pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")

[
pip.parse(
hub_name = "website_pip3",
python_version = python_version,
requirements_lock = "//website:requirements.txt",
)
for python_version in PYTHON_VERSIONS
]

use_repo(pip, "website_pip3")

[
pip.parse(
hub_name = "cve_pip3",
python_version = python_version,
requirements_lock = "//dependency/cve:requirements_lock.txt",
)
for python_version in PYTHON_VERSIONS
]

use_repo(pip, "cve_pip3")

reachability_test_ext = use_extension("//dependency/test:reachability_test_extension.bzl", "reachability_test_extension", dev_dependency = True)
use_repo(reachability_test_ext, "apparent_excluded_repo", "apparent_excluded_transitive_repo")

arch_alias_ext = use_extension("//repository:extensions.bzl", "arch_alias_extension", dev_dependency = True)
arch_alias_ext.alias(
name = "toolshed_arch_alias_smoke",
aarch64 = "//platforms/rbe:linux_arm64",
amd64 = "//platforms/rbe:linux_x64",
)
use_repo(arch_alias_ext, "toolshed_arch_alias_smoke")

# Load llvm_source for compile targets
http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
name = "llvm_source",
build_file_content = """filegroup(name = "all", srcs = glob(["**"]), visibility = ["//visibility:public"])""",
dev_dependency = True,
sha256 = "ad18b70e287954c3d62bc7e0b86e7b7af2adf87bcfce21c15fe717f101d7aace",
strip_prefix = "llvm-project-llvmorg-22.1.8",
url = "https://github.com/llvm/llvm-project/archive/llvmorg-22.1.8.tar.gz",
)

git_prebuilt_ext = use_extension("//git:extensions.bzl", "git_prebuilt_extension")
git_prebuilt_ext.setup()
use_repo(git_prebuilt_ext, "cacert", "git_toolchains")

sq_prebuilt_ext = use_extension("//pgp:extensions.bzl", "sq_prebuilt_extension")
sq_prebuilt_ext.setup()
use_repo(sq_prebuilt_ext, "sq_toolchains")

# Base sysroots shared by the LLVM and GCC toolchains.
sysroot_ext = use_extension("//sysroot:extensions.bzl", "sysroot_extension", dev_dependency = True)
sysroot_ext.setup()
use_repo(sysroot_ext, "sysroot_linux_amd64", "sysroot_linux_arm64")

# libstdc++13 sysroot variant, exercised by //sysroot/test. Not used by the
# toolchains: GCC supplies its own libstdc++ and must stay on the base sysroot.
sysroot_ext.setup(
name_prefix = "libstdcxx",
stdcc_version = "13",
)
use_repo(sysroot_ext, "libstdcxx_sysroot_linux_amd64", "libstdcxx_sysroot_linux_arm64")

macos_sysroot_test_repo = use_repo_rule("//sysroot:sysroot.bzl", "macos_sysroot")

macos_sysroot_test_repo(
name = "sysroot_macos_empty",
dev_dependency = True,
version = "test",
)

macos_sysroot_build_ext = use_extension("//sysroot:extensions.bzl", "macos_sysroot_build_extension", dev_dependency = True)
use_repo(macos_sysroot_build_ext, "macos_sdk_pkg", "pkgutil_linux_amd64")

# Prebuilt wee8 repos plus the @wee8_source fallback used by //v8:wee8 on
# platforms with no prebuilt. Consumers opt in to a source build with
# `setup(source = "@v8//:wee8")`; toolshed does so only in its dev graph so v8
# stays a dev dependency.
wee8_prebuilt_ext = use_extension("//v8:extensions.bzl", "wee8_prebuilt_extension")
wee8_prebuilt_ext.setup()
use_repo(wee8_prebuilt_ext, "wee8_prebuilt_aarch64", "wee8_prebuilt_aarch64_libstdcxx", "wee8_prebuilt_x86_64", "wee8_prebuilt_x86_64_libstdcxx", "wee8_source")

wee8_source_ext = use_extension("//v8:extensions.bzl", "wee8_prebuilt_extension", dev_dependency = True)
wee8_source_ext.setup(source = "@v8//:wee8")

# Setup sanitizer libraries (MSAN and TSAN) - example for downstream consumers
# Uncomment to use in your MODULE.bazel:
# sanitizer_ext = use_extension("@envoy_toolshed//compile:extensions.bzl", "sanitizer_extension")
# sanitizer_ext.setup() # Uses default versions from VERSIONS
# # Or with custom versions:
# # sanitizer_ext.setup(
# # msan_version = "0.1.34",
# # msan_sha256 = "534e5e6893f177f891d78d6e85a80c680c84f0abd64681f8ddbf2f5457e97a52",
# # tsan_version = "0.1.34",
# # tsan_sha256 = "2cd571a07014972ff9bc0f189c5725c2ea121aeab0daa4c27ef171842ea13985",
# # )
# use_repo(sanitizer_ext, "msan_libs", "tsan_libs")

# Setup prebuilt libcxx for cross-compilation - example for downstream consumers
# Uncomment to use in your MODULE.bazel:
# libcxx_libs_ext = use_extension("@envoy_toolshed//compile:extensions.bzl", "libcxx_libs_extension")
# libcxx_libs_ext.setup()
# use_repo(libcxx_libs_ext, "libcxx_libs_aarch64", "libcxx_libs_x86_64")

# Consumers configure their own grcov repository for coverage_report.
grcov_ext = use_extension("//coverage/grcov:extensions.bzl", "grcov_extension", dev_dependency = True)
grcov_ext.setup()
use_repo(grcov_ext, "grcov")

# Setup glint for code style linting - example for downstream consumers
# Uncomment to use in your MODULE.bazel:
# glint_ext = use_extension("@envoy_toolshed//format/glint:extensions.bzl", "glint_extension")
# glint_ext.setup(bins_release_version = "0.1.21")
# use_repo(glint_ext, "glint")

gcc = use_extension("//toolchains/gcc:extensions.bzl", "gcc_extension", dev_dependency = True)
gcc.toolchain(
name = "gcc_linux_x86_64",
arch = "x86_64",
lld = "@llvm_minimal_linux_x64//:bin/lld",
sysroot = "@sysroot_linux_amd64//sysroot",
)
gcc.toolchain(
name = "gcc_linux_aarch64",
arch = "aarch64",
lld = "@llvm_minimal_linux_x64//:bin/lld",
sysroot = "@sysroot_linux_arm64//sysroot",
)
use_repo(gcc, "gcc_linux_aarch64", "gcc_linux_x86_64")

# This needs to be before llvm to win in transitions.
register_toolchains(
"//toolchains/gcc:linux_x64_toolchain",
"//toolchains/gcc:linux_arm64_toolchain",
dev_dependency = True,
)

# Configure LLVM toolchain

llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm", dev_dependency = True)
llvm.cxx_cross_lib(
name = "llvm_toolchain",
label = "@libcxx_libs_aarch64",
targets = ["linux-aarch64"],
)
llvm.cxx_cross_lib(
name = "llvm_toolchain",
label = "@libcxx_libs_x86_64",
targets = ["linux-x86_64"],
)

# The base sysroot ships libgcc_s.so.1 (+ an unversioned libgcc_s.so ld script)
# but no libgcc.a/libgcc_eh.a or GCC crt objects. Use compiler-rt for builtins
# and crt files; keep libgcc_s as the (as-needed) fallback unwinder so
# libunwind=False still resolves _Unwind_* while libunwind=True leaves no
# libgcc_s NEEDED entry.
llvm.toolchain(
name = "llvm_toolchain",
extra_link_flags = {
"linux-aarch64": [
"-rtlib=compiler-rt",
"-unwindlib=libgcc",
],
"linux-x86_64": [
"-rtlib=compiler-rt",
"-unwindlib=libgcc",
],
},
llvm_version = "22.1.8",
)
llvm.toolchain_root(
name = "llvm_toolchain",
label = "@llvm_minimal_linux_x64",
targets = ["linux-x86_64"],
)
llvm.toolchain_root(
name = "llvm_toolchain",
label = "@llvm_minimal_linux_arm64",
targets = ["linux-aarch64"],
)
llvm.toolchain_root(
name = "llvm_toolchain",
label = "@llvm_minimal_macos_arm64",
targets = ["darwin-aarch64"],
)
llvm.sysroot(
name = "llvm_toolchain",
label = "@sysroot_linux_amd64//sysroot",
targets = ["linux-x86_64"],
)
llvm.sysroot(
name = "llvm_toolchain",
label = "@sysroot_linux_arm64//sysroot",
targets = ["linux-aarch64"],
)
llvm.extra_exec_compatible_with(
name = "llvm_toolchain",
constraints = ["//compile:llvm_worker"],
)
use_repo(llvm, "llvm_toolchain")

register_toolchains(
"@llvm_toolchain//:all",
dev_dependency = True,
)

# Stub OpenPGP signer used by //pgp/test analysis tests. It is registered first
# in dev mode so those tests resolve the stub instead of the default `sq` signer.
register_toolchains(
"//pgp/test:stub_toolchain",
dev_dependency = True,
)

# Prebuilt sq toolchains are registered after the stub so dev-only analysis
# tests still resolve the stub first, and before the dev-only source fallback.
register_toolchains("@sq_toolchains//:all")

sq_source_ext = use_extension("//pgp:extensions.bzl", "sq_source_extension", dev_dependency = True)
sq_source_ext.setup(sq = "@sq//:sq_from_source")
use_repo(sq_source_ext, "envoy_toolshed_sq_source")

register_toolchains(
"@envoy_toolshed_sq_source//:source_toolchain",
dev_dependency = True,
)

# Prebuilt git toolchains are registered first so constrained matches win before
# the unconstrained source fallback.
register_toolchains("@git_toolchains//:all")

git_source_ext = use_extension("//git:extensions.bzl", "git_source_extension", dev_dependency = True)
git_source_ext.setup(
cacert = "@cacert//file",
git = "@git//:git",
git_remote_http = "@git//:git-remote-http",
ssl_lib = "@curl//:ssl_lib",
templates = "@git//:templates",
)
use_repo(git_source_ext, "envoy_toolshed_git_source")

register_toolchains(
"@envoy_toolshed_git_source//:source_toolchain",
dev_dependency = True,
)

libcxx_ext = use_extension("//compile:extensions.bzl", "libcxx_extension", dev_dependency = True)
use_repo(libcxx_ext, "llvm_libcxx_aarch64", "llvm_libcxx_x86_64")

libcxx_libs_ext = use_extension("//compile:extensions.bzl", "libcxx_libs_extension", dev_dependency = True)
libcxx_libs_ext.setup()
use_repo(libcxx_libs_ext, "libcxx_libs_aarch64", "libcxx_libs_x86_64")

# Set up raw LLVM tarball download repos needed to build //compile:llvm_minimal_* targets.
# These are dev_dependency only — consumers use the llvm_minimal_* http_archive repos instead.
llvm_minimal_build_ext = use_extension("//compile:extensions.bzl", "llvm_minimal_build_extension", dev_dependency = True)
use_repo(llvm_minimal_build_ext, "llvm_tarball_linux_arm64", "llvm_tarball_linux_x86_64", "llvm_tarball_macos_arm64")

llvm_minimal_ext = use_extension("//compile:extensions.bzl", "llvm_minimal_extension", dev_dependency = True)
llvm_minimal_ext.setup()
use_repo(llvm_minimal_ext, "llvm_minimal_linux_arm64", "llvm_minimal_linux_x64", "llvm_minimal_macos_arm64")

llvm_toolchain_alias_ext = use_extension("//compile:extensions.bzl", "llvm_toolchain_alias_extension", dev_dependency = True)
use_repo(llvm_toolchain_alias_ext, "llvm_toolchain_llvm")
5 changes: 5 additions & 0 deletions modules/envoy_toolshed/0.5.9.envoy/source.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"url": "https://github.com/envoyproxy/toolshed/releases/download/bazel-v0.5.9/toolshed-bazel-v0.5.9.tar.gz",
"integrity": "sha256-TjlP8bokYC2Zn43ELSw8IgtInl2hbWqT3xR7yTxaYco=",
"strip_prefix": "toolshed-bazel-v0.5.9"
}
3 changes: 2 additions & 1 deletion modules/envoy_toolshed/metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@
"0.5.5.envoy",
"0.5.6.envoy",
"0.5.7.envoy",
"0.5.8.envoy"
"0.5.8.envoy",
"0.5.9.envoy"
],
"yanked_versions": {}
}
14 changes: 14 additions & 0 deletions modules/envoy_toolshed_jq/0.5.9.envoy/MODULE.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
module(
name = "envoy_toolshed_jq",
version = "0.5.9.envoy",
bazel_compatibility = [">=7.2.1"],
)

bazel_dep(name = "aspect_bazel_lib", version = "2.22.5")
bazel_dep(name = "bazel_skylib", version = "1.9.2")
bazel_dep(name = "rules_shell", version = "0.8.0")

bazel_lib_toolchains = use_extension("@aspect_bazel_lib//lib:extensions.bzl", "toolchains")
bazel_lib_toolchains.jq(version = "1.7")
bazel_lib_toolchains.yq()
use_repo(bazel_lib_toolchains, "jq", "jq_toolchains", "yq", "yq_toolchains")
5 changes: 5 additions & 0 deletions modules/envoy_toolshed_jq/0.5.9.envoy/source.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"url": "https://github.com/envoyproxy/toolshed/releases/download/bazel-v0.5.9/toolshed-jq-v0.5.9.tar.gz",
"integrity": "sha256-M/Gqk8EkGyBTPoCMB75gyAOtjgam+CvlsuUvw4pevnU=",
"strip_prefix": "toolshed-jq-v0.5.9"
}
3 changes: 2 additions & 1 deletion modules/envoy_toolshed_jq/metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@
"0.5.5.envoy",
"0.5.6.envoy",
"0.5.7.envoy",
"0.5.8.envoy"
"0.5.8.envoy",
"0.5.9.envoy"
],
"yanked_versions": {}
}