37 lines
1.2 KiB
Diff
37 lines
1.2 KiB
Diff
From 48afa1210333a96a32120db4eaca3e097b054c22 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?=
|
|
<alexey.pawlow@gmail.com>
|
|
Date: Thu, 17 Jun 2021 18:51:57 +0530
|
|
Subject: [PATCH 033/N] msys monkeypatch os system via sh exe
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Co-authored-by: Алексей <alexey.pawlow@gmail.com>
|
|
---
|
|
setup.py | 11 +++++++++++
|
|
1 file changed, 11 insertions(+)
|
|
|
|
diff --git a/setup.py b/setup.py
|
|
index 6939509..5884345 100644
|
|
--- a/setup.py
|
|
+++ b/setup.py
|
|
@@ -77,6 +77,17 @@ def get_platform():
|
|
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')
|