fix wrong so library links [release 91.8.0-2mamba;Sat Apr 16 2022]
This commit is contained in:
parent
11430c4e00
commit
458a6abbe2
@ -1,2 +1,4 @@
|
|||||||
# mozjs91
|
# mozjs91
|
||||||
|
|
||||||
|
Mozilla stand-alone library implementing JavaScript 24.
|
||||||
|
|
||||||
|
@ -0,0 +1,77 @@
|
|||||||
|
From: Takuro Ashie <ashie>
|
||||||
|
Date: Thu, 18 Apr 2019 07:21:00 -0700
|
||||||
|
Subject: Bug 1545437 - Add options to specify Rust target name
|
||||||
|
|
||||||
|
Certain build systems such as Yocto know more suitable Rust target name, so it
|
||||||
|
would be better that there is a way to pass it to Mozilla's build system.
|
||||||
|
|
||||||
|
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1545437
|
||||||
|
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=954774
|
||||||
|
Forwarded: https://phabricator.services.mozilla.com/D28069
|
||||||
|
Applied-upstream: no, upstream consider this a workaround and do not support armel
|
||||||
|
---
|
||||||
|
build/moz.configure/rust.configure | 37 +++++++++++++++++++++++++++++++++----
|
||||||
|
1 file changed, 33 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure
|
||||||
|
index 9647cbc..5aed73f 100644
|
||||||
|
--- a/build/moz.configure/rust.configure
|
||||||
|
+++ b/build/moz.configure/rust.configure
|
||||||
|
@@ -218,6 +218,28 @@ def rust_supported_targets(rustc):
|
||||||
|
return namespace(per_os=per_os, per_raw_os=per_raw_os)
|
||||||
|
|
||||||
|
|
||||||
|
+option(env='RUST_HOST',
|
||||||
|
+ nargs=1,
|
||||||
|
+ help='Define the system type for Rust performing the build')
|
||||||
|
+
|
||||||
|
+@depends('RUST_HOST')
|
||||||
|
+@checking('rust host', lambda host: host)
|
||||||
|
+def rust_host_env(value):
|
||||||
|
+ if value:
|
||||||
|
+ return value[0]
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+option(env='RUST_TARGET',
|
||||||
|
+ nargs=1,
|
||||||
|
+ help='Define the system type for Rust where the resulting executables will be used')
|
||||||
|
+
|
||||||
|
+@depends('RUST_TARGET')
|
||||||
|
+@checking('rust target', lambda target: target)
|
||||||
|
+def rust_target_env(value):
|
||||||
|
+ if value:
|
||||||
|
+ return value[0]
|
||||||
|
+
|
||||||
|
+
|
||||||
|
@template
|
||||||
|
def rust_triple_alias(host_or_target):
|
||||||
|
"""Template defining the alias used for rustc's --target flag.
|
||||||
|
@@ -228,8 +250,9 @@ def rust_triple_alias(host_or_target):
|
||||||
|
|
||||||
|
host_or_target_str = {host: 'host', target: 'target'}[host_or_target]
|
||||||
|
|
||||||
|
- @depends(rustc, host_or_target, c_compiler, rust_supported_targets,
|
||||||
|
- arm_target, when=rust_compiler)
|
||||||
|
+ @depends(rustc, host_or_target, rust_host_env, rust_target_env,
|
||||||
|
+ c_compiler, rust_supported_targets, arm_target,
|
||||||
|
+ when=rust_compiler)
|
||||||
|
@checking('for rust %s triplet' % host_or_target_str)
|
||||||
|
@imports('os')
|
||||||
|
@imports('subprocess')
|
||||||
|
@@ -237,8 +260,14 @@ def rust_triple_alias(host_or_target):
|
||||||
|
@imports(_from='mozbuild.shellutil', _import='quote')
|
||||||
|
@imports(_from='tempfile', _import='mkstemp')
|
||||||
|
@imports(_from='textwrap', _import='dedent')
|
||||||
|
- def rust_target(rustc, host_or_target, compiler_info,
|
||||||
|
- rust_supported_targets, arm_target):
|
||||||
|
+ def rust_target(rustc, host_or_target, rust_host_env, rust_target_env,
|
||||||
|
+ compiler_info, rust_supported_targets, arm_target):
|
||||||
|
+
|
||||||
|
+ specified_targets = {"host": rust_host_env, "target": rust_target_env}
|
||||||
|
+ specified_target = specified_targets[host_or_target_str]
|
||||||
|
+ if (specified_target):
|
||||||
|
+ return specified_target
|
||||||
|
+
|
||||||
|
# Rust's --target options are similar to, but not exactly the same
|
||||||
|
# as, the autoconf-derived targets we use. An example would be that
|
||||||
|
# Rust uses distinct target triples for targetting the GNU C++ ABI
|
@ -0,0 +1,13 @@
|
|||||||
|
--- mozjs-68.4.2/js/src/wasm/WasmSignalHandlers.cpp.orig 2020-04-10 10:54:39.434292787 +0200
|
||||||
|
+++ mozjs-68.4.2/js/src/wasm/WasmSignalHandlers.cpp 2020-04-10 10:54:54.684009520 +0200
|
||||||
|
@@ -243,10 +243,6 @@
|
||||||
|
// If you run into compile problems on a tier-3 platform, you can disable the
|
||||||
|
// emulation here.
|
||||||
|
|
||||||
|
-#if defined(__linux__) && defined(__arm__)
|
||||||
|
-# define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
#ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
|
||||||
|
# include <sys/user.h>
|
||||||
|
#endif
|
10
mozjs-68.4.2-gcc-10.0.patch
Normal file
10
mozjs-68.4.2-gcc-10.0.patch
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
--- mozjs-68.4.2/mfbt/FunctionTypeTraits.h.orig 2020-12-01 09:23:27.539907533 +0000
|
||||||
|
+++ mozjs-68.4.2/mfbt/FunctionTypeTraits.h 2020-12-01 09:08:14.179410222 +0000
|
||||||
|
@@ -10,6 +10,7 @@
|
||||||
|
#define mozilla_FunctionTypeTraits_h
|
||||||
|
|
||||||
|
#include <tuple>
|
||||||
|
+#include <cstring>
|
||||||
|
|
||||||
|
namespace mozilla {
|
||||||
|
|
38
mozjs-91.8.0-copy-headers.patch
Normal file
38
mozjs-91.8.0-copy-headers.patch
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
From 3b3c8e37cca418e07bdeceaf3a601805df28d925 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
|
||||||
|
Date: Wed, 15 Jul 2020 08:27:39 +0200
|
||||||
|
Subject: [PATCH] build: Copy headers on install instead of symlinking
|
||||||
|
|
||||||
|
Patch by Philip Chimento ported forward to mozjs78
|
||||||
|
---
|
||||||
|
python/mozbuild/mozbuild/backend/recursivemake.py | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/python/mozbuild/mozbuild/backend/recursivemake.py b/python/mozbuild/mozbuild/backend/recursivemake.py
|
||||||
|
index d964466..0285ad9 100644
|
||||||
|
--- a/python/mozbuild/mozbuild/backend/recursivemake.py
|
||||||
|
+++ b/python/mozbuild/mozbuild/backend/recursivemake.py
|
||||||
|
@@ -1568,9 +1568,9 @@ class RecursiveMakeBackend(MakeBackend):
|
||||||
|
" of srcdir-relative or absolute paths."
|
||||||
|
)
|
||||||
|
|
||||||
|
- install_manifest.add_pattern_link(basepath, wild, dest_dir)
|
||||||
|
+ install_manifest.add_pattern_copy(basepath, wild, dest_dir)
|
||||||
|
else:
|
||||||
|
- install_manifest.add_pattern_link(f.srcdir, f, dest_dir)
|
||||||
|
+ install_manifest.add_pattern_copy(f.srcdir, f, dest_dir)
|
||||||
|
elif isinstance(f, AbsolutePath):
|
||||||
|
if not f.full_path.lower().endswith((".dll", ".pdb", ".so")):
|
||||||
|
raise Exception(
|
||||||
|
@@ -1581,7 +1581,7 @@ class RecursiveMakeBackend(MakeBackend):
|
||||||
|
install_manifest.add_optional_exists(dest_file)
|
||||||
|
absolute_files.append(f.full_path)
|
||||||
|
else:
|
||||||
|
- install_manifest.add_link(f.full_path, dest_file)
|
||||||
|
+ install_manifest.add_copy(f.full_path, dest_file)
|
||||||
|
else:
|
||||||
|
install_manifest.add_optional_exists(dest_file)
|
||||||
|
objdir_files.append(self._pretty_path(f, backend_file))
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
67
mozjs-91.8.0-emitter.patch
Normal file
67
mozjs-91.8.0-emitter.patch
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
From d1d785c169345b81c76213f6dd9be32b4db60294 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
|
||||||
|
Date: Wed, 15 Jul 2020 08:39:47 +0200
|
||||||
|
Subject: [PATCH] Build: allow LOCAL_INCLUDES paths with topsrcdir or topobjdir
|
||||||
|
|
||||||
|
---
|
||||||
|
python/mozbuild/mozbuild/frontend/emitter.py | 10 ---------
|
||||||
|
.../mozbuild/test/frontend/test_emitter.py | 22 -------------------
|
||||||
|
2 files changed, 32 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/python/mozbuild/mozbuild/frontend/emitter.py b/python/mozbuild/mozbuild/frontend/emitter.py
|
||||||
|
index 44b916e..f2e821d 100644
|
||||||
|
--- a/python/mozbuild/mozbuild/frontend/emitter.py
|
||||||
|
+++ b/python/mozbuild/mozbuild/frontend/emitter.py
|
||||||
|
@@ -1367,16 +1367,6 @@ class TreeMetadataEmitter(LoggingMixin):
|
||||||
|
"(resolved to %s)" % (local_include, full_path),
|
||||||
|
context,
|
||||||
|
)
|
||||||
|
- if (
|
||||||
|
- full_path == context.config.topsrcdir
|
||||||
|
- or full_path == context.config.topobjdir
|
||||||
|
- ):
|
||||||
|
- raise SandboxValidationError(
|
||||||
|
- "Path specified in LOCAL_INCLUDES "
|
||||||
|
- "(%s) resolves to the topsrcdir or topobjdir (%s), which is "
|
||||||
|
- "not allowed" % (local_include, full_path),
|
||||||
|
- context,
|
||||||
|
- )
|
||||||
|
include_obj = LocalInclude(context, local_include)
|
||||||
|
local_includes.append(include_obj.path.full_path)
|
||||||
|
yield include_obj
|
||||||
|
diff --git a/python/mozbuild/mozbuild/test/frontend/test_emitter.py b/python/mozbuild/mozbuild/test/frontend/test_emitter.py
|
||||||
|
index e53bc5e..c1b9d32 100644
|
||||||
|
--- a/python/mozbuild/mozbuild/test/frontend/test_emitter.py
|
||||||
|
+++ b/python/mozbuild/mozbuild/test/frontend/test_emitter.py
|
||||||
|
@@ -1098,28 +1098,6 @@ class TestEmitterBasic(unittest.TestCase):
|
||||||
|
|
||||||
|
self.assertEqual(local_includes, expected)
|
||||||
|
|
||||||
|
- def test_local_includes_invalid(self):
|
||||||
|
- """Test that invalid LOCAL_INCLUDES are properly detected."""
|
||||||
|
- reader = self.reader("local_includes-invalid/srcdir")
|
||||||
|
-
|
||||||
|
- with six.assertRaisesRegex(
|
||||||
|
- self,
|
||||||
|
- SandboxValidationError,
|
||||||
|
- "Path specified in LOCAL_INCLUDES.*resolves to the "
|
||||||
|
- "topsrcdir or topobjdir",
|
||||||
|
- ):
|
||||||
|
- self.read_topsrcdir(reader)
|
||||||
|
-
|
||||||
|
- reader = self.reader("local_includes-invalid/objdir")
|
||||||
|
-
|
||||||
|
- with six.assertRaisesRegex(
|
||||||
|
- self,
|
||||||
|
- SandboxValidationError,
|
||||||
|
- "Path specified in LOCAL_INCLUDES.*resolves to the "
|
||||||
|
- "topsrcdir or topobjdir",
|
||||||
|
- ):
|
||||||
|
- self.read_topsrcdir(reader)
|
||||||
|
-
|
||||||
|
def test_local_includes_file(self):
|
||||||
|
"""Test that a filename can't be used in LOCAL_INCLUDES."""
|
||||||
|
reader = self.reader("local_includes-filename")
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
26
mozjs-91.8.0-fix-soname.patch
Normal file
26
mozjs-91.8.0-fix-soname.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
From d21c7cb9343d8c495d987e71be0f35887574c820 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
|
||||||
|
Date: Wed, 15 Jul 2020 08:21:47 +0200
|
||||||
|
Subject: [PATCH] Add soname switch to linker, regardless of Operating System
|
||||||
|
|
||||||
|
Fix backported from Debian: http://bugs.debian.org/746705
|
||||||
|
---
|
||||||
|
config/rules.mk | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/config/rules.mk b/config/rules.mk
|
||||||
|
index 0f9b2ac..f6b4efe 100644
|
||||||
|
--- a/config/rules.mk
|
||||||
|
+++ b/config/rules.mk
|
||||||
|
@@ -285,6 +285,8 @@ ifeq ($(OS_ARCH),GNU)
|
||||||
|
OS_CPPFLAGS += -DPATH_MAX=1024 -DMAXPATHLEN=1024
|
||||||
|
endif
|
||||||
|
|
||||||
|
+EXTRA_DSO_LDOPTS += -Wl,-soname,lib$(JS_LIBRARY_NAME).so.0
|
||||||
|
+
|
||||||
|
#
|
||||||
|
# MINGW32
|
||||||
|
#
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
@ -0,0 +1,44 @@
|
|||||||
|
From: Simon McVittie <smcv@debian.org>
|
||||||
|
Date: Mon, 9 Oct 2017 09:23:14 +0100
|
||||||
|
Subject: icu_sources_data: Write command output to our stderr
|
||||||
|
|
||||||
|
Saying "See output in /tmp/foobar" is all very well for a developer
|
||||||
|
build, but on a buildd our /tmp is going to get thrown away after
|
||||||
|
the build. Just log the usual way instead.
|
||||||
|
---
|
||||||
|
intl/icu_sources_data.py | 16 ++++------------
|
||||||
|
1 file changed, 4 insertions(+), 12 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/intl/icu_sources_data.py b/intl/icu_sources_data.py
|
||||||
|
index 4db52af..d62960d 100644
|
||||||
|
--- a/intl/icu_sources_data.py
|
||||||
|
+++ b/intl/icu_sources_data.py
|
||||||
|
@@ -188,21 +188,13 @@ def update_sources(topsrcdir):
|
||||||
|
|
||||||
|
def try_run(name, command, cwd=None, **kwargs):
|
||||||
|
try:
|
||||||
|
- with tempfile.NamedTemporaryFile(prefix=name, delete=False) as f:
|
||||||
|
- subprocess.check_call(
|
||||||
|
- command, cwd=cwd, stdout=f, stderr=subprocess.STDOUT, **kwargs
|
||||||
|
- )
|
||||||
|
- except subprocess.CalledProcessError:
|
||||||
|
- print(
|
||||||
|
- """Error running "{}" in directory {}
|
||||||
|
- See output in {}""".format(
|
||||||
|
- " ".join(command), cwd, f.name
|
||||||
|
- ),
|
||||||
|
- file=sys.stderr,
|
||||||
|
+ subprocess.check_call(
|
||||||
|
+ command, cwd=cwd, stdout=sys.stderr, stderr=subprocess.STDOUT, **kwargs
|
||||||
|
)
|
||||||
|
+ except subprocess.CalledProcessError:
|
||||||
|
+ print('''Error running "{}" in directory {}'''.format(' '.join(command), cwd), file=sys.stderr)
|
||||||
|
return False
|
||||||
|
else:
|
||||||
|
- os.unlink(f.name)
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
@ -0,0 +1,29 @@
|
|||||||
|
From: Simon McVittie <smcv@debian.org>
|
||||||
|
Date: Mon, 9 Oct 2017 09:22:12 +0100
|
||||||
|
Subject: icu_sources_data.py: Decouple from Mozilla build system
|
||||||
|
|
||||||
|
mozpack.path is a wrapper around os.path that normalizes path
|
||||||
|
separators on Windows, but on Unix we only have one path separator
|
||||||
|
so there's nothing to normalize. Avoid needing to import all of it.
|
||||||
|
---
|
||||||
|
intl/icu_sources_data.py | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/intl/icu_sources_data.py b/intl/icu_sources_data.py
|
||||||
|
index 2936df9..4db52af 100644
|
||||||
|
--- a/intl/icu_sources_data.py
|
||||||
|
+++ b/intl/icu_sources_data.py
|
||||||
|
@@ -21,7 +21,9 @@ import subprocess
|
||||||
|
import sys
|
||||||
|
import tempfile
|
||||||
|
|
||||||
|
-from mozpack import path as mozpath
|
||||||
|
+# Close enough
|
||||||
|
+import os.path as mozpath
|
||||||
|
+mozpath.normsep = lambda p: p
|
||||||
|
|
||||||
|
# The following files have been determined to be dead/unused by a
|
||||||
|
# semi-automated analysis. You can just remove any of the files below
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
28
mozjs-91.8.0-init_patch.patch
Normal file
28
mozjs-91.8.0-init_patch.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
From 00414eb67ab0591911167155963b5524fbf2b0c0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
|
||||||
|
Date: Mon, 9 Aug 2021 14:38:58 +0200
|
||||||
|
Subject: [PATCH] Don't throw InvalidOptionError on invalid options
|
||||||
|
|
||||||
|
---
|
||||||
|
python/mozbuild/mozbuild/configure/__init__.py | 5 +----
|
||||||
|
1 file changed, 1 insertion(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/python/mozbuild/mozbuild/configure/__init__.py b/python/mozbuild/mozbuild/configure/__init__.py
|
||||||
|
index f3167f6..c9e1132 100644
|
||||||
|
--- a/python/mozbuild/mozbuild/configure/__init__.py
|
||||||
|
+++ b/python/mozbuild/mozbuild/configure/__init__.py
|
||||||
|
@@ -553,10 +553,7 @@ class ConfigureSandbox(dict):
|
||||||
|
for arg in self._helper:
|
||||||
|
without_value = arg.split("=", 1)[0]
|
||||||
|
msg = "Unknown option: %s" % without_value
|
||||||
|
- if self._help:
|
||||||
|
- self._logger.warning(msg)
|
||||||
|
- else:
|
||||||
|
- raise InvalidOptionError(msg)
|
||||||
|
+ self._logger.warning(msg)
|
||||||
|
|
||||||
|
# Run the execution queue
|
||||||
|
for func, args in self._execution_queue:
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
@ -0,0 +1,29 @@
|
|||||||
|
From 2d99a7b076578a3394fb9d5be6eb44f9cfebc681 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
|
||||||
|
Date: Mon, 9 Aug 2021 16:15:37 +0200
|
||||||
|
Subject: [PATCH] Remove sloppy m4 detection from bundled autoconf
|
||||||
|
|
||||||
|
---
|
||||||
|
build/autoconf/autoconf.sh | 6 ------
|
||||||
|
1 file changed, 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/build/autoconf/autoconf.sh b/build/autoconf/autoconf.sh
|
||||||
|
index ceb8a25..606c74e 100644
|
||||||
|
--- a/build/autoconf/autoconf.sh
|
||||||
|
+++ b/build/autoconf/autoconf.sh
|
||||||
|
@@ -114,12 +114,6 @@ fi
|
||||||
|
|
||||||
|
# Use the frozen version of Autoconf if available.
|
||||||
|
r= f=
|
||||||
|
-# Some non-GNU m4's don't reject the --help option, so give them /dev/null.
|
||||||
|
-case `$M4 --help < /dev/null 2>&1` in
|
||||||
|
-*reload-state*) test -r $AC_MACRODIR/autoconf.m4f && { r=--reload f=f; } ;;
|
||||||
|
-*traditional*) ;;
|
||||||
|
-*) echo Autoconf requires GNU m4 1.1 or later >&2; rm -f $tmpin; exit 1 ;;
|
||||||
|
-esac
|
||||||
|
|
||||||
|
$M4 -I$AC_MACRODIR $use_localdir $r autoconf.m4$f $infile > $tmpout ||
|
||||||
|
{ rm -f $tmpin $tmpout; exit 2; }
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
22
mozjs-91.8.0-spidermonkey_checks_disable.patch
Normal file
22
mozjs-91.8.0-spidermonkey_checks_disable.patch
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
From 6ebe8ce6a3267c96454de3cd453269b4c4053a3e Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
|
||||||
|
Date: Mon, 9 Aug 2021 14:41:14 +0200
|
||||||
|
Subject: [PATCH] Don't die on SpiderMonkey checks
|
||||||
|
|
||||||
|
---
|
||||||
|
config/run_spidermonkey_checks.py | 2 --
|
||||||
|
1 file changed, 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/config/run_spidermonkey_checks.py b/config/run_spidermonkey_checks.py
|
||||||
|
index 0f842d9..b49db52 100644
|
||||||
|
--- a/config/run_spidermonkey_checks.py
|
||||||
|
+++ b/config/run_spidermonkey_checks.py
|
||||||
|
@@ -11,5 +11,3 @@ import sys
|
||||||
|
def main(output, lib_file, *scripts):
|
||||||
|
for script in scripts:
|
||||||
|
retcode = subprocess.call([sys.executable, script], cwd=buildconfig.topsrcdir)
|
||||||
|
- if retcode != 0:
|
||||||
|
- raise Exception(script + " failed")
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
66
mozjs-91.8.0-tests-Use-native-TemporaryDirectory.patch
Normal file
66
mozjs-91.8.0-tests-Use-native-TemporaryDirectory.patch
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
From 1af9fdd2124547099eb0cf5a71b513ef5592dbf9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
|
||||||
|
Date: Tue, 10 Aug 2021 00:00:50 +0200
|
||||||
|
Subject: [PATCH] Tests: Use native TemporaryDirectory
|
||||||
|
|
||||||
|
Without ugly wrapper for Py < 3.2 that doesn't work half of the times...
|
||||||
|
---
|
||||||
|
js/src/jit-test/jit_test.py | 2 +-
|
||||||
|
js/src/tests/jstests.py | 2 +-
|
||||||
|
js/src/tests/lib/tempfile.py | 17 +----------------
|
||||||
|
3 files changed, 3 insertions(+), 18 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/js/src/jit-test/jit_test.py b/js/src/jit-test/jit_test.py
|
||||||
|
index f5d7794..8d443aa 100755
|
||||||
|
--- a/js/src/jit-test/jit_test.py
|
||||||
|
+++ b/js/src/jit-test/jit_test.py
|
||||||
|
@@ -38,7 +38,7 @@ from lib.tests import (
|
||||||
|
get_environment_overlay,
|
||||||
|
change_env,
|
||||||
|
)
|
||||||
|
-from lib.tempfile import TemporaryDirectory
|
||||||
|
+from tempfile import TemporaryDirectory
|
||||||
|
|
||||||
|
|
||||||
|
def which(name):
|
||||||
|
diff --git a/js/src/tests/jstests.py b/js/src/tests/jstests.py
|
||||||
|
index 6fa2f5f..53ceff6 100755
|
||||||
|
--- a/js/src/tests/jstests.py
|
||||||
|
+++ b/js/src/tests/jstests.py
|
||||||
|
@@ -37,7 +37,7 @@ from lib.tests import (
|
||||||
|
from lib.results import ResultsSink, TestOutput
|
||||||
|
from lib.progressbar import ProgressBar
|
||||||
|
from lib.adaptor import xdr_annotate
|
||||||
|
-from lib.tempfile import TemporaryDirectory
|
||||||
|
+from tempfile import TemporaryDirectory
|
||||||
|
|
||||||
|
if sys.platform.startswith("linux") or sys.platform.startswith("darwin"):
|
||||||
|
from lib.tasks_unix import run_all_tests
|
||||||
|
diff --git a/js/src/tests/lib/tempfile.py b/js/src/tests/lib/tempfile.py
|
||||||
|
index ecc21c9..f0a1fa3 100644
|
||||||
|
--- a/js/src/tests/lib/tempfile.py
|
||||||
|
+++ b/js/src/tests/lib/tempfile.py
|
||||||
|
@@ -2,19 +2,4 @@
|
||||||
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
from __future__ import absolute_import
|
||||||
|
-
|
||||||
|
-try:
|
||||||
|
- # Python 3.2
|
||||||
|
- from tempfile import TemporaryDirectory
|
||||||
|
-except ImportError:
|
||||||
|
- import tempfile
|
||||||
|
- import shutil
|
||||||
|
- from contextlib import contextmanager
|
||||||
|
-
|
||||||
|
- @contextmanager
|
||||||
|
- def TemporaryDirectory(*args, **kwds):
|
||||||
|
- d = tempfile.mkdtemp(*args, **kwds)
|
||||||
|
- try:
|
||||||
|
- yield d
|
||||||
|
- finally:
|
||||||
|
- shutil.rmtree(d)
|
||||||
|
+from tempfile import TemporaryDirectory
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
26
mozjs-91.8.0-tests-increase-timeout.patch
Normal file
26
mozjs-91.8.0-tests-increase-timeout.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
From 9be85b155c6df0454c5faef9e850f572c99e3615 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
|
||||||
|
Date: Wed, 15 Jul 2020 08:32:44 +0200
|
||||||
|
Subject: [PATCH] Increase the test timeout for slower buildds
|
||||||
|
|
||||||
|
Ported forward from Debian: https://bugs.debian.org/878284
|
||||||
|
---
|
||||||
|
js/src/Makefile.in | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/js/src/Makefile.in b/js/src/Makefile.in
|
||||||
|
index b86aeed..d68655a 100644
|
||||||
|
--- a/js/src/Makefile.in
|
||||||
|
+++ b/js/src/Makefile.in
|
||||||
|
@@ -53,7 +53,7 @@ check:: check-js-msg
|
||||||
|
|
||||||
|
check-jstests:
|
||||||
|
$(wildcard $(RUN_TEST_PROGRAM)) $(PYTHON3) -u $(srcdir)/tests/jstests.py \
|
||||||
|
- --no-progress --format=automation --timeout 300 \
|
||||||
|
+ --no-progress --format=automation --timeout 600 \
|
||||||
|
$(JSTESTS_EXTRA_ARGS) \
|
||||||
|
$(DIST)/bin/$(JS_SHELL_NAME)$(BIN_SUFFIX)
|
||||||
|
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
100
mozjs91-91.8.0-x86-double_t-fix.patch
Normal file
100
mozjs91-91.8.0-x86-double_t-fix.patch
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
diff -w -ruN firefox-93.0.org/modules/fdlibm/src/math_private.h firefox-93.0/modules/fdlibm/src/math_private.h
|
||||||
|
--- firefox-93.0.org/modules/fdlibm/src/math_private.h 2021-09-27 16:47:42.000000000 -0600
|
||||||
|
+++ firefox-93.0/modules/fdlibm/src/math_private.h 2021-10-16 11:08:55.154643922 -0600
|
||||||
|
@@ -30,9 +30,13 @@
|
||||||
|
* Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#ifdef __LP64__
|
||||||
|
typedef double __double_t;
|
||||||
|
+#else
|
||||||
|
+typedef long double __double_t;
|
||||||
|
+#endif
|
||||||
|
typedef __double_t double_t;
|
||||||
|
-
|
||||||
|
+typedef float __float_t;
|
||||||
|
/*
|
||||||
|
* The original fdlibm code used statements like:
|
||||||
|
* n0 = ((*(int*)&one)>>29)^1; * index of high word *
|
||||||
|
@@ -630,6 +634,41 @@
|
||||||
|
return ((double)(x + 0x1.8p52) - 0x1.8p52);
|
||||||
|
}
|
||||||
|
|
||||||
|
+static inline float
|
||||||
|
+rnintf(__float_t x)
|
||||||
|
+{
|
||||||
|
+ /*
|
||||||
|
+ * As for rnint(), except we could just call that to handle the
|
||||||
|
+ * extra precision case, usually without losing efficiency.
|
||||||
|
+ */
|
||||||
|
+ return ((float)(x + 0x1.8p23F) - 0x1.8p23F);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+#ifdef LDBL_MANT_DIG
|
||||||
|
+/*
|
||||||
|
+ * The complications for extra precision are smaller for rnintl() since it
|
||||||
|
+ * can safely assume that the rounding precision has been increased from
|
||||||
|
+ * its default to FP_PE on x86. We don't exploit that here to get small
|
||||||
|
+ * optimizations from limiting the rangle to double. We just need it for
|
||||||
|
+ * the magic number to work with long doubles. ld128 callers should use
|
||||||
|
+ * rnint() instead of this if possible. ld80 callers should prefer
|
||||||
|
+ * rnintl() since for amd64 this avoids swapping the register set, while
|
||||||
|
+ * for i386 it makes no difference (assuming FP_PE), and for other arches
|
||||||
|
+ * it makes little difference.
|
||||||
|
+ */
|
||||||
|
+static inline long double
|
||||||
|
+rnintl(long double x)
|
||||||
|
+{
|
||||||
|
+#if (LDBL_MANT_DIG == 64)
|
||||||
|
+ return (x + __CONCAT(0x1.8p, 64) / 2 -
|
||||||
|
+ __CONCAT(0x1.8p, 64) / 2);
|
||||||
|
+#else
|
||||||
|
+ return (x + __CONCAT(0x1.8p, LDBL_MANT_DIG) / 2 -
|
||||||
|
+ __CONCAT(0x1.8p, LDBL_MANT_DIG) / 2);
|
||||||
|
+#endif
|
||||||
|
+}
|
||||||
|
+#endif /* LDBL_MANT_DIG */
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* irint() and i64rint() give the same result as casting to their integer
|
||||||
|
* return type provided their arg is a floating point integer. They can
|
||||||
|
@@ -646,6 +685,39 @@
|
||||||
|
#define irint(x) ((int)(x))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#define i64rint(x) ((int64_t)(x)) /* only needed for ld128 so not opt. */
|
||||||
|
+
|
||||||
|
+#if defined(__i386__) && defined(__GNUCLIKE_ASM)
|
||||||
|
+static __inline int
|
||||||
|
+irintf(float x)
|
||||||
|
+{
|
||||||
|
+ int n;
|
||||||
|
+
|
||||||
|
+ __asm("fistl %0" : "=m" (n) : "t" (x));
|
||||||
|
+ return (n);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static __inline int
|
||||||
|
+irintd(double x)
|
||||||
|
+{
|
||||||
|
+ int n;
|
||||||
|
+
|
||||||
|
+ __asm("fistl %0" : "=m" (n) : "t" (x));
|
||||||
|
+ return (n);
|
||||||
|
+}
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if (defined(__amd64__) || defined(__i386__)) && defined(__GNUCLIKE_ASM)
|
||||||
|
+static __inline int
|
||||||
|
+irintl(long double x)
|
||||||
|
+{
|
||||||
|
+ int n;
|
||||||
|
+
|
||||||
|
+ __asm("fistl %0" : "=m" (n) : "t" (x));
|
||||||
|
+ return (n);
|
||||||
|
+}
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#ifdef DEBUG
|
||||||
|
#if defined(__amd64__) || defined(__i386__)
|
||||||
|
#define breakpoint() asm("int $3")
|
206
mozjs91.spec
Normal file
206
mozjs91.spec
Normal file
@ -0,0 +1,206 @@
|
|||||||
|
%define MAJver %(echo %version | cut -d. -f1)
|
||||||
|
%define majver %(echo %version | cut -d. -f1-2)
|
||||||
|
Name: mozjs91
|
||||||
|
Version: 91.8.0
|
||||||
|
Release: 2mamba
|
||||||
|
Summary: Mozilla stand-alone library implementing JavaScript 24
|
||||||
|
Group: System/Libraries
|
||||||
|
Vendor: openmamba
|
||||||
|
Distribution: openmamba
|
||||||
|
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
||||||
|
URL: https://www.mozilla.org/en-US/
|
||||||
|
Source: https://archive.mozilla.org/pub/firefox/releases/%{version}esr/source/firefox-%{version}esr.source.tar.xz
|
||||||
|
Patch0: mozjs-91.8.0-fix-soname.patch
|
||||||
|
Patch1: mozjs-68.4.2-arm-Add-options-to-specify-Rust-target-name.patch
|
||||||
|
Patch2: mozjs-68.4.2-arm-disable_emulate_arm_unaligned_fp_access.patch
|
||||||
|
Patch3: mozjs-68.4.2-gcc-10.0.patch
|
||||||
|
Patch4: mozjs-91.8.0-copy-headers.patch
|
||||||
|
Patch5: mozjs-91.8.0-tests-increase-timeout.patch
|
||||||
|
Patch6: mozjs-91.8.0-icu_sources_data.py-Decouple-from-Mozilla-build-system.patch
|
||||||
|
Patch7: mozjs-91.8.0-icu_sources_data-Write-command-output-to-our-stderr.patch
|
||||||
|
Patch8: mozjs-91.8.0-emitter.patch
|
||||||
|
Patch9: mozjs-91.8.0-tests-Use-native-TemporaryDirectory.patch
|
||||||
|
Patch10: mozjs-91.8.0-init_patch.patch
|
||||||
|
Patch11: mozjs-91.8.0-remove-sloppy-m4-detection-from-bundled-autoconf.patch
|
||||||
|
Patch12: mozjs-91.8.0-spidermonkey_checks_disable.patch
|
||||||
|
Patch13: mozjs91-91.8.0-x86-double_t-fix.patch
|
||||||
|
# Only GPL because linking to readline
|
||||||
|
License: GPL
|
||||||
|
#License: MPL, GPL, LGPL
|
||||||
|
## AUTOBUILDREQ-BEGIN
|
||||||
|
BuildRequires: glibc-devel
|
||||||
|
BuildRequires: libgcc
|
||||||
|
BuildRequires: libicu-devel
|
||||||
|
BuildRequires: libreadline-devel
|
||||||
|
BuildRequires: libstdc++6-devel
|
||||||
|
BuildRequires: libz-devel
|
||||||
|
## AUTOBUILDREQ-END
|
||||||
|
BuildRequires: pkg-config
|
||||||
|
BuildRequires: autoconf2.13
|
||||||
|
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
|
||||||
|
Requires(post): %{__install_info}
|
||||||
|
Requires(preun): %{__install_info}
|
||||||
|
|
||||||
|
%description
|
||||||
|
Mozilla stand-alone library implementing JavaScript 24.
|
||||||
|
|
||||||
|
%package -n lib%{name}
|
||||||
|
Group: System/Libraries
|
||||||
|
Summary: Mozilla stand-alone library implementing JavaScript 24
|
||||||
|
|
||||||
|
%description -n lib%{name}
|
||||||
|
Mozilla stand-alone library implementing JavaScript 24.
|
||||||
|
|
||||||
|
%package -n lib%{name}-devel
|
||||||
|
Group: Development/Libraries
|
||||||
|
Summary: Development files for %{name}
|
||||||
|
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
|
||||||
|
Requires: pkg-config
|
||||||
|
|
||||||
|
%description -n lib%{name}-devel
|
||||||
|
This package contains libraries and header files for developing applications that use %{name}.
|
||||||
|
|
||||||
|
%debug_package
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -c -a0
|
||||||
|
cd firefox-%{version}
|
||||||
|
#-D -T
|
||||||
|
#:<< _EOF
|
||||||
|
%patch0 -p1 -b .fix-soname
|
||||||
|
#%ifarch arm
|
||||||
|
#%patch1 -p1
|
||||||
|
#%patch2 -p1
|
||||||
|
#%endif
|
||||||
|
#%patch3 -p1
|
||||||
|
%patch4 -p1 -b .copy-headers
|
||||||
|
%patch5 -p1 -b .tests-increase-timeout
|
||||||
|
%patch6 -p1 -b .icu_sources_data.py-Decouple-from-Mozilla-build-system
|
||||||
|
%patch7 -p1 -b .icu_sources_data-Write-command-output-to-our-stderr
|
||||||
|
%patch8 -p1 -b .emitter
|
||||||
|
%patch9 -p1 -b .tests-Use-native-TemporaryDirectory
|
||||||
|
%patch10 -p1 -b .init_patch
|
||||||
|
%patch11 -p1 -b .remove-sloppy-m4-detection-from-bundled-autoconf
|
||||||
|
%patch12 -p1 -b .spidermonkey_checks_disable
|
||||||
|
%ifarch %{ix86} arm
|
||||||
|
%patch13 -p1 -b .x86-double_t-fix
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%build
|
||||||
|
cd firefox-%{version}/js/src
|
||||||
|
#:<< _EOF
|
||||||
|
# NOTE: taken from Fedora
|
||||||
|
# Prefer GCC for now
|
||||||
|
export CC=gcc
|
||||||
|
export CXX=g++
|
||||||
|
|
||||||
|
# Workaround
|
||||||
|
# error: options `-C embed-bitcode=no` and `-C lto` are incompatible
|
||||||
|
# error: could not compile `jsrust`.
|
||||||
|
# https://github.com/japaric/cargo-call-stack/issues/25
|
||||||
|
export RUSTFLAGS="-C embed-bitcode"
|
||||||
|
|
||||||
|
# https://github.com/ptomato/mozjs/commit/36bb7982b41e0ef9a65f7174252ab996cd6777bd
|
||||||
|
export CARGO_PROFILE_RELEASE_LTO=true
|
||||||
|
|
||||||
|
export CFLAGS="%{optflags}"
|
||||||
|
export CXXFLAGS="$CFLAGS"
|
||||||
|
export LINKFLAGS="%{?build_ldflags}"
|
||||||
|
export PYTHON="%{python3}"
|
||||||
|
|
||||||
|
# Use bundled autoconf
|
||||||
|
export M4=m4
|
||||||
|
export AWK=awk
|
||||||
|
export AC_MACRODIR=%{_builddir}/%{name}-%{version}/firefox-%{version}/build/autoconf/
|
||||||
|
|
||||||
|
sh ../../build/autoconf/autoconf.sh --localdir=%{_builddir}/firefox-%{version}/js/src configure.in > configure
|
||||||
|
chmod +x configure
|
||||||
|
|
||||||
|
%ifarch arm
|
||||||
|
sed -i "s|armv4t|arm|" ../../build/moz.configure/rust.configure
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%configure \
|
||||||
|
%ifarch %{ix86}
|
||||||
|
--host=i686-unknown-linux-gnu \
|
||||||
|
%endif
|
||||||
|
%ifarch arm
|
||||||
|
--host=arm-unknown-linux-gnueabi \
|
||||||
|
%endif
|
||||||
|
--with-system-icu \
|
||||||
|
--with-system-zlib \
|
||||||
|
--disable-tests \
|
||||||
|
--disable-strip \
|
||||||
|
--with-intl-api \
|
||||||
|
--enable-readline \
|
||||||
|
--enable-shared-js \
|
||||||
|
--enable-optimize \
|
||||||
|
--disable-debug \
|
||||||
|
--enable-pie \
|
||||||
|
--disable-jemalloc
|
||||||
|
|
||||||
|
%make
|
||||||
|
|
||||||
|
%install
|
||||||
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||||
|
%makeinstall -C firefox-%{version}/js/src
|
||||||
|
|
||||||
|
# Fix permissions
|
||||||
|
chmod -x %{buildroot}%{_libdir}/pkgconfig/*.pc
|
||||||
|
|
||||||
|
# Remove unneeded files
|
||||||
|
rm %{buildroot}%{_bindir}/js%{MAJver}-config
|
||||||
|
rm %{buildroot}%{_libdir}/libjs_static.ajs
|
||||||
|
|
||||||
|
# Rename library and create symlinks, following fix-soname.patch
|
||||||
|
mv %{buildroot}%{_libdir}/libmozjs-%{MAJver}.so \
|
||||||
|
%{buildroot}%{_libdir}/libmozjs-%{MAJver}.so.0.0.0
|
||||||
|
|
||||||
|
ln -s libmozjs-%{MAJver}.so.0.0.0 %{buildroot}%{_libdir}/libmozjs-%{MAJver}.so.0
|
||||||
|
ln -s libmozjs-%{MAJver}.so.0 %{buildroot}%{_libdir}/libmozjs-%{MAJver}.so
|
||||||
|
|
||||||
|
%clean
|
||||||
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||||
|
|
||||||
|
%post -n lib%{name} -p /sbin/ldconfig
|
||||||
|
%postun -n lib%{name} -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%files -n lib%{name}
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%{_libdir}/libmozjs-%{MAJver}.so.*
|
||||||
|
#%{_libdir}/libjs_static.ajs
|
||||||
|
%doc firefox-%{version}/LICENSE
|
||||||
|
|
||||||
|
%files -n lib%{name}-devel
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%{_bindir}/js%{MAJver}
|
||||||
|
#%{_bindir}/js%{MAJver}-config
|
||||||
|
%dir %{_includedir}/mozjs-%{MAJver}/
|
||||||
|
%{_includedir}/mozjs-%{MAJver}/*
|
||||||
|
%{_libdir}/libmozjs-%{MAJver}.so
|
||||||
|
%{_libdir}/pkgconfig/mozjs-%{MAJver}.pc
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Sat Apr 16 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 91.8.0-2mamba
|
||||||
|
- fix wrong so library links
|
||||||
|
|
||||||
|
* Fri Apr 15 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 91.8.0-1mamba
|
||||||
|
- update to 91.8.0
|
||||||
|
|
||||||
|
* Sun Mar 22 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 68.4.2-1mamba
|
||||||
|
- update to 68.4.2
|
||||||
|
|
||||||
|
* Sat Jul 06 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 60.1.0-1mamba
|
||||||
|
- update to 60.1.0
|
||||||
|
|
||||||
|
* Tue Dec 11 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 52.6.0-1mamba
|
||||||
|
- update to 52.6.0
|
||||||
|
|
||||||
|
* Mon Dec 10 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 52.2.1-2mamba
|
||||||
|
- arm: rebuilt
|
||||||
|
|
||||||
|
* Mon Aug 13 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 52.2.1-1mamba
|
||||||
|
- update to 52.2.1
|
||||||
|
|
||||||
|
* Thu Jun 19 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 24.2.0-1mamba
|
||||||
|
- package created from mozjs185
|
Reference in New Issue
Block a user