AppImage the long way (#45)
Some checks failed
eden-build / windows (msvc) (push) Has been cancelled
eden-build / linux (push) Has been cancelled
eden-build / android (push) Has been cancelled
eden-build / source (push) Has been cancelled

fixed sdl and opengl i think

Reviewed-on: #45
Co-authored-by: swurl <swurl@swurl.xyz>
Co-committed-by: swurl <swurl@swurl.xyz>
This commit is contained in:
swurl 2025-04-20 22:09:44 +00:00 committed by crueter
parent 022f4551a1
commit f0c9fa5355
3 changed files with 38 additions and 33 deletions

View file

@ -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_BUNDLED_SDL2=OFF \
-DYUZU_USE_EXTERNAL_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}

View file

@ -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* \ $LIBDIR/lib*GL*.so* \
/usr/lib/libGL.so* \ $LIBDIR/libSDL2*.so* \
/usr/lib/libEGL* \ $LIBDIR/dri/* \
/usr/lib/dri/* \ $LIBDIR/vdpau/* \
/usr/lib/vdpau/* \ $LIBDIR/libvulkan* \
/usr/lib/libvulkan* \ $LIBDIR/libXss.so* \
/usr/lib/libXss.so* \ $LIBDIR/libdecor-0.so* \
/usr/lib/libdecor-0.so* \ $LIBDIR/libgamemode.so* \
/usr/lib/libgamemode.so* \ $LIBDIR/qt6/plugins/audio/* \
/usr/lib/qt6/plugins/audio/* \ $LIBDIR/qt6/plugins/bearer/* \
/usr/lib/qt6/plugins/bearer/* \ $LIBDIR/qt6/plugins/imageformats/* \
/usr/lib/qt6/plugins/imageformats/* \ $LIBDIR/qt6/plugins/iconengines/* \
/usr/lib/qt6/plugins/iconengines/* \ $LIBDIR/qt6/plugins/platforms/* \
/usr/lib/qt6/plugins/platforms/* \ $LIBDIR/qt6/plugins/platformthemes/* \
/usr/lib/qt6/plugins/platformthemes/* \ $LIBDIR/qt6/plugins/platforminputcontexts/* \
/usr/lib/qt6/plugins/platforminputcontexts/* \ $LIBDIR/qt6/plugins/styles/* \
/usr/lib/qt6/plugins/styles/* \ $LIBDIR/qt6/plugins/xcbglintegrations/* \
/usr/lib/qt6/plugins/xcbglintegrations/* \ $LIBDIR/qt6/plugins/wayland-*/* \
/usr/lib/qt6/plugins/wayland-*/* \ $LIBDIR/pulseaudio/* \
/usr/lib/pulseaudio/* \ $LIBDIR/pipewire-0.3/* \
/usr/lib/pipewire-0.3/* \ $LIBDIR/spa-0.2/*/* \
/usr/lib/spa-0.2/*/* \ $LIBDIR/alsa-lib/*
/usr/lib/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..."

View file

@ -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