Fix some Mac constraint checks (#12138)

* Fix Mac platform check for dependency in py-ipython package: 'when'
  constraints in Spack directives must be Specs (either a Spec
  object or a Spec in string format)
* Fix Mac version check in py-numpy: platform.mac_ver() returns a
  3-part string as its first tuple item so the check as written would
  never pass; use Spack Version object to simplify check.
* Fix Mac version check in qt package (the check was incorrectly
  comparing ints and strings) and use Spack version object to
  simplify check.
This commit is contained in:
Adam J. Stewart 2019-07-29 17:05:02 -05:00 committed by Peter Scheibel
parent e7d9a6f426
commit 9af155f0f6
3 changed files with 6 additions and 10 deletions

View File

@ -4,8 +4,6 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
import sys
import platform
class PyIpython(PythonPackage):
@ -32,9 +30,6 @@ class PyIpython(PythonPackage):
depends_on('py-decorator', type=('build', 'run'))
depends_on('py-pexpect', type=('build', 'run'))
depends_on('py-backcall', type=('build', 'run'), when="^python@3.3:")
depends_on('py-appnope', type=('build', 'run'),
when=sys.platform == 'darwin' and
int(platform.mac_ver()[0].split('.')[1]) >= 9)
depends_on('py-appnope', type=('build', 'run'), when='platform=darwin')
conflicts('^python@2.7:2.8', when='@7.0.0:')

View File

@ -84,7 +84,8 @@ def patch(self):
def write_library_dirs(f, dirs):
f.write('library_dirs=%s\n' % dirs)
if not ((platform.system() == "Darwin") and
(platform.mac_ver()[0] == '10.12')):
(Version(platform.mac_ver()[0]).up_to(2) == Version(
'10.12'))):
f.write('rpath=%s\n' % dirs)
# for build notes see http://www.scipy.org/scipylib/building/linux.html

View File

@ -320,8 +320,8 @@ def common_config_args(self):
if '@4' in self.spec and sys.platform == 'darwin':
config_args.append('-cocoa')
mac_ver = tuple(platform.mac_ver()[0].split('.')[:2])
sdkname = 'macosx%s' % '.'.join(mac_ver)
mac_ver = Version(platform.mac_ver()[0])
sdkname = 'macosx{0}'.format(mac_ver.up_to(2))
sdkpath = which('xcrun')('--show-sdk-path',
'--sdk', sdkname,
output=str)
@ -338,7 +338,7 @@ def common_config_args(self):
use_clang_platform = True
if use_clang_platform:
config_args.append('-platform')
if mac_ver >= (10, 9):
if mac_ver >= Version('10.9'):
config_args.append('unsupported/macx-clang-libc++')
else:
config_args.append('unsupported/macx-clang')