summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rw-r--r--source/l/js185/js185-destdir.patch15
-rw-r--r--source/l/js185/slack-desc19
-rwxr-xr-xsource/l/libwebp/libwebp.SlackBuild1
-rw-r--r--source/l/mozjs52/autoconf/autoconf-2.13-consolidated_fixes-1.patch504
-rwxr-xr-xsource/l/mozjs52/autoconf/autoconf.build81
-rwxr-xr-xsource/l/mozjs52/mozjs52.SlackBuild (renamed from source/l/js185/js185.SlackBuild)82
-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/copy-headers.patch30
-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/mozjs52/slack-desc20
-rw-r--r--source/l/polkit/0001-Fix-a-memory-leak-of-PolkitAgentListener-s-Server-ob.patch27
-rw-r--r--source/l/polkit/0004-polkit-Add-g_autoptr-support-for-GObject-derived-pol.patch49
-rw-r--r--source/l/polkit/0005-data-Set-GIO_USE_VFS-local-in-the-environment.patch127
-rw-r--r--source/l/polkit/0015-polkitpermission-Fix-a-memory-leak-on-authority-chan.patch28
-rwxr-xr-xsource/l/polkit/polkit.SlackBuild9
-rwxr-xr-xsource/make_world.sh4
24 files changed, 954 insertions, 295 deletions
diff --git a/source/l/js185/js185-destdir.patch b/source/l/js185/js185-destdir.patch
deleted file mode 100644
index 87b7b53b..00000000
--- a/source/l/js185/js185-destdir.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-#https://bugzilla.mozilla.org/show_bug.cgi?id=628723
-
---- Makefile.in.old 2011-04-10 04:21:19.918608008 -0700
-+++ Makefile.in 2011-04-10 04:21:58.088607992 -0700
-@@ -888,8 +888,8 @@
- ifeq (,$(HOST_BIN_SUFFIX))
- mv -f $(SHLIB_ANY_VER) $(SHLIB_EXACT_VER)
- @[ ! -h $(SHLIB_ABI_VER) ] || rm -f $(SHLIB_ABI_VER)
-- ln -s $(SHLIB_EXACT_VER) $(SHLIB_ABI_VER)
-- ln -s $(SHLIB_ABI_VER) $(SHLIB_ANY_VER)
-+ ln -s $(notdir $(SHLIB_EXACT_VER)) $(SHLIB_ABI_VER)
-+ ln -s $(notdir $(SHLIB_ABI_VER)) $(SHLIB_ANY_VER)
- endif
- endif
- ifneq (,$(IMPORT_LIBRARY))
diff --git a/source/l/js185/slack-desc b/source/l/js185/slack-desc
deleted file mode 100644
index d7e5c115..00000000
--- a/source/l/js185/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-js185: js185 (SpiderMonkey - Mozilla's JavaScript Engine)
-js185:
-js185: SpiderMonkey is Mozilla's JavaScript engine written in C/C++.
-js185: It is used in various Mozilla products (including Firefox) and is
-js185: available under MPL/GPL/LGPL tri-license.
-js185:
-js185: Homepage: http://www.mozilla.org/js/spidermonkey
-js185:
-js185:
-js185:
-js185:
diff --git a/source/l/libwebp/libwebp.SlackBuild b/source/l/libwebp/libwebp.SlackBuild
index 36229d3f..6e84935d 100755
--- a/source/l/libwebp/libwebp.SlackBuild
+++ b/source/l/libwebp/libwebp.SlackBuild
@@ -98,7 +98,6 @@ CFLAGS="$SLKCFLAGS" \
--disable-silent-rules \
--enable-everything \
--enable-swap-16bit-csp \
- --enable-experimental \
--build=$ARCH-slackware-linux || exit 1
# Build and install:
diff --git a/source/l/mozjs52/autoconf/autoconf-2.13-consolidated_fixes-1.patch b/source/l/mozjs52/autoconf/autoconf-2.13-consolidated_fixes-1.patch
new file mode 100644
index 00000000..5e7b2311
--- /dev/null
+++ b/source/l/mozjs52/autoconf/autoconf-2.13-consolidated_fixes-1.patch
@@ -0,0 +1,504 @@
+Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
+Date: 2016-06-11
+Initial Package Version: 2.13
+Upstream Status: Version is historic and unmaintained.
+Origin: Found at fedora, plus fixes for LFS.
+Description: All of the patches currently used by fedora, except for
+the patch which ensures gawk is used in preference to mawk (we do not
+install mawk). For LFS: we put mktemp in /usr/bin not /bin, remove
+the install-info target because that will overwrite standards.info
+with an old version (fedora always use a DESTDIR), and change the
+man and info dirs to ${datadir}/ i.e. /usr/share (an empty /usr/info
+will otherwise be created).
+
+diff -Naur a/acgeneral.m4 b/acgeneral.m4
+--- a/acgeneral.m4 1999-01-05 13:27:37.000000000 +0000
++++ b/acgeneral.m4 2016-06-11 00:18:24.429043947 +0100
+@@ -1817,10 +1817,6 @@
+ [cat > conftest.$ac_ext <<EOF
+ [#]line __oline__ "configure"
+ #include "confdefs.h"
+-ifelse(AC_LANG, CPLUSPLUS, [#ifdef __cplusplus
+-extern "C" void exit(int);
+-#endif
+-])dnl
+ [$1]
+ EOF
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+@@ -1988,12 +1984,12 @@
+ AC_MSG_CHECKING(size of $1)
+ AC_CACHE_VAL(AC_CV_NAME,
+ [AC_TRY_RUN([#include <stdio.h>
+-main()
++int main()
+ {
+ FILE *f=fopen("conftestval", "w");
+- if (!f) exit(1);
++ if (!f) return(1);
+ fprintf(f, "%d\n", sizeof($1));
+- exit(0);
++ return(0);
+ }], AC_CV_NAME=`cat conftestval`, AC_CV_NAME=0, ifelse([$2], , , AC_CV_NAME=$2))])dnl
+ AC_MSG_RESULT($AC_CV_NAME)
+ AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME)
+@@ -2160,20 +2156,38 @@
+ dnl AC_OUTPUT_MAKE_DEFS()
+ define(AC_OUTPUT_MAKE_DEFS,
+ [# Transform confdefs.h into DEFS.
+-dnl Using a here document instead of a string reduces the quoting nightmare.
+ # Protect against shell expansion while executing Makefile rules.
+ # Protect against Makefile macro expansion.
+-cat > conftest.defs <<\EOF
++#
++# If the first sed substitution is executed (which looks for macros that
++# take arguments), then we branch to the quote section. Otherwise,
++# look for a macro that doesn't take arguments.
++cat >confdef2opt.sed <<\_ACEOF
+ changequote(<<, >>)dnl
+-s%<<#define>> \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+-s%[ `~<<#>>$^&*(){}\\|;'"<>?]%\\&%g
+-s%\[%\\&%g
+-s%\]%\\&%g
+-s%\$%$$%g
++t clear
++: clear
++s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g
++t quote
++s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g
++t quote
++d
++: quote
++s,[ `~#$^&*(){}\\|;'"<>?],\\&,g
++s,\[,\\&,g
++s,\],\\&,g
++s,\$,$$,g
++p
+ changequote([, ])dnl
+-EOF
+-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+-rm -f conftest.defs
++_ACEOF
++# We use echo to avoid assuming a particular line-breaking character.
++# The extra dot is to prevent the shell from consuming trailing
++# line-breaks from the sub-command output. A line-break within
++# single-quotes doesn't work because, if this script is created in a
++# platform that uses two characters for line-breaks (e.g., DOS), tr
++# would break.
++ac_LF_and_DOT=`echo; echo .`
++DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
++rm -f confdef2opt.sed
+ ])
+
+ dnl Do the variable substitutions to create the Makefiles or whatever.
+diff -Naur a/acspecific.m4 b/acspecific.m4
+--- a/acspecific.m4 1999-01-05 13:27:52.000000000 +0000
++++ b/acspecific.m4 2016-06-11 00:18:17.533078644 +0100
+@@ -152,8 +152,41 @@
+ CXXFLAGS=
+ fi
+ fi
++
++AC_PROG_CXX_EXIT_DECLARATION
+ ])
+
++
++# AC_PROG_CXX_EXIT_DECLARATION
++# -----------------------------
++# Find a valid prototype for exit and declare it in confdefs.h.
++AC_DEFUN(AC_PROG_CXX_EXIT_DECLARATION,
++[for ac_declaration in \
++ ''\
++ '#include <stdlib.h>' \
++ 'extern "C" void std::exit (int) throw (); using std::exit;' \
++ 'extern "C" void std::exit (int); using std::exit;' \
++ 'extern "C" void exit (int) throw ();' \
++ 'extern "C" void exit (int);' \
++ 'void exit (int);'
++do
++ AC_TRY_COMPILE([#include <stdlib.h>
++$ac_declaration],
++ [exit (42);],
++ [],
++ [continue])
++ AC_TRY_COMPILE([$ac_declaration],
++ [exit (42);],
++ [break])
++done
++if test -n "$ac_declaration"; then
++ echo '#ifdef __cplusplus' >>confdefs.h
++ echo $ac_declaration >>confdefs.h
++ echo '#endif' >>confdefs.h
++fi
++])# AC_PROG_CXX_EXIT_DECLARATION
++
++
+ dnl Determine a Fortran 77 compiler to use. If `F77' is not already set
+ dnl in the environment, check for `g77', `f77' and `f2c', in that order.
+ dnl Set the output variable `F77' to the name of the compiler found.
+@@ -1010,7 +1043,7 @@
+ ])
+
+ AC_DEFUN(AC_FUNC_MMAP,
+-[AC_CHECK_HEADERS(unistd.h)
++[AC_CHECK_HEADERS(stdlib.h unistd.h sys/stat.h sys/types.h)
+ AC_CHECK_FUNCS(getpagesize)
+ AC_CACHE_CHECK(for working mmap, ac_cv_func_mmap_fixed_mapped,
+ [AC_TRY_RUN([
+@@ -1039,11 +1072,24 @@
+ #include <fcntl.h>
+ #include <sys/mman.h>
+
++#if HAVE_SYS_TYPES_H
++# include <sys/types.h>
++#endif
++
++#if HAVE_STDLIB_H
++# include <stdlib.h>
++#endif
++
++#if HAVE_SYS_STAT_H
++# include <sys/stat.h>
++#endif
++
++#if HAVE_UNISTD_H
++# include <unistd.h>
++#endif
++
+ /* This mess was copied from the GNU getpagesize.h. */
+ #ifndef HAVE_GETPAGESIZE
+-# ifdef HAVE_UNISTD_H
+-# include <unistd.h>
+-# endif
+
+ /* Assume that all systems that can run configure have sys/param.h. */
+ # ifndef HAVE_SYS_PARAM_H
+@@ -1373,6 +1419,8 @@
+ r.ru_majflt = r.ru_minflt = 0;
+ switch (fork()) {
+ case 0: /* Child. */
++ /* Unless we actually _do_ something, the kernel sometimes doesn't chalk up any system time to this process. */
++ if(fork()) { i = 123; wait(NULL); } else { i = 234; exit(0); }
+ sleep(1); /* Give up the CPU. */
+ _exit(0);
+ case -1: _exit(0); /* What can we do? */
+diff -Naur a/autoconf.sh b/autoconf.sh
+--- a/autoconf.sh 1999-01-05 13:27:53.000000000 +0000
++++ b/autoconf.sh 2016-06-11 00:22:17.351872133 +0100
+@@ -45,20 +45,20 @@
+ esac
+
+ : ${TMPDIR=/tmp}
+-tmpout=${TMPDIR}/acout.$$
++tmpout=`/usr/bin/mktemp ${TMPDIR}/acout.XXXXXX`
+ localdir=
+ show_version=no
+
+ while test $# -gt 0 ; do
+ case "${1}" in
+ -h | --help | --h* )
+- echo "${usage}" 1>&2; exit 0 ;;
++ echo "${usage}" 1>&2; rm -f $tmpout ; exit 0 ;;
+ --localdir=* | --l*=* )
+ localdir="`echo \"${1}\" | sed -e 's/^[^=]*=//'`"
+ shift ;;
+ -l | --localdir | --l*)
+ shift
+- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
++ test $# -eq 0 && { echo "${usage}" 1>&2; rm -f $tmpout; exit 1; }
+ localdir="${1}"
+ shift ;;
+ --macrodir=* | --m*=* )
+@@ -66,7 +66,7 @@
+ shift ;;
+ -m | --macrodir | --m* )
+ shift
+- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
++ test $# -eq 0 && { echo "${usage}" 1>&2; rm -f $tmpout; exit 1; }
+ AC_MACRODIR="${1}"
+ shift ;;
+ --version | --v* )
+@@ -76,7 +76,7 @@
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+- echo "${usage}" 1>&2; exit 1 ;;
++ echo "${usage}" 1>&2; rm -f $tmpout; exit 1 ;;
+ * )
+ break ;;
+ esac
+@@ -86,23 +86,25 @@
+ version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \
+ $AC_MACRODIR/acgeneral.m4`
+ echo "Autoconf version $version"
++ rm -f $tmpout
+ exit 0
+ fi
+
+ case $# in
+ 0) infile=configure.in ;;
+ 1) infile="$1" ;;
+- *) echo "$usage" >&2; exit 1 ;;
++ *) echo "$usage" >&2; rm -f $tmpout; exit 1 ;;
+ esac
+
+ trap 'rm -f $tmpin $tmpout; exit 1' 1 2 15
+
+-tmpin=${TMPDIR}/acin.$$ # Always set this, to avoid bogus errors from some rm's.
++tmpin=`/usr/bin/mktemp ${TMPDIR}/acin.XXXXXX`
++# Always set this, to avoid bogus errors from some rm's.
+ if test z$infile = z-; then
+ infile=$tmpin
+- cat > $infile
+ elif test ! -r "$infile"; then
+ echo "autoconf: ${infile}: No such file or directory" >&2
++ rm -f $tmpin $tmpout
+ exit 1
+ fi
+
+@@ -111,6 +113,8 @@
+ else
+ use_localdir=
+ fi
++# Make sure we don't leave those around - they are annoying
++trap 'rm -f $tmpin $tmpout' 0
+
+ # Use the frozen version of Autoconf if available.
+ r= f=
+@@ -118,7 +122,7 @@
+ case `$M4 --help < /dev/null 2>&1` in
+ *reload-state*) test -r $AC_MACRODIR/autoconf.m4f && { r=--reload f=f; } ;;
+ *traditional*) ;;
+-*) echo Autoconf requires GNU m4 1.1 or later >&2; rm -f $tmpin; exit 1 ;;
++*) echo Autoconf requires GNU m4 1.1 or later >&2; rm -f $tmpin $tmpout; exit 1 ;;
+ esac
+
+ $M4 -I$AC_MACRODIR $use_localdir $r autoconf.m4$f $infile > $tmpout ||
+@@ -154,6 +158,6 @@
+ /__oline__/s/^\([0-9][0-9]*\):\(.*\)__oline__/\2\1/
+ ' >&4
+
+-rm -f $tmpout
++rm -f $tmpout $tmpin
+
+ exit $status
+diff -Naur a/autoconf.texi b/autoconf.texi
+--- a/autoconf.texi 1999-01-05 13:28:37.000000000 +0000
++++ b/autoconf.texi 2016-06-11 00:18:46.360933604 +0100
+@@ -1,7 +1,7 @@
+ \input texinfo @c -*-texinfo-*-
+ @c %**start of header
+-@setfilename autoconf.info
+-@settitle Autoconf
++@setfilename autoconf.info
++@settitle Autoconf
+ @c For double-sided printing, uncomment:
+ @c @setchapternewpage odd
+ @c %**end of header
+@@ -17,7 +17,8 @@
+ @ifinfo
+ @format
+ START-INFO-DIR-ENTRY
+-* Autoconf: (autoconf). Create source code configuration scripts.
++* Autoconf: (autoconf). Create source code configuration scripts.
++ This is a legacy version of autoconf.
+ END-INFO-DIR-ENTRY
+ @end format
+
+diff -Naur a/autoheader.sh b/autoheader.sh
+--- a/autoheader.sh 1999-01-05 13:28:39.000000000 +0000
++++ b/autoheader.sh 2016-06-11 00:22:17.351872133 +0100
+@@ -194,9 +194,9 @@
+ # Some fgrep's have limits on the number of lines that can be in the
+ # pattern on the command line, so use a temporary file containing the
+ # pattern.
+- (fgrep_tmp=${TMPDIR-/tmp}/autoh$$
++ (fgrep_tmp=`/usr/bin/mktemp ${TMPDIR-/tmp}/autoh$$.XXXXXX`
+ trap "rm -f $fgrep_tmp; exit 1" 1 2 15
+- cat > $fgrep_tmp <<EOF
++ cat >> $fgrep_tmp <<EOF
+ $syms
+ EOF
+ fgrep -f $fgrep_tmp
+diff -Naur a/autoupdate.sh b/autoupdate.sh
+--- a/autoupdate.sh 1999-01-05 13:28:42.000000000 +0000
++++ b/autoupdate.sh 2016-06-11 00:23:19.151561252 +0100
+@@ -26,7 +26,7 @@
+ Usage: autoupdate [-h] [--help] [-m dir] [--macrodir=dir]
+ [--version] [template-file]"
+
+-sedtmp=/tmp/acups.$$
++sedtmp=`/usr/bin/mktemp /tmp/acups.XXXXXX`
+ # For debugging.
+ #sedtmp=/tmp/acups
+ show_version=no
+@@ -35,13 +35,13 @@
+ while test $# -gt 0 ; do
+ case "${1}" in
+ -h | --help | --h* )
+- echo "${usage}" 1>&2; exit 0 ;;
++ echo "${usage}" 1>&2; rm -f $sedtmp; exit 0 ;;
+ --macrodir=* | --m*=* )
+ AC_MACRODIR="`echo \"${1}\" | sed -e 's/^[^=]*=//'`"
+ shift ;;
+ -m | --macrodir | --m* )
+ shift
+- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
++ test $# -eq 0 && { echo "${usage}" 1>&2; rm -f $sedtmp; exit 1; }
+ AC_MACRODIR="${1}"
+ shift ;;
+ --version | --versio | --versi | --vers)
+@@ -51,7 +51,7 @@
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+- echo "${usage}" 1>&2; exit 1 ;;
++ echo "${usage}" 1>&2; rm -f $sedtmp; exit 1 ;;
+ * )
+ break ;;
+ esac
+@@ -61,6 +61,7 @@
+ version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \
+ $AC_MACRODIR/acgeneral.m4`
+ echo "Autoconf version $version"
++ rm -f $sedtmp
+ exit 0
+ fi
+
+@@ -68,6 +69,7 @@
+
+ tmpout=acupo.$$
+ trap 'rm -f $sedtmp $tmpout; exit 1' 1 2 15
++trap 'rm -f $sedtmp' 0
+ case $# in
+ 0) infile=configure.in; out="> $tmpout"
+ # Make sure $infile can be read, and $tmpout has the same permissions.
+diff -Naur a/configure b/configure
+--- a/configure 1999-01-05 13:28:57.000000000 +0000
++++ b/configure 2016-06-11 00:50:57.771231914 +0100
+@@ -43,8 +43,8 @@
+ libdir='${exec_prefix}/lib'
+ includedir='${prefix}/include'
+ oldincludedir='/usr/include'
+-infodir='${prefix}/info'
+-mandir='${prefix}/man'
++infodir='${datadir}/info'
++mandir='${datadir}/man'
+
+ # Initialize some other variables.
+ subdirs=
+diff -Naur a/Makefile.in b/Makefile.in
+--- a/Makefile.in 1999-01-05 13:27:16.000000000 +0000
++++ b/Makefile.in 2016-06-11 00:29:34.005678107 +0100
+@@ -49,7 +49,7 @@
+
+ # Directory in which to install library files.
+ datadir = @datadir@
+-acdatadir = $(datadir)/autoconf
++acdatadir = $(datadir)/autoconf-2.13
+
+ # Directory in which to install documentation info files.
+ infodir = @infodir@
+@@ -68,8 +68,8 @@
+ DISTFILES = AUTHORS COPYING ChangeLog ChangeLog.1 INSTALL \
+ Makefile.in NEWS README TODO $(M4FILES) \
+ acconfig.h acfunctions acheaders acidentifiers \
+- acmakevars acprograms autoconf.info* \
+- autoconf.sh autoconf.texi install.texi \
++ acmakevars acprograms autoconf.info* \
++ autoconf.sh autoconf.texi install.texi \
+ autoheader.sh autoscan.pl autoreconf.sh autoupdate.sh ifnames.sh \
+ config.guess config.sub configure configure.in \
+ install-sh mkinstalldirs texinfo.tex \
+@@ -106,11 +106,11 @@
+ autoconf.m4f: autoconf.m4 acgeneral.m4 acspecific.m4 acoldnames.m4
+ autoheader.m4f: autoheader.m4 acgeneral.m4 acspecific.m4 acoldnames.m4
+
+-info: autoconf.info @standards_info@ INSTALL
++info: autoconf.info @standards_info@ INSTALL
+
+ # Use --no-split to avoid creating filenames > 14 chars.
+-autoconf.info: autoconf.texi install.texi
+- $(MAKEINFO) -I$(srcdir) $(srcdir)/autoconf.texi --no-split --output=$@
++autoconf.info: autoconf.texi install.texi
++ $(MAKEINFO) -I$(srcdir) $(srcdir)/autoconf.texi --no-split --output=$@
+
+ INSTALL: install.texi
+ $(MAKEINFO) -I$(srcdir) $(srcdir)/install.texi --output=$@ \
+@@ -121,8 +121,8 @@
+
+ dvi: autoconf.dvi @standards_dvi@
+
+-autoconf.dvi: autoconf.texi
+- $(TEXI2DVI) $(srcdir)/autoconf.texi
++autoconf.dvi: autoconf.texi
++ $(TEXI2DVI) $(srcdir)/autoconf.texi
+
+ standards.dvi: standards.texi make-stds.texi
+ $(TEXI2DVI) $(srcdir)/standards.texi
+@@ -137,35 +137,35 @@
+ cd testsuite && ${MAKE} AUTOCONF=${bindir}/autoconf $@
+
+ installdirs:
+- $(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(infodir) $(acdatadir)
++ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)/$(bindir) $(DESTDIR)/$(infodir) $(DESTDIR)/$(acdatadir)
+
+-install: all $(M4FILES) acconfig.h installdirs install-info
++install: all $(M4FILES) acconfig.h installdirs
+ for p in $(ASCRIPTS); do \
+- $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed '$(transform)'`; \
++ $(INSTALL_PROGRAM) $$p $(DESTDIR)/$(bindir)/`echo $$p|sed '$(transform)'`; \
+ done
+ for i in $(M4FROZEN); do \
+- $(INSTALL_DATA) $$i $(acdatadir)/$$i; \
++ $(INSTALL_DATA) $$i $(DESTDIR)/$(acdatadir)/$$i; \
+ done
+ for i in $(M4FILES) acconfig.h; do \
+- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \
++ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)/$(acdatadir)/$$i; \
+ done
+ -if test -f autoscan; then \
+- $(INSTALL_PROGRAM) autoscan $(bindir)/`echo autoscan|sed '$(transform)'`; \
++ $(INSTALL_PROGRAM) autoscan $(DESTDIR)/$(bindir)/`echo autoscan|sed '$(transform)'`; \
+ for i in acfunctions acheaders acidentifiers acprograms \
+ acmakevars; do \
+- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \
++ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)/$(acdatadir)/$$i; \
+ done; \
+ else :; fi
+
+ # Don't cd, to avoid breaking install-sh references.
+ install-info: info installdirs
+- if test -f autoconf.info; then \
++ if test -f autoconf.info; then \
+ for i in *.info*; do \
+- $(INSTALL_DATA) $$i $(infodir)/$$i; \
++ $(INSTALL_DATA) $$i $(DESTDIR)/$(infodir)/$$i; \
+ done; \
+ else \
+ for i in $(srcdir)/*.info*; do \
+- $(INSTALL_DATA) $$i $(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \
++ $(INSTALL_DATA) $$i $(DESTDIR)/$(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \
+ done; \
+ fi
+
+@@ -174,7 +174,7 @@
+ rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \
+ done
+ rm -fr $(acdatadir)
+- cd $(infodir) && rm -f autoconf.info*
++ cd $(infodir) && rm -f autoconf.info*
+ if test -f standards.info || test -f $(srcdir)/standards.info; \
+ then cd $(infodir) && rm -f standards.info*; fi
+
+diff -Naur a/testsuite/autoconf.s/syntax.exp b/testsuite/autoconf.s/syntax.exp
+--- a/testsuite/autoconf.s/syntax.exp 1999-01-05 13:29:54.000000000 +0000
++++ b/testsuite/autoconf.s/syntax.exp 2016-06-11 00:18:51.996905247 +0100
+@@ -2,7 +2,7 @@
+
+ send_user "Checking for syntax errors in the specific tests...\n"
+ set script {s/^AC_DEFUN(\([^,]*\).*/\1/p}
+-set macros [exec sed -n $script $srcdir/../acspecific.m4]
++set macros [exec sed -n $script $srcdir/../acspecific.m4 | grep -v -e AC_FUNC_GETLOADAVG -e F77]
+
+ foreach mac $macros {
+ send_user "$mac\n"
diff --git a/source/l/mozjs52/autoconf/autoconf.build b/source/l/mozjs52/autoconf/autoconf.build
new file mode 100755
index 00000000..05e53f1a
--- /dev/null
+++ b/source/l/mozjs52/autoconf/autoconf.build
@@ -0,0 +1,81 @@
+#!/bin/sh
+
+# Copyright 2005-2016 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=autoconf
+VERSION=2.13
+BUILD=${BUILD:-1}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-autoconf
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf autoconf-$VERSION
+tar xvf $CWD/autoconf-$VERSION.tar.xz || exit 1
+cd autoconf-$VERSION
+
+zcat $CWD/autoconf-2.13-consolidated_fixes-1.patch.gz | patch -p1 --verbose || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Build a temporary copy of autoconf-2.13 only to be used to compile
+# js52, since it somewhat inexplicably requires this ancient version:
+
+rm -rf $TMP/autoconf-tmp
+mkdir -p $TMP/autoconf-tmp
+# This will be at the beginning of the $PATH, so protect against nonsense
+# happening in /tmp:
+chmod 700 $TMP/autoconf-tmp
+rm -rf $TMP/autoconf-tmp/*
+mkdir -p $TMP/autoconf-tmp/usr
+
+./configure \
+ --prefix=$TMP/autoconf-tmp/usr \
+ --program-suffix=-2.13 \
+ --infodir=$TMP/autoconf-tmp/usr/info \
+ --mandir=$TMP/autoconf-tmp/usr/man \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install || exit 1
+
diff --git a/source/l/js185/js185.SlackBuild b/source/l/mozjs52/mozjs52.SlackBuild
index 24feaa63..c49c95df 100755
--- a/source/l/js185/js185.SlackBuild
+++ b/source/l/mozjs52/mozjs52.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for SpiderMonkey
-# Copyright 2011 Robby Workman, Northport, Alabama, USA
+# Copyright 2011, 2018 Robby Workman, Tuscaloosa, Alabama, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,12 +24,11 @@
cd $(dirname $0) ; CWD=$(pwd)
-PKGNAM=js185
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+PKGNAM=mozjs52
+SRCNAME=firefox
+VERSION=52.9.0esr
+BUILD=${BUILD:-1}
-TARNAME=js
-TARVERS=1.8.5
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -71,9 +70,16 @@ fi
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -rf $TARNAME-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
-cd $TARNAME-$TARVERS || exit 1
+rm -rf $SRCNAME-$VERSION
+# Unpack this in a subdirectory to prevent changing permissions on /tmp:
+rm -rf firefox-unpack
+mkdir firefox-unpack
+cd firefox-unpack
+tar xvf $CWD/$SRCNAME-$VERSION.source.tar.?z || exit 1
+mv * ..
+cd ..
+rm -rf firefox-unpack
+cd $SRCNAME-$VERSION || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -81,35 +87,69 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# We need to use the incredibly ancient autoconf-2.13 for this :/
+( cd $CWD/autoconf ; ./autoconf.build )
+PATH=$TMP/autoconf-tmp/usr/bin:$PATH
+
+# Patches from Debian:
+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/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
+
+# Remove bundled security libraries so that we don't link to them:
+rm -rf security
+
+# Remove bundled zlib directory and use system version:
+rm -rf modules/zlib
+
cd js/src
-patch -p0 < $CWD/js185-destdir.patch || exit 1
+# We need to do this because patches above touch configure.in:
+autoconf-2.13
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS -std=gnu++98 -fpermissive -fno-delete-null-pointer-checks" \
+CFLAGS+="$SLKCFLAGS -fno-delete-null-pointer-checks -fno-strict-aliasing -fno-tree-vrp " \
+CXXFLAGS+="$SLKCFLAGS -fno-delete-null-pointer-checks -fno-strict-aliasing -fno-tree-vrp " \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
- --build=$ARCH-slackware-linux \
+ --disable-debug \
+ --disable-debug-symbols \
+ --disable-strip \
+ --enable-gold \
--enable-optimize="-O2" \
--enable-threadsafe \
- --with-system-nspr \
- --with-nspr-prefix=/usr || exit 1
+ --enable-pie \
+ --enable-posix-nspr-emulation \
+ --enable-readline \
+ --enable-release \
+ --enable-shared-js \
+ --enable-tests \
+ --with-intl-api \
+ --with-system-zlib \
+ --without-system-icu \
+ --build=$ARCH-slackware-linux \
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
-# Oops, Makefile missed this:
-cp -a shell/js $PKG/usr/bin
-
-# No need for this:
-rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.a
+# No need for the huge static library:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libjs_static.*
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp ../../README README.html $PKG/usr/doc/$PKGNAM-$VERSION
+cp ../../README.txt README.html $PKG/usr/doc/$PKGNAM-$VERSION
# If there's a ChangeLog, installing at least part of the recent history
# is useful, but don't let it get totally out of control:
diff --git a/source/l/mozjs52/patches/build-icu-big-endian.patch b/source/l/mozjs52/patches/build-icu-big-endian.patch
new file mode 100644
index 00000000..68fbea1a
--- /dev/null
+++ b/source/l/mozjs52/patches/build-icu-big-endian.patch
@@ -0,0 +1,12 @@
+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
new file mode 100644
index 00000000..b4a62b26
--- /dev/null
+++ b/source/l/mozjs52/patches/build-missing-xlocale-h.patch
@@ -0,0 +1,12 @@
+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/copy-headers.patch b/source/l/mozjs52/patches/copy-headers.patch
new file mode 100644
index 00000000..69b21615
--- /dev/null
+++ b/source/l/mozjs52/patches/copy-headers.patch
@@ -0,0 +1,30 @@
+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
+
+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 132dcf94..33d489a6 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):
+ 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_copy(basepath, wild, path)
+ else:
+- install_manifest.add_pattern_symlink(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_copy(f.full_path, dest)
+ else:
+ install_manifest.add_optional_exists(dest)
+ backend_file.write('%s_FILES += %s\n' % (
diff --git a/source/l/mozjs52/patches/disable-mozglue.patch b/source/l/mozjs52/patches/disable-mozglue.patch
new file mode 100644
index 00000000..8355cf4b
--- /dev/null
+++ b/source/l/mozjs52/patches/disable-mozglue.patch
@@ -0,0 +1,66 @@
+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
new file mode 100644
index 00000000..a91107c1
--- /dev/null
+++ b/source/l/mozjs52/patches/fix-soname.patch
@@ -0,0 +1,34 @@
+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
new file mode 100644
index 00000000..c24d7b15
--- /dev/null
+++ b/source/l/mozjs52/patches/include-configure-script.patch
@@ -0,0 +1,48 @@
+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
new file mode 100644
index 00000000..c9252da5
--- /dev/null
+++ b/source/l/mozjs52/patches/mozilla-1253216.patch
@@ -0,0 +1,12 @@
+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
new file mode 100644
index 00000000..f51dc16b
--- /dev/null
+++ b/source/l/mozjs52/patches/tests-increase-timeout.patch
@@ -0,0 +1,16 @@
+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
new file mode 100644
index 00000000..4e65cd91
--- /dev/null
+++ b/source/l/mozjs52/patches/tests-snans-be.patch
@@ -0,0 +1,29 @@
+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
new file mode 100644
index 00000000..d0c3d8c9
--- /dev/null
+++ b/source/l/mozjs52/patches/xulrunner-24.0-jemalloc-ppc.patch
@@ -0,0 +1,12 @@
+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
new file mode 100644
index 00000000..074f8d95
--- /dev/null
+++ b/source/l/mozjs52/patches/xulrunner-24.0-s390-inlines.patch
@@ -0,0 +1,12 @@
+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/slack-desc b/source/l/mozjs52/slack-desc
new file mode 100644
index 00000000..e576773a
--- /dev/null
+++ b/source/l/mozjs52/slack-desc
@@ -0,0 +1,20 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# 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:
diff --git a/source/l/polkit/0001-Fix-a-memory-leak-of-PolkitAgentListener-s-Server-ob.patch b/source/l/polkit/0001-Fix-a-memory-leak-of-PolkitAgentListener-s-Server-ob.patch
deleted file mode 100644
index 1d319fd6..00000000
--- a/source/l/polkit/0001-Fix-a-memory-leak-of-PolkitAgentListener-s-Server-ob.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From f529fa4ac03f491678c7520d7a2d1c05491feab1 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Miloslav=20Trma=C4=8D?= <mitr@redhat.com>
-Date: Sat, 12 Mar 2016 03:40:20 +0100
-Subject: [PATCH 01/16] Fix a memory leak of PolkitAgentListener's Server
- object
-
-https://bugs.freedesktop.org/show_bug.cgi?id=94506
----
- src/polkitagent/polkitagentlistener.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/polkitagent/polkitagentlistener.c b/src/polkitagent/polkitagentlistener.c
-index 491e4b9..4704b03 100644
---- a/src/polkitagent/polkitagentlistener.c
-+++ b/src/polkitagent/polkitagentlistener.c
-@@ -129,6 +129,8 @@ server_free (Server *server)
- g_object_unref (server->subject);
-
- g_free (server->object_path);
-+
-+ g_free (server);
- }
-
- static gboolean
---
-2.13.0
-
diff --git a/source/l/polkit/0004-polkit-Add-g_autoptr-support-for-GObject-derived-pol.patch b/source/l/polkit/0004-polkit-Add-g_autoptr-support-for-GObject-derived-pol.patch
deleted file mode 100644
index b3bf1056..00000000
--- a/source/l/polkit/0004-polkit-Add-g_autoptr-support-for-GObject-derived-pol.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 004bd37d0b33eb39372bd0e0bed8ab9c1ac2c50c Mon Sep 17 00:00:00 2001
-From: Philip Withnall <philip.withnall@collabora.co.uk>
-Date: Fri, 22 Apr 2016 12:34:18 +0100
-Subject: [PATCH 04/16] polkit: Add g_autoptr() support for GObject-derived
- polkit types
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Add G_DEFINE_AUTOPTR_CLEANUP_FUNC calls to polkittypes.h, so that
-g_autoptr() can be used with polkit objects.
-
-This is conditional on GLib ≥ 2.44.0 being available. It does not bump
-polkit’s dependency on GLib.
-
-https://bugs.freedesktop.org/show_bug.cgi?id=95065
----
- src/polkit/polkittypes.h | 17 +++++++++++++++++
- 1 file changed, 17 insertions(+)
-
-diff --git a/src/polkit/polkittypes.h b/src/polkit/polkittypes.h
-index 3de1778..e0cf653 100644
---- a/src/polkit/polkittypes.h
-+++ b/src/polkit/polkittypes.h
-@@ -64,4 +64,21 @@ typedef struct _PolkitTemporaryAuthorization PolkitTemporaryAuthorization;
- struct _PolkitPermission;
- typedef struct _PolkitPermission PolkitPermission;
-
-+#if GLIB_CHECK_VERSION(2, 44, 0)
-+G_DEFINE_AUTOPTR_CLEANUP_FUNC (PolkitAuthority, g_object_unref)
-+G_DEFINE_AUTOPTR_CLEANUP_FUNC (PolkitActionDescription, g_object_unref)
-+G_DEFINE_AUTOPTR_CLEANUP_FUNC (PolkitSubject, g_object_unref)
-+G_DEFINE_AUTOPTR_CLEANUP_FUNC (PolkitUnixProcess, g_object_unref)
-+G_DEFINE_AUTOPTR_CLEANUP_FUNC (PolkitUnixSession, g_object_unref)
-+G_DEFINE_AUTOPTR_CLEANUP_FUNC (PolkitSystemBusName, g_object_unref)
-+G_DEFINE_AUTOPTR_CLEANUP_FUNC (PolkitIdentity, g_object_unref)
-+G_DEFINE_AUTOPTR_CLEANUP_FUNC (PolkitUnixUser, g_object_unref)
-+G_DEFINE_AUTOPTR_CLEANUP_FUNC (PolkitUnixGroup, g_object_unref)
-+G_DEFINE_AUTOPTR_CLEANUP_FUNC (PolkitUnixNetgroup, g_object_unref)
-+G_DEFINE_AUTOPTR_CLEANUP_FUNC (PolkitAuthorizationResult, g_object_unref)
-+G_DEFINE_AUTOPTR_CLEANUP_FUNC (PolkitDetails, g_object_unref)
-+G_DEFINE_AUTOPTR_CLEANUP_FUNC (PolkitTemporaryAuthorization, g_object_unref)
-+G_DEFINE_AUTOPTR_CLEANUP_FUNC (PolkitPermission, g_object_unref)
-+#endif
-+
- #endif /* __POLKIT_TYPES_H */
---
-2.13.0
-
diff --git a/source/l/polkit/0005-data-Set-GIO_USE_VFS-local-in-the-environment.patch b/source/l/polkit/0005-data-Set-GIO_USE_VFS-local-in-the-environment.patch
deleted file mode 100644
index b5d8ae0f..00000000
--- a/source/l/polkit/0005-data-Set-GIO_USE_VFS-local-in-the-environment.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-From daf3d5c2d15466a267221fcb099c59c870098e03 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <philip.withnall@collabora.co.uk>
-Date: Thu, 19 May 2016 10:08:08 +0100
-Subject: [PATCH 05/16] data: Set GIO_USE_VFS=local in the environment
-
-There is no need for polkit to ever use GVFS to load files from
-non-local sources, so it's best to avoid loading GVFS code, and to just
-rely on the local implementation in GIO instead. This reduces the attack
-surface of polkit.
-
-Implemented for the daemon, pkaction, pkcheck, pkexec and pkttyagent,
-because none of them need remote file access.
-
-https://bugs.freedesktop.org/show_bug.cgi?id=95487
----
- src/polkitbackend/polkitd.c | 4 ++++
- src/programs/pkaction.c | 4 ++++
- src/programs/pkcheck.c | 4 ++++
- src/programs/pkexec.c | 3 +++
- src/programs/pkttyagent.c | 4 ++++
- 5 files changed, 19 insertions(+)
-
-diff --git a/src/polkitbackend/polkitd.c b/src/polkitbackend/polkitd.c
-index d1527fb..8d54ed7 100644
---- a/src/polkitbackend/polkitd.c
-+++ b/src/polkitbackend/polkitd.c
-@@ -22,6 +22,7 @@
- #include "config.h"
-
- #include <signal.h>
-+#include <stdlib.h>
-
- #include <glib-unix.h>
-
-@@ -169,6 +170,9 @@ main (int argc,
- sigint_id = 0;
- registration_id = NULL;
-
-+ /* Disable remote file access from GIO. */
-+ setenv ("GIO_USE_VFS", "local", 1);
-+
- g_type_init ();
-
- opt_context = g_option_context_new ("polkit system daemon");
-diff --git a/src/programs/pkaction.c b/src/programs/pkaction.c
-index f17a7dc..221662a 100644
---- a/src/programs/pkaction.c
-+++ b/src/programs/pkaction.c
-@@ -24,6 +24,7 @@
- #endif
-
- #include <stdio.h>
-+#include <stdlib.h>
- #include <glib/gi18n.h>
- #include <polkit/polkit.h>
-
-@@ -121,6 +122,9 @@ main (int argc, char *argv[])
- actions = NULL;
- ret = 1;
-
-+ /* Disable remote file access from GIO. */
-+ setenv ("GIO_USE_VFS", "local", 1);
-+
- g_type_init ();
-
- opt_show_version = FALSE;
-diff --git a/src/programs/pkcheck.c b/src/programs/pkcheck.c
-index 5781893..33db128 100644
---- a/src/programs/pkcheck.c
-+++ b/src/programs/pkcheck.c
-@@ -24,6 +24,7 @@
- #endif
-
- #include <stdio.h>
-+#include <stdlib.h>
- #include <glib/gi18n.h>
- #include <polkit/polkit.h>
- #define POLKIT_AGENT_I_KNOW_API_IS_SUBJECT_TO_CHANGE
-@@ -362,6 +363,9 @@ main (int argc, char *argv[])
- local_agent_handle = NULL;
- ret = 126;
-
-+ /* Disable remote file access from GIO. */
-+ setenv ("GIO_USE_VFS", "local", 1);
-+
- g_type_init ();
-
- details = polkit_details_new ();
-diff --git a/src/programs/pkexec.c b/src/programs/pkexec.c
-index 50de92c..3b29b24 100644
---- a/src/programs/pkexec.c
-+++ b/src/programs/pkexec.c
-@@ -503,6 +503,9 @@ main (int argc, char *argv[])
- opt_user = NULL;
- local_agent_handle = NULL;
-
-+ /* Disable remote file access from GIO. */
-+ setenv ("GIO_USE_VFS", "local", 1);
-+
- /* check for correct invocation */
- if (geteuid () != 0)
- {
-diff --git a/src/programs/pkttyagent.c b/src/programs/pkttyagent.c
-index 423b728..8aac7dd 100644
---- a/src/programs/pkttyagent.c
-+++ b/src/programs/pkttyagent.c
-@@ -24,6 +24,7 @@
- #endif
-
- #include <stdio.h>
-+#include <stdlib.h>
- #include <glib/gi18n.h>
- #include <polkit/polkit.h>
- #define POLKIT_AGENT_I_KNOW_API_IS_SUBJECT_TO_CHANGE
-@@ -74,6 +75,9 @@ main (int argc, char *argv[])
- guint ret = 126;
- GVariantBuilder builder;
-
-+ /* Disable remote file access from GIO. */
-+ setenv ("GIO_USE_VFS", "local", 1);
-+
- g_type_init ();
-
- error = NULL;
---
-2.13.0
-
diff --git a/source/l/polkit/0015-polkitpermission-Fix-a-memory-leak-on-authority-chan.patch b/source/l/polkit/0015-polkitpermission-Fix-a-memory-leak-on-authority-chan.patch
deleted file mode 100644
index 24e4bc46..00000000
--- a/source/l/polkit/0015-polkitpermission-Fix-a-memory-leak-on-authority-chan.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From df6488c0a5b2a6c7a2d4f6a55008263635c5571b Mon Sep 17 00:00:00 2001
-From: Rui Matos <tiagomatos@gmail.com>
-Date: Thu, 2 Mar 2017 14:50:31 +0100
-Subject: [PATCH 15/16] polkitpermission: Fix a memory leak on authority
- changes
-
-Signed-off-by: Rui Matos <tiagomatos@gmail.com>
-
-https://bugs.freedesktop.org/show_bug.cgi?id=99741
----
- src/polkit/polkitpermission.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/polkit/polkitpermission.c b/src/polkit/polkitpermission.c
-index f8a666e..f264094 100644
---- a/src/polkit/polkitpermission.c
-+++ b/src/polkit/polkitpermission.c
-@@ -454,6 +454,7 @@ changed_check_cb (GObject *source_object,
- if (result != NULL)
- {
- process_result (permission, result);
-+ g_object_unref (result);
- }
- else
- {
---
-2.13.0
-
diff --git a/source/l/polkit/polkit.SlackBuild b/source/l/polkit/polkit.SlackBuild
index 372a5d60..97f1218b 100755
--- a/source/l/polkit/polkit.SlackBuild
+++ b/source/l/polkit/polkit.SlackBuild
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=polkit
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.gz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-4}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -82,12 +82,6 @@ find . \
zcat $CWD/dont-set-wheel-group-as-admin.diff.gz | patch -p1 || exit 1
-# Add some patches from git
-zcat $CWD/0001-Fix-a-memory-leak-of-PolkitAgentListener-s-Server-ob.patch | patch -p1 || exit 1
-zcat $CWD/0004-polkit-Add-g_autoptr-support-for-GObject-derived-pol.patch | patch -p1 || exit 1
-zcat $CWD/0005-data-Set-GIO_USE_VFS-local-in-the-environment.patch | patch -p1 || exit 1
-zcat $CWD/0015-polkitpermission-Fix-a-memory-leak-on-authority-chan.patch | patch -p1 || exit 1
-
# If we get here and don't have a polkitd user/group, add one.
# Otherwise a few directories in the package will have wrong permissions.
if ! grep -q "^polkitd:" /etc/passwd ; then
@@ -110,6 +104,7 @@ CXXFLAGS="$SLKCFLAGS" \
--disable-examples \
--enable-introspection \
--enable-libsystemd-login=no \
+ --enable-libelogind=no \
--with-authfw=shadow \
--enable-verbose-mode \
--with-os-type=Slackware \
diff --git a/source/make_world.sh b/source/make_world.sh
index dad58296..baf1a46e 100755
--- a/source/make_world.sh
+++ b/source/make_world.sh
@@ -99,7 +99,9 @@ if [ ! -r $BUILDLIST -a ! -r ${BUILDLIST}.lock ]; then
echo $script >> $BUILDLIST
fi
done
- echo "${SLACKWARE_SOURCE_DIRECTORY}kde/kde.SlackBuild" >> $BUILDLIST
+ if [ -r ${SLACKWARE_SOURCE_DIRECTORY}kde/kde.SlackBuild ]; then
+ echo "${SLACKWARE_SOURCE_DIRECTORY}kde/kde.SlackBuild" >> $BUILDLIST
+ fi
rm -f ${BUILDLIST}.lock
# Set GEN_LIST_ONLY=yes if you'd like to exit after generating a build list.
# You might want to do this to comment some build scripts out first, or if