Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
bindings: python: add a script to generate 32-bit ARM (armv7l) wheels
Add a 'generate_armv7l_wheels.sh' shell script that makes armv7l (32-bit ARM) Python wheels for combinations of libc (glibc, musl) and selected CPython versions. Currently, Python wheels are generated for the x86_64 and aarch64 CPU architectures only, using the 'cibuildwheel' tool invoked by the existing 'generate_pypi_artifacts.sh' script. The 'cibuildwheel' tool, in turn, relies on the PyPA manylinux and musllinux Docker images that, sadly, are not available for 32-bit ARM architectures that are relatively common in edge devices. It was previously suggested that Python users could rely on the piwheels.org repository for 32-bit ARM gpiod wheels. Alas, that repository lags seriously behind the latest CPython releases. It currently provides gpiod wheels for CPython versions 3.9 and 3.11 only, while CPython 3.12 was released 11 months ago and CPython 3.13 will be released in about 1 month's time. It turns out that armv7l Python wheels can be relatively easily generated without 'cibuildwheel', in about 150 lines of structured shell script that introduce no new requirements (the script depends on Docker and binfmt_misc only). Instead of manylinux and musllinux Docker images, the script uses the official Python image in Docker Hub, which is available for armv7l in Debian and Alpine flavours (for glibc and musl libc respectively). This commit introduces such a shell script. Signed-off-by: Paulo Ferreira de Castro <[email protected]>
- Loading branch information