Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iOS support #436

Merged
merged 1 commit into from
Jul 1, 2024
Merged

iOS support #436

merged 1 commit into from
Jul 1, 2024

Conversation

FeodorFitsner
Copy link
Contributor

A tiny change that makes setuptools-rust work in crossenv environment, originally made by @freakboy3742
It allows to successfully build bcrypt and cryptography for iOS.

@freakboy3742
Copy link

FYI - I was deliberately not submitting this PR upstream until such time a I had an opportunity to fully test it with the final state of iOS support in CPython 3.13, and add tests to verify the change.

On a purely functional level, while it successfully builds cryptography, in my testing the final binary doesn't fully work, as there's a runtime load that fails, and I wasn't 100% sure if that would require additional changes to this package.

I don't object to this being merged as is if the maintainers are comfortable with it; at least to my mind, there's more work required before it is ready.

@FeodorFitsner
Copy link
Contributor Author

Any chance to get this change into the next release of setuptools-rust?

@davidhewitt
Copy link
Member

I will be working on the next release of setuptools-rust imminently now that we have 3.13 support in PyO3. So yes, am happy to move forward with this.

Do you know if there's any reasonable way we can test iOS in CI? If not, no problem, let's add a CHANGELOG entry and then merge this as-is 👍

@freakboy3742
Copy link

It's definitely possible to build/test packages on iOS; for example here's a CI test run for Toga (a GUI toolkit) running on iOS. You need to use a macOS runner; the compilation process is no slower than it would be for iOS, and the SDKs are all installed and available. Running the code means starting a simulator; that takes 2-3 minutes by itself, so it's not fast, but it's very reliable.

My Q3 TODO list is largely focussed on binary packaging for iOS; I should be in a position to look at this in a couple of weeks. I don't know if that means you want to hold off merging until CI is in place.

@davidhewitt
Copy link
Member

Let's merge this for now to unblock you, but avoid declaring full iOS support until CI is in place.

@davidhewitt davidhewitt merged commit de6583c into PyO3:main Jul 1, 2024
39 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants