aboutsummaryrefslogtreecommitdiff
path: root/scripts/build_appimage.sh
blob: b40996128b955ec70ae79cf96e92f7b5e4ac4ec1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/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)"

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/
  "

mv ${staging}/out/*.AppImage "_dist/${app_name}-${arch}-${channel}.AppImage"
rm -rf "${staging}"