summaryrefslogtreecommitdiff
path: root/source/l/mozjs68/patches
diff options
context:
space:
mode:
Diffstat (limited to 'source/l/mozjs68/patches')
-rw-r--r--source/l/mozjs68/patches/Don-t-run-non262-extensions-clone-errors.js-on-s390x.patch15
-rw-r--r--source/l/mozjs68/patches/Remove-unused-LLVM-and-Rust-build-dependencies.patch72
-rw-r--r--source/l/mozjs68/patches/armv7_disable_WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS.patch10
-rw-r--r--source/l/mozjs68/patches/build-icu-big-endian.patch12
-rw-r--r--source/l/mozjs68/patches/copy-headers.patch29
-rw-r--r--source/l/mozjs68/patches/emitter.patch14
-rw-r--r--source/l/mozjs68/patches/emitter_test.patch27
-rw-r--r--source/l/mozjs68/patches/fix-soname.patch25
-rw-r--r--source/l/mozjs68/patches/icu_sources_data-Write-command-output-to-our-stderr.patch34
-rw-r--r--source/l/mozjs68/patches/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch26
-rw-r--r--source/l/mozjs68/patches/init_patch.patch13
-rw-r--r--source/l/mozjs68/patches/jstests_python-3.patch57
-rw-r--r--source/l/mozjs68/patches/spidermonkey_checks_disable.patch10
-rw-r--r--source/l/mozjs68/patches/spidermonkey_style_check_disable_s390x.patch11
-rw-r--r--source/l/mozjs68/patches/tests-increase-timeout.patch22
15 files changed, 377 insertions, 0 deletions
diff --git a/source/l/mozjs68/patches/Don-t-run-non262-extensions-clone-errors.js-on-s390x.patch b/source/l/mozjs68/patches/Don-t-run-non262-extensions-clone-errors.js-on-s390x.patch
new file mode 100644
index 00000000..f493643a
--- /dev/null
+++ b/source/l/mozjs68/patches/Don-t-run-non262-extensions-clone-errors.js-on-s390x.patch
@@ -0,0 +1,15 @@
+Index: firefox-68.5.0/js/src/tests/jstests.list
+===================================================================
+--- firefox-68.0/js/src/tests/jstests.list
++++ firefox-68.0/js/src/tests/jstests.list
+@@ -493,6 +493,10 @@ skip script test262/language/expressions
+ skip script test262/language/statements/class/elements/derived-cls-direct-eval-err-contains-superproperty-1.js
+ skip script test262/language/statements/class/elements/derived-cls-direct-eval-err-contains-superproperty-2.js
+
++# Crashes on s390x and ppc64, avoid it
++#
++skip-if(xulRuntime.XPCOMABI.match(/s390x|ppc64-/)) script non262/extensions/clone-errors.js
++
+
+ ###########################################################
+ # Tests disabled due to issues in test262 importer script #
diff --git a/source/l/mozjs68/patches/Remove-unused-LLVM-and-Rust-build-dependencies.patch b/source/l/mozjs68/patches/Remove-unused-LLVM-and-Rust-build-dependencies.patch
new file mode 100644
index 00000000..d98b577e
--- /dev/null
+++ b/source/l/mozjs68/patches/Remove-unused-LLVM-and-Rust-build-dependencies.patch
@@ -0,0 +1,72 @@
+Description: Remove unused LLVM and Rust build dependencies
+ Since the Javascript engine is normally part of Firefox, its build
+ system has dependencies on the LLVM and Rust toolchains. This limits
+ the number of architectures which mozjs68 can be built on.
+ .
+ It turns out, however, that neither LLVM nor Rust are used when mozjs68
+ is being built and these build dependencies are therefore not necessary.
+ .
+ This patch removes them and allows mozjs68 to be built on any architecture.
+ .
+Author: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=959144
+Forwarded: no
+Last-Update: 2020-04-30
+
+Index: mozjs68-68.6.0/js/moz.configure
+===================================================================
+--- mozjs68-68.6.0.orig/js/moz.configure
++++ mozjs68-68.6.0/js/moz.configure
+@@ -18,11 +18,6 @@ def building_js(build_project):
+ option(env='JS_STANDALONE', default=building_js,
+ help='Reserved for internal use')
+
+-include('../build/moz.configure/rust.configure',
+- when='--enable-compile-environment')
+-include('../build/moz.configure/bindgen.configure',
+- when='--enable-compile-environment')
+-
+ @depends('JS_STANDALONE')
+ def js_standalone(value):
+ if value:
+Index: mozjs68-68.6.0/moz.configure
+===================================================================
+--- mozjs68-68.6.0.orig/moz.configure
++++ mozjs68-68.6.0/moz.configure
+@@ -598,36 +598,6 @@ set_config('MAKENSISU_FLAGS', nsis_flags
+
+ check_prog('7Z', ('7z', '7za'), allow_missing=True, when=target_is_windows)
+
+-
+-@depends(host_c_compiler, c_compiler, bindgen_config_paths)
+-def llvm_objdump(host_c_compiler, c_compiler, bindgen_config_paths):
+- clang = None
+- for compiler in (host_c_compiler, c_compiler):
+- if compiler and compiler.type == 'clang':
+- clang = compiler.compiler
+- break
+- elif compiler and compiler.type == 'clang-cl':
+- clang = os.path.join(os.path.dirname(compiler.compiler), 'clang')
+- break
+-
+- if not clang and bindgen_config_paths:
+- clang = bindgen_config_paths.clang_path
+- llvm_objdump = 'llvm-objdump'
+- if clang:
+- out = check_cmd_output(clang, '--print-prog-name=llvm-objdump',
+- onerror=lambda: None)
+- if out:
+- llvm_objdump = out.rstrip()
+- return (llvm_objdump,)
+-
+-
+-llvm_objdump = check_prog('LLVM_OBJDUMP', llvm_objdump, what='llvm-objdump',
+- when='--enable-compile-environment',
+- paths=toolchain_search_path)
+-
+-add_old_configure_assignment('LLVM_OBJDUMP', llvm_objdump)
+-
+-
+ # Please do not add configure checks from here on.
+
+ # Fallthrough to autoconf-based configure
diff --git a/source/l/mozjs68/patches/armv7_disable_WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS.patch b/source/l/mozjs68/patches/armv7_disable_WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS.patch
new file mode 100644
index 00000000..0cb26ac7
--- /dev/null
+++ b/source/l/mozjs68/patches/armv7_disable_WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS.patch
@@ -0,0 +1,10 @@
+--- firefox-68.0/js/src/wasm/WasmSignalHandlers.cpp
++++ firefox-68.0/js/src/wasm/WasmSignalHandlers.cpp
+@@ -243,7 +243,7 @@
+ // If you run into compile problems on a tier-3 platform, you can disable the
+ // emulation here.
+
+-#if defined(__linux__) && defined(__arm__)
++#if 0 && defined(__linux__) && defined(__arm__)
+ # define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
+ #endif
diff --git a/source/l/mozjs68/patches/build-icu-big-endian.patch b/source/l/mozjs68/patches/build-icu-big-endian.patch
new file mode 100644
index 00000000..70a54817
--- /dev/null
+++ b/source/l/mozjs68/patches/build-icu-big-endian.patch
@@ -0,0 +1,12 @@
+diff -up firefox-68.0/build/autoconf/icu.m4.icu firefox-68.0/build/autoconf/icu.m4
+--- firefox-68.0/build/autoconf/icu.m4.icu 2018-04-24 13:13:03.938961958 +0200
++++ firefox-68.0/build/autoconf/icu.m4 2018-04-24 13:14:44.472714375 +0200
+@@ -78,7 +78,7 @@
+ # TODO: the l is actually endian-dependent
+ # We could make this set as 'l' or 'b' for little or big, respectively,
+ # but we'd need to check in a big-endian version of the file.
+- ICU_DATA_FILE="icudt${version}l.dat"
++ ICU_DATA_FILE="icudt${version}b.dat"
+ fi
+
+ AC_SUBST(MOZ_ICU_VERSION)
diff --git a/source/l/mozjs68/patches/copy-headers.patch b/source/l/mozjs68/patches/copy-headers.patch
new file mode 100644
index 00000000..aec3b10a
--- /dev/null
+++ b/source/l/mozjs68/patches/copy-headers.patch
@@ -0,0 +1,29 @@
+From: Rico Tzschichholz <ricotz@ubuntu.com>
+Date: Wed, 5 Jul 2017 22:45:59 -0700
+Subject: build: Copy headers on install instead of symlinking
+
+Patch ported forward to mozjs52 by Philip Chimento
+<philip.chimento@gmail.com>.
+---
+ 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 dd9020d..6918ef8 100644
+--- a/python/mozbuild/mozbuild/backend/recursivemake.py
++++ b/python/mozbuild/mozbuild/backend/recursivemake.py
+@@ -1427,11 +1427,11 @@ class RecursiveMakeBackend(CommonBackend):
+ raise Exception("Wildcards are only supported in the filename part of "
+ "srcdir-relative or absolute paths.")
+
+- install_manifest.add_pattern_link(basepath, wild, path)
++ install_manifest.add_pattern_copy(basepath, wild, path)
+ else:
+- install_manifest.add_pattern_link(f.srcdir, f, path)
++ install_manifest.add_pattern_copy(f.srcdir, f, path)
+ else:
+- install_manifest.add_link(f.full_path, dest)
++ install_manifest.add_copy(f.full_path, dest)
+ else:
+ install_manifest.add_optional_exists(dest)
+ backend_file.write('%s_FILES += %s\n' % (
diff --git a/source/l/mozjs68/patches/emitter.patch b/source/l/mozjs68/patches/emitter.patch
new file mode 100644
index 00000000..42545534
--- /dev/null
+++ b/source/l/mozjs68/patches/emitter.patch
@@ -0,0 +1,14 @@
+--- a/python/mozbuild/mozbuild/frontend/emitter.py
++++ b/python/mozbuild/mozbuild/frontend/emitter.py
+@@ -1195,11 +1195,6 @@
+ raise SandboxValidationError('Path specified in LOCAL_INCLUDES '
+ 'is a filename, but a directory is required: %s '
+ '(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/source/l/mozjs68/patches/emitter_test.patch b/source/l/mozjs68/patches/emitter_test.patch
new file mode 100644
index 00000000..59366d36
--- /dev/null
+++ b/source/l/mozjs68/patches/emitter_test.patch
@@ -0,0 +1,27 @@
+--- a/python/mozbuild/mozbuild/test/frontend/test_emitter.py
++++ b/python/mozbuild/mozbuild/test/frontend/test_emitter.py
+@@ -1051,24 +1051,6 @@
+
+ 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 self.assertRaisesRegexp(
+- SandboxValidationError,
+- 'Path specified in LOCAL_INCLUDES.*resolves to the '
+- 'topsrcdir or topobjdir'):
+- objs = self.read_topsrcdir(reader)
+-
+- reader = self.reader('local_includes-invalid/objdir')
+-
+- with self.assertRaisesRegexp(
+- SandboxValidationError,
+- 'Path specified in LOCAL_INCLUDES.*resolves to the '
+- 'topsrcdir or topobjdir'):
+- objs = 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')
diff --git a/source/l/mozjs68/patches/fix-soname.patch b/source/l/mozjs68/patches/fix-soname.patch
new file mode 100644
index 00000000..fc8052a8
--- /dev/null
+++ b/source/l/mozjs68/patches/fix-soname.patch
@@ -0,0 +1,25 @@
+From: "Laszlo Boszormenyi (GCS)" <gcs@debian.org>
+Date: Fri, 2 May 2014 22:20:45 +0200
+Subject: fix soname
+
+Add soname switch to linker, regardless of Operating System
+
+Bug-Debian: http://bugs.debian.org/746705
+---
+ config/rules.mk | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/config/rules.mk b/config/rules.mk
+index eb86b0c..1bb3988 100644
+--- a/config/rules.mk
++++ b/config/rules.mk
+@@ -359,6 +359,9 @@ endif
+ endif
+ EXTRA_DEPS += $(SYMBOLS_FILE)
+ endif
++
++EXTRA_DSO_LDOPTS += -Wl,-soname,lib$(JS_LIBRARY_NAME).so.0
++
+ #
+ # GNU doesn't have path length limitation
+ #
diff --git a/source/l/mozjs68/patches/icu_sources_data-Write-command-output-to-our-stderr.patch b/source/l/mozjs68/patches/icu_sources_data-Write-command-output-to-our-stderr.patch
new file mode 100644
index 00000000..e2ed4845
--- /dev/null
+++ b/source/l/mozjs68/patches/icu_sources_data-Write-command-output-to-our-stderr.patch
@@ -0,0 +1,34 @@
+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 | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+diff --git a/intl/icu_sources_data.py b/intl/icu_sources_data.py
+index 8cf9290..7d2d983 100644
+--- a/intl/icu_sources_data.py
++++ b/intl/icu_sources_data.py
+@@ -187,16 +187,13 @@
+
+ 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)
++ subprocess.check_call(command, cwd=cwd, stdout=sys.stderr,
++ stderr=subprocess.STDOUT, **kwargs)
+ except subprocess.CalledProcessError:
+- print('''Error running "{}" in directory {}
+- See output in {}'''.format(' '.join(command), cwd, f.name),
+- file=sys.stderr)
++ print('''Error running "{}" in directory {}'''.format(' '.join(command), cwd),
++ file=sys.stderr)
+ return False
+ else:
+- os.unlink(f.name)
+ return True
diff --git a/source/l/mozjs68/patches/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch b/source/l/mozjs68/patches/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch
new file mode 100644
index 00000000..a853a16d
--- /dev/null
+++ b/source/l/mozjs68/patches/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch
@@ -0,0 +1,26 @@
+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 98c0ccb..8cf9290 100644
+--- a/intl/icu_sources_data.py
++++ b/intl/icu_sources_data.py
+@@ -21,7 +21,9 @@
+ 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
diff --git a/source/l/mozjs68/patches/init_patch.patch b/source/l/mozjs68/patches/init_patch.patch
new file mode 100644
index 00000000..fd09eb79
--- /dev/null
+++ b/source/l/mozjs68/patches/init_patch.patch
@@ -0,0 +1,13 @@
+--- a/python/mozbuild/mozbuild/configure/__init__.py
++++ b/python/mozbuild/mozbuild/configure/__init__.py
+@@ -473,8 +473,8 @@
+ msg = 'Unknown option: %s' % without_value
+ if self._help:
+ self._logger.warning(msg)
+- else:
+- raise InvalidOptionError(msg)
++ #else:
++ # raise InvalidOptionError(msg)
+
+ # Run the execution queue
+ for func, args in self._execution_queue:
diff --git a/source/l/mozjs68/patches/jstests_python-3.patch b/source/l/mozjs68/patches/jstests_python-3.patch
new file mode 100644
index 00000000..484a02c6
--- /dev/null
+++ b/source/l/mozjs68/patches/jstests_python-3.patch
@@ -0,0 +1,57 @@
+From e75a1c531767f3efd158fd8309084cf5157307be Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
+Date: Tue, 5 Nov 2019 19:14:38 +0100
+Subject: [PATCH] Python 3
+
+---
+ js/src/jit-test/jit_test.py | 2 +-
+ js/src/tests/lib/manifest.py | 5 ++++-
+ js/src/tests/lib/tasks_unix.py | 3 +++
+ 3 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/js/src/jit-test/jit_test.py b/js/src/jit-test/jit_test.py
+index 8fcd0c5..f51c544 100755
+--- a/js/src/jit-test/jit_test.py
++++ b/js/src/jit-test/jit_test.py
+@@ -138,7 +138,7 @@ def main(argv):
+ help='With --write-failures=FILE, additionally write the'
+ ' output of failed tests to [FILE]')
+ op.add_option('--jitflags', dest='jitflags', default='none',
+- choices=valid_jitflags(),
++ choices=list(valid_jitflags()),
+ help='IonMonkey option combinations. One of %s.' % ', '.join(valid_jitflags()))
+ op.add_option('--ion', dest='jitflags', action='store_const', const='ion',
+ help='Run tests once with --ion-eager and once with'
+diff --git a/js/src/tests/lib/manifest.py b/js/src/tests/lib/manifest.py
+index 617f0f1..f54cc1e 100644
+--- a/js/src/tests/lib/manifest.py
++++ b/js/src/tests/lib/manifest.py
+@@ -105,7 +105,10 @@ class XULInfoTester:
+ '-e', self.js_prologue,
+ '-e', 'print(!!({}))'.format(cond)
+ ]
+- p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE)
++ try:
++ p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE, encoding="utf-8")
++ except TypeError:
++ p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE)
+ out, err = p.communicate()
+ if out in ('true\n', 'true\r\n'):
+ ans = True
+diff --git a/js/src/tests/lib/tasks_unix.py b/js/src/tests/lib/tasks_unix.py
+index 40528b8..5edfe92 100644
+--- a/js/src/tests/lib/tasks_unix.py
++++ b/js/src/tests/lib/tasks_unix.py
+@@ -182,6 +182,9 @@ def reap_zombies(tasks, timeout):
+ if os.WIFSIGNALED(status):
+ returncode = -os.WTERMSIG(status)
+
++ ended.out=[x.decode('utf-8') for x in ended.out]
++ ended.err=[x.decode('utf-8') for x in ended.err]
++
+ finished.append(
+ TestOutput(
+ ended.test,
+--
+2.23.0
+
diff --git a/source/l/mozjs68/patches/spidermonkey_checks_disable.patch b/source/l/mozjs68/patches/spidermonkey_checks_disable.patch
new file mode 100644
index 00000000..14ba0ad7
--- /dev/null
+++ b/source/l/mozjs68/patches/spidermonkey_checks_disable.patch
@@ -0,0 +1,10 @@
+--- a/config/run_spidermonkey_checks.py
++++ b/config/run_spidermonkey_checks.py
+@@ -11,5 +11,5 @@
+ for script in scripts:
+ retcode = subprocess.call(
+ [sys.executable, script], cwd=buildconfig.topsrcdir)
+- if retcode != 0:
+- raise Exception(script + " failed")
++ #if retcode != 0:
++ # raise Exception(script + " failed")
diff --git a/source/l/mozjs68/patches/spidermonkey_style_check_disable_s390x.patch b/source/l/mozjs68/patches/spidermonkey_style_check_disable_s390x.patch
new file mode 100644
index 00000000..690c1c57
--- /dev/null
+++ b/source/l/mozjs68/patches/spidermonkey_style_check_disable_s390x.patch
@@ -0,0 +1,11 @@
+--- a/config/check_spidermonkey_style.py
++++ b/config/check_spidermonkey_style.py
+
+@@ -766,6 +766,7 @@
+
+
+ def main():
++ sys.exit(0)
+ if sys.argv[1:] == ["--fixup"]:
+ # Sort #include directives in-place. Fixup mode doesn't solve
+ # all possible silliness that the script checks for; it's just a
diff --git a/source/l/mozjs68/patches/tests-increase-timeout.patch b/source/l/mozjs68/patches/tests-increase-timeout.patch
new file mode 100644
index 00000000..91f5fa76
--- /dev/null
+++ b/source/l/mozjs68/patches/tests-increase-timeout.patch
@@ -0,0 +1,22 @@
+From: Adrian Bunk <bunk@debian.org>
+Date: Tue, 3 Jul 2018 10:03:37 +0100
+Subject: Increase the test timeout for slower buildds
+
+Bug-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 4ac9f48..6ab5582 100644
+--- a/js/src/Makefile.in
++++ b/js/src/Makefile.in
+@@ -72,7 +72,7 @@ check:: check-style check-masm check-js-msg check-opcode
+
+ check-jstests:
+ $(wildcard $(RUN_TEST_PROGRAM)) $(PYTHON) -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)
+