Commit 6ddfbf27 authored by Lukáš Krupčík's avatar Lukáš Krupčík
Browse files

Merge branch 'it4i-barbora'

parents 2724e453 e763df4c
Pipeline #17454 passed with stage
in 5 seconds
# IT4Innovations 2020
easyblock = 'PythonPackage'
name = 'ASE'
version = '3.21.1'
homepage = 'https://wiki.fysik.dtu.dk/ase/'
description = """ASE is a python package providing an open source Atomic Simulation Environment
in the Python scripting language."""
toolchain = {'name': 'Py', 'version': '3.7'}
source_urls = [PYPI_LOWER_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
dependencies = [
('numpy', '1.18.1'),
('scipy', '1.3.3'),
('matplotlib', '3.1.0'),
('click', '7.0'),
]
sanity_check_paths = {
'files': [
'bin/ase-build',
'bin/ase-db',
'bin/ase-gui',
'bin/ase-info',
'bin/ase-run'],
'dirs': ['lib/python3.7/site-packages'],
}
moduleclass = 'python'
# IT4Innovations 2021
# LK
easyblock = 'PythonBundle'
name = 'ASE'
version = '3.21.1'
homepage = 'https://wiki.fysik.dtu.dk/ase'
description = """ASE is a python package providing an open source Atomic Simulation Environment
in the Python scripting language.
From version 3.20.1 we also include the ase-ext package, it contains optional reimplementations
in C of functions in ASE. ASE uses it automatically when installed."""
toolchain = {'name': 'intel', 'version': '2020a'}
dependencies = [
('Python', '3.8.6'),
('SciPy-bundle', '2020.11'),
('Tkinter', '%(pyver)s'),
('matplotlib', '3.3.3'),
('spglib-python', '1.16.0'),
]
use_pip = True
sanity_pip_check = True
# required because we're building Python packages (MarkupSafe,
# ase-ext) using Intel compilers on top of Python built with GCC.
check_ldshared = True
exts_default_options = {'source_urls': [PYPI_SOURCE]}
exts_list = [
('MarkupSafe', '1.1.1', {
'checksums': ['29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b'],
}),
('Jinja2', '2.11.2', {
'checksums': ['89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0'],
}),
('Werkzeug', '1.0.1', {
'checksums': ['6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c'],
}),
('click', '7.1.2', {
'checksums': ['d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a'],
}),
('itsdangerous', '1.1.0', {
'checksums': ['321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19'],
}),
('Flask', '1.1.2', {
'checksums': ['4efa1ae2d7c9865af48986de8aeb8504bf32c7f3d6fdc9353d34b21f4b127060'],
}),
('pytest-mock', '3.5.1', {
'checksums': ['a1e2aba6af9560d313c642dae7e00a2a12b022b80301d9d7fc8ec6858e1dd9fc'],
}),
('ase', version, {
'checksums': ['78b01d88529d5f604e76bc64be102d48f058ca50faad72ac740d717545711c7b'],
}),
('ase-ext', '20.9.0', {
'checksums': ['a348b0e42cf9fdd11f04b3df002b0bf150002c8df2698ff08d3c8fc7a1223aed'],
}),
]
sanity_check_paths = {
'files': ['bin/ase'],
'dirs': ['lib/python%(pyshortver)s/site-packages'],
}
# make sure Tkinter is available, otherwise 'ase gui' will not work
sanity_check_commands = ["python -c 'import tkinter' "]
moduleclass = 'chem'
# IT4Innovations 2021
# LK
name = 'CMake'
version = '3.18.4'
homepage = 'https://www.cmake.org'
description = """
CMake, the cross-platform, open-source build system. CMake is a family of
tools designed to build, test and package software.
"""
toolchain = {'name': 'GCCcore', 'version': '9.3.0'}
source_urls = ['https://www.cmake.org/files/v%(version_major_minor)s']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['597c61358e6a92ecbfad42a9b5321ddd801fc7e7eca08441307c9138382d4f77']
builddependencies = [
('binutils', '2.34'),
]
dependencies = [
('ncurses', '6.2'),
('zlib', '1.2.11'),
('bzip2', '1.0.8'),
('cURL', '7.72.0'),
('libarchive', '3.4.3'),
# OS dependency should be preferred if the os version is more recent then this version,
# it's nice to have an up to date openssl for security reasons
# ('OpenSSL', '1.1.1h'),
]
osdependencies = [OS_PKG_OPENSSL_DEV]
moduleclass = 'devel'
# IT4Innovations 2021
# LK
easyblock = 'ConfigureMake'
name = 'cURL'
version = '7.72.0'
homepage = 'https://curl.haxx.se'
description = """
libcurl is a free and easy-to-use client-side URL transfer library,
supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP,
LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP.
libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP
form based upload, proxies, cookies, user+password authentication (Basic,
Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling
and more.
"""
toolchain = {'name': 'GCCcore', 'version': '9.3.0'}
source_urls = ['https://curl.haxx.se/download/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['d4d5899a3868fbb6ae1856c3e55a32ce35913de3956d1973caccd37bd0174fa2']
builddependencies = [
('binutils', '2.34'),
]
dependencies = [
('zlib', '1.2.11'),
# OS dependency should be preferred if the os version is more recent then this version,
# it's nice to have an up to date openssl for security reasons
# ('OpenSSL', '1.1.1h')
]
osdependencies = [OS_PKG_OPENSSL_DEV]
configopts = '--with-zlib'
# configopts += '--with-ssl=$EBROOTOPENSSL'
modextravars = {'CURL_INCLUDES': '%(installdir)s/include'}
sanity_check_paths = {
'files': ['bin/curl', 'lib/libcurl.a', 'lib/libcurl.%s' % SHLIB_EXT],
'dirs': ['lib/pkgconfig', 'include/curl'],
}
moduleclass = 'tools'
# IT4Innovations 2021
# LK
name = 'Eigen'
version = '3.3.8'
homepage = 'https://eigen.tuxfamily.org'
description = """Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers,
and related algorithms."""
# only includes header files, but requires CMake so using non-system toolchain
toolchain = {'name': 'GCCcore', 'version': '9.3.0'}
source_urls = ['https://gitlab.com/libeigen/eigen/-/archive/%(version)s']
sources = [SOURCELOWER_TAR_BZ2]
checksums = ['0215c6593c4ee9f1f7f28238c4e8995584ebf3b556e9dbf933d84feb98d5b9ef']
# using CMake built with GCCcore to avoid relying on the system compiler to build it
builddependencies = [
('binutils', '2.34'), # to make CMake compiler health check pass on old systems
('CMake', '3.18.4'),
]
moduleclass = 'math'
# IT4Innovations 2021
# LK
name = 'freetype'
version = '2.10.3'
homepage = 'https://www.freetype.org'
description = """
FreeType 2 is a software font engine that is designed to be small, efficient,
highly customizable, and portable while capable of producing high-quality
output (glyph images). It can be used in graphics libraries, display servers,
font conversion tools, text image generation tools, and many other products
as well.
"""
toolchain = {'name': 'GCCcore', 'version': '9.3.0'}
toolchainopts = {'pic': True}
source_urls = [GNU_SAVANNAH_SOURCE]
sources = [SOURCE_TAR_GZ]
checksums = ['9dfb4e11efd6e460a87b1991a64bc69344ee7dc219d9b29e7faabc1c168ce8b0']
builddependencies = [('binutils', '2.34')]
dependencies = [
('bzip2', '1.0.8'),
('libpng', '1.6.37'),
('zlib', '1.2.11'),
]
configopts = '--enable-freetype-config --with-harfbuzz=no'
sanity_check_paths = {
'files': ['bin/freetype-config', 'lib/libfreetype.a',
'lib/libfreetype.%s' % SHLIB_EXT, 'lib/pkgconfig/freetype2.pc'],
'dirs': ['include/freetype2'],
}
moduleclass = 'vis'
# IT4Innovations 2021
# LK
easyblock = 'Tarball'
name = 'GPAW-setups'
version = '0.9.20000'
homepage = 'https://wiki.fysik.dtu.dk/gpaw/'
description = """PAW setup for the GPAW Density Functional Theory package.
Users can install setups manually using 'gpaw install-data' or use setups from this package.
The versions of GPAW and GPAW-setups can be intermixed."""
toolchain = SYSTEM
source_urls = ['https://wiki.fysik.dtu.dk/gpaw-files/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['6c71682be12a41e17909f65fd7c1a2e4a6a7becb63fbeed2f0f3a1616d6fd41f']
modextrapaths = {'GPAW_SETUP_PATH': ''}
moduleclass = 'chem'
sanity_check_paths = {
'files': ['H.LDA.gz'],
'dirs': []
}
# IT4Innovations 2021
# LK
easyblock = "PythonPackage"
name = 'GPAW'
version = '21.1.0'
_aseversion = '3.21.1'
versionsuffix = '-ASE-' + _aseversion
homepage = 'https://wiki.fysik.dtu.dk/gpaw/'
description = """GPAW is a density-functional theory (DFT) Python code based on the projector-augmented wave (PAW)
method and the atomic simulation environment (ASE). It uses real-space uniform grids and multigrid methods or
atom-centered basis-functions."""
toolchain = {'name': 'intel', 'version': '2020a'}
toolchainopts = {'usempi': True, 'openmp': False}
source_urls = [PYPI_LOWER_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
patches = [
('GPAW-20.1.0-Add-Easybuild-configuration-files.patch', 1),
]
checksums = [
'96843b68e04bd1c12606036c9f99b0ddfa5e6ee08ce46835e6bb347a6bd560a3', # gpaw-21.1.0.tar.gz
# GPAW-20.1.0-Add-Easybuild-configuration-files.patch
'a12440bf63af70b891a63989b0f048bb8ebf4f60499020ea09259937f04cd042',
]
dependencies = [
('Python', '3.8.6'),
('SciPy-bundle', '2020.11'),
('ASE', _aseversion),
('libxc', '4.3.4'),
('GPAW-setups', '0.9.20000', '', True),
]
prebuildopts = 'GPAW_CONFIG=doc/platforms/Linux/EasyBuild/config_intel.py'
preinstallopts = prebuildopts
download_dep_fail = True
use_pip = True
sanity_pip_check = True
# required because we're building a Python package using Intel compilers on top of Python built with GCC.
check_ldshared = True
sanity_check_paths = {
'files': ['bin/gpaw%s' % x for x in ['', '-analyse-basis', '-basis', '-plot-parallel-timings',
'-runscript', '-setup', '-upfplot']],
'dirs': ['lib/python%(pyshortver)s/site-packages']
}
moduleclass = 'chem'
# IT4Innovations 2021
# LK
easyblock = "PythonPackage"
name = 'GPAW'
version = '21.1.0'
versionsuffix = '-Py-3.7'
homepage = 'https://wiki.fysik.dtu.dk/gpaw/'
description = """GPAW is a density-functional theory (DFT) Python code based on the projector-augmented wave (PAW)
method and the atomic simulation environment (ASE). It uses real-space uniform grids and multigrid methods or
atom-centered basis-functions."""
toolchain = {'name': 'intel', 'version': '2020a'}
toolchainopts = {'usempi': True, 'openmp': False}
source_urls = [PYPI_LOWER_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
patches = [
('GPAW-20.1.0-Add-Easybuild-configuration-files.patch', 1),
]
checksums = [
'96843b68e04bd1c12606036c9f99b0ddfa5e6ee08ce46835e6bb347a6bd560a3', # gpaw-21.1.0.tar.gz
# GPAW-20.1.0-Add-Easybuild-configuration-files.patch
'a12440bf63af70b891a63989b0f048bb8ebf4f60499020ea09259937f04cd042',
]
# libvdwxc is not a dependency of the intel build, as it is incompatible with the Intel MKL.
dependencies = [
('Py', '3.7', '', True),
('scipy', '1.3.3', versionsuffix, True),
('ASE', '3.21.1', versionsuffix, True),
('libxc', '4.3.4'),
('GPAW-setups', '0.9.20000', '', True),
]
prebuildopts = 'GPAW_CONFIG=doc/platforms/Linux/EasyBuild/config_intel.py'
preinstallopts = prebuildopts
download_dep_fail = True
use_pip = True
sanity_pip_check = True
# required because we're building a Python package using Intel compilers on top of Python built with GCC.
check_ldshared = True
sanity_check_paths = {
'files': ['bin/gpaw%s' % x for x in ['', '-analyse-basis', '-basis', '-mpisim', '-plot-parallel-timings',
'-runscript', '-setup', '-upfplot']],
'dirs': ['lib/python3.7/site-packages']
}
moduleclass = 'chem'
# IT4Innovations 2021
# LK
easyblock = 'PythonPackage'
name = 'hypothesis'
version = '5.41.2'
homepage = "https://github.com/HypothesisWorks/hypothesis"
description = """Hypothesis is an advanced testing library for Python. It lets you write tests which are parametrized
by a source of examples, and then generates simple and comprehensible examples that make your tests fail. This lets
you find more bugs in your code with less work."""
toolchain = {'name': 'GCCcore', 'version': '9.3.0'}
source_urls = [PYPI_SOURCE]
sources = [SOURCE_TAR_GZ]
checksums = ['f8c281355aaba1da696e40f1488c2bb47c42660424f5750daea45a85e2d047b3']
builddependencies = [('binutils', '2.34')]
dependencies = [('Python', '3.8.6')]
use_pip = True
download_dep_fail = True
sanity_pip_check = True
moduleclass = 'tools'
# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild
name = 'iccifort'
version = '2020.4.304'
homepage = 'https://software.intel.com/en-us/intel-compilers/'
description = "Intel C, C++ & Fortran compilers"
toolchain = SYSTEM
source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17117/']
sources = ['parallel_studio_xe_%(version_major)s_update%(version_minor)s_composer_edition.tgz']
patches = ['iccifort-%(version)s_no_mpi_rt_dependency.patch']
checksums = [
# parallel_studio_xe_2020_update3_composer_edition.tgz
'ac1efeff608a8c3a416e6dfe20364061e8abf62d35fbaacdffe3fc9676fc1aa3',
# iccifort-2020.4.304_no_mpi_rt_dependency.patch
'c330473fc452214b5fffafc5dc962e99fd369582ff9efeda6548b5895a67abb1',
]
local_gccver = '10.2.0'
dependencies = [
('GCCcore', local_gccver),
('binutils', '2.35', '', ('GCCcore', local_gccver)),
]
# list of regex for components to install
# full list of components can be obtained from pset/mediaconfig.xml in unpacked sources
# cfr. https://software.intel.com/en-us/articles/intel-composer-xe-2015-silent-installation-guide
components = [
'intel-comp', 'intel-ccomp', 'intel-fcomp', 'intel-icc', 'intel-ifort',
'intel-openmp', 'intel-ipsc?_', 'intel-gdb(?!.*mic)'
]
dontcreateinstalldir = True
license_file = '/apps/licenses/intel/license.lic'
modextravars = {
'CC': 'icc',
'CXX': 'icpc',
'F90': 'ifort',
'F77': 'ifort',
'FC': 'ifort',
'OPTFLAGS': '-O3 -xHost -ip',
'DEBUGFLAGS': '-O0 -g'
}
moduleclass = 'compiler'
# IT4Innovations 2021
# LK
easyblock = 'ConfigureMake'
name = 'libarchive'
version = '3.4.3'
homepage = 'https://www.libarchive.org/'
description = """
Multi-format archive and compression library
"""
toolchain = {'name': 'GCCcore', 'version': '9.3.0'}
source_urls = ['https://www.libarchive.org/downloads/']
sources = [SOURCE_TAR_GZ]
checksums = ['ee1e749213c108cb60d53147f18c31a73d6717d7e3d2481c157e1b34c881ea39']
builddependencies = [
('binutils', '2.34'),
('XZ', '5.2.5'),
]
sanity_check_paths = {
'files': ['include/archive.h', 'lib/libarchive.%s' % SHLIB_EXT],
'dirs': ['bin', 'share/man/man3'],
}
moduleclass = 'tools'
# IT4Innovations 2021
# LK
easyblock = 'CMakeMake'
name = 'libjpeg-turbo'
version = '2.0.5'
homepage = 'https://sourceforge.net/projects/libjpeg-turbo/'
description = """
libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to
accelerate baseline JPEG compression and decompression. libjpeg is a library
that implements JPEG image encoding, decoding and transcoding.
"""
toolchain = {'name': 'GCCcore', 'version': '9.3.0'}
toolchainopts = {'pic': True}
source_urls = [SOURCEFORGE_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['16f8f6f2715b3a38ab562a84357c793dd56ae9899ce130563c72cd93d8357b5d']
builddependencies = [
('CMake', '3.18.4'),
('binutils', '2.34'),
]
dependencies = [
('NASM', '2.15.05'),
]
configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1'
runtest = "test"
sanity_check_paths = {
'files': ['bin/cjpeg', 'bin/djpeg', 'bin/jpegtran', 'bin/rdjpgcom',
'bin/tjbench', 'bin/wrjpgcom', 'lib/libjpeg.a',
'lib/libjpeg.%s' % SHLIB_EXT, 'lib/libturbojpeg.a',
'lib/libturbojpeg.%s' % SHLIB_EXT],
'dirs': ['include', 'share'],
}
moduleclass = 'lib'
# IT4Innovations 2021
# LK
easyblock = 'PythonBundle'
name = 'matplotlib'
version = '3.3.3'
homepage = 'https://matplotlib.org'
description = """matplotlib is a python 2D plotting library which produces publication quality figures in a variety of
hardcopy formats and interactive environments across platforms. matplotlib can be used in python scripts, the python
and ipython shell, web application servers, and six graphical user interface toolkits."""
toolchain = {'name': 'intel', 'version': '2020a'}
builddependencies = [
('pkg-config', '0.29.2'),
]
dependencies = [
('Python', '3.8.6'),
('SciPy-bundle', '2020.11'),
('libpng', '1.6.37'),
('freetype', '2.10.3'),
('Tkinter', '%(pyver)s'),
('Pillow', '8.0.1'),
]
use_pip = True
sanity_pip_check = True
exts_list = [
('Cycler', '0.10.0', {
'modulename': 'cycler',
'source_tmpl': 'cycler-%(version)s.tar.gz',
'source_urls': ['https://pypi.python.org/packages/source/C/Cycler'],
'checksums': ['cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8'],
}),
('kiwisolver', '1.3.0', {
'source_urls': ['https://pypi.python.org/packages/source/k/kiwisolver'],
'checksums': ['14f81644e1f3bf01fbc8b9c990a7889e9bb4400c4d0ff9155aa0bdd19cce24a9'],
}),
(name, version, {
'prebuildopts': "export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && ",
'preinstallopts': "export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && ",
'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'],
'checksums': ['b1b60c6476c4cfe9e5cf8ab0d3127476fd3d5f05de0f343a452badaad0e4bdec'],
}),
]
sanity_check_commands = [
"""python -c 'import matplotlib; matplotlib.use("Agg"); import matplotlib.pyplot' """,
"python -c 'from mpl_toolkits.mplot3d import Axes3D'",
]
# use non-interactive plotting backend as default
# see https://matplotlib.org/tutorials/introductory/usage.html#what-is-a-backend
modextravars = {'MPLBACKEND': 'Agg'}
moduleclass = 'vis'
# IT4Innovations 2021
# LK
easyblock = 'ConfigureMake'