firefox-esr: update to 91.3.0.

This commit is contained in:
Johannes Daniel Nuemm 2021-11-18 18:33:41 +01:00 committed by Duncan Overbruck
parent 4d1bb26950
commit eb1847aa0a
16 changed files with 211 additions and 1032 deletions

View file

@ -32,4 +32,5 @@ ac_add_options --enable-optimize="$CFLAGS"
ac_add_options --enable-official-branding
ac_add_options --enable-application=browser
ac_add_options --allow-addon-sideload

View file

@ -1,5 +1,5 @@
// Use LANG environment variable to choose locale
pref("intl.locale.matchOS", true);
pref("intl.locale.requested", "");
// Disable default browser checking.
pref("browser.shell.checkDefaultBrowser", false);

View file

@ -0,0 +1,15 @@
Author: Rasmus Thomsen <oss@cogitri.dev>
Reason: FF is mixing userspace net headers (net/if.h) and kernelspace ones
(linux/if.h), leading to redefinitions. We need to include net/if.h before
linux/if.h because linux/if.h has redifinition guards whereas net/if.h doesnt
Upstream: No
--- a/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c 2020-07-28 19:24:32.359751046 +0200
+++ b/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c 2020-07-28 19:24:37.856343751 +0200
@@ -31,6 +31,7 @@
*/
#if defined(LINUX)
+#include <net/if.h>
#include "addrs-netlink.h"
#include <csi_platform.h>
#include <assert.h>

View file

@ -1,16 +0,0 @@
terrible hack to fix cross builds
overwrite HOST_* flags to get rid of -MF
note: this patch was used from firefox-77 until 80, dropped with the update to 81
--- a/third_party/rust/glslopt/build.rs
+++ b/third_party/rust/glslopt/build.rs
@@ -28,6 +28,8 @@
env::remove_var(format!("CXXFLAGS_{}", &target));
env::remove_var(format!("CFLAGS_{}", target.replace("-", "_")));
env::remove_var(format!("CXXFLAGS_{}", target.replace("-", "_")));
+ env::set_var("HOST_CFLAGS", "-O2");
+ env::set_var("HOST_CXXFLAGS", "-O2");
configure(&mut cc::Build::new())
.warnings(false)

View file

@ -1,11 +0,0 @@
--- a/media/webrtc/signaling/src/sdp/sipcc/sdp_os_defs.h
+++ b/media/webrtc/signaling/src/sdp/sipcc/sdp_os_defs.h
@@ -27,8 +27,5 @@
typedef int16_t int16;
typedef unsigned short ushort;
typedef unsigned long ulong;
-#ifndef __GNUC_STDC_INLINE__
-#define inline
-#endif
#endif /* _SDP_OS_DEFS_H_ */

View file

@ -0,0 +1,18 @@
# error: typedef redefinition with different types ('__double_t' (aka 'double') vs 'long double')
# https://bugzilla.mozilla.org/show_bug.cgi?id=1729459
--- a/modules/fdlibm/src/math_private.h
+++ b/modules/fdlibm/src/math_private.h
@@ -30,7 +30,12 @@
* Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t
*/
+#if defined(__linux__) && defined(__i386__)
+// rely on glibc's double_t
+typedef long double __double_t;
+#else
typedef double __double_t;
+#endif
typedef __double_t double_t;
/*

View file

@ -1,826 +0,0 @@
diff -ur a/python/mach/mach/config.py b/python/mach/mach/config.py
--- a/python/mach/mach/config.py 2021-09-01 13:26:18.000000000 -0400
+++ b/python/mach/mach/config.py 2021-11-05 15:29:12.000000000 -0400
@@ -144,7 +144,7 @@
return _
-class ConfigSettings(collections.Mapping):
+class ConfigSettings(collections.abc.Mapping):
"""Interface for configuration settings.
This is the main interface to the configuration.
@@ -190,7 +190,7 @@
will result in exceptions being raised.
"""
- class ConfigSection(collections.MutableMapping, object):
+ class ConfigSection(collections.abc.MutableMapping, object):
"""Represents an individual config section."""
def __init__(self, config, name, settings):
object.__setattr__(self, '_config', config)
diff -ur a/python/mach/mach/decorators.py b/python/mach/mach/decorators.py
--- a/python/mach/mach/decorators.py 2021-09-01 13:26:18.000000000 -0400
+++ b/python/mach/mach/decorators.py 2021-11-05 15:29:12.000000000 -0400
@@ -140,7 +140,7 @@
'Conditions argument must take a list ' + \
'of functions. Found %s instead.'
- if not isinstance(command.conditions, collections.Iterable):
+ if not isinstance(command.conditions, collections.abc.Iterable):
msg = msg % (command.name, type(command.conditions))
raise MachError(msg)
diff -ur a/python/mach/mach/main.py b/python/mach/mach/main.py
--- a/python/mach/mach/main.py 2021-09-01 13:26:23.000000000 -0400
+++ b/python/mach/mach/main.py 2021-11-05 15:29:12.000000000 -0400
@@ -16,7 +16,7 @@
import sys
import traceback
import uuid
-from collections import Iterable
+from collections.abc import Iterable
from six import string_types
diff -ur a/python/mozbuild/mozbuild/backend/configenvironment.py b/python/mozbuild/mozbuild/backend/configenvironment.py
--- a/python/mozbuild/mozbuild/backend/configenvironment.py 2021-09-01 13:26:34.000000000 -0400
+++ b/python/mozbuild/mozbuild/backend/configenvironment.py 2021-11-05 15:29:12.000000000 -0400
@@ -9,7 +9,8 @@
import sys
import json
-from collections import Iterable, OrderedDict
+from collections import OrderedDict
+from collections.abc import Iterable
from types import ModuleType
import mozpack.path as mozpath
diff -ur a/python/mozbuild/mozbuild/makeutil.py b/python/mozbuild/mozbuild/makeutil.py
--- a/python/mozbuild/mozbuild/makeutil.py 2021-09-01 13:26:18.000000000 -0400
+++ b/python/mozbuild/mozbuild/makeutil.py 2021-11-05 15:29:12.000000000 -0400
@@ -7,7 +7,7 @@
import os
import re
import six
-from collections import Iterable
+from collections.abc import Iterable
class Makefile(object):
diff -ur a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py
--- a/python/mozbuild/mozbuild/util.py 2021-09-01 13:26:18.000000000 -0400
+++ b/python/mozbuild/mozbuild/util.py 2021-11-05 15:29:12.000000000 -0400
@@ -782,7 +782,7 @@
self._strings = StrictOrderingOnAppendList()
self._children = {}
- class StringListAdaptor(collections.Sequence):
+ class StringListAdaptor(collections.abc.Sequence):
def __init__(self, hsl):
self._hsl = hsl
diff -ur a/testing/marionette/client/marionette_driver/wait.py b/testing/marionette/client/marionette_driver/wait.py
--- a/testing/marionette/client/marionette_driver/wait.py 2021-09-01 13:26:30.000000000 -0400
+++ b/testing/marionette/client/marionette_driver/wait.py 2021-11-05 15:29:12.000000000 -0400
@@ -82,7 +82,7 @@
exceptions = []
if ignored_exceptions is not None:
- if isinstance(ignored_exceptions, collections.Iterable):
+ if isinstance(ignored_exceptions, collections.abc.Iterable):
exceptions.extend(iter(ignored_exceptions))
else:
exceptions.append(ignored_exceptions)
diff -ur a/testing/mozbase/manifestparser/manifestparser/filters.py b/testing/mozbase/manifestparser/manifestparser/filters.py
--- a/testing/mozbase/manifestparser/manifestparser/filters.py 2021-09-01 13:26:23.000000000 -0400
+++ b/testing/mozbase/manifestparser/manifestparser/filters.py 2021-11-05 15:29:12.000000000 -0400
@@ -12,7 +12,8 @@
import itertools
import os
-from collections import defaultdict, MutableSequence
+from collections import defaultdict
+from collections.abc import MutableSequence
import six
from six import string_types
diff -ur a/testing/mozbase/versioninfo.py b/testing/mozbase/versioninfo.py
--- a/testing/mozbase/versioninfo.py 2021-09-01 13:26:23.000000000 -0400
+++ b/testing/mozbase/versioninfo.py 2021-11-05 15:29:12.000000000 -0400
@@ -11,7 +11,7 @@
from __future__ import absolute_import, print_function
-from collections import Iterable
+from collections.abc import Iterable
from distutils.version import StrictVersion
import argparse
import os
diff -ur a/testing/web-platform/tests/tools/manifest/typedata.py b/testing/web-platform/tests/tools/manifest/typedata.py
--- a/testing/web-platform/tests/tools/manifest/typedata.py 2021-09-01 13:26:40.000000000 -0400
+++ b/testing/web-platform/tests/tools/manifest/typedata.py 2021-11-05 15:29:12.000000000 -0400
@@ -1,4 +1,4 @@
-from collections import MutableMapping
+from collections.abc import MutableMapping
from six import itervalues, iteritems
diff -ur a/testing/web-platform/tests/tools/manifest/vcs.py b/testing/web-platform/tests/tools/manifest/vcs.py
--- a/testing/web-platform/tests/tools/manifest/vcs.py 2021-09-01 13:27:05.000000000 -0400
+++ b/testing/web-platform/tests/tools/manifest/vcs.py 2021-11-05 15:29:12.000000000 -0400
@@ -3,7 +3,7 @@
import os
import stat
from collections import deque
-from collections import MutableMapping
+from collections.abc import MutableMapping
from six import with_metaclass, PY2
diff -ur a/testing/web-platform/tests/tools/third_party/attrs/tests/test_funcs.py b/testing/web-platform/tests/tools/third_party/attrs/tests/test_funcs.py
--- a/testing/web-platform/tests/tools/third_party/attrs/tests/test_funcs.py 2021-09-01 13:26:56.000000000 -0400
+++ b/testing/web-platform/tests/tools/third_party/attrs/tests/test_funcs.py 2021-11-05 15:29:12.000000000 -0400
@@ -4,7 +4,8 @@
from __future__ import absolute_import, division, print_function
-from collections import Mapping, OrderedDict, Sequence
+from collections import OrderedDict
+from collections.abc import Mapping, Sequence
import pytest
diff -ur a/testing/web-platform/tests/tools/third_party/h2/h2/settings.py b/testing/web-platform/tests/tools/third_party/h2/h2/settings.py
--- a/testing/web-platform/tests/tools/third_party/h2/h2/settings.py 2021-09-01 13:27:05.000000000 -0400
+++ b/testing/web-platform/tests/tools/third_party/h2/h2/settings.py 2021-11-05 15:32:28.817737357 -0400
@@ -88,7 +88,7 @@
)
-class Settings(collections.MutableMapping):
+class Settings(collections.abc.MutableMapping):
"""
An object that encapsulates HTTP/2 settings state.
diff -ur a/testing/web-platform/tests/tools/third_party/html5lib/html5lib/_trie/_base.py b/testing/web-platform/tests/tools/third_party/html5lib/html5lib/_trie/_base.py
--- a/testing/web-platform/tests/tools/third_party/html5lib/html5lib/_trie/_base.py 2021-09-01 13:27:05.000000000 -0400
+++ b/testing/web-platform/tests/tools/third_party/html5lib/html5lib/_trie/_base.py 2021-11-05 15:29:12.000000000 -0400
@@ -1,6 +1,6 @@
from __future__ import absolute_import, division, unicode_literals
-from collections import Mapping
+from collections.abc import Mapping
class Trie(Mapping):
diff -ur a/testing/web-platform/tests/tools/third_party/html5lib/html5lib/treebuilders/dom.py b/testing/web-platform/tests/tools/third_party/html5lib/html5lib/treebuilders/dom.py
--- a/testing/web-platform/tests/tools/third_party/html5lib/html5lib/treebuilders/dom.py 2021-09-01 13:27:05.000000000 -0400
+++ b/testing/web-platform/tests/tools/third_party/html5lib/html5lib/treebuilders/dom.py 2021-11-05 15:29:12.000000000 -0400
@@ -1,7 +1,7 @@
from __future__ import absolute_import, division, unicode_literals
-from collections import MutableMapping
+from collections.abc import MutableMapping
from xml.dom import minidom, Node
import weakref
diff -ur a/testing/web-platform/tests/tools/third_party/hyper/hyper/common/headers.py b/testing/web-platform/tests/tools/third_party/hyper/hyper/common/headers.py
--- a/testing/web-platform/tests/tools/third_party/hyper/hyper/common/headers.py 2021-09-01 13:27:00.000000000 -0400
+++ b/testing/web-platform/tests/tools/third_party/hyper/hyper/common/headers.py 2021-11-05 15:29:12.000000000 -0400
@@ -10,7 +10,7 @@
from hyper.common.util import to_bytestring, to_bytestring_tuple
-class HTTPHeaderMap(collections.MutableMapping):
+class HTTPHeaderMap(collections.abc.MutableMapping):
"""
A structure that contains HTTP headers.
diff -ur a/testing/web-platform/tests/tools/third_party/hyper/hyper/h2/settings.py b/testing/web-platform/tests/tools/third_party/hyper/hyper/h2/settings.py
--- a/testing/web-platform/tests/tools/third_party/hyper/hyper/h2/settings.py 2021-09-01 13:26:56.000000000 -0400
+++ b/testing/web-platform/tests/tools/third_party/hyper/hyper/h2/settings.py 2021-11-05 15:29:12.000000000 -0400
@@ -151,7 +151,7 @@
)
-class Settings(collections.MutableMapping):
+class Settings(collections.abc.MutableMapping):
"""
An object that encapsulates HTTP/2 settings state.
diff -ur a/testing/web-platform/tests/tools/third_party/hyper/hyper/http11/connection.py b/testing/web-platform/tests/tools/third_party/hyper/hyper/http11/connection.py
--- a/testing/web-platform/tests/tools/third_party/hyper/hyper/http11/connection.py 2021-09-01 13:27:00.000000000 -0400
+++ b/testing/web-platform/tests/tools/third_party/hyper/hyper/http11/connection.py 2021-11-05 15:29:12.000000000 -0400
@@ -10,7 +10,7 @@
import socket
import base64
-from collections import Iterable, Mapping
+from collections.abc import Iterable, Mapping
import collections
from hyperframe.frame import SettingsFrame
@@ -295,7 +295,7 @@
return
# Iterables that set a specific content length.
- elif isinstance(body, collections.Iterable):
+ elif isinstance(body, collections.abc.Iterable):
for item in body:
try:
self._sock.send(item)
diff -ur a/testing/web-platform/tests/tools/third_party/hyper/hyper/packages/hyperframe/flags.py b/testing/web-platform/tests/tools/third_party/hyper/hyper/packages/hyperframe/flags.py
--- a/testing/web-platform/tests/tools/third_party/hyper/hyper/packages/hyperframe/flags.py 2021-09-01 13:27:05.000000000 -0400
+++ b/testing/web-platform/tests/tools/third_party/hyper/hyper/packages/hyperframe/flags.py 2021-11-05 15:29:12.000000000 -0400
@@ -11,7 +11,7 @@
Flag = collections.namedtuple("Flag", ["name", "bit"])
-class Flags(collections.MutableSet):
+class Flags(collections.abc.MutableSet):
"""
A simple MutableSet implementation that will only accept known flags as elements.
diff -ur a/testing/web-platform/tests/tools/third_party/hyperframe/hyperframe/flags.py b/testing/web-platform/tests/tools/third_party/hyperframe/hyperframe/flags.py
--- a/testing/web-platform/tests/tools/third_party/hyperframe/hyperframe/flags.py 2021-09-01 13:26:39.000000000 -0400
+++ b/testing/web-platform/tests/tools/third_party/hyperframe/hyperframe/flags.py 2021-11-05 15:29:12.000000000 -0400
@@ -11,7 +11,7 @@
Flag = collections.namedtuple("Flag", ["name", "bit"])
-class Flags(collections.MutableSet):
+class Flags(collections.abc.MutableSet):
"""
A simple MutableSet implementation that will only accept known flags as
elements.
diff -ur a/testing/web-platform/tests/tools/wptserve/wptserve/config.py b/testing/web-platform/tests/tools/wptserve/wptserve/config.py
--- a/testing/web-platform/tests/tools/wptserve/wptserve/config.py 2021-09-01 13:27:05.000000000 -0400
+++ b/testing/web-platform/tests/tools/wptserve/wptserve/config.py 2021-11-05 15:29:12.000000000 -0400
@@ -2,7 +2,8 @@
import logging
import os
-from collections import defaultdict, Mapping
+from collections import defaultdict
+from collections.abc import Mapping
from six import integer_types, iteritems, itervalues, string_types
from . import sslutils
diff -ur a/testing/web-platform/tests/webdriver/tests/support/sync.py b/testing/web-platform/tests/webdriver/tests/support/sync.py
--- a/testing/web-platform/tests/webdriver/tests/support/sync.py 2021-09-01 13:27:05.000000000 -0400
+++ b/testing/web-platform/tests/webdriver/tests/support/sync.py 2021-11-05 15:29:12.000000000 -0400
@@ -81,7 +81,7 @@
exceptions = []
if ignored_exceptions is not None:
- if isinstance(ignored_exceptions, collections.Iterable):
+ if isinstance(ignored_exceptions, collections.abc.Iterable):
exceptions.extend(iter(ignored_exceptions))
else:
exceptions.append(ignored_exceptions)
diff -ur a/third_party/python/gyp/pylib/gyp/common.py b/third_party/python/gyp/pylib/gyp/common.py
--- a/third_party/python/gyp/pylib/gyp/common.py 2021-09-01 13:26:46.000000000 -0400
+++ b/third_party/python/gyp/pylib/gyp/common.py 2021-11-05 15:29:12.000000000 -0400
@@ -494,7 +494,7 @@
# Based on http://code.activestate.com/recipes/576694/.
-class OrderedSet(collections.MutableSet):
+class OrderedSet(collections.abc.MutableSet):
def __init__(self, iterable=None):
self.end = end = []
end += [None, end, end] # sentinel node for doubly linked list
diff -ur a/third_party/python/gyp/pylib/gyp/msvs_emulation.py b/third_party/python/gyp/pylib/gyp/msvs_emulation.py
--- a/third_party/python/gyp/pylib/gyp/msvs_emulation.py 2021-09-01 13:27:09.000000000 -0400
+++ b/third_party/python/gyp/pylib/gyp/msvs_emulation.py 2021-11-05 15:30:47.757760820 -0400
@@ -91,7 +91,7 @@
"""Add |prefix| to |element| or each subelement if element is iterable."""
if element is None:
return element
- if (isinstance(element, collections.Iterable) and
+ if (isinstance(element, collections.abc.Iterable) and
not isinstance(element, basestring)):
return [prefix + e for e in element]
else:
@@ -104,7 +104,7 @@
if map is not None and element is not None:
if not callable(map):
map = map.get # Assume it's a dict, otherwise a callable to do the remap.
- if (isinstance(element, collections.Iterable) and
+ if (isinstance(element, collections.abc.Iterable) and
not isinstance(element, basestring)):
element = filter(None, [map(elem) for elem in element])
else:
@@ -117,7 +117,7 @@
then add |element| to it, adding each item in |element| if it's a list or
tuple."""
if append is not None and element is not None:
- if (isinstance(element, collections.Iterable) and
+ if (isinstance(element, collections.abc.Iterable) and
not isinstance(element, basestring)):
append.extend(element)
else:
diff -ur a/third_party/python/gyp/test/lib/TestGyp.py b/third_party/python/gyp/test/lib/TestGyp.py
--- a/third_party/python/gyp/test/lib/TestGyp.py 2021-09-01 13:27:09.000000000 -0400
+++ b/third_party/python/gyp/test/lib/TestGyp.py 2021-11-05 15:30:37.671763157 -0400
@@ -496,7 +496,7 @@
if status is None:
kw['status'] = None
else:
- if not isinstance(status, collections.Iterable): status = (status,)
+ if not isinstance(status, collections.abc.Iterable): status = (status,)
kw['status'] = list(itertools.chain((0,), status))
self.cmake_build(gyp_file, target, **kw)
kw['status'] = status
diff -ur a/third_party/python/pipenv/pipenv/patched/notpip/_vendor/distlib/compat.py b/third_party/python/pipenv/pipenv/patched/notpip/_vendor/distlib/compat.py
--- a/third_party/python/pipenv/pipenv/patched/notpip/_vendor/distlib/compat.py 2021-09-01 13:27:09.000000000 -0400
+++ b/third_party/python/pipenv/pipenv/patched/notpip/_vendor/distlib/compat.py 2021-11-05 15:29:12.000000000 -0400
@@ -319,7 +319,7 @@
try:
callable = callable
except NameError: # pragma: no cover
- from collections import Callable
+ from collections.abc import Callable
def callable(obj):
return isinstance(obj, Callable)
@@ -475,7 +475,7 @@
try:
from collections import ChainMap
except ImportError: # pragma: no cover
- from collections import MutableMapping
+ from collections.abc import MutableMapping
try:
from reprlib import recursive_repr as _recursive_repr
diff -ur a/third_party/python/pipenv/pipenv/patched/notpip/_vendor/html5lib/treebuilders/dom.py b/third_party/python/pipenv/pipenv/patched/notpip/_vendor/html5lib/treebuilders/dom.py
--- a/third_party/python/pipenv/pipenv/patched/notpip/_vendor/html5lib/treebuilders/dom.py 2021-09-01 13:26:46.000000000 -0400
+++ b/third_party/python/pipenv/pipenv/patched/notpip/_vendor/html5lib/treebuilders/dom.py 2021-11-05 15:29:12.000000000 -0400
@@ -1,7 +1,7 @@
from __future__ import absolute_import, division, unicode_literals
-from collections import MutableMapping
+from collections.abc import MutableMapping
from xml.dom import minidom, Node
import weakref
diff -ur a/third_party/python/pipenv/pipenv/patched/notpip/_vendor/pyparsing.py b/third_party/python/pipenv/pipenv/patched/notpip/_vendor/pyparsing.py
--- a/third_party/python/pipenv/pipenv/patched/notpip/_vendor/pyparsing.py 2021-09-01 13:26:46.000000000 -0400
+++ b/third_party/python/pipenv/pipenv/patched/notpip/_vendor/pyparsing.py 2021-11-05 15:29:12.000000000 -0400
@@ -940,7 +940,7 @@
def __dir__(self):
return (dir(type(self)) + list(self.keys()))
-collections.MutableMapping.register(ParseResults)
+collections.abc.MutableMapping.register(ParseResults)
def col (loc,strg):
"""Returns current column within a string, counting newlines as line separators.
@@ -3223,7 +3223,7 @@
if isinstance( exprs, basestring ):
self.exprs = [ ParserElement._literalStringClass( exprs ) ]
- elif isinstance( exprs, collections.Iterable ):
+ elif isinstance( exprs, collections.abc.Iterable ):
exprs = list(exprs)
# if sequence of strings provided, wrap with Literal
if all(isinstance(expr, basestring) for expr in exprs):
@@ -4564,7 +4564,7 @@
symbols = []
if isinstance(strs,basestring):
symbols = strs.split()
- elif isinstance(strs, collections.Iterable):
+ elif isinstance(strs, collections.abc.Iterable):
symbols = list(strs)
else:
warnings.warn("Invalid argument to oneOf, expected string or iterable",
diff -ur a/third_party/python/pipenv/pipenv/patched/notpip/_vendor/requests/cookies.py b/third_party/python/pipenv/pipenv/patched/notpip/_vendor/requests/cookies.py
--- a/third_party/python/pipenv/pipenv/patched/notpip/_vendor/requests/cookies.py 2021-09-01 13:27:00.000000000 -0400
+++ b/third_party/python/pipenv/pipenv/patched/notpip/_vendor/requests/cookies.py 2021-11-05 15:29:12.000000000 -0400
@@ -169,7 +169,7 @@
"""
-class RequestsCookieJar(cookielib.CookieJar, collections.MutableMapping):
+class RequestsCookieJar(cookielib.CookieJar, collections.abc.MutableMapping):
"""Compatibility class; is a cookielib.CookieJar, but exposes a dict
interface.
diff -ur a/third_party/python/pipenv/pipenv/patched/notpip/_vendor/requests/models.py b/third_party/python/pipenv/pipenv/patched/notpip/_vendor/requests/models.py
--- a/third_party/python/pipenv/pipenv/patched/notpip/_vendor/requests/models.py 2021-09-01 13:26:46.000000000 -0400
+++ b/third_party/python/pipenv/pipenv/patched/notpip/_vendor/requests/models.py 2021-11-05 15:31:35.745749692 -0400
@@ -174,10 +174,10 @@
if event not in self.hooks:
raise ValueError('Unsupported event specified, with event name "%s"' % (event))
- if isinstance(hook, collections.Callable):
+ if isinstance(hook, collections.abc.Callable):
self.hooks[event].append(hook)
elif hasattr(hook, '__iter__'):
- self.hooks[event].extend(h for h in hook if isinstance(h, collections.Callable))
+ self.hooks[event].extend(h for h in hook if isinstance(h, collections.abc.Callable))
def deregister_hook(self, event, hook):
"""Deregister a previously registered hook.
@@ -461,7 +461,7 @@
is_stream = all([
hasattr(data, '__iter__'),
- not isinstance(data, (basestring, list, tuple, collections.Mapping))
+ not isinstance(data, (basestring, list, tuple, collections.abc.Mapping))
])
try:
diff -ur a/third_party/python/pipenv/pipenv/patched/notpip/_vendor/requests/structures.py b/third_party/python/pipenv/pipenv/patched/notpip/_vendor/requests/structures.py
--- a/third_party/python/pipenv/pipenv/patched/notpip/_vendor/requests/structures.py 2021-09-01 13:27:00.000000000 -0400
+++ b/third_party/python/pipenv/pipenv/patched/notpip/_vendor/requests/structures.py 2021-11-05 15:29:12.000000000 -0400
@@ -12,7 +12,7 @@
from .compat import OrderedDict
-class CaseInsensitiveDict(collections.MutableMapping):
+class CaseInsensitiveDict(collections.abc.MutableMapping):
"""A case-insensitive ``dict``-like object.
Implements all methods and operations of
@@ -71,7 +71,7 @@
)
def __eq__(self, other):
- if isinstance(other, collections.Mapping):
+ if isinstance(other, collections.abc.Mapping):
other = CaseInsensitiveDict(other)
else:
return NotImplemented
diff -ur a/third_party/python/pipenv/pipenv/patched/notpip/_vendor/requests/utils.py b/third_party/python/pipenv/pipenv/patched/notpip/_vendor/requests/utils.py
--- a/third_party/python/pipenv/pipenv/patched/notpip/_vendor/requests/utils.py 2021-09-01 13:27:00.000000000 -0400
+++ b/third_party/python/pipenv/pipenv/patched/notpip/_vendor/requests/utils.py 2021-11-05 15:31:40.157748665 -0400
@@ -262,7 +262,7 @@
if isinstance(value, (str, bytes, bool, int)):
raise ValueError('cannot encode objects that are not 2-tuples')
- if isinstance(value, collections.Mapping):
+ if isinstance(value, collections.abc.Mapping):
value = value.items()
return list(value)
diff -ur a/third_party/python/pipenv/pipenv/patched/notpip/_vendor/urllib3/_collections.py b/third_party/python/pipenv/pipenv/patched/notpip/_vendor/urllib3/_collections.py
--- a/third_party/python/pipenv/pipenv/patched/notpip/_vendor/urllib3/_collections.py 2021-09-01 13:27:00.000000000 -0400
+++ b/third_party/python/pipenv/pipenv/patched/notpip/_vendor/urllib3/_collections.py 2021-11-05 15:29:12.000000000 -0400
@@ -1,5 +1,5 @@
from __future__ import absolute_import
-from collections import Mapping, MutableMapping
+from collections.abc import Mapping, MutableMapping
try:
from threading import RLock
except ImportError: # Platform-specific: No threads available
diff -ur a/third_party/python/pipenv/pipenv/vendor/jinja2/sandbox.py b/third_party/python/pipenv/pipenv/vendor/jinja2/sandbox.py
--- a/third_party/python/pipenv/pipenv/vendor/jinja2/sandbox.py 2021-09-01 13:27:09.000000000 -0400
+++ b/third_party/python/pipenv/pipenv/vendor/jinja2/sandbox.py 2021-11-05 15:29:12.000000000 -0400
@@ -14,7 +14,7 @@
"""
import types
import operator
-from collections import Mapping
+from collections.abc import Mapping
from jinja2.environment import Environment
from jinja2.exceptions import SecurityError
from jinja2._compat import string_types, PY2
@@ -79,7 +79,7 @@
pass
#: register Python 2.6 abstract base classes
-from collections import MutableSet, MutableMapping, MutableSequence
+from collections.abc import MutableSet, MutableMapping, MutableSequence
_mutable_set_types += (MutableSet,)
_mutable_mapping_types += (MutableMapping,)
_mutable_sequence_types += (MutableSequence,)
diff -ur a/third_party/python/pipenv/pipenv/vendor/jinja2/utils.py b/third_party/python/pipenv/pipenv/vendor/jinja2/utils.py
--- a/third_party/python/pipenv/pipenv/vendor/jinja2/utils.py 2021-09-01 13:27:00.000000000 -0400
+++ b/third_party/python/pipenv/pipenv/vendor/jinja2/utils.py 2021-11-05 15:29:12.000000000 -0400
@@ -482,7 +482,7 @@
# register the LRU cache as mutable mapping if possible
try:
- from collections import MutableMapping
+ from collections.abc import MutableMapping
MutableMapping.register(LRUCache)
except ImportError:
pass
diff -ur a/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/distlib/compat.py b/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/distlib/compat.py
--- a/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/distlib/compat.py 2021-09-01 13:27:05.000000000 -0400
+++ b/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/distlib/compat.py 2021-11-05 15:29:12.000000000 -0400
@@ -319,7 +319,7 @@
try:
callable = callable
except NameError: # pragma: no cover
- from collections import Callable
+ from collections.abc import Callable
def callable(obj):
return isinstance(obj, Callable)
@@ -475,7 +475,7 @@
try:
from collections import ChainMap
except ImportError: # pragma: no cover
- from collections import MutableMapping
+ from collections.abc import MutableMapping
try:
from reprlib import recursive_repr as _recursive_repr
diff -ur a/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/html5lib/treebuilders/dom.py b/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/html5lib/treebuilders/dom.py
--- a/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/html5lib/treebuilders/dom.py 2021-09-01 13:27:00.000000000 -0400
+++ b/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/html5lib/treebuilders/dom.py 2021-11-05 15:29:12.000000000 -0400
@@ -1,7 +1,7 @@
from __future__ import absolute_import, division, unicode_literals
-from collections import MutableMapping
+from collections.abc import MutableMapping
from xml.dom import minidom, Node
import weakref
diff -ur a/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/pyparsing.py b/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/pyparsing.py
--- a/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/pyparsing.py 2021-09-01 13:26:46.000000000 -0400
+++ b/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/pyparsing.py 2021-11-05 15:29:12.000000000 -0400
@@ -940,7 +940,7 @@
def __dir__(self):
return (dir(type(self)) + list(self.keys()))
-collections.MutableMapping.register(ParseResults)
+collections.abc.MutableMapping.register(ParseResults)
def col (loc,strg):
"""Returns current column within a string, counting newlines as line separators.
@@ -3223,7 +3223,7 @@
if isinstance( exprs, basestring ):
self.exprs = [ ParserElement._literalStringClass( exprs ) ]
- elif isinstance( exprs, collections.Iterable ):
+ elif isinstance( exprs, collections.abc.Iterable ):
exprs = list(exprs)
# if sequence of strings provided, wrap with Literal
if all(isinstance(expr, basestring) for expr in exprs):
@@ -4564,7 +4564,7 @@
symbols = []
if isinstance(strs,basestring):
symbols = strs.split()
- elif isinstance(strs, collections.Iterable):
+ elif isinstance(strs, collections.abc.Iterable):
symbols = list(strs)
else:
warnings.warn("Invalid argument to oneOf, expected string or iterable",
diff -ur a/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/requests/cookies.py b/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/requests/cookies.py
--- a/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/requests/cookies.py 2021-09-01 13:27:00.000000000 -0400
+++ b/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/requests/cookies.py 2021-11-05 15:29:12.000000000 -0400
@@ -169,7 +169,7 @@
"""
-class RequestsCookieJar(cookielib.CookieJar, collections.MutableMapping):
+class RequestsCookieJar(cookielib.CookieJar, collections.abc.MutableMapping):
"""Compatibility class; is a cookielib.CookieJar, but exposes a dict
interface.
diff -ur a/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/requests/models.py b/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/requests/models.py
--- a/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/requests/models.py 2021-09-01 13:26:46.000000000 -0400
+++ b/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/requests/models.py 2021-11-05 15:31:52.397745825 -0400
@@ -174,10 +174,10 @@
if event not in self.hooks:
raise ValueError('Unsupported event specified, with event name "%s"' % (event))
- if isinstance(hook, collections.Callable):
+ if isinstance(hook, collections.abc.Callable):
self.hooks[event].append(hook)
elif hasattr(hook, '__iter__'):
- self.hooks[event].extend(h for h in hook if isinstance(h, collections.Callable))
+ self.hooks[event].extend(h for h in hook if isinstance(h, collections.abc.Callable))
def deregister_hook(self, event, hook):
"""Deregister a previously registered hook.
@@ -461,7 +461,7 @@
is_stream = all([
hasattr(data, '__iter__'),
- not isinstance(data, (basestring, list, tuple, collections.Mapping))
+ not isinstance(data, (basestring, list, tuple, collections.abc.Mapping))
])
try:
diff -ur a/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/requests/structures.py b/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/requests/structures.py
--- a/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/requests/structures.py 2021-09-01 13:27:09.000000000 -0400
+++ b/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/requests/structures.py 2021-11-05 15:32:02.765743413 -0400
@@ -12,7 +12,7 @@
from .compat import OrderedDict
-class CaseInsensitiveDict(collections.MutableMapping):
+class CaseInsensitiveDict(collections.abc.MutableMapping):
"""A case-insensitive ``dict``-like object.
Implements all methods and operations of
@@ -71,7 +71,7 @@
)
def __eq__(self, other):
- if isinstance(other, collections.Mapping):
+ if isinstance(other, collections.abc.Mapping):
other = CaseInsensitiveDict(other)
else:
return NotImplemented
diff -ur a/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/requests/utils.py b/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/requests/utils.py
--- a/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/requests/utils.py 2021-09-01 13:27:00.000000000 -0400
+++ b/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/requests/utils.py 2021-11-05 15:31:57.123744724 -0400
@@ -262,7 +262,7 @@
if isinstance(value, (str, bytes, bool, int)):
raise ValueError('cannot encode objects that are not 2-tuples')
- if isinstance(value, collections.Mapping):
+ if isinstance(value, collections.abc.Mapping):
value = value.items()
return list(value)
diff -ur a/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/urllib3/_collections.py b/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/urllib3/_collections.py
--- a/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/urllib3/_collections.py 2021-09-01 13:27:00.000000000 -0400
+++ b/third_party/python/pipenv/pipenv/vendor/pip9/_vendor/urllib3/_collections.py 2021-11-05 15:29:12.000000000 -0400
@@ -1,5 +1,5 @@
from __future__ import absolute_import
-from collections import Mapping, MutableMapping
+from collections.abc import Mapping, MutableMapping
try:
from threading import RLock
except ImportError: # Platform-specific: No threads available
diff -ur a/third_party/python/pipenv/pipenv/vendor/requests/cookies.py b/third_party/python/pipenv/pipenv/vendor/requests/cookies.py
--- a/third_party/python/pipenv/pipenv/vendor/requests/cookies.py 2021-09-01 13:27:00.000000000 -0400
+++ b/third_party/python/pipenv/pipenv/vendor/requests/cookies.py 2021-11-05 15:29:12.000000000 -0400
@@ -169,7 +169,7 @@
"""
-class RequestsCookieJar(cookielib.CookieJar, collections.MutableMapping):
+class RequestsCookieJar(cookielib.CookieJar, collections.abc.MutableMapping):
"""Compatibility class; is a cookielib.CookieJar, but exposes a dict
interface.
diff -ur a/third_party/python/pipenv/pipenv/vendor/requests/models.py b/third_party/python/pipenv/pipenv/vendor/requests/models.py
--- a/third_party/python/pipenv/pipenv/vendor/requests/models.py 2021-09-01 13:27:09.000000000 -0400
+++ b/third_party/python/pipenv/pipenv/vendor/requests/models.py 2021-11-05 15:32:09.732741793 -0400
@@ -174,10 +174,10 @@
if event not in self.hooks:
raise ValueError('Unsupported event specified, with event name "%s"' % (event))
- if isinstance(hook, collections.Callable):
+ if isinstance(hook, collections.abc.Callable):
self.hooks[event].append(hook)
elif hasattr(hook, '__iter__'):
- self.hooks[event].extend(h for h in hook if isinstance(h, collections.Callable))
+ self.hooks[event].extend(h for h in hook if isinstance(h, collections.abc.Callable))
def deregister_hook(self, event, hook):
"""Deregister a previously registered hook.
@@ -461,7 +461,7 @@
is_stream = all([
hasattr(data, '__iter__'),
- not isinstance(data, (basestring, list, tuple, collections.Mapping))
+ not isinstance(data, (basestring, list, tuple, collections.abc.Mapping))
])
try:
diff -ur a/third_party/python/pipenv/pipenv/vendor/requests/structures.py b/third_party/python/pipenv/pipenv/vendor/requests/structures.py
--- a/third_party/python/pipenv/pipenv/vendor/requests/structures.py 2021-09-01 13:27:00.000000000 -0400
+++ b/third_party/python/pipenv/pipenv/vendor/requests/structures.py 2021-11-05 15:29:12.000000000 -0400
@@ -12,7 +12,7 @@
from .compat import OrderedDict
-class CaseInsensitiveDict(collections.MutableMapping):
+class CaseInsensitiveDict(collections.abc.MutableMapping):
"""A case-insensitive ``dict``-like object.
Implements all methods and operations of
@@ -71,7 +71,7 @@
)
def __eq__(self, other):
- if isinstance(other, collections.Mapping):
+ if isinstance(other, collections.abc.Mapping):
other = CaseInsensitiveDict(other)
else:
return NotImplemented
diff -ur a/third_party/python/pipenv/pipenv/vendor/requests/utils.py b/third_party/python/pipenv/pipenv/vendor/requests/utils.py
--- a/third_party/python/pipenv/pipenv/vendor/requests/utils.py 2021-09-01 13:27:00.000000000 -0400
+++ b/third_party/python/pipenv/pipenv/vendor/requests/utils.py 2021-11-05 15:32:13.776740860 -0400
@@ -262,7 +262,7 @@
if isinstance(value, (str, bytes, bool, int)):
raise ValueError('cannot encode objects that are not 2-tuples')
- if isinstance(value, collections.Mapping):
+ if isinstance(value, collections.abc.Mapping):
value = value.items()
return list(value)
diff -ur a/third_party/python/pipenv/pipenv/vendor/urllib3/_collections.py b/third_party/python/pipenv/pipenv/vendor/urllib3/_collections.py
--- a/third_party/python/pipenv/pipenv/vendor/urllib3/_collections.py 2021-09-01 13:26:46.000000000 -0400
+++ b/third_party/python/pipenv/pipenv/vendor/urllib3/_collections.py 2021-11-05 15:29:12.000000000 -0400
@@ -1,5 +1,5 @@
from __future__ import absolute_import
-from collections import Mapping, MutableMapping
+from collections.abc import Mapping, MutableMapping
try:
from threading import RLock
except ImportError: # Platform-specific: No threads available
diff -ur a/third_party/python/pyyaml/lib3/yaml/constructor.py b/third_party/python/pyyaml/lib3/yaml/constructor.py
--- a/third_party/python/pyyaml/lib3/yaml/constructor.py 2021-09-01 13:27:00.000000000 -0400
+++ b/third_party/python/pyyaml/lib3/yaml/constructor.py 2021-11-05 15:29:12.000000000 -0400
@@ -123,7 +123,7 @@
mapping = {}
for key_node, value_node in node.value:
key = self.construct_object(key_node, deep=deep)
- if not isinstance(key, collections.Hashable):
+ if not isinstance(key, collections.abc.Hashable):
raise ConstructorError("while constructing a mapping", node.start_mark,
"found unhashable key", key_node.start_mark)
value = self.construct_object(value_node, deep=deep)
diff -ur a/third_party/python/requests/requests/cookies.py b/third_party/python/requests/requests/cookies.py
--- a/third_party/python/requests/requests/cookies.py 2021-09-01 13:27:05.000000000 -0400
+++ b/third_party/python/requests/requests/cookies.py 2021-11-05 15:29:12.000000000 -0400
@@ -161,7 +161,7 @@
Use .get and .set and include domain and path args in order to be more specific."""
-class RequestsCookieJar(cookielib.CookieJar, collections.MutableMapping):
+class RequestsCookieJar(cookielib.CookieJar, collections.abc.MutableMapping):
"""Compatibility class; is a cookielib.CookieJar, but exposes a dict
interface.
diff -ur a/third_party/python/requests/requests/packages/urllib3/_collections.py b/third_party/python/requests/requests/packages/urllib3/_collections.py
--- a/third_party/python/requests/requests/packages/urllib3/_collections.py 2021-09-01 13:27:13.000000000 -0400
+++ b/third_party/python/requests/requests/packages/urllib3/_collections.py 2021-11-05 15:29:12.000000000 -0400
@@ -1,5 +1,5 @@
from __future__ import absolute_import
-from collections import Mapping, MutableMapping
+from collections.abc import Mapping, MutableMapping
try:
from threading import RLock
except ImportError: # Platform-specific: No threads available
diff -ur a/third_party/python/requests/requests/structures.py b/third_party/python/requests/requests/structures.py
--- a/third_party/python/requests/requests/structures.py 2021-09-01 13:27:09.000000000 -0400
+++ b/third_party/python/requests/requests/structures.py 2021-11-05 15:29:12.000000000 -0400
@@ -11,7 +11,7 @@
import collections
-class CaseInsensitiveDict(collections.MutableMapping):
+class CaseInsensitiveDict(collections.abc.MutableMapping):
"""
A case-insensitive ``dict``-like object.
@@ -71,7 +71,7 @@
)
def __eq__(self, other):
- if isinstance(other, collections.Mapping):
+ if isinstance(other, collections.abc.Mapping):
other = CaseInsensitiveDict(other)
else:
return NotImplemented
diff -ur a/third_party/python/requests/requests/utils.py b/third_party/python/requests/requests/utils.py
--- a/third_party/python/requests/requests/utils.py 2021-09-01 13:27:09.000000000 -0400
+++ b/third_party/python/requests/requests/utils.py 2021-11-05 15:30:55.420759045 -0400
@@ -189,7 +189,7 @@
if isinstance(value, (str, bytes, bool, int)):
raise ValueError('cannot encode objects that are not 2-tuples')
- if isinstance(value, collections.Mapping):
+ if isinstance(value, collections.abc.Mapping):
value = value.items()
return list(value)
diff -ur a/third_party/python/virtualenv/__virtualenv__/distlib-0.3.1-py2.py3-none-any/distlib/compat.py b/third_party/python/virtualenv/__virtualenv__/distlib-0.3.1-py2.py3-none-any/distlib/compat.py
--- a/third_party/python/virtualenv/__virtualenv__/distlib-0.3.1-py2.py3-none-any/distlib/compat.py 2021-09-01 13:27:00.000000000 -0400
+++ b/third_party/python/virtualenv/__virtualenv__/distlib-0.3.1-py2.py3-none-any/distlib/compat.py 2021-11-05 15:29:12.000000000 -0400
@@ -481,7 +481,7 @@
try:
from collections import ChainMap
except ImportError: # pragma: no cover
- from collections import MutableMapping
+ from collections.abc import MutableMapping
try:
from reprlib import recursive_repr as _recursive_repr
diff -ur a/third_party/python/voluptuous/voluptuous/schema_builder.py b/third_party/python/voluptuous/voluptuous/schema_builder.py
--- a/third_party/python/voluptuous/voluptuous/schema_builder.py 2021-09-01 13:27:09.000000000 -0400
+++ b/third_party/python/voluptuous/voluptuous/schema_builder.py 2021-11-05 15:30:32.399764374 -0400
@@ -280,7 +280,7 @@
return schema.__voluptuous_compile__(self)
if isinstance(schema, Object):
return self._compile_object(schema)
- if isinstance(schema, collections.Mapping):
+ if isinstance(schema, collections.abc.Mapping):
return self._compile_dict(schema)
elif isinstance(schema, list):
return self._compile_list(schema)

View file

@ -1,15 +0,0 @@
--- a/js/src/wasm/WasmSignalHandlers.cpp
+++ b/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>

View file

@ -1,5 +1,5 @@
--- a/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c 2019-01-29 11:20:52.298793223 +0100
+++ b/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c 2019-01-29 11:21:48.250250850 +0100
--- a/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c 2019-01-29 11:20:52.298793223 +0100
+++ b/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c 2019-01-29 11:21:48.250250850 +0100
@@ -14,7 +14,7 @@
#ifndef __GLIBC_PREREQ
#define __GLIBC_PREREQ(a, b) 0

View file

@ -12,15 +12,14 @@ index 53fc3c9937f7..b23771ab80fa 100644
namespace mozilla {
@@ -14,6 +15,11 @@ namespace mozilla {
@@ -14,6 +15,10 @@ namespace mozilla {
bool FlacDecoder::IsEnabled() {
#ifdef MOZ_FFVPX
return StaticPrefs::media_flac_enabled();
+#elif defined(MOZ_FFMPEG)
+ RefPtr<PDMFactory> platform = new PDMFactory();
+ return StaticPrefs::media_flac_enabled() &&
+ platform->SupportsMimeType("audio/flac"_ns,
+ /* DecoderDoctorDiagnostics* */ nullptr);
+ platform->SupportsMimeType("audio/flac"_ns);
#else
// Until bug 1295886 is fixed.
return false;

View file

@ -1,26 +0,0 @@
--- a/build/moz.configure/rust.configure 2019-10-28 12:05:04.930404603 +0700
+++ b/build/moz.configure/rust.configure 2019-10-28 12:09:42.742338957 +0700
@@ -297,11 +297,20 @@
suffix = 'hf'
else:
suffix = ''
+
+ narrowed = []
for p in prefixes:
for c in candidates:
- if c.rust_target.startswith('{}-'.format(p)) and \
- c.rust_target.endswith(suffix):
- return c.rust_target
+ if c.rust_target.startswith('{}-'.format(p)):
+ narrowed.append(c.rust_target)
+
+ for target in narrowed:
+ if target.endswith(host_or_target.raw_os):
+ return target
+
+ for target in narrowed:
+ if target.endswith(suffix):
+ return target
# See if we can narrow down on the exact alias
narrowed = [c for c in candidates if c.target.alias == host_or_target.alias]

View file

@ -1,42 +1,112 @@
Mozilla rustc check does not support crossbuild: let's remove it
Remove calls to unwrap_rustup, they fail if rustup isn't present
--- a/build/moz.configure/rust.configure 2019-10-17 04:19:59.000000000 +0700
+++ b/build/moz.configure/rust.configure 2019-10-22 11:48:55.616022140 +0700
@@ -78,9 +78,6 @@
Do not try to figure out the rust target as it is broken on musl
instead use what is set in RUST_TARGET
Skip extra checks on cross builds (broken for arm*)
--- a/build/moz.configure/rust.configure 2020-12-12 01:35:33.000000000 +0100
+++ b/build/moz.configure/rust.configure 2020-12-15 19:45:16.467750787 +0100
@@ -91,9 +91,6 @@
return unwrap
-rustc = unwrap_rustup(rustc, 'rustc')
-cargo = unwrap_rustup(cargo, 'cargo')
-rustc = unwrap_rustup(rustc, "rustc")
-cargo = unwrap_rustup(cargo, "cargo")
-
set_config('CARGO', cargo)
set_config('RUSTC', rustc)
@@ -348,26 +345,6 @@
set_config("CARGO", cargo)
set_config("RUSTC", rustc)
@@ -260,7 +257,9 @@
data.setdefault(key, []).append(namespace(rust_target=t, target=info))
return data
os.write(in_fd, source)
os.close(in_fd)
-
- cmd = [
- rustc,
- '--crate-type', 'staticlib',
- target_arg,
- '-o', out_path,
- in_path,
- ]
+@imports('os')
+@imports(_from='mozbuild.util', _import='ensure_unicode')
+@imports(_from='mozbuild.util', _import='system_encoding')
def detect_rustc_target(
host_or_target, compiler_info, arm_target, rust_supported_targets
):
@@ -382,12 +381,12 @@
return None
- rustc_target = find_candidate(candidates)
+ rustc_target = os.environ['RUST_TARGET']
if rustc_target is None:
die("Don't know how to translate {} for rustc".format(host_or_target.alias))
- return rustc_target
+ return ensure_unicode(rustc_target, system_encoding)
@imports("os")
@@ -410,35 +409,6 @@
os.write(in_fd, ensure_binary(source))
os.close(in_fd)
-
- def failed():
- die(dedent('''\
- Cannot compile for {} with {}
- The target may be unsupported, or you may not have
- a rust std library for that target installed. Try:
- cmd = [
- rustc,
- "--crate-type",
- "staticlib",
- target_arg,
- "-o",
- out_path,
- in_path,
- ]
-
- rustup target add {}
- '''.format(host_or_target.alias, rustc, rustc_target)))
- check_cmd_output(*cmd, onerror=failed)
- if not os.path.exists(out_path) or os.path.getsize(out_path) == 0:
- failed()
finally:
os.remove(in_path)
os.remove(out_path)
- def failed():
- die(
- dedent(
- """\
- Cannot compile for {} with {}
- The target may be unsupported, or you may not have
- a rust std library for that target installed. Try:
-
- rustup target add {}
- """.format(
- host_or_target.alias, rustc, rustc_target
- )
- )
- )
-
- check_cmd_output(*cmd, onerror=failed)
- if not os.path.exists(out_path) or os.path.getsize(out_path) == 0:
- failed()
finally:
os.remove(in_path)
os.remove(out_path)
@@ -462,28 +432,7 @@
host, compiler_info, arm_target, rust_supported_targets
)
if rustc_target != rustc_host:
- if host.alias == rustc_target:
- configure_host = host.alias
- else:
- configure_host = "{}/{}".format(host.alias, rustc_target)
- die(
- dedent(
- """\
- The rust compiler host ({rustc}) is not suitable for the configure host ({configure}).
-
- You can solve this by:
- * Set your configure host to match the rust compiler host by editing your
- mozconfig and adding "ac_add_options --host={rustc}".
- * Or, install the rust toolchain for {configure}, if supported, by running
- "rustup default stable-{rustc_target}"
- """.format(
- rustc=rustc_host,
- configure=configure_host,
- rustc_target=rustc_target,
- )
- )
- )
- assert_rust_compile(host, rustc_target, rustc)
+ return rustc_host
return rustc_target

View file

@ -1,21 +0,0 @@
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
--- a/third_party/rust/num-traits/build.rs 2020-02-14 23:57:25.985355610 +0100
+++ b/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");
}

View file

@ -2,12 +2,14 @@ make SYS_fork non-fatal, musl uses it for fork(2)
--- a/security/sandbox/linux/SandboxFilter.cpp
+++ b/security/sandbox/linux/SandboxFilter.cpp
@@ -1253,6 +1253,8 @@
@@ -1420,6 +1420,10 @@
// usually do something reasonable on error.
case __NR_clone:
return ClonePolicy(Error(EPERM));
+# ifdef __NR_fork
+ case __NR_fork:
+ return Error(ENOSYS);
+# endif
# ifdef __NR_fadvise64
case __NR_fadvise64:

View file

@ -42,11 +42,11 @@
if CONFIG['OS_TARGET'] == 'Darwin':
--- a/build/moz.configure/old.configure 2020-06-30 12:17:04.087609070 +0200
+++ b/build/moz.configure/old.configure 2020-06-30 12:17:04.087609070 +0200
@@ -210,6 +210,7 @@
@@ -88,6 +88,7 @@
@old_configure_options(
'--cache-file',
'--datadir',
+ '--enable-sndio',
'--enable-crashreporter',
'--enable-dbus',
'--enable-debug-js-modules',
"--cache-file",
"--datadir",
+ "--enable-sndio",
"--enable-crashreporter",
"--enable-dbus",
"--enable-debug-js-modules",

View file

@ -3,58 +3,63 @@
# THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/firefox-esr-i18n".
#
pkgname=firefox-esr
version=78.14.0
version=91.3.0
revision=1
wrksrc="firefox-${version}"
build_helper="rust qemu"
build_helper="rust"
short_desc="Mozilla Firefox web browser - Extended Support Release"
maintainer="Orphaned <orphan@voidlinux.org>"
license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
homepage="https://www.mozilla.org/firefox/"
distfiles="${MOZILLA_SITE}/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz"
checksum=128b5349f112d8a0fd8698f3645ed43ea29d4b95047b7c4fd770b95d0661e96c
lib32disabled=yes
hostmakedepends="autoconf213 unzip zip pkg-config perl python3 yasm rust cargo
llvm clang nodejs-lts cbindgen python nasm which tar"
makedepends="nss-devel libjpeg-turbo-devel gtk+-devel gtk+3-devel icu-devel
makedepends="nss-devel libjpeg-turbo-devel gtk+3-devel icu-devel
pixman-devel libevent-devel libnotify-devel libvpx-devel
libXrender-devel libXcomposite-devel libSM-devel libXt-devel rust-std
libXdamage-devel freetype-devel $(vopt_if alsa alsa-lib-devel)
$(vopt_if dbus dbus-glib-devel) $(vopt_if pulseaudio pulseaudio-devel)
$(vopt_if xscreensaver libXScrnSaver-devel)
$(vopt_if sndio sndio-devel) $(vopt_if jack jack-devel)"
depends="nss>=3.53 desktop-file-utils hicolor-icon-theme"
short_desc="Firefox browser - Extended Support Release"
maintainer="Orphaned <orphan@voidlinux.org>"
license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
homepage="https://www.mozilla.org/firefox/organizations/"
distfiles="${MOZILLA_SITE}/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz"
checksum=aa0e28a4150c33a165120a24f20e0373e74635c9f812732a08850d71cda3b2fa
lib32disabled=yes
depends="nss>=3.66 nspr>=4.32 desktop-file-utils hicolor-icon-theme"
conflicts="firefox>=0"
build_options="alsa jack dbus pulseaudio xscreensaver sndio wayland"
build_options_default="alsa jack dbus pulseaudio xscreensaver sndio wayland"
if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
makedepends+=" libatomic-devel"
fi
case $XBPS_TARGET_MACHINE in
armv[56]*) broken="required NEON extensions are not supported on armv[56]" ;;
armv[56]*) broken="required NEON extensions are not supported on armv6" ;;
ppc64*) ;;
ppc*) broken="xptcall bitrot" ;;
esac
CXXFLAGS="-Wno-class-memaccess -Wno-unused-function"
if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
makedepends+=" libatomic-devel"
fi
# We need this because cargo verifies checksums of all files
# in vendor crates when it builds and gives us no way to
# override or update the file sanely... so just clear out the file list
# work around large debug symbols on 32-bit hosts
# cargo:warning=cc1plus: out of memory allocating 65536 bytes after a total of 1010126848 bytes
if [ "$XBPS_WORDSIZE" = "32" ]; then
nodebug=yes
fi
# we need this because cargo verifies checksums of all files in vendor
# crates when it builds and gives us no way to override or update the
# file sanely... so just clear out the file list
_clear_vendor_checksums() {
sed -i 's/\("files":{\)[^}]*/\1/' third_party/rust/$1/.cargo-checksum.json
}
post_extract() {
if [ "$XBPS_TARGET_LIBC" = musl ]; then
case "$XBPS_TARGET_MACHINE" in
*-musl)
cp "${FILESDIR}/stab.h" toolkit/crashreporter/google-breakpad/src/
fi
# Google API key (see http://www.chromium.org/developers/how-tos/api-keys)
# Note: This is for Void Linux use ONLY.
echo -n "AIzaSyCIFdBA7eQP43R6kXRwTq7j6Mvj1ITze90" > google-api-key
;;
esac
# Mozilla API keys (see https://location.services.mozilla.com/api)
# Note: This is for Void Linux use ONLY.
@ -63,20 +68,20 @@ post_extract() {
post_patch() {
_clear_vendor_checksums num-traits
_clear_vendor_checksums glslopt
}
do_build() {
cp ${FILESDIR}/mozconfig .mozconfig
if [ "$XBPS_TARGET_LIBC" = musl ]; then
echo "ac_add_options --disable-jemalloc" >>.mozconfig
echo "ac_add_options --disable-gold" >>.mozconfig
echo "ac_add_options --enable-release" >>.mozconfig
fi
cp "${FILESDIR}/mozconfig" "${wrksrc}/.mozconfig"
case "$XBPS_TARGET_MACHINE" in
arm*|x86_64*|i686*)
*-musl)
echo "ac_add_options --disable-jemalloc" >>.mozconfig
echo "ac_add_options --disable-gold" >>.mozconfig
;;
esac
case "$XBPS_TARGET_MACHINE" in
x86_64*|i686*|arm*)
echo "ac_add_options --disable-elf-hack" >>.mozconfig
;;
esac
@ -98,16 +103,17 @@ do_build() {
export BINDGEN_CFLAGS="--target=$XBPS_CROSS_TRIPLET \
--sysroot=${XBPS_CROSS_BASE} ${BINDGEN_INCLUDE_FLAGS}"
export HOST_CC="${CC_host}"
export HOST_CC=cc
export TARGET_CC="${CC}"
export HOST_CFLAGS="${XBPS_CFLAGS}"
export HOST_CXXFLAGS="${XBPS_CXXFLAGS}"
echo "ac_cv_sqlite_secure_delete=yes" >> .mozconfig
echo "ac_cv_sqlite_threadsafe=yes" >> .mozconfig
echo "ac_cv_sqlite_enable_fts3=yes" >> .mozconfig
echo "ac_cv_sqlite_dbstat_vtab=yes" >> .mozconfig
echo "ac_cv_sqlite_enable_unlock_notify=yes" >> .mozconfig
echo "ac_cv_prog_hostcxx_works=1" >> .mozconfig
export ac_cv_sqlite_secure_delete=yes \
ac_cv_sqlite_threadsafe=yes \
ac_cv_sqlite_enable_fts3=yes \
ac_cv_sqlite_dbstat_vtab=yes \
ac_cv_sqlite_enable_unlock_notify=yes \
ac_cv_prog_hostcxx_works=1
echo "ac_add_options --target=$XBPS_CROSS_TRIPLET" >>.mozconfig
echo "ac_add_options --host=$XBPS_TRIPLET" >>.mozconfig
else
@ -126,19 +132,18 @@ do_build() {
# work around large debug symbols on 32-bit hosts
if [ "$XBPS_WORDSIZE" = "32" ]; then
export CFLAGS="${CFLAGS/-g/-g1}"
export CXXFLAGS="${CXXFLAGS/-g/-g1}"
echo "ac_add_options --disable-debug-symbols" >>.mozconfig
echo "ac_add_options --disable-debug" >>.mozconfig
export LDFLAGS+=" -Wl,--no-keep-memory"
# patch the rust debug level, this is hardcoded
sed -i "s/debug_info = '2'/debug_info = '1'/" \
vsed -i 's/debug_info = "2"/debug_info = "0"/' \
build/moz.configure/toolchain.configure
fi
# FIXME: incompatible with rust 1.48 in this release
#case "$XBPS_TARGET_MACHINE" in
#aarch64*|i686*|x86_64*)
# echo "ac_add_options --enable-rust-simd" >>.mozconfig ;;
#esac
case "$XBPS_TARGET_MACHINE" in
aarch64*|i686*|x86_64*)
echo "ac_add_options --enable-rust-simd" >>.mozconfig ;;
esac
export LDFLAGS+=" -Wl,-rpath=/usr/lib/firefox"
@ -153,9 +158,7 @@ do_build() {
export AS=$CC
cat >>.mozconfig <<EOF
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"
cat <<! >>.mozconfig
ac_add_options --with-mozilla-api-keyfile="${wrksrc}/mozilla-api-key"
ac_add_options $(vopt_enable alsa)
ac_add_options $(vopt_enable jack)
@ -164,42 +167,28 @@ ac_add_options $(vopt_enable dbus)
ac_add_options $(vopt_enable dbus necko-wifi)
ac_add_options $(vopt_enable pulseaudio)
ac_add_options --enable-default-toolkit=$(vopt_if wayland 'cairo-gtk3-wayland' 'cairo-gtk3')
EOF
!
rm -f old-configure
./mach build
# Make langpacks for all languages
dir=$(ls -d obj-*/browser/locales)
cd ${wrksrc}/${dir}
for lang in ${languages[*]}; do
msg_normal "Making langpack for ${lang} ...\n"
make ${makejobs} langpack-${lang} LOCALE_MERGEDIR=.
done
}
do_install() {
export MACH_USE_SYSTEM_PYTHON=1
DESTDIR="$DESTDIR" ./mach install
vbin ${FILESDIR}/firefox-wayland
vinstall ${FILESDIR}/vendor.js 644 usr/lib/firefox/browser/defaults/preferences
vinstall taskcluster/docker/firefox-snap/firefox.desktop 644 usr/share/applications
for i in 16x16 22x22 24x24 32x32 48x48 256x256; do
for i in 16x16 22x22 24x24 32x32 48x48 128x128 256x256; do
vinstall ${wrksrc}/browser/branding/official/default${i%x*}.png 644 \
usr/share/icons/hicolor/${i}/apps firefox.png
done
vinstall ${wrksrc}/browser/branding/official/default256.png 644 \
usr/share/pixmaps firefox.png
# Use system-provided dictionaries
rm -rf ${DESTDIR}/usr/lib/firefox/{dictionaries,hyphenation}
ln -s /usr/share/hunspell ${DESTDIR}/usr/lib/firefox/dictionaries
ln -s /usr/share/hyphen ${DESTDIR}/usr/lib/firefox/hyphenation
# We don't want the development stuff
rm -rf ${DESTDIR}/usr/{include,lib/firefox-devel,share/idl}
# https://bugzilla.mozilla.org/show_bug.cgi?id=658850
ln -sf firefox ${DESTDIR}/usr/lib/firefox/firefox-bin
# Remove the development files - noone uses them
rm -rf ${DESTDIR}/usr/{include,lib/firefox-devel,share/idl}
vbin ${FILESDIR}/firefox-wayland
}