diff --git a/pkgs/development/interpreters/spidermonkey/common.nix b/pkgs/development/interpreters/spidermonkey/common.nix index 8e2b1234fdb..1272e061b0d 100644 --- a/pkgs/development/interpreters/spidermonkey/common.nix +++ b/pkgs/development/interpreters/spidermonkey/common.nix @@ -75,6 +75,9 @@ stdenv.mkDerivation (finalAttrs: rec { url = "https://hg.mozilla.org/releases/mozilla-esr102/raw-rev/1fa20fb474f5d149cc32d98df169dee5e6e6861b"; sha256 = "sha256-eCisKjNxy9SLr9KoEE2UB26BflUknnR7PIvnpezsZeA="; }) + ] ++ lib.optionals (lib.versionAtLeast version "91" && stdenv.hostPlatform.system == "i686-linux") [ + # Fixes i686 build, https://bugzilla.mozilla.org/show_bug.cgi?id=1729459 + ./fix-float-i686.patch ]; nativeBuildInputs = [ diff --git a/pkgs/development/interpreters/spidermonkey/fix-float-i686.patch b/pkgs/development/interpreters/spidermonkey/fix-float-i686.patch new file mode 100644 index 00000000000..f4e28763b75 --- /dev/null +++ b/pkgs/development/interpreters/spidermonkey/fix-float-i686.patch @@ -0,0 +1,16 @@ +diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private.h +index 51d79f9c2ec59..fafd7d6fc1e0d 100644 +--- a/modules/fdlibm/src/math_private.h ++++ b/modules/fdlibm/src/math_private.h +@@ -30,5 +30,9 @@ + * Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t + */ + ++#if defined __FLT_EVAL_METHOD__ && (__FLT_EVAL_METHOD__ == 2) ++typedef long double __double_t; ++#else + typedef double __double_t; ++#endif + typedef __double_t double_t; + + /* \ No newline at end of file