Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] mozjs78: remove package.
@ 2023-10-09 10:50 mhmdanas
  2023-10-11  7:37 ` classabbyamp
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: mhmdanas @ 2023-10-09 10:50 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1243 bytes --]

There is a new pull request by mhmdanas against master on the void-packages repository

https://github.com/mhmdanas/void-packages remove-mozjs79
https://github.com/void-linux/void-packages/pull/46525

mozjs78: remove package.

<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

Closes #39226.

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/46525.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-remove-mozjs79-46525.patch --]
[-- Type: text/x-diff, Size: 68806 bytes --]

From 56bb83bf56566208b5e2020c1f9afa66e65cf72f Mon Sep 17 00:00:00 2001
From: Mohammed Anas <triallax@tutanota.com>
Date: Mon, 9 Oct 2023 11:42:35 +0100
Subject: [PATCH 1/2] 0ad: remove unused `mozjs78-devel` makedepend.

Uses its own vendored `mozjs78`.
---
 srcpkgs/0ad/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/0ad/template b/srcpkgs/0ad/template
index 597a7082b9389..68cdd1e60d211 100644
--- a/srcpkgs/0ad/template
+++ b/srcpkgs/0ad/template
@@ -6,7 +6,7 @@ archs="x86_64* i686* aarch64* armv7l* ppc64le*"
 hostmakedepends="pkg-config perl cmake python3 rust cargo yasm tar clang"
 makedepends="SDL2-devel boost-devel gloox-devel libcurl-devel libenet-devel
  libopenal-devel libpng-devel libsodium-devel libxml2-devel miniupnpc-devel
- nspr-devel wxWidgets-gtk3-devel fmt-devel mozjs78-devel freetype-devel"
+ nspr-devel wxWidgets-gtk3-devel fmt-devel freetype-devel"
 depends="${pkgname}-data"
 short_desc="Historically-based real-time strategy game"
 maintainer="Helmut Pozimski <helmut@pozimski.eu>"

From e3edacd3ef73089d486cb253d834101ba1c2308a Mon Sep 17 00:00:00 2001
From: Mohammed Anas <triallax@tutanota.com>
Date: Mon, 9 Oct 2023 11:45:52 +0100
Subject: [PATCH 2/2] mozjs78: remove package.

EOL since 2 years and not used by any other template.

Closes #39226.
---
 common/shlibs                                 |   1 -
 srcpkgs/mozjs78-devel                         |   1 -
 .../001-silence-sandbox-violations.patch      |  27 -
 srcpkgs/mozjs78/patches/002-fix-soname.patch  |  22 -
 .../mozjs78/patches/003-fix-wasm-arm.patch    |  16 -
 .../mozjs78/patches/004-fix-musl-build.patch  |  17 -
 .../005-spidermonkey-checks-disable.patch     |  12 -
 .../006-mozjs78.pc-honor-sysroot.patch        |  10 -
 .../patches/007-fix-mips-sgidefs_h.patch      |  11 -
 .../mozjs78/patches/build-non-jit-32bit.patch |  14 -
 srcpkgs/mozjs78/patches/disable-jslint.patch  |  17 -
 ...47c9416f9eebde636e21d794d25d1be8791d.patch |  37 -
 srcpkgs/mozjs78/patches/fix-python3.10.patch  | 826 ------------------
 srcpkgs/mozjs78/patches/fix-rust-target.patch |  15 -
 srcpkgs/mozjs78/patches/python-3.11.patch     | 131 ---
 srcpkgs/mozjs78/patches/rust-configure.patch  |  58 --
 srcpkgs/mozjs78/template                      |  76 --
 srcpkgs/mozjs78/update                        |   1 -
 srcpkgs/removed-packages/template             |   4 +-
 19 files changed, 3 insertions(+), 1293 deletions(-)
 delete mode 120000 srcpkgs/mozjs78-devel
 delete mode 100644 srcpkgs/mozjs78/patches/001-silence-sandbox-violations.patch
 delete mode 100644 srcpkgs/mozjs78/patches/002-fix-soname.patch
 delete mode 100644 srcpkgs/mozjs78/patches/003-fix-wasm-arm.patch
 delete mode 100644 srcpkgs/mozjs78/patches/004-fix-musl-build.patch
 delete mode 100644 srcpkgs/mozjs78/patches/005-spidermonkey-checks-disable.patch
 delete mode 100644 srcpkgs/mozjs78/patches/006-mozjs78.pc-honor-sysroot.patch
 delete mode 100644 srcpkgs/mozjs78/patches/007-fix-mips-sgidefs_h.patch
 delete mode 100644 srcpkgs/mozjs78/patches/build-non-jit-32bit.patch
 delete mode 100644 srcpkgs/mozjs78/patches/disable-jslint.patch
 delete mode 100644 srcpkgs/mozjs78/patches/fd6847c9416f9eebde636e21d794d25d1be8791d.patch
 delete mode 100644 srcpkgs/mozjs78/patches/fix-python3.10.patch
 delete mode 100644 srcpkgs/mozjs78/patches/fix-rust-target.patch
 delete mode 100644 srcpkgs/mozjs78/patches/python-3.11.patch
 delete mode 100644 srcpkgs/mozjs78/patches/rust-configure.patch
 delete mode 100644 srcpkgs/mozjs78/template
 delete mode 100644 srcpkgs/mozjs78/update

diff --git a/common/shlibs b/common/shlibs
index c2b72edb77cd2..d33327ed8a3e6 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3458,7 +3458,6 @@ libmysqlpp.so.3 mysql++-3.2.5_1
 libKF5Syndication.so.5 syndication-5.50.0_1
 liblqr-1.so.0 liblqr-0.4.2_1
 libmozjs-102.so.0 mozjs102-102.3.0_1
-libmozjs-78.so.0 mozjs78-78.1.0_1
 libebur128.so.1 libebur128-1.2.4_1
 libgtksourceview-4.so.0 gtksourceview4-4.0.2_1
 libgtksourceview-5.so.0 gtksourceview5-5.2.0_1
diff --git a/srcpkgs/mozjs78-devel b/srcpkgs/mozjs78-devel
deleted file mode 120000
index 7713599356fd6..0000000000000
--- a/srcpkgs/mozjs78-devel
+++ /dev/null
@@ -1 +0,0 @@
-mozjs78
\ No newline at end of file
diff --git a/srcpkgs/mozjs78/patches/001-silence-sandbox-violations.patch b/srcpkgs/mozjs78/patches/001-silence-sandbox-violations.patch
deleted file mode 100644
index dc01194b646d3..0000000000000
--- a/srcpkgs/mozjs78/patches/001-silence-sandbox-violations.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-"Carried over + updated from mozjs68"
-Upstream: no
-From 9ad10569e11a2fb96377188f895bc66abcc9511d Mon Sep 17 00:00:00 2001
-From: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
-Date: Wed, 5 Sep 2018 15:05:24 +0200
-Subject: [PATCH] silence sandbox violations
-
-Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
----
- python/mozbuild/mozbuild/frontend/emitter.py | 5 -----
- 1 file changed, 5 deletions(-)
-
---- a/python/mozbuild/mozbuild/frontend/emitter.py
-+++ b/python/mozbuild/mozbuild/frontend/emitter.py
-@@ -1239,12 +1239,6 @@ class TreeMetadataEmitter(LoggingMixin):
-                                                  'is a filename, but a directory is required: %s '
-                                                  '(resolved to %s)' % (local_include, full_path),
-                                                  context)
--            if (full_path == context.config.topsrcdir or
--                    full_path == context.config.topobjdir):
--                raise SandboxValidationError(
--                    'Path specified in LOCAL_INCLUDES '
--                    '(%s) resolves to the topsrcdir or topobjdir (%s), which is '
--                    'not allowed' % (local_include, full_path), context)
-             include_obj = LocalInclude(context, local_include)
-             local_includes.append(include_obj.path.full_path)
-             yield include_obj
diff --git a/srcpkgs/mozjs78/patches/002-fix-soname.patch b/srcpkgs/mozjs78/patches/002-fix-soname.patch
deleted file mode 100644
index cc543109398d5..0000000000000
--- a/srcpkgs/mozjs78/patches/002-fix-soname.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-"Carried over from mozjs68"
---- a/js/src/build/Makefile.in
-+++ b/js/src/build/Makefile.in
-@@ -78,6 +78,8 @@
- endif
- ifneq (,$(SHARED_LIBRARY))
- 	$(SYSINSTALL) $(SHARED_LIBRARY) $(DESTDIR)$(libdir)
-+	mv -f $(DESTDIR)$(libdir)/$(SHARED_LIBRARY) $(DESTDIR)$(libdir)/$(SHARED_LIBRARY).0
-+	ln -s $(SHARED_LIBRARY).0 $(DESTDIR)$(libdir)/$(SHARED_LIBRARY)
- ifeq ($(OS_ARCH),Darwin)
- 	install_name_tool -id $(abspath $(libdir)/$(SHARED_LIBRARY)) $(DESTDIR)$(libdir)/$(SHARED_LIBRARY)
- endif
---- a/js/src/build/moz.build
-+++ b/js/src/build/moz.build
-@@ -25,6 +25,7 @@
- if CONFIG['JS_SHARED_LIBRARY']:
-     GeckoSharedLibrary('js', linkage=None)
-     SHARED_LIBRARY_NAME = CONFIG['JS_LIBRARY_NAME']
-+    LDFLAGS += ['-Wl,-soname,lib{}.so.0'.format(SHARED_LIBRARY_NAME)]
- 
-     # Ensure symbol versions of shared library on Linux do not conflict
-     # with those in libxul.
diff --git a/srcpkgs/mozjs78/patches/003-fix-wasm-arm.patch b/srcpkgs/mozjs78/patches/003-fix-wasm-arm.patch
deleted file mode 100644
index 891a7652056ab..0000000000000
--- a/srcpkgs/mozjs78/patches/003-fix-wasm-arm.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-"Taken from firefox-esr"
---- 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>
diff --git a/srcpkgs/mozjs78/patches/004-fix-musl-build.patch b/srcpkgs/mozjs78/patches/004-fix-musl-build.patch
deleted file mode 100644
index f629fa2ac355f..0000000000000
--- a/srcpkgs/mozjs78/patches/004-fix-musl-build.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-"Carried over from mozjs60"
-Upstream: No
-Reason: mozjs68 miscompiles on musl if built with HAVE_THREAD_TLS_KEYWORD:
-https://github.com/void-linux/void-packages/issues/2598
-diff --git a/js/src/old-configure.in b/js/src/old-configure.in
---- a/js/src/old-configure.in
-+++ b/js/src/old-configure.in
-@@ -1272,6 +1272,9 @@
-     *-android*|*-linuxandroid*)
-       :
-       ;;
-+    *-musl*)
-+      :
-+      ;;
-     *)
-       AC_DEFINE(HAVE_THREAD_TLS_KEYWORD)
-       ;;
diff --git a/srcpkgs/mozjs78/patches/005-spidermonkey-checks-disable.patch b/srcpkgs/mozjs78/patches/005-spidermonkey-checks-disable.patch
deleted file mode 100644
index f6eababd1f2f0..0000000000000
--- a/srcpkgs/mozjs78/patches/005-spidermonkey-checks-disable.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Source:Fedora
-Reason: Checks failed(Todo: Figure out why)
-+++ a/config/run_spidermonkey_checks.py
-+++ b/config/run_spidermonkey_checks.py
-@@ -11,5 +11,5 @@
-     for script in scripts:
-         retcode = subprocess.call(
-             [sys.executable, script], cwd=buildconfig.topsrcdir)
--        if retcode != 0:
--            raise Exception(script + " failed")
-+        #if retcode != 0:
-+        #    raise Exception(script + " failed")
diff --git a/srcpkgs/mozjs78/patches/006-mozjs78.pc-honor-sysroot.patch b/srcpkgs/mozjs78/patches/006-mozjs78.pc-honor-sysroot.patch
deleted file mode 100644
index 71214b8eccf9e..0000000000000
--- a/srcpkgs/mozjs78/patches/006-mozjs78.pc-honor-sysroot.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-"Carried over from mozjs60"
-Reason: Fix the '-include' directive, otherwise it tries to use the host's header
---- a/js/src/build/js.pc.in
-+++ b/js/src/build/js.pc.in
-@@ -11,4 +11,4 @@
- # Use -isystem for includes rather than -I, to mark them as "system headers"
- # that don't generate warning diagnostics. For justification, see
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1539036
--Cflags: -include ${includedir}/@JS_LIBRARY_NAME@/js/RequiredDefines.h -isystem ${includedir}/@JS_LIBRARY_NAME@
-+Cflags: -include ${pc_sysrootdir}${includedir}/@JS_LIBRARY_NAME@/js/RequiredDefines.h -isystem ${includedir}/@JS_LIBRARY_NAME@
diff --git a/srcpkgs/mozjs78/patches/007-fix-mips-sgidefs_h.patch b/srcpkgs/mozjs78/patches/007-fix-mips-sgidefs_h.patch
deleted file mode 100644
index abb140233a053..0000000000000
--- a/srcpkgs/mozjs78/patches/007-fix-mips-sgidefs_h.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/mfbt/RandomNum.cpp	2020-04-29 23:49:40.000000000 +0200
-+++ b/mfbt/RandomNum.cpp	2020-08-04 19:29:36.127471301 +0200
-@@ -52,7 +52,7 @@
- #  elif defined(__s390__)
- #    define GETRANDOM_NR 349
- #  elif defined(__mips__)
--#    include <sgidefs.h>
-+#    include <asm/sgidefs.h>
- #    if _MIPS_SIM == _MIPS_SIM_ABI32
- #      define GETRANDOM_NR 4353
- #    elif _MIPS_SIM == _MIPS_SIM_ABI64
diff --git a/srcpkgs/mozjs78/patches/build-non-jit-32bit.patch b/srcpkgs/mozjs78/patches/build-non-jit-32bit.patch
deleted file mode 100644
index a1ba0bd866213..0000000000000
--- a/srcpkgs/mozjs78/patches/build-non-jit-32bit.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-On 32-bit systems without JIT, the GC doesn't like 4-byte alignment,
-so enforce a stricter one.
-
---- a/js/src/jit/none/MacroAssembler-none.h
-+++ b/js/src/jit/none/MacroAssembler-none.h
-@@ -100,7 +100,7 @@ static constexpr Register WasmTlsReg{Reg
- static constexpr Register WasmJitEntryReturnScratch{Registers::invalid_reg};
- 
- static constexpr uint32_t ABIStackAlignment = 4;
--static constexpr uint32_t CodeAlignment = 16;
-+static constexpr uint32_t CodeAlignment = 8;
- static constexpr uint32_t JitStackAlignment = 8;
- static constexpr uint32_t JitStackValueAlignment =
-     JitStackAlignment / sizeof(Value);
diff --git a/srcpkgs/mozjs78/patches/disable-jslint.patch b/srcpkgs/mozjs78/patches/disable-jslint.patch
deleted file mode 100644
index 04a8b3edef49c..0000000000000
--- a/srcpkgs/mozjs78/patches/disable-jslint.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/js/src/build/moz.build
-+++ b/js/src/build/moz.build
-@@ -80,14 +80,3 @@
- NO_EXPAND_LIBS = True
- 
- DIST_INSTALL = True
--
--# Run SpiderMonkey style checker after linking the static library. This avoids
--# running the script for no-op builds.
--GeneratedFile(
--    'spidermonkey_checks', script='/config/run_spidermonkey_checks.py',
--    inputs=[
--        '!%sjs_static.%s' % (CONFIG['LIB_PREFIX'], CONFIG['LIB_SUFFIX']),
--        '/config/check_spidermonkey_style.py',
--        '/config/check_macroassembler_style.py',
--        '/config/check_js_opcode.py'
--        ])
diff --git a/srcpkgs/mozjs78/patches/fd6847c9416f9eebde636e21d794d25d1be8791d.patch b/srcpkgs/mozjs78/patches/fd6847c9416f9eebde636e21d794d25d1be8791d.patch
deleted file mode 100644
index 1af68d93c6297..0000000000000
--- a/srcpkgs/mozjs78/patches/fd6847c9416f9eebde636e21d794d25d1be8791d.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-See https://bugzilla.mozilla.org/show_bug.cgi?id=1539739
-
-From fd6847c9416f9eebde636e21d794d25d1be8791d Mon Sep 17 00:00:00 2001
-From: Mike Hommey <mh@glandium.org>
-Date: Sat, 1 Jun 2019 09:06:01 +0900
-Subject: [PATCH] Bug 1526653 - Include struct definitions for user_vfp and
- user_vfp_exc.
-
----
- js/src/wasm/WasmSignalHandlers.cpp | 11 ++++++++++-
- 1 file changed, 10 insertions(+), 1 deletion(-)
-
-diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp
-index 636537f8478..383c380f04c 100644
---- a/js/src/wasm/WasmSignalHandlers.cpp
-+++ b/js/src/wasm/WasmSignalHandlers.cpp
-@@ -248,7 +248,16 @@ using mozilla::DebugOnly;
- #endif
- 
- #ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
--#  include <sys/user.h>
-+struct user_vfp {
-+  unsigned long long fpregs[32];
-+  unsigned long fpscr;
-+};
-+
-+struct user_vfp_exc {
-+  unsigned long fpexc;
-+  unsigned long fpinst;
-+  unsigned long fpinst2;
-+};
- #endif
- 
- #if defined(ANDROID)
--- 
-2.20.1
-
diff --git a/srcpkgs/mozjs78/patches/fix-python3.10.patch b/srcpkgs/mozjs78/patches/fix-python3.10.patch
deleted file mode 100644
index 143e587825814..0000000000000
--- a/srcpkgs/mozjs78/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/mozjs78/patches/fix-rust-target.patch b/srcpkgs/mozjs78/patches/fix-rust-target.patch
deleted file mode 100644
index f1a98dfd53fc3..0000000000000
--- a/srcpkgs/mozjs78/patches/fix-rust-target.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Allow us to just set RUST_TARGEt ourselves instead of hacking around in mozilla's
-weird custom build system...
-
-diff -upr firefox-68.9.0.orig/build/moz.configure/rust.configure firefox-68.9.0/build/moz.configure/rust.configure
---- firefox-68.9.0.orig/build/moz.configure/rust.configure	2020-06-02 22:54:39.982616128 +0200
-+++ firefox-68.9.0/build/moz.configure/rust.configure	2020-06-02 23:08:37.656332899 +0200
-@@ -345,7 +345,7 @@ def rust_triple_alias(host_or_target):
- 
-             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(
diff --git a/srcpkgs/mozjs78/patches/python-3.11.patch b/srcpkgs/mozjs78/patches/python-3.11.patch
deleted file mode 100644
index a44761f8b620b..0000000000000
--- a/srcpkgs/mozjs78/patches/python-3.11.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-From 964834abba3b093385409f1d594835ad94362def Mon Sep 17 00:00:00 2001
-From: ahochheiden <ahochheiden@mozilla.com>
-Date: Thu, 2 Jun 2022 06:27:44 +0000
-Subject: [PATCH] Bug 1769631 - Remove 'U' from 'mode' parameters for various
- 'open' calls to ensure Python3.11 compatibility
- r=firefox-build-system-reviewers,glandium
-
-The 'U' flag represents "universal newline". It has been deprecated
-since Python3.3. Since then "universal newline" is the default when a
-file is opened in text mode (not bytes). In Python3.11 using the 'U'
-flag throws errors. There should be no harm in removing 'U' from 'open'
-everywhere it is used, and doing allows the use of Python3.11.
-
-For more reading see: https://docs.python.org/3.11/whatsnew/3.11.html#changes-in-the-python-api
-
-Differential Revision: https://phabricator.services.mozilla.com/D147721
----
- dom/base/usecounters.py                                 | 2 +-
- python/mozbuild/mozbuild/action/process_define_files.py | 2 +-
- python/mozbuild/mozbuild/backend/base.py                | 2 +-
- python/mozbuild/mozbuild/preprocessor.py                | 6 +++---
- python/mozbuild/mozbuild/util.py                        | 2 +-
- python/mozbuild/mozpack/files.py                        | 4 ++--
- 6 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/dom/base/usecounters.py b/dom/base/usecounters.py
-index 780e3b32b2131..7e2c7148ece55 100644
---- a/dom/base/usecounters.py
-+++ b/dom/base/usecounters.py
-@@ -8,7 +8,7 @@
- 
- def read_conf(conf_filename):
-     # Can't read/write from a single StringIO, so make a new one for reading.
--    stream = open(conf_filename, 'rU')
-+    stream = open(conf_filename, 'r')
- 
-     def parse_counters(stream):
-         for line_num, line in enumerate(stream):
-diff --git a/python/mozbuild/mozbuild/action/process_define_files.py b/python/mozbuild/mozbuild/action/process_define_files.py
-index f1d401ac26006..aca59d0f05177 100644
---- a/python/mozbuild/mozbuild/action/process_define_files.py
-+++ b/python/mozbuild/mozbuild/action/process_define_files.py
-@@ -36,7 +36,7 @@ def process_define_file(output, input):
-             not config.substs.get('JS_STANDALONE'):
-         config = PartialConfigEnvironment(mozpath.join(topobjdir, 'js', 'src'))
- 
--    with open(path, 'rU') as input:
-+    with open(path, 'r') as input:
-         r = re.compile('^\s*#\s*(?P<cmd>[a-z]+)(?:\s+(?P<name>\S+)(?:\s+(?P<value>\S+))?)?', re.U)
-         for l in input:
-             m = r.match(l)
-
-diff --git a/python/mozbuild/mozbuild/backend/base.py b/python/mozbuild/mozbuild/backend/base.py
-index 7bc1986d863b5..b64a70946863d 100644
---- a/python/mozbuild/mozbuild/backend/base.py
-+++ b/python/mozbuild/mozbuild/backend/base.py
-@@ -272,7 +272,7 @@ def post_build(self, config, output, jobs, verbose, status):
-         return status
- 
-     @contextmanager
--    def _write_file(self, path=None, fh=None, readmode='rU'):
-+    def _write_file(self, path=None, fh=None, readmode='r'):
-         """Context manager to write a file.
- 
-         This is a glorified wrapper around FileAvoidWrite with integration to
-diff --git a/python/mozbuild/mozbuild/preprocessor.py b/python/mozbuild/mozbuild/preprocessor.py
-index f7820b9c91473..857f1a6c9bfd1 100644
---- a/python/mozbuild/mozbuild/preprocessor.py
-+++ b/python/mozbuild/mozbuild/preprocessor.py
-@@ -531,7 +531,7 @@ def get_output_file(path, encoding=None):
- 
-         if args:
-             for f in args:
--                with io.open(f, 'rU', encoding='utf-8') as input:
-+                with io.open(f, 'r', encoding='utf-8') as input:
-                     self.processFile(input=input, output=out)
-             if depfile:
-                 mk = Makefile()
-@@ -860,7 +860,7 @@ def do_include(self, args, filters=True):
-                     args = self.applyFilters(args)
-                 if not os.path.isabs(args):
-                     args = os.path.join(self.curdir, args)
--                args = io.open(args, 'rU', encoding='utf-8')
-+                args = io.open(args, 'r', encoding='utf-8')
-             except Preprocessor.Error:
-                 raise
-             except Exception:
-@@ -914,7 +914,7 @@ def do_error(self, args):
- def preprocess(includes=[sys.stdin], defines={}, output=sys.stdout, marker='#'):
-     pp = Preprocessor(defines=defines, marker=marker)
-     for f in includes:
--        with io.open(f, 'rU', encoding='utf-8') as input:
-+        with io.open(f, 'r', encoding='utf-8') as input:
-             pp.processFile(input=input, output=output)
-     return pp.includes
- 
-diff --git a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py
-index b09f1646988f0..4f1e0cdc5f568 100644
---- a/python/mozbuild/mozbuild/util.py
-+++ b/python/mozbuild/mozbuild/util.py
-@@ -236,7 +236,7 @@ class FileAvoidWrite(BytesIO):
-     still occur, as well as diff capture if requested.
-     """
- 
--    def __init__(self, filename, capture_diff=False, dry_run=False, readmode='rU'):
-+    def __init__(self, filename, capture_diff=False, dry_run=False, readmode='r'):
-         BytesIO.__init__(self)
-         self.name = filename
-         assert type(capture_diff) == bool
-diff --git a/python/mozbuild/mozpack/files.py b/python/mozbuild/mozpack/files.py
-index 1d8a1ed2d8a7e..a295a67b5a34f 100644
---- a/python/mozbuild/mozpack/files.py
-+++ b/python/mozbuild/mozpack/files.py
-@@ -554,7 +554,7 @@ def inputs(self):
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, 'rU') as input:
-+        with _open(self.path, 'r') as input:
-             with _open(os.devnull, 'w') as output:
-                 pp.processFile(input=input, output=output)
- 
-@@ -611,7 +611,7 @@ def copy(self, dest, skip_if_older=True):
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, 'rU') as input:
-+        with _open(self.path, 'r') as input:
-             pp.processFile(input=input, output=dest, depfile=deps_out)
- 
-         dest.close()
diff --git a/srcpkgs/mozjs78/patches/rust-configure.patch b/srcpkgs/mozjs78/patches/rust-configure.patch
deleted file mode 100644
index de1eea665de3b..0000000000000
--- a/srcpkgs/mozjs78/patches/rust-configure.patch
+++ /dev/null
@@ -1,58 +0,0 @@
---- a/build/moz.configure/rust.configure
-+++ b/build/moz.configure/rust.configure
-@@ -78,9 +78,6 @@
- 
-     return unwrap
- 
--rustc = unwrap_rustup(rustc, 'rustc')
--cargo = unwrap_rustup(cargo, 'cargo')
--
- 
- set_config('CARGO', cargo)
- set_config('RUSTC', rustc)
-@@ -348,26 +345,6 @@
- 
-             os.write(in_fd, source)
-             os.close(in_fd)
--
--            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:
--
--                  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)
-@@ -405,18 +405,6 @@ def rust_triple_alias(host_or_target, host_or_target_c_compiler):
- rust_target_triple = rust_triple_alias(target, c_compiler)
- rust_host_triple = rust_triple_alias(host, host_c_compiler)
- 
--
--@depends(host, rust_host_triple, rustc_info.host)
--def validate_rust_host_triple(host, rust_host, rustc_host):
--    if rust_host != rustc_host:
--        if host.alias == rust_host:
--            configure_host = host.alias
--        else:
--            configure_host = '{}/{}'.format(host.alias, rust_host)
--        die("The rust compiler host ({}) is not suitable for the configure host ({})."
--            .format(rustc_host, configure_host))
--
--
- set_config('RUST_TARGET', rust_target_triple)
- set_config('RUST_HOST_TARGET', rust_host_triple)
- 
diff --git a/srcpkgs/mozjs78/template b/srcpkgs/mozjs78/template
deleted file mode 100644
index b1309da0f3439..0000000000000
--- a/srcpkgs/mozjs78/template
+++ /dev/null
@@ -1,76 +0,0 @@
-# Template file for 'mozjs78'
-pkgname=mozjs78
-version=78.9.0
-revision=8
-build_wrksrc=js/src
-build_style=gnu-configure
-build_helper=rust
-hostmakedepends="perl python pkg-config automake autoconf213 autoconf-archive
- cargo rust llvm clang which python3"
-makedepends="icu-devel libffi-devel nspr-devel python-devel readline-devel
- zlib-devel python3-devel rust-std"
-depends="nspr>=4.19"
-short_desc="Mozilla JavaScript interpreter and library (78.x series)"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="MPL-2.0"
-homepage="https://www.mozilla.org/firefox/"
-distfiles="${MOZILLA_SITE}/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz"
-checksum=8e03ac1dfc5ac804c8b13a529414a9387e0425e545bb2f4462d74c3175e64864
-
-CXXFLAGS="-Wno-class-memaccess"
-LDFLAGS="-Wl,-z,stack-size=1048576"
-
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	LDFLAGS+=" -latomic"
-fi
-
-case "$XBPS_TARGET_MACHINE" in
-	mips*) broken="no matching function for call to 'js::jit::MacroAssembler::unboxInt32(const js::jit::BaseObjectElementIndex&, js::jit::Register&)'";;
-esac
-
-do_configure() {
-	local _args
-	# use gcc as assembler to avoid errors
-	unset AS
-
-	if [ "$CROSS_BUILD" ]; then
-		export HOST_CC=cc
-		export TARGET_CC="${CC}"
-		export HOST_CFLAGS="-Os"
-		export HOST_CXXFLAGS="-Os"
-		_args+=" --target=${XBPS_CROSS_TRIPLET} --enable-linker=bfd"
-	else
-		_args+=" --target=${XBPS_TRIPLET}"
-	fi
-
-	AWK=awk autoconf-2.13 old-configure.in > old-configure
-
-	touch ${wrksrc}/js/src/configure
-	touch ${wrksrc}/js/src/old-configure
-	SHELL=/bin/bash PYTHON=/usr/bin/python2 ./configure --prefix=/usr \
-		--disable-jemalloc --disable-optimize --enable-ctypes \
-		--enable-readline --enable-shared-js --enable-system-ffi \
-		--enable-tests --with-intl-api --with-system-icu --with-system-nspr \
-		--enable-hardening --enable-release --with-system-zlib \
-		--host=${XBPS_TRIPLET} ${_args}
-}
-
-do_check() {
-	dist/bin/jsapi-tests --format=none --exclude-random basic
-}
-
-post_install() {
-	# Remove unneeded static library
-	rm -f "${DESTDIR}"/usr/lib/*.ajs
-}
-
-mozjs78-devel_package() {
-	depends="nspr-devel ${sourcepkg}>=${version}_${revision}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/bin/js78-config
-		vmove usr/include
-		vmove "usr/lib/*.so"
-		vmove usr/lib/pkgconfig
-	}
-}
diff --git a/srcpkgs/mozjs78/update b/srcpkgs/mozjs78/update
deleted file mode 100644
index 1947e19217f00..0000000000000
--- a/srcpkgs/mozjs78/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname='mozjs'
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 321b11f9c15d8..253b4636abc9d 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -1,6 +1,6 @@
 # Template file for 'removed-packages'
 pkgname=removed-packages
-version=0.1.20231007
+version=0.1.20231009
 revision=1
 build_style=meta
 short_desc="Uninstalls packages removed from repository"
@@ -419,6 +419,8 @@ replaces="
  mopidy-spotify<=4.0.1_5
  mozjs60<=60.8.0_6
  mozjs68<=68.11.0_1
+ mozjs78-devel<=78.9.0_8
+ mozjs78<=78.9.0_8
  mozjs91-devel<=91.7.1_3
  mozjs91<=91.7.1_3
  mp3gain<=1.6.2_2

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: mozjs78: remove package.
  2023-10-09 10:50 [PR PATCH] mozjs78: remove package mhmdanas
@ 2023-10-11  7:37 ` classabbyamp
  2023-10-11 10:42 ` [PR PATCH] [Updated] " mhmdanas
  2023-10-11 21:02 ` [PR PATCH] [Closed]: " classabbyamp
  2 siblings, 0 replies; 4+ messages in thread
From: classabbyamp @ 2023-10-11  7:37 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 504 bytes --]

New comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/46525#issuecomment-1757027845

Comment:
seems there's a few bugs in spidermonkey/mozjs on py3.12:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1857492
- https://bugzilla.mozilla.org/show_bug.cgi?id=1857515

patching such an old version of mozjs seems... ambitious. The game appears to work as-is and doesn't rundepend on mozjs78 or python2, so I think we should just mark 0ad broken for now.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PR PATCH] [Updated] mozjs78: remove package.
  2023-10-09 10:50 [PR PATCH] mozjs78: remove package mhmdanas
  2023-10-11  7:37 ` classabbyamp
@ 2023-10-11 10:42 ` mhmdanas
  2023-10-11 21:02 ` [PR PATCH] [Closed]: " classabbyamp
  2 siblings, 0 replies; 4+ messages in thread
From: mhmdanas @ 2023-10-11 10:42 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1248 bytes --]

There is an updated pull request by mhmdanas against master on the void-packages repository

https://github.com/mhmdanas/void-packages remove-mozjs79
https://github.com/void-linux/void-packages/pull/46525

mozjs78: remove package.

<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

Closes #39226.

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/46525.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-remove-mozjs79-46525.patch --]
[-- Type: text/x-diff, Size: 69158 bytes --]

From 09d8448985db54a13cdccda13d504bc0382010f9 Mon Sep 17 00:00:00 2001
From: Mohammed Anas <triallax@tutanota.com>
Date: Mon, 9 Oct 2023 11:42:35 +0100
Subject: [PATCH 1/2] 0ad: remove unused `mozjs78-devel` makedepend, mark as
 broken.

Uses its own vendored `mozjs78`.
---
 srcpkgs/0ad/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/0ad/template b/srcpkgs/0ad/template
index 597a7082b9389..190ac03215d9c 100644
--- a/srcpkgs/0ad/template
+++ b/srcpkgs/0ad/template
@@ -6,7 +6,7 @@ archs="x86_64* i686* aarch64* armv7l* ppc64le*"
 hostmakedepends="pkg-config perl cmake python3 rust cargo yasm tar clang"
 makedepends="SDL2-devel boost-devel gloox-devel libcurl-devel libenet-devel
  libopenal-devel libpng-devel libsodium-devel libxml2-devel miniupnpc-devel
- nspr-devel wxWidgets-gtk3-devel fmt-devel mozjs78-devel freetype-devel"
+ nspr-devel wxWidgets-gtk3-devel fmt-devel freetype-devel"
 depends="${pkgname}-data"
 short_desc="Historically-based real-time strategy game"
 maintainer="Helmut Pozimski <helmut@pozimski.eu>"
@@ -18,6 +18,7 @@ checksum="2e1c6df7e3312e77c5f82788664cffc3a78d3bf60606c00039275e1d13c0ee4b
  f18fa3adae7acb07a49148354b6804028e6c9d7344991622fb7c00f638173e03"
 nocross="uses bundled third-party libraries that do not cross-compile"
 lib32disabled=yes
+broken="FTBFS with Python 3.12"
 
 skip_extraction="1654457-virtualenv.patch"
 

From 1dbcf114f738f78113b3b494192a62f34f65efc8 Mon Sep 17 00:00:00 2001
From: Mohammed Anas <triallax@tutanota.com>
Date: Mon, 9 Oct 2023 11:45:52 +0100
Subject: [PATCH 2/2] mozjs78: remove package.

EOL since 2 years and not used by any other template.

Closes #39226.
---
 common/shlibs                                 |   1 -
 srcpkgs/mozjs78-devel                         |   1 -
 .../001-silence-sandbox-violations.patch      |  27 -
 srcpkgs/mozjs78/patches/002-fix-soname.patch  |  22 -
 .../mozjs78/patches/003-fix-wasm-arm.patch    |  16 -
 .../mozjs78/patches/004-fix-musl-build.patch  |  17 -
 .../005-spidermonkey-checks-disable.patch     |  12 -
 .../006-mozjs78.pc-honor-sysroot.patch        |  10 -
 .../patches/007-fix-mips-sgidefs_h.patch      |  11 -
 .../mozjs78/patches/build-non-jit-32bit.patch |  14 -
 srcpkgs/mozjs78/patches/disable-jslint.patch  |  17 -
 ...47c9416f9eebde636e21d794d25d1be8791d.patch |  37 -
 srcpkgs/mozjs78/patches/fix-python3.10.patch  | 826 ------------------
 srcpkgs/mozjs78/patches/fix-rust-target.patch |  15 -
 srcpkgs/mozjs78/patches/python-3.11.patch     | 131 ---
 srcpkgs/mozjs78/patches/rust-configure.patch  |  58 --
 srcpkgs/mozjs78/template                      |  76 --
 srcpkgs/mozjs78/update                        |   1 -
 srcpkgs/removed-packages/template             |   4 +-
 19 files changed, 3 insertions(+), 1293 deletions(-)
 delete mode 120000 srcpkgs/mozjs78-devel
 delete mode 100644 srcpkgs/mozjs78/patches/001-silence-sandbox-violations.patch
 delete mode 100644 srcpkgs/mozjs78/patches/002-fix-soname.patch
 delete mode 100644 srcpkgs/mozjs78/patches/003-fix-wasm-arm.patch
 delete mode 100644 srcpkgs/mozjs78/patches/004-fix-musl-build.patch
 delete mode 100644 srcpkgs/mozjs78/patches/005-spidermonkey-checks-disable.patch
 delete mode 100644 srcpkgs/mozjs78/patches/006-mozjs78.pc-honor-sysroot.patch
 delete mode 100644 srcpkgs/mozjs78/patches/007-fix-mips-sgidefs_h.patch
 delete mode 100644 srcpkgs/mozjs78/patches/build-non-jit-32bit.patch
 delete mode 100644 srcpkgs/mozjs78/patches/disable-jslint.patch
 delete mode 100644 srcpkgs/mozjs78/patches/fd6847c9416f9eebde636e21d794d25d1be8791d.patch
 delete mode 100644 srcpkgs/mozjs78/patches/fix-python3.10.patch
 delete mode 100644 srcpkgs/mozjs78/patches/fix-rust-target.patch
 delete mode 100644 srcpkgs/mozjs78/patches/python-3.11.patch
 delete mode 100644 srcpkgs/mozjs78/patches/rust-configure.patch
 delete mode 100644 srcpkgs/mozjs78/template
 delete mode 100644 srcpkgs/mozjs78/update

diff --git a/common/shlibs b/common/shlibs
index c2b72edb77cd2..d33327ed8a3e6 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3458,7 +3458,6 @@ libmysqlpp.so.3 mysql++-3.2.5_1
 libKF5Syndication.so.5 syndication-5.50.0_1
 liblqr-1.so.0 liblqr-0.4.2_1
 libmozjs-102.so.0 mozjs102-102.3.0_1
-libmozjs-78.so.0 mozjs78-78.1.0_1
 libebur128.so.1 libebur128-1.2.4_1
 libgtksourceview-4.so.0 gtksourceview4-4.0.2_1
 libgtksourceview-5.so.0 gtksourceview5-5.2.0_1
diff --git a/srcpkgs/mozjs78-devel b/srcpkgs/mozjs78-devel
deleted file mode 120000
index 7713599356fd6..0000000000000
--- a/srcpkgs/mozjs78-devel
+++ /dev/null
@@ -1 +0,0 @@
-mozjs78
\ No newline at end of file
diff --git a/srcpkgs/mozjs78/patches/001-silence-sandbox-violations.patch b/srcpkgs/mozjs78/patches/001-silence-sandbox-violations.patch
deleted file mode 100644
index dc01194b646d3..0000000000000
--- a/srcpkgs/mozjs78/patches/001-silence-sandbox-violations.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-"Carried over + updated from mozjs68"
-Upstream: no
-From 9ad10569e11a2fb96377188f895bc66abcc9511d Mon Sep 17 00:00:00 2001
-From: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
-Date: Wed, 5 Sep 2018 15:05:24 +0200
-Subject: [PATCH] silence sandbox violations
-
-Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
----
- python/mozbuild/mozbuild/frontend/emitter.py | 5 -----
- 1 file changed, 5 deletions(-)
-
---- a/python/mozbuild/mozbuild/frontend/emitter.py
-+++ b/python/mozbuild/mozbuild/frontend/emitter.py
-@@ -1239,12 +1239,6 @@ class TreeMetadataEmitter(LoggingMixin):
-                                                  'is a filename, but a directory is required: %s '
-                                                  '(resolved to %s)' % (local_include, full_path),
-                                                  context)
--            if (full_path == context.config.topsrcdir or
--                    full_path == context.config.topobjdir):
--                raise SandboxValidationError(
--                    'Path specified in LOCAL_INCLUDES '
--                    '(%s) resolves to the topsrcdir or topobjdir (%s), which is '
--                    'not allowed' % (local_include, full_path), context)
-             include_obj = LocalInclude(context, local_include)
-             local_includes.append(include_obj.path.full_path)
-             yield include_obj
diff --git a/srcpkgs/mozjs78/patches/002-fix-soname.patch b/srcpkgs/mozjs78/patches/002-fix-soname.patch
deleted file mode 100644
index cc543109398d5..0000000000000
--- a/srcpkgs/mozjs78/patches/002-fix-soname.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-"Carried over from mozjs68"
---- a/js/src/build/Makefile.in
-+++ b/js/src/build/Makefile.in
-@@ -78,6 +78,8 @@
- endif
- ifneq (,$(SHARED_LIBRARY))
- 	$(SYSINSTALL) $(SHARED_LIBRARY) $(DESTDIR)$(libdir)
-+	mv -f $(DESTDIR)$(libdir)/$(SHARED_LIBRARY) $(DESTDIR)$(libdir)/$(SHARED_LIBRARY).0
-+	ln -s $(SHARED_LIBRARY).0 $(DESTDIR)$(libdir)/$(SHARED_LIBRARY)
- ifeq ($(OS_ARCH),Darwin)
- 	install_name_tool -id $(abspath $(libdir)/$(SHARED_LIBRARY)) $(DESTDIR)$(libdir)/$(SHARED_LIBRARY)
- endif
---- a/js/src/build/moz.build
-+++ b/js/src/build/moz.build
-@@ -25,6 +25,7 @@
- if CONFIG['JS_SHARED_LIBRARY']:
-     GeckoSharedLibrary('js', linkage=None)
-     SHARED_LIBRARY_NAME = CONFIG['JS_LIBRARY_NAME']
-+    LDFLAGS += ['-Wl,-soname,lib{}.so.0'.format(SHARED_LIBRARY_NAME)]
- 
-     # Ensure symbol versions of shared library on Linux do not conflict
-     # with those in libxul.
diff --git a/srcpkgs/mozjs78/patches/003-fix-wasm-arm.patch b/srcpkgs/mozjs78/patches/003-fix-wasm-arm.patch
deleted file mode 100644
index 891a7652056ab..0000000000000
--- a/srcpkgs/mozjs78/patches/003-fix-wasm-arm.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-"Taken from firefox-esr"
---- 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>
diff --git a/srcpkgs/mozjs78/patches/004-fix-musl-build.patch b/srcpkgs/mozjs78/patches/004-fix-musl-build.patch
deleted file mode 100644
index f629fa2ac355f..0000000000000
--- a/srcpkgs/mozjs78/patches/004-fix-musl-build.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-"Carried over from mozjs60"
-Upstream: No
-Reason: mozjs68 miscompiles on musl if built with HAVE_THREAD_TLS_KEYWORD:
-https://github.com/void-linux/void-packages/issues/2598
-diff --git a/js/src/old-configure.in b/js/src/old-configure.in
---- a/js/src/old-configure.in
-+++ b/js/src/old-configure.in
-@@ -1272,6 +1272,9 @@
-     *-android*|*-linuxandroid*)
-       :
-       ;;
-+    *-musl*)
-+      :
-+      ;;
-     *)
-       AC_DEFINE(HAVE_THREAD_TLS_KEYWORD)
-       ;;
diff --git a/srcpkgs/mozjs78/patches/005-spidermonkey-checks-disable.patch b/srcpkgs/mozjs78/patches/005-spidermonkey-checks-disable.patch
deleted file mode 100644
index f6eababd1f2f0..0000000000000
--- a/srcpkgs/mozjs78/patches/005-spidermonkey-checks-disable.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Source:Fedora
-Reason: Checks failed(Todo: Figure out why)
-+++ a/config/run_spidermonkey_checks.py
-+++ b/config/run_spidermonkey_checks.py
-@@ -11,5 +11,5 @@
-     for script in scripts:
-         retcode = subprocess.call(
-             [sys.executable, script], cwd=buildconfig.topsrcdir)
--        if retcode != 0:
--            raise Exception(script + " failed")
-+        #if retcode != 0:
-+        #    raise Exception(script + " failed")
diff --git a/srcpkgs/mozjs78/patches/006-mozjs78.pc-honor-sysroot.patch b/srcpkgs/mozjs78/patches/006-mozjs78.pc-honor-sysroot.patch
deleted file mode 100644
index 71214b8eccf9e..0000000000000
--- a/srcpkgs/mozjs78/patches/006-mozjs78.pc-honor-sysroot.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-"Carried over from mozjs60"
-Reason: Fix the '-include' directive, otherwise it tries to use the host's header
---- a/js/src/build/js.pc.in
-+++ b/js/src/build/js.pc.in
-@@ -11,4 +11,4 @@
- # Use -isystem for includes rather than -I, to mark them as "system headers"
- # that don't generate warning diagnostics. For justification, see
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1539036
--Cflags: -include ${includedir}/@JS_LIBRARY_NAME@/js/RequiredDefines.h -isystem ${includedir}/@JS_LIBRARY_NAME@
-+Cflags: -include ${pc_sysrootdir}${includedir}/@JS_LIBRARY_NAME@/js/RequiredDefines.h -isystem ${includedir}/@JS_LIBRARY_NAME@
diff --git a/srcpkgs/mozjs78/patches/007-fix-mips-sgidefs_h.patch b/srcpkgs/mozjs78/patches/007-fix-mips-sgidefs_h.patch
deleted file mode 100644
index abb140233a053..0000000000000
--- a/srcpkgs/mozjs78/patches/007-fix-mips-sgidefs_h.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/mfbt/RandomNum.cpp	2020-04-29 23:49:40.000000000 +0200
-+++ b/mfbt/RandomNum.cpp	2020-08-04 19:29:36.127471301 +0200
-@@ -52,7 +52,7 @@
- #  elif defined(__s390__)
- #    define GETRANDOM_NR 349
- #  elif defined(__mips__)
--#    include <sgidefs.h>
-+#    include <asm/sgidefs.h>
- #    if _MIPS_SIM == _MIPS_SIM_ABI32
- #      define GETRANDOM_NR 4353
- #    elif _MIPS_SIM == _MIPS_SIM_ABI64
diff --git a/srcpkgs/mozjs78/patches/build-non-jit-32bit.patch b/srcpkgs/mozjs78/patches/build-non-jit-32bit.patch
deleted file mode 100644
index a1ba0bd866213..0000000000000
--- a/srcpkgs/mozjs78/patches/build-non-jit-32bit.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-On 32-bit systems without JIT, the GC doesn't like 4-byte alignment,
-so enforce a stricter one.
-
---- a/js/src/jit/none/MacroAssembler-none.h
-+++ b/js/src/jit/none/MacroAssembler-none.h
-@@ -100,7 +100,7 @@ static constexpr Register WasmTlsReg{Reg
- static constexpr Register WasmJitEntryReturnScratch{Registers::invalid_reg};
- 
- static constexpr uint32_t ABIStackAlignment = 4;
--static constexpr uint32_t CodeAlignment = 16;
-+static constexpr uint32_t CodeAlignment = 8;
- static constexpr uint32_t JitStackAlignment = 8;
- static constexpr uint32_t JitStackValueAlignment =
-     JitStackAlignment / sizeof(Value);
diff --git a/srcpkgs/mozjs78/patches/disable-jslint.patch b/srcpkgs/mozjs78/patches/disable-jslint.patch
deleted file mode 100644
index 04a8b3edef49c..0000000000000
--- a/srcpkgs/mozjs78/patches/disable-jslint.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/js/src/build/moz.build
-+++ b/js/src/build/moz.build
-@@ -80,14 +80,3 @@
- NO_EXPAND_LIBS = True
- 
- DIST_INSTALL = True
--
--# Run SpiderMonkey style checker after linking the static library. This avoids
--# running the script for no-op builds.
--GeneratedFile(
--    'spidermonkey_checks', script='/config/run_spidermonkey_checks.py',
--    inputs=[
--        '!%sjs_static.%s' % (CONFIG['LIB_PREFIX'], CONFIG['LIB_SUFFIX']),
--        '/config/check_spidermonkey_style.py',
--        '/config/check_macroassembler_style.py',
--        '/config/check_js_opcode.py'
--        ])
diff --git a/srcpkgs/mozjs78/patches/fd6847c9416f9eebde636e21d794d25d1be8791d.patch b/srcpkgs/mozjs78/patches/fd6847c9416f9eebde636e21d794d25d1be8791d.patch
deleted file mode 100644
index 1af68d93c6297..0000000000000
--- a/srcpkgs/mozjs78/patches/fd6847c9416f9eebde636e21d794d25d1be8791d.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-See https://bugzilla.mozilla.org/show_bug.cgi?id=1539739
-
-From fd6847c9416f9eebde636e21d794d25d1be8791d Mon Sep 17 00:00:00 2001
-From: Mike Hommey <mh@glandium.org>
-Date: Sat, 1 Jun 2019 09:06:01 +0900
-Subject: [PATCH] Bug 1526653 - Include struct definitions for user_vfp and
- user_vfp_exc.
-
----
- js/src/wasm/WasmSignalHandlers.cpp | 11 ++++++++++-
- 1 file changed, 10 insertions(+), 1 deletion(-)
-
-diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp
-index 636537f8478..383c380f04c 100644
---- a/js/src/wasm/WasmSignalHandlers.cpp
-+++ b/js/src/wasm/WasmSignalHandlers.cpp
-@@ -248,7 +248,16 @@ using mozilla::DebugOnly;
- #endif
- 
- #ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
--#  include <sys/user.h>
-+struct user_vfp {
-+  unsigned long long fpregs[32];
-+  unsigned long fpscr;
-+};
-+
-+struct user_vfp_exc {
-+  unsigned long fpexc;
-+  unsigned long fpinst;
-+  unsigned long fpinst2;
-+};
- #endif
- 
- #if defined(ANDROID)
--- 
-2.20.1
-
diff --git a/srcpkgs/mozjs78/patches/fix-python3.10.patch b/srcpkgs/mozjs78/patches/fix-python3.10.patch
deleted file mode 100644
index 143e587825814..0000000000000
--- a/srcpkgs/mozjs78/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/mozjs78/patches/fix-rust-target.patch b/srcpkgs/mozjs78/patches/fix-rust-target.patch
deleted file mode 100644
index f1a98dfd53fc3..0000000000000
--- a/srcpkgs/mozjs78/patches/fix-rust-target.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Allow us to just set RUST_TARGEt ourselves instead of hacking around in mozilla's
-weird custom build system...
-
-diff -upr firefox-68.9.0.orig/build/moz.configure/rust.configure firefox-68.9.0/build/moz.configure/rust.configure
---- firefox-68.9.0.orig/build/moz.configure/rust.configure	2020-06-02 22:54:39.982616128 +0200
-+++ firefox-68.9.0/build/moz.configure/rust.configure	2020-06-02 23:08:37.656332899 +0200
-@@ -345,7 +345,7 @@ def rust_triple_alias(host_or_target):
- 
-             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(
diff --git a/srcpkgs/mozjs78/patches/python-3.11.patch b/srcpkgs/mozjs78/patches/python-3.11.patch
deleted file mode 100644
index a44761f8b620b..0000000000000
--- a/srcpkgs/mozjs78/patches/python-3.11.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-From 964834abba3b093385409f1d594835ad94362def Mon Sep 17 00:00:00 2001
-From: ahochheiden <ahochheiden@mozilla.com>
-Date: Thu, 2 Jun 2022 06:27:44 +0000
-Subject: [PATCH] Bug 1769631 - Remove 'U' from 'mode' parameters for various
- 'open' calls to ensure Python3.11 compatibility
- r=firefox-build-system-reviewers,glandium
-
-The 'U' flag represents "universal newline". It has been deprecated
-since Python3.3. Since then "universal newline" is the default when a
-file is opened in text mode (not bytes). In Python3.11 using the 'U'
-flag throws errors. There should be no harm in removing 'U' from 'open'
-everywhere it is used, and doing allows the use of Python3.11.
-
-For more reading see: https://docs.python.org/3.11/whatsnew/3.11.html#changes-in-the-python-api
-
-Differential Revision: https://phabricator.services.mozilla.com/D147721
----
- dom/base/usecounters.py                                 | 2 +-
- python/mozbuild/mozbuild/action/process_define_files.py | 2 +-
- python/mozbuild/mozbuild/backend/base.py                | 2 +-
- python/mozbuild/mozbuild/preprocessor.py                | 6 +++---
- python/mozbuild/mozbuild/util.py                        | 2 +-
- python/mozbuild/mozpack/files.py                        | 4 ++--
- 6 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/dom/base/usecounters.py b/dom/base/usecounters.py
-index 780e3b32b2131..7e2c7148ece55 100644
---- a/dom/base/usecounters.py
-+++ b/dom/base/usecounters.py
-@@ -8,7 +8,7 @@
- 
- def read_conf(conf_filename):
-     # Can't read/write from a single StringIO, so make a new one for reading.
--    stream = open(conf_filename, 'rU')
-+    stream = open(conf_filename, 'r')
- 
-     def parse_counters(stream):
-         for line_num, line in enumerate(stream):
-diff --git a/python/mozbuild/mozbuild/action/process_define_files.py b/python/mozbuild/mozbuild/action/process_define_files.py
-index f1d401ac26006..aca59d0f05177 100644
---- a/python/mozbuild/mozbuild/action/process_define_files.py
-+++ b/python/mozbuild/mozbuild/action/process_define_files.py
-@@ -36,7 +36,7 @@ def process_define_file(output, input):
-             not config.substs.get('JS_STANDALONE'):
-         config = PartialConfigEnvironment(mozpath.join(topobjdir, 'js', 'src'))
- 
--    with open(path, 'rU') as input:
-+    with open(path, 'r') as input:
-         r = re.compile('^\s*#\s*(?P<cmd>[a-z]+)(?:\s+(?P<name>\S+)(?:\s+(?P<value>\S+))?)?', re.U)
-         for l in input:
-             m = r.match(l)
-
-diff --git a/python/mozbuild/mozbuild/backend/base.py b/python/mozbuild/mozbuild/backend/base.py
-index 7bc1986d863b5..b64a70946863d 100644
---- a/python/mozbuild/mozbuild/backend/base.py
-+++ b/python/mozbuild/mozbuild/backend/base.py
-@@ -272,7 +272,7 @@ def post_build(self, config, output, jobs, verbose, status):
-         return status
- 
-     @contextmanager
--    def _write_file(self, path=None, fh=None, readmode='rU'):
-+    def _write_file(self, path=None, fh=None, readmode='r'):
-         """Context manager to write a file.
- 
-         This is a glorified wrapper around FileAvoidWrite with integration to
-diff --git a/python/mozbuild/mozbuild/preprocessor.py b/python/mozbuild/mozbuild/preprocessor.py
-index f7820b9c91473..857f1a6c9bfd1 100644
---- a/python/mozbuild/mozbuild/preprocessor.py
-+++ b/python/mozbuild/mozbuild/preprocessor.py
-@@ -531,7 +531,7 @@ def get_output_file(path, encoding=None):
- 
-         if args:
-             for f in args:
--                with io.open(f, 'rU', encoding='utf-8') as input:
-+                with io.open(f, 'r', encoding='utf-8') as input:
-                     self.processFile(input=input, output=out)
-             if depfile:
-                 mk = Makefile()
-@@ -860,7 +860,7 @@ def do_include(self, args, filters=True):
-                     args = self.applyFilters(args)
-                 if not os.path.isabs(args):
-                     args = os.path.join(self.curdir, args)
--                args = io.open(args, 'rU', encoding='utf-8')
-+                args = io.open(args, 'r', encoding='utf-8')
-             except Preprocessor.Error:
-                 raise
-             except Exception:
-@@ -914,7 +914,7 @@ def do_error(self, args):
- def preprocess(includes=[sys.stdin], defines={}, output=sys.stdout, marker='#'):
-     pp = Preprocessor(defines=defines, marker=marker)
-     for f in includes:
--        with io.open(f, 'rU', encoding='utf-8') as input:
-+        with io.open(f, 'r', encoding='utf-8') as input:
-             pp.processFile(input=input, output=output)
-     return pp.includes
- 
-diff --git a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py
-index b09f1646988f0..4f1e0cdc5f568 100644
---- a/python/mozbuild/mozbuild/util.py
-+++ b/python/mozbuild/mozbuild/util.py
-@@ -236,7 +236,7 @@ class FileAvoidWrite(BytesIO):
-     still occur, as well as diff capture if requested.
-     """
- 
--    def __init__(self, filename, capture_diff=False, dry_run=False, readmode='rU'):
-+    def __init__(self, filename, capture_diff=False, dry_run=False, readmode='r'):
-         BytesIO.__init__(self)
-         self.name = filename
-         assert type(capture_diff) == bool
-diff --git a/python/mozbuild/mozpack/files.py b/python/mozbuild/mozpack/files.py
-index 1d8a1ed2d8a7e..a295a67b5a34f 100644
---- a/python/mozbuild/mozpack/files.py
-+++ b/python/mozbuild/mozpack/files.py
-@@ -554,7 +554,7 @@ def inputs(self):
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, 'rU') as input:
-+        with _open(self.path, 'r') as input:
-             with _open(os.devnull, 'w') as output:
-                 pp.processFile(input=input, output=output)
- 
-@@ -611,7 +611,7 @@ def copy(self, dest, skip_if_older=True):
-         pp = Preprocessor(defines=self.defines, marker=self.marker)
-         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
- 
--        with _open(self.path, 'rU') as input:
-+        with _open(self.path, 'r') as input:
-             pp.processFile(input=input, output=dest, depfile=deps_out)
- 
-         dest.close()
diff --git a/srcpkgs/mozjs78/patches/rust-configure.patch b/srcpkgs/mozjs78/patches/rust-configure.patch
deleted file mode 100644
index de1eea665de3b..0000000000000
--- a/srcpkgs/mozjs78/patches/rust-configure.patch
+++ /dev/null
@@ -1,58 +0,0 @@
---- a/build/moz.configure/rust.configure
-+++ b/build/moz.configure/rust.configure
-@@ -78,9 +78,6 @@
- 
-     return unwrap
- 
--rustc = unwrap_rustup(rustc, 'rustc')
--cargo = unwrap_rustup(cargo, 'cargo')
--
- 
- set_config('CARGO', cargo)
- set_config('RUSTC', rustc)
-@@ -348,26 +345,6 @@
- 
-             os.write(in_fd, source)
-             os.close(in_fd)
--
--            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:
--
--                  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)
-@@ -405,18 +405,6 @@ def rust_triple_alias(host_or_target, host_or_target_c_compiler):
- rust_target_triple = rust_triple_alias(target, c_compiler)
- rust_host_triple = rust_triple_alias(host, host_c_compiler)
- 
--
--@depends(host, rust_host_triple, rustc_info.host)
--def validate_rust_host_triple(host, rust_host, rustc_host):
--    if rust_host != rustc_host:
--        if host.alias == rust_host:
--            configure_host = host.alias
--        else:
--            configure_host = '{}/{}'.format(host.alias, rust_host)
--        die("The rust compiler host ({}) is not suitable for the configure host ({})."
--            .format(rustc_host, configure_host))
--
--
- set_config('RUST_TARGET', rust_target_triple)
- set_config('RUST_HOST_TARGET', rust_host_triple)
- 
diff --git a/srcpkgs/mozjs78/template b/srcpkgs/mozjs78/template
deleted file mode 100644
index b1309da0f3439..0000000000000
--- a/srcpkgs/mozjs78/template
+++ /dev/null
@@ -1,76 +0,0 @@
-# Template file for 'mozjs78'
-pkgname=mozjs78
-version=78.9.0
-revision=8
-build_wrksrc=js/src
-build_style=gnu-configure
-build_helper=rust
-hostmakedepends="perl python pkg-config automake autoconf213 autoconf-archive
- cargo rust llvm clang which python3"
-makedepends="icu-devel libffi-devel nspr-devel python-devel readline-devel
- zlib-devel python3-devel rust-std"
-depends="nspr>=4.19"
-short_desc="Mozilla JavaScript interpreter and library (78.x series)"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="MPL-2.0"
-homepage="https://www.mozilla.org/firefox/"
-distfiles="${MOZILLA_SITE}/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz"
-checksum=8e03ac1dfc5ac804c8b13a529414a9387e0425e545bb2f4462d74c3175e64864
-
-CXXFLAGS="-Wno-class-memaccess"
-LDFLAGS="-Wl,-z,stack-size=1048576"
-
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
-	LDFLAGS+=" -latomic"
-fi
-
-case "$XBPS_TARGET_MACHINE" in
-	mips*) broken="no matching function for call to 'js::jit::MacroAssembler::unboxInt32(const js::jit::BaseObjectElementIndex&, js::jit::Register&)'";;
-esac
-
-do_configure() {
-	local _args
-	# use gcc as assembler to avoid errors
-	unset AS
-
-	if [ "$CROSS_BUILD" ]; then
-		export HOST_CC=cc
-		export TARGET_CC="${CC}"
-		export HOST_CFLAGS="-Os"
-		export HOST_CXXFLAGS="-Os"
-		_args+=" --target=${XBPS_CROSS_TRIPLET} --enable-linker=bfd"
-	else
-		_args+=" --target=${XBPS_TRIPLET}"
-	fi
-
-	AWK=awk autoconf-2.13 old-configure.in > old-configure
-
-	touch ${wrksrc}/js/src/configure
-	touch ${wrksrc}/js/src/old-configure
-	SHELL=/bin/bash PYTHON=/usr/bin/python2 ./configure --prefix=/usr \
-		--disable-jemalloc --disable-optimize --enable-ctypes \
-		--enable-readline --enable-shared-js --enable-system-ffi \
-		--enable-tests --with-intl-api --with-system-icu --with-system-nspr \
-		--enable-hardening --enable-release --with-system-zlib \
-		--host=${XBPS_TRIPLET} ${_args}
-}
-
-do_check() {
-	dist/bin/jsapi-tests --format=none --exclude-random basic
-}
-
-post_install() {
-	# Remove unneeded static library
-	rm -f "${DESTDIR}"/usr/lib/*.ajs
-}
-
-mozjs78-devel_package() {
-	depends="nspr-devel ${sourcepkg}>=${version}_${revision}"
-	short_desc+=" - development files"
-	pkg_install() {
-		vmove usr/bin/js78-config
-		vmove usr/include
-		vmove "usr/lib/*.so"
-		vmove usr/lib/pkgconfig
-	}
-}
diff --git a/srcpkgs/mozjs78/update b/srcpkgs/mozjs78/update
deleted file mode 100644
index 1947e19217f00..0000000000000
--- a/srcpkgs/mozjs78/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname='mozjs'
diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template
index 321b11f9c15d8..253b4636abc9d 100644
--- a/srcpkgs/removed-packages/template
+++ b/srcpkgs/removed-packages/template
@@ -1,6 +1,6 @@
 # Template file for 'removed-packages'
 pkgname=removed-packages
-version=0.1.20231007
+version=0.1.20231009
 revision=1
 build_style=meta
 short_desc="Uninstalls packages removed from repository"
@@ -419,6 +419,8 @@ replaces="
  mopidy-spotify<=4.0.1_5
  mozjs60<=60.8.0_6
  mozjs68<=68.11.0_1
+ mozjs78-devel<=78.9.0_8
+ mozjs78<=78.9.0_8
  mozjs91-devel<=91.7.1_3
  mozjs91<=91.7.1_3
  mp3gain<=1.6.2_2

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PR PATCH] [Closed]: mozjs78: remove package.
  2023-10-09 10:50 [PR PATCH] mozjs78: remove package mhmdanas
  2023-10-11  7:37 ` classabbyamp
  2023-10-11 10:42 ` [PR PATCH] [Updated] " mhmdanas
@ 2023-10-11 21:02 ` classabbyamp
  2 siblings, 0 replies; 4+ messages in thread
From: classabbyamp @ 2023-10-11 21:02 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1083 bytes --]

There's a closed pull request on the void-packages repository

mozjs78: remove package.
https://github.com/void-linux/void-packages/pull/46525

Description:

<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

Closes #39226.

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-10-11 21:02 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-09 10:50 [PR PATCH] mozjs78: remove package mhmdanas
2023-10-11  7:37 ` classabbyamp
2023-10-11 10:42 ` [PR PATCH] [Updated] " mhmdanas
2023-10-11 21:02 ` [PR PATCH] [Closed]: " classabbyamp

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).