diff --git a/ports/grpc/00001-fix-uwp.patch b/ports/grpc/00001-fix-uwp.patch index 79025276b4..eee4f14d19 100644 --- a/ports/grpc/00001-fix-uwp.patch +++ b/ports/grpc/00001-fix-uwp.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3f9d19e..25d96ab 100644 +index 8561c67..84de29f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -144,6 +144,9 @@ if(UNIX) +@@ -150,6 +150,9 @@ if(UNIX) endif() if(WIN32) set(_gRPC_PLATFORM_WINDOWS ON) @@ -11,8 +11,8 @@ index 3f9d19e..25d96ab 100644 + endif() endif() - set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) -@@ -160,6 +163,9 @@ if(MSVC) + # Use C99 standard +@@ -174,6 +177,9 @@ if(MSVC) set(_gRPC_C_CXX_FLAGS "${_gRPC_C_CXX_FLAGS} /wd4267") # TODO(jtattermusch): needed to build boringssl with VS2017, revisit later set(_gRPC_C_CXX_FLAGS "${_gRPC_C_CXX_FLAGS} /wd4987 /wd4774 /wd4819 /wd4996 /wd4619") @@ -22,7 +22,7 @@ index 3f9d19e..25d96ab 100644 endif() set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_gRPC_C_CXX_FLAGS}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${_gRPC_C_CXX_FLAGS}") -@@ -228,6 +234,10 @@ file(MAKE_DIRECTORY ${_gRPC_PROTO_GENS_DIR}) +@@ -237,6 +243,10 @@ file(MAKE_DIRECTORY ${_gRPC_PROTO_GENS_DIR}) # ``.proto`` files # function(protobuf_generate_grpc_cpp) @@ -33,7 +33,7 @@ index 3f9d19e..25d96ab 100644 if(NOT ARGN) message(SEND_ERROR "Error: PROTOBUF_GENERATE_GRPC_CPP() called without any proto files") return() -@@ -300,6 +310,7 @@ if (gRPC_BUILD_GRPC_RUBY_PLUGIN) +@@ -309,6 +319,7 @@ if (gRPC_BUILD_GRPC_RUBY_PLUGIN) list(APPEND _gRPC_PLUGIN_LIST grpc_ruby_plugin) endif () @@ -41,7 +41,7 @@ index 3f9d19e..25d96ab 100644 add_custom_target(plugins DEPENDS ${_gRPC_PLUGIN_LIST} ) -@@ -321,6 +332,7 @@ add_custom_target(tools_cxx +@@ -327,6 +338,7 @@ add_custom_target(tools_cxx add_custom_target(tools DEPENDS tools_c tools_cxx) diff --git a/ports/grpc/00002-static-linking-in-linux.patch b/ports/grpc/00002-static-linking-in-linux.patch index d496e54c4e..371873888b 100644 --- a/ports/grpc/00002-static-linking-in-linux.patch +++ b/ports/grpc/00002-static-linking-in-linux.patch @@ -1,16 +1,16 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 25d96ab..c4057b3 100644 +index 84de29f..0c6dc0e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -152,6 +152,11 @@ endif() - set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) - set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules") +@@ -165,6 +165,11 @@ set(CMAKE_CXX_EXTENSIONS OFF) + set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) + list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules") ++ +if (gRPC_STATIC_LINKING AND NOT _gRPC_PLATFORM_WINDOWS) + # Force to static link + set(CMAKE_EXE_LINKER_FLAGS "-Bstatic") +endif() -+ + if(MSVC) include(cmake/msvc_static_runtime.cmake) - add_definitions(-D_WIN32_WINNT=0x600 -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS) diff --git a/ports/grpc/00005-fix-uwp-error.patch b/ports/grpc/00005-fix-uwp-error.patch index 37748b09f0..93ac05d1b2 100644 --- a/ports/grpc/00005-fix-uwp-error.patch +++ b/ports/grpc/00005-fix-uwp-error.patch @@ -10,3 +10,16 @@ index c0e2164..331e54c 100644 if (len <= sizeof(slice.data.inlined.bytes)) { slice.refcount = nullptr; slice.data.inlined.length = len; +diff --git a/src/core/lib/surface/server.cc b/src/core/lib/surface/server.cc +index 998eb6d..a6e26d3 100644 +--- a/src/core/lib/surface/server.cc ++++ b/src/core/lib/surface/server.cc +@@ -1095,7 +1095,7 @@ grpc_call_error queue_call_request(grpc_server* server, size_t cq_idx, + GRPC_ERROR_CREATE_FROM_STATIC_STRING("Server Shutdown")); + return GRPC_CALL_OK; + } +- RequestMatcherInterface* rm; ++ RequestMatcherInterface* rm = nullptr; + switch (rc->type) { + case BATCH_CALL: + rm = server->unregistered_request_matcher; diff --git a/ports/grpc/00009-use-system-upb.patch b/ports/grpc/00009-use-system-upb.patch index 41a2d9ab6b..de6f07f5d0 100644 --- a/ports/grpc/00009-use-system-upb.patch +++ b/ports/grpc/00009-use-system-upb.patch @@ -1,136 +1,139 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index a6a0f23..1c170da 100644 +index 5ec669e..f71a212 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -1281,7 +1281,7 @@ target_link_libraries(alts_test_util +@@ -81,6 +81,9 @@ set_property(CACHE gRPC_SSL_PROVIDER PROPERTY STRINGS "module" "package") + set(gRPC_PROTOBUF_PROVIDER "module" CACHE STRING "Provider of protobuf library") + set_property(CACHE gRPC_PROTOBUF_PROVIDER PROPERTY STRINGS "module" "package") + ++set(gRPC_UPB_PROVIDER "module" CACHE STRING "Provider of upb library") ++set_property(CACHE gRPC_UPB_PROVIDER PROPERTY STRINGS "module" "package") ++ + set(gRPC_PROTOBUF_PACKAGE_TYPE "" CACHE STRING "Algorithm for searching protobuf package") + set_property(CACHE gRPC_PROTOBUF_PACKAGE_TYPE PROPERTY STRINGS "CONFIG" "MODULE") + +@@ -1765,7 +1768,6 @@ target_link_libraries(grpc ${_gRPC_ALLTARGETS_LIBRARIES} + gpr + address_sorting +- upb + absl::optional + absl::strings + absl::inlined_vector +@@ -1844,7 +1846,6 @@ target_link_libraries(grpc_csharp_ext grpc gpr + address_sorting +- upb + ) + + +@@ -2351,7 +2352,6 @@ target_link_libraries(grpc_unsecure + ${_gRPC_ALLTARGETS_LIBRARIES} + gpr + address_sorting +- upb + absl::optional + absl::strings + absl::inlined_vector +@@ -2545,7 +2545,6 @@ target_link_libraries(grpc++ + grpc + gpr + address_sorting - upb -+ ${_gRPC_UPB_LIBRARIES} ) foreach(_hdr -@@ -1917,7 +1917,7 @@ target_link_libraries(grpc - ${_gRPC_UPB_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - gpr -- upb -+ ${_gRPC_UPB_LIBRARIES} - ) - if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC) - target_link_libraries(grpc "-framework CoreFoundation") -@@ -2328,7 +2328,7 @@ target_link_libraries(grpc_cronet - ${_gRPC_UPB_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - gpr -- upb -+ ${_gRPC_UPB_LIBRARIES} - ) - if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC) - target_link_libraries(grpc_cronet "-framework CoreFoundation") -@@ -2670,7 +2670,7 @@ target_link_libraries(grpc_test_util - ${_gRPC_ALLTARGETS_LIBRARIES} - gpr +@@ -2821,7 +2820,6 @@ target_link_libraries(grpc++_alts grpc -- upb -+ ${_gRPC_UPB_LIBRARIES} - ) - if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC) - target_link_libraries(grpc_test_util "-framework CoreFoundation") -@@ -3013,7 +3013,7 @@ target_link_libraries(grpc_test_util_unsecure - ${_gRPC_ALLTARGETS_LIBRARIES} gpr + address_sorting +- upb + ) + + foreach(_hdr +@@ -2889,7 +2887,6 @@ target_link_libraries(grpc++_error_details + grpc + gpr + address_sorting +- upb + ) + + foreach(_hdr +@@ -2962,7 +2959,6 @@ target_link_libraries(grpc++_reflection + grpc + gpr + address_sorting +- upb + ) + + foreach(_hdr +@@ -3239,7 +3235,6 @@ target_link_libraries(grpc++_unsecure grpc_unsecure -- upb -+ ${_gRPC_UPB_LIBRARIES} - ) - if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC) - target_link_libraries(grpc_test_util_unsecure "-framework CoreFoundation") -@@ -3404,7 +3404,7 @@ target_link_libraries(grpc_unsecure - ${_gRPC_UPB_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} gpr + address_sorting - upb -+ ${_gRPC_UPB_LIBRARIES} ) - if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC) - target_link_libraries(grpc_unsecure "-framework CoreFoundation") -@@ -3743,7 +3743,7 @@ target_link_libraries(grpc++ - ${_gRPC_ALLTARGETS_LIBRARIES} + + foreach(_hdr +@@ -3586,7 +3581,6 @@ target_link_libraries(grpcpp_channelz grpc gpr + address_sorting - upb -+ ${_gRPC_UPB_LIBRARIES} ) foreach(_hdr -@@ -4070,7 +4070,7 @@ target_link_libraries(grpc++_alts - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ - gpr -- upb -+ ${_gRPC_UPB_LIBRARIES} - ) - - foreach(_hdr -@@ -4876,7 +4876,7 @@ target_link_libraries(grpc++_unsecure - ${_gRPC_ALLTARGETS_LIBRARIES} - gpr - grpc_unsecure -- upb -+ ${_gRPC_UPB_LIBRARIES} - ) - - foreach(_hdr -@@ -5898,7 +5898,7 @@ target_link_libraries(grpc_csharp_ext - +@@ -3613,6 +3607,7 @@ endif() endif() -- -+if(0) + ++if (gRPC_UPB_PROVIDER STREQUAL "module") add_library(upb third_party/upb/upb/decode.c third_party/upb/upb/encode.c -@@ -5938,10 +5938,10 @@ target_include_directories(upb - target_link_libraries(upb - ${_gRPC_ALLTARGETS_LIBRARIES} - ) +@@ -3662,7 +3657,7 @@ if(gRPC_INSTALL) + ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} + ) + endif() +- +endif() -- --if(gRPC_INSTALL) -+if(gRPC_INSTALL AND 0) - install(TARGETS upb EXPORT gRPCTargets - RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} - LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} + add_executable(check_epollexclusive diff --git a/cmake/gRPCConfig.cmake.in b/cmake/gRPCConfig.cmake.in -index 5bfa73c..8a867df 100644 +index 5bfa73c..db0865e 100644 --- a/cmake/gRPCConfig.cmake.in +++ b/cmake/gRPCConfig.cmake.in @@ -7,6 +7,7 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/modules) @_gRPC_FIND_SSL@ @_gRPC_FIND_CARES@ @_gRPC_FIND_ABSL@ -+find_package(upb CONFIG) ++@_gRPC_FIND_UPB@ # Targets include(${CMAKE_CURRENT_LIST_DIR}/gRPCTargets.cmake) diff --git a/cmake/upb.cmake b/cmake/upb.cmake -index 2c0ab84..746e067 100644 +index 2c0ab84..07dd613 100644 --- a/cmake/upb.cmake +++ b/cmake/upb.cmake -@@ -12,9 +12,9 @@ +@@ -12,9 +12,18 @@ # See the License for the specific language governing permissions and # limitations under the License. --set(UPB_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/upb) -+find_package(upb REQUIRED) -+set(_gRPC_UPB_INCLUDE_DIR) ++set(_gRPC_UPB_GRPC_GENERATED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/core/ext/upb-generated") ++if (gRPC_UPB_PROVIDER STREQUAL "module") + set(UPB_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/upb) --set(_gRPC_UPB_INCLUDE_DIR "${UPB_ROOT_DIR}") - set(_gRPC_UPB_GRPC_GENERATED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/core/ext/upb-generated") + set(_gRPC_UPB_INCLUDE_DIR "${UPB_ROOT_DIR}") +-set(_gRPC_UPB_GRPC_GENERATED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/core/ext/upb-generated") --set(_gRPC_UPB_LIBRARIES upb) -+set(_gRPC_UPB_LIBRARIES upb::upb) + set(_gRPC_UPB_LIBRARIES upb) ++ ++elseif(gRPC_UPB_PROVIDER STREQUAL "package") ++ find_package(upb CONFIG REQUIRED) ++ set(_gRPC_UPB_LIBRARIES upb::upb) ++ set(_gRPC_UPB_INCLUDE_DIR) ++ set(upb ${_gRPC_UPB_LIBRARIES}) ++ set(_gRPC_FIND_UPB "if(NOT upb_FOUND)\n find_package(upb CONFIG REQUIRED)\nendif()") ++endif() diff --git a/ports/grpc/00010-add-feature-absl-sync.patch b/ports/grpc/00010-add-feature-absl-sync.patch index e16b1c2e31..8fb59a60e8 100644 --- a/ports/grpc/00010-add-feature-absl-sync.patch +++ b/ports/grpc/00010-add-feature-absl-sync.patch @@ -1,3 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f71a212..77cf3de 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1771,6 +1771,8 @@ target_link_libraries(grpc + absl::optional + absl::strings + absl::inlined_vector ++ absl::time ++ absl::synchronization + ) + if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC) + target_link_libraries(grpc "-framework CoreFoundation") +@@ -2355,6 +2357,8 @@ target_link_libraries(grpc_unsecure + absl::optional + absl::strings + absl::inlined_vector ++ absl::time ++ absl::synchronization + ) + if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC) + target_link_libraries(grpc_unsecure "-framework CoreFoundation") diff --git a/cmake/abseil-cpp.cmake b/cmake/abseil-cpp.cmake index 078d495..b6f50bd 100644 --- a/cmake/abseil-cpp.cmake @@ -10,16 +32,3 @@ index 078d495..b6f50bd 100644 + add_definitions(-DGPR_ABSEIL_SYNC=1) + endif() endif() -diff --git a/CMakeLists.txt b/CMakeLists.txt -index df1703c..7667662 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1464,6 +1464,8 @@ target_link_libraries(gpr - absl::str_format - absl::strings - absl::optional -+ absl::time -+ absl::synchronization - ) - if(_gRPC_PLATFORM_ANDROID) - target_link_libraries(gpr diff --git a/ports/grpc/CONTROL b/ports/grpc/CONTROL index 8c1df3be4f..af06e82a49 100644 --- a/ports/grpc/CONTROL +++ b/ports/grpc/CONTROL @@ -1,5 +1,5 @@ Source: grpc -Version: 1.28.1-1 +Version: 1.29.1 Build-Depends: zlib, openssl, protobuf, c-ares (!uwp), upb, abseil Homepage: https://github.com/grpc/grpc Description: An RPC library and framework diff --git a/ports/grpc/portfile.cmake b/ports/grpc/portfile.cmake index 39f1e67332..57fba090bd 100644 --- a/ports/grpc/portfile.cmake +++ b/ports/grpc/portfile.cmake @@ -5,8 +5,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO grpc/grpc - REF cb81fe0dfaa424eb50de26fb7c904a27a78c3f76 #v1.28.1 - SHA512 ff33c1afe413475846f53fd6b6921323019a6da2218fe4827e43e390e04ea073d8e56b0a9b32015233106a6d90a83eff0fa631df37a96036a9c810a4dc32ea4f + REF 7d89dbb311f049b43bda7bbf6f7d7bf1b4c24419 #v1.29.1 + SHA512 403fa5e3f012786bb17ca32c760b6dfb22c5a5cfb473ba7fad657e26ab3986eb0203f7cbb501a8647fd5ef2571e5f4ee08c2c97d1dfda18ec5ab6a92c9fc3263 HEAD_REF master PATCHES 00001-fix-uwp.patch @@ -50,6 +50,7 @@ vcpkg_configure_cmake( -DgRPC_SSL_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package -DgRPC_ABSL_PROVIDER=package + -DgRPC_UPB_PROVIDER=package -DgRPC_PROTOBUF_PACKAGE_TYPE=CONFIG -DgRPC_CARES_PROVIDER=${cares_CARES_PROVIDER} -DgRPC_GFLAGS_PROVIDER=none diff --git a/ports/offscale-libetcd-cpp/CONTROL b/ports/offscale-libetcd-cpp/CONTROL index ec080142ce..e164c928ec 100644 --- a/ports/offscale-libetcd-cpp/CONTROL +++ b/ports/offscale-libetcd-cpp/CONTROL @@ -1,5 +1,5 @@ Source: offscale-libetcd-cpp -Version: 2019-07-10 +Version: 2019-07-10-1 Homepage: https://github.com/offscale/libetcd-cpp Description: A C++ client library for etcd. etcd is a distributed, reliable key-value store. Build-Depends: grpc, protobuf diff --git a/ports/offscale-libetcd-cpp/fix-dependency-grpc.patch b/ports/offscale-libetcd-cpp/fix-dependency-grpc.patch new file mode 100644 index 0000000000..652720333e --- /dev/null +++ b/ports/offscale-libetcd-cpp/fix-dependency-grpc.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0d9aad9..d68c5f7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -70,7 +70,7 @@ endif() + target_include_directories(etcdcpp PRIVATE "generated/") + target_include_directories(etcdcpp INTERFACE "${CMAKE_INSTALL_PREFIX}/include") + +-target_link_libraries(etcdcpp PRIVATE gRPC::gpr gRPC::grpc gRPC::grpc++ gRPC::grpc_cronet) ++target_link_libraries(etcdcpp PRIVATE gRPC::gpr gRPC::grpc gRPC::grpc++ gRPC::grpc++_alts) + target_link_libraries(etcdcpp PRIVATE protobuf::libprotoc protobuf::libprotobuf) + + install(TARGETS etcdcpp EXPORT etcdcpp DESTINATION lib) diff --git a/ports/offscale-libetcd-cpp/portfile.cmake b/ports/offscale-libetcd-cpp/portfile.cmake index ffe4519f89..e6857aa3d4 100644 --- a/ports/offscale-libetcd-cpp/portfile.cmake +++ b/ports/offscale-libetcd-cpp/portfile.cmake @@ -1,11 +1,10 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO offscale/libetcd-cpp REF 8607d8d7080c6eb447bc41b799a24bfdb87cf638 SHA512 9bf4bf14fd52f4f6bbf8cf68de61e6a19eeffbdc501f05c8f614b5f13f206410884afd7fe226a077448e58e02990c65a6b27ee895ed34ba5ee701abe0500b875 HEAD_REF master + PATCHES fix-dependency-grpc.patch ) vcpkg_configure_cmake( @@ -14,6 +13,6 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -file(INSTALL ${SOURCE_PATH}/LICENSE-MIT DESTINATION ${CURRENT_PACKAGES_DIR}/share/offscale-libetcd-cpp RENAME copyright) - vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/LICENSE-MIT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)