firefox-esr: update to 115.0.
This commit is contained in:
parent
57f332db80
commit
af6518f2d4
@ -1,15 +0,0 @@
|
||||
Author: Rasmus Thomsen <oss@cogitri.dev>
|
||||
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 <net/if.h>
|
||||
#include "addrs-netlink.h"
|
||||
#include <csi_platform.h>
|
||||
#include <assert.h>
|
14
srcpkgs/firefox-esr/patches/firefox-i686-build.patch
Normal file
14
srcpkgs/firefox-esr/patches/firefox-i686-build.patch
Normal file
@ -0,0 +1,14 @@
|
||||
https://src.fedoraproject.org/rpms/firefox/blob/rawhide/f/firefox-i686-build.patch
|
||||
|
||||
diff -up firefox-105.0/mozglue/misc/SIMD_avx2.cpp.old firefox-105.0/mozglue/misc/SIMD_avx2.cpp
|
||||
--- firefox-105.0/mozglue/misc/SIMD_avx2.cpp.old 2022-09-22 21:35:07.006221995 +0200
|
||||
+++ firefox-105.0/mozglue/misc/SIMD_avx2.cpp 2022-09-22 21:36:12.972480517 +0200
|
||||
@@ -55,7 +55,7 @@ __m256i CmpEq256(__m256i a, __m256i b) {
|
||||
return _mm256_cmpeq_epi64(a, b);
|
||||
}
|
||||
|
||||
-# if defined(__GNUC__) && !defined(__clang__)
|
||||
+# if 0
|
||||
|
||||
// See the comment in SIMD.cpp over Load32BitsIntoXMM. This is just adapted
|
||||
// from that workaround. Testing this, it also yields the correct instructions
|
@ -1,18 +0,0 @@
|
||||
# error: typedef redefinition with different types ('__double_t' (aka 'double') vs 'long double')
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1729459
|
||||
|
||||
--- a/modules/fdlibm/src/math_private.h
|
||||
+++ b/modules/fdlibm/src/math_private.h
|
||||
@@ -30,7 +30,12 @@
|
||||
* Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t
|
||||
*/
|
||||
|
||||
+#if defined(__linux__) && defined(__i386__) && !defined(__clang__)
|
||||
+// rely on glibc's double_t
|
||||
+typedef long double __double_t;
|
||||
+#else
|
||||
typedef double __double_t;
|
||||
+#endif
|
||||
typedef __double_t double_t;
|
||||
|
||||
/*
|
18
srcpkgs/firefox-esr/patches/fix-i686-build-moz-1792159.patch
Normal file
18
srcpkgs/firefox-esr/patches/fix-i686-build-moz-1792159.patch
Normal file
@ -0,0 +1,18 @@
|
||||
--- a/js/src/jit/shared/AtomicOperations-shared-jit.cpp
|
||||
+++ b/js/src/jit/shared/AtomicOperations-shared-jit.cpp
|
||||
@@ -5,4 +5,9 @@
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
+// bug 1792159
|
||||
+#if defined(__i386__) && defined(__GNUC__) && !defined(__clang__)
|
||||
+# include "../../../mfbt/Attributes.h"
|
||||
+#endif
|
||||
+
|
||||
#include "jit/AtomicOperations.h"
|
||||
|
||||
--- a/config/check_spidermonkey_style.py
|
||||
+++ b/config/check_spidermonkey_style.py
|
||||
@@ -68,2 +68,3 @@
|
||||
"jit/AtomicOperationsGenerated.h", # generated in $OBJDIR
|
||||
+ "../../../mfbt/Attributes.h", # unrecognized path
|
||||
"jit/CacheIROpsGenerated.h", # generated in $OBJDIR
|
@ -19,7 +19,7 @@ index 53fc3c9937f7..b23771ab80fa 100644
|
||||
+#elif defined(MOZ_FFMPEG)
|
||||
+ RefPtr<PDMFactory> platform = new PDMFactory();
|
||||
+ return StaticPrefs::media_flac_enabled() &&
|
||||
+ platform->SupportsMimeType("audio/flac"_ns);
|
||||
+ platform->SupportsMimeType("audio/flac"_ns) != media::DecodeSupport::Unsupported;
|
||||
#else
|
||||
// Until bug 1295886 is fixed.
|
||||
return false;
|
||||
|
12
srcpkgs/firefox-esr/patches/rust-lto-thin.patch
Normal file
12
srcpkgs/firefox-esr/patches/rust-lto-thin.patch
Normal file
@ -0,0 +1,12 @@
|
||||
set rust crate lto to thin to not use fatlto for gkrust which fails sometimes
|
||||
--- a/config/makefiles/rust.mk
|
||||
+++ b/config/makefiles/rust.mk
|
||||
@@ -92,7 +92,7 @@
|
||||
# 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$(if $(filter full,$(MOZ_LTO_RUST_CROSS)),=fat)
|
||||
+cargo_rustc_flags += -Clto=thin
|
||||
endif
|
||||
# We need -Cembed-bitcode=yes for all crates when using -Clto.
|
||||
RUSTFLAGS += -Cembed-bitcode=yes
|
@ -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 <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 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.
|
||||
//
|
@ -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) {
|
@ -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);
|
@ -4,15 +4,15 @@
|
||||
# After bumping this package, restore the depends of browsh
|
||||
#
|
||||
pkgname=firefox-esr
|
||||
version=102.9.0
|
||||
revision=2
|
||||
version=115.0
|
||||
revision=1
|
||||
build_helper="rust"
|
||||
short_desc="Mozilla Firefox web browser - Extended Support Release"
|
||||
maintainer="Orphaned <orphan@voidlinux.org>"
|
||||
license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
|
||||
homepage="https://www.mozilla.org/firefox/"
|
||||
distfiles="${MOZILLA_SITE}/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz"
|
||||
checksum=31b074623f09ca821a8a7dee0b3d2df1a45f1164264d31c26b4969a4d6a21dd1
|
||||
checksum=dbf35684998012aa085e8e0bc9e995d16dcbf5fd5aa5cbb1f7381be4967b400d
|
||||
|
||||
lib32disabled=yes
|
||||
|
||||
@ -148,7 +148,7 @@ do_build() {
|
||||
# https://phabricator.services.mozilla.com/D134738
|
||||
#
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
ppc64le*|armv7l*) echo "ac_add_options --disable-webrtc" ;;
|
||||
armv7l*) echo "ac_add_options --disable-webrtc" ;;
|
||||
esac
|
||||
|
||||
# third_party/libwebrtc/common_audio/wav_file.cc:93:2: error:
|
||||
|
Loading…
x
Reference in New Issue
Block a user