Files
swingmusic-extended/aarch64_buildscript
T
cwilvx 2b59c07dc1 copy version.txt into dist build
+ install wsgi server manually on scripts
2025-03-24 03:35:42 +03:00

51 lines
1.9 KiB
Bash
Executable File

#!/bin/sh
# README
# Builds swingmusic binary for aarch64 aka ARM64 architecture
# Run
# ./buildswingmusic.sh
# chmod a+x swingmusicbuilder/swingmusic/dist/swingmusic
# .swingmusicbuilder/swingmusic/dist/swingmusic --port <optional_port_param> --host <optional_host_param>
# Notes
# Poetry installer and pipx install poetry are both broken on ARM64 Raspberry Pi OS
# Moving or renaming venv directory (comment inline below) will break that venv.
# Additional poetry bug ongoing https://github.com/python-poetry/poetry/issues/5250 (comment inline below)
# Changed to bash shebang above from repo build script setting of zsh
pacman-key --init > /dev/null
pacman-key --populate archlinuxarm > /dev/null
pacman -Syq --noconfirm > /dev/null
pacman -S libev --noconfirm > /dev/null
pacman -Sq yarn git wget glibc gcc bzip2 expat gdbm libffi libnsl libxcrypt openssl zlib libnghttp2 icu --noconfirm --disable-download-timeout --needed > /dev/null
wget -q https://github.com/jensgrunzer1/pyhon311-for-aarch64/raw/refs/heads/main/python311-3.11.9-2-aarch64.pkg.tar.xz
pacman -U python311-3.11.9-2-aarch64.pkg.tar.xz --noconfirm
mkdir swingmusicbuilder
cd swingmusicbuilder
git clone --quiet https://github.com/swing-opensource/swingmusic-client.git
git clone --quiet https://github.com/swing-opensource/swingmusic.git
# Manual poetry installation as installers are broken.
python3.11 -m venv venv
source venv/bin/activate
cd swingmusic
# pip install -U pip setuptools
pip install -r requirements.txt
pip install bjoern
cd ../swingmusic-client
yarn install
yarn build --outDir ../swingmusic/client
cd ../swingmusic
# Fixes poetry issue 5250.
# export PYTHON_KEYRING_BACKEND=keyring.backends.fail.Keyring
# poetry env use /usr/bin/python3.11
# poetry install
# Swing gives error if this is not set. Set to version of repo you cloned.
export SWINGMUSIC_APP_VERSION="TAG"
python manage.py --build
# rename binary
mv dist/swingmusic dist/swingmusic_linux_arm64