From 7b1ecaef7b990cb1e10f420d4eb23c5c7df9d842 Mon Sep 17 00:00:00 2001 From: Duncaen Date: Tue, 6 Jun 2023 00:55:54 +0200 Subject: [PATCH] firefox: update to 114.0. --- ...the-vendored-glean_parser-for-all-of.patch | 39 ---------- .../firefox/patches/avoid-redefinition.patch | 15 ---- srcpkgs/firefox/patches/skia-sucks1.patch | 77 ------------------- srcpkgs/firefox/patches/skia-sucks2.patch | 44 ----------- srcpkgs/firefox/patches/skia-sucks3.patch | 32 -------- srcpkgs/firefox/template | 7 +- 6 files changed, 4 insertions(+), 210 deletions(-) delete mode 100644 srcpkgs/firefox/patches/0001-Bug-1831691-Use-the-vendored-glean_parser-for-all-of.patch delete mode 100644 srcpkgs/firefox/patches/avoid-redefinition.patch delete mode 100644 srcpkgs/firefox/patches/skia-sucks1.patch delete mode 100644 srcpkgs/firefox/patches/skia-sucks2.patch delete mode 100644 srcpkgs/firefox/patches/skia-sucks3.patch diff --git a/srcpkgs/firefox/patches/0001-Bug-1831691-Use-the-vendored-glean_parser-for-all-of.patch b/srcpkgs/firefox/patches/0001-Bug-1831691-Use-the-vendored-glean_parser-for-all-of.patch deleted file mode 100644 index 3a7118ec69c..00000000000 --- a/srcpkgs/firefox/patches/0001-Bug-1831691-Use-the-vendored-glean_parser-for-all-of.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: ahochheiden -Date: Sat, 6 May 2023 21:07:09 +0000 -Subject: [PATCH] Bug 1831691 - Use the vendored 'glean_parser' for all of - `mach` r=firefox-build-system-reviewers,glandium - -Differential Revision: https://phabricator.services.mozilla.com/D177340 ---- - python/sites/build.txt | 1 - - python/sites/mach.txt | 1 + - python/sites/python-test.txt | 1 - - 3 files changed, 1 insertion(+), 2 deletions(-) - -diff --git a/python/sites/build.txt b/python/sites/build.txt -index b43f7680d200..4e6f6c51d9ad 100644 ---- a/python/sites/build.txt -+++ b/python/sites/build.txt -@@ -1,2 +1 @@ --vendored:third_party/python/glean_parser - pth:third_party/python/vsdownload -diff --git a/python/sites/mach.txt b/python/sites/mach.txt -index b9fafd0b9c59..a18691184312 100644 ---- a/python/sites/mach.txt -+++ b/python/sites/mach.txt -@@ -78,6 +78,7 @@ vendored:third_party/python/esprima - vendored:third_party/python/fluent.migrate - vendored:third_party/python/fluent.syntax - vendored:third_party/python/giturlparse -+vendored:third_party/python/glean_parser - vendored:third_party/python/gyp/pylib - vendored:third_party/python/idna - vendored:third_party/python/importlib_metadata -diff --git a/python/sites/python-test.txt b/python/sites/python-test.txt -index 48cdcd2b8f48..74889365a22b 100644 ---- a/python/sites/python-test.txt -+++ b/python/sites/python-test.txt -@@ -1,2 +1 @@ --vendored:third_party/python/glean_parser - pypi:pytest==7.0.1 diff --git a/srcpkgs/firefox/patches/avoid-redefinition.patch b/srcpkgs/firefox/patches/avoid-redefinition.patch deleted file mode 100644 index 867d37c62a9..00000000000 --- a/srcpkgs/firefox/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/firefox/patches/skia-sucks1.patch b/srcpkgs/firefox/patches/skia-sucks1.patch deleted file mode 100644 index cd9eecccf61..00000000000 --- a/srcpkgs/firefox/patches/skia-sucks1.patch +++ /dev/null @@ -1,77 +0,0 @@ -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 -@@ -30,6 +30,8 @@ - #include - #include - #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 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 - } - ---- a/gfx/2d/DrawTargetSkia.cpp -+++ b/gfx/2d/DrawTargetSkia.cpp -@@ -138,8 +138,7 @@ static IntRect CalculateSurfaceBounds(const IntSize& a - return surfaceBounds.Intersect(bounds); - } - --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) { ---- a/gfx/2d/Types.h -+++ b/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/firefox/patches/skia-sucks2.patch b/srcpkgs/firefox/patches/skia-sucks2.patch deleted file mode 100644 index 1a498f8711d..00000000000 --- a/srcpkgs/firefox/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/firefox/patches/skia-sucks3.patch b/srcpkgs/firefox/patches/skia-sucks3.patch deleted file mode 100644 index 4bf77e68440..00000000000 --- a/srcpkgs/firefox/patches/skia-sucks3.patch +++ /dev/null @@ -1,32 +0,0 @@ -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. - On big endian this is broken and instead of fading out, the - tab gets white and the font transparent, leading to an unreadable - tab-title -Solution: This is not a real solution, but a hack. The real solution would have been - to byte-swap the correct buffer, but I could not find it. - So the next best thing is to deactivate the fading-effect. Now all tab-titles - are readable, albeit not as pretty to look at as they could be. -Side-effects: I have not yet found an unwanted side-effect. - -diff -r 46ea866ca3ac -r 6ef20eee3f8f gfx/2d/DrawTargetSkia.cpp ---- a/gfx/2d/DrawTargetSkia.cpp Tue Oct 22 12:27:22 2019 +0200 -+++ b/gfx/2d/DrawTargetSkia.cpp Thu Oct 31 09:11:56 2019 +0100 -@@ -1861,6 +1861,14 @@ - SkCanvas::kPreserveLCDText_SaveLayerFlag | - (aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0)); - -+#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. -+ // The result is: Tab-titles that are longer than the available space should be faded out. -+ // The fading doesn't work, so we deactivate the fading-effect here. -+ if (!aMask) -+#endif - mCanvas->saveLayer(saveRec); - - SetPermitSubpixelAA(aOpaque); diff --git a/srcpkgs/firefox/template b/srcpkgs/firefox/template index 85a14d933c6..3bf78b03741 100644 --- a/srcpkgs/firefox/template +++ b/srcpkgs/firefox/template @@ -3,15 +3,16 @@ # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/firefox-i18n". # pkgname=firefox -version=113.0 +version=114.0 revision=1 build_helper="rust" short_desc="Mozilla Firefox web browser" maintainer="Duncaen " license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later" homepage="https://www.mozilla.org/firefox/" -distfiles="${MOZILLA_SITE}/${pkgname}/releases/${version}/source/${pkgname}-${version}.source.tar.xz" -checksum=7a266044cb9d0c63079b3453507ea0c80a23389f4cbf6a4f6fd15146c6072627 +# distfiles="${MOZILLA_SITE}/firefox/candidates/${version/beta/b}-candidates/build1/source/firefox-${version/beta/b}.source.tar.xz" +distfiles="${MOZILLA_SITE}/firefox/releases/${version}/source/firefox-${version}.source.tar.xz" +checksum=d23a0502742f52110ce496837ba82b47bf38d40585633787508ae5be9a5b4bc6 lib32disabled=yes