diff --git a/.github/scripts/Linux/install_ffmpeg.sh b/.github/scripts/Linux/install_ffmpeg.sh index a2b212491..161ceb3e1 100755 --- a/.github/scripts/Linux/install_ffmpeg.sh +++ b/.github/scripts/Linux/install_ffmpeg.sh @@ -124,4 +124,9 @@ install_cached() { sudo ldconfig } -"${1?action required!}" +deps +if [ -d $cache_dir ]; then + install_cached +else + build_install +fi diff --git a/.github/scripts/Linux/install_others.sh b/.github/scripts/Linux/install_others.sh index f74d17da8..22a7027df 100755 --- a/.github/scripts/Linux/install_others.sh +++ b/.github/scripts/Linux/install_others.sh @@ -66,6 +66,7 @@ install_rav1e() {( # FFmpeg master needs at least v1.3.277 as for 6th Mar '25 install_vulkan() {( + sudo apt build-dep libvulkan1 git clone --depth 1 https://github.com/KhronosGroup/Vulkan-Headers mkdir Vulkan-Headers/build cd Vulkan-Headers/build diff --git a/.github/scripts/Linux/install_sdl.sh b/.github/scripts/Linux/install_sdl.sh index df6ba0458..02ce10a10 100755 --- a/.github/scripts/Linux/install_sdl.sh +++ b/.github/scripts/Linux/install_sdl.sh @@ -46,4 +46,9 @@ install_cached() { sudo cmake --install fluidsynth/build } -"${1?action required!}" +deps +if [ -d $cache_dir ]; then + install_cached +else + build_install +fi diff --git a/.github/scripts/Linux/prepare.sh b/.github/scripts/Linux/prepare.sh index 39b67d7a0..11ed0c9d4 100755 --- a/.github/scripts/Linux/prepare.sh +++ b/.github/scripts/Linux/prepare.sh @@ -35,9 +35,6 @@ sudo apt install libopencv-core-dev libopencv-imgproc-dev sudo apt install libcurl4-openssl-dev # for RTSP client (vidcap) sudo apt install i965-va-driver-shaders libva-dev # instead of i965-va-driver -"$dir/install_sdl.sh" deps -"$dir/install_ffmpeg.sh" deps - sudo apt install qt6-base-dev qt6-wayland . /etc/os-release # source ID and VERSION_ID if [ "$ID" = ubuntu ] && [ "$VERSION_ID" = 22.04 ]; then @@ -53,3 +50,6 @@ qt6.conf" "/usr/lib/$(uname -m)-linux-gnu/qt-default/qtchooser/default.conf" "$GITHUB_WORKSPACE/.github/scripts/Linux/install_others.sh" +"$dir"/install_sdl.sh +"$dir"/install_ffmpeg.sh + diff --git a/.github/scripts/install-common-deps.sh b/.github/scripts/install-common-deps.sh index 94fb6bee1..281d42482 100755 --- a/.github/scripts/install-common-deps.sh +++ b/.github/scripts/install-common-deps.sh @@ -49,6 +49,9 @@ download_build_aja() { } install_aja() {( + if [ "$(uname -s)" = Linux ]; then + sudo apt install libudev-dev + fi if [ ! -d libajantv2 ]; then download_build_aja fi diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml index 66348c88a..08852f815 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/ccpp.yml @@ -75,34 +75,20 @@ jobs: if: steps.cache-ndi.outputs.cache-hit != 'true' run: "curl -Lf https://downloads.ndi.tv/SDK/NDI_SDK_Linux/\ Install_NDI_SDK_v6_Linux.tar.gz -o /var/tmp/Install_NDI_SDK_Linux.tar.gz" - - name: bootstrap - run: | - . .github/scripts/environment.sh - .github/scripts/Linux/prepare.sh - - name: Run actions/cache for FFmpeg - id: cache-ffmpeg + - name: Cache FFmpeg uses: actions/cache@main with: path: '/var/tmp/ffmpeg' - key: cache-ffmpeg-${{ runner.os }}-${{ hashFiles( '.github/scripts/Linux/install_ffmpeg.sh', '.github/scripts/Linux/ffmpeg-patches/*') }} - - name: Build FFmpeg - if: steps.cache-ffmpeg.outputs.cache-hit != 'true' - run: .github/scripts/Linux/install_ffmpeg.sh build_install - - name: Install Cached FFmpeg - if: steps.cache-ffmpeg.outputs.cache-hit == 'true' - run: .github/scripts/Linux/install_ffmpeg.sh install_cached + key: cache-ffmpeg-${{ runner.os }}-${{ hashFiles( '.github/scripts/Linux/install_ffmpeg.sh', '.github/scripts/Linux/install_other.sh', '.github/scripts/Linux/ffmpeg-patches/*') }} - name: Cache SDL - id: cache-sdl uses: actions/cache@main with: path: '/var/tmp/sdl' key: cache-sdl-${{ runner.os }}-${{ hashFiles( '.github/scripts/Linux/install_sdl.sh' ) }} - - name: Build SDL - if: steps.cache-sdl.outputs.cache-hit != 'true' - run: .github/scripts/Linux/install_sdl.sh build_install - - name: Install Cached SDL - if: steps.cache-sdl.outputs.cache-hit == 'true' - run: .github/scripts/Linux/install_sdl.sh install_cached + - name: bootstrap + run: | + . .github/scripts/environment.sh + .github/scripts/Linux/prepare.sh - name: configure run: "./autogen.sh $FEATURES || { RC=$?; cat config.log; exit $RC; }" - name: make