GH-50531: [Python][Packaging] Set macOS deployment target before building wheel platform tag - #50377
GH-50531: [Python][Packaging] Set macOS deployment target before building wheel platform tag#50377anxkhn wants to merge 1 commit into
Conversation
|
Thanks for opening a pull request! If this is not a minor PR. Could you open an issue for this pull request on GitHub? https://github.com/apache/arrow/issues/new/choose Opening GitHub issues ahead of time contributes to the Openness of the Apache Arrow project. Then could you also rename the pull request title in the following format? or See also: |
There was a problem hiding this comment.
Pull request overview
Fixes a macOS wheel packaging issue where _PYTHON_HOST_PLATFORM could be derived from an unset MACOSX_DEPLOYMENT_TARGET, producing a malformed wheel platform tag during manual/local builds.
Changes:
- Set
MACOSX_DEPLOYMENT_TARGET(with its default) before exporting_PYTHON_HOST_PLATFORMso the platform tag is always derived from the resolved value.
|
Could you open an issue for this. |
|
Opened #50531 as requested and updated this PR title and description to link it and follow the contribution format. Thank you for pointing me to the minor-fix policy. |
|
|
fe42499 to
a3b3ef1
Compare
…e wheel tag Set the default MACOSX_DEPLOYMENT_TARGET before deriving _PYTHON_HOST_PLATFORM so local builds without an explicit target produce a valid platform tag. Preserve explicit deployment targets unchanged. Signed-off-by: Anas Khan <83116240+anxkhn@users.noreply.github.com>
a3b3ef1 to
c5084cf
Compare
|
Pushed a revision addressing the latest review/CI feedback. |
|
rebased onto current main and resolved the conflict by preserving the upstream shell quoting cleanup while keeping the deployment-target default before platform-tag construction. syntax and unset/explicit target checks pass, and the commit is signed and signed off. @kou could you please re-review? |
|
@github-actions crossbow submit -g wheel |
|
Revision: c5084cf Submitted crossbow builds: ursacomputing/crossbow @ actions-31644df33f |
raulcd
left a comment
There was a problem hiding this comment.
@anxkhn it seems that part of the responses are LLM generated, like the description on the PR. In the description at the Are these changes tested? section the response is quite useless, what does it mean for git diff --check to pass? how is that useful or relevant info for the changes on this PR? Please, could you review.
bash -n and git diff --check pass. Targeted shell checks produce macosx-12.0-x86_64 when unset and preserve an explicit 13.0 target. A full wheel build was not run.
Rationale for this change
ci/scripts/python_wheel_macos_build.shderives_PYTHON_HOST_PLATFORMfromMACOSX_DEPLOYMENT_TARGETbefore applying its default. Without an exported target, it producesmacosx--<arch>even though the build then targets macOS 12.0.What changes are included in this PR?
Apply the deployment target default before deriving the wheel platform tag. The rebase preserves the intervening shell quoting cleanup on
main.Are these changes tested?
bash -nandgit diff --checkpass. Targeted shell checks producemacosx-12.0-x86_64when unset and preserve an explicit13.0target. A full wheel build was not run.Are there any user-facing changes?
No API changes. Manual or local wheel builds that rely on the default now receive a valid platform tag.
This change was made with help from an AI coding assistant. I reviewed and verified the one-line ordering fix.