diff --git a/.github/scripts/Linux/download_build_sdl.sh b/.github/scripts/Linux/download_build_sdl.sh new file mode 100755 index 000000000..a49243a0d --- /dev/null +++ b/.github/scripts/Linux/download_build_sdl.sh @@ -0,0 +1,30 @@ +#!/bin/sh -eu + +mkdir -p /var/tmp/sdl +cd /var/tmp/sdl + +# v2.0.22 requires wayland-client version 1.18.0 but in U18.04 is only 1.16.0 +curl -sSLO https://github.com/libsdl-org/SDL/releases/download/release-2.0.20/SDL2-2.0.20.tar.gz +tar xaf SDL2*tar* +cd SDL2-2.0.20 +./configure +make -j "$(nproc)" +sudo make install # SDL needs to be installed here because it is a dependency for the below +cd .. + +git clone --depth 1 https://github.com/libsdl-org/SDL_mixer +cd SDL_mixer +./configure +make -j "$(nproc)" +sudo make install +cd .. + +# v2.0.18 and further require automake 1.16 but U18.04 has only automake 1.15.1 +git clone -b release-2.0.15 --depth 1 https://github.com/libsdl-org/SDL_ttf +cd SDL_ttf +./autogen.sh # to allow automake 1.15.1 +./configure +make -j "$(nproc)" +sudo make install +cd .. + diff --git a/.github/scripts/Linux/install_sdl.sh b/.github/scripts/Linux/install_sdl.sh index c77a82034..b276e8f1e 100755 --- a/.github/scripts/Linux/install_sdl.sh +++ b/.github/scripts/Linux/install_sdl.sh @@ -1,27 +1,9 @@ #!/bin/sh -eu -sudo aptitude -y build-dep libsdl2 libsdl2-mixer libsdl2-ttf libsdl2-dev: -# v2.0.22 requires wayland-client version 1.18.0 but in U18.04 is only 1.16.0 -curl -sSLO https://github.com/libsdl-org/SDL/releases/download/release-2.0.20/SDL2-2.0.20.tar.gz -tar xaf SDL2*tar* -cd SDL2-2.0.20 -./configure -make -j "$(nproc)" +cd /var/tmp/sdl/SDL2-2.0.20 +sudo make install +cd ../SDL_mixer +sudo make install +cd ../SDL_ttf sudo make install -cd .. -git clone --depth 1 https://github.com/libsdl-org/SDL_mixer -cd SDL_mixer -./configure -make -j "$(nproc)" -sudo make install -cd .. - -# v2.0.18 and further require automake 1.16 but U18.04 has only automake 1.15.1 -git clone -b release-2.0.15 --depth 1 https://github.com/libsdl-org/SDL_ttf -cd SDL_ttf -./autogen.sh # to allow automake 1.15.1 -./configure -make -j "$(nproc)" -sudo make install -cd .. diff --git a/.github/scripts/Linux/prepare.sh b/.github/scripts/Linux/prepare.sh index 5bcd4bfb3..84a4af580 100755 --- a/.github/scripts/Linux/prepare.sh +++ b/.github/scripts/Linux/prepare.sh @@ -26,7 +26,7 @@ sudo apt install libcurl4-nss-dev sudo apt install i965-va-driver-shaders # instead of i965-va-driver sudo apt install uuid-dev # Cineform -"$GITHUB_WORKSPACE/.github/scripts/Linux/install_sdl.sh" +sudo aptitude -y build-dep libsdl2 libsdl2-mixer libsdl2-ttf libsdl2-dev: "$GITHUB_WORKSPACE/.github/scripts/Linux/ffmpeg_deps.sh" # Install cross-platform deps diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml index 0e61cb11e..73ebcc9d4 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/ccpp.yml @@ -104,6 +104,18 @@ jobs: - name: Install Cached FFmpeg if: steps.cache-ffmpeg.outputs.cache-hit == 'true' run: .github/scripts/Linux/install_ffmpeg.sh + - name: Cache SDL + id: cache-sdl + uses: actions/cache@v3 + with: + path: '/var/tmp/sdl' + key: cache-sdl-${{ runner.os }}-${{ hashFiles( '.github/scripts/Linux/download_build_sdl.sh' ) }} + - name: Build SDL + if: steps.cache-sdl.outputs.cache-hit != 'true' + run: .github/scripts/Linux/download_build_sdl.sh + - name: Install Cached SDL + if: steps.cache-sdl.outputs.cache-hit == 'true' + run: .github/scripts/Linux/install_sdl.sh - name: configure run: "./autogen.sh --enable-plugins ${{ env.CUDA_FEATURES }} ${{ env.FEATURES }} --enable-alsa --enable-v4l2 --enable-vulkan=auto || { RC=$?; cat config.log; exit $RC; }" - name: make