From a7ca8656884bf103b5dbab8d89b34cc53fbdd273 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 12 Aug 2024 03:47:28 +0200 Subject: [PATCH 1/3] buildMozillaMach: prune patches These do not apply to any version we carry any longer. --- .../firefox/122.0-libvpx-mozbz1875201.patch | 80 ------------------- .../networking/browsers/firefox/common.nix | 33 +------- 2 files changed, 4 insertions(+), 109 deletions(-) delete mode 100644 pkgs/applications/networking/browsers/firefox/122.0-libvpx-mozbz1875201.patch diff --git a/pkgs/applications/networking/browsers/firefox/122.0-libvpx-mozbz1875201.patch b/pkgs/applications/networking/browsers/firefox/122.0-libvpx-mozbz1875201.patch deleted file mode 100644 index 4acf0fa6a7fc..000000000000 --- a/pkgs/applications/networking/browsers/firefox/122.0-libvpx-mozbz1875201.patch +++ /dev/null @@ -1,80 +0,0 @@ -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 4d28004a0d0d..438f0c3078d5 100644 --- a/pkgs/applications/networking/browsers/firefox/common.nix +++ b/pkgs/applications/networking/browsers/firefox/common.nix @@ -234,32 +234,10 @@ buildStdenv.mkDerivation { "profilingPhase" ]; - patches = lib.optionals (lib.versionAtLeast version "120" && lib.versionOlder version "122") [ - # dbus cflags regression fix - # https://bugzilla.mozilla.org/show_bug.cgi?id=1864083 - (fetchpatch { - url = "https://hg.mozilla.org/mozilla-central/raw-rev/f1f5f98290b3"; - hash = "sha256-5PzVNJvPNX8irCqj1H38SFDydNJZuBHx167e1TQehaI="; - }) - ] - ++ lib.optional (lib.versionAtLeast version "111") ./env_var_for_system_dir-ff111.patch - ++ lib.optional (lib.versionAtLeast version "96" && lib.versionOlder version "121") ./no-buildconfig-ffx96.patch - ++ lib.optional (lib.versionAtLeast version "121") ./no-buildconfig-ffx121.patch - ++ lib.optionals (lib.versionAtLeast version "120" && lib.versionOlder version "120.0.1") [ - (fetchpatch { - # Do not crash on systems without an expected statically assumed page size. - # https://phabricator.services.mozilla.com/D194458 - name = "mozbz1866025.patch"; - url = "https://hg.mozilla.org/mozilla-central/raw-rev/42c80086da4468f407648f2f57a7222aab2e9951"; - hash = "sha256-cWOyvjIPUU1tavPRqg61xJ53XE4EJTdsFzadfVxyTyM="; - }) - ] - ++ lib.optionals (lib.versionOlder version "122") [ - ./bindgen-0.64-clang-18.patch - ] - ++ lib.optionals (lib.versionAtLeast version "122" && lib.versionOlder version "123") [ - ./122.0-libvpx-mozbz1875201.patch - ] + patches = lib.optionals (lib.versionAtLeast version "111") [ ./env_var_for_system_dir-ff111.patch ] + ++ lib.optionals (lib.versionAtLeast version "96" && lib.versionOlder version "121") [ ./no-buildconfig-ffx96.patch ] + ++ lib.optionals (lib.versionAtLeast version "121") [ ./no-buildconfig-ffx121.patch ] + ++ lib.optionals (lib.versionOlder version "122") [ ./bindgen-0.64-clang-18.patch ] ++ lib.optionals (lib.versionOlder version "123") [ (fetchpatch { name = "clang-18.patch"; @@ -267,9 +245,6 @@ buildStdenv.mkDerivation { hash = "sha256-2IpdSyye3VT4VB95WurnyRFtdN1lfVtYpgEiUVhfNjw="; }) ] - ++ lib.optionals (lib.versionOlder version "115.12") [ - ./rust-1.78.patch - ] ++ extraPatches; postPatch = '' From 3ea1895a743223c7f4c2a0616a8d3709f8c55685 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 12 Aug 2024 04:00:56 +0200 Subject: [PATCH 2/3] buildMozillaMach: backport cbindgen 0.27.0 compat The preliminary assumption is that this will land in 131 and then get backported into the ESR releases. I don't plan to guess the correct version boundaries at this time. --- pkgs/applications/networking/browsers/firefox/common.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix index 438f0c3078d5..47937c661dbf 100644 --- a/pkgs/applications/networking/browsers/firefox/common.nix +++ b/pkgs/applications/networking/browsers/firefox/common.nix @@ -237,6 +237,14 @@ buildStdenv.mkDerivation { patches = lib.optionals (lib.versionAtLeast version "111") [ ./env_var_for_system_dir-ff111.patch ] ++ lib.optionals (lib.versionAtLeast version "96" && lib.versionOlder version "121") [ ./no-buildconfig-ffx96.patch ] ++ lib.optionals (lib.versionAtLeast version "121") [ ./no-buildconfig-ffx121.patch ] + ++ lib.optionals (lib.versionOlder version "131") [ + (fetchpatch { + # https://bugzilla.mozilla.org/show_bug.cgi?id=1912663 + name = "cbindgen-0.27.0-compat.patch"; + url = "https://hg.mozilla.org/integration/autoland/raw-rev/98cd34c7ff57"; + hash = "sha256-MqgWHgbDedVzDOqY2/fvCCp+bGwFBHqmaJLi/mllZug="; + }) + ] ++ lib.optionals (lib.versionOlder version "122") [ ./bindgen-0.64-clang-18.patch ] ++ lib.optionals (lib.versionOlder version "123") [ (fetchpatch { From 09b3126d1f18a2405ec6814c5b369b4ecd9f83e7 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 21 Aug 2024 02:10:58 +0200 Subject: [PATCH 3/3] buildMozillaMach: backport patches to fix explicit sync on nvidia gpus https://bugzilla.mozilla.org/show_bug.cgi?id=1898476 Closes: #335791 --- .../networking/browsers/firefox/common.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix index 47937c661dbf..15d958a3607f 100644 --- a/pkgs/applications/networking/browsers/firefox/common.nix +++ b/pkgs/applications/networking/browsers/firefox/common.nix @@ -245,6 +245,24 @@ buildStdenv.mkDerivation { hash = "sha256-MqgWHgbDedVzDOqY2/fvCCp+bGwFBHqmaJLi/mllZug="; }) ] + ++ lib.optionals (lib.versionOlder version "130" && lib.versionAtLeast version "128") [ + # https://bugzilla.mozilla.org/show_bug.cgi?id=1898476 + (fetchpatch { + name = "mozbz-1898476-1.patch"; + url = "https://hg.mozilla.org/mozilla-central/raw-rev/f9323daf7abe"; + hash = "sha256-fvIowXJLWnm16LeiSz6EasGypTi1ilG+s/T6+lNLbMQ="; + }) + (fetchpatch { + name = "mozbz-1898476-2.patch"; + url = "https://hg.mozilla.org/mozilla-central/raw-rev/a264ff9e9f6f"; + hash = "sha256-9vkI/Ho4BXvLnoRGdfTzUODcIlA6K3RjbdhZjb/LEz0="; + }) + (fetchpatch { + name = "mozbz-1898476-3.patch"; + url = "https://hg.mozilla.org/mozilla-central/raw-rev/eb230ecdf8eb"; + hash = "sha256-IaLltxf5W1WEzxvbi10wphqXVQPtBiLc2zlk38CIiz4="; + }) + ] ++ lib.optionals (lib.versionOlder version "122") [ ./bindgen-0.64-clang-18.patch ] ++ lib.optionals (lib.versionOlder version "123") [ (fetchpatch {