aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>2021-07-23 04:45:35 +0800
committerGitHub <noreply@github.com>2021-07-22 13:45:35 -0700
commitf4be15811d7089ab9d254b498005e1b215f871a5 (patch)
tree6f77dd40a51d0e40cc9ace368138f514e29ad60d
parent1c4205c2a650976e19eb46a2314ae442301c9355 (diff)
downloadvcpkg-f4be15811d7089ab9d254b498005e1b215f871a5.tar.gz
vcpkg-f4be15811d7089ab9d254b498005e1b215f871a5.zip
[arrow] Re-fix dependencies (#19014)
* [arrow] Re-fix dependencies * version
-rw-r--r--ports/arrow/all.patch149
-rw-r--r--ports/arrow/fix-dependencies.patch263
-rw-r--r--ports/arrow/portfile.cmake14
-rw-r--r--ports/arrow/vcpkg.json1
-rw-r--r--versions/a-/arrow.json5
-rw-r--r--versions/baseline.json2
6 files changed, 284 insertions, 150 deletions
diff --git a/ports/arrow/all.patch b/ports/arrow/all.patch
index 8ff755ac5..180fafc58 100644
--- a/ports/arrow/all.patch
+++ b/ports/arrow/all.patch
@@ -11,152 +11,3 @@ index 2fd897b5d..b6118ad4f 100644
set(LIB_NAME_STATIC ${LIB_NAME}_static)
else()
set(LIB_NAME_STATIC ${LIB_NAME})
-diff --git a/cpp/cmake_modules/FindBrotli.cmake b/cpp/cmake_modules/FindBrotli.cmake
-index b46a0f1a0..3d87f5204 100644
---- a/cpp/cmake_modules/FindBrotli.cmake
-+++ b/cpp/cmake_modules/FindBrotli.cmake
-@@ -69,9 +69,9 @@ if(BROTLI_ROOT)
- PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}
- NO_DEFAULT_PATH)
- else()
-- find_package(PkgConfig QUIET)
-- pkg_check_modules(BROTLI_PC libbrotlicommon libbrotlienc libbrotlidec)
-- if(BROTLI_PC_FOUND)
-+ #find_package(PkgConfig QUIET)
-+ #pkg_check_modules(BROTLI_PC libbrotlicommon libbrotlienc libbrotlidec)
-+ if(BROTLI_PC_FOUND AND 0) # Find via pkg_check_modules disabled as incompatible with vcpkg
- set(BROTLI_INCLUDE_DIR "${BROTLI_PC_libbrotlicommon_INCLUDEDIR}")
-
- # Some systems (e.g. Fedora) don't fill Brotli_LIBRARY_DIRS, so add the other dirs here.
-diff --git a/cpp/cmake_modules/FindLz4.cmake b/cpp/cmake_modules/FindLz4.cmake
-index 14b6d93b9..1905079ee 100644
---- a/cpp/cmake_modules/FindLz4.cmake
-+++ b/cpp/cmake_modules/FindLz4.cmake
-@@ -15,10 +15,12 @@
- # specific language governing permissions and limitations
- # under the License.
-
--if(MSVC_TOOLCHAIN AND NOT DEFINED LZ4_MSVC_LIB_PREFIX)
-- set(LZ4_MSVC_LIB_PREFIX "lib")
-+# Avoid the debug build linking to the release library by mistake.
-+# In theory harmless if static linking at this point, but disastrous if done for a shared library.
-+if(CMAKE_BUILD_TYPE STREQUAL "DEBUG")
-+ set(LZ4_LIB_NAME_DEBUG_SUFFIX "d")
- endif()
--set(LZ4_LIB_NAME_BASE "${LZ4_MSVC_LIB_PREFIX}lz4")
-+set(LZ4_LIB_NAME_BASE "lz4${LZ4_LIB_NAME_DEBUG_SUFFIX}")
-
- if(ARROW_LZ4_USE_SHARED)
- set(LZ4_LIB_NAMES)
-@@ -34,12 +36,8 @@ if(ARROW_LZ4_USE_SHARED)
- LZ4_LIB_NAMES
- "${CMAKE_SHARED_LIBRARY_PREFIX}${LZ4_LIB_NAME_BASE}${CMAKE_SHARED_LIBRARY_SUFFIX}")
- else()
-- if(MSVC AND NOT DEFINED LZ4_MSVC_STATIC_LIB_SUFFIX)
-- set(LZ4_MSVC_STATIC_LIB_SUFFIX "_static")
-- endif()
-- set(LZ4_STATIC_LIB_SUFFIX "${LZ4_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}")
- set(LZ4_LIB_NAMES
-- "${CMAKE_STATIC_LIBRARY_PREFIX}${LZ4_LIB_NAME_BASE}${LZ4_STATIC_LIB_SUFFIX}")
-+ "${CMAKE_STATIC_LIBRARY_PREFIX}${LZ4_LIB_NAME_BASE}${CMAKE_STATIC_LIBRARY_SUFFIX}")
- endif()
-
- if(LZ4_ROOT)
-@@ -56,8 +54,8 @@ if(LZ4_ROOT)
-
- else()
- find_package(PkgConfig QUIET)
-- pkg_check_modules(LZ4_PC liblz4)
-- if(LZ4_PC_FOUND)
-+ #pkg_check_modules(LZ4_PC liblz4)
-+ if(0) # Do not use pkg_check_modules, doesn't seem to work correctly on some macOS versions (10.x in GitHub Actions)
- set(LZ4_INCLUDE_DIR "${LZ4_PC_INCLUDEDIR}")
-
- list(APPEND LZ4_PC_LIBRARY_DIRS "${LZ4_PC_LIBDIR}")
-diff --git a/cpp/cmake_modules/FindSnappy.cmake b/cpp/cmake_modules/FindSnappy.cmake
-index 26cccb786..8bee097af 100644
---- a/cpp/cmake_modules/FindSnappy.cmake
-+++ b/cpp/cmake_modules/FindSnappy.cmake
-@@ -15,23 +15,30 @@
- # specific language governing permissions and limitations
- # under the License.
-
-+# Avoid the debug build linking to the release library by mistake.
-+# In theory harmless if static linking at this point, but disastrous if done for a shared library.
-+if(CMAKE_BUILD_TYPE STREQUAL "DEBUG")
-+ set(SNAPPY_LIB_NAME_DEBUG_SUFFIX "d")
-+endif()
-+
-+set(SNAPPY_LIB_NAME_BASE "snappy${SNAPPY_LIB_NAME_DEBUG_SUFFIX}")
-+
- if(ARROW_SNAPPY_USE_SHARED)
- set(SNAPPY_LIB_NAMES)
- if(CMAKE_IMPORT_LIBRARY_SUFFIX)
- list(APPEND SNAPPY_LIB_NAMES
-- "${CMAKE_IMPORT_LIBRARY_PREFIX}snappy${CMAKE_IMPORT_LIBRARY_SUFFIX}")
-+ "${CMAKE_IMPORT_LIBRARY_PREFIX}${SNAPPY_LIB_NAME_BASE}${CMAKE_IMPORT_LIBRARY_SUFFIX}")
- endif()
- list(APPEND SNAPPY_LIB_NAMES
-- "${CMAKE_SHARED_LIBRARY_PREFIX}snappy${CMAKE_SHARED_LIBRARY_SUFFIX}")
-+ "${CMAKE_SHARED_LIBRARY_PREFIX}${SNAPPY_LIB_NAME_BASE}${CMAKE_SHARED_LIBRARY_SUFFIX}")
- else()
-- set(SNAPPY_STATIC_LIB_NAME_BASE "snappy")
- if(MSVC)
- set(SNAPPY_STATIC_LIB_NAME_BASE
-- "${SNAPPY_STATIC_LIB_NAME_BASE}${SNAPPY_MSVC_STATIC_LIB_SUFFIX}")
-+ "${SNAPPY_LIB_NAME_BASE}${SNAPPY_MSVC_STATIC_LIB_SUFFIX}")
- endif()
- set(
- SNAPPY_LIB_NAMES
-- "${CMAKE_STATIC_LIBRARY_PREFIX}${SNAPPY_STATIC_LIB_NAME_BASE}${CMAKE_STATIC_LIBRARY_SUFFIX}"
-+ "${CMAKE_STATIC_LIBRARY_PREFIX}${SNAPPY_LIB_NAME_BASE}${CMAKE_STATIC_LIBRARY_SUFFIX}"
- )
- endif()
-
-diff --git a/cpp/cmake_modules/FindThrift.cmake b/cpp/cmake_modules/FindThrift.cmake
-index 273d907ed..02a1e7fe1 100644
---- a/cpp/cmake_modules/FindThrift.cmake
-+++ b/cpp/cmake_modules/FindThrift.cmake
-@@ -39,6 +39,12 @@ function(EXTRACT_THRIFT_VERSION)
- endif()
- endfunction(EXTRACT_THRIFT_VERSION)
-
-+# Avoid the debug build linking to the release library by mistake.
-+# In theory harmless if static linking at this point, but disastrous if done for a shared library.
-+if(CMAKE_BUILD_TYPE STREQUAL "DEBUG")
-+ set(THRIFT_LIB_NAME_DEBUG_SUFFIX "d")
-+endif()
-+
- if(MSVC_TOOLCHAIN AND NOT DEFINED THRIFT_MSVC_LIB_SUFFIX)
- if(NOT ARROW_THRIFT_USE_SHARED)
- if(ARROW_USE_STATIC_CRT)
-@@ -48,7 +54,7 @@ if(MSVC_TOOLCHAIN AND NOT DEFINED THRIFT_MSVC_LIB_SUFFIX)
- endif()
- endif()
- endif()
--set(THRIFT_LIB_NAME_BASE "thrift${THRIFT_MSVC_LIB_SUFFIX}")
-+set(THRIFT_LIB_NAME_BASE "thrift${THRIFT_MSVC_LIB_SUFFIX}${THRIFT_LIB_NAME_DEBUG_SUFFIX}")
-
- if(ARROW_THRIFT_USE_SHARED)
- set(THRIFT_LIB_NAMES thrift)
-@@ -84,8 +90,8 @@ else()
- # THRIFT-4760: The pkgconfig files are currently only installed when using autotools.
- # Starting with 0.13, they are also installed for the CMake-based installations of Thrift.
- find_package(PkgConfig QUIET)
-- pkg_check_modules(THRIFT_PC thrift)
-- if(THRIFT_PC_FOUND)
-+ #pkg_check_modules(THRIFT_PC thrift)
-+ if(0) # Do not use pkg_check_modules, as it finds the wrong location (an intermediate build dir).
- set(THRIFT_INCLUDE_DIR "${THRIFT_PC_INCLUDEDIR}")
-
- list(APPEND THRIFT_PC_LIBRARY_DIRS "${THRIFT_PC_LIBDIR}")
-@@ -101,8 +107,7 @@ else()
- set(THRIFT_VERSION ${THRIFT_PC_VERSION})
- else()
- find_library(THRIFT_LIB
-- NAMES ${THRIFT_LIB_NAMES}
-- PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib")
-+ NAMES ${THRIFT_LIB_NAMES})
- find_path(THRIFT_INCLUDE_DIR thrift/Thrift.h PATH_SUFFIXES "include")
- find_program(THRIFT_COMPILER thrift PATH_SUFFIXES "bin")
- extract_thrift_version()
diff --git a/ports/arrow/fix-dependencies.patch b/ports/arrow/fix-dependencies.patch
new file mode 100644
index 000000000..65dcee334
--- /dev/null
+++ b/ports/arrow/fix-dependencies.patch
@@ -0,0 +1,263 @@
+diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
+index b7a1dae..2669b15 100644
+--- a/cpp/CMakeLists.txt
++++ b/cpp/CMakeLists.txt
+@@ -669,7 +669,7 @@ endif()
+
+ if(ARROW_WITH_BROTLI)
+ # Order is important for static linking
+- set(ARROW_BROTLI_LIBS Brotli::brotlienc Brotli::brotlidec Brotli::brotlicommon)
++ set(ARROW_BROTLI_LIBS unofficial::brotli::brotlienc unofficial::brotli::brotlidec unofficial::brotli::brotlicommon)
+ list(APPEND ARROW_LINK_LIBS ${ARROW_BROTLI_LIBS})
+ list(APPEND ARROW_STATIC_LINK_LIBS ${ARROW_BROTLI_LIBS})
+ if(Brotli_SOURCE STREQUAL "SYSTEM")
+@@ -685,9 +685,9 @@ if(ARROW_WITH_BZ2)
+ endif()
+
+ if(ARROW_WITH_LZ4)
+- list(APPEND ARROW_STATIC_LINK_LIBS LZ4::lz4)
++ list(APPEND ARROW_STATIC_LINK_LIBS lz4::lz4)
+ if(Lz4_SOURCE STREQUAL "SYSTEM")
+- list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS LZ4::lz4)
++ list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS lz4::lz4)
+ endif()
+ endif()
+
+@@ -736,10 +736,10 @@ if(ARROW_S3)
+ endif()
+
+ if(ARROW_WITH_UTF8PROC)
+- list(APPEND ARROW_LINK_LIBS utf8proc::utf8proc)
+- list(APPEND ARROW_STATIC_LINK_LIBS utf8proc::utf8proc)
++ list(APPEND ARROW_LINK_LIBS utf8proc)
++ list(APPEND ARROW_STATIC_LINK_LIBS utf8proc)
+ if(utf8proc_SOURCE STREQUAL "SYSTEM")
+- list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS utf8proc::utf8proc)
++ list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS utf8proc)
+ endif()
+ endif()
+
+diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake
+index 83ea3aa..d592fc3 100644
+--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
++++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
+@@ -53,7 +53,7 @@ set(ARROW_THIRDPARTY_DEPENDENCIES
+ AWSSDK
+ benchmark
+ Boost
+- Brotli
++ unofficial-brotli
+ BZip2
+ c-ares
+ gflags
+@@ -61,14 +61,14 @@ set(ARROW_THIRDPARTY_DEPENDENCIES
+ gRPC
+ GTest
+ LLVM
+- Lz4
++ lz4
+ ORC
+ re2
+ Protobuf
+ RapidJSON
+ Snappy
+ Thrift
+- utf8proc
++ unofficial-utf8proc
+ xsimd
+ ZLIB
+ zstd)
+@@ -956,7 +956,7 @@ macro(build_snappy)
+ endmacro()
+
+ if(ARROW_WITH_SNAPPY)
+- resolve_dependency(Snappy)
++ resolve_dependency(Snappy USE_CONFIG TRUE)
+ # TODO: Don't use global includes but rather target_include_directories
+ get_target_property(SNAPPY_INCLUDE_DIRS Snappy::snappy INTERFACE_INCLUDE_DIRECTORIES)
+ include_directories(SYSTEM ${SNAPPY_INCLUDE_DIRS})
+@@ -1021,10 +1021,16 @@ macro(build_brotli)
+ endmacro()
+
+ if(ARROW_WITH_BROTLI)
+- resolve_dependency(Brotli)
++ set(unofficial-brotli_SOURCE "SYSTEM")
++ resolve_dependency(unofficial-brotli USE_CONFIG TRUE)
+ # TODO: Don't use global includes but rather target_include_directories
+- get_target_property(BROTLI_INCLUDE_DIR Brotli::brotlicommon
+- INTERFACE_INCLUDE_DIRECTORIES)
++ if (BUILD_SHARED_LIBS)
++ get_target_property(BROTLI_INCLUDE_DIR unofficial::brotli::brotlicommon
++ INTERFACE_INCLUDE_DIRECTORIES)
++ else()
++ get_target_property(BROTLI_INCLUDE_DIR unofficial::brotli::brotlicommon-static
++ INTERFACE_INCLUDE_DIRECTORIES)
++ endif()
+ include_directories(SYSTEM ${BROTLI_INCLUDE_DIR})
+ endif()
+
+@@ -1141,7 +1147,7 @@ macro(build_glog)
+ endmacro()
+
+ if(ARROW_USE_GLOG)
+- resolve_dependency(GLOG)
++ resolve_dependency(glog USE_CONFIG TRUE)
+ # TODO: Don't use global includes but rather target_include_directories
+ get_target_property(GLOG_INCLUDE_DIR glog::glog INTERFACE_INCLUDE_DIRECTORIES)
+ include_directories(SYSTEM ${GLOG_INCLUDE_DIR})
+@@ -1214,8 +1220,7 @@ endmacro()
+ if(ARROW_NEED_GFLAGS)
+ set(ARROW_GFLAGS_REQUIRED_VERSION "2.1.0")
+ resolve_dependency(gflags
+- HAVE_ALT
+- TRUE
++ USE_CONFIG TRUE
+ REQUIRED_VERSION
+ ${ARROW_GFLAGS_REQUIRED_VERSION}
+ IS_RUNTIME_DEPENDENCY
+@@ -1316,7 +1321,7 @@ if(ARROW_WITH_THRIFT)
+ # to build Boost, so don't look again if already found.
+ if(NOT Thrift_FOUND AND NOT THRIFT_FOUND)
+ # Thrift c++ code generated by 0.13 requires 0.11 or greater
+- resolve_dependency(Thrift REQUIRED_VERSION 0.11.0)
++ resolve_dependency(Thrift USE_CONFIG TRUE REQUIRED_VERSION 0.11.0)
+ endif()
+ # TODO: Don't use global includes but rather target_include_directories
+ include_directories(SYSTEM ${THRIFT_INCLUDE_DIR})
+@@ -1416,13 +1421,17 @@ if(ARROW_WITH_PROTOBUF)
+ else()
+ set(ARROW_PROTOBUF_REQUIRED_VERSION "2.6.1")
+ endif()
+- resolve_dependency(Protobuf REQUIRED_VERSION ${ARROW_PROTOBUF_REQUIRED_VERSION})
++ resolve_dependency(Protobuf USE_CONFIG TRUE REQUIRED_VERSION ${ARROW_PROTOBUF_REQUIRED_VERSION})
+
+ if(ARROW_PROTOBUF_USE_SHARED AND MSVC_TOOLCHAIN)
+ add_definitions(-DPROTOBUF_USE_DLLS)
+ endif()
+
+ # TODO: Don't use global includes but rather target_include_directories
++ if (TARGET protobuf::libprotobuf)
++ get_target_property(PROTOBUF_INCLUDE_DIR protobuf::libprotobuf
++ INTERFACE_INCLUDE_DIRECTORIES)
++ endif()
+ include_directories(SYSTEM ${PROTOBUF_INCLUDE_DIR})
+
+ if(TARGET arrow::protobuf::libprotobuf)
+@@ -1471,12 +1480,18 @@ if(ARROW_WITH_PROTOBUF)
+
+ # Log protobuf paths as we often see issues with mixed sources for
+ # the libraries and protoc.
++ if (NOT TARGET protobuf::protoc)
+ get_target_property(PROTOBUF_PROTOC_EXECUTABLE ${ARROW_PROTOBUF_PROTOC}
+ IMPORTED_LOCATION)
++ endif()
+ message(STATUS "Found protoc: ${PROTOBUF_PROTOC_EXECUTABLE}")
+ # Protobuf_PROTOC_LIBRARY is set by all versions of FindProtobuf.cmake
+ message(STATUS "Found libprotoc: ${Protobuf_PROTOC_LIBRARY}")
++ if (NOT TARGET protobuf::libprotobuf)
+ get_target_property(PROTOBUF_LIBRARY ${ARROW_PROTOBUF_LIBPROTOBUF} IMPORTED_LOCATION)
++ else()
++ set(PROTOBUF_LIBRARY protobuf::libprotobuf)
++ endif()
+ message(STATUS "Found libprotobuf: ${PROTOBUF_LIBRARY}")
+ message(STATUS "Found protobuf headers: ${PROTOBUF_INCLUDE_DIR}")
+ endif()
+@@ -1904,7 +1919,7 @@ endmacro()
+ if(ARROW_WITH_RAPIDJSON)
+ set(ARROW_RAPIDJSON_REQUIRED_VERSION "1.1.0")
+ resolve_dependency(RapidJSON
+- HAVE_ALT
++ USE_CONFIG
+ TRUE
+ REQUIRED_VERSION
+ ${ARROW_RAPIDJSON_REQUIRED_VERSION}
+@@ -2047,10 +2062,11 @@ macro(build_lz4)
+ endmacro()
+
+ if(ARROW_WITH_LZ4)
+- resolve_dependency(Lz4)
++ set(lz4_SOURCE "SYSTEM")
++ resolve_dependency(lz4 USE_CONFIG TRUE)
+
+ # TODO: Don't use global includes but rather target_include_directories
+- get_target_property(LZ4_INCLUDE_DIR LZ4::lz4 INTERFACE_INCLUDE_DIRECTORIES)
++ get_target_property(LZ4_INCLUDE_DIR lz4::lz4 INTERFACE_INCLUDE_DIRECTORIES)
+ include_directories(SYSTEM ${LZ4_INCLUDE_DIR})
+ endif()
+
+@@ -2111,7 +2127,7 @@ macro(build_zstd)
+ endmacro()
+
+ if(ARROW_WITH_ZSTD)
+- resolve_dependency(zstd)
++ resolve_dependency(zstd USE_CONFIG TRUE)
+
+ if(TARGET zstd::libzstd)
+ set(ARROW_ZSTD_LIBZSTD zstd::libzstd)
+@@ -2273,13 +2289,13 @@ macro(build_utf8proc)
+ endmacro()
+
+ if(ARROW_WITH_UTF8PROC)
+- resolve_dependency(utf8proc)
++ resolve_dependency(unofficial-utf8proc USE_CONFIG TRUE)
+
+ add_definitions(-DARROW_WITH_UTF8PROC)
+
+ # TODO: Don't use global definitions but rather
+ # target_compile_definitions or target_link_libraries
+- get_target_property(UTF8PROC_COMPILER_DEFINITIONS utf8proc::utf8proc
++ get_target_property(UTF8PROC_COMPILER_DEFINITIONS utf8proc
+ INTERFACE_COMPILER_DEFINITIONS)
+ if(UTF8PROC_COMPILER_DEFINITIONS)
+ add_definitions(-D${UTF8PROC_COMPILER_DEFINITIONS})
+@@ -2287,7 +2303,7 @@ if(ARROW_WITH_UTF8PROC)
+
+ # TODO: Don't use global includes but rather
+ # target_include_directories or target_link_libraries
+- get_target_property(UTF8PROC_INCLUDE_DIR utf8proc::utf8proc
++ get_target_property(UTF8PROC_INCLUDE_DIR utf8proc
+ INTERFACE_INCLUDE_DIRECTORIES)
+ include_directories(SYSTEM ${UTF8PROC_INCLUDE_DIR})
+ endif()
+@@ -2342,7 +2358,7 @@ endmacro()
+ # Dependencies for Arrow Flight RPC
+
+ macro(build_grpc)
+- resolve_dependency(c-ares HAVE_ALT TRUE)
++ resolve_dependency(c-ares HAVE_ALT TRUE USE_CONFIG TRUE)
+ # TODO: Don't use global includes but rather target_include_directories
+ get_target_property(c-ares_INCLUDE_DIR c-ares::cares INTERFACE_INCLUDE_DIRECTORIES)
+ include_directories(SYSTEM ${c-ares_INCLUDE_DIR})
+@@ -2614,7 +2630,7 @@ endmacro()
+ if(ARROW_WITH_GRPC)
+ set(ARROW_GRPC_REQUIRED_VERSION "1.17.0")
+ resolve_dependency(gRPC
+- HAVE_ALT
++ USE_CONFIG
+ TRUE
+ REQUIRED_VERSION
+ ${ARROW_GRPC_REQUIRED_VERSION})
+@@ -2622,6 +2638,10 @@ if(ARROW_WITH_GRPC)
+ # TODO: Don't use global includes but rather target_include_directories
+ get_target_property(GRPC_INCLUDE_DIR gRPC::grpc++ INTERFACE_INCLUDE_DIRECTORIES)
+ include_directories(SYSTEM ${GRPC_INCLUDE_DIR})
++ if (ABSL_USE_CXX17)
++ message(STATUS "Found absl uses CXX17, enable CXX17 feature.")
++ set(CMAKE_CXX_STANDARD 17)
++ endif()
+
+ if(GRPC_VENDORED)
+ set(GRPCPP_PP_INCLUDE TRUE)
+diff --git a/cpp/src/arrow/adapters/orc/CMakeLists.txt b/cpp/src/arrow/adapters/orc/CMakeLists.txt
+index 516196c..ebc4881 100644
+--- a/cpp/src/arrow/adapters/orc/CMakeLists.txt
++++ b/cpp/src/arrow/adapters/orc/CMakeLists.txt
+@@ -29,7 +29,7 @@ set(ORC_MIN_TEST_LIBS
+ GTest::gtest_main
+ GTest::gtest
+ Snappy::snappy
+- LZ4::lz4
++ lz4::lz4
+ ZLIB::ZLIB)
+
+ if(ARROW_BUILD_STATIC)
diff --git a/ports/arrow/portfile.cmake b/ports/arrow/portfile.cmake
index fb9e05bc6..bb7d857fb 100644
--- a/ports/arrow/portfile.cmake
+++ b/ports/arrow/portfile.cmake
@@ -8,6 +8,20 @@ vcpkg_from_github(
HEAD_REF master
PATCHES
all.patch
+ fix-dependencies.patch
+)
+
+file(REMOVE ${SOURCE_PATH}/cpp/cmake_modules/Findzstd.cmake
+ ${SOURCE_PATH}/cpp/cmake_modules/FindBrotli.cmake
+ ${SOURCE_PATH}/cpp/cmake_modules/Find-c-aresAlt.cmake
+ ${SOURCE_PATH}/cpp/cmake_modules/FindLz4.cmake
+ ${SOURCE_PATH}/cpp/cmake_modules/FindSnappy.cmake
+ ${SOURCE_PATH}/cpp/cmake_modules/FindThrift.cmake
+ ${SOURCE_PATH}/cpp/cmake_modules/FindGLOG.cmake
+ ${SOURCE_PATH}/cpp/cmake_modules/Findutf8proc.cmake
+ ${SOURCE_PATH}/cpp/cmake_modules/FindRapidJSONAlt.cmake
+ ${SOURCE_PATH}/cpp/cmake_modules/FindgRPCAlt.cmake
+ ${SOURCE_PATH}/cpp/cmake_modules/FindgflagsAlt.cmake
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
diff --git a/ports/arrow/vcpkg.json b/ports/arrow/vcpkg.json
index 51755afd7..c15f01450 100644
--- a/ports/arrow/vcpkg.json
+++ b/ports/arrow/vcpkg.json
@@ -1,6 +1,7 @@
{
"name": "arrow",
"version": "4.0.0",
+ "port-version": 1,
"description": "Cross-language development platform for in-memory analytics",
"homepage": "https://arrow.apache.org",
"supports": "x64",
diff --git a/versions/a-/arrow.json b/versions/a-/arrow.json
index 503dbef98..d4ea77e4a 100644
--- a/versions/a-/arrow.json
+++ b/versions/a-/arrow.json
@@ -1,6 +1,11 @@
{
"versions": [
{
+ "git-tree": "09e65930903c5dad92250b8f3f351f06f77f8e30",
+ "version": "4.0.0",
+ "port-version": 1
+ },
+ {
"git-tree": "2066704ab2b0b5977bcd5677ea1378fac0b0555c",
"version": "4.0.0",
"port-version": 0
diff --git a/versions/baseline.json b/versions/baseline.json
index 43f4ad39b..951a3e7ea 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -158,7 +158,7 @@
},
"arrow": {
"baseline": "4.0.0",
- "port-version": 0
+ "port-version": 1
},
"ashes": {
"baseline": "2021-02-09",