diff options
Diffstat (limited to 'source/l/mozjs68/patches')
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) + |