diff options
author | Adam J. Stewart <ajstewart426@gmail.com> | 2016-08-09 16:13:57 -0500 |
---|---|---|
committer | Adam J. Stewart <ajstewart426@gmail.com> | 2016-08-11 10:33:42 -0500 |
commit | 59ce0c751409af36c13da64843f4ee6d7d3419ef (patch) | |
tree | 3586dda576ac1f3fedbd228b47e7c0af828e87a2 | |
parent | ddf1879bed09dd0b323f393ab82cdda9d7143af9 (diff) | |
download | spack-59ce0c751409af36c13da64843f4ee6d7d3419ef.tar.gz spack-59ce0c751409af36c13da64843f4ee6d7d3419ef.tar.bz2 spack-59ce0c751409af36c13da64843f4ee6d7d3419ef.tar.xz spack-59ce0c751409af36c13da64843f4ee6d7d3419ef.zip |
Add patch to build qt 4 with GCC 6
-rw-r--r-- | var/spack/repos/builtin/packages/py-pyside/package.py | 3 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/qt/package.py | 38 |
2 files changed, 27 insertions, 14 deletions
diff --git a/var/spack/repos/builtin/packages/py-pyside/package.py b/var/spack/repos/builtin/packages/py-pyside/package.py index 1cb3e4745f..eda14660da 100644 --- a/var/spack/repos/builtin/packages/py-pyside/package.py +++ b/var/spack/repos/builtin/packages/py-pyside/package.py @@ -31,13 +31,14 @@ class PyPyside(Package): homepage = "https://pypi.python.org/pypi/pyside" url = "https://pypi.python.org/packages/source/P/PySide/PySide-1.2.2.tar.gz" + version('1.2.4', '3cb7174c13bd45e3e8f77638926cb8c0') version('1.2.2', 'c45bc400c8a86d6b35f34c29e379e44d') depends_on('cmake', type='build') extends('python') depends_on('py-setuptools', type='build') - depends_on('qt@:4') + depends_on('qt@4.6:4.999') def patch(self): """Undo PySide RPATH handling and add Spack RPATH.""" diff --git a/var/spack/repos/builtin/packages/qt/package.py b/var/spack/repos/builtin/packages/qt/package.py index ecc38f32db..44dbc7f709 100644 --- a/var/spack/repos/builtin/packages/qt/package.py +++ b/var/spack/repos/builtin/packages/qt/package.py @@ -114,22 +114,34 @@ class Qt(Package): def setup_dependent_environment(self, spack_env, run_env, dspec): spack_env.set('QTDIR', self.prefix) + @when('@4') def patch(self): - if self.spec.satisfies('@4'): - qmake_conf = 'mkspecs/common/g++-base.conf' - qmake_unix_conf = 'mkspecs/common/g++-unix.conf' - elif self.spec.satisfies('@5'): - qmake_conf = 'qtbase/mkspecs/common/g++-base.conf' - qmake_unix_conf = 'qtbase/mkspecs/common/g++-unix.conf' - else: - return + # Fix qmake compilers in the default mkspec + filter_file('^QMAKE_CC .*', 'QMAKE_CC = cc', + '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 + # http://stackoverflow.com/questions/10354371/ + filter_file('(^QMAKE_CXXFLAGS .*)', r'\1 -std=gnu++98', + 'mkspecs/common/gcc-base.conf') + + filter_file('^QMAKE_LFLAGS_NOUNDEF .*', 'QMAKE_LFLAGS_NOUNDEF = ', + 'mkspecs/common/g++-unix.conf') + + @when('@5:') + def patch(self): # Fix qmake compilers in the default mkspec - filter_file('^QMAKE_COMPILER.*', 'QMAKE_COMPILER = cc', qmake_conf) - filter_file('^QMAKE_CC.*', 'QMAKE_CC = cc', qmake_conf) - filter_file('^QMAKE_CXX.*', 'QMAKE_CXX = c++', qmake_conf) - filter_file('^QMAKE_LFLAGS_NOUNDEF.*', - 'QMAKE_LFLAGS_NOUNDEF =', qmake_unix_conf) + 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 def common_config_args(self): |