Commit Graph

1755 Commits

Author SHA1 Message Date
Matt McCormick 4aaaa2c847 Merge pull request #934 from julianoes/manylinux_2_34-aarch64
Add manylinux_2_34_aarch64 (rebased and fixed up)
2026-04-14 09:33:20 -04:00
Julian Oes 6a3933b03b Add manylinux_2_34 includes to DOCKER_COMPOSITE_SOURCES
The common.manylinux_2_34 and common-manylinux_2_34.crosstool includes
were missing from the Makefile, so the sed preprocessor never expanded
them when generating Dockerfiles from .in files. This caused XCC_PREFIX
to be undefined in the aarch64 Dockerfile.
2026-04-10 09:32:09 +12:00
Julian Oes 7264bf7768 Build git without gettext to avoid missing msgfmt
The pypa manylinux_2_34 base image does not provide the msgfmt binary,
causing the git source build to fail. Git translations are not needed
in a build container.
2026-04-10 09:32:01 +12:00
Julian Oes ad3c0cad8c manylinux_2_34: fix libstdc++ ABI mismatch by isolating host headers
Using -I/usr/include during the crosstool-ng build of libstdc++ pulled
in host x86_64 headers where int64_t is long long, contaminating the
aarch64 cross-build where int64_t should be long. This caused linker
errors for std::__atomic_futex_unsigned_base symbols due to mismatched
C++ name mangling between headers and the built library.

Copy only the required sys/sdt.h headers into /opt/ct-ng-includes and
point CT_CC_GCC_ENABLE_CXX_FLAGS there instead, matching the approach
used by manylinux_2_28-aarch64.
2026-04-09 03:22:00 +12:00
Julian Oes 84419c14a5 manylinux_2_34: add another perl dependency for OpenSSL build 2026-04-09 03:21:59 +12:00
Julian Oes 8c8f0f6fa6 manylinux_2_34: add missing tools for OpenSSL test build 2026-04-09 03:21:58 +12:00
Julian Oes 4fb4c4e401 Remove copy_libstd.sh workaround from manylinux_2_34-aarch64
The libstdc++ copy trick is no longer needed, as noted in PR #931
which removed it for manylinux2014-aarch64.
2026-04-09 03:21:57 +12:00
Julian Oes 9c32f366f9 Fix CMAKE_CROSSCOMPILING_EMULATOR path to use qemu-aarch64-static
AlmaLinux 9 doesn't package qemu-user-static, so the Dockerfile
downloads the static binary as /usr/bin/qemu-aarch64-static.
The Toolchain.cmake was incorrectly referencing /usr/bin/qemu-aarch64.
2026-04-09 03:21:56 +12:00
Julian Oes 2b735bef0e Fix typos in Dockerfile.in and prepare_cross_env.sh 2026-04-09 03:21:55 +12:00
Julian Oes 324d42a107 Fix typo: rename docker_setup_scrpits to docker_setup_scripts 2026-04-09 03:21:54 +12:00
Julian Oes 3348cdba6d Revert CMAKE_FIND_ROOT_PATH_MODE_* to match other variants
Remove CACHE STRING "" from CMAKE_FIND_ROOT_PATH_MODE_PROGRAM,
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY, and CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
to be consistent with all other cross-compilation toolchain files.
2026-04-09 03:21:53 +12:00
Joris Gillis c847b1910e allow overriding of CMAKE_FIND_ROOT_PATH_MODE_* 2026-04-09 03:21:51 +12:00
Joris Gillis 49aa64b08f Add manylinux_2_34-aarch64 to CI configuration 2026-04-09 03:21:47 +12:00
Joris Gillis b59e741d8f Add manylinux_2_34-aarch64 documentation to README 2026-04-09 03:21:44 +12:00
Joris Gillis 65320e84c6 Add manylinux_2_34-aarch64 cross-compilation image
New Docker image for building manylinux_2_34 compatible wheels targeting
64-bit ARM (aarch64) architecture.

- Based on AlmaLinux 9 with crosstool-ng 1.27.0 toolchain
- Uses multiarch/qemu-user-static for cross-compilation emulation
- Includes wheel repair script for manylinux compliance
- GCC configured with --disable-gcov (Bug 100289 workaround)
2026-04-09 03:21:40 +12:00
Matt McCormick 3853c9f0da Merge pull request #935 from julianoes/manylinux_2_28-aarch64
Add manylinux_2_28_aarch64
2026-04-08 10:12:33 -04:00
Julian Oes fc73010e35 Readme: Add manylinux_2_28-aarch64 2026-04-07 09:50:52 +12:00
Julian Oes 7679060f71 manylinux_2_28: add perl dependency for OpenSSL build 2026-04-04 11:32:15 +13:00
Julian Oes c3389c3671 CI: add manylinux_2_28 build 2026-04-04 11:32:02 +13:00
Julian Oes f15327adbd Add perl-IPC-Cmd package for OpenSSL build support
AlmaLinux 8 splits perl-IPC-Cmd into a separate package, which is
needed by OpenSSL's Configure script.
2026-04-03 14:32:20 +13:00
Julian Oes 003dfa0517 Remove copy_libstd.sh workaround from manylinux_2_28-aarch64
The libstdc++ copy trick is no longer needed, as noted in PR #931
which removed it for manylinux2014-aarch64.
2026-04-03 14:28:11 +13:00
Julian Oes 7633bc2b5e Add manylinux_2_28-aarch64 image and fix qemu path in 2_34 variant
Add a new manylinux_2_28-aarch64 cross-compilation image targeting
AlmaLinux 8 (glibc 2.28) for building portable Python wheels for
aarch64 from x86_64 hosts. Based on the manylinux_2_34-aarch64
variant with adjusted glibc (2.28) and kernel headers (4.18).

Also fix CMAKE_CROSSCOMPILING_EMULATOR in the 2_34 Toolchain.cmake
to use /usr/bin/qemu-aarch64-static (matching what the Dockerfile
actually installs).
2026-04-03 14:28:10 +13:00
Matt McCormick 9b3357cf9b Merge pull request #933 from dockcross/dependabot/github_actions/docker/login-action-4
build(deps): bump docker/login-action from 3 to 4
2026-03-12 17:21:48 -04:00
dependabot[bot] 326655d148 build(deps): bump docker/login-action from 3 to 4
Bumps [docker/login-action](https://github.com/docker/login-action) from 3 to 4.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-04 18:22:30 +00:00
Jonas Vautherin b2fe0003a7 Merge pull request #931 from dockcross/jonas/fix-manylinux2014-aarch64
manylinux2014-aarch64: fix libstdc++
2026-03-04 13:50:10 +01:00
Jonas Vautherin da91964615 manylinux2014-aarch64: fix libstdc++ 2026-03-04 00:09:00 +01:00
Matt McCormick 8e64601fd2 Merge pull request #930 from dockcross/dependabot/github_actions/actions/upload-artifact-7
build(deps): bump actions/upload-artifact from 6 to 7
2026-03-02 13:28:58 -05:00
Matt McCormick 551d8b719c Merge pull request #928 from MUWASEC/patch-1
fix bash warning message in dockcross.sh
2026-02-27 15:39:12 -05:00
dependabot[bot] dc32c32646 build(deps): bump actions/upload-artifact from 6 to 7
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6 to 7.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-27 18:22:30 +00:00
muwa00 471f25e046 fix bash warning message in dockcross.sh 2026-02-25 22:19:46 +07:00
Matt McCormick af62f2c926 Merge pull request #925 from thewtex/wasm-bump
web-wasm: bump emscripten to 5.0.0
2026-02-21 07:45:14 -05:00
Matt McCormick f41690cc1e web-wasm: bump emscripten to 5.0.1
Disable raylib, which seems to have an unrelated error.
2026-02-20 16:57:16 -05:00
Matt McCormick 84793ba73e Merge pull request #927 from dockcross/openssl-patch-path
ci: update MAVSDK openssl patch
2026-02-20 16:54:06 -05:00
Matt McCormick 8385fa701f ci: update MAVSDK openssl patch
And use commit for reproducible fetch
2026-02-19 11:09:21 -05:00
Matt McCormick 3dfb3ff1a9 Merge pull request #919 from dockcross/dependabot/github_actions/actions/checkout-6
build(deps): bump actions/checkout from 5 to 6
2026-02-03 05:39:22 -05:00
dependabot[bot] eff583f55e build(deps): bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-03 02:34:37 +00:00
Jonas Vautherin 90e40d4cbf Merge pull request #923 from dockcross/upload-download-artifact
ci: update upload and download artifact action versions to latest
2026-02-02 10:34:42 +01:00
Matt McCormick 937d4df040 ci: update upload and download artifact action versions to latest 2026-02-01 21:47:01 -05:00
Matt McCormick b37f297308 Merge pull request #922 from dmlary/manylinux-builder-group
manylinux: add builder group to own python files
2026-01-29 13:57:47 -05:00
David M. Lary c3e5f808a6 manylinux: Fixes for gid check, and chown python /man directories 2026-01-26 15:06:24 -06:00
David M. Lary f3fc294a08 manylinux: add builder group to own python files
The manylinux images can take over a minute to start on spinning disks
(not SSDs) because pre_exec.sh is changing the ownership of all the
python install directories to be writable by the BUILDER_UID.  This is
detailed further in #853.

I changed the build steps for manylinux images to add a group called
`builder`, then change the python directories to be owned by the
`builder` group, and group writable.  I then changed pre_exec.sh to add
BUILDER_USER to the builder group prior to the gosu switch to become
BUILDER_USER.  The result is that BUILDER_USER is in the `builder`
group that can write to the python directories, allowing the user to
install python packages without permission denied errors.

There was one additional change to support this, and that was the
arguments to `gosu` in entrypoint.sh.  Previously the arguments were
`$BUILDER_UID:BUILDER_GID`, but providing the gid prevents `gosu` from
loading additional groups (such as `builder`) from /etc/group.  I
removed the GID argument to allow `gosu` to pick up additional groups
from /etc/group.

fixes #853
2026-01-21 15:58:45 -06:00
Matt McCormick 1d3b81221c Merge pull request #904 from deckstose/push-pytvwvzxrmql
fix: use more portable `type -P` to find executable
2026-01-05 14:17:18 -05:00
Matt McCormick 8b9ace46ce Merge pull request #913 from thewtex/change-rustup-install
common: install rustup into /opt/rustup
2025-10-10 21:58:52 -04:00
Matt McCormick 63e91f59aa common: install rustup into /opt/rustup
To avoid long-running chown's per https://github.com/dockcross/dockcross/issues/901
2025-10-09 08:17:27 -04:00
Matt McCormick 98e6c48697 Merge pull request #912 from thewtex/wasi-bump
wasi: bump wasi-sdk to version 27
2025-09-29 22:26:24 -04:00
Matt McCormick 9de64a24c2 wasi: bump wasi-sdk to version 27
Includes LLVM bump to version 21.
2025-09-26 10:59:35 -04:00
Matt McCormick 66fda89f8d Merge pull request #911 from thewtex/buildah-manifest-tool
ci: push multi-arch images with manifest-tool
2025-09-25 22:08:26 -04:00
Matt McCormick 13872ace65 ci: push multi-arch images with manifest-tool
Instead of buildah.

- Simplified workflow: manifest-tool provides a more straightforward command-line interface for creating manifest lists
- Better integration: manifest-tool is specifically designed for manifest list/OCI index creation and management
- Cross-platform compatibility: Works with both Docker v2.2 manifest lists and OCI v1 indexes
- Template-based approach: The --template and --platforms flags provide a cleaner way to specify multi-arch images
2025-09-24 11:24:33 -04:00
Matt McCormick 6ea98ba7f7 Merge pull request #909 from thewtex/manylinux-2-28-gcc-version
manylinux_2_28: GCC toolset version 14 sudo removal
2025-09-13 15:43:56 -04:00
Matt McCormick 015205b0c9 manylinux_2_28: GCC toolset version 14 sudo removal 2025-09-12 16:51:26 -04:00