diff --git a/arch/mpv-fourier/PKGBUILD b/arch/mpv-fourier/PKGBUILD index 3c83f5482..b6bf5b90a 100644 --- a/arch/mpv-fourier/PKGBUILD +++ b/arch/mpv-fourier/PKGBUILD @@ -10,79 +10,42 @@ # on ohm (RK3566 + hantro G1 + Mali-G52). The patch is not yet written — # this scaffold prepares the shipping path for when iter1 lands. # +# Build configuration mirrors stock arch's mpv PKGBUILD (which builds +# successfully). Key detail: --auto-features auto is required because +# arch-meson defaults to --auto-features enabled, which makes mpv's +# platform-specific features (win32-threads, etc.) required and fails +# the build on Linux. +# # Campaign: ~/src/dmabuf-modifier-triage/ (Phase 0 closed 2026-05-08) # Upstream: https://github.com/mpv-player/mpv -# Build target: fermi LXC actrunner-aarch64-hertz via marfrit-packages -# Gitea Actions; alternative: boltzmann via his subagent + marfrit-publish. pkgname=mpv-fourier _upstreampkg=mpv +epoch=1 pkgver=0.41.0 -pkgrel=1 +pkgrel=2 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' 'LGPL-2.1-or-later') +license=('GPL-2.0-or-later AND LGPL-2.1-or-later') depends=( - alsa-lib - desktop-file-utils - ffmpeg - 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 + alsa-lib desktop-file-utils ffmpeg 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 ) makedepends=( - git - meson - ninja - pkgconf - python-docutils - wayland-protocols -) -optdepends=( - 'yt-dlp: for video-sharing websites playback' + git meson python-docutils ladspa wayland-protocols + vulkan-headers ) +optdepends=('yt-dlp: for video-sharing websites playback') provides=("${_upstreampkg}=${pkgver}" 'libmpv.so') conflicts=("${_upstreampkg}") replaces=("${_upstreampkg}") +options=('!emptydirs') source=( "${_upstreampkg}-${pkgver}.tar.gz::https://github.com/mpv-player/${_upstreampkg}/archive/v${pkgver}/${_upstreampkg}-${pkgver}.tar.gz" @@ -96,11 +59,6 @@ prepare() { # Patch slot — iter1 of dmabuf-modifier-triage will produce the actual # vo_dmabuf_wayland.c plane-semantics fix and add it as 0001-... here. - # Once the libva path is also unblocked (by libva-multiplanar iter9) - # and the WAYLAND_DEBUG verifier confirms whether the bug is purely in - # mpv's VO or also in libva/ffmpeg producer code, the exact patch - # shape is determined. - # # When the patch lands, add it to source=() above + sha256sums=() and # uncomment the patch -p1 below. # @@ -109,26 +67,38 @@ prepare() { } build() { - cd "${_upstreampkg}-${pkgver}" - arch-meson build \ - --buildtype=release \ - -Dlibmpv=true \ - -Dmanpage-build=enabled \ - -Dcdda=enabled \ - -Ddvbin=enabled \ - -Ddvdnav=enabled \ - -Dlibarchive=enabled \ - -Dopenal=enabled \ - -Dsdl2-audio=enabled \ - -Dsdl2-video=enabled \ + local _meson_options=( + --auto-features auto + + -Dlibmpv=true + -Dgl-x11=enabled + -Dcaca=disabled + -Dcdda=enabled + -Ddrm=enabled + -Ddvbin=enabled + -Ddvdnav=enabled + -Dlibarchive=enabled + -Dopenal=enabled + -Dsdl2-audio=enabled + -Dsdl2-video=enabled -Dsdl2-gamepad=enabled + ) + + arch-meson "${_upstreampkg}-${pkgver}" build "${_meson_options[@]}" meson compile -C build } package() { - cd "${_upstreampkg}-${pkgver}" meson install -C build --destdir "${pkgdir}" - install -Dm644 LICENSE.GPL "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.GPL" - install -Dm644 LICENSE.LGPL "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.LGPL" + # Drop private linkage entries (they only matter for static linking). + sed -i -e '/Requires.private/d' -e '/Libs.private/d' \ + "${pkgdir}/usr/lib/pkgconfig/mpv.pc" + + install -m0644 "${_upstreampkg}-${pkgver}/DOCS/encoding.rst" \ + "${_upstreampkg}-${pkgver}/DOCS/tech-overview.txt" \ + -t "${pkgdir}/usr/share/doc/mpv/" + + install -m0644 "${_upstreampkg}-${pkgver}"/TOOLS/{umpv,mpv_identify.sh,stats-conv.py,idet.sh,lua/*} \ + -D -t "${pkgdir}/usr/share/mpv/scripts/" }