bazelbuild / rules_python

Bazel Python Rules
https://rules-python.readthedocs.io
Apache License 2.0
534 stars 541 forks source link

Support Windows on ARM64 #2276

Open skeptic-monkey opened 1 month ago

skeptic-monkey commented 1 month ago

🚀 feature request

Relevant Rules

Mostly all the rules included in bazelbuild/rules_python repository (hermetic python toolchain, pip_parse, ...)

Description

There is currently no support to build natively for Windows / ARM64 platform which is not convenient. The Snapdragon X being used in popular laptops (surface pro for example), it now becomes quite important to be able to build for this platform natively.

Describe the solution you'd like

The ideal would be to download an arm64 version of python and use arm64 pip requirements (and per architecture requirement seem to be already supported).

Describe alternatives you've considered

A workaround would already to support building using an hermetic x86_64 python with x86_64 pip dependencies while using an arm64 host, relying on the x96_64 -> arm64 Windows emulation.

This doesn't work either, because pip_parse discards the x86_64 dependencies because it doesn't match the host cpu.

aignas commented 1 month ago

I don't think I see Windows ARM64 interpreter builds for indygreg even in the latest release, hence I am not sure if that is something that rules_python has to provide.

Given that users can build their own Python interpreter and register it as a toolchain and use the pip parse rules to pull the dependencies (pending the work as part of #260, still experimental but in #2278 becomes one step closer to stabilization), I am inclined to close this as won't do.

Once indygreg provides builds for Windows ARM64 interpreter, we can add them as part of regular maintenance tasks.

skeptic-monkey commented 1 week ago

It seems that indygreg might support it soon. see https://github.com/indygreg/python-build-standalone/issues/386