Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
83b3c65
GH-43416: [CI] Upgrade vcpkg on our CI
raulcd Sep 23, 2025
7239175
Try using ALPINE_LINUX 3.22 instead of 3.21 to see if that fixes orc …
raulcd Sep 23, 2025
92aa1e0
Try getting more logs from builds on Windows
raulcd Sep 25, 2025
27e4534
Temporarily use Ninja on Windows to see whether I can get more logs
raulcd Sep 25, 2025
3c2a846
Disable unity build temporarily to see whether we can see more info
raulcd Sep 25, 2025
6c1a684
Also add /showIncludes to see whether we can find what includes might…
raulcd Sep 25, 2025
28bc278
Go back to unity builds to test something
raulcd Sep 26, 2025
7e7a611
Update minio version on Windows wheels to avoid MD5Content errors and…
raulcd Sep 26, 2025
6520857
Patch vcpkg orc to raise exception removing std::call_once and using …
raulcd Sep 26, 2025
9856142
Try to re-enable unity builds with a bunch of CXXFLAGS that probably …
raulcd Sep 26, 2025
92ec22b
Try more flags for the windows unity build
raulcd Sep 26, 2025
eb2256f
Some Windows clean up and go back to Visual Studio 17 generator
raulcd Sep 27, 2025
b0cbed0
What if I only add the force include flags?
raulcd Sep 27, 2025
3d950e8
NOMINMAX seems necessary after force including winsock2.h and ws2tcpip.h
raulcd Sep 27, 2025
6a9f387
Fix ORC patch as discussed on review
raulcd Sep 27, 2025
a7af472
Instead of using global flags, try to handle header conflict on fligh…
raulcd Sep 29, 2025
cc4b344
Try to fix min/max macro redefinition too
raulcd Sep 29, 2025
41ba405
Try setting SKIP_UNITY_BUILD_INCLUSION on all ARROW_FLIGHT_SRCS to va…
raulcd Oct 1, 2025
b02bc4f
Do not install requirements-wheel-test.txt as this is already done on…
raulcd Oct 1, 2025
09c6acd
Add invividual files that include platform.h and some indirect includ…
raulcd Oct 1, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .env
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ TZ=UTC
# Used through docker-compose.yml and serves as the default version for the
# ci/scripts/install_vcpkg.sh script. Prefer to use short SHAs to keep the
# docker tags more readable.
VCPKG="f7423ee180c4b7f40d43402c2feb3859161ef625" # 2024.06.15 Release
VCPKG="4334d8b4c8916018600212ab4dd4bbdc343065d1" # 2025.09.17 Release

# This must be updated when we update
# ci/docker/python-*-windows-*.dockerfile or the vcpkg config.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ SHELL ["cmd", "/S", "/C"]

# Install git, wget, minio
RUN choco install --no-progress -r -y git wget
RUN curl https://dl.min.io/server/minio/release/windows-amd64/archive/minio.RELEASE.2024-09-13T20-26-02Z `
RUN curl https://dl.min.io/server/minio/release/windows-amd64/archive/minio.RELEASE.2025-01-20T14-49-07Z `
--output "C:\Windows\Minio.exe"

# Install the GCS testbench using a well-known Python version.
Expand Down
4 changes: 2 additions & 2 deletions ci/scripts/python_wheel_windows_build.bat
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ set CMAKE_GENERATOR=Visual Studio 17 2022
set CMAKE_PLATFORM=x64
set VCPKG_ROOT=C:\vcpkg
set VCPKG_FEATURE_FLAGS=-manifests
set VCGPK_TARGET_TRIPLET=amd64-windows-static-md-%CMAKE_BUILD_TYPE%
set VCPKG_TARGET_TRIPLET=amd64-windows-static-md-%CMAKE_BUILD_TYPE%
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GPK!!!


mkdir C:\arrow-build
pushd C:\arrow-build
Expand Down Expand Up @@ -100,7 +100,7 @@ cmake ^
-DMSVC_LINK_VERBOSE=ON ^
-DPARQUET_REQUIRE_ENCRYPTION=%PARQUET_REQUIRE_ENCRYPTION% ^
-DVCPKG_MANIFEST_MODE=OFF ^
-DVCPKG_TARGET_TRIPLET=%VCGPK_TARGET_TRIPLET% ^
-DVCPKG_TARGET_TRIPLET=%VCPKG_TARGET_TRIPLET% ^
-Dxsimd_SOURCE=BUNDLED ^
-G "%CMAKE_GENERATOR%" ^
-A "%CMAKE_PLATFORM%" ^
Expand Down
149 changes: 55 additions & 94 deletions ci/vcpkg/ports.patch
Original file line number Diff line number Diff line change
@@ -1,25 +1,26 @@
diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake
index 7cab6f726..697ab1bb4 100644
index 6788bc7b7f..6b689dedf0 100644
--- a/ports/curl/portfile.cmake
+++ b/ports/curl/portfile.cmake
@@ -84,9 +84,12 @@ vcpkg_cmake_configure(
-DBUILD_TESTING=OFF
@@ -83,10 +83,13 @@ vcpkg_cmake_configure(
-DENABLE_CURL_MANUAL=OFF
-DCURL_CA_FALLBACK=ON
-DIMPORT_LIB_SUFFIX= # empty
-DSHARE_LIB_OBJECT=OFF
+ -DCURL_CA_PATH=none
+ -DCURL_CA_BUNDLE=none
-DCURL_USE_PKGCONFIG=ON
-DCMAKE_DISABLE_FIND_PACKAGE_Perl=ON
OPTIONS_DEBUG
-DENABLE_DEBUG=ON
MAYBE_UNUSED_VARIABLES
PKG_CONFIG_EXECUTABLE
+ ${EXTRA_ARGS_DEBUG}
)
vcpkg_cmake_install()
vcpkg_copy_pdbs()
diff --git a/ports/llvm/portfile.cmake b/ports/llvm/portfile.cmake
index a79c72a59..6b7fa6a66 100644
index 7764357a6d..da7374ecec 100644
--- a/ports/llvm/portfile.cmake
+++ b/ports/llvm/portfile.cmake
@@ -292,6 +292,8 @@ vcpkg_cmake_configure(
@@ -302,6 +302,8 @@ vcpkg_cmake_configure(
${FEATURE_OPTIONS}
MAYBE_UNUSED_VARIABLES
COMPILER_RT_ENABLE_IOS
Expand All @@ -28,92 +29,52 @@ index a79c72a59..6b7fa6a66 100644
)

vcpkg_cmake_install(ADD_BIN_TO_PATH)
diff --git a/ports/snappy/portfile.cmake b/ports/snappy/portfile.cmake
index 0312b2ae1..fdb576b5f 100644
--- a/ports/snappy/portfile.cmake
+++ b/ports/snappy/portfile.cmake
@@ -8,5 +8,6 @@ vcpkg_from_github(
fix_clang-cl_build.patch
no-werror.patch
pkgconfig.diff
+ "snappy-disable-bmi.patch"
)
file(COPY "${CURRENT_PORT_DIR}/snappy.pc.in" DESTINATION "${SOURCE_PATH}")
diff --git a/ports/snappy/snappy-disable-bmi.patch b/ports/snappy/snappy-disable-bmi.patch
diff --git a/ports/orc/orc-fix-exception-propagation.diff b/ports/orc/orc-fix-exception-propagation.diff
new file mode 100644
index 000000000..e839c93a4
index 0000000000..25568e70cd
--- /dev/null
+++ b/ports/snappy/snappy-disable-bmi.patch
@@ -0,0 +1,19 @@
+diff --git a/snappy.cc b/snappy.cc
+index d414718..7b49d2a 100644
+--- a/snappy.cc
++++ b/snappy.cc
+@@ -1014,14 +1014,10 @@ static inline void Report(const char *algorithm, size_t compressed_size,
+ static inline uint32_t ExtractLowBytes(const uint32_t& v, int n) {
+ assert(n >= 0);
+ assert(n <= 4);
+-#if SNAPPY_HAVE_BMI2
+- return _bzhi_u32(v, 8 * n);
+-#else
+ // This needs to be wider than uint32_t otherwise `mask << 32` will be
+ // undefined.
+ uint64_t mask = 0xffffffff;
+ return v & ~(mask << (8 * n));
+-#endif
+ }
+++ b/ports/orc/orc-fix-exception-propagation.diff
@@ -0,0 +1,30 @@
+diff --git a/c++/src/Timezone.cc b/c++/src/Timezone.cc
+index 384f8ea99..07c75e0a7 100644
+--- a/c++/src/Timezone.cc
++++ b/c++/src/Timezone.cc
+@@ -696,12 +696,21 @@ namespace orc {
+ std::string filename_;
+ mutable std::unique_ptr<TimezoneImpl> impl_;
+ mutable std::once_flag initialized_;
++ mutable std::exception_ptr init_exception_;
+
+ TimezoneImpl* getImpl() const {
+- std::call_once(initialized_, [&]() {
+- auto buffer = loadTZDB(filename_);
+- impl_ = std::make_unique<TimezoneImpl>(filename_, std::move(buffer));
+- });
++ std::call_once(initialized_, [&]() {
++ try {
++ auto buffer = loadTZDB(filename_);
++ impl_ = std::make_unique<TimezoneImpl>(filename_, std::move(buffer));
++ } catch (...) {
++ // If initialization failed, re-throw the exception
++ init_exception_ = std::current_exception();
++ }
++ });
++ if (init_exception_) {
++ std::rethrow_exception(init_exception_);
++ }
+ return impl_.get();
+ }
+
+ static inline bool LeftShiftOverflows(uint8_t value, uint32_t shift) {
diff --git a/ports/thrift/portfile.cmake b/ports/thrift/portfile.cmake
index 1501782..71d2147 100644
--- a/ports/thrift/portfile.cmake
+++ b/ports/thrift/portfile.cmake
@@ -12,7 +12,7 @@ vcpkg_find_acquire_program(BISON)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO apache/thrift
- REF "${VERSION}"
+ REF "v${VERSION}"
SHA512 5e4ee9870b30fe5ba484d39781c435716f7f3903793dc8aae96594ca813b1a5a73363b84719038ca8fa3ab8ef0a419a28410d936ff7b3bbadf36fc085a6883ae
HEAD_REF master
PATCHES
diff --git a/ports/thrift/vcpkg.json b/ports/thrift/vcpkg.json
index 2d5a854..9ff49ec 100644
--- a/ports/thrift/vcpkg.json
+++ b/ports/thrift/vcpkg.json
@@ -1,6 +1,7 @@
{
"name": "thrift",
"version": "0.20.0",
+ "port-version": 1,
"description": "Apache Thrift is a software project spanning a variety of programming languages and use cases. Our goal is to make reliable, performant communication and data serialization across languages as efficient and seamless as possible.",
"homepage": "https://github.com/apache/thrift",
"license": "Apache-2.0",
diff --git a/versions/baseline.json b/versions/baseline.json
index c6ce736..9ad1d63 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -8622,7 +8622,7 @@
},
"thrift": {
"baseline": "0.20.0",
- "port-version": 0
+ "port-version": 1
},
"tidy-html5": {
"baseline": "5.8.0",
diff --git a/versions/t-/thrift.json b/versions/t-/thrift.json
index 3db38c5..7464bde 100644
--- a/versions/t-/thrift.json
+++ b/versions/t-/thrift.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "13757a6b05741cf3c9c39e3a1dcc5e5cd685e025",
+ "version": "0.20.0",
+ "port-version": 1
+ },
{
"git-tree": "6855be1ce96497811d4eb0a9879baf6cf1b3610c",
"version": "0.20.0",
diff --git a/ports/orc/portfile.cmake b/ports/orc/portfile.cmake
index 77ebf41ec3..4d065594a7 100644
--- a/ports/orc/portfile.cmake
+++ b/ports/orc/portfile.cmake
@@ -6,6 +6,8 @@ vcpkg_from_github(
REF "v${VERSION}"
SHA512 eabee16a6e984452a8cb715d0524041b20dd1bd88d78bb32534db93e5dbdd786aa4df8c05975406cb0728241eb3025a506c4fefb8c334ef0d8a27e6cb920d44c
HEAD_REF master
+ PATCHES
+ orc-fix-exception-propagation.diff
)

file(REMOVE "${SOURCE_PATH}/cmake_modules/FindGTest.cmake")
13 changes: 13 additions & 0 deletions cpp/src/arrow/flight/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,19 @@ set(ARROW_FLIGHT_SRCS
transport/grpc/util_internal.cc
types.cc)

# Handle Unity build header conflicts on Windows.
if(CMAKE_UNITY_BUILD AND WIN32)
set_source_files_properties(client.cc
cookie_internal.cc
serialization_internal.cc
server.cc
transport/grpc/serialization_internal.cc
transport/grpc/protocol_grpc_internal.cc
transport/grpc/util_internal.cc
types.cc
PROPERTIES SKIP_UNITY_BUILD_INCLUSION TRUE)
endif()

if(ARROW_WITH_OPENTELEMETRY)
list(APPEND ARROW_FLIGHT_SRCS otel_logging.cc)
endif()
Expand Down
2 changes: 1 addition & 1 deletion dev/tasks/python-wheels/github.linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
{% endif %}
env:
{% if linux_wheel_kind == "musllinux" and linux_wheel_version == "1-2" %}
ALPINE_LINUX: "3.21"
ALPINE_LINUX: "3.22"
{% endif %}
# archery uses these environment variables
{% if arch == "amd64" %}
Expand Down
1 change: 0 additions & 1 deletion dev/tasks/python-wheels/github.osx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,6 @@ jobs:
$PYTHON -m venv test-env
source test-env/bin/activate
pip install --upgrade pip wheel
arch -{{ arch }} pip install -r arrow/python/requirements-wheel-test.txt
arch -{{ arch }} arrow/ci/scripts/python_wheel_unix_test.sh $(pwd)/arrow

{{ macros.github_upload_releases("arrow/python/repaired_wheels/*.whl")|indent }}
Expand Down
Loading