Skip to content

mpv: update to 0.42.0 - #63456

Open
ndpm13 wants to merge 5 commits into
void-linux:masterfrom
ndpm13:mpv
Open

ndpm13 wants to merge 5 commits into
void-linux:masterfrom
ndpm13:mpv

Conversation

@ndpm13

@ndpm13 ndpm13 commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

Testing the changes

  • I tested the changes in this PR: YES

Local build testing

  • I built this PR locally for my native architecture, (x86_64-glibc)

Dependencies updated:

  • libplacebo: 7.387.0
  • libdvdread: 7.1.1
  • libdvdcss: 1.6.0
  • libdvdnav: 7.0.0

Note

This update causes MPV windows opened via the .desktop file (xdg-open) to stay open, restore the old behavior by appending force-window=no to your config file.

@dogknowsnx

dogknowsnx commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

Was just about to submit a PR..

From https://github.com/mpv-player/mpv/releases/tag/v0.42.0:

meson: prefer LuaJIT over PUC Lua

mpv builds (and runs) fine locally (x86_64-glibc) w/ LuaJIT-devel instead of lua52-devel in makedepends
EDIT: I'm using uosc (UI written in Lua) btw.

@ndpm13

ndpm13 commented Nov 9, 2026

Copy link
Copy Markdown
Contributor Author

Was just about to submit a PR..

From https://github.com/mpv-player/mpv/releases/tag/v0.42.0:

meson: prefer LuaJIT over PUC Lua

mpv builds (and runs) fine locally (x86_64-glibc) w/ LuaJIT-devel instead of lua52-devel in makedepends

Thanks, almost missed that 😅

@ndpm13
ndpm13 marked this pull request as ready for review November 9, 2026 15:32
@Vinfall

Vinfall commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

libdvdread-devel and libcurl-devel could be added to makedepends to enable additional features. If you prefer, you may add a curl build option to allow disabling libcurl based network backend. Sadly subrandr is not packaged in Void, so the build won't have SRV3 subtitle support.

PS: switching to luajit might be a poor choice due to compatibility concerns, although for most Lua scripts it should work fine.

@ndpm13

ndpm13 commented Nov 10, 2026

Copy link
Copy Markdown
Contributor Author

libdvdread-devel and libcurl-devel could be added to makedepends to enable additional features. If you prefer, you may add a curl build option to allow disabling libcurl based network backend. Sadly subrandr is not packaged in Void, so the build won't have SRV3 subtitle support.

I'll look into it, thank you for pointing it out.

PS: switching to luajit might be a poor choice due to compatibility concerns, although for most Lua scripts it should work fine.

I was just following upstream's preference, if it turns out to be problematic maybe extracting it into a build option isn't a bad idea?

@ndpm13
ndpm13 marked this pull request as draft November 10, 2026 08:45
@ndpm13

ndpm13 commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor Author
subrandr support
diff --git a/common/shlibs b/common/shlibs
index c74e367fbcf..cefe66f8cf1 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4692,3 +4692,4 @@ libcpptrace.so.1 cpptrace-1.0.4_1
 libcgif.so.0 cgif-0.5.3_1
 libdsk.so.5 libdsk-1.5.22_1
 libblend2d.so libblend2d-0.21.2_1
+libsubrandr.so.0 subrandr-1.4.0_1
diff --git a/srcpkgs/mpv/template b/srcpkgs/mpv/template
index 1c267e966d3..6208e599649 100644
--- a/srcpkgs/mpv/template
+++ b/srcpkgs/mpv/template
@@ -14,6 +14,7 @@ configure_args="-Dcdda=enabled -Ddvbin=enabled -Ddvdnav=enabled
  $(vopt_feature lua lua)
  $(vopt_feature openal openal)
  $(vopt_feature pulseaudio pulse)
+ $(vopt_feature subrandr subrandr)
  $(vopt_feature vapoursynth vapoursynth)
  $(vopt_feature vdpau vdpau)
  $(vopt_feature vulkan vulkan)
@@ -27,7 +28,7 @@ makedepends="MesaLib-devel ffmpeg6-devel harfbuzz-devel libXv-devel libass-devel
  rubberband-devel uchardet-devel libplacebo-devel libarchive-devel libdisplay-info-devel
  $(vopt_if alsa alsa-lib-devel) $(vopt_if caca libcaca-devel) $(vopt_if curl libcurl-devel)
  $(vopt_if jack jack-devel) $(vopt_if javascript mujs-devel) $(vopt_if lcms lcms2-devel)
- $(vopt_if lua LuaJIT-devel) $(vopt_if openal libopenal-devel)
+ $(vopt_if lua LuaJIT-devel) $(vopt_if openal libopenal-devel) $(vopt_if subrandr subrandr-devel)
  $(vopt_if pulseaudio pulseaudio-devel) $(vopt_if pipewire pipewire-devel)
  $(vopt_if vapoursynth vapoursynth-devel) $(vopt_if vdpau libvdpau-devel)
  $(vopt_if sndio sndio-devel) $(vopt_if vulkan "vulkan-loader-devel")
@@ -43,14 +44,15 @@ distfiles="https://github.com/mpv-player/mpv/archive/v${version}.tar.gz"
 checksum=bcfebbfa2b65a6d88dc97ea18117831072373e38b5785a2afb874ed4df5070dd
 python_version=3
 
-build_options="alsa caca curl jack javascript lcms lua openal pulseaudio pipewire sndio
- vapoursynth vdpau vulkan wayland x11"
-build_options_default="alsa curl jack javascript lcms lua pulseaudio pipewire vdpau vulkan
- sndio wayland x11"
+build_options="alsa caca curl jack javascript lcms lua openal pulseaudio
+ subrandr pipewire sndio vapoursynth vdpau vulkan wayland x11"
+build_options_default="alsa curl jack javascript lcms lua pulseaudio subrandr
+ pipewire vdpau vulkan sndio wayland x11"
 desc_option_caca="Enable support for libcaca video output"
 desc_option_curl="Enable libcurl-based network backend"
 desc_option_lcms="Enable support for LittleCMS 2 engine"
 desc_option_openal="Enable support for OpenAL audio output"
+desc_option_subrandr="Enable support for subrandr (SRV3 and WebVTT subtitle renderer)"
 
 post_install() {
 	vbin TOOLS/umpv
diff --git a/srcpkgs/subrandr-devel b/srcpkgs/subrandr-devel
new file mode 120000
index 00000000000..5bb313f9eac
--- /dev/null
+++ b/srcpkgs/subrandr-devel
@@ -0,0 +1 @@
+subrandr
\ No newline at end of file
diff --git a/srcpkgs/subrandr/template b/srcpkgs/subrandr/template
new file mode 100644
index 00000000000..c4bf6ef45d8
--- /dev/null
+++ b/srcpkgs/subrandr/template
@@ -0,0 +1,33 @@
+# Template file for 'subrandr'
+pkgname=subrandr
+version=1.4.0
+revision=1
+build_style=cargo
+build_helper="qemu"
+makedepends="fontconfig-devel freetype-devel harfbuzz-devel"
+short_desc="Subtitle rendering library"
+maintainer="Orphaned <orphan@voidlinux.org>"
+license="MPL-2.0"
+homepage="https://github.com/afishhh/subrandr"
+changelog="https://github.com/afishhh/subrandr/raw/refs/heads/master/CHANGELOG.md"
+distfiles="https://github.com/afishhh/subrandr/archive/refs/tags/v${version}.tar.gz"
+checksum=5390036167744287d27e808029121e5d2fed57847685dfef5c3e413bddf17a72
+
+post_build() {
+	cargo auditable build --release --target "${RUST_TARGET}" --package xtask
+}
+
+do_install() {
+	PREFIX="${DESTDIR}/usr" CARGO_MANIFEST_DIR=./xtask vtargetrun \
+		target/"${RUST_TARGET}"/release/xtask install
+}
+
+subrandr-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/pkgconfig
+		vmove "usr/lib/*.so"
+	}
+}

@ndpm13
ndpm13 marked this pull request as ready for review November 10, 2026 10:07
@ndpm13
ndpm13 marked this pull request as draft November 10, 2026 11:21
@ndpm13
ndpm13 marked this pull request as ready for review November 10, 2026 13:27
@Vinfall

Vinfall commented Nov 11, 2026

Copy link
Copy Markdown
Contributor

I was just following upstream's preference, if it turns out to be problematic maybe extracting it into a build option isn't a bad idea?

onestly speaking, I don't know. MPV also mentions this in FAQ since forever. Maybe Lua51/Lua52/LuaJIT don't have too much breakage so it's interexchangeable in mpv. It's just a possibility.

@ndpm13

ndpm13 commented Nov 11, 2026

Copy link
Copy Markdown
Contributor Author

I was just following upstream's preference, if it turns out to be problematic maybe extracting it into a build option isn't a bad idea?

onestly speaking, I don't know. MPV also mentions this in FAQ since forever. Maybe Lua51/Lua52/LuaJIT don't have too much breakage so it's interexchangeable in mpv. It's just a possibility.

FWIW the script I use is still working as expected, but I only have the one 😅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants