ryubing-ryujinx/distribution/linux/appimage/build-appimage.sh
ranidspace 410ea9bfe2
Temporarily replace AppImage icon
The AppImage specification states that .DirIcon must be a PNG.
Currently, it's a PNG inside of an SVG container. This is the only place
where this file is used I believe.

The png was taken from `src/Ryujinx/Ryujinx.ico`. I believe there is
plans to replace the icon anyway. This also makes the icon consistent
with Windows and MacOS (it was smaller and had background shadows)

Hopefully this should also stop the SVG from randomly showing up in
searches on the forgejo. That may have been the reason I started looking
into this.
2026-05-21 12:40:47 -04:00

29 lines
No EOL
945 B
Bash
Executable file

#!/usr/bin/env sh
set -eu
ROOTDIR="$(readlink -f "$(dirname "$0")")"/../../../
cd "$ROOTDIR"
BUILDDIR=${BUILDDIR:-publish}
OUTDIR=${OUTDIR:-publish_appimage}
rm -rf AppDir
mkdir -p AppDir/usr/lib AppDir/usr/bin AppDir/usr/share/metainfo
cp -r "$BUILDDIR"/* AppDir/usr/lib/
cp distribution/linux/appimage/app.ryujinx.Ryujinx.appdata.xml AppDir/usr/share/metainfo/app.ryujinx.Ryujinx.appdata.xml
cp distribution/linux/app.ryujinx.Ryujinx.desktop AppDir/app.ryujinx.Ryujinx.desktop
cp distribution/misc/Logo.png AppDir/app.ryujinx.Ryujinx.png
ln -s ./app.ryujinx.Ryujinx.png AppDir/.DirIcon
ln -s ../lib/Ryujinx AppDir/usr/bin/Ryujinx
ln -s ./usr/lib/Ryujinx.sh AppDir/AppRun
# Ensure necessary bins are set as executable
chmod +x AppDir/AppRun AppDir/usr/bin/Ryujinx*
mkdir -p "$OUTDIR"
appimagetool --appimage-extract-and-run -n --comp zstd --mksquashfs-opt -Xcompression-level --mksquashfs-opt 21 \
AppDir "$OUTDIR"/Ryujinx.AppImage