diff options
Diffstat (limited to 'source/l')
23 files changed, 951 insertions, 294 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 \ |