diff -ru --new-file 0ad-0.0.25b-alpha.orig/libraries/source/spidermonkey/patch.sh 0ad-0.0.25b-alpha/libraries/source/spidermonkey/patch.sh --- 0ad-0.0.25b-alpha.orig/libraries/source/spidermonkey/patch.sh 2021-12-17 08:53:59.543315034 +0100 +++ 0ad-0.0.25b-alpha/libraries/source/spidermonkey/patch.sh 2021-12-17 08:53:34.789777469 +0100 @@ -43,6 +43,8 @@ # Note that this isn't quite the upstream patch to match our version. patch -p1 < ../FixRust150.diff +patch -p1 < ../python-3.10.diff + # Patch those separately, as they might interfere with normal behaviour. if [ "$(uname -s)" = "FreeBSD" ]; then diff -ru --new-file 0ad-0.0.25b-alpha.orig/libraries/source/spidermonkey/python-3.10.diff 0ad-0.0.25b-alpha/libraries/source/spidermonkey/python-3.10.diff --- 0ad-0.0.25b-alpha.orig/libraries/source/spidermonkey/python-3.10.diff 1970-01-01 01:00:00.000000000 +0100 +++ 0ad-0.0.25b-alpha/libraries/source/spidermonkey/python-3.10.diff 2021-12-17 09:05:09.713419684 +0100 @@ -0,0 +1,62 @@ +diff -ru mozjs-78.6.0.orig/python/mozbuild/mozbuild/backend/configenvironment.py mozjs-78.6.0/python/mozbuild/mozbuild/backend/configenvironment.py +--- mozjs-78.6.0.orig/python/mozbuild/mozbuild/backend/configenvironment.py 2020-11-28 17:33:58.000000000 +0100 ++++ mozjs-78.6.0/python/mozbuild/mozbuild/backend/configenvironment.py 2021-12-17 08:52:07.342371513 +0100 +@@ -9,7 +9,8 @@ + import sys + import json + +-from collections import Iterable, OrderedDict ++from collections.abc import Iterable ++from collections import OrderedDict + from types import ModuleType + + import mozpack.path as mozpath +diff -ru mozjs-78.6.0.orig/python/mozbuild/mozbuild/makeutil.py mozjs-78.6.0/python/mozbuild/mozbuild/makeutil.py +--- mozjs-78.6.0.orig/python/mozbuild/mozbuild/makeutil.py 2020-11-28 17:33:58.000000000 +0100 ++++ mozjs-78.6.0/python/mozbuild/mozbuild/makeutil.py 2021-12-17 09:05:02.820298351 +0100 +@@ -7,7 +7,7 @@ + import os + import re + import six +-from collections import Iterable ++from collections.abc import Iterable + + + class Makefile(object): +diff -ru mozjs-78.6.0.orig/python/mozbuild/mozbuild/util.py mozjs-78.6.0/python/mozbuild/mozbuild/util.py +--- mozjs-78.6.0.orig/python/mozbuild/mozbuild/util.py 2020-11-28 17:33:58.000000000 +0100 ++++ mozjs-78.6.0/python/mozbuild/mozbuild/util.py 2021-12-17 08:52:31.045908142 +0100 +@@ -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 -ru mozjs-78.6.0.orig/testing/mozbase/manifestparser/manifestparser/filters.py mozjs-78.6.0/testing/mozbase/manifestparser/manifestparser/filters.py +--- mozjs-78.6.0.orig/testing/mozbase/manifestparser/manifestparser/filters.py 2020-11-28 17:34:00.000000000 +0100 ++++ mozjs-78.6.0/testing/mozbase/manifestparser/manifestparser/filters.py 2021-12-17 09:02:44.801711871 +0100 +@@ -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 -ru mozjs-78.6.0.orig/third_party/python/virtualenv/virtualenv.py mozjs-78.6.0/third_party/python/virtualenv/virtualenv.py +--- mozjs-78.6.0.orig/third_party/python/virtualenv/virtualenv.py 2020-11-28 17:34:05.000000000 +0100 ++++ mozjs-78.6.0/third_party/python/virtualenv/virtualenv.py 2021-12-17 08:58:55.798970530 +0100 +@@ -1804,7 +1804,7 @@ + pass + else: + # noinspection PyProtectedMember +- if sysconfig._get_default_scheme() == "posix_local": ++ if sysconfig.get_default_scheme() == "posix_local": + local_path = os.path.join(home_dir, "local") + if not os.path.exists(local_path): + os.mkdir(local_path)