diff --git a/build-big-endian.patch b/build-big-endian.patch new file mode 100644 index 0000000..e8ec439 --- /dev/null +++ b/build-big-endian.patch @@ -0,0 +1,84 @@ +diff -up firefox-60.0/gfx/skia/skia/include/core/SkColorPriv.h.big-endian firefox-60.0/gfx/skia/skia/include/core/SkColorPriv.h +--- firefox-60.0/gfx/skia/skia/include/core/SkColorPriv.h.big-endian 2018-04-09 22:50:48.000000000 +0200 ++++ firefox-60.0/gfx/skia/skia/include/core/SkColorPriv.h 2018-04-18 11:51:38.748680174 +0200 +@@ -54,18 +54,19 @@ static inline U8CPU SkUnitScalarClampToB + * + * Here we enforce this constraint. + */ +- ++/* + #ifdef SK_CPU_BENDIAN + #define SK_RGBA_R32_SHIFT 24 + #define SK_RGBA_G32_SHIFT 16 + #define SK_RGBA_B32_SHIFT 8 + #define SK_RGBA_A32_SHIFT 0 + #else ++*/ + #define SK_RGBA_R32_SHIFT 0 + #define SK_RGBA_G32_SHIFT 8 + #define SK_RGBA_B32_SHIFT 16 + #define SK_RGBA_A32_SHIFT 24 +-#endif ++/*#endif*/ + + #define SkGetPackedA32(packed) ((uint32_t)((packed) << (24 - SK_A32_SHIFT)) >> 24) + #define SkGetPackedR32(packed) ((uint32_t)((packed) << (24 - SK_R32_SHIFT)) >> 24) +diff -up firefox-60.0/gfx/skia/skia/include/core/SkImageInfo.h.big-endian firefox-60.0/gfx/skia/skia/include/core/SkImageInfo.h +--- firefox-60.0/gfx/skia/skia/include/core/SkImageInfo.h.big-endian 2018-04-09 22:50:48.000000000 +0200 ++++ firefox-60.0/gfx/skia/skia/include/core/SkImageInfo.h 2018-04-18 11:51:38.748680174 +0200 +@@ -84,7 +84,8 @@ enum SkColorType { + #elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A) + kN32_SkColorType = kRGBA_8888_SkColorType, + #else +- #error "SK_*32_SHIFT values must correspond to BGRA or RGBA byte order" ++ //#error "SK_*32_SHIFT values must correspond to BGRA or RGBA byte order" ++ kN32_SkColorType = kBGRA_8888_SkColorType + #endif + }; + +diff -up firefox-60.0/gfx/skia/skia/include/gpu/GrTypes.h.big-endian firefox-60.0/gfx/skia/skia/include/gpu/GrTypes.h +--- firefox-60.0/gfx/skia/skia/include/gpu/GrTypes.h.big-endian 2018-04-09 22:50:48.000000000 +0200 ++++ firefox-60.0/gfx/skia/skia/include/gpu/GrTypes.h 2018-04-18 11:51:38.748680174 +0200 +@@ -344,15 +344,13 @@ enum GrPixelConfig { + static const int kGrPixelConfigCnt = kLast_GrPixelConfig + 1; + + // Aliases for pixel configs that match skia's byte order. +-#ifndef SK_CPU_LENDIAN +- #error "Skia gpu currently assumes little endian" +-#endif + #if SK_PMCOLOR_BYTE_ORDER(B,G,R,A) + static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig; + #elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A) + static const GrPixelConfig kSkia8888_GrPixelConfig = kRGBA_8888_GrPixelConfig; + #else +- #error "SK_*32_SHIFT values must correspond to GL_BGRA or GL_RGBA format." ++ static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig; ++ static const GrPixelConfig kSkiaGamma8888_GrPixelConfig = kSBGRA_8888_GrPixelConfig; + #endif + + /** +diff -up firefox-60.0/gfx/skia/skia/src/core/SkColorData.h.big-endian firefox-60.0/gfx/skia/skia/src/core/SkColorData.h +--- firefox-60.0/gfx/skia/skia/src/core/SkColorData.h.big-endian 2018-04-18 13:42:06.980476156 +0200 ++++ firefox-60.0/gfx/skia/skia/src/core/SkColorData.h 2018-04-18 13:42:50.493520552 +0200 +@@ -31,18 +31,19 @@ + * + * Here we enforce this constraint. + */ +- ++/* + #ifdef SK_CPU_BENDIAN + #define SK_BGRA_B32_SHIFT 24 + #define SK_BGRA_G32_SHIFT 16 + #define SK_BGRA_R32_SHIFT 8 + #define SK_BGRA_A32_SHIFT 0 + #else ++*/ + #define SK_BGRA_B32_SHIFT 0 + #define SK_BGRA_G32_SHIFT 8 + #define SK_BGRA_R32_SHIFT 16 + #define SK_BGRA_A32_SHIFT 24 +-#endif ++//#endif + + #if defined(SK_PMCOLOR_IS_RGBA) && defined(SK_PMCOLOR_IS_BGRA) + #error "can't define PMCOLOR to be RGBA and BGRA" diff --git a/mozilla-1353817.patch b/mozilla-1353817.patch new file mode 100644 index 0000000..dc8d8f8 --- /dev/null +++ b/mozilla-1353817.patch @@ -0,0 +1,27 @@ +From 1cc652f5525f458b0b4ceb12af24bf5a4367db32 Mon Sep 17 00:00:00 2001 +From: Nicolas Dufresne +Date: Tue, 23 May 2017 13:09:48 -0400 +Subject: [PATCH] Bug 1353817: Include SkNx_neon.h for ARM64 too + +This fixes build errors as arm_neon.h was missing along with some +missing converters. +--- + gfx/skia/skia/src/core/SkNx.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gfx/skia/skia/src/core/SkNx.h b/gfx/skia/skia/src/core/SkNx.h +index 6bca856..b0427aa 100644 +--- a/gfx/skia/skia/src/core/SkNx.h ++++ b/gfx/skia/skia/src/core/SkNx.h +@@ -299,7 +299,7 @@ typedef SkNx<4, uint32_t> Sk4u; + // Include platform specific specializations if available. + #if !defined(SKNX_NO_SIMD) && SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2 + #include "../opts/SkNx_sse.h" +-#elif !defined(SKNX_NO_SIMD) && defined(SK_ARM_HAS_NEON) ++#elif !defined(SKNX_NO_SIMD) && (defined(SK_ARM_HAS_NEON) || defined(SK_CPU_ARM64)) + #include "../opts/SkNx_neon.h" + #else + +-- +2.9.4 + diff --git a/thunderbird.spec b/thunderbird.spec index 574796b..dfac433 100644 --- a/thunderbird.spec +++ b/thunderbird.spec @@ -113,6 +113,8 @@ Patch104: firefox-gcc-6.0.patch # PPC fix Patch304: mozilla-1245783.patch +Patch305: build-big-endian.patch +Patch306: mozilla-1353817.patch # Fedora specific patches @@ -226,6 +228,8 @@ debug %{name}, you want to install %{name}-debuginfo instead. # Patch for big endian platforms only %if 0%{?big_endian} %patch26 -p1 -b .icu +%patch305 -p1 -b .big-endian +%patch306 -p1 -b .1353817 %endif #cd ..