On 2026/09/10 15:00, Robert Nilsson wrote:
> Hello!
>
> I think it would be great to have an option to install mpv
> without the yt-dlp dependency. Sometimes it's nice to just
> have a good media player without all the stuff that comes
> with yt-dlp.
>
> Thanks.
>
With the addition of py-yt_dlp_ejs the deps for yt-dlp are indeed
getting a bit heavy, so I think this would make sense. The error
message when opening a URL if yt-dlp is not present looks like this:
[ytdl_hook] Subprocess failed: init
[ytdl_hook] Subprocess failed: init
[ytdl_hook] Subprocess failed: init
[ytdl_hook]
[ytdl_hook] youtube-dl failed: not found or not enough permissions
Failed to recognize file format.
it would help if that message mentioned yt-dlp so that users wanting
it have a better clue for which software to install, so here's a
possible diff. Anyone have tweaks/objections?
Index: Makefile
===================================================================
RCS file: /cvs/ports/multimedia/mpv/Makefile,v
diff -u -p -r1.110 Makefile
--- Makefile 6 Mar 2026 09:00:41 -0000 1.110
+++ Makefile 10 Sep 2026 13:40:50 -0000
@@ -5,7 +5,7 @@ USE_NOBTCFI = Yes
GH_ACCOUNT = mpv-player
GH_PROJECT = mpv
GH_TAGNAME = v0.41.0
-REVISION = 0
+REVISION = 1
SHARED_LIBS += mpv 2.1
@@ -53,7 +53,6 @@ LIB_DEPENDS = archivers/libarchive \
MODPY_RUNDEP = No
RUN_DEPENDS = devel/desktop-file-utils \
graphics/vulkan-loader \
- www/yt-dlp \
x11/gtk+4,-guic
CONFIGURE_ARGS = -Daaudio=disabled \
Index: patches/patch-player_lua_ytdl_hook_lua
===================================================================
RCS file: patches/patch-player_lua_ytdl_hook_lua
diff -N patches/patch-player_lua_ytdl_hook_lua
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-player_lua_ytdl_hook_lua 10 Sep 2026 13:40:50 -0000
@@ -0,0 +1,12 @@
+Index: player/lua/ytdl_hook.lua
+--- player/lua/ytdl_hook.lua.orig
++++ player/lua/ytdl_hook.lua
+@@ -986,7 +986,7 @@ local function run_ytdl_hook(url)
+ -- trim our stderr to avoid spurious newlines
+ local ytdl_err = result.stderr:gsub("^%s*(.-)%s*$", "%1")
+ msg.error(ytdl_err)
+- local err = "youtube-dl failed: "
++ local err = "yt-dlp/youtube-dl failed: "
+ if result.error_string and result.error_string == "init" then
+ err = err .. "not found or not enough permissions"
+ elseif parse_err then