Skip to content

Commit 74ee6bf

Browse files
committed
HACK: hacks to allow unpatched loading of setuptools
1 parent 7c83a6f commit 74ee6bf

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

graalpython/lib-graalpython/__builtins_patches__.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,3 +72,35 @@ def open(*args, **kwargs):
7272

7373

7474
setattr(builtins, 'open', open)
75+
76+
77+
78+
79+
# platform
80+
sys.modules["_posixsubprocess"] = type(sys)("_posixsubprocess")
81+
sys.modules["select"].select = lambda *args: print("select", args)
82+
sys.modules["os"].WIFSIGNALED = lambda status: False
83+
sys.modules["os"].WIFEXITED = lambda status: False
84+
sys.modules["os"].WTERMSIG = lambda status: False
85+
sys.modules["os"].WEXITSTATUS = lambda status: False
86+
sys.modules["os"].WIFSTOPPED = lambda status: False
87+
sys.modules["os"].WSTOPSIG = lambda status: False
88+
sys.modules["os"].waitpid = lambda status: False
89+
sys.modules["os"].WNOHANG = lambda status: False
90+
91+
# in setuptools' pkg_resources/__init__.py
92+
sys.modules["zipimport"] = type(sys)("zipimport")
93+
sys.modules["zipimport"].zipimporter = None
94+
95+
# in setuptools' pkg_resources/__init__.py
96+
sys.modules["email.parser"] = type(sys)("email.parser")
97+
sys.modules["plistlib"] = type(sys)("plistlib")
98+
99+
# in setuptools' vendored pyparsing.py
100+
class ThreadingIntercession(type(sys)):
101+
def __getattr__(self, name):
102+
import dummy_threading
103+
return getattr(dummy_threading, name)
104+
105+
106+
sys.modules["threading"] = ThreadingIntercession("threading")

0 commit comments

Comments
 (0)