Support iOS platform tags#15640
Conversation
|
Thanks for contributing! |
| major, | ||
| minor, | ||
| multiarch, | ||
| } => write!(f, "ios_{major}_{minor}_{multiarch}"), |
There was a problem hiding this comment.
@freakboy3742 Is multiarch the correct name in ios_{major}_{minor}_{multiarch}? I took it from here, but here it is called arch_sdk, so I am unsure what is a better name. If changing from multiarch to arch_sdk the Enum name IosMultiarch has also to be renamed to IosArchSdk.
There was a problem hiding this comment.
The second link you've provided has a clarification a little further down:
The combination of
arch_sdkis referred to as the “multiarch”.
That is "multi arch" is the combination of the arch, followed by the sdk. arch will be arm64 or x86_64; sdk will be iphoneos or iphonesimulator; and multiarch will end up being one of arm64_iphoneos, arm64_iphonesimulator or x86_64_iphonesimulator.
So - if you're defining a constant for the entire "content after major and minor", it would be called "multiarch"; but if you were to break it down further, you could have independent constants for "arch" and "sdk"; but you wouldn't have an "arch_sdk".
In the context, I don't think there's a lot of use for splitting multiarch into its constituent parts; if only because you could accidentlly construct x86_64_iphoneos, which won't be (and is unlikely to ever be) legal.
So - my suggestion would be to keep the constant as currently defined.
|
@timrid -- Do you mind rebasing? |
Squashed commits: [62cbbc8] fixed fmt [6baa776] add link to source of ios multiarch [8d3179e] add structured error [8ac4d83] add docs hint for IPHONEOS_DEPLOYMENT_TARGET and fixed the macOS min version [a78cc23] update cli docs [711d642] update uv schema [030ac5e] fixed some clippy issues [f3039f9] some type hints + run auto formater [714926d] some minor fixes and added docs [bed587f] add 'compatible_tags' for ios [10077b2] added mutliarch enum for ios [a17a331] use arch instead of binary format [a1120e9] added ios platform tags [9cc34b0] fixed ios target triple [de64f1d] add initial ios support
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.8.15` -> `0.8.17` | MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot). **Proposed changes to behavior should be submitted there as MRs.** --- ### Release Notes <details> <summary>astral-sh/uv (astral-sh/uv)</summary> ### [`v0.8.17`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0817) [Compare Source](astral-sh/uv@0.8.16...0.8.17) Released on 2025-09-10. ##### Enhancements - Improve error message for HTTP validation in auth services ([#​15768](astral-sh/uv#15768)) - Respect `PYX_API_URL` when suggesting `uv auth login` on 401 ([#​15774](astral-sh/uv#15774)) - Add pyx as a supported PyTorch index URL ([#​15769](astral-sh/uv#15769)) ##### Bug fixes - Avoid initiating login flow for invalid API keys ([#​15773](astral-sh/uv#15773)) - Do not search for a password for requests with a token attached already ([#​15772](astral-sh/uv#15772)) - Filter pre-release Python versions in `uv init --script` ([#​15747](astral-sh/uv#15747)) ### [`v0.8.16`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0816) [Compare Source](astral-sh/uv@0.8.15...0.8.16) ##### Enhancements - Allow `--editable` to override `editable = false` annotations ([#​15712](astral-sh/uv#15712)) - Allow `editable = false` for workspace sources ([#​15708](astral-sh/uv#15708)) - Show a dedicated error for virtual environments in source trees on build ([#​15748](astral-sh/uv#15748)) - Support Android platform tags ([#​15646](astral-sh/uv#15646)) - Support iOS platform tags ([#​15640](astral-sh/uv#15640)) - Support scripts with inline metadata in `--with-requirements` and `--requirements` ([#​12763](astral-sh/uv#12763)) ##### Preview features - Support `--no-project` in `uv format` ([#​15572](astral-sh/uv#15572)) - Allow `uv format` in unmanaged projects ([#​15553](astral-sh/uv#15553)) ##### Bug fixes - Avoid erroring when `match-runtime` target is optional ([#​15671](astral-sh/uv#15671)) - Ban empty usernames and passwords in `uv auth` ([#​15743](astral-sh/uv#15743)) - Error early for parent path in build backend ([#​15733](astral-sh/uv#15733)) - Retry on IO errors during HTTP/2 streaming ([#​15675](astral-sh/uv#15675)) - Support recursive requirements and constraints inclusion ([#​15657](astral-sh/uv#15657)) - Use token store credentials for `uv publish` ([#​15759](astral-sh/uv#15759)) - Fix virtual environment activation script compatibility with latest nushell ([#​15272](astral-sh/uv#15272)) - Skip Python interpreters that cannot be queried with permission errors ([#​15685](astral-sh/uv#15685)) ##### Documentation - Clarify that `uv auth` commands take a URL ([#​15664](astral-sh/uv#15664)) - Improve the CLI help for options that accept requirements files ([#​15706](astral-sh/uv#15706)) - Adds example for caching for managed Python downloads in Docker builds ([#​15689](astral-sh/uv#15689)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45OC4xIiwidXBkYXRlZEluVmVyIjoiNDEuOTkuNiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
iOS support exist nominally (#15640), but Python discovery currently fails.
Summary
This implements the iOS part of #8029
FYI: @freakboy3742
Test Plan
Create a venv with uv and run
cargo run pip install --python-platform arm64-apple-ios pillow. Then the iOS binary of pillow should be installed inside the venv.