From 49a6efa32af1e61608a7e145d25b1ffa1375ff2c Mon Sep 17 00:00:00 2001 From: sg2002 Date: Fri, 23 Sep 2022 14:24:54 +0300 Subject: [PATCH] spidermonkey: fix i686 build --- .../interpreters/spidermonkey/common.nix | 3 +++ .../spidermonkey/fix-float-i686.patch | 16 ++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 pkgs/development/interpreters/spidermonkey/fix-float-i686.patch diff --git a/pkgs/development/interpreters/spidermonkey/common.nix b/pkgs/development/interpreters/spidermonkey/common.nix index 8e2b1234fdbc..1272e061b0d9 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 000000000000..f4e28763b75f --- /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