about summary refs log tree commit diff
path: root/pkgs/development/interpreters/spidermonkey
diff options
context:
space:
mode:
authorsg2002 <sg2002@gmx.com>2022-09-23 14:24:54 +0300
committersg2002 <sg2002@gmx.com>2022-09-25 16:12:45 +0300
commit49a6efa32af1e61608a7e145d25b1ffa1375ff2c (patch)
treedb632a842757732ee9024e0c1546a780615894dd /pkgs/development/interpreters/spidermonkey
parent01188530fdfed7234eabf2e9babdd09f2fe58566 (diff)
downloadnixlib-49a6efa32af1e61608a7e145d25b1ffa1375ff2c.tar
nixlib-49a6efa32af1e61608a7e145d25b1ffa1375ff2c.tar.gz
nixlib-49a6efa32af1e61608a7e145d25b1ffa1375ff2c.tar.bz2
nixlib-49a6efa32af1e61608a7e145d25b1ffa1375ff2c.tar.lz
nixlib-49a6efa32af1e61608a7e145d25b1ffa1375ff2c.tar.xz
nixlib-49a6efa32af1e61608a7e145d25b1ffa1375ff2c.tar.zst
nixlib-49a6efa32af1e61608a7e145d25b1ffa1375ff2c.zip
spidermonkey: fix i686 build
Diffstat (limited to 'pkgs/development/interpreters/spidermonkey')
-rw-r--r--pkgs/development/interpreters/spidermonkey/common.nix3
-rw-r--r--pkgs/development/interpreters/spidermonkey/fix-float-i686.patch16
2 files changed, 19 insertions, 0 deletions
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