tango icon indicating copy to clipboard operation
tango copied to clipboard

Add Linux ARM64 build

Open HikariCalyx opened this issue 5 months ago • 4 comments

Tried to build tango on Ubuntu 22.04 ARM64 with few modifications on build script, which only replaces x64 -> arm64 and x86_64 -> aarch64:

#!/bin/bash
set -euo pipefail

# Cleanup.
function cleanup {
        rm -rf tango_linux_workdir
}
trap cleanup EXIT
cleanup

# Grab a copy of appimagetool.
wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-aarch64.AppImage
chmod a+x appimagetool-aarch64.AppImage

# Build Linux binaries.
target_arch="aarch64"
cargo build --bin tango --target="${target_arch}-unknown-linux-gnu" --no-default-features --features=sdl2-audio,wgpu,cpal --release

# Assemble AppImage stuff.
mkdir -p "tango_linux_workdir/${target_arch}/bin"
cp tango/src/icon.png tango_linux_workdir/tango.png
cp linux/AppRun tango_linux_workdir/AppRun
cp linux/tango.desktop tango_linux_workdir/tango.desktop
cp "target/${target_arch}-unknown-linux-gnu/release/tango" "tango_linux_workdir/${target_arch}/bin/tango"

# Bundle ffmpeg.
ffmpeg_version="6.0"

wget "https://github.com/eugeneware/ffmpeg-static/releases/download/b6.0/ffmpeg-linux-arm64" -O "tango_linux_workdir/aarch64/bin/ffmpeg"
chmod a+x "tango_linux_workdir/${target_arch}/bin/ffmpeg"

# Build AppImage.
mkdir -p dist
./appimagetool-aarch64.AppImage tango_linux_workdir "dist/tango-${target_arch}-linux.AppImage"
rm -rf tango_linux_workdir

Dependencies (for Ubuntu/Debian):

libssl-dev libglib2.0-dev pkg-config cmake build-essential libclang-dev libgtk-3-dev librust-alsa-sys-dev libasound2-dev

Result: Screenshot 2024-09-02 10-25-00 tangoNX

HikariCalyx avatar Sep 02 '24 02:09 HikariCalyx