From 5cd62705c51add73745550ce3b318fc7f29f099f Mon Sep 17 00:00:00 2001 From: Claudio Bley Date: Wed, 26 Jun 2024 10:20:06 +0200 Subject: [PATCH] Add patch for com_google_protobuf See https://github.com/protocolbuffers/protobuf/issues/16844 --- .../com_google_protobuf-protoc-dbghlp.diff | 27 +++++++++++++++++++ haskell/repositories.bzl | 5 ++++ 2 files changed, 32 insertions(+) create mode 100644 haskell/private/com_google_protobuf-protoc-dbghlp.diff diff --git a/haskell/private/com_google_protobuf-protoc-dbghlp.diff b/haskell/private/com_google_protobuf-protoc-dbghlp.diff new file mode 100644 index 000000000..a318a5fc9 --- /dev/null +++ b/haskell/private/com_google_protobuf-protoc-dbghlp.diff @@ -0,0 +1,27 @@ +diff --git a/build_defs/cpp_opts.bzl b/build_defs/cpp_opts.bzl +index f667a4088..da463ca45 100644 +--- a/build_defs/cpp_opts.bzl ++++ b/build_defs/cpp_opts.bzl +@@ -44,6 +44,9 @@ LINK_OPTS = select({ + "-lm", + "-framework CoreFoundation", + ], ++ "@platforms//os:windows": [ ++ "-ldbghelp", ++ ], + "//conditions:default": [ + "-lpthread", + "-lm", +diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc +index 60900d215..10c41b441 100644 +--- a/src/google/protobuf/port_def.inc ++++ b/src/google/protobuf/port_def.inc +@@ -673,7 +673,7 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 3), + #error PROTOBUF_DESCRIPTOR_WEAK_MESSAGES_ALLOWED was previously defined + #endif + #if defined(__GNUC__) && defined(__clang__) && !defined(__APPLE__) && \ +- !defined(_MSC_VER) ++ !defined(_MSC_VER) && !defined(_WIN32) + #define PROTOBUF_DESCRIPTOR_WEAK_MESSAGES_ALLOWED + #endif + diff --git a/haskell/repositories.bzl b/haskell/repositories.bzl index 5cd30fe02..44fcc1868 100644 --- a/haskell/repositories.bzl +++ b/haskell/repositories.bzl @@ -126,6 +126,11 @@ def rules_haskell_dependencies(): urls = [ "https://github.com/protocolbuffers/protobuf/archive/refs/tags/v27.0.tar.gz", ], + patches = [ + # see https://github.com/protocolbuffers/protobuf/issues/16844 + "@rules_haskell//haskell:private/com_google_protobuf-protoc-dbghlp.diff", + ], + patch_args = ["-p1"], ) maybe( http_archive,