From 56c25c56539ea6c5accfb75dc443cd049cfe6101 Mon Sep 17 00:00:00 2001 From: Dmitry Ivankov Date: Wed, 27 Jan 2021 20:24:05 +0100 Subject: [PATCH] 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 --- .../build-managers/bazel/protobuf-test.nix | 42 ++++++++++++++----- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/pkgs/development/tools/build-managers/bazel/protobuf-test.nix b/pkgs/development/tools/build-managers/bazel/protobuf-test.nix index 0784de4cfd39..3858a681659b 100644 --- a/pkgs/development/tools/build-managers/bazel/protobuf-test.nix +++ b/pkgs/development/tools/build-managers/bazel/protobuf-test.nix @@ -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"],