# IT4Innovations # LK 2023 easyblock = 'CMakeNinja' name = 'Qt6' version = '6.6.0' homepage = 'https://qt.io/' description = "Qt is a comprehensive cross-platform C++ application framework." toolchain = {'name': 'GCCcore', 'version': '12.2.0'} # AMD/intel cpu import os if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: toolchainopts = {'lowopt': True, 'optarch': 'march=core-avx2'} else: toolchainopts = {'lowopt': True, 'optarch': False} # 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-src-%(version)s.tar.xz'] #patches = [ # 'Qt6-6.5.2_fix_OF-Gentoo.patch', #] checksums = [ {'qt-everywhere-src-6.6.0.tar.xz': '652538fcb5d175d8f8176c84c847b79177c87847b7273dccaec1897d80b50002'}, # {'Qt6-6.5.2_fix_OF-Gentoo.patch': '62c4b1abdeac69f40fd48f5e46f470f9f9c328fdb02ab8aceb9aa1885ad8c601'}, ] builddependencies = [ ('binutils', '2.39'), ('pkgconf', '1.9.3'), ('CMake', '3.24.3'), ('Ninja', '1.11.1'), # deps for QtWebEngine ('Bison', '3.8.2'), ('flex', '2.6.4'), ('gperf', '3.1'), ('re2c', '3.0'), ] dependencies = [ ('double-conversion', '3.2.1'), ('GLib', '2.75.0'), ('PCRE2', '10.40'), ('libpng', '1.6.38'), ('LibTIFF', '4.4.0'), ('libwebp', '1.3.1'), ('JasPer', '4.0.0'), ('HarfBuzz', '5.3.1'), ('SQLite', '3.39.4'), ('graphite2', '1.3.14'), # ('assimp', '5.2.5'), # for Qt 3D ('FFmpeg', '5.1.2'), ('X11', '20221110'), ('fontconfig', '2.14.1'), ('zlib', '1.2.12'), ('Python', '3.10.8'), # ('Python-bundle-PyPI', '2023.06'), # WebEngine # ('freetype', '2.12.1'), # WebEngine ('DBus', '1.15.2'), # ('libevent', '2.1.12'), # WebEngine ('libGLU', '9.0.2'), # ('libjpeg-turbo', '2.1.4'), # WebEngine # ('NSS', '3.85'), # WebEngine, required # ('snappy', '1.1.9'), # WebEngine ('OpenSSL', '1.1', '', SYSTEM), # ('ICU', '72.1'), # WebEngine, optional # ('nodejs', '18.12.1'), # WebEngine, required # ('gRPC', '1.52.2'), # WebEngine needs older Abseil/gRPC/protobuf ] preconfigopts = 'sed -i "s/MultiMedia/Multimedia/g" ../qt-everywhere-src-%(version)s/qtcharts/CMakeLists.txt &&' # Typo preconfigopts += 'sed -i "23i set(Python3_ROOT_DIR \\$ENV{EBROOTPYTHON})" ' \ '../qt-everywhere-src-6.6.0/qtwebengine/src/gn/CMakeLists.txt &&' configopts = '-Wno-dev ' configopts += '-DFEATURE_qtpdf_build=OFF ' # Requires CUPS configopts += '-DQT_AVOID_CMAKE_ARCHIVING_API=ON ' configopts += '-DPython3_ROOT_DIR=$EBROOTPYTHON ' #configopts += '-DBUILD_qtwayland=OFF ' # Does not work on CentOS 7 # Removed from Qt6.0.0 but may be added back in the future # configopts += '-DBUILD_qtgamepad=OFF ' # Does not work on CentOS 7 sanity_check_paths = { 'files': ['bin/qmake6', 'lib/libQt6Core.%s' % SHLIB_EXT ], 'dirs': ['include/QtCore' ], } sanity_check_commands = ['qmake6 --help'] moduleclass = 'devel'