From 1e700c2bfaccef30ca0b7acb55e73ece823b84f9 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 7 Nov 2024 01:20:18 +0000 Subject: [PATCH] buildMozillaMach: apply upstream WASI SDK workaround for LLVM 19 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I have no idea why this is necessary for us and why the upstream patch doesn’t work, but this gets the Mozilla packages building on LLVM 19 in the meantime while we try to figure that out. Closes: #352724 --- .../networking/browsers/firefox/common.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix index dc52606f24b7..be1a1fbadb97 100644 --- a/pkgs/applications/networking/browsers/firefox/common.nix +++ b/pkgs/applications/networking/browsers/firefox/common.nix @@ -254,6 +254,25 @@ buildStdenv.mkDerivation { hash = "sha256-2IpdSyye3VT4VB95WurnyRFtdN1lfVtYpgEiUVhfNjw="; }) ] + ++ [ + # LLVM 19 turned on WASM reference types by default, exposing a bug + # that broke the Mozilla WASI build. Supposedly, it has been fixed + # upstream in LLVM, but the build fails in the same way for us even + # with LLVM 19 versions that contain the upstream patch. + # + # Apply the temporary patch Mozilla used to work around this bug + # for now until someone can investigate what’s going on here. + # + # TODO: Please someone figure out what’s up with this. + # + # See: + # See: + (fetchpatch { + name = "wasi-sdk-disable-reference-types.patch"; + url = "https://hg.mozilla.org/integration/autoland/raw-rev/23a9f6555c7c"; + hash = "sha256-CRywalJlRMFVLITEYXxpSq3jLPbUlWKNRHuKLwXqQfU="; + }) + ] ++ extraPatches; postPatch = ''