firefox: update to 66.0.
This commit is contained in:
parent
334cf9937b
commit
587136fbdc
9 changed files with 188 additions and 58 deletions
11
srcpkgs/firefox/patches/fix-arm-opus-include.patch
Normal file
11
srcpkgs/firefox/patches/fix-arm-opus-include.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- media/libopus/silk/arm/arm_silk_map.c.orig 2019-03-19 20:55:01.249609964 +0100
|
||||
+++ media/libopus/silk/arm/arm_silk_map.c 2019-03-19 20:55:25.769400255 +0100
|
||||
@@ -28,7 +28,7 @@
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
-#include "main_FIX.h"
|
||||
+#include "../fixed/main_FIX.h"
|
||||
#include "NSQ.h"
|
||||
#include "SigProc_FIX.h"
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
--- media/audioipc/audioipc/src/cmsg.rs.orig 2019-01-07 15:37:48.111034714 +0100
|
||||
+++ media/audioipc/audioipc/src/cmsg.rs 2019-01-07 15:40:17.251689417 +0100
|
||||
--- media/audioipc/audioipc/src/cmsg.rs.orig 2019-03-19 21:31:45.177880477 +0100
|
||||
+++ media/audioipc/audioipc/src/cmsg.rs 2019-03-19 21:32:38.103478999 +0100
|
||||
@@ -108,7 +108,7 @@
|
||||
|
||||
|
||||
let cmsghdr = cmsghdr {
|
||||
cmsg_len: cmsg_len as _,
|
||||
- #[cfg(target_env = "musl")]
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
--- tools/profiler/core/platform.h.orig
|
||||
+++ tools/profiler/core/platform.h
|
||||
@@ -56,7 +56,7 @@
|
||||
|
||||
--- tools/profiler/core/platform.h.orig 2019-03-19 01:54:25.407952218 +0100
|
||||
+++ tools/profiler/core/platform.h 2019-03-19 01:54:45.571767946 +0100
|
||||
@@ -44,7 +44,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()
|
||||
# include <unistd.h>
|
||||
# include <sys/syscall.h>
|
||||
static inline pid_t gettid() { return (pid_t)syscall(SYS_gettid); }
|
||||
|
|
|
@ -51,13 +51,13 @@
|
|||
+++ toolkit/mozapps/update/common/updatedefines.h 2019-01-29 11:34:59.193583777 +0100
|
||||
@@ -102,7 +102,7 @@
|
||||
|
||||
#ifdef SOLARIS
|
||||
#include <sys/stat.h>
|
||||
-#else
|
||||
+#elif !defined(__linux__) || defined(__GLIBC__)
|
||||
#include <fts.h>
|
||||
#endif
|
||||
#include <dirent.h>
|
||||
# ifdef SOLARIS
|
||||
# include <sys/stat.h>
|
||||
-# else
|
||||
+# elif !(defined(__linux__)) || defined(__GLIBC__)
|
||||
# include <fts.h>
|
||||
# endif
|
||||
# include <dirent.h>
|
||||
--- toolkit.orig/mozapps/update/updater/updater.cpp 2014-03-15 05:19:37.000000000 +0000
|
||||
+++ toolkit/mozapps/update/updater/updater.cpp 2014-04-17 10:24:33.796765327 +0000
|
||||
@@ -3432,6 +3432,7 @@
|
||||
|
|
120
srcpkgs/firefox/patches/fix-wasm-arm.patch
Normal file
120
srcpkgs/firefox/patches/fix-wasm-arm.patch
Normal file
|
@ -0,0 +1,120 @@
|
|||
disable WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
|
||||
|
||||
# HG changeset patch
|
||||
# User Lars T Hansen <lhansen@mozilla.com>
|
||||
# Date 1550043288 -3600
|
||||
# Node ID 322de2cc80194c4fe859989738f7c3c2b70b98a4
|
||||
# Parent 3b1b94e39795d5af17da5908ad8d05e7cefb89e5
|
||||
Bug 1526653 - Document some ARM Linux compile problems. r=luke
|
||||
|
||||
Not every ARM Linux distro (all of them tier-3 apart from Android) has
|
||||
a sys/user.h that provides the necessary structures for us to emulate
|
||||
unaligned FP accesses. Raspbian is a case in point; the only user.h
|
||||
on the system is some generic glibc thing that is completely wrong for
|
||||
ARM.
|
||||
|
||||
We can't really hope to #ifdef our way out of this -- for example,
|
||||
there does not seem to be a reliable preprocessor name for Raspbian,
|
||||
nor is there a canonical preprocessor name that sys/user.h exports
|
||||
when the desired structures are defined.
|
||||
|
||||
Therefore, add some comments to explain the problem and introduce a
|
||||
choke point that tier-3 porters can use if they run into the problem.
|
||||
|
||||
Differential Revision: https://phabricator.services.mozilla.com/D19637
|
||||
|
||||
diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp
|
||||
--- js/src/wasm/WasmSignalHandlers.cpp
|
||||
+++ js/src/wasm/WasmSignalHandlers.cpp
|
||||
@@ -208,17 +208,35 @@ using mozilla::DebugOnly;
|
||||
# define R11_sig(p) ((p)->thread.__r[11])
|
||||
# define R13_sig(p) ((p)->thread.__sp)
|
||||
# define R14_sig(p) ((p)->thread.__lr)
|
||||
# define R15_sig(p) ((p)->thread.__pc)
|
||||
#else
|
||||
# error "Don't know how to read/write to the thread state via the mcontext_t."
|
||||
#endif
|
||||
|
||||
+// On ARM Linux, including Android, unaligned FP accesses that were not flagged
|
||||
+// as unaligned will tend to trap (with SIGBUS) and will need to be emulated.
|
||||
+//
|
||||
+// We can only perform this emulation if the system header files provide access
|
||||
+// to the FP registers. In particular, <sys/user.h> must have definitions of
|
||||
+// `struct user_vfp` and `struct user_vfp_exc`, as it does on Android.
|
||||
+//
|
||||
+// Those definitions are however not present in the headers of every Linux
|
||||
+// distro - Raspbian is known to be a problem, for example. However those
|
||||
+// distros are tier-3 platforms.
|
||||
+//
|
||||
+// If you run into compile problems on a tier-3 platform, you can disable the
|
||||
+// emulation here.
|
||||
+
|
||||
#if defined(__linux__) && defined(__arm__)
|
||||
+//# define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
|
||||
+#endif
|
||||
+
|
||||
+#ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
|
||||
# include <sys/user.h>
|
||||
#endif
|
||||
|
||||
#if defined(ANDROID)
|
||||
// Not all versions of the Android NDK define ucontext_t or mcontext_t.
|
||||
// Detect this and provide custom but compatible definitions. Note that these
|
||||
// follow the GLibc naming convention to access register values from
|
||||
// mcontext_t.
|
||||
@@ -436,17 +454,17 @@ struct AutoHandlingTrap {
|
||||
}
|
||||
|
||||
~AutoHandlingTrap() {
|
||||
MOZ_ASSERT(sAlreadyHandlingTrap.get());
|
||||
sAlreadyHandlingTrap.set(false);
|
||||
}
|
||||
};
|
||||
|
||||
-#if defined(__linux__) && defined(__arm__)
|
||||
+#ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
|
||||
|
||||
// Code to handle SIGBUS for unaligned floating point accesses on 32-bit ARM.
|
||||
|
||||
static uintptr_t ReadGPR(CONTEXT* context, uint32_t rn) {
|
||||
switch (rn) {
|
||||
case 0:
|
||||
return context->uc_mcontext.arm_r0;
|
||||
case 1:
|
||||
@@ -636,22 +654,22 @@ static bool HandleUnalignedTrap(CONTEXT*
|
||||
}
|
||||
|
||||
# ifdef DEBUG
|
||||
MOZ_CRASH(
|
||||
"SIGBUS handler could not access FP register, incompatible kernel?");
|
||||
# endif
|
||||
return false;
|
||||
}
|
||||
-#else // __linux__ && __arm__
|
||||
+#else // WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
|
||||
static bool HandleUnalignedTrap(CONTEXT* context, uint8_t* pc,
|
||||
Instance* instance) {
|
||||
return false;
|
||||
}
|
||||
-#endif // __linux__ && __arm__
|
||||
+#endif // WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
|
||||
|
||||
static MOZ_MUST_USE bool HandleTrap(CONTEXT* context,
|
||||
bool isUnalignedSignal = false,
|
||||
JSContext* assertCx = nullptr) {
|
||||
MOZ_ASSERT(sAlreadyHandlingTrap.get());
|
||||
|
||||
uint8_t* pc = ContextToPC(context);
|
||||
const CodeSegment* codeSegment = LookupCodeSegment(pc);
|
||||
@@ -1165,8 +1183,10 @@ bool wasm::HandleIllegalInstruction(cons
|
||||
return false;
|
||||
}
|
||||
|
||||
jit::JitActivation* activation = TlsContext.get()->activation()->asJit();
|
||||
activation->startWasmTrap(trap, bytecode.offset(), regs);
|
||||
*newPC = segment.trapCode();
|
||||
return true;
|
||||
}
|
||||
+
|
||||
+#undef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
--- xpcom/base/nsMemoryReporterManager.cpp.orig 2018-10-25 01:03:36.267772091 +0200
|
||||
+++ xpcom/base/nsMemoryReporterManager.cpp 2018-10-25 01:42:08.863831518 +0200
|
||||
@@ -133,6 +133,7 @@
|
||||
return GetProcSelfSmapsPrivate(aN);
|
||||
}
|
||||
|
||||
+#ifdef __GLIBC__
|
||||
#ifdef HAVE_MALLINFO
|
||||
#define HAVE_SYSTEM_HEAP_REPORTER 1
|
||||
static MOZ_MUST_USE nsresult
|
||||
@@ -154,6 +155,7 @@
|
||||
return NS_OK;
|
||||
}
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
#elif defined(__DragonFly__) || defined(__FreeBSD__) \
|
||||
|| defined(__NetBSD__) || defined(__OpenBSD__) \
|
|
@ -1,18 +1,34 @@
|
|||
--- xpcom/base/nsMemoryReporterManager.cpp
|
||||
+++ xpcom/base/nsMemoryReporterManager.cpp
|
||||
@@ -153,6 +153,7 @@ ResidentUniqueDistinguishedAmount(int64_t* aN)
|
||||
--- xpcom/base/nsMemoryReporterManager.cpp.orig 2019-03-19 17:12:20.844810044 +0100
|
||||
+++ xpcom/base/nsMemoryReporterManager.cpp 2019-03-19 17:13:32.505133615 +0100
|
||||
@@ -123,6 +123,7 @@
|
||||
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;
|
||||
# ifdef HAVE_MALLINFO
|
||||
# define HAVE_SYSTEM_HEAP_REPORTER 1
|
||||
static MOZ_MUST_USE nsresult SystemHeapSize(int64_t* aSizeOut) {
|
||||
@@ -142,6 +143,7 @@
|
||||
return NS_OK;
|
||||
}
|
||||
+#endif
|
||||
# endif
|
||||
+#endif // __GLIBC__
|
||||
|
||||
#elif defined(__DragonFly__) || defined(__FreeBSD__) \
|
||||
|| defined(__NetBSD__) || defined(__OpenBSD__) \
|
||||
#elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
|
||||
defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
|
||||
@@ -642,6 +644,7 @@
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
+#ifdef __GLIBC__
|
||||
# define HAVE_SYSTEM_HEAP_REPORTER 1
|
||||
// Windows can have multiple separate heaps. During testing there were multiple
|
||||
// heaps present but the non-default ones had sizes no more than a few 10s of
|
||||
@@ -698,6 +701,7 @@
|
||||
*aSizeOut = heapsSize;
|
||||
return NS_OK;
|
||||
}
|
||||
+#endif // __GLIBC__
|
||||
|
||||
struct SegmentKind {
|
||||
DWORD mState;
|
||||
|
|
|
@ -8,12 +8,12 @@ to predict the runtime page size.
|
|||
|
||||
--- memory/build/mozjemalloc.cpp
|
||||
+++ memory/build/mozjemalloc.cpp
|
||||
@@ -369,7 +369,7 @@
|
||||
@@ -182,7 +182,7 @@
|
||||
// Debug builds are opted out too, for test coverage.
|
||||
#ifndef MOZ_DEBUG
|
||||
#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && \
|
||||
- !defined(__aarch64__)
|
||||
+ !defined(__aarch64__) && !defined(__powerpc__) && !defined(__powerpc64__)
|
||||
#define MALLOC_STATIC_PAGESIZE 1
|
||||
#endif
|
||||
# if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && \
|
||||
- !defined(__aarch64__)
|
||||
+ !defined(__aarch64__) && !defined(__powerpc__) && !defined(__powerpc64__)
|
||||
# define MALLOC_STATIC_PAGESIZE 1
|
||||
# endif
|
||||
#endif
|
||||
|
|
|
@ -3,20 +3,20 @@
|
|||
# THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/firefox-i18n".
|
||||
#
|
||||
pkgname=firefox
|
||||
version=65.0.1
|
||||
revision=2
|
||||
version=66.0
|
||||
revision=1
|
||||
build_helper="rust"
|
||||
short_desc="Mozilla Firefox web browser"
|
||||
maintainer="Johannes <johannes.brechtmann@gmail.com>"
|
||||
license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
|
||||
homepage="https://www.mozilla.org/firefox/"
|
||||
distfiles="${MOZILLA_SITE}/${pkgname}/releases/${version}/source/${pkgname}-${version}.source.tar.xz"
|
||||
checksum=67e517f6d1ea8aa5c8f32404b8756f3205c3550917a91a19b0a0edccc656a3cc
|
||||
checksum=c37b253294826b6d14864dc38342edd5b174e76a272a7e5dbaca007eb2cac7b0
|
||||
|
||||
lib32disabled=yes
|
||||
|
||||
hostmakedepends="autoconf213 unzip zip pkg-config perl python3 yasm rust cargo
|
||||
llvm clang nodejs cbindgen python"
|
||||
llvm clang nodejs cbindgen python nasm"
|
||||
makedepends="nss-devel libjpeg-turbo-devel gtk+-devel gtk+3-devel icu-devel
|
||||
pixman-devel sqlite-devel libevent-devel libnotify-devel libvpx5-devel
|
||||
libXrender-devel libXcomposite-devel libSM-devel libXt-devel rust-std
|
||||
|
@ -132,7 +132,8 @@ do_build() {
|
|||
export AS=$CC
|
||||
|
||||
cat <<! >>.mozconfig
|
||||
ac_add_options --with-google-api-keyfile="${wrksrc}/google-api-key"
|
||||
ac_add_options --with-google-location-service-api-keyfile="${wrksrc}/google-api-key"
|
||||
ac_add_options --with-google-safebrowsing-api-keyfile="${wrksrc}/google-api-key"
|
||||
ac_add_options --with-mozilla-api-keyfile="${wrksrc}/mozilla-api-key"
|
||||
ac_add_options $(vopt_enable alsa)
|
||||
ac_add_options $(vopt_enable sndio)
|
||||
|
|
Loading…
Reference in a new issue