summaryrefslogtreecommitdiffstats
path: root/source/l
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2019-12-11 21:03:27 +0000
committer Eric Hameleers <alien@slackware.com>2019-12-12 08:59:50 +0100
commite37e24f7e55a4939e41cb59ed0ca29b1dccc2fec (patch)
treee0db23a168f93fa4574d38cfa8ac938c35e7803b /source/l
parentc42086b90c8f4ddf8de656cd3d155ddaabb6ace1 (diff)
downloadcurrent-e37e24f7e55a4939e41cb59ed0ca29b1dccc2fec.tar.gz
current-e37e24f7e55a4939e41cb59ed0ca29b1dccc2fec.tar.xz
Wed Dec 11 21:03:27 UTC 201920191211210327
ap/mariadb-10.4.11-x86_64-1.txz: Upgraded. d/cmake-3.16.1-x86_64-1.txz: Upgraded. d/git-2.24.1-x86_64-1.txz: Upgraded. l/mozjs52-52.9.0esr-x86_64-2.txz: Removed. This was used only by polkit-0.115. l/mozjs60-60.9.0esr-x86_64-1.txz: Added. This is needed for polkit-0.116. l/polkit-0.116-x86_64-1.txz: Upgraded. n/ModemManager-1.12.2-x86_64-1.txz: Upgraded. xap/xine-ui-0.99.12-x86_64-1.txz: Upgraded.
Diffstat (limited to 'source/l')
-rw-r--r--source/l/mozjs52/patches/build-icu-big-endian.patch12
-rw-r--r--source/l/mozjs52/patches/build-missing-xlocale-h.patch12
-rw-r--r--source/l/mozjs52/patches/disable-mozglue.patch66
-rw-r--r--source/l/mozjs52/patches/fix-soname.patch34
-rw-r--r--source/l/mozjs52/patches/include-configure-script.patch48
-rw-r--r--source/l/mozjs52/patches/mozilla-1253216.patch12
-rw-r--r--source/l/mozjs52/patches/tests-increase-timeout.patch16
-rw-r--r--source/l/mozjs52/patches/tests-snans-be.patch29
-rw-r--r--source/l/mozjs52/patches/xulrunner-24.0-jemalloc-ppc.patch12
-rw-r--r--source/l/mozjs52/patches/xulrunner-24.0-s390-inlines.patch12
-rw-r--r--source/l/mozjs60/autoconf/autoconf-2.13-consolidated_fixes-1.patch (renamed from source/l/mozjs52/autoconf/autoconf-2.13-consolidated_fixes-1.patch)0
-rwxr-xr-xsource/l/mozjs60/autoconf/autoconf.build (renamed from source/l/mozjs52/autoconf/autoconf.build)0
-rwxr-xr-xsource/l/mozjs60/mozjs60.SlackBuild (renamed from source/l/mozjs52/mozjs52.SlackBuild)64
-rw-r--r--source/l/mozjs60/patches/Always-use-the-equivalent-year-to-determine-the-time-zone.patch100
-rw-r--r--source/l/mozjs60/patches/Save-and-restore-non-volatile-x28-on-ARM64-for-generated-unboxed-object-constructor.patch64
-rw-r--r--source/l/mozjs60/patches/Save-x28-before-clobbering-it-in-the-regex-compiler.patch97
-rw-r--r--source/l/mozjs60/patches/build-icu-big-endian.patch13
-rw-r--r--source/l/mozjs60/patches/copy-headers.patch (renamed from source/l/mozjs52/patches/copy-headers.patch)13
-rw-r--r--source/l/mozjs60/patches/emitter.patch15
-rw-r--r--source/l/mozjs60/patches/emitter_test.patch26
-rw-r--r--source/l/mozjs60/patches/fix-soname.patch25
-rw-r--r--source/l/mozjs60/patches/icu_sources_data-Write-command-output-to-our-stderr.patch34
-rw-r--r--source/l/mozjs60/patches/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch26
-rw-r--r--source/l/mozjs60/patches/init_patch.patch12
-rw-r--r--source/l/mozjs60/patches/tests-For-tests-that-are-skipped-on-64-bit-mips64-is-also.patch41
-rw-r--r--source/l/mozjs60/patches/tests-increase-timeout.patch22
-rw-r--r--source/l/mozjs60/slack-desc (renamed from source/l/mozjs52/slack-desc)24
-rwxr-xr-xsource/l/polkit/polkit.SlackBuild4
28 files changed, 532 insertions, 301 deletions
diff --git a/source/l/mozjs52/patches/build-icu-big-endian.patch b/source/l/mozjs52/patches/build-icu-big-endian.patch
deleted file mode 100644
index 68fbea1a0..000000000
--- a/source/l/mozjs52/patches/build-icu-big-endian.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up mozilla-aurora/build/autoconf/icu.m4.icu-endian mozilla-aurora/build/autoconf/icu.m4
---- mozilla-aurora/build/autoconf/icu.m4.icu-endian 2016-12-09 09:11:01.227317790 +0100
-+++ mozilla-aurora/build/autoconf/icu.m4 2016-12-09 09:18:40.608712247 +0100
-@@ -78,7 +78,7 @@ if test -n "$USE_ICU"; then
- # 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"
-
- dnl We won't build ICU data as a separate file when building
- dnl JS standalone so that embedders don't have to deal with it.
diff --git a/source/l/mozjs52/patches/build-missing-xlocale-h.patch b/source/l/mozjs52/patches/build-missing-xlocale-h.patch
deleted file mode 100644
index b4a62b268..000000000
--- a/source/l/mozjs52/patches/build-missing-xlocale-h.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up thunderbird-52.3.0/mozilla/intl/icu/source/i18n/digitlst.cpp.xlocale thunderbird-52.3.0/mozilla/intl/icu/source/i18n/digitlst.cpp
---- thunderbird-52.3.0/mozilla/intl/icu/source/i18n/digitlst.cpp.xlocale 2017-08-24 14:42:48.634084293 +0200
-+++ thunderbird-52.3.0/mozilla/intl/icu/source/i18n/digitlst.cpp 2017-08-24 14:42:50.534084676 +0200
-@@ -64,7 +64,7 @@
- # if U_PLATFORM_USES_ONLY_WIN32_API || U_PLATFORM == U_PF_CYGWIN
- # include <locale.h>
- # else
--# include <xlocale.h>
-+# include <locale.h>
- # endif
- #endif
-
diff --git a/source/l/mozjs52/patches/disable-mozglue.patch b/source/l/mozjs52/patches/disable-mozglue.patch
deleted file mode 100644
index 8355cf4b0..000000000
--- a/source/l/mozjs52/patches/disable-mozglue.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 7e6d628456af3e99ebcb9a01a27e1461585082a4 Mon Sep 17 00:00:00 2001
-From: Till Schneidereit <till@tillschneidereit.net>
-Date: Thu, 1 Oct 2015 12:59:09 +0200
-Subject: [PATCH] Disable MOZ_GLUE_IN_PROGRAM in stand-alone builds on all
- platforms
-
-Otherwise, build fails not being able to find HashBytes.
-
-Patch ported forward to mozjs52 by Philip Chimento
-<philip.chimento@gmail.com>.
-
-https://bugzilla.mozilla.org/show_bug.cgi?id=1176787
----
- js/src/old-configure.in | 23 ++++++++++++++---------
- mozglue/build/moz.build | 2 +-
- 2 files changed, 15 insertions(+), 10 deletions(-)
-
-diff --git a/js/src/old-configure.in b/js/src/old-configure.in
-index 1c5c9e21..ff0617e3 100644
---- a/js/src/old-configure.in
-+++ b/js/src/old-configure.in
-@@ -1623,16 +1623,21 @@ dnl ========================================================
- dnl = Enable jemalloc
- dnl ========================================================
-
--case "${OS_TARGET}" in
--Android|WINNT|Darwin)
-+dnl In stand-alone builds we always only want to link executables against mozglue.
-+if test "$JS_STANDALONE"; then
- MOZ_GLUE_IN_PROGRAM=
-- ;;
--*)
-- dnl On !Android !Windows !OSX, we only want to link executables against mozglue
-- MOZ_GLUE_IN_PROGRAM=1
-- AC_DEFINE(MOZ_GLUE_IN_PROGRAM)
-- ;;
--esac
-+else
-+ case "${OS_TARGET}" in
-+ Android|WINNT|Darwin)
-+ MOZ_GLUE_IN_PROGRAM=
-+ ;;
-+ *)
-+ dnl On !Android !Windows !OSX, we only want to link executables against mozglue
-+ MOZ_GLUE_IN_PROGRAM=1
-+ AC_DEFINE(MOZ_GLUE_IN_PROGRAM)
-+ ;;
-+ esac
-+fi
-
- if test "$MOZ_MEMORY"; then
- if test "x$MOZ_DEBUG" = "x1"; then
-diff --git a/mozglue/build/moz.build b/mozglue/build/moz.build
-index d2897477..e3be5a2b 100644
---- a/mozglue/build/moz.build
-+++ b/mozglue/build/moz.build
-@@ -6,7 +6,7 @@
-
- # Build mozglue as a shared lib on Windows, OSX and Android.
- # If this is ever changed, update MOZ_SHARED_MOZGLUE in browser/installer/Makefile.in
--if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android'):
-+if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android') and not CONFIG['JS_STANDALONE']:
- SharedLibrary('mozglue')
- else:
- Library('mozglue')
-
diff --git a/source/l/mozjs52/patches/fix-soname.patch b/source/l/mozjs52/patches/fix-soname.patch
deleted file mode 100644
index a91107c15..000000000
--- a/source/l/mozjs52/patches/fix-soname.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From: Laszlo Boszormenyi (GCS) <gcs@debian.org>
-Date: Fri, 02 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 | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-Index: mozjs52-52.2.1~artful1/config/rules.mk
-===================================================================
---- mozjs52-52.2.1~artful1.orig/config/rules.mk
-+++ mozjs52-52.2.1~artful1/config/rules.mk
-@@ -418,7 +418,7 @@ endif # AIX
- #
- # Linux: add -Bsymbolic flag for components
- #
--ifeq ($(OS_ARCH),Linux)
-+#ifeq ($(OS_ARCH),Linux)
- ifdef IS_COMPONENT
- EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic
- endif
-@@ -426,7 +426,8 @@ ifdef LD_VERSION_SCRIPT
- EXTRA_DSO_LDOPTS += -Wl,--version-script,$(LD_VERSION_SCRIPT)
- EXTRA_DEPS += $(LD_VERSION_SCRIPT)
- endif
--endif
-+#endif
-+EXTRA_DSO_LDOPTS += -Wl,-soname,lib$(JS_LIBRARY_NAME).so.0
-
- ifdef SYMBOLS_FILE
- ifeq ($(OS_TARGET),WINNT)
diff --git a/source/l/mozjs52/patches/include-configure-script.patch b/source/l/mozjs52/patches/include-configure-script.patch
deleted file mode 100644
index c24d7b157..000000000
--- a/source/l/mozjs52/patches/include-configure-script.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 4a06a1a6a71293decb83aee7adb74bc709493106 Mon Sep 17 00:00:00 2001
-From: Philip Chimento <philip.chimento@gmail.com>
-Date: Wed, 5 Jul 2017 22:57:09 -0700
-Subject: [PATCH] build: Include configure script, be nicer about options
-
-A configure script is not included in the SpiderMonkey tarball by
-default. Also, we have to account for JHbuild passing extra unknown
-options like --disable-Werror.
-
-https://bugzilla.mozilla.org/show_bug.cgi?id=1379540
----
- js/src/configure | 9 +++++++++
- python/mozbuild/mozbuild/configure/__init__.py | 2 +-
- python/mozbuild/mozbuild/configure/options.py | 6 +++++-
- 3 files changed, 15 insertions(+), 2 deletions(-)
- create mode 100755 js/src/configure
-
-diff --git a/python/mozbuild/mozbuild/configure/__init__.py b/python/mozbuild/mozbuild/configure/__init__.py
-index 0fe640ca..09b460d3 100644
---- a/python/mozbuild/mozbuild/configure/__init__.py
-+++ b/python/mozbuild/mozbuild/configure/__init__.py
-@@ -356,7 +356,7 @@ def run(self, path=None):
- # 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)
-+ print('Ignoring', without_value, ': Unknown option')
-
- # Run the execution queue
- for func, args in self._execution_queue:
-diff --git a/python/mozbuild/mozbuild/configure/options.py b/python/mozbuild/mozbuild/configure/options.py
-index 4310c862..15bfe425 100644
---- a/python/mozbuild/mozbuild/configure/options.py
-+++ b/python/mozbuild/mozbuild/configure/options.py
-@@ -402,7 +402,11 @@ def __init__(self, environ=os.environ, argv=sys.argv):
-
- def add(self, arg, origin='command-line', args=None):
- assert origin != 'default'
-- prefix, name, values = Option.split_option(arg)
-+ try:
-+ prefix, name, values = Option.split_option(arg)
-+ except InvalidOptionError as e:
-+ print('Ignoring', arg, ':', e)
-+ return
- if args is None:
- args = self._extra_args
- if args is self._extra_args and name in self._extra_args:
-
diff --git a/source/l/mozjs52/patches/mozilla-1253216.patch b/source/l/mozjs52/patches/mozilla-1253216.patch
deleted file mode 100644
index c9252da5f..000000000
--- a/source/l/mozjs52/patches/mozilla-1253216.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up firefox-48.0/js/src/jit/AtomicOperations.h.old firefox-48.0/js/src/jit/AtomicOperations.h
---- firefox-48.0/js/src/jit/AtomicOperations.h.old 2016-07-27 09:42:43.148175449 +0200
-+++ firefox-48.0/js/src/jit/AtomicOperations.h 2016-07-27 09:41:13.000000000 +0200
-@@ -340,7 +340,7 @@ AtomicOperations::isLockfree(int32_t siz
- # elif defined(__aarch64__)
- # include "jit/arm64/AtomicOperations-arm64.h"
- # else
--# include "jit/none/AtomicOperations-none.h" // These MOZ_CRASH() always
-+# include "jit/none/AtomicOperations-ppc.h"
- # endif
- #elif defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64)
- # include "jit/x86-shared/AtomicOperations-x86-shared.h"
diff --git a/source/l/mozjs52/patches/tests-increase-timeout.patch b/source/l/mozjs52/patches/tests-increase-timeout.patch
deleted file mode 100644
index f51dc16b9..000000000
--- a/source/l/mozjs52/patches/tests-increase-timeout.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Description: Increase the test timeout for slower buildds
-Author: Adrian Bunk <bunk@debian.org>
-Bug-Debian: https://bugs.debian.org/878284
-
---- mozjs52-52.3.1.orig/js/src/Makefile.in
-+++ mozjs52-52.3.1/js/src/Makefile.in
-@@ -104,7 +104,7 @@ check:: check-style check-masm check-js-
-
- 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)
-
-
diff --git a/source/l/mozjs52/patches/tests-snans-be.patch b/source/l/mozjs52/patches/tests-snans-be.patch
deleted file mode 100644
index 4e65cd913..000000000
--- a/source/l/mozjs52/patches/tests-snans-be.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Description: Fix sort_snans.js test on big endian
-Author: Adrian Bunk <bunk@debian.org>
-Bug-Debian: https://bugs.debian.org/878285
-
---- mozjs52-52.3.1.orig/js/src/tests/ecma_6/TypedArray/sort_snans.js
-+++ mozjs52-52.3.1/js/src/tests/ecma_6/TypedArray/sort_snans.js
-@@ -34,8 +34,20 @@ function testFloat32NaNRanges(start, end
- // and startHi, startLow and endHi, endLow should be 32-bit integers which,
- // when combined (Hi + Low), form Float64 NaNs.
- function testFloat64NaNRanges(startHi, startLow, endHi, endLow) {
-- let skipN = 10e6;
-
-+ // Swap on big endian platforms
-+ if ((new Uint32Array((new Uint8Array([1,2,3,4])).buffer))[0] === 0x01020304) {
-+ let tmp = startHi;
-+ startHi = startLow;
-+ startLow = tmp;
-+
-+ tmp = endHi;
-+ endHi = endLow;
-+ endLow = tmp;
-+ }
-+
-+ let skipN = 10e6;
-+
- let sampleSizeHi = Math.floor((endHi - startHi)/skipN);
- let sampleSizeLow = Math.floor((endLow - startLow)/skipN);
-
-
diff --git a/source/l/mozjs52/patches/xulrunner-24.0-jemalloc-ppc.patch b/source/l/mozjs52/patches/xulrunner-24.0-jemalloc-ppc.patch
deleted file mode 100644
index d0c3d8c97..000000000
--- a/source/l/mozjs52/patches/xulrunner-24.0-jemalloc-ppc.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up mozilla-aurora/memory/mozjemalloc/jemalloc.c.jemalloc-ppc.patch mozilla-aurora/memory/mozjemalloc/jemalloc.c
---- mozilla-aurora/memory/mozjemalloc/jemalloc.c.jemalloc-ppc.patch 2016-11-18 08:56:32.242742746 +0100
-+++ mozilla-aurora/memory/mozjemalloc/jemalloc.c 2016-11-18 08:59:51.809071876 +0100
-@@ -1096,7 +1096,7 @@ static const bool config_recycle = false
- * controlling the malloc behavior are defined as compile-time constants
- * for best performance and cannot be altered at runtime.
- */
--#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !defined(__aarch64__)
-+#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !defined(__aarch64__) && !defined(__powerpc__)
- #define MALLOC_STATIC_SIZES 1
- #endif
-
diff --git a/source/l/mozjs52/patches/xulrunner-24.0-s390-inlines.patch b/source/l/mozjs52/patches/xulrunner-24.0-s390-inlines.patch
deleted file mode 100644
index 074f8d959..000000000
--- a/source/l/mozjs52/patches/xulrunner-24.0-s390-inlines.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up xulrunner-25.0/mozilla-release/js/src/vm/SPSProfiler.cpp.s390-inlines xulrunner-25.0/mozilla-release/js/src/vm/SPSProfiler.cpp
---- xulrunner-25.0/mozilla-release/js/src/vm/SPSProfiler.cpp.s390-inlines 2013-10-23 16:04:01.773093979 +0200
-+++ xulrunner-25.0/mozilla-release/js/src/vm/SPSProfiler.cpp 2013-10-23 16:04:44.551134551 +0200
-@@ -4,6 +4,8 @@
- * 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/. */
-
-+#include "jscntxtinlines.h"
-+
- #include "vm/SPSProfiler.h"
-
- #include "mozilla/DebugOnly.h"
diff --git a/source/l/mozjs52/autoconf/autoconf-2.13-consolidated_fixes-1.patch b/source/l/mozjs60/autoconf/autoconf-2.13-consolidated_fixes-1.patch
index 5e7b23113..5e7b23113 100644
--- a/source/l/mozjs52/autoconf/autoconf-2.13-consolidated_fixes-1.patch
+++ b/source/l/mozjs60/autoconf/autoconf-2.13-consolidated_fixes-1.patch
diff --git a/source/l/mozjs52/autoconf/autoconf.build b/source/l/mozjs60/autoconf/autoconf.build
index 05e53f1a5..05e53f1a5 100755
--- a/source/l/mozjs52/autoconf/autoconf.build
+++ b/source/l/mozjs60/autoconf/autoconf.build
diff --git a/source/l/mozjs52/mozjs52.SlackBuild b/source/l/mozjs60/mozjs60.SlackBuild
index 3f71bb4d2..1c35eb129 100755
--- a/source/l/mozjs52/mozjs52.SlackBuild
+++ b/source/l/mozjs60/mozjs60.SlackBuild
@@ -3,6 +3,7 @@
# Slackware build script for SpiderMonkey
# Copyright 2011, 2018 Robby Workman, Tuscaloosa, Alabama, USA
+# Copyright 2019 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,10 +25,10 @@
cd $(dirname $0) ; CWD=$(pwd)
-PKGNAM=mozjs52
+PKGNAM=mozjs60
SRCNAME=firefox
-VERSION=52.9.0esr
-BUILD=${BUILD:-2}
+VERSION=60.9.0esr
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -70,7 +71,7 @@ fi
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -rf $SRCNAME-$VERSION
+rm -rf $SRCNAME-$VERSION ; rm -rf $SRCNAME-$(echo $VERSION | cut -f 1 -d e)
# Unpack this in a subdirectory to prevent changing permissions on /tmp:
rm -rf firefox-unpack
mkdir firefox-unpack
@@ -79,7 +80,7 @@ tar xvf $CWD/$SRCNAME-$VERSION.source.tar.?z || exit 1
mv * ..
cd ..
rm -rf firefox-unpack
-cd $SRCNAME-$VERSION || exit 1
+cd $SRCNAME-$(echo $VERSION | cut -f 1 -d e) || cd $SRCNAME-$VERSION || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -91,20 +92,23 @@ find . \
( cd $CWD/autoconf ; ./autoconf.build )
PATH=$TMP/autoconf-tmp/usr/bin:$PATH
-# Patches from Debian:
+# Patches from Fedora:
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/tests-snans-be.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/disable-mozglue.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/include-configure-script.patch.gz | patch -p1 --verbose || exit 1
-
-# Patches from Fedora:
-zcat $CWD/patches/xulrunner-24.0-jemalloc-ppc.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/xulrunner-24.0-s390-inlines.patch.gz | patch -p2 --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
+
+# 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/build-missing-xlocale-h.patch.gz | patch -p2 --verbose || exit 1
-zcat $CWD/patches/mozilla-1253216.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
@@ -125,21 +129,17 @@ CXXFLAGS+="$SLKCFLAGS -fno-delete-null-pointer-checks -fno-strict-aliasing -fno-
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
- --disable-debug \
- --disable-debug-symbols \
- --disable-strip \
- --enable-gold \
- --enable-optimize="-O2" \
- --enable-threadsafe \
- --enable-pie \
+ --without-system-icu \
--enable-posix-nspr-emulation \
+ --with-system-zlib \
+ --enable-tests \
+ --disable-strip \
+ --with-intl-api \
--enable-readline \
- --enable-release \
--enable-shared-js \
- --disable-tests \
- --with-intl-api \
- --with-system-zlib \
- --without-system-icu \
+ --disable-optimize \
+ --enable-pie \
+ --disable-jemalloc \
--build=$ARCH-slackware-linux \
make $NUMJOBS || make || exit 1
@@ -148,6 +148,16 @@ make install DESTDIR=$PKG || exit 1
# No need for the huge static library:
rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libjs_static.*
+# Don't ship -config:
+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
+( 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
+)
+
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp ../../README.txt README.html $PKG/usr/doc/$PKGNAM-$VERSION
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
new file mode 100644
index 000000000..81474a42b
--- /dev/null
+++ b/source/l/mozjs60/patches/Always-use-the-equivalent-year-to-determine-the-time-zone.patch
@@ -0,0 +1,100 @@
+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
new file mode 100644
index 000000000..46d280d06
--- /dev/null
+++ b/source/l/mozjs60/patches/Save-and-restore-non-volatile-x28-on-ARM64-for-generated-unboxed-object-constructor.patch
@@ -0,0 +1,64 @@
+# 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
new file mode 100644
index 000000000..3886c0e9b
--- /dev/null
+++ b/source/l/mozjs60/patches/Save-x28-before-clobbering-it-in-the-regex-compiler.patch
@@ -0,0 +1,97 @@
+# 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/build-icu-big-endian.patch b/source/l/mozjs60/patches/build-icu-big-endian.patch
new file mode 100644
index 000000000..2cfc8396a
--- /dev/null
+++ b/source/l/mozjs60/patches/build-icu-big-endian.patch
@@ -0,0 +1,13 @@
+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
+ # 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
+
diff --git a/source/l/mozjs52/patches/copy-headers.patch b/source/l/mozjs60/patches/copy-headers.patch
index 69b216151..aec3b10a2 100644
--- a/source/l/mozjs52/patches/copy-headers.patch
+++ b/source/l/mozjs60/patches/copy-headers.patch
@@ -1,7 +1,6 @@
-From 8b2d7a77bfb4dbd513763501ed7e9722058ee9af Mon Sep 17 00:00:00 2001
From: Rico Tzschichholz <ricotz@ubuntu.com>
Date: Wed, 5 Jul 2017 22:45:59 -0700
-Subject: [PATCH] build: Copy headers on install instead of symlinking
+Subject: build: Copy headers on install instead of symlinking
Patch ported forward to mozjs52 by Philip Chimento
<philip.chimento@gmail.com>.
@@ -10,20 +9,20 @@ Patch ported forward to mozjs52 by Philip Chimento
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/python/mozbuild/mozbuild/backend/recursivemake.py b/python/mozbuild/mozbuild/backend/recursivemake.py
-index 132dcf94..33d489a6 100644
+index dd9020d..6918ef8 100644
--- a/python/mozbuild/mozbuild/backend/recursivemake.py
+++ b/python/mozbuild/mozbuild/backend/recursivemake.py
-@@ -1307,11 +1307,11 @@ def _process_final_target_files(self, obj, files, backend_file):
+@@ -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_symlink(basepath, wild, path)
+- install_manifest.add_pattern_link(basepath, wild, path)
+ install_manifest.add_pattern_copy(basepath, wild, path)
else:
-- install_manifest.add_pattern_symlink(f.srcdir, f, path)
+- install_manifest.add_pattern_link(f.srcdir, f, path)
+ install_manifest.add_pattern_copy(f.srcdir, f, path)
else:
-- install_manifest.add_symlink(f.full_path, dest)
+- install_manifest.add_link(f.full_path, dest)
+ install_manifest.add_copy(f.full_path, dest)
else:
install_manifest.add_optional_exists(dest)
diff --git a/source/l/mozjs60/patches/emitter.patch b/source/l/mozjs60/patches/emitter.patch
new file mode 100644
index 000000000..0f414d7cd
--- /dev/null
+++ b/source/l/mozjs60/patches/emitter.patch
@@ -0,0 +1,15 @@
+--- 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)
+- 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)
+ 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/mozjs60/patches/emitter_test.patch
new file mode 100644
index 000000000..dad8ddc14
--- /dev/null
+++ b/source/l/mozjs60/patches/emitter_test.patch
@@ -0,0 +1,26 @@
+--- a/python/mozbuild/mozbuild/test/frontend/test_emitter.py
++++ b/python/mozbuild/mozbuild/test/frontend/test_emitter.py
+@@ -999,22 +999,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 is not allowed:'):
+- objs = self.read_topsrcdir(reader)
+-
+- reader = self.reader('local_includes-invalid/objdir')
+-
+- with self.assertRaisesRegexp(
+- SandboxValidationError,
+- 'Path specified in LOCAL_INCLUDES is not allowed:'):
+- objs = self.read_topsrcdir(reader)
+-
+ def test_generated_includes(self):
+ """Test that GENERATED_INCLUDES is emitted correctly."""
+ reader = self.reader('generated_includes')
+
diff --git a/source/l/mozjs60/patches/fix-soname.patch b/source/l/mozjs60/patches/fix-soname.patch
new file mode 100644
index 000000000..fc8052a88
--- /dev/null
+++ b/source/l/mozjs60/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/mozjs60/patches/icu_sources_data-Write-command-output-to-our-stderr.patch b/source/l/mozjs60/patches/icu_sources_data-Write-command-output-to-our-stderr.patch
new file mode 100644
index 000000000..19c0cc05d
--- /dev/null
+++ b/source/l/mozjs60/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
+@@ -84,16 +84,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,
++ 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),
++ 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/mozjs60/patches/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch b/source/l/mozjs60/patches/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch
new file mode 100644
index 000000000..5c75a895d
--- /dev/null
+++ b/source/l/mozjs60/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
+@@ -19,7 +19,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
+
+
+ def find_source_file(dir, filename):
diff --git a/source/l/mozjs60/patches/init_patch.patch b/source/l/mozjs60/patches/init_patch.patch
new file mode 100644
index 000000000..2c1db67c8
--- /dev/null
+++ b/source/l/mozjs60/patches/init_patch.patch
@@ -0,0 +1,12 @@
+--- 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
new file mode 100644
index 000000000..d7ac4410b
--- /dev/null
+++ b/source/l/mozjs60/patches/tests-For-tests-that-are-skipped-on-64-bit-mips64-is-also.patch
@@ -0,0 +1,41 @@
+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/patches/tests-increase-timeout.patch b/source/l/mozjs60/patches/tests-increase-timeout.patch
new file mode 100644
index 000000000..91f5fa76e
--- /dev/null
+++ b/source/l/mozjs60/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)
+
diff --git a/source/l/mozjs52/slack-desc b/source/l/mozjs60/slack-desc
index e576773a6..496f7cfa5 100644
--- a/source/l/mozjs52/slack-desc
+++ b/source/l/mozjs60/slack-desc
@@ -6,15 +6,15 @@
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
-mozjs52: mozjs52 (Mozilla's JavaScript Engine)
-mozjs52:
-mozjs52: SpiderMonkey is Mozilla's JavaScript engine written in C/C++. It is
-mozjs52: used in various Mozilla products (including Firefox) and is available
-mozjs52: under MPL/GPL/LGPL tri-license.
-mozjs52:
-mozjs52: Homepage:
-mozjs52: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey
-mozjs52:
-mozjs52:
-mozjs52:
-mozjs52:
+mozjs60: mozjs60 (Mozilla's JavaScript Engine)
+mozjs60:
+mozjs60: SpiderMonkey is Mozilla's JavaScript engine written in C/C++. It is
+mozjs60: used in various Mozilla products (including Firefox) and is available
+mozjs60: under MPL/GPL/LGPL tri-license.
+mozjs60:
+mozjs60: Homepage:
+mozjs60: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey
+mozjs60:
+mozjs60:
+mozjs60:
+mozjs60:
diff --git a/source/l/polkit/polkit.SlackBuild b/source/l/polkit/polkit.SlackBuild
index e220c6db8..6de6b5655 100755
--- a/source/l/polkit/polkit.SlackBuild
+++ b/source/l/polkit/polkit.SlackBuild
@@ -25,7 +25,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=polkit
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.gz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -69,7 +69,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
cd $PKGNAM-$VERSION || exit 1
# Make sure ownerships and permissions are sane: