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

+32 -10
+32 -10
pkgs/development/tools/build-managers/bazel/protobuf-test.nix
··· 17 17 com_google_protobuf = fetchFromGitHub { 18 18 owner = "protocolbuffers"; 19 19 repo = "protobuf"; 20 - rev = "v3.7.0"; 21 - sha256 = "0nlxif4cajqllsj2vdh7zp14ag48fb8lsa64zmq8625q9m2lcmdh"; 20 + rev = "v3.13.0"; 21 + sha256 = "1nqsvi2yfr93kiwlinz8z7c68ilg1j75b2vcpzxzvripxx5h6xhd"; 22 22 }; 23 23 24 24 bazel_skylib = fetchFromGitHub { 25 25 owner = "bazelbuild"; 26 26 repo = "bazel-skylib"; 27 - rev = "f83cb8dd6f5658bc574ccd873e25197055265d1c"; 28 - sha256 = "091fb0ky0956wgv8gghy9ay3yfx6497mb72qvibf0y9dllmxyn9l"; 27 + rev = "2ec2e6d715e993d96ad6222770805b5bd25399ae"; 28 + sha256 = "1z2r2vx6kj102zvp3j032djyv99ski1x1sl4i3p6mswnzrzna86s"; 29 + }; 30 + 31 + rules_python = fetchFromGitHub { 32 + owner = "bazelbuild"; 33 + repo = "rules_python"; 34 + rev = "c8c79aae9aa1b61d199ad03d5fe06338febd0774"; 35 + sha256 = "1zn58wv5wcylpi0xj7riw34i1jjpqahanxx8y9srwrv0v93b6pqz"; 36 + }; 37 + 38 + rules_proto = fetchFromGitHub { 39 + owner = "bazelbuild"; 40 + repo = "rules_proto"; 41 + rev = "a0761ed101b939e19d83b2da5f59034bffc19c12"; 42 + sha256 = "09lqfj5fxm1fywxr5w8pnpqd859gb6751jka9fhxjxjzs33glhqf"; 29 43 }; 30 44 31 45 net_zlib = fetchurl rec { ··· 40 54 41 55 load("//:proto-support.bzl", "protobuf_deps") 42 56 protobuf_deps() 43 - ''; 57 + load("@rules_proto//proto:repositories.bzl", "rules_proto_toolchains") 58 + rules_proto_toolchains() 59 + ''; 44 60 45 61 protoSupport = writeText "proto-support.bzl" '' 46 62 """Load dependencies needed to compile the protobuf library as a 3rd-party consumer.""" ··· 62 78 name = "bazel_skylib", 63 79 path = "${bazel_skylib}", 64 80 ) 65 - 66 - native.bind( 67 - name = "zlib", 68 - actual = "@net_zlib//:zlib", 81 + native.local_repository( 82 + name = "rules_proto", 83 + path = "${rules_proto}", 84 + ) 85 + native.local_repository( 86 + name = "rules_python", 87 + path = "${rules_python}", 69 88 ) 89 + 70 90 http_archive( 71 - name = "net_zlib", 91 + name = "zlib", 72 92 build_file = "@com_google_protobuf//:third_party/zlib.BUILD", 73 93 sha256 = "${net_zlib.sha256}", 74 94 strip_prefix = "zlib-1.2.11", ··· 89 109 ''; 90 110 91 111 personBUILD = writeText "BUILD" '' 112 + load("@rules_proto//proto:defs.bzl", "proto_library") 113 + 92 114 proto_library( 93 115 name = "person_proto", 94 116 srcs = ["person.proto"],