From 46f9ac5ef34bf589dd512d69283f34bd0c2a5bc9 Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Sat, 10 Aug 2019 13:18:18 +0000 Subject: experimental/firefox: add two big endian patches --- experimental/firefox/APKBUILD | 12 +++++--- experimental/firefox/mozconfig | 4 +-- experimental/firefox/shut-up-warning.patch | 11 +++++++ experimental/firefox/yuv-be.patch | 48 ++++++++++++++++++++++++++++++ 4 files changed, 69 insertions(+), 6 deletions(-) create mode 100644 experimental/firefox/shut-up-warning.patch create mode 100644 experimental/firefox/yuv-be.patch (limited to 'experimental/firefox') diff --git a/experimental/firefox/APKBUILD b/experimental/firefox/APKBUILD index 4a258a2f9..a06dc6ca1 100644 --- a/experimental/firefox/APKBUILD +++ b/experimental/firefox/APKBUILD @@ -37,8 +37,10 @@ source="https://ftp.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkg fix-seccomp-bpf.patch mozilla-build-arm.patch rust-config.patch + shut-up-warning.patch stackwalk-x86-ppc.patch webrtc-broken.patch + yuv-be.patch firefox.desktop firefox-safe.desktop @@ -82,13 +84,13 @@ prepare() { echo "ac_add_options --host=\"$CHOST\"" >> "$builddir"/mozconfig echo "ac_add_options --target=\"$CTARGET\"" >> "$builddir"/mozconfig # too much memory - if [ -z "$JOBS" ] || [ $JOBS -ge 32 ]; then - JOBS=32 + if [ -z "$JOBS" ] || [ $JOBS -ge 16 ]; then + JOBS=16 fi echo "mk_add_options MOZ_MAKE_FLAGS=\"-j$JOBS\"" >> "$builddir"/mozconfig case "$CARCH" in - pmmx|x86_64) + pmmx|x86*) echo "ac_add_options --disable-elf-hack" >> "$builddir"/mozconfig ;; esac @@ -168,14 +170,16 @@ package() { sha512sums="96b45135cf0b2368013afccb8c375de54d591a4e11016e8b65fc83904cedc362096dd15814cd02be23f6e52e392c605817b86a59ee2300d3e7a754d345399c81 firefox-68.0.1.source.tar.xz 16e814e8dcffc707b595ca2919bd2fa3db0d15794c63d977364652c4a5b92e90e72b8c9e1cc83b5020398bd90a1b397dbdd7cb931c49f1aa4af6ef95414b43e0 Python-2.7.16.tar.xz -1b84e737ce9931872e0eba11d2dd1c9e66ee28f03a4d881ab8df2f7c41b6bcfc74d3dfc7dd03c0b000718ecd71492392538b8615a773e9aca62d52ceff756cbc mozconfig +6aab9eebfa086f5bb5252b26b2b1e1da412575de69ab2c3e11d5a6fa17a4681747a98521f248ac8c66302677908a6f2de4e808ce649776f45e69a9b3a3422aee mozconfig ace7492f4fb0523c7340fdc09c831906f74fddad93822aff367135538dacd3f56288b907f5a04f53f94c76e722ba0bab73e28d83ec12d3e672554712e6b08613 bad-google-code.patch 9c14041f0295682b8dbeb6d5b58a2f9dc0a2dc8bef995a0f7e30fa0b17c51aa0f6748f80fb8584169db7687e2eeb404dff68a09158ae56a5f24eef30685dd2b3 disable-gecko-profiler.patch c0b2bf43206c2a5154e560ef30189a1062ae856861b39f52ce69002390ff9972d43e387bfd2bf8d2ab3cac621987bc042c8c0a8b4cf90ae05717ca7705271880 fix-mutex-build.patch 70863b985427b9653ce5e28d6064f078fb6d4ccf43dd1b68e72f97f44868fc0ce063161c39a4e77a0a1a207b7365d5dc7a7ca5e68c726825eba814f2b93e2f5d fix-seccomp-bpf.patch e61664bc93eadce5016a06a4d0684b34a05074f1815e88ef2613380d7b369c6fd305fb34f83b5eb18b9e3138273ea8ddcfdcb1084fdcaa922a1e5b30146a3b18 mozilla-build-arm.patch 45613d476e85fe333ef8091acce4806803953c1a99de4f03ff577cf20c5a1a3d635d0589e1490da104ef80721f4f1b1d35045af3c6892c1a468fa84095f27ad8 rust-config.patch +39ddb15d1453a8412275c36fc8db3befc69dffd4a362e932d280fb7fd1190db595a2af9b468ee49e0714f5e9df6e48eb5794122a64fa9f30d689de8693acbb15 shut-up-warning.patch 452b47b825294779f98ed46bc1065dad76b79ff453521ef049934a120f349c84a1c863b16af1828fe053059823da9690ec917c055ae02dcc5c80c54cad732448 stackwalk-x86-ppc.patch be68f1387aa6677875a67106e2d6a9db470c934c943056d3b53391a63034235108e41945c53957db427d9cdc59f0aa2f9e6f2f8cd862e090e512a3ab9cbcc9a8 webrtc-broken.patch +2dfb986089c9afcd6a895302c8a5a1d299cffa4cc3c73fce784c29d348f362c1e7570109c4f09d328275d8549a96531736dd976411c15956b385d7fb211b8af2 yuv-be.patch f3b7c3e804ce04731012a46cb9e9a6b0769e3772aef9c0a4a8c7520b030fdf6cd703d5e9ff49275f14b7d738fe82a0a4fde3bc3219dff7225d5db0e274987454 firefox.desktop 5dcb6288d0444a8a471d669bbaf61cdb1433663eff38b72ee5e980843f5fc07d0d60c91627a2c1159215d0ad77ae3f115dcc5fdfe87e64ca704b641aceaa44ed firefox-safe.desktop" diff --git a/experimental/firefox/mozconfig b/experimental/firefox/mozconfig index 0ce38dcf6..67b1469d7 100644 --- a/experimental/firefox/mozconfig +++ b/experimental/firefox/mozconfig @@ -21,6 +21,6 @@ ac_add_options --with-system-icu ac_add_options --with-system-libevent ac_add_options --with-system-nspr ac_add_options --with-system-nss -ac_add_options --with-system-pixman -ac_add_options --with-system-png +#ac_add_options --with-system-pixman +#ac_add_options --with-system-png ac_add_options --with-system-zlib diff --git a/experimental/firefox/shut-up-warning.patch b/experimental/firefox/shut-up-warning.patch new file mode 100644 index 000000000..8df045af1 --- /dev/null +++ b/experimental/firefox/shut-up-warning.patch @@ -0,0 +1,11 @@ +--- firefox-68.0.1/gfx/2d/HelpersCairo.h.old 2019-07-17 20:51:26.000000000 +0000 ++++ firefox-68.0.1/gfx/2d/HelpersCairo.h 2019-08-10 11:38:36.047380153 +0000 +@@ -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/experimental/firefox/yuv-be.patch b/experimental/firefox/yuv-be.patch new file mode 100644 index 000000000..ccb0c2fd8 --- /dev/null +++ b/experimental/firefox/yuv-be.patch @@ -0,0 +1,48 @@ +# HG changeset patch +# User A. Wilcox +# Date 1543674229 0 +# Sat Dec 01 14:23:49 2018 +0000 +# Node ID 0309ff19e46b126c527e633518d7de8570442114 +# Parent 53107afbc21ec78e7ac46d37af212505f2032d5d +Bug 1511604 - Swizzle YCbCr->RGB data on big-endian machines + +diff -r 53107afbc21e -r 0309ff19e46b gfx/ycbcr/YCbCrUtils.cpp +--- a/gfx/ycbcr/YCbCrUtils.cpp Wed Nov 07 04:50:21 2018 +0000 ++++ b/gfx/ycbcr/YCbCrUtils.cpp Sat Dec 01 14:23:49 2018 +0000 +@@ -3,7 +3,9 @@ + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + ++#include "mozilla/EndianUtils.h" + #include "gfx2DGlue.h" ++#include "mozilla/gfx/Swizzle.h" + + #include "YCbCrUtils.h" + #include "yuv_convert.h" +@@ -236,6 +238,13 @@ + yuvtype, + srcData.mYUVColorSpace); + } ++#if MOZ_BIG_ENDIAN ++ // libyuv makes endian-correct result, which needs to be swapped to BGRX ++ if (aDestFormat != SurfaceFormat::R5G6B5_UINT16) ++ gfx::SwizzleData(aDestBuffer, aStride, gfx::SurfaceFormat::X8R8G8B8, ++ aDestBuffer, aStride, gfx::SurfaceFormat::B8G8R8X8, ++ srcData.mPicSize); ++#endif + } + + void +@@ -257,6 +266,12 @@ + aSrcStrideYA, + aSrcStrideUV, + aDstStrideARGB); ++#if MOZ_BIG_ENDIAN ++ // libyuv makes endian-correct result, which needs to be swapped to BGRA ++ gfx::SwizzleData(aDstARGB, aDstStrideARGB, gfx::SurfaceFormat::A8R8G8B8, ++ aDstARGB, aDstStrideARGB, gfx::SurfaceFormat::B8G8R8A8, ++ IntSize(aWidth, aHeight)); ++#endif + } + + } // namespace gfx -- cgit v1.2.3-60-g2f50