gyp: fix for compatibility with Python 3.10

The collections abstract base classes module is finally moved to
collections.abc starting in Python 3.10.

Fixes the following problem encountered making use of gyp:

|   File "[...]/usr/lib/python3.10/site-packages/gyp/common.py", line 497, in <module>
|     class OrderedSet(collections.MutableSet):
| AttributeError: module 'collections' has no attribute 'MutableSet'

Signed-off-by: Kurt Kiefer <kurt.kiefer@arthrex.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Kurt Kiefer 2021-10-18 13:28:34 -07:00 committed by Khem Raj
parent 7892e882a2
commit 7297734204
2 changed files with 28 additions and 1 deletions

View File

@ -0,0 +1,25 @@
From bfe579283e5fcab60172818bfe4e6e1d40c2bed0 Mon Sep 17 00:00:00 2001
From: Kurt Kiefer <kurt.kiefer@arthrex.com>
Date: Mon, 18 Oct 2021 11:21:14 -0700
Subject: [PATCH] Fix for Python 3.10 compatibility
The collections.abc module replaces collections for Python 3.10
Signed-off-by: Kurt Kiefer <kurt.kiefer@arthrex.com>
---
pylib/gyp/common.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pylib/gyp/common.py b/pylib/gyp/common.py
index b268d229..4f9cb0ec 100644
--- a/pylib/gyp/common.py
+++ b/pylib/gyp/common.py
@@ -494,7 +494,7 @@ def uniquer(seq, idfun=None):
# 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

View File

@ -4,7 +4,9 @@ LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=ab828cb8ce4c62ee82945a11247b6bbd"
SECTION = "devel"
SRC_URI = "git://chromium.googlesource.com/external/gyp;protocol=https"
SRC_URI = "git://chromium.googlesource.com/external/gyp;protocol=https \
file://0001-Fix-for-Python-3.10-compatibility.patch \
"
SRCREV = "caa60026e223fc501e8b337fd5086ece4028b1c6"
S = "${WORKDIR}/git"