bigcat88 / pillow_heif

Python library for working with HEIF images and plugin for Pillow.
BSD 3-Clause "New" or "Revised" License
219 stars 17 forks source link

Provide macosx_13_0_arm64 wheels #275

Open mattip opened 3 months ago

mattip commented 3 months ago

Describe why it is important and where it will be useful

Some of us are still stuck on macos13 even on arm64, for various reasons. The wheels provided on PyPI are built (I think on cirrus?) with macosx_14_0_arm64.

Describe your proposed solution

~Instead the wheels could be built on github, using the github arm64 13 runners, which would provide binary wheels for macosx_13_0_arm64, and would also unify wheels building on github.~ Could the wheels be built with MACOSX_DEPLOYMENT_TARGET='11.0'?

Describe alternatives you've considered, if relevant

I have to build from source.

Additional context

No response

bigcat88 commented 3 months ago

Good day.

Yes, there are plans to move the binary wheel assembly for the next version to GitHub, and I would have done it earlier, but from the information that I can find on GitHub, there are no free runners for Arm on MacOS-13.

https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source/ https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories

I will be glad to be wrong and see an example of an action with macos-13-arm64 for GitHub.

mattip commented 3 months ago

Hmm. Good point, sorry. Numpy moved to macos-14 runners in this PR. But I see there are macosx_11_0_arm64 wheels for NumPy. Looking more closely, it seems they come from cirrus ci, by using cibuildwheel and MACOSX_DEPLOYMENT_TARGET='11.0'. So I guess cirrus can build wheels for macos_11...

mattip commented 3 months ago

I will change the name of the issue to reflect my real request.

bigcat88 commented 3 months ago

The problem is that on macOS all libheif packages are installed via brew from binary brew bottles, and to change that someone would need to write separate build actions for libde265, x265, libaom and all the other packages to go away from brew.

It's not impossible, but it would take time..

mattip commented 3 months ago

Bleh. Thanks for this thought experiment. Maybe someday brew will respect MACOS_DEPLOYMENT_TARGET.