Combine patch for all versions

Patch doesn't work with @when unless you specify a patch for every
version. When running `spack patch` for a version without a patch,
spack thinks that a patch exists, tries to apply it, but it doesn't
exist. Spack gets very confused.
This commit is contained in:
Adam J. Stewart 2016-08-10 10:39:49 -05:00
parent 1363b05e93
commit b6fad65f52

View File

@ -114,34 +114,32 @@ def setup_environment(self, spack_env, env):
def setup_dependent_environment(self, spack_env, run_env, dspec): def setup_dependent_environment(self, spack_env, run_env, dspec):
spack_env.set('QTDIR', self.prefix) spack_env.set('QTDIR', self.prefix)
@when('@4')
def patch(self): def patch(self):
# Fix qmake compilers in the default mkspec if self.spec.satisfies('@4'):
filter_file('^QMAKE_CC .*', 'QMAKE_CC = cc', # Fix qmake compilers in the default mkspec
'mkspecs/common/g++-base.conf') filter_file('^QMAKE_CC .*', 'QMAKE_CC = cc',
filter_file('^QMAKE_CXX .*', 'QMAKE_CXX = c++', 'mkspecs/common/g++-base.conf')
'mkspecs/common/g++-base.conf') filter_file('^QMAKE_CXX .*', 'QMAKE_CXX = c++',
'mkspecs/common/g++-base.conf')
# Necessary to build with GCC 6 and other modern compilers # Necessary to build with GCC 6 and other modern compilers
# http://stackoverflow.com/questions/10354371/ # http://stackoverflow.com/questions/10354371/
filter_file('(^QMAKE_CXXFLAGS .*)', r'\1 -std=gnu++98', filter_file('(^QMAKE_CXXFLAGS .*)', r'\1 -std=gnu++98',
'mkspecs/common/gcc-base.conf') 'mkspecs/common/gcc-base.conf')
filter_file('^QMAKE_LFLAGS_NOUNDEF .*', 'QMAKE_LFLAGS_NOUNDEF = ', filter_file('^QMAKE_LFLAGS_NOUNDEF .*', 'QMAKE_LFLAGS_NOUNDEF = ',
'mkspecs/common/g++-unix.conf') 'mkspecs/common/g++-unix.conf')
elif self.spec.satisfies('@5:'):
# Fix qmake compilers in the default mkspec
filter_file('^QMAKE_COMPILER .*', 'QMAKE_COMPILER = cc',
'qtbase/mkspecs/common/g++-base.conf')
filter_file('^QMAKE_CC .*', 'QMAKE_CC = cc',
'qtbase/mkspecs/common/g++-base.conf')
filter_file('^QMAKE_CXX .*', 'QMAKE_CXX = c++',
'qtbase/mkspecs/common/g++-base.conf')
@when('@5:') filter_file('^QMAKE_LFLAGS_NOUNDEF .*', 'QMAKE_LFLAGS_NOUNDEF = ',
def patch(self): 'qtbase/mkspecs/common/g++-unix.conf')
# Fix qmake compilers in the default mkspec
filter_file('^QMAKE_COMPILER .*', 'QMAKE_COMPILER = cc',
'qtbase/mkspecs/common/g++-base.conf')
filter_file('^QMAKE_CC .*', 'QMAKE_CC = cc',
'qtbase/mkspecs/common/g++-base.conf')
filter_file('^QMAKE_CXX .*', 'QMAKE_CXX = c++',
'qtbase/mkspecs/common/g++-base.conf')
filter_file('^QMAKE_LFLAGS_NOUNDEF .*', 'QMAKE_LFLAGS_NOUNDEF = ',
'qtbase/mkspecs/common/g++-unix.conf')
@property @property
def common_config_args(self): def common_config_args(self):