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