diff -Naur Python-3.8.0-orig/setup.py Python-3.8.0/setup.py --- Python-3.8.0-orig/setup.py 2019-10-22 10:03:24.597396100 +0300 +++ Python-3.8.0/setup.py 2019-10-22 10:03:35.002614400 +0300 @@ -38,6 +38,17 @@ return sys.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 + CROSS_COMPILING = ("_PYTHON_HOST_PLATFORM" in os.environ) HOST_PLATFORM = get_platform() MS_WINDOWS = (HOST_PLATFORM == 'win32')