firefox: update to 73.0
[ci skip]
This commit is contained in:
parent
4dafc46a93
commit
3b22908ebe
5 changed files with 71 additions and 194 deletions
|
@ -1,83 +0,0 @@
|
|||
|
||||
# HG changeset patch
|
||||
# User Simon Giesecke <sgiesecke@mozilla.com>
|
||||
# Date 1576592608 0
|
||||
# Node ID 8e71fa07fe004c2e4d04db6b9e77cdfbc7810d6a
|
||||
# Parent 23dbcfafb3b73d6c1c26c5021199b6fa608150c4
|
||||
Bug 1601707 - Workaround for compilers that do not extend the lifetime of temporaries resulting from ?: expressions. r=janv, a=RyanVM
|
||||
|
||||
Differential Revision: https://phabricator.services.mozilla.com/D56873
|
||||
|
||||
diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp
|
||||
--- dom/indexedDB/ActorsParent.cpp
|
||||
+++ dom/indexedDB/ActorsParent.cpp
|
||||
@@ -24578,19 +24578,19 @@ nsresult ObjectStoreAddOrPutRequestOp::D
|
||||
}
|
||||
}
|
||||
|
||||
// The "|| keyUnset" here is mostly a debugging tool. If a key isn't
|
||||
// specified we should never have a collision and so it shouldn't matter
|
||||
// if we allow overwrite or not. By not allowing overwrite we raise
|
||||
// detectable errors rather than corrupting data.
|
||||
DatabaseConnection::CachedStatement stmt;
|
||||
- const auto& optReplaceDirective = (!mOverwrite || keyUnset)
|
||||
- ? NS_LITERAL_CSTRING("")
|
||||
- : NS_LITERAL_CSTRING("OR REPLACE ");
|
||||
+ const auto optReplaceDirective = (!mOverwrite || keyUnset)
|
||||
+ ? NS_LITERAL_CSTRING("")
|
||||
+ : NS_LITERAL_CSTRING("OR REPLACE ");
|
||||
rv = aConnection->GetCachedStatement(
|
||||
NS_LITERAL_CSTRING("INSERT ") + optReplaceDirective +
|
||||
NS_LITERAL_CSTRING("INTO object_data "
|
||||
"(object_store_id, key, file_ids, data) "
|
||||
"VALUES (:") +
|
||||
kStmtParamNameObjectStoreId + NS_LITERAL_CSTRING(", :") +
|
||||
kStmtParamNameKey + NS_LITERAL_CSTRING(", :") +
|
||||
kStmtParamNameFileIds + NS_LITERAL_CSTRING(", :") +
|
||||
@@ -26422,19 +26422,19 @@ nsresult Cursor::OpenOp::DoIndexDatabase
|
||||
MOZ_ASSERT(mCursor->mType == OpenCursorParams::TIndexOpenCursorParams);
|
||||
MOZ_ASSERT(mCursor->mObjectStoreId);
|
||||
MOZ_ASSERT(mCursor->mIndexId);
|
||||
|
||||
AUTO_PROFILER_LABEL("Cursor::OpenOp::DoIndexDatabaseWork", DOM);
|
||||
|
||||
const bool usingKeyRange = mOptionalKeyRange.isSome();
|
||||
|
||||
- const auto& indexTable = mCursor->mUniqueIndex
|
||||
- ? NS_LITERAL_CSTRING("unique_index_data")
|
||||
- : NS_LITERAL_CSTRING("index_data");
|
||||
+ const auto indexTable = mCursor->mUniqueIndex
|
||||
+ ? NS_LITERAL_CSTRING("unique_index_data")
|
||||
+ : NS_LITERAL_CSTRING("index_data");
|
||||
|
||||
// The result of MakeColumnPairSelectionList is stored in a local variable,
|
||||
// since inlining it into the next statement causes a crash on some Mac OS X
|
||||
// builds (see https://bugzilla.mozilla.org/show_bug.cgi?id=1168606#c110).
|
||||
const auto columnPairSelectionList = MakeColumnPairSelectionList(
|
||||
NS_LITERAL_CSTRING("index_table.value"),
|
||||
NS_LITERAL_CSTRING("index_table.value_locale"), kColumnNameAliasSortKey,
|
||||
mCursor->IsLocaleAware());
|
||||
@@ -26528,19 +26528,19 @@ nsresult Cursor::OpenOp::DoIndexKeyDatab
|
||||
MOZ_ASSERT(mCursor->mType == OpenCursorParams::TIndexOpenKeyCursorParams);
|
||||
MOZ_ASSERT(mCursor->mObjectStoreId);
|
||||
MOZ_ASSERT(mCursor->mIndexId);
|
||||
|
||||
AUTO_PROFILER_LABEL("Cursor::OpenOp::DoIndexKeyDatabaseWork", DOM);
|
||||
|
||||
const bool usingKeyRange = mOptionalKeyRange.isSome();
|
||||
|
||||
- const auto& table = mCursor->mUniqueIndex
|
||||
- ? NS_LITERAL_CSTRING("unique_index_data")
|
||||
- : NS_LITERAL_CSTRING("index_data");
|
||||
+ const auto table = mCursor->mUniqueIndex
|
||||
+ ? NS_LITERAL_CSTRING("unique_index_data")
|
||||
+ : NS_LITERAL_CSTRING("index_data");
|
||||
|
||||
// The result of MakeColumnPairSelectionList is stored in a local variable,
|
||||
// since inlining it into the next statement causes a crash on some Mac OS X
|
||||
// builds (see https://bugzilla.mozilla.org/show_bug.cgi?id=1168606#c110).
|
||||
const auto columnPairSelectionList = MakeColumnPairSelectionList(
|
||||
NS_LITERAL_CSTRING("value"), NS_LITERAL_CSTRING("value_locale"),
|
||||
kColumnNameAliasSortKey, mCursor->IsLocaleAware());
|
||||
const nsCString sortColumnAlias = NS_LITERAL_CSTRING("SELECT ") +
|
||||
|
|
@ -1,108 +0,0 @@
|
|||
diff --git a/src/cubeb_sndio.c b/src/cubeb_sndio.c
|
||||
index 4a05bd84..34b3513d 100644
|
||||
--- media/libcubeb/src/cubeb_sndio.c
|
||||
+++ media/libcubeb/src/cubeb_sndio.c
|
||||
@@ -32,6 +32,7 @@
|
||||
X(sio_eof) \
|
||||
X(sio_getpar) \
|
||||
X(sio_initpar) \
|
||||
+ X(sio_nfds) \
|
||||
X(sio_onmove) \
|
||||
X(sio_open) \
|
||||
X(sio_pollfd) \
|
||||
@@ -124,6 +125,23 @@ s16_to_float(void *ptr, long nsamp)
|
||||
*(--dst) = (1. / 32768) * *(--src);
|
||||
}
|
||||
|
||||
+static const char *
|
||||
+sndio_get_device()
|
||||
+{
|
||||
+#ifndef __OpenBSD__
|
||||
+ /*
|
||||
+ * On other platforms default to sndio devices,
|
||||
+ * so cubebs other backends can be used instead.
|
||||
+ */
|
||||
+ const char *dev = getenv("AUDIODEVICE");
|
||||
+ if (dev == NULL || *dev == '\0')
|
||||
+ return "snd/0";
|
||||
+ return dev;
|
||||
+#else
|
||||
+ return SIO_DEVANY;
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
static void
|
||||
sndio_onmove(void *arg, int delta)
|
||||
{
|
||||
@@ -135,18 +153,23 @@ sndio_onmove(void *arg, int delta)
|
||||
static void *
|
||||
sndio_mainloop(void *arg)
|
||||
{
|
||||
-#define MAXFDS 8
|
||||
- struct pollfd pfds[MAXFDS];
|
||||
+ struct pollfd *pfds;
|
||||
cubeb_stream *s = arg;
|
||||
int n, eof = 0, prime, nfds, events, revents, state = CUBEB_STATE_STARTED;
|
||||
size_t pstart = 0, pend = 0, rstart = 0, rend = 0;
|
||||
long nfr;
|
||||
|
||||
+ nfds = WRAP(sio_nfds)(s->hdl);
|
||||
+ pfds = calloc(nfds, sizeof (struct pollfd));
|
||||
+ if (pfds == NULL)
|
||||
+ return NULL;
|
||||
+
|
||||
DPR("sndio_mainloop()\n");
|
||||
s->state_cb(s, s->arg, CUBEB_STATE_STARTED);
|
||||
pthread_mutex_lock(&s->mtx);
|
||||
if (!WRAP(sio_start)(s->hdl)) {
|
||||
pthread_mutex_unlock(&s->mtx);
|
||||
+ free(pfds);
|
||||
return NULL;
|
||||
}
|
||||
DPR("sndio_mainloop(), started\n");
|
||||
@@ -274,6 +297,7 @@ sndio_mainloop(void *arg)
|
||||
s->hwpos = s->swpos;
|
||||
pthread_mutex_unlock(&s->mtx);
|
||||
s->state_cb(s, s->arg, state);
|
||||
+ free(pfds);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -281,6 +305,9 @@ sndio_mainloop(void *arg)
|
||||
sndio_init(cubeb **context, char const *context_name)
|
||||
{
|
||||
void * libsndio = NULL;
|
||||
+ struct sio_hdl *hdl;
|
||||
+
|
||||
+ assert(context);
|
||||
|
||||
#ifndef DISABLE_LIBSNDIO_DLOPEN
|
||||
libsndio = dlopen("libsndio.so.7.0", RTLD_LAZY);
|
||||
@@ -305,8 +332,17 @@ sndio_init(cubeb **context, char const *context_name)
|
||||
#undef LOAD
|
||||
#endif
|
||||
|
||||
+ /* test if sndio works */
|
||||
+ hdl = WRAP(sio_open)(sndio_get_device(), SIO_PLAY, 1);
|
||||
+ if (hdl == NULL) {
|
||||
+ return CUBEB_ERROR;
|
||||
+ }
|
||||
+ WRAP(sio_close)(hdl);
|
||||
+
|
||||
DPR("sndio_init(%s)\n", context_name);
|
||||
- *context = malloc(sizeof(*context));
|
||||
+ *context = malloc(sizeof(**context));
|
||||
+ if (*context == NULL)
|
||||
+ return CUBEB_ERROR;
|
||||
(*context)->libsndio = libsndio;
|
||||
(*context)->ops = &sndio_ops;
|
||||
(void)context_name;
|
||||
@@ -377,7 +413,7 @@ sndio_stream_init(cubeb * context,
|
||||
goto err;
|
||||
}
|
||||
s->context = context;
|
||||
- s->hdl = WRAP(sio_open)(NULL, s->mode, 1);
|
||||
+ s->hdl = WRAP(sio_open)(sndio_get_device(), s->mode, 1);
|
||||
if (s->hdl == NULL) {
|
||||
DPR("sndio_stream_init(), sio_open() failed\n");
|
||||
goto err;
|
46
srcpkgs/firefox/patches/neon.patch
Normal file
46
srcpkgs/firefox/patches/neon.patch
Normal file
|
@ -0,0 +1,46 @@
|
|||
|
||||
# HG changeset patch
|
||||
# User Andrew Osmond <aosmond@mozilla.com>
|
||||
# Date 1579706360 0
|
||||
# Node ID b3d8b08265b800165d684281d19ac845a8ff9a66
|
||||
# Parent 50c371b37a9fcd994a5866db73bd0d078e19f95d
|
||||
Bug 1610814 - Fix NEON compile error with gcc and RGB unpacking. r=lsalzman
|
||||
|
||||
This patch makes us use the correct intrinsic for loading a uint8x16
|
||||
register. It is not entirely clear why clang accepts this without
|
||||
complaint but beyond the types, it should be equivalent.
|
||||
|
||||
Differential Revision: https://phabricator.services.mozilla.com/D60667
|
||||
|
||||
diff --git a/gfx/2d/SwizzleNEON.cpp b/gfx/2d/SwizzleNEON.cpp
|
||||
--- gfx/2d/SwizzleNEON.cpp
|
||||
+++ gfx/2d/SwizzleNEON.cpp
|
||||
@@ -407,25 +407,25 @@ void UnpackRowRGB24_NEON(const uint8_t*
|
||||
}
|
||||
|
||||
uint8x16_t alpha = vreinterpretq_u8_u32(vdupq_n_u32(0xFF000000));
|
||||
|
||||
// Process all 4-pixel chunks as one vector.
|
||||
src -= 4 * 3;
|
||||
dst -= 4 * 4;
|
||||
while (src >= aSrc) {
|
||||
- uint8x16_t px = vld1q_u16(reinterpret_cast<const uint16_t*>(src));
|
||||
+ uint8x16_t px = vld1q_u8(src);
|
||||
// G2R2B1G1 R1B0G0R0 -> X1R1G1B1 X0R0G0B0
|
||||
uint8x8_t pxlo = vtbl1_u8(vget_low_u8(px), masklo);
|
||||
// B3G3R3B2 G2R2B1G1 -> X3R3G3B3 X2R2G2B2
|
||||
uint8x8_t pxhi =
|
||||
vtbl1_u8(vext_u8(vget_low_u8(px), vget_high_u8(px), 4), maskhi);
|
||||
px = vcombine_u8(pxlo, pxhi);
|
||||
px = vorrq_u8(px, alpha);
|
||||
- vst1q_u16(reinterpret_cast<uint16_t*>(dst), px);
|
||||
+ vst1q_u8(dst, px);
|
||||
src -= 4 * 3;
|
||||
dst -= 4 * 4;
|
||||
}
|
||||
}
|
||||
|
||||
// Force instantiation of swizzle variants here.
|
||||
template void UnpackRowRGB24_NEON<false>(const uint8_t*, uint8_t*, int32_t);
|
||||
template void UnpackRowRGB24_NEON<true>(const uint8_t*, uint8_t*, int32_t);
|
||||
|
21
srcpkgs/firefox/patches/rust-has-i128.patch
Normal file
21
srcpkgs/firefox/patches/rust-has-i128.patch
Normal file
|
@ -0,0 +1,21 @@
|
|||
The configure check fails for cross builds.
|
||||
i128 is supported since rust-1.26, so it is safe for us to assume it is always present
|
||||
|
||||
--- third_party/rust/num-traits/build.rs.orig 2020-02-14 23:57:25.985355610 +0100
|
||||
+++ third_party/rust/num-traits/build.rs 2020-02-14 23:58:36.255710188 +0100
|
||||
@@ -1,14 +1,5 @@
|
||||
-extern crate autocfg;
|
||||
-
|
||||
-use std::env;
|
||||
-
|
||||
fn main() {
|
||||
- let ac = autocfg::new();
|
||||
- if ac.probe_type("i128") {
|
||||
- println!("cargo:rustc-cfg=has_i128");
|
||||
- } else if env::var_os("CARGO_FEATURE_I128").is_some() {
|
||||
- panic!("i128 support was not detected!");
|
||||
- }
|
||||
+ println!("cargo:rustc-cfg=has_i128");
|
||||
|
||||
autocfg::rerun_path("build.rs");
|
||||
}
|
|
@ -3,7 +3,7 @@
|
|||
# THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/firefox-i18n".
|
||||
#
|
||||
pkgname=firefox
|
||||
version=72.0.2
|
||||
version=73.0
|
||||
revision=1
|
||||
build_helper="rust"
|
||||
short_desc="Mozilla Firefox web browser"
|
||||
|
@ -11,7 +11,7 @@ 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=77fd224bea885172d757aef587ad443f2171aa84e4297bca55df91a1951be389
|
||||
checksum=b57af802aae32d7f4624ce8b373701236b76904abcb893ded9e0cb5805ba6e17
|
||||
|
||||
lib32disabled=yes
|
||||
|
||||
|
@ -25,7 +25,7 @@ makedepends="nss-devel libjpeg-turbo-devel gtk+-devel gtk+3-devel icu-devel
|
|||
$(vopt_if startup_notification startup-notification-devel)
|
||||
$(vopt_if xscreensaver libXScrnSaver-devel)
|
||||
$(vopt_if sndio sndio-devel) $(vopt_if jack jack-devel)"
|
||||
depends="nss>=3.47.1 desktop-file-utils hicolor-icon-theme"
|
||||
depends="nss>=3.47.1 desktop-file-utils hicolor-icon-theme sqlite>=$(xbps-uhelper version sqlite)"
|
||||
conflicts="firefox-esr>=0"
|
||||
|
||||
build_options="alsa jack dbus pulseaudio startup_notification xscreensaver sndio wayland"
|
||||
|
@ -67,6 +67,7 @@ post_extract() {
|
|||
post_patch() {
|
||||
_clear_vendor_checksums audio_thread_priority
|
||||
_clear_vendor_checksums backtrace-sys
|
||||
_clear_vendor_checksums num-traits
|
||||
}
|
||||
|
||||
do_build() {
|
||||
|
|
Loading…
Reference in a new issue