Skip to content
This repository has been archived by the owner on Feb 15, 2023. It is now read-only.

WIP, MAINT: MacOS wheels 12.0 target #150

Conversation

tylerjereddy
Copy link
Collaborator

Fixes #148

  • universal2 wheels should now target MacOS 12.0+
    using the approached described upstream:
    Building thin arm64 wheels for MacOS 12+ multi-build/multibuild#444 (comment)

  • fix the renaming of MacOS arm64 thin wheels to use
    the same approach instead of my previous manual bash
    commands

  • note that, confusingly, MACOSX_DEPLOYMENT_TARGET is
    also used in env_vars.sh and in azure-posix.yml, so
    we should double check the CI logs before merging to make
    sure that pip named the wheels correctly/we get the desired
    overrides for the cases touched here

@tylerjereddy
Copy link
Collaborator Author

No current intention to backport this one, I'll work on a separate change for the distribution file problem that we'd likely want to backport for a 1.7.4.

@tylerjereddy
Copy link
Collaborator Author

CI says:

Overwriting readonly variable 'MACOSX_DEPLOYMENT_TARGET' is not permitted

Not sure we should really have that set read-only anyway.. this seems like a clear use case where overriding is desired.

@tylerjereddy tylerjereddy changed the title MAINT: MacOS wheels 12.0 target WIP, MAINT: MacOS wheels 12.0 target Nov 27, 2021
@tylerjereddy tylerjereddy force-pushed the treddy_use_deploy_target_macos_12 branch from 52bff5f to d72469b Compare November 27, 2021 16:01
@tylerjereddy
Copy link
Collaborator Author

Ok, trying to make that var writeable now..

@rgommers
Copy link
Contributor

This didn't work yet, wheels are still named like: scipy-1.8.0.dev0+2099.3f05efb-cp310-cp310-macosx_11_0_arm64.whl

@isuruf
Copy link
Contributor

isuruf commented Nov 28, 2021

@isuruf
Copy link
Contributor

isuruf commented Nov 28, 2021

I mean not overwrite if the value does not start with 10

@tylerjereddy
Copy link
Collaborator Author

Ah ok, so we need an upstream fix first. That's ok, I can try to help there if needed.

tylerjereddy added a commit to tylerjereddy/multibuild that referenced this pull request Dec 8, 2021
* only overwrite MACOSX_DEPLOYMENT_TARGET environment
variable when it contains the "10.x" version string

* motivation is to allow sensibel overrides as in:
MacPython/scipy-wheels#150

* note that I have not tested this yet, but am open
to making revisions of course
@tylerjereddy
Copy link
Collaborator Author

I took a shot at the multibuild adjustment in the cross-linked PR, still untested though.

* `universal2` wheels should now target MacOS 12.0+
using the approached described upstream:
multi-build/multibuild#444 (comment)

* fix the renaming of MacOS arm64 thin wheels to use
the same approach instead of my previous manual bash
commands

* note that, confusingly, `MACOSX_DEPLOYMENT_TARGET` is
also used in `env_vars.sh` and in `azure-posix.yml`, so
we should double check the CI logs before merging to make
sure that `pip` named the wheels correctly/we get the desired
overrides for the cases touched here
* point to the multibuild feature branch here:
multi-build/multibuild#446

* trying to see if this will allow override of the
MACOSX_DEPLOYMENT_TARGET as intended
@tylerjereddy tylerjereddy force-pushed the treddy_use_deploy_target_macos_12 branch from b57d085 to d447df4 Compare December 9, 2021 03:41
@tylerjereddy
Copy link
Collaborator Author

I pushed a commit to point this PR at least temporarily at my multibuild feature branch on my fork, until this PR is merged: multi-build/multibuild#446

It should at least tell us if the thin and universal2 wheels get properly renamed with that upstream change, rather than losing an overnight testing period.

@tylerjereddy
Copy link
Collaborator Author

CI is passing but this looks wrong, i.e.,

  • /Users/runner/work/1/s/wheelhouse/scipy-1.9.0.dev0+1042.d634f17-cp39-cp39-macosx_11_0_arm64.whl
  • ./wheelhouse/scipy-1.9.0.dev0+1042.d634f17-cp310-cp310-macosx_10_9_universal2.whl

I think at this stage I'm going to have to pursue more manual wheel renaming until things are actually working upstream with MACOSX_DEPLOYMENT_TARGET..

tylerjereddy added a commit to tylerjereddy/scipy-wheels that referenced this pull request Dec 9, 2021
* until an upstream multibuild solution is ready,
"manually" rename `universal2` wheels to require
MacOS version `12.0` minimum in a manner similar
to what we are doing for the thin arm64 mac wheels

* based on the analysis of universal2 wheel names in logs:
MacPython#150 (comment)
and recent nightly uploads:
https://anaconda.org/scipy-wheels-nightly/scipy/files#
look like we want to move from `10_9` to `12_0` universal2
file names

* we should definitely check the logs to make sure this works,
probably by looking at what filename gets targeted by the pip
install command in the `Install wheel and test` stage
for `universal2` CI runs (the `mv` command is verbose and
should also print out the renamed file)
@rgommers
Copy link
Contributor

No longer needed as we don't do universal2 builds - closing.

@rgommers rgommers closed this Feb 15, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

universal2 wheels need to be renamed to ...12_0...
3 participants