212 lines
7.8 KiB
Diff
212 lines
7.8 KiB
Diff
--- matplotlib-1.5.3/setupext.py.orig 2016-09-09 05:50:50.000000000 +0300
|
|
+++ matplotlib-1.5.3/setupext.py 2016-09-23 13:10:33.239264300 +0300
|
|
@@ -19,6 +19,7 @@
|
|
PY3min = (sys.version_info[0] >= 3)
|
|
PY32min = (PY3min and sys.version_info[1] >= 2 or sys.version_info[0] > 3)
|
|
|
|
+MSYS = "MSYSTEM" in os.environ
|
|
|
|
try:
|
|
from subprocess import check_output
|
|
@@ -46,9 +47,16 @@
|
|
return output
|
|
|
|
|
|
-if sys.platform != 'win32':
|
|
+if sys.platform != 'win32' or MSYS:
|
|
if not PY3min:
|
|
- from commands import getstatusoutput
|
|
+ def getstatusoutput(cmd):
|
|
+ """Return (status, output) of executing cmd in a shell."""
|
|
+ pipe = os.popen(cmd, 'r')
|
|
+ text = pipe.read()
|
|
+ sts = pipe.close()
|
|
+ if sts is None: sts = 0
|
|
+ if text[-1:] == '\n': text = text[:-1]
|
|
+ return sts, text
|
|
else:
|
|
from subprocess import getstatusoutput
|
|
|
|
@@ -126,9 +134,10 @@
|
|
Returns `True` if `filename` can be found in one of the
|
|
directories in `include_dirs`.
|
|
"""
|
|
- if sys.platform == 'win32':
|
|
+ if sys.platform == 'win32' and not MSYS:
|
|
include_dirs += os.environ.get('INCLUDE', '.').split(';')
|
|
for dir in include_dirs:
|
|
+ dir = os.popen(' '.join(['cygpath', '-w', dir])).readline().strip()
|
|
if os.path.exists(os.path.join(dir, filename)):
|
|
return True
|
|
return False
|
|
@@ -239,6 +248,7 @@
|
|
"""
|
|
ext = DelayedExtension(name, files, *args, **kwargs)
|
|
for dir in get_base_dirs():
|
|
+ dir = os.popen(' '.join(['cygpath', '-w', dir])).readline().strip()
|
|
include_dir = os.path.join(dir, 'include')
|
|
if os.path.exists(include_dir):
|
|
ext.include_dirs.append(include_dir)
|
|
@@ -247,7 +257,6 @@
|
|
if os.path.exists(lib_dir):
|
|
ext.library_dirs.append(lib_dir)
|
|
ext.include_dirs.append('.')
|
|
-
|
|
return ext
|
|
|
|
|
|
@@ -259,7 +268,7 @@
|
|
"""
|
|
Determines whether pkg-config exists on this machine.
|
|
"""
|
|
- if sys.platform == 'win32':
|
|
+ if sys.platform == 'win32' and not MSYS:
|
|
self.has_pkgconfig = False
|
|
else:
|
|
try:
|
|
@@ -268,7 +277,7 @@
|
|
self.pkg_config = 'pkg-config'
|
|
|
|
self.set_pkgconfig_path()
|
|
- status, output = getstatusoutput(self.pkg_config + " --help")
|
|
+ status, output = getstatusoutput('sh -c "'+self.pkg_config+' --help"')
|
|
self.has_pkgconfig = (status == 0)
|
|
if not self.has_pkgconfig:
|
|
print("IMPORTANT WARNING:")
|
|
@@ -309,7 +318,7 @@
|
|
command = "{0} --libs --cflags ".format(executable)
|
|
|
|
try:
|
|
- output = check_output(command, shell=True,
|
|
+ output = check_output('sh -c "%s"' % command, shell=True,
|
|
stderr=subprocess.STDOUT)
|
|
except subprocess.CalledProcessError:
|
|
pass
|
|
@@ -319,11 +328,16 @@
|
|
for token in output.split():
|
|
attr = flag_map.get(token[:2])
|
|
if attr is not None:
|
|
- getattr(ext, attr).insert(0, token[2:])
|
|
-
|
|
+ if attr.endswith('dirs'):
|
|
+ dir = os.popen(' '.join(['cygpath', '-w', token[2:]])).readline().strip()
|
|
+ getattr(ext, attr).insert(0, dir)
|
|
+ else:
|
|
+ getattr(ext, attr).insert(0, token[2:])
|
|
+
|
|
if use_defaults:
|
|
basedirs = get_base_dirs()
|
|
for base in basedirs:
|
|
+ base = os.popen(' '.join(['cygpath', '-w', base])).readline().strip()
|
|
for include in default_include_dirs:
|
|
dir = os.path.join(base, include)
|
|
if os.path.exists(dir):
|
|
@@ -345,7 +359,7 @@
|
|
return None
|
|
|
|
status, output = getstatusoutput(
|
|
- self.pkg_config + " %s --modversion" % (package))
|
|
+ 'sh -c "'+self.pkg_config+' %s --modversion"' % (package))
|
|
if status == 0:
|
|
return output
|
|
return None
|
|
@@ -897,11 +911,11 @@
|
|
name = "freetype"
|
|
|
|
def check(self):
|
|
- if sys.platform == 'win32':
|
|
+ if sys.platform == 'win32' and not MSYS:
|
|
check_include_file(get_include_dirs(), 'ft2build.h', 'freetype')
|
|
return 'Using unknown version found on system.'
|
|
|
|
- status, output = getstatusoutput("freetype-config --ftversion")
|
|
+ status, output = getstatusoutput('sh -c "freetype-config --ftversion"')
|
|
if status == 0:
|
|
version = output
|
|
else:
|
|
@@ -926,6 +940,7 @@
|
|
return version
|
|
# Return the first version found in the include dirs.
|
|
for include_dir in ext.include_dirs:
|
|
+ include_dir = os.popen(' '.join(['cygpath', '-w', include_dir])).readline().strip()
|
|
header_fname = os.path.join(include_dir, 'freetype.h')
|
|
if os.path.exists(header_fname):
|
|
major, minor, patch = 0, 0, 0
|
|
@@ -972,11 +987,11 @@
|
|
name = "png"
|
|
|
|
def check(self):
|
|
- if sys.platform == 'win32':
|
|
+ if sys.platform == 'win32' and not MSYS:
|
|
check_include_file(get_include_dirs(), 'png.h', 'png')
|
|
return 'Using unknown version found on system.'
|
|
|
|
- status, output = getstatusoutput("libpng-config --version")
|
|
+ status, output = getstatusoutput('sh -c "libpng-config --version"')
|
|
if status == 0:
|
|
version = output
|
|
else:
|
|
@@ -1368,7 +1383,7 @@
|
|
return ext
|
|
|
|
def add_flags(self, ext):
|
|
- if sys.platform == 'win32':
|
|
+ if sys.platform == 'win32' and not MSYS:
|
|
def getoutput(s):
|
|
ret = os.popen(s).read().strip()
|
|
return ret
|
|
@@ -1423,7 +1438,7 @@
|
|
'm' in ext.libraries):
|
|
ext.libraries.remove('m')
|
|
|
|
- elif sys.platform != 'win32':
|
|
+ elif sys.platform != 'win32' or MSYS:
|
|
pkg_config.setup_extension(ext, 'pygtk-2.0')
|
|
pkg_config.setup_extension(ext, 'gtk+-2.0')
|
|
|
|
@@ -1830,7 +1845,7 @@
|
|
|
|
def check(self):
|
|
try:
|
|
- output = check_output('dvipng -version', shell=True,
|
|
+ output = check_output('sh -c "dvipng -version"', shell=True,
|
|
stderr=subprocess.STDOUT)
|
|
return "version %s" % output.splitlines()[1].decode().split()[-1]
|
|
except (IndexError, ValueError, subprocess.CalledProcessError):
|
|
@@ -1843,7 +1858,7 @@
|
|
|
|
def check(self):
|
|
try:
|
|
- if sys.platform == 'win32':
|
|
+ if sys.platform == 'win32' and not MSYS:
|
|
command = 'gswin32c --version'
|
|
try:
|
|
output = check_output(command, shell=True,
|
|
@@ -1853,7 +1868,7 @@
|
|
output = check_output(command, shell=True,
|
|
stderr=subprocess.STDOUT)
|
|
else:
|
|
- command = 'gs --version'
|
|
+ command = 'sh -c "gs --version"'
|
|
output = check_output(command, shell=True,
|
|
stderr=subprocess.STDOUT)
|
|
return "version %s" % output.decode()[:-1]
|
|
@@ -1867,7 +1882,7 @@
|
|
|
|
def check(self):
|
|
try:
|
|
- output = check_output('latex -version', shell=True,
|
|
+ output = check_output('sh -c "latex -version"', shell=True,
|
|
stderr=subprocess.STDOUT)
|
|
line = output.splitlines()[0].decode()
|
|
pattern = '(3\.1\d+)|(MiKTeX \d+.\d+)'
|
|
@@ -1883,7 +1898,7 @@
|
|
|
|
def check(self):
|
|
try:
|
|
- output = check_output('pdftops -v', shell=True,
|
|
+ output = check_output('sh -c "pdftops -v"', shell=True,
|
|
stderr=subprocess.STDOUT)
|
|
for line in output.splitlines():
|
|
line = line.decode()
|