xref: /aosp_15_r20/external/grpc-grpc/bazel/grpc_python_deps.bzl (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1*cc02d7e2SAndroid Build Coastguard Worker# Copyright 2021 The gRPC Authors
2*cc02d7e2SAndroid Build Coastguard Worker#
3*cc02d7e2SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*cc02d7e2SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*cc02d7e2SAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*cc02d7e2SAndroid Build Coastguard Worker#
7*cc02d7e2SAndroid Build Coastguard Worker#     http://www.apache.org/licenses/LICENSE-2.0
8*cc02d7e2SAndroid Build Coastguard Worker#
9*cc02d7e2SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*cc02d7e2SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*cc02d7e2SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*cc02d7e2SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*cc02d7e2SAndroid Build Coastguard Worker# limitations under the License.
14*cc02d7e2SAndroid Build Coastguard Worker"""Load dependencies needed to compile and test the grpc python library as a 3rd-party consumer."""
15*cc02d7e2SAndroid Build Coastguard Worker
16*cc02d7e2SAndroid Build Coastguard Workerload("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
17*cc02d7e2SAndroid Build Coastguard Workerload("@com_github_grpc_grpc//third_party/py:python_configure.bzl", "python_configure")
18*cc02d7e2SAndroid Build Coastguard Worker
19*cc02d7e2SAndroid Build Coastguard Worker# buildifier: disable=unnamed-macro
20*cc02d7e2SAndroid Build Coastguard Workerdef grpc_python_deps():
21*cc02d7e2SAndroid Build Coastguard Worker    """Loads dependencies for gRPC Python."""
22*cc02d7e2SAndroid Build Coastguard Worker    if "rules_python" not in native.existing_rules():
23*cc02d7e2SAndroid Build Coastguard Worker        http_archive(
24*cc02d7e2SAndroid Build Coastguard Worker            name = "rules_python",
25*cc02d7e2SAndroid Build Coastguard Worker            sha256 = "9d04041ac92a0985e344235f5d946f71ac543f1b1565f2cdbc9a2aaee8adf55b",
26*cc02d7e2SAndroid Build Coastguard Worker            strip_prefix = "rules_python-0.26.0",
27*cc02d7e2SAndroid Build Coastguard Worker            url = "https://github.com/bazelbuild/rules_python/releases/download/0.26.0/rules_python-0.26.0.tar.gz",
28*cc02d7e2SAndroid Build Coastguard Worker        )
29*cc02d7e2SAndroid Build Coastguard Worker
30*cc02d7e2SAndroid Build Coastguard Worker    python_configure(name = "local_config_python")
31*cc02d7e2SAndroid Build Coastguard Worker
32*cc02d7e2SAndroid Build Coastguard Worker    native.bind(
33*cc02d7e2SAndroid Build Coastguard Worker        name = "python_headers",
34*cc02d7e2SAndroid Build Coastguard Worker        actual = "@local_config_python//:python_headers",
35*cc02d7e2SAndroid Build Coastguard Worker    )
36*cc02d7e2SAndroid Build Coastguard Worker
37*cc02d7e2SAndroid Build Coastguard Worker    if "cython" not in native.existing_rules():
38*cc02d7e2SAndroid Build Coastguard Worker        http_archive(
39*cc02d7e2SAndroid Build Coastguard Worker            name = "cython",
40*cc02d7e2SAndroid Build Coastguard Worker            build_file = "@com_github_grpc_grpc//third_party:cython.BUILD",
41*cc02d7e2SAndroid Build Coastguard Worker            sha256 = "a2da56cc22be823acf49741b9aa3aa116d4f07fa8e8b35a3cb08b8447b37c607",
42*cc02d7e2SAndroid Build Coastguard Worker            strip_prefix = "cython-0.29.35",
43*cc02d7e2SAndroid Build Coastguard Worker            urls = [
44*cc02d7e2SAndroid Build Coastguard Worker                "https://github.com/cython/cython/archive/0.29.35.tar.gz",
45*cc02d7e2SAndroid Build Coastguard Worker            ],
46*cc02d7e2SAndroid Build Coastguard Worker        )
47