From 60b05913113c4de294214da7158f6d6a2558c56e Mon Sep 17 00:00:00 2001 From: Dennis Hezel Date: Sun, 28 Jun 2026 12:29:01 +0200 Subject: [PATCH 1/2] grpc: Update to 1.81.1 --- ports/grpc/00004-link-gdi32-on-windows.patch | 6 +-- ports/grpc/00006-utf8-range.patch | 51 +++++-------------- .../grpc/00015-disable-download-archive.patch | 24 ++++----- .../grpc/00017-add-missing-include-file.patch | 39 -------------- ports/grpc/portfile.cmake | 3 +- ports/grpc/vcpkg.json | 3 +- versions/baseline.json | 4 +- versions/g-/grpc.json | 5 ++ 8 files changed, 37 insertions(+), 98 deletions(-) delete mode 100644 ports/grpc/00017-add-missing-include-file.patch diff --git a/ports/grpc/00004-link-gdi32-on-windows.patch b/ports/grpc/00004-link-gdi32-on-windows.patch index cb4ebad2a40cf9..36b6bd3bb387ed 100644 --- a/ports/grpc/00004-link-gdi32-on-windows.patch +++ b/ports/grpc/00004-link-gdi32-on-windows.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2f633092ae..43fa8f6d97 100644 +index 62f3109e06..0587042fbf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -481,7 +481,7 @@ if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/xds AND gRPC_DOWNLOAD_ARC +@@ -474,7 +474,7 @@ if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/xds AND gRPC_DOWNLOAD_ARC endif() if(WIN32) @@ -10,4 +10,4 @@ index 2f633092ae..43fa8f6d97 100644 + set(_gRPC_ALLTARGETS_LIBRARIES ${_gRPC_ALLTARGETS_LIBRARIES} wsock32 ws2_32 crypt32 gdi32) set(_gRPC_STATIC_WIN32 STATIC) endif() - + diff --git a/ports/grpc/00006-utf8-range.patch b/ports/grpc/00006-utf8-range.patch index 9b3399c78364c9..5bb1d0ce670616 100644 --- a/ports/grpc/00006-utf8-range.patch +++ b/ports/grpc/00006-utf8-range.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index bc86c00463..6f98d5e4c1 100644 +index 0587042fbf..dd43f33dc3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -4641,7 +4641,7 @@ if(gRPC_INSTALL) +@@ -4808,7 +4808,7 @@ if(gRPC_INSTALL) ) endif() @@ -11,7 +11,7 @@ index bc86c00463..6f98d5e4c1 100644 add_library(utf8_range_lib third_party/utf8_range/utf8_range.c ) -@@ -4691,6 +4691,7 @@ if(gRPC_INSTALL) +@@ -4858,6 +4858,7 @@ if(gRPC_INSTALL) ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} ) endif() @@ -19,67 +19,42 @@ index bc86c00463..6f98d5e4c1 100644 if(gRPC_BUILD_TESTS) -@@ -51977,9 +51978,9 @@ generate_pkgconfig( +@@ -54975,7 +54976,7 @@ generate_pkgconfig( "high performance general RPC framework" "${gRPC_CORE_VERSION}" "absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_bits absl_btree absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_node_hash_map absl_optional absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_string_view absl_strings absl_synchronization absl_time absl_type_traits absl_utility gpr" - "libcares openssl re2 zlib" + "libcares openssl re2 zlib utf8_range" "-lgrpc" -- "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_reflection_lib -lupb_wire_lib -lupb_message_lib -lutf8_range_lib -lupb_mini_descriptor_lib -lupb_mini_table_lib -lupb_hash_lib -lupb_mem_lib -lupb_base_lib -lupb_lex_lib" -+ "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_reflection_lib -lupb_wire_lib -lupb_message_lib -lupb_mini_descriptor_lib -lupb_mini_table_lib -lupb_hash_lib -lupb_mem_lib -lupb_base_lib -lupb_lex_lib" + "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_reflection_lib -lupb_wire_lib -lupb_message_lib -lutf8_range_lib -lupb_descriptor_lib -lupb_mini_descriptor_lib -lupb_mini_table_lib -lupb_hash_lib -lupb_mem_lib -lupb_base_lib -lupb_lex_lib" "grpc.pc") - - # grpc_unsecure .pc file -@@ -51988,9 +51989,9 @@ generate_pkgconfig( +@@ -54986,7 +54987,7 @@ generate_pkgconfig( "high performance general RPC framework without SSL" "${gRPC_CORE_VERSION}" "absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_bits absl_btree absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_node_hash_map absl_optional absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_string_view absl_strings absl_synchronization absl_time absl_type_traits absl_utility gpr" - "libcares zlib" + "libcares zlib utf8_range" "-lgrpc_unsecure" -- "-laddress_sorting -lupb_textformat_lib -lupb_reflection_lib -lupb_wire_lib -lupb_message_lib -lutf8_range_lib -lupb_mini_descriptor_lib -lupb_mini_table_lib -lupb_hash_lib -lupb_mem_lib -lupb_base_lib -lupb_lex_lib" -+ "-laddress_sorting -lupb_textformat_lib -lupb_reflection_lib -lupb_wire_lib -lupb_message_lib -lupb_mini_descriptor_lib -lupb_mini_table_lib -lupb_hash_lib -lupb_mem_lib -lupb_base_lib -lupb_lex_lib" + "-laddress_sorting -lupb_textformat_lib -lupb_reflection_lib -lupb_wire_lib -lupb_message_lib -lutf8_range_lib -lupb_descriptor_lib -lupb_mini_descriptor_lib -lupb_mini_table_lib -lupb_hash_lib -lupb_mem_lib -lupb_base_lib -lupb_lex_lib" "grpc_unsecure.pc") - - # grpc++ .pc file -@@ -51999,9 +52000,9 @@ generate_pkgconfig( +@@ -54997,7 +54998,7 @@ generate_pkgconfig( "C++ wrapper for gRPC" "${gRPC_CPP_VERSION}" "absl_absl_check absl_absl_log absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_bits absl_btree absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_dynamic_annotations absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_layout absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_node_hash_map absl_optional absl_prefetch absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_string_view absl_strings absl_strings_internal absl_synchronization absl_time absl_type_traits absl_utility gpr grpc" - "libcares openssl re2 zlib" + "libcares openssl re2 zlib utf8_range" "-lgrpc++" -- "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_reflection_lib -lupb_wire_lib -lupb_message_lib -lutf8_range_lib -lupb_mini_descriptor_lib -lupb_mini_table_lib -lupb_hash_lib -lupb_mem_lib -lupb_base_lib -lupb_lex_lib" -+ "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_reflection_lib -lupb_wire_lib -lupb_message_lib -lupb_mini_descriptor_lib -lupb_mini_table_lib -lupb_hash_lib -lupb_mem_lib -lupb_base_lib -lupb_lex_lib" + "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_reflection_lib -lupb_wire_lib -lupb_message_lib -lutf8_range_lib -lupb_descriptor_lib -lupb_mini_descriptor_lib -lupb_mini_table_lib -lupb_hash_lib -lupb_mem_lib -lupb_base_lib -lupb_lex_lib" "grpc++.pc") - - # grpc++_unsecure .pc file -@@ -52010,18 +52011,20 @@ generate_pkgconfig( +@@ -55008,7 +55009,7 @@ generate_pkgconfig( "C++ wrapper for gRPC without SSL" "${gRPC_CPP_VERSION}" - "absl_absl_check absl_absl_log absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_bits absl_btree absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_node_hash_map absl_optional absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_string_view absl_strings absl_synchronization absl_time absl_type_traits absl_utility gpr grpc_unsecure" + "absl_absl_check absl_absl_log absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_bits absl_btree absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_dynamic_annotations absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_layout absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_node_hash_map absl_optional absl_prefetch absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_string_view absl_strings absl_strings_internal absl_synchronization absl_time absl_type_traits absl_utility gpr grpc_unsecure" - "libcares zlib" + "libcares zlib utf8_range" "-lgrpc++_unsecure" -- "-laddress_sorting -lupb_textformat_lib -lupb_reflection_lib -lupb_wire_lib -lupb_message_lib -lutf8_range_lib -lupb_mini_descriptor_lib -lupb_mini_table_lib -lupb_hash_lib -lupb_mem_lib -lupb_base_lib -lupb_lex_lib" -+ "-laddress_sorting -lupb_textformat_lib -lupb_reflection_lib -lupb_wire_lib -lupb_message_lib -lupb_mini_descriptor_lib -lupb_mini_table_lib -lupb_hash_lib -lupb_mem_lib -lupb_base_lib -lupb_lex_lib" + "-laddress_sorting -lupb_textformat_lib -lupb_reflection_lib -lupb_wire_lib -lupb_message_lib -lutf8_range_lib -lupb_descriptor_lib -lupb_mini_descriptor_lib -lupb_mini_table_lib -lupb_hash_lib -lupb_mem_lib -lupb_base_lib -lupb_lex_lib" "grpc++_unsecure.pc") - -+if(gRPC_BUILD_GRPCPP_OTEL_PLUGIN) - # grpcpp_otel_plugin .pc file - generate_pkgconfig( - "gRPC++ OpenTelemetry Plugin" - "OpenTelemetry Plugin for gRPC C++" - "${gRPC_CPP_VERSION}" - "absl_absl_check absl_absl_log absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_bits absl_btree absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_dynamic_annotations absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_layout absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_node_hash_map absl_optional absl_prefetch absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_string_view absl_strings absl_strings_internal absl_synchronization absl_time absl_type_traits absl_utility gpr grpc grpc++ opentelemetry_api" -- "libcares openssl re2 zlib" -+ "libcares openssl re2 zlib utf8_range" - "-lgrpcpp_otel_plugin" -- "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_reflection_lib -lupb_wire_lib -lupb_message_lib -lutf8_range_lib -lupb_mini_descriptor_lib -lupb_mini_table_lib -lupb_hash_lib -lupb_mem_lib -lupb_base_lib -lupb_lex_lib" -+ "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_reflection_lib -lupb_wire_lib -lupb_message_lib -lupb_mini_descriptor_lib -lupb_mini_table_lib -lupb_hash_lib -lupb_mem_lib -lupb_base_lib -lupb_lex_lib" - "grpcpp_otel_plugin.pc") -+endif() diff --git a/cmake/gRPCConfig.cmake.in b/cmake/gRPCConfig.cmake.in index d552e0bb4e..5751f503ba 100644 --- a/cmake/gRPCConfig.cmake.in @@ -93,7 +68,7 @@ index d552e0bb4e..5751f503ba 100644 # Targets include(${CMAKE_CURRENT_LIST_DIR}/gRPCTargets.cmake) diff --git a/cmake/upb.cmake b/cmake/upb.cmake -index 9156e5f48f..5323b5f10d 100644 +index 9156e5f48f..d3d9ee410e 100644 --- a/cmake/upb.cmake +++ b/cmake/upb.cmake @@ -14,7 +14,9 @@ diff --git a/ports/grpc/00015-disable-download-archive.patch b/ports/grpc/00015-disable-download-archive.patch index 675c2519dcf4a0..139aad2c90b3f9 100644 --- a/ports/grpc/00015-disable-download-archive.patch +++ b/ports/grpc/00015-disable-download-archive.patch @@ -1,12 +1,12 @@ -diff --git a/cmake/download_archive.cmake b/cmake/download_archive.cmake -index 820aafa..a59b785 100644 ---- a/cmake/download_archive.cmake -+++ b/cmake/download_archive.cmake -@@ -19,6 +19,7 @@ file(MAKE_DIRECTORY ${_download_archive_TEMPORARY_DIR}) - # Note that strip_prefix strips the directory path prefix of the extracted - # archive content, and it may strip multiple directories. - function(download_archive destination url hash strip_prefix) -+ return() - # Fetch and validate - set(_TEMPORARY_FILE ${_download_archive_TEMPORARY_DIR}/${strip_prefix}.tar.gz) - message(STATUS "Downloading from ${url}, if failed, please try configuring again") +diff --git a/cmake/download_archive.cmake b/cmake/download_archive.cmake +index d5e3febd80..6fa35b2fab 100644 +--- a/cmake/download_archive.cmake ++++ b/cmake/download_archive.cmake +@@ -19,6 +19,7 @@ file(MAKE_DIRECTORY ${_download_archive_TEMPORARY_DIR}) + # Note that strip_prefix strips the directory path prefix of the extracted + # archive content, and it may strip multiple directories. + function(download_archive destination url fallback_url hash strip_prefix) ++ return() + # Fetch and validate + set(_TEMPORARY_FILE ${_download_archive_TEMPORARY_DIR}/${strip_prefix}.tar.gz) + set(_download_SUCCESS FALSE) diff --git a/ports/grpc/00017-add-missing-include-file.patch b/ports/grpc/00017-add-missing-include-file.patch deleted file mode 100644 index 3deab49861ee4f..00000000000000 --- a/ports/grpc/00017-add-missing-include-file.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/include/grpc/event_engine/memory_request.h b/include/grpc/event_engine/memory_request.h -index 76bcbb2..f5c3d89 100644 ---- a/include/grpc/event_engine/memory_request.h -+++ b/include/grpc/event_engine/memory_request.h -@@ -16,7 +16,7 @@ - - #include - #include -- -+#include - #include "absl/strings/string_view.h" - - namespace grpc_event_engine { -diff --git a/src/core/channelz/v2tov1/property_list.cc b/src/core/channelz/v2tov1/property_list.cc -index 64bbb63..dc3c9b0 100644 ---- a/src/core/channelz/v2tov1/property_list.cc -+++ b/src/core/channelz/v2tov1/property_list.cc -@@ -17,7 +17,7 @@ - #include - #include - #include -- -+#include - #include "absl/strings/string_view.h" - #include "google/protobuf/any.upb.h" - #include "google/protobuf/duration.upb.h" -diff --git a/src/core/util/glob.cc b/src/core/util/glob.cc -index 1b1c16e..d13138d 100644 ---- a/src/core/util/glob.cc -+++ b/src/core/util/glob.cc -@@ -13,7 +13,7 @@ - // limitations under the License. - - #include "absl/strings/string_view.h" -- -+#include - namespace grpc_core { - - namespace { diff --git a/ports/grpc/portfile.cmake b/ports/grpc/portfile.cmake index e793810162919c..9c0b9104e46dba 100644 --- a/ports/grpc/portfile.cmake +++ b/ports/grpc/portfile.cmake @@ -6,7 +6,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO grpc/grpc REF "v${VERSION}" - SHA512 6338448d7c0fc78c38480f1fafd7605d031b600a702df3771a9d1b1236da7bf97a93dbdbc2d93d12d395411dc2f2ac57587ad1b697c4b2a5ac56fb8af1184501 + SHA512 2fcc219bf91de49607ed1f74243c2d43c0fb0def4944e48fbd4b382033d648f0e0b8551426993d04db49b9cae8d8b9efe20a817f6985ed3c72f086bf8ea2e26e HEAD_REF master PATCHES 00001-fix-uwp.patch @@ -16,7 +16,6 @@ vcpkg_from_github( 00006-utf8-range.patch 00015-disable-download-archive.patch 00016-fix-plugin-targets.patch - 00017-add-missing-include-file.patch ) file(REMOVE_RECURSE "${SOURCE_PATH}/third_party/abseil-cpp" diff --git a/ports/grpc/vcpkg.json b/ports/grpc/vcpkg.json index a8307fe6cf0483..4a23123dc6737b 100644 --- a/ports/grpc/vcpkg.json +++ b/ports/grpc/vcpkg.json @@ -1,7 +1,6 @@ { "name": "grpc", - "version-semver": "1.76.0", - "port-version": 1, + "version-semver": "1.81.1", "description": "gRPC is a modern, open source, high-performance remote procedure call (RPC) framework that can run anywhere. gRPC enables client and server applications to communicate transparently, and simplifies the building of connected systems.", "homepage": "https://github.com/grpc/grpc", "license": "Apache-2.0", diff --git a/versions/baseline.json b/versions/baseline.json index 2907abbe21a0de..d9740bd5deceb7 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3585,8 +3585,8 @@ "port-version": 0 }, "grpc": { - "baseline": "1.76.0", - "port-version": 1 + "baseline": "1.81.1", + "port-version": 0 }, "grppi": { "baseline": "0.4.0", diff --git a/versions/g-/grpc.json b/versions/g-/grpc.json index d8bd161b422282..37b04e4bbae4c2 100644 --- a/versions/g-/grpc.json +++ b/versions/g-/grpc.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "55cde777ac9d519d6e937c06e146d6146073aa43", + "version-semver": "1.81.1", + "port-version": 0 + }, { "git-tree": "e749bf197089f61aa87fd888a607296200aa2a89", "version-semver": "1.76.0", From 732b5e24668c7af42cc828afc519f8b30eb5c902 Mon Sep 17 00:00:00 2001 From: Dennis Hezel Date: Sat, 4 Jul 2026 18:24:04 +0200 Subject: [PATCH 2/2] grpc: Make codegen dependent on protobuf[libprotoc] --- ports/grpc/vcpkg.json | 10 +++++++++- versions/g-/grpc.json | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ports/grpc/vcpkg.json b/ports/grpc/vcpkg.json index 4a23123dc6737b..788d3c8d0a956f 100644 --- a/ports/grpc/vcpkg.json +++ b/ports/grpc/vcpkg.json @@ -38,7 +38,15 @@ "features": { "codegen": { "description": "Build code generator machinery", - "supports": "!uwp" + "supports": "!uwp", + "dependencies": [ + { + "name": "protobuf", + "features": [ + "libprotoc" + ] + } + ] }, "systemd": { "description": "Build with libsystemd support", diff --git a/versions/g-/grpc.json b/versions/g-/grpc.json index 37b04e4bbae4c2..d19b1b46015c40 100644 --- a/versions/g-/grpc.json +++ b/versions/g-/grpc.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "55cde777ac9d519d6e937c06e146d6146073aa43", + "git-tree": "dd34d98b6fa959331f1be77c79592e6b8569859f", "version-semver": "1.81.1", "port-version": 0 },