easyblock = 'EB_Qt' name = 'Qt5' version = '5.15.5' homepage = 'https://qt.io/' description = "Qt is a comprehensive cross-platform C++ application framework." toolchain = {'name': 'GCCcore', 'version': '11.2.0'} # disabling use of -ftree-vectorize is required to avoid compilation failures on some systems (e.g. Intel Skylake X) toolchainopts = {'vectorize': False} source_urls = [ 'https://download.qt.io/official_releases/qt/%(version_major_minor)s/%(version)s/single/', 'https://download.qt.io/archive/qt/%(version_major_minor)s/%(version)s/single/', 'https://download.qt.io/new_archive/qt/%(version_major_minor)s/%(version)s/single/', ] sources = ['qt-everywhere-opensource-src-%(version)s.tar.xz'] patches = [ 'Qt5-5.13.1_fix-avx2.patch', 'Qt5-5.13.1_fix-qmake-libdir.patch', 'Qt5-5.14.1_fix-OF-Gentoo.patch', 'Qt5-5.15.5_fix-qtwebegine-HarfBuzz-3.x.patch', ] builddependencies = [ ('binutils', '2.37'), ('pkgconf', '1.8.0'), # deps for QtWebEngine ('Bison', '3.7.6'), ('flex', '2.6.4'), ('gperf', '3.1'), ('Ninja', '1.10.2'), # Qt5WebEngine has build dependency on Python 2 ('Python', '2.7.18', '-bare'), ('re2c', '2.2'), ] dependencies = [ ('double-conversion', '3.1.5'), ('GLib', '2.69.1'), ('PCRE2', '10.37'), ('libpng', '1.6.37'), ('HarfBuzz', '4.2.1'), ('graphite2', '1.3.14'), # deps for QtWebEngine ('X11', '20210802'), ('fontconfig', '2.13.94'), ('DBus', '1.13.18'), ('libevent', '2.1.12'), ('libGLU', '9.0.2'), ('libjpeg-turbo', '2.0.6'), ('NSS', '3.69'), ('snappy', '1.1.9'), ('JasPer', '2.0.33'), ('bzip2', '1.0.8'), ('OpenSSL', '1.1', '', True), ('ICU', '71.1'), ('nodejs', '16.15.1'), ] # qtgamepad needs recent kernel/libevdev (fails on RHEL 6.x) # qtwayland fails to build on (some) Centos 7 systems configopts = '-skip qtgamepad -skip qtwayland' # make sure QtWebEngine component is being built & installed check_qtwebengine = True moduleclass = 'devel'