new file: a/ADIOS2/ADIOS2-2.7.0-gompi-2020d.eb

new file:   a/ANN/ANN-1.1.2-GCC-12.2.0.eb
	new file:   c/Cgicc/Cgicc-3.2.19-GCC-12.2.0.eb
	new file:   c/CoordgenLibs/CoordgenLibs-3.0.1-gompi-2022b.eb
	new file:   c/c-blosc/c-blosc-1.21.0-GCC-10.2.0.eb
	new file:   f/FastCGI/FastCGI-2.4.2-GCC-12.2.0.eb
	new file:   g/GDB/GDB-12.1-GCCcore-11.3.0.eb
	new file:   g/GDB/GDB-13.2-GCCcore-12.2.0.eb
	new file:   g/GMP/GMP-6.2.1.eb
	new file:   g/gompi/gompi-2020d.eb
	new file:   g/gperftools/gperftools-2.10-GCCcore-12.2.0.eb
	new file:   h/HDF5/HDF5-1.12.0-gompi-2020d.eb
	modified:   h/hwloc/hwloc-1.11.7-GCC-10.2.0.eb
	new file:   i/ISL/ISL-0.24-GCCcore-12.2.0.eb
	new file:   i/ISL/ISL-0.24.eb
	new file:   j/JsonCpp/JsonCpp-1.9.5-GCCcore-12.2.0.eb
	new file:   k/kim-api/kim-api-2.3.0-GCCcore-11.2.0.eb
	modified:   l/LAMMPS/LAMMPS-23Jun2022-foss-2021b-kokkos.eb
	new file:   l/LEMON/LEMON-1.3.1-GCC-12.2.0.eb
	new file:   m/MPC/MPC-1.2.1-GCCcore-12.2.0.eb
	new file:   m/MPC/MPC-1.2.1.eb
	new file:   m/MPFR/MPFR-4.1.0-GCCcore-12.2.0.eb
	new file:   m/maeparser/maeparser-1.3.0-gompi-2022b.eb
	new file:   m/makeinfo/makeinfo-6.8-GCCcore-12.2.0.eb
	new file:   o/OpenBabel/OpenBabel-3.1.1-gompi-2022b.eb
	new file:   o/OpenMPI/OpenMPI-3.1.4-GCC-10.2.0-CUDA-12.2.0.eb
	modified:   o/OpenMPI/OpenMPI-3.1.4-GCC-10.2.0.eb
	new file:   o/openPMD-api/openPMD-api-0.14.4-gompi-2020d.eb
	new file:   p/PNGwriter/PNGwriter-0.7.0-GCC-10.2.0.eb
	new file:   s/SWIG/SWIG-4.0.2-GCCcore-12.2.0.eb
This commit is contained in:
Lukas Krupcik 2023-07-11 11:24:41 +02:00
parent a3f6b17b56
commit afe7bf8bae
30 changed files with 970 additions and 2 deletions

View File

@ -0,0 +1,40 @@
# IT4Innovations
# LK 2023
easyblock = "CMakeMake"
name = "ADIOS2"
version = "2.7.0"
homepage = 'https://github.com/ornladios/ADIOS2/'
description = """This is ADIOS2: The Adaptable Input/Output (I/O) System.
ADIOS2 is developed as part of the United States Department of Energy's Exascale Computing
Project. It is a framework for scientific data I/O to publish and subscribe to data when
and where required.
ADIOS2 transports data as groups of self-describing variables and attributes across different
media types (such as files, wide-area-networks, and remote direct memory access) using a
common application programming interface for all transport modes. ADIOS2 can be used on
supercomputers, cloud systems, and personal computers. """
toolchain = {'name': 'gompi', 'version': '2020d'}
source_urls = ['https://github.com/ornladios/ADIOS2/archive/refs/tags/']
sources = ['v%(version)s.tar.gz']
checksums = ['4b5df1a1f92d7ff380416dec7511cfcfe3dc44da27e486ed63c3e6cffb173924']
builddependencies = [('CMake', '3.20.1')]
dependencies = [
('HDF5', '1.12.0'),
('c-blosc', '1.21.0'),
('libfabric', '1.11.0'),
]
separate_build_dir = True
sanity_check_paths = {
'files': ['bin/adios2-config', 'include/adios2.h', 'include/adios2_c.h'],
'dirs': ['bin', 'include', 'lib64']
}
moduleclass = 'tools'

View File

@ -0,0 +1,31 @@
# IT4Innovations
# LK 2022
easyblock = 'MakeCp'
name = 'ANN'
version = '1.1.2'
homepage = 'https://www.cs.umd.edu/~mount/ANN/'
description = """ANN is a library written in C++, which supports data structures and algorithms
for both exact and approximate nearest neighbor searching in arbitrarily high dimensions."""
toolchain = {'name': 'GCC', 'version': '12.2.0'}
source_urls = ['https://www.cs.umd.edu/~mount/ANN/Files/%(version)s/']
sources = ['ann_%(version)s.tar.gz']
checksums = ['eea03f2e224b66813226d775053316675375dcec45bd263674c052d9324a49a5']
buildopts = 'linux-g++'
files_to_copy = [
(['include/ANN'], 'include'), # stand-alone binaries
(['lib/libANN.a'], 'lib'), # 7z requires 7z.so plugin in same directory
]
sanity_check_paths = {
'files': ['lib/libANN.a'],
'dirs': ['include', 'lib'],
}
moduleclass = 'lib'

View File

@ -0,0 +1,24 @@
# IT4Innovations
# LK 2023
easyblock = 'ConfigureMake'
name = 'Cgicc'
version = '3.2.19'
homepage = 'https://www.gnu.org/software/cgicc/index.html'
description = """GNU Cgicc is an ANSI C++ compliant class library that greatly simplifies the creation
of CGI applications for the World Wide Web """
toolchain = {'name': 'GCC', 'version': '12.2.0'}
source_urls = ['http://ftp.gnu.org/gnu/cgicc/']
sources = ['cgicc-%(version)s.tar.gz']
checksums = ['2a17b976248de03447f9e36d6ce18a80749990d8543e2dfeea09c413eb67f7f0']
sanity_check_paths = {
'files': ['bin/cgicc-config', 'lib/libcgicc.a', 'lib/libcgicc.la', 'lib/libcgicc.so.3.2.10'],
'dirs': ['bin', 'include', 'lib', 'doc', 'share'],
}
moduleclass = 'bio'

View File

@ -0,0 +1,35 @@
# IT4Innovations
# LK 2023
easyblock = 'CMakeMake'
name = 'CoordgenLibs'
version = '3.0.1'
homepage = 'https://github.com/schrodinger/coordgenlibs'
description = "Schrodinger-developed 2D Coordinate Generation"
toolchain = {'name': 'gompi', 'version': '2022b'}
source_urls = ['https://github.com/schrodinger/coordgenlibs/archive/']
sources = ['v%(version)s.tar.gz']
checksums = ['737fd081bcb8a6913aa00b375be96458fe2821a58209c98e7a7e86a64d73a900']
builddependencies = [('CMake', '3.24.3')]
dependencies = [
('Boost', '1.81.0'),
('maeparser', '1.3.0'),
]
configopts = "-Dmaeparser_DIR=$EBROOTMAEPARSER/lib/cmake"
# work around compiler warning treated as error by stripping out use of -Werror
prebuildopts = "sed -i 's/-Werror//g' CMakeFiles/coordgen.dir/flags.make && "
sanity_check_paths = {
'files': ['lib/libcoordgen.%s' % SHLIB_EXT],
'dirs': ['include/coordgen', 'lib/cmake'],
}
moduleclass = 'chem'

View File

@ -0,0 +1,33 @@
# IT4Innovations
# LK 2023
easyblock = "CMakeMake"
name = "c-blosc"
version = "1.21.0"
homepage = 'https://github.com/Blosc/c-blosc'
description = """Blosc is a high performance compressor optimized for binary
data. It has been designed to transmit data to the processor cache faster than
the traditional, non-compressed, direct memory fetch approach via a memcpy() OS
call. Blosc is the first compressor (that I'm aware of) that is meant not
only to reduce the size of large datasets on-disk or in-memory, but also to
accelerate memory-bound computations.
"""
toolchain = {'name': 'GCC', 'version': '10.2.0'}
source_urls = ['https://github.com/Blosc/c-blosc/archive/refs/tags/']
sources = ['v%(version)s.tar.gz']
checksums = ['b0ef4fda82a1d9cbd11e0f4b9685abf14372db51703c595ecd4d76001a8b342d']
builddependencies = [('CMake', '3.20.1')]
separate_build_dir = True
sanity_check_paths = {
'files': ['include/blosc.h', 'include/blosc-export.h', 'lib/libblosc.a'],
'dirs': ['include', 'lib']
}
moduleclass = 'tools'

View File

@ -0,0 +1,25 @@
# IT4Innovations
# LK 2023
easyblock = 'ConfigureMake'
name = 'FastCGI'
version = '2.4.2'
homepage = 'https://github.com/FastCGI-Archives/fcgi2'
description = """A High-Performance Web Server Interface """
toolchain = {'name': 'GCC', 'version': '12.2.0'}
source_urls = ['https://github.com/FastCGI-Archives/fcgi2/archive/refs/tags/']
sources = ['%(version)s.tar.gz']
checksums = ['1fe83501edfc3a7ec96bb1e69db3fd5ea1730135bd73ab152186fd0b437013bc']
preconfigopts = "autoreconf -f -i && "
sanity_check_paths = {
'files': ['bin/cgi-fcgi', 'include/fastcgi.h', 'lib/libfcgi++.a', 'lib/libfcgi.a'],
'dirs': ['bin', 'include', 'lib'],
}
moduleclass = 'bio'

View File

@ -0,0 +1,44 @@
easyblock = 'ConfigureMake'
name = 'GDB'
version = '12.1'
homepage = 'https://www.gnu.org/software/gdb/gdb.html'
description = "The GNU Project Debugger"
toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
source_urls = [GNU_SOURCE]
sources = [SOURCELOWER_TAR_XZ]
checksums = ['0e1793bf8f2b54d53f46dea84ccfd446f48f81b297b28c4f7fc017b818d69fed']
builddependencies = [
('binutils', '2.38'),
('makeinfo', '6.8'),
]
dependencies = [
('zlib', '1.2.12'),
('libreadline', '8.1.2'),
('ncurses', '6.3'),
('expat', '2.4.8'),
('Python', '3.10.4'),
('ISL', '0.24'),
('MPC', '1.2.1'),
]
preconfigopts = "mkdir obj && cd obj && "
configure_cmd_prefix = '../'
prebuildopts = "cd obj && "
preinstallopts = prebuildopts
configopts = '--with-system-zlib --with-system-readline --with-expat=$EBROOTEXPAT '
configopts += '--with-python=$EBROOTPYTHON/bin/python --with-isl=$EBROOTISL --with-mpc=$EBROOTMPC '
configopts += '--enable-tui --enable-plugins --disable-install-libbfd '
sanity_check_paths = {
'files': ['bin/gdb', 'bin/gdbserver'],
'dirs': [],
}
moduleclass = 'debugger'

View File

@ -0,0 +1,47 @@
# IT4Innovations
# LK 2023
easyblock = 'ConfigureMake'
name = 'GDB'
version = '13.2'
homepage = 'https://www.gnu.org/software/gdb/gdb.html'
description = "The GNU Project Debugger"
toolchain = {'name': 'GCCcore', 'version': '12.2.0'}
source_urls = [GNU_SOURCE]
sources = [SOURCELOWER_TAR_XZ]
checksums = ['fd5bebb7be1833abdb6e023c2f498a354498281df9d05523d8915babeb893f0a']
builddependencies = [
('binutils', '2.39'),
('makeinfo', '6.8'),
]
dependencies = [
('zlib', '1.2.12'),
('libreadline', '8.2'),
('ncurses', '6.3'),
('expat', '2.4.9'),
('Python', '3.10.8'),
('ISL', '0.24'),
('MPC', '1.2.1'),
]
preconfigopts = "mkdir obj && cd obj && "
configure_cmd_prefix = '../'
prebuildopts = "cd obj && "
preinstallopts = prebuildopts
configopts = '--with-system-zlib --with-system-readline --with-expat=$EBROOTEXPAT '
configopts += '--with-python=$EBROOTPYTHON/bin/python --with-isl=$EBROOTISL --with-mpc=$EBROOTMPC '
configopts += '--enable-tui --enable-plugins --disable-install-libbfd '
sanity_check_paths = {
'files': ['bin/gdb', 'bin/gdbserver'],
'dirs': [],
}
moduleclass = 'debugger'

34
g/GMP/GMP-6.2.1.eb Normal file
View File

@ -0,0 +1,34 @@
# IT4Innovations
# LK 2023
easyblock = 'ConfigureMake'
name = 'GMP'
version = '6.2.1'
homepage = 'http://gmplib.org/'
description = """GMP is a free library for arbitrary precision arithmetic,
operating on signed integers, rational numbers, and floating point numbers. """
toolchain = SYSTEM
toolchainopts = {'pic': True, 'precise': True}
sources = [SOURCELOWER_TAR_BZ2]
source_urls = ['http://ftp.gnu.org/gnu/gmp']
checksums = ['eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c']
builddependencies = [
('Autotools', '20150215'),
]
# enable C++ interface
configopts = '--enable-cxx'
runtest = 'check'
sanity_check_paths = {
'files': ['lib/libgmp.%s' % SHLIB_EXT, 'include/gmp.h'],
'dirs': [],
}
moduleclass = 'math'

23
g/gompi/gompi-2020d.eb Normal file
View File

@ -0,0 +1,23 @@
# IT4Innovations
# LK 2023
easyblock = "Toolchain"
name = 'gompi'
version = '2020d'
homepage = '(none)'
description = """GNU Compiler Collection (GCC) based local_compiler toolchain,
including OpenMPI for MPI support."""
toolchain = SYSTEM
local_gccver = '10.2.0'
# local_compiler toolchain dependencies
dependencies = [
('GCC', local_gccver), # includes both GCC and local_binutils
('OpenMPI', '3.1.4', '', ('GCC', local_gccver)),
]
moduleclass = 'toolchain'

View File

@ -0,0 +1,41 @@
# IT4Innovations
# LK 2023
easyblock = 'ConfigureMake'
name = 'gperftools'
version = '2.10'
homepage = 'https://github.com/gperftools/gperftools'
description = """
gperftools is a collection of a high-performance multi-threaded malloc()
implementation, plus some pretty nifty performance analysis tools.
Includes TCMalloc, heap-checker, heap-profiler and cpu-profiler.
"""
toolchain = {'name': 'GCCcore', 'version': '12.2.0'}
github_account = 'gperftools'
source_urls = [GITHUB_SOURCE]
sources = [SOURCE_TAR_GZ]
checksums = ['b0dcfe3aca1a8355955f4b415ede43530e3bb91953b6ffdd75c45891070fe0f1']
builddependencies = [
('Autotools', '20220317'),
('binutils', '2.39'),
]
dependencies = [
('libunwind', '1.6.2'),
]
preconfigopts = "autoreconf -f -i && "
configopts = '--enable-libunwind'
sanity_check_paths = {
'files': ['bin/pprof', 'lib/libprofiler.a', 'lib/libprofiler.%s' % SHLIB_EXT,
'lib/libtcmalloc.a', 'lib/libtcmalloc.%s' % SHLIB_EXT],
'dirs': ['include'],
}
moduleclass = 'tools'

View File

@ -0,0 +1,28 @@
# IT4Innoivations
# LK 2023
name = 'HDF5'
version = '1.12.0'
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': 'gompi', 'version': '2020d'}
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'optarch': 'march=core-avx2', 'pic': True, 'usempi': True}
else:
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 = ['a62dcb276658cb78e6795dd29bf926ed7a9bc4edf6e77025cd2c689a8f97c17a']
dependencies = [
('zlib', '1.2.11'),
('Szip', '2.1.1'),
]
moduleclass = 'data'

View File

@ -19,6 +19,7 @@ toolchain = {'name': 'GCC', 'version': '10.2.0'}
source_urls = [
'http://www.open-mpi.org/software/hwloc/v%(version_major_minor)s/downloads/']
sources = [SOURCE_TAR_GZ]
checksums = ['ac16bed9cdd3c63bca1fe1ac3de522a1376b1487c4fc85b7b19592e28fd98e26']
dependencies = [
('numactl', '2.0.13'),

View File

@ -0,0 +1,26 @@
# IT4Innovations
# LK 2023
easyblock = 'ConfigureMake'
name = 'ISL'
version = '0.24'
homepage = 'http://isl.gforge.inria.fr/'
description = "isl is a library for manipulating sets and relations of integer points bounded by linear constraints."
toolchain = {'name': 'GCCcore', 'version': '12.2.0'}
source_urls = ['http://isl.gforge.inria.fr/']
sources = [SOURCELOWER_TAR_BZ2]
checksums = ['fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0']
builddependencies = [('binutils', '2.39')]
dependencies = [('GMP', '6.2.1')]
sanity_check_paths = {
'files': ['lib/libisl.%s' % SHLIB_EXT, 'lib/libisl.a'],
'dirs': ['include/isl']
}
moduleclass = 'math'

25
i/ISL/ISL-0.24.eb Normal file
View File

@ -0,0 +1,25 @@
# IT4Innovations
# LK 2023
easyblock = 'ConfigureMake'
name = 'ISL'
version = '0.24'
homepage = 'http://isl.gforge.inria.fr/'
description = """isl is a library for manipulating sets and relations of integer points bounded by linear constraints."""
toolchain = SYSTEM
source_urls = ['http://isl.gforge.inria.fr/']
sources = [SOURCELOWER_TAR_BZ2]
checksums = ['fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0']
dependencies = [('GMP', '6.2.1')]
sanity_check_paths = {
'files': ['lib/libisl.%s' % SHLIB_EXT, 'lib/libisl.a'],
'dirs': ['include/isl']
}
moduleclass = 'math'

View File

@ -0,0 +1,32 @@
# IT4Innovations
# LK 2023
easyblock = "CMakeNinja"
name = 'JsonCpp'
version = '1.9.5'
homepage = 'https://open-source-parsers.github.io/jsoncpp-docs/doxygen/index.html'
description = """ JsonCpp is a C++ library that allows manipulating JSON values,
including serialization and deserialization to and from strings. It can also preserve existing comment in
unserialization/serialization steps, making it a convenient format to store user input files. """
toolchain = {'name': 'GCCcore', 'version': '12.2.0'}
source_urls = ['https://github.com/open-source-parsers/jsoncpp/archive']
sources = ['%(version)s.tar.gz']
checksums = ['f409856e5920c18d0c2fb85276e24ee607d2a09b5e7d5f0a371368903c275da2']
builddependencies = [
('CMake', '3.24.3'),
('Ninja', '1.11.1'),
('pkgconf', '1.9.3'),
('binutils', '2.39'),
]
sanity_check_paths = {
'files': ['include/json/json.h', 'lib/libjsoncpp.%s' % SHLIB_EXT],
'dirs': [],
}
moduleclass = 'lib'

View File

@ -0,0 +1,49 @@
# IT4Innovations
# LK 2023
easyblock = 'CMakeMake'
name = 'kim-api'
version = '2.3.0'
homepage = 'https://openkim.org/'
description = """Open Knowledgebase of Interatomic Models.
KIM is an API and OpenKIM is a collection of interatomic models (potentials) for
atomistic simulations. This is a library that can be used by simulation programs
to get access to the models in the OpenKIM database.
This EasyBuild only installs the API, the models can be installed with the
package openkim-models, or the user can install them manually by running
kim-api-collections-management install user MODELNAME
or
kim-api-collections-management install user OpenKIM
to install them all.
"""
toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
source_urls = ['https://s3.openkim.org/kim-api/']
sources = ['%(name)s-%(version)s.txz']
checksums = ['93673bb8fbc0625791f2ee67915d1672793366d10cabc63e373196862c14f991']
builddependencies = [('binutils', '2.37')]
dependencies = [
('CMake', '3.22.1'), # Also needed to install models, thus not just a builddependency.
]
parallel = 1
separate_build_dir = True
build_type = 'Release'
modextravars = {
'KIM_API_CMAKE_PREFIX_DIR': '%(installdir)s/lib64'
}
sanity_check_paths = {
'files': ['bin/kim-api-collections-management', 'lib64/libkim-api.%s' % SHLIB_EXT],
'dirs': []
}
moduleclass = 'chem'

View File

@ -18,7 +18,12 @@ functionality.
"""
toolchain = {'name': 'foss', 'version': '2021b'}
toolchainopts = {'openmp': True, 'usempi': True}
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'openmp': True, 'usempi': True, 'optarch': 'march=core-avx2', 'pic': True}
else:
toolchainopts = {'openmp': True, 'usempi': True, 'pic': True}
# 'https://github.com/lammps/lammps/archive/'
source_urls = [GITHUB_LOWER_SOURCE]

View File

@ -0,0 +1,35 @@
# IT4Innovations
# LK 2023
easyblock = 'CMakeMake'
name = 'LEMON'
version = '1.3.1'
homepage = 'https://lemon.cs.elte.hu'
description = """ LEMON stands for Library for Efficient Modeling and Optimization in Networks.
It is a C++ template library providing efficient implementations of common data structures and algorithms
with focus on combinatorial optimization tasks connected mainly with graphs and networks. """
toolchain = {'name': 'GCC', 'version': '12.2.0'}
toolchainopts = {'pic': True}
source_urls = ['https://lemon.cs.elte.hu/pub/sources/']
sources = ['%(namelower)s-%(version)s.tar.gz']
checksums = ['71b7c725f4c0b4a8ccb92eb87b208701586cf7a96156ebd821ca3ed855bad3c8']
builddependencies = [('CMake', '3.24.3')]
separate_build_dir = True
configopts = ['', '-DBUILD_SHARED_LIBS=TRUE']
runtest = 'check'
sanity_check_paths = {
'files': ['bin/%s' % x for x in ['dimacs-solver', 'dimacs-to-lgf', 'lemon-0.x-to-1.x.sh', 'lgf-gen']] +
['lib/libemon.a', 'lib/libemon.%s' % SHLIB_EXT],
'dirs': ['include/lemon'],
}
moduleclass = 'lib'

View File

@ -0,0 +1,38 @@
# IT4Innovations
# LK 2023
easyblock = 'ConfigureMake'
name = 'MPC'
version = '1.2.1'
homepage = 'http://www.multiprecision.org/'
description = """Gnu Mpc is a C library for the arithmetic of
complex numbers with arbitrarily high precision and correct
rounding of the result. It extends the principles of the IEEE-754
standard for fixed precision real floating point numbers to
complex numbers, providing well-defined semantics for every
operation. At the same time, speed of operation at high precision
is a major design goal."""
toolchain = {'name': 'GCCcore', 'version': '12.2.0'}
source_urls = ['https://ftpmirror.gnu.org/gnu/mpc/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459']
builddependencies = [('binutils', '2.39')]
dependencies = [
('GMP', '6.2.1'),
('MPFR', '4.1.0'),
]
runtest = 'check'
sanity_check_paths = {
'files': ['lib/libmpc.%s' % SHLIB_EXT, 'include/mpc.h'],
'dirs': []
}
moduleclass = 'math'

36
m/MPC/MPC-1.2.1.eb Normal file
View File

@ -0,0 +1,36 @@
# IT4Innovations
# LK 2023
easyblock = 'ConfigureMake'
name = 'MPC'
version = '1.2.1'
homepage = 'http://www.multiprecision.org/'
description = """Gnu Mpc is a C library for the arithmetic of
local_complex numbers with arbitrarily high precision and correct
rounding of the result. It extends the principles of the IEEE-754
standard for fixed precision real floating point numbers to
local_complex numbers, providing well-defined semantics for every
operation. At the same time, speed of operation at high precision
is a major design goal."""
toolchain = SYSTEM
source_urls = ['http://www.multiprecision.org/mpc/download/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459']
dependencies = [
('GMP', '6.2.1'),
# ('MPFR', '3.1.5')
]
runtest = 'check'
sanity_check_paths = {
'files': ['lib/libmpc.%s' % SHLIB_EXT, 'include/mpc.h'],
'dirs': []
}
moduleclass = 'math'

View File

@ -0,0 +1,42 @@
# IT4Innovations
# LK 2023
easyblock = 'ConfigureMake'
name = 'MPFR'
version = '4.1.0'
homepage = 'https://www.mpfr.org'
description = """
The MPFR library is a C library for multiple-precision floating-point
computations with correct rounding.
"""
toolchain = {'name': 'GCCcore', 'version': '12.2.0'}
source_urls = ['https://www.mpfr.org/mpfr-%(version)s/']
sources = [SOURCELOWER_TAR_BZ2]
checksums = ['feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926']
builddependencies = [
('binutils', '2.39'),
]
dependencies = [
('GMP', '6.2.1'),
]
runtest = 'check'
# copy libmpfr.so* to <installdir>/lib to make sure that it is picked up by tests
# when EasyBuild is configured with --rpath, and clean up afterwards (let 'make install' do its job)
pretestopts = "mkdir -p %%(installdir)s/lib && cp -a src/.libs/libmpfr.%s* %%(installdir)s/lib && " % SHLIB_EXT
testopts = " && rm -r %(installdir)s/lib"
sanity_check_paths = {
'files': ['lib/libmpfr.%s' % SHLIB_EXT, 'include/mpfr.h'],
'dirs': [],
}
moduleclass = 'math'

View File

@ -0,0 +1,29 @@
# IT4Innovations
# LK 2023
easyblock = 'CMakeMake'
name = 'maeparser'
version = '1.3.0'
homepage = 'https://github.com/schrodinger/maeparser'
description = "maeparser is a parser for Schrodinger Maestro files."
toolchain = {'name': 'gompi', 'version': '2022b'}
source_urls = ['https://github.com/schrodinger/maeparser/archive/']
sources = ['v%(version)s.tar.gz']
checksums = ['fa8f9336de1e5d1cabec29a6da04547b1fb040bb32ba511ff30b4a14097c751c']
builddependencies = [
('CMake', '3.24.3'),
]
dependencies = [('Boost', '1.81.0')]
sanity_check_paths = {
'files': ['lib/libmaeparser.%s' % SHLIB_EXT],
'dirs': ['include/maeparser', 'lib/cmake'],
}
moduleclass = 'tools'

View File

@ -0,0 +1,28 @@
# IT4Innovations
# LK 2023
easyblock = 'ConfigureMake'
name = 'makeinfo'
version = '6.8'
homepage = 'https://www.gnu.org/software/texinfo/'
description = """makeinfo is part of the Texinfo project, the official documentation format of the GNU project."""
toolchain = {'name': 'GCCcore', 'version': '12.2.0'}
source_urls = ['https://ftpmirror.gnu.org/gnu/texinfo']
sources = ['texinfo-%(version)s.tar.xz']
checksums = ['8eb753ed28bca21f8f56c1a180362aed789229bd62fff58bf8368e9beb59fec4']
builddependencies = [('binutils', '2.39')]
dependencies = [('Perl', '5.36.0')]
sanity_check_paths = {
'files': ['bin/makeinfo'],
'dirs': ['share'],
}
sanity_check_commands = ["makeinfo --help"]
moduleclass = 'devel'

View File

@ -0,0 +1,52 @@
# IT4Innovations
# LK 2023
easyblock = "CMakeMake"
name = 'OpenBabel'
version = '3.1.1'
homepage = 'https://openbabel.org'
description = """Open Babel is a chemical toolbox designed to speak the many
languages of chemical data. It's an open, collaborative project allowing anyone
to search, convert, analyze, or store data from molecular modeling, chemistry,
solid-state materials, biochemistry, or related areas."""
toolchain = {'name': 'gompi', 'version': '2022b'}
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'optarch': 'march=core-avx2'}
else:
toolchainopts = {'optarch': False}
source_urls = [GITHUB_LOWER_SOURCE]
sources = ['%%(namelower)s-%s.tar.gz' % version.replace('.', '-')]
checksums = ['c97023ac6300d26176c97d4ef39957f06e68848d64f1a04b0b284ccff2744f02']
builddependencies = [
('CMake', '3.24.3'),
]
dependencies = [
('zlib', '1.2.12'),
('libxml2', '2.10.3'),
('Eigen', '3.4.0'),
('RapidJSON', '1.1.0'),
('cairo', '1.17.4'), # optional: for .png output
('Boost', '1.81.0'),
('maeparser', '1.3.0'),
('CoordgenLibs', '3.0.1'),
]
configopts = '-DBoost_INCLUDE_DIR=$EBROOTBOOST/include -DBoost_LIBRARY_DIR_RELEASE=$EBROOTBOOST/lib '
configopts += '-DENABLE_OPENMP=ON '
# OpenBabel-3.1.1 creates directories named 3.1.0, which leads to BABEL_LIBDIR and BABEL_DATDIR
# (set in the easyblock) having invalid values. Work around this with some symlinks.
postinstallcmds = [
'ln -s %(installdir)s/lib/openbabel/3.1.0 %(installdir)s/lib/openbabel/%(version)s',
'ln -s %(installdir)s/share/openbabel/3.1.0 %(installdir)s/share/openbabel/%(version)s',
]
runtest = 'test'
moduleclass = 'chem'

View File

@ -0,0 +1,58 @@
# IT4Innovations
# LK 2023
easyblock = 'ConfigureMake'
name = 'OpenMPI'
version = '3.1.4'
homepage = 'http://www.open-mpi.org/'
description = """The Open MPI Project is an open source MPI-2 implementation."""
toolchain = {'name': 'GCC', 'version': '10.2.0'}
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'optarch': 'march=core-avx2'}
source_urls = [
'http://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['a7c34ad052ea8201ed9e7389994069fe6996403beabdd2d711caf0532808156c']
dependencies = [
('hwloc', '1.11.7'),
('zlib', '1.2.11'),
('libxml2', '2.9.10'),
('UCX', '1.9.0'),
('CUDA', '12.0.0', '', True)
]
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 '
configopts += '--disable-builtin-atomics ' # RT35770
configopts += '--with-cuda=$EBROOTCUDACORE '
osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')]
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 local_libs] + [
"include/%s.h" %
x for x in [
"mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], 'dirs': [], }
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',
}
moduleclass = 'mpi'

View File

@ -45,8 +45,8 @@ sanity_check_paths = {
"mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], 'dirs': [], }
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',
'OMPI_MCA_btl_openib_warn_no_device_params_found': '0',
}
moduleclass = 'mpi'

View File

@ -0,0 +1,40 @@
# IT4Innovations
# LK 2023
easyblock = "CMakeMake"
name = "openPMD-api"
version = "0.14.4"
homepage = 'https://github.com/openPMD/openPMD-api'
description = """openPMD is an open meta-data schema that provides meaning and self-description
for data sets in science and engineering. See the openPMD standard for details of this schema.
This library provides a reference API for openPMD data handling. Since openPMD is a schema
(or markup) on top of portable, hierarchical file formats, this library implements various
backends such as HDF5, ADIOS2 and JSON. Writing & reading through those backends and their
associated files are supported for serial and MPI-parallel workflows.
"""
toolchain = {'name': 'gompi', 'version': '2020d'}
source_urls = ['https://github.com/openPMD/openPMD-api/archive/refs/tags/']
sources = ['%(version)s.tar.gz']
checksums = ['42b7bcd043e772d63f0fe0e5e70da411f001db10096d5b8be797ffc88e786379']
builddependencies = [('CMake', '3.20.1')]
dependencies = [
('HDF5', '1.12.0'),
('ADIOS2', '2.7.0'),
]
configopts = '-DopenPMD_USE_ADIOS2=ON -DopenPMD_USE_HDF5=ON '
separate_build_dir = True
sanity_check_paths = {
'files': ['bin/openpmd-ls', 'bin/openpmd-pipe', 'lib/libopenPMD.so'],
'dirs': ['bin', 'include', 'lib64']
}
moduleclass = 'tools'

View File

@ -0,0 +1,40 @@
# IT4Innovations
# LK 2023
easyblock = "CMakeMake"
name = "PNGwriter"
version = "0.7.0"
homepage = 'https://github.com/pngwriter/pngwriter/'
description = """PNGwriter is a very easy to use open source graphics library
that uses PNG as its output format. The interface has been designed to be as
simple and intuitive as possible. It supports plotting and reading pixels in
the RGB (red, green, blue), HSV (hue, saturation, value/brightness) and CMYK
(cyan, magenta, yellow, black) colour spaces, basic shapes, scaling, bilinear
interpolation, full TrueType antialiased and rotated text support, bezier
curves, opening existing PNG images and more. Documentation in English
(and Spanish up to v0.5.4). Runs under Linux, Unix, Mac OS X and Windows.
Requires libpng and optionally FreeType2 for the text support."""
toolchain = {'name': 'GCC', 'version': '10.2.0'}
source_urls = ['https://github.com/pngwriter/pngwriter/archive/refs/tags/']
sources = ['%(version)s.tar.gz']
checksums = ['82d46eef109f434f95eba9cf5908710ae4e75f575fd3858178ad06e800152825']
builddependencies = [('CMake', '3.20.1')]
dependencies = [
('freetype', '2.10.3'),
('libpng', '1.6.37'),
]
separate_build_dir = True
sanity_check_paths = {
'files': ['include/pngwriter.h', 'lib/libPNGwriter.a'],
'dirs': ['include', 'lib']
}
moduleclass = 'lib'

View File

@ -0,0 +1,27 @@
# IT4Innovations
# LK 2023
name = 'SWIG'
version = '4.0.2'
homepage = 'http://www.swig.org/'
description = """SWIG is a software development tool that connects programs written in C and C++ with
a variety of high-level programming languages."""
toolchain = {'name': 'GCCcore', 'version': '12.2.0'}
toolchainopts = {'pic': True}
source_urls = [SOURCEFORGE_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc']
builddependencies = [('binutils', '2.39')]
dependencies = [
('zlib', '1.2.12'),
('PCRE', '8.45'),
]
configopts = '--without-alllang --with-boost=no'
moduleclass = 'devel'