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