Files
MINGW-packages/mingw-w64-python3/0760-msys-monkeypatch-os-system-via-sh-exe.patch
Алексей edc01d04d6 Update python to 3.7.0 (#4047)
* Initial python-3.7 port

* python3: Add setup.config.in to remove before patching

* python3: Implement setenv for mingw. Fix building with NT threads. Build
with unicode

* Fix typos

* Fix linking core modules

* Mingw build have exec_prefix

* Remove deprecated patch

* Fix building python and modules. Failing to build readline module and
install not working yet

* More getpath changes and more aggressive path separator conversion

* Fix readline module compilation and linking errors

* python3: By default building with posix threads, NT threads are broken.
Some patches optimization. First buildable commit

* Py_DecodeLocale handle char, not wchar

* Fix building multiprocessing module with posix threads
2018-07-06 09:57:52 +03:00

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-06-30 11:17:24.904343100 +0300
+++ Python-3.7.0/setup.py 2018-06-30 11:17:31.627954900 +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"))