Files
MINGW-packages/mingw-w64-python3/0760-msys-monkeypatch-os-system-via-sh-exe.patch

22 lines
873 B
Diff

diff -Naur Python-3.7.0-orig/setup.py Python-3.7.0/setup.py
--- Python-3.7.0-orig/setup.py 2018-07-12 10:22:07.080033900 +0300
+++ Python-3.7.0/setup.py 2018-07-12 10:22:12.368443200 +0300
@@ -39,6 +39,17 @@
return sys.platform
host_platform = get_platform()
+# On MSYS, os.system needs to be wrapped with sh.exe
+# as otherwise all the io redirection will fail.
+# Arguably, this could happen inside the real os.system
+# rather than this monkey patch.
+if sys.platform == "win32" and "MSYSTEM" in os.environ:
+ os_system = os.system
+ def msys_system(command):
+ command_in_sh = 'sh.exe -c "%s"' % command.replace("\\", "\\\\")
+ return os_system(command_in_sh)
+ os.system = msys_system
+
# Were we compiled --with-pydebug or with #define Py_DEBUG?
COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS"))