From 56bf6801320ba9296c10966b6072ca945c2415bb Mon Sep 17 00:00:00 2001 From: Jack Boykin Date: Mon, 3 Aug 2026 12:19:07 -0500 Subject: [PATCH] firefox: use ffmpeg 8 for browsers that support it Assisted-by: Claude Code (Claude Fable 5) (cherry picked from commit e7e521c4f9dd23a15da56810bc03bca0fccb5f83) --- pkgs/applications/networking/browsers/firefox/wrapper.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix index 3befbc5047e1..9d08133aa610 100644 --- a/pkgs/applications/networking/browsers/firefox/wrapper.nix +++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix @@ -13,6 +13,7 @@ ## various stuff that can be plugged in ffmpeg_7, + ffmpeg_8, libxxf86vm, libxxf86dga, libxt, @@ -89,6 +90,11 @@ let let ffmpegSupport = browser.ffmpegSupport or false; + # Firefox dlopens libavcodec by hardcoded soname, so each ffmpeg major needs + # explicit browser support; keep versioned pins here (never the ffmpeg alias) + # and add a tier when a release gains the next ABI. 146 added libavcodec 62 + # (https://bugzilla.mozilla.org/show_bug.cgi?id=1962139), not uplifted to ESR 140. + ffmpegPackage = if lib.versionAtLeast browser.version "146" then ffmpeg_8 else ffmpeg_7; gssSupport = browser.gssSupport or false; alsaSupport = browser.alsaSupport or false; pipewireSupport = browser.pipewireSupport or false; @@ -114,7 +120,7 @@ let ++ lib.optional (cfg.speechSynthesisSupport or true) speechd-minimal ) ++ lib.optional pipewireSupport pipewire - ++ lib.optional ffmpegSupport ffmpeg_7 + ++ lib.optional ffmpegSupport ffmpegPackage ++ lib.optional gssSupport libkrb5 ++ lib.optional useGlvnd libglvnd ++ lib.optionals (cfg.enableQuakeLive or false) [