Merge branch 'it4i-karolina'

This commit is contained in:
Jakub Kropacek 2021-08-31 14:21:44 +02:00 committed by Jakub Kropáček
commit 05b82d372a
11 changed files with 450 additions and 2 deletions

View File

@ -0,0 +1,41 @@
# IT4Innovtions
# LK 2021
name = 'CGAL'
version = '5.2'
homepage = 'https://www.cgal.org/'
description = """The goal of the CGAL Open Source Project is to provide easy access to efficient
and reliable geometric algorithms in the form of a C++ library."""
toolchain = {'name': 'gompi', 'version': '2020b'}
toolchainopts = {'strict': True}
source_urls = ['https://github.com/CGAL/cgal/releases/download/v%(version)s/']
sources = [SOURCE_TAR_XZ]
checksums = ['744c86edb6e020ab0238f95ffeb9cf8363d98cde17ebb897d3ea93dac4145923']
builddependencies = [
('CMake', '3.18.4'),
('Eigen', '3.3.8'),
]
dependencies = [
('zlib', '1.2.11'),
('Python', '3.8.6'),
('Boost', '1.74.0'),
('MPFR', '4.1.0'),
('GMP', '6.2.0'),
('Mesa', '20.2.1'),
('libGLU', '9.0.1'),
('Qt5', '5.14.2'),
]
configopts = "-DCGAL_HEADER_ONLY=OFF "
configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include "
configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT
configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT
configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON "
configopts += "-DWITH_GMPXX=ON -DWITH_LAPACK=ON -DWITH_BLAS=ON "
moduleclass = 'numlib'

View File

@ -0,0 +1,41 @@
# IT4Innovtions
# LK 2021
name = 'CGAL'
version = '5.2'
homepage = 'https://www.cgal.org/'
description = """The goal of the CGAL Open Source Project is to provide easy access to efficient
and reliable geometric algorithms in the form of a C++ library."""
toolchain = {'name': 'iimpi', 'version': '2020b'}
toolchainopts = {'strict': True}
source_urls = ['https://github.com/CGAL/cgal/releases/download/v%(version)s/']
sources = [SOURCE_TAR_XZ]
checksums = ['744c86edb6e020ab0238f95ffeb9cf8363d98cde17ebb897d3ea93dac4145923']
builddependencies = [
('CMake', '3.18.4'),
('Eigen', '3.3.8'),
]
dependencies = [
('zlib', '1.2.11'),
('Python', '3.8.6'),
('Boost', '1.74.0'),
('MPFR', '4.1.0'),
('GMP', '6.2.0'),
('Mesa', '20.2.1'),
('libGLU', '9.0.1'),
('Qt5', '5.14.2'),
]
configopts = "-DCGAL_HEADER_ONLY=OFF "
configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include "
configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT
configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT
configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON "
configopts += "-DWITH_GMPXX=ON -DWITH_LAPACK=ON -DWITH_BLAS=ON "
moduleclass = 'numlib'

View File

@ -0,0 +1,48 @@
# IT4Innovations
# # LK 2021
easyblock = 'ConfigureMake'
name = 'gnuplot'
version = '5.4.1'
homepage = 'http://gnuplot.sourceforge.net/'
description = """Portable interactive, function plotting utility"""
toolchain = {'name': 'GCCcore', 'version': '10.2.0'}
source_urls = [('https://sourceforge.net/projects/gnuplot/files/gnuplot/%(version)s', 'download')]
sources = [SOURCE_TAR_GZ]
checksums = ['6b690485567eaeb938c26936e5e0681cf70c856d273cc2c45fabf64d8bc6590e']
builddependencies = [
('binutils', '2.35'),
('pkg-config', '0.29.2'),
('Autotools', '20200321'),
]
dependencies = [
('ncurses', '6.2'),
('cairo', '1.16.0'),
('libjpeg-turbo', '2.0.5'),
('libpng', '1.6.37'),
('libgd', '2.3.0'),
('Pango', '1.47.0'),
('libcerf', '1.14'),
('X11', '20201008'),
('Qt5', '5.14.2'),
('Lua', '5.4.2'),
]
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'

View File

@ -0,0 +1,29 @@
# IT4Innovations
# LK 2021
name = 'HDF5'
version = '1.10.7'
homepage = 'https://portal.hdfgroup.org/display/support'
description = """HDF5 is a data model, library, and file format for storing and managing data.
It supports an unlimited variety of datatypes, and is designed for flexible
and efficient I/O and for high volume and complex data."""
toolchain = {'name': 'iimpi', 'version': '2020b'}
toolchainopts = {'pic': True, 'usempi': True}
source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['7a1a0a54371275ce2dfc5cd093775bb025c365846512961e7e5ceaecb437ef15']
# AMD/intel cpu
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
prebuildopts = "echo %(builddir)s && while read i; do echo $i; sed 's|-xHost|-march=core-avx2|g' -i $i; done < <(grep xHost %(builddir)s -R | cut -d ':' -f 1 | sort -u) && "
dependencies = [
('zlib', '1.2.11'),
('Szip', '2.1.1'),
]
moduleclass = 'data'

View File

@ -0,0 +1,29 @@
# IT4Innovations
# LK 2021
easyblock = 'PythonPackage'
name = 'Mako'
version = '1.1.3'
homepage = 'https://www.makotemplates.org'
description = """A super-fast templating language that borrows the best ideas from the existing templating languages"""
toolchain = {'name': 'GCCcore', 'version': '10.2.0'}
sources = [SOURCE_TAR_GZ]
checksums = ['8195c8c1400ceb53496064314c6736719c6f25e7479cd24c77be3d9361cddc27']
download_dep_fail = True
use_pip = True
sanity_pip_check = True
builddependencies = [('binutils', '2.35')]
multi_deps = {'Python': ['3.8.6']}
sanity_check_paths = {
'files': ['bin/mako-render'],
'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'],
}
moduleclass = 'devel'

View File

@ -31,9 +31,9 @@ dependencies = [
# OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes)
('METIS', '5.1.0'),
('SCOTCH', '6.1.0'),
('CGAL', '3.2.1'),
('CGAL', '5.2'),
('ParaView', '5.9.1', '-mpi'),
('gnuplot', '5.4.2'),
('gnuplot', '5.4.1'),
]
builddependencies = [

View File

@ -0,0 +1,45 @@
# IT4Innovations
# LK 2021
name = 'OpenFOAM'
version = 'v2106'
homepage = 'https://www.openfoam.com/'
description = """OpenFOAM is a free, open source CFD software package.
OpenFOAM has an extensive range of features to solve anything from complex fluid flows
involving chemical reactions, turbulence and heat transfer,
to solid dynamics and electromagnetics."""
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'cstd': 'c++11'}
source_urls = ['https://sourceforge.net/projects/openfoam/files/%(version)s/']
sources = [SOURCE_TGZ]
patches = [
('OpenFOAM-v2012-cleanup.patch', 1),
'OpenFOAM-v1906-wmake-ompi.patch',
]
checksums = [
'11e41e5b9a253ef592a8f6b79f6aded623b28308192d02cec1327078523b5a37', # OpenFOAM-v2106.tgz
'cdd2597a1ac1448e9bd33a364a8dfe17f51cc9ab5a8e0ab67cf92bba3ed9da43', # OpenFOAM-v2012-cleanup.patch
'518e27683c5c41400cfbc17b31effa50b31b25916dccbf85b18b0b955f642505', # OpenFOAM-v1906-wmake-ompi.patch
]
dependencies = [
('libreadline', '8.0'),
('ncurses', '6.2'),
# OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes)
('METIS', '5.1.0'),
('SCOTCH', '6.1.0'),
('CGAL', '5.2'),
('ParaView', '5.9.1', '-mpi'),
('gnuplot', '5.4.1'),
]
builddependencies = [
('Bison', '3.7.1'),
('CMake', '3.18.4'),
('flex', '2.6.4'),
]
moduleclass = 'cae'

View File

@ -0,0 +1,60 @@
# IT4Innovations
# LK 2021
easyblock = 'CMakeMake'
name = 'ParaView'
version = '5.9.1'
versionsuffix = '-mpi'
homepage = "https://www.paraview.org"
description = "ParaView is a scientific parallel visualizer."
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'pic': True, 'usempi': True}
local_download_suffix = 'download.php?submit=Download&version=v%(version_major_minor)s&type=source&os=all&downloadFile='
source_urls = ['https://www.paraview.org/paraview-downloads/%s' % local_download_suffix]
sources = ["%(name)s-v%(version)s.tar.gz"]
checksums = ['efbcba00ba38c23d0ada1bde7144a8745caa308d9e1f94a4a71d8af63732266f']
dependencies = [
('Python', '3.8.6'),
('SciPy-bundle', '2020.11'),
('XZ', '5.2.5'),
('HDF5', '1.10.7'),
('netCDF', '4.7.4'),
('libGLU', '9.0.1'),
('X11', '20201008'),
('Mesa', '20.2.1'),
('Qt5', '5.14.2'),
('zlib', '1.2.11'),
('FFmpeg', '4.3.1'),
('Szip', '2.1.1'),
]
builddependencies = [('CMake', '3.18.4')]
separate_build_dir = True
# Paraview
configopts = '-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON -DPARAVIEW_BUILD_SHARED_LIBS=ON '
configopts += '-DPARAVIEW_USE_MPI=ON '
configopts += '-DPARAVIEW_ENABLE_FFMPEG=ON '
configopts += '-DPARAVIEW_USE_PYTHON=ON '
configopts += '-DPython3_ROOT_DIR=$EBROOTPYTHON '
# OpenGL & Mesa
configopts += '-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s ' % SHLIB_EXT
configopts += '-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include '
sanity_check_paths = {
'files': ['bin/paraview', 'bin/pvpython'],
'dirs': ['include/paraview-%(version_major_minor)s', 'lib/python%(pyshortver)s/site-packages'],
}
sanity_check_commands = ['python -c "import paraview"']
modextrapaths = {'PYTHONPATH': ['lib64/python%(pyshortver)s/site-packages', 'lib/python%(pyshortver)s/site-packages']}
moduleclass = 'vis'

View File

@ -0,0 +1,84 @@
# IT4Innovatins
# LK 2021
easyblock = 'EB_Qt'
name = 'Qt5'
version = '5.14.2'
homepage = 'https://qt.io/'
description = "Qt is a comprehensive cross-platform C++ application framework."
toolchain = {'name': 'GCCcore', 'version': '10.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-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.14.2_fix-missing-stdint.patch',
'Qt5-5.14.2_fix-webengine-bison.patch',
'Qt5-5.14.2_fix-std-runtime_error.patch',
'Qt5-5.14.2_fix-include-math.patch',
]
checksums = [
'c6fcd53c744df89e7d3223c02838a33309bd1c291fcb6f9341505fe99f7f19fa', # qt-everywhere-src-5.14.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
'648e2a92d5ea139543db5d01a80aa33d4721e52bb59c785490b64497b0ede4ab', # Qt5-5.14.2_fix-missing-stdint.patch
'6ace4735e35dee95d6b6c7eea3a7c46c264589a319d745310282ee724f632861', # Qt5-5.14.2_fix-webengine-bison.patch
'290d91efe8fc7c6daedf01f4a055ff30123c987d41b1832a34920ef521579f5c', # Qt5-5.14.2_fix-std-runtime_error.patch
'32c975b4ad12150f872554f1960c7108bc9c994e318988bab27e762a6c666fa2', # Qt5-5.14.2_fix-include-math.patch
]
builddependencies = [
('binutils', '2.35'),
('pkg-config', '0.29.2'),
# deps for QtWebEngine
('Bison', '3.7.1'),
('flex', '2.6.4'),
('gperf', '3.1'),
('Ninja', '1.10.1'),
# ('Python', '2.7.18'),
('re2c', '2.0.3')
]
dependencies = [
('double-conversion', '3.1.5'),
('GLib', '2.66.1'),
('PCRE2', '10.35'),
('libpng', '1.6.37'),
# deps for QtWebEngine
('X11', '20201008'),
('fontconfig', '2.13.92'),
('DBus', '1.13.18'),
('libevent', '2.1.12'),
('libGLU', '9.0.1'),
('libjpeg-turbo', '2.0.5'),
('NSS', '3.57'),
('snappy', '1.1.8'),
('JasPer', '2.0.24'),
('bzip2', '1.0.8'),
# OS dependency should be preferred if the os version is more recent then this version,
# it is nice to have an up to date openssl for security reasons
# ('OpenSSL', '1.1.1h'), # Qt5 > 5.15.0 requires OpenSSL 1.1.1
]
osdependencies = [OS_PKG_OPENSSL_DEV]
# 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'

View File

@ -0,0 +1,70 @@
# IT4Innovations
# LK 2021
easyblock = 'PythonBundle'
name = 'SciPy-bundle'
version = '2020.11'
homepage = 'https://python.org/'
description = "Bundle of Python packages for scientific software"
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'pic': True, 'lowopt': True}
builddependencies = [('hypothesis', '5.41.2')]
dependencies = [
('Python', '3.8.6'),
('pybind11', '2.6.0'), # required by scipy
]
use_pip = True
preconfigopts = [ 'export MKL_DEBUG_CPU_TYPE=5 && ']
exts_default_options = {'source_urls': [PYPI_SOURCE]}
# order is important!
exts_list = [
('numpy', '1.19.4', {
'source_tmpl': '%(name)s-%(version)s.zip',
'patches': [
'numpy-1.18.2-mkl.patch',
'numpy-1.19.4_disable-broken-test.patch',
],
'checksums': [
'141ec3a3300ab89c7f2b0775289954d193cc8edb621ea05f99db9cb181530512', # numpy-1.19.4.zip
'ea25ad5c0148c1398d282f0424e642fb9815a1a80f4512659b018e2adc378bcf', # numpy-1.18.2-mkl.patch
#numpy-1.19.4_disable-broken-test.patch
'9cc8bbd106ecba603254536101f53fdc200e81d43ca4800b5a84be9b645e9320',
],
}),
('scipy', '1.5.4', {
'checksums': ['4a453d5e5689de62e5d38edf40af3f17560bfd63c9c5bd228c18c1f99afa155b'],
}),
('mpi4py', '3.0.3', {
'checksums': ['012d716c8b9ed1e513fcc4b18e5af16a8791f51e6d1716baccf988ad355c5a1f'],
}),
('numexpr', '2.7.1', {
'checksums': ['b0d239d9827e1bcee08344fd05835823bc60aff97232e35a928214d03ff802b1'],
}),
('Bottleneck', '1.3.2', {
'checksums': ['20179f0b66359792ea283b69aa16366419132f3b6cf3adadc0c48e2e8118e573'],
}),
('pandas', '1.1.4', {
'checksums': ['a979d0404b135c63954dea79e6246c45dd45371a88631cdbb4877d844e6de3b6'],
# strip out use of -Werror to avoid failing compilation due to Intel compiler warning
'preinstallopts': """sed -i 's@extra_compile_args = \["-Werror"\]@extra_compile_args = []@g' setup.py && """,
}),
('mpmath', '1.1.0', {
'checksums': ['fc17abe05fbab3382b61a123c398508183406fa132e0223874578e20946499f6'],
}),
('deap', '1.3.1', {
'checksums': ['11f54493ceb54aae10dde676577ef59fc52d52f82729d5a12c90b0813c857a2f'],
}),
]
sanity_pip_check = True
moduleclass = 'lang'

View File

@ -28,6 +28,7 @@ exts_list = [
'patches': [
'numpy-1.20.3_skip-ppc-long-complex-test.patch',
'numpy-1.20.3_xfail-test-nan.patch',
'numpy-1.18.2-mkl.patch',
],
'checksums': [
'e55185e51b18d788e49fe8305fd73ef4470596b33fc2c1ceb304566b99c71a69', # numpy-1.20.3.zip