8275642583
build and publish packages / distcc-avahi-aarch64 (push) Successful in 32s
build and publish packages / lmcp-any (push) Successful in 10s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 13m39s
build and publish packages / claude-his-debian (push) Successful in 7s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 11s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 1m12s
Run #73 hit: warning: ffmpeg-v4l2-request-fourier-... is up to date -- reinstalling File /var/cache/pacman/pkg/ffmpeg-v4l2-request-fourier-...pkg.tar.xz is corrupted (invalid or corrupted package (checksum)). The corrupt cached file is left over from the ccache misadventure that interrupted earlier builds mid-download. Pacman doesn't auto- redownload corrupt cached files in this code path. Add a targeted rm of cached ffmpeg-v4l2-request-fourier-*.pkg.tar.* before the install so the next pacman -S downloads fresh. Yak shave count for mpv-fourier-aarch64 to actually run: 6 (pkgrel→4 to outrank stock, [marfrit] config, ffmpeg-v4l2-request explicit dep, conflict-prompt acceptance, pipefail-friendly printf, cache rm). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
105 lines
3.7 KiB
Bash
105 lines
3.7 KiB
Bash
# Maintainer: Markus Fritsche <fritsche.markus@gmail.com>
|
|
#
|
|
# mpv-fourier — mpv with the fourier-umbrella patches. The first patch
|
|
# slot exists for the vo_dmabuf_wayland plane-semantics fix per
|
|
# marfrit/dmabuf-modifier-triage#1: mpv currently constructs the
|
|
# zwp_linux_buffer_params_v1 wl_protocol message with internally
|
|
# inconsistent plane semantics on V4L2 stateless decoder dmabufs (per-
|
|
# plane fds combined with single-allocation offset for plane 1), causing
|
|
# KWin to read the UV chroma plane past-EOF and render solid dark green
|
|
# 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
|
|
|
|
pkgname=mpv-fourier
|
|
_upstreampkg=mpv
|
|
epoch=1
|
|
pkgver=0.41.0
|
|
pkgrel=8
|
|
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-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
|
|
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 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"
|
|
)
|
|
sha256sums=(
|
|
'ee21092a5ee427353392360929dc64645c54479aefdb5babc5cfbb5fad626209'
|
|
)
|
|
|
|
prepare() {
|
|
cd "${_upstreampkg}-${pkgver}"
|
|
|
|
# Patch slot — iter1 of dmabuf-modifier-triage will produce the actual
|
|
# vo_dmabuf_wayland.c plane-semantics fix and add it as 0001-... here.
|
|
# When the patch lands, add it to source=() above + sha256sums=() and
|
|
# uncomment the patch -p1 below.
|
|
#
|
|
# patch -p1 < "${srcdir}/0001-vo_dmabuf_wayland-plane-semantics.patch"
|
|
:
|
|
}
|
|
|
|
build() {
|
|
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() {
|
|
meson install -C build --destdir "${pkgdir}"
|
|
|
|
# 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/"
|
|
}
|