diff options
author | Martin Weinelt <hexa@darmstadt.ccc.de> | 2024-02-04 13:32:09 +0100 |
---|---|---|
committer | Martin Weinelt <hexa@darmstadt.ccc.de> | 2024-02-04 14:15:22 +0100 |
commit | 8e0ce57c6310792be31f0259963ec75ed57c1ab3 (patch) | |
tree | db60f53d6d865f7a819d054aba15334969464a46 /pkgs/applications/networking | |
parent | 1be8478d00f91aa3a1980093c8accf0ce54d33bf (diff) | |
download | nixlib-8e0ce57c6310792be31f0259963ec75ed57c1ab3.tar nixlib-8e0ce57c6310792be31f0259963ec75ed57c1ab3.tar.gz nixlib-8e0ce57c6310792be31f0259963ec75ed57c1ab3.tar.bz2 nixlib-8e0ce57c6310792be31f0259963ec75ed57c1ab3.tar.lz nixlib-8e0ce57c6310792be31f0259963ec75ed57c1ab3.tar.xz nixlib-8e0ce57c6310792be31f0259963ec75ed57c1ab3.tar.zst nixlib-8e0ce57c6310792be31f0259963ec75ed57c1ab3.zip |
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
Diffstat (limited to 'pkgs/applications/networking')
-rw-r--r-- | pkgs/applications/networking/browsers/firefox/122.0-libvpx-mozbz1875201.patch | 80 | ||||
-rw-r--r-- | pkgs/applications/networking/browsers/firefox/common.nix | 3 |
2 files changed, 83 insertions, 0 deletions
diff --git a/pkgs/applications/networking/browsers/firefox/122.0-libvpx-mozbz1875201.patch b/pkgs/applications/networking/browsers/firefox/122.0-libvpx-mozbz1875201.patch new file mode 100644 index 000000000000..4acf0fa6a7fc --- /dev/null +++ b/pkgs/applications/networking/browsers/firefox/122.0-libvpx-mozbz1875201.patch @@ -0,0 +1,80 @@ +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", diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix index 9f0826f0ba08..c7f323c69ef9 100644 --- a/pkgs/applications/networking/browsers/firefox/common.nix +++ b/pkgs/applications/networking/browsers/firefox/common.nix @@ -245,6 +245,9 @@ buildStdenv.mkDerivation { hash = "sha256-cWOyvjIPUU1tavPRqg61xJ53XE4EJTdsFzadfVxyTyM="; }) ] + ++ lib.optionals (lib.versionAtLeast version "122" && lib.versionOlder version "122.0.1") [ + ./122.0-libvpx-mozbz1875201.patch + ] ++ extraPatches; postPatch = '' |