mpv-fourier pkgrel=2: fix meson invocation to match stock arch
build and publish packages / distcc-avahi-aarch64 (push) Successful in 31s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 8s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 12m31s
build and publish packages / claude-his-debian (push) Successful in 11s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 11s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 1m9s

Run #66 failed at meson setup with "Feature win32-threads cannot be
enabled". Root cause: arch-meson defaults to --auto-features=enabled,
which makes mpv's platform-specific features (win32-threads, etc.)
required and fails the build on Linux. Stock arch's PKGBUILD passes
--auto-features=auto explicitly to make features opt-in instead of
required.

Adopted stock arch's full meson_options block:

  --auto-features auto
  -Dlibmpv=true
  -Dgl-x11=enabled -Dcaca=disabled -Ddrm=enabled
  -Dcdda=enabled -Ddvbin=enabled -Ddvdnav=enabled
  -Dlibarchive=enabled -Dopenal=enabled
  -Dsdl2-audio=enabled -Dsdl2-video=enabled -Dsdl2-gamepad=enabled

Also matched stock makedepends (added ladspa, vulkan-headers, dropped
ninja/pkgconf which are pulled in transitively), added !emptydirs option,
adopted the package() pkgconfig-cleanup + docs/scripts install pattern,
added epoch=1 to match stock's versioning (so replaces= works cleanly).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-08 15:06:10 +00:00
parent 375be40deb
commit 9cd7d0f047
+47 -77
View File
@@ -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/"
}