xref: /aosp_15_r20/external/tink/cc/tink_cc_deps.bzl (revision e7b1675dde1b92d52ec075b0a92829627f2c52a5)
1*e7b1675dSTing-Kang Chang"""Dependencies of C++ Tink."""
2*e7b1675dSTing-Kang Chang
3*e7b1675dSTing-Kang Changload("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
4*e7b1675dSTing-Kang Chang
5*e7b1675dSTing-Kang Changdef tink_cc_deps():
6*e7b1675dSTing-Kang Chang    """Loads dependencies of C++ Tink."""
7*e7b1675dSTing-Kang Chang
8*e7b1675dSTing-Kang Chang    # Basic rules we need to add to bazel.
9*e7b1675dSTing-Kang Chang    if not native.existing_rule("bazel_skylib"):
10*e7b1675dSTing-Kang Chang        # Release from 2022-09-01: https://github.com/bazelbuild/bazel-skylib/releases/tag/1.3.0
11*e7b1675dSTing-Kang Chang        http_archive(
12*e7b1675dSTing-Kang Chang            name = "bazel_skylib",
13*e7b1675dSTing-Kang Chang            urls = [
14*e7b1675dSTing-Kang Chang                "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz",
15*e7b1675dSTing-Kang Chang                "https://github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz",
16*e7b1675dSTing-Kang Chang            ],
17*e7b1675dSTing-Kang Chang            sha256 = "74d544d96f4a5bb630d465ca8bbcfe231e3594e5aae57e1edbf17a6eb3ca2506",
18*e7b1675dSTing-Kang Chang        )
19*e7b1675dSTing-Kang Chang
20*e7b1675dSTing-Kang Chang    # -------------------------------------------------------------------------
21*e7b1675dSTing-Kang Chang    # Protobuf.
22*e7b1675dSTing-Kang Chang    # -------------------------------------------------------------------------
23*e7b1675dSTing-Kang Chang    # proto_library, cc_proto_library and java_proto_library rules implicitly
24*e7b1675dSTing-Kang Chang    # depend respectively on:
25*e7b1675dSTing-Kang Chang    #   * @com_google_protobuf//:proto
26*e7b1675dSTing-Kang Chang    #   * @com_google_protobuf//:cc_toolchain
27*e7b1675dSTing-Kang Chang    #   * @com_google_protobuf//:java_toolchain
28*e7b1675dSTing-Kang Chang    # This statement defines the @com_google_protobuf repo.
29*e7b1675dSTing-Kang Chang    if not native.existing_rule("com_google_protobuf"):
30*e7b1675dSTing-Kang Chang        # Release X.21.9 from 2022-10-26.
31*e7b1675dSTing-Kang Chang        http_archive(
32*e7b1675dSTing-Kang Chang            name = "com_google_protobuf",
33*e7b1675dSTing-Kang Chang            strip_prefix = "protobuf-21.9",
34*e7b1675dSTing-Kang Chang            urls = ["https://github.com/protocolbuffers/protobuf/archive/refs/tags/v21.9.zip"],
35*e7b1675dSTing-Kang Chang            sha256 = "5babb8571f1cceafe0c18e13ddb3be556e87e12ceea3463d6b0d0064e6cc1ac3",
36*e7b1675dSTing-Kang Chang        )
37*e7b1675dSTing-Kang Chang
38*e7b1675dSTing-Kang Chang    # -------------------------------------------------------------------------
39*e7b1675dSTing-Kang Chang    # Abseil.
40*e7b1675dSTing-Kang Chang    # -------------------------------------------------------------------------
41*e7b1675dSTing-Kang Chang    if not native.existing_rule("com_google_absl"):
42*e7b1675dSTing-Kang Chang        # Release from 2023-05-04.
43*e7b1675dSTing-Kang Chang        http_archive(
44*e7b1675dSTing-Kang Chang            name = "com_google_absl",
45*e7b1675dSTing-Kang Chang            strip_prefix = "abseil-cpp-20230125.3",
46*e7b1675dSTing-Kang Chang            url = "https://github.com/abseil/abseil-cpp/archive/refs/tags/20230125.3.zip",
47*e7b1675dSTing-Kang Chang            sha256 = "51d676b6846440210da48899e4df618a357e6e44ecde7106f1e44ea16ae8adc7",
48*e7b1675dSTing-Kang Chang        )
49*e7b1675dSTing-Kang Chang
50*e7b1675dSTing-Kang Chang    # -------------------------------------------------------------------------
51*e7b1675dSTing-Kang Chang    # BoringSSL.
52*e7b1675dSTing-Kang Chang    # -------------------------------------------------------------------------
53*e7b1675dSTing-Kang Chang    if not native.existing_rule("boringssl"):
54*e7b1675dSTing-Kang Chang        # Commit from 2023-02-15.
55*e7b1675dSTing-Kang Chang        http_archive(
56*e7b1675dSTing-Kang Chang            name = "boringssl",
57*e7b1675dSTing-Kang Chang            strip_prefix = "boringssl-5c22014ca513807ed03c657e8ede076164663979",
58*e7b1675dSTing-Kang Chang            url = "https://github.com/google/boringssl/archive/5c22014ca513807ed03c657e8ede076164663979.zip",
59*e7b1675dSTing-Kang Chang            sha256 = "863fc670c456f30923740c1639305132fdfb9d1b25ba385a67ae3862ef12a8af",
60*e7b1675dSTing-Kang Chang        )
61*e7b1675dSTing-Kang Chang
62*e7b1675dSTing-Kang Chang    # -------------------------------------------------------------------------
63*e7b1675dSTing-Kang Chang    # GoogleTest/GoogleMock.
64*e7b1675dSTing-Kang Chang    # -------------------------------------------------------------------------
65*e7b1675dSTing-Kang Chang    if not native.existing_rule("com_google_googletest"):
66*e7b1675dSTing-Kang Chang        # Release from 2021-06-11.
67*e7b1675dSTing-Kang Chang        http_archive(
68*e7b1675dSTing-Kang Chang            name = "com_google_googletest",
69*e7b1675dSTing-Kang Chang            strip_prefix = "googletest-release-1.11.0",
70*e7b1675dSTing-Kang Chang            url = "https://github.com/google/googletest/archive/refs/tags/release-1.11.0.tar.gz",
71*e7b1675dSTing-Kang Chang            sha256 = "b4870bf121ff7795ba20d20bcdd8627b8e088f2d1dab299a031c1034eddc93d5",
72*e7b1675dSTing-Kang Chang        )
73*e7b1675dSTing-Kang Chang
74*e7b1675dSTing-Kang Chang    # -------------------------------------------------------------------------
75*e7b1675dSTing-Kang Chang    # Wycheproof (depends on Rapidjson).
76*e7b1675dSTing-Kang Chang    # -------------------------------------------------------------------------
77*e7b1675dSTing-Kang Chang    if not native.existing_rule("rapidjson"):
78*e7b1675dSTing-Kang Chang        # Release from 2016-08-25 (still the latest release as of 2022-05-05).
79*e7b1675dSTing-Kang Chang        http_archive(
80*e7b1675dSTing-Kang Chang            name = "rapidjson",
81*e7b1675dSTing-Kang Chang            url = "https://github.com/Tencent/rapidjson/archive/v1.1.0.tar.gz",
82*e7b1675dSTing-Kang Chang            sha256 = "bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e",
83*e7b1675dSTing-Kang Chang            strip_prefix = "rapidjson-1.1.0",
84*e7b1675dSTing-Kang Chang            build_file = "@tink_cc//:third_party/rapidjson.BUILD.bazel",
85*e7b1675dSTing-Kang Chang        )
86*e7b1675dSTing-Kang Chang    if not native.existing_rule("wycheproof"):
87*e7b1675dSTing-Kang Chang        # Commit from 2019-12-17.
88*e7b1675dSTing-Kang Chang        http_archive(
89*e7b1675dSTing-Kang Chang            name = "wycheproof",
90*e7b1675dSTing-Kang Chang            strip_prefix = "wycheproof-d8ed1ba95ac4c551db67f410c06131c3bc00a97c",
91*e7b1675dSTing-Kang Chang            url = "https://github.com/google/wycheproof/archive/d8ed1ba95ac4c551db67f410c06131c3bc00a97c.zip",
92*e7b1675dSTing-Kang Chang            sha256 = "eb1d558071acf1aa6d677d7f1cabec2328d1cf8381496c17185bd92b52ce7545",
93*e7b1675dSTing-Kang Chang        )
94