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)
