# Copyright 2025 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

module(name = "quiche")

# Last updated 2025-02-25
bazel_dep(name = "bazel_skylib", version = "1.7.1")

# Last updated 2025-02-25
bazel_dep(name = "rules_cc", version = "0.1.1")

# Last updated 2025-05-29
bazel_dep(name = "abseil-cpp", version = "20250512.0", repo_name = "com_google_absl")

# Last updated 2025-05-29
bazel_dep(name = "protobuf", version = "31.1", repo_name = "com_google_protobuf")

# Last updated 2025-05-01
bazel_dep(name = "boringssl", version = "0.20250415.0")

# Last updated 2025-02-25
bazel_dep(name = "googletest", version = "1.16.0", repo_name = "com_google_googletest")

# Last updated 2025-02-25
bazel_dep(name = "re2", version = "2024-07-02.bcr.1")

# Last updated 2025-02-25
bazel_dep(name = "zlib", version = "1.3.1.bcr.5")

# Last updated 2025-06-06
bazel_dep(name = "fuzztest", version = "20250214.0")
# Prevent fuzztest from pulling in a version of riegeli with compilation errors
# (riegeli version "0.0.0-20240606-973b6f0").
bazel_dep(name = "riegeli", version = "0.0.0-20241218-3385e3c")

http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "com_google_quic_trace",
    sha256 = "ba01a041ae37b423fb8d555c53e545dcc914ad1a9a03832f266c0107d4433b08",  # Last updated 2025-02-25
    strip_prefix = "quic-trace-ed3deb8a056b260c59f2fd42af6dfa3db48a8cad",
    urls = ["https://github.com/google/quic-trace/archive/ed3deb8a056b260c59f2fd42af6dfa3db48a8cad.tar.gz"],
)

http_archive(
    name = "com_google_googleurl",
    sha256 = "1d2c507cc31e109ecb41ba1fe766f5ff0f5974c3ba8d0919b3d22668f7e89305",  # Last updated 2023-07-06
    urls = ["https://storage.googleapis.com/quiche-envoy-integration/googleurl-5573f9aa120f3fbd378ca1b2565bbf7d223cd542.tar.gz"],
)
