summaryrefslogtreecommitdiff
path: root/source/xap
diff options
context:
space:
mode:
authorPatrick J Volkerding <volkerdi@slackware.com>2019-09-12 03:58:53 +0000
committerEric Hameleers <alien@slackware.com>2019-09-12 17:59:49 +0200
commit1c35025416b4295915f499a01d0cee8899971321 (patch)
tree8d77bc5a61777014d91d832adab49039955a8e64 /source/xap
parent5ff08990e972ccd99e36e94e44746710b95adba4 (diff)
downloadcurrent-1c35025416b4295915f499a01d0cee8899971321.tar.gz
Thu Sep 12 03:58:53 UTC 201920190912035853
a/glibc-zoneinfo-2019c-noarch-1.txz: Upgraded. This package provides the latest timezone updates. a/openssl-solibs-1.1.1d-x86_64-1.txz: Upgraded. a/openssl10-solibs-1.0.2t-x86_64-1.txz: Upgraded. ap/mariadb-10.4.8-x86_64-1.txz: Upgraded. l/netpbm-10.87.02-x86_64-1.txz: Upgraded. n/curl-7.66.0-x86_64-1.txz: Upgraded. This update fixes security issues: FTP-KRB double-free TFTP small blocksize heap buffer overflow For more information, see: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-5481 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-5482 (* Security fix *) n/openssl-1.1.1d-x86_64-1.txz: Upgraded. This update fixes low severity security issues: Fixed a fork protection issue Fixed a padding oracle in PKCS7_dataDecode and CMS_decrypt_set1_pkey Compute ECC cofactors if not provided during EC_GROUP construction For more information, see: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-1549 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-1563 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-1547 (* Security fix *) n/openssl10-1.0.2t-x86_64-1.txz: Upgraded. This update fixes low severity security issues: Fixed a padding oracle in PKCS7_dataDecode and CMS_decrypt_set1_pkey Compute ECC cofactors if not provided during EC_GROUP construction For more information, see: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-1563 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-1547 (* Security fix *) n/p11-kit-0.23.17-x86_64-1.txz: Upgraded. xap/mozilla-thunderbird-68.1.0-x86_64-1.txz: Upgraded. This release contains security fixes and improvements. For more information, see: https://www.mozilla.org/en-US/thunderbird/68.1.0/releasenotes/ https://www.mozilla.org/security/known-vulnerabilities/thunderbird.html (* Security fix *) extra/google-chrome/google-chrome.SlackBuild: Upgraded. Patched the packaging script to account for the internal change of control.tar.gz to control.tar.xz. Thanks to _RDS_ and Tim Thomas who both provided the same patch.
Diffstat (limited to 'source/xap')
-rwxr-xr-xsource/xap/mozilla-thunderbird/build-deps.sh41
-rw-r--r--source/xap/mozilla-thunderbird/build-deps/autoconf/autoconf-2.13-consolidated_fixes-1.patch504
-rwxr-xr-xsource/xap/mozilla-thunderbird/build-deps/autoconf/autoconf.build75
-rwxr-xr-xsource/xap/mozilla-thunderbird/build-deps/cbindgen/cbindgen.build54
-rwxr-xr-xsource/xap/mozilla-thunderbird/build-deps/nodejs/nodejs.build91
-rw-r--r--source/xap/mozilla-thunderbird/build-deps/nodejs/nodejs.url2
-rw-r--r--source/xap/mozilla-thunderbird/gkrust.a.no.networking.check.diff23
l---------[-rwxr-xr-x]source/xap/mozilla-thunderbird/gold/gold3
l---------source/xap/mozilla-thunderbird/gold/ld2
-rwxr-xr-xsource/xap/mozilla-thunderbird/gold/ld.gold6
-rwxr-xr-xsource/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild70
-rw-r--r--source/xap/mozilla-thunderbird/mozilla-thunderbird.gettid.diff10
-rw-r--r--source/xap/mozilla-thunderbird/tb.ui.scrollToClick.diff12
-rw-r--r--source/xap/mozilla-thunderbird/unbreakdocs.diff23
14 files changed, 851 insertions, 65 deletions
diff --git a/source/xap/mozilla-thunderbird/build-deps.sh b/source/xap/mozilla-thunderbird/build-deps.sh
new file mode 100755
index 00000000..69d1a8b2
--- /dev/null
+++ b/source/xap/mozilla-thunderbird/build-deps.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+# Copyright 2019 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.
+
+# Clear out any existing build deps:
+rm -rf $TMP/mozilla-thunderbird-build-deps
+mkdir -p $TMP/mozilla-thunderbird-build-deps
+# This will be at the beginning of the $PATH, so protect against nonsense
+# happening in /tmp:
+chmod 700 $TMP/mozilla-thunderbird-build-deps
+PATH=$TMP/mozilla-thunderbird-build-deps/usr/bin:$HOME/.cargo/bin:$PATH
+
+# cbindgen is a build-time dependency:
+( cd $CWD/build-deps/cbindgen ; ./cbindgen.build ) || exit 1
+
+if /bin/ls build-deps*.txz 1> /dev/null 2> /dev/null ; then # use prebuilt autoconf/nodejs
+ ( cd $TMP/mozilla-thunderbird-build-deps ; tar xf $CWD/build-deps*.txz )
+else
+ # We need to use the incredibly ancient autoconf-2.13 for this :/
+ ( cd $CWD/build-deps/autoconf ; ./autoconf.build ) || exit 1
+ # And node.js... WHY
+ ( cd $CWD/build-deps/nodejs ; ./nodejs.build ) || exit 1
+fi
diff --git a/source/xap/mozilla-thunderbird/build-deps/autoconf/autoconf-2.13-consolidated_fixes-1.patch b/source/xap/mozilla-thunderbird/build-deps/autoconf/autoconf-2.13-consolidated_fixes-1.patch
new file mode 100644
index 00000000..5e7b2311
--- /dev/null
+++ b/source/xap/mozilla-thunderbird/build-deps/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/xap/mozilla-thunderbird/build-deps/autoconf/autoconf.build b/source/xap/mozilla-thunderbird/build-deps/autoconf/autoconf.build
new file mode 100755
index 00000000..b3bf1669
--- /dev/null
+++ b/source/xap/mozilla-thunderbird/build-deps/autoconf/autoconf.build
@@ -0,0 +1,75 @@
+#!/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=i586 ;;
+ 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
+# Firefox, since it somewhat inexplicably requires this ancient version:
+
+mkdir -p $TMP/mozilla-thunderbird-build-deps/usr
+
+./configure \
+ --prefix=$TMP/mozilla-thunderbird-build-deps/usr \
+ --program-suffix=-2.13 \
+ --infodir=$TMP/mozilla-thunderbird-build-deps/usr/info \
+ --mandir=$TMP/mozilla-thunderbird-build-deps/usr/man \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install || exit 1
+
diff --git a/source/xap/mozilla-thunderbird/build-deps/cbindgen/cbindgen.build b/source/xap/mozilla-thunderbird/build-deps/cbindgen/cbindgen.build
new file mode 100755
index 00000000..06116e43
--- /dev/null
+++ b/source/xap/mozilla-thunderbird/build-deps/cbindgen/cbindgen.build
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+# Copyright 2019 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=cbindgen
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i586 ;;
+ 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}
+
+mkdir -p $TMP
+
+cd $TMP
+rm -rf cbindgen-$VERSION
+tar xvf $CWD/cbindgen-$VERSION.tar.?z || exit 1
+cd cbindgen-$VERSION
+
+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 {} \;
+
+cargo install --force cbindgen
diff --git a/source/xap/mozilla-thunderbird/build-deps/nodejs/nodejs.build b/source/xap/mozilla-thunderbird/build-deps/nodejs/nodejs.build
new file mode 100755
index 00000000..6f98074f
--- /dev/null
+++ b/source/xap/mozilla-thunderbird/build-deps/nodejs/nodejs.build
@@ -0,0 +1,91 @@
+#!/bin/sh
+
+# Copyright 2019 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=node
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i586 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+
+mkdir -p $TMP
+mkdir -p $TMP/mozilla-thunderbird-build-deps/usr
+
+cd $TMP
+rm -rf node-$VERSION
+tar xvf $CWD/node-$VERSION.tar.?z || exit 1
+cd node-$VERSION
+
+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 {} \;
+
+# Fix paths for $LIBDIRSUFFIX (if needed):
+if [ ! -z $LIBDIRSUFFIX ]; then
+ sed -i "s|\"lib\"|\"lib${LIBDIRSUFFIX}\"|" deps/npm/lib/npm.js
+ sed -i "s/'lib'/'lib${LIBDIRSUFFIX}'/" lib/module.js
+ sed -i "s|lib/|lib${LIBDIRSUFFIX}/|g" tools/install.py
+fi
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=$TMP/mozilla-thunderbird-build-deps/usr \
+ --shared-zlib \
+ --without-ssl
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
diff --git a/source/xap/mozilla-thunderbird/build-deps/nodejs/nodejs.url b/source/xap/mozilla-thunderbird/build-deps/nodejs/nodejs.url
new file mode 100644
index 00000000..75f7f4d3
--- /dev/null
+++ b/source/xap/mozilla-thunderbird/build-deps/nodejs/nodejs.url
@@ -0,0 +1,2 @@
+https://nodejs.org/dist/v10.16.0/node-v10.16.0.tar.gz
+#https://github.com/nodejs/node
diff --git a/source/xap/mozilla-thunderbird/gkrust.a.no.networking.check.diff b/source/xap/mozilla-thunderbird/gkrust.a.no.networking.check.diff
new file mode 100644
index 00000000..e2f3f98d
--- /dev/null
+++ b/source/xap/mozilla-thunderbird/gkrust.a.no.networking.check.diff
@@ -0,0 +1,23 @@
+--- ./config/makefiles/rust.mk.orig 2019-08-26 16:32:05.000000000 -0500
++++ ./config/makefiles/rust.mk 2019-08-28 15:33:32.393489657 -0500
+@@ -243,13 +243,13 @@
+ # When we are building in --enable-release mode; we add an additional check to confirm
+ # that we are not importing any networking-related functions in rust code. This reduces
+ # the chance of proxy bypasses originating from rust code.
+-ifndef DEVELOPER_OPTIONS
+-ifndef MOZ_DEBUG_RUST
+-ifeq ($(OS_ARCH), Linux)
+- $(call py_action,check_binary,--target --networking $@)
+-endif
+-endif
+-endif
++#ifndef DEVELOPER_OPTIONS
++#ifndef MOZ_DEBUG_RUST
++#ifeq ($(OS_ARCH), Linux)
++# $(call py_action,check_binary,--target --networking $@)
++#endif
++#endif
++#endif
+
+ force-cargo-library-check:
+ $(call CARGO_CHECK) --lib $(cargo_target_flag) $(rust_features_flag)
diff --git a/source/xap/mozilla-thunderbird/gold/gold b/source/xap/mozilla-thunderbird/gold/gold
index 8c86d3b0..6cd03701 100755..120000
--- a/source/xap/mozilla-thunderbird/gold/gold
+++ b/source/xap/mozilla-thunderbird/gold/gold
@@ -1,2 +1 @@
-#!/bin/bash
-/usr/bin/ld.gold "$@"
+ld.gold \ No newline at end of file
diff --git a/source/xap/mozilla-thunderbird/gold/ld b/source/xap/mozilla-thunderbird/gold/ld
index 78a06a2a..6cd03701 120000
--- a/source/xap/mozilla-thunderbird/gold/ld
+++ b/source/xap/mozilla-thunderbird/gold/ld
@@ -1 +1 @@
-gold \ No newline at end of file
+ld.gold \ No newline at end of file
diff --git a/source/xap/mozilla-thunderbird/gold/ld.gold b/source/xap/mozilla-thunderbird/gold/ld.gold
new file mode 100755
index 00000000..f1d76b3a
--- /dev/null
+++ b/source/xap/mozilla-thunderbird/gold/ld.gold
@@ -0,0 +1,6 @@
+#!/bin/bash
+# Doing this for 32-bit... sigh. May have to try to figure out how to only
+# use it in 32-bit userspace even when running under a 64-bit kernel.
+/usr/bin/ld.gold --no-map-whole-files --no-keep-memory --no-keep-files-mapped "$@"
+# Old simple way:
+#/usr/bin/ld.gold "$@"
diff --git a/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild b/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild
index 6047eb6e..9b6c6e69 100755
--- a/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild
+++ b/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2010, 2011, 2012, 2014, 2016, 2017, 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2014, 2016, 2017, 2018, 2019 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -36,7 +36,7 @@ BUILD=${BUILD:-1}
# For example, to build a version of Thunderbird with Italian support, run
# the build script like this:
#
-# MOZLOCALIZE=it ./mozilla-firefox.SlackBuild
+# MOZLOCALIZE=it ./mozilla-thunderbird.SlackBuild
#
MOZLOCALIZE=${MOZLOCALIZE:-}
@@ -74,23 +74,23 @@ fi
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS=""
LIBDIRSUFFIX=""
- OPTIMIZE=${OPTIMIZE:-"-O1"}
+ OPTIMIZE=${OPTIMIZE:-"-Os"}
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS=""
LIBDIRSUFFIX=""
- OPTIMIZE=${OPTIMIZE:-"-O1"}
+ OPTIMIZE=${OPTIMIZE:-"-Os"}
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-fPIC"
LIBDIRSUFFIX="64"
- OPTIMIZE=${OPTIMIZE:-"-O1"}
+ OPTIMIZE=${OPTIMIZE:-"-O2"}
elif [ "$ARCH" = "arm" ]; then
SLKCFLAGS="-march=armv4 -mtune=xscale"
LIBDIRSUFFIX=""
- OPTIMIZE=${OPTIMIZE:-"-O1"}
+ OPTIMIZE=${OPTIMIZE:-"-O2"}
else
SLKCFLAGS=""
LIBDIRSUFFIX=""
- OPTIMIZE=${OPTIMIZE:-"-O1"}
+ OPTIMIZE=${OPTIMIZE:-"-O2"}
fi
# Thunderbird has been requiring more and more memory, especially while linking
@@ -101,27 +101,30 @@ fi
if [ "$(uname -m)" = "x86_64" -a "$(file -L /usr/bin/gcc | grep 80386 | grep 32-bit)" != "" ]; then
COMPILE_X86_UNDER_X86_64=true
ARCH=i686
- # Also use the gold linker for this:
- PATH="$(pwd)/gold:$PATH"
- export CC=${CC:-"gcc -B$(pwd)/gold"}
- export CXX=${CXX:-"g++ -B$(pwd)/gold"}
-elif [ "$ARCH" = "i686" ]; then
- # This might also help with the linker memory situation on some $ARCH. Feel free
- # to match any other $ARCH that could benefit from this.
- SLKLDFLAGS=" -Wl,--as-needed -Wl,--reduce-memory-overheads -Wl,--no-keep-memory -Wl,--stats"
- export LDFLAGS="$SLKLDFLAGS"
- export MOZ_LINK_FLAGS="$SLKLDFLAGS"
-else
- # Link using gold. This also helps prevent running out of memory on 32-bit
- # systems, and avoids a recurring build failure with GNU ld on other systems.
- PATH="$(pwd)/gold:$PATH"
- export CC=${CC:-"gcc -B$(pwd)/gold"}
- export CXX=${CXX:-"g++ -B$(pwd)/gold"}
fi
+# Choose a compiler (gcc/g++ or clang/clang++):
+export CC=${CC:-gcc}
+export CXX=${CXX:-g++}
+
+## Link using gold. This avoids running out of memory on 32-bit systems, and
+## avoids a recurring build failure with GNU ld on other systems.
+#PATH="$(pwd)/gold:$PATH"
+#export CC="$CC -B$(pwd)/gold"
+#export CXX="$CXX -B$(pwd)/gold"
+
+# Keep memory usage as low as possible when linking:
+SLKLDFLAGS=" -Wl,--as-needed -Wl,--no-keep-memory -Wl,--stats"
+export LDFLAGS="$SLKLDFLAGS"
+export MOZ_LINK_FLAGS="$SLKLDFLAGS"
+
+# If you don't give this _something_ then it defaults to -g, causing more
+# link time memory issues:
+export MOZ_DEBUG_FLAGS="-g0"
+
# Put Rust objects on a diet to keep the linker from running into memory
# issues (especially on 32-bit):
-export RUSTFLAGS="-Cdebuginfo=0"
+export RUSTFLAGS="-Cdebuginfo=0 -Copt-level=0"
TMP=${TMP:-/tmp}
PKG=$TMP/package-mozilla-thunderbird
@@ -142,9 +145,8 @@ NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
rm -rf $PKG
mkdir -p $TMP $PKG/usr/lib${LIBDIRSUFFIX}
-# We need to use the incredibly ancient autoconf-2.13 for this :/
-( cd $CWD/autoconf ; ./autoconf.build )
-PATH=$TMP/autoconf-tmp/usr/bin:$PATH
+# Build or unpack build-time dependencies:
+. build-deps.sh
cd $TMP
rm -rf thunderbird-$RELEASEVER
@@ -158,14 +160,17 @@ cd ..
rm -rf thunderbird-unpack
cd thunderbird-$RELEASEVER || exit 1
+# Delete object directory if it was mistakenly included in the tarball:
+rm -rf obj-x86_64-pc-linux-gnu
+
# Retain GTK+ v2 scrolling behavior:
-zcat $CWD/tb.ui.scrollToClick.diff.gz | patch -p2 --verbose || exit 1
+zcat $CWD/tb.ui.scrollToClick.diff.gz | patch -p1 --verbose || exit 1
# Fix building with latest Rust:
zcat $CWD/unbreakdocs.diff.gz | patch -p1 --verbose || exit 1
-# Fix for glibc-2.30's new gettid() definition:
-zcat $CWD/mozilla-thunderbird.gettid.diff.gz | patch -p1 --verbose || exit 1
+# Bypass a test that fails the build:
+zcat $CWD/gkrust.a.no.networking.check.diff.gz | patch -p1 --verbose || exit 1
# Fetch localization, if requested:
if [ ! -z $MOZLOCALIZE ]; then
@@ -179,7 +184,7 @@ fi
# Arch-dependent patches:
case "$ARCH" in
armv7hl) ARCH_CONFIG="--with-arch=armv7-a --with-float-abi=hard --with-fpu=vfpv3-d16 --disable-elf-hack"
- # Make firefox compile on ARM platforms lacking neon support:
+ # Make Thunderbird compile on ARM platforms lacking neon support:
zcat $CWD/mozilla-firefox.xpcom_arm.patch.gz | patch -p1 --verbose || exit 1
;;
*) ARCH_CONFIG=" "
@@ -272,6 +277,9 @@ echo "ac_add_options --disable-tests" >> .mozconfig
./mach buildsymbols || exit 1
DESTDIR=$PKG ./mach install || exit 1
+# Clean up the build time dependencies:
+rm -rf $TMP/mozilla-thunderbird-build-deps
+
# We don't need these (just symlinks anyway):
rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-devel-$RELEASEVER
diff --git a/source/xap/mozilla-thunderbird/mozilla-thunderbird.gettid.diff b/source/xap/mozilla-thunderbird/mozilla-thunderbird.gettid.diff
deleted file mode 100644
index 83d607a5..00000000
--- a/source/xap/mozilla-thunderbird/mozilla-thunderbird.gettid.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- ./tools/profiler/core/platform.h.orig 2019-07-03 10:25:38.000000000 -0500
-+++ ./tools/profiler/core/platform.h 2019-08-20 13:15:02.648307043 -0500
-@@ -47,7 +47,6 @@
- #if defined(__GLIBC__)
- #include <unistd.h>
- #include <sys/syscall.h>
--static inline pid_t gettid() { return (pid_t)syscall(SYS_gettid); }
- #elif defined(GP_OS_darwin)
- #include <unistd.h>
- #include <sys/syscall.h>
diff --git a/source/xap/mozilla-thunderbird/tb.ui.scrollToClick.diff b/source/xap/mozilla-thunderbird/tb.ui.scrollToClick.diff
index d3eb0e1e..3997ee63 100644
--- a/source/xap/mozilla-thunderbird/tb.ui.scrollToClick.diff
+++ b/source/xap/mozilla-thunderbird/tb.ui.scrollToClick.diff
@@ -1,12 +1,12 @@
---- ./mozilla/modules/libpref/init/all.js.orig 2017-06-12 15:12:08.000000000 -0500
-+++ ./mozilla/modules/libpref/init/all.js 2017-06-14 18:42:42.342920194 -0500
-@@ -235,6 +235,9 @@
+--- ./modules/libpref/init/all.js.orig 2019-08-26 16:32:16.000000000 -0500
++++ ./modules/libpref/init/all.js 2019-08-27 11:34:41.749716932 -0500
+@@ -258,6 +258,9 @@
// If true, all popups won't hide automatically on blur
pref("ui.popup.disable_autohide", false);
+// Default to GTK+ v2 type scrolling:
+pref("ui.scrollToClick", 0);
+
- pref("browser.display.use_document_fonts", 1); // 0 = never, 1 = quick, 2 = always
- // 0 = default: always, except in high contrast mode
- // 1 = always
+ #ifdef XP_MACOSX
+ pref("ui.touchbar.layout", "Back,Forward,Reload,OpenLocation,NewTab,Share");
+ #endif
diff --git a/source/xap/mozilla-thunderbird/unbreakdocs.diff b/source/xap/mozilla-thunderbird/unbreakdocs.diff
index b76dc71d..03d8e6b4 100644
--- a/source/xap/mozilla-thunderbird/unbreakdocs.diff
+++ b/source/xap/mozilla-thunderbird/unbreakdocs.diff
@@ -1,11 +1,5 @@
-
-https://lists.freebsd.org/pipermail/freebsd-gecko/2019-March/009206.html
-https://github.com/grahamperrin/Waterfox/pull/7/files
-
-
-diff -urN firefox-60.6.0_orig/servo/components/style/lib.rs firefox-60.6.0/servo/components/style/lib.rs
---- firefox-60.6.0_orig/servo/components/style/lib.rs 2019-03-13 21:33:48.000000000 +0000
-+++ firefox-60.6.0/servo/components/style/lib.rs 2019-03-20 13:06:18.611024453 +0000
+--- ./servo/components/style/lib.rs.orig 2019-07-05 20:44:35.000000000 -0500
++++ ./servo/components/style/lib.rs 2019-07-08 13:51:55.460242952 -0500
@@ -23,7 +23,7 @@
//! [cssparser]: ../cssparser/index.html
//! [selectors]: ../selectors/index.html
@@ -15,7 +9,7 @@ diff -urN firefox-60.6.0_orig/servo/components/style/lib.rs firefox-60.6.0/servo
extern crate app_units;
extern crate arrayvec;
-@@ -148,7 +148,7 @@
+@@ -196,7 +196,7 @@
/// Generated from the properties.mako.rs template by build.rs
#[macro_use]
#[allow(unsafe_code)]
@@ -24,15 +18,14 @@ diff -urN firefox-60.6.0_orig/servo/components/style/lib.rs firefox-60.6.0/servo
pub mod properties {
include!(concat!(env!("OUT_DIR"), "/properties.rs"));
}
-diff -urN firefox-60.6.0_orig/servo/components/style_traits/lib.rs firefox-60.6.0/servo/components/style_traits/lib.rs
---- firefox-60.6.0_orig/servo/components/style_traits/lib.rs 2019-03-13 21:33:48.000000000 +0000
-+++ firefox-60.6.0/servo/components/style_traits/lib.rs 2019-03-20 13:06:47.137024070 +0000
-@@ -9,7 +9,7 @@
+--- ./servo/components/style_traits/lib.rs.orig 2019-07-08 13:51:55.462242953 -0500
++++ ./servo/components/style_traits/lib.rs 2019-07-08 13:53:44.853249956 -0500
+@@ -8,7 +8,7 @@
+
#![crate_name = "style_traits"]
#![crate_type = "rlib"]
-
-#![deny(unsafe_code, missing_docs)]
+#![deny(unsafe_code)]
extern crate app_units;
- #[macro_use] extern crate bitflags;
+ #[macro_use]