mirror of
https://github.com/cemu-project/Cemu.git
synced 2025-12-12 10:37:02 +00:00
Linux: ARM AppImage
This commit is contained in:
parent
ef1c836290
commit
fe66b1f512
2 changed files with 38 additions and 19 deletions
39
.github/workflows/build.yml
vendored
39
.github/workflows/build.yml
vendored
|
|
@ -13,10 +13,22 @@ on:
|
||||||
env:
|
env:
|
||||||
VCPKG_ROOT: "${{github.workspace}}/dependencies/vcpkg"
|
VCPKG_ROOT: "${{github.workspace}}/dependencies/vcpkg"
|
||||||
VCPKG_BINARY_SOURCES: 'clear;nuget,GitHub,readwrite'
|
VCPKG_BINARY_SOURCES: 'clear;nuget,GitHub,readwrite'
|
||||||
|
VCPKG_FORCE_DOWNLOADED_BINARIES: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-ubuntu:
|
build-ubuntu:
|
||||||
runs-on: ubuntu-22.04
|
continue-on-error: true
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-22.04
|
||||||
|
arch: x64
|
||||||
|
- os: ubuntu-22.04-arm
|
||||||
|
arch: arm
|
||||||
|
|
||||||
|
name: build-ubuntu-${{ matrix.arch }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: "Checkout repo"
|
- name: "Checkout repo"
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
@ -41,11 +53,6 @@ jobs:
|
||||||
sudo apt update -qq
|
sudo apt update -qq
|
||||||
sudo apt install -y clang-15 cmake freeglut3-dev libgcrypt20-dev libglm-dev libgtk-3-dev libpulse-dev libsecret-1-dev libsystemd-dev libudev-dev nasm ninja-build libbluetooth-dev
|
sudo apt install -y clang-15 cmake freeglut3-dev libgcrypt20-dev libglm-dev libgtk-3-dev libpulse-dev libsecret-1-dev libsystemd-dev libudev-dev nasm ninja-build libbluetooth-dev
|
||||||
|
|
||||||
- name: "Setup cmake"
|
|
||||||
uses: jwlawson/actions-setup-cmake@v2
|
|
||||||
with:
|
|
||||||
cmake-version: '3.29.0'
|
|
||||||
|
|
||||||
- name: "Bootstrap vcpkg"
|
- name: "Bootstrap vcpkg"
|
||||||
run: |
|
run: |
|
||||||
bash ./dependencies/vcpkg/bootstrap-vcpkg.sh
|
bash ./dependencies/vcpkg/bootstrap-vcpkg.sh
|
||||||
|
|
@ -78,11 +85,21 @@ jobs:
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: cemu-bin-linux-x64
|
name: cemu-bin-linux-${{ matrix.arch }}
|
||||||
path: ./bin/Cemu
|
path: ./bin/Cemu
|
||||||
|
|
||||||
build-appimage:
|
build-appimage:
|
||||||
runs-on: ubuntu-22.04
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: ubuntu-22.04
|
||||||
|
arch: x64
|
||||||
|
- os: ubuntu-22.04-arm
|
||||||
|
arch: arm
|
||||||
|
|
||||||
|
name: build-appimage-${{ matrix.arch }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
needs: build-ubuntu
|
needs: build-ubuntu
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Upstream Repo
|
- name: Checkout Upstream Repo
|
||||||
|
|
@ -90,7 +107,7 @@ jobs:
|
||||||
|
|
||||||
- uses: actions/download-artifact@v4
|
- uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: cemu-bin-linux-x64
|
name: cemu-bin-linux-${{ matrix.arch }}
|
||||||
path: bin
|
path: bin
|
||||||
|
|
||||||
- name: "Install system dependencies"
|
- name: "Install system dependencies"
|
||||||
|
|
@ -102,12 +119,12 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"
|
export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"
|
||||||
export DEPLOY_GTK_VERSION=3
|
export DEPLOY_GTK_VERSION=3
|
||||||
dist/linux/appimage.sh
|
dist/linux/appimage.sh ${{ runner.arch }}
|
||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: cemu-appimage-x64
|
name: cemu-appimage-${{ matrix.arch }}
|
||||||
path: artifacts
|
path: artifacts
|
||||||
|
|
||||||
build-windows:
|
build-windows:
|
||||||
|
|
|
||||||
16
dist/linux/appimage.sh
vendored
16
dist/linux/appimage.sh
vendored
|
|
@ -1,20 +1,22 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ "$1" == 'X64' ]; then CPU_ARCH="x86_64"; else CPU_ARCH="aarch64"; fi
|
||||||
|
|
||||||
if [[ -z "${GITHUB_WORKSPACE}" ]]; then
|
if [[ -z "${GITHUB_WORKSPACE}" ]]; then
|
||||||
export GITHUB_WORKSPACE="."
|
export GITHUB_WORKSPACE="."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
curl -sSfLO "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage"
|
curl -sSfLO "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-"${CPU_ARCH}".AppImage"
|
||||||
chmod a+x linuxdeploy*.AppImage
|
chmod a+x linuxdeploy*.AppImage
|
||||||
curl -sSfL https://github.com"$(curl https://github.com/probonopd/go-appimage/releases/expanded_assets/continuous | grep "mkappimage-.*-x86_64.AppImage" | head -n 1 | cut -d '"' -f 2)" -o mkappimage.AppImage
|
curl -sSfL https://github.com"$(curl https://github.com/probonopd/go-appimage/releases/expanded_assets/continuous | grep "mkappimage-.*-"${CPU_ARCH}".AppImage" | head -n 1 | cut -d '"' -f 2)" -o mkappimage.AppImage
|
||||||
chmod a+x mkappimage.AppImage
|
chmod a+x mkappimage.AppImage
|
||||||
curl -sSfLO "https://raw.githubusercontent.com/linuxdeploy/linuxdeploy-plugin-gtk/master/linuxdeploy-plugin-gtk.sh"
|
curl -sSfLO "https://raw.githubusercontent.com/linuxdeploy/linuxdeploy-plugin-gtk/master/linuxdeploy-plugin-gtk.sh"
|
||||||
chmod a+x linuxdeploy-plugin-gtk.sh
|
chmod a+x linuxdeploy-plugin-gtk.sh
|
||||||
curl -sSfLO "https://github.com/darealshinji/linuxdeploy-plugin-checkrt/releases/download/continuous/linuxdeploy-plugin-checkrt.sh"
|
curl -sSfLO "https://github.com/darealshinji/linuxdeploy-plugin-checkrt/releases/download/continuous/linuxdeploy-plugin-checkrt.sh"
|
||||||
chmod a+x linuxdeploy-plugin-checkrt.sh
|
chmod a+x linuxdeploy-plugin-checkrt.sh
|
||||||
|
|
||||||
if [[ ! -e /usr/lib/x86_64-linux-gnu ]]; then
|
if [[ ! -e /usr/lib/"${CPU_ARCH}"-linux-gnu ]]; then
|
||||||
sed -i 's#lib\/x86_64-linux-gnu#lib64#g' linuxdeploy-plugin-gtk.sh
|
sed -i 's#lib\/"${CPU_ARCH}"-linux-gnu#lib64#g' linuxdeploy-plugin-gtk.sh
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p AppDir/usr/bin
|
mkdir -p AppDir/usr/bin
|
||||||
|
|
@ -32,11 +34,11 @@ cp -r bin/* AppDir/usr/share/Cemu
|
||||||
mv AppDir/usr/share/Cemu/Cemu AppDir/usr/bin/
|
mv AppDir/usr/share/Cemu/Cemu AppDir/usr/bin/
|
||||||
chmod +x AppDir/usr/bin/Cemu
|
chmod +x AppDir/usr/bin/Cemu
|
||||||
|
|
||||||
cp /usr/lib/x86_64-linux-gnu/{libsepol.so.1,libffi.so.7,libpcre.so.3,libGLU.so.1,libthai.so.0} AppDir/usr/lib
|
cp /usr/lib/"${CPU_ARCH}"-linux-gnu/{libsepol.so.1,libffi.so.7,libpcre.so.3,libGLU.so.1,libthai.so.0} AppDir/usr/lib
|
||||||
|
|
||||||
export UPD_INFO="gh-releases-zsync|cemu-project|Cemu|ci|Cemu.AppImage.zsync"
|
export UPD_INFO="gh-releases-zsync|cemu-project|Cemu|ci|Cemu.AppImage.zsync"
|
||||||
export NO_STRIP=1
|
export NO_STRIP=1
|
||||||
./linuxdeploy-x86_64.AppImage --appimage-extract-and-run \
|
./linuxdeploy-"${CPU_ARCH}".AppImage --appimage-extract-and-run \
|
||||||
--appdir="${GITHUB_WORKSPACE}"/AppDir/ \
|
--appdir="${GITHUB_WORKSPACE}"/AppDir/ \
|
||||||
-d "${GITHUB_WORKSPACE}"/AppDir/info.cemu.Cemu.desktop \
|
-d "${GITHUB_WORKSPACE}"/AppDir/info.cemu.Cemu.desktop \
|
||||||
-i "${GITHUB_WORKSPACE}"/AppDir/info.cemu.Cemu.png \
|
-i "${GITHUB_WORKSPACE}"/AppDir/info.cemu.Cemu.png \
|
||||||
|
|
@ -54,4 +56,4 @@ echo -e "export LC_ALL=C\nexport FONTCONFIG_PATH=/etc/fonts" >> AppDir/apprun-ho
|
||||||
VERSION="${GITVERSION}" ./mkappimage.AppImage --appimage-extract-and-run "${GITHUB_WORKSPACE}"/AppDir
|
VERSION="${GITVERSION}" ./mkappimage.AppImage --appimage-extract-and-run "${GITHUB_WORKSPACE}"/AppDir
|
||||||
|
|
||||||
mkdir -p "${GITHUB_WORKSPACE}"/artifacts/
|
mkdir -p "${GITHUB_WORKSPACE}"/artifacts/
|
||||||
mv Cemu-"${GITVERSION}"-x86_64.AppImage "${GITHUB_WORKSPACE}"/artifacts/
|
mv Cemu-"${GITVERSION}"-"${CPU_ARCH}".AppImage "${GITHUB_WORKSPACE}"/artifacts/
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue