• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1"""Load dependencies needed to compile and test the grpc python library as a 3rd-party consumer."""
2
3load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
4load("@com_github_grpc_grpc//third_party/py:python_configure.bzl", "python_configure")
5
6def grpc_python_deps():
7    # protobuf binds to the name "six", so we can't use it here.
8    # See https://github.com/bazelbuild/bazel/issues/1952 for why bind is
9    # horrible.
10    if "six" not in native.existing_rules():
11        http_archive(
12            name = "six",
13            build_file = "@com_github_grpc_grpc//third_party:six.BUILD",
14            sha256 = "d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73",
15            urls = ["https://files.pythonhosted.org/packages/dd/bf/4138e7bfb757de47d1f4b6994648ec67a51efe58fa907c1e11e350cddfca/six-1.12.0.tar.gz"],
16        )
17
18    if "enum34" not in native.existing_rules():
19        http_archive(
20            name = "enum34",
21            build_file = "@com_github_grpc_grpc//third_party:enum34.BUILD",
22            strip_prefix = "enum34-1.1.6",
23            sha256 = "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1",
24            urls = ["https://files.pythonhosted.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz"],
25        )
26
27    if "futures" not in native.existing_rules():
28        http_archive(
29            name = "futures",
30            build_file = "@com_github_grpc_grpc//third_party:futures.BUILD",
31            strip_prefix = "futures-3.3.0",
32            sha256 = "7e033af76a5e35f58e56da7a91e687706faf4e7bdfb2cbc3f2cca6b9bcda9794",
33            urls = ["https://files.pythonhosted.org/packages/47/04/5fc6c74ad114032cd2c544c575bffc17582295e9cd6a851d6026ab4b2c00/futures-3.3.0.tar.gz"],
34        )
35
36    if "io_bazel_rules_python" not in native.existing_rules():
37        http_archive(
38            name = "io_bazel_rules_python",
39            url = "https://github.com/bazelbuild/rules_python/releases/download/0.0.1/rules_python-0.0.1.tar.gz",
40            sha256 = "aa96a691d3a8177f3215b14b0edc9641787abaaa30363a080165d06ab65e1161",
41        )
42
43    if "rules_python" not in native.existing_rules():
44        http_archive(
45            name = "rules_python",
46            url = "https://github.com/bazelbuild/rules_python/archive/9d68f24659e8ce8b736590ba1e4418af06ec2552.zip",
47            sha256 = "f7402f11691d657161f871e11968a984e5b48b023321935f5a55d7e56cf4758a",
48            strip_prefix = "rules_python-9d68f24659e8ce8b736590ba1e4418af06ec2552",
49        )
50
51    python_configure(name = "local_config_python")
52
53    native.bind(
54        name = "python_headers",
55        actual = "@local_config_python//:python_headers",
56    )
57
58    if "cython" not in native.existing_rules():
59        http_archive(
60            name = "cython",
61            build_file = "@com_github_grpc_grpc//third_party:cython.BUILD",
62            sha256 = "d68138a2381afbdd0876c3cb2a22389043fa01c4badede1228ee073032b07a27",
63            strip_prefix = "cython-c2b80d87658a8525ce091cbe146cb7eaa29fed5c",
64            urls = [
65                "https://github.com/cython/cython/archive/c2b80d87658a8525ce091cbe146cb7eaa29fed5c.tar.gz",
66            ],
67        )
68