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

bpo-41101: Support "arm64" in Mac/Tools/pythonw #21114

Closed

Conversation

ronaldoussoren
Copy link
Contributor

@ronaldoussoren ronaldoussoren commented Jun 24, 2020

Apple introduced a new CPU architecture for macOS at WWDC2020 (marketing name "Apple Silicon"), which is "arm64".

This PR adds support for this new architecture to Mac/Tools/pythonw which is used in framework builds to launch the real python interpreter (hidden in an Python.app inside the framework) using the same architecture as it is currently using.

https://bugs.python.org/issue41101

@ronaldoussoren ronaldoussoren requested a review from a team as a code owner June 24, 2020 12:26
@corona10 corona10 changed the title BPO-41101: Support "arm64" in Mac/Tools/pythonw bpo-41101: Support "arm64" in Mac/Tools/pythonw Jun 24, 2020
SMillerDev pushed a commit to Homebrew/homebrew-core that referenced this pull request Jul 4, 2020
This set of patches includes the following upstream pull requests:

- python/cpython#21114
  "Support `arm64` in Mac/Tools/pythonw"

- python/cpython#21224
  "allow python to build for macosx-11.0-arm64"

- python/cpython#21249
  "ctypes fixes for arm64 Mac OS"

Adding the patches before upstream has released them is warranted here
because `python@3.8` is widely used as a dependency, and the patch is
needed to enable testing dependent formulae on arm64.

CC: Sean Molenaar <1484494+SMillerDev@users.noreply.github.com>
claui added a commit to Homebrew/formula-patches that referenced this pull request Jul 15, 2020
This set of patches includes the following upstream pull requests,
in this order:

- PR 20171, "Fix _tkinter use"
  python/cpython#20171
  (prerequisite for patch #21249 to apply)

- PR 21114, "Support `arm64` in Mac/Tools/pythonw"
  python/cpython#21114

- PR 21224, "allow python to build for macosx-11.0-arm64"
  python/cpython#21224

- PR 21249, "ctypes fixes for arm64 Mac OS"
  python/cpython#21249

The patches for 20171 and 21249 have been minimally modified in order
to backport them to 3.8.3.

Note that these have been successfully tested for `python@3.8`
but not for `python@3.7`.

The patch directive should be surrounded by an `if Hardware::CPU.arm?`
block.
claui pushed a commit to xvilo/homebrew-core that referenced this pull request Jul 15, 2020
This replaces the three unmerged PR patches with a hosted
formula patch.

This includes the following upstream pull requests:

- python/cpython#20171, "Fix _tkinter use" (prerequisite for 21249)
- python/cpython#21114, "Support arm64 in Mac/Tools/pythonw"
- python/cpython#21224, "allow python to build for macosx-11.0-arm64"
- python/cpython#21249, "ctypes fixes for arm64 Mac OS"

See also:

- Homebrew/formula-patches#292
BrewTestBot pushed a commit to Homebrew/homebrew-core that referenced this pull request Jul 16, 2020
This replaces the three unmerged PR patches with a hosted
formula patch.

This includes the following upstream pull requests:

- python/cpython#20171, "Fix _tkinter use" (prerequisite for 21249)
- python/cpython#21114, "Support arm64 in Mac/Tools/pythonw"
- python/cpython#21224, "allow python to build for macosx-11.0-arm64"
- python/cpython#21249, "ctypes fixes for arm64 Mac OS"

See also:

- Homebrew/formula-patches#292

Closes #57997.

Signed-off-by: Claudia Pellegrino <1239874+claui@users.noreply.github.com>
@ronaldoussoren
Copy link
Contributor Author

ronaldoussoren commented Oct 23, 2020

I'm closing this PR because this work is part of a larger PR that provides a full port to macOS 11 and arm64. See bpo-41100.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants