Bug 40080: Add reproducible build of Python for Windows

Closed yanmaani requested to merge yanmaani/tor-browser-build:pywin into master

This PR adds a reproducible build of Python 3.8.5 for Windows. This can be used for Namecoin, for example.

It's a separate project because the build system differs heavily from Linux Python's such. It relies on an entirely separate project (github.com/v-finance/cross-python), which re-implements that which is done by autoconf/make in upstream. As such it doesn't use MSVC, which means it doesn't need Wine.

There are some disgusting hacks in the build script. These can probably be cleaned up later, but it consistently produces working executables right now.

Python has a build-time dependency on Python, which we currently solve by depending on python3 in container-image, so this is not bootstrappable as-is. However, reproducible builds of Python for Linux are trivial to do, if a bit cumbersome (Python 3.8 has a build-time dependency on Python 3.6, and so on and so forth.)

Closes #40080.

Edited by yanmaani

Merge request reports