diff --git a/extra/firefox/PKGBUILD b/extra/firefox/PKGBUILD index d3715f55b..1da3a047c 100644 --- a/extra/firefox/PKGBUILD +++ b/extra/firefox/PKGBUILD @@ -30,15 +30,15 @@ options=(!emptydirs !makeflags !strip) source=(https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz firefox.desktop firefox-symbolic.svg firefox-install-dir.patch fix-wifi-scanner.diff - mozilla-1253216.patch - mozilla-build-arm.patch) + mozilla-1335250.patch + rhbz-1354671.patch) sha256sums=('4ed1b23ea7c08f81a08817ddf3b4f06849e01420ee074008b6f390366e95b7d0' 'ada313750e6fb14558b37c764409a17c1672a351a46c73b350aa1fe4ea9220ef' 'a2474b32b9b2d7e0fb53a4c89715507ad1c194bef77713d798fa39d507def9e9' 'd86e41d87363656ee62e12543e2f5181aadcff448e406ef3218e91865ae775cd' '9765bca5d63fb5525bbd0520b7ab1d27cabaed697e2fc7791400abc3fa4f13b8' - 'fbb6011501a74a8ea6d01c041870fcefb7ef2859c134aedc676e5f6452833f65' - '7854b258a1f181dd2b6ce2de757403c2ab0c49189a5f39f35296f3b3aa4151ee') + 'f3944e22d21b41b3aa17e3ea0614ffd13863e66bc8f9f6120f2efbc7595ea347' + '22d5e5c07e759422027867121b24cdbcab8812670ca8e2e92825029f30eecbbd') validpgpkeys=('2B90598A745E992F315E22C58AB132963A06537A') # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) @@ -122,11 +122,9 @@ END echo "ac_add_options --disable-elf-hack" >> .mozconfig echo 'ac_add_options --enable-optimize="-g -O2 -fno-schedule-insns"' >> .mozconfig elif [[ $CARCH == "aarch64" ]]; then - echo "ac_add_options --enable-gold" >> .mozconfig - echo "ac_add_options --enable-pie" >> .mozconfig + patch -p1 -i ../rhbz-1354671.patch fi - patch -p1 -i ../mozilla-1253216.patch - patch -p1 -i ../mozilla-build-arm.patch + patch -p1 -i ../mozilla-1335250.patch } build() { diff --git a/extra/firefox/mozilla-1253216.patch b/extra/firefox/mozilla-1253216.patch deleted file mode 100644 index c9252da5f..000000000 --- a/extra/firefox/mozilla-1253216.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up firefox-48.0/js/src/jit/AtomicOperations.h.old firefox-48.0/js/src/jit/AtomicOperations.h ---- firefox-48.0/js/src/jit/AtomicOperations.h.old 2016-07-27 09:42:43.148175449 +0200 -+++ firefox-48.0/js/src/jit/AtomicOperations.h 2016-07-27 09:41:13.000000000 +0200 -@@ -340,7 +340,7 @@ AtomicOperations::isLockfree(int32_t siz - # elif defined(__aarch64__) - # include "jit/arm64/AtomicOperations-arm64.h" - # else --# include "jit/none/AtomicOperations-none.h" // These MOZ_CRASH() always -+# include "jit/none/AtomicOperations-ppc.h" - # endif - #elif defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64) - # include "jit/x86-shared/AtomicOperations-x86-shared.h" diff --git a/extra/firefox/mozilla-1335250.patch b/extra/firefox/mozilla-1335250.patch new file mode 100644 index 000000000..8f7436c8c --- /dev/null +++ b/extra/firefox/mozilla-1335250.patch @@ -0,0 +1,30 @@ +diff -up firefox-53.0/dom/media/webrtc/MediaEngine.h.1335250 firefox-53.0/dom/media/webrtc/MediaEngine.h +--- firefox-53.0/dom/media/webrtc/MediaEngine.h.1335250 2017-04-11 06:15:22.000000000 +0200 ++++ firefox-53.0/dom/media/webrtc/MediaEngine.h 2017-04-19 20:35:55.264741939 +0200 +@@ -226,7 +226,7 @@ public: + ~AllocationHandle() {} + public: + AllocationHandle(const dom::MediaTrackConstraints& aConstraints, +- const ipc::PrincipalInfo& aPrincipalInfo, ++ const mozilla::ipc::PrincipalInfo& aPrincipalInfo, + const MediaEnginePrefs& aPrefs, + const nsString& aDeviceId) + +@@ -236,7 +236,7 @@ public: + mDeviceId(aDeviceId) {} + public: + NormalizedConstraints mConstraints; +- ipc::PrincipalInfo mPrincipalInfo; ++ mozilla::ipc::PrincipalInfo mPrincipalInfo; + MediaEnginePrefs mPrefs; + nsString mDeviceId; + }; +@@ -327,7 +327,7 @@ public: + virtual nsresult Allocate(const dom::MediaTrackConstraints &aConstraints, + const MediaEnginePrefs &aPrefs, + const nsString& aDeviceId, +- const ipc::PrincipalInfo& aPrincipalInfo, ++ const mozilla::ipc::PrincipalInfo& aPrincipalInfo, + AllocationHandle** aOutHandle, + const char** aOutBadConstraint) + { diff --git a/extra/firefox/mozilla-build-arm.patch b/extra/firefox/mozilla-build-arm.patch deleted file mode 100644 index e390a2843..000000000 --- a/extra/firefox/mozilla-build-arm.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up firefox-52.0/gfx/skia/skia/include/core/SkPreConfig.h.arm firefox-52.0/gfx/skia/skia/include/core/SkPreConfig.h ---- firefox-52.0/gfx/skia/skia/include/core/SkPreConfig.h.arm 2017-03-03 13:53:52.480754536 +0100 -+++ firefox-52.0/gfx/skia/skia/include/core/SkPreConfig.h 2017-03-03 13:56:01.476018102 +0100 -@@ -203,6 +203,10 @@ - #define SK_ARM_HAS_CRC32 - #endif - -+#if defined(__aarch64__) -+ #undef SK_ARM_HAS_NEON -+#endif -+ - ////////////////////////////////////////////////////////////////////// - - #if !defined(SKIA_IMPLEMENTATION) diff --git a/extra/firefox/rhbz-1354671.patch b/extra/firefox/rhbz-1354671.patch new file mode 100644 index 000000000..7164e3db6 --- /dev/null +++ b/extra/firefox/rhbz-1354671.patch @@ -0,0 +1,16 @@ +@@ -, +, @@ +--- + layout/base/nsIPresShell.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) +--- a/layout/base/nsIPresShell.h ++++ a/layout/base/nsIPresShell.h +@@ -224,7 +224,7 @@ public: + * to the same aSize value. AllocateFrame returns zero-filled memory. + * AllocateFrame is infallible and will abort on out-of-memory. + */ +- void* AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize) ++ void* __attribute__((optimize("no-lifetime-dse"))) AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize) + { + void* result = mFrameArena.AllocateByFrameID(aID, aSize); + RecordAlloc(result); +--