scripts: aarch64 build scripts for the Qt binary

build-aarch64-linux.sh builds -p qbz-qt natively with the distro's Qt
(gated at >= 6.8, the tree's floor; Debian 13 / Ubuntu 25.04 / Fedora
41 qualify), installs rustup when absent, forces one rustc at a time on
<= 4 GB boxes, and runs the same offscreen smoke as CI. Its CROSS mode
is retired honestly: cxx-qt runs the target Qt's qmake during the
build, which cross-rs's Ubuntu 20.04 images cannot do. The qbzd script
and Cross.toml keep cross-compiling the daemon, with the Qt-free dep
set.

cc
This commit is contained in:
vicrodh committed 2026-08-26 19:11:01 -06:00
1 parent 04fd94d41a
commit 7bd5cb1ec6
3 files changed
+104 -72

No files matched your search

+5 -3
View File
@@ -1,6 +1,8 @@
# cross (https://github.com/cross-rs/cross) config for cross-compiling the
# aarch64 `qbz` binary from an x86-64 Linux host. Used by
# scripts/build-aarch64-linux.sh (CROSS mode).
# aarch64 `qbzd` daemon from an x86-64 Linux host. Used by
# scripts/build-aarch64-qbzd.sh (CROSS mode). The Qt desktop binary is NOT
# cross-built (cxx-qt needs the target Qt's qmake at build time; see
# scripts/build-aarch64-linux.sh) — build it natively on an ARM box.
#
# `image` pins a newer Ubuntu (cross 0.2.5's default aarch64 image is Ubuntu
# 16.04 "xenial" — EOL, archived repos, OpenSSL 1.0.2 — which breaks modern
@@ -20,7 +22,7 @@ image = "ghcr.io/cross-rs/aarch64-unknown-linux-gnu:main"
pre-build = [
"dpkg --add-architecture arm64",
"apt-get update",
"apt-get install -y --no-install-recommends pkg-config cmake clang libclang-dev nasm libasound2-dev:arm64 libjack-jackd2-dev:arm64 libfontconfig1-dev:arm64 libfreetype6-dev:arm64 libxkbcommon-dev:arm64 libwayland-dev:arm64 libxcb1-dev:arm64 libgl1-mesa-dev:arm64 libegl1-mesa-dev:arm64 libdbus-1-dev:arm64 libssl-dev:arm64",
"apt-get install -y --no-install-recommends pkg-config cmake clang libclang-dev nasm libasound2-dev:arm64 libjack-jackd2-dev:arm64 libdbus-1-dev:arm64 libssl-dev:arm64",
]
[target.aarch64-unknown-linux-gnu.env]