From 87595dedc5c1a048e7c3d049ac6f8893d0b3439a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Mon, 22 Sep 2025 11:06:02 +0200 Subject: [PATCH 1/6] GH-47614: [CI][Packaging][Python] Patch cmake_minimum_required version to 3.5 to avoid CMake failures --- ci/vcpkg/ports.patch | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ci/vcpkg/ports.patch b/ci/vcpkg/ports.patch index 39b51874b1c..0713b26e3cc 100644 --- a/ci/vcpkg/ports.patch +++ b/ci/vcpkg/ports.patch @@ -1,3 +1,13 @@ +diff --git a/ports/bzip2/CMakeLists.txt b/ports/bzip2/CMakeLists.txt +index d0f200a0a6..129b64db00 100644 +--- a/ports/bzip2/CMakeLists.txt ++++ b/ports/bzip2/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.0) ++cmake_minimum_required(VERSION 3.5) + project(bzip2 C) + + if(CMAKE_BUILD_TYPE STREQUAL Debug) diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake index 7cab6f726..697ab1bb4 100644 --- a/ports/curl/portfile.cmake From 41b6a2e5e0d91c9753df0fff568c045f5cef22ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Mon, 22 Sep 2025 11:18:34 +0200 Subject: [PATCH 2/6] Also fix gflags --- ci/vcpkg/ports.patch | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/ci/vcpkg/ports.patch b/ci/vcpkg/ports.patch index 0713b26e3cc..cc395877040 100644 --- a/ci/vcpkg/ports.patch +++ b/ci/vcpkg/ports.patch @@ -25,6 +25,30 @@ index 7cab6f726..697ab1bb4 100644 ) vcpkg_cmake_install() vcpkg_copy_pdbs() + diff --git a/ports/gflags/0001-patch-dir.patch b/ports/gflags/0001-patch-dir.patch +index d3aaa00fbe..2a460c64ac 100644 +--- a/ports/gflags/0001-patch-dir.patch ++++ b/ports/gflags/0001-patch-dir.patch +@@ -1,8 +1,17 @@ + diff --git a/CMakeLists.txt b/CMakeLists.txt +-index 3709073..8e919cb 100644 ++index 657a1f4..842abea 100644 + --- a/CMakeLists.txt + +++ b/CMakeLists.txt +-@@ -503,7 +503,7 @@ endif () ++@@ -70,7 +70,7 @@ ++ ## - GFLAGS_INSTALL_SHARED_LIBS ++ ## - GFLAGS_INSTALL_STATIC_LIBS ++ ++-cmake_minimum_required (VERSION 3.0.2 FATAL_ERROR) +++cmake_minimum_required (VERSION 3.5 FATAL_ERROR) ++ ++ if (POLICY CMP0042) ++ cmake_policy (SET CMP0042 NEW) ++@@ -515,7 +515,7 @@ endif () + # ---------------------------------------------------------------------------- + # installation rules + set (EXPORT_NAME ${PACKAGE_NAME}-targets) diff --git a/ports/llvm/portfile.cmake b/ports/llvm/portfile.cmake index a79c72a59..6b7fa6a66 100644 --- a/ports/llvm/portfile.cmake From e7f78b0148270359d61091f850552cd34a1dd0b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Mon, 22 Sep 2025 11:26:51 +0200 Subject: [PATCH 3/6] Add also lz4 minimum cmake --- ci/vcpkg/ports.patch | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ci/vcpkg/ports.patch b/ci/vcpkg/ports.patch index cc395877040..f9546afc6ae 100644 --- a/ci/vcpkg/ports.patch +++ b/ci/vcpkg/ports.patch @@ -62,6 +62,16 @@ index a79c72a59..6b7fa6a66 100644 ) vcpkg_cmake_install(ADD_BIN_TO_PATH) +diff --git a/ports/lz4/CMakeLists.txt b/ports/lz4/CMakeLists.txt +index a35c8b2d1a..450ac4d127 100644 +--- a/ports/lz4/CMakeLists.txt ++++ b/ports/lz4/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.0) ++cmake_minimum_required(VERSION 3.5) + project(lz4 C) + + if(MSVC AND BUILD_SHARED_LIBS) diff --git a/ports/snappy/portfile.cmake b/ports/snappy/portfile.cmake index 0312b2ae1..fdb576b5f 100644 --- a/ports/snappy/portfile.cmake From 379f4e7f1efe47ba709b50a445532c73649288b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Mon, 22 Sep 2025 11:52:06 +0200 Subject: [PATCH 4/6] Try populating MACOSX_SYSROOT and CMAKE_OSX_SYSROOT --- ci/vcpkg/amd64-osx-static-debug.cmake | 3 +++ ci/vcpkg/amd64-osx-static-release.cmake | 3 +++ ci/vcpkg/arm64-osx-static-debug.cmake | 3 +++ ci/vcpkg/arm64-osx-static-release.cmake | 3 +++ dev/tasks/python-wheels/github.osx.yml | 5 +++++ 5 files changed, 17 insertions(+) diff --git a/ci/vcpkg/amd64-osx-static-debug.cmake b/ci/vcpkg/amd64-osx-static-debug.cmake index e8a321ec71a..2e181d68f51 100644 --- a/ci/vcpkg/amd64-osx-static-debug.cmake +++ b/ci/vcpkg/amd64-osx-static-debug.cmake @@ -22,4 +22,7 @@ set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Darwin) set(VCPKG_OSX_ARCHITECTURES x86_64) +set(CMAKE_OSX_SYSROOT $ENV{MACOSX_SYSROOT}) +set(CMAKE_OSX_DEPLOYMENT_TARGET $ENV{MACOSX_DEPLOYMENT_TARGET}) + set(VCPKG_BUILD_TYPE debug) diff --git a/ci/vcpkg/amd64-osx-static-release.cmake b/ci/vcpkg/amd64-osx-static-release.cmake index 956d5b92e73..fd66d3a73ef 100644 --- a/ci/vcpkg/amd64-osx-static-release.cmake +++ b/ci/vcpkg/amd64-osx-static-release.cmake @@ -22,4 +22,7 @@ set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Darwin) set(VCPKG_OSX_ARCHITECTURES x86_64) +set(CMAKE_OSX_SYSROOT $ENV{MACOSX_SYSROOT}) +set(CMAKE_OSX_DEPLOYMENT_TARGET $ENV{MACOSX_DEPLOYMENT_TARGET}) + set(VCPKG_BUILD_TYPE release) diff --git a/ci/vcpkg/arm64-osx-static-debug.cmake b/ci/vcpkg/arm64-osx-static-debug.cmake index 32ae7bc4334..e8ab5c8fb4d 100644 --- a/ci/vcpkg/arm64-osx-static-debug.cmake +++ b/ci/vcpkg/arm64-osx-static-debug.cmake @@ -23,4 +23,7 @@ set(VCPKG_CMAKE_SYSTEM_NAME Darwin) set(VCPKG_OSX_ARCHITECTURES arm64) set(VCPKG_OSX_DEPLOYMENT_TARGET "12.0") +set(CMAKE_OSX_SYSROOT $ENV{MACOSX_SYSROOT}) +set(CMAKE_OSX_DEPLOYMENT_TARGET $ENV{MACOSX_DEPLOYMENT_TARGET}) + set(VCPKG_BUILD_TYPE debug) diff --git a/ci/vcpkg/arm64-osx-static-release.cmake b/ci/vcpkg/arm64-osx-static-release.cmake index dde46cd763a..5fdf86a2a91 100644 --- a/ci/vcpkg/arm64-osx-static-release.cmake +++ b/ci/vcpkg/arm64-osx-static-release.cmake @@ -23,4 +23,7 @@ set(VCPKG_CMAKE_SYSTEM_NAME Darwin) set(VCPKG_OSX_ARCHITECTURES arm64) set(VCPKG_OSX_DEPLOYMENT_TARGET "12.0") +set(CMAKE_OSX_SYSROOT $ENV{MACOSX_SYSROOT}) +set(CMAKE_OSX_DEPLOYMENT_TARGET $ENV{MACOSX_DEPLOYMENT_TARGET}) + set(VCPKG_BUILD_TYPE release) diff --git a/dev/tasks/python-wheels/github.osx.yml b/dev/tasks/python-wheels/github.osx.yml index f6f4cc2c96a..5e26bbc97cc 100644 --- a/dev/tasks/python-wheels/github.osx.yml +++ b/dev/tasks/python-wheels/github.osx.yml @@ -71,6 +71,11 @@ jobs: vcpkg_version=$(. "arrow/.env" && echo "${VCPKG}") echo "VCPKG_VERSION=$vcpkg_version" >> $GITHUB_ENV + - name: Set macOS SDK path + run: | + echo "MACOSX_SYSROOT=$(xcrun --show-sdk-path)" >> $GITHUB_ENV + echo "CMAKE_OSX_SYSROOT=$(xcrun --show-sdk-path)" >> $GITHUB_ENV + - name: Install Vcpkg env: GITHUB_TOKEN: {{ '${{ secrets.GITHUB_TOKEN }}' }} From a8b1f22b32a00e487dca913dc453c1eb4fba2f25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Mon, 22 Sep 2025 12:57:35 +0200 Subject: [PATCH 5/6] Add some debugging to understand what are the MACOSX_SYSROOT and CMAKE_OSX_SYSROOT used --- ci/vcpkg/amd64-osx-static-release.cmake | 2 ++ dev/tasks/python-wheels/github.osx.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/ci/vcpkg/amd64-osx-static-release.cmake b/ci/vcpkg/amd64-osx-static-release.cmake index fd66d3a73ef..c5b8d0a299e 100644 --- a/ci/vcpkg/amd64-osx-static-release.cmake +++ b/ci/vcpkg/amd64-osx-static-release.cmake @@ -22,6 +22,8 @@ set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Darwin) set(VCPKG_OSX_ARCHITECTURES x86_64) +message(STATUS "MACOSX_SYSROOT: $ENV{MACOSX_SYSROOT}") +message(STATUS "MACOSX_DEPLOYMENT_TARGET: $ENV{MACOSX_DEPLOYMENT_TARGET}") set(CMAKE_OSX_SYSROOT $ENV{MACOSX_SYSROOT}) set(CMAKE_OSX_DEPLOYMENT_TARGET $ENV{MACOSX_DEPLOYMENT_TARGET}) diff --git a/dev/tasks/python-wheels/github.osx.yml b/dev/tasks/python-wheels/github.osx.yml index 5e26bbc97cc..80197491edd 100644 --- a/dev/tasks/python-wheels/github.osx.yml +++ b/dev/tasks/python-wheels/github.osx.yml @@ -86,6 +86,8 @@ jobs: - name: Install Packages run: | + echo "${MACOSX_SYSROOT}" + echo "${CMAKE_OSX_SYSROOT}" vcpkg install \ --clean-after-build \ --x-install-root=${VCPKG_ROOT}/installed \ From aeaf8798b168bdfbfac1bcd4cb4f095a1f00d879 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Mon, 22 Sep 2025 16:24:57 +0200 Subject: [PATCH 6/6] Check what cmake version is used --- dev/tasks/python-wheels/github.osx.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dev/tasks/python-wheels/github.osx.yml b/dev/tasks/python-wheels/github.osx.yml index 80197491edd..3b951bf53a3 100644 --- a/dev/tasks/python-wheels/github.osx.yml +++ b/dev/tasks/python-wheels/github.osx.yml @@ -66,6 +66,12 @@ jobs: arrow/ci/scripts/install_cmake.sh 3.29.0 ${PWD}/local echo "${PWD}/local/bin" >> $GITHUB_PATH + - name: Check CMake version + shell: bash + run: | + echo $(cmake --version) + echo $(${PWD}/local/bin/cmake --version) + - name: Retrieve VCPKG version from arrow/.env run: | vcpkg_version=$(. "arrow/.env" && echo "${VCPKG}")