Files
MINGW-packages/mingw-w64-python3/0001-fix-_nt_quote_args-using-subprocess-list2cmdline.patch
Ray Donnelly 51ca502b53 python2 + 3 + numpy: Various updates and fixes
* Update python2 to 2.7.11
* Update numpy to 1.10.2 (and number the patches).
* New python2 + 3 patch so that sys.version returns
  something more similar to normal CPython so that
  get_build_architecture in distutils msvccompiler.py
  returns the right thing (NumPy uses it so there's
  every chance other things will too).
2016-01-02 21:45:58 +00:00

49 lines
2.1 KiB
Diff

--- Python-3.5.0/Lib/distutils/spawn.py.orig 2015-09-13 12:41:21.000000000 +0100
+++ Python-3.5.0/Lib/distutils/spawn.py 2016-01-01 22:56:13.888427600 +0000
@@ -12,6 +12,7 @@
from distutils.errors import DistutilsPlatformError, DistutilsExecError
from distutils.debug import DEBUG
from distutils import log
+from subprocess import list2cmdline
def spawn(cmd, search_path=1, verbose=0, dry_run=0):
"""Run another program, specified as a command list 'cmd', in a new process.
@@ -43,17 +44,13 @@
def _nt_quote_args(args):
"""Quote command-line arguments for DOS/Windows conventions.
- Just wraps every argument which contains blanks in double quotes, and
- returns a new argument list.
+ Defer to subprocess module's list2cmdline as the logic is
+ complex. The previous implementation here failed to handle
+ -DG_LOG_DOMAIN="GEGL-"__FILE__ which was encountered in MSYS2
+ while building the gobject-introspection part of GEGL 0.3.4.
"""
- # XXX this doesn't seem very robust to me -- but if the Windows guys
- # say it'll work, I guess I'll have to accept it. (What if an arg
- # contains quotes? What other magic characters, other than spaces,
- # have to be escaped? Is there an escaping mechanism other than
- # quoting?)
for i, arg in enumerate(args):
- if ' ' in arg:
- args[i] = '"%s"' % arg
+ args[i] = list2cmdline([args[i]])
return args
def _spawn_nt(cmd, search_path=1, verbose=0, dry_run=0):
--- Python-3.5.0/setup.py.orig 2016-01-01 23:31:43.768193600 +0000
+++ Python-3.5.0/setup.py 2016-01-01 23:54:46.268820600 +0000
@@ -1208,11 +1208,7 @@
'_sqlite/statement.c',
'_sqlite/util.c', ]
- sqlite_defines = []
- if host_platform != "win32":
- sqlite_defines.append(('MODULE_NAME', '"sqlite3"'))
- else:
- sqlite_defines.append(('MODULE_NAME', '\\"sqlite3\\"'))
+ sqlite_defines = [('MODULE_NAME', '"sqlite3"')]
# Enable support for loadable extensions in the sqlite3 module
# if --enable-loadable-sqlite-extensions configure option is used.