Browse Source

AppImage the long way (#45)

fixed sdl and opengl i think

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/45
Co-authored-by: swurl <swurl@swurl.xyz>
Co-committed-by: swurl <swurl@swurl.xyz>
nce_cpp
swurl 8 months ago
committed by crueter
parent
commit
1f091191f2
  1. 5
      .ci/linux.sh
  2. 59
      .ci/package-appimage.sh
  3. 7
      .github/workflows/build.yml

5
.ci/linux.sh

@ -50,8 +50,8 @@ cmake .. -G Ninja \
-DYUZU_USE_BUNDLED_QT=OFF \ -DYUZU_USE_BUNDLED_QT=OFF \
-DUSE_SYSTEM_QT=ON \ -DUSE_SYSTEM_QT=ON \
-DYUZU_USE_BUNDLED_FFMPEG=OFF \ -DYUZU_USE_BUNDLED_FFMPEG=OFF \
-DYUZU_USE_BUNDLED_SDL2=ON \
-DYUZU_USE_EXTERNAL_SDL2=OFF \
-DYUZU_USE_BUNDLED_SDL2=OFF \
-DYUZU_USE_EXTERNAL_SDL2=ON \
-DYUZU_TESTS=OFF \ -DYUZU_TESTS=OFF \
-DYUZU_USE_LLVM_DEMANGLE=OFF \ -DYUZU_USE_LLVM_DEMANGLE=OFF \
-DYUZU_USE_QT_MULTIMEDIA=OFF \ -DYUZU_USE_QT_MULTIMEDIA=OFF \
@ -61,6 +61,7 @@ cmake .. -G Ninja \
-DBUNDLE_SPEEX=ON \ -DBUNDLE_SPEEX=ON \
-DYUZU_USE_FASTER_LD=OFF \ -DYUZU_USE_FASTER_LD=OFF \
-DYUZU_ENABLE_LTO=ON \ -DYUZU_ENABLE_LTO=ON \
-DCMAKE_LINKER=/usr/bin/mold \
"${EXTRA_CMAKE_FLAGS[@]}" "${EXTRA_CMAKE_FLAGS[@]}"
ninja -j${NPROC} ninja -j${NPROC}

59
.ci/package-appimage.sh

@ -4,7 +4,8 @@
set -ex set -ex
export APPIMAGE_EXTRACT_AND_RUN=1 export APPIMAGE_EXTRACT_AND_RUN=1
export ARCH="$(uname -m)"
export BASE_ARCH="$(uname -m)"
export ARCH="$BASE_ARCH"
LIB4BN="https://raw.githubusercontent.com/VHSgunzo/sharun/refs/heads/main/lib4bin" LIB4BN="https://raw.githubusercontent.com/VHSgunzo/sharun/refs/heads/main/lib4bin"
URUNTIME="https://github.com/VHSgunzo/uruntime/releases/latest/download/uruntime-appimage-dwarfs-$ARCH" URUNTIME="https://github.com/VHSgunzo/uruntime/releases/latest/download/uruntime-appimage-dwarfs-$ARCH"
@ -27,7 +28,7 @@ fi
#fi #fi
# TODO: use real tags # TODO: use real tags
YUZU_TAG="0.0.0"
VERSION="0.0.0"
# NOW MAKE APPIMAGE # NOW MAKE APPIMAGE
mkdir -p ./AppDir mkdir -p ./AppDir
@ -51,34 +52,41 @@ if [ "$DEVEL" = 'true' ]; then
UPINFO="$(echo "$UPINFO" | sed 's|latest|nightly|')" UPINFO="$(echo "$UPINFO" | sed 's|latest|nightly|')"
fi fi
LIBDIR="/usr/lib"
# some distros are weird and use a subdir
if [ ! -f "/usr/lib/libGL.so" ]
then
LIBDIR="/usr/lib/${BASE_ARCH}-linux-gnu"
fi
# Bundle all libs # Bundle all libs
wget --retry-connrefused --tries=30 "$LIB4BN" -O ./lib4bin wget --retry-connrefused --tries=30 "$LIB4BN" -O ./lib4bin
chmod +x ./lib4bin chmod +x ./lib4bin
xvfb-run -a -- ./lib4bin -p -v -e -s -k \ xvfb-run -a -- ./lib4bin -p -v -e -s -k \
../build/bin/eden* \ ../build/bin/eden* \
/usr/lib/libGLX* \
/usr/lib/libGL.so* \
/usr/lib/libEGL* \
/usr/lib/dri/* \
/usr/lib/vdpau/* \
/usr/lib/libvulkan* \
/usr/lib/libXss.so* \
/usr/lib/libdecor-0.so* \
/usr/lib/libgamemode.so* \
/usr/lib/qt6/plugins/audio/* \
/usr/lib/qt6/plugins/bearer/* \
/usr/lib/qt6/plugins/imageformats/* \
/usr/lib/qt6/plugins/iconengines/* \
/usr/lib/qt6/plugins/platforms/* \
/usr/lib/qt6/plugins/platformthemes/* \
/usr/lib/qt6/plugins/platforminputcontexts/* \
/usr/lib/qt6/plugins/styles/* \
/usr/lib/qt6/plugins/xcbglintegrations/* \
/usr/lib/qt6/plugins/wayland-*/* \
/usr/lib/pulseaudio/* \
/usr/lib/pipewire-0.3/* \
/usr/lib/spa-0.2/*/* \
/usr/lib/alsa-lib/*
$LIBDIR/lib*GL*.so* \
$LIBDIR/libSDL2*.so* \
$LIBDIR/dri/* \
$LIBDIR/vdpau/* \
$LIBDIR/libvulkan* \
$LIBDIR/libXss.so* \
$LIBDIR/libdecor-0.so* \
$LIBDIR/libgamemode.so* \
$LIBDIR/qt6/plugins/audio/* \
$LIBDIR/qt6/plugins/bearer/* \
$LIBDIR/qt6/plugins/imageformats/* \
$LIBDIR/qt6/plugins/iconengines/* \
$LIBDIR/qt6/plugins/platforms/* \
$LIBDIR/qt6/plugins/platformthemes/* \
$LIBDIR/qt6/plugins/platforminputcontexts/* \
$LIBDIR/qt6/plugins/styles/* \
$LIBDIR/qt6/plugins/xcbglintegrations/* \
$LIBDIR/qt6/plugins/wayland-*/* \
$LIBDIR/pulseaudio/* \
$LIBDIR/pipewire-0.3/* \
$LIBDIR/spa-0.2/*/* \
$LIBDIR/alsa-lib/*
# Prepare sharun # Prepare sharun
if [ "$ARCH" = 'aarch64' ]; then if [ "$ARCH" = 'aarch64' ]; then
@ -108,6 +116,7 @@ echo "Generating AppImage..."
--categorize=hotness --hotness-list=.ci/eden.dwfsprof \ --categorize=hotness --hotness-list=.ci/eden.dwfsprof \
--compression zstd:level=22 -S26 -B32 \ --compression zstd:level=22 -S26 -B32 \
--header uruntime \ --header uruntime \
-N 4 \
-i ./AppDir -o Eden-"$VERSION"-"$ARCH".AppImage -i ./AppDir -o Eden-"$VERSION"-"$ARCH".AppImage
echo "Generating zsync file..." echo "Generating zsync file..."

7
.github/workflows/build.yml

@ -166,7 +166,7 @@ jobs:
- name: Build - name: Build
run: | run: |
./.ci/linux.sh v3 4
./.ci/linux.sh v3 8
- name: Package AppImage - name: Package AppImage
run: | run: |
@ -201,11 +201,6 @@ jobs:
fi fi
echo $GIT_TAG_NAME echo $GIT_TAG_NAME
- name: Deps
run: |
sudo apt-get update -y
sudo apt-get install ccache glslang-dev glslang-tools apksigner -y
- name: Build - name: Build
run: JAVA_HOME=$JAVA_HOME_21_X64 ./.ci/android.sh run: JAVA_HOME=$JAVA_HOME_21_X64 ./.ci/android.sh

Loading…
Cancel
Save