summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/pcre/package.py7
-rw-r--r--var/spack/repos/builtin/packages/pcre2/package.py12
-rw-r--r--var/spack/repos/builtin/packages/qt/package.py36
3 files changed, 53 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/pcre/package.py b/var/spack/repos/builtin/packages/pcre/package.py
index 8fdc775fd2..952181361c 100644
--- a/var/spack/repos/builtin/packages/pcre/package.py
+++ b/var/spack/repos/builtin/packages/pcre/package.py
@@ -25,6 +25,9 @@ class Pcre(AutotoolsPackage):
variant('jit', default=False,
description='Enable JIT support.')
+ variant('multibyte', default=True,
+ description='Enable support for 16 and 32 bit characters.')
+
variant('utf', default=True,
description='Enable support for UTF-8/16/32, '
'incompatible with EBCDIC.')
@@ -35,6 +38,10 @@ class Pcre(AutotoolsPackage):
if '+jit' in self.spec:
args.append('--enable-jit')
+ if '+multibyte' in self.spec:
+ args.append('--enable-pcre16')
+ args.append('--enable-pcre32')
+
if '+utf' in self.spec:
args.append('--enable-utf')
args.append('--enable-unicode-properties')
diff --git a/var/spack/repos/builtin/packages/pcre2/package.py b/var/spack/repos/builtin/packages/pcre2/package.py
index 5665c7531e..a78bdb213e 100644
--- a/var/spack/repos/builtin/packages/pcre2/package.py
+++ b/var/spack/repos/builtin/packages/pcre2/package.py
@@ -16,3 +16,15 @@ class Pcre2(AutotoolsPackage):
version('10.31', 'e0b91c891a3c49050f7fd15de33d0ba4')
version('10.20', 'dcd027c57ecfdc8a6c3af9d0acf5e3f7')
+
+ variant('multibyte', default=True,
+ description='Enable support for 16 and 32 bit characters.')
+
+ def configure_args(self):
+ args = []
+
+ if '+multibyte' in self.spec:
+ args.append('--enable-pcre2-16')
+ args.append('--enable-pcre2-32')
+
+ return args
diff --git a/var/spack/repos/builtin/packages/qt/package.py b/var/spack/repos/builtin/packages/qt/package.py
index 9c45f98cc5..c220acc889 100644
--- a/var/spack/repos/builtin/packages/qt/package.py
+++ b/var/spack/repos/builtin/packages/qt/package.py
@@ -17,6 +17,7 @@ class Qt(Package):
list_url = 'http://download.qt.io/archive/qt/'
list_depth = 3
+ version('5.11.3', '859417642713cee2493ee3646a7fee782c9f1db39e41d7bb1322bba0c5f0ff4d')
version('5.11.2', 'c6104b840b6caee596fa9a35bc5f57f67ed5a99d6a36497b6fe66f990a53ca81')
version('5.10.0', 'c5e275ab0ed7ee61d0f4b82cd471770d')
version('5.9.1', '77b4af61c49a09833d4df824c806acaf')
@@ -78,6 +79,14 @@ class Qt(Package):
# https://github.com/spack/spack/issues/9209
patch('qt4-gcc-and-webkit.patch', when='@4')
+ # Fix build failure with newer versions of GCC
+ # https://bugreports.qt.io/browse/QTBUG-74196
+ patch('https://github.com/qt/qtscript/commit/97ec1d1882a83c23c91f0f7daea48e05858d8c32.patch',
+ sha256='ae88481a3ff63ab058cf9da6f5ae4397a983903109d907fb2ce4fcf91f9ca5e6',
+ working_dir='qtscript',
+ when='@5.0:5.12 %gcc@8.3:')
+
+ depends_on("pkgconfig", type='build')
# Use system openssl for security.
depends_on("openssl@:1.0", when='@:5.9')
depends_on("openssl")
@@ -94,6 +103,11 @@ class Qt(Package):
depends_on("icu4c")
depends_on("fontconfig", when=(sys.platform != 'darwin')) # (Unix only)
depends_on("freetype")
+ depends_on("sqlite")
+ depends_on("pcre+multibyte", when='@5.0:5.8')
+ depends_on("pcre2+multibyte", when='@5.9:')
+ depends_on("double-conversion", when='@5.7:')
+ depends_on("harfbuzz", when='@5:')
# Core options:
# -doubleconversion [system/qt/no]
@@ -116,7 +130,14 @@ class Qt(Package):
# OpenGL hardware acceleration
depends_on("gl@3.2:", when='@4:+opengl')
+ # xcb is Linux-specific
depends_on("libxcb", when=sys.platform != 'darwin')
+ depends_on("xcb-util-image", when=sys.platform != 'darwin')
+ depends_on("xcb-util-keysyms", when=sys.platform != 'darwin')
+ depends_on("xcb-util-wm", when=sys.platform != 'darwin')
+ depends_on("xcb-util-renderutil", when=sys.platform != 'darwin')
+ depends_on("libxkbcommon", when=sys.platform != 'darwin')
+ depends_on("inputproto", when='@:5.8')
depends_on("libx11", when=sys.platform != 'darwin')
if sys.platform != 'darwin':
@@ -235,9 +256,17 @@ class Qt(Package):
'-optimized-qmake',
'-system-freetype',
'-I{0}/freetype2'.format(self.spec['freetype'].prefix.include),
- '-no-pch'
+ '-no-pch',
+ '-system-sqlite'
]
+ if self.spec.satisfies('@5:'):
+ config_args.append('-system-harfbuzz')
+ config_args.append('-system-pcre')
+
+ if self.spec.satisfies('@5.7:'):
+ config_args.append('-system-doubleconversion')
+
if sys.platform != 'darwin':
config_args.append('-fontconfig')
@@ -353,7 +382,7 @@ class Qt(Package):
if not sys.platform == 'darwin':
config_args.extend([
- '-qt-xcb',
+ '-system-xcb',
])
if '~webkit' in self.spec:
@@ -372,6 +401,9 @@ class Qt(Package):
# https://wiki.qt.io/QtWayland
config_args.extend(['-skip', 'wayland'])
+ if self.spec.satisfies('@5.7'):
+ config_args.extend(['-skip', 'virtualkeyboard'])
+
configure('-no-eglfs',
'-no-directfb',
'-{0}gtk'.format('' if '+gtk' in self.spec else 'no-'),