diff --git a/recipe/meta.yaml b/recipe/meta.yaml index ed6c964d..31a9728e 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -9,6 +9,12 @@ source: sha256: e266aa0d9d9cddb876484a370b94f468248594a96ca0b6f87c21f969db2b8c5b patches: - force-protoc-executable.patch + # no point in marking baselibs or vendored libs (e.g. upb) as private + - patches-grpc/0001-mark-linkage-of-c-ares-openssl-re2-zlib-as-private.patch + # since grpc uses internal abseil targets and we're already building + # against shared abseil on unix anyway, only make private on win + - patches-grpc/0002-mark-abseil-linkage-as-private.patch # [win] + - patches-grpc/0003-add-missing-gpr-linkage-for-grpc_csharp_ext.patch - patches-grpcio/0001-Monkey-patch-distutils.ccompiler.spawn-to-elide-std-.patch - patches-grpcio/0002-Link-against-grpc.patch - patches-grpcio/0003-windows-ssl-lib-names.patch # [win] @@ -16,7 +22,7 @@ source: - patches-grpcio/0001-fix-win-setup.patch # [win] build: - number: 3 + number: 4 outputs: - name: grpc-cpp @@ -34,17 +40,17 @@ outputs: - libprotobuf - ninja # We need all host deps also in build for cross-compiling - - libabseil 20211102.0 # [build_platform != target_platform] + - libabseil # [build_platform != target_platform] - c-ares # [build_platform != target_platform] - re2 # [build_platform != target_platform] - openssl # [build_platform != target_platform] - zlib # [build_platform != target_platform] host: - - libabseil 20211102.0 # [unix] + - libabseil # [unix] # windows not ready for C++17 of shared abseil builds yet; # keep one line unpinned for migrator to pick it up - - libabseil-static 20211102.0 # [win] - - libabseil-static =20211102.0=cxx11* # [win] + - libabseil-static # [win] + - libabseil-static =*=cxx11* # [win] - c-ares - libprotobuf - re2 @@ -52,10 +58,6 @@ outputs: - zlib run: - ucrt # [win] - # the following should not be necessary, but grpc currently - # sets zlib & abseil as non-private - - libabseil-static =20211102.0=cxx11* # [win] - - zlib test: requires: # cmake needs compiler to be able to run package detection, see @@ -78,7 +80,7 @@ outputs: - python # [build_platform != target_platform] - cross-python_{{ target_platform }} # [build_platform != target_platform] - cython # [build_platform != target_platform] - - libabseil 20211102.0 # [build_platform != target_platform] + - libabseil # [build_platform != target_platform] - {{ compiler('c') }} - {{ compiler('cxx') }} host: @@ -87,16 +89,17 @@ outputs: - setuptools - cython - six >=1.6.0 - - libabseil 20211102.0 # [unix] + - libabseil # [unix] # windows not ready for C++17 of shared abseil builds yet; # keep one line unpinned for migrator to pick it up - - libabseil-static 20211102.0 # [win] - - libabseil-static =20211102.0=cxx11* # [win] + - libabseil-static # [win] + - libabseil-static =*=cxx11* # [win] - {{ pin_subpackage('grpc-cpp', exact=True) }} - c-ares - libprotobuf - re2 - openssl + - zlib - pthread-stubs # [linux] run: - python diff --git a/recipe/patches-grpc/0001-mark-linkage-of-c-ares-openssl-re2-zlib-as-private.patch b/recipe/patches-grpc/0001-mark-linkage-of-c-ares-openssl-re2-zlib-as-private.patch new file mode 100644 index 00000000..85fe8810 --- /dev/null +++ b/recipe/patches-grpc/0001-mark-linkage-of-c-ares-openssl-re2-zlib-as-private.patch @@ -0,0 +1,113 @@ +From bea431a8728ddd3a02337caee5765298bb9cf00b Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Tue, 23 Aug 2022 11:45:20 +0200 +Subject: [PATCH 1/3] mark linkage of c-ares/openssl/re2/zlib as private + +Co-Authored-By: Mark Harfouche +--- + CMakeLists.txt | 78 ++++++++++++++++++++++++++++---------------------- + 1 file changed, 43 insertions(+), 35 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2bfbcd4c6b..c28168f050 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -2137,26 +2137,30 @@ target_include_directories(grpc + ${_gRPC_ZLIB_INCLUDE_DIR} + ) + target_link_libraries(grpc +- ${_gRPC_BASELIB_LIBRARIES} +- ${_gRPC_ZLIB_LIBRARIES} +- ${_gRPC_CARES_LIBRARIES} +- ${_gRPC_ADDRESS_SORTING_LIBRARIES} +- ${_gRPC_RE2_LIBRARIES} +- ${_gRPC_UPB_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::flat_hash_map +- absl::inlined_vector +- absl::bind_front +- absl::hash +- absl::statusor +- absl::variant +- absl::utility +- gpr +- ${_gRPC_SSL_LIBRARIES} +- address_sorting ++ # core libs ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PUBLIC ${_gRPC_BASELIB_LIBRARIES} ++ # vendored libs ++ PUBLIC ${_gRPC_ADDRESS_SORTING_LIBRARIES} ++ PUBLIC ${_gRPC_UPB_LIBRARIES} ++ # external dependencies used within grpc ++ PRIVATE ${_gRPC_CARES_LIBRARIES} ++ PRIVATE ${_gRPC_RE2_LIBRARIES} ++ PRIVATE ${_gRPC_SSL_LIBRARIES} ++ PRIVATE ${_gRPC_ZLIB_LIBRARIES} ++ # external dependencies that need to available at runtime ++ PUBLIC absl::flat_hash_map ++ PUBLIC absl::inlined_vector ++ PUBLIC absl::bind_front ++ PUBLIC absl::hash ++ PUBLIC absl::statusor ++ PUBLIC absl::variant ++ PUBLIC absl::utility ++ # targets which belong to grpc anyway ++ PUBLIC gpr + ) + if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC) +- target_link_libraries(grpc "-framework CoreFoundation") ++ target_link_libraries(grpc PUBLIC "-framework CoreFoundation") + endif() + + foreach(_hdr +@@ -2719,25 +2723,29 @@ target_include_directories(grpc_unsecure + ${_gRPC_ZLIB_INCLUDE_DIR} + ) + target_link_libraries(grpc_unsecure +- ${_gRPC_BASELIB_LIBRARIES} +- ${_gRPC_ZLIB_LIBRARIES} +- ${_gRPC_CARES_LIBRARIES} +- ${_gRPC_ADDRESS_SORTING_LIBRARIES} +- ${_gRPC_RE2_LIBRARIES} +- ${_gRPC_UPB_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::flat_hash_map +- absl::inlined_vector +- absl::bind_front +- absl::hash +- absl::statusor +- absl::variant +- absl::utility +- gpr +- address_sorting ++ # core libs ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PUBLIC ${_gRPC_BASELIB_LIBRARIES} ++ # vendored libs ++ PUBLIC ${_gRPC_ADDRESS_SORTING_LIBRARIES} ++ PUBLIC ${_gRPC_UPB_LIBRARIES} ++ # external dependencies used within grpc ++ PRIVATE ${_gRPC_CARES_LIBRARIES} ++ PRIVATE ${_gRPC_RE2_LIBRARIES} ++ PRIVATE ${_gRPC_ZLIB_LIBRARIES} ++ # external dependencies that need to available at runtime ++ PUBLIC absl::flat_hash_map ++ PUBLIC absl::inlined_vector ++ PUBLIC absl::bind_front ++ PUBLIC absl::hash ++ PUBLIC absl::statusor ++ PUBLIC absl::variant ++ PUBLIC absl::utility ++ # targets which belong to grpc anyway ++ PUBLIC gpr + ) + if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC) +- target_link_libraries(grpc_unsecure "-framework CoreFoundation") ++ target_link_libraries(grpc_unsecure PUBLIC "-framework CoreFoundation") + endif() + + foreach(_hdr +-- +2.37.0.windows.1 + diff --git a/recipe/patches-grpc/0002-mark-abseil-linkage-as-private.patch b/recipe/patches-grpc/0002-mark-abseil-linkage-as-private.patch new file mode 100644 index 00000000..513843a0 --- /dev/null +++ b/recipe/patches-grpc/0002-mark-abseil-linkage-as-private.patch @@ -0,0 +1,732 @@ +From 825c2be4ed7171ec33bb2d2dce80cb5751adbafd Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Tue, 23 Aug 2022 12:01:57 +0200 +Subject: [PATCH 2/3] mark abseil linkage as private + +This can be done pretty much mechanically by replacing +`absl::` with `PRIVATE absl::` and then filling in +`PUBLIC ` for all the other targets in target_link_libraries. + +Co-Authored-By: Mark Harfouche +--- + CMakeLists.txt | 431 +++++++++++++++++++++++++------------------------ + 1 file changed, 217 insertions(+), 214 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c28168f050..3c04f2f1e6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1359,19 +1359,22 @@ target_include_directories(gpr + ${_gRPC_ZLIB_INCLUDE_DIR} + ) + target_link_libraries(gpr +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::base +- absl::core_headers +- absl::memory +- absl::random_random +- absl::status +- absl::cord +- absl::str_format +- absl::strings +- absl::synchronization +- absl::time +- absl::optional +- upb ++ # core libs ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ # external dependencies used within grpc ++ PRIVATE absl::base ++ PRIVATE absl::core_headers ++ PRIVATE absl::memory ++ PRIVATE absl::random_random ++ PRIVATE absl::status ++ PRIVATE absl::cord ++ PRIVATE absl::str_format ++ PRIVATE absl::strings ++ PRIVATE absl::synchronization ++ PRIVATE absl::time ++ PRIVATE absl::optional ++ # vendored libs ++ PUBLIC upb + ) + if(_gRPC_PLATFORM_ANDROID) + target_link_libraries(gpr +@@ -2148,14 +2151,14 @@ target_link_libraries(grpc + PRIVATE ${_gRPC_RE2_LIBRARIES} + PRIVATE ${_gRPC_SSL_LIBRARIES} + PRIVATE ${_gRPC_ZLIB_LIBRARIES} +- # external dependencies that need to available at runtime +- PUBLIC absl::flat_hash_map +- PUBLIC absl::inlined_vector +- PUBLIC absl::bind_front +- PUBLIC absl::hash +- PUBLIC absl::statusor +- PUBLIC absl::variant +- PUBLIC absl::utility ++ # external dependencies used within grpc ++ PRIVATE absl::flat_hash_map ++ PRIVATE absl::inlined_vector ++ PRIVATE absl::bind_front ++ PRIVATE absl::hash ++ PRIVATE absl::statusor ++ PRIVATE absl::variant ++ PRIVATE absl::utility + # targets which belong to grpc anyway + PUBLIC gpr + ) +@@ -2301,11 +2304,11 @@ target_include_directories(grpc_test_util + ${_gRPC_ZLIB_INCLUDE_DIR} + ) + target_link_libraries(grpc_test_util +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::failure_signal_handler +- absl::stacktrace +- absl::symbolize +- grpc ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::failure_signal_handler ++ PRIVATE absl::stacktrace ++ PRIVATE absl::symbolize ++ PUBLIC grpc + ) + if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC) + target_link_libraries(grpc_test_util "-framework CoreFoundation") +@@ -2369,11 +2372,11 @@ target_include_directories(grpc_test_util_unsecure + ${_gRPC_ZLIB_INCLUDE_DIR} + ) + target_link_libraries(grpc_test_util_unsecure +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::failure_signal_handler +- absl::stacktrace +- absl::symbolize +- grpc_unsecure ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::failure_signal_handler ++ PRIVATE absl::stacktrace ++ PRIVATE absl::symbolize ++ PUBLIC grpc_unsecure + ) + if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC) + target_link_libraries(grpc_test_util_unsecure "-framework CoreFoundation") +@@ -2733,14 +2736,14 @@ target_link_libraries(grpc_unsecure + PRIVATE ${_gRPC_CARES_LIBRARIES} + PRIVATE ${_gRPC_RE2_LIBRARIES} + PRIVATE ${_gRPC_ZLIB_LIBRARIES} +- # external dependencies that need to available at runtime +- PUBLIC absl::flat_hash_map +- PUBLIC absl::inlined_vector +- PUBLIC absl::bind_front +- PUBLIC absl::hash +- PUBLIC absl::statusor +- PUBLIC absl::variant +- PUBLIC absl::utility ++ # external dependencies used within grpc ++ PRIVATE absl::flat_hash_map ++ PRIVATE absl::inlined_vector ++ PRIVATE absl::bind_front ++ PRIVATE absl::hash ++ PRIVATE absl::statusor ++ PRIVATE absl::variant ++ PRIVATE absl::utility + # targets which belong to grpc anyway + PUBLIC gpr + ) +@@ -3472,10 +3475,10 @@ target_include_directories(grpc++_test_config + ${_gRPC_PROTO_GENS_DIR} + ) + target_link_libraries(grpc++_test_config +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::flags_parse +- gpr ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::flags_parse ++ PUBLIC gpr + ) + + +@@ -3529,11 +3532,11 @@ target_include_directories(grpc++_test_util + ${_gRPC_PROTO_GENS_DIR} + ) + target_link_libraries(grpc++_test_util +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::flags +- grpc++ +- grpc_test_util ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::flags ++ PUBLIC grpc++ ++ PUBLIC grpc_test_util + ) + + +@@ -5853,10 +5856,10 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) + ) + + target_link_libraries(memory_quota_stress_test +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::statusor +- absl::variant +- gpr ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::statusor ++ PRIVATE absl::variant ++ PUBLIC gpr + ) + + +@@ -7143,12 +7146,12 @@ target_include_directories(activity_test + ) + + target_link_libraries(activity_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::flat_hash_set +- absl::statusor +- absl::variant +- gpr ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::flat_hash_set ++ PRIVATE absl::statusor ++ PRIVATE absl::variant ++ PUBLIC gpr + ) + + +@@ -7456,11 +7459,11 @@ target_include_directories(arena_promise_test + ) + + target_link_libraries(arena_promise_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::statusor +- absl::variant +- gpr ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::statusor ++ PRIVATE absl::variant ++ PUBLIC gpr + ) + + +@@ -7657,9 +7660,9 @@ target_include_directories(avl_test + ) + + target_link_libraries(avl_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::inlined_vector ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::inlined_vector + ) + + +@@ -8187,11 +8190,11 @@ target_include_directories(call_push_pull_test + ) + + target_link_libraries(call_push_pull_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::status +- absl::statusor +- absl::variant ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::status ++ PRIVATE absl::statusor ++ PRIVATE absl::variant + ) + + +@@ -8262,9 +8265,9 @@ target_include_directories(capture_test + ) + + target_link_libraries(capture_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::utility ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::utility + ) + + +@@ -8298,10 +8301,10 @@ target_include_directories(cel_authorization_engine_test + ) + + target_link_libraries(cel_authorization_engine_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::flat_hash_set +- grpc_test_util ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::flat_hash_set ++ PUBLIC grpc_test_util + ) + + +@@ -8813,12 +8816,12 @@ target_include_directories(chunked_vector_test + ) + + target_link_libraries(chunked_vector_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::statusor +- absl::variant +- absl::utility +- gpr ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::statusor ++ PRIVATE absl::variant ++ PRIVATE absl::utility ++ PUBLIC gpr + ) + + +@@ -10193,11 +10196,11 @@ target_include_directories(exec_ctx_wakeup_scheduler_test + ) + + target_link_libraries(exec_ctx_wakeup_scheduler_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::statusor +- absl::variant +- gpr ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::statusor ++ PRIVATE absl::variant ++ PUBLIC gpr + ) + + +@@ -10508,12 +10511,12 @@ target_include_directories(for_each_test + ) + + target_link_libraries(for_each_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::flat_hash_set +- absl::statusor +- absl::variant +- gpr ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::flat_hash_set ++ PRIVATE absl::statusor ++ PRIVATE absl::variant ++ PUBLIC gpr + ) + + +@@ -10910,11 +10913,11 @@ target_include_directories(grpc_cli + ) + + target_link_libraries(grpc_cli +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::flags +- grpc++ +- grpc++_test_config ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::flags ++ PUBLIC grpc++ ++ PUBLIC grpc++_test_config + ) + + +@@ -12041,10 +12044,10 @@ target_include_directories(if_test + ) + + target_link_libraries(if_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::statusor +- absl::variant ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::statusor ++ PRIVATE absl::variant + ) + + +@@ -12285,9 +12288,9 @@ target_include_directories(join_test + ) + + target_link_libraries(join_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::variant ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::variant + ) + + +@@ -12394,11 +12397,11 @@ target_include_directories(latch_test + ) + + target_link_libraries(latch_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::statusor +- absl::variant +- gpr ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::statusor ++ PRIVATE absl::variant ++ PUBLIC gpr + ) + + +@@ -12578,10 +12581,10 @@ target_include_directories(loop_test + ) + + target_link_libraries(loop_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::statusor +- absl::variant ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::statusor ++ PRIVATE absl::variant + ) + + +@@ -12614,9 +12617,9 @@ target_include_directories(match_test + ) + + target_link_libraries(match_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::variant ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::variant + ) + + +@@ -12698,11 +12701,11 @@ target_include_directories(memory_quota_test + ) + + target_link_libraries(memory_quota_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::statusor +- absl::variant +- gpr ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::statusor ++ PRIVATE absl::variant ++ PUBLIC gpr + ) + + +@@ -13001,12 +13004,12 @@ target_include_directories(observable_test + ) + + target_link_libraries(observable_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::flat_hash_set +- absl::statusor +- absl::variant +- gpr ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::flat_hash_set ++ PRIVATE absl::statusor ++ PRIVATE absl::variant ++ PUBLIC gpr + ) + + +@@ -13289,11 +13292,11 @@ target_include_directories(pipe_test + ) + + target_link_libraries(pipe_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::statusor +- absl::variant +- gpr ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::statusor ++ PRIVATE absl::variant ++ PUBLIC gpr + ) + + +@@ -13326,9 +13329,9 @@ target_include_directories(poll_test + ) + + target_link_libraries(poll_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::variant ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::variant + ) + + +@@ -13409,13 +13412,13 @@ target_include_directories(promise_factory_test + ) + + target_link_libraries(promise_factory_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::bind_front +- absl::status +- absl::optional +- absl::variant +- absl::utility ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::bind_front ++ PRIVATE absl::status ++ PRIVATE absl::optional ++ PRIVATE absl::variant ++ PRIVATE absl::utility + ) + + +@@ -13448,11 +13451,11 @@ target_include_directories(promise_map_test + ) + + target_link_libraries(promise_map_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::status +- absl::optional +- absl::variant ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::status ++ PRIVATE absl::optional ++ PRIVATE absl::variant + ) + + +@@ -13485,11 +13488,11 @@ target_include_directories(promise_test + ) + + target_link_libraries(promise_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::status +- absl::optional +- absl::variant ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::status ++ PRIVATE absl::optional ++ PRIVATE absl::variant + ) + + +@@ -13768,9 +13771,9 @@ target_include_directories(race_test + ) + + target_link_libraries(race_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::variant ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::variant + ) + + +@@ -14124,11 +14127,11 @@ target_include_directories(resource_quota_test + ) + + target_link_libraries(resource_quota_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::statusor +- absl::variant +- gpr ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::statusor ++ PRIVATE absl::variant ++ PUBLIC gpr + ) + + +@@ -14325,9 +14328,9 @@ target_include_directories(seq_test + ) + + target_link_libraries(seq_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::variant ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::variant + ) + + +@@ -15057,20 +15060,20 @@ target_include_directories(single_set_ptr_test + ) + + target_link_libraries(single_set_ptr_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::base +- absl::core_headers +- absl::memory +- absl::random_random +- absl::status +- absl::cord +- absl::str_format +- absl::strings +- absl::synchronization +- absl::time +- absl::optional +- upb ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::base ++ PRIVATE absl::core_headers ++ PRIVATE absl::memory ++ PRIVATE absl::random_random ++ PRIVATE absl::status ++ PRIVATE absl::cord ++ PRIVATE absl::str_format ++ PRIVATE absl::strings ++ PRIVATE absl::synchronization ++ PRIVATE absl::time ++ PRIVATE absl::optional ++ PUBLIC upb + ) + + +@@ -15548,10 +15551,10 @@ target_include_directories(table_test + ) + + target_link_libraries(table_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::optional +- absl::utility ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::optional ++ PRIVATE absl::utility + ) + + +@@ -16390,11 +16393,11 @@ target_include_directories(try_join_test + ) + + target_link_libraries(try_join_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::status +- absl::statusor +- absl::variant ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::status ++ PRIVATE absl::statusor ++ PRIVATE absl::variant + ) + + +@@ -16462,11 +16465,11 @@ target_include_directories(try_seq_test + ) + + target_link_libraries(try_seq_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::status +- absl::statusor +- absl::variant ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::status ++ PRIVATE absl::statusor ++ PRIVATE absl::variant + ) + + +@@ -16895,12 +16898,12 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) + ) + + target_link_libraries(writes_per_rpc_test +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::failure_signal_handler +- absl::stacktrace +- absl::symbolize +- grpc++ ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::failure_signal_handler ++ PRIVATE absl::stacktrace ++ PRIVATE absl::symbolize ++ PUBLIC grpc++ + ) + + +@@ -17325,13 +17328,13 @@ target_include_directories(xds_interop_client + ) + + target_link_libraries(xds_interop_client +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::flags +- grpc++_reflection +- grpcpp_channelz +- grpc_test_util +- grpc++_test_config ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::flags ++ PUBLIC grpc++_reflection ++ PUBLIC grpcpp_channelz ++ PUBLIC grpc_test_util ++ PUBLIC grpc++_test_config + ) + + +@@ -17399,13 +17402,13 @@ target_include_directories(xds_interop_server + ) + + target_link_libraries(xds_interop_server +- ${_gRPC_PROTOBUF_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::flags +- grpc++_reflection +- grpcpp_channelz +- grpc_test_util +- grpc++_test_config ++ PUBLIC ${_gRPC_PROTOBUF_LIBRARIES} ++ PUBLIC ${_gRPC_ALLTARGETS_LIBRARIES} ++ PRIVATE absl::flags ++ PUBLIC grpc++_reflection ++ PUBLIC grpcpp_channelz ++ PUBLIC grpc_test_util ++ PUBLIC grpc++_test_config + ) + + +-- +2.37.0.windows.1 + diff --git a/recipe/patches-grpc/0003-add-missing-gpr-linkage-for-grpc_csharp_ext.patch b/recipe/patches-grpc/0003-add-missing-gpr-linkage-for-grpc_csharp_ext.patch new file mode 100644 index 00000000..737a92c4 --- /dev/null +++ b/recipe/patches-grpc/0003-add-missing-gpr-linkage-for-grpc_csharp_ext.patch @@ -0,0 +1,24 @@ +From 3ceb0e9ddade8340fb52bff8e889a2602887cd52 Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Tue, 23 Aug 2022 12:03:47 +0200 +Subject: [PATCH 3/3] add missing gpr linkage for grpc_csharp_ext + +--- + CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3c04f2f1e6..6e039f246c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -2243,6 +2243,7 @@ target_include_directories(grpc_csharp_ext + target_link_libraries(grpc_csharp_ext + ${_gRPC_ALLTARGETS_LIBRARIES} + grpc ++ gpr + ) + + +-- +2.37.0.windows.1 +