aboutsummaryrefslogtreecommitdiffstats
path: root/community/firefox-esr
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2016-03-31 09:57:22 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2016-03-31 12:48:15 +0000
commit367991275b8f37b8bdd024eceddbb4c2bb981f76 (patch)
tree23666c013fd8a9298bda2db769ebe3192f46aa87 /community/firefox-esr
parent4c9e27a54c4f400e46645cb768b7743d2e29f9b1 (diff)
downloadaports-367991275b8f37b8bdd024eceddbb4c2bb981f76.tar.bz2
aports-367991275b8f37b8bdd024eceddbb4c2bb981f76.tar.xz
community/firefox-esr: upgrade to 45.0.1
Diffstat (limited to 'community/firefox-esr')
-rw-r--r--community/firefox-esr/0003-xulrunner-jemalloc-aslr.patch67
-rw-r--r--community/firefox-esr/APKBUILD67
-rw-r--r--community/firefox-esr/allow-utf8-fallback.patch16
-rw-r--r--community/firefox-esr/disable-moz-stackwalk.patch17
-rw-r--r--community/firefox-esr/fix-ipc.patch55
-rw-r--r--community/firefox-esr/fix-linux-include.patch10
-rw-r--r--community/firefox-esr/fix-media.patch10
-rw-r--r--community/firefox-esr/fix-netwerk.patch37
-rw-r--r--community/firefox-esr/fix-seccomp-bpf.patch14
-rw-r--r--community/firefox-esr/fix-toolkit.patch59
-rw-r--r--community/firefox-esr/fix-tools.patch70
-rw-r--r--community/firefox-esr/getchar.patch14
-rw-r--r--community/firefox-esr/libavutil.patch12
-rw-r--r--community/firefox-esr/mallinfo.patch20
-rw-r--r--community/firefox-esr/stat.patch25
-rw-r--r--community/firefox-esr/vendor.js2
16 files changed, 154 insertions, 341 deletions
diff --git a/community/firefox-esr/0003-xulrunner-jemalloc-aslr.patch b/community/firefox-esr/0003-xulrunner-jemalloc-aslr.patch
deleted file mode 100644
index 7aa00009f0..0000000000
--- a/community/firefox-esr/0003-xulrunner-jemalloc-aslr.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 88bb9f90ec1e4b43fb78596c8ff7577c92592eb4 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Fri, 25 Nov 2011 08:36:52 +0000
-Subject: [PATCH 3/4] xulrunner: jemalloc aslr
-
----
- memory/jemalloc/jemalloc.c | 33 ++++++++++++++++++++++-----------
- 1 files changed, 22 insertions(+), 11 deletions(-)
-
-diff --git a/memory/jemalloc/jemalloc.c b/memory/jemalloc/jemalloc.c
-index ad7c450..91de92c 100644
---- a/memory/mozjemalloc/jemalloc.c
-+++ b/memory/mozjemalloc/jemalloc.c
-@@ -410,7 +410,7 @@ void *_mmap(void *addr, size_t length, int prot, int flags,
- static const bool __isthreaded = true;
- #endif
-
--#if defined(MOZ_MEMORY_SOLARIS) && defined(MAP_ALIGN) && !defined(JEMALLOC_NEVER_USES_MAP_ALIGN)
-+#if defined(MOZ_MEMORY_SOLARIS) || defined(MOZ_MEMORY_LINUX) || defined(MOZ_MEMORY_BSD)
- #define JEMALLOC_USES_MAP_ALIGN /* Required on Solaris 10. Might improve performance elsewhere. */
- #endif
-
-@@ -2181,20 +2181,31 @@ pages_map_align(size_t size, int pfd, size_t alignment)
- * We don't use MAP_FIXED here, because it can cause the *replacement*
- * of existing mappings, and we only want to create new mappings.
- */
--#ifdef MALLOC_PAGEFILE
-- if (pfd != -1) {
-- ret = mmap((void *)alignment, size, PROT_READ | PROT_WRITE, MAP_PRIVATE |
-- MAP_NOSYNC | MAP_ALIGN, pfd, 0);
-- } else
--#endif
-- {
-- ret = mmap((void *)alignment, size, PROT_READ | PROT_WRITE, MAP_PRIVATE |
-- MAP_NOSYNC | MAP_ALIGN | MAP_ANON, -1, 0);
-- }
-+ ret = mmap(NULL, size + alignment, PROT_READ | PROT_WRITE, MAP_PRIVATE |
-+ MAP_NOSYNC| MAP_ANON, -1, 0);
- assert(ret != NULL);
-
- if (ret == MAP_FAILED)
- ret = NULL;
-+ else {
-+ uintptr_t aligned_ret;
-+ size_t extra_size;
-+
-+ aligned_ret = (uintptr_t)ret + alignment - 1;
-+ aligned_ret &= ~(alignment - 1);
-+ extra_size = aligned_ret - (uintptr_t)ret;
-+ munmap(ret, extra_size);
-+ munmap(ret + extra_size + size, alignment - extra_size);
-+ ret = (void *)aligned_ret;
-+#ifdef MALLOC_PAGEFILE
-+ if (pfd != -1) {
-+ ret = mmap(ret, size, PROT_READ | PROT_WRITE, MAP_PRIVATE |
-+ MAP_NOSYNC | MAP_FIXED, pfd, 0);
-+ }
-+ if (ret == MAP_FAILED)
-+ ret = NULL;
-+#endif
-+ }
- return (ret);
- }
- #endif
---
-1.7.7.4
-
diff --git a/community/firefox-esr/APKBUILD b/community/firefox-esr/APKBUILD
index 6725ce933e..326104089f 100644
--- a/community/firefox-esr/APKBUILD
+++ b/community/firefox-esr/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=firefox-esr
-pkgver=38.7.0
+pkgver=45.0.1
_pkgver=$pkgver
_xulver=$pkgver
pkgrel=0
@@ -14,6 +14,7 @@ depends_dev="
alsa-lib-dev
bzip2-dev
dbus-glib-dev
+ gconf-dev
gst-plugins-base1-dev
gstreamer1-dev
gtk+2.0-dev
@@ -50,29 +51,30 @@ makedepends="$depends_dev
install=""
subpackages="$pkgname-dev"
-source="http://ftp.mozilla.org/pub/firefox/releases/${pkgver}esr/source/firefox-${pkgver}esr.source.tar.bz2
+source="http://ftp.mozilla.org/pub/firefox/releases/${pkgver}esr/source/firefox-${pkgver}esr.source.tar.xz
mozconfig
vendor.js
0002-Use-C99-math-isfinite.patch
fix-arm-atomics-grsec.patch
- fix-ipc.patch
- fix-media.patch
- fix-netwerk.patch
fix-toolkit.patch
fix-tools.patch
- fix-linux-include.patch
+ fix-seccomp-bpf.patch
mozilla-build-arm.patch
+ disable-moz-stackwalk.patch
stab.h
rhbz-966424.patch
fix-fortify-inline.patch
fix-fortify-system-wrappers.patch
+ allow-utf8-fallback.patch
+ libavutil.patch
+ mallinfo.patch
firefox.desktop
firefox-safe.desktop"
-_builddir="${srcdir}/mozilla-esr${pkgver%%.*}"
+_builddir="${srcdir}/firefox-${pkgver}esr"
_mozappdir=/usr/lib/firefox-$pkgver
_mozappdirdev=/usr/lib/firefox-devel-$pkgver
@@ -167,57 +169,60 @@ dev() {
default_dev
}
-md5sums="f0d5c2adcff266ea15c94db6b9d26a26 firefox-38.7.0esr.source.tar.bz2
+md5sums="27b5d8d8a9edddd442ca3000b1b22eca firefox-45.0.1esr.source.tar.xz
1f4c60e662ed93784431bd06c5141719 mozconfig
-1515663477ce427cbdc42f04d8d5ca4e vendor.js
+99b27aeac58923f318d083e5e71879ba vendor.js
6ab77b80c8c7d6fd07ab53c54561f4df 0002-Use-C99-math-isfinite.patch
b18bd948aae828e5c8f5f63e440c96d6 fix-arm-atomics-grsec.patch
-0c453c2e058ac568e0148c02b1c09abd fix-ipc.patch
-f8bc97333847f37597c0bac0dca64eb2 fix-media.patch
-170b8e7f8cab21f0965f226c291a57f9 fix-netwerk.patch
-296954be4c6d6bfcc24d0a46a2bd7d74 fix-toolkit.patch
-2279c55a85013fc1c0d01427768edd4d fix-tools.patch
-2f0b995b1313884b10e4a61c2ce2cd01 fix-linux-include.patch
+94ae976a54d1f84bf13d059c1e44ddf5 fix-toolkit.patch
+fe88db05a9a1adfd79babd137b0e8de8 fix-tools.patch
+aed3b88014fbfbe73db79851e52ca7fa fix-seccomp-bpf.patch
308ba5b54116a035fe68d0d5c3974857 mozilla-build-arm.patch
+4c7a5a634e53c05d8cc67cbd40a3174e disable-moz-stackwalk.patch
4383d038b8d8411ea46f4a109197c19e stab.h
15ebeeeb6823c185f4fed98e9bf1b786 rhbz-966424.patch
f29e0036edc7b3a4158a82fa97bde500 fix-fortify-inline.patch
9aba3811121f113fe547947591802d2b fix-fortify-system-wrappers.patch
+1feef5ea2fd5acc2a71a29350754d006 allow-utf8-fallback.patch
+b8b2a3cdb38f402e4eb4885908233811 libavutil.patch
+0db0cce8350d59a91ae2c4f0400f7146 mallinfo.patch
ba96924ece1d77453e462429037a2ce5 firefox.desktop
6f38a5899034b7786cb1f75ad42032b8 firefox-safe.desktop"
-sha256sums="5312ad03ccff3ca233d207b6e8e433bddb893ab6acc5ca2dfc5b7c18bb0dc8c0 firefox-38.7.0esr.source.tar.bz2
+sha256sums="1a44568b4d10b208ae21930335a3098aec31cc42dd43ccd6ef659f3c321b7366 firefox-45.0.1esr.source.tar.xz
23c2b4535ce83c92ba978e15ce328c9f140def155d12523c00df30baf41b98dc mozconfig
-d72ca759792cc8c88efc664d30087a139fed7fc3d7d058e4cd9ab287bb80ea46 vendor.js
+afecb8c17a2bedafe600dd572d24eff24e540cda02f675705d11168040379ce6 vendor.js
080a55182b865471a86fa4b70a66ed9495f1e536f7fdc4060cb8c675b4749c6e 0002-Use-C99-math-isfinite.patch
ff7cb3c9c4712e0517a6f11e3bf08e9b0d13dbe6384930bdc7f55b1ceed039b5 fix-arm-atomics-grsec.patch
-fa7d50f399b6fc1ec1c007cabadc5c0cb9e1daf92c7f6ad89f651b8ce268c765 fix-ipc.patch
-c1d0fbcf5e8610df9adc66ea956753e7d495e8ed2d1c1e06d183f4680c85db97 fix-media.patch
-4a2f8ff5e9b1359541eba8854098cee2caeb40ad9dbdc4b8fcf48b47ea8ca2d2 fix-netwerk.patch
-666883189dba3f4c7ba6b5bc85026c85bcb84477c2d5ba00d6414ddd0f744368 fix-toolkit.patch
-60ed0870119480994c6c455034c52dd21b8482b7617c3a0032e3b2abf4467e4d fix-tools.patch
-a3a6291888819e0f10e3ca05b2979093b32c723c4bf67b19ea1ab14555085236 fix-linux-include.patch
+195cc0b2008f6728e9d85ca787960bb47d7fba723e10d29e255baaa3bd5dd4dc fix-toolkit.patch
+b7d43391006443da851c03546f2772ded7770a0ea045e8130be7011cf6718708 fix-tools.patch
+517d95225b3323c373c11da6ab867deb76ffdb0b50c1762bdd893abd9b39d4c9 fix-seccomp-bpf.patch
6f5f5e4d2a17182b72b248e896450235ccdaf63252fdb89a8deb55da8adc9be3 mozilla-build-arm.patch
+d87bbd011ec499f93119223360cd79afc628e5f0d020c4e8f0039627c85017e7 disable-moz-stackwalk.patch
960d82bbfdc88c95f5cb4f2e1c1bf23dae7519b3b7203914d7b3ddbff1ba4c28 stab.h
a50d15a640f230a2c66e1eb2afd2bed4117605d0f1591dcfec1ca30f0bc2352f rhbz-966424.patch
ecf808ef1bc2920f6f7a4786fafb46c74e8a2c3bc628f28f10d6e8e1a265e609 fix-fortify-inline.patch
cd19195cb4c316ad9f7d377cd8581218c888863b1bc4d112c97f48a4425fb946 fix-fortify-system-wrappers.patch
+a1ba79ec0c50c19edcfb24bb2686a718a77b02035e412989b9208b9b818abe14 allow-utf8-fallback.patch
+83113f1fbc0389602b3623e8a5428d41837c4ec9557615c37ca05619526a7404 libavutil.patch
+2f564fa5f347f3c7f20d589ef273f000ca9c9aeca2c6ad0fb5b15bfc715d8b81 mallinfo.patch
b571c4a49884a3c98806246c9cc3e60c73d5a8f4aeb7f96217db0be1d6210eda firefox.desktop
4b6de45753856a890f4482055666e77f9b01bdfb7e0df08bafaa3a4d9937eed3 firefox-safe.desktop"
-sha512sums="edb8cdb06d82a58c3dca216402a4df0afb21bcaf97cbf3ebc3857249b281283f099267284f025fb724f47eff9c3b7569f6ae000003332c47264ca254f73e65ca firefox-38.7.0esr.source.tar.bz2
+sha512sums="08dca419ad9c1e637feb8aca2a7d697649a11a7b9ec24b5b80379bc6ac8c7f7343047bffce23b8089e32c089f17e656d72d8d5d725ec54763dbd7fc813dcc0ba firefox-45.0.1esr.source.tar.xz
e14b4a646230f7a752ef864b0e6a074fdac74d6c4abde2c31656eb10ac6f002a5c664d257bf3f4bd22544f10103e38d5fae49f84fcaae402b81940e72bcfe0e5 mozconfig
-93570f821e59af4d233fc4b1df85e1d145a5e041ad402fd72921987a5a2f5218538d7a13d59bbf0bda5e7df1d5281407674a3765625936340106d1185b15b5d8 vendor.js
+cc10dba32d9c7faf1d99b8fdebc71bf0200ad10b976105edb45df696bf64a668b2b7aa8c3892a8056eb71fb071b0e0ae51c3ce2fb75acfb7e7035104c0e4fce3 vendor.js
7e123144bc2b1efed149dfb41b255c447d43ea93a63ebe114d01945e6a6d69edc2f2a3c36980a93279106c1842355851b8b6c1d96679ee6be7b9b30513e0b1a8 0002-Use-C99-math-isfinite.patch
4311464ae52b6d2e2b02c789c6d5fca9b3c211888a983aa609a62c2f2554516fea735ea90673387c69b38a30aa8453ed79faa44b5163df4293880d40df676b2d fix-arm-atomics-grsec.patch
-6419b3ec12c775c8bbce2c5737e68bb6c93f5b6c69af65b4fbbc525de3e2022def61943ab713c278aff9a6c27c1df1e19fb94940a755a94f6b40fd0492fae228 fix-ipc.patch
-f4d1b0814247cdfe1655a0f345def4f80bd66f37ae5b0edc2cd6b8358e39e9a1bcc0a4ed7d1c4074a1302fb027a2f8be549225c5f4f56caf2513c968ed05d666 fix-media.patch
-8a896ee4d1465a844351cec84217de1a28b9f27bfc1e34cc71368664b5b8804bd66bdcadc78c78ee365abd1d0cafed1e6c568045c93cb78ac94e2818f503d58c fix-netwerk.patch
-72459754016f254c58d56d9a8719897fa8da9cf969eaa498e1e755457942d3f0ac56e4abd3f6a66ef924c94aa034d0af18a1fb653926b2496f0c2615fdb24c5e fix-toolkit.patch
-426b57ce698de3eecd1b52f2998974c4e0b5922584b09b554d436c61fee039d1f86345e746fee067801ebbf50815c4d19b96266a2ed72a35ae5c3edbdb57bba1 fix-tools.patch
-2c3319fd625c5d183e310ce6a27ec35e91caafd2206b7b992a539924f9bdb001b0340f1f4451650d4d968134ad35ba1f955cacfff10cb58980f27c42c90d280d fix-linux-include.patch
+d3f2ec8684aa485e1d08df325281629adb120f2e79c0065b96e14b99ca2968a3c701d18dda1fd1cab482aec2bc4ee8f294b9fda970ae159f8dab655f2c91aca9 fix-toolkit.patch
+6322912a8b496332c593ee5c2069d346552299781148d6c829321a10be7f6550a6f7aab3d0cfeb08e1c4ecca2a79272ea7a6f31f1d2eb430c1b0041e3699c06c fix-tools.patch
+70863b985427b9653ce5e28d6064f078fb6d4ccf43dd1b68e72f97f44868fc0ce063161c39a4e77a0a1a207b7365d5dc7a7ca5e68c726825eba814f2b93e2f5d fix-seccomp-bpf.patch
e61664bc93eadce5016a06a4d0684b34a05074f1815e88ef2613380d7b369c6fd305fb34f83b5eb18b9e3138273ea8ddcfdcb1084fdcaa922a1e5b30146a3b18 mozilla-build-arm.patch
+c69cdb2d6c66180d6a67c386b862a5ed953aab4db434b054c9e1e6702bcc56ba219a4cb22747d9c891040a286388168e0cf5ca28a503389cd9708012fddf6c2b disable-moz-stackwalk.patch
0b3f1e4b9fdc868e4738b5c81fd6c6128ce8885b260affcb9a65ff9d164d7232626ce1291aaea70132b3e3124f5e13fef4d39326b8e7173e362a823722a85127 stab.h
06ededcd196af98b77991dcba3b710b0dfc061404adb4676fcc380be80410a2621f64d67257b0aefdf36f566e0ea1294b5405b7b4db43e83281a1c64d02da579 rhbz-966424.patch
09bc32cf9ee81b9cc6bb58ddbc66e6cc5c344badff8de3435cde5848e5a451e0172153231db85c2385ff05b5d9c20760cb18e4138dfc99060a9e960de2befbd5 fix-fortify-inline.patch
2a967e4619fd89a046bd40be7fdcef646fcb1eba5e47afc96aa1d59c25bcc8747cb07baee6c11f3b803db0981aced181534b806778e4d21e74958f5f4d74c784 fix-fortify-system-wrappers.patch
+ebbc2b1336197c289e9b7c073d196fb5734e1dad0109fe70538f8089b1873e4b55305cd39cefcf95cd4eb36715be6dff298856c496616e935ff5579452e62b09 allow-utf8-fallback.patch
+2213dbd7eb36f954add09977c0bb979aea79376164bc98d7e8957ecf584776bc11cc88b6d8235f9e04ac69d5975a47c2f52fd9aff9076326f15997657af8c9f3 libavutil.patch
+bdcd1b402d2ec94957ba5d08cbad7b1a7f59c251c311be9095208491a05abb05a956c79f27908e1f26b54a3679387b2f33a51e945b650671ad85c0a2d59a5a29 mallinfo.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
new file mode 100644
index 0000000000..d283d60422
--- /dev/null
+++ b/community/firefox-esr/allow-utf8-fallback.patch
@@ -0,0 +1,16 @@
+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-moz-stackwalk.patch b/community/firefox-esr/disable-moz-stackwalk.patch
new file mode 100644
index 0000000000..f4e14038b4
--- /dev/null
+++ b/community/firefox-esr/disable-moz-stackwalk.patch
@@ -0,0 +1,17 @@
+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)))
+
+-#define MOZ_STACKWALK_SUPPORTS_LINUX \
+- (defined(linux) && \
+- ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \
+- defined(HAVE__UNWIND_BACKTRACE)))
++#define MOZ_STACKWALK_SUPPORTS_LINUX 0
+
+ #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1)
+ #define HAVE___LIBC_STACK_END 1
diff --git a/community/firefox-esr/fix-ipc.patch b/community/firefox-esr/fix-ipc.patch
deleted file mode 100644
index 8371957d4b..0000000000
--- a/community/firefox-esr/fix-ipc.patch
+++ /dev/null
@@ -1,55 +0,0 @@
---- mozilla-release.orig/ipc/chromium/src/base/file_util.h
-+++ mozilla-release/ipc/chromium/src/base/file_util.h
-@@ -14,10 +14,15 @@
- #include <windows.h>
- #elif defined(ANDROID)
- #include <sys/stat.h>
-+#define NO_FTS
- #elif defined(OS_POSIX)
- #include <sys/types.h>
--#include <fts.h>
- #include <sys/stat.h>
-+#ifdef __GLIBC__
-+#include <fts.h>
-+#else
-+#define NO_FTS
-+#endif
- #endif
-
- #include <stdio.h>
---- mozilla-release.orig/ipc/chromium/src/base/file_util_posix.cc
-+++ mozilla-release/ipc/chromium/src/base/file_util_posix.cc
-@@ -8,13 +8,13 @@
- #include <errno.h>
- #include <fcntl.h>
- #include <fnmatch.h>
--#ifndef ANDROID
-+#ifndef NO_FTS
- #include <fts.h>
- #endif
- #include <libgen.h>
- #include <stdio.h>
- #include <string.h>
--#include <sys/errno.h>
-+#include <errno.h>
- #include <sys/mman.h>
- #define _DARWIN_USE_64_BIT_INODE // Use 64-bit inode data structures
- #include <sys/stat.h>
-@@ -67,7 +67,7 @@
- if (!recursive)
- return (rmdir(path_str) == 0);
-
--#ifdef ANDROID
-+#ifdef NO_FTS
- // XXX Need ftsless impl for bionic
- return false;
- #else
-@@ -140,7 +140,7 @@
- return false;
- }
-
--#ifdef ANDROID
-+#ifdef NO_FTS
- // XXX Need ftsless impl for bionic
- return false;
- #else
diff --git a/community/firefox-esr/fix-linux-include.patch b/community/firefox-esr/fix-linux-include.patch
deleted file mode 100644
index d625557cf9..0000000000
--- a/community/firefox-esr/fix-linux-include.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- ./xpcom/io/nsLocalFileUnix.cpp.orig
-+++ ./xpcom/io/nsLocalFileUnix.cpp
-@@ -28,6 +28,7 @@
- #define USE_LINUX_QUOTACTL
- #include <sys/mount.h>
- #include <sys/quota.h>
-+#include <linux/fs.h>
- #endif
-
- #include "xpcom-private.h"
diff --git a/community/firefox-esr/fix-media.patch b/community/firefox-esr/fix-media.patch
deleted file mode 100644
index af6045fe72..0000000000
--- a/community/firefox-esr/fix-media.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- mozilla-release/media.orig/mtransport/third_party/nICEr/src/stun/addrs.c
-+++ mozilla-release/media/mtransport/third_party/nICEr/src/stun/addrs.c
-@@ -45,7 +45,6 @@
- #include <sys/param.h>
- #include <sys/socket.h>
- #ifndef ANDROID
--#include <sys/sysctl.h>
- #include <sys/syslog.h>
- #else
- #include <syslog.h>
diff --git a/community/firefox-esr/fix-netwerk.patch b/community/firefox-esr/fix-netwerk.patch
deleted file mode 100644
index a31b286229..0000000000
--- a/community/firefox-esr/fix-netwerk.patch
+++ /dev/null
@@ -1,37 +0,0 @@
---- ./netwerk.orig/sctp/src/netinet/sctp_os_userspace.h
-+++ ./netwerk/sctp/src/netinet/sctp_os_userspace.h
-@@ -400,11 +400,8 @@
- };
-
- #else /* !defined(Userspace_os_Windows) */
--#include <sys/cdefs.h> /* needed? added from old __FreeBSD__ */
- #include <sys/socket.h>
--#if defined(__Userspace_os_DragonFly) || defined(__Userspace_os_FreeBSD) || defined(__Userspace_os_Linux) || defined(__Userspace_os_NetBSD) || defined(__Userspace_os_OpenBSD) || defined(ANDROID)
- #include <pthread.h>
--#endif
- typedef pthread_mutex_t userland_mutex_t;
- typedef pthread_cond_t userland_cond_t;
- typedef pthread_t userland_thread_t;
---- ./netwerk.orig/sctp/src/netinet/sctp_pcb.c
-+++ ./netwerk/sctp/src/netinet/sctp_pcb.c
-@@ -30,6 +30,9 @@
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-+#define _BSD_SOURCE /* for IPPORT_RESERVED */
-+#include <netdb.h>
-+
- #ifdef __FreeBSD__
- #include <sys/cdefs.h>
- __FBSDID("$FreeBSD: head/sys/netinet/sctp_pcb.c 258765 2013-11-30 12:51:19Z tuexen $");
---- ./netwerk.orig/sctp/src/user_queue.h
-+++ ./netwerk/sctp/src/user_queue.h
-@@ -31,7 +31,7 @@
- #ifndef _USER_QUEUE_H_
- #define _USER_QUEUE_H_
-
--#if !defined (__Userspace_os_Windows)
-+#if defined(__Userspace_os_FreeBSD)
- #include <sys/cdefs.h>
- #endif
- /*
diff --git a/community/firefox-esr/fix-seccomp-bpf.patch b/community/firefox-esr/fix-seccomp-bpf.patch
new file mode 100644
index 0000000000..47cde56c74
--- /dev/null
+++ b/community/firefox-esr/fix-seccomp-bpf.patch
@@ -0,0 +1,14 @@
+--- a/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc.orig 2015-09-23 09:10:08.812740571 +0200
++++ b/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc 2015-09-23 09:11:38.404746155 +0200
+@@ -23,6 +23,11 @@
+ #include "sandbox/linux/services/android_ucontext.h"
+ #endif
+
++// musl libc defines siginfo_t __si_fields instead of _sifields
++#if defined(OS_LINUX) && !defined(__GLIBC__)
++#define _sifields __si_fields
++#endif
++
+ namespace {
+
+ struct arch_sigsys {
diff --git a/community/firefox-esr/fix-toolkit.patch b/community/firefox-esr/fix-toolkit.patch
index 0303223652..9fd8ef497c 100644
--- a/community/firefox-esr/fix-toolkit.patch
+++ b/community/firefox-esr/fix-toolkit.patch
@@ -88,64 +88,7 @@ diff -ru mozilla-release/toolkit.orig/xre/nsSigHandlers.cpp mozilla-release/tool
#include <signal.h>
#include <stdio.h>
#include <string.h>
-+#include <sys/types.h>
++#include <stdint.h>
#include "prthread.h"
#include "plstr.h"
#include "prenv.h"
-@@ -152,7 +153,7 @@
- status->__invalid = status->__denorm = status->__zdiv = status->__ovrfl = status->__undfl =
- status->__precis = status->__stkflt = status->__errsumm = 0;
-
-- __uint32_t *mxcsr = &uc->uc_mcontext->__fs.__fpu_mxcsr;
-+ u_int32_t *mxcsr = &uc->uc_mcontext->__fs.__fpu_mxcsr;
- *mxcsr |= SSE_EXCEPTION_MASK; /* disable all SSE exceptions */
- *mxcsr &= ~SSE_STATUS_FLAGS; /* clear all pending SSE exceptions */
- #endif
-@@ -172,13 +173,13 @@
- *sw &= ~FPU_STATUS_FLAGS;
- #endif
- #if defined(__amd64__)
-- __uint16_t *cw = &uc->uc_mcontext.fpregs->cwd;
-+ u_int16_t *cw = &uc->uc_mcontext.fpregs->cwd;
- *cw |= FPU_EXCEPTION_MASK;
-
-- __uint16_t *sw = &uc->uc_mcontext.fpregs->swd;
-+ u_int16_t *sw = &uc->uc_mcontext.fpregs->swd;
- *sw &= ~FPU_STATUS_FLAGS;
-
-- __uint32_t *mxcsr = &uc->uc_mcontext.fpregs->mxcsr;
-+ u_int32_t *mxcsr = &uc->uc_mcontext.fpregs->mxcsr;
- *mxcsr |= SSE_EXCEPTION_MASK; /* disable all SSE exceptions */
- *mxcsr &= ~SSE_STATUS_FLAGS; /* clear all pending SSE exceptions */
- #endif
-@@ -187,24 +188,24 @@
- ucontext_t *uc = (ucontext_t *)context;
-
- #if defined(__i386)
-- uint32_t *cw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[0];
-+ u_int32_t *cw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[0];
- *cw |= FPU_EXCEPTION_MASK;
-
-- uint32_t *sw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[1];
-+ u_int32_t *sw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[1];
- *sw &= ~FPU_STATUS_FLAGS;
-
- /* address of the instruction that caused the exception */
-- uint32_t *ip = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[3];
-+ u_int32_t *ip = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[3];
- uc->uc_mcontext.gregs[REG_PC] = *ip;
- #endif
- #if defined(__amd64__)
-- uint16_t *cw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.cw;
-+ u_int16_t *cw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.cw;
- *cw |= FPU_EXCEPTION_MASK;
-
-- uint16_t *sw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.sw;
-+ u_int16_t *sw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.sw;
- *sw &= ~FPU_STATUS_FLAGS;
-
-- uint32_t *mxcsr = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.mxcsr;
-+ u_int32_t *mxcsr = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.mxcsr;
- *mxcsr |= SSE_EXCEPTION_MASK; /* disable all SSE exceptions */
- *mxcsr &= ~SSE_STATUS_FLAGS; /* clear all pending SSE exceptions */
- #endif
diff --git a/community/firefox-esr/fix-tools.patch b/community/firefox-esr/fix-tools.patch
index b0a6d4fbcc..cf1589d633 100644
--- a/community/firefox-esr/fix-tools.patch
+++ b/community/firefox-esr/fix-tools.patch
@@ -1,5 +1,26 @@
---- mozilla-release.orig/tools/profiler/local_debug_info_symbolizer.cc
-+++ mozilla-release/tools/profiler/local_debug_info_symbolizer.cc
+diff --git a/tools/profiler/LulElf.cpp b/tools/profiler/LulElf.cpp
+index 203b15d..08a270a 100644
+--- a/tools/profiler/lul/LulElf.cpp
++++ b/tools/profiler/lul/LulElf.cpp
+@@ -612,10 +612,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) {
+- // Lots of copies! basename's behavior is less than ideal.
+- char *c_filename = strdup(filename.c_str());
+- string base = basename(c_filename);
+- free(c_filename);
++ // basename's behavior is less than ideal so avoid it
++ const char *c_filename = filename.c_str();
++ const char *p = strrchr(c_filename, '/');
++ string base = p ? p+1 : c_filename;
+ 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/. */
@@ -8,42 +29,23 @@
#include "PlatformMacros.h"
#include "nsAutoPtr.h"
---- mozilla-release.orig/tools/profiler/platform-linux.cc
-+++ mozilla-release/tools/profiler/platform-linux.cc
-@@ -84,7 +84,7 @@
-
- #define SIGNAL_SAVE_PROFILE SIGUSR2
-
--#if defined(__GLIBC__)
-+#if 1
- // glibc doesn't implement gettid(2).
- #include <sys/syscall.h>
- pid_t gettid()
---- mozilla-release.orig/tools/profiler/platform.h
-+++ mozilla-release/tools/profiler/platform.h
-@@ -29,6 +29,8 @@
- #ifndef TOOLS_PLATFORM_H_
- #define TOOLS_PLATFORM_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
---- mozilla-release.orig/tools/profiler/LulElf.cpp
-+++ mozilla-release/tools/profiler/LulElf.cpp
-@@ -579,10 +579,10 @@
- // 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) {
-- // Lots of copies! basename's behavior is less than ideal.
-- char *c_filename = strdup(filename.c_str());
-- string base = basename(c_filename);
-- free(c_filename);
-+ // basename's behavior is less than ideal so avoid it
-+ const char *c_filename = filename.c_str();
-+ const char *p = strrchr(c_filename, '/');
-+ string base = p ? p+1 : c_filename;
- return base;
- }
+@@ -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/getchar.patch b/community/firefox-esr/getchar.patch
deleted file mode 100644
index 981206b971..0000000000
--- a/community/firefox-esr/getchar.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- ./media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp.orig
-+++ ./media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp
-@@ -21,6 +21,11 @@
- #include "constants.hpp"
- #include <cstring>
-
-+/* prevent the getchar macro from stdio to take preference over the local var */
-+#if defined(__UCLIBC__)
-+#undef getchar
-+#endif
-+
- namespace boost {
- namespace detail {
- //This only works on unsigned data types
diff --git a/community/firefox-esr/libavutil.patch b/community/firefox-esr/libavutil.patch
new file mode 100644
index 0000000000..ba1e1a2457
--- /dev/null
+++ b/community/firefox-esr/libavutil.patch
@@ -0,0 +1,12 @@
+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/mallinfo.patch b/community/firefox-esr/mallinfo.patch
new file mode 100644
index 0000000000..9959b52a4c
--- /dev/null
+++ b/community/firefox-esr/mallinfo.patch
@@ -0,0 +1,20 @@
+diff --git a/xpcom/base/nsMemoryReporterManager.cpp b/xpcom/base/nsMemoryReporterManager.cpp
+index 89ee563..eab8cd7 100644
+--- a/xpcom/base/nsMemoryReporterManager.cpp
++++ b/xpcom/base/nsMemoryReporterManager.cpp
+@@ -153,6 +153,7 @@ ResidentUniqueDistinguishedAmount(int64_t* aN)
+ return GetProcSelfSmapsPrivate(aN);
+ }
+
++#ifdef __GLIBC__
+ #define HAVE_SYSTEM_HEAP_REPORTER 1
+ nsresult
+ SystemHeapSize(int64_t* aSizeOut)
+@@ -172,6 +173,7 @@ SystemHeapSize(int64_t* aSizeOut)
+ *aSizeOut = size_t(info.hblkhd) + size_t(info.uordblks);
+ return NS_OK;
+ }
++#endif
+
+ #elif defined(__DragonFly__) || defined(__FreeBSD__) \
+ || defined(__NetBSD__) || defined(__OpenBSD__) \
diff --git a/community/firefox-esr/stat.patch b/community/firefox-esr/stat.patch
deleted file mode 100644
index ed7dc007e2..0000000000
--- a/community/firefox-esr/stat.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- ./dom/system/OSFileConstants.cpp.orig 2013-04-17 06:17:29.798371189 +0000
-+++ ./dom/system/OSFileConstants.cpp 2013-04-17 06:30:30.032285977 +0000
-@@ -509,6 +509,11 @@
- INT_CONSTANT(_STAT_VER),
- #endif // defined(_STAT_VER)
-
-+ // glibc's stat/lstat/fstat are macros while uclibc's are not
-+#if defined(__GLIBC__) && !defined(__UCLIBC__)
-+ { "OSFILE_STAT_MACROS", INT_TO_JSVAL(1) },
-+#endif // defined(stat)
-+
- PROP_END
- };
-
---- ./toolkit/components/osfile/modules/osfile_unix_back.jsm.orig 2014-04-03 13:08:26.686409787 +0000
-+++ ./toolkit/components/osfile/modules/osfile_unix_back.jsm 2014-04-03 13:34:14.101716259 +0000
-@@ -512,7 +512,7 @@
- /*path*/ Type.fd,
- /*buf*/ Type.stat.out_ptr
- );
-- } else if (Const._STAT_VER != undefined) {
-+ } else if (Const.OSFILE_STAT_MACROS != undefined) {
- const ver = Const._STAT_VER;
- let xstat_name, lxstat_name, fxstat_name;
- if (OS.Constants.Sys.Name == "SunOS") {
diff --git a/community/firefox-esr/vendor.js b/community/firefox-esr/vendor.js
index 2ef8b0d5b2..411803b61b 100644
--- a/community/firefox-esr/vendor.js
+++ b/community/firefox-esr/vendor.js
@@ -1,3 +1,5 @@
// Disable default browser checking.
pref("browser.shell.checkDefaultBrowser", false);
+// OMTC and system cairo is broken
+pref("layers.offmainthreadcomposition.enabled", false);