Skip to content

Commit 7c66628

Browse files
committed
Non-meson configuration cleanups
1 parent aa8c6ce commit 7c66628

File tree

11 files changed

+17
-36
lines changed

11 files changed

+17
-36
lines changed

.github/workflows/python.yml

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,8 @@ jobs:
174174
ARROW_WITH_BROTLI: ON
175175
ARROW_BUILD_TESTS: OFF
176176
PYARROW_TEST_LARGE_MEMORY: ON
177+
# Current oldest supported version according to https://endoflife.date/macos
178+
MACOSX_DEPLOYMENT_TARGET: "12.0"
177179
steps:
178180
- name: Checkout Arrow
179181
uses: actions/checkout@v5
@@ -290,12 +292,6 @@ jobs:
290292
shell: cmd
291293
run: |
292294
call "ci\scripts\python_build.bat" %cd% "${{ steps.path-info.outputs.usr-windows-dir }}"
293-
- name: Upload wheel
294-
if: always() # ensures this runs even on failure
295-
uses: actions/upload-artifact@v4
296-
with:
297-
name: built-wheel
298-
path: python/wheelhouse/*.whl
299295
- name: Test PyArrow
300296
shell: cmd
301297
run: |

ci/scripts/python_build.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,8 @@ pushd %SOURCE_DIR%\python
136136

137137
@REM by default, CMake installs .lib import libs to lib and .dll libs to bin
138138
@REM delvewheel requires these to be side-by-side to properly vendor
139+
@REM https://github.com/adang1345/delvewheel/issues/66
139140
copy %CMAKE_INSTALL_PREFIX%\lib\*.lib %CMAKE_INSTALL_PREFIX%\bin\
140-
dir %CMAKE_INSTALL_PREFIX%\bin\
141141

142142
@REM Build PyArrow
143143
%PYTHON_CMD% -m build --wheel . --no-isolation || exit /B 1

ci/scripts/python_build.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,8 @@ pushd "${python_build_dir}"
126126
# - Cannot use build isolation as we want to use specific dependency versions
127127
# (e.g. Numpy, Pandas) on some CI jobs.
128128

129-
# The conda compilers package may mess with C{XX}_FLAGS in a way that interferes
130-
# with the compiler
129+
# The conda compilers package adds flags for debugging and optimization
130+
# that are unnecessary in a CI context
131131
OLD_CFLAGS=$CFLAGS
132132
OLD_CPPFLAGS=$CPPFLAGS
133133
OLD_CXXFLAGS=$CXXFLAGS

ci/scripts/python_test.bat

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,5 @@ pushd %SOURCE_DIR%\python
3737
popd
3838

3939
@REM Run Python tests
40-
dir C:\hostedtoolcache\windows\Python\3.13.9\x64\Lib\site-packages\pyarrow
4140
%PYTHON_CMD% -c "import pyarrow" || exit /B 1
4241
%PYTHON_CMD% -m pytest -r s --pyargs pyarrow || exit /B 1

ci/scripts/python_wheel_macos_build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ rm -rf ${source_dir}/python/pyarrow/*.so.*
3434

3535
echo "=== (${PYTHON_VERSION}) Set SDK, C++ and Wheel flags ==="
3636
export _PYTHON_HOST_PLATFORM="macosx-${MACOSX_DEPLOYMENT_TARGET}-${arch}"
37-
export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET:-14.0}
37+
export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET:-12.0}
3838
export SDKROOT=${SDKROOT:-$(xcrun --sdk macosx --show-sdk-path)}
3939

4040
if [ $arch = "arm64" ]; then

cpp/cmake_modules/BuildUtils.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ function(ADD_ARROW_LIB LIB_NAME)
315315
if(ARG_INSTALL_RUNTIME_DIR)
316316
set(INSTALL_RUNTIME_DIR ${ARG_INSTALL_RUNTIME_DIR})
317317
else()
318-
set(INSTALL_RUNTIME_DIR ${CMAKE_INSTALL_BINDIR})
318+
set(INSTALL_RUNTIME_DIR bin)
319319
endif()
320320

321321
if(BUILD_SHARED)

cpp/meson.build

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,7 @@ project(
2222
version: '23.0.0-SNAPSHOT',
2323
license: 'Apache-2.0',
2424
meson_version: '>=1.3.0',
25-
# TODO: revert after https://github.com/mesonbuild/meson/issues/15202
26-
# OR figure out if we even need gnu11
27-
default_options: ['c_std=c11', 'warning_level=2', 'cpp_std=c++17'],
25+
default_options: ['c_std=gnu11,c11', 'warning_level=2', 'cpp_std=c++17'],
2826
)
2927

3028
project_args = [

dev/tasks/verify-rc/github.macos.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
{% set use_conda = use_conda|default(False) %}
2323
# env: is generated by macros.github_header()
2424
# Current oldest supported version according to https://endoflife.date/macos
25-
MACOSX_DEPLOYMENT_TARGET: "14.0"
25+
MACOSX_DEPLOYMENT_TARGET: "12.0"
2626

2727
jobs:
2828
verify:

python/examples/minimal_build/build_venv.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ export PYARROW_BUILD_TYPE=Debug
7070
export PYARROW_CMAKE_GENERATOR=Ninja
7171

7272
# Use the same command that we use on python_build.sh
73-
python -m pip install --no-deps --no-build-isolation -vv . -Csetup-args="--pkg-config-path=$ARROW_HOME/lib/pkgconfig"
73+
python -m pip install --no-deps --no-build-isolation -vv .
7474

7575
popd
7676

python/pyarrow/__init__.py

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -36,19 +36,6 @@
3636
import sys as _sys
3737
import warnings as _warnings
3838

39-
40-
def _append_to_sharedlib_load_path():
41-
# https://mesonbuild.com/meson-python/how-to-guides/shared-libraries.html
42-
basedir = _os.path.dirname(__file__)
43-
if _os.name == 'nt':
44-
_os.add_dll_directory(basedir)
45-
elif _sys.platform == 'cygwin':
46-
_os.environ['PATH'] = _os.pathsep.join((_os.environ['PATH'], basedir))
47-
48-
49-
_append_to_sharedlib_load_path()
50-
51-
5239
try:
5340
from ._generated_version import version as __version__
5441
except ImportError:
@@ -404,9 +391,13 @@ def get_library_dirs():
404391
linking C or Cython extensions using pyarrow
405392
"""
406393
package_cwd = _os.path.dirname(__file__)
407-
library_dirs = [
408-
package_cwd, _os.path.join(_os.path.dirname(package_cwd), "pyarrow.libs")
409-
]
394+
library_dirs = [package_cwd]
395+
396+
# delvewheel creates a top level pyarrow.libs to vendor external shared libraries
397+
if _os.name == "nt":
398+
library_dirs.append(
399+
_os.path.join(_os.path.dirname(package_cwd), "pyarrow.libs")
400+
)
410401

411402
def append_library_dir(library_dir):
412403
if library_dir not in library_dirs:

0 commit comments

Comments
 (0)