summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2022-08-16 10:28:31 +0200
committerMarius Bakke <marius@gnu.org>2022-09-01 23:37:12 +0200
commit1cad443b02d55760a68856f5433e4e48fbdac780 (patch)
tree3693a5fcab9bd7115dc069592b61eca5e727b5d0 /gnu/packages
parent48718135e74994e671eaf6dc6b74ac90e1e8a939 (diff)
downloadguix-1cad443b02d55760a68856f5433e4e48fbdac780.tar.gz
gnu: mozjs@78: Patch for Python 3.10.
* gnu/packages/gnuzilla.scm (mozjs-78)[arguments]: Add phase.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/gnuzilla.scm19
1 files changed, 19 insertions, 0 deletions
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index c4239d769f..78318cfab9 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -265,6 +265,25 @@ in C/C++.")
      (substitute-keyword-arguments (package-arguments mozjs)
        ((#:phases phases)
         #~(modify-phases #$phases
+            (add-after 'unpack 'patch-for-python-3.10
+              (lambda _
+                ;; Some classes were moved from collections to collections.abc
+                ;; in Python 3.10.
+                (substitute* "python/mozbuild/mozbuild/util.py"
+                  (("collections\\.Sequence")
+                   "collections.abc.Sequence"))
+                (substitute* "python/mozbuild/mozbuild/makeutil.py"
+                  (("from collections import Iterable")
+                   "from collections.abc import Iterable"))
+                (substitute* "python/mozbuild/mozbuild/backend/configenvironment.py"
+                  (("from collections import Iterable, OrderedDict")
+                   "from collections import OrderedDict\n\
+from collections.abc import Iterable"))
+                (substitute*
+                    "testing/mozbase/manifestparser/manifestparser/filters.py"
+                  (("from collections import defaultdict, MutableSequence")
+                   "from collections import defaultdict\n\
+from collections.abc import MutableSequence"))))
             (replace 'configure
               (lambda* (#:key configure-flags #:allow-other-keys)
                 ;; The configure script does not accept environment variables as