mirror of
https://github.com/citra-emu/citra.git
synced 2024-11-22 18:20:05 +00:00
9ed4f8a85a
This should make the `citra.AppImage` and `citra-room.AppImage` work. It previously tried to start the `citra-qt` binary, because of the desktop file.
87 lines
3.7 KiB
Bash
Executable File
87 lines
3.7 KiB
Bash
Executable File
# Prepare AppDir
|
|
mv ./linux-arm64-appimage/AppDir.7z ./AppDir.7z
|
|
7z x AppDir.7z
|
|
mv ./AppDir/usr/local/* ./AppDir/usr
|
|
rm -rf ./AppDir/usr/local
|
|
sed -e s/PrefersNonDefaultGPU=true//g -i ./AppDir/usr/share/applications/citra-qt.desktop
|
|
|
|
# Seperate AppDir for all Citra executables
|
|
cp -r AppDir AppDir-qt
|
|
cp -r AppDir AppDir-room
|
|
|
|
rm -vf AppDir/usr/bin/citra-qt AppDir/usr/bin/citra-room
|
|
rm -vf AppDir-room/usr/bin/citra AppDir-room/usr/bin/citra-qt
|
|
rm -vf AppDir-qt/usr/bin/citra AppDir-qt/usr/bin/citra-room
|
|
|
|
mv ./AppDir/usr/share/applications/citra-qt.desktop ./AppDir/usr/share/applications/citra.desktop
|
|
mv ./AppDir-room/usr/share/applications/citra-qt.desktop ./AppDir-room/usr/share/applications/citra-room.desktop
|
|
|
|
sed -i 's/citra-qt/citra/g' ./AppDir/usr/share/applications/citra.desktop
|
|
sed -i 's/citra-qt/citra-room/g' ./AppDir-room/usr/share/applications/citra-room.desktop
|
|
|
|
# Download appimagetool, needed to build an AppImage
|
|
wget https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage
|
|
|
|
# Set executable bit
|
|
chmod a+x appimagetool-x86_64.AppImage
|
|
|
|
# Workaround for https://github.com/AppImage/AppImageKit/issues/828
|
|
export APPIMAGE_EXTRACT_AND_RUN=1
|
|
|
|
# Deploy Citra's needed dependencies
|
|
DEPLOY_QT=0 ./dist/appimage/deploy-linux.sh AppDir/usr/bin/citra AppDir
|
|
DEPLOY_QT=0 ./dist/appimage/deploy-linux.sh AppDir-room/usr/bin/citra-room AppDir-room
|
|
DEPLOY_QT=1 ./dist/appimage/deploy-linux.sh AppDir-qt/usr/bin/citra-qt AppDir-qt
|
|
|
|
mkdir AppDir/apprun-hooks
|
|
mkdir -p AppDir/usr/optional
|
|
mkdir -p AppDir/usr/optional/libstdc++
|
|
mkdir -p AppDir/usr/optional/libgcc_s
|
|
|
|
mkdir AppDir-room/apprun-hooks
|
|
mkdir -p AppDir-room/usr/optional
|
|
mkdir -p AppDir-room/usr/optional/libstdc++
|
|
mkdir -p AppDir-room/usr/optional/libgcc_s
|
|
|
|
mkdir AppDir-qt/apprun-hooks
|
|
mkdir -p AppDir-qt/usr/optional
|
|
mkdir -p AppDir-qt/usr/optional/libstdc++
|
|
mkdir -p AppDir-qt/usr/optional/libgcc_s
|
|
|
|
cp ./dist/appimage/AppRun.sh AppDir/AppRun
|
|
cp ./dist/appimage/AppRun.wrapped.sh AppDir/AppRun.wrapped
|
|
cp ./dist/appimage/AppRun-hook.sh AppDir/apprun-hooks/AppRun-hook
|
|
cp ./dist/appimage/exec-aarch64.so AppDir/usr/optional/exec.so
|
|
cp --dereference /usr/lib/aarch64-linux-gnu/libstdc++.so.6 AppDir/usr/optional/libstdc++/libstdc++.so.6
|
|
cp --dereference /lib/aarch64-linux-gnu/libgcc_s.so.1 AppDir/usr/optional/libgcc_s/libgcc_s.so.1
|
|
|
|
cp ./dist/appimage/AppRun.sh AppDir-room/AppRun
|
|
cp ./dist/appimage/AppRun.wrapped.sh AppDir-room/AppRun.wrapped
|
|
cp ./dist/appimage/AppRun-hook.sh AppDir-room/apprun-hooks/AppRun-hook
|
|
cp ./dist/appimage/exec-aarch64.so AppDir-room/usr/optional/exec.so
|
|
cp --dereference /usr/lib/aarch64-linux-gnu/libstdc++.so.6 AppDir-room/usr/optional/libstdc++/libstdc++.so.6
|
|
cp --dereference /lib/aarch64-linux-gnu/libgcc_s.so.1 AppDir-room/usr/optional/libgcc_s/libgcc_s.so.1
|
|
|
|
cp ./dist/appimage/AppRun.sh AppDir-qt/AppRun
|
|
cp ./dist/appimage/AppRun.wrapped.sh AppDir-qt/AppRun.wrapped
|
|
cp ./dist/appimage/AppRun-hook.sh AppDir-qt/apprun-hooks/AppRun-hook
|
|
cp ./dist/appimage/exec-aarch64.so AppDir-qt/usr/optional/exec.so
|
|
cp --dereference /usr/lib/aarch64-linux-gnu/libstdc++.so.6 AppDir-qt/usr/optional/libstdc++/libstdc++.so.6
|
|
cp --dereference /lib/aarch64-linux-gnu/libgcc_s.so.1 AppDir-qt/usr/optional/libgcc_s/libgcc_s.so.1
|
|
|
|
# Build an AppImage
|
|
ARCH=aarch64 ./appimagetool-x86_64.AppImage AppDir citra.AppImage
|
|
ARCH=aarch64 ./appimagetool-x86_64.AppImage AppDir-room citra-room.AppImage
|
|
ARCH=aarch64 ./appimagetool-x86_64.AppImage AppDir-qt citra-qt.AppImage
|
|
|
|
mkdir -p ./build/bundle
|
|
mv citra.AppImage ./build/bundle
|
|
mv citra-room.AppImage ./build/bundle
|
|
mv citra-qt.AppImage ./build/bundle
|
|
|
|
mkdir ./build/bundle/dist
|
|
cp ./dist/icon.png ./build/bundle/dist/citra.png
|
|
cp ./license.txt ./build/bundle
|
|
cp ./README.md ./build/bundle
|
|
cp -r ./dist/scripting ./build/bundle/scripting
|