diff --git a/srcpkgs/thunderbird/patches/avoid-redefinition.patch b/srcpkgs/thunderbird/patches/avoid-redefinition.patch deleted file mode 100644 index 867d37c62a9..00000000000 --- a/srcpkgs/thunderbird/patches/avoid-redefinition.patch +++ /dev/null @@ -1,15 +0,0 @@ -Author: Rasmus Thomsen -Reason: FF is mixing userspace net headers (net/if.h) and kernelspace ones -(linux/if.h), leading to redefinitions. We need to include net/if.h before -linux/if.h because linux/if.h has redifinition guards whereas net/if.h doesnt -Upstream: No ---- a/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c 2020-07-28 19:24:32.359751046 +0200 -+++ b/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c 2020-07-28 19:24:37.856343751 +0200 -@@ -31,6 +31,7 @@ - */ - - #if defined(LINUX) -+#include - #include "addrs-netlink.h" - #include - #include diff --git a/srcpkgs/thunderbird/patches/fix-i386-fdlibm.patch b/srcpkgs/thunderbird/patches/fix-i386-fdlibm.patch index 831e5e03678..bb81b4ad59e 100644 --- a/srcpkgs/thunderbird/patches/fix-i386-fdlibm.patch +++ b/srcpkgs/thunderbird/patches/fix-i386-fdlibm.patch @@ -14,5 +14,5 @@ typedef double __double_t; +#endif typedef __double_t double_t; + typedef float __float_t; - /* diff --git a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch index ebf48deb972..2e475e8c694 100644 --- a/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch +++ b/srcpkgs/thunderbird/patches/flac-no-ffvpx.patch @@ -12,7 +12,7 @@ index 53fc3c9937f7..b23771ab80fa 100644 namespace mozilla { -@@ -14,6 +15,10 @@ namespace mozilla { +@@ -14,5 +15,9 @@ namespace mozilla { bool FlacDecoder::IsEnabled() { #ifdef MOZ_FFVPX return StaticPrefs::media_flac_enabled(); @@ -21,5 +21,4 @@ index 53fc3c9937f7..b23771ab80fa 100644 + return StaticPrefs::media_flac_enabled() && + platform->SupportsMimeType("audio/flac"_ns); #else - // Until bug 1295886 is fixed. return false; diff --git a/srcpkgs/thunderbird/patches/lto-thin.patch b/srcpkgs/thunderbird/patches/lto-thin.patch index e85cbce3658..78ac8b741be 100644 --- a/srcpkgs/thunderbird/patches/lto-thin.patch +++ b/srcpkgs/thunderbird/patches/lto-thin.patch @@ -1,17 +1,20 @@ -$OpenBSD: patch-config_makefiles_rust_mk,v 1.6 2021/01/26 15:52:58 landry Exp $ +This patch is a modified version of the OpenBSD patch -use lto=thin to reduce memory pressure when building gkrust +try to consume less memory when linking gkrust with debug symbols ? + +openbsd patch: https://github.com/openbsd/ports/blob/master/mail/mozilla-thunderbird/patches/patch-config_makefiles_rust_mk https://bugzilla.mozilla.org/show_bug.cgi?id=1644409 https://bugzilla.mozilla.org/show_bug.cgi?id=1640982 - -Index: config/makefiles/rust.mk ---- a/config/makefiles/rust.mk.orig -+++ a/config/makefiles/rust.mk -@@ -70,7 +70,8 @@ ifndef MOZ_DEBUG_RUST - # gkrust_gtest. And not when doing cross-language LTO. - ifndef MOZ_LTO_RUST_CROSS +--- +diff --git a/config/makefiles/rust.mk b/config/makefiles/rust.mk +index a243ee5f7f..89593f1fe1 100644 +--- a/config/makefiles/rust.mk ++++ b/config/makefiles/rust.mk +@@ -90,7 +90,8 @@ ifndef rustflags_sancov + # Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045. + ifndef MOZ_CODE_COVERAGE ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE))) --cargo_rustc_flags += -Clto +-cargo_rustc_flags += -Clto$(if $(filter full,$(MOZ_LTO_RUST_CROSS)),=fat) +cargo_rustc_flags += -Clto=thin +export CARGO_PROFILE_RELEASE_LTO=thin endif diff --git a/srcpkgs/thunderbird/patches/mallinfo.patch b/srcpkgs/thunderbird/patches/mallinfo.patch index 0d704301f39..a3b3e1cb53a 100644 --- a/srcpkgs/thunderbird/patches/mallinfo.patch +++ b/srcpkgs/thunderbird/patches/mallinfo.patch @@ -1,14 +1,16 @@ ---- a/xpcom/base/nsMemoryReporterManager.cpp 2019-03-19 17:12:20.844810044 +0100 -+++ b/xpcom/base/nsMemoryReporterManager.cpp 2019-03-19 17:13:32.505133615 +0100 -@@ -123,6 +123,7 @@ - return GetProcSelfSmapsPrivate(aN); +diff --git a/xpcom/base/nsMemoryReporterManager.cpp b/xpcom/base/nsMemoryReporterManager.cpp +index 30bc60e01a..caf9f740d2 100644 +--- a/xpcom/base/nsMemoryReporterManager.cpp ++++ b/xpcom/base/nsMemoryReporterManager.cpp +@@ -127,6 +127,7 @@ using namespace dom; + return GetProcSelfSmapsPrivate(aN, aPid); } +#ifdef __GLIBC__ # ifdef HAVE_MALLINFO # define HAVE_SYSTEM_HEAP_REPORTER 1 - static MOZ_MUST_USE nsresult SystemHeapSize(int64_t* aSizeOut) { -@@ -142,6 +143,7 @@ + [[nodiscard]] static nsresult SystemHeapSize(int64_t* aSizeOut) { +@@ -146,6 +147,7 @@ using namespace dom; return NS_OK; } # endif @@ -16,16 +18,16 @@ #elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \ defined(__OpenBSD__) || defined(__FreeBSD_kernel__) -@@ -642,6 +644,7 @@ +@@ -653,6 +655,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) { return NS_OK; } +#ifdef __GLIBC__ # define HAVE_SYSTEM_HEAP_REPORTER 1 - // Windows can have multiple separate heaps. During testing there were multiple - // heaps present but the non-default ones had sizes no more than a few 10s of -@@ -698,6 +701,7 @@ - *aSizeOut = heapsSize; + // Windows can have multiple separate heaps, but we should not touch non-default + // heaps because they may be destroyed at anytime while we hold a handle. So we +@@ -685,6 +688,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) { + *aSizeOut = heapSize; return NS_OK; } +#endif // __GLIBC__ diff --git a/srcpkgs/thunderbird/patches/mp4parse-rust-1.70.patch b/srcpkgs/thunderbird/patches/mp4parse-rust-1.70.patch deleted file mode 100644 index 64bf6e8e7be..00000000000 --- a/srcpkgs/thunderbird/patches/mp4parse-rust-1.70.patch +++ /dev/null @@ -1,32 +0,0 @@ -Patch-Source: https://github.com/mozilla/mp4parse-rust/commit/8d58b2d5fc7f552d585964354d8269bcca3d9251 --- -From 8d58b2d5fc7f552d585964354d8269bcca3d9251 Mon Sep 17 00:00:00 2001 -From: Matthew Gregan -Date: Thu, 16 Jun 2022 13:54:02 +1200 -Subject: [PATCH] Fix `unstable-name-collisions` warning by using fully - qualified path. - ---- - mp4parse/src/lib.rs | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/mp4parse/src/lib.rs b/mp4parse/src/lib.rs -index 567ee21d..4f3d7153 100644 ---- a/third_party/rust/mp4parse/src/lib.rs -+++ b/third_party/rust/mp4parse/src/lib.rs -@@ -3506,8 +3506,13 @@ macro_rules! impl_mul { - type Output = $output; - - fn mul(self, rhs: $rhs) -> Self::Output { -- static_assertions::const_assert!(<$output>::MAX <= <$inner>::MAX as u64); -- static_assertions::const_assert!(<$lhs>::MAX * <$rhs>::MAX <= <$output>::MAX); -+ static_assertions::const_assert!( -+ <$output as UpperBounded>::MAX <= <$inner>::MAX as u64 -+ ); -+ static_assertions::const_assert!( -+ <$lhs as UpperBounded>::MAX * <$rhs as UpperBounded>::MAX -+ <= <$output as UpperBounded>::MAX -+ ); - - let lhs: $inner = self.get().into(); - let rhs: $inner = rhs.get().into(); diff --git a/srcpkgs/thunderbird/patches/python3.11.patch b/srcpkgs/thunderbird/patches/python3.11.patch deleted file mode 100644 index 2facee5ebb2..00000000000 --- a/srcpkgs/thunderbird/patches/python3.11.patch +++ /dev/null @@ -1,238 +0,0 @@ -Patch-Source: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267709 -Patch-Source: https://hg.mozilla.org/mozilla-central/rev/f54162b2c1f2fe52c6137ab2c3469a1944f58b27 ---- a/xpcom/idl-parser/xpidl/xpidl.py -+++ b/xpcom/idl-parser/xpidl/xpidl.py -@@ -1633,13 +1633,13 @@ class IDLParser(object): - t_ignore = " \t" - - def t_multilinecomment(self, t): -- r"/\*(?s).*?\*/" -+ r"/\*(\n|.)*?\*/" - t.lexer.lineno += t.value.count("\n") - if t.value.startswith("/**"): - self._doccomments.append(t.value) - - def t_singlelinecomment(self, t): -- r"(?m)//.*?$" -+ r"//[^\n]*" - - def t_IID(self, t): - return t -@@ -1652,7 +1652,7 @@ class IDLParser(object): - return t - - def t_LCDATA(self, t): -- r"(?s)%\{[ ]*C\+\+[ ]*\n(?P.*?\n?)%\}[ ]*(C\+\+)?" -+ r"%\{[ ]*C\+\+[ ]*\n(?P(\n|.)*?\n?)%\}[ ]*(C\+\+)?" - t.type = "CDATA" - t.value = t.lexer.lexmatch.group("cdata") - t.lexer.lineno += t.value.count("\n") - - -# HG changeset patch -# User ahochheiden -# Date 1654151264 0 -# Node ID f54162b2c1f2fe52c6137ab2c3469a1944f58b27 -# Parent 6e7776492240c27732840d65a33dcc440fa1aba0 -Bug 1769631 - Remove 'U' from 'mode' parameters for various 'open' calls to ensure Python3.11 compatibility r=firefox-build-system-reviewers,glandium - -The 'U' flag represents "universal newline". It has been deprecated -since Python3.3. Since then "universal newline" is the default when a -file is opened in text mode (not bytes). In Python3.11 using the 'U' -flag throws errors. There should be no harm in removing 'U' from 'open' -everywhere it is used, and doing allows the use of Python3.11. - -For more reading see: https://docs.python.org/3.11/whatsnew/3.11.html#changes-in-the-python-api - -Differential Revision: https://phabricator.services.mozilla.com/D147721 - -diff --git a/dom/base/usecounters.py b/dom/base/usecounters.py ---- a/dom/base/usecounters.py -+++ b/dom/base/usecounters.py -@@ -3,17 +3,17 @@ - # file, You can obtain one at http://mozilla.org/MPL/2.0/. - - import collections - import re - - - def read_conf(conf_filename): - # Can't read/write from a single StringIO, so make a new one for reading. -- stream = open(conf_filename, "rU") -+ stream = open(conf_filename, "r") - - def parse_counters(stream): - for line_num, line in enumerate(stream): - line = line.rstrip("\n") - if not line or line.startswith("//"): - # empty line or comment - continue - m = re.match(r"method ([A-Za-z0-9]+)\.([A-Za-z0-9]+)$", line) -diff --git a/python/mozbuild/mozbuild/action/process_define_files.py b/python/mozbuild/mozbuild/action/process_define_files.py ---- a/python/mozbuild/mozbuild/action/process_define_files.py -+++ b/python/mozbuild/mozbuild/action/process_define_files.py -@@ -31,17 +31,17 @@ def process_define_file(output, input): - - config = PartialConfigEnvironment(topobjdir) - - if mozpath.basedir( - path, [mozpath.join(topsrcdir, "js/src")] - ) and not config.substs.get("JS_STANDALONE"): - config = PartialConfigEnvironment(mozpath.join(topobjdir, "js", "src")) - -- with open(path, "rU") as input: -+ with open(path, "r") as input: - r = re.compile( - "^\s*#\s*(?P[a-z]+)(?:\s+(?P\S+)(?:\s+(?P\S+))?)?", re.U - ) - for l in input: - m = r.match(l) - if m: - cmd = m.group("cmd") - name = m.group("name") -diff --git a/python/mozbuild/mozbuild/backend/base.py b/python/mozbuild/mozbuild/backend/base.py ---- a/python/mozbuild/mozbuild/backend/base.py -+++ b/python/mozbuild/mozbuild/backend/base.py -@@ -267,17 +267,17 @@ class BuildBackend(LoggingMixin): - If an exception is raised, |mach build| will fail with a - non-zero exit code. - """ - self._write_purgecaches(config) - - return status - - @contextmanager -- def _write_file(self, path=None, fh=None, readmode="rU"): -+ def _write_file(self, path=None, fh=None, readmode="r"): - """Context manager to write a file. - - This is a glorified wrapper around FileAvoidWrite with integration to - update the summary data on this instance. - - Example usage: - - with self._write_file('foo.txt') as fh: -diff --git a/python/mozbuild/mozbuild/preprocessor.py b/python/mozbuild/mozbuild/preprocessor.py ---- a/python/mozbuild/mozbuild/preprocessor.py -+++ b/python/mozbuild/mozbuild/preprocessor.py -@@ -526,17 +526,17 @@ class Preprocessor: - if not options.output: - raise Preprocessor.Error( - self, "--depend doesn't work with stdout", None - ) - depfile = get_output_file(options.depend) - - if args: - for f in args: -- with io.open(f, "rU", encoding="utf-8") as input: -+ with io.open(f, "r", encoding="utf-8") as input: - self.processFile(input=input, output=out) - if depfile: - mk = Makefile() - mk.create_rule([six.ensure_text(options.output)]).add_dependencies( - self.includes - ) - mk.dump(depfile) - depfile.close() -@@ -855,17 +855,17 @@ class Preprocessor: - self.checkLineNumbers = False - if isName: - try: - args = _to_text(args) - if filters: - args = self.applyFilters(args) - if not os.path.isabs(args): - args = os.path.join(self.curdir, args) -- args = io.open(args, "rU", encoding="utf-8") -+ args = io.open(args, "r", encoding="utf-8") - except Preprocessor.Error: - raise - except Exception: - raise Preprocessor.Error(self, "FILE_NOT_FOUND", _to_text(args)) - self.checkLineNumbers = bool( - re.search("\.(js|jsm|java|webidl)(?:\.in)?$", args.name) - ) - oldFile = self.context["FILE"] -@@ -909,17 +909,17 @@ class Preprocessor: - - def do_error(self, args): - raise Preprocessor.Error(self, "Error: ", _to_text(args)) - - - def preprocess(includes=[sys.stdin], defines={}, output=sys.stdout, marker="#"): - pp = Preprocessor(defines=defines, marker=marker) - for f in includes: -- with io.open(f, "rU", encoding="utf-8") as input: -+ with io.open(f, "r", encoding="utf-8") as input: - pp.processFile(input=input, output=output) - return pp.includes - - - # Keep this module independently executable. - if __name__ == "__main__": - pp = Preprocessor() - pp.handleCommandLine(None, True) -diff --git a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py ---- a/python/mozbuild/mozbuild/util.py -+++ b/python/mozbuild/mozbuild/util.py -@@ -231,17 +231,17 @@ class FileAvoidWrite(BytesIO): - enabled by default because it a) doesn't make sense for binary files b) - could add unwanted overhead to calls. - - Additionally, there is dry run mode where the file is not actually written - out, but reports whether the file was existing and would have been updated - still occur, as well as diff capture if requested. - """ - -- def __init__(self, filename, capture_diff=False, dry_run=False, readmode="rU"): -+ def __init__(self, filename, capture_diff=False, dry_run=False, readmode="r"): - BytesIO.__init__(self) - self.name = filename - assert type(capture_diff) == bool - assert type(dry_run) == bool - assert "r" in readmode - self._capture_diff = capture_diff - self._write_to_file = not dry_run - self.diff = None -diff --git a/python/mozbuild/mozpack/files.py b/python/mozbuild/mozpack/files.py ---- a/python/mozbuild/mozpack/files.py -+++ b/python/mozbuild/mozpack/files.py -@@ -549,17 +549,17 @@ class PreprocessedFile(BaseFile): - self.defines = defines - self.extra_depends = list(extra_depends or []) - self.silence_missing_directive_warnings = silence_missing_directive_warnings - - def inputs(self): - pp = Preprocessor(defines=self.defines, marker=self.marker) - pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings) - -- with _open(self.path, "rU") as input: -+ with _open(self.path, "r") as input: - with _open(os.devnull, "w") as output: - pp.processFile(input=input, output=output) - - # This always yields at least self.path. - return pp.includes - - def copy(self, dest, skip_if_older=True): - """ -@@ -606,17 +606,17 @@ class PreprocessedFile(BaseFile): - return False - - deps_out = None - if self.depfile: - deps_out = FileAvoidWrite(self.depfile) - pp = Preprocessor(defines=self.defines, marker=self.marker) - pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings) - -- with _open(self.path, "rU") as input: -+ with _open(self.path, "r") as input: - pp.processFile(input=input, output=dest, depfile=deps_out) - - dest.close() - if self.depfile: - deps_out.close() - - return True - - diff --git a/srcpkgs/thunderbird/patches/rust-configure.patch b/srcpkgs/thunderbird/patches/rust-configure.patch index 61fb2ba891d..b5ff2987008 100644 --- a/srcpkgs/thunderbird/patches/rust-configure.patch +++ b/srcpkgs/thunderbird/patches/rust-configure.patch @@ -6,9 +6,11 @@ instead use what is set in RUST_TARGET Skip extra checks on cross builds (broken for arm*) ---- a/build/moz.configure/rust.configure 2020-12-12 01:35:33.000000000 +0100 -+++ b/build/moz.configure/rust.configure 2020-12-15 19:45:16.467750787 +0100 -@@ -91,9 +91,6 @@ +diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure +index e64dc5d5ec..c4778f8cc8 100644 +--- a/build/moz.configure/rust.configure ++++ b/build/moz.configure/rust.configure +@@ -91,9 +91,6 @@ def unwrap_rustup(prog, name): return unwrap @@ -18,7 +20,7 @@ Skip extra checks on cross builds (broken for arm*) set_config("CARGO", cargo) set_config("RUSTC", rustc) -@@ -260,7 +257,9 @@ +@@ -274,7 +271,9 @@ def rust_supported_targets(rustc): data.setdefault(key, []).append(namespace(rust_target=t, target=info)) return data @@ -29,24 +31,26 @@ Skip extra checks on cross builds (broken for arm*) def detect_rustc_target( host_or_target, compiler_info, arm_target, rust_supported_targets ): -@@ -382,12 +381,12 @@ +@@ -396,12 +395,14 @@ def detect_rustc_target( return None - rustc_target = find_candidate(candidates) + rustc_target = os.environ['RUST_TARGET'] ++ if rustc_target is None: die("Don't know how to translate {} for rustc".format(host_or_target.alias)) - return rustc_target + return ensure_unicode(rustc_target, system_encoding) ++ @imports("os") -@@ -410,35 +409,6 @@ +@@ -423,35 +424,6 @@ def assert_rust_compile(host_or_target, rustc_target, rustc): - os.write(in_fd, ensure_binary(source)) + os.write(in_fd, source) os.close(in_fd) - - cmd = [ @@ -80,7 +84,7 @@ Skip extra checks on cross builds (broken for arm*) finally: os.remove(in_path) os.remove(out_path) -@@ -462,28 +432,7 @@ +@@ -475,28 +447,7 @@ def rust_host_triple( host, compiler_info, arm_target, rust_supported_targets ) if rustc_target != rustc_host: diff --git a/srcpkgs/thunderbird/patches/sandbox-fork.patch b/srcpkgs/thunderbird/patches/sandbox-fork.patch index d4584e74b91..a8cb89394f8 100644 --- a/srcpkgs/thunderbird/patches/sandbox-fork.patch +++ b/srcpkgs/thunderbird/patches/sandbox-fork.patch @@ -1,8 +1,8 @@ -make SYS_fork non-fatal, musl uses it for fork(2) - +diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp +index 20e9b59685..e053580992 100644 --- a/security/sandbox/linux/SandboxFilter.cpp +++ b/security/sandbox/linux/SandboxFilter.cpp -@@ -1420,6 +1420,10 @@ +@@ -1598,6 +1598,11 @@ class ContentSandboxPolicy : public SandboxPolicyCommon { // usually do something reasonable on error. case __NR_clone: return ClonePolicy(Error(EPERM)); @@ -10,6 +10,7 @@ make SYS_fork non-fatal, musl uses it for fork(2) + case __NR_fork: + return Error(ENOSYS); +# endif ++ - # ifdef __NR_fadvise64 - case __NR_fadvise64: + case __NR_clone3: + return Error(ENOSYS); diff --git a/srcpkgs/thunderbird/patches/skia-sucks1.patch b/srcpkgs/thunderbird/patches/skia-sucks1.patch index cd9eecccf61..027d97bfce6 100644 --- a/srcpkgs/thunderbird/patches/skia-sucks1.patch +++ b/srcpkgs/thunderbird/patches/skia-sucks1.patch @@ -1,8 +1,8 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1504834#c5 https://bugzilla.mozilla.org/attachment.cgi?id=9028600 ---- a/gfx/skia/skia/third_party/skcms/skcms.cc -+++ b/gfx/skia/skia/third_party/skcms/skcms.cc +--- a/gfx/skia/skia/modules/skcms/skcms.cc ++++ b/gfx/skia/skia/modules/skcms/skcms.cc @@ -30,6 +30,8 @@ #include #include @@ -11,7 +11,7 @@ https://bugzilla.mozilla.org/attachment.cgi?id=9028600 + #define SKCMS_PORTABLE #endif - // sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others. + static bool runtime_cpu_detection = true; @@ -280,20 +282,28 @@ enum { static uint16_t read_big_u16(const uint8_t* ptr) { uint16_t be; diff --git a/srcpkgs/thunderbird/patches/skia-sucks2.patch b/srcpkgs/thunderbird/patches/skia-sucks2.patch deleted file mode 100644 index 1a498f8711d..00000000000 --- a/srcpkgs/thunderbird/patches/skia-sucks2.patch +++ /dev/null @@ -1,44 +0,0 @@ -# HG changeset patch -# Parent aecb4600e5da17443b224c79eee178c1d8e155e3 -For FF68, AntiAliasing of XULTexts seem to be broken on big endian (s390x). Text and icons of the sandwich-menu to the -right of the address bar, as well as plugin-windows appears transparant, which usually means unreadable (white on white). - -diff -r aecb4600e5da gfx/skia/skia/include/private/SkNx.h ---- a/gfx/skia/skia/include/private/SkNx.h Tue Aug 20 09:46:55 2019 +0200 -+++ b/gfx/skia/skia/include/private/SkNx.h Mon Sep 09 10:04:06 2019 +0200 -@@ -238,7 +238,18 @@ - AI SkNx operator*(const SkNx& y) const { return fVal * y.fVal; } - AI SkNx operator/(const SkNx& y) const { return fVal / y.fVal; } - -+ // On Big endian the commented out variant doesn't work, -+ // and honestly, I have no idea why it exists in the first place. -+ // The reason its broken is, I think, that it defaults to the double-variant of ToBits() -+ // which gets a 64-bit integer, and FromBits returns 32-bit, -+ // cutting off the wrong half again. -+ // Overall, I see no reason to have ToBits and FromBits at all (even for floats/doubles). -+ // Still we are only "fixing" this for big endian and leave little endian alone (never touch a running system) -+#ifdef SK_CPU_BENDIAN -+ AI SkNx operator&(const SkNx& y) const { return fVal & y.fVal; } -+#else - AI SkNx operator&(const SkNx& y) const { return FromBits(ToBits(fVal) & ToBits(y.fVal)); } -+#endif - AI SkNx operator|(const SkNx& y) const { return FromBits(ToBits(fVal) | ToBits(y.fVal)); } - AI SkNx operator^(const SkNx& y) const { return FromBits(ToBits(fVal) ^ ToBits(y.fVal)); } - -diff -r aecb4600e5da gfx/skia/skia/src/opts/SkBlitMask_opts.h ---- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h Tue Aug 20 09:46:55 2019 +0200 -+++ b/gfx/skia/skia/src/opts/SkBlitMask_opts.h Mon Sep 09 10:04:06 2019 +0200 -@@ -203,7 +203,13 @@ - // ~~~> - // a = 1*aa + d(1-1*aa) = aa + d(1-aa) - // c = 0*aa + d(1-1*aa) = d(1-aa) -+ -+ // For big endian we have to swap the alpha-mask from 0,0,0,255 to 255,0,0,0 -+#ifdef SK_CPU_BENDIAN -+ return Sk4px(Sk16b(aa) & Sk16b(255,0,0,0, 255,0,0,0, 255,0,0,0, 255,0,0,0)) -+#else - return Sk4px(Sk16b(aa) & Sk16b(0,0,0,255, 0,0,0,255, 0,0,0,255, 0,0,0,255)) -+#endif - + d.approxMulDiv255(aa.inv()); - }; - while (h --> 0) { diff --git a/srcpkgs/thunderbird/template b/srcpkgs/thunderbird/template index 9709c5339bc..551e968ce98 100644 --- a/srcpkgs/thunderbird/template +++ b/srcpkgs/thunderbird/template @@ -3,15 +3,15 @@ # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/thunderbird-i18n". # pkgname=thunderbird -version=102.6.1 -revision=4 +version=115.0 +revision=1 build_helper="rust" short_desc="Standalone Mail/News reader" maintainer="Érico Nogueira " 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=8b8cb5d7532ad8ee65061d2f284ae9f0470e7614dfcfc3c37ca945bcb96d1183 +distfiles="${MOZILLA_SITE}/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz" +checksum=3edc85647dcebde8b84c17e6eeff6ca9866a9f0ffe9a67d786fdb442c8a9a9ad lib32disabled=yes @@ -24,7 +24,7 @@ makedepends="nss-devel libjpeg-turbo-devel gtk+3-devel icu-devel $(vopt_if dbus dbus-glib-devel) $(vopt_if pulseaudio pulseaudio-devel) $(vopt_if xscreensaver libXScrnSaver-devel) $(vopt_if sndio sndio-devel) $(vopt_if jack jack-devel)" -depends="nss>=3.72 nspr>=4.32 desktop-file-utils hicolor-icon-theme" +depends="nss>=3.72 nspr>=4.32 desktop-file-utils hicolor-icon-theme libotr" build_options="alsa jack dbus pulseaudio xscreensaver sndio wayland" build_options_default="alsa jack dbus pulseaudio xscreensaver sndio wayland"