nixpkgs/pkgs/applications/networking/browsers/firefox/122.0-libvpx-mozbz1875201.patch
Martin Weinelt 8e0ce57c63
buildMozillaMach: fix vp8/vp9 WebRTC video support
The WebRTC parts of Firefox 122.0 are unconditionally linked against the
vendored libvpx that they ship with This lead to an ABI mismatch¹, when
building with --with-system-libvpx, since our libvpx version differs.

An upstream fix is expected to be shipped in Firefox 122.0.1, which is
due in the next few days.

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1875201#c11
2024-02-04 14:15:22 +01:00

81 lines
3.5 KiB
Diff

This patch is a rebase of https://bugzilla.mozilla.org/attachment.cgi?id=9377318
on top of Firefox 122.0.
Fixes: https://bugzilla.mozilla.org/show_bug.cgi?id=1875201
diff --git a/third_party/libwebrtc/modules/video_coding/webrtc_libvpx_interface_gn/moz.build b/third_party/libwebrtc/modules/video_coding/webrtc_libvpx_interface_gn/moz.build
index c5dabce8b0..e325905282 100644
--- a/third_party/libwebrtc/modules/video_coding/webrtc_libvpx_interface_gn/moz.build
+++ b/third_party/libwebrtc/modules/video_coding/webrtc_libvpx_interface_gn/moz.build
@@ -5,6 +5,8 @@
### This moz.build was AUTOMATICALLY GENERATED from a GN config, ###
### DO NOT edit it by hand. ###
+if not CONFIG["MOZ_SYSTEM_LIBVPX"]:
+ LOCAL_INCLUDES += [ "/media/libvpx/libvpx/" ]
COMPILE_FLAGS["OS_INCLUDES"] = []
AllowCompilerWarnings()
@@ -25,7 +27,6 @@ LOCAL_INCLUDES += [
"!/ipc/ipdl/_ipdlheaders",
"!/third_party/libwebrtc/gen",
"/ipc/chromium/src",
- "/media/libvpx/libvpx/",
"/third_party/libwebrtc/",
"/third_party/libwebrtc/third_party/abseil-cpp/",
"/tools/profiler/public"
diff --git a/third_party/libwebrtc/modules/video_coding/webrtc_vp8_gn/moz.build b/third_party/libwebrtc/modules/video_coding/webrtc_vp8_gn/moz.build
index 77a6b3870b..d515bc0595 100644
--- a/third_party/libwebrtc/modules/video_coding/webrtc_vp8_gn/moz.build
+++ b/third_party/libwebrtc/modules/video_coding/webrtc_vp8_gn/moz.build
@@ -5,6 +5,8 @@
### This moz.build was AUTOMATICALLY GENERATED from a GN config, ###
### DO NOT edit it by hand. ###
+if not CONFIG["MOZ_SYSTEM_LIBVPX"]:
+ LOCAL_INCLUDES += [ "/media/libvpx/libvpx/" ]
COMPILE_FLAGS["OS_INCLUDES"] = []
AllowCompilerWarnings()
@@ -25,7 +27,6 @@ LOCAL_INCLUDES += [
"!/ipc/ipdl/_ipdlheaders",
"!/third_party/libwebrtc/gen",
"/ipc/chromium/src",
- "/media/libvpx/libvpx/",
"/media/libyuv/",
"/media/libyuv/libyuv/include/",
"/third_party/libwebrtc/",
diff --git a/third_party/libwebrtc/modules/video_coding/webrtc_vp9_gn/moz.build b/third_party/libwebrtc/modules/video_coding/webrtc_vp9_gn/moz.build
index 4bece72807..5cc8d30e1a 100644
--- a/third_party/libwebrtc/modules/video_coding/webrtc_vp9_gn/moz.build
+++ b/third_party/libwebrtc/modules/video_coding/webrtc_vp9_gn/moz.build
@@ -5,6 +5,8 @@
### This moz.build was AUTOMATICALLY GENERATED from a GN config, ###
### DO NOT edit it by hand. ###
+if not CONFIG["MOZ_SYSTEM_LIBVPX"]:
+ LOCAL_INCLUDES += [ "/media/libvpx/libvpx/" ]
COMPILE_FLAGS["OS_INCLUDES"] = []
AllowCompilerWarnings()
@@ -25,7 +27,6 @@ LOCAL_INCLUDES += [
"!/ipc/ipdl/_ipdlheaders",
"!/third_party/libwebrtc/gen",
"/ipc/chromium/src",
- "/media/libvpx/libvpx/",
"/media/libyuv/",
"/media/libyuv/libyuv/include/",
"/third_party/libwebrtc/",
diff --git a/third_party/libwebrtc/moz.build b/third_party/libwebrtc/moz.build
index 7baea55b7e..86d4f0f288 100644
--- a/third_party/libwebrtc/moz.build
+++ b/third_party/libwebrtc/moz.build
@@ -436,7 +436,6 @@ DIRS += [
"/third_party/libwebrtc/third_party/abseil-cpp/absl/types/span_gn",
"/third_party/libwebrtc/third_party/abseil-cpp/absl/types/variant_gn",
"/third_party/libwebrtc/third_party/abseil-cpp/absl/utility/utility_gn",
- "/third_party/libwebrtc/third_party/libvpx/libvpx_gn",
"/third_party/libwebrtc/third_party/libyuv/libyuv_gn",
"/third_party/libwebrtc/third_party/pffft/pffft_gn",
"/third_party/libwebrtc/third_party/rnnoise/rnn_vad_gn",