Separate AppImage build process, etc
This commit is contained in:
parent
8b1b238b30
commit
d45969a1c5
37
.github/workflows/build.yml
vendored
37
.github/workflows/build.yml
vendored
@ -79,37 +79,34 @@ jobs:
|
|||||||
chmod +x ./publish_sdl2_headless/Ryujinx.Headless.SDL2 ./publish_sdl2_headless/Ryujinx.sh
|
chmod +x ./publish_sdl2_headless/Ryujinx.Headless.SDL2 ./publish_sdl2_headless/Ryujinx.sh
|
||||||
chmod +x ./publish_gtk/Ryujinx.Gtk3 ./publish_gtk/Ryujinx.sh
|
chmod +x ./publish_gtk/Ryujinx.Gtk3 ./publish_gtk/Ryujinx.sh
|
||||||
|
|
||||||
- name: Make AppImage
|
- name: Build AppImage
|
||||||
if: github.event_name == 'pull_request' && matrix.platform.os == 'ubuntu-latest' && matrix.platform.name != 'linux-arm64'
|
if: github.event_name == 'pull_request' && matrix.platform.name == 'linux-x64'
|
||||||
run: |
|
run: |
|
||||||
sudo apt install zsync desktop-file-utils
|
sudo apt install -y zsync desktop-file-utils
|
||||||
APPIMAGETOOL="https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage"
|
|
||||||
DESKTOP="https://raw.githubusercontent.com/ryujinx-mirror/Ryujinx/master/distribution/linux/Ryujinx.desktop"
|
mkdir -p tools
|
||||||
ICON="https://raw.githubusercontent.com/ryujinx-mirror/Ryujinx/master/src/Ryujinx/Ryujinx.ico"
|
export PATH="$PATH:$(readlink -f tools)"
|
||||||
mkdir -p ./AppDir/usr/bin && cp -r ./publish/* ./AppDir/usr/bin
|
|
||||||
wget -q "$APPIMAGETOOL" -O ./appimagetool
|
# Setup appimagetool
|
||||||
wget $DESKTOP -O ./AppDir/Ryujinx.desktop
|
wget -q -O tools/appimagetool "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage"
|
||||||
wget $ICON -O ./AppDir/Ryujinx.png && ln -s Ryujinx.png ./AppDir/.DirIcon
|
chmod +x tools/appimagetool
|
||||||
printf '%s\n%s\n%s\n' '#!/bin/sh' 'CURRENTDIR="$(readlink -f "$(dirname "$0")")"' \
|
|
||||||
'exec "$CURRENTDIR"/usr/bin/Ryujinx.sh "$@"' > ./AppDir/AppRun
|
BUILDDIR=publish OUTDIR=publish_appimage distribution/linux/appimage/build-appimage.sh
|
||||||
chmod +x ./AppDir/AppRun ./appimagetool ./AppDir/usr/bin/Ryujinx*
|
shell: bash
|
||||||
./appimagetool --comp zstd --mksquashfs-opt -Xcompression-level --mksquashfs-opt 21 \
|
|
||||||
-u "gh-releases-zsync|$GITHUB_REPOSITORY_OWNER|Ryujinx|latest|*.AppImage.zsync" \
|
|
||||||
./AppDir Ryujinx.AppImage
|
|
||||||
|
|
||||||
- name: Upload Ryujinx AppImage
|
- name: Upload Ryujinx AppImage
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
if: github.event_name == 'pull_request' && matrix.platform.name != 'linux-arm64' && matrix.platform.os != 'macos-13'
|
if: github.event_name == 'pull_request' && matrix.platform.name == 'linux-x64'
|
||||||
with:
|
with:
|
||||||
name: ryujinx-${{ matrix.configuration }}-${{ env.RYUJINX_BASE_VERSION }}+${{ steps.git_short_hash.outputs.result }}.AppImage
|
name: ryujinx-${{ matrix.configuration }}-${{ env.RYUJINX_BASE_VERSION }}+${{ steps.git_short_hash.outputs.result }}.AppImage
|
||||||
path: Ryujinx.AppImage
|
path: publish_appimage/Ryujinx.AppImage
|
||||||
|
|
||||||
- name: Upload Ryujinx AppImage zsync
|
- name: Upload Ryujinx AppImage zsync
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
if: github.event_name == 'pull_request' && matrix.platform.name != 'linux-arm64' && matrix.platform.os != 'macos-13'
|
if: github.event_name == 'pull_request' && matrix.platform.name == 'linux-x64'
|
||||||
with:
|
with:
|
||||||
name: ryujinx-${{ matrix.configuration }}-${{ env.RYUJINX_BASE_VERSION }}+${{ steps.git_short_hash.outputs.result }}.AppImage.zsync
|
name: ryujinx-${{ matrix.configuration }}-${{ env.RYUJINX_BASE_VERSION }}+${{ steps.git_short_hash.outputs.result }}.AppImage.zsync
|
||||||
path: Ryujinx.AppImage.zsync
|
path: publish_appimage/Ryujinx.AppImage.zsync
|
||||||
|
|
||||||
- name: Upload Ryujinx artifact
|
- name: Upload Ryujinx artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
|
8
.gitignore
vendored
8
.gitignore
vendored
@ -10,13 +10,15 @@
|
|||||||
|
|
||||||
# Build results
|
# Build results
|
||||||
|
|
||||||
[Dd]ebug/
|
[Dd]ebug*/
|
||||||
[Rr]elease/
|
[Rr]elease*/
|
||||||
x64/
|
x64/
|
||||||
build/
|
build/
|
||||||
[Bb]in/
|
[Bb]in/
|
||||||
[Oo]bj/
|
[Oo]bj/
|
||||||
|
|
||||||
|
AppDir/
|
||||||
|
|
||||||
# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
|
# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
|
||||||
!packages/*/build/
|
!packages/*/build/
|
||||||
|
|
||||||
@ -95,7 +97,7 @@ DocProject/Help/Html2
|
|||||||
DocProject/Help/html
|
DocProject/Help/html
|
||||||
|
|
||||||
# Click-Once directory
|
# Click-Once directory
|
||||||
publish/
|
publish*/
|
||||||
|
|
||||||
# Publish Web Output
|
# Publish Web Output
|
||||||
*.Publish.xml
|
*.Publish.xml
|
||||||
|
3
distribution/linux/appimage/AppRun
Executable file
3
distribution/linux/appimage/AppRun
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
CURRENTDIR="$(readlink -f "$(dirname "$0")")"
|
||||||
|
exec "$CURRENTDIR"/usr/bin/Ryujinx.sh "$@"
|
30
distribution/linux/appimage/build-appimage.sh
Executable file
30
distribution/linux/appimage/build-appimage.sh
Executable file
@ -0,0 +1,30 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
ROOTDIR="$(readlink -f "$(dirname "$0")")"/../../../
|
||||||
|
cd "$ROOTDIR"
|
||||||
|
|
||||||
|
BUILDDIR=${BUILDDIR:-publish}
|
||||||
|
OUTDIR=${OUTDIR:-publish_appimage}
|
||||||
|
|
||||||
|
rm -rf AppDir
|
||||||
|
mkdir -p AppDir/usr/bin/bin
|
||||||
|
|
||||||
|
# Ensure necessary bins are set as executable
|
||||||
|
chmod +x "$BUILDDIR"/Ryujinx*
|
||||||
|
|
||||||
|
# Add symlinks for the AppImage
|
||||||
|
ln -s "$ROOTDIR"/distribution/linux/Ryujinx.desktop AppDir/Ryujinx.desktop
|
||||||
|
ln -s "$ROOTDIR"/distribution/linux/appimage/AppRun AppDir/AppRun
|
||||||
|
ln -s "$ROOTDIR"/distribution/misc/Logo.svg AppDir/Ryujinx.svg
|
||||||
|
|
||||||
|
cp -r "$BUILDDIR"/* AppDir/usr/bin/
|
||||||
|
|
||||||
|
mkdir -p "$OUTDIR"
|
||||||
|
|
||||||
|
appimagetool --comp zstd --mksquashfs-opt -Xcompression-level --mksquashfs-opt 21 \
|
||||||
|
-u "gh-releases-zsync|$GITHUB_REPOSITORY_OWNER|Ryujinx|latest|*.AppImage.zsync" \
|
||||||
|
AppDir "$OUTDIR"/Ryujinx.AppImage
|
||||||
|
|
||||||
|
# ??
|
||||||
|
mv ./*.AppImage.zsync "$OUTDIR"
|
Loading…
x
Reference in New Issue
Block a user