From a8e042cf2fd026b3cc202c40d04702bc8323f36e Mon Sep 17 00:00:00 2001 From: Markus Fritsche Date: Fri, 8 May 2026 17:06:45 +0000 Subject: [PATCH] mpv-fourier pkgrel=5: build against marfrit ffmpeg-v4l2-request-fourier MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Run #68's mpv-fourier-1:0.41.0-4 fails to start on ohm with libavcodec ABI mismatch: build version 62.28.101 incompatible with runtime version 62.28.100 Build host (fermi) pulls stock arch ffmpeg via makepkg --syncdeps — that ffmpeg currently ships libavcodec 62.28.101. Consumer host (ohm) runs marfrit/ffmpeg-v4l2-request-fourier (Kwiboo's fork pinned to commit b57fbbe, libavcodec 62.28.100). The build/runtime drift silently aborts mpv at startup before the version banner prints. Fix: configure [marfrit] on fermi and pre-install our ffmpeg before makepkg --syncdeps. mpv-fourier PKGBUILD now depends on ffmpeg-v4l2-request-fourier explicitly (replacing the generic ffmpeg dep), making the build target unambiguous. Workflow change: new step in mpv-fourier-aarch64 between "install deploy ssh key" and "makepkg" — imports the marfrit signing key into pacman-key, appends [marfrit] block to /etc/pacman.conf if absent, syncs db, installs marfrit/ffmpeg-v4l2-request-fourier explicitly so makepkg --syncdeps finds the dep already satisfied via provides=ffmpeg. Co-Authored-By: Claude Opus 4.7 (1M context) --- .gitea/workflows/build.yml | 18 ++++++++++++++++++ arch/mpv-fourier/PKGBUILD | 4 ++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 88493527b..4838c0cbb 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -633,6 +633,24 @@ jobs: chmod 600 /root/.ssh/id_ed25519 ssh-keyscan -t ed25519 nc.reauktion.de > /root/.ssh/known_hosts 2>/dev/null + - name: configure [marfrit] repo + pre-install ffmpeg-v4l2-request-fourier + run: | + set -e + # mpv-fourier links libavcodec at build time. If the build host pulls + # stock arch's ffmpeg, the resulting binary's libavcodec ABI version + # drifts from the marfrit ffmpeg-v4l2-request-fourier that consumer + # hosts (ohm) install. Force build-time consistency by configuring + # [marfrit] on fermi and pre-installing our ffmpeg before makepkg. + 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 + pacman -S --noconfirm marfrit/ffmpeg-v4l2-request-fourier + - name: makepkg mpv-fourier run: | set -e diff --git a/arch/mpv-fourier/PKGBUILD b/arch/mpv-fourier/PKGBUILD index 3828f8a1c..0f8eca282 100644 --- a/arch/mpv-fourier/PKGBUILD +++ b/arch/mpv-fourier/PKGBUILD @@ -23,13 +23,13 @@ pkgname=mpv-fourier _upstreampkg=mpv epoch=1 pkgver=0.41.0 -pkgrel=4 +pkgrel=5 pkgdesc='mpv with fourier-umbrella patches (vo_dmabuf_wayland plane-semantics fix slot)' arch=('aarch64') url='https://mpv.io/' license=('GPL-2.0-or-later AND LGPL-2.1-or-later') depends=( - alsa-lib desktop-file-utils ffmpeg glibc hicolor-icon-theme + alsa-lib desktop-file-utils ffmpeg-v4l2-request-fourier 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