Matt Harbison <matt_harbison@yahoo.com> [Thu, 14 Nov 2024 16:11:52 -0500] rev 52269
contrib: add a bat file to build all of the wheels on Windows
This is duplicated from the current CI config, to be able to build releases
consistently outside of CI. I don't like the duplication, but I'm not worried
about things changing too often, so I'm not bothering with PowerShell or some
form that would allow execution by the CI runner. We should consider putting
the config in `pyproject.toml`, where things like what python versions to
support can be centrally controlled for all platforms. The output directory is
different from CI here, but that's fine because it is intended to run this on a
system that is *not* hosting the CI setup, and `dist/` is more standard. I
dropped the `win32` part of the output because that implies the 32-bit Intel
architecture.
Apparently, arm64 builds are supported back to Python 3.9, but support is still
experimental (with py3.13)[1]. The CI system starts arm64 support with Python
3.11, because that's the first version that an arm64 Python installer was
available on Windows. This doesn't second guess that decision.
The required `msgfmt.exe` was installed manually[2], as it isn't currently
handled by the dependency installation script. Otherwise, this was successfully
used with an activated venv based on Python 3.12.5, and only `cibuildwheel==2.21.3`
installed.
[1] https://cibuildwheel.pypa.io/en/stable/#what-does-it-do
[2] https://github.com/mlocati/gettext-iconv-windows/releases/download/v0.22.5a-v1.17-r3/gettext0.22.5a-iconv1.17-shared-64.exe
Matt Harbison <matt_harbison@yahoo.com> [Thu, 14 Nov 2024 15:36:41 -0500] rev 52268
contrib: install the arm64 compiler tools in the Windows dependency script
This lets us build arm64 wheels on Windows. We should update from VS 2017 to
VS 2019, but that can wait until there's a clean Windows system available.
There's a little bit of handwaving here because I originally installed some
packages on the CI system by checking boxes in the GUI installer to get arm64
support, since I didn't know the name(s) of the things needed. Exporting the
configuration from the GUI installer showed the list of things present, and then
I was able to run `vs_buildtools.exe` on another system that previously had this
dependency script run a few years ago, with just this new arg. That allowed the
wheels to be built (the process failed on this second system prior to this).
The only difference between the CI system configuration prior to installing
arm64 stuff and this second system after, is the second system has the WinXP
support component. Surprisingly, the arm64 WDK and arm64 CRT or Universal CRT
doesn't seem to be required.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 15 Nov 2024 17:36:38 +0100] rev 52267
wheels: also build the i686 wheel in the CI
People of weird hardware use i686 so testing the building it useful.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 15 Nov 2024 16:22:01 +0100] rev 52266
wheel: reintroduce the building of i686 wheel
We now have image to make that work.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 15 Nov 2024 07:20:12 +0100] rev 52265
wheel: also build the musl wheel in the ci
We add a trigger to not run that all the time.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 14 Nov 2024 22:09:36 +0100] rev 52264
wheel: add a target for amdx86_64-musl wheels
These can be installed on alpineā¦ which is quite useful.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 15 Nov 2024 16:27:41 +0100] rev 52263
packaging: factor the linux-wheels-x86_64 a bit
This will make introduction of more variant simpler and testing quicker
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 15 Nov 2024 16:25:38 +0100] rev 52262
packaging: propagate the make option to packaging target
This is useful when using --jobs for example
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 15 Nov 2024 16:24:39 +0100] rev 52261
packaging: remove the i686 wheel from the linux-wheels target
It is currently broken.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 15 Nov 2024 16:41:30 +0100] rev 52260
wheels: rely on the image config to be able to access the repository
The image should now have the proper config set globally to access this