From 27e3c938e07b1a9ee860da2c59a3eecb7e993a76 Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Thu, 15 Oct 2026 10:59:30 +0000 Subject: [PATCH 1/2] pyarrow: add 16.1.0 for apache-beam's pyarrow<17.0.0 pin apache-beam 2.54.0-2.61.0 (the window apache-flink needs for its cimport'd Cython bindings) all pin pyarrow<17.0.0; our registry only carried 25.0.1/26.0.0. 16.1.0 shares the existing bundled-Arrow-C++ build (env-var driven, same as 25.0.1/26.0.0); the build matrix drops cp313/cp314/cp314t for this version since it predates cp313's release by ~5 months and upstream itself never shipped past cp312 for it. --- .github/workflows/build-pyarrow.yml | 9 +++++++++ docs/packages/pyarrow.yaml | 1 + 2 files changed, 10 insertions(+) diff --git a/.github/workflows/build-pyarrow.yml b/.github/workflows/build-pyarrow.yml index 43c0b6219050..e273c9aa20c0 100644 --- a/.github/workflows/build-pyarrow.yml +++ b/.github/workflows/build-pyarrow.yml @@ -77,6 +77,15 @@ jobs: - cp313-cp313 - cp314-cp314 - cp314-cp314t + exclude: + # 16.1.0 predates cp313 (released Oct 2024, ~5 months after this + # release) and never shipped a wheel past cp312 upstream either. + - version: "16.1.0" + python: cp313-cp313 + - version: "16.1.0" + python: cp314-cp314 + - version: "16.1.0" + python: cp314-cp314t env: PYARROW_VERSION: ${{ matrix.version }} diff --git a/docs/packages/pyarrow.yaml b/docs/packages/pyarrow.yaml index 95b97b7635b5..948bfb0b19eb 100644 --- a/docs/packages/pyarrow.yaml +++ b/docs/packages/pyarrow.yaml @@ -2,6 +2,7 @@ package-name: pyarrow source-code: https://github.com/apache/arrow license: Apache-2.0 versions: +- version: 16.1.0 - version: 25.0.1 tag: pyarrow-v25.0.1-20260902125649 files: From 333f257040e4803047c93dc2af37b23211f71d4a Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Sun, 25 Oct 2026 18:00:11 +0000 Subject: [PATCH 2/2] pyarrow: fix bundled gflags configure under CMake >= 4 ARROW_DEPENDENCY_SOURCE=BUNDLED builds gflags via ExternalProject_Add using its vendored cmake_minimum_required(VERSION 2.8.12), below CMake 4's removed-compatibility floor of 3.5. The riscv64 image's pipx-installed cmake is >= 4, so the gflags_ep configure step hard-errors before any other bundled dependency gets a chance to build. Export CMAKE_POLICY_VERSION_MINIMUM=3.5 for the whole build: CMake reads it from the environment with the same effect as the -D cache flag, so it reaches every nested cmake invocation ExternalProject_Add makes without needing to patch Arrow's own CMakeLists.txt. --- .github/workflows/build-pyarrow.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/build-pyarrow.yml b/.github/workflows/build-pyarrow.yml index e273c9aa20c0..fc39c607b23f 100644 --- a/.github/workflows/build-pyarrow.yml +++ b/.github/workflows/build-pyarrow.yml @@ -144,6 +144,14 @@ jobs: DIST=/tmp/arrow-dist BUILD=/tmp/arrow-build + # BUNDLED thirdparty deps are built via ExternalProject_Add with their own + # vendored cmake_minimum_required (e.g. gflags' is 2.8.12), below CMake 4's + # floor of 3.5. The image's cmake (pipx-installed, >= 4) hard-errors on that + # instead of warning. We don't control the ExternalProject configure line, but + # CMake also reads CMAKE_POLICY_VERSION_MINIMUM from the environment, which + # reaches every nested cmake invocation this build makes (gotcha 257). + export CMAKE_POLICY_VERSION_MINIMUM=3.5 + # ninja and OpenSSL headers aren't in the base image dnf install -y --setopt=install_weak_deps=False ninja-build openssl-devel