This is an automated email from the ASF dual-hosted git repository.

kou pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/main by this push:
     new 9e5c5b5274 GH-38653: [Packaging][Java][Python][Ruby] Raise the minimum 
macOS version to 10.15 catalina to allow using new APIs in C++17 (#38677)
9e5c5b5274 is described below

commit 9e5c5b5274928c92a642657e73e8cf84f17bd7b7
Author: Yue <[email protected]>
AuthorDate: Tue Nov 14 08:18:10 2023 +0800

    GH-38653: [Packaging][Java][Python][Ruby] Raise the minimum macOS version 
to 10.15 catalina to allow using new APIs in C++17 (#38677)
    
    ### Rationale for this change
    For macOS, some new APIs in C++17, e.g. `std::filesystem::path` is only 
visible when the compiling target is >= macOS 10.15 (Catalina). But currently 
the minimum macOS target is set to 10.14 (Mojave).
    
    * macOS 10.14 Mojave was released on 2018-09-24 [1]
    * macOS 10.15 Catalina was released on 2019-10-07 [2]
    * Both macOS 10.14 and 10.15 are end of life [3]
    
    There is a [similar 
issue](https://github.com/ClickHouse/ClickHouse/issues/8541) [4] and [its 
fix](https://github.com/ClickHouse/ClickHouse/pull/8600) [5] for ClickHouse on 
year 2020, which raised minimum macOS version from 10.14 to 10.15.
    
    ### What changes are included in this PR?
    Raise the minimum macOS version from 10.14 to 10.15
    
    ### Are these changes tested?
    This should be tested and verified on CI.
    
    ### Are there any user-facing changes?
    * Users using macOS <= 10.14 may not able to run these CI jobs locally.
    * The new version of python wheels may not be able to be deployed to 
environments with macOS <= 10.14 (not completely sure how this affects the 
deployment)
    * Closes: #38653
    
    ### References
    * [1] https://en.wikipedia.org/wiki/MacOS_Mojave
    * [2] https://en.wikipedia.org/wiki/MacOS_Catalina
    * [3] https://endoflife.date/macos
    * [4] https://github.com/ClickHouse/ClickHouse/issues/8541
    * [5] https://github.com/ClickHouse/ClickHouse/pull/8600
    
    Authored-by: Yue Ni <[email protected]>
    Signed-off-by: Sutou Kouhei <[email protected]>
---
 ci/scripts/python_wheel_macos_build.sh       | 2 +-
 ci/vcpkg/universal2-osx-static-debug.cmake   | 2 +-
 ci/vcpkg/universal2-osx-static-release.cmake | 2 +-
 dev/tasks/java-jars/github.yml               | 2 +-
 dev/tasks/tasks.yml                          | 2 +-
 python/CMakeLists.txt                        | 2 +-
 ruby/red-arrow/ext/arrow/extconf.rb          | 2 +-
 7 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/ci/scripts/python_wheel_macos_build.sh 
b/ci/scripts/python_wheel_macos_build.sh
index 5a3c6fb6d1..fd845c512d 100755
--- a/ci/scripts/python_wheel_macos_build.sh
+++ b/ci/scripts/python_wheel_macos_build.sh
@@ -34,7 +34,7 @@ rm -rf ${source_dir}/python/pyarrow/*.so.*
 
 echo "=== (${PYTHON_VERSION}) Set SDK, C++ and Wheel flags ==="
 export _PYTHON_HOST_PLATFORM="macosx-${MACOSX_DEPLOYMENT_TARGET}-${arch}"
-export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET:-10.14}
+export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET:-10.15}
 export SDKROOT=${SDKROOT:-$(xcrun --sdk macosx --show-sdk-path)}
 
 if [ $arch = "arm64" ]; then
diff --git a/ci/vcpkg/universal2-osx-static-debug.cmake 
b/ci/vcpkg/universal2-osx-static-debug.cmake
index 580b4604d5..8abc1ebf83 100644
--- a/ci/vcpkg/universal2-osx-static-debug.cmake
+++ b/ci/vcpkg/universal2-osx-static-debug.cmake
@@ -21,6 +21,6 @@ set(VCPKG_LIBRARY_LINKAGE static)
 
 set(VCPKG_CMAKE_SYSTEM_NAME Darwin)
 set(VCPKG_OSX_ARCHITECTURES "x86_64;arm64")
-set(VCPKG_OSX_DEPLOYMENT_TARGET "10.14")
+set(VCPKG_OSX_DEPLOYMENT_TARGET "10.15")
 
 set(VCPKG_BUILD_TYPE debug)
diff --git a/ci/vcpkg/universal2-osx-static-release.cmake 
b/ci/vcpkg/universal2-osx-static-release.cmake
index 7247d0af35..2eb36c1517 100644
--- a/ci/vcpkg/universal2-osx-static-release.cmake
+++ b/ci/vcpkg/universal2-osx-static-release.cmake
@@ -21,6 +21,6 @@ set(VCPKG_LIBRARY_LINKAGE static)
 
 set(VCPKG_CMAKE_SYSTEM_NAME Darwin)
 set(VCPKG_OSX_ARCHITECTURES "x86_64;arm64")
-set(VCPKG_OSX_DEPLOYMENT_TARGET "10.14")
+set(VCPKG_OSX_DEPLOYMENT_TARGET "10.15")
 
 set(VCPKG_BUILD_TYPE release)
diff --git a/dev/tasks/java-jars/github.yml b/dev/tasks/java-jars/github.yml
index 7dc53a35ef..fbce12ee42 100644
--- a/dev/tasks/java-jars/github.yml
+++ b/dev/tasks/java-jars/github.yml
@@ -81,7 +81,7 @@ jobs:
           - { runs_on: ["macos-latest"], arch: "x86_64"}
           - { runs_on: ["self-hosted", "macOS", "arm64", "devops-managed"], 
arch: "aarch_64" }
     env:
-      MACOSX_DEPLOYMENT_TARGET: "10.13"
+      MACOSX_DEPLOYMENT_TARGET: "10.15"
     steps:
       {{ macros.github_checkout_arrow()|indent }}
       - name: Set up Python
diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml
index b8d2f6c0a0..15fac25d26 100644
--- a/dev/tasks/tasks.yml
+++ b/dev/tasks/tasks.yml
@@ -487,7 +487,7 @@ tasks:
 
 {############################## Wheel OSX ####################################}
 
-{% for macos_version, macos_codename in [("10.14", "mojave")] %}
+{% for macos_version, macos_codename in [("10.15", "catalina")] %}
   {% set platform_tag = "macosx_{}_x86_64".format(macos_version.replace('.', 
'_')) %}
 
   wheel-macos-{{ macos_codename }}-{{ python_tag }}-amd64:
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
index 86285c3dc3..529265235c 100644
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -84,7 +84,7 @@ set(CMAKE_MACOSX_RPATH 1)
 if(DEFINED ENV{MACOSX_DEPLOYMENT_TARGET})
   set(CMAKE_OSX_DEPLOYMENT_TARGET $ENV{MACOSX_DEPLOYMENT_TARGET})
 else()
-  set(CMAKE_OSX_DEPLOYMENT_TARGET 10.14)
+  set(CMAKE_OSX_DEPLOYMENT_TARGET 10.15)
 endif()
 
 # Generate a Clang compile_commands.json "compilation database" file for use
diff --git a/ruby/red-arrow/ext/arrow/extconf.rb 
b/ruby/red-arrow/ext/arrow/extconf.rb
index 8043bb689f..7ef3c6c834 100644
--- a/ruby/red-arrow/ext/arrow/extconf.rb
+++ b/ruby/red-arrow/ext/arrow/extconf.rb
@@ -84,7 +84,7 @@ when /darwin/
   symbols_in_external_bundles.each do |symbol|
     $DLDFLAGS << " -Wl,-U,#{symbol}"
   end
-  mmacosx_version_min = "-mmacosx-version-min=10.14"
+  mmacosx_version_min = "-mmacosx-version-min=10.15"
   $CFLAGS << " #{mmacosx_version_min}"
   $CXXFLAGS << " #{mmacosx_version_min}"
 end

Reply via email to