Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 89 additions & 0 deletions easybuild/easyconfigs/w/WebKitGTK+/WebKitGTK+-2.37.1-GCC-11.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Updated from WebKitGTK+-2.27.4-GCC-8.3.0.eb with more modules added
# Author: J. Sassmannshausen (Imperial College London/UK)

easyblock = 'CMakeMake'

name = 'WebKitGTK+'
version = '2.37.1'

homepage = 'https://webkitgtk.org/'
description = """WebKitGTK+ is a full-featured port of the WebKit
rendering engine, suitable for projects requiring any kind of web
integration, from hybrid HTML/CSS applications to full-fledged web
browsers. It offers WebKit's full functionality and is useful in a wide
range of systems from desktop computers to embedded systems like phones,
tablets, and televisions."""

toolchain = {'name': 'GCC', 'version': '11.2.0'}

source_urls = ['https://webkitgtk.org/releases']
sources = ['webkitgtk-%(version)s.tar.xz']
checksums = [
'c53326b1751f8c6da3db2f4bfa91c1801755893e287d0e1f6c07344589d4a6a7', # webkitgtk-2.37.1.tar.xz
]

osdependencies = [
# Would be better to use the system package due to security reasons
# But we need at least libgcrypt 1.7.0 and Ubuntu 16.04 and RH 7.5
# are both using a too old version.
# Update: Libcrypt 1.9.3 from EasyBuild added (J.S)
# ('libgcrypt-dev', 'libgcrypt20-dev', 'libgcrypt-devel'),
# libsecret is not actually needed since USE_LIBSECRET option is disabled
# ('libsecret-1-dev', 'libsecret-devel'),
]

builddependencies = [
('CMake', '3.22.1'),
('Python', '3.9.6'),
('Perl', '5.34.0', '-minimal'),
('GObject-Introspection', '1.68.0'),
('pkg-config', '0.29.2'),
('ccache', '4.6.1'),
]
dependencies = [
('GLib', '2.69.1'),
('gperf', '3.1'),
('cairo', '1.16.0'),
('GTK3', '3.24.31'),
('LibSoup', '3.0.7'),
('ATK', '2.36.0'),
('libgcrypt', '1.9.3'),
('libwebp', '1.2.0'),
('libxslt', '1.1.34'),
('libtasn1', '4.18.0'),
('GStreamer', '1.18.5'),
('OpenJPEG', '2.4.0'),
('Ruby', '3.0.1'),
('GSL', '2.7'),
('glew', '2.2.0', '-egl'),
('libwpe', '1.13.3'),
('pugixml', '1.12.1'),
('Wayland', '1.21.0'),
('Waylandpp', '1.0.0'),
('wpebackend-fdo', '1.13.1'),
('enchant-2', '2.3.3'),
('LittleCMS', '2.12'),
('GST-plugins-base', '1.18.5'),
]

# The build takes around 2.5 hours on 24 cores on AMD Rome!
# So be patient!

# Instead of using a patch file, we are disabling problematic builds in the command line.
# At least this way, if something is not needed it can be turned off, without looking into
# a patch file.
configopts = "-DCMAKE_VERBOSE_MAKEFILE=ON -DPORT=GTK -DCMAKE_FIND_USE_PACKAGE_REGISTRY=FALSE "
configopts += "-DENABLE_GAMEPAD=OFF -DUSE_LIBSECRET=OFF -DUSE_LIBHYPHEN=OFF "
configopts += "-DUSE_WOFF2=OFF -DENABLE_JOURNALD_LOG=OFF -DENABLE_BUBBLEWRAP_SANDBOX=OFF "
configopts += "-DENABLE_INTROSPECTION=OFF -DUSE_LIBNOTIFY=OFF "

prebuildopts = "export CCACHE_DIR=%(builddir)s/ccache && "
preinstallopts = prebuildopts

sanity_check_paths = {
'files': ['bin/WebKitWebDriver', 'lib/libwebkit2gtk-4.1.%s' % SHLIB_EXT,
'lib/libjavascriptcoregtk-4.1.%s' % SHLIB_EXT],
'dirs': ['include/webkitgtk-4.1/webkit2', 'libexec/webkit2gtk-4.1'],
}

moduleclass = 'lib'