bazel: fix protobuf-test compatibility with bazel_4

- bump protobuf to 3.13.0
- use recent rules_proto
- use recent bazel-skylib
- remove use of native.bind

Hopefully this is backward-compatible with bazel_3 and below
This commit is contained in:
Dmitry Ivankov 2021-01-27 20:24:05 +01:00
parent 2751275f1a
commit 56c25c5653
1 changed files with 32 additions and 10 deletions

View File

@ -17,15 +17,29 @@ let
com_google_protobuf = fetchFromGitHub {
owner = "protocolbuffers";
repo = "protobuf";
rev = "v3.7.0";
sha256 = "0nlxif4cajqllsj2vdh7zp14ag48fb8lsa64zmq8625q9m2lcmdh";
rev = "v3.13.0";
sha256 = "1nqsvi2yfr93kiwlinz8z7c68ilg1j75b2vcpzxzvripxx5h6xhd";
};
bazel_skylib = fetchFromGitHub {
owner = "bazelbuild";
repo = "bazel-skylib";
rev = "f83cb8dd6f5658bc574ccd873e25197055265d1c";
sha256 = "091fb0ky0956wgv8gghy9ay3yfx6497mb72qvibf0y9dllmxyn9l";
rev = "2ec2e6d715e993d96ad6222770805b5bd25399ae";
sha256 = "1z2r2vx6kj102zvp3j032djyv99ski1x1sl4i3p6mswnzrzna86s";
};
rules_python = fetchFromGitHub {
owner = "bazelbuild";
repo = "rules_python";
rev = "c8c79aae9aa1b61d199ad03d5fe06338febd0774";
sha256 = "1zn58wv5wcylpi0xj7riw34i1jjpqahanxx8y9srwrv0v93b6pqz";
};
rules_proto = fetchFromGitHub {
owner = "bazelbuild";
repo = "rules_proto";
rev = "a0761ed101b939e19d83b2da5f59034bffc19c12";
sha256 = "09lqfj5fxm1fywxr5w8pnpqd859gb6751jka9fhxjxjzs33glhqf";
};
net_zlib = fetchurl rec {
@ -40,7 +54,9 @@ let
load("//:proto-support.bzl", "protobuf_deps")
protobuf_deps()
'';
load("@rules_proto//proto:repositories.bzl", "rules_proto_toolchains")
rules_proto_toolchains()
'';
protoSupport = writeText "proto-support.bzl" ''
"""Load dependencies needed to compile the protobuf library as a 3rd-party consumer."""
@ -62,13 +78,17 @@ let
name = "bazel_skylib",
path = "${bazel_skylib}",
)
native.bind(
name = "zlib",
actual = "@net_zlib//:zlib",
native.local_repository(
name = "rules_proto",
path = "${rules_proto}",
)
native.local_repository(
name = "rules_python",
path = "${rules_python}",
)
http_archive(
name = "net_zlib",
name = "zlib",
build_file = "@com_google_protobuf//:third_party/zlib.BUILD",
sha256 = "${net_zlib.sha256}",
strip_prefix = "zlib-1.2.11",
@ -89,6 +109,8 @@ let
'';
personBUILD = writeText "BUILD" ''
load("@rules_proto//proto:defs.bzl", "proto_library")
proto_library(
name = "person_proto",
srcs = ["person.proto"],