Skip to content

Commit 59b58fc

Browse files
authored
[arrow] Update to 10.0.0 (#27687)
* [arrow] Update Apache Arrow to 10.0.0 * Update versions * Simplify and make more robust * Use vcpkg_check_features() * Use lower case for CMake package name * Update version
1 parent 299b1e1 commit 59b58fc

14 files changed

+167
-377
lines changed

ports/arrow/brotli.patch

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
diff --git a/cpp/cmake_modules/FindBrotli.cmake b/cpp/cmake_modules/FindBrotli.cmake
2+
index 4053b79ca7..bdca85fab4 100644
3+
--- a/cpp/cmake_modules/FindBrotli.cmake
4+
+++ b/cpp/cmake_modules/FindBrotli.cmake
5+
@@ -21,6 +21,23 @@ if(Brotli_FOUND)
6+
return()
7+
endif()
8+
9+
+if(ARROW_PACAKGE_KIND STREQUAL "vcpkg")
10+
+ set(find_package_args "")
11+
+ if(Brotli_FIND_VERSION)
12+
+ list(APPEND find_package_args ${Brotli_FIND_VERSION})
13+
+ endif()
14+
+ if(Brotli_FIND_QUIETLY)
15+
+ list(APPEND find_package_args QUIET)
16+
+ endif()
17+
+ find_package(Brotli NAMES unofficial-brotli ${find_package_args})
18+
+ if(Brotli_FOUND)
19+
+ add_library(Brotli::brotlicommon ALIAS unofficial::brotli::brotlicommon)
20+
+ add_library(Brotli::brotlienc ALIAS unofficial::brotli::brotlienc)
21+
+ add_library(Brotli::brotlidec ALIAS unofficial::brotli::brotlidec)
22+
+ return()
23+
+ endif()
24+
+endif()
25+
+
26+
if(ARROW_BROTLI_USE_SHARED)
27+
set(BROTLI_COMMON_LIB_NAMES
28+
brotlicommon

ports/arrow/cuda-ptr.patch

Lines changed: 0 additions & 61 deletions
This file was deleted.

ports/arrow/fix-ThirdPartyToolchain.patch

Lines changed: 0 additions & 121 deletions
This file was deleted.

ports/arrow/portfile.cmake

Lines changed: 29 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,89 +1,63 @@
1-
vcpkg_from_github(
2-
OUT_SOURCE_PATH SOURCE_PATH
3-
REPO apache/arrow
4-
REF apache-arrow-9.0.0
5-
SHA512 1191793dd56471fb2b402afbe9b31cde4c5126785243e538e42ba95ccd31d523121f07b144461c99a4b7449e611aa5998bd0de95e8e4b0e3c80397499fe746f0
6-
HEAD_REF master
1+
vcpkg_download_distfile(
2+
ARCHIVE_PATH
3+
URLS "https://www.apache.org/dyn/closer.lua?action=download&filename=arrow/arrow-${VERSION}/apache-arrow-${VERSION}.tar.gz"
4+
FILENAME apache-arrow-${VERSION}.tar.gz
5+
SHA512 0856cfda98af8ae75d7011b4b2cb7305592dc16edeb27be8a845ee762cd1c4484997634e9bfe3fdc2a359fcfe0cbe036e0747ee0ea49677979920b95d1b4ced3
6+
)
7+
vcpkg_extract_source_archive(
8+
SOURCE_PATH
9+
ARCHIVE ${ARCHIVE_PATH}
710
PATCHES
8-
cuda-ptr.patch
11+
brotli.patch
912
msvc-static-name.patch
10-
fix-ThirdPartyToolchain.patch
11-
static-link-libs.patch # https://github.com/apache/arrow/pull/13707 & pull/13863
12-
)
13-
file(REMOVE "${SOURCE_PATH}/cpp/cmake_modules/Findzstd.cmake"
14-
"${SOURCE_PATH}/cpp/cmake_modules/FindBrotli.cmake"
15-
"${SOURCE_PATH}/cpp/cmake_modules/Find-c-aresAlt.cmake"
16-
"${SOURCE_PATH}/cpp/cmake_modules/FindLz4.cmake"
17-
"${SOURCE_PATH}/cpp/cmake_modules/FindSnappy.cmake"
18-
"${SOURCE_PATH}/cpp/cmake_modules/FindThrift.cmake"
19-
"${SOURCE_PATH}/cpp/cmake_modules/FindGLOG.cmake"
20-
"${SOURCE_PATH}/cpp/cmake_modules/Findutf8proc.cmake"
21-
"${SOURCE_PATH}/cpp/cmake_modules/FindRapidJSONAlt.cmake"
22-
"${SOURCE_PATH}/cpp/cmake_modules/FindgRPCAlt.cmake"
23-
"${SOURCE_PATH}/cpp/cmake_modules/FindgflagsAlt.cmake"
13+
processor-type.patch
14+
thrift.patch
15+
utf8proc.patch
2416
)
2517

2618
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
2719
FEATURES
2820
csv ARROW_CSV
21+
cuda ARROW_CUDA
2922
dataset ARROW_DATASET
3023
filesystem ARROW_FILESYSTEM
3124
flight ARROW_FLIGHT
25+
jemalloc ARROW_JEMALLOC
3226
json ARROW_JSON
27+
mimalloc ARROW_MIMALLOC
3328
orc ARROW_ORC
3429
parquet ARROW_PARQUET
3530
parquet PARQUET_REQUIRE_ENCRYPTION
3631
plasma ARROW_PLASMA
3732
s3 ARROW_S3
38-
cuda ARROW_CUDA
3933
)
4034

4135
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
4236
list(APPEND FEATURE_OPTIONS "-DARROW_USE_NATIVE_INT128=OFF")
4337
endif()
4438

45-
if("jemalloc" IN_LIST FEATURES)
46-
set(MALLOC_OPTIONS -DARROW_JEMALLOC=ON)
47-
else()
48-
set(MALLOC_OPTIONS -DARROW_JEMALLOC=OFF)
49-
endif()
50-
51-
if("mimalloc" IN_LIST FEATURES)
52-
set(MALLOC_OPTIONS ${MALLOC_OPTIONS} -DARROW_MIMALLOC=ON)
53-
else()
54-
set(MALLOC_OPTIONS ${MALLOC_OPTIONS} -DARROW_MIMALLOC=OFF)
55-
endif()
56-
5739
string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" ARROW_BUILD_SHARED)
5840
string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "static" ARROW_BUILD_STATIC)
5941
string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" ARROW_DEPENDENCY_USE_SHARED)
6042

61-
if(VCPKG_TARGET_IS_WINDOWS)
62-
set(THRIFT_USE_SHARED OFF)
63-
else()
64-
set(THRIFT_USE_SHARED ${ARROW_DEPENDENCY_USE_SHARED})
65-
endif()
66-
6743
vcpkg_cmake_configure(
6844
SOURCE_PATH "${SOURCE_PATH}/cpp"
6945
OPTIONS
7046
${FEATURE_OPTIONS}
71-
${MALLOC_OPTIONS}
72-
${S3_OPTIONS}
73-
-DCMAKE_SYSTEM_PROCESSOR=${VCPKG_TARGET_ARCHITECTURE}
7447
-DARROW_BUILD_SHARED=${ARROW_BUILD_SHARED}
7548
-DARROW_BUILD_STATIC=${ARROW_BUILD_STATIC}
7649
-DARROW_BUILD_TESTS=OFF
7750
-DARROW_DEPENDENCY_SOURCE=SYSTEM
7851
-DARROW_DEPENDENCY_USE_SHARED=${ARROW_DEPENDENCY_USE_SHARED}
79-
-DARROW_THRIFT_USE_SHARED=${THRIFT_USE_SHARED}
80-
-DBUILD_WARNING_LEVEL=PRODUCTION
52+
-DARROW_PACKAGE_KIND=vcpkg
8153
-DARROW_WITH_BROTLI=ON
8254
-DARROW_WITH_BZ2=ON
8355
-DARROW_WITH_LZ4=ON
8456
-DARROW_WITH_SNAPPY=ON
8557
-DARROW_WITH_ZLIB=ON
8658
-DARROW_WITH_ZSTD=ON
59+
-DBUILD_WARNING_LEVEL=PRODUCTION
60+
-DCMAKE_SYSTEM_PROCESSOR=${VCPKG_TARGET_ARCHITECTURE}
8761
-DZSTD_MSVC_LIB_PREFIX=
8862
MAYBE_UNUSED_VARIABLES
8963
ZSTD_MSVC_LIB_PREFIX
@@ -98,31 +72,31 @@ if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/arrow_static.lib")
9872
message(FATAL_ERROR "Installed lib file should be named 'arrow.lib' via patching the upstream build.")
9973
endif()
10074

101-
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/arrow)
75+
if("parquet" IN_LIST FEATURES)
76+
vcpkg_cmake_config_fixup(
77+
PACKAGE_NAME parquet
78+
CONFIG_PATH lib/cmake/Parquet
79+
DO_NOT_DELETE_PARENT_CONFIG_PATH
80+
)
81+
endif()
82+
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Arrow)
10283

10384
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
10485
if("parquet" IN_LIST FEATURES)
105-
file(GLOB PARQUET_FILES "${CURRENT_PACKAGES_DIR}/share/${PORT}/Parquet*")
106-
file(COPY ${PARQUET_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/share/parquet")
107-
file(REMOVE_RECURSE ${PARQUET_FILES})
108-
file(RENAME "${CURRENT_PACKAGES_DIR}/share/${PORT}/FindParquet.cmake" "${CURRENT_PACKAGES_DIR}/share/parquet/FindParquet.cmake")
10986
file(READ "${CMAKE_CURRENT_LIST_DIR}/usage-parquet" usage-parquet)
11087
file(APPEND "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" "${usage-parquet}")
111-
else()
112-
file(REMOVE "${CURRENT_PACKAGES_DIR}/share/${PORT}/FindParquet.cmake")
11388
endif()
11489

11590
if("example" IN_LIST FEATURES)
11691
file(INSTALL "${SOURCE_PATH}/cpp/examples/minimal_build/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/example")
11792
endif()
11893

119-
if ("plasma" IN_LIST FEATURES)
94+
if("plasma" IN_LIST FEATURES)
12095
vcpkg_copy_tools(TOOL_NAMES plasma-store-server AUTO_CLEAN)
121-
endif ()
96+
endif()
12297

12398
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
12499
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
125100
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc")
126101

127-
configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}" @ONLY)
128102
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt" "${SOURCE_PATH}/NOTICE.txt")

ports/arrow/processor-type.patch

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
diff --git a/cpp/cmake_modules/SetupCxxFlags.cmake b/cpp/cmake_modules/SetupCxxFlags.cmake
2+
index cef4eb0b16..51ef979a02 100644
3+
--- a/cpp/cmake_modules/SetupCxxFlags.cmake
4+
+++ b/cpp/cmake_modules/SetupCxxFlags.cmake
5+
@@ -24,7 +24,7 @@ include(CheckCXXSourceCompiles)
6+
message(STATUS "System processor: ${CMAKE_SYSTEM_PROCESSOR}")
7+
8+
if(NOT DEFINED ARROW_CPU_FLAG)
9+
- if(CMAKE_SYSTEM_PROCESSOR MATCHES "AMD64|X86|x86|i[3456]86")
10+
+ if(CMAKE_SYSTEM_PROCESSOR MATCHES "AMD64|X86|x86|i[3456]86|x64")
11+
set(ARROW_CPU_FLAG "x86")
12+
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|ARM64|arm64")
13+
set(ARROW_CPU_FLAG "armv8")

0 commit comments

Comments
 (0)