diff options
Diffstat (limited to 'source/l')
25 files changed, 234 insertions, 358 deletions
diff --git a/source/l/mozjs60/patches/Always-use-the-equivalent-year-to-determine-the-time-zone.patch b/source/l/mozjs60/patches/Always-use-the-equivalent-year-to-determine-the-time-zone.patch deleted file mode 100644 index 81474a42..00000000 --- a/source/l/mozjs60/patches/Always-use-the-equivalent-year-to-determine-the-time-zone.patch +++ /dev/null @@ -1,100 +0,0 @@ -From: =?utf-8?q?Andr=C3=A9_Bargull?= <andrebargull@googlemail.com> -Date: Wed, 8 Nov 2017 03:23:41 -0800 -Subject: Always use the equivalent year to determine the time zone offset and - name - -Reviewed-by: Jeff Walden -Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1415202 -Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1479687 -Origin: upstream -Applied-upstream: 62, commit:https://hg.mozilla.org/mozilla-central/rev/ce9f1466ec78 ---- - js/src/jsdate.cpp | 11 +++++++---- - js/src/vm/Time.cpp | 14 ++++---------- - js/src/vm/Time.h | 2 +- - 3 files changed, 12 insertions(+), 15 deletions(-) - -diff --git a/js/src/jsdate.cpp b/js/src/jsdate.cpp -index 07af3d18c865..ff8fd6c3763c 100644 ---- a/js/src/jsdate.cpp -+++ b/js/src/jsdate.cpp -@@ -2353,12 +2353,15 @@ static PRMJTime ToPRMJTime(double localTime, double utcTime) { - static size_t FormatTime(char* buf, int buflen, const char* fmt, double utcTime, - double localTime) { - PRMJTime prtm = ToPRMJTime(localTime, utcTime); -- int eqivalentYear = IsRepresentableAsTime32(utcTime) -- ? prtm.tm_year -- : EquivalentYearForDST(prtm.tm_year); -+ // If an equivalent year was used to compute the date/time components, use -+ // the same equivalent year to determine the time zone name and offset in -+ // PRMJ_FormatTime(...). -+ int timeZoneYear = IsRepresentableAsTime32(utcTime) -+ ? prtm.tm_year -+ : EquivalentYearForDST(prtm.tm_year); - int offsetInSeconds = (int)floor((localTime - utcTime) / msPerSecond); - -- return PRMJ_FormatTime(buf, buflen, fmt, &prtm, eqivalentYear, -+ return PRMJ_FormatTime(buf, buflen, fmt, &prtm, timeZoneYear, - offsetInSeconds); - } - -diff --git a/js/src/vm/Time.cpp b/js/src/vm/Time.cpp -index f59977f0d0e9..5ee4794b3e83 100644 ---- a/js/src/vm/Time.cpp -+++ b/js/src/vm/Time.cpp -@@ -247,7 +247,7 @@ static void PRMJ_InvalidParameterHandler(const wchar_t* expression, - - /* Format a time value into a buffer. Same semantics as strftime() */ - size_t PRMJ_FormatTime(char* buf, int buflen, const char* fmt, -- const PRMJTime* prtm, int equivalentYear, -+ const PRMJTime* prtm, int timeZoneYear, - int offsetInSeconds) { - size_t result = 0; - #if defined(XP_UNIX) || defined(XP_WIN) -@@ -280,7 +280,8 @@ size_t PRMJ_FormatTime(char* buf, int buflen, const char* fmt, - * Fill out |td| to the time represented by |prtm|, leaving the - * timezone fields zeroed out. localtime_r will then fill in the - * timezone fields for that local time according to the system's -- * timezone parameters. -+ * timezone parameters. Use |timeZoneYear| for the year to ensure the -+ * time zone name matches the time zone offset used by the caller. - */ - struct tm td; - memset(&td, 0, sizeof(td)); -@@ -290,19 +291,12 @@ size_t PRMJ_FormatTime(char* buf, int buflen, const char* fmt, - td.tm_mday = prtm->tm_mday; - td.tm_mon = prtm->tm_mon; - td.tm_wday = prtm->tm_wday; -- td.tm_year = prtm->tm_year - 1900; -+ td.tm_year = timeZoneYear - 1900; - td.tm_yday = prtm->tm_yday; - td.tm_isdst = prtm->tm_isdst; - - time_t t = mktime(&td); - -- // If |prtm| cannot be represented in |time_t| the year is probably -- // out of range, try again with the DST equivalent year. -- if (t == static_cast<time_t>(-1)) { -- td.tm_year = equivalentYear - 1900; -- t = mktime(&td); -- } -- - // If either mktime or localtime_r failed, fill in the fallback time - // zone offset |offsetInSeconds| and set the time zone identifier to - // the empty string. -diff --git a/js/src/vm/Time.h b/js/src/vm/Time.h -index 3a51d869c922..37b7faeec028 100644 ---- a/js/src/vm/Time.h -+++ b/js/src/vm/Time.h -@@ -49,7 +49,7 @@ inline void PRMJ_NowShutdown() {} - - /* Format a time value into a buffer. Same semantics as strftime() */ - extern size_t PRMJ_FormatTime(char* buf, int buflen, const char* fmt, -- const PRMJTime* tm, int equivalentYear, -+ const PRMJTime* tm, int timeZoneYear, - int offsetInSeconds); - - /** --- -2.21.0 - diff --git a/source/l/mozjs60/patches/Save-and-restore-non-volatile-x28-on-ARM64-for-generated-unboxed-object-constructor.patch b/source/l/mozjs60/patches/Save-and-restore-non-volatile-x28-on-ARM64-for-generated-unboxed-object-constructor.patch deleted file mode 100644 index 46d280d0..00000000 --- a/source/l/mozjs60/patches/Save-and-restore-non-volatile-x28-on-ARM64-for-generated-unboxed-object-constructor.patch +++ /dev/null @@ -1,64 +0,0 @@ -# HG changeset patch -# User Lars T Hansen <lhansen@mozilla.com> -# Date 1519822672 -3600 -# Node ID 800abe66894d6b07b24bccecbf6a65e2261076f6 -# Parent 223c97459e96183eb616aed39147207bdb953ba8 -Bug 1375074 - Save and restore non-volatile x28 on ARM64 for generated unboxed object constructor. r=sstangl - -Origin: upstream -Applied-upstream: 61, commit: https://hg.mozilla.org/mozilla-central/rev/800abe66894d ---- - js/src/vm/UnboxedObject.cpp | 30 ++++++++++++++++++++++++++---- - 1 file changed, 26 insertions(+), 4 deletions(-) - -diff --git a/js/src/vm/UnboxedObject.cpp b/js/src/vm/UnboxedObject.cpp -index 35ca20d7405f..1c20a1093d13 100644 ---- a/js/src/vm/UnboxedObject.cpp -+++ b/js/src/vm/UnboxedObject.cpp -@@ -86,9 +86,16 @@ static const uintptr_t CLEAR_CONSTRUCTOR_CODE_TOKEN = 0x1; - #endif - - #ifdef JS_CODEGEN_ARM64 -- // ARM64 communicates stack address via sp, but uses a pseudo-sp for -- // addressing. -- masm.initStackPtr(); -+ // ARM64 communicates stack address via sp, but uses a pseudo-sp (PSP) for -+ // addressing. The register we use for PSP may however also be used by -+ // calling code, and it is nonvolatile, so save it. Do this as a special -+ // case first because the generic save/restore code needs the PSP to be -+ // initialized already. -+ MOZ_ASSERT(PseudoStackPointer64.Is(masm.GetStackPointer64())); -+ masm.Str(PseudoStackPointer64, vixl::MemOperand(sp, -16, vixl::PreIndex)); -+ -+ // Initialize the PSP from the SP. -+ masm.initStackPtr(); - #endif - - MOZ_ASSERT(propertiesReg.volatile_()); -@@ -239,7 +246,22 @@ static const uintptr_t CLEAR_CONSTRUCTOR_CODE_TOKEN = 0x1; - if (ScratchDoubleReg.volatile_()) masm.pop(ScratchDoubleReg); - masm.PopRegsInMask(savedNonVolatileRegisters); - -- masm.abiret(); -+#ifdef JS_CODEGEN_ARM64 -+ // Now restore the value that was in the PSP register on entry, and return. -+ -+ // Obtain the correct SP from the PSP. -+ masm.Mov(sp, PseudoStackPointer64); -+ -+ // Restore the saved value of the PSP register, this value is whatever the -+ // caller had saved in it, not any actual SP value, and it must not be -+ // overwritten subsequently. -+ masm.Ldr(PseudoStackPointer64, vixl::MemOperand(sp, 16, vixl::PostIndex)); -+ -+ // Perform a plain Ret(), as abiret() will move SP <- PSP and that is wrong. -+ masm.Ret(vixl::lr); -+#else -+ masm.abiret(); -+#endif - - masm.bind(&failureStoreOther); - --- -2.21.0 - diff --git a/source/l/mozjs60/patches/Save-x28-before-clobbering-it-in-the-regex-compiler.patch b/source/l/mozjs60/patches/Save-x28-before-clobbering-it-in-the-regex-compiler.patch deleted file mode 100644 index 3886c0e9..00000000 --- a/source/l/mozjs60/patches/Save-x28-before-clobbering-it-in-the-regex-compiler.patch +++ /dev/null @@ -1,97 +0,0 @@ -# HG changeset patch -# User Lars T Hansen <lhansen@mozilla.com> -# Date 1521449886 -3600 -# Node ID 903a79a1efff18fc7cc50db09a3fe5d768adc9a8 -# Parent 4d2955a9ca7e30ca4c3af9c214ccc77fb2fe7fb8 -Bug 1445907 - Save x28 before clobbering it in the regex compiler. r=sstangl - -Origin: upstream -Applied-upstream: 61, commit: https://hg.mozilla.org/mozilla-central/rev/903a79a1efff ---- -diff --git a/js/src/irregexp/NativeRegExpMacroAssembler.cpp b/js/src/irregexp/NativeRegExpMacroAssembler.cpp ---- a/js/src/irregexp/NativeRegExpMacroAssembler.cpp -+++ b/js/src/irregexp/NativeRegExpMacroAssembler.cpp -@@ -118,17 +118,25 @@ NativeRegExpMacroAssembler::GenerateCode - - Label return_temp0; - - // Finalize code - write the entry point code now we know how many - // registers we need. - masm.bind(&entry_label_); - - #ifdef JS_CODEGEN_ARM64 -- // ARM64 communicates stack address via sp, but uses a pseudo-sp for addressing. -+ // ARM64 communicates stack address via SP, but uses a pseudo-sp (PSP) for -+ // addressing. The register we use for PSP may however also be used by -+ // calling code, and it is nonvolatile, so save it. Do this as a special -+ // case first because the generic save/restore code needs the PSP to be -+ // initialized already. -+ MOZ_ASSERT(PseudoStackPointer64.Is(masm.GetStackPointer64())); -+ masm.Str(PseudoStackPointer64, vixl::MemOperand(sp, -16, vixl::PreIndex)); -+ -+ // Initialize the PSP from the SP. - masm.initStackPtr(); - #endif - - // Push non-volatile registers which might be modified by jitcode. - size_t pushedNonVolatileRegisters = 0; - for (GeneralRegisterForwardIterator iter(savedNonVolatileRegisters); iter.more(); ++iter) { - masm.Push(*iter); - pushedNonVolatileRegisters++; -@@ -416,17 +424,32 @@ NativeRegExpMacroAssembler::GenerateCode - masm.pop(temp0); - masm.movePtr(temp0, StackPointer); - #endif - - // Restore non-volatile registers which were saved on entry. - for (GeneralRegisterBackwardIterator iter(savedNonVolatileRegisters); iter.more(); ++iter) - masm.Pop(*iter); - -+#ifdef JS_CODEGEN_ARM64 -+ // Now restore the value that was in the PSP register on entry, and return. -+ -+ // Obtain the correct SP from the PSP. -+ masm.Mov(sp, PseudoStackPointer64); -+ -+ // Restore the saved value of the PSP register, this value is whatever the -+ // caller had saved in it, not any actual SP value, and it must not be -+ // overwritten subsequently. -+ masm.Ldr(PseudoStackPointer64, vixl::MemOperand(sp, 16, vixl::PostIndex)); -+ -+ // Perform a plain Ret(), as abiret() will move SP <- PSP and that is wrong. -+ masm.Ret(vixl::lr); -+#else - masm.abiret(); -+#endif - - // Backtrack code (branch target for conditional backtracks). - if (backtrack_label_.used()) { - masm.bind(&backtrack_label_); - Backtrack(); - } - - // Backtrack stack overflow code. -diff --git a/js/src/jit-test/tests/regexp/bug1445907.js b/js/src/jit-test/tests/regexp/bug1445907.js -new file mode 100644 ---- /dev/null -+++ b/js/src/jit-test/tests/regexp/bug1445907.js -@@ -0,0 +1,15 @@ -+// On ARM64, we failed to save x28 properly when generating code for the regexp -+// matcher. -+// -+// There's wasm and Debugger code here because the combination forces the use of -+// x28 and exposes the bug when running on the simulator. -+ -+if (!wasmIsSupported()) -+ quit(); -+ -+var g = newGlobal(''); -+var dbg = new Debugger(g); -+g.eval(`var m = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary('(module (func (export "test")))')))`); -+var re = /./; -+dbg.onEnterFrame = function(frame) { re.exec("x") }; -+result = g.eval("m.exports.test()"); - --- -2.21.0 - diff --git a/source/l/mozjs60/patches/init_patch.patch b/source/l/mozjs60/patches/init_patch.patch deleted file mode 100644 index 2c1db67c..00000000 --- a/source/l/mozjs60/patches/init_patch.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/python/mozbuild/mozbuild/configure/__init__.py -+++ b/python/mozbuild/mozbuild/configure/__init__.py -@@ -421,7 +421,7 @@ - # All options should have been removed (handled) by now. - for arg in self._helper: - without_value = arg.split('=', 1)[0] -- raise InvalidOptionError('Unknown option: %s' % without_value) -+ # raise InvalidOptionError('Unknown option: %s' % without_value) - - # Run the execution queue - for func, args in self._execution_queue: - diff --git a/source/l/mozjs60/patches/tests-For-tests-that-are-skipped-on-64-bit-mips64-is-also.patch b/source/l/mozjs60/patches/tests-For-tests-that-are-skipped-on-64-bit-mips64-is-also.patch deleted file mode 100644 index d7ac4410..00000000 --- a/source/l/mozjs60/patches/tests-For-tests-that-are-skipped-on-64-bit-mips64-is-also.patch +++ /dev/null @@ -1,41 +0,0 @@ -From: Simon McVittie <smcv@debian.org> -Date: Mon, 9 Oct 2017 09:46:31 +0100 -Subject: tests: For tests that are skipped on 64-bit, mips64 is also 64-bit - -mips64 is a 64-bit platform and a Debian release architecture. ---- - js/src/tests/non262/Array/regress-157652.js | 2 +- - js/src/tests/non262/Array/regress-330812.js | 2 +- - js/src/tests/non262/regress/regress-422348.js | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/js/src/tests/non262/Array/regress-157652.js b/js/src/tests/non262/Array/regress-157652.js -index 6916fe1..b21dcc3 100644 ---- a/js/src/tests/non262/Array/regress-157652.js -+++ b/js/src/tests/non262/Array/regress-157652.js -@@ -1,4 +1,4 @@ --// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)||Android) -- No test results -+// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x|mips64/)||Android) -- No test results - /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ - /* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this -diff --git a/js/src/tests/non262/Array/regress-330812.js b/js/src/tests/non262/Array/regress-330812.js -index c48f4c8..6b1ba2a 100644 ---- a/js/src/tests/non262/Array/regress-330812.js -+++ b/js/src/tests/non262/Array/regress-330812.js -@@ -1,4 +1,4 @@ --// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)||Android) -- No test results -+// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x|mips64/)||Android) -- No test results - /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ - /* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this -diff --git a/js/src/tests/non262/regress/regress-422348.js b/js/src/tests/non262/regress/regress-422348.js -index 2c28d5a..e94c397 100644 ---- a/js/src/tests/non262/regress/regress-422348.js -+++ b/js/src/tests/non262/regress/regress-422348.js -@@ -1,4 +1,4 @@ --// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)) -- On 64-bit, takes forever rather than throwing -+// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x|mips64/)) -- On 64-bit, takes forever rather than throwing - /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ - /* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/source/l/mozjs60/autoconf/autoconf-2.13-consolidated_fixes-1.patch b/source/l/mozjs68/autoconf/autoconf-2.13-consolidated_fixes-1.patch index 5e7b2311..5e7b2311 100644 --- a/source/l/mozjs60/autoconf/autoconf-2.13-consolidated_fixes-1.patch +++ b/source/l/mozjs68/autoconf/autoconf-2.13-consolidated_fixes-1.patch diff --git a/source/l/mozjs60/autoconf/autoconf.build b/source/l/mozjs68/autoconf/autoconf.build index 05e53f1a..05e53f1a 100755 --- a/source/l/mozjs60/autoconf/autoconf.build +++ b/source/l/mozjs68/autoconf/autoconf.build diff --git a/source/l/mozjs60/mozjs60.SlackBuild b/source/l/mozjs68/mozjs68.SlackBuild index 1c35eb12..2f1a4bf3 100755 --- a/source/l/mozjs60/mozjs60.SlackBuild +++ b/source/l/mozjs68/mozjs68.SlackBuild @@ -3,7 +3,7 @@ # Slackware build script for SpiderMonkey # Copyright 2011, 2018 Robby Workman, Tuscaloosa, Alabama, USA -# Copyright 2019 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2019, 2020 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -25,9 +25,9 @@ cd $(dirname $0) ; CWD=$(pwd) -PKGNAM=mozjs60 +PKGNAM=mozjs68 SRCNAME=firefox -VERSION=60.9.0esr +VERSION=68.11.0esr BUILD=${BUILD:-1} @@ -96,20 +96,19 @@ PATH=$TMP/autoconf-tmp/usr/bin:$PATH zcat $CWD/patches/fix-soname.patch.gz | patch -p1 --verbose || exit 1 zcat $CWD/patches/copy-headers.patch.gz | patch -p1 --verbose || exit 1 zcat $CWD/patches/tests-increase-timeout.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/Always-use-the-equivalent-year-to-determine-the-time-zone.patch.gz | patch -p1 --verbose || exit 1 zcat $CWD/patches/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch.gz | patch -p1 --verbose || exit 1 zcat $CWD/patches/icu_sources_data-Write-command-output-to-our-stderr.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/tests-For-tests-that-are-skipped-on-64-bit-mips64-is-also.patch.gz | patch -p1 --verbose || exit 1 zcat $CWD/patches/emitter.patch.gz | patch -p1 --verbose || exit 1 zcat $CWD/patches/emitter_test.patch.gz | patch -p1 --verbose || exit 1 zcat $CWD/patches/init_patch.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/spidermonkey_checks_disable.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/Remove-unused-LLVM-and-Rust-build-dependencies.patch.gz | patch -p1 --verbose || exit 1 +#zcat $CWD/patches/encies.armv7_disable_WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/jstests_python-3.patch.gz | patch -p1 --verbose || exit 1 # DON'T APPLY THIS ONE UNLESS YOU ENJOY A FAILED COMPILE: #zcat $CWD/patches/build-icu-big-endian.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/Save-x28-before-clobbering-it-in-the-regex-compiler.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/Save-and-restore-non-volatile-x28-on-ARM64-for-generated-unboxed-object-constructor.patch.gz | patch -p1 --verbose || exit 1 - # Remove bundled security libraries so that we don't link to them: rm -rf security @@ -152,10 +151,10 @@ rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libjs_static.* rm -f $PKG/usr/bin/js*-config # Rename shared library to have a proper soname: -mv $PKG/usr/lib${LIBDIRSUFFIX}/libmozjs-60.so $PKG/usr/lib${LIBDIRSUFFIX}/libmozjs-60.so.0.0.0 +mv $PKG/usr/lib${LIBDIRSUFFIX}/libmozjs-68.so $PKG/usr/lib${LIBDIRSUFFIX}/libmozjs-68.so.0.0.0 ( cd $PKG/usr/lib${LIBDIRSUFFIX} - ln -sf libmozjs-60.so.0.0.0 libmozjs-60.so.0 - ln -sf libmozjs-60.so.0 libmozjs-60.so + ln -sf libmozjs-68.so.0.0.0 libmozjs-68.so.0 + ln -sf libmozjs-68.so.0 libmozjs-68.so ) mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION 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/mozjs60/patches/build-icu-big-endian.patch b/source/l/mozjs68/patches/build-icu-big-endian.patch index 2cfc8396..70a54817 100644 --- a/source/l/mozjs60/patches/build-icu-big-endian.patch +++ b/source/l/mozjs68/patches/build-icu-big-endian.patch @@ -1,13 +1,12 @@ -diff -up firefox-60.0/build/autoconf/icu.m4.icu firefox-60.0/build/autoconf/icu.m4 ---- firefox-60.0/build/autoconf/icu.m4.icu 2018-04-24 13:13:03.938961958 +0200 -+++ firefox-60.0/build/autoconf/icu.m4 2018-04-24 13:14:44.472714375 +0200 -@@ -78,7 +78,7 @@ if test -n "$USE_ICU"; then +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" - - MOZ_ICU_DATA_ARCHIVE= fi + AC_SUBST(MOZ_ICU_VERSION) diff --git a/source/l/mozjs60/patches/copy-headers.patch b/source/l/mozjs68/patches/copy-headers.patch index aec3b10a..aec3b10a 100644 --- a/source/l/mozjs60/patches/copy-headers.patch +++ b/source/l/mozjs68/patches/copy-headers.patch diff --git a/source/l/mozjs60/patches/emitter.patch b/source/l/mozjs68/patches/emitter.patch index 0f414d7c..42545534 100644 --- a/source/l/mozjs60/patches/emitter.patch +++ b/source/l/mozjs68/patches/emitter.patch @@ -1,15 +1,14 @@ --- a/python/mozbuild/mozbuild/frontend/emitter.py +++ b/python/mozbuild/mozbuild/frontend/emitter.py -@@ -1127,11 +1127,6 @@ - raise SandboxValidationError('Path specified in LOCAL_INCLUDES ' - 'does not exist: %s (resolved to %s)' % (local_include, - full_path), context) +@@ -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 ' -- 'is not allowed: %s (resolved to %s)' % (local_include, -- full_path), context) +- '(%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/mozjs60/patches/emitter_test.patch b/source/l/mozjs68/patches/emitter_test.patch index dad8ddc1..59366d36 100644 --- a/source/l/mozjs60/patches/emitter_test.patch +++ b/source/l/mozjs68/patches/emitter_test.patch @@ -1,6 +1,6 @@ --- a/python/mozbuild/mozbuild/test/frontend/test_emitter.py +++ b/python/mozbuild/mozbuild/test/frontend/test_emitter.py -@@ -999,22 +999,6 @@ +@@ -1051,24 +1051,6 @@ self.assertEqual(local_includes, expected) @@ -10,17 +10,18 @@ - - with self.assertRaisesRegexp( - SandboxValidationError, -- 'Path specified in LOCAL_INCLUDES is not allowed:'): +- '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 is not allowed:'): +- 'Path specified in LOCAL_INCLUDES.*resolves to the ' +- 'topsrcdir or topobjdir'): - objs = self.read_topsrcdir(reader) - - def test_generated_includes(self): - """Test that GENERATED_INCLUDES is emitted correctly.""" - reader = self.reader('generated_includes') - + 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/mozjs60/patches/fix-soname.patch b/source/l/mozjs68/patches/fix-soname.patch index fc8052a8..fc8052a8 100644 --- a/source/l/mozjs60/patches/fix-soname.patch +++ b/source/l/mozjs68/patches/fix-soname.patch diff --git a/source/l/mozjs60/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 index 19c0cc05..e2ed4845 100644 --- a/source/l/mozjs60/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 @@ -13,22 +13,22 @@ 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 -@@ -84,16 +84,13 @@ def update_sources(topsrcdir): - +@@ -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) ++ 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) ++ file=sys.stderr) return False else: - os.unlink(f.name) return True - - diff --git a/source/l/mozjs60/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 index 5c75a895..a853a16d 100644 --- a/source/l/mozjs60/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 @@ -13,14 +13,14 @@ 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 -@@ -19,7 +19,9 @@ import subprocess +@@ -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 - - - def find_source_file(dir, filename): + + # 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/mozjs60/patches/tests-increase-timeout.patch b/source/l/mozjs68/patches/tests-increase-timeout.patch index 91f5fa76..91f5fa76 100644 --- a/source/l/mozjs60/patches/tests-increase-timeout.patch +++ b/source/l/mozjs68/patches/tests-increase-timeout.patch diff --git a/source/l/mozjs60/slack-desc b/source/l/mozjs68/slack-desc index 496f7cfa..496f7cfa 100644 --- a/source/l/mozjs60/slack-desc +++ b/source/l/mozjs68/slack-desc diff --git a/source/l/polkit/polkit.SlackBuild b/source/l/polkit/polkit.SlackBuild index 6501e1f6..3182b995 100755 --- a/source/l/polkit/polkit.SlackBuild +++ b/source/l/polkit/polkit.SlackBuild @@ -2,7 +2,7 @@ # Copyright 2009, 2011, 2015 Robby Workman, Northport, Alabama, USA # Copyright 2010 Eric Hameleers, Eindhoven, NL -# Copyright 2009, 2010, 2011, 2012, 2013, 2018 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2009, 2010, 2011, 2012, 2013, 2018, 2020 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # Redistribution and use of this script, with or without modification, is @@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=polkit VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-3} +BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -98,6 +98,10 @@ else SHADOW_OPTIONS="--with-authfw=shadow" fi +if [ ! -r configure ]; then + NOCONFIGURE=1 ./autogen.sh +fi + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ |