From 600ffa097b517639d12b50c1800727c1e307aa6b Mon Sep 17 00:00:00 2001 From: Patrick J Volkerding Date: Wed, 12 Jul 2023 20:41:16 +0000 Subject: Wed Jul 12 20:41:16 UTC 2023 ap/inxi-3.3.28_1-noarch-1.txz: Upgraded. ap/sudo-1.9.14p1-x86_64-1.txz: Upgraded. d/rust-1.70.0-x86_64-1.txz: Upgraded. l/harfbuzz-8.0.1-x86_64-1.txz: Upgraded. l/lmdb-0.9.31-x86_64-1.txz: Upgraded. l/pipewire-0.3.74-x86_64-1.txz: Upgraded. n/krb5-1.21.1-x86_64-1.txz: Upgraded. Fix potential uninitialized pointer free in kadm5 XDR parsing. For more information, see: https://www.cve.org/CVERecord?id=CVE-2023-36054 (* Security fix *) n/libnftnl-1.2.6-x86_64-1.txz: Upgraded. n/nghttp2-1.55.0-x86_64-1.txz: Upgraded. n/openldap-2.6.5-x86_64-1.txz: Upgraded. x/ibus-table-1.17.1-x86_64-1.txz: Upgraded. x/xterm-384-x86_64-1.txz: Upgraded. xap/mozilla-firefox-115.0.2esr-x86_64-1.txz: Upgraded. This release contains security fixes and improvements. For more information, see: https://www.mozilla.org/en-US/firefox/115.0.2esr/releasenotes/ https://www.mozilla.org/security/advisories/mfsa2023-26/ https://www.cve.org/CVERecord?id=CVE-2023-3600 (* Security fix *) testing/packages/mozilla-thunderbird-115.0-x86_64-1.txz: Added. --- .../arc4random_buf.glibc-2.36.diff | 18 + .../autoconf-2.13-consolidated_fixes-1.patch | 504 +++++++++++++++++++++ .../mozilla-thunderbird/autoconf/autoconf.build | 81 ++++ testing/source/mozilla-thunderbird/build-deps.sh | 35 ++ .../autoconf-2.13-consolidated_fixes-1.patch | 504 +++++++++++++++++++++ .../build-deps/autoconf/autoconf.build | 75 +++ .../source/mozilla-thunderbird/double_t.x86.diff | 13 + testing/source/mozilla-thunderbird/gcc-13.patch | 10 + .../gkrust.a.no.networking.check.diff | 31 ++ .../mozilla-thunderbird.SlackBuild | 375 +++++++++++++++ .../mozilla-thunderbird.desktop | 84 ++++ testing/source/mozilla-thunderbird/slack-desc | 19 + .../mozilla-thunderbird/tb.ui.scrollToClick.diff | 12 + testing/source/rust/link_libffi.diff | 11 - testing/source/rust/rust.SlackBuild | 294 ------------ testing/source/rust/rust.url | 35 -- testing/source/rust/slack-desc | 19 - 17 files changed, 1761 insertions(+), 359 deletions(-) create mode 100644 testing/source/mozilla-thunderbird/arc4random_buf.glibc-2.36.diff create mode 100644 testing/source/mozilla-thunderbird/autoconf/autoconf-2.13-consolidated_fixes-1.patch create mode 100755 testing/source/mozilla-thunderbird/autoconf/autoconf.build create mode 100755 testing/source/mozilla-thunderbird/build-deps.sh create mode 100644 testing/source/mozilla-thunderbird/build-deps/autoconf/autoconf-2.13-consolidated_fixes-1.patch create mode 100755 testing/source/mozilla-thunderbird/build-deps/autoconf/autoconf.build create mode 100644 testing/source/mozilla-thunderbird/double_t.x86.diff create mode 100644 testing/source/mozilla-thunderbird/gcc-13.patch create mode 100644 testing/source/mozilla-thunderbird/gkrust.a.no.networking.check.diff create mode 100755 testing/source/mozilla-thunderbird/mozilla-thunderbird.SlackBuild create mode 100644 testing/source/mozilla-thunderbird/mozilla-thunderbird.desktop create mode 100644 testing/source/mozilla-thunderbird/slack-desc create mode 100644 testing/source/mozilla-thunderbird/tb.ui.scrollToClick.diff delete mode 100644 testing/source/rust/link_libffi.diff delete mode 100755 testing/source/rust/rust.SlackBuild delete mode 100644 testing/source/rust/rust.url delete mode 100644 testing/source/rust/slack-desc (limited to 'testing') diff --git a/testing/source/mozilla-thunderbird/arc4random_buf.glibc-2.36.diff b/testing/source/mozilla-thunderbird/arc4random_buf.glibc-2.36.diff new file mode 100644 index 000000000..d4131c0a2 --- /dev/null +++ b/testing/source/mozilla-thunderbird/arc4random_buf.glibc-2.36.diff @@ -0,0 +1,18 @@ +--- ./ipc/chromium/src/third_party/libevent/arc4random.c.orig 2022-08-04 14:57:57.000000000 -0500 ++++ ./ipc/chromium/src/third_party/libevent/arc4random.c 2022-08-06 14:40:21.569033657 -0500 +@@ -484,6 +484,7 @@ + } + #endif + ++#if 0 + ARC4RANDOM_EXPORT void + arc4random_buf(void *buf_, size_t n) + { +@@ -497,6 +498,7 @@ + } + ARC4_UNLOCK_(); + } ++#endif + + #ifndef ARC4RANDOM_NOUNIFORM + /* diff --git a/testing/source/mozilla-thunderbird/autoconf/autoconf-2.13-consolidated_fixes-1.patch b/testing/source/mozilla-thunderbird/autoconf/autoconf-2.13-consolidated_fixes-1.patch new file mode 100644 index 000000000..5e7b23113 --- /dev/null +++ b/testing/source/mozilla-thunderbird/autoconf/autoconf-2.13-consolidated_fixes-1.patch @@ -0,0 +1,504 @@ +Submitted By: Ken Moffat +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 </dev/null +@@ -1988,12 +1984,12 @@ + AC_MSG_CHECKING(size of $1) + AC_CACHE_VAL(AC_CV_NAME, + [AC_TRY_RUN([#include +-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 ' \ ++ '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 ++$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 + #include + ++#if HAVE_SYS_TYPES_H ++# include ++#endif ++ ++#if HAVE_STDLIB_H ++# include ++#endif ++ ++#if HAVE_SYS_STAT_H ++# include ++#endif ++ ++#if HAVE_UNISTD_H ++# include ++#endif ++ + /* This mess was copied from the GNU getpagesize.h. */ + #ifndef HAVE_GETPAGESIZE +-# ifdef HAVE_UNISTD_H +-# include +-# 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 <> $fgrep_tmp <&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/testing/source/mozilla-thunderbird/autoconf/autoconf.build b/testing/source/mozilla-thunderbird/autoconf/autoconf.build new file mode 100755 index 000000000..7dae1bad1 --- /dev/null +++ b/testing/source/mozilla-thunderbird/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 +# Firefox, 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/testing/source/mozilla-thunderbird/build-deps.sh b/testing/source/mozilla-thunderbird/build-deps.sh new file mode 100755 index 000000000..090876bdd --- /dev/null +++ b/testing/source/mozilla-thunderbird/build-deps.sh @@ -0,0 +1,35 @@ +#!/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 + +if /bin/ls build-deps*.txz 1> /dev/null 2> /dev/null ; then # use prebuilt + ( 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 +fi diff --git a/testing/source/mozilla-thunderbird/build-deps/autoconf/autoconf-2.13-consolidated_fixes-1.patch b/testing/source/mozilla-thunderbird/build-deps/autoconf/autoconf-2.13-consolidated_fixes-1.patch new file mode 100644 index 000000000..5e7b23113 --- /dev/null +++ b/testing/source/mozilla-thunderbird/build-deps/autoconf/autoconf-2.13-consolidated_fixes-1.patch @@ -0,0 +1,504 @@ +Submitted By: Ken Moffat +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 </dev/null +@@ -1988,12 +1984,12 @@ + AC_MSG_CHECKING(size of $1) + AC_CACHE_VAL(AC_CV_NAME, + [AC_TRY_RUN([#include +-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 ' \ ++ '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 ++$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 + #include + ++#if HAVE_SYS_TYPES_H ++# include ++#endif ++ ++#if HAVE_STDLIB_H ++# include ++#endif ++ ++#if HAVE_SYS_STAT_H ++# include ++#endif ++ ++#if HAVE_UNISTD_H ++# include ++#endif ++ + /* This mess was copied from the GNU getpagesize.h. */ + #ifndef HAVE_GETPAGESIZE +-# ifdef HAVE_UNISTD_H +-# include +-# 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 <> $fgrep_tmp <&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/testing/source/mozilla-thunderbird/build-deps/autoconf/autoconf.build b/testing/source/mozilla-thunderbird/build-deps/autoconf/autoconf.build new file mode 100755 index 000000000..b3bf16699 --- /dev/null +++ b/testing/source/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/testing/source/mozilla-thunderbird/double_t.x86.diff b/testing/source/mozilla-thunderbird/double_t.x86.diff new file mode 100644 index 000000000..12f04c378 --- /dev/null +++ b/testing/source/mozilla-thunderbird/double_t.x86.diff @@ -0,0 +1,13 @@ +--- ./modules/fdlibm/src/math_private.h.orig 2022-06-27 21:04:57.000000000 -0500 ++++ ./modules/fdlibm/src/math_private.h 2022-06-30 13:41:46.761170878 -0500 +@@ -30,8 +30,8 @@ + * Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t + */ + +-typedef double __double_t; +-typedef __double_t double_t; ++typedef long double __double_t; ++typedef long double double_t; + + /* + * The original fdlibm code used statements like: diff --git a/testing/source/mozilla-thunderbird/gcc-13.patch b/testing/source/mozilla-thunderbird/gcc-13.patch new file mode 100644 index 000000000..9ba326f52 --- /dev/null +++ b/testing/source/mozilla-thunderbird/gcc-13.patch @@ -0,0 +1,10 @@ +--- ./comm/third_party/rnp/src/libsexp/include/sexp/sexp-error.h.orig 2023-07-11 09:38:40.000000000 -0500 ++++ ./comm/third_party/rnp/src/libsexp/include/sexp/sexp-error.h 2023-07-12 14:04:52.783155779 -0500 +@@ -29,6 +29,7 @@ + + #pragma once + ++#include + #include + #include + #include diff --git a/testing/source/mozilla-thunderbird/gkrust.a.no.networking.check.diff b/testing/source/mozilla-thunderbird/gkrust.a.no.networking.check.diff new file mode 100644 index 000000000..115ba0e7a --- /dev/null +++ b/testing/source/mozilla-thunderbird/gkrust.a.no.networking.check.diff @@ -0,0 +1,31 @@ +--- ./config/makefiles/rust.mk.orig 2021-03-15 12:42:08.219987929 -0500 ++++ ./config/makefiles/rust.mk 2021-03-15 12:43:15.996984180 -0500 +@@ -332,17 +332,17 @@ + # the chance of proxy bypasses originating from rust code. + # The check only works when rust code is built with -Clto but without MOZ_LTO_RUST_CROSS. + # Sanitizers and sancov also fail because compiler-rt hooks network functions. +-ifndef MOZ_PROFILE_GENERATE +-ifeq ($(OS_ARCH), Linux) +-ifeq (,$(rustflags_sancov)$(MOZ_ASAN)$(MOZ_TSAN)$(MOZ_UBSAN)) +-ifndef MOZ_LTO_RUST_CROSS +-ifneq (,$(filter -Clto,$(cargo_rustc_flags))) +- $(call py_action,check_binary,--target --networking $@) +-endif +-endif +-endif +-endif +-endif ++#ifndef MOZ_PROFILE_GENERATE ++#ifeq ($(OS_ARCH), Linux) ++#ifeq (,$(rustflags_sancov)$(MOZ_ASAN)$(MOZ_TSAN)$(MOZ_UBSAN)) ++#ifndef MOZ_LTO_RUST_CROSS ++#ifneq (,$(filter -Clto,$(cargo_rustc_flags))) ++# $(call py_action,check_binary,--target --networking $@) ++#endif ++#endif ++#endif ++#endif ++#endif + + force-cargo-library-check: + $(call CARGO_CHECK) --lib $(cargo_target_flag) $(rust_features_flag) diff --git a/testing/source/mozilla-thunderbird/mozilla-thunderbird.SlackBuild b/testing/source/mozilla-thunderbird/mozilla-thunderbird.SlackBuild new file mode 100755 index 000000000..f21c3a0d2 --- /dev/null +++ b/testing/source/mozilla-thunderbird/mozilla-thunderbird.SlackBuild @@ -0,0 +1,375 @@ +#!/bin/bash + +# Copyright 2008, 2009, 2010, 2011, 2012, 2014, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 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. + +# Modified 2012 by Eric Hameleers for ARM port. + +# Thanks to the folks at the Mozilla Foundation for permission to +# distribute this, and for all the great work! :-) + +cd $(dirname $0) ; CWD=$(pwd) + +PKGNAM=mozilla-thunderbird +VERSION=$(basename $(ls thunderbird-*.tar.?z | cut -d - -f 2 | rev | cut -f 3- -d . | rev) .source) +RELEASEVER=$(echo $VERSION | cut -f 1 -d e | cut -f 1 -d b) +BUILD=${BUILD:-1} + +# Specify this variable for a localized build. +# For example, to build a version of Thunderbird with Italian support, run +# the build script like this: +# +# MOZLOCALIZE=it ./mozilla-thunderbird.SlackBuild +# +MOZLOCALIZE=${MOZLOCALIZE:-} + +# Without LANG=C, building the Python environment may fail with: +# "UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 36: ordinal not in range(128)" +LANG=C + +# Add a shell script to start the thunderbird binary with MOZ_ALLOW_DOWNGRADE=1 +# to avoid backing up (and disabling) the user profile if a browser downgrade +# is detected. If you want to build with the stock default behavior, set +# this to something other than "YES": +MOZ_ALLOW_DOWNGRADE=${MOZ_ALLOW_DOWNGRADE:-YES} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i686 ;; + armv7hl) export ARCH=armv7hl ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + if [ -z $MOZLOCALIZE ]; then + echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" + else + echo "$PKGNAM-$VERSION-$ARCH-${BUILD}_$MOZLOCALIZE.txz" + fi + exit 0 +fi + +# Thunderbird has been requiring more and more memory, especially while linking +# libxul. If it fails to build natively on x86 32-bit, it can be useful to +# attempt the build using an x86_64 kernel and a 32-bit userspace. Detect this +# situation and set the ARCH to i686. Later in the script we'll add some +# options to the .mozconfig so that the compile will do the right thing. +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 +fi + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-g0" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-g0" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-g0" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-g0 -fPIC" + LIBDIRSUFFIX="64" +elif [ "$ARCH" = "arm" ]; then + SLKCFLAGS="-g0 -march=armv4 -mtune=xscale" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "armel" ]; then + SLKCFLAGS="-g0 -march=armv4t" + LIBDIRSUFFIX="" +else + SLKCFLAGS="-g0" + LIBDIRSUFFIX="" +fi + +# Choose a compiler (gcc/g++ or clang/clang++): +export CC=${CC:-clang} +export CXX=${CXX:-clang++} + +# Set linker to use: +if [ "$CC" = "clang" -a "$(which lld 2> /dev/null)" = "/usr/bin/lld" ]; then + # Upstream default: + LINKER=lld +else + LINKER=bfd +fi + +# Keep memory usage as low as possible when linking: +if [ ! "$LINKER" = "lld" ]; then + SLKLDFLAGS=" -Wl,--as-needed -Wl,--no-keep-memory -Wl,--stats -Wl,--reduce-memory-overheads" + export LDFLAGS="$SLKLDFLAGS" + export MOZ_LINK_FLAGS="$SLKLDFLAGS" +fi + +# Put Rust objects on a diet to keep the linker from running into memory +# issues (especially on 32-bit): +export RUSTFLAGS="-Cdebuginfo=0" + +TMP=${TMP:-/tmp} +PKG=$TMP/package-mozilla-thunderbird + +# If there is a private Google API key available at compile time, use +# it to enable support for Google Safe Browsing. For Slackware builds, +# we use a private key issued for the Slackware project. If you are +# rebuilding and need this support, or you are producing your own +# distribution, you may obtain your own Google API key at no charge by +# following these instructions: +# https://bugzilla.mozilla.org/show_bug.cgi?id=1377987#c0 +if [ -r /root/google-api-key ]; then + GOOGLE_API_KEY="--with-google-safebrowsing-api-keyfile=/root/google-api-key" +fi + +NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} + +rm -rf $PKG +mkdir -p $TMP $PKG/usr/lib${LIBDIRSUFFIX} + +# Build or unpack build-time dependencies: +. ./build-deps.sh + +cd $TMP +rm -rf thunderbird-$RELEASEVER +# Unpack this in a subdirectory to prevent changing permissions on /tmp: +rm -rf thunderbird-unpack +mkdir thunderbird-unpack +cd thunderbird-unpack +echo "Extracting $CWD/thunderbird-$VERSION.source.tar.?z..." +tar xf $CWD/thunderbird-$VERSION.source.tar.?z || exit 1 +mv * .. +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 -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 + +# Fix header mismatch on x86 with GCC: +if [ "$ARCH" = "i686" -a "$CC" = "gcc" ]; then + zcat $CWD/double_t.x86.diff.gz | patch -p1 --verbose || exit 1 +fi + +# Don't define a function that's included starting in glibc-2.36: +zcat $CWD/arc4random_buf.glibc-2.36.diff.gz | patch -p1 --verbose || exit 1 + +# Fix build with gcc13: +zcat $CWD/gcc-13.patch.gz | patch -p1 --verbose || exit 1 + +# Fetch localization, if requested: +if [ ! -z $MOZLOCALIZE ]; then + LOC_TAG="THUNDERBIRD_$( echo $VERSION | tr \. _ )_RELEASE" + rm -f $LOC_TAG.tar.bz2 + wget https://hg.mozilla.org/releases/l10n/mozilla-release/$MOZLOCALIZE/archive/$LOC_TAG.tar.bz2 + tar xvf $LOC_TAG.tar.bz2 + mv $MOZLOCALIZE-$LOC_TAG $MOZLOCALIZE +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" + ;; + *) ARCH_CONFIG=" " + ;; +esac + +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 {} \+ + +# Our building options, in a configure-like display ;) +OPTIONS="\ + --enable-official-branding \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --with-system-zlib \ + --with-system-nss \ + --with-system-nspr \ + --enable-alsa \ + --with-unsigned-addon-scopes=app,system \ + --without-wasm-sandboxed-libraries \ + --allow-addon-sideload \ + --enable-application=comm/mail \ + --enable-default-toolkit=cairo-gtk3-wayland \ + --enable-linker=$LINKER \ + --disable-strip \ + --disable-install-strip \ + --enable-cpp-rtti \ + --enable-accessibility \ + --enable-optimize \ + $GOOGLE_API_KEY \ + --disable-crashreporter \ + --disable-debug-symbols \ + --disable-debug \ + --disable-elf-hack \ + --disable-tests \ + --disable-updater \ + --host=$ARCH-slackware-linux \ + --target=$ARCH-slackware-linux" + # Complains about missing APNG support in Slackware's libpng: + #--with-system-png \ + # Broken with 12.0: + #--enable-system-cairo \ +if [ ! -z $MOZLOCALIZE ]; then + OPTIONS=$OPTIONS" \ + --enable-ui-locale=$MOZLOCALIZE + --with-l10n-base=.." + # There are no dictionaries in localized builds + sed -i \ + -e "/@BINPATH@\/dictionaries\/\*/d" \ + -e "/@RESPATH@\/dictionaries\/\*/d" \ + mail/installer/package-manifest.in || exit 1 +fi + +export MACH_USE_SYSTEM_PYTHON="1" +export BUILD_OFFICIAL=1 +export MOZILLA_OFFICIAL=1 +export MOZ_PHOENIX=1 +export CFLAGS="$SLKCFLAGS" +export CXXFLAGS="$SLKCFLAGS" +export MOZ_MAKE_FLAGS="$NUMJOBS" +# Set the following variable to empty. =0 does not work. +export MOZ_REQUIRE_SIGNING= +export MOZBUILD_STATE_PATH="$TMP/thunderbird-$RELEASEVER/.mozbuild" + +# Clear some variables that could break the build +unset DBUS_SESSION_BUS_ADDRESS ORBIT_SOCKETDIR SESSION_MANAGER \ + XDG_SESSION_COOKIE XAUTHORITY MAKEFLAGS + +# Assemble our .mozconfig: +echo > .mozconfig + +# Tell .mozconfig about the selected compiler: +echo "export CC=\"${CC}\"" >> .mozconfig +echo "export CXX=\"${CXX}\"" >> .mozconfig + +# Mozilla devs enforce using an objdir for building +# https://developer.mozilla.org/en/Configuring_Build_Options#Building_with_an_objdir +mkdir obj +echo "mk_add_options MOZ_OBJDIR=$(pwd)/obj" >> .mozconfig +# This directory is also needed or the build will fail: +mkdir -p mozilla/obj + +if [ "$COMPILE_X86_UNDER_X86_64" = "true" ]; then + # Compile for i686 under an x86_64 kernel: + echo "ac_add_options --host=i686-pc-linux-gnu" >> .mozconfig + echo "ac_add_options --target=i686-pc-linux-gnu" >> .mozconfig +fi + +# Add the $OPTIONS above to .mozconfig: +for option in $OPTIONS; do echo "ac_add_options $option" >> .mozconfig; done + +# Do a standard build: +./mach build || exit 1 +./mach buildsymbols || exit 1 +DESTDIR=$PKG ./mach install || exit 1 + +# Strip binaries: +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +## 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 + +# Nor these: +rm -rf $PKG/usr/include + +# Thunderbird 3.x cruft? +# If we still need something like this (and you know what we need :), let me know. +#( cd $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION +# cp -a defaults/profile/mimeTypes.rdf defaults/profile/mimeTypes.rdf.orig +# zcat $CWD/mimeTypes.rdf > defaults/profile/mimeTypes.rdf || exit 1 +#) || exit 1 + +mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins +mkdir -p $PKG/usr/share/applications +cat $CWD/mozilla-thunderbird.desktop > $PKG/usr/share/applications/mozilla-thunderbird.desktop +mkdir -p $PKG/usr/share/pixmaps +# Symlinked below. +#cat $CWD/thunderbird.png > $PKG/usr/share/pixmaps/thunderbird.png + +# Need some default icons in the right place: +for i in 16 22 24 32 48 256; do + install -m 0644 -D comm/mail/branding/thunderbird/default${i}.png \ + $PKG/usr/share/icons/hicolor/${i}x${i}/apps/thunderbird.png +done +mkdir -p $PKG/usr/share/pixmaps +( cd $PKG/usr/share/pixmaps ; ln -sf /usr/share/icons/hicolor/256x256/apps/thunderbird.png . ) +mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/thunderbird-$RELEASEVER/chrome/icons/default +install -m 644 other-licenses/branding/thunderbird/mailicon16.png \ + $PKG/usr/lib$LIBDIRSUFFIX/thunderbird-$RELEASEVER/icons/ +install -m 644 other-licenses/branding/thunderbird/mailicon16.png \ + $PKG/usr/lib$LIBDIRSUFFIX/thunderbird-$RELEASEVER/chrome/icons/default/ + +# Copy over the LICENSE +install -p -c -m 644 LICENSE $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$RELEASEVER/ + +# If MOZ_ALLOW_DOWNGRADE=YES, replace the /usr/bin/thunderbird symlink with a +# shell script that sets the MOZ_ALLOW_DOWNGRADE=1 environment variable so +# that a detected downgrade does not reset the user profile: +if [ "$MOZ_ALLOW_DOWNGRADE" = "YES" ]; then + rm -f $PKG/usr/bin/thunderbird + cat << EOF > $PKG/usr/bin/thunderbird +#!/bin/sh +# +# Shell script to start Mozilla Thunderbird. +# +# Don't reset the user profile on a detected downgrade: +export MOZ_ALLOW_DOWNGRADE=1 + +# Start Thunderbird: +exec /usr/lib${LIBDIRSUFFIX}/thunderbird/thunderbird "\$@" +EOF + chown root:root $PKG/usr/bin/thunderbird + chmod 755 $PKG/usr/bin/thunderbird +fi + +# Fix duplicate binary, https://bugzilla.mozilla.org/show_bug.cgi?id=658850 +( cd $PKG/usr/lib$LIBDIRSUFFIX/thunderbird + if cmp thunderbird thunderbird-bin ; then + ln -sf thunderbird-bin thunderbird + fi +) + +mkdir $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +if [ -z $MOZLOCALIZE ]; then + /sbin/makepkg -l y -c n $TMP/mozilla-thunderbird-$VERSION-$ARCH-$BUILD.txz +else + /sbin/makepkg -l y -c n $TMP/mozilla-thunderbird-$VERSION-$ARCH-${BUILD}_$MOZLOCALIZE.txz +fi diff --git a/testing/source/mozilla-thunderbird/mozilla-thunderbird.desktop b/testing/source/mozilla-thunderbird/mozilla-thunderbird.desktop new file mode 100644 index 000000000..0f85ecbe1 --- /dev/null +++ b/testing/source/mozilla-thunderbird/mozilla-thunderbird.desktop @@ -0,0 +1,84 @@ +[Desktop Entry] +Encoding=UTF-8 +Exec=thunderbird +Icon=/usr/share/pixmaps/thunderbird.png +Type=Application +Categories=Application;Network; +Name=Thunderbird +Name[bn]=থাণ্ডারবার্ড +Name[eo]=Mozilo Tondrobirdo +Name[fi]=Mozilla Thunderbird +Name[pa]=ਥੰਡਰਬਰਡ +Name[tg]=Паррандаи бало +GenericName=Mail Client +GenericName[af]=Pos Kliënt +GenericName[ar]=البريد الألكتروني +GenericName[az]=Poçt Alıcısı +GenericName[be]=Паштовы кліент +GenericName[bg]=Пощенски клиент +GenericName[bn]=ইমেইল ক্লায়েন্ট +GenericName[br]=Arval postel +GenericName[bs]=Program za čitanje elektronske pošte +GenericName[ca]=Client de correu electrònic +GenericName[cs]=Klient pro čtení elektronické pošty +GenericName[cy]=Dibynnydd Ebost +GenericName[da]=E-mail-klient +GenericName[de]=E-Mail-Programm +GenericName[el]=Πελάτης mail +GenericName[eo]=Legi kaj sendi retpoŝton +GenericName[es]=Cliente de correo electrónico +GenericName[et]=Meiliklient +GenericName[eu]=Posta bezeroa +GenericName[fa]=کارگیر پست الکترونیکی +GenericName[fi]=Sähköpostiohjelma +GenericName[fo]=Postforrit +GenericName[fr]=Logiciel de messagerie électronique +GenericName[ga]=Cliant Ríomhphoist +GenericName[gl]=Cliente de correo +GenericName[he]=תוכנית דואר +GenericName[hi]=डाकिया +GenericName[hr]=Program za čitanje elektronske pošte +GenericName[hu]=Levelezőprogram +GenericName[id]=Klien Mail +GenericName[is]=Póstforrit +GenericName[it]=Programma di posta elettronica +GenericName[ja]=メールクライアント +GenericName[ko]=편지를 주고 받는 프로그램 +GenericName[lo]=ໄຄແເອັນຈົດຫມາຍເອເລັກໂຕນິກ +GenericName[lt]=Pašto klientas +GenericName[lv]=Pasta Klients +GenericName[mk]=Програма за електронска пошта +GenericName[mn]=Э-Захиа-Програм +GenericName[mt]=Klijent tal-imejl +GenericName[nb]=E-postklient +GenericName[nds]=Mailprogramm +GenericName[nl]=E-mailclient +GenericName[nn]=Lesing og sending av e-post +GenericName[nso]=Moreki wa Poso +GenericName[oc]=Programari de correu electrònic +GenericName[pa]=ਪੱਤਰ ਕਲਾਂਇਟ +GenericName[pl]=Program do wysyłania i odbierania poczty elektronicznej +GenericName[pt]=Client de E-mail +GenericName[pt_BR]=Cliente de E-mail +GenericName[ro]=Program de poştă electronică +GenericName[ru]=Клиент электронной почты +GenericName[se]=Boastaprográmma +GenericName[sk]=Klient elektronickej pošty +GenericName[sl]=Program za e-pošto +GenericName[sr]=Програм за e-пошту +GenericName[sr@Latn]=Program za e-poštu +GenericName[ss]=Likhasimende leliposi +GenericName[sv]=E-postklient +GenericName[ta]=அஞ்சல் உறுப்பினர் +GenericName[tg]=Коргири почтаи эллектроникӣ +GenericName[th]=ไคลเอนต์จดหมายอิเล็กทรอนิกส์ +GenericName[tr]=Posta İstemcisi +GenericName[uk]=Клієнт електронної пошти +GenericName[uz]=Хат-хабар клиенти +GenericName[ven]=Mushumisani na poso +GenericName[wa]=Cliyint d' emilaedje +GenericName[xh]=Umxhasi Weposi +GenericName[zh_CN]=邮件程序 +GenericName[zh_TW]=郵件處理程式 +GenericName[zu]=Umxhasi weposi +X-KDE-StartupNotify=true diff --git a/testing/source/mozilla-thunderbird/slack-desc b/testing/source/mozilla-thunderbird/slack-desc new file mode 100644 index 000000000..4c8b4f063 --- /dev/null +++ b/testing/source/mozilla-thunderbird/slack-desc @@ -0,0 +1,19 @@ +# 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------------------------------------------------------| +mozilla-thunderbird: mozilla-thunderbird (Mozilla Thunderbird mail application) +mozilla-thunderbird: +mozilla-thunderbird: Mozilla Thunderbird is a redesign of the Mozilla mail component +mozilla-thunderbird: written using the XUL user interface language. Thunderbird makes +mozilla-thunderbird: emailing safer, faster, and easier than ever before with the +mozilla-thunderbird: industry's best implementations of features such as intelligent spam +mozilla-thunderbird: filters, built-in RSS reader, quick search, and much more. +mozilla-thunderbird: +mozilla-thunderbird: Homepage: http://www.mozilla.org/projects/thunderbird/ +mozilla-thunderbird: +mozilla-thunderbird: diff --git a/testing/source/mozilla-thunderbird/tb.ui.scrollToClick.diff b/testing/source/mozilla-thunderbird/tb.ui.scrollToClick.diff new file mode 100644 index 000000000..3997ee633 --- /dev/null +++ b/testing/source/mozilla-thunderbird/tb.ui.scrollToClick.diff @@ -0,0 +1,12 @@ +--- ./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); ++ + #ifdef XP_MACOSX + pref("ui.touchbar.layout", "Back,Forward,Reload,OpenLocation,NewTab,Share"); + #endif diff --git a/testing/source/rust/link_libffi.diff b/testing/source/rust/link_libffi.diff deleted file mode 100644 index dd5a3e0f0..000000000 --- a/testing/source/rust/link_libffi.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- ./compiler/rustc_llvm/build.rs.orig 2020-11-16 08:01:53.000000000 -0600 -+++ ./compiler/rustc_llvm/build.rs 2020-11-19 13:46:21.222785372 -0600 -@@ -234,6 +234,8 @@ - println!("cargo:rustc-link-lib={}={}", kind, name); - } - -+ println!("cargo:rustc-link-lib=dylib=ffi"); -+ - // LLVM ldflags - // - // If we're a cross-compile of LLVM then unfortunately we can't trust these diff --git a/testing/source/rust/rust.SlackBuild b/testing/source/rust/rust.SlackBuild deleted file mode 100755 index b36eefbcc..000000000 --- a/testing/source/rust/rust.SlackBuild +++ /dev/null @@ -1,294 +0,0 @@ -#!/bin/bash - -# Copyright 2017 Andrew Clemons, Wellington, New Zealand -# Copyright 2017, 2018, 2019, 2020, 2021, 2022 Patrick J. Volkerding, Sebeka, Minnesota, USA -# Copyright 2017 Stuart Winter -# 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. - -cd $(dirname $0) ; CWD=$(pwd) - -PKGNAM=rust -SRCNAM="${PKGNAM}c" -VERSION=${VERSION:-1.70.0} -BUILD=${BUILD:-1} - -# Set this to YES to build with the system LLVM, or NO to use the bundled LLVM. -# YES is probably better (when it works...) -SYSTEM_LLVM=${SYSTEM_LLVM:-NO} - -# Bootstrap variables (might not be kept updated for latest Rust): -RSTAGE0_VERSION=${RSTAGE0_VERSION:-1.69.0} -RSTAGE0_DIR=${RSTAGE0_DIR:-2023-04-20} -CSTAGE0_VERSION=${CSTAGE0_VERSION:-1.69.0} -CSTAGE0_DIR=${CSTAGE0_DIR:-$RSTAGE0_DIR} - -# Automatically determine the architecture we're building on: -MARCH=$( uname -m ) -if [ -z "$ARCH" ]; then - case "$MARCH" in - i?86) export ARCH=i686 ;; - armv7hl) export ARCH=$MARCH ;; - arm*) export ARCH=arm ;; - # Unless $ARCH is already set, use uname -m for all other archs: - *) export ARCH=$MARCH ;; - esac -fi -unset MARCH - -# For compiling i686 under an x86_64 kernel: -if [ "$(uname -m)" = "x86_64" -a "$(file -L /usr/bin/gcc | grep 80386 | grep 32-bit)" != "" ]; then - ARCH=i686 -fi - -# If the variable PRINT_PACKAGE_NAME is set, then this script will report what -# the name of the created package would be, and then exit. This information -# could be useful to other scripts. -if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then - echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" - exit 0 -fi - -# If the bootstrap binaries are present, use those. Otherwise bootstrap from -# installed compiler. -if /bin/ls *-unknown-linux-gnu.tar.?z 1> /dev/null 2> /dev/null ; then - LOCAL_BOOTSTRAP=no -else - LOCAL_BOOTSTRAP=yes -fi - -# https://forge.rust-lang.org/platform-support.html -# Bootstrapping ARCH: -if [ "$ARCH" = "i586" ]; then - if [ "$LOCAL_BOOTSTRAP" = "yes" ] ; then - if rustc -Vv | grep host | grep i586 > /dev/null ; then - BARCH="$ARCH" - else - BARCH="i686" - if case "$( uname -m )" in i586) true ;; *) false ;; esac ; then - echo "rust must be bootstrapped from an i686 machine" - exit 1 - fi - fi - else - # i586 must be built on a i686 machine, since the bootstrap compiler is i686 - BARCH="i686" - if case "$( uname -m )" in i586) true ;; *) false ;; esac ; then - echo "rust must be bootstrapped from an i686 machine" - exit 1 - fi - fi - TARCH="$ARCH" -elif [ "$ARCH" = "armv7hl" ]; then - BARCH="armv7" - TARCH="$BARCH" -else - BARCH="$ARCH" - TARCH="$ARCH" -fi - -# Bootstrapping ABI: -if [ "$ARCH" = "armv7hl" ]; then - BABI="gnueabihf" -else - BABI="gnu" -fi - -TMP=${TMP:-/tmp} -OUTPUT=${OUTPUT:-$TMP} -PKG=$TMP/package-$PKGNAM - -# Not needed, as the build will automatically use as many jobs as there are -# threads. -#NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} - -if [ "$ARCH" = "i586" ]; then - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - LIBDIRSUFFIX="64" -elif [ "$ARCH" = "armv7hl" ]; then - LIBDIRSUFFIX="" -else - LIBDIRSUFFIX="" -fi - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $SRCNAM-$VERSION-src -tar xvf $CWD/$SRCNAM-$VERSION-src.tar.?z || exit 1 -cd $SRCNAM-$VERSION-src || exit 1 - -# Link with -lffi in case of using system LLVM: -if [ "${SYSTEM_LLVM}" = "YES" ]; then - zcat $CWD/link_libffi.diff.gz | patch -p1 --verbose || exit 1 -fi - -if [ "$LOCAL_BOOTSTRAP" != "yes" ] ; then - # rust requires bootstrapping with the previous rust version. - # versions are defined in src/stage0.txt. - mkdir -p build/cache/$RSTAGE0_DIR - cp $CWD/$PKGNAM-std-$RSTAGE0_VERSION-$BARCH-unknown-linux-gnu.tar.?z \ - $CWD/$SRCNAM-$RSTAGE0_VERSION-$BARCH-unknown-linux-gnu.tar.?z \ - build/cache/$RSTAGE0_DIR - mkdir -p build/cache/$CSTAGE0_DIR - cp $CWD/cargo-$CSTAGE0_VERSION-$BARCH-unknown-linux-gnu.tar.?z build/cache/$CSTAGE0_DIR -fi - -# Build configuration: -cat << EOF > config.toml -[llvm] -ccache = "/usr/bin/ccache" -link-shared = true - -[build] -build = "$BARCH-unknown-linux-$BABI" -host = ["$TARCH-unknown-linux-$BABI"] -target = ["$TARCH-unknown-linux-$BABI"] -tools = ["analysis", "cargo", "clippy", "rls", "rustfmt", "src"] -submodules = false -vendor = true -extended = true - -[install] -prefix = "/usr" -docdir = "doc/rust-$VERSION" -libdir = "lib$LIBDIRSUFFIX" -mandir = "man" - -[rust] -codegen-units = 0 -channel = "stable" -rpath = false -codegen-tests = false - -EOF - -if [ "${SYSTEM_LLVM}" = "YES" ]; then - cat << EOF >> config.toml -# Add this stuff to build with the system LLVM: -[target.i586-unknown-linux-gnu] -llvm-config = "/usr/bin/llvm-config" - -[target.i686-unknown-linux-gnu] -llvm-config = "/usr/bin/llvm-config" - -[target.x86_64-unknown-linux-gnu] -llvm-config = "/usr/bin/llvm-config" - -[target.armv7-unknown-linux-gnueabihf] -llvm-config = "/usr/bin/llvm-config" -EOF -fi - -if [ "$LOCAL_BOOTSTRAP" = "yes" ] ; then - sed -i "s|^\(extended = true\)$|\1\nrustc = \"/usr/bin/rustc\"\ncargo = \"/usr/bin/cargo\"|" config.toml -fi - -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \+ -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+ - -export PKG_CONFIG_ALLOW_CROSS=1 - -if [ "$BARCH" = "i586" ] ; then - # when bootstrapping from i586 (rust already installed), also build a i686 - # rustlib: - sed -i 's/^target =.*$/target = ["i686-unknown-linux-gnu"]/' config.toml -elif [ "$BARCH" = "i686" ] ; then - if [ "$TARCH" = "i586" ] ; then - # this will cause some messages like: - # warning: redundant linker flag specified for library `m` - # but will keep the build from falling over when doing the stage1 compiler - # linking for the i586 compiler. seems the correct flags don't get passed - # through and we end up failures like: - # error: linking with `clang` failed: exit code: 1 - # /tmp/SBo/rustc-1.20.0-src/build/i686-unknown-linux-gnu/stage1-rustc/i586-unknown-linux-gnu/release/deps/librustc_llvm-4ab259c9aed547db.so: undefined reference to `xxx` - export RUSTFLAGS="$RUSTFLAGS -C link-args=-lrt -ldl -lcurses -lpthread -lz -lm" - fi -fi - -# Build and install: -python3 ./x.py build || exit 1 -DESTDIR=$PKG python3 x.py install || exit 1 - -# Eh, none of this is all that big. Might as well leave it around as a -# reference. -#rm -f $PKG/usr/lib$LIBDIRSUFFIX/rustlib/components -#rm -f $PKG/usr/lib$LIBDIRSUFFIX/rustlib/install.log -#rm -f $PKG/usr/lib$LIBDIRSUFFIX/rustlib/manifest-* -#rm -f $PKG/usr/lib$LIBDIRSUFFIX/rustlib/rust-installer-version -#rm -f $PKG/usr/lib$LIBDIRSUFFIX/rustlib/uninstall.sh -# Make sure the paths are correct, though: -sed -i "s,/tmp/package-rust/,/,g" $PKG/usr/lib$LIBDIRSUFFIX/rustlib/install.log $PKG/usr/lib$LIBDIRSUFFIX/rustlib/manifest-* -# And a little compression doesn't hurt either: -gzip -9 $PKG/usr/lib$LIBDIRSUFFIX/rustlib/manifest-* - -# Move bash completions to the system location: -if [ -d $PKG/etc/bash_completion.d ]; then - mkdir -p $PKG/usr/share/bash-completion - mv $PKG/etc/bash_completion.d $PKG/usr/share/bash-completion/completions - rmdir $PKG/etc 2> /dev/null -fi - -# Correct permissions on shared libraries: -find $PKG/usr/lib$LIBDIRSUFFIX -name "*.so" -exec chmod 755 "{}" \+ - -# Evidently there are a lot of duplicated libraries in this tree, so let's -# try to save some space: -( cd $PKG/usr/lib${LIBDIRSUFFIX}/rustlib/*-linux-gnu/lib && for file in *.so ; do if cmp -s $file ../../../$file ; then ln -sf ../../../$file .; fi; done ) - -# Strip ELF objects: -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -# Get rid of a possible duplicated libLLVM. Not only is it large, but it also -# throws an error at boot with ldconfig: -rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libLLVM-*.so.old - -# Commented out (for now) since we disable rpaths in config.toml: -## Remove any compiled-in RPATHs: -#find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ -# | cut -f 1 -d : | while read elfobject ; do -# patchelf --remove-rpath $elfobject || exit 1 -#done - -# Compress man pages: -find $PKG/usr/man -type f -exec gzip -9 {} \+ -for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done - -# Add some documentation: -mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION -cp -a *.md COPYRIGHT* COPYING* LICENSE* $PKG/usr/doc/$PKGNAM-$VERSION -# Include licenses from third party vendors: -mkdir $PKG/usr/doc/$PKGNAM-$VERSION/vendor -( cd vendor - tar cf - $(find . -maxdepth 2 | grep -e README -e LICENSE -e COPYING -e CHANGELOG -e PERFORMANCE -e UPGRADE ) | ( cd $PKG/usr/doc/$PKGNAM-$VERSION/vendor ; tar xf - ) -) - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PKGNAM-$VERSION-$ARCH-$BUILD.txz diff --git a/testing/source/rust/rust.url b/testing/source/rust/rust.url deleted file mode 100644 index 98cc2f672..000000000 --- a/testing/source/rust/rust.url +++ /dev/null @@ -1,35 +0,0 @@ -# Source code (repacked to .tar.lz): -VERSION=1.70.0 -rm -f rustc-${VERSION}-src.tar.* -lftpget https://static.rust-lang.org/dist/rustc-${VERSION}-src.tar.gz -lftpget https://static.rust-lang.org/dist/rustc-${VERSION}-src.tar.gz.asc -if gpg --verify rustc-${VERSION}-src.tar.gz.asc ; then - rm -f rustc-${VERSION}-src.tar.gz.asc - gzip -d rustc-*tar.gz - plzip -9 -v rustc-*tar -else - echo "FATAL ERROR: Not recompressing since GPG signature failed." - exit 1 -fi - -# Please note that the bootstrap binary packages listed below might not be kept -# updated for later versions. The Rust compiler as shipped with Slackware -# should be able to compile the next released version of Rust. -# -# To find the expected date/versions for bootstrap binaries to be able to -# update the settings below, look at src/stage0.json in the Rust sources. -exit 0 - -BOOTSTRAP_DATE=2023-04-20 -BOOTSTRAP_VERSION=1.69.0 -BOOTSTRAP_CARGO=$BOOTSTRAP_VERSION - -# i686 bootstrap: -lftpget https://static.rust-lang.org/dist/${BOOTSTRAP_DATE}/cargo-${BOOTSTRAP_CARGO}-i686-unknown-linux-gnu.tar.xz -lftpget https://static.rust-lang.org/dist/${BOOTSTRAP_DATE}/rust-std-${BOOTSTRAP_VERSION}-i686-unknown-linux-gnu.tar.xz -lftpget https://static.rust-lang.org/dist/${BOOTSTRAP_DATE}/rustc-${BOOTSTRAP_VERSION}-i686-unknown-linux-gnu.tar.xz - -# x86_64 bootstrap: -lftpget https://static.rust-lang.org/dist/${BOOTSTRAP_DATE}/cargo-${BOOTSTRAP_CARGO}-x86_64-unknown-linux-gnu.tar.xz -lftpget https://static.rust-lang.org/dist/${BOOTSTRAP_DATE}/rust-std-${BOOTSTRAP_VERSION}-x86_64-unknown-linux-gnu.tar.xz -lftpget https://static.rust-lang.org/dist/${BOOTSTRAP_DATE}/rustc-${BOOTSTRAP_VERSION}-x86_64-unknown-linux-gnu.tar.xz diff --git a/testing/source/rust/slack-desc b/testing/source/rust/slack-desc deleted file mode 100644 index 924b1907e..000000000 --- a/testing/source/rust/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 ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -rust: rust (a safe, concurrent, practical language) -rust: -rust: Rust is a curly-brace, block-structured expression language. -rust: Its design is oriented toward concerns of "programming in the large", -rust: that is, of creating and maintaining boundaries - both abstract and -rust: operational - that preserve large-system integrity, availability, -rust: and concurrency. -rust: -rust: Homepage: https://rust-lang.org -rust: -rust: -- cgit v1.2.3-80-g2a13