mirror of
https://github.com/void-linux/void-packages.git
synced 2025-06-08 16:13:50 +02:00
firefox-esr: update to 68.1.0.
This commit is contained in:
parent
f588d0789e
commit
f8cfd1eedd
22 changed files with 187 additions and 345 deletions
|
@ -1,11 +1,6 @@
|
||||||
ac_add_options --prefix=/usr
|
ac_add_options --prefix=/usr
|
||||||
ac_add_options --libdir=/usr/lib
|
ac_add_options --libdir=/usr/lib
|
||||||
|
|
||||||
ac_add_options --with-pthreads
|
|
||||||
# XXX build without system cairo see:
|
|
||||||
# - https://github.com/voidlinux/void-packages/issues/2308#issuecomment-135426813
|
|
||||||
# - https://bugs.gentoo.org/show_bug.cgi?id=558150
|
|
||||||
# ac_add_options --with-system-cairo
|
|
||||||
ac_add_options --with-system-nspr
|
ac_add_options --with-system-nspr
|
||||||
ac_add_options --with-system-nss
|
ac_add_options --with-system-nss
|
||||||
ac_add_options --with-system-bz2
|
ac_add_options --with-system-bz2
|
||||||
|
@ -39,7 +34,6 @@ ac_add_options --disable-install-strip
|
||||||
ac_add_options --disable-strip
|
ac_add_options --disable-strip
|
||||||
ac_add_options --disable-profiling
|
ac_add_options --disable-profiling
|
||||||
ac_add_options --enable-optimize="$CFLAGS"
|
ac_add_options --enable-optimize="$CFLAGS"
|
||||||
ac_add_options --enable-pie
|
|
||||||
|
|
||||||
ac_add_options --enable-official-branding
|
ac_add_options --enable-official-branding
|
||||||
ac_add_options --enable-application=browser
|
ac_add_options --enable-application=browser
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
Imported from Adélie. Firefox is prone to this warning on BE and
|
||||||
|
it leads to huge .xsession-errors, and the warning is not very
|
||||||
|
important or meaningful, so just disable it.
|
||||||
|
|
||||||
|
--- gfx/2d/HelpersCairo.h
|
||||||
|
+++ gfx/2d/HelpersCairo.h
|
||||||
|
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
11
srcpkgs/firefox-esr/patches/fix-arm-opus-include.patch
Normal file
11
srcpkgs/firefox-esr/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"
|
||||||
|
|
|
@ -9,12 +9,3 @@
|
||||||
((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \
|
((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \
|
||||||
defined(HAVE__UNWIND_BACKTRACE)))
|
defined(HAVE__UNWIND_BACKTRACE)))
|
||||||
#define MOZ_STACKWALK_SUPPORTS_LINUX 1
|
#define MOZ_STACKWALK_SUPPORTS_LINUX 1
|
||||||
@@ -911,7 +911,7 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
// {x86, ppc} x {Linux, Mac} stackwalking code.
|
|
||||||
-#if ((defined(__i386) || defined(PPC) || defined(__ppc__)) && \
|
|
||||||
+#if defined(__GLIBC__) && ((defined(__i386) || defined(PPC) || defined(__ppc__)) && \
|
|
||||||
(MOZ_STACKWALK_SUPPORTS_MACOSX || MOZ_STACKWALK_SUPPORTS_LINUX))
|
|
||||||
|
|
||||||
MFBT_API bool
|
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
--- tools/profiler/core/platform.h.orig
|
|
||||||
+++ tools/profiler/core/platform.h
|
|
||||||
@@ -56,7 +56,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()
|
|
|
@ -47,18 +47,28 @@
|
||||||
#include <a.out.h>
|
#include <a.out.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
--- toolkit.orig/mozapps/update/common/updatedefines.h 2019-01-29 11:34:36.416804577 +0100
|
||||||
|
+++ 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>
|
||||||
--- toolkit.orig/mozapps/update/updater/updater.cpp 2014-03-15 05:19:37.000000000 +0000
|
--- 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
|
+++ toolkit/mozapps/update/updater/updater.cpp 2014-04-17 10:24:33.796765327 +0000
|
||||||
@@ -3432,6 +3432,7 @@
|
@@ -3978,6 +3978,7 @@
|
||||||
int add_dir_entries(const NS_tchar *dirpath, ActionList *list)
|
|
||||||
{
|
int add_dir_entries(const NS_tchar* dirpath, ActionList* list) {
|
||||||
int rv = OK;
|
int rv = OK;
|
||||||
+#if !defined(__linux__) || defined(__GLIBC__)
|
+#if !defined(__linux__) || defined(__GLIBC__)
|
||||||
FTS *ftsdir;
|
FTS* ftsdir;
|
||||||
FTSENT *ftsdirEntry;
|
FTSENT* ftsdirEntry;
|
||||||
NS_tchar searchpath[MAXPATHLEN];
|
mozilla::UniquePtr<NS_tchar[]> searchpath(get_full_path(dirpath));
|
||||||
@@ -3534,6 +3535,7 @@
|
@@ -4085,6 +4086,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
fts_close(ftsdir);
|
fts_close(ftsdir);
|
||||||
|
@ -66,14 +76,3 @@
|
||||||
|
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
--- toolkit/mozapps/update/common/updatedefines.h 2019-01-24 18:31:42.000000000 +0100
|
|
||||||
+++ - 2019-01-31 11:15:53.946747750 +0100
|
|
||||||
@@ -100,7 +100,7 @@
|
|
||||||
|
|
||||||
#ifdef SOLARIS
|
|
||||||
#include <sys/stat.h>
|
|
||||||
-#else
|
|
||||||
+#elif !defined(__linux__) || defined(__GLIBC__)
|
|
||||||
#include <fts.h>
|
|
||||||
#endif
|
|
||||||
#include <dirent.h>
|
|
||||||
|
|
|
@ -1,33 +1,24 @@
|
||||||
--- tools/profiler/core/platform.h
|
--- tools/profiler/lul/LulElf.cpp.orig 2019-01-29 12:05:34.223834130 +0100
|
||||||
+++ tools/profiler/core/platform.h
|
+++ tools/profiler/lul/LulElf.cpp 2019-01-29 12:08:02.480400845 +0100
|
||||||
@@ -29,6 +29,8 @@
|
@@ -469,10 +469,10 @@
|
||||||
#ifndef TOOLS_PLATFORM_H_
|
// Return the non-directory portion of FILENAME: the portion after the
|
||||||
#define TOOLS_PLATFORM_H_
|
|
||||||
|
|
||||||
+#include <sys/types.h>
|
|
||||||
+
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <math.h>
|
|
||||||
#include "MainThreadUtils.h"
|
|
||||||
--- tools/profiler/lul/LulElf.cpp 2019-01-24 18:31:42.000000000 +0100
|
|
||||||
+++ - 2019-01-31 11:19:53.198257189 +0100
|
|
||||||
@@ -460,9 +460,9 @@
|
|
||||||
// last slash, or the whole filename if there are no slashes.
|
// last slash, or the whole filename if there are no slashes.
|
||||||
string BaseFileName(const string& filename) {
|
string BaseFileName(const string& filename) {
|
||||||
// Lots of copies! basename's behavior is less than ideal.
|
- // Lots of copies! basename's behavior is less than ideal.
|
||||||
- char* c_filename = strdup(filename.c_str());
|
- char* c_filename = strdup(filename.c_str());
|
||||||
- string base = basename(c_filename);
|
- string base = basename(c_filename);
|
||||||
- free(c_filename);
|
- free(c_filename);
|
||||||
+ const char* c_filename = filename.c_str();
|
+ // basename's behavior is less than ideal so avoid it
|
||||||
|
+ const char *c_filename = filename.c_str();
|
||||||
+ const char *p = strrchr(c_filename, '/');
|
+ const char *p = strrchr(c_filename, '/');
|
||||||
+ string base = p ? p+1 : c_filename;
|
+ string base = p ? p+1 : c_filename;
|
||||||
return base;
|
return base;
|
||||||
}
|
}
|
||||||
|
|
||||||
--- tools/profiler/core/platform-linux-android.cpp 2019-01-24 18:31:43.000000000 +0100
|
--- tools/profiler/core/platform-linux-android.cpp.orig 2019-01-29 12:09:40.980448579 +0100
|
||||||
+++ - 2019-01-31 11:23:07.911772317 +0100
|
+++ tools/profiler/core/platform-linux-android.cpp 2019-01-29 12:11:09.689590967 +0100
|
||||||
@@ -253,7 +253,11 @@
|
@@ -253,7 +253,11 @@
|
||||||
|
|
||||||
// Request profiling signals.
|
// Request profiling signals.
|
||||||
struct sigaction sa;
|
struct sigaction sa;
|
||||||
+#if defined(GP_ARCH_arm)
|
+#if defined(GP_ARCH_arm)
|
||||||
|
@ -38,7 +29,7 @@
|
||||||
sigemptyset(&sa.sa_mask);
|
sigemptyset(&sa.sa_mask);
|
||||||
sa.sa_flags = SA_RESTART | SA_SIGINFO;
|
sa.sa_flags = SA_RESTART | SA_SIGINFO;
|
||||||
if (sigaction(SIGPROF, &sa, &mOldSigprofHandler) != 0) {
|
if (sigaction(SIGPROF, &sa, &mOldSigprofHandler) != 0) {
|
||||||
@@ -497,8 +497,10 @@
|
@@ -497,8 +501,10 @@
|
||||||
ucontext_t sSyncUContext;
|
ucontext_t sSyncUContext;
|
||||||
|
|
||||||
void Registers::SyncPopulate() {
|
void Registers::SyncPopulate() {
|
||||||
|
|
15
srcpkgs/firefox-esr/patches/fix-wasm-arm.patch
Normal file
15
srcpkgs/firefox-esr/patches/fix-wasm-arm.patch
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
--- js/src/wasm/WasmSignalHandlers.cpp
|
||||||
|
+++ js/src/wasm/WasmSignalHandlers.cpp
|
||||||
|
@@ -243,9 +243,9 @@
|
||||||
|
// 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
|
||||||
|
+// #if defined(__linux__) && defined(__arm__)
|
||||||
|
+// # define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
|
||||||
|
+// #endif
|
||||||
|
|
||||||
|
#ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
|
||||||
|
# include <sys/user.h>
|
|
@ -1,11 +0,0 @@
|
||||||
--- media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features.cc 2019-01-24 18:31:10.000000000 +0100
|
|
||||||
+++ - 2019-02-01 00:13:35.690776711 +0100
|
|
||||||
@@ -67,7 +67,7 @@
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
-#if !defined(ANDROID)
|
|
||||||
+#if !defined(ANDROID) && !defined(__linux__)
|
|
||||||
#ifdef WEBRTC_ARCH_ARM_V7
|
|
||||||
uint64_t WebRtc_GetCPUFeaturesARM(void) {
|
|
||||||
return kCPUFeatureARMv7
|
|
|
@ -1,18 +1,15 @@
|
||||||
--- media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c 2019-02-01 00:49:18.472382771 +0100
|
--- media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c.orig 2019-01-29 11:20:52.298793223 +0100
|
||||||
+++ - 2019-02-01 00:50:25.928007236 +0100
|
+++ media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c 2019-01-29 11:21:48.250250850 +0100
|
||||||
@@ -11,7 +11,10 @@
|
@@ -14,7 +14,7 @@
|
||||||
#include <stdlib.h>
|
#ifndef __GLIBC_PREREQ
|
||||||
#include <string.h>
|
#define __GLIBC_PREREQ(a, b) 0
|
||||||
#include <features.h>
|
#endif
|
||||||
-#if __GLIBC_PREREQ(2, 16)
|
-#if __GLIBC_PREREQ(2, 16)
|
||||||
+#ifndef __GLIBC_PREREQ
|
|
||||||
+#define __GLIBC_PREREQ(a, b) 0
|
|
||||||
+#endif
|
|
||||||
+#if !__GLIBC__ || __GLIBC_PREREQ(2, 16)
|
+#if !__GLIBC__ || __GLIBC_PREREQ(2, 16)
|
||||||
#include <sys/auxv.h>
|
#include <sys/auxv.h>
|
||||||
#else
|
#else
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
@@ -29,7 +32,7 @@
|
@@ -32,7 +32,7 @@
|
||||||
int architecture = 0;
|
int architecture = 0;
|
||||||
unsigned long hwcap = 0;
|
unsigned long hwcap = 0;
|
||||||
const char* platform = NULL;
|
const char* platform = NULL;
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
--- xpcom/base/nsMemoryReporterManager.cpp.orig 2015-12-16 11:53:14.211144456 +0100
|
|
||||||
+++ xpcom/base/nsMemoryReporterManager.cpp 2015-12-16 11:55:26.859476381 +0100
|
|
||||||
@@ -46,7 +46,7 @@ using namespace mozilla;
|
|
||||||
# include "mozmemory.h"
|
|
||||||
#endif // MOZ_MEMORY
|
|
||||||
|
|
||||||
-#if defined(XP_LINUX)
|
|
||||||
+#if defined(XP_LINUX) && defined(__GLIBC__)
|
|
||||||
|
|
||||||
#include <malloc.h>
|
|
||||||
#include <string.h>
|
|
11
srcpkgs/firefox-esr/patches/gettid-musl.patch
Normal file
11
srcpkgs/firefox-esr/patches/gettid-musl.patch
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- tools/profiler/core/platform-linux-android.cpp.orig 2019-07-09 22:58:30.039475686 +0200
|
||||||
|
+++ tools/profiler/core/platform-linux-android.cpp 2019-07-09 22:58:39.331437677 +0200
|
||||||
|
@@ -73,7 +73,7 @@
|
||||||
|
|
||||||
|
int profiler_current_thread_id() {
|
||||||
|
// glibc doesn't provide a wrapper for gettid().
|
||||||
|
-#if defined(__GLIBC__)
|
||||||
|
+#if defined(__linux__)
|
||||||
|
return static_cast<int>(static_cast<pid_t>(syscall(SYS_gettid)));
|
||||||
|
#else
|
||||||
|
return static_cast<int>(gettid());
|
|
@ -1,18 +1,34 @@
|
||||||
--- xpcom/base/nsMemoryReporterManager.cpp
|
--- xpcom/base/nsMemoryReporterManager.cpp.orig 2019-03-19 17:12:20.844810044 +0100
|
||||||
+++ xpcom/base/nsMemoryReporterManager.cpp
|
+++ xpcom/base/nsMemoryReporterManager.cpp 2019-03-19 17:13:32.505133615 +0100
|
||||||
@@ -153,6 +153,7 @@ ResidentUniqueDistinguishedAmount(int64_t* aN)
|
@@ -123,6 +123,7 @@
|
||||||
return GetProcSelfSmapsPrivate(aN);
|
return GetProcSelfSmapsPrivate(aN);
|
||||||
}
|
}
|
||||||
|
|
||||||
+#ifdef __GLIBC__
|
+#ifdef __GLIBC__
|
||||||
#define HAVE_SYSTEM_HEAP_REPORTER 1
|
# ifdef HAVE_MALLINFO
|
||||||
nsresult
|
# define HAVE_SYSTEM_HEAP_REPORTER 1
|
||||||
SystemHeapSize(int64_t* aSizeOut)
|
static MOZ_MUST_USE nsresult SystemHeapSize(int64_t* aSizeOut) {
|
||||||
@@ -172,6 +173,7 @@ SystemHeapSize(int64_t* aSizeOut)
|
@@ -142,6 +143,7 @@
|
||||||
*aSizeOut = size_t(info.hblkhd) + size_t(info.uordblks);
|
return NS_OK;
|
||||||
return NS_OK;
|
|
||||||
}
|
}
|
||||||
+#endif
|
# endif
|
||||||
|
+#endif // __GLIBC__
|
||||||
|
|
||||||
#elif defined(__DragonFly__) || defined(__FreeBSD__) \
|
#elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
|
||||||
|| defined(__NetBSD__) || defined(__OpenBSD__) \
|
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;
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
# HG changeset patch
|
|
||||||
# Parent b735e618c2a860972197942f6680c941e3c9a67f
|
|
||||||
# User Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
|
|
||||||
Bug 997353 - Do not use compile-time page size for PowerPC.
|
|
||||||
|
|
||||||
The PowerPC architecture allows various memory page sizes, making it impossible
|
|
||||||
to predict the runtime page size.
|
|
||||||
|
|
||||||
--- memory/build/mozjemalloc.cpp
|
|
||||||
+++ memory/build/mozjemalloc.cpp
|
|
||||||
@@ -369,7 +369,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
|
|
||||||
#endif
|
|
|
@ -1,8 +1,19 @@
|
||||||
Mozilla rustc check does not support crossbuild: let's remove it
|
Mozilla rustc check does not support crossbuild: let's remove it
|
||||||
|
Remove calls to unwrap_rustup, they fail if rustup isn't present
|
||||||
|
|
||||||
--- build/moz.configure/rust.configure 2018-10-01 16:28:31.000000000 +0200
|
--- build/moz.configure/rust.configure 2019-07-06 03:48:30.000000000 +0200
|
||||||
+++ build/moz.configure/rust.configure 2018-10-20 14:21:35.510000000 +0200
|
+++ build/moz.configure/rust.configure 2019-07-09 22:35:23.326851798 +0200
|
||||||
@@ -204,26 +204,6 @@
|
@@ -79,9 +79,6 @@
|
||||||
|
|
||||||
|
return unwrap
|
||||||
|
|
||||||
|
-rustc = unwrap_rustup(rustc, 'rustc')
|
||||||
|
-cargo = unwrap_rustup(cargo, 'cargo')
|
||||||
|
-
|
||||||
|
|
||||||
|
set_config('CARGO', cargo)
|
||||||
|
set_config('RUSTC', rustc)
|
||||||
|
@@ -294,26 +291,6 @@
|
||||||
|
|
||||||
os.write(in_fd, source)
|
os.write(in_fd, source)
|
||||||
os.close(in_fd)
|
os.close(in_fd)
|
||||||
|
@ -29,4 +40,3 @@ Mozilla rustc check does not support crossbuild: let's remove it
|
||||||
finally:
|
finally:
|
||||||
os.remove(in_path)
|
os.remove(in_path)
|
||||||
os.remove(out_path)
|
os.remove(out_path)
|
||||||
|
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
--- ./media/audioipc/audioipc/src/cmsg.rs.orig 2018-05-09 22:19:14.748631939 +0200
|
|
||||||
+++ ./media/audioipc/audioipc/src/cmsg.rs 2018-05-09 22:19:22.961620862 +0200
|
|
||||||
@@ -106,11 +106,11 @@ impl ControlMsgBuilder {
|
|
||||||
return Err(Error::NoSpace);
|
|
||||||
}
|
|
||||||
|
|
||||||
- let cmsghdr = cmsghdr {
|
|
||||||
- cmsg_len: cmsg_len as _,
|
|
||||||
- cmsg_level: level,
|
|
||||||
- cmsg_type: kind,
|
|
||||||
- };
|
|
||||||
+ use std::mem;
|
|
||||||
+ let mut cmsghdr: cmsghdr = unsafe { mem::zeroed() };
|
|
||||||
+ cmsghdr.cmsg_len = cmsg_len as _;
|
|
||||||
+ cmsghdr.cmsg_level = level;
|
|
||||||
+ cmsghdr.cmsg_type = kind;
|
|
||||||
|
|
||||||
let cmsghdr = unsafe {
|
|
||||||
slice::from_raw_parts(&cmsghdr as *const _ as *const _, mem::size_of::<cmsghdr>())
|
|
|
@ -1,24 +0,0 @@
|
||||||
This fixes build errors under recent Rust.
|
|
||||||
|
|
||||||
--- servo/components/style_traits/lib.rs
|
|
||||||
+++ servo/components/style_traits/lib.rs
|
|
||||||
@@ -9,7 +9,7 @@
|
|
||||||
#![crate_name = "style_traits"]
|
|
||||||
#![crate_type = "rlib"]
|
|
||||||
|
|
||||||
-#![deny(unsafe_code, missing_docs)]
|
|
||||||
+#![deny(unsafe_code)]
|
|
||||||
|
|
||||||
extern crate app_units;
|
|
||||||
#[macro_use] extern crate bitflags;
|
|
||||||
--- servo/components/style/lib.rs
|
|
||||||
+++ servo/components/style/lib.rs
|
|
||||||
@@ -23,8 +23,6 @@
|
|
||||||
//! [cssparser]: ../cssparser/index.html
|
|
||||||
//! [selectors]: ../selectors/index.html
|
|
||||||
|
|
||||||
-#![deny(missing_docs)]
|
|
||||||
-
|
|
||||||
extern crate app_units;
|
|
||||||
extern crate arrayvec;
|
|
||||||
extern crate atomic_refcell;
|
|
|
@ -1,64 +0,0 @@
|
||||||
# HG changeset patch
|
|
||||||
# User Lars T Hansen <lhansen@mozilla.com>
|
|
||||||
# Date 1519822672 -3600
|
|
||||||
# Node ID 800abe66894d6b07b24bccecbf6a65e2261076f6
|
|
||||||
# Parent 223c97459e96183eb616aed39147207bdb953ba8
|
|
||||||
Bug 1375074 - Save and restore non-volatile x28 on ARM64 for generated unboxed object constructor. r=sstangl
|
|
||||||
|
|
||||||
Origin: upstream
|
|
||||||
Applied-upstream: 61, commit: https://hg.mozilla.org/mozilla-central/rev/800abe66894d
|
|
||||||
---
|
|
||||||
js/src/vm/UnboxedObject.cpp | 30 ++++++++++++++++++++++++++----
|
|
||||||
1 file changed, 26 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/js/src/vm/UnboxedObject.cpp b/js/src/vm/UnboxedObject.cpp
|
|
||||||
index 35ca20d7405f..1c20a1093d13 100644
|
|
||||||
--- js/src/vm/UnboxedObject.cpp
|
|
||||||
+++ js/src/vm/UnboxedObject.cpp
|
|
||||||
@@ -86,9 +86,16 @@ static const uintptr_t CLEAR_CONSTRUCTOR_CODE_TOKEN = 0x1;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef JS_CODEGEN_ARM64
|
|
||||||
- // ARM64 communicates stack address via sp, but uses a pseudo-sp for
|
|
||||||
- // addressing.
|
|
||||||
- masm.initStackPtr();
|
|
||||||
+ // ARM64 communicates stack address via sp, but uses a pseudo-sp (PSP) for
|
|
||||||
+ // addressing. The register we use for PSP may however also be used by
|
|
||||||
+ // calling code, and it is nonvolatile, so save it. Do this as a special
|
|
||||||
+ // case first because the generic save/restore code needs the PSP to be
|
|
||||||
+ // initialized already.
|
|
||||||
+ MOZ_ASSERT(PseudoStackPointer64.Is(masm.GetStackPointer64()));
|
|
||||||
+ masm.Str(PseudoStackPointer64, vixl::MemOperand(sp, -16, vixl::PreIndex));
|
|
||||||
+
|
|
||||||
+ // Initialize the PSP from the SP.
|
|
||||||
+ masm.initStackPtr();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
MOZ_ASSERT(propertiesReg.volatile_());
|
|
||||||
@@ -239,7 +246,22 @@ static const uintptr_t CLEAR_CONSTRUCTOR_CODE_TOKEN = 0x1;
|
|
||||||
if (ScratchDoubleReg.volatile_()) masm.pop(ScratchDoubleReg);
|
|
||||||
masm.PopRegsInMask(savedNonVolatileRegisters);
|
|
||||||
|
|
||||||
- masm.abiret();
|
|
||||||
+#ifdef JS_CODEGEN_ARM64
|
|
||||||
+ // Now restore the value that was in the PSP register on entry, and return.
|
|
||||||
+
|
|
||||||
+ // Obtain the correct SP from the PSP.
|
|
||||||
+ masm.Mov(sp, PseudoStackPointer64);
|
|
||||||
+
|
|
||||||
+ // Restore the saved value of the PSP register, this value is whatever the
|
|
||||||
+ // caller had saved in it, not any actual SP value, and it must not be
|
|
||||||
+ // overwritten subsequently.
|
|
||||||
+ masm.Ldr(PseudoStackPointer64, vixl::MemOperand(sp, 16, vixl::PostIndex));
|
|
||||||
+
|
|
||||||
+ // Perform a plain Ret(), as abiret() will move SP <- PSP and that is wrong.
|
|
||||||
+ masm.Ret(vixl::lr);
|
|
||||||
+#else
|
|
||||||
+ masm.abiret();
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
masm.bind(&failureStoreOther);
|
|
||||||
|
|
||||||
--
|
|
||||||
2.21.0
|
|
||||||
|
|
|
@ -1,97 +0,0 @@
|
||||||
# HG changeset patch
|
|
||||||
# User Lars T Hansen <lhansen@mozilla.com>
|
|
||||||
# Date 1521449886 -3600
|
|
||||||
# Node ID 903a79a1efff18fc7cc50db09a3fe5d768adc9a8
|
|
||||||
# Parent 4d2955a9ca7e30ca4c3af9c214ccc77fb2fe7fb8
|
|
||||||
Bug 1445907 - Save x28 before clobbering it in the regex compiler. r=sstangl
|
|
||||||
|
|
||||||
Origin: upstream
|
|
||||||
Applied-upstream: 61, commit: https://hg.mozilla.org/mozilla-central/rev/903a79a1efff
|
|
||||||
---
|
|
||||||
diff --git a/js/src/irregexp/NativeRegExpMacroAssembler.cpp b/js/src/irregexp/NativeRegExpMacroAssembler.cpp
|
|
||||||
--- js/src/irregexp/NativeRegExpMacroAssembler.cpp
|
|
||||||
+++ js/src/irregexp/NativeRegExpMacroAssembler.cpp
|
|
||||||
@@ -118,17 +118,25 @@ NativeRegExpMacroAssembler::GenerateCode
|
|
||||||
|
|
||||||
Label return_temp0;
|
|
||||||
|
|
||||||
// Finalize code - write the entry point code now we know how many
|
|
||||||
// registers we need.
|
|
||||||
masm.bind(&entry_label_);
|
|
||||||
|
|
||||||
#ifdef JS_CODEGEN_ARM64
|
|
||||||
- // ARM64 communicates stack address via sp, but uses a pseudo-sp for addressing.
|
|
||||||
+ // ARM64 communicates stack address via SP, but uses a pseudo-sp (PSP) for
|
|
||||||
+ // addressing. The register we use for PSP may however also be used by
|
|
||||||
+ // calling code, and it is nonvolatile, so save it. Do this as a special
|
|
||||||
+ // case first because the generic save/restore code needs the PSP to be
|
|
||||||
+ // initialized already.
|
|
||||||
+ MOZ_ASSERT(PseudoStackPointer64.Is(masm.GetStackPointer64()));
|
|
||||||
+ masm.Str(PseudoStackPointer64, vixl::MemOperand(sp, -16, vixl::PreIndex));
|
|
||||||
+
|
|
||||||
+ // Initialize the PSP from the SP.
|
|
||||||
masm.initStackPtr();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Push non-volatile registers which might be modified by jitcode.
|
|
||||||
size_t pushedNonVolatileRegisters = 0;
|
|
||||||
for (GeneralRegisterForwardIterator iter(savedNonVolatileRegisters); iter.more(); ++iter) {
|
|
||||||
masm.Push(*iter);
|
|
||||||
pushedNonVolatileRegisters++;
|
|
||||||
@@ -416,17 +424,32 @@ NativeRegExpMacroAssembler::GenerateCode
|
|
||||||
masm.pop(temp0);
|
|
||||||
masm.movePtr(temp0, StackPointer);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Restore non-volatile registers which were saved on entry.
|
|
||||||
for (GeneralRegisterBackwardIterator iter(savedNonVolatileRegisters); iter.more(); ++iter)
|
|
||||||
masm.Pop(*iter);
|
|
||||||
|
|
||||||
+#ifdef JS_CODEGEN_ARM64
|
|
||||||
+ // Now restore the value that was in the PSP register on entry, and return.
|
|
||||||
+
|
|
||||||
+ // Obtain the correct SP from the PSP.
|
|
||||||
+ masm.Mov(sp, PseudoStackPointer64);
|
|
||||||
+
|
|
||||||
+ // Restore the saved value of the PSP register, this value is whatever the
|
|
||||||
+ // caller had saved in it, not any actual SP value, and it must not be
|
|
||||||
+ // overwritten subsequently.
|
|
||||||
+ masm.Ldr(PseudoStackPointer64, vixl::MemOperand(sp, 16, vixl::PostIndex));
|
|
||||||
+
|
|
||||||
+ // Perform a plain Ret(), as abiret() will move SP <- PSP and that is wrong.
|
|
||||||
+ masm.Ret(vixl::lr);
|
|
||||||
+#else
|
|
||||||
masm.abiret();
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
// Backtrack code (branch target for conditional backtracks).
|
|
||||||
if (backtrack_label_.used()) {
|
|
||||||
masm.bind(&backtrack_label_);
|
|
||||||
Backtrack();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Backtrack stack overflow code.
|
|
||||||
diff --git a/js/src/jit-test/tests/regexp/bug1445907.js b/js/src/jit-test/tests/regexp/bug1445907.js
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ js/src/jit-test/tests/regexp/bug1445907.js
|
|
||||||
@@ -0,0 +1,15 @@
|
|
||||||
+// On ARM64, we failed to save x28 properly when generating code for the regexp
|
|
||||||
+// matcher.
|
|
||||||
+//
|
|
||||||
+// There's wasm and Debugger code here because the combination forces the use of
|
|
||||||
+// x28 and exposes the bug when running on the simulator.
|
|
||||||
+
|
|
||||||
+if (!wasmIsSupported())
|
|
||||||
+ quit();
|
|
||||||
+
|
|
||||||
+var g = newGlobal('');
|
|
||||||
+var dbg = new Debugger(g);
|
|
||||||
+g.eval(`var m = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary('(module (func (export "test")))')))`);
|
|
||||||
+var re = /./;
|
|
||||||
+dbg.onEnterFrame = function(frame) { re.exec("x") };
|
|
||||||
+result = g.eval("m.exports.test()");
|
|
||||||
|
|
||||||
--
|
|
||||||
2.21.0
|
|
||||||
|
|
|
@ -51,14 +51,14 @@
|
||||||
]
|
]
|
||||||
--- build/moz.configure/old.configure.orig
|
--- build/moz.configure/old.configure.orig
|
||||||
+++ build/moz.configure/old.configure
|
+++ build/moz.configure/old.configure
|
||||||
@@ -159,6 +159,7 @@
|
@@ -169,6 +169,7 @@
|
||||||
'--enable-accessibility',
|
@old_configure_options(
|
||||||
'--enable-address-sanitizer',
|
'--cache-file',
|
||||||
'--enable-alsa',
|
'--datadir',
|
||||||
+ '--enable-sndio',
|
+ '--enable-sndio',
|
||||||
'--enable-bundled-fonts',
|
|
||||||
'--enable-clang-plugin',
|
|
||||||
'--enable-content-sandbox',
|
'--enable-content-sandbox',
|
||||||
|
'--enable-cookies',
|
||||||
|
'--enable-cpp-rtti',
|
||||||
--- security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp.orig
|
--- security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp.orig
|
||||||
+++ security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
|
+++ security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
|
||||||
@@ -349,6 +349,21 @@
|
@@ -349,6 +349,21 @@
|
||||||
|
|
48
srcpkgs/firefox-esr/patches/yuv-be.patch
Normal file
48
srcpkgs/firefox-esr/patches/yuv-be.patch
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
# HG changeset patch
|
||||||
|
# User A. Wilcox <AWilcox@Wilcox-Tech.com>
|
||||||
|
# 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
|
||||||
|
--- gfx/ycbcr/YCbCrUtils.cpp Wed Nov 07 04:50:21 2018 +0000
|
||||||
|
+++ 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
|
|
@ -3,8 +3,8 @@
|
||||||
# THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/firefox-esr-i18n".
|
# THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/firefox-esr-i18n".
|
||||||
#
|
#
|
||||||
pkgname=firefox-esr
|
pkgname=firefox-esr
|
||||||
version=60.8.0
|
version=68.1.0
|
||||||
revision=2
|
revision=1
|
||||||
build_helper="rust"
|
build_helper="rust"
|
||||||
wrksrc="firefox-${version}"
|
wrksrc="firefox-${version}"
|
||||||
short_desc="Mozilla Firefox web browser - Extended Support Release (ESR)"
|
short_desc="Mozilla Firefox web browser - Extended Support Release (ESR)"
|
||||||
|
@ -12,11 +12,11 @@ maintainer="Eivind Uggedal <eivind@uggedal.com>"
|
||||||
license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
|
license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
|
||||||
homepage="https://www.mozilla.org/firefox/organizations/"
|
homepage="https://www.mozilla.org/firefox/organizations/"
|
||||||
distfiles="${MOZILLA_SITE}/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz"
|
distfiles="${MOZILLA_SITE}/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz"
|
||||||
checksum=c13387d944e635aebd5f1d2ce9ab77cb706a74043a240cbb7b70654519487fbe
|
checksum=f56f5fa5a4744be0b9acf259cb991254d708a50b9a0a12d1d846ffa5a6c409ac
|
||||||
|
|
||||||
lib32disabled=yes
|
lib32disabled=yes
|
||||||
hostmakedepends="autoconf213 unzip zip pkg-config perl python yasm
|
hostmakedepends="autoconf213 unzip zip pkg-config perl python yasm
|
||||||
cargo llvm clang rust cbindgen"
|
python3 cargo llvm clang rust cbindgen nasm nodejs"
|
||||||
makedepends="nss-devel libjpeg-turbo-devel gtk+-devel gtk+3-devel icu-devel
|
makedepends="nss-devel libjpeg-turbo-devel gtk+-devel gtk+3-devel icu-devel
|
||||||
pixman-devel sqlite-devel libevent-devel libnotify-devel libvpx5-devel
|
pixman-devel sqlite-devel libevent-devel libnotify-devel libvpx5-devel
|
||||||
libXrender-devel libXcomposite-devel libSM-devel libXt-devel rust-std
|
libXrender-devel libXcomposite-devel libSM-devel libXt-devel rust-std
|
||||||
|
|
Loading…
Add table
Reference in a new issue