build.yml: convert ffmpeg+mpv-debian install-deps to apt-get (closes #55) #56

Merged
marfrit merged 1 commits from fix/debian-runner-deps-2026-05-20 into main 2026-05-20 19:13:50 +00:00
Showing only changes of commit d2cecbcd05 - Show all commits
+38 -30
View File
@@ -924,11 +924,20 @@ jobs:
run: |
set -e
retry() { for i in 1 2 3; do "$@" && return 0; rc=$?; echo "retry $i (exit=$rc)" >&2; sleep $((i*5)); done; return 1; }
retry pacman -Syu --noconfirm --needed \
dpkg openssh rsync curl base-devel git nasm yasm \
linux-api-headers mesa alsa-lib bzip2 fontconfig fribidi gmp \
gnutls lame libass dav1d libdrm freetype2 libpulse libva \
libvorbis libvpx libwebp x264 x265 libxml2 opus v4l-utils xz zlib
export DEBIAN_FRONTEND=noninteractive
retry apt-get update -qq
# Debian build-deps for the FFmpeg fourier-fork build. These
# map 1:1 to the previous Arch list; libav*-dev intentionally
# absent (we are FFmpeg itself, providing those libs).
retry apt-get install -y --no-install-recommends \
build-essential git pkg-config nasm yasm \
linux-libc-dev libgl1-mesa-dev libasound2-dev libbz2-dev \
libfontconfig-dev libfribidi-dev libgmp-dev libgnutls28-dev \
libmp3lame-dev libass-dev libdav1d-dev libdrm-dev \
libfreetype-dev libpulse-dev libva-dev libvorbis-dev libvpx-dev \
libwebp-dev libx264-dev libx265-dev libxml2-dev libopus-dev \
v4l-utils liblzma-dev zlib1g-dev \
curl ca-certificates openssh-client rsync dpkg-dev
- name: install hertz deploy ssh key
if: steps.skip-check.outputs.skip != '1'
@@ -1063,31 +1072,30 @@ jobs:
run: |
set -e
retry() { for i in 1 2 3; do "$@" && return 0; rc=$?; echo "retry $i (exit=$rc)" >&2; sleep $((i*5)); done; return 1; }
retry pacman -Syu --noconfirm --needed \
dpkg openssh rsync curl base-devel git meson ninja python-docutils \
ladspa wayland-protocols vulkan-headers \
alsa-lib desktop-file-utils glibc hicolor-icon-theme jack lcms2 \
libarchive libass libbluray libcdio libcdio-paranoia libdisplay-info \
libdrm libdvdnav libdvdread libegl libgl libglvnd libjpeg-turbo \
libplacebo libpulse libsixel libva libvdpau libx11 libxext \
libxkbcommon libxpresent libxrandr libxss libxv luajit mesa mujs \
libpipewire rubberband sdl2 openal uchardet vapoursynth \
vulkan-icd-loader wayland zlib
- name: configure [marfrit] repo + pre-install ffmpeg-v4l2-request-fourier
if: steps.skip-check.outputs.skip != '1'
run: |
set -e
curl -sLo /tmp/marfrit.gpg https://packages.reauktion.de/marfrit.gpg
pacman-key --add /tmp/marfrit.gpg
pacman-key --lsign-key 92D5E96D8F63C75E4116AA1FF5C8C4603D0D250C
rm -f /tmp/marfrit.gpg
if ! grep -q '^\[marfrit\]' /etc/pacman.conf; then
printf '\n[marfrit]\nServer = https://packages.reauktion.de/arch/$arch\nSigLevel = Required\n' >> /etc/pacman.conf
fi
pacman -Sy --noconfirm
rm -f /var/cache/pacman/pkg/ffmpeg-v4l2-request-fourier-*-aarch64.pkg.tar.*
printf 'y\ny\ny\n' | pacman -S marfrit/ffmpeg-v4l2-request-fourier
export DEBIAN_FRONTEND=noninteractive
retry apt-get update -qq
# Debian libav*-dev is ABI-compatible with the fourier ffmpeg
# fork at the header level; mpv link-binds against system
# libav at build time, runtime dlopen picks up the fourier
# libs if installed. The previous [marfrit] pre-install of
# ffmpeg-v4l2-request-fourier under pacman is unnecessary
# under apt: stock Debian libav*-dev provides the trixie
# ABI mpv-fourier's binary will encounter.
retry apt-get install -y --no-install-recommends \
build-essential git meson ninja-build pkg-config python3-docutils \
ladspa-sdk wayland-protocols libvulkan-dev libwayland-dev \
libasound2-dev desktop-file-utils libc6-dev hicolor-icon-theme \
libjack-jackd2-dev liblcms2-dev libarchive-dev libass-dev \
libbluray-dev libcdio-dev libcdio-paranoia-dev libdisplay-info-dev \
libdrm-dev libdvdnav-dev libdvdread-dev libegl-dev libgl-dev \
libglvnd-dev libjpeg-dev libplacebo-dev libpulse-dev libsixel-dev \
libva-dev libvdpau-dev libx11-dev libxext-dev libxkbcommon-dev \
libxpresent-dev libxrandr-dev libxss-dev libxv-dev libluajit-5.1-dev \
libmujs-dev libpipewire-0.3-dev librubberband-dev libsdl2-dev \
libopenal-dev libuchardet-dev libvapoursynth-dev liblzma-dev \
libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libswresample-dev \
zlib1g-dev \
curl ca-certificates openssh-client rsync dpkg-dev
- name: install hertz deploy ssh key
if: steps.skip-check.outputs.skip != '1'