Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] Thunderbird 78.5.1
@ 2020-12-03  0:43 ericonr
  2020-12-03  0:44 ` [PR PATCH] [Updated] " ericonr
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: ericonr @ 2020-12-03  0:43 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 539 bytes --]

There is a new pull request by ericonr against master on the void-packages repository

https://github.com/ericonr/void-packages thundernew
https://github.com/void-linux/void-packages/pull/26896

Thunderbird 78.5.1
Still seeing if cross compilation reaches the end successfully.

Would appreciate testers.

Have launched on x86_64-musl, but I'm not on the device that uses thunderbird, so I haven't logged in yet.

Based on and closes #24509 

A patch file from https://github.com/void-linux/void-packages/pull/26896.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-thundernew-26896.patch --]
[-- Type: text/x-diff, Size: 36032 bytes --]

From c082dcc48704eb9f07e06e5c5190230ec7d48663 Mon Sep 17 00:00:00 2001
From: mmnmnnmnmm <45293514+mmnmnnmnmm@users.noreply.github.com>
Date: Wed, 2 Dec 2020 16:30:22 -0300
Subject: [PATCH 1/2] thunderbird: update to 78.5.1.

Closes: #24509 [via git-merge-pr]
---
 srcpkgs/thunderbird/files/mozconfig           | 10 +--
 srcpkgs/thunderbird/files/thunderbird-wayland |  2 +
 .../patches/fix-i686-ppc-musl.patch           |  8 +-
 srcpkgs/thunderbird/patches/fix-musl.patch    | 11 ---
 .../patches/fix-sandbox-membarrier.patch      | 52 ------------
 .../thunderbird/patches/fix-seccomp-bpf.patch | 14 ----
 srcpkgs/thunderbird/patches/fix-toolkit.patch | 78 ------------------
 srcpkgs/thunderbird/patches/fix-tools.patch   | 17 ----
 .../thunderbird/patches/ppc32-fix-build.patch | 36 +++++++++
 .../patches/ppc32-skia-portable.patch         | 14 ----
 .../thunderbird/patches/rust-configure.patch  | 15 ++--
 .../thunderbird/patches/rust-glslopt.patch    | 13 +++
 .../thunderbird/patches/rust-has-i128.patch   | 21 +++++
 .../thunderbird/patches/sandbox-fork.patch    | 13 +++
 srcpkgs/thunderbird/patches/sndio.patch       | 81 +++++--------------
 srcpkgs/thunderbird/template                  | 65 +++++++--------
 16 files changed, 151 insertions(+), 299 deletions(-)
 create mode 100644 srcpkgs/thunderbird/files/thunderbird-wayland
 delete mode 100644 srcpkgs/thunderbird/patches/fix-musl.patch
 delete mode 100644 srcpkgs/thunderbird/patches/fix-sandbox-membarrier.patch
 delete mode 100644 srcpkgs/thunderbird/patches/fix-seccomp-bpf.patch
 delete mode 100644 srcpkgs/thunderbird/patches/fix-toolkit.patch
 create mode 100644 srcpkgs/thunderbird/patches/ppc32-fix-build.patch
 delete mode 100644 srcpkgs/thunderbird/patches/ppc32-skia-portable.patch
 create mode 100644 srcpkgs/thunderbird/patches/rust-glslopt.patch
 create mode 100644 srcpkgs/thunderbird/patches/rust-has-i128.patch
 create mode 100644 srcpkgs/thunderbird/patches/sandbox-fork.patch

diff --git a/srcpkgs/thunderbird/files/mozconfig b/srcpkgs/thunderbird/files/mozconfig
index 334846e9a64..ed6cfb244cb 100644
--- a/srcpkgs/thunderbird/files/mozconfig
+++ b/srcpkgs/thunderbird/files/mozconfig
@@ -3,7 +3,6 @@ ac_add_options --libdir=/usr/lib
 
 ac_add_options --with-system-nspr
 ac_add_options --with-system-nss
-ac_add_options --with-system-bz2
 ac_add_options --with-system-jpeg
 ac_add_options --with-system-zlib
 ac_add_options --with-system-libevent
@@ -12,12 +11,8 @@ ac_add_options --with-system-icu
 # XXX: the system's libpng doesn't have APNG support
 ac_add_options --without-system-png
 ac_add_options --enable-system-pixman
-ac_add_options --enable-system-sqlite
 ac_add_options --enable-system-ffi
 
-ac_add_options --with-nspr-prefix=${XBPS_CROSS_BASE}/usr
-ac_add_options --with-nss-prefix=${XBPS_CROSS_BASE}/usr
-
 nspr_config_args="
  --libdir=${XBPS_CROSS_BASE}/usr/lib
  --includedir=${XBPS_CROSS_BASE}/usr/include/nspr"
@@ -26,16 +21,15 @@ nss_config_args="
  --libdir=${XBPS_CROSS_BASE}/usr/lib
  --includedir=${XBPS_CROSS_BASE}/usr/include/nss"
 
-ac_add_options --disable-gconf
 ac_add_options --disable-tests
 ac_add_options --disable-crashreporter
 ac_add_options --disable-updater
 ac_add_options --disable-install-strip
 ac_add_options --disable-strip
 ac_add_options --disable-profiling
-ac_add_options --disable-gold
+ac_add_options --enable-release
 ac_add_options --enable-optimize="$CFLAGS"
 
 ac_add_options --enable-official-branding
-ac_add_options --enable-calendar
 ac_add_options --enable-application=comm/mail
+ac_add_options --enable-calendar
diff --git a/srcpkgs/thunderbird/files/thunderbird-wayland b/srcpkgs/thunderbird/files/thunderbird-wayland
new file mode 100644
index 00000000000..cd7f9ab7394
--- /dev/null
+++ b/srcpkgs/thunderbird/files/thunderbird-wayland
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec env MOZ_ENABLE_WAYLAND= /usr/lib/thunderbird/thunderbird "$@"
diff --git a/srcpkgs/thunderbird/patches/fix-i686-ppc-musl.patch b/srcpkgs/thunderbird/patches/fix-i686-ppc-musl.patch
index 40aab43ae86..6df609bbf16 100644
--- a/srcpkgs/thunderbird/patches/fix-i686-ppc-musl.patch
+++ b/srcpkgs/thunderbird/patches/fix-i686-ppc-musl.patch
@@ -1,11 +1,11 @@
 --- mozglue/misc/StackWalk.cpp	2017-04-11 04:13:21.000000000 +0200
 +++ mozglue/misc/StackWalk.cpp	2017-11-29 15:23:07.218649970 +0100
-@@ -33,7 +33,7 @@ using namespace mozilla;
- #  define MOZ_STACKWALK_SUPPORTS_MACOSX 0
+@@ -41,7 +41,7 @@
+ #define MOZ_STACKWALK_SUPPORTS_MACOSX 0
  #endif
  
--#if (defined(linux) &&                                            \
+-#if (defined(linux) && \
 +#if defined(__GLIBC__) && (defined(linux) && \
       ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \
        defined(HAVE__UNWIND_BACKTRACE)))
- #  define MOZ_STACKWALK_SUPPORTS_LINUX 1
+ #define MOZ_STACKWALK_SUPPORTS_LINUX 1
diff --git a/srcpkgs/thunderbird/patches/fix-musl.patch b/srcpkgs/thunderbird/patches/fix-musl.patch
deleted file mode 100644
index c1cb99bf651..00000000000
--- a/srcpkgs/thunderbird/patches/fix-musl.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/profiler/core/platform-linux-android.cpp.orig	2019-07-09 22:58:30.039475686 +0200
-+++ tools/profiler/core/platform-linux-android.cpp	2019-07-09 22:58:39.331437677 +0200
-@@ -73,7 +73,7 @@
- 
- int profiler_current_thread_id() {
-   // glibc doesn't provide a wrapper for gettid().
--#if defined(__GLIBC__)
-+#if defined(__linux__)
-   return static_cast<int>(static_cast<pid_t>(syscall(SYS_gettid)));
- #else
-   return static_cast<int>(gettid());
diff --git a/srcpkgs/thunderbird/patches/fix-sandbox-membarrier.patch b/srcpkgs/thunderbird/patches/fix-sandbox-membarrier.patch
deleted file mode 100644
index caffd83cf67..00000000000
--- a/srcpkgs/thunderbird/patches/fix-sandbox-membarrier.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-allow usage of SYS_membarrier, needed since musl-1.1.22
-
---- security/sandbox/linux/SandboxFilter.cpp
-+++ security/sandbox/linux/SandboxFilter.cpp
-@@ -283,6 +283,8 @@
-       case __NR_set_tid_address:
-         return Allow();
- #endif
-+      case __NR_membarrier:
-+        return Allow();
- 
-         // prctl
-       case __NR_prctl: {
-
---- security/sandbox/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h
-+++ security/sandbox/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h
-@@ -1385,6 +1385,10 @@
- #define __NR_memfd_create (__NR_SYSCALL_BASE+385)
- #endif
- 
-+#if !defined(__NR_membarrier)
-+#define __NR_membarrier (__NR_SYSCALL_BASE+389)
-+#endif
-+
- // ARM private syscalls.
- #if !defined(__ARM_NR_BASE)
- #define __ARM_NR_BASE (__NR_SYSCALL_BASE + 0xF0000)
-
---- security/sandbox/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h
-+++ security/sandbox/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h
-@@ -1290,5 +1290,9 @@
- #define __NR_memfd_create 319
- #endif
- 
-+#if !defined(__NR_membarrier)
-+#define __NR_membarrier 324
-+#endif
-+
- #endif  // SANDBOX_LINUX_SYSTEM_HEADERS_X86_64_LINUX_SYSCALLS_H_
- 
---- security/sandbox/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
-+++ security/sandbox/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
-@@ -1490,5 +1490,9 @@
- #define __NR_shutdown 373
- #endif
- 
-+#if !defined(__NR_membarrier)
-+#define __NR_membarrier 375
-+#endif
-+
- #endif  // SANDBOX_LINUX_SYSTEM_HEADERS_X86_32_LINUX_SYSCALLS_H_
- 
diff --git a/srcpkgs/thunderbird/patches/fix-seccomp-bpf.patch b/srcpkgs/thunderbird/patches/fix-seccomp-bpf.patch
deleted file mode 100644
index ed94fc39ed0..00000000000
--- a/srcpkgs/thunderbird/patches/fix-seccomp-bpf.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc.orig	2015-09-23 09:10:08.812740571 +0200
-+++ security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc	2015-09-23 09:11:38.404746155 +0200
-@@ -23,6 +23,11 @@
- #include "sandbox/linux/services/android_ucontext.h"
- #endif
- 
-+// musl libc defines siginfo_t __si_fields instead of _sifields
-+#if defined(OS_LINUX) && !defined(__GLIBC__)
-+#define _sifields __si_fields
-+#endif
-+
- namespace {
- 
- struct arch_sigsys {
diff --git a/srcpkgs/thunderbird/patches/fix-toolkit.patch b/srcpkgs/thunderbird/patches/fix-toolkit.patch
deleted file mode 100644
index 86e8ef47855..00000000000
--- a/srcpkgs/thunderbird/patches/fix-toolkit.patch
+++ /dev/null
@@ -1,78 +0,0 @@
---- toolkit.orig/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h.orig    2016-07-05 21:00:03.672000517 +0200
-+++ toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h 2016-07-05 21:05:37.347806230 +0200
-@@ -1134,6 +1134,12 @@
- #ifndef __NR_fallocate
- #define __NR_fallocate          285
- #endif
-+
-+#undef __NR_pread
-+#define __NR_pread __NR_pread64
-+#undef __NR_pwrite
-+#define __NR_pwrite __NR_pwrite64
-+
- /* End of x86-64 definitions                                                 */
- #elif defined(__mips__)
- #if _MIPS_SIM == _MIPS_SIM_ABI32
---- toolkit.orig/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc	2014-03-15 05:19:36.000000000 +0000
-+++ toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc	2014-04-17 10:24:33.793431933 +0000
-@@ -45,6 +45,7 @@
- #include <sys/mman.h>
- #include <sys/stat.h>
- #include <unistd.h>
-+#include <libgen.h>
- 
- #include <iostream>
- #include <set>
---- toolkit.orig/crashreporter/google-breakpad/src/common/stabs_reader.cc	2014-03-15 05:19:36.000000000 +0000
-+++ toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc	2014-04-17 10:24:33.793431933 +0000
-@@ -41,6 +41,10 @@
- 
- #include "common/using_std_string.h"
- 
-+#ifndef N_UNDF
-+#define N_UNDF 0
-+#endif
-+
- using std::vector;
- 
- namespace google_breakpad {
---- toolkit.orig/crashreporter/google-breakpad/src/common/stabs_reader.h	2014-03-15 05:19:36.000000000 +0000
-+++ toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h	2014-04-17 10:24:33.793431933 +0000
-@@ -55,7 +55,7 @@
-
- #ifdef HAVE_MACH_O_NLIST_H
- #include <mach-o/nlist.h>
--#elif defined(HAVE_A_OUT_H)
-+#elif 0
- #include <a.out.h>
- #endif
-
---- toolkit.orig/mozapps/update/common/updatedefines.h	2019-01-29 11:34:36.416804577 +0100
-+++ toolkit/mozapps/update/common/updatedefines.h	2019-01-29 11:34:59.193583777 +0100
-@@ -102,7 +102,7 @@
-
- #  ifdef SOLARIS
- #    include <sys/stat.h>
--#  else
-+#  elif !(defined(__linux__)) || defined(__GLIBC__)
- #    include <fts.h>
- #  endif
- #  include <dirent.h>
---- toolkit.orig/mozapps/update/updater/updater.cpp	2014-03-15 05:19:37.000000000 +0000
-+++ toolkit/mozapps/update/updater/updater.cpp	2014-04-17 10:24:33.796765327 +0000
-@@ -3978,6 +3978,7 @@
- 
- int add_dir_entries(const NS_tchar* dirpath, ActionList* list) {
-   int rv = OK;
-+#if !defined(__linux__) || defined(__GLIBC__)
-   FTS* ftsdir;
-   FTSENT* ftsdirEntry;
-   mozilla::UniquePtr<NS_tchar[]> searchpath(get_full_path(dirpath));
-@@ -4085,6 +4086,7 @@
-   }
- 
-   fts_close(ftsdir);
-+#endif
- 
-   return rv;
- }
diff --git a/srcpkgs/thunderbird/patches/fix-tools.patch b/srcpkgs/thunderbird/patches/fix-tools.patch
index 0ed043fb5b5..d29da8bb54b 100644
--- a/srcpkgs/thunderbird/patches/fix-tools.patch
+++ b/srcpkgs/thunderbird/patches/fix-tools.patch
@@ -1,20 +1,3 @@
---- tools/profiler/lul/LulElf.cpp.orig	2019-01-29 12:05:34.223834130 +0100
-+++ tools/profiler/lul/LulElf.cpp	2019-01-29 12:08:02.480400845 +0100
-@@ -469,10 +469,10 @@
- // Return the non-directory portion of FILENAME: the portion after the
- // last slash, or the whole filename if there are no slashes.
- string BaseFileName(const string& filename) {
--  // Lots of copies!  basename's behavior is less than ideal.
--  char* c_filename = strdup(filename.c_str());
--  string base = basename(c_filename);
--  free(c_filename);
-+  // basename's behavior is less than ideal so avoid it
-+  const char *c_filename = filename.c_str();
-+  const char *p = strrchr(c_filename, '/');
-+  string base = p ? p+1 : c_filename;
-   return base;
- }
- 
 --- tools/profiler/core/platform-linux-android.cpp.orig	2019-01-29 12:09:40.980448579 +0100
 +++ tools/profiler/core/platform-linux-android.cpp	2019-01-29 12:11:09.689590967 +0100
 @@ -253,7 +253,11 @@
diff --git a/srcpkgs/thunderbird/patches/ppc32-fix-build.patch b/srcpkgs/thunderbird/patches/ppc32-fix-build.patch
new file mode 100644
index 00000000000..c1a8f422d0a
--- /dev/null
+++ b/srcpkgs/thunderbird/patches/ppc32-fix-build.patch
@@ -0,0 +1,36 @@
+This is not a complete/correct patch, but it makes firefox build. For now
+mostly for tracking, so a real fix can be made, but right now it still
+segfaults on start.
+
+Ref: https://hg.mozilla.org/mozilla-central/rev/08339a56f3ae
+Ref: https://hg.mozilla.org/mozilla-central/rev/d16fcad6aa60
+Ref: https://hg.mozilla.org/mozilla-central/rev/ab87611d012e
+Ref: https://hg.mozilla.org/mozilla-central/file/tip/xpcom/reflect/xptcall/md/unix/xptcinvoke_ppc_linux.cpp
+
+--- xpcom/reflect/xptcall/xptcall.h
++++ xpcom/reflect/xptcall/xptcall.h
+@@ -71,6 +71,11 @@ struct nsXPTCVariant {
+     ExtendedVal ext;
+   };
+ 
++#if defined(__powerpc__) && !defined(__powerpc64__)
++  // this field is still necessary on ppc32, as an address
++  // to it is taken certain places in xptcall
++  void *ptr;
++#endif
+   nsXPTType type;
+   uint8_t flags;
+ 
+@@ -91,7 +96,12 @@ struct nsXPTCVariant {
+   };
+ 
+   void ClearFlags() { flags = 0; }
++#if defined(__powerpc__) && !defined(__powerpc64__)
++  void SetIndirect() { ptr = &val; flags |= IS_INDIRECT; }
++  bool IsPtrData() const { return IsIndirect(); }
++#else
+   void SetIndirect() { flags |= IS_INDIRECT; }
++#endif
+ 
+   bool IsIndirect() const { return 0 != (flags & IS_INDIRECT); }
+ 
diff --git a/srcpkgs/thunderbird/patches/ppc32-skia-portable.patch b/srcpkgs/thunderbird/patches/ppc32-skia-portable.patch
deleted file mode 100644
index 93c625a861e..00000000000
--- a/srcpkgs/thunderbird/patches/ppc32-skia-portable.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- gfx/skia/skia/third_party/skcms/skcms.cc
-+++ gfx/skia/skia/third_party/skcms/skcms.cc
-@@ -1806,6 +1806,11 @@ typedef enum {
-     Op_store_ffff,
- } Op;
- 
-+// work around ICE on 32-bit ppc
-+#if defined(__powerpc__) && !defined(__powerpc64__)
-+#  define SKCMS_PORTABLE
-+#endif
-+
- #if defined(__clang__)
-     template <int N, typename T> using Vec = T __attribute__((ext_vector_type(N)));
- #elif defined(__GNUC__)
diff --git a/srcpkgs/thunderbird/patches/rust-configure.patch b/srcpkgs/thunderbird/patches/rust-configure.patch
index 09191782b35..887c102bc55 100644
--- a/srcpkgs/thunderbird/patches/rust-configure.patch
+++ b/srcpkgs/thunderbird/patches/rust-configure.patch
@@ -1,20 +1,23 @@
---- build/moz.configure/rust.configure	2020-06-06 10:05:25.819337924 +0200
-+++ build/moz.configure/rust.configure	2020-06-06 10:07:11.346031015 +0200
-@@ -79,10 +79,6 @@
+Mozilla rustc check does not support crossbuild: let's remove it
+Remove calls to unwrap_rustup, they fail if rustup isn't present
+
+--- build/moz.configure/rust.configure.orig	2019-10-17 04:19:59.000000000 +0700
++++ build/moz.configure/rust.configure	2019-10-22 11:48:55.616022140 +0700
+@@ -78,9 +78,6 @@
  
      return unwrap
  
 -rustc = unwrap_rustup(rustc, 'rustc')
 -cargo = unwrap_rustup(cargo, 'cargo')
 -
--
+ 
  set_config('CARGO', cargo)
  set_config('RUSTC', rustc)
+@@ -348,26 +345,6 @@
  
-@@ -366,25 +362,6 @@
              os.write(in_fd, source)
              os.close(in_fd)
- 
+-
 -            cmd = [
 -                rustc,
 -                '--crate-type', 'staticlib',
diff --git a/srcpkgs/thunderbird/patches/rust-glslopt.patch b/srcpkgs/thunderbird/patches/rust-glslopt.patch
new file mode 100644
index 00000000000..3717caa2290
--- /dev/null
+++ b/srcpkgs/thunderbird/patches/rust-glslopt.patch
@@ -0,0 +1,13 @@
+overwrite HOST_* flags to get rid of -MF
+
+--- third_party/rust/glslopt/build.rs	2020-06-03 01:37:31.000000000 +0200
++++ third_party/rust/glslopt/build.rs	2020-06-04 10:57:16.418469546 +0200
+@@ -28,6 +28,8 @@
+     env::remove_var(format!("CXXFLAGS_{}", &target));
+     env::remove_var(format!("CFLAGS_{}", target.replace("-", "_")));
+     env::remove_var(format!("CXXFLAGS_{}", target.replace("-", "_")));
++    env::set_var("HOST_CFLAGS", "-O2");
++    env::set_var("HOST_CXXFLAGS", "-O2");
+ 
+     configure(&mut cc::Build::new())
+         .warnings(false)
diff --git a/srcpkgs/thunderbird/patches/rust-has-i128.patch b/srcpkgs/thunderbird/patches/rust-has-i128.patch
new file mode 100644
index 00000000000..4c90cd3d106
--- /dev/null
+++ b/srcpkgs/thunderbird/patches/rust-has-i128.patch
@@ -0,0 +1,21 @@
+The configure check fails for cross builds.
+i128 is supported since rust-1.26, so it is safe for us to assume it is always present
+
+--- third_party/rust/num-traits/build.rs.orig	2020-02-14 23:57:25.985355610 +0100
++++ third_party/rust/num-traits/build.rs	2020-02-14 23:58:36.255710188 +0100
+@@ -1,14 +1,5 @@
+-extern crate autocfg;
+-
+-use std::env;
+-
+ fn main() {
+-    let ac = autocfg::new();
+-    if ac.probe_type("i128") {
+-        println!("cargo:rustc-cfg=has_i128");
+-    } else if env::var_os("CARGO_FEATURE_I128").is_some() {
+-        panic!("i128 support was not detected!");
+-    }
++    println!("cargo:rustc-cfg=has_i128");
+ 
+     autocfg::rerun_path("build.rs");
+ }
diff --git a/srcpkgs/thunderbird/patches/sandbox-fork.patch b/srcpkgs/thunderbird/patches/sandbox-fork.patch
new file mode 100644
index 00000000000..72640cb7f70
--- /dev/null
+++ b/srcpkgs/thunderbird/patches/sandbox-fork.patch
@@ -0,0 +1,13 @@
+make SYS_fork non-fatal, musl uses it for fork(2)
+
+--- security/sandbox/linux/SandboxFilter.cpp
++++ security/sandbox/linux/SandboxFilter.cpp
+@@ -1253,6 +1253,8 @@
+         // usually do something reasonable on error.
+       case __NR_clone:
+         return ClonePolicy(Error(EPERM));
++      case __NR_fork:
++        return Error(ENOSYS);
+ 
+ #  ifdef __NR_fadvise64
+       case __NR_fadvise64:
diff --git a/srcpkgs/thunderbird/patches/sndio.patch b/srcpkgs/thunderbird/patches/sndio.patch
index 6c72284c19b..c5e5c486dd1 100644
--- a/srcpkgs/thunderbird/patches/sndio.patch
+++ b/srcpkgs/thunderbird/patches/sndio.patch
@@ -1,8 +1,8 @@
 --- old-configure.in.orig
 +++ old-configure.in
-@@ -2839,6 +2839,22 @@
- 
- AC_SUBST(MOZ_ALSA)
+@@ -2818,6 +2818,22 @@
+     _NON_GLOBAL_ACDEFINES="$_NON_GLOBAL_ACDEFINES NECKO_COOKIES"
+ fi
  
 +dnl ==================================
 +dnl = Check sndio availability
@@ -21,26 +21,11 @@
 +AC_SUBST(MOZ_SNDIO)
 +
  dnl ========================================================
- dnl = Disable PulseAudio
- dnl ========================================================
---- toolkit/library/moz.build.orig
-+++ toolkit/library/moz.build
-@@ -235,10 +235,8 @@
- if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('cocoa', 'uikit'):
-     OS_LIBS += CONFIG['TK_LIBS']
- 
--if CONFIG['OS_ARCH'] == 'OpenBSD':
--    OS_LIBS += [
--        'sndio',
--    ]
-+if CONFIG['MOZ_SNDIO']:
-+    OS_LIBS += CONFIG['MOZ_SNDIO_LIBS']
- 
- if CONFIG['MOZ_ENABLE_DBUS']:
-     OS_LIBS += CONFIG['MOZ_DBUS_GLIB_LIBS']
+ dnl =
+ dnl = Maintainer debug option (no --enable equivalent)
 --- media/libcubeb/src/moz.build.orig
 +++ media/libcubeb/src/moz.build
-@@ -43,7 +43,7 @@
+@@ -44,11 +44,13 @@
      ]
      DEFINES['USE_JACK'] = True
  
@@ -49,49 +34,19 @@
      SOURCES += [
          'cubeb_sndio.c',
      ]
---- build/moz.configure/old.configure.orig
-+++ build/moz.configure/old.configure
-@@ -169,6 +169,7 @@
+     DEFINES['USE_SNDIO'] = True
++
++if CONFIG['OS_ARCH'] == 'OpenBSD':
+     DEFINES['DISABLE_LIBSNDIO_DLOPEN'] = True
+ 
+ if CONFIG['OS_TARGET'] == 'Darwin':
+--- build/moz.configure/old.configure	2020-06-30 12:17:04.087609070 +0200
++++ -	2020-06-30 12:18:26.027756310 +0200
+@@ -210,6 +210,7 @@
  @old_configure_options(
      '--cache-file',
      '--datadir',
 +    '--enable-sndio',
-     '--enable-content-sandbox',
-     '--enable-cookies',
-     '--enable-cpp-rtti',
---- security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp.orig
-+++ security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
-@@ -349,6 +349,21 @@
-         }
-       }
-     }
-+
-+#ifdef MOZ_SNDIO
-+    // ~/.aucat_cookie (sndio)
-+    rv = homeDir->Clone(getter_AddRefs(confDir));
-+    if (NS_SUCCEEDED(rv)) {
-+      rv = confDir->AppendNative(NS_LITERAL_CSTRING(".aucat_cookie"));
-+      if (NS_SUCCEEDED(rv)) {
-+        nsAutoCString tmpPath;
-+        rv = confDir->GetNativePath(tmpPath);
-+        if (NS_SUCCEEDED(rv)) {
-+          policy->AddPath(rdwrcr, tmpPath.get());
-+        }
-+      }
-+    }
-+#endif
-   }
- 
-   // Firefox binary dir.
---- security/sandbox/linux/moz.build.orig
-+++ security/sandbox/linux/moz.build
-@@ -81,6 +81,9 @@
- if CONFIG['MOZ_ALSA']:
-     DEFINES['MOZ_ALSA'] = True
- 
-+if CONFIG['MOZ_SNDIO']:
-+    DEFINES['MOZ_SNDIO'] = True
-+
- # This copy of SafeSPrintf doesn't need to avoid the Chromium logging
- # dependency like the one in libxul does, but this way the behavior is
- # consistent.  See also the comment in SandboxLogging.h.
+     '--enable-crashreporter',
+     '--enable-dbus',
+     '--enable-debug-js-modules',
diff --git a/srcpkgs/thunderbird/template b/srcpkgs/thunderbird/template
index 72799736e9b..9d1460308ac 100644
--- a/srcpkgs/thunderbird/template
+++ b/srcpkgs/thunderbird/template
@@ -3,7 +3,7 @@
 # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/thunderbird-i18n".
 #
 pkgname=thunderbird
-version=68.12.1
+version=78.5.1
 revision=1
 build_helper="rust"
 short_desc="Standalone Mail/News reader"
@@ -11,27 +11,26 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.thunderbird.net/"
 distfiles="${MOZILLA_SITE}/${pkgname}/releases/${version}/source/${pkgname}-${version}.source.tar.xz"
-checksum=a2044fb611ac6ab1744ef61f5d292d2c81b8103438df02b6dd754968efc9a3af
+checksum=17ec895e3dd435da49bfa30482e2397e644319b7f82890d2a947c95a5cb183c2
 
 lib32disabled=yes
 
-hostmakedepends="autoconf213 unzip zip pkg-config perl python python3 yasm rust cargo
- llvm clang nodejs cbindgen nasm which tar"
+hostmakedepends="autoconf213 unzip zip pkg-config perl python3 yasm rust cargo
+ llvm clang nodejs-lts-10 cbindgen python nasm which tar"
 makedepends="nss-devel libjpeg-turbo-devel gtk+-devel gtk+3-devel icu-devel
- pixman-devel sqlite-devel libevent-devel libnotify-devel libvpx5-devel
+ pixman-devel libevent-devel libnotify-devel libvpx-devel
  libXrender-devel libXcomposite-devel libSM-devel libXt-devel rust-std
  libXdamage-devel freetype-devel $(vopt_if alsa alsa-lib-devel)
  $(vopt_if dbus dbus-glib-devel) $(vopt_if pulseaudio pulseaudio-devel)
- $(vopt_if startup_notification startup-notification-devel)
  $(vopt_if xscreensaver libXScrnSaver-devel)
- $(vopt_if sndio sndio-devel)"
-depends="nss>=3.37.3 desktop-file-utils hicolor-icon-theme"
+ $(vopt_if sndio sndio-devel) $(vopt_if jack jack-devel)"
+depends="nss>=3.47.1 desktop-file-utils hicolor-icon-theme"
 
-build_options="alsa dbus pulseaudio startup_notification xscreensaver sndio wayland"
-build_options_default="alsa dbus pulseaudio startup_notification xscreensaver sndio wayland"
+build_options="alsa jack dbus pulseaudio xscreensaver sndio wayland"
+build_options_default="alsa jack dbus pulseaudio xscreensaver sndio wayland"
 
 case $XBPS_TARGET_MACHINE in
-	armv6*) broken="required NEON extensions are not supported on armv6" ;;
+	armv[56]*) broken="required NEON extensions are not supported on armv6" ;;
 	ppc64*) ;;
 	ppc*) broken="xptcall bitrot" ;;
 esac
@@ -64,7 +63,9 @@ post_extract() {
 }
 
 post_patch() {
-	_clear_vendor_checksums cssparser
+	_clear_vendor_checksums audio_thread_priority
+	_clear_vendor_checksums num-traits
+	_clear_vendor_checksums glslopt
 }
 
 do_build() {
@@ -73,7 +74,7 @@ do_build() {
 	case "$XBPS_TARGET_MACHINE" in
 	*-musl)
 		echo "ac_add_options --disable-jemalloc" >>.mozconfig
-		echo "ac_add_options --enable-release" >>.mozconfig
+		echo "ac_add_options --disable-gold" >>.mozconfig
 		;;
 	esac
 
@@ -93,18 +94,15 @@ do_build() {
 		export LDFLAGS+=" -latomic"
 	fi
 
-	case "$XBPS_TARGET_MACHINE" in
-	x86_64-musl|i686-musl)
-		echo "ac_add_options --host=${XBPS_TRIPLET}" >>.mozconfig
-		echo "ac_add_options --target=${XBPS_TRIPLET}" >>.mozconfig
-		;;
-	esac
-
 	if [ "$CROSS_BUILD" ]; then
 		BINDGEN_INCLUDE_FLAGS=$( $CPP -x c++ -v /dev/null -o /dev/null 2>&1 | \
 			sed -n '/#include <...> search starts here:/,/End of search list./p' | \
 			sed '1,1d;$d' | sed  's/^ /-I/' | paste -s )
 
+		# fix compiler detection for botan:
+		# https://github.com/randombit/botan/blob/63d51cb1ab08849d8ece329811b61f8c9abebbcf/configure.py#L2888
+		export CXX="${XBPS_CROSS_TRIPLET}-g++"
+
 		export BINDGEN_CFLAGS="--target=$XBPS_CROSS_TRIPLET \
 			--sysroot=${XBPS_CROSS_BASE} ${BINDGEN_INCLUDE_FLAGS}"
 		export HOST_CC=cc
@@ -128,10 +126,6 @@ do_build() {
 	mkdir -p third_party/rust/libloading/.deps
 
 	case "$XBPS_TARGET_MACHINE" in
-	i686*)
-		export CFLAGS+=" -D_FILE_OFFSET_BITS=64"
-		export CXXFLAGS+=" -D_FILE_OFFSET_BITS=64"
-		;;
 	armv7*)
 		export CFLAGS+=" -mfpu=neon -Wno-psabi"
 		export CXXFLAGS+=" -mfpu=neon -Wno-psabi"
@@ -145,9 +139,14 @@ do_build() {
 		export LDFLAGS+=" -Wl,--no-keep-memory"
 		# patch the rust debug level, this is hardcoded
 		sed -i "s/debug_info = '2'/debug_info = '1'/" \
-		 build/moz.configure/toolchain.configure
+		build/moz.configure/toolchain.configure
 	fi
 
+	case "$XBPS_TARGET_MACHINE" in
+	aarch64*|i686*|x86_64*)
+		echo "ac_add_options --enable-rust-simd" >>.mozconfig ;;
+	esac
+
 	export LDFLAGS+=" -Wl,-rpath=/usr/lib/thunderbird"
 
 	if [ "$SOURCE_DATE_EPOCH" ]; then
@@ -157,20 +156,20 @@ do_build() {
 	export MOZ_MAKE_FLAGS="${makejobs}"
 	export MOZ_NOSPAM=1
 	export MOZBUILD_STATE_PATH="${wrksrc}/mozbuild"
-	# avoid error: /usr/bin/as: invalid option -- 'N'
-	unset AS
+
+	export AS=$CC
 
 	cat <<! >>.mozconfig
 ac_add_options --with-google-location-service-api-keyfile="${wrksrc}/google-api-key"
 ac_add_options --with-google-safebrowsing-api-keyfile="${wrksrc}/google-api-key"
 ac_add_options --with-mozilla-api-keyfile="${wrksrc}/mozilla-api-key"
 ac_add_options $(vopt_enable alsa)
+ac_add_options $(vopt_enable jack)
 ac_add_options $(vopt_enable sndio)
 ac_add_options $(vopt_enable dbus)
 ac_add_options $(vopt_enable dbus necko-wifi)
 ac_add_options $(vopt_enable pulseaudio)
-ac_add_options $(vopt_enable startup_notification startup-notification)
-ac_add_options --enable-default-toolkit=$(vopt_if wayland 'cairo-gtk3-wayland' 'cairo-gtk')
+ac_add_options --enable-default-toolkit=$(vopt_if wayland 'cairo-gtk3-wayland' 'cairo-gtk3')
 !
 
 	rm -f old-configure
@@ -182,9 +181,9 @@ do_install() {
 	vinstall ${FILESDIR}/vendor.js 644 usr/lib/thunderbird/defaults/preferences
 	vinstall ${FILESDIR}/thunderbird.desktop 644 usr/share/applications
 
-	for i in 16 22 24 32 48 256; do
-		vinstall ./comm/mail/branding/thunderbird/default$i.png 644 \
-			usr/share/icons/hicolor/${i}x${i}/apps thunderbird.png
+	for i in 16x16 22x22 24x24 32x32 48x48 128x128 256x256; do
+		vinstall ${wrksrc}/comm/mail/branding/thunderbird/default${i%x*}.png 644 \
+			usr/share/icons/hicolor/${i}/apps thunderbird.png
 	done
 
 	# Use system-provided dictionaries
@@ -197,4 +196,6 @@ do_install() {
 
 	# https://bugzilla.mozilla.org/show_bug.cgi?id=658850
 	ln -sf thunderbird ${DESTDIR}/usr/lib/thunderbird/thunderbird-bin
+
+	vbin ${FILESDIR}/thunderbird-wayland
 }

From d8a36503a14dde0b0ac3b3f420783bd1a0887d9e Mon Sep 17 00:00:00 2001
From: mmnmnnmnmm <45293514+mmnmnnmnmm@users.noreply.github.com>
Date: Wed, 2 Dec 2020 16:30:35 -0300
Subject: [PATCH 2/2] thunderbird-i18n: update to 78.5.1.

---
 srcpkgs/thunderbird-i18n/template | 114 +++++++++++++++---------------
 1 file changed, 57 insertions(+), 57 deletions(-)

diff --git a/srcpkgs/thunderbird-i18n/template b/srcpkgs/thunderbird-i18n/template
index 47c9ca4b560..bca06091afe 100644
--- a/srcpkgs/thunderbird-i18n/template
+++ b/srcpkgs/thunderbird-i18n/template
@@ -1,6 +1,6 @@
 # Template file for 'thunderbird-i18n'
 pkgname=thunderbird-i18n
-version=68.12.1
+version=78.5.1
 revision=1
 build_style=meta
 short_desc="Thunderbird language packs"
@@ -79,7 +79,7 @@ for _lang in "${_languages[@]}"; do
 	_pkgname=thunderbird-i18n-${_locale}
 
 	depends+=" ${_pkgname}>=${version}"
-	distfiles+=" ${MOZILLA_SITE}/thunderbird/releases/${version}/linux-i686/xpi/${_locale}.xpi"
+	distfiles+=" ${MOZILLA_SITE}/thunderbird/releases/${version}/linux-x86_64/xpi/${_locale}.xpi"
 
 	eval "${_pkgname}_package() {
 		_pkgtmpl $_lang
@@ -96,58 +96,58 @@ _pkgtmpl() {
 	}
 }
 
-checksum="daaef9e7b8c55328def0f22cad60ca48ad774afc4190b5e5eaf8e3dd1a4e5f28
- 8ff401dac77853307572acc410fd9c60b27b9577e7cbeff798e09107ed423d9c
- cd19b72064b00ad4ba4b4c851e8ec634b3c75e2102b38c44385c761ec9152a81
- 031c9f61077ab08e8b896668e61e09a01720ac5f22f1a97046e4ba1abff653c3
- 6e6b9f12dce243c15f0601f7a6743e8fb0c3a2d98475659ea778afa80382d826
- 574b0ffef6849443395533a638ad9931dc2226f619a13526ea16364f60865d79
- 62d43bab52e891d56b43696f80a4d7287c9e5b92e57645dcc0e2b800e49bfc73
- 546bcb01d473cdf3d114efc7546d7499997c49710e38a75c77875cc0141b8582
- 0a4a2238f2630b3d2aa244aafe2bc59b78192fe973e977b72e71bcd170b852d7
- 2e2e2d793f49c323d265205f75ab08c460591c400a28b9c11c71dd3080c4e111
- 4b54e6395e0cad7bf01a41aea26eaa0b8a238d83bbbef70a80cb5472408c3538
- 782c27adfcfa3d8bfbbb46eaf2442f738f63e623e5c3a9fe25e9ef06c54270f2
- dc23f05f6df9c9c133c5c1102e02d3703a7d42d6cd3021ff9e1b44bc010d36fa
- 189307a002a0ee88dfb373ae7daef44f13d3d86d292404fe75b9282c6ec70d9d
- ef8be85899e8690b56a82bfafcb2422e21aa688ca716cf88fad660e2413a4371
- def5c5acbc82f1274c74d407e4ce9aeca05298d4d2ecff9ee6a4048c4f748bb9
- de3289bc94be4a76777a56af95b04957fc8289ac0e28a0fe5b0f84716164f3b1
- b87fce391136a20fb53690cbdfe96511d0f44a07c8f6850d46942d753506dafe
- 2ea16aaf34e59b91d079b238489b8e99f2ac5c051127d80c130606fbedc17e82
- d67cbf27d266394ec2ffdd6f6d5925a1bc3b779e190b43e126fac869d32a9772
- 5f241e80aafee6bd7cb38708723d65d22d0cf599da8310afed43b571e654ad30
- 04b1aa4a9540672b27a318bf0e8b051ecd2fd8e0fac9688972a98d24dc395cdc
- ce24a1f51ff480d87b575e68d3da088ab70390a6efdc86a373bcc625b0d4fe69
- ea147f235edafa18144c76ca843716d5e4a3806f7096a2888c15e45a291b8bb2
- 061ba1d21aedcdcbcf8b8a9bab53b16ef34e4b4abda0d2e43e49d4263ffbffb7
- 819530775c72a822a581c76d090e0709133905293d3df769d2c85692d1c7a4d9
- c2f22993f2fd735e4ba8a34e8857546c4b9792b9a93488dddba30a2527ae174a
- a847a8f00321f20846c45907458ae76f842d3107ddfac2fcf71e641c6a080c51
- bcc6e48b51c67571c5ec08361134fbc3e4982ed27f3dab1e5b1ccfd26b3e22b1
- 368d63db282c200f5caaf65837a470df64db5a513d0b5e7d639e353fa8987c51
- 084bf0bb5fc42f068ae099d845c121f5ec8a1bcb91a76d80b6e49394b9e85e9d
- 578c24c143dda65697dc1708597215d59e5f2cc68b1f52e00901e07b3cea0dd4
- 1c2769d19ee3d444c75c4133f540ecf6860a6272bbb69f13524ca928bac33721
- a9f2683f18b29503ea38df815107e3753c0c3c37468cc0c23fea25080ba7392d
- dd61640c8987cbc5b8a41465e89200e3cef635c6931ce3f586a683d992492409
- c274dc81cab7b3b2ba3e0a4a55b4b94ed9ff02be48c808b0164aba386aae7cd9
- 76b850488e513e5181b4f460227fdb9f7a297aa95bca7778f407521be6355d23
- 1924933c175b04d088fc5764fedc6a317396234e591ef9f787cbd6d21bf43790
- 28006df283c06e44ef08901f9db21011350930bdf0d0cba132d2d8eadbefd314
- a90bce2d48d0b2f2db0423a22aad05c129029fb1b38824d7bb7875e6ff7a1cf4
- 77fbb6ddc67edffbdb0d3f992ed54f5309da13dfa9216d5c4ee613be6c9cec37
- 19df7a1f9216a69098fdbe7629140e7f36f52dbdd4b15a4c78734e448be3cdb2
- 0768ddd6ffeec0b1354270ff8c9627bffe9ddbe907c9d35081d5d9b6bae04874
- 8de1bb65249f9b06a3f90c02c1c715c8e308bccbaae22cde2f784ccac9228573
- eebe0e05bab4a0061d5d8eb1cbb5f2769ca4befd3276db769b83906adaa3ef34
- c23110b70da779084bbac3d55e87482ebf9502f249e11d9ed8956aac767f5889
- 27b5911a4ffa6a2a3e9ec4fdb10420ba33f333d9ac11deda8115656c5bcefb0b
- 44954a28be58dc2de08f0586ec7d8591939f81f3bb05a4574d8f58ac00b55ce8
- 3ac0f4e9cfcbe5089dcfb36eb39d8e26b16f062dcc12b5b89e6f619ab3caf013
- 4be6d239fd175d1bef88da579c7c1e6b244ae698aa4302a8a00069e2c0119331
- c705309c32c0d4af7b4f8e98095919f2942329b1cad75e8fff168f6c0ea71baf
- e6b9247a733e918f5e49aa6d11563c52b33d5f4f2f2cd4fd542953602b090c68
- ae1b27bba6d82606b55bffc0275e35bbf6da3b5d6c5e242ce5ac62d3bf81c630
- ffb9e14f03454cdf2d180d3960a3bbd13ccb6e177e86a1918d524c6de203df28
- cca092e8f86e4102de12461ab5c8ab0b601846113a837508ff8b8c9d5a10e588"
+checksum="ec25a427c59e9fa924b9babac035c3a3753a385fbc1069aadce3c4125a7fcbc9
+ c1cee9aebbfb89bbf5b53f7c72939c35dcc6b35d7093f044f94ef9c4504f7e3d
+ c19185c591865a4a4f1ec3c07874c2cf67a6c75c38498659e22914a822aeac9d
+ 8f5d3f3777aa6d1d25ee85938aef5037e4165447dd2aadd9425d2268f34b854d
+ c83abea2ee982cd6270168b7d267366462924027d3b9f0bcc3c1854ffe2c2228
+ 4ce6b1b59567e4160205791a27fcf0449f4b2e57f686de4cea92c72e7689ba30
+ f9db6086397bdc3abe98275d9804d7a252d03d8b16cb636aeaf2767e34670668
+ 9853698d9db5002a440fca4f8ca688529bd76397d256dd420482656b0317a62c
+ eae693c2fdc62db8157342d3240ae4caf1be93ef99d0cf206533cbc32975d18b
+ e56cb822478b4aeb359fee9144b31ab35ff3c3fbce297e407def6d906fdcf590
+ afbc06642b287f9348cfbc0a2ab7221d5eec32fb71c98f36c474733e09421074
+ b8ac125dfd9582f3bbd5f84c1ea1bd25575624942a1406bd2ab95d5e48eb304d
+ e32e932b387d7e386e262c115b8683a70a6fa8fe491c02e5eeb386bf6471518f
+ 2169f8efaf09c9ccbcf5bac2ae700c88922fb505a56bd68b74f8e550947aa290
+ b21715093124326d899e41d106fba7b9460f3a7ebd5c843cc53218619f8700d8
+ 057dcc7fbc9bd10062a37ac25fbcaaa9ee00974a8c2f0104764db371a371d162
+ d02f5692728c1b11647ea6abc03753ba7e4c05c5db8bb599f93a69451434a2b8
+ 07928e750bbc640625f632a963bc882bec0cac9a0e9485045d08a85e4e0525d0
+ 463cb4bc2417cd900e893649c84a9f1a8ef334bcab7cec1b58b5d2fc9f4ae74c
+ 34e3771929ffb14e128adc963eaaeec20615998b06d47164b3e834be612870b7
+ 957f8dda84736a0fd5c2e6ebb8505862b850e5f0e543098c3d252b2f60750b7d
+ 7686231ee1b9245ea5bc4cea25ea388543bb662db5e688535d5dee0c999cf911
+ 9e3a0089eb8ca12f59266b8ebaf223263a3d7522c8ac3b813e107cacc96834a2
+ c50da6155cf02717b3d36f9400acc7c61f469bf08fd9d70a32c6f6bd56568d09
+ 5e4f32e7c1682b4622304d833b2cd18ad1c2a1bedf79e9ae5f68d682b5368528
+ 4f35a356a4c75d6bc4416a64557c8fca6e829aa65a3630822b603451b46e15c9
+ 25291886aa4b279092882b9af21c080032588ad41b7c63c5fbb5259e7711af82
+ f92697835b5e63b8cae60ad072b984809e9126f149c7f0afd2d4637cac60d266
+ ba9557cd945d6011a4b311835ca4c77085e59c185569591278ff0aa9516917c5
+ 4d4d552d6d2a5f87caff20308fdbca958b7bfe884788e2d52579bfa9f09a3179
+ 18580ba9421ffe4f5aac969c05e7c951ccbb8bd0daa8d66286b69a57b2dba461
+ ccac10e557dcf2ab91116cbec62afbe3bd38a405fb400a2c3428b33568ecb929
+ 2ad2f0c37903c6a2c25b162ab2802a7e2fafff3b0905fddc79afe904b0a5d933
+ 383a243c5bda399e41c4dac3de78eba47a433816c78a1c0b1535e110f73d16fd
+ 1d515682dd710ab88d46ba288e75afa60057cebe751a939759f9d26d9f0dc486
+ c9645eb923649fbf70ae348faee0ea4960e41f6c5a7fb3b8ff04280a2e50b2f5
+ ebcf6c66735f14af43104c9875bc697cb55e5ddbac0fc1ace214898e7aec3c91
+ 16cb719a8c3e5109d564aa3a1ac749ffd01f5eb4146ea37bece4f215b124a947
+ 51109ee36de6d1f6f119e43845fc5ae006f30cada9df52cd5079d7a44b732f6b
+ 7e18dde12d9a3d74d7c5da9ba4b599fc00413b3badd1dd544ac670675e4ca0a5
+ c3079c2291f7e285881e2c7fe5f72aeddc412c475c18503c49d4b00fec817028
+ 3dad8f1feda31074ad2303b81dc48a57bbc234de8376be021708bbc6936afec3
+ 3ebde4003dc5cd9e2a2b20540b1c8b650e58920d1ab4a2afc3da97377ff0063f
+ a45be4b8611a97c85ec21d2587f86cb1a47a3877e2563f88877e20a2fd2d5831
+ 04c415ae24ffea9f8805390fc9d7f58b30063fbc545b440dfad76432821880bc
+ cb876b12e08a15c1bb7b6eb573a4c47495e211ede8a2d5b36583c98a99e092da
+ df39d3e81f79326119b87459d279d505e29f0edbd4ebfd70bd57e27a397b3627
+ 44f930a2e91dc79a3eebdd019ea4755a424a71402df21b14201435376d82117c
+ a23c9f9656c95204f0950e23c8687fd9eda3d5ff97359bd5eaae617246bb968a
+ 2c713967b22a0a903c5205f359a43415f23f3e647a1a7ecacdbc0c061db91209
+ 36e678098e46b5f4c1e5fb5cfae86f2f35b4f51fd2f5f9afb5853a2f16f17bb6
+ 88c16eef0a5b2414d67f60e546d1632bc6f469473fb09748f6eb98166a9f3b96
+ a832bd70ff0ede843dcbc3898a7c37fe2a60fe2180c890ec15286a7ceb4e7a33
+ 05d54ed2f0218086a6328db67fe4a10170d595c2743317c838c63cb63d6a661a
+ 51a0f0767a431325699778621d744d7c9f1e89a7cbd7540b5aa247994c899348"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] Thunderbird 78.5.1
  2020-12-03  0:43 [PR PATCH] Thunderbird 78.5.1 ericonr
@ 2020-12-03  0:44 ` ericonr
  2020-12-13  9:39 ` dkwo
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: ericonr @ 2020-12-03  0:44 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 557 bytes --]

There is an updated pull request by ericonr against master on the void-packages repository

https://github.com/ericonr/void-packages thundernew
https://github.com/void-linux/void-packages/pull/26896

Thunderbird 78.5.1
Still seeing if cross compilation reaches the end successfully.

Would appreciate testers.

Have launched on x86_64-musl, but I'm not on the device that uses thunderbird, so I haven't logged in yet.

Based on and closes #24509 

[ci skip]

A patch file from https://github.com/void-linux/void-packages/pull/26896.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-thundernew-26896.patch --]
[-- Type: text/x-diff, Size: 36033 bytes --]

From e7b9fedfe798ea145b887eb50dc0474191aa5422 Mon Sep 17 00:00:00 2001
From: mmnmnnmnmm <45293514+mmnmnnmnmm@users.noreply.github.com>
Date: Wed, 2 Dec 2020 16:30:22 -0300
Subject: [PATCH 1/2] thunderbird: update to 78.5.1.

Closes: #24509 [via git-merge-pr].
---
 srcpkgs/thunderbird/files/mozconfig           | 10 +--
 srcpkgs/thunderbird/files/thunderbird-wayland |  2 +
 .../patches/fix-i686-ppc-musl.patch           |  8 +-
 srcpkgs/thunderbird/patches/fix-musl.patch    | 11 ---
 .../patches/fix-sandbox-membarrier.patch      | 52 ------------
 .../thunderbird/patches/fix-seccomp-bpf.patch | 14 ----
 srcpkgs/thunderbird/patches/fix-toolkit.patch | 78 ------------------
 srcpkgs/thunderbird/patches/fix-tools.patch   | 17 ----
 .../thunderbird/patches/ppc32-fix-build.patch | 36 +++++++++
 .../patches/ppc32-skia-portable.patch         | 14 ----
 .../thunderbird/patches/rust-configure.patch  | 15 ++--
 .../thunderbird/patches/rust-glslopt.patch    | 13 +++
 .../thunderbird/patches/rust-has-i128.patch   | 21 +++++
 .../thunderbird/patches/sandbox-fork.patch    | 13 +++
 srcpkgs/thunderbird/patches/sndio.patch       | 81 +++++--------------
 srcpkgs/thunderbird/template                  | 65 +++++++--------
 16 files changed, 151 insertions(+), 299 deletions(-)
 create mode 100644 srcpkgs/thunderbird/files/thunderbird-wayland
 delete mode 100644 srcpkgs/thunderbird/patches/fix-musl.patch
 delete mode 100644 srcpkgs/thunderbird/patches/fix-sandbox-membarrier.patch
 delete mode 100644 srcpkgs/thunderbird/patches/fix-seccomp-bpf.patch
 delete mode 100644 srcpkgs/thunderbird/patches/fix-toolkit.patch
 create mode 100644 srcpkgs/thunderbird/patches/ppc32-fix-build.patch
 delete mode 100644 srcpkgs/thunderbird/patches/ppc32-skia-portable.patch
 create mode 100644 srcpkgs/thunderbird/patches/rust-glslopt.patch
 create mode 100644 srcpkgs/thunderbird/patches/rust-has-i128.patch
 create mode 100644 srcpkgs/thunderbird/patches/sandbox-fork.patch

diff --git a/srcpkgs/thunderbird/files/mozconfig b/srcpkgs/thunderbird/files/mozconfig
index 334846e9a64..ed6cfb244cb 100644
--- a/srcpkgs/thunderbird/files/mozconfig
+++ b/srcpkgs/thunderbird/files/mozconfig
@@ -3,7 +3,6 @@ ac_add_options --libdir=/usr/lib
 
 ac_add_options --with-system-nspr
 ac_add_options --with-system-nss
-ac_add_options --with-system-bz2
 ac_add_options --with-system-jpeg
 ac_add_options --with-system-zlib
 ac_add_options --with-system-libevent
@@ -12,12 +11,8 @@ ac_add_options --with-system-icu
 # XXX: the system's libpng doesn't have APNG support
 ac_add_options --without-system-png
 ac_add_options --enable-system-pixman
-ac_add_options --enable-system-sqlite
 ac_add_options --enable-system-ffi
 
-ac_add_options --with-nspr-prefix=${XBPS_CROSS_BASE}/usr
-ac_add_options --with-nss-prefix=${XBPS_CROSS_BASE}/usr
-
 nspr_config_args="
  --libdir=${XBPS_CROSS_BASE}/usr/lib
  --includedir=${XBPS_CROSS_BASE}/usr/include/nspr"
@@ -26,16 +21,15 @@ nss_config_args="
  --libdir=${XBPS_CROSS_BASE}/usr/lib
  --includedir=${XBPS_CROSS_BASE}/usr/include/nss"
 
-ac_add_options --disable-gconf
 ac_add_options --disable-tests
 ac_add_options --disable-crashreporter
 ac_add_options --disable-updater
 ac_add_options --disable-install-strip
 ac_add_options --disable-strip
 ac_add_options --disable-profiling
-ac_add_options --disable-gold
+ac_add_options --enable-release
 ac_add_options --enable-optimize="$CFLAGS"
 
 ac_add_options --enable-official-branding
-ac_add_options --enable-calendar
 ac_add_options --enable-application=comm/mail
+ac_add_options --enable-calendar
diff --git a/srcpkgs/thunderbird/files/thunderbird-wayland b/srcpkgs/thunderbird/files/thunderbird-wayland
new file mode 100644
index 00000000000..cd7f9ab7394
--- /dev/null
+++ b/srcpkgs/thunderbird/files/thunderbird-wayland
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec env MOZ_ENABLE_WAYLAND= /usr/lib/thunderbird/thunderbird "$@"
diff --git a/srcpkgs/thunderbird/patches/fix-i686-ppc-musl.patch b/srcpkgs/thunderbird/patches/fix-i686-ppc-musl.patch
index 40aab43ae86..6df609bbf16 100644
--- a/srcpkgs/thunderbird/patches/fix-i686-ppc-musl.patch
+++ b/srcpkgs/thunderbird/patches/fix-i686-ppc-musl.patch
@@ -1,11 +1,11 @@
 --- mozglue/misc/StackWalk.cpp	2017-04-11 04:13:21.000000000 +0200
 +++ mozglue/misc/StackWalk.cpp	2017-11-29 15:23:07.218649970 +0100
-@@ -33,7 +33,7 @@ using namespace mozilla;
- #  define MOZ_STACKWALK_SUPPORTS_MACOSX 0
+@@ -41,7 +41,7 @@
+ #define MOZ_STACKWALK_SUPPORTS_MACOSX 0
  #endif
  
--#if (defined(linux) &&                                            \
+-#if (defined(linux) && \
 +#if defined(__GLIBC__) && (defined(linux) && \
       ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \
        defined(HAVE__UNWIND_BACKTRACE)))
- #  define MOZ_STACKWALK_SUPPORTS_LINUX 1
+ #define MOZ_STACKWALK_SUPPORTS_LINUX 1
diff --git a/srcpkgs/thunderbird/patches/fix-musl.patch b/srcpkgs/thunderbird/patches/fix-musl.patch
deleted file mode 100644
index c1cb99bf651..00000000000
--- a/srcpkgs/thunderbird/patches/fix-musl.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/profiler/core/platform-linux-android.cpp.orig	2019-07-09 22:58:30.039475686 +0200
-+++ tools/profiler/core/platform-linux-android.cpp	2019-07-09 22:58:39.331437677 +0200
-@@ -73,7 +73,7 @@
- 
- int profiler_current_thread_id() {
-   // glibc doesn't provide a wrapper for gettid().
--#if defined(__GLIBC__)
-+#if defined(__linux__)
-   return static_cast<int>(static_cast<pid_t>(syscall(SYS_gettid)));
- #else
-   return static_cast<int>(gettid());
diff --git a/srcpkgs/thunderbird/patches/fix-sandbox-membarrier.patch b/srcpkgs/thunderbird/patches/fix-sandbox-membarrier.patch
deleted file mode 100644
index caffd83cf67..00000000000
--- a/srcpkgs/thunderbird/patches/fix-sandbox-membarrier.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-allow usage of SYS_membarrier, needed since musl-1.1.22
-
---- security/sandbox/linux/SandboxFilter.cpp
-+++ security/sandbox/linux/SandboxFilter.cpp
-@@ -283,6 +283,8 @@
-       case __NR_set_tid_address:
-         return Allow();
- #endif
-+      case __NR_membarrier:
-+        return Allow();
- 
-         // prctl
-       case __NR_prctl: {
-
---- security/sandbox/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h
-+++ security/sandbox/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h
-@@ -1385,6 +1385,10 @@
- #define __NR_memfd_create (__NR_SYSCALL_BASE+385)
- #endif
- 
-+#if !defined(__NR_membarrier)
-+#define __NR_membarrier (__NR_SYSCALL_BASE+389)
-+#endif
-+
- // ARM private syscalls.
- #if !defined(__ARM_NR_BASE)
- #define __ARM_NR_BASE (__NR_SYSCALL_BASE + 0xF0000)
-
---- security/sandbox/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h
-+++ security/sandbox/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h
-@@ -1290,5 +1290,9 @@
- #define __NR_memfd_create 319
- #endif
- 
-+#if !defined(__NR_membarrier)
-+#define __NR_membarrier 324
-+#endif
-+
- #endif  // SANDBOX_LINUX_SYSTEM_HEADERS_X86_64_LINUX_SYSCALLS_H_
- 
---- security/sandbox/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
-+++ security/sandbox/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
-@@ -1490,5 +1490,9 @@
- #define __NR_shutdown 373
- #endif
- 
-+#if !defined(__NR_membarrier)
-+#define __NR_membarrier 375
-+#endif
-+
- #endif  // SANDBOX_LINUX_SYSTEM_HEADERS_X86_32_LINUX_SYSCALLS_H_
- 
diff --git a/srcpkgs/thunderbird/patches/fix-seccomp-bpf.patch b/srcpkgs/thunderbird/patches/fix-seccomp-bpf.patch
deleted file mode 100644
index ed94fc39ed0..00000000000
--- a/srcpkgs/thunderbird/patches/fix-seccomp-bpf.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc.orig	2015-09-23 09:10:08.812740571 +0200
-+++ security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc	2015-09-23 09:11:38.404746155 +0200
-@@ -23,6 +23,11 @@
- #include "sandbox/linux/services/android_ucontext.h"
- #endif
- 
-+// musl libc defines siginfo_t __si_fields instead of _sifields
-+#if defined(OS_LINUX) && !defined(__GLIBC__)
-+#define _sifields __si_fields
-+#endif
-+
- namespace {
- 
- struct arch_sigsys {
diff --git a/srcpkgs/thunderbird/patches/fix-toolkit.patch b/srcpkgs/thunderbird/patches/fix-toolkit.patch
deleted file mode 100644
index 86e8ef47855..00000000000
--- a/srcpkgs/thunderbird/patches/fix-toolkit.patch
+++ /dev/null
@@ -1,78 +0,0 @@
---- toolkit.orig/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h.orig    2016-07-05 21:00:03.672000517 +0200
-+++ toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h 2016-07-05 21:05:37.347806230 +0200
-@@ -1134,6 +1134,12 @@
- #ifndef __NR_fallocate
- #define __NR_fallocate          285
- #endif
-+
-+#undef __NR_pread
-+#define __NR_pread __NR_pread64
-+#undef __NR_pwrite
-+#define __NR_pwrite __NR_pwrite64
-+
- /* End of x86-64 definitions                                                 */
- #elif defined(__mips__)
- #if _MIPS_SIM == _MIPS_SIM_ABI32
---- toolkit.orig/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc	2014-03-15 05:19:36.000000000 +0000
-+++ toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc	2014-04-17 10:24:33.793431933 +0000
-@@ -45,6 +45,7 @@
- #include <sys/mman.h>
- #include <sys/stat.h>
- #include <unistd.h>
-+#include <libgen.h>
- 
- #include <iostream>
- #include <set>
---- toolkit.orig/crashreporter/google-breakpad/src/common/stabs_reader.cc	2014-03-15 05:19:36.000000000 +0000
-+++ toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc	2014-04-17 10:24:33.793431933 +0000
-@@ -41,6 +41,10 @@
- 
- #include "common/using_std_string.h"
- 
-+#ifndef N_UNDF
-+#define N_UNDF 0
-+#endif
-+
- using std::vector;
- 
- namespace google_breakpad {
---- toolkit.orig/crashreporter/google-breakpad/src/common/stabs_reader.h	2014-03-15 05:19:36.000000000 +0000
-+++ toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h	2014-04-17 10:24:33.793431933 +0000
-@@ -55,7 +55,7 @@
-
- #ifdef HAVE_MACH_O_NLIST_H
- #include <mach-o/nlist.h>
--#elif defined(HAVE_A_OUT_H)
-+#elif 0
- #include <a.out.h>
- #endif
-
---- toolkit.orig/mozapps/update/common/updatedefines.h	2019-01-29 11:34:36.416804577 +0100
-+++ toolkit/mozapps/update/common/updatedefines.h	2019-01-29 11:34:59.193583777 +0100
-@@ -102,7 +102,7 @@
-
- #  ifdef SOLARIS
- #    include <sys/stat.h>
--#  else
-+#  elif !(defined(__linux__)) || defined(__GLIBC__)
- #    include <fts.h>
- #  endif
- #  include <dirent.h>
---- toolkit.orig/mozapps/update/updater/updater.cpp	2014-03-15 05:19:37.000000000 +0000
-+++ toolkit/mozapps/update/updater/updater.cpp	2014-04-17 10:24:33.796765327 +0000
-@@ -3978,6 +3978,7 @@
- 
- int add_dir_entries(const NS_tchar* dirpath, ActionList* list) {
-   int rv = OK;
-+#if !defined(__linux__) || defined(__GLIBC__)
-   FTS* ftsdir;
-   FTSENT* ftsdirEntry;
-   mozilla::UniquePtr<NS_tchar[]> searchpath(get_full_path(dirpath));
-@@ -4085,6 +4086,7 @@
-   }
- 
-   fts_close(ftsdir);
-+#endif
- 
-   return rv;
- }
diff --git a/srcpkgs/thunderbird/patches/fix-tools.patch b/srcpkgs/thunderbird/patches/fix-tools.patch
index 0ed043fb5b5..d29da8bb54b 100644
--- a/srcpkgs/thunderbird/patches/fix-tools.patch
+++ b/srcpkgs/thunderbird/patches/fix-tools.patch
@@ -1,20 +1,3 @@
---- tools/profiler/lul/LulElf.cpp.orig	2019-01-29 12:05:34.223834130 +0100
-+++ tools/profiler/lul/LulElf.cpp	2019-01-29 12:08:02.480400845 +0100
-@@ -469,10 +469,10 @@
- // Return the non-directory portion of FILENAME: the portion after the
- // last slash, or the whole filename if there are no slashes.
- string BaseFileName(const string& filename) {
--  // Lots of copies!  basename's behavior is less than ideal.
--  char* c_filename = strdup(filename.c_str());
--  string base = basename(c_filename);
--  free(c_filename);
-+  // basename's behavior is less than ideal so avoid it
-+  const char *c_filename = filename.c_str();
-+  const char *p = strrchr(c_filename, '/');
-+  string base = p ? p+1 : c_filename;
-   return base;
- }
- 
 --- tools/profiler/core/platform-linux-android.cpp.orig	2019-01-29 12:09:40.980448579 +0100
 +++ tools/profiler/core/platform-linux-android.cpp	2019-01-29 12:11:09.689590967 +0100
 @@ -253,7 +253,11 @@
diff --git a/srcpkgs/thunderbird/patches/ppc32-fix-build.patch b/srcpkgs/thunderbird/patches/ppc32-fix-build.patch
new file mode 100644
index 00000000000..c1a8f422d0a
--- /dev/null
+++ b/srcpkgs/thunderbird/patches/ppc32-fix-build.patch
@@ -0,0 +1,36 @@
+This is not a complete/correct patch, but it makes firefox build. For now
+mostly for tracking, so a real fix can be made, but right now it still
+segfaults on start.
+
+Ref: https://hg.mozilla.org/mozilla-central/rev/08339a56f3ae
+Ref: https://hg.mozilla.org/mozilla-central/rev/d16fcad6aa60
+Ref: https://hg.mozilla.org/mozilla-central/rev/ab87611d012e
+Ref: https://hg.mozilla.org/mozilla-central/file/tip/xpcom/reflect/xptcall/md/unix/xptcinvoke_ppc_linux.cpp
+
+--- xpcom/reflect/xptcall/xptcall.h
++++ xpcom/reflect/xptcall/xptcall.h
+@@ -71,6 +71,11 @@ struct nsXPTCVariant {
+     ExtendedVal ext;
+   };
+ 
++#if defined(__powerpc__) && !defined(__powerpc64__)
++  // this field is still necessary on ppc32, as an address
++  // to it is taken certain places in xptcall
++  void *ptr;
++#endif
+   nsXPTType type;
+   uint8_t flags;
+ 
+@@ -91,7 +96,12 @@ struct nsXPTCVariant {
+   };
+ 
+   void ClearFlags() { flags = 0; }
++#if defined(__powerpc__) && !defined(__powerpc64__)
++  void SetIndirect() { ptr = &val; flags |= IS_INDIRECT; }
++  bool IsPtrData() const { return IsIndirect(); }
++#else
+   void SetIndirect() { flags |= IS_INDIRECT; }
++#endif
+ 
+   bool IsIndirect() const { return 0 != (flags & IS_INDIRECT); }
+ 
diff --git a/srcpkgs/thunderbird/patches/ppc32-skia-portable.patch b/srcpkgs/thunderbird/patches/ppc32-skia-portable.patch
deleted file mode 100644
index 93c625a861e..00000000000
--- a/srcpkgs/thunderbird/patches/ppc32-skia-portable.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- gfx/skia/skia/third_party/skcms/skcms.cc
-+++ gfx/skia/skia/third_party/skcms/skcms.cc
-@@ -1806,6 +1806,11 @@ typedef enum {
-     Op_store_ffff,
- } Op;
- 
-+// work around ICE on 32-bit ppc
-+#if defined(__powerpc__) && !defined(__powerpc64__)
-+#  define SKCMS_PORTABLE
-+#endif
-+
- #if defined(__clang__)
-     template <int N, typename T> using Vec = T __attribute__((ext_vector_type(N)));
- #elif defined(__GNUC__)
diff --git a/srcpkgs/thunderbird/patches/rust-configure.patch b/srcpkgs/thunderbird/patches/rust-configure.patch
index 09191782b35..887c102bc55 100644
--- a/srcpkgs/thunderbird/patches/rust-configure.patch
+++ b/srcpkgs/thunderbird/patches/rust-configure.patch
@@ -1,20 +1,23 @@
---- build/moz.configure/rust.configure	2020-06-06 10:05:25.819337924 +0200
-+++ build/moz.configure/rust.configure	2020-06-06 10:07:11.346031015 +0200
-@@ -79,10 +79,6 @@
+Mozilla rustc check does not support crossbuild: let's remove it
+Remove calls to unwrap_rustup, they fail if rustup isn't present
+
+--- build/moz.configure/rust.configure.orig	2019-10-17 04:19:59.000000000 +0700
++++ build/moz.configure/rust.configure	2019-10-22 11:48:55.616022140 +0700
+@@ -78,9 +78,6 @@
  
      return unwrap
  
 -rustc = unwrap_rustup(rustc, 'rustc')
 -cargo = unwrap_rustup(cargo, 'cargo')
 -
--
+ 
  set_config('CARGO', cargo)
  set_config('RUSTC', rustc)
+@@ -348,26 +345,6 @@
  
-@@ -366,25 +362,6 @@
              os.write(in_fd, source)
              os.close(in_fd)
- 
+-
 -            cmd = [
 -                rustc,
 -                '--crate-type', 'staticlib',
diff --git a/srcpkgs/thunderbird/patches/rust-glslopt.patch b/srcpkgs/thunderbird/patches/rust-glslopt.patch
new file mode 100644
index 00000000000..3717caa2290
--- /dev/null
+++ b/srcpkgs/thunderbird/patches/rust-glslopt.patch
@@ -0,0 +1,13 @@
+overwrite HOST_* flags to get rid of -MF
+
+--- third_party/rust/glslopt/build.rs	2020-06-03 01:37:31.000000000 +0200
++++ third_party/rust/glslopt/build.rs	2020-06-04 10:57:16.418469546 +0200
+@@ -28,6 +28,8 @@
+     env::remove_var(format!("CXXFLAGS_{}", &target));
+     env::remove_var(format!("CFLAGS_{}", target.replace("-", "_")));
+     env::remove_var(format!("CXXFLAGS_{}", target.replace("-", "_")));
++    env::set_var("HOST_CFLAGS", "-O2");
++    env::set_var("HOST_CXXFLAGS", "-O2");
+ 
+     configure(&mut cc::Build::new())
+         .warnings(false)
diff --git a/srcpkgs/thunderbird/patches/rust-has-i128.patch b/srcpkgs/thunderbird/patches/rust-has-i128.patch
new file mode 100644
index 00000000000..4c90cd3d106
--- /dev/null
+++ b/srcpkgs/thunderbird/patches/rust-has-i128.patch
@@ -0,0 +1,21 @@
+The configure check fails for cross builds.
+i128 is supported since rust-1.26, so it is safe for us to assume it is always present
+
+--- third_party/rust/num-traits/build.rs.orig	2020-02-14 23:57:25.985355610 +0100
++++ third_party/rust/num-traits/build.rs	2020-02-14 23:58:36.255710188 +0100
+@@ -1,14 +1,5 @@
+-extern crate autocfg;
+-
+-use std::env;
+-
+ fn main() {
+-    let ac = autocfg::new();
+-    if ac.probe_type("i128") {
+-        println!("cargo:rustc-cfg=has_i128");
+-    } else if env::var_os("CARGO_FEATURE_I128").is_some() {
+-        panic!("i128 support was not detected!");
+-    }
++    println!("cargo:rustc-cfg=has_i128");
+ 
+     autocfg::rerun_path("build.rs");
+ }
diff --git a/srcpkgs/thunderbird/patches/sandbox-fork.patch b/srcpkgs/thunderbird/patches/sandbox-fork.patch
new file mode 100644
index 00000000000..72640cb7f70
--- /dev/null
+++ b/srcpkgs/thunderbird/patches/sandbox-fork.patch
@@ -0,0 +1,13 @@
+make SYS_fork non-fatal, musl uses it for fork(2)
+
+--- security/sandbox/linux/SandboxFilter.cpp
++++ security/sandbox/linux/SandboxFilter.cpp
+@@ -1253,6 +1253,8 @@
+         // usually do something reasonable on error.
+       case __NR_clone:
+         return ClonePolicy(Error(EPERM));
++      case __NR_fork:
++        return Error(ENOSYS);
+ 
+ #  ifdef __NR_fadvise64
+       case __NR_fadvise64:
diff --git a/srcpkgs/thunderbird/patches/sndio.patch b/srcpkgs/thunderbird/patches/sndio.patch
index 6c72284c19b..c5e5c486dd1 100644
--- a/srcpkgs/thunderbird/patches/sndio.patch
+++ b/srcpkgs/thunderbird/patches/sndio.patch
@@ -1,8 +1,8 @@
 --- old-configure.in.orig
 +++ old-configure.in
-@@ -2839,6 +2839,22 @@
- 
- AC_SUBST(MOZ_ALSA)
+@@ -2818,6 +2818,22 @@
+     _NON_GLOBAL_ACDEFINES="$_NON_GLOBAL_ACDEFINES NECKO_COOKIES"
+ fi
  
 +dnl ==================================
 +dnl = Check sndio availability
@@ -21,26 +21,11 @@
 +AC_SUBST(MOZ_SNDIO)
 +
  dnl ========================================================
- dnl = Disable PulseAudio
- dnl ========================================================
---- toolkit/library/moz.build.orig
-+++ toolkit/library/moz.build
-@@ -235,10 +235,8 @@
- if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('cocoa', 'uikit'):
-     OS_LIBS += CONFIG['TK_LIBS']
- 
--if CONFIG['OS_ARCH'] == 'OpenBSD':
--    OS_LIBS += [
--        'sndio',
--    ]
-+if CONFIG['MOZ_SNDIO']:
-+    OS_LIBS += CONFIG['MOZ_SNDIO_LIBS']
- 
- if CONFIG['MOZ_ENABLE_DBUS']:
-     OS_LIBS += CONFIG['MOZ_DBUS_GLIB_LIBS']
+ dnl =
+ dnl = Maintainer debug option (no --enable equivalent)
 --- media/libcubeb/src/moz.build.orig
 +++ media/libcubeb/src/moz.build
-@@ -43,7 +43,7 @@
+@@ -44,11 +44,13 @@
      ]
      DEFINES['USE_JACK'] = True
  
@@ -49,49 +34,19 @@
      SOURCES += [
          'cubeb_sndio.c',
      ]
---- build/moz.configure/old.configure.orig
-+++ build/moz.configure/old.configure
-@@ -169,6 +169,7 @@
+     DEFINES['USE_SNDIO'] = True
++
++if CONFIG['OS_ARCH'] == 'OpenBSD':
+     DEFINES['DISABLE_LIBSNDIO_DLOPEN'] = True
+ 
+ if CONFIG['OS_TARGET'] == 'Darwin':
+--- build/moz.configure/old.configure	2020-06-30 12:17:04.087609070 +0200
++++ -	2020-06-30 12:18:26.027756310 +0200
+@@ -210,6 +210,7 @@
  @old_configure_options(
      '--cache-file',
      '--datadir',
 +    '--enable-sndio',
-     '--enable-content-sandbox',
-     '--enable-cookies',
-     '--enable-cpp-rtti',
---- security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp.orig
-+++ security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
-@@ -349,6 +349,21 @@
-         }
-       }
-     }
-+
-+#ifdef MOZ_SNDIO
-+    // ~/.aucat_cookie (sndio)
-+    rv = homeDir->Clone(getter_AddRefs(confDir));
-+    if (NS_SUCCEEDED(rv)) {
-+      rv = confDir->AppendNative(NS_LITERAL_CSTRING(".aucat_cookie"));
-+      if (NS_SUCCEEDED(rv)) {
-+        nsAutoCString tmpPath;
-+        rv = confDir->GetNativePath(tmpPath);
-+        if (NS_SUCCEEDED(rv)) {
-+          policy->AddPath(rdwrcr, tmpPath.get());
-+        }
-+      }
-+    }
-+#endif
-   }
- 
-   // Firefox binary dir.
---- security/sandbox/linux/moz.build.orig
-+++ security/sandbox/linux/moz.build
-@@ -81,6 +81,9 @@
- if CONFIG['MOZ_ALSA']:
-     DEFINES['MOZ_ALSA'] = True
- 
-+if CONFIG['MOZ_SNDIO']:
-+    DEFINES['MOZ_SNDIO'] = True
-+
- # This copy of SafeSPrintf doesn't need to avoid the Chromium logging
- # dependency like the one in libxul does, but this way the behavior is
- # consistent.  See also the comment in SandboxLogging.h.
+     '--enable-crashreporter',
+     '--enable-dbus',
+     '--enable-debug-js-modules',
diff --git a/srcpkgs/thunderbird/template b/srcpkgs/thunderbird/template
index 72799736e9b..9d1460308ac 100644
--- a/srcpkgs/thunderbird/template
+++ b/srcpkgs/thunderbird/template
@@ -3,7 +3,7 @@
 # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/thunderbird-i18n".
 #
 pkgname=thunderbird
-version=68.12.1
+version=78.5.1
 revision=1
 build_helper="rust"
 short_desc="Standalone Mail/News reader"
@@ -11,27 +11,26 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.thunderbird.net/"
 distfiles="${MOZILLA_SITE}/${pkgname}/releases/${version}/source/${pkgname}-${version}.source.tar.xz"
-checksum=a2044fb611ac6ab1744ef61f5d292d2c81b8103438df02b6dd754968efc9a3af
+checksum=17ec895e3dd435da49bfa30482e2397e644319b7f82890d2a947c95a5cb183c2
 
 lib32disabled=yes
 
-hostmakedepends="autoconf213 unzip zip pkg-config perl python python3 yasm rust cargo
- llvm clang nodejs cbindgen nasm which tar"
+hostmakedepends="autoconf213 unzip zip pkg-config perl python3 yasm rust cargo
+ llvm clang nodejs-lts-10 cbindgen python nasm which tar"
 makedepends="nss-devel libjpeg-turbo-devel gtk+-devel gtk+3-devel icu-devel
- pixman-devel sqlite-devel libevent-devel libnotify-devel libvpx5-devel
+ pixman-devel libevent-devel libnotify-devel libvpx-devel
  libXrender-devel libXcomposite-devel libSM-devel libXt-devel rust-std
  libXdamage-devel freetype-devel $(vopt_if alsa alsa-lib-devel)
  $(vopt_if dbus dbus-glib-devel) $(vopt_if pulseaudio pulseaudio-devel)
- $(vopt_if startup_notification startup-notification-devel)
  $(vopt_if xscreensaver libXScrnSaver-devel)
- $(vopt_if sndio sndio-devel)"
-depends="nss>=3.37.3 desktop-file-utils hicolor-icon-theme"
+ $(vopt_if sndio sndio-devel) $(vopt_if jack jack-devel)"
+depends="nss>=3.47.1 desktop-file-utils hicolor-icon-theme"
 
-build_options="alsa dbus pulseaudio startup_notification xscreensaver sndio wayland"
-build_options_default="alsa dbus pulseaudio startup_notification xscreensaver sndio wayland"
+build_options="alsa jack dbus pulseaudio xscreensaver sndio wayland"
+build_options_default="alsa jack dbus pulseaudio xscreensaver sndio wayland"
 
 case $XBPS_TARGET_MACHINE in
-	armv6*) broken="required NEON extensions are not supported on armv6" ;;
+	armv[56]*) broken="required NEON extensions are not supported on armv6" ;;
 	ppc64*) ;;
 	ppc*) broken="xptcall bitrot" ;;
 esac
@@ -64,7 +63,9 @@ post_extract() {
 }
 
 post_patch() {
-	_clear_vendor_checksums cssparser
+	_clear_vendor_checksums audio_thread_priority
+	_clear_vendor_checksums num-traits
+	_clear_vendor_checksums glslopt
 }
 
 do_build() {
@@ -73,7 +74,7 @@ do_build() {
 	case "$XBPS_TARGET_MACHINE" in
 	*-musl)
 		echo "ac_add_options --disable-jemalloc" >>.mozconfig
-		echo "ac_add_options --enable-release" >>.mozconfig
+		echo "ac_add_options --disable-gold" >>.mozconfig
 		;;
 	esac
 
@@ -93,18 +94,15 @@ do_build() {
 		export LDFLAGS+=" -latomic"
 	fi
 
-	case "$XBPS_TARGET_MACHINE" in
-	x86_64-musl|i686-musl)
-		echo "ac_add_options --host=${XBPS_TRIPLET}" >>.mozconfig
-		echo "ac_add_options --target=${XBPS_TRIPLET}" >>.mozconfig
-		;;
-	esac
-
 	if [ "$CROSS_BUILD" ]; then
 		BINDGEN_INCLUDE_FLAGS=$( $CPP -x c++ -v /dev/null -o /dev/null 2>&1 | \
 			sed -n '/#include <...> search starts here:/,/End of search list./p' | \
 			sed '1,1d;$d' | sed  's/^ /-I/' | paste -s )
 
+		# fix compiler detection for botan:
+		# https://github.com/randombit/botan/blob/63d51cb1ab08849d8ece329811b61f8c9abebbcf/configure.py#L2888
+		export CXX="${XBPS_CROSS_TRIPLET}-g++"
+
 		export BINDGEN_CFLAGS="--target=$XBPS_CROSS_TRIPLET \
 			--sysroot=${XBPS_CROSS_BASE} ${BINDGEN_INCLUDE_FLAGS}"
 		export HOST_CC=cc
@@ -128,10 +126,6 @@ do_build() {
 	mkdir -p third_party/rust/libloading/.deps
 
 	case "$XBPS_TARGET_MACHINE" in
-	i686*)
-		export CFLAGS+=" -D_FILE_OFFSET_BITS=64"
-		export CXXFLAGS+=" -D_FILE_OFFSET_BITS=64"
-		;;
 	armv7*)
 		export CFLAGS+=" -mfpu=neon -Wno-psabi"
 		export CXXFLAGS+=" -mfpu=neon -Wno-psabi"
@@ -145,9 +139,14 @@ do_build() {
 		export LDFLAGS+=" -Wl,--no-keep-memory"
 		# patch the rust debug level, this is hardcoded
 		sed -i "s/debug_info = '2'/debug_info = '1'/" \
-		 build/moz.configure/toolchain.configure
+		build/moz.configure/toolchain.configure
 	fi
 
+	case "$XBPS_TARGET_MACHINE" in
+	aarch64*|i686*|x86_64*)
+		echo "ac_add_options --enable-rust-simd" >>.mozconfig ;;
+	esac
+
 	export LDFLAGS+=" -Wl,-rpath=/usr/lib/thunderbird"
 
 	if [ "$SOURCE_DATE_EPOCH" ]; then
@@ -157,20 +156,20 @@ do_build() {
 	export MOZ_MAKE_FLAGS="${makejobs}"
 	export MOZ_NOSPAM=1
 	export MOZBUILD_STATE_PATH="${wrksrc}/mozbuild"
-	# avoid error: /usr/bin/as: invalid option -- 'N'
-	unset AS
+
+	export AS=$CC
 
 	cat <<! >>.mozconfig
 ac_add_options --with-google-location-service-api-keyfile="${wrksrc}/google-api-key"
 ac_add_options --with-google-safebrowsing-api-keyfile="${wrksrc}/google-api-key"
 ac_add_options --with-mozilla-api-keyfile="${wrksrc}/mozilla-api-key"
 ac_add_options $(vopt_enable alsa)
+ac_add_options $(vopt_enable jack)
 ac_add_options $(vopt_enable sndio)
 ac_add_options $(vopt_enable dbus)
 ac_add_options $(vopt_enable dbus necko-wifi)
 ac_add_options $(vopt_enable pulseaudio)
-ac_add_options $(vopt_enable startup_notification startup-notification)
-ac_add_options --enable-default-toolkit=$(vopt_if wayland 'cairo-gtk3-wayland' 'cairo-gtk')
+ac_add_options --enable-default-toolkit=$(vopt_if wayland 'cairo-gtk3-wayland' 'cairo-gtk3')
 !
 
 	rm -f old-configure
@@ -182,9 +181,9 @@ do_install() {
 	vinstall ${FILESDIR}/vendor.js 644 usr/lib/thunderbird/defaults/preferences
 	vinstall ${FILESDIR}/thunderbird.desktop 644 usr/share/applications
 
-	for i in 16 22 24 32 48 256; do
-		vinstall ./comm/mail/branding/thunderbird/default$i.png 644 \
-			usr/share/icons/hicolor/${i}x${i}/apps thunderbird.png
+	for i in 16x16 22x22 24x24 32x32 48x48 128x128 256x256; do
+		vinstall ${wrksrc}/comm/mail/branding/thunderbird/default${i%x*}.png 644 \
+			usr/share/icons/hicolor/${i}/apps thunderbird.png
 	done
 
 	# Use system-provided dictionaries
@@ -197,4 +196,6 @@ do_install() {
 
 	# https://bugzilla.mozilla.org/show_bug.cgi?id=658850
 	ln -sf thunderbird ${DESTDIR}/usr/lib/thunderbird/thunderbird-bin
+
+	vbin ${FILESDIR}/thunderbird-wayland
 }

From f9f8aeac1f3c66732f8327600ceaa502ffb7ce2b Mon Sep 17 00:00:00 2001
From: mmnmnnmnmm <45293514+mmnmnnmnmm@users.noreply.github.com>
Date: Wed, 2 Dec 2020 16:30:35 -0300
Subject: [PATCH 2/2] thunderbird-i18n: update to 78.5.1.

---
 srcpkgs/thunderbird-i18n/template | 114 +++++++++++++++---------------
 1 file changed, 57 insertions(+), 57 deletions(-)

diff --git a/srcpkgs/thunderbird-i18n/template b/srcpkgs/thunderbird-i18n/template
index 47c9ca4b560..bca06091afe 100644
--- a/srcpkgs/thunderbird-i18n/template
+++ b/srcpkgs/thunderbird-i18n/template
@@ -1,6 +1,6 @@
 # Template file for 'thunderbird-i18n'
 pkgname=thunderbird-i18n
-version=68.12.1
+version=78.5.1
 revision=1
 build_style=meta
 short_desc="Thunderbird language packs"
@@ -79,7 +79,7 @@ for _lang in "${_languages[@]}"; do
 	_pkgname=thunderbird-i18n-${_locale}
 
 	depends+=" ${_pkgname}>=${version}"
-	distfiles+=" ${MOZILLA_SITE}/thunderbird/releases/${version}/linux-i686/xpi/${_locale}.xpi"
+	distfiles+=" ${MOZILLA_SITE}/thunderbird/releases/${version}/linux-x86_64/xpi/${_locale}.xpi"
 
 	eval "${_pkgname}_package() {
 		_pkgtmpl $_lang
@@ -96,58 +96,58 @@ _pkgtmpl() {
 	}
 }
 
-checksum="daaef9e7b8c55328def0f22cad60ca48ad774afc4190b5e5eaf8e3dd1a4e5f28
- 8ff401dac77853307572acc410fd9c60b27b9577e7cbeff798e09107ed423d9c
- cd19b72064b00ad4ba4b4c851e8ec634b3c75e2102b38c44385c761ec9152a81
- 031c9f61077ab08e8b896668e61e09a01720ac5f22f1a97046e4ba1abff653c3
- 6e6b9f12dce243c15f0601f7a6743e8fb0c3a2d98475659ea778afa80382d826
- 574b0ffef6849443395533a638ad9931dc2226f619a13526ea16364f60865d79
- 62d43bab52e891d56b43696f80a4d7287c9e5b92e57645dcc0e2b800e49bfc73
- 546bcb01d473cdf3d114efc7546d7499997c49710e38a75c77875cc0141b8582
- 0a4a2238f2630b3d2aa244aafe2bc59b78192fe973e977b72e71bcd170b852d7
- 2e2e2d793f49c323d265205f75ab08c460591c400a28b9c11c71dd3080c4e111
- 4b54e6395e0cad7bf01a41aea26eaa0b8a238d83bbbef70a80cb5472408c3538
- 782c27adfcfa3d8bfbbb46eaf2442f738f63e623e5c3a9fe25e9ef06c54270f2
- dc23f05f6df9c9c133c5c1102e02d3703a7d42d6cd3021ff9e1b44bc010d36fa
- 189307a002a0ee88dfb373ae7daef44f13d3d86d292404fe75b9282c6ec70d9d
- ef8be85899e8690b56a82bfafcb2422e21aa688ca716cf88fad660e2413a4371
- def5c5acbc82f1274c74d407e4ce9aeca05298d4d2ecff9ee6a4048c4f748bb9
- de3289bc94be4a76777a56af95b04957fc8289ac0e28a0fe5b0f84716164f3b1
- b87fce391136a20fb53690cbdfe96511d0f44a07c8f6850d46942d753506dafe
- 2ea16aaf34e59b91d079b238489b8e99f2ac5c051127d80c130606fbedc17e82
- d67cbf27d266394ec2ffdd6f6d5925a1bc3b779e190b43e126fac869d32a9772
- 5f241e80aafee6bd7cb38708723d65d22d0cf599da8310afed43b571e654ad30
- 04b1aa4a9540672b27a318bf0e8b051ecd2fd8e0fac9688972a98d24dc395cdc
- ce24a1f51ff480d87b575e68d3da088ab70390a6efdc86a373bcc625b0d4fe69
- ea147f235edafa18144c76ca843716d5e4a3806f7096a2888c15e45a291b8bb2
- 061ba1d21aedcdcbcf8b8a9bab53b16ef34e4b4abda0d2e43e49d4263ffbffb7
- 819530775c72a822a581c76d090e0709133905293d3df769d2c85692d1c7a4d9
- c2f22993f2fd735e4ba8a34e8857546c4b9792b9a93488dddba30a2527ae174a
- a847a8f00321f20846c45907458ae76f842d3107ddfac2fcf71e641c6a080c51
- bcc6e48b51c67571c5ec08361134fbc3e4982ed27f3dab1e5b1ccfd26b3e22b1
- 368d63db282c200f5caaf65837a470df64db5a513d0b5e7d639e353fa8987c51
- 084bf0bb5fc42f068ae099d845c121f5ec8a1bcb91a76d80b6e49394b9e85e9d
- 578c24c143dda65697dc1708597215d59e5f2cc68b1f52e00901e07b3cea0dd4
- 1c2769d19ee3d444c75c4133f540ecf6860a6272bbb69f13524ca928bac33721
- a9f2683f18b29503ea38df815107e3753c0c3c37468cc0c23fea25080ba7392d
- dd61640c8987cbc5b8a41465e89200e3cef635c6931ce3f586a683d992492409
- c274dc81cab7b3b2ba3e0a4a55b4b94ed9ff02be48c808b0164aba386aae7cd9
- 76b850488e513e5181b4f460227fdb9f7a297aa95bca7778f407521be6355d23
- 1924933c175b04d088fc5764fedc6a317396234e591ef9f787cbd6d21bf43790
- 28006df283c06e44ef08901f9db21011350930bdf0d0cba132d2d8eadbefd314
- a90bce2d48d0b2f2db0423a22aad05c129029fb1b38824d7bb7875e6ff7a1cf4
- 77fbb6ddc67edffbdb0d3f992ed54f5309da13dfa9216d5c4ee613be6c9cec37
- 19df7a1f9216a69098fdbe7629140e7f36f52dbdd4b15a4c78734e448be3cdb2
- 0768ddd6ffeec0b1354270ff8c9627bffe9ddbe907c9d35081d5d9b6bae04874
- 8de1bb65249f9b06a3f90c02c1c715c8e308bccbaae22cde2f784ccac9228573
- eebe0e05bab4a0061d5d8eb1cbb5f2769ca4befd3276db769b83906adaa3ef34
- c23110b70da779084bbac3d55e87482ebf9502f249e11d9ed8956aac767f5889
- 27b5911a4ffa6a2a3e9ec4fdb10420ba33f333d9ac11deda8115656c5bcefb0b
- 44954a28be58dc2de08f0586ec7d8591939f81f3bb05a4574d8f58ac00b55ce8
- 3ac0f4e9cfcbe5089dcfb36eb39d8e26b16f062dcc12b5b89e6f619ab3caf013
- 4be6d239fd175d1bef88da579c7c1e6b244ae698aa4302a8a00069e2c0119331
- c705309c32c0d4af7b4f8e98095919f2942329b1cad75e8fff168f6c0ea71baf
- e6b9247a733e918f5e49aa6d11563c52b33d5f4f2f2cd4fd542953602b090c68
- ae1b27bba6d82606b55bffc0275e35bbf6da3b5d6c5e242ce5ac62d3bf81c630
- ffb9e14f03454cdf2d180d3960a3bbd13ccb6e177e86a1918d524c6de203df28
- cca092e8f86e4102de12461ab5c8ab0b601846113a837508ff8b8c9d5a10e588"
+checksum="ec25a427c59e9fa924b9babac035c3a3753a385fbc1069aadce3c4125a7fcbc9
+ c1cee9aebbfb89bbf5b53f7c72939c35dcc6b35d7093f044f94ef9c4504f7e3d
+ c19185c591865a4a4f1ec3c07874c2cf67a6c75c38498659e22914a822aeac9d
+ 8f5d3f3777aa6d1d25ee85938aef5037e4165447dd2aadd9425d2268f34b854d
+ c83abea2ee982cd6270168b7d267366462924027d3b9f0bcc3c1854ffe2c2228
+ 4ce6b1b59567e4160205791a27fcf0449f4b2e57f686de4cea92c72e7689ba30
+ f9db6086397bdc3abe98275d9804d7a252d03d8b16cb636aeaf2767e34670668
+ 9853698d9db5002a440fca4f8ca688529bd76397d256dd420482656b0317a62c
+ eae693c2fdc62db8157342d3240ae4caf1be93ef99d0cf206533cbc32975d18b
+ e56cb822478b4aeb359fee9144b31ab35ff3c3fbce297e407def6d906fdcf590
+ afbc06642b287f9348cfbc0a2ab7221d5eec32fb71c98f36c474733e09421074
+ b8ac125dfd9582f3bbd5f84c1ea1bd25575624942a1406bd2ab95d5e48eb304d
+ e32e932b387d7e386e262c115b8683a70a6fa8fe491c02e5eeb386bf6471518f
+ 2169f8efaf09c9ccbcf5bac2ae700c88922fb505a56bd68b74f8e550947aa290
+ b21715093124326d899e41d106fba7b9460f3a7ebd5c843cc53218619f8700d8
+ 057dcc7fbc9bd10062a37ac25fbcaaa9ee00974a8c2f0104764db371a371d162
+ d02f5692728c1b11647ea6abc03753ba7e4c05c5db8bb599f93a69451434a2b8
+ 07928e750bbc640625f632a963bc882bec0cac9a0e9485045d08a85e4e0525d0
+ 463cb4bc2417cd900e893649c84a9f1a8ef334bcab7cec1b58b5d2fc9f4ae74c
+ 34e3771929ffb14e128adc963eaaeec20615998b06d47164b3e834be612870b7
+ 957f8dda84736a0fd5c2e6ebb8505862b850e5f0e543098c3d252b2f60750b7d
+ 7686231ee1b9245ea5bc4cea25ea388543bb662db5e688535d5dee0c999cf911
+ 9e3a0089eb8ca12f59266b8ebaf223263a3d7522c8ac3b813e107cacc96834a2
+ c50da6155cf02717b3d36f9400acc7c61f469bf08fd9d70a32c6f6bd56568d09
+ 5e4f32e7c1682b4622304d833b2cd18ad1c2a1bedf79e9ae5f68d682b5368528
+ 4f35a356a4c75d6bc4416a64557c8fca6e829aa65a3630822b603451b46e15c9
+ 25291886aa4b279092882b9af21c080032588ad41b7c63c5fbb5259e7711af82
+ f92697835b5e63b8cae60ad072b984809e9126f149c7f0afd2d4637cac60d266
+ ba9557cd945d6011a4b311835ca4c77085e59c185569591278ff0aa9516917c5
+ 4d4d552d6d2a5f87caff20308fdbca958b7bfe884788e2d52579bfa9f09a3179
+ 18580ba9421ffe4f5aac969c05e7c951ccbb8bd0daa8d66286b69a57b2dba461
+ ccac10e557dcf2ab91116cbec62afbe3bd38a405fb400a2c3428b33568ecb929
+ 2ad2f0c37903c6a2c25b162ab2802a7e2fafff3b0905fddc79afe904b0a5d933
+ 383a243c5bda399e41c4dac3de78eba47a433816c78a1c0b1535e110f73d16fd
+ 1d515682dd710ab88d46ba288e75afa60057cebe751a939759f9d26d9f0dc486
+ c9645eb923649fbf70ae348faee0ea4960e41f6c5a7fb3b8ff04280a2e50b2f5
+ ebcf6c66735f14af43104c9875bc697cb55e5ddbac0fc1ace214898e7aec3c91
+ 16cb719a8c3e5109d564aa3a1ac749ffd01f5eb4146ea37bece4f215b124a947
+ 51109ee36de6d1f6f119e43845fc5ae006f30cada9df52cd5079d7a44b732f6b
+ 7e18dde12d9a3d74d7c5da9ba4b599fc00413b3badd1dd544ac670675e4ca0a5
+ c3079c2291f7e285881e2c7fe5f72aeddc412c475c18503c49d4b00fec817028
+ 3dad8f1feda31074ad2303b81dc48a57bbc234de8376be021708bbc6936afec3
+ 3ebde4003dc5cd9e2a2b20540b1c8b650e58920d1ab4a2afc3da97377ff0063f
+ a45be4b8611a97c85ec21d2587f86cb1a47a3877e2563f88877e20a2fd2d5831
+ 04c415ae24ffea9f8805390fc9d7f58b30063fbc545b440dfad76432821880bc
+ cb876b12e08a15c1bb7b6eb573a4c47495e211ede8a2d5b36583c98a99e092da
+ df39d3e81f79326119b87459d279d505e29f0edbd4ebfd70bd57e27a397b3627
+ 44f930a2e91dc79a3eebdd019ea4755a424a71402df21b14201435376d82117c
+ a23c9f9656c95204f0950e23c8687fd9eda3d5ff97359bd5eaae617246bb968a
+ 2c713967b22a0a903c5205f359a43415f23f3e647a1a7ecacdbc0c061db91209
+ 36e678098e46b5f4c1e5fb5cfae86f2f35b4f51fd2f5f9afb5853a2f16f17bb6
+ 88c16eef0a5b2414d67f60e546d1632bc6f469473fb09748f6eb98166a9f3b96
+ a832bd70ff0ede843dcbc3898a7c37fe2a60fe2180c890ec15286a7ceb4e7a33
+ 05d54ed2f0218086a6328db67fe4a10170d595c2743317c838c63cb63d6a661a
+ 51a0f0767a431325699778621d744d7c9f1e89a7cbd7540b5aa247994c899348"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Thunderbird 78.5.1
  2020-12-03  0:43 [PR PATCH] Thunderbird 78.5.1 ericonr
  2020-12-03  0:44 ` [PR PATCH] [Updated] " ericonr
@ 2020-12-13  9:39 ` dkwo
  2020-12-15  9:38 ` dkwo
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: dkwo @ 2020-12-13  9:39 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 210 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/26896#issuecomment-743979711

Comment:
I missed this pr, will test tomorrow on my x86_64-musl machine.
Thanks.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Thunderbird 78.5.1
  2020-12-03  0:43 [PR PATCH] Thunderbird 78.5.1 ericonr
  2020-12-03  0:44 ` [PR PATCH] [Updated] " ericonr
  2020-12-13  9:39 ` dkwo
@ 2020-12-15  9:38 ` dkwo
  2020-12-15 13:35 ` ericonr
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: dkwo @ 2020-12-15  9:38 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 407 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/26896#issuecomment-745170859

Comment:
It builds successfully.
@ericonr Could you remind me how to install on my local machine a package that was buillt on a different one (same arch) and copied via scp, if possible? I have a `thunderbird-78.5.1_1.x86_64-musl.xbps` file but not sure how to use it.
Thanks.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Thunderbird 78.5.1
  2020-12-03  0:43 [PR PATCH] Thunderbird 78.5.1 ericonr
                   ` (2 preceding siblings ...)
  2020-12-15  9:38 ` dkwo
@ 2020-12-15 13:35 ` ericonr
  2020-12-15 13:42 ` dkwo
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: ericonr @ 2020-12-15 13:35 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 183 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/26896#issuecomment-745290364

Comment:
@dkwo just use `xdowngrade` from `xtools`!

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Thunderbird 78.5.1
  2020-12-03  0:43 [PR PATCH] Thunderbird 78.5.1 ericonr
                   ` (3 preceding siblings ...)
  2020-12-15 13:35 ` ericonr
@ 2020-12-15 13:42 ` dkwo
  2021-01-06 19:25 ` fusion-zone
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: dkwo @ 2020-12-15 13:42 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 215 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/26896#issuecomment-745294054

Comment:
Thanks.
It seems to work fine, you can merge the PR as far as I'm concerned.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Thunderbird 78.5.1
  2020-12-03  0:43 [PR PATCH] Thunderbird 78.5.1 ericonr
                   ` (4 preceding siblings ...)
  2020-12-15 13:42 ` dkwo
@ 2021-01-06 19:25 ` fusion-zone
  2021-01-06 22:45 ` ericonr
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: fusion-zone @ 2021-01-06 19:25 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 230 bytes --]

New comment by fusion-zone on void-packages repository

https://github.com/void-linux/void-packages/pull/26896#issuecomment-755557122

Comment:
Hi,
is there an schedule when Thunderbird 78.x gets released as a package?

Thanks

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Thunderbird 78.5.1
  2020-12-03  0:43 [PR PATCH] Thunderbird 78.5.1 ericonr
                   ` (5 preceding siblings ...)
  2021-01-06 19:25 ` fusion-zone
@ 2021-01-06 22:45 ` ericonr
  2021-01-06 22:45 ` ericonr
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: ericonr @ 2021-01-06 22:45 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 249 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/26896#issuecomment-755762653

Comment:
I'm working on finishing it up (and updating to 78.6.0), then will as for review from others and merge ASAP.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Thunderbird 78.5.1
  2020-12-03  0:43 [PR PATCH] Thunderbird 78.5.1 ericonr
                   ` (6 preceding siblings ...)
  2021-01-06 22:45 ` ericonr
@ 2021-01-06 22:45 ` ericonr
  2021-01-07  0:08 ` [PR PATCH] [Updated] " ericonr
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: ericonr @ 2021-01-06 22:45 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 250 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/26896#issuecomment-755762653

Comment:
I'm working on finishing it up (and updating to 78.6.0), then will ask for review from others and merge ASAP.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Updated] Thunderbird 78.5.1
  2020-12-03  0:43 [PR PATCH] Thunderbird 78.5.1 ericonr
                   ` (7 preceding siblings ...)
  2021-01-06 22:45 ` ericonr
@ 2021-01-07  0:08 ` ericonr
  2021-01-07  0:15 ` Thunderbird 78.6.0 ericonr
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: ericonr @ 2021-01-07  0:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 557 bytes --]

There is an updated pull request by ericonr against master on the void-packages repository

https://github.com/ericonr/void-packages thundernew
https://github.com/void-linux/void-packages/pull/26896

Thunderbird 78.5.1
Still seeing if cross compilation reaches the end successfully.

Would appreciate testers.

Have launched on x86_64-musl, but I'm not on the device that uses thunderbird, so I haven't logged in yet.

Based on and closes #24509 

[ci skip]

A patch file from https://github.com/void-linux/void-packages/pull/26896.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-thundernew-26896.patch --]
[-- Type: text/x-diff, Size: 54173 bytes --]

From 6623a541e8228bf7fe8007dc41093d23506179ec Mon Sep 17 00:00:00 2001
From: mmnmnnmnmm <45293514+mmnmnnmnmm@users.noreply.github.com>
Date: Wed, 2 Dec 2020 16:30:22 -0300
Subject: [PATCH 1/2] thunderbird: update to 78.6.0.

- sync patches with firefox-esr
- add --allow-addon-sideload to mozconfig so language packs work
---
 srcpkgs/thunderbird/files/mozconfig           |  12 +-
 .../patches/big-endian-image-decoders.patch   |  88 +++++++++++
 .../disable-image-format-warning.patch        |  15 --
 srcpkgs/thunderbird/patches/fix-cross.patch   |  16 ++
 .../patches/fix-desktop-icon-path.patch       |  11 ++
 .../patches/fix-i686-ppc-musl.patch           |   8 +-
 .../patches/fix-image-format-warning.patch    |  39 +++++
 srcpkgs/thunderbird/patches/fix-musl.patch    |  11 --
 .../patches/fix-sandbox-membarrier.patch      |  52 -------
 .../thunderbird/patches/fix-seccomp-bpf.patch |  14 --
 srcpkgs/thunderbird/patches/fix-toolkit.patch |  78 ----------
 srcpkgs/thunderbird/patches/fix-tools.patch   |  29 ----
 .../thunderbird/patches/flac-no-ffvpx.patch   |  26 ++++
 .../thunderbird/patches/ppc32-fix-build.patch |  36 +++++
 .../patches/ppc32-skia-portable.patch         |  14 --
 .../thunderbird/patches/rust-configure.patch  |  15 +-
 .../thunderbird/patches/rust-has-i128.patch   |  21 +++
 .../thunderbird/patches/sandbox-fork.patch    |  13 ++
 .../patches/sandbox-largefile.patch           |  17 ++
 srcpkgs/thunderbird/patches/skia-sucks1.patch | 147 +++++++++---------
 srcpkgs/thunderbird/patches/skia-sucks3.patch |  28 +++-
 srcpkgs/thunderbird/patches/sndio.patch       |  81 +++-------
 srcpkgs/thunderbird/template                  |  64 ++++----
 23 files changed, 432 insertions(+), 403 deletions(-)
 create mode 100644 srcpkgs/thunderbird/patches/big-endian-image-decoders.patch
 delete mode 100644 srcpkgs/thunderbird/patches/disable-image-format-warning.patch
 create mode 100644 srcpkgs/thunderbird/patches/fix-cross.patch
 create mode 100644 srcpkgs/thunderbird/patches/fix-desktop-icon-path.patch
 create mode 100644 srcpkgs/thunderbird/patches/fix-image-format-warning.patch
 delete mode 100644 srcpkgs/thunderbird/patches/fix-musl.patch
 delete mode 100644 srcpkgs/thunderbird/patches/fix-sandbox-membarrier.patch
 delete mode 100644 srcpkgs/thunderbird/patches/fix-seccomp-bpf.patch
 delete mode 100644 srcpkgs/thunderbird/patches/fix-toolkit.patch
 create mode 100644 srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
 create mode 100644 srcpkgs/thunderbird/patches/ppc32-fix-build.patch
 delete mode 100644 srcpkgs/thunderbird/patches/ppc32-skia-portable.patch
 create mode 100644 srcpkgs/thunderbird/patches/rust-has-i128.patch
 create mode 100644 srcpkgs/thunderbird/patches/sandbox-fork.patch
 create mode 100644 srcpkgs/thunderbird/patches/sandbox-largefile.patch

diff --git a/srcpkgs/thunderbird/files/mozconfig b/srcpkgs/thunderbird/files/mozconfig
index 334846e9a64..b30e8fc4886 100644
--- a/srcpkgs/thunderbird/files/mozconfig
+++ b/srcpkgs/thunderbird/files/mozconfig
@@ -3,7 +3,6 @@ ac_add_options --libdir=/usr/lib
 
 ac_add_options --with-system-nspr
 ac_add_options --with-system-nss
-ac_add_options --with-system-bz2
 ac_add_options --with-system-jpeg
 ac_add_options --with-system-zlib
 ac_add_options --with-system-libevent
@@ -12,12 +11,8 @@ ac_add_options --with-system-icu
 # XXX: the system's libpng doesn't have APNG support
 ac_add_options --without-system-png
 ac_add_options --enable-system-pixman
-ac_add_options --enable-system-sqlite
 ac_add_options --enable-system-ffi
 
-ac_add_options --with-nspr-prefix=${XBPS_CROSS_BASE}/usr
-ac_add_options --with-nss-prefix=${XBPS_CROSS_BASE}/usr
-
 nspr_config_args="
  --libdir=${XBPS_CROSS_BASE}/usr/lib
  --includedir=${XBPS_CROSS_BASE}/usr/include/nspr"
@@ -26,16 +21,17 @@ nss_config_args="
  --libdir=${XBPS_CROSS_BASE}/usr/lib
  --includedir=${XBPS_CROSS_BASE}/usr/include/nss"
 
-ac_add_options --disable-gconf
 ac_add_options --disable-tests
 ac_add_options --disable-crashreporter
 ac_add_options --disable-updater
 ac_add_options --disable-install-strip
 ac_add_options --disable-strip
 ac_add_options --disable-profiling
-ac_add_options --disable-gold
+ac_add_options --enable-release
 ac_add_options --enable-optimize="$CFLAGS"
 
 ac_add_options --enable-official-branding
-ac_add_options --enable-calendar
 ac_add_options --enable-application=comm/mail
+ac_add_options --enable-calendar
+
+ac_add_options --allow-addon-sideload
diff --git a/srcpkgs/thunderbird/patches/big-endian-image-decoders.patch b/srcpkgs/thunderbird/patches/big-endian-image-decoders.patch
new file mode 100644
index 00000000000..ccb417b61f1
--- /dev/null
+++ b/srcpkgs/thunderbird/patches/big-endian-image-decoders.patch
@@ -0,0 +1,88 @@
+https://bugzilla.mozilla.org/show_bug.cgi?id=1626236
+https://bug1626236.bmoattachments.org/attachment.cgi?id=9137096
+
+# HG changeset patch
+# User msirringhaus@suse.de
+# Date 1582805876 -3600
+#      Thu Feb 27 13:17:56 2020 +0100
+# Node ID cc3d09abea31068e57f1ab918782f9f86fc6a158
+# Parent  9cd90914846f667f18babc491a74c164ae5d6e9f
+imported patch decoder_workaround.patch
+
+diff -r 9cd90914846f image/decoders/nsGIFDecoder2.cpp
+--- image/decoders/nsGIFDecoder2.cpp	Thu Feb 27 12:57:14 2020 +0100
++++ image/decoders/nsGIFDecoder2.cpp	Fri Mar 27 13:06:18 2020 +0100
+@@ -422,6 +422,9 @@
+   MOZ_ASSERT(mSwizzleFn);
+   uint8_t* data = reinterpret_cast<uint8_t*>(aColormap);
+   mSwizzleFn(data, data, aColors);
++#if MOZ_BIG_ENDIAN()
++  SwizzleRow(SurfaceFormat::A8R8G8B8, SurfaceFormat::B8G8R8A8)(data, data, aColors);
++#endif
+ }
+ 
+ LexerResult nsGIFDecoder2::DoDecode(SourceBufferIterator& aIterator,
+diff -r 9cd90914846f image/decoders/nsJPEGDecoder.cpp
+--- image/decoders/nsJPEGDecoder.cpp	Thu Feb 27 12:57:14 2020 +0100
++++ image/decoders/nsJPEGDecoder.cpp	Fri Mar 27 13:06:18 2020 +0100
+@@ -263,6 +263,9 @@
+         case JCS_YCbCr:
+           // By default, we will output directly to BGRA. If we need to apply
+           // special color transforms, this may change.
++#if MOZ_BIG_ENDIAN()
++          mInfo.out_color_space = MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB;
++#else
+           switch (SurfaceFormat::OS_RGBX) {
+             case SurfaceFormat::B8G8R8X8:
+               mInfo.out_color_space = JCS_EXT_BGRX;
+@@ -277,6 +280,7 @@
+               mState = JPEG_ERROR;
+               return Transition::TerminateFailure();
+           }
++#endif
+           break;
+         case JCS_CMYK:
+         case JCS_YCCK:
+diff -r 9cd90914846f image/decoders/nsPNGDecoder.cpp
+--- image/decoders/nsPNGDecoder.cpp	Thu Feb 27 12:57:14 2020 +0100
++++ image/decoders/nsPNGDecoder.cpp	Fri Mar 27 13:06:18 2020 +0100
+@@ -361,7 +361,7 @@
+                                    IResumable* aOnResume) {
+   MOZ_ASSERT(!HasError(), "Shouldn't call DoDecode after error!");
+ 
+-  return mLexer.Lex(aIterator, aOnResume,
++  LexerResult res = mLexer.Lex(aIterator, aOnResume,
+                     [=](State aState, const char* aData, size_t aLength) {
+                       switch (aState) {
+                         case State::PNG_DATA:
+@@ -371,6 +371,14 @@
+                       }
+                       MOZ_CRASH("Unknown State");
+                     });
++
++#if MOZ_BIG_ENDIAN()
++  if(res.is<TerminalState>() && res.as<TerminalState>() == TerminalState::SUCCESS) {
++      NativeEndian::swapToLittleEndianInPlace<uint32_t>((uint32_t*)(mImageData), mImageDataLength / 4);
++  }
++#endif
++
++  return res;
+ }
+ 
+ LexerTransition<nsPNGDecoder::State> nsPNGDecoder::ReadPNGData(
+diff -r 9cd90914846f image/decoders/nsWebPDecoder.cpp
+--- image/decoders/nsWebPDecoder.cpp	Thu Feb 27 12:57:14 2020 +0100
++++ image/decoders/nsWebPDecoder.cpp	Fri Mar 27 13:06:18 2020 +0100
+@@ -237,7 +237,12 @@
+   // WebP doesn't guarantee that the alpha generated matches the hint in the
+   // header, so we always need to claim the input is BGRA. If the output is
+   // BGRX, swizzling will mask off the alpha channel.
++#if MOZ_BIG_ENDIAN()
++  mBuffer.colorspace = MODE_ARGB;
++  SurfaceFormat inFormat = mFormat;
++#else
+   SurfaceFormat inFormat = SurfaceFormat::OS_RGBA;
++#endif
+ 
+   SurfacePipeFlags pipeFlags = SurfacePipeFlags();
+   if (mFormat == SurfaceFormat::OS_RGBA &&
diff --git a/srcpkgs/thunderbird/patches/disable-image-format-warning.patch b/srcpkgs/thunderbird/patches/disable-image-format-warning.patch
deleted file mode 100644
index bd56e6bc37c..00000000000
--- a/srcpkgs/thunderbird/patches/disable-image-format-warning.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Imported from Adélie. Firefox is prone to this warning on BE and
-it leads to huge .xsession-errors, and the warning is not very
-important or meaningful, so just disable it.
-
---- gfx/2d/HelpersCairo.h
-+++ gfx/2d/HelpersCairo.h
-@@ -147,7 +147,7 @@
-     case SurfaceFormat::R5G6B5_UINT16:
-       return CAIRO_FORMAT_RGB16_565;
-     default:
--      gfxCriticalError() << "Unknown image format " << (int)format;
-+      //gfxCriticalError() << "Unknown image format " << (int)format;
-       return CAIRO_FORMAT_ARGB32;
-   }
- }
diff --git a/srcpkgs/thunderbird/patches/fix-cross.patch b/srcpkgs/thunderbird/patches/fix-cross.patch
new file mode 100644
index 00000000000..9b8a816d269
--- /dev/null
+++ b/srcpkgs/thunderbird/patches/fix-cross.patch
@@ -0,0 +1,16 @@
+terrible hack to fix cross builds
+overwrite HOST_* flags to get rid of -MF
+
+note: this patch was used from firefox-77 until 80, dropped with the update to 81
+
+--- third_party/rust/glslopt/build.rs
++++ third_party/rust/glslopt/build.rs
+@@ -28,6 +28,8 @@
+     env::remove_var(format!("CXXFLAGS_{}", &target));
+     env::remove_var(format!("CFLAGS_{}", target.replace("-", "_")));
+     env::remove_var(format!("CXXFLAGS_{}", target.replace("-", "_")));
++    env::set_var("HOST_CFLAGS", "-O2");
++    env::set_var("HOST_CXXFLAGS", "-O2");
+
+     configure(&mut cc::Build::new())
+         .warnings(false)
diff --git a/srcpkgs/thunderbird/patches/fix-desktop-icon-path.patch b/srcpkgs/thunderbird/patches/fix-desktop-icon-path.patch
new file mode 100644
index 00000000000..60af12e80b1
--- /dev/null
+++ b/srcpkgs/thunderbird/patches/fix-desktop-icon-path.patch
@@ -0,0 +1,11 @@
+--- taskcluster/docker/firefox-snap/firefox.desktop.orig	2019-01-18 19:31:39.428839442 +0100
++++ taskcluster/docker/firefox-snap/firefox.desktop	2019-01-18 19:32:20.689063456 +0100
+@@ -154,7 +154,7 @@
+ Terminal=false
+ X-MultipleArgs=false
+ Type=Application
+-Icon=/browser/chrome/icons/default/default128.png
++Icon=firefox
+ Categories=GNOME;GTK;Network;WebBrowser;
+ MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;
+ StartupNotify=true
diff --git a/srcpkgs/thunderbird/patches/fix-i686-ppc-musl.patch b/srcpkgs/thunderbird/patches/fix-i686-ppc-musl.patch
index 40aab43ae86..6df609bbf16 100644
--- a/srcpkgs/thunderbird/patches/fix-i686-ppc-musl.patch
+++ b/srcpkgs/thunderbird/patches/fix-i686-ppc-musl.patch
@@ -1,11 +1,11 @@
 --- mozglue/misc/StackWalk.cpp	2017-04-11 04:13:21.000000000 +0200
 +++ mozglue/misc/StackWalk.cpp	2017-11-29 15:23:07.218649970 +0100
-@@ -33,7 +33,7 @@ using namespace mozilla;
- #  define MOZ_STACKWALK_SUPPORTS_MACOSX 0
+@@ -41,7 +41,7 @@
+ #define MOZ_STACKWALK_SUPPORTS_MACOSX 0
  #endif
  
--#if (defined(linux) &&                                            \
+-#if (defined(linux) && \
 +#if defined(__GLIBC__) && (defined(linux) && \
       ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \
        defined(HAVE__UNWIND_BACKTRACE)))
- #  define MOZ_STACKWALK_SUPPORTS_LINUX 1
+ #define MOZ_STACKWALK_SUPPORTS_LINUX 1
diff --git a/srcpkgs/thunderbird/patches/fix-image-format-warning.patch b/srcpkgs/thunderbird/patches/fix-image-format-warning.patch
new file mode 100644
index 00000000000..9b3b38d9065
--- /dev/null
+++ b/srcpkgs/thunderbird/patches/fix-image-format-warning.patch
@@ -0,0 +1,39 @@
+# HG changeset patch
+# User Lee Salzman <lsalzman@mozilla.com>
+# Date 1462463631 14400
+#      Thu May 05 11:53:51 2016 -0400
+# Node ID 8da374804a09977c8f89af5e6e0cb37cb074595d
+# Parent  29662e28a9c93ac67ee0b8ddfb65a9f29bbf73f5
+handle big-endian formats in Cairo format conversions
+
+--- gfx/2d/HelpersCairo.h
++++ gfx/2d/HelpersCairo.h
+@@ -147,7 +147,14 @@ static inline cairo_format_t GfxFormatToCairoFormat(Su
+     case SurfaceFormat::R5G6B5_UINT16:
+       return CAIRO_FORMAT_RGB16_565;
+     default:
+-      gfxCriticalError() << "Unknown image format " << (int)format;
++      // _UINT32 formats don't match B8G8R8[AX]8 on big-endian platforms,
++      // and Moz2d uses B8G8R8[AX]8 as if it was _UINT32.
++      // See bug 1269654
++      if (format == SurfaceFormat::B8G8R8X8) {
++        return CAIRO_FORMAT_RGB24;
++      } else if (format != SurfaceFormat::B8G8R8A8) {
++        gfxCriticalError() << "Unknown image format " << (int)format;
++      }
+       return CAIRO_FORMAT_ARGB32;
+   }
+ }
+@@ -177,7 +184,11 @@ static inline cairo_content_t GfxFormatToCairoContent(
+     case SurfaceFormat::A8:
+       return CAIRO_CONTENT_ALPHA;
+     default:
+-      gfxCriticalError() << "Unknown image content format " << (int)format;
++      if (format == SurfaceFormat::B8G8R8X8) {
++        return CAIRO_CONTENT_COLOR;
++      } else if (format != SurfaceFormat::B8G8R8A8) {
++        gfxCriticalError() << "Unknown image content format " << (int)format;
++      }
+       return CAIRO_CONTENT_COLOR_ALPHA;
+   }
+ }
diff --git a/srcpkgs/thunderbird/patches/fix-musl.patch b/srcpkgs/thunderbird/patches/fix-musl.patch
deleted file mode 100644
index c1cb99bf651..00000000000
--- a/srcpkgs/thunderbird/patches/fix-musl.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/profiler/core/platform-linux-android.cpp.orig	2019-07-09 22:58:30.039475686 +0200
-+++ tools/profiler/core/platform-linux-android.cpp	2019-07-09 22:58:39.331437677 +0200
-@@ -73,7 +73,7 @@
- 
- int profiler_current_thread_id() {
-   // glibc doesn't provide a wrapper for gettid().
--#if defined(__GLIBC__)
-+#if defined(__linux__)
-   return static_cast<int>(static_cast<pid_t>(syscall(SYS_gettid)));
- #else
-   return static_cast<int>(gettid());
diff --git a/srcpkgs/thunderbird/patches/fix-sandbox-membarrier.patch b/srcpkgs/thunderbird/patches/fix-sandbox-membarrier.patch
deleted file mode 100644
index caffd83cf67..00000000000
--- a/srcpkgs/thunderbird/patches/fix-sandbox-membarrier.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-allow usage of SYS_membarrier, needed since musl-1.1.22
-
---- security/sandbox/linux/SandboxFilter.cpp
-+++ security/sandbox/linux/SandboxFilter.cpp
-@@ -283,6 +283,8 @@
-       case __NR_set_tid_address:
-         return Allow();
- #endif
-+      case __NR_membarrier:
-+        return Allow();
- 
-         // prctl
-       case __NR_prctl: {
-
---- security/sandbox/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h
-+++ security/sandbox/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h
-@@ -1385,6 +1385,10 @@
- #define __NR_memfd_create (__NR_SYSCALL_BASE+385)
- #endif
- 
-+#if !defined(__NR_membarrier)
-+#define __NR_membarrier (__NR_SYSCALL_BASE+389)
-+#endif
-+
- // ARM private syscalls.
- #if !defined(__ARM_NR_BASE)
- #define __ARM_NR_BASE (__NR_SYSCALL_BASE + 0xF0000)
-
---- security/sandbox/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h
-+++ security/sandbox/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h
-@@ -1290,5 +1290,9 @@
- #define __NR_memfd_create 319
- #endif
- 
-+#if !defined(__NR_membarrier)
-+#define __NR_membarrier 324
-+#endif
-+
- #endif  // SANDBOX_LINUX_SYSTEM_HEADERS_X86_64_LINUX_SYSCALLS_H_
- 
---- security/sandbox/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
-+++ security/sandbox/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
-@@ -1490,5 +1490,9 @@
- #define __NR_shutdown 373
- #endif
- 
-+#if !defined(__NR_membarrier)
-+#define __NR_membarrier 375
-+#endif
-+
- #endif  // SANDBOX_LINUX_SYSTEM_HEADERS_X86_32_LINUX_SYSCALLS_H_
- 
diff --git a/srcpkgs/thunderbird/patches/fix-seccomp-bpf.patch b/srcpkgs/thunderbird/patches/fix-seccomp-bpf.patch
deleted file mode 100644
index ed94fc39ed0..00000000000
--- a/srcpkgs/thunderbird/patches/fix-seccomp-bpf.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc.orig	2015-09-23 09:10:08.812740571 +0200
-+++ security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc	2015-09-23 09:11:38.404746155 +0200
-@@ -23,6 +23,11 @@
- #include "sandbox/linux/services/android_ucontext.h"
- #endif
- 
-+// musl libc defines siginfo_t __si_fields instead of _sifields
-+#if defined(OS_LINUX) && !defined(__GLIBC__)
-+#define _sifields __si_fields
-+#endif
-+
- namespace {
- 
- struct arch_sigsys {
diff --git a/srcpkgs/thunderbird/patches/fix-toolkit.patch b/srcpkgs/thunderbird/patches/fix-toolkit.patch
deleted file mode 100644
index 86e8ef47855..00000000000
--- a/srcpkgs/thunderbird/patches/fix-toolkit.patch
+++ /dev/null
@@ -1,78 +0,0 @@
---- toolkit.orig/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h.orig    2016-07-05 21:00:03.672000517 +0200
-+++ toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h 2016-07-05 21:05:37.347806230 +0200
-@@ -1134,6 +1134,12 @@
- #ifndef __NR_fallocate
- #define __NR_fallocate          285
- #endif
-+
-+#undef __NR_pread
-+#define __NR_pread __NR_pread64
-+#undef __NR_pwrite
-+#define __NR_pwrite __NR_pwrite64
-+
- /* End of x86-64 definitions                                                 */
- #elif defined(__mips__)
- #if _MIPS_SIM == _MIPS_SIM_ABI32
---- toolkit.orig/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc	2014-03-15 05:19:36.000000000 +0000
-+++ toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc	2014-04-17 10:24:33.793431933 +0000
-@@ -45,6 +45,7 @@
- #include <sys/mman.h>
- #include <sys/stat.h>
- #include <unistd.h>
-+#include <libgen.h>
- 
- #include <iostream>
- #include <set>
---- toolkit.orig/crashreporter/google-breakpad/src/common/stabs_reader.cc	2014-03-15 05:19:36.000000000 +0000
-+++ toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc	2014-04-17 10:24:33.793431933 +0000
-@@ -41,6 +41,10 @@
- 
- #include "common/using_std_string.h"
- 
-+#ifndef N_UNDF
-+#define N_UNDF 0
-+#endif
-+
- using std::vector;
- 
- namespace google_breakpad {
---- toolkit.orig/crashreporter/google-breakpad/src/common/stabs_reader.h	2014-03-15 05:19:36.000000000 +0000
-+++ toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h	2014-04-17 10:24:33.793431933 +0000
-@@ -55,7 +55,7 @@
-
- #ifdef HAVE_MACH_O_NLIST_H
- #include <mach-o/nlist.h>
--#elif defined(HAVE_A_OUT_H)
-+#elif 0
- #include <a.out.h>
- #endif
-
---- toolkit.orig/mozapps/update/common/updatedefines.h	2019-01-29 11:34:36.416804577 +0100
-+++ toolkit/mozapps/update/common/updatedefines.h	2019-01-29 11:34:59.193583777 +0100
-@@ -102,7 +102,7 @@
-
- #  ifdef SOLARIS
- #    include <sys/stat.h>
--#  else
-+#  elif !(defined(__linux__)) || defined(__GLIBC__)
- #    include <fts.h>
- #  endif
- #  include <dirent.h>
---- toolkit.orig/mozapps/update/updater/updater.cpp	2014-03-15 05:19:37.000000000 +0000
-+++ toolkit/mozapps/update/updater/updater.cpp	2014-04-17 10:24:33.796765327 +0000
-@@ -3978,6 +3978,7 @@
- 
- int add_dir_entries(const NS_tchar* dirpath, ActionList* list) {
-   int rv = OK;
-+#if !defined(__linux__) || defined(__GLIBC__)
-   FTS* ftsdir;
-   FTSENT* ftsdirEntry;
-   mozilla::UniquePtr<NS_tchar[]> searchpath(get_full_path(dirpath));
-@@ -4085,6 +4086,7 @@
-   }
- 
-   fts_close(ftsdir);
-+#endif
- 
-   return rv;
- }
diff --git a/srcpkgs/thunderbird/patches/fix-tools.patch b/srcpkgs/thunderbird/patches/fix-tools.patch
index 0ed043fb5b5..1af39bc6118 100644
--- a/srcpkgs/thunderbird/patches/fix-tools.patch
+++ b/srcpkgs/thunderbird/patches/fix-tools.patch
@@ -1,34 +1,5 @@
---- tools/profiler/lul/LulElf.cpp.orig	2019-01-29 12:05:34.223834130 +0100
-+++ tools/profiler/lul/LulElf.cpp	2019-01-29 12:08:02.480400845 +0100
-@@ -469,10 +469,10 @@
- // Return the non-directory portion of FILENAME: the portion after the
- // last slash, or the whole filename if there are no slashes.
- string BaseFileName(const string& filename) {
--  // Lots of copies!  basename's behavior is less than ideal.
--  char* c_filename = strdup(filename.c_str());
--  string base = basename(c_filename);
--  free(c_filename);
-+  // basename's behavior is less than ideal so avoid it
-+  const char *c_filename = filename.c_str();
-+  const char *p = strrchr(c_filename, '/');
-+  string base = p ? p+1 : c_filename;
-   return base;
- }
- 
 --- tools/profiler/core/platform-linux-android.cpp.orig	2019-01-29 12:09:40.980448579 +0100
 +++ tools/profiler/core/platform-linux-android.cpp	2019-01-29 12:11:09.689590967 +0100
-@@ -253,7 +253,11 @@
- 
-   // Request profiling signals.
-   struct sigaction sa;
-+#if defined(GP_ARCH_arm)
-+  sa.sa_sigaction = SigprofHandler;
-+#else
-   sa.sa_sigaction = MOZ_SIGNAL_TRAMPOLINE(SigprofHandler);
-+#endif
-   sigemptyset(&sa.sa_mask);
-   sa.sa_flags = SA_RESTART | SA_SIGINFO;
-   if (sigaction(SIGPROF, &sa, &mOldSigprofHandler) != 0) {
 @@ -497,8 +501,10 @@
  ucontext_t sSyncUContext;
  
diff --git a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
new file mode 100644
index 00000000000..e3f60e8ecf6
--- /dev/null
+++ b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch
@@ -0,0 +1,26 @@
+Enable FLAC on platforms without ffvpx like powerpc*
+
+diff --git dom/media/flac/FlacDecoder.cpp dom/media/flac/FlacDecoder.cpp
+index 53fc3c9937f7..b23771ab80fa 100644
+--- dom/media/flac/FlacDecoder.cpp
++++ dom/media/flac/FlacDecoder.cpp
+@@ -7,6 +7,7 @@
+ #include "FlacDecoder.h"
+ #include "MediaContainerType.h"
+ #include "mozilla/StaticPrefs_media.h"
++#include "PDMFactory.h"
+ 
+ namespace mozilla {
+ 
+@@ -14,6 +15,11 @@ namespace mozilla {
+ bool FlacDecoder::IsEnabled() {
+ #ifdef MOZ_FFVPX
+   return StaticPrefs::media_flac_enabled();
++#elif defined(MOZ_FFMPEG)
++  RefPtr<PDMFactory> platform = new PDMFactory();
++  return StaticPrefs::media_flac_enabled() &&
++         platform->SupportsMimeType("audio/flac"_ns,
++                                    /* DecoderDoctorDiagnostics* */ nullptr);
+ #else
+   // Until bug 1295886 is fixed.
+   return false;
diff --git a/srcpkgs/thunderbird/patches/ppc32-fix-build.patch b/srcpkgs/thunderbird/patches/ppc32-fix-build.patch
new file mode 100644
index 00000000000..c1a8f422d0a
--- /dev/null
+++ b/srcpkgs/thunderbird/patches/ppc32-fix-build.patch
@@ -0,0 +1,36 @@
+This is not a complete/correct patch, but it makes firefox build. For now
+mostly for tracking, so a real fix can be made, but right now it still
+segfaults on start.
+
+Ref: https://hg.mozilla.org/mozilla-central/rev/08339a56f3ae
+Ref: https://hg.mozilla.org/mozilla-central/rev/d16fcad6aa60
+Ref: https://hg.mozilla.org/mozilla-central/rev/ab87611d012e
+Ref: https://hg.mozilla.org/mozilla-central/file/tip/xpcom/reflect/xptcall/md/unix/xptcinvoke_ppc_linux.cpp
+
+--- xpcom/reflect/xptcall/xptcall.h
++++ xpcom/reflect/xptcall/xptcall.h
+@@ -71,6 +71,11 @@ struct nsXPTCVariant {
+     ExtendedVal ext;
+   };
+ 
++#if defined(__powerpc__) && !defined(__powerpc64__)
++  // this field is still necessary on ppc32, as an address
++  // to it is taken certain places in xptcall
++  void *ptr;
++#endif
+   nsXPTType type;
+   uint8_t flags;
+ 
+@@ -91,7 +96,12 @@ struct nsXPTCVariant {
+   };
+ 
+   void ClearFlags() { flags = 0; }
++#if defined(__powerpc__) && !defined(__powerpc64__)
++  void SetIndirect() { ptr = &val; flags |= IS_INDIRECT; }
++  bool IsPtrData() const { return IsIndirect(); }
++#else
+   void SetIndirect() { flags |= IS_INDIRECT; }
++#endif
+ 
+   bool IsIndirect() const { return 0 != (flags & IS_INDIRECT); }
+ 
diff --git a/srcpkgs/thunderbird/patches/ppc32-skia-portable.patch b/srcpkgs/thunderbird/patches/ppc32-skia-portable.patch
deleted file mode 100644
index 93c625a861e..00000000000
--- a/srcpkgs/thunderbird/patches/ppc32-skia-portable.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- gfx/skia/skia/third_party/skcms/skcms.cc
-+++ gfx/skia/skia/third_party/skcms/skcms.cc
-@@ -1806,6 +1806,11 @@ typedef enum {
-     Op_store_ffff,
- } Op;
- 
-+// work around ICE on 32-bit ppc
-+#if defined(__powerpc__) && !defined(__powerpc64__)
-+#  define SKCMS_PORTABLE
-+#endif
-+
- #if defined(__clang__)
-     template <int N, typename T> using Vec = T __attribute__((ext_vector_type(N)));
- #elif defined(__GNUC__)
diff --git a/srcpkgs/thunderbird/patches/rust-configure.patch b/srcpkgs/thunderbird/patches/rust-configure.patch
index 09191782b35..887c102bc55 100644
--- a/srcpkgs/thunderbird/patches/rust-configure.patch
+++ b/srcpkgs/thunderbird/patches/rust-configure.patch
@@ -1,20 +1,23 @@
---- build/moz.configure/rust.configure	2020-06-06 10:05:25.819337924 +0200
-+++ build/moz.configure/rust.configure	2020-06-06 10:07:11.346031015 +0200
-@@ -79,10 +79,6 @@
+Mozilla rustc check does not support crossbuild: let's remove it
+Remove calls to unwrap_rustup, they fail if rustup isn't present
+
+--- build/moz.configure/rust.configure.orig	2019-10-17 04:19:59.000000000 +0700
++++ build/moz.configure/rust.configure	2019-10-22 11:48:55.616022140 +0700
+@@ -78,9 +78,6 @@
  
      return unwrap
  
 -rustc = unwrap_rustup(rustc, 'rustc')
 -cargo = unwrap_rustup(cargo, 'cargo')
 -
--
+ 
  set_config('CARGO', cargo)
  set_config('RUSTC', rustc)
+@@ -348,26 +345,6 @@
  
-@@ -366,25 +362,6 @@
              os.write(in_fd, source)
              os.close(in_fd)
- 
+-
 -            cmd = [
 -                rustc,
 -                '--crate-type', 'staticlib',
diff --git a/srcpkgs/thunderbird/patches/rust-has-i128.patch b/srcpkgs/thunderbird/patches/rust-has-i128.patch
new file mode 100644
index 00000000000..4c90cd3d106
--- /dev/null
+++ b/srcpkgs/thunderbird/patches/rust-has-i128.patch
@@ -0,0 +1,21 @@
+The configure check fails for cross builds.
+i128 is supported since rust-1.26, so it is safe for us to assume it is always present
+
+--- third_party/rust/num-traits/build.rs.orig	2020-02-14 23:57:25.985355610 +0100
++++ third_party/rust/num-traits/build.rs	2020-02-14 23:58:36.255710188 +0100
+@@ -1,14 +1,5 @@
+-extern crate autocfg;
+-
+-use std::env;
+-
+ fn main() {
+-    let ac = autocfg::new();
+-    if ac.probe_type("i128") {
+-        println!("cargo:rustc-cfg=has_i128");
+-    } else if env::var_os("CARGO_FEATURE_I128").is_some() {
+-        panic!("i128 support was not detected!");
+-    }
++    println!("cargo:rustc-cfg=has_i128");
+ 
+     autocfg::rerun_path("build.rs");
+ }
diff --git a/srcpkgs/thunderbird/patches/sandbox-fork.patch b/srcpkgs/thunderbird/patches/sandbox-fork.patch
new file mode 100644
index 00000000000..72640cb7f70
--- /dev/null
+++ b/srcpkgs/thunderbird/patches/sandbox-fork.patch
@@ -0,0 +1,13 @@
+make SYS_fork non-fatal, musl uses it for fork(2)
+
+--- security/sandbox/linux/SandboxFilter.cpp
++++ security/sandbox/linux/SandboxFilter.cpp
+@@ -1253,6 +1253,8 @@
+         // usually do something reasonable on error.
+       case __NR_clone:
+         return ClonePolicy(Error(EPERM));
++      case __NR_fork:
++        return Error(ENOSYS);
+ 
+ #  ifdef __NR_fadvise64
+       case __NR_fadvise64:
diff --git a/srcpkgs/thunderbird/patches/sandbox-largefile.patch b/srcpkgs/thunderbird/patches/sandbox-largefile.patch
new file mode 100644
index 00000000000..494ca82df5a
--- /dev/null
+++ b/srcpkgs/thunderbird/patches/sandbox-largefile.patch
@@ -0,0 +1,17 @@
+--- security/sandbox/linux/SandboxFilter.cpp	2020-11-23 22:41:14.556378950 +0100
++++ security/sandbox/linux/SandboxFilter.cpp	2020-11-23 22:40:23.595806444 +0100
+@@ -68,7 +68,13 @@
+ 
+ // The headers define O_LARGEFILE as 0 on x86_64, but we need the
+ // actual value because it shows up in file flags.
+-#define O_LARGEFILE_REAL 00100000
++#if defined(__x86_64__) || defined(__i386__) || defined(__mips__)
++#define O_LARGEFILE_REAL 0100000
++#elif defined(__powerpc__)
++#define O_LARGEFILE_REAL 0200000
++#else
++#define O_LARGEFILE_REAL O_LARGEFILE
++#endif
+ 
+ // Not part of UAPI, but userspace sees it in F_GETFL; see bug 1650751.
+ #define FMODE_NONOTIFY 0x4000000
diff --git a/srcpkgs/thunderbird/patches/skia-sucks1.patch b/srcpkgs/thunderbird/patches/skia-sucks1.patch
index 223c9b14e6b..05ad34a3fc3 100644
--- a/srcpkgs/thunderbird/patches/skia-sucks1.patch
+++ b/srcpkgs/thunderbird/patches/skia-sucks1.patch
@@ -1,84 +1,77 @@
-# HG changeset patch
-# Parent  548d0a2f3a22bfac32ec0c3921c6c969c8bf32a9
+https://bugzilla.mozilla.org/show_bug.cgi?id=1504834#c5
+https://bugzilla.mozilla.org/attachment.cgi?id=9028600
 
-diff -r 548d0a2f3a22 gfx/2d/ConvolutionFilter.cpp
---- gfx/2d/ConvolutionFilter.cpp	Mon Jul 22 16:57:54 2019 +0200
-+++ gfx/2d/ConvolutionFilter.cpp	Thu Jul 25 14:27:59 2019 +0200
-@@ -35,9 +35,38 @@
-   return true;
+--- gfx/skia/skia/third_party/skcms/skcms.cc
++++ gfx/skia/skia/third_party/skcms/skcms.cc
+@@ -30,6 +30,8 @@
+         #include <avx512fintrin.h>
+         #include <avx512dqintrin.h>
+     #endif
++#elif defined(__BIG_ENDIAN__)
++    #define SKCMS_PORTABLE
+ #endif
+ 
+ // sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others.
+@@ -280,20 +282,28 @@ enum {
+ static uint16_t read_big_u16(const uint8_t* ptr) {
+     uint16_t be;
+     memcpy(&be, ptr, sizeof(be));
+-#if defined(_MSC_VER)
+-    return _byteswap_ushort(be);
++#if defined(__BIG_ENDIAN__)
++    return be;
+ #else
++    #if defined(_MSC_VER)
++    return _byteswap_ushort(be);
++    #else
+     return __builtin_bswap16(be);
++    #endif
+ #endif
  }
  
-+static void ByteSwapArray(uint8_t *u8Array, int32_t size) {
-+    uint32_t *array = reinterpret_cast<uint32_t*>(u8Array);
-+    for (int pxl = 0; pxl < size; ++pxl) {
-+        // Use an endian swap to move the bytes, i.e. BGRA -> ARGB.
-+        uint32_t rgba = array[pxl];
-+        array[pxl] = NativeEndian::swapToLittleEndian(rgba);
-+    }
-+}
-+
- void ConvolutionFilter::ConvolveHorizontally(const uint8_t* aSrc, uint8_t* aDst,
-                                              bool aHasAlpha) {
-+#ifdef MOZ_BIG_ENDIAN
-+    int outputSize = mFilter->numValues();
-+
-+    // Input size isn't handed in, so we have to calculate it quickly
-+    int inputSize = 0;
-+    for (int xx = 0; xx < outputSize; ++xx) {
-+        // Get the filter that determines the current output pixel.
-+        int filterOffset, filterLength;
-+        mFilter->FilterForValue(xx, &filterOffset, &filterLength);
-+        inputSize = std::max(inputSize, filterOffset + filterLength);
-+    }
-+
-+    ByteSwapArray((uint8_t*)aSrc, inputSize);
-+#endif
-+
-   SkOpts::convolve_horizontally(aSrc, *mFilter, aDst, aHasAlpha);
-+
-+#ifdef MOZ_BIG_ENDIAN
-+    ByteSwapArray((uint8_t*)aSrc, inputSize);
-+    ByteSwapArray(aDst, outputSize);
-+#endif
+ static uint32_t read_big_u32(const uint8_t* ptr) {
+     uint32_t be;
+     memcpy(&be, ptr, sizeof(be));
+-#if defined(_MSC_VER)
+-    return _byteswap_ulong(be);
++#if defined(__BIG_ENDIAN__)
++    return be;
+ #else
++    #if defined(_MSC_VER)
++    return _byteswap_ulong(be);
++    #else
+     return __builtin_bswap32(be);
++    #endif
+ #endif
  }
  
- void ConvolutionFilter::ConvolveVertically(uint8_t* const* aSrc, uint8_t* aDst,
-@@ -49,8 +78,26 @@
-   int32_t filterLength;
-   auto filterValues =
-       mFilter->FilterForValue(aRowIndex, &filterOffset, &filterLength);
-+
-+#ifdef MOZ_BIG_ENDIAN
-+  for (int filterY = 0; filterY < filterLength; filterY++) {
-+      // Skia only knows LE, so we have to swizzle the input
-+    ByteSwapArray(aSrc[filterY], aRowSize);
-+  }
-+#endif
-+
-   SkOpts::convolve_vertically(filterValues, filterLength, aSrc, aRowSize, aDst,
-                               aHasAlpha);
-+
-+#ifdef MOZ_BIG_ENDIAN
-+  // After skia is finished, we swizzle back to BE, in case
-+  // the input is used again somewhere else
-+  for (int filterY = 0; filterY < filterLength; filterY++) {
-+    ByteSwapArray(aSrc[filterY], aRowSize);
-+  }
-+  // The destination array as well
-+  ByteSwapArray(aDst, aRowSize);
-+#endif
+--- gfx/2d/DrawTargetSkia.cpp
++++ gfx/2d/DrawTargetSkia.cpp
+@@ -138,8 +138,7 @@ static IntRect CalculateSurfaceBounds(const IntSize& a
+   return surfaceBounds.Intersect(bounds);
  }
  
- /* ConvolutionFilter::ComputeResizeFactor is derived from Skia's
-diff -r 548d0a2f3a22 gfx/skia/skia/include/core/SkPreConfig.h
---- gfx/skia/skia/include/core/SkPreConfig.h	Mon Jul 22 16:57:54 2019 +0200
-+++ gfx/skia/skia/include/core/SkPreConfig.h	Thu Jul 25 14:27:59 2019 +0200
-@@ -73,7 +73,7 @@
-       defined(__ppc__) || defined(__hppa) || \
-       defined(__PPC__) || defined(__PPC64__) || \
-       defined(_MIPSEB) || defined(__ARMEB__) || \
--      defined(__s390__) || \
-+      defined(__s390__) || defined(__s390x__) || \
-       (defined(__sh__) && defined(__BIG_ENDIAN__)) || \
-       (defined(__ia64) && defined(__BIG_ENDIAN__))
-          #define SK_CPU_BENDIAN
+-static const int kARGBAlphaOffset =
+-    SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
++static const int kARGBAlphaOffset = 0;
+ 
+ static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize,
+                              const int32_t aStride, SurfaceFormat aFormat) {
+--- gfx/2d/Types.h
++++ gfx/2d/Types.h
+@@ -87,15 +87,8 @@ enum class SurfaceFormat : int8_t {
+ // The following values are endian-independent synonyms. The _UINT32 suffix
+ // indicates that the name reflects the layout when viewed as a uint32_t
+ // value.
+-#if MOZ_LITTLE_ENDIAN()
+   A8R8G8B8_UINT32 = B8G8R8A8,  // 0xAARRGGBB
+   X8R8G8B8_UINT32 = B8G8R8X8,  // 0x00RRGGBB
+-#elif MOZ_BIG_ENDIAN()
+-  A8R8G8B8_UINT32 = A8R8G8B8,  // 0xAARRGGBB
+-  X8R8G8B8_UINT32 = X8R8G8B8,  // 0x00RRGGBB
+-#else
+-#  error "bad endianness"
+-#endif
+ 
+   // The following values are OS and endian-independent synonyms.
+   //
diff --git a/srcpkgs/thunderbird/patches/skia-sucks3.patch b/srcpkgs/thunderbird/patches/skia-sucks3.patch
index d95b81698e9..f4e890f0536 100644
--- a/srcpkgs/thunderbird/patches/skia-sucks3.patch
+++ b/srcpkgs/thunderbird/patches/skia-sucks3.patch
@@ -1,3 +1,5 @@
+CompositableHost.cpp patch added by @q66, based on patch in issue 1602730.
+
 # HG changeset patch
 # Parent  46ea866ca3acb8bb5e1709ceb799b9c94f591dec
 Problem description: Tab-titles that are too long to fit into a tab get faded out.
@@ -17,7 +19,7 @@ diff -r 46ea866ca3ac -r 6ef20eee3f8f gfx/2d/DrawTargetSkia.cpp
        SkCanvas::kPreserveLCDText_SaveLayerFlag |
            (aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0));
  
-+#if MOZ_BIG_ENDIAN
++#if MOZ_BIG_ENDIAN()
 +  // Pushing a layer where an aMask is defined produces wrong output.
 +  // We _should_ endian swap the data, but I couldn't find a workable way to do so
 +  // Therefore I deactivate those layers in the meantime.
@@ -28,3 +30,27 @@ diff -r 46ea866ca3ac -r 6ef20eee3f8f gfx/2d/DrawTargetSkia.cpp
    mCanvas->saveLayer(saveRec);
  
    SetPermitSubpixelAA(aOpaque);
+--- gfx/layers/composite/CompositableHost.cpp
++++ gfx/layers/composite/CompositableHost.cpp
+@@ -13,6 +13,7 @@
+ #include "ImageHost.h"  // for ImageHostBuffered, etc
+ #include "Layers.h"
+ #include "TiledContentHost.h"  // for TiledContentHost
++#include "mozilla/EndianUtils.h"
+ #include "mozilla/gfx/gfxVars.h"
+ #include "mozilla/layers/LayersSurfaces.h"  // for SurfaceDescriptor
+ #include "mozilla/layers/TextureHost.h"     // for TextureHost, etc
+@@ -92,9 +93,13 @@ bool CompositableHost::AddMaskEffect(EffectChain& aEffects,
+   }
+   MOZ_ASSERT(source);
+ 
++  // Setting an alpha-mask here breaks the URL-bar on big endian (s390x)
++  // if the typed URL is too long for the textbox (automatic scrolling needed)
++#if MOZ_LITTLE_ENDIAN()
+   RefPtr<EffectMask> effect =
+       new EffectMask(source, source->GetSize(), aTransform);
+   aEffects.mSecondaryEffects[EffectTypes::MASK] = effect;
++#endif
+   return true;
+ }
+ 
diff --git a/srcpkgs/thunderbird/patches/sndio.patch b/srcpkgs/thunderbird/patches/sndio.patch
index 6c72284c19b..c5e5c486dd1 100644
--- a/srcpkgs/thunderbird/patches/sndio.patch
+++ b/srcpkgs/thunderbird/patches/sndio.patch
@@ -1,8 +1,8 @@
 --- old-configure.in.orig
 +++ old-configure.in
-@@ -2839,6 +2839,22 @@
- 
- AC_SUBST(MOZ_ALSA)
+@@ -2818,6 +2818,22 @@
+     _NON_GLOBAL_ACDEFINES="$_NON_GLOBAL_ACDEFINES NECKO_COOKIES"
+ fi
  
 +dnl ==================================
 +dnl = Check sndio availability
@@ -21,26 +21,11 @@
 +AC_SUBST(MOZ_SNDIO)
 +
  dnl ========================================================
- dnl = Disable PulseAudio
- dnl ========================================================
---- toolkit/library/moz.build.orig
-+++ toolkit/library/moz.build
-@@ -235,10 +235,8 @@
- if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('cocoa', 'uikit'):
-     OS_LIBS += CONFIG['TK_LIBS']
- 
--if CONFIG['OS_ARCH'] == 'OpenBSD':
--    OS_LIBS += [
--        'sndio',
--    ]
-+if CONFIG['MOZ_SNDIO']:
-+    OS_LIBS += CONFIG['MOZ_SNDIO_LIBS']
- 
- if CONFIG['MOZ_ENABLE_DBUS']:
-     OS_LIBS += CONFIG['MOZ_DBUS_GLIB_LIBS']
+ dnl =
+ dnl = Maintainer debug option (no --enable equivalent)
 --- media/libcubeb/src/moz.build.orig
 +++ media/libcubeb/src/moz.build
-@@ -43,7 +43,7 @@
+@@ -44,11 +44,13 @@
      ]
      DEFINES['USE_JACK'] = True
  
@@ -49,49 +34,19 @@
      SOURCES += [
          'cubeb_sndio.c',
      ]
---- build/moz.configure/old.configure.orig
-+++ build/moz.configure/old.configure
-@@ -169,6 +169,7 @@
+     DEFINES['USE_SNDIO'] = True
++
++if CONFIG['OS_ARCH'] == 'OpenBSD':
+     DEFINES['DISABLE_LIBSNDIO_DLOPEN'] = True
+ 
+ if CONFIG['OS_TARGET'] == 'Darwin':
+--- build/moz.configure/old.configure	2020-06-30 12:17:04.087609070 +0200
++++ -	2020-06-30 12:18:26.027756310 +0200
+@@ -210,6 +210,7 @@
  @old_configure_options(
      '--cache-file',
      '--datadir',
 +    '--enable-sndio',
-     '--enable-content-sandbox',
-     '--enable-cookies',
-     '--enable-cpp-rtti',
---- security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp.orig
-+++ security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
-@@ -349,6 +349,21 @@
-         }
-       }
-     }
-+
-+#ifdef MOZ_SNDIO
-+    // ~/.aucat_cookie (sndio)
-+    rv = homeDir->Clone(getter_AddRefs(confDir));
-+    if (NS_SUCCEEDED(rv)) {
-+      rv = confDir->AppendNative(NS_LITERAL_CSTRING(".aucat_cookie"));
-+      if (NS_SUCCEEDED(rv)) {
-+        nsAutoCString tmpPath;
-+        rv = confDir->GetNativePath(tmpPath);
-+        if (NS_SUCCEEDED(rv)) {
-+          policy->AddPath(rdwrcr, tmpPath.get());
-+        }
-+      }
-+    }
-+#endif
-   }
- 
-   // Firefox binary dir.
---- security/sandbox/linux/moz.build.orig
-+++ security/sandbox/linux/moz.build
-@@ -81,6 +81,9 @@
- if CONFIG['MOZ_ALSA']:
-     DEFINES['MOZ_ALSA'] = True
- 
-+if CONFIG['MOZ_SNDIO']:
-+    DEFINES['MOZ_SNDIO'] = True
-+
- # This copy of SafeSPrintf doesn't need to avoid the Chromium logging
- # dependency like the one in libxul does, but this way the behavior is
- # consistent.  See also the comment in SandboxLogging.h.
+     '--enable-crashreporter',
+     '--enable-dbus',
+     '--enable-debug-js-modules',
diff --git a/srcpkgs/thunderbird/template b/srcpkgs/thunderbird/template
index 72799736e9b..5ccbe65c264 100644
--- a/srcpkgs/thunderbird/template
+++ b/srcpkgs/thunderbird/template
@@ -3,7 +3,7 @@
 # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/thunderbird-i18n".
 #
 pkgname=thunderbird
-version=68.12.1
+version=78.6.0
 revision=1
 build_helper="rust"
 short_desc="Standalone Mail/News reader"
@@ -11,27 +11,26 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://www.thunderbird.net/"
 distfiles="${MOZILLA_SITE}/${pkgname}/releases/${version}/source/${pkgname}-${version}.source.tar.xz"
-checksum=a2044fb611ac6ab1744ef61f5d292d2c81b8103438df02b6dd754968efc9a3af
+checksum=1dd6f9a4d88b4c3d0ec47bba60a891243ef95e105a9045b2d32e2b126779844b
 
 lib32disabled=yes
 
-hostmakedepends="autoconf213 unzip zip pkg-config perl python python3 yasm rust cargo
- llvm clang nodejs cbindgen nasm which tar"
+hostmakedepends="autoconf213 unzip zip pkg-config perl python3 yasm rust cargo
+ llvm clang nodejs-lts-10 cbindgen python nasm which tar"
 makedepends="nss-devel libjpeg-turbo-devel gtk+-devel gtk+3-devel icu-devel
- pixman-devel sqlite-devel libevent-devel libnotify-devel libvpx5-devel
+ pixman-devel libevent-devel libnotify-devel libvpx-devel
  libXrender-devel libXcomposite-devel libSM-devel libXt-devel rust-std
  libXdamage-devel freetype-devel $(vopt_if alsa alsa-lib-devel)
  $(vopt_if dbus dbus-glib-devel) $(vopt_if pulseaudio pulseaudio-devel)
- $(vopt_if startup_notification startup-notification-devel)
  $(vopt_if xscreensaver libXScrnSaver-devel)
- $(vopt_if sndio sndio-devel)"
-depends="nss>=3.37.3 desktop-file-utils hicolor-icon-theme"
+ $(vopt_if sndio sndio-devel) $(vopt_if jack jack-devel)"
+depends="nss>=3.47.1 desktop-file-utils hicolor-icon-theme"
 
-build_options="alsa dbus pulseaudio startup_notification xscreensaver sndio wayland"
-build_options_default="alsa dbus pulseaudio startup_notification xscreensaver sndio wayland"
+build_options="alsa jack dbus pulseaudio xscreensaver sndio wayland"
+build_options_default="alsa jack dbus pulseaudio xscreensaver sndio wayland"
 
 case $XBPS_TARGET_MACHINE in
-	armv6*) broken="required NEON extensions are not supported on armv6" ;;
+	armv[56]*) broken="required NEON extensions are not supported on armv6" ;;
 	ppc64*) ;;
 	ppc*) broken="xptcall bitrot" ;;
 esac
@@ -64,7 +63,9 @@ post_extract() {
 }
 
 post_patch() {
-	_clear_vendor_checksums cssparser
+	_clear_vendor_checksums audio_thread_priority
+	_clear_vendor_checksums num-traits
+	_clear_vendor_checksums glslopt
 }
 
 do_build() {
@@ -73,6 +74,7 @@ do_build() {
 	case "$XBPS_TARGET_MACHINE" in
 	*-musl)
 		echo "ac_add_options --disable-jemalloc" >>.mozconfig
+		echo "ac_add_options --disable-gold" >>.mozconfig
 		echo "ac_add_options --enable-release" >>.mozconfig
 		;;
 	esac
@@ -93,18 +95,15 @@ do_build() {
 		export LDFLAGS+=" -latomic"
 	fi
 
-	case "$XBPS_TARGET_MACHINE" in
-	x86_64-musl|i686-musl)
-		echo "ac_add_options --host=${XBPS_TRIPLET}" >>.mozconfig
-		echo "ac_add_options --target=${XBPS_TRIPLET}" >>.mozconfig
-		;;
-	esac
-
 	if [ "$CROSS_BUILD" ]; then
 		BINDGEN_INCLUDE_FLAGS=$( $CPP -x c++ -v /dev/null -o /dev/null 2>&1 | \
 			sed -n '/#include <...> search starts here:/,/End of search list./p' | \
 			sed '1,1d;$d' | sed  's/^ /-I/' | paste -s )
 
+		# fix compiler detection for botan:
+		# https://github.com/randombit/botan/blob/63d51cb1ab08849d8ece329811b61f8c9abebbcf/configure.py#L2888
+		export CXX="${XBPS_CROSS_TRIPLET}-g++"
+
 		export BINDGEN_CFLAGS="--target=$XBPS_CROSS_TRIPLET \
 			--sysroot=${XBPS_CROSS_BASE} ${BINDGEN_INCLUDE_FLAGS}"
 		export HOST_CC=cc
@@ -128,10 +127,6 @@ do_build() {
 	mkdir -p third_party/rust/libloading/.deps
 
 	case "$XBPS_TARGET_MACHINE" in
-	i686*)
-		export CFLAGS+=" -D_FILE_OFFSET_BITS=64"
-		export CXXFLAGS+=" -D_FILE_OFFSET_BITS=64"
-		;;
 	armv7*)
 		export CFLAGS+=" -mfpu=neon -Wno-psabi"
 		export CXXFLAGS+=" -mfpu=neon -Wno-psabi"
@@ -145,9 +140,16 @@ do_build() {
 		export LDFLAGS+=" -Wl,--no-keep-memory"
 		# patch the rust debug level, this is hardcoded
 		sed -i "s/debug_info = '2'/debug_info = '1'/" \
-		 build/moz.configure/toolchain.configure
+		build/moz.configure/toolchain.configure
 	fi
 
+	# FIXME: incompatible with rust 1.48 in this release
+	#case "$XBPS_TARGET_MACHINE" in
+	#aarch64*|i686*|x86_64*)
+	#	echo "ac_add_options --enable-rust-simd" >>.mozconfig ;;
+	#esac
+	echo "ac_add_options --disable-rust-simd" >>.mozconfig
+
 	export LDFLAGS+=" -Wl,-rpath=/usr/lib/thunderbird"
 
 	if [ "$SOURCE_DATE_EPOCH" ]; then
@@ -157,20 +159,20 @@ do_build() {
 	export MOZ_MAKE_FLAGS="${makejobs}"
 	export MOZ_NOSPAM=1
 	export MOZBUILD_STATE_PATH="${wrksrc}/mozbuild"
-	# avoid error: /usr/bin/as: invalid option -- 'N'
-	unset AS
+
+	export AS=$CC
 
 	cat <<! >>.mozconfig
 ac_add_options --with-google-location-service-api-keyfile="${wrksrc}/google-api-key"
 ac_add_options --with-google-safebrowsing-api-keyfile="${wrksrc}/google-api-key"
 ac_add_options --with-mozilla-api-keyfile="${wrksrc}/mozilla-api-key"
 ac_add_options $(vopt_enable alsa)
+ac_add_options $(vopt_enable jack)
 ac_add_options $(vopt_enable sndio)
 ac_add_options $(vopt_enable dbus)
 ac_add_options $(vopt_enable dbus necko-wifi)
 ac_add_options $(vopt_enable pulseaudio)
-ac_add_options $(vopt_enable startup_notification startup-notification)
-ac_add_options --enable-default-toolkit=$(vopt_if wayland 'cairo-gtk3-wayland' 'cairo-gtk')
+ac_add_options --enable-default-toolkit=$(vopt_if wayland 'cairo-gtk3-wayland' 'cairo-gtk3')
 !
 
 	rm -f old-configure
@@ -182,9 +184,9 @@ do_install() {
 	vinstall ${FILESDIR}/vendor.js 644 usr/lib/thunderbird/defaults/preferences
 	vinstall ${FILESDIR}/thunderbird.desktop 644 usr/share/applications
 
-	for i in 16 22 24 32 48 256; do
-		vinstall ./comm/mail/branding/thunderbird/default$i.png 644 \
-			usr/share/icons/hicolor/${i}x${i}/apps thunderbird.png
+	for i in 16x16 22x22 24x24 32x32 48x48 128x128 256x256; do
+		vinstall ${wrksrc}/comm/mail/branding/thunderbird/default${i%x*}.png 644 \
+			usr/share/icons/hicolor/${i}/apps thunderbird.png
 	done
 
 	# Use system-provided dictionaries

From de24827bf7661c4b6b9b222925d82c41babd8484 Mon Sep 17 00:00:00 2001
From: mmnmnnmnmm <45293514+mmnmnnmnmm@users.noreply.github.com>
Date: Wed, 2 Dec 2020 16:30:35 -0300
Subject: [PATCH 2/2] thunderbird-i18n: update to 78.6.0.

---
 srcpkgs/thunderbird-i18n/template | 114 +++++++++++++++---------------
 1 file changed, 57 insertions(+), 57 deletions(-)

diff --git a/srcpkgs/thunderbird-i18n/template b/srcpkgs/thunderbird-i18n/template
index 47c9ca4b560..79cd560228e 100644
--- a/srcpkgs/thunderbird-i18n/template
+++ b/srcpkgs/thunderbird-i18n/template
@@ -1,6 +1,6 @@
 # Template file for 'thunderbird-i18n'
 pkgname=thunderbird-i18n
-version=68.12.1
+version=78.6.0
 revision=1
 build_style=meta
 short_desc="Thunderbird language packs"
@@ -79,7 +79,7 @@ for _lang in "${_languages[@]}"; do
 	_pkgname=thunderbird-i18n-${_locale}
 
 	depends+=" ${_pkgname}>=${version}"
-	distfiles+=" ${MOZILLA_SITE}/thunderbird/releases/${version}/linux-i686/xpi/${_locale}.xpi"
+	distfiles+=" ${MOZILLA_SITE}/thunderbird/releases/${version}/linux-x86_64/xpi/${_locale}.xpi"
 
 	eval "${_pkgname}_package() {
 		_pkgtmpl $_lang
@@ -96,58 +96,58 @@ _pkgtmpl() {
 	}
 }
 
-checksum="daaef9e7b8c55328def0f22cad60ca48ad774afc4190b5e5eaf8e3dd1a4e5f28
- 8ff401dac77853307572acc410fd9c60b27b9577e7cbeff798e09107ed423d9c
- cd19b72064b00ad4ba4b4c851e8ec634b3c75e2102b38c44385c761ec9152a81
- 031c9f61077ab08e8b896668e61e09a01720ac5f22f1a97046e4ba1abff653c3
- 6e6b9f12dce243c15f0601f7a6743e8fb0c3a2d98475659ea778afa80382d826
- 574b0ffef6849443395533a638ad9931dc2226f619a13526ea16364f60865d79
- 62d43bab52e891d56b43696f80a4d7287c9e5b92e57645dcc0e2b800e49bfc73
- 546bcb01d473cdf3d114efc7546d7499997c49710e38a75c77875cc0141b8582
- 0a4a2238f2630b3d2aa244aafe2bc59b78192fe973e977b72e71bcd170b852d7
- 2e2e2d793f49c323d265205f75ab08c460591c400a28b9c11c71dd3080c4e111
- 4b54e6395e0cad7bf01a41aea26eaa0b8a238d83bbbef70a80cb5472408c3538
- 782c27adfcfa3d8bfbbb46eaf2442f738f63e623e5c3a9fe25e9ef06c54270f2
- dc23f05f6df9c9c133c5c1102e02d3703a7d42d6cd3021ff9e1b44bc010d36fa
- 189307a002a0ee88dfb373ae7daef44f13d3d86d292404fe75b9282c6ec70d9d
- ef8be85899e8690b56a82bfafcb2422e21aa688ca716cf88fad660e2413a4371
- def5c5acbc82f1274c74d407e4ce9aeca05298d4d2ecff9ee6a4048c4f748bb9
- de3289bc94be4a76777a56af95b04957fc8289ac0e28a0fe5b0f84716164f3b1
- b87fce391136a20fb53690cbdfe96511d0f44a07c8f6850d46942d753506dafe
- 2ea16aaf34e59b91d079b238489b8e99f2ac5c051127d80c130606fbedc17e82
- d67cbf27d266394ec2ffdd6f6d5925a1bc3b779e190b43e126fac869d32a9772
- 5f241e80aafee6bd7cb38708723d65d22d0cf599da8310afed43b571e654ad30
- 04b1aa4a9540672b27a318bf0e8b051ecd2fd8e0fac9688972a98d24dc395cdc
- ce24a1f51ff480d87b575e68d3da088ab70390a6efdc86a373bcc625b0d4fe69
- ea147f235edafa18144c76ca843716d5e4a3806f7096a2888c15e45a291b8bb2
- 061ba1d21aedcdcbcf8b8a9bab53b16ef34e4b4abda0d2e43e49d4263ffbffb7
- 819530775c72a822a581c76d090e0709133905293d3df769d2c85692d1c7a4d9
- c2f22993f2fd735e4ba8a34e8857546c4b9792b9a93488dddba30a2527ae174a
- a847a8f00321f20846c45907458ae76f842d3107ddfac2fcf71e641c6a080c51
- bcc6e48b51c67571c5ec08361134fbc3e4982ed27f3dab1e5b1ccfd26b3e22b1
- 368d63db282c200f5caaf65837a470df64db5a513d0b5e7d639e353fa8987c51
- 084bf0bb5fc42f068ae099d845c121f5ec8a1bcb91a76d80b6e49394b9e85e9d
- 578c24c143dda65697dc1708597215d59e5f2cc68b1f52e00901e07b3cea0dd4
- 1c2769d19ee3d444c75c4133f540ecf6860a6272bbb69f13524ca928bac33721
- a9f2683f18b29503ea38df815107e3753c0c3c37468cc0c23fea25080ba7392d
- dd61640c8987cbc5b8a41465e89200e3cef635c6931ce3f586a683d992492409
- c274dc81cab7b3b2ba3e0a4a55b4b94ed9ff02be48c808b0164aba386aae7cd9
- 76b850488e513e5181b4f460227fdb9f7a297aa95bca7778f407521be6355d23
- 1924933c175b04d088fc5764fedc6a317396234e591ef9f787cbd6d21bf43790
- 28006df283c06e44ef08901f9db21011350930bdf0d0cba132d2d8eadbefd314
- a90bce2d48d0b2f2db0423a22aad05c129029fb1b38824d7bb7875e6ff7a1cf4
- 77fbb6ddc67edffbdb0d3f992ed54f5309da13dfa9216d5c4ee613be6c9cec37
- 19df7a1f9216a69098fdbe7629140e7f36f52dbdd4b15a4c78734e448be3cdb2
- 0768ddd6ffeec0b1354270ff8c9627bffe9ddbe907c9d35081d5d9b6bae04874
- 8de1bb65249f9b06a3f90c02c1c715c8e308bccbaae22cde2f784ccac9228573
- eebe0e05bab4a0061d5d8eb1cbb5f2769ca4befd3276db769b83906adaa3ef34
- c23110b70da779084bbac3d55e87482ebf9502f249e11d9ed8956aac767f5889
- 27b5911a4ffa6a2a3e9ec4fdb10420ba33f333d9ac11deda8115656c5bcefb0b
- 44954a28be58dc2de08f0586ec7d8591939f81f3bb05a4574d8f58ac00b55ce8
- 3ac0f4e9cfcbe5089dcfb36eb39d8e26b16f062dcc12b5b89e6f619ab3caf013
- 4be6d239fd175d1bef88da579c7c1e6b244ae698aa4302a8a00069e2c0119331
- c705309c32c0d4af7b4f8e98095919f2942329b1cad75e8fff168f6c0ea71baf
- e6b9247a733e918f5e49aa6d11563c52b33d5f4f2f2cd4fd542953602b090c68
- ae1b27bba6d82606b55bffc0275e35bbf6da3b5d6c5e242ce5ac62d3bf81c630
- ffb9e14f03454cdf2d180d3960a3bbd13ccb6e177e86a1918d524c6de203df28
- cca092e8f86e4102de12461ab5c8ab0b601846113a837508ff8b8c9d5a10e588"
+checksum="77c0da17d85872a3ceae3d5849655a0dd3d783b365d405d4c2f9b3a243b3e5aa
+ e92122dfd91a99e7c32b90c5055f7f0c1a5268e0c001da5fc142a9d63261f0de
+ 62d1d6d4f34292549b6ada66ede177b1a26efaeaa2e4d9e0f5ea7aeb6a555c1a
+ 7846462412da03936930afb548657bea5c0e73eb464affd54459332888b6c744
+ 27534af1a57041a076261443347f183d80d757da14157ddba11ff393f248ed8b
+ c1541a2035e9ae4549c337686c9d8e9e995a32bc6173794d834bd83f404845dc
+ 3791e46378d40f75016ff5d35e66a8cef8aaed45f87368ac07bcec7fa916472f
+ 617f1c23b7210bf4ceccb22a3824a15074e2d9770ca66a26f6448d26beb72e81
+ e90862ea3b5a6653e9eea25613915392c438ae5ae42d860440d85ffa1d850e3d
+ 59bbfca02bb2ac6853c845653dc2de5ba123b33b468595a356f419c1fc8b6527
+ ec3e37a0a4c4dde29ba4c538d1efc1e135ef950ce95aa928c617b9da2a3de783
+ 27c42d0537c3e51c7b2289fd25ef201bcd62281b5d844b68c03474be2a1e54e6
+ b299d69c68a79e3709c1487ae87f8ebf5765ef38f483d148238c7c7bd54a047a
+ 408fe2cc100ea42751baa138b98d62ed78b5bb69f44039f61eea8262d5e9cd2e
+ 913446300c7b3e837309fb137e7f68f62da3c23939287feeb94a5d35425140ca
+ 5ed478e15a65d6ff15683b64f2769e3f7ced421c424d59ea7dba644cb5b84759
+ 2b7d9416fa15300c18b13a34ab709b307ded3705d0ccffc70423ecf9762dbff8
+ 31628ff53e3e87cbce122908b537df030f3ec936def0eb0e50c9791e6103b042
+ d7233c9efe07e54ec29911a8b27b8bce2b09f59e027687218c300374abc80aea
+ 6ed4dc7f605de1516f9ae175b2b12bcd9d0fce64a8f00acb9a675ac1258af6a9
+ 16a31b73042ffaf8373a977cdb2a2c563a6b49d13bc504569865a305e3fae380
+ 5328efe43bdf651f3ff72696f96e8ea2aa000a95233b6a406f612c6a076ac38c
+ 802db39bd53707555bbd5202c2668c7be92598b75cd7364e6169218c9f1f001e
+ 9f9a547d87133a468757baa38a600ad24a8479231766529c2612d6f7a63836a2
+ 82cf87688f7594e9d882969efd5a5963f3fa3f8b91e026b271fe630b3fda777a
+ 55c8f68d1702befe1782c7373893fac4d9e15fb77fcd9ee4d8345707969dcf97
+ 3cdcf203980d08dd18f0b6a566dc2585140625807f839102f15f0b685312aef6
+ 52ed8740582330ac3e2660f86b07676aa72533180d5a0df411569cda7e0d0ee2
+ 2e2eaf97e024d908b4cbd837bd8d14e50fc30bc877958f458568f3d5ef03debf
+ 44830607a1818da44721d6dfb7c60395c5557c4e84fcbf7936106f6d64c0b2df
+ 1727d70e0a3a8c8c8c6dc049243cd7ffb6710226b0ab7e4e4d776e241c13eaf9
+ 10cb0bdbc88f5718f7a7877d4ec2c5e7fc71e4dd13e0522ec10082f9846fb65c
+ 77740587416416ca7401573e4ba820ad2a3adb32374cb83b8a56e48aa4411b28
+ 7b63447a8ee28e635e7cb060a1df868c6a8c0d11448c30712fae971ba02e132e
+ a4aa893d47d6edb2e9f8ad6423abe17e39be8dded5f359ed933723b944c6a85b
+ 327cdc48a35fdcae7daa3dac86005d15798fd8ad4ffd47a497923dcbdf9cf386
+ 32a0a2dc3075db4645836dab1d6353d9466328c0e63e183290f345a04e285f87
+ e07cc90bcb41097ba19d886d2d1e38ef3b3ae2f6d36cf0133e018e40535357d6
+ 669a76ddd841a6559cbfdd97c82961251030e01036831279210f94606d472f05
+ e6f698313d67ab9da38ff1ff8097264dabc87de85df0e1c363736f60ad0954e2
+ 48ac6b9506b2cae19451845a6d633579ed341e367e4c22f525c5d147cea7bb85
+ 45fbeacc161c4d3e9fa8ba12c7a06b6ddf56dc5aa3c49543f45c9e5ecc6f8533
+ 8114465485f3740e2f38cd31e29e183a91cfe50c1b3bcdd2fac37f5254df38c5
+ 26869522aa4a17cd3965dc35442e6687cec86274cc17d43d3eda36b71e293071
+ 79ede7a6a4fdc587996a6717891a1931f63a07d468d3adf07b4df56402202fbd
+ 76acb24a68cc77a9f28b31e7337c815b8fefa81df6a47d57ed81612dc69c9878
+ bace543f253d44df294a35bb9db6dd4fbef8d0196a5698e0a862c589519c07d5
+ 8b6bd148954f415265dee893ca94024826c0f3a2ed0c308e3386637f158ed26b
+ 887a93e80fa6b42832e04ebea6f5c1a3cdb76cb6d4b2b0c0c882ab3c80a2c2da
+ 0e7b8d2f3c7b57751cc68aae7135976c9683eb14b703d23b90fe31ed4170b55c
+ 82f17754a013e65ad962e88a709be83eae9a00f0ba62c94bfbdf53eeb099ed19
+ 1aa191b1dd13e47e02e7167063afc89bb091d7a38708fc5d7e8e5c0a34f4dd43
+ cedb43a69a31e5c889f5dd485cc8036819248cfe8e49c4b519f4854c5dddb3a8
+ 131e883c87b8f4af323007f112ae93bfa8e37701ff4c64237e4db2045bbefb74
+ f54718774782453f8dfce92e55177663dbc8f49d8da668b0f745b98f0ca854f2"

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Thunderbird 78.6.0
  2020-12-03  0:43 [PR PATCH] Thunderbird 78.5.1 ericonr
                   ` (8 preceding siblings ...)
  2021-01-07  0:08 ` [PR PATCH] [Updated] " ericonr
@ 2021-01-07  0:15 ` ericonr
  2021-01-09  2:49 ` [PR PATCH] [Merged]: " ericonr
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: ericonr @ 2021-01-07  0:15 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 180 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/26896#issuecomment-755791062

Comment:
Welcoming testers, especially on glibc.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PR PATCH] [Merged]: Thunderbird 78.6.0
  2020-12-03  0:43 [PR PATCH] Thunderbird 78.5.1 ericonr
                   ` (9 preceding siblings ...)
  2021-01-07  0:15 ` Thunderbird 78.6.0 ericonr
@ 2021-01-09  2:49 ` ericonr
  2021-01-09  4:36 ` ibhagwan
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: ericonr @ 2021-01-09  2:49 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 398 bytes --]

There's a merged pull request on the void-packages repository

Thunderbird 78.6.0
https://github.com/void-linux/void-packages/pull/26896

Description:
Still seeing if cross compilation reaches the end successfully.

Would appreciate testers.

Have launched on x86_64-musl, but I'm not on the device that uses thunderbird, so I haven't logged in yet.

Based on and closes #24509 

[ci skip]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Thunderbird 78.6.0
  2020-12-03  0:43 [PR PATCH] Thunderbird 78.5.1 ericonr
                   ` (10 preceding siblings ...)
  2021-01-09  2:49 ` [PR PATCH] [Merged]: " ericonr
@ 2021-01-09  4:36 ` ibhagwan
  2021-01-09  6:47 ` ericonr
  2021-01-09 17:29 ` ibhagwan
  13 siblings, 0 replies; 15+ messages in thread
From: ibhagwan @ 2021-01-09  4:36 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1541 bytes --]

New comment by ibhagwan on void-packages repository

https://github.com/void-linux/void-packages/pull/26896#issuecomment-757094555

Comment:
> Welcoming testers, especially on glibc.

@ericonr 

I tried compiling both v78.5.1 and  v78.6.0 in a clean `void-packages` folder (cloned from your fork) and both fail in the same location:

```
274:03.82   import imp
274:03.89 toolkit/library/build/libxul.so
276:24.63 collect2: fatal error: ld terminated with signal 9 [Killed]
276:24.63 compilation terminated.
276:24.63 make[4]: *** [/builddir/thunderbird-78.6.0/config/rules.mk:606: libxul.so] Error 1
276:24.63 make[4]: *** Deleting file 'libxul.so'
276:24.70 make[3]: *** [/builddir/thunderbird-78.6.0/config/recurse.mk:74: toolkit/library/build/target] Error 2
276:24.70 make[2]: *** [/builddir/thunderbird-78.6.0/config/recurse.mk:34: compile] Error 2
276:24.70 make[1]: *** [/builddir/thunderbird-78.6.0/config/rules.mk:390: default] Error 2
276:24.71 make: *** [client.mk:125: build] Error 2
276:24.71 434 compiler warnings present.
276:25.47 Failed to parse ccache stats output: secondary config (readonly)         /etc/ccache.conf
 Config object not found by mach.
Configure complete!
Be sure to run |mach build| to pick up any changes
=> ERROR: thunderbird-78.6.0_1: do_build: './mach build' exited with 2
=> ERROR:   in do_build() at srcpkgs/thunderbird/template:179
```

Let me know if you need any info about my system/setup and I will provide it, running up-to-date glibc void with latest kernel 5.9.16.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Thunderbird 78.6.0
  2020-12-03  0:43 [PR PATCH] Thunderbird 78.5.1 ericonr
                   ` (11 preceding siblings ...)
  2021-01-09  4:36 ` ibhagwan
@ 2021-01-09  6:47 ` ericonr
  2021-01-09 17:29 ` ibhagwan
  13 siblings, 0 replies; 15+ messages in thread
From: ericonr @ 2021-01-09  6:47 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 393 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/26896#issuecomment-757106560

Comment:
> 276:24.63 collect2: fatal error: ld terminated with signal 9 [Killed]

The kernel's OOM killer is killing the process during the linking phase. You have to give it more memory (less parallelism, for example). Here the linker took around 10G of RAM.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Thunderbird 78.6.0
  2020-12-03  0:43 [PR PATCH] Thunderbird 78.5.1 ericonr
                   ` (12 preceding siblings ...)
  2021-01-09  6:47 ` ericonr
@ 2021-01-09 17:29 ` ibhagwan
  13 siblings, 0 replies; 15+ messages in thread
From: ibhagwan @ 2021-01-09 17:29 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 592 bytes --]

New comment by ibhagwan on void-packages repository

https://github.com/void-linux/void-packages/pull/26896#issuecomment-757339525

Comment:
> > 276:24.63 collect2: fatal error: ld terminated with signal 9 [Killed]
> 
> The kernel's OOM killer is killing the process during the linking phase. You have to give it more memory (less parallelism, for example). Here the linker took around 10G of RAM.

Correct, I was able to compile it on my desktop with 64GB RAM, as I finished compiling I saw it was actually just published as a pre-packaged binary in the repos and works great :-)

Ty!

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2021-01-09 17:29 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-03  0:43 [PR PATCH] Thunderbird 78.5.1 ericonr
2020-12-03  0:44 ` [PR PATCH] [Updated] " ericonr
2020-12-13  9:39 ` dkwo
2020-12-15  9:38 ` dkwo
2020-12-15 13:35 ` ericonr
2020-12-15 13:42 ` dkwo
2021-01-06 19:25 ` fusion-zone
2021-01-06 22:45 ` ericonr
2021-01-06 22:45 ` ericonr
2021-01-07  0:08 ` [PR PATCH] [Updated] " ericonr
2021-01-07  0:15 ` Thunderbird 78.6.0 ericonr
2021-01-09  2:49 ` [PR PATCH] [Merged]: " ericonr
2021-01-09  4:36 ` ibhagwan
2021-01-09  6:47 ` ericonr
2021-01-09 17:29 ` ibhagwan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).