summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam J. Stewart <ajstewart426@gmail.com>2016-08-09 16:13:57 -0500
committerAdam J. Stewart <ajstewart426@gmail.com>2016-08-11 10:33:42 -0500
commit59ce0c751409af36c13da64843f4ee6d7d3419ef (patch)
tree3586dda576ac1f3fedbd228b47e7c0af828e87a2
parentddf1879bed09dd0b323f393ab82cdda9d7143af9 (diff)
downloadspack-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.py3
-rw-r--r--var/spack/repos/builtin/packages/qt/package.py38
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):