Skip to content

Commit

Permalink
Merge pull request #16810 from boegel/20221207095816_new_pr_Qt55157
Browse files Browse the repository at this point in the history
{devel}[GCCcore/12.2.0] Qt5 v5.15.7
  • Loading branch information
branfosj authored Dec 9, 2022
2 parents 36238df + e1e595d commit fa77418
Show file tree
Hide file tree
Showing 3 changed files with 119 additions and 0 deletions.
76 changes: 76 additions & 0 deletions easybuild/easyconfigs/q/Qt5/Qt5-5.15.7-GCCcore-12.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
easyblock = 'EB_Qt'

name = 'Qt5'
version = '5.15.7'

homepage = 'https://qt.io/'
description = "Qt is a comprehensive cross-platform C++ application framework."

toolchain = {'name': 'GCCcore', 'version': '12.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.7_GCC-12.patch',
]
checksums = [
{'qt-everywhere-opensource-src-5.15.7.tar.xz': '8a71986676a3f37a198a9113acedbfd5bc5606a459b6b85816d951458adbe9a0'},
{'Qt5-5.13.1_fix-avx2.patch': '6f46005f056bf9e6ff3e5d012a874d18ee03b33e685941f2979c970be91a9dbc'},
{'Qt5-5.13.1_fix-qmake-libdir.patch': '511ca9c0599ceb1989f73d8ceea9199c041512d3a26ee8c5fd870ead2c10cb63'},
{'Qt5-5.14.1_fix-OF-Gentoo.patch': '0b9defb7ce75314d85bebe07e143db7f7de316fec64c17cbd13f7eec5d2d1afa'},
{'Qt5-5.15.7_GCC-12.patch': '9a5bde91b223a3e2e90d3d6bec107af69a1a0f18d789593738a953080473fa68'},
]

builddependencies = [
('binutils', '2.39'),
('pkgconf', '1.9.3'),
# deps for QtWebEngine
('Bison', '3.8.2'),
('flex', '2.6.4'),
('gperf', '3.1'),
('Ninja', '1.11.1'),
# Qt5WebEngine has build dependency on Python 2
('Python', '2.7.18', '-bare'),
('re2c', '3.0'),
]

dependencies = [
('double-conversion', '3.2.1'),
('GLib', '2.75.0'),
('PCRE2', '10.40'),
('libpng', '1.6.38'),
('HarfBuzz', '5.3.1'),
('graphite2', '1.3.14'),
# deps for QtWebEngine
('X11', '20221110'),
('fontconfig', '2.14.1'),
('DBus', '1.15.2'),
('libevent', '2.1.12'),
('libGLU', '9.0.2'),
('libjpeg-turbo', '2.1.4'),
('NSS', '3.85'),
('snappy', '1.1.9'),
('JasPer', '4.0.0'),
('bzip2', '1.0.8'),
('OpenSSL', '1.1', '', SYSTEM),
('ICU', '72.1'),
('nodejs', '18.12.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'
14 changes: 14 additions & 0 deletions easybuild/easyconfigs/q/Qt5/Qt5-5.15.7_GCC-12.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
add missing include to fix compilation error with GCC 12.x
../../3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:300:49: error: no matching function for call to begin(const char* const [140])
cfr. https://github.com/archlinux/svntogit-packages/blob/packages/qt5-webengine/trunk/qt5-webengine-gcc12.patch
--- Qt5/5.15.7/GCCcore-12.2.0/qt-everywhere-src-5.15.7/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp.orig 2021-10-19 14:46:32.000000000 +0200
+++ Qt5/5.15.7/GCCcore-12.2.0/qt-everywhere-src-5.15.7/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp 2022-11-25 14:48:38.501288572 +0100
@@ -8,6 +8,8 @@

#include "include/utils/SkParse.h"

+#include <iterator>
+
static constexpr const char* gColorNames[] = {
"aliceblue",
"antiquewhite",
29 changes: 29 additions & 0 deletions easybuild/easyconfigs/r/re2c/re2c-3.0-GCCcore-12.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
easyblock = 'ConfigureMake'

name = 're2c'
version = '3.0'

homepage = 'https://re2c.org'
description = """re2c is a free and open-source lexer generator for C and C++. Its main goal is generating
fast lexers: at least as fast as their reasonably optimized hand-coded counterparts. Instead of using
traditional table-driven approach, re2c encodes the generated finite state automata directly in the form
of conditional jumps and comparisons."""

toolchain = {'name': 'GCCcore', 'version': '12.2.0'}

source_urls = ['https://github.com/skvadrik/re2c/releases/download/%(version)s']
sources = ['%(name)s-%(version)s.tar.xz']
checksums = ['b3babbbb1461e13fe22c630a40c43885efcfbbbb585830c6f4c0d791cf82ba0b']

builddependencies = [('binutils', '2.39')]

configopts = "--disable-rust"

sanity_check_paths = {
'files': ['bin/re2c'],
'dirs': [],
}

sanity_check_commands = ["re2c --help"]

moduleclass = 'tools'

0 comments on commit fa77418

Please sign in to comment.