diff --git a/.github/workflows/build-appimage.yml b/.github/workflows/build-appimage.yml index cb7c4d83..aad28835 100644 --- a/.github/workflows/build-appimage.yml +++ b/.github/workflows/build-appimage.yml @@ -32,26 +32,39 @@ jobs: qml6-module-qtqml-workerscript qml6-module-qtquick-window qml6-module-qtquick python3-pip nasm libgbm-dev libdrm-dev libfreetype-dev libasound2-dev \ libdbus-1-dev libegl1-mesa-dev libgl1-mesa-dev libgles2-mesa-dev libglu1-mesa-dev libibus-1.0-dev libpulse-dev libudev-dev libx11-dev libxcursor-dev \ libxext-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxss-dev libxt-dev libxv-dev libxxf86vm-dev libxcb-dri3-dev libx11-xcb-dev \ - wayland-protocols libopus-dev libvdpau-dev libgl-dev libpipewire-0.3-dev vulkan-sdk + libxfixes-dev libxtst-dev wayland-protocols libopus-dev libvdpau-dev libgl-dev libpipewire-0.3-dev liburing-dev vulkan-sdk cmake sudo pip3 install meson mkdir -p dep_root/{bin,include,lib} echo "DEP_ROOT=$PWD/dep_root" >> "${GITHUB_ENV}" echo "$PWD/dep_root/bin" >> "${GITHUB_PATH}" - - name: Checkout SDL + - name: Checkout SDL3 uses: actions/checkout@v5 with: repository: libsdl-org/SDL - ref: 3eba0b6f8a21392f47b1b53a476e7633048de9b1 + ref: 3bde3e24069db59133bc1e8dbe3c693008821a93 path: deps/SDL - - name: Build SDL + - name: Build SDL3 working-directory: deps/SDL run: | - ./autogen.sh - ./configure - make -j$(nproc) - sudo make install + cmake -DSDL_KMSDRM=OFF -DSDL_TEST_LIBRARY=OFF -DSDL_INSTALL_DOCS=OFF -S . -B build + cmake --build build -j + sudo cmake --install build + + - name: Checkout sdl2-compat + uses: actions/checkout@v5 + with: + repository: libsdl-org/sdl2-compat + ref: 1c8ece4de9db96d01f99296c26a87a4cabb72f54 + path: deps/sdl2-compat + + - name: Build sdl2-compat + working-directory: deps/sdl2-compat + run: | + cmake -DSDL2COMPAT_TESTS=OFF -S . -B build + cmake --build build -j + sudo cmake --install build - name: Checkout SDL_ttf uses: actions/checkout@v5 diff --git a/scripts/build-appimage.sh b/scripts/build-appimage.sh index d7d32fe1..4e01ce06 100755 --- a/scripts/build-appimage.sh +++ b/scripts/build-appimage.sh @@ -52,9 +52,17 @@ pushd $BUILD_FOLDER make install || fail "Make install failed!" popd +# We need to manually place SDL3 in our AppImage, since linuxdeployqt +# cannot see the dependency via ldd when it looks at SDL2-compat. +echo Staging SDL3 library +mkdir -p $DEPLOY_FOLDER/usr/lib +cp /usr/local/lib/libSDL3.so.0 $DEPLOY_FOLDER/usr/lib/ + echo Creating AppImage pushd $INSTALLER_FOLDER -VERSION=$VERSION linuxdeployqt $DEPLOY_FOLDER/usr/share/applications/com.moonlight_stream.Moonlight.desktop -qmake=qmake6 -qmldir=$SOURCE_ROOT/app/gui -appimage -extra-plugins=tls || fail "linuxdeployqt failed!" +VERSION=$VERSION linuxdeployqt $DEPLOY_FOLDER/usr/share/applications/com.moonlight_stream.Moonlight.desktop \ + -qmake=qmake6 -qmldir=$SOURCE_ROOT/app/gui -appimage -extra-plugins=tls \ + -executable=$DEPLOY_FOLDER/usr/lib/libSDL3.so.0 || fail "linuxdeployqt failed!" popd echo Build successful \ No newline at end of file