forked from marfrit/marfrit-packages
mpv-fourier pkgrel=2: fix meson invocation to match stock arch
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:
+47
-77
@@ -10,79 +10,42 @@
|
|||||||
# on ohm (RK3566 + hantro G1 + Mali-G52). The patch is not yet written —
|
# on ohm (RK3566 + hantro G1 + Mali-G52). The patch is not yet written —
|
||||||
# this scaffold prepares the shipping path for when iter1 lands.
|
# 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)
|
# Campaign: ~/src/dmabuf-modifier-triage/ (Phase 0 closed 2026-05-08)
|
||||||
# Upstream: https://github.com/mpv-player/mpv
|
# 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
|
pkgname=mpv-fourier
|
||||||
_upstreampkg=mpv
|
_upstreampkg=mpv
|
||||||
|
epoch=1
|
||||||
pkgver=0.41.0
|
pkgver=0.41.0
|
||||||
pkgrel=1
|
pkgrel=2
|
||||||
pkgdesc='mpv with fourier-umbrella patches (vo_dmabuf_wayland plane-semantics fix slot)'
|
pkgdesc='mpv with fourier-umbrella patches (vo_dmabuf_wayland plane-semantics fix slot)'
|
||||||
arch=('aarch64')
|
arch=('aarch64')
|
||||||
url='https://mpv.io/'
|
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=(
|
depends=(
|
||||||
alsa-lib
|
alsa-lib desktop-file-utils ffmpeg glibc hicolor-icon-theme
|
||||||
desktop-file-utils
|
jack lcms2 libarchive libass libbluray libcdio
|
||||||
ffmpeg
|
libcdio-paranoia libdisplay-info libdrm libdvdnav libdvdread libegl libgl
|
||||||
glibc
|
libglvnd libjpeg-turbo libplacebo libpulse libsixel libva
|
||||||
hicolor-icon-theme
|
libvdpau libx11 libxext libxkbcommon libxpresent libxrandr
|
||||||
jack
|
libxss libxv luajit mesa mujs libpipewire rubberband sdl2
|
||||||
lcms2
|
openal uchardet vapoursynth vulkan-icd-loader wayland zlib
|
||||||
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=(
|
makedepends=(
|
||||||
git
|
git meson python-docutils ladspa wayland-protocols
|
||||||
meson
|
vulkan-headers
|
||||||
ninja
|
|
||||||
pkgconf
|
|
||||||
python-docutils
|
|
||||||
wayland-protocols
|
|
||||||
)
|
|
||||||
optdepends=(
|
|
||||||
'yt-dlp: for video-sharing websites playback'
|
|
||||||
)
|
)
|
||||||
|
optdepends=('yt-dlp: for video-sharing websites playback')
|
||||||
provides=("${_upstreampkg}=${pkgver}" 'libmpv.so')
|
provides=("${_upstreampkg}=${pkgver}" 'libmpv.so')
|
||||||
conflicts=("${_upstreampkg}")
|
conflicts=("${_upstreampkg}")
|
||||||
replaces=("${_upstreampkg}")
|
replaces=("${_upstreampkg}")
|
||||||
|
options=('!emptydirs')
|
||||||
|
|
||||||
source=(
|
source=(
|
||||||
"${_upstreampkg}-${pkgver}.tar.gz::https://github.com/mpv-player/${_upstreampkg}/archive/v${pkgver}/${_upstreampkg}-${pkgver}.tar.gz"
|
"${_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
|
# Patch slot — iter1 of dmabuf-modifier-triage will produce the actual
|
||||||
# vo_dmabuf_wayland.c plane-semantics fix and add it as 0001-... here.
|
# 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
|
# When the patch lands, add it to source=() above + sha256sums=() and
|
||||||
# uncomment the patch -p1 below.
|
# uncomment the patch -p1 below.
|
||||||
#
|
#
|
||||||
@@ -109,26 +67,38 @@ prepare() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd "${_upstreampkg}-${pkgver}"
|
local _meson_options=(
|
||||||
arch-meson build \
|
--auto-features auto
|
||||||
--buildtype=release \
|
|
||||||
-Dlibmpv=true \
|
-Dlibmpv=true
|
||||||
-Dmanpage-build=enabled \
|
-Dgl-x11=enabled
|
||||||
-Dcdda=enabled \
|
-Dcaca=disabled
|
||||||
-Ddvbin=enabled \
|
-Dcdda=enabled
|
||||||
-Ddvdnav=enabled \
|
-Ddrm=enabled
|
||||||
-Dlibarchive=enabled \
|
-Ddvbin=enabled
|
||||||
-Dopenal=enabled \
|
-Ddvdnav=enabled
|
||||||
-Dsdl2-audio=enabled \
|
-Dlibarchive=enabled
|
||||||
-Dsdl2-video=enabled \
|
-Dopenal=enabled
|
||||||
|
-Dsdl2-audio=enabled
|
||||||
|
-Dsdl2-video=enabled
|
||||||
-Dsdl2-gamepad=enabled
|
-Dsdl2-gamepad=enabled
|
||||||
|
)
|
||||||
|
|
||||||
|
arch-meson "${_upstreampkg}-${pkgver}" build "${_meson_options[@]}"
|
||||||
meson compile -C build
|
meson compile -C build
|
||||||
}
|
}
|
||||||
|
|
||||||
package() {
|
package() {
|
||||||
cd "${_upstreampkg}-${pkgver}"
|
|
||||||
meson install -C build --destdir "${pkgdir}"
|
meson install -C build --destdir "${pkgdir}"
|
||||||
|
|
||||||
install -Dm644 LICENSE.GPL "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.GPL"
|
# Drop private linkage entries (they only matter for static linking).
|
||||||
install -Dm644 LICENSE.LGPL "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.LGPL"
|
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/"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user