Skip to content

Commit

Permalink
Merge pull request #20201 from TopRichard/20240324180229_new_pr_snapp…
Browse files Browse the repository at this point in the history
…y1110

{lib}[GCCcore/13.2.0] snappy v1.1.10, double-conversion v3.3.0, Qt5 v5.15.13
  • Loading branch information
akesandgren committed Mar 27, 2024
2 parents 7004097 + 4c56710 commit 8e1596c
Show file tree
Hide file tree
Showing 5 changed files with 471 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@

easyblock = 'CMakeMake'

name = 'double-conversion'
version = '3.3.0'

homepage = 'https://github.com/google/double-conversion'
description = "Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles."

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

source_urls = ['https://github.com/google/double-conversion/archive']
sources = ['v%(version)s.tar.gz']
checksums = ['04ec44461850abbf33824da84978043b22554896b552c5fd11a9c5ae4b4d296e']

builddependencies = [
('binutils', '2.40'),
('CMake', '3.27.6'),
]

# Build static lib, static lib with -fPIC and shared lib
configopts = [
'',
'-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_STATIC_LIBRARY_SUFFIX_CXX=_pic.a',
'-DBUILD_SHARED_LIBS=ON'
]

sanity_check_paths = {
'files': ['include/double-conversion/%s.h' % h for h in ['bignum', 'cached-powers', 'diy-fp', 'double-conversion',
'fast-dtoa', 'fixed-dtoa', 'ieee', 'strtod', 'utils']] +
['lib/libdouble-conversion.%s' % e for e in ['a', SHLIB_EXT]] + ['lib/libdouble-conversion_pic.a'],
'dirs': [],
}

moduleclass = 'lib'
93 changes: 93 additions & 0 deletions easybuild/easyconfigs/q/Qt5/Qt5-5.15.13-GCCcore-13.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@

easyblock = 'EB_Qt'

name = 'Qt5'
version = '5.15.13'

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

toolchain = {'name': 'GCCcore', 'version': '13.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.15.10_fix-OF-Gentoo.patch',
'Qt5-5.15.10_fix-qtwebengine-breakpad-glibc-2.34.patch',
'Qt5-5.15.7_GCC-12.patch',
'Qt5-5.15.10_webengine-chromium-drop-catapult.patch',
'Qt5-5.15.10_webengine-chromium-python3.patch',
'Qt5-5.15.10_webengine-drop-catapult.patch',
'Qt5-5.15.10_webengine-python3.patch',
'Qt5-5.15.10_webengine-python3.11.patch',
'Qt5-5.15.13_fix-XKB_KEY_dead.patch',
'Qt5-5.15.13_fix-includes.patch',
]
checksums = [
{'qt-everywhere-opensource-src-5.15.13.tar.xz': '9550ec8fc758d3d8d9090e261329700ddcd712e2dda97e5fcfeabfac22bea2ca'},
{'Qt5-5.13.1_fix-avx2.patch': '6f46005f056bf9e6ff3e5d012a874d18ee03b33e685941f2979c970be91a9dbc'},
{'Qt5-5.13.1_fix-qmake-libdir.patch': '511ca9c0599ceb1989f73d8ceea9199c041512d3a26ee8c5fd870ead2c10cb63'},
{'Qt5-5.15.10_fix-OF-Gentoo.patch': '1c4d3b974422dadb4fd62f79581d48d25ae3d5f5f21489ae8c632e43e2e5286b'},
{'Qt5-5.15.10_fix-qtwebengine-breakpad-glibc-2.34.patch':
'3b536de3b2da9115d96323a00275fc6066bb048f3747f8e6971facd78ed4e2e2'},
{'Qt5-5.15.7_GCC-12.patch': '9a5bde91b223a3e2e90d3d6bec107af69a1a0f18d789593738a953080473fa68'},
{'Qt5-5.15.10_webengine-chromium-drop-catapult.patch':
'6325c6f63b144755fcf040614178923406d7526517d58b29d99b100919acec54'},
{'Qt5-5.15.10_webengine-chromium-python3.patch':
'128d58c1e83f551daec6e9122fc1cea07be76b79d4e99222969649be24334e1e'},
{'Qt5-5.15.10_webengine-drop-catapult.patch': '7a488a0d73b7a9f33a2bdb87996f0a16938f5f882385190833679d1d17684907'},
{'Qt5-5.15.10_webengine-python3.patch': '0e35606506cb218841e05d38214ec6a442f7481630c2d856a09b7863af304023'},
{'Qt5-5.15.10_webengine-python3.11.patch': '8486fc234de2cdf8a600b204bac5d8eb2bc0bc9b1b1d365505f801c4a201f9c3'},
{'Qt5-5.15.13_fix-XKB_KEY_dead.patch': '7fcee0d8414f5060d2b93a46bbd109b9712c127747dc654bf9dc99038e6b5340'},
{'Qt5-5.15.13_fix-includes.patch': '95fc8a41572bce7c6b46cede0bd35fd4f80e2f962b8394b26e6265c2e885e758'},
]

builddependencies = [
('binutils', '2.40'),
('pkgconf', '2.0.3'),
# deps for QtWebEngine
('Bison', '3.8.2'),
('flex', '2.6.4'),
('gperf', '3.1'),
('Ninja', '1.11.1'),
('Python', '3.11.5'),
('re2c', '3.1'),
]

dependencies = [
('double-conversion', '3.3.0'),
('GLib', '2.78.1'),
('PCRE2', '10.42'),
('libpng', '1.6.40'),
('HarfBuzz', '8.2.2'),
('graphite2', '1.3.14'),
# deps for QtWebEngine
('X11', '20231019'),
('fontconfig', '2.14.2'),
('DBus', '1.15.8'),
('libevent', '2.1.12'),
('libGLU', '9.0.3'),
('libjpeg-turbo', '3.0.1'),
('NSS', '3.94'),
('snappy', '1.1.10'),
('JasPer', '4.0.0'),
('bzip2', '1.0.8'),
('OpenSSL', '1.1', '', SYSTEM),
('ICU', '74.1'),
('nodejs', '20.9.0'),
]
# 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'
19 changes: 19 additions & 0 deletions easybuild/easyconfigs/q/Qt5/Qt5-5.15.13_fix-XKB_KEY_dead.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
see https://bugreports.qt.io/browse/QTBUG-117950 + https://codereview.qt-project.org/c/qt/qtbase/+/510764
ported to Qt5 5.15.11 by Kenenth Hoste (HPC-UGent)
--- qt-everywhere-src-5.15.11/qtbase/src/platformsupport/input/xkbcommon/qxkbcommon.cpp.orig 2023-11-24 12:19:01.050524400 +0100
+++ qt-everywhere-src-5.15.11/qtbase/src/platformsupport/input/xkbcommon/qxkbcommon.cpp 2023-11-24 12:19:23.232570214 +0100
@@ -273,10 +273,14 @@
Xkb2Qt<XKB_KEY_dead_small_schwa, Qt::Key_Dead_Small_Schwa>,
Xkb2Qt<XKB_KEY_dead_capital_schwa, Qt::Key_Dead_Capital_Schwa>,
Xkb2Qt<XKB_KEY_dead_greek, Qt::Key_Dead_Greek>,
+/* The following four XKB_KEY_dead keys got removed in libxkbcommon 1.6.0
+ The define check is kind of version check here. */
+#ifdef XKB_KEY_dead_lowline
Xkb2Qt<XKB_KEY_dead_lowline, Qt::Key_Dead_Lowline>,
Xkb2Qt<XKB_KEY_dead_aboveverticalline, Qt::Key_Dead_Aboveverticalline>,
Xkb2Qt<XKB_KEY_dead_belowverticalline, Qt::Key_Dead_Belowverticalline>,
Xkb2Qt<XKB_KEY_dead_longsolidusoverlay, Qt::Key_Dead_Longsolidusoverlay>,
+#endif

// Special keys from X.org - This include multimedia keys,
// wireless/bluetooth/uwb keys, special launcher keys, etc.

0 comments on commit 8e1596c

Please sign in to comment.