diff options
-rw-r--r-- | community/firefox-esr/APKBUILD | 162 | ||||
-rw-r--r-- | community/firefox-esr/allow-utf8-fallback.patch | 16 | ||||
-rw-r--r-- | community/firefox-esr/disable-hunspell_hooks.patch | 11 | ||||
-rw-r--r-- | community/firefox-esr/disable-moz-stackwalk.patch | 27 | ||||
-rw-r--r-- | community/firefox-esr/fix-arm-atomics-grsec.patch | 36 | ||||
-rw-r--r-- | community/firefox-esr/fix-stack-overflow.patch | 45 | ||||
-rw-r--r-- | community/firefox-esr/fix-toolkit.patch | 92 | ||||
-rw-r--r-- | community/firefox-esr/fix-tools.patch | 69 | ||||
-rw-r--r-- | community/firefox-esr/gcc6-fix-compilation.patch | 49 | ||||
-rw-r--r-- | community/firefox-esr/libavutil.patch | 12 | ||||
-rw-r--r-- | community/firefox-esr/mozconfig | 54 | ||||
-rw-r--r-- | community/firefox-esr/musl-pthread-setname.patch | 14 | ||||
-rw-r--r-- | community/firefox-esr/rhbz-966424.patch | 14 | ||||
-rw-r--r-- | community/firefox-esr/vendor.js | 5 |
14 files changed, 266 insertions, 340 deletions
diff --git a/community/firefox-esr/APKBUILD b/community/firefox-esr/APKBUILD index 9e50cb6dec..b5d4253d7a 100644 --- a/community/firefox-esr/APKBUILD +++ b/community/firefox-esr/APKBUILD @@ -1,14 +1,13 @@ -# Contributor: Sergei Lukin <sergej.lukin@gmail.com> # Contributor: William Pitcock <nenolod@dereferenced.org> # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=firefox-esr -pkgver=45.8.0 +pkgver=52.0.2 _pkgver=$pkgver _xulver=$pkgver -pkgrel=1 -pkgdesc="Firefox web browser" +pkgrel=0 +pkgdesc="Firefox web browser - Extended Support Release" url="https://www.mozilla.org/en-US/firefox/organizations/faq/" -arch="all" +arch="all !aarch64" license="GPL LGPL MPL" depends="" depends_dev=" @@ -16,9 +15,8 @@ depends_dev=" bzip2-dev dbus-glib-dev gconf-dev - gst-plugins-base1-dev - gstreamer1-dev gtk+2.0-dev + gtk+3.0-dev hunspell-dev icu-dev libevent-dev @@ -54,41 +52,37 @@ makedepends="$depends_dev install="" subpackages="$pkgname-dev" source="https://ftp.mozilla.org/pub/firefox/releases/${pkgver}esr/source/firefox-${pkgver}esr.source.tar.xz - mozconfig - vendor.js + stab.h 0002-Use-C99-math-isfinite.patch - fix-arm-atomics-grsec.patch - fix-arm-version-detect.patch + fix-fortify-inline.patch + disable-hunspell_hooks.patch + fix-seccomp-bpf.patch fix-toolkit.patch fix-tools.patch - fix-seccomp-bpf.patch - mozilla-build-arm.patch - disable-moz-stackwalk.patch - stab.h + mallinfo.patch + musl-pthread-setname.patch - rhbz-966424.patch - fix-fortify-inline.patch fix-fortify-system-wrappers.patch - allow-utf8-fallback.patch - libavutil.patch - mallinfo.patch - gcc6-fix-compilation.patch + fix-arm-atomics-grsec.patch + fix-arm-version-detect.patch + mozilla-build-arm.patch + disable-moz-stackwalk.patch firefox.desktop firefox-safe.desktop" -_builddir="${srcdir}/firefox-${pkgver}esr" -_mozappdir=/usr/lib/firefox-$pkgver -_mozappdirdev=/usr/lib/firefox-devel-$pkgver +builddir="${srcdir}/firefox-${pkgver}esr"/objdir +_mozappdir=/usr/lib/firefox-${pkgver} +_mozappdirdev=/usr/lib/firefox-devel-${pkgver} # help our shared-object scanner to find the libs ldpath="$_mozappdir" prepare() { local i - - cd "$_builddir" || return 1 + mkdir -p "$builddir" + cd "$builddir"/.. for i in $source; do case $i in @@ -96,43 +90,88 @@ prepare() { esac done cp "$srcdir"/stab.h toolkit/crashreporter/google-breakpad/src/ - - cp "${srcdir}/mozconfig" .mozconfig } build() { - cd "$_builddir" + cd "$builddir" - # mozilla's buildsystem is on drugs - export CFLAGS="$(echo $CFLAGS | sed -e 's/-Wall//' -e 's/-fexceptions/-fno-exceptions/g')" - export CXXFLAGS="$CFLAGS -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2" export SHELL=/bin/sh + export BUILD_OFFICIAL=1 + export MOZILLA_OFFICIAL=1 + export USE_SHORT_LIBNAME=1 + # gcc 6 + export CXXFLAGS="-fno-delete-null-pointer-checks -fno-schedule-insns2" # set rpath so linker finds the libs export LDFLAGS="$LDFLAGS -Wl,-rpath,${_mozappdir}" - make -f client.mk build \ - STRIP="/bin/true" \ + + ../configure \ + --prefix=/usr \ + \ + --disable-crashreporter \ + --disable-elf-hack \ + --disable-install-strip \ + --disable-jemalloc \ + --disable-profiling \ + --disable-pulseaudio \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + \ + --enable-alsa \ + --enable-default-toolkit=cairo-gtk3 \ + --enable-gio \ + --enable-gold=no \ + --enable-official-branding \ + --enable-optimize="$CFLAGS" \ + --enable-pie \ + --enable-startup-notification \ + --enable-system-ffi \ + --enable-system-hunspell \ + --enable-system-sqlite \ + \ + --with-pthreads \ + --with-system-bz2 \ + --with-system-icu \ + --with-system-jpeg \ + --with-system-libevent \ + --with-system-libvpx \ + --with-system-nspr \ + --with-system-nss \ + --with-system-pixman \ + --with-system-png \ + --with-system-zlib \ || return 1 + make || return 1 + + # paxmark outside fakeroot + paxmark -msp dist/bin/xpcshell || return 1 - # we need set paxmark outside fakeroot - paxmark -msp */dist/bin/xpcshell || return 1 } package() { - cd "$_builddir" + cd "$builddir" # only used for startupcache creation. local paxflags="-msp" - paxmark "$paxflags" */dist/bin/xpcshell || return 1 + paxmark "$paxflags" dist/bin/xpcshell || return 1 - make -j1 -f client.mk install \ + make install \ DESTDIR="$pkgdir" \ MOZ_MAKE_FLAGS="$MAKEOPTS" \ || return 1 install -m755 -d ${pkgdir}/usr/share/applications install -m755 -d ${pkgdir}/usr/share/pixmaps - install -m644 "$_builddir"/browser/branding/official/default48.png \ + + local png + for png in ../browser/branding/official/default*.png; do + local i=${_png%.png} + i=${i##*/default} + install -D -m644 "$png" "$pkgdir"/usr/share/icons/hicolor/${i}x${i}/apps/firefox.png || return 1 + done + + install -m644 "$builddir"/../browser/branding/official/default48.png \ ${pkgdir}/usr/share/pixmaps/firefox.png || return 1 install -m644 ${srcdir}/firefox.desktop ${pkgdir}/usr/share/applications/firefox.desktop install -m644 ${srcdir}/firefox-safe.desktop ${pkgdir}/usr/share/applications/firefox-safe.desktop @@ -160,10 +199,21 @@ __EOF__ # install our vendor prefs install -d "$pkgdir"/$_mozappdir/browser/defaults/preferences - cat "$srcdir"/vendor.js >> "$pkgdir"/$_mozappdir/browser/defaults/preferences/firefox-branding.js + + cat >> "$pkgdir"/$_mozappdir/browser/defaults/preferences/firefox-branding.js <<- EOF + // Use LANG environment variable to choose locale + pref("intl.locale.matchOS", true); + + // Disable default browser checking. + pref("browser.shell.checkDefaultBrowser", false); + + // Don't disable our bundled extensions in the application directory + pref("extensions.autoDisableScopes", 11); + pref("extensions.shownSelectionUI", true); + EOF # remove copied, huge, libraries - rm -f "$pkgdir"/${_mozappdirdev}/sdk/lib/libmozjs.so + rm -f "$pkgdir"/${_mozappdirdev}/sdk/lib/libmozjs.so rm -f "$pkgdir"/${_mozappdirdev}/sdk/lib/libmozalloc.so rm -f "$pkgdir"/${_mozappdirdev}/sdk/lib/libxul.so } @@ -175,24 +225,20 @@ dev() { default_dev } -sha512sums="f7b5e0c659b2e824cee7f3784e2d72c562915af91c7e316ec1519305755d2126d91b74c47f96c8b4fc7377710f295545c58b2f989c65c268fc23677ef8cf5c85 firefox-45.8.0esr.source.tar.xz -e14b4a646230f7a752ef864b0e6a074fdac74d6c4abde2c31656eb10ac6f002a5c664d257bf3f4bd22544f10103e38d5fae49f84fcaae402b81940e72bcfe0e5 mozconfig -cc10dba32d9c7faf1d99b8fdebc71bf0200ad10b976105edb45df696bf64a668b2b7aa8c3892a8056eb71fb071b0e0ae51c3ce2fb75acfb7e7035104c0e4fce3 vendor.js -7e123144bc2b1efed149dfb41b255c447d43ea93a63ebe114d01945e6a6d69edc2f2a3c36980a93279106c1842355851b8b6c1d96679ee6be7b9b30513e0b1a8 0002-Use-C99-math-isfinite.patch -4311464ae52b6d2e2b02c789c6d5fca9b3c211888a983aa609a62c2f2554516fea735ea90673387c69b38a30aa8453ed79faa44b5163df4293880d40df676b2d fix-arm-atomics-grsec.patch -015e1ff6dbf920033982b5df95d869a0b7bf56c6964e45e50649ddf46d1ce09563458e45240c3ecb92808662b1300b67507f7af272ba184835d91068a9e7d5b0 fix-arm-version-detect.patch -d3f2ec8684aa485e1d08df325281629adb120f2e79c0065b96e14b99ca2968a3c701d18dda1fd1cab482aec2bc4ee8f294b9fda970ae159f8dab655f2c91aca9 fix-toolkit.patch -6322912a8b496332c593ee5c2069d346552299781148d6c829321a10be7f6550a6f7aab3d0cfeb08e1c4ecca2a79272ea7a6f31f1d2eb430c1b0041e3699c06c fix-tools.patch -70863b985427b9653ce5e28d6064f078fb6d4ccf43dd1b68e72f97f44868fc0ce063161c39a4e77a0a1a207b7365d5dc7a7ca5e68c726825eba814f2b93e2f5d fix-seccomp-bpf.patch -e61664bc93eadce5016a06a4d0684b34a05074f1815e88ef2613380d7b369c6fd305fb34f83b5eb18b9e3138273ea8ddcfdcb1084fdcaa922a1e5b30146a3b18 mozilla-build-arm.patch -c69cdb2d6c66180d6a67c386b862a5ed953aab4db434b054c9e1e6702bcc56ba219a4cb22747d9c891040a286388168e0cf5ca28a503389cd9708012fddf6c2b disable-moz-stackwalk.patch +sha512sums="a0f31479e5265c7f40d3013c3dc8368c6bdf03f21f1c9054fb2ae5557065584da433b288b493680d6147a3b11155f41bd33ad2a5d53c6eaa507258c7e00d7335 firefox-52.0.2esr.source.tar.xz 0b3f1e4b9fdc868e4738b5c81fd6c6128ce8885b260affcb9a65ff9d164d7232626ce1291aaea70132b3e3124f5e13fef4d39326b8e7173e362a823722a85127 stab.h -06ededcd196af98b77991dcba3b710b0dfc061404adb4676fcc380be80410a2621f64d67257b0aefdf36f566e0ea1294b5405b7b4db43e83281a1c64d02da579 rhbz-966424.patch +7e123144bc2b1efed149dfb41b255c447d43ea93a63ebe114d01945e6a6d69edc2f2a3c36980a93279106c1842355851b8b6c1d96679ee6be7b9b30513e0b1a8 0002-Use-C99-math-isfinite.patch 09bc32cf9ee81b9cc6bb58ddbc66e6cc5c344badff8de3435cde5848e5a451e0172153231db85c2385ff05b5d9c20760cb18e4138dfc99060a9e960de2befbd5 fix-fortify-inline.patch -2a967e4619fd89a046bd40be7fdcef646fcb1eba5e47afc96aa1d59c25bcc8747cb07baee6c11f3b803db0981aced181534b806778e4d21e74958f5f4d74c784 fix-fortify-system-wrappers.patch -ebbc2b1336197c289e9b7c073d196fb5734e1dad0109fe70538f8089b1873e4b55305cd39cefcf95cd4eb36715be6dff298856c496616e935ff5579452e62b09 allow-utf8-fallback.patch -2213dbd7eb36f954add09977c0bb979aea79376164bc98d7e8957ecf584776bc11cc88b6d8235f9e04ac69d5975a47c2f52fd9aff9076326f15997657af8c9f3 libavutil.patch +0fcc647af53a3ce21c2bc36e5631eb0935e7243ebb3ab59b5719542cc54a6ac023a4a857b43b75756efb9ed80c0aecaa94dc5679a3b3792f82e87bf2c1af82e1 disable-hunspell_hooks.patch +70863b985427b9653ce5e28d6064f078fb6d4ccf43dd1b68e72f97f44868fc0ce063161c39a4e77a0a1a207b7365d5dc7a7ca5e68c726825eba814f2b93e2f5d fix-seccomp-bpf.patch +a2925045154f4fd34e5fc056656f4f9da100341529e5d4104d249154db0c7863384083f421ce6e47e0f20566a8b20787fa35444c7933c03cd03f96f06dcd4532 fix-toolkit.patch +7d7531a0dbb1b3c2f4cbf155168e750f274dbf19cd767d6395d479ef1626a651e714b41e353465d9d58239dc15256d83eeb1bf06c6adf47c521a0db5ee88bb50 fix-tools.patch bdcd1b402d2ec94957ba5d08cbad7b1a7f59c251c311be9095208491a05abb05a956c79f27908e1f26b54a3679387b2f33a51e945b650671ad85c0a2d59a5a29 mallinfo.patch -09288e3c9b94e7bfb4f764c506d98315ab3a44926cca59183dd22a84184c1de44f5dbe973367ec0ee0200d438c028e1dbe9fce4d9ce92f0e1367be50a9a72671 gcc6-fix-compilation.patch +3f535b1e4e9a5a0506ef6f6d9427a84fae1efa3c8e8d6b25b21046d2d04c132bde1a7a98e415067e5c542f699d89249b8cc3d925e0be4e96db498037429691ef musl-pthread-setname.patch +2a967e4619fd89a046bd40be7fdcef646fcb1eba5e47afc96aa1d59c25bcc8747cb07baee6c11f3b803db0981aced181534b806778e4d21e74958f5f4d74c784 fix-fortify-system-wrappers.patch +ed0d344c66fc8e1cc83a11e9858b32c42e841cbeedd9eb9438811e9fcc3593dc824a8336d00058d55836cedc970aeadd6a82c6dcd7bc0fb746e564d8b478cc6c fix-arm-atomics-grsec.patch +015e1ff6dbf920033982b5df95d869a0b7bf56c6964e45e50649ddf46d1ce09563458e45240c3ecb92808662b1300b67507f7af272ba184835d91068a9e7d5b0 fix-arm-version-detect.patch +e61664bc93eadce5016a06a4d0684b34a05074f1815e88ef2613380d7b369c6fd305fb34f83b5eb18b9e3138273ea8ddcfdcb1084fdcaa922a1e5b30146a3b18 mozilla-build-arm.patch +4797d2d89ac63a57abb826b8ea9f751314ce66946194033deb9d78c2ff377b88106fd2c7bc5034dc13ad03dd5085b1893c3ccae1a9e63fde35655bb0921f7188 disable-moz-stackwalk.patch f3b7c3e804ce04731012a46cb9e9a6b0769e3772aef9c0a4a8c7520b030fdf6cd703d5e9ff49275f14b7d738fe82a0a4fde3bc3219dff7225d5db0e274987454 firefox.desktop 5dcb6288d0444a8a471d669bbaf61cdb1433663eff38b72ee5e980843f5fc07d0d60c91627a2c1159215d0ad77ae3f115dcc5fdfe87e64ca704b641aceaa44ed firefox-safe.desktop" diff --git a/community/firefox-esr/allow-utf8-fallback.patch b/community/firefox-esr/allow-utf8-fallback.patch deleted file mode 100644 index d283d60422..0000000000 --- a/community/firefox-esr/allow-utf8-fallback.patch +++ /dev/null @@ -1,16 +0,0 @@ -Allow user to actually set UTF-8 as the fallback charset. - -This is to allow UTF-8 as default for text/plain - ---- ./dom/encoding/FallbackEncoding.cpp.orig -+++ ./dom/encoding/FallbackEncoding.cpp -@@ -55,8 +55,7 @@ - // Don't let the user break things by setting the override to unreasonable - // values via about:config - if (!EncodingUtils::FindEncodingForLabel(override, mFallback) || -- !EncodingUtils::IsAsciiCompatible(mFallback) || -- mFallback.EqualsLiteral("UTF-8")) { -+ !EncodingUtils::IsAsciiCompatible(mFallback)) { - mFallback.Truncate(); - } - diff --git a/community/firefox-esr/disable-hunspell_hooks.patch b/community/firefox-esr/disable-hunspell_hooks.patch new file mode 100644 index 0000000000..1eaa4d0351 --- /dev/null +++ b/community/firefox-esr/disable-hunspell_hooks.patch @@ -0,0 +1,11 @@ +--- a/mozilla-config.h.in 2016-07-06 15:16:06.621880293 +0200 ++++ b/mozilla-config.h.in 2016-07-06 15:16:42.958428126 +0200 +@@ -54,7 +54,7 @@ + * HUNSPELL_STATIC is defined in extensions/spellcheck/hunspell/src/Makefile.in, + * unless --enable-system-hunspell is defined. + */ +-#if defined(HUNSPELL_STATIC) ++#if 0 + #include "hunspell_alloc_hooks.h" + #include "hunspell_fopen_hooks.h" + #endif diff --git a/community/firefox-esr/disable-moz-stackwalk.patch b/community/firefox-esr/disable-moz-stackwalk.patch index f4e14038b4..c83ae7eae9 100644 --- a/community/firefox-esr/disable-moz-stackwalk.patch +++ b/community/firefox-esr/disable-moz-stackwalk.patch @@ -1,17 +1,18 @@ -MOZ_STACKWALK_SUPPORTS_LINUX requires GLIBC extensions, Android or -libunwind. Disable it unconditionally now as otherwise x86 build fails. - ---- firefox-45.0/mozglue/misc/StackWalk.cpp.orig -+++ firefox-45.0/mozglue/misc/StackWalk.cpp -@@ -42,10 +42,7 @@ - (defined(XP_DARWIN) && \ - (defined(__i386) || defined(__ppc__) || defined(HAVE__UNWIND_BACKTRACE))) +diff --git a/mozglue/misc/StackWalk.cpp b/mozglue/misc/StackWalk.cpp +index a208bad..14e1f0d 100644 +--- a/mozglue/misc/StackWalk.cpp ++++ b/mozglue/misc/StackWalk.cpp +@@ -41,13 +41,7 @@ static CriticalAddress gCriticalAddress; + #define MOZ_STACKWALK_SUPPORTS_MACOSX 0 + #endif --#define MOZ_STACKWALK_SUPPORTS_LINUX \ -- (defined(linux) && \ -- ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \ -- defined(HAVE__UNWIND_BACKTRACE))) -+#define MOZ_STACKWALK_SUPPORTS_LINUX 0 +-#if (defined(linux) && \ +- ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \ +- defined(HAVE__UNWIND_BACKTRACE))) +-#define MOZ_STACKWALK_SUPPORTS_LINUX 1 +-#else + #define MOZ_STACKWALK_SUPPORTS_LINUX 0 +-#endif #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) #define HAVE___LIBC_STACK_END 1 diff --git a/community/firefox-esr/fix-arm-atomics-grsec.patch b/community/firefox-esr/fix-arm-atomics-grsec.patch index 5524b2aa73..0eb58f093f 100644 --- a/community/firefox-esr/fix-arm-atomics-grsec.patch +++ b/community/firefox-esr/fix-arm-atomics-grsec.patch @@ -1,41 +1,5 @@ --- mozilla-release/ipc/chromium/src/base/atomicops_internals_arm_gcc.h.orig +++ mozilla-release/ipc/chromium/src/base/atomicops_internals_arm_gcc.h -@@ -1,8 +1,31 @@ --// Copyright (c) 2009 The Chromium Authors. All rights reserved. --// Use of this source code is governed by a BSD-style license that can be --// found in the LICENSE file. -+// Copyright 2010 the V8 project authors. All rights reserved. -+// Redistribution and use in source and binary forms, with or without -+// modification, are permitted provided that the following conditions are -+// met: -+// -+// * Redistributions of source code must retain the above copyright -+// notice, this list of conditions and the following disclaimer. -+// * Redistributions in binary form must reproduce the above -+// copyright notice, this list of conditions and the following -+// disclaimer in the documentation and/or other materials provided -+// with the distribution. -+// * Neither the name of Google Inc. nor the names of its -+// contributors may be used to endorse or promote products derived -+// from this software without specific prior written permission. -+// -+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --// This file is an internal atomic implementation, use base/atomicops.h instead. -+// This file is an internal atomic implementation, use atomicops.h instead. - // - // LinuxKernelCmpxchg and Barrier_AtomicIncrement are from Google Gears. - @@ -12,43 +35,194 @@ namespace base { namespace subtle { diff --git a/community/firefox-esr/fix-stack-overflow.patch b/community/firefox-esr/fix-stack-overflow.patch new file mode 100644 index 0000000000..e164fc69b6 --- /dev/null +++ b/community/firefox-esr/fix-stack-overflow.patch @@ -0,0 +1,45 @@ +https://bugs.alpinelinux.org/issues/5559 +https://bugzilla.mozilla.org/show_bug.cgi?id=1274732 + +diff --git a/netwerk/streamconv/converters/nsHTTPCompressConv.cpp b/netwerk/streamconv/converters/nsHTTPCompressConv.cpp +index 1193529..aeb96b5 100644 +--- a/netwerk/streamconv/converters/nsHTTPCompressConv.cpp ++++ b/netwerk/streamconv/converters/nsHTTPCompressConv.cpp +@@ -165,9 +165,8 @@ nsHTTPCompressConv::BrotliHandler(nsIInputStream *stream, void *closure, const c + nsHTTPCompressConv *self = static_cast<nsHTTPCompressConv *>(closure); + *countRead = 0; + +- const uint32_t kOutSize = 128 * 1024; // just a chunk size, we call in a loop +- unsigned char outBuffer[kOutSize]; +- unsigned char *outPtr; ++ const size_t kOutSize = 128 * 1024; // just a chunk size, we call in a loop ++ uint8_t *outPtr; + size_t outSize; + size_t avail = aAvail; + BrotliResult res; +@@ -177,9 +176,15 @@ nsHTTPCompressConv::BrotliHandler(nsIInputStream *stream, void *closure, const c + return NS_OK; + } + ++ auto outBuffer = MakeUniqueFallible<uint8_t[]>(kOutSize); ++ if (outBuffer == nullptr) { ++ self->mBrotli->mStatus = NS_ERROR_OUT_OF_MEMORY; ++ return self->mBrotli->mStatus; ++ } ++ + do { + outSize = kOutSize; +- outPtr = outBuffer; ++ outPtr = outBuffer.get(); + + // brotli api is documented in brotli/dec/decode.h and brotli/dec/decode.c + LOG(("nsHttpCompresssConv %p brotlihandler decompress %d\n", self, avail)); +@@ -210,7 +215,7 @@ nsHTTPCompressConv::BrotliHandler(nsIInputStream *stream, void *closure, const c + nsresult rv = self->do_OnDataAvailable(self->mBrotli->mRequest, + self->mBrotli->mContext, + self->mBrotli->mSourceOffset, +- reinterpret_cast<const char *>(outBuffer), ++ reinterpret_cast<const char *>(outBuffer.get()), + outSize); + LOG(("nsHttpCompressConv %p BrotliHandler ODA rv=%x", self, rv)); + if (NS_FAILED(rv)) { diff --git a/community/firefox-esr/fix-toolkit.patch b/community/firefox-esr/fix-toolkit.patch index 9fd8ef497c..58fe5a3a9a 100644 --- a/community/firefox-esr/fix-toolkit.patch +++ b/community/firefox-esr/fix-toolkit.patch @@ -1,6 +1,7 @@ -diff -ru mozilla-release/toolkit.orig/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc mozilla-release/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc ---- mozilla-release/toolkit.orig/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc 2014-03-15 05:19:36.000000000 +0000 -+++ mozilla-release/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc 2014-04-17 10:24:33.793431933 +0000 +diff --git a/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc b/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc +index 4222ce3..4d40c6a 100644 +--- a/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc ++++ b/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc @@ -45,6 +45,7 @@ #include <sys/mman.h> #include <sys/stat.h> @@ -9,9 +10,10 @@ diff -ru mozilla-release/toolkit.orig/crashreporter/google-breakpad/src/common/l #include <iostream> #include <set> -diff -ru mozilla-release/toolkit.orig/crashreporter/google-breakpad/src/common/stabs_reader.cc mozilla-release/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc ---- mozilla-release/toolkit.orig/crashreporter/google-breakpad/src/common/stabs_reader.cc 2014-03-15 05:19:36.000000000 +0000 -+++ mozilla-release/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc 2014-04-17 10:24:33.793431933 +0000 +diff --git a/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc b/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc +index 6019fc7..5953e32 100644 +--- a/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc ++++ b/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc @@ -41,6 +41,10 @@ #include "common/using_std_string.h" @@ -23,37 +25,41 @@ diff -ru mozilla-release/toolkit.orig/crashreporter/google-breakpad/src/common/s using std::vector; namespace google_breakpad { -diff -ru mozilla-release/toolkit.orig/crashreporter/google-breakpad/src/common/stabs_reader.h mozilla-release/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h ---- mozilla-release/toolkit.orig/crashreporter/google-breakpad/src/common/stabs_reader.h 2014-03-15 05:19:36.000000000 +0000 -+++ mozilla-release/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h 2014-04-17 10:24:33.793431933 +0000 -@@ -53,9 +53,10 @@ - #include <config.h> - #endif +diff --git a/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h b/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h +index 98ee2dd..d57aa68 100644 +--- a/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h ++++ b/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h +@@ -55,7 +55,7 @@ --#ifdef HAVE_A_OUT_H -+#if 0 - #include <a.out.h> - #endif -+ #ifdef HAVE_MACH_O_NLIST_H #include <mach-o/nlist.h> +-#elif defined(HAVE_A_OUT_H) ++#elif 0 + #include <a.out.h> #endif -diff -ru mozilla-release/toolkit.orig/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h mozilla-release/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h ---- mozilla-release/toolkit.orig/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h 2014-03-15 05:19:37.000000000 +0000 -+++ mozilla-release/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h 2014-04-17 10:24:33.793431933 +0000 -@@ -2813,7 +2813,7 @@ - LSS_INLINE _syscall6(void*, mmap, void*, s, - size_t, l, int, p, - int, f, int, d, -- __off64_t, o) -+ off_t, o) - LSS_INLINE _syscall4(int, newfstatat, int, d, - const char *, p, -diff -ru mozilla-release/toolkit.orig/mozapps/update/common/updatedefines.h mozilla-release/toolkit/mozapps/update/common/updatedefines.h ---- mozilla-release/toolkit.orig/mozapps/update/common/updatedefines.h 2014-03-15 05:19:37.000000000 +0000 -+++ mozilla-release/toolkit/mozapps/update/common/updatedefines.h 2014-04-17 10:24:33.793431933 +0000 -@@ -105,7 +105,7 @@ +diff --git a/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h b/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h +index 93fdad7..f34e5e0 100644 +--- a/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h ++++ b/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h +@@ -1134,6 +1134,12 @@ struct kernel_statfs { + #ifndef __NR_fallocate + #define __NR_fallocate 285 + #endif ++ ++#undef __NR_pread ++#define __NR_pread __NR_pread64 ++#undef __NR_pwrite ++#define __NR_pwrite __NR_pwrite64 ++ + /* End of x86-64 definitions */ + #elif defined(__mips__) + #if _MIPS_SIM == _MIPS_SIM_ABI32 +diff --git a/toolkit/mozapps/update/common/updatedefines.h b/toolkit/mozapps/update/common/updatedefines.h +index 026e7ed..0801f14 100644 +--- a/toolkit/mozapps/update/common/updatedefines.h ++++ b/toolkit/mozapps/update/common/updatedefines.h +@@ -117,7 +117,7 @@ static inline int mywcsprintf(WCHAR* dest, size_t count, const WCHAR* fmt, ...) #ifdef SOLARIS # include <sys/stat.h> @@ -62,10 +68,11 @@ diff -ru mozilla-release/toolkit.orig/mozapps/update/common/updatedefines.h mozi # include <fts.h> #endif # include <dirent.h> -diff -ru mozilla-release/toolkit.orig/mozapps/update/updater/updater.cpp mozilla-release/toolkit/mozapps/update/updater/updater.cpp ---- mozilla-release/toolkit.orig/mozapps/update/updater/updater.cpp 2014-03-15 05:19:37.000000000 +0000 -+++ mozilla-release/toolkit/mozapps/update/updater/updater.cpp 2014-04-17 10:24:33.796765327 +0000 -@@ -3432,6 +3432,7 @@ +diff --git a/toolkit/mozapps/update/updater/updater.cpp b/toolkit/mozapps/update/updater/updater.cpp +index 257ccb4..01314e4 100644 +--- a/toolkit/mozapps/update/updater/updater.cpp ++++ b/toolkit/mozapps/update/updater/updater.cpp +@@ -3737,6 +3737,7 @@ int add_dir_entries(const NS_tchar *dirpath, ActionList *list) int add_dir_entries(const NS_tchar *dirpath, ActionList *list) { int rv = OK; @@ -73,7 +80,7 @@ diff -ru mozilla-release/toolkit.orig/mozapps/update/updater/updater.cpp mozilla FTS *ftsdir; FTSENT *ftsdirEntry; NS_tchar searchpath[MAXPATHLEN]; -@@ -3534,6 +3535,7 @@ +@@ -3840,6 +3841,7 @@ int add_dir_entries(const NS_tchar *dirpath, ActionList *list) } fts_close(ftsdir); @@ -81,14 +88,3 @@ diff -ru mozilla-release/toolkit.orig/mozapps/update/updater/updater.cpp mozilla return rv; } -diff -ru mozilla-release/toolkit.orig/xre/nsSigHandlers.cpp mozilla-release/toolkit/xre/nsSigHandlers.cpp ---- mozilla-release/toolkit.orig/xre/nsSigHandlers.cpp 2014-03-15 05:19:38.000000000 +0000 -+++ mozilla-release/toolkit/xre/nsSigHandlers.cpp 2014-04-17 10:24:33.796765327 +0000 -@@ -15,6 +15,7 @@ - #include <signal.h> - #include <stdio.h> - #include <string.h> -+#include <stdint.h> - #include "prthread.h" - #include "plstr.h" - #include "prenv.h" diff --git a/community/firefox-esr/fix-tools.patch b/community/firefox-esr/fix-tools.patch index cf1589d633..ea5a2cd785 100644 --- a/community/firefox-esr/fix-tools.patch +++ b/community/firefox-esr/fix-tools.patch @@ -1,8 +1,39 @@ -diff --git a/tools/profiler/LulElf.cpp b/tools/profiler/LulElf.cpp -index 203b15d..08a270a 100644 +diff --git a/tools/profiler/core/platform-linux.cc b/tools/profiler/core/platform-linux.cc +index 0df1e8f..d868895 100644 +--- a/tools/profiler/core/platform-linux.cc ++++ b/tools/profiler/core/platform-linux.cc +@@ -711,11 +711,13 @@ void OS::Startup() { + void TickSample::PopulateContext(void* aContext) + { + MOZ_ASSERT(aContext); ++#if defined(__GLIBC__) + ucontext_t* pContext = reinterpret_cast<ucontext_t*>(aContext); + if (!getcontext(pContext)) { + context = pContext; + SetSampleContext(this, aContext); + } ++#endif + } + + void OS::SleepMicro(int microseconds) +diff --git a/tools/profiler/core/platform.h b/tools/profiler/core/platform.h +index a38b3b5..170bd75 100644 +--- a/tools/profiler/core/platform.h ++++ b/tools/profiler/core/platform.h +@@ -34,6 +34,8 @@ + #define MOZ_COUNT_DTOR(name) + #endif + ++#include <sys/types.h> ++ + #ifdef ANDROID + #include <android/log.h> + #else +diff --git a/tools/profiler/lul/LulElf.cpp b/tools/profiler/lul/LulElf.cpp +index a922137..d01dde1 100644 --- a/tools/profiler/lul/LulElf.cpp +++ b/tools/profiler/lul/LulElf.cpp -@@ -612,10 +612,10 @@ string FormatIdentifier(unsigned char identifier[16]) { +@@ -483,10 +483,10 @@ string FormatIdentifier(unsigned char identifier[16]) { // Return the non-directory portion of FILENAME: the portion after the // last slash, or the whole filename if there are no slashes. string BaseFileName(const string &filename) { @@ -17,35 +48,3 @@ index 203b15d..08a270a 100644 return base; } -diff --git a/tools/profiler/local_debug_info_symbolizer.cc b/tools/profiler/local_debug_info_symbolizer.cc -index 2232130..41dabc8 100644 ---- a/tools/profiler/gecko/local_debug_info_symbolizer.cc -+++ b/tools/profiler/gecko/local_debug_info_symbolizer.cc -@@ -3,6 +3,7 @@ - * 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 <sys/types.h> - #include "PlatformMacros.h" - #include "nsAutoPtr.h" - ---- ./tools/profiler/core/platform.h.orig -+++ ./tools/profiler/core/platform.h -@@ -34,6 +34,8 @@ - #define MOZ_COUNT_DTOR(name) - #endif - -+#include <sys/types.h> -+ - #ifdef ANDROID - #include <android/log.h> - #else -@@ -60,7 +62,7 @@ - - // We need a definition of gettid(), but glibc doesn't provide a - // wrapper for it. --#if defined(__GLIBC__) -+#if defined(__linux__) - #include <unistd.h> - #include <sys/syscall.h> - static inline pid_t gettid() diff --git a/community/firefox-esr/gcc6-fix-compilation.patch b/community/firefox-esr/gcc6-fix-compilation.patch deleted file mode 100644 index 1c1dba27e2..0000000000 --- a/community/firefox-esr/gcc6-fix-compilation.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff -r 34544e6dfc19 -r 55212130f19d config/gcc-stl-wrapper.template.h ---- a/config/gcc-stl-wrapper.template.h Fri Mar 11 11:45:09 2016 +0800 -+++ b/config/gcc-stl-wrapper.template.h Thu Mar 10 16:54:05 2016 +0900 -@@ -12,33 +12,40 @@ - // compiling ObjC. - #if defined(__EXCEPTIONS) && __EXCEPTIONS && !(__OBJC__ && __GNUC__ && XP_IOS) - # error "STL code can only be used with -fno-exceptions" - #endif - - // Silence "warning: #include_next is a GCC extension" - #pragma GCC system_header - -+// Don't include mozalloc for cstdlib. See bug 1245076. -+#ifndef moz_dont_include_mozalloc_for_cstdlib -+# define moz_dont_include_mozalloc_for_cstdlib -+#endif -+#ifndef moz_dont_include_mozalloc_for_${HEADER} - // mozalloc.h wants <new>; break the cycle by always explicitly - // including <new> here. NB: this is a tad sneaky. Sez the gcc docs: - // - // `#include_next' does not distinguish between <file> and "file" - // inclusion, nor does it check that the file you specify has the - // same name as the current file. It simply looks for the file - // named, starting with the directory in the search path after the - // one where the current file was found. --#include_next <new> -+# include_next <new> - - // See if we're in code that can use mozalloc. NB: this duplicates - // code in nscore.h because nscore.h pulls in prtypes.h, and chromium - // can't build with that being included before base/basictypes.h. --#if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC) --# include "mozilla/mozalloc.h" --#else --# error "STL code can only be used with infallible ::operator new()" -+# if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC) -+# include "mozilla/mozalloc.h" -+# else -+# error "STL code can only be used with infallible ::operator new()" -+# endif -+ - #endif - - #if defined(DEBUG) && !defined(_GLIBCXX_DEBUG) - // Enable checked iterators and other goodies - // - // FIXME/bug 551254: gcc's debug STL implementation requires -frtti. - // Figure out how to resolve this with -fno-rtti. Maybe build with - // -frtti in DEBUG builds? diff --git a/community/firefox-esr/libavutil.patch b/community/firefox-esr/libavutil.patch deleted file mode 100644 index ba1e1a2457..0000000000 --- a/community/firefox-esr/libavutil.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/media/libav/libavutil/cpu.c b/media/libav/libavutil/cpu.c -index 354d21e..6a44cea 100644 ---- a/media/libav/libavutil/cpu.c -+++ b/media/libav/libavutil/cpu.c -@@ -36,7 +36,6 @@ - #include <sys/param.h> - #endif - #include <sys/types.h> --#include <sys/sysctl.h> - #endif - #if HAVE_SYSCONF - #include <unistd.h> diff --git a/community/firefox-esr/mozconfig b/community/firefox-esr/mozconfig deleted file mode 100644 index 8fbbf3d6e6..0000000000 --- a/community/firefox-esr/mozconfig +++ /dev/null @@ -1,54 +0,0 @@ -. $topsrcdir/browser/config/mozconfig - -ac_add_options --prefix=/usr -ac_add_options --libdir=/usr/lib - -ac_add_options --with-pthreads -ac_add_options --with-system-bz2 -ac_add_options --with-system-icu -ac_add_options --with-system-jpeg -ac_add_options --with-system-libevent -ac_add_options --with-system-libvpx -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-zlib - -ac_add_options --enable-system-hunspell -ac_add_options --enable-system-sqlite -ac_add_options --enable-system-cairo -ac_add_options --enable-system-ffi - -# make the -dbg package more meaningful with symbols -# ac_add_options --enable-debug-symbols=-g -ac_add_options --disable-install-strip - -ac_add_options --enable-gstreamer=1.0 -ac_add_options --enable-official-branding -ac_add_options --enable-optimize="$CFLAGS" -ac_add_options --enable-startup-notification - -ac_add_options --disable-cpp-exceptions -ac_add_options --disable-crashreporter -ac_add_options --disable-elf-hack -ac_add_options --disable-gnomevfs -ac_add_options --disable-installer -ac_add_options --disable-javaxpcom -ac_add_options --disable-jemalloc -ac_add_options --disable-mochitest -ac_add_options --disable-pulseaudio -ac_add_options --disable-static -ac_add_options --disable-strip -ac_add_options --disable-tests -ac_add_options --disable-updater -ac_add_options --disable-xprint - -export BUILD_OFFICIAL=1 -export MOZILLA_OFFICIAL=1 -export USE_SHORT_LIBNAME=1 - -mk_add_options BUILD_OFFICIAL=1 -mk_add_options MOZILLA_OFFICIAL=1 -mk_add_options USE_SHORT_LIBNAME=1 -mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir diff --git a/community/firefox-esr/musl-pthread-setname.patch b/community/firefox-esr/musl-pthread-setname.patch new file mode 100644 index 0000000000..3bf620219b --- /dev/null +++ b/community/firefox-esr/musl-pthread-setname.patch @@ -0,0 +1,14 @@ +--- a/js/src/threading/posix/Thread.cpp.orig 2016-09-20 22:19:46.368622126 +0200 ++++ b/js/src/threading/posix/Thread.cpp 2016-09-20 22:23:35.495823534 +0200 +@@ -153,8 +153,10 @@ + rv = 0; + #elif defined(__NetBSD__) + rv = pthread_setname_np(pthread_self(), "%s", (void*)name); +-#else ++#elif defined(__GLIBC__) + rv = pthread_setname_np(pthread_self(), name); ++#else ++ rv = 0; + #endif + MOZ_RELEASE_ASSERT(!rv); + } diff --git a/community/firefox-esr/rhbz-966424.patch b/community/firefox-esr/rhbz-966424.patch deleted file mode 100644 index 2be9f931a6..0000000000 --- a/community/firefox-esr/rhbz-966424.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up firefox-33.0/mozilla-release/toolkit/modules/CertUtils.jsm.966424 firefox-33.0/mozilla-release/toolkit/modules/CertUtils.jsm ---- mozilla-release/toolkit/modules/CertUtils.jsm.966424 2014-10-14 08:12:14.358697255 +0200 -+++ mozilla-release/toolkit/modules/CertUtils.jsm 2014-10-14 08:17:59.962181908 +0200 -@@ -174,7 +174,9 @@ this.checkCert = - } - - function isBuiltinToken(tokenName) { -- return tokenName == "Builtin Object Token"; -+ return tokenName == "Builtin Object Token" || -+ tokenName == "Default Trust" || -+ tokenName == "System Trust"; - } - - /** diff --git a/community/firefox-esr/vendor.js b/community/firefox-esr/vendor.js deleted file mode 100644 index 411803b61b..0000000000 --- a/community/firefox-esr/vendor.js +++ /dev/null @@ -1,5 +0,0 @@ -// Disable default browser checking. -pref("browser.shell.checkDefaultBrowser", false); -// OMTC and system cairo is broken -pref("layers.offmainthreadcomposition.enabled", false); - |