diff options
Diffstat (limited to 'scripts/build_appimage.sh')
| -rwxr-xr-x | scripts/build_appimage.sh | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/scripts/build_appimage.sh b/scripts/build_appimage.sh new file mode 100755 index 0000000..d39f506 --- /dev/null +++ b/scripts/build_appimage.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash + +set -euo pipefail + +container_image_prefix=$1 +distro=$2 +app_name=$3 +arch=$4 +channel=$5 +linuxdeploy=$6 + +version=`just version` +staging="$(mktemp -d)" + +just dist +tar -xJf "_build/meson-dist/map-${version}.tar.xz" -C "${staging}/" +cp ${linuxdeploy} "${staging}/linuxdeploy.AppImage" + +podman run --rm -v "${staging}:/build:Z" \ + ${container_image_prefix}:${distro} \ + bash -c " + cd /build/map-${version} + meson setup --prefix=/usr _build + meson compile -C _build + DESTDIR=/build/appdir meson install -C _build + cd /build + APPIMAGE_EXTRACT_AND_RUN=1 NO_STRIP=true /build/linuxdeploy.AppImage \ + --appdir=/build/appdir --output=appimage \ + --desktop-file=/build/appdir/usr/share/applications/systems.tranquil.Map.desktop \ + --icon-file=/build/appdir/usr/share/icons/hicolor/scalable/apps/systems.tranquil.Map.svg + mkdir -p /build/out + mv /build/Map*.AppImage /build/out/ + " + +mkdir -p dist +mv ${staging}/out/*.AppImage "dist/${app_name}-${arch}-${channel}.AppImage" +rm -rf "${staging}" |