Merge branch 'it4i-barbora'

This commit is contained in:
Lukas Krupcik 2022-06-02 10:53:34 +02:00
commit 18fea5e242
6 changed files with 303 additions and 2 deletions

View File

@ -0,0 +1,48 @@
# IT4Innovations
# JK 2022
easyblock = 'ConfigureMake'
name = 'gnuplot'
version = '5.4.2'
homepage = 'http://gnuplot.sourceforge.net/'
description = """Portable interactive, function plotting utility"""
toolchain = {'name': 'GCCcore', 'version': '10.3.0'}
source_urls = [('https://sourceforge.net/projects/gnuplot/files/gnuplot/%(version)s', 'download')]
sources = [SOURCE_TAR_GZ]
checksums = ['e57c75e1318133951d32a83bcdc4aff17fed28722c4e71f2305cfc2ae1cae7ba']
builddependencies = [
('binutils', '2.36.1'),
('pkg-config', '0.29.2'),
('Autotools', '20210128'),
]
dependencies = [
('ncurses', '6.2'),
('cairo', '1.16.0'),
('libjpeg-turbo', '2.0.6'),
('libpng', '1.6.37'),
('libgd', '2.3.1'),
('Pango', '1.48.5'),
('libcerf', '1.17'),
('X11', '20210518'),
('Qt5', '5.15.2'),
('Lua', '5.4.3'),
]
preconfigopts = 'autoreconf && '
configopts = '--with-qt=qt5 --without-latex '
sanity_check_paths = {
'files': ['bin/gnuplot'],
'dirs': []
}
# make sure that pdf terminal type is available
#sanity_check_commands = ["gnuplot -e 'set terminal pdf'"]
moduleclass = 'vis'

21
i/intel/intel-2020b.eb Normal file
View File

@ -0,0 +1,21 @@
easyblock = 'Toolchain'
name = 'intel'
version = '2020b'
homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain'
description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)."
toolchain = SYSTEM
local_compver = '2020.4.304'
local_gccver = '10.2.0'
dependencies = [
('GCCcore', local_gccver),
('binutils', '2.35', '', ('GCCcore', local_gccver)),
('iccifort', local_compver),
('impi', '2019.9.304', '', ('iccifort', local_compver)),
('imkl', local_compver, '', ('iimpi', version)),
]
moduleclass = 'toolchain'

View File

@ -35,14 +35,14 @@ postinstallcmds = [
'echo "btl_openib_allow_ib = true" >> %(installdir)s/etc/openmpi-mca-params.conf',
]
libs = ["mpi_mpifh", "mpi", "ompitrace", "open-pal", "open-rte"]
local_libs = ["mpi_mpifh", "mpi", "ompitrace", "open-pal", "open-rte"]
sanity_check_paths = {
'files': [
"bin/%s" %
binfile for binfile in [
"ompi_info", "opal_wrapper", "orterun"]] + [
"lib/lib%s.%s" %
(libfile, SHLIB_EXT) for libfile in libs] + [
(libfile, SHLIB_EXT) for libfile in local_libs] + [
"include/%s.h" %
x for x in [
"mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], 'dirs': [], }

View File

@ -0,0 +1,65 @@
# IT4Innovations 2021
# LK
easyblock = 'ConfigureMake'
name = 'OpenMPI'
version = '4.1.1'
homepage = 'http://www.open-mpi.org/'
description = """The Open MPI Project is an open source MPI-2 implementation."""
toolchain = {'name': 'GCC', 'version': '10.3.0'}
source_urls = ['https://github.com/open-mpi/ompi/archive/refs/tags/']
sources = ['v%(version)s.tar.gz']
dependencies = [
('hwloc', '2.4.1'),
('UCX', '1.10.0',),
]
preconfigopts = './autogen.pl && '
configopts = '--enable-shared --enable-mpi-thread-multiple --with-verbs '
configopts += '--enable-mpirun-prefix-by-default '
configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support
configopts += '--with-tm=/opt/pbs ' # Enable PBS
configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings
configopts += '--with-ucx=$EBROOTUCX '
osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')]
postinstallcmds = [
'echo "# By default, for Open MPI 4.0 and later, infiniband ports on a device are not used by default." >> %(installdir)s/etc/openmpi-mca-params.conf',
'echo "btl_openib_allow_ib = true" >> %(installdir)s/etc/openmpi-mca-params.conf',
]
libs = ["mpi_mpifh", "mpi", "ompitrace", "open-pal", "open-rte"]
sanity_check_paths = {
'files': [
"bin/%s" %
binfile for binfile in [
"ompi_info", "opal_wrapper", "orterun"]] + [
"lib/lib%s.%s" %
(libfile, SHLIB_EXT) for libfile in libs] + [
"include/%s.h" %
x for x in [
"mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], 'dirs': [], }
import os
if os.environ.get("CLUSTERNAME") in ["BARBORA"]:
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0',
'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24',
'OMPI_MCA_orte_base_help_aggregate': '0',
}
elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0',
'OMPI_MCA_orte_base_help_aggregate': '0',
}
else:
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0',
'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8',
}
moduleclass = 'mpi'

View File

@ -0,0 +1,95 @@
# IT4Innovations
# LK 2022
easyblock = 'Bundle'
name = 'PyQt5'
version = '5.15.4'
homepage = 'https://www.riverbankcomputing.com/software/pyqt'
description = """PyQt5 is a set of Python bindings for v5 of the Qt application framework from The Qt Company.
This bundle includes PyQtWebEngine, a set of Python bindings for The Qt Companys Qt WebEngine framework."""
toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
toolchainopts = {'cstd': 'c++11'}
builddependencies = [('binutils', '2.37')]
dependencies = [
('Python', '3.9.6'),
('Qt5', '5.15.2'),
]
default_easyblock = 'PythonPackage'
local_pylibdir = '%(installdir)s/lib/python%(pyshortver)s/site-packages'
local_pyqt5_sip_install = "sip-install --verbose --target-dir " + local_pylibdir + " "
local_pyqt5_sip_install += "--confirm-license --no-designer-plugin --no-qml-plugin --no-tools"
local_pyqtweb_configopts = "configure.py --verbose --destdir=%s/PyQt5 " % local_pylibdir
local_pyqtweb_configopts += "--apidir=%(installdir)s/qsci --pyqt-sipdir=%(builddir)s/PyQt5-%(version)s/sip "
local_pyqtweb_configopts += "--no-stubs --no-dist-info"
local_setup_env = "export PATH=%(installdir)s/bin:$PATH && "
local_setup_env += "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && "
local_sipver = '5.5.0'
components = [
('SIP', local_sipver, {
'source_urls': [PYPI_SOURCE],
'sources': [SOURCELOWER_TAR_GZ],
'checksums': ['5d024c419b30fea8a6de8c71a560c7ab0bc3c221fbfb14d55a5b865bd58eaac5'],
'start_dir': 'sip-%s' % local_sipver,
'use_pip': True,
'options': {'modulename': 'PyQt5.sip'},
}),
('PyQt-builder', '1.10.1', {
'source_urls': [PYPI_SOURCE],
'sources': [SOURCE_TAR_GZ],
'checksums': ['967b0c7bac0331597e9f8c5b336660f173a9896830b721d6d025e14bde647e17'],
'start_dir': 'PyQt-builder-%(version)s',
'use_pip': True,
}),
('PyQt5_sip', '12.9.0', {
'source_urls': [PYPI_SOURCE],
'sources': [SOURCE_TAR_GZ],
'checksums': ['d3e4489d7c2b0ece9d203ae66e573939f7f60d4d29e089c9f11daa17cfeaae32'],
'start_dir': 'PyQt5_sip-%(version)s',
'use_pip': True,
}),
(name, version, {
'source_urls': [PYPI_SOURCE],
'sources': [SOURCE_TAR_GZ],
'checksums': ['2a69597e0dd11caabe75fae133feca66387819fc9bc050f547e5551bce97e5be'],
'easyblock': 'Binary',
'start_dir': '%(name)s-%(version)s',
'skipsteps': ['configure', 'build'],
'install_cmd': local_setup_env + local_pyqt5_sip_install,
}),
('PyQtWebEngine', version, {
'source_urls': [PYPI_SOURCE],
'sources': [SOURCE_TAR_GZ],
'checksums': ['cedc28f54165f4b8067652145aec7f732a17eadf6736835852868cf76119cc19'],
'easyblock': 'ConfigureMakePythonPackage',
'start_dir': '%(name)s-%(version)s',
'preconfigopts': local_setup_env,
'configopts': local_pyqtweb_configopts,
'options': {'modulename': 'PyQt5.QtWebEngine'},
}),
]
sanity_check_paths = {
'files': ['bin/pyqt-bundle', 'bin/sip-build', 'bin/sip-install', 'bin/sip5'],
'dirs': ['lib/python%(pyshortver)s/site-packages'],
}
sanity_check_commands = [
"python -c 'import PyQt5.QtCore'",
"sip5 --help",
]
modextrapaths = {
'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages',
'QT_INSTALL_DATA': 'qsci',
}
moduleclass = 'vis'

View File

@ -0,0 +1,72 @@
# IT4Innovations
# JK LK 2022
easyblock = 'EB_Qt'
name = 'Qt5'
version = '5.15.2'
homepage = 'https://qt.io/'
description = "Qt is a comprehensive cross-platform C++ application framework."
toolchain = {'name': 'GCCcore', 'version': '10.3.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-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',
]
checksums = [
'3a530d1b243b5dec00bc54937455471aaa3e56849d2593edb8ded07228202240', # qt-everywhere-src-5.15.2.tar.xz
'6f46005f056bf9e6ff3e5d012a874d18ee03b33e685941f2979c970be91a9dbc', # Qt5-5.13.1_fix-avx2.patch
'511ca9c0599ceb1989f73d8ceea9199c041512d3a26ee8c5fd870ead2c10cb63', # Qt5-5.13.1_fix-qmake-libdir.patch
'0b9defb7ce75314d85bebe07e143db7f7de316fec64c17cbd13f7eec5d2d1afa', # Qt5-5.14.1_fix-OF-Gentoo.patch
]
builddependencies = [
('binutils', '2.36.1'),
('pkg-config', '0.29.2'),
# deps for QtWebEngine
('Bison', '3.7.6'),
('flex', '2.6.4'),
('gperf', '3.1'),
('Ninja', '1.10.2'),
# ('Python', '2.7.18', '-bare'),
('re2c', '2.1.1')
]
dependencies = [
('double-conversion', '3.1.5'),
('GLib', '2.68.2'),
('PCRE2', '10.36'),
('libpng', '1.6.37'),
# deps for QtWebEngine
('X11', '20210518'),
('fontconfig', '2.13.93'),
('DBus', '1.13.18'),
('libevent', '2.1.12'),
('libGLU', '9.0.1'),
('libjpeg-turbo', '2.0.6'),
('NSS', '3.65'),
('snappy', '1.1.8'),
('JasPer', '2.0.28'),
('bzip2', '1.0.8'),
('OpenSSL', '1.1.1k'),
]
# 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'