From 6384016299464666803cbdc7c29f14cbf041bf7a Mon Sep 17 00:00:00 2001 From: Johannes Daniel Nuemm Date: Thu, 18 Nov 2021 18:33:41 +0100 Subject: [PATCH 1/2] firefox-esr: update to 91.3.0. --- srcpkgs/firefox-esr/files/mozconfig | 1 + srcpkgs/firefox-esr/files/vendor.js | 2 +- .../patches/avoid-redefinition.patch | 15 + srcpkgs/firefox-esr/patches/fix-cross.patch | 16 - .../patches/fix-fortify-inline.patch | 11 - .../firefox-esr/patches/fix-i386-fdlibm.patch | 18 + .../firefox-esr/patches/fix-python3.10.patch | 826 ------------------ .../firefox-esr/patches/fix-wasm-arm.patch | 15 - .../patches/fix-webrtc-glibcisms.patch | 4 +- .../firefox-esr/patches/flac-no-ffvpx.patch | 5 +- .../patches/musl-rust.configure.patch | 26 - .../firefox-esr/patches/rust-configure.patch | 132 ++- .../firefox-esr/patches/rust-has-i128.patch | 21 - .../firefox-esr/patches/sandbox-fork.patch | 4 +- srcpkgs/firefox-esr/patches/sndio.patch | 14 +- srcpkgs/firefox-esr/template | 127 ++- 16 files changed, 208 insertions(+), 1029 deletions(-) create mode 100644 srcpkgs/firefox-esr/patches/avoid-redefinition.patch delete mode 100644 srcpkgs/firefox-esr/patches/fix-cross.patch delete mode 100644 srcpkgs/firefox-esr/patches/fix-fortify-inline.patch create mode 100644 srcpkgs/firefox-esr/patches/fix-i386-fdlibm.patch delete mode 100644 srcpkgs/firefox-esr/patches/fix-python3.10.patch delete mode 100644 srcpkgs/firefox-esr/patches/fix-wasm-arm.patch delete mode 100644 srcpkgs/firefox-esr/patches/musl-rust.configure.patch delete mode 100644 srcpkgs/firefox-esr/patches/rust-has-i128.patch diff --git a/srcpkgs/firefox-esr/files/mozconfig b/srcpkgs/firefox-esr/files/mozconfig index 708ee9eded9b..fa5a7a42e04b 100644 --- a/srcpkgs/firefox-esr/files/mozconfig +++ b/srcpkgs/firefox-esr/files/mozconfig @@ -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 diff --git a/srcpkgs/firefox-esr/files/vendor.js b/srcpkgs/firefox-esr/files/vendor.js index d8d606bc15d7..5be4f1b5f3ff 100644 --- a/srcpkgs/firefox-esr/files/vendor.js +++ b/srcpkgs/firefox-esr/files/vendor.js @@ -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); diff --git a/srcpkgs/firefox-esr/patches/avoid-redefinition.patch b/srcpkgs/firefox-esr/patches/avoid-redefinition.patch new file mode 100644 index 000000000000..867d37c62a90 --- /dev/null +++ b/srcpkgs/firefox-esr/patches/avoid-redefinition.patch @@ -0,0 +1,15 @@ +Author: Rasmus Thomsen +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 + #include "addrs-netlink.h" + #include + #include diff --git a/srcpkgs/firefox-esr/patches/fix-cross.patch b/srcpkgs/firefox-esr/patches/fix-cross.patch deleted file mode 100644 index fad8f9060c46..000000000000 --- a/srcpkgs/firefox-esr/patches/fix-cross.patch +++ /dev/null @@ -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) diff --git a/srcpkgs/firefox-esr/patches/fix-fortify-inline.patch b/srcpkgs/firefox-esr/patches/fix-fortify-inline.patch deleted file mode 100644 index 2498c57fc738..000000000000 --- a/srcpkgs/firefox-esr/patches/fix-fortify-inline.patch +++ /dev/null @@ -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_ */ diff --git a/srcpkgs/firefox-esr/patches/fix-i386-fdlibm.patch b/srcpkgs/firefox-esr/patches/fix-i386-fdlibm.patch new file mode 100644 index 000000000000..831e5e03678d --- /dev/null +++ b/srcpkgs/firefox-esr/patches/fix-i386-fdlibm.patch @@ -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; + + /* diff --git a/srcpkgs/firefox-esr/patches/fix-python3.10.patch b/srcpkgs/firefox-esr/patches/fix-python3.10.patch deleted file mode 100644 index 143e58782581..000000000000 --- a/srcpkgs/firefox-esr/patches/fix-python3.10.patch +++ /dev/null @@ -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) diff --git a/srcpkgs/firefox-esr/patches/fix-wasm-arm.patch b/srcpkgs/firefox-esr/patches/fix-wasm-arm.patch deleted file mode 100644 index a6035e876163..000000000000 --- a/srcpkgs/firefox-esr/patches/fix-wasm-arm.patch +++ /dev/null @@ -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 diff --git a/srcpkgs/firefox-esr/patches/fix-webrtc-glibcisms.patch b/srcpkgs/firefox-esr/patches/fix-webrtc-glibcisms.patch index 70910da5861e..5d17021a99f4 100644 --- a/srcpkgs/firefox-esr/patches/fix-webrtc-glibcisms.patch +++ b/srcpkgs/firefox-esr/patches/fix-webrtc-glibcisms.patch @@ -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 diff --git a/srcpkgs/firefox-esr/patches/flac-no-ffvpx.patch b/srcpkgs/firefox-esr/patches/flac-no-ffvpx.patch index 154aad63e33a..ebf48deb9720 100644 --- a/srcpkgs/firefox-esr/patches/flac-no-ffvpx.patch +++ b/srcpkgs/firefox-esr/patches/flac-no-ffvpx.patch @@ -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 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; diff --git a/srcpkgs/firefox-esr/patches/musl-rust.configure.patch b/srcpkgs/firefox-esr/patches/musl-rust.configure.patch deleted file mode 100644 index 0b2f7dee1d3c..000000000000 --- a/srcpkgs/firefox-esr/patches/musl-rust.configure.patch +++ /dev/null @@ -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] diff --git a/srcpkgs/firefox-esr/patches/rust-configure.patch b/srcpkgs/firefox-esr/patches/rust-configure.patch index 07b98d6c7cae..61fb2ba891d9 100644 --- a/srcpkgs/firefox-esr/patches/rust-configure.patch +++ b/srcpkgs/firefox-esr/patches/rust-configure.patch @@ -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 + +- ++@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'] - os.write(in_fd, source) - os.close(in_fd) + 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) - -- cmd = [ -- rustc, -- '--crate-type', 'staticlib', -- target_arg, -- '-o', out_path, -- in_path, -- ] +- cmd = [ +- rustc, +- "--crate-type", +- "staticlib", +- target_arg, +- "-o", +- out_path, +- in_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: +- 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) +- 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 + + diff --git a/srcpkgs/firefox-esr/patches/rust-has-i128.patch b/srcpkgs/firefox-esr/patches/rust-has-i128.patch deleted file mode 100644 index c25a185c1c11..000000000000 --- a/srcpkgs/firefox-esr/patches/rust-has-i128.patch +++ /dev/null @@ -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"); - } diff --git a/srcpkgs/firefox-esr/patches/sandbox-fork.patch b/srcpkgs/firefox-esr/patches/sandbox-fork.patch index 328943cb0013..d4584e74b91c 100644 --- a/srcpkgs/firefox-esr/patches/sandbox-fork.patch +++ b/srcpkgs/firefox-esr/patches/sandbox-fork.patch @@ -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: diff --git a/srcpkgs/firefox-esr/patches/sndio.patch b/srcpkgs/firefox-esr/patches/sndio.patch index 959fc1ec913a..68628bea8d8f 100644 --- a/srcpkgs/firefox-esr/patches/sndio.patch +++ b/srcpkgs/firefox-esr/patches/sndio.patch @@ -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", diff --git a/srcpkgs/firefox-esr/template b/srcpkgs/firefox-esr/template index 33fa4dfaf2a0..35e7b0be93c8 100644 --- a/srcpkgs/firefox-esr/template +++ b/srcpkgs/firefox-esr/template @@ -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 " +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 " -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 + +# 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 +# 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 + cp "${FILESDIR}/mozconfig" "${wrksrc}/.mozconfig" - if [ "$XBPS_TARGET_LIBC" = musl ]; then + case "$XBPS_TARGET_MACHINE" in + *-musl) echo "ac_add_options --disable-jemalloc" >>.mozconfig echo "ac_add_options --disable-gold" >>.mozconfig - echo "ac_add_options --enable-release" >>.mozconfig - fi + ;; + esac case "$XBPS_TARGET_MACHINE" in - arm*|x86_64*|i686*) + 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 <>.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 } From 6ec1e0398557f34ad2d470f1c37ae0db57cbef8d Mon Sep 17 00:00:00 2001 From: Johannes Daniel Nuemm Date: Sat, 20 Nov 2021 15:13:43 +0100 Subject: [PATCH 2/2] firefox-esr-i18n: update to 91.3.0. --- srcpkgs/firefox-esr-i18n/template | 188 +++++++++++++++--------------- 1 file changed, 94 insertions(+), 94 deletions(-) diff --git a/srcpkgs/firefox-esr-i18n/template b/srcpkgs/firefox-esr-i18n/template index 258494c4a723..51583fb80e9b 100644 --- a/srcpkgs/firefox-esr-i18n/template +++ b/srcpkgs/firefox-esr-i18n/template @@ -1,6 +1,6 @@ # Template file for 'firefox-esr-i18n' pkgname=firefox-esr-i18n -version=78.14.0 +version=91.3.0 revision=1 build_style=meta short_desc="Firefox ESR language packs" @@ -135,96 +135,96 @@ _pkgtmpl() { } } -checksum="6e91070c0ee58852ac3b8c8f0ac9620289ca4e200b8074dee8449374301616d1 - 764a7f3a61f0d1b50fdc6dc313f7651e8aa62df4e8883af1a6ef4d18750909c7 - 941ab61c6cb0d52c0e348e080e769cfebe2364eb8cf24a94f625b57f84ba17f1 - a0e0649532c34ccdc1abe1cc1215e66186df8d9d484dfc4337df92151629e04d - 6c21635e8b1293f9b6b8acdcebd372574610ba535d35f21cf77c73bffb88dd92 - 71d4a6b25d6f18e207c7749f8e50a70a122acea8208c9940c8c882cea7435e0d - 37209366ed7a66ad7710f268d326a79198c0e9459f751776cf74cb5e5b181d08 - 7638eafa83ac00c88f4410bd67d997570f2635cfc9e7448389ad73e9330b2141 - 3d0e276f98253020935fdec54d906633992848acd4a14d3c48f30fbc6d58c752 - 0b8073a34cd6c62ed8a32c5a0d04a715839b7421a4a681c69bcf9c5d3b0b257d - 39ee3a5be8fead6f9d69e151107402e234ba6ccd6052573ec48ce71c7d63c964 - 04d517783ec518afc6550b7ca7b591fb17967d8f1c47cfd552b7aeab3d7239c1 - d87112e2791a3fc49c33e4a4be445bebe64d69894a472d0c3f063129294c321f - e8ab1a8f936f9f8b554573b9b65d8b3377f6fcc6256087424866d3c93dc4bd31 - 518232ababbf0a4f8d5c9aea0e21a2d019b781988bc448a20066b9798bf79a7e - 50d1fc49591b2a4211337034f036725bf6d0d1816cf54b5a7c4091af504541bc - f61902d98456796d545a9cfcc3362c682b9938bdfdb6b5d4b9184cc33efbb481 - c254eed182b5c49b52dcea39f8a4af0c14ecece14ea1fb02fe75770fda4dcec1 - 8c9ba5f38c939166fa557e7fc2de1e7880719e4671d3e35d7f0902d7367a759e - a76a8263887dc89c4f5cc4cfd70eb36406fddd8e9d569bb62ab82fc68849a655 - e6d33c3f1d0173886bf9118695fa9b613b99fdb5777b2582c2d43827e08732fa - f524faec3cbf044e2082306decd1f6c4737a6babc4a5886b50de71c6a1482de2 - e1ad21912117ed7019498a2a0f65db03ebace025fbd7119f2632f580e1bfdfc6 - 586538a8b5a643329e21a0e66244dc30c5b065684c37c06d92ccfc244bb117a6 - 741c5c34ef55bdd3484f32aa11ce96230a4ad94be929fc3219935d09c22dac09 - 557233773969799d2b946a68e732c55ff4b901d5a1cf45552ab1bb6801024e01 - 8aa1bf00d7e97981dc0933dbe4f886ac9f9e1569f5b60ae219c50a7e82d6e81f - 1cffa9258de8c892eaf13dc6fcb0883b2bcd418af567d6685eb0b89ada1b6260 - c5b3271069de86cc1713c9a93d4be1941792a55b7831a191369935b18d450fd1 - 00338ba5f470c3d4171d271b97692f6e66f94579709395f7409f4b535cbee1c3 - 1708326197664159d86812e28084975f63ae8112b2d805e62f4acb741bae803b - 1c86c059ec1ca13904d40fe121cab5ed502f829533fb0ef649396cd5d94e074e - 6b7885a7cb52c6a74064bc83f7f1d4117994bda1487255f1d91cb6d663149073 - d3b14f75fc0da0940a540afb402f41f097ecaa281f5decbcbc6a05ca0e102283 - c2dd8a7920c1baa2a13af9cc13b523c9162c213c79b063e1b2bb41290c5938f2 - ef7e94deeb31bfc0edec3265de05bf1881bf4c9b348f9ba539f0e4b74368225e - f8031fbc3b85324ad05e415a0cdf8c189ed95bf6fd4a793e3d5f7b8e1e361966 - 138c430787462e3e77e87ae86178a663777a970c5a3bcc6236d0e5042a958c1e - 49d98fdbbee4998a856634e4556a4ea1bda13ee60ea328accd381a3eb0ce1196 - 27ed18424e42b98b213714f864216be9eff08a5ed910be69b6dd82b9ec592ca9 - dc4cf3f9d0c9104d615e1760eae09326605b31a4efb69938cffbf553dec0d0a2 - 6db58cccd8cc96014ce481225b34a5d2bcbe4766ceca676bb6b56ee53a31fcd1 - ac10d3163d8d50746d3f2bbee8309508297654a5f5f40d003631cecd9920e8ce - d4c03de6fce7abc8ce0c98547c45fed6c44229fe0737dd514c0681dc31e37cde - 8ea5624f13b33073b704a5f967075c29ccfa64b9985432407b656a66a6e47b64 - f7b8654b8d5d0b5513bfaa4ce1ab171ce4b63aed297be7c416df42a5e127c370 - a7e805711ef4fdbe402bef807a5a8af92af99448366f34d61ba9e3d8d267c1f8 - 4fb10b2d88af4ce05b685562a07cb8fd29cfe0a479472d6c156799c83e2bf579 - 4398447f5f86446095f5f361ecc80750d0d6fbed6aa1cf85afe594beb2687c88 - fd87b2fda7d00d6e981d5eba8dccce8d1a30a5582a2c7dcf746d06233b45c18b - 0436bf7c162632dbe4c64d15401b5f5c42feaf723ea67cf05a9e316dea14abaf - f8998bb3b5761a00a57ae042422779f05034dd69f3196fb828aaf75e5e3b6337 - c37bb2c9bc3184d7ad4ecd5849d0c2a5e77c4d7ec4afc0844feb9f3ad757d1d5 - f371deedf56b3f255379ca97aa6dafa47dceee58fd6d16193f186dbab7465ad1 - c76bc59d2208494f09bdfb4d96ac9a7ed5f1a638e54dbfeea450a69b58880f6d - 16bb969ac6361be47396433559096a37d6cca1f05bedd9e366515b8a34ad8c1b - e1c1100b75b1a15616e646289785673b3e8f8a7e22386dc77aa18016f7ea4934 - a5b8b2baff1adf9eda601210d86aacc933c4228611bc45d1a6df8433ca6ef946 - 0b3fea009c5add84a640fbae307d591714f01229f57f43257fa6c2e19b464b5f - 9d30fa8a25a24c524d1e23a06689dd2f830aebbca92f0f77f72c3728efa1d960 - 4591f36f1ee21dfe64710f5027549591cecb952c1d4e67d4ef70038c63194874 - 716ad69bb9e3f06e6d00acc34be816072e0dd1d96715ee0d7906beed94ee4732 - 316d93e9dd34495b156cc625b5a4077d427cf809ade0e0f810ae35bb16766bf6 - 30ea50cd8518bb7e5339111eafd0af87a35dd930efc1e635760d3e4627ef7554 - d99bf09e2cc94cbf752a144e6c0cb47f51eb5f6785709af2410ce6177dee20de - 6355fd36f28b81ef08b6a038cf6b3dc7bd22b36bb135473fc259453bd73c1432 - ef8b8b7d79e8d9ea8c2a44193498d4887d1ce1ed5bd66373422b68e86f81b3d1 - 5607e93a36a9dcf78000fab7b69e4bba868654a6a1b0f9d516ed4463c490f57a - e0ecd0dd559c050f4f1e8db8e94b7db84ab73e3417658ef8374b5f116050d530 - c5fe51c00538aa8241b94c1a4297a66ea10cd54bdf71d90253ace7c731ba9fbe - a335ec53c6dcdf7a464d3b5277921c53461f91e2f9a03ec5d08daa72b1600efc - 8f8a52f9e80c985ac16cae526a68aa08e2869fcaf1acfef9438b587ccc51941f - 56fc9691d438f2d120a8d769896cba6132ce2c1b4a1a36b64eb8504987c6579b - 10ba83c6355c6f7ffee301c28940d98249c06e8f36d0c728d448244b144d4f3c - 407a2137aecb233bcb357cfe20c798e3fb37c1d715d98d5f290fdd0770c15ef6 - a175a2046c88f70d5758dc8dbe2c418152fe4e4b008ca4cd0c3e5ac6de13290c - 35c87e3ad5dad7736036edcf35b1c2f33a4f46df41d0b802e136ee13faead1fc - c56ebb4f1d1b887a829ba460fb03c474cb67b470b8f938ff8a32da1d58fc48fb - aebab0123ce77668cff72bb095d2ac30621868782c4fc93b52a5f8576d3a8871 - bb08adf26a85f7406dc996b89a487c5fa0d3c0e4305fa4c533841b41076bd507 - c6c8a8307e332639c7bc9ef840b09cd4c861c1bd943b7c66c1b444c245c1cf93 - d0c7ebd30244c515e1be32f623d338cc4d615d36dae162f82c707ba69da3f484 - 947e7d619562722590db3826cf101d778a26e7aed70d8e9ead439c05e6f809bf - 574b1e04824158e5a0957438ee6286adeb1cb42fe646ca42ff75c1c86e3ad17d - 099c671e44e2469c0dd346b3d4c51311309628b96b35f1208e0963d8cf3498c4 - 87d11612ee4d7fb05ba8e409b8b26bcf5e0c210a2da12de71aa97d7ff25a1c0a - bb9d38cfd9f739f0051508527a9a53c6ad45f4c6f6ca1d47cca3b0564e732817 - f9fd22a7b66d45475e817bb9c045b46d4d819b9b608b64987c43935f51de40f8 - b587c932a5c493f4f7572ca15c43af2efb2611f827194b73a695b9d504f5e89e - 861fe37d11daf1b0d789a910ba951b7826e69e0f8f222df15df156dfb9144821 - e5af78b8e3851e057e36e562914907fe6eab527885f671f8b68b447304c804f8 - 1211d210260ad788b85c72a0ec3eac9904de5c61426ef4fe5ccce5b3e0de536f - 5d0170365a32c1df7a4504430d547d7b9b7626715ba52d00334717ed5696a7f4" +checksum="0eee1b17b1f5aed676a2a494cf29b5e5d3d2698728a35eba08e66571d8c84c14 + bff092f5e1bc8e01e3d88fad4f6121f71c6df9f3f68a0437ef0a14050c7e3b42 + 71498faef46ff645bbbac526bb66b1cbca34c2b7022ac570a4796c6a39a8975f + bd99f9ada2c8248ee1239aa95f448804ec9686a73a28045bf05689d6919fbfcd + 467e04bd6eecf14f1b565ee9b89161873d205f54076d94d41a8bfc6fa2a58996 + 9881874658e6066b366a0a0f6140141caa165c1830f74947270c52c06cb38fa8 + a9c1c955fb11c7f473ea615c917804cbba1cc1c87b027b581f5c8a738f1a34fb + c61f578136c998d7fcfe157dd85637d536da4593a4f8fa90ffc5fe94bba9a803 + 47ce84a0d744c33049a6e081bd8d65dac515237e5298ff9fc424a1bc4700cc92 + 08f6eb5779f4399fdf0a8132dc92438e974cd3dcb4c5438fb587db876ee889ec + e16ed1906c49edfaaa233338bfd6eaf9e4f2113260a5682d4fdd9e9ce71b017e + ddb25de3a9e4cc3e282ffe270e62c13287a016e3c0d676cf8242b6d93afccaf5 + 9ad51c6346e7d70a94277eaf7146fa11199b2ab40d91653d6abf0d374f7134fd + 64ad0267457678a7b6f2b3e452f3678a3aaf14bfb905f4f78ce4d99e06312c37 + 91df48c9b6ae23e9e94641b98a0ba978f308cfd72236f0a0b9fa712e026cc71d + 52e87048120243092d77f79aa33852b57f6aec875b44cc7f321abd50f88afe7d + a98a26d0a50af7fec7a95f138d724ef67f309303a0df8067c0755c139b254aee + 126894015f17d908062f1600c7d8fa4010b8ed70d206bffc4a408b43356ea3d4 + 22180f6601376b132f2f46eb08a4ecb3c484e76bb90587764addd5d0647029ea + cbb323b2b1133d8290b991b79008ee8471a916c5ba542ca8e359770c19d4759a + b3015a7dbf693ce9ef44c6f3b8f7c0f043bb13474e4144159cc26a65cbb23521 + 2ab851974bdbb5b914acd44edfd6ef2adf4d0d83b872a8adb8b2b64d620b27fc + 234ecc57e99be39aa51ab5e5e5b238a9c5857fd366f69cdf160efd25237d0496 + e627aa9ee85e449ced2e655f45ab60e1372a36f4b9ff8543839a864766718569 + de9b1a64b01fd15ff6b89d6ccc93451e1f11216b07dc5e6fa05268c3e926cae1 + 2ca889180191d8183e052c9df3c377600fcae622f7649ab488a3c1a5a1cd8d5b + 3b95aace3579b535a55128b9959979a61dba22bcdb195e362ceeb7526407c77a + 49154388549a9c5db321ebb7d327708a7bf4b36de39cdf0d93d3b88cee077fb3 + 9f2b35bc942ca69cb498c2752a234f58a1a765ce30563589c720a755bf29e655 + e10a8e72f0b6aa267a4a3e51708c86c21d9b92ddfac28d1f2d68a8b21729ca8c + 09a1e51ba668959331ac46041a76cc15f345b8634a642918544c0158777dd989 + 7792bbcc9a1ddcfca8968cea5bcaae250095b5a46fde5d51a48d4426b4c6f5d2 + 638c665557ef6556a5bbb2c9f79fca780a081226dbd5a465e7615f055a117748 + 9c3b45900a28ab3efb5b3bb52daebacc1dd3a246936b745fff676e6c3fd251fd + 7bcbba3e353cc7a0344302db8a9888f606e28e8c2f11f4f88dde52fba69b43c4 + 62383ba98a16964ce6ef2bde878515505965cfded17b69e477d3671e1a942fef + dcc2212529bea4e8b21bedf3ceefeec1a798818005d526d6d18cabecdff230e1 + 5d0c64cec6aafcf478b57c26640e18cfae6928d5ae705b9a82337559389a57fe + dab730eab216c2cb0a1672a21e78fbf93c672498d5e36781b1c68050ae8431d9 + e9296fdadb84d3462f63a06e9e72e3d7c1e6df95870a6f303b498fb115e8ac6b + 519f1afe2b1a6747e26718f28b39d27f5d0188bc85ed906b54d18cbca6a67ec7 + e90fdd34d1d4612bd1a7a81ca3275be2dada26862944b4caeb356482596f591a + 83142afa82a9db327475afcc3318882fd8a26d81bc946749d57eb3923c5f489b + 027604328860d5bc938ac9564aae8957308da5b9ec05cd3984856da1c2af3ea0 + a7028398816ae2334bf94c66efe429d981a48b790286d27fdc25f3388720e62c + 9224a7e0f1ceecdf4c7f77fdeb510100419f9e805e0b204f0c59d36275f6d925 + 8af990a6fb805f552643b6ee38d178d2f75bd169802cec178175c8005bc77b37 + b629886a47facaf7fad105b7ee9dc98b470670b25b575e51710d876235209674 + 31fc7f882b79c4d91d270bcc8e5b2fa7066f21d6c8a5d4d491d7896e49202f06 + fd7e5dc510770cc601f9ed4e174b8585ef28316f660379235245f10cc0c6bc3e + e0ac6d1626c1dfa05bcf6298919aeee4fa6904d4a347608d729e38ead4baf120 + fe05e00413a2905f3f25d65d635655cf9e37d62fec5d0d235ea5cc7fa08ee1fd + 20ff2c930b732082a44020fdebc588ac069264ead48fa0f9ace5aea4210b046f + 4346e474009cbb630392ed0583c65448ee577a71403cb164e904a99bf6e819c2 + f48ac2e2725c83c82af0374b5aa7a1da270bf25ea696c533c981d34518746fbd + e520a79ebdec829889a2225079ea7081bfa153ccf71024a9617625b88923d011 + feb471682e8aa79cdc410c053bd2763878275f1abff17bcb1783798ee264b6be + f98a07ccb4806ddfef815712756f06b82543dd13483abe9865434d4c247fa2b0 + 17f6388807ec48a8419dcc67381f8d8a5aadd467ed7d6c386ff56173e645633c + f7aab2c51a78cac47270bd37c9b545fe07b08429299d8fdc27b087ccbb4108f1 + 0dd59e9a669894d9ae82c50f2ee04495922aa6f45780b51df089706c7ba9cbcc + 7579ce83f088693989326b7166f66a3808398be81b922361556c3efbc8a8c08a + f07e95eea11c8f6e516c0fdb33038c321ae8aa27ac81f5c6773cf3104e967a19 + 5e247f86c15a267ac017dfcf73395ed3104f407c96bb606e34070332e2b26050 + 8b61a367a186feca735487d9f62f0de7865d1a678e7e9f990ad31945bab10eb7 + 080f150e066508946482e78dcc714c9fb3b63a7975f66ceba018ffc5bc65a833 + e9f5b74a2856fc009c3139164872ccbe284618d7fc1fa59c16575c82cda8491e + 80c50b252b4bc0c00a336a9bdbfb05e7c510f4ad1ae6c64f92f6f6a037f9d762 + 85596a73a957ff80d403d691cbc96724bae7186e1358f85c3ef21c501b033ad1 + 81277a3e8b896e760ef75ad90c197818aa3395abf017b7560db5b189302d8e1d + 733de2df49762e7c6e16a02acbfe409869ec61f071364d0bbe8cbee43f350c07 + b8d634c6ce7b03bc78c02480d82a4effbec46119cd8a6c7a0fbfbdbd7f8bee93 + f68c8c8de23ec4eae407e44176df77b48146a2bd6de4edbcf6eca33f3cf93cb2 + da5b8d10bfae987051f978f5f5707c9532c124233929402249ac99fe027c4c56 + 5a00221c264e06b04476acf4098eb9a5813eaebd38d35527652ae757bd7ac819 + 849872f1edf674b5200c35b05375a23ae56437e8ec1f5cbbd8cd4470127896d1 + c37075191481a93fd82c3ec12cb5ed81682eff4722e1d519287535e959a46379 + 286fd2991570be7813a7372b0651ee84de3e94e12b41e906de380573c05b75a9 + 8f367feebd634b1cdd004c0c448fed8473f780511f525eba7a902753d873b63a + f58b3eb8dbf4b214cd6de44ffc23ddddd2a2e61ba4f2b21eb1ae134669e3e19a + c527ca276d7c2b676e89030a36b1b0d2eb30eb986849d1ecc3c7fc90ed1b5b22 + 893484fbfa297fc87733918620f94629f2baee5d747b8cbcef4ff5268d0b8d3e + 11a46dde2f4e32c7ba5498195973e26dd757e6eb6f81717259062a92c0bc6cc0 + 0bca99ff50cb7105bbaba19b345c933b9e4902a92e439bc1bddc8db210a0416e + 07536a87813be5de3f2d7b9828b9d846daa4656ed983ef8321496d63d74ed55f + bf57e98659c357fb4223d1320d445ad58cb75a5327eceecc9deef4f81b713388 + 795322220ec8916e15938637d3d0ee0fedc876e6020a5e8d26d8281829b7a609 + 0b4327c104f159202f4d0ec2c4af3f742551322ea7880194cb4d5eb2e72efb39 + 9cc3ac6c592f7cc08f5bd0c7285c5de6530a63397212878d69f436f07110049b + c63c170c66b39ad9de3f8f6adc5980c7994ea5ee873140654bdcf12c3bc315d1 + cf94ac6f8728367d485173afc6b17d1687ebb23cb7bc3cf36073ceb0786e6283 + abceb2f7f9ea142c9029344e502cfad821d32960462b9c1747c289db19a652bc + e0eb06bf6818df10345e08ad1431d300bbe26c52f1c1795e95fd157296d3794d"