Batocera and the ES-family distributions run on ARM as much as on x86_64 — Raspberry Pi, Odroid, the retro handhelds — and a linux_x64 binary installs there but will not start. There was no Linux ARM asset kind at all: KINDS had linux_x86 and linux_x64 and mac_arm64, but nothing for 64-bit ARM Linux. Registering the kind is deliberately separate from producing it: a platform service only includes BuildLinuxArm64 once its pipeline builds the artifact, otherwise /api/builds would report it missing for every release. Hence Ebitengine and Bevy only. Godot needs a Linux arm64 export preset in each game repo first; LÖVE fuses an upstream AppImage that ships x86_64 only; TIC-80's export command has no ARM target. Ebitengine needs cgo on Linux, so binary_build gained a cross-compiler argument — and unsets CC for native targets, otherwise a build after the ARM one silently picks up the cross gcc. Verified by cross-compiling both demos in the rebuilt images: each produced a genuine AArch64 ELF (e_machine 183), not a silent fallback. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
16 lines
296 B
Ruby
16 lines
296 B
Ruby
module WarpEngine
|
|
module Platforms
|
|
module Bevy
|
|
class Service
|
|
include Updatable
|
|
include Builds::BuildWeb
|
|
include Builds::BuildWinX64
|
|
include Builds::BuildLinuxX64
|
|
include Builds::BuildLinuxArm64
|
|
|
|
label "Bevy"
|
|
end
|
|
end
|
|
end
|
|
end
|