Merge branch 'it4i-karolina'

This commit is contained in:
Jakub Kropacek 2023-01-13 11:51:08 +01:00
commit e35ce4a440
6 changed files with 245 additions and 0 deletions

View File

@ -1,3 +1,6 @@
# IT4Innovations 2023
# JK
easyblock = 'ConfigureMake'
name = 'hwloc'

View File

@ -0,0 +1,43 @@
# IT4Innovations 2023
# JK
easyblock = 'ConfigureMake'
name = 'libevent'
version = '2.1.12'
homepage = 'https://libevent.org/'
description = """
The libevent API provides a mechanism to execute a callback function when
a specific event occurs on a file descriptor or after a timeout has been
reached. Furthermore, libevent also support callbacks due to signals or
regular timeouts.
"""
toolchain = SYSTEM
toolchainopts = {'pic': True}
source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/release-%(version)s-stable/']
sources = ['%(name)s-%(version)s-stable.tar.gz']
checksums = ['92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb']
#builddependencies = [
# ('binutils', '2.39'),
# ('pkgconf', '1.9.3'),
#]
dependencies = [
('zlib', '1.2.12'),
# ('OpenSSL', '1.1', '', SYSTEM),
]
osdependencies = ['openssl']
sanity_check_paths = {
'files': ['bin/event_rpcgen.py', 'include/event.h', 'include/event2/event.h',
'lib/libevent_core.%s' % SHLIB_EXT, 'lib/pkgconfig/libevent.pc'],
'dirs': [],
}
moduleclass = 'lib'

48
p/PMIx/PMIx-3.2.3.eb Normal file
View File

@ -0,0 +1,48 @@
# IT4Innovations 2023
# JK
easyblock = 'ConfigureMake'
name = 'PMIx'
version = '3.2.3'
homepage = 'https://pmix.org/'
description = """Process Management for Exascale Environments
PMI Exascale (PMIx) represents an attempt to
provide an extended version of the PMI standard specifically designed
to support clusters up to and including exascale sizes. The overall
objective of the project is not to branch the existing pseudo-standard
definitions - in fact, PMIx fully supports both of the existing PMI-1
and PMI-2 APIs - but rather to (a) augment and extend those APIs to
eliminate some current restrictions that impact scalability, and (b)
provide a reference implementation of the PMI-server that demonstrates
the desired level of scalability.
"""
toolchain = SYSTEM
toolchainopts = {'pic': True}
source_urls = ['https://github.com/openpmix/openpmix/releases/download/v%(version)s']
sources = ['%(namelower)s-%(version)s.tar.bz2']
checksums = ['9b835f23c2f94a193c14012ee68b3657a61c568598cdd1212a3716b32d41a135']
# builddependencies = [('binutils', '2.39')]
dependencies = [
('zlib', '1.2.12'),
('libevent', '2.1.12'),
('hwloc', '2.8.0'),
]
configopts = ' --with-libevent=$EBROOTLIBEVENT --with-zlib=$EBROOTZLIB'
configopts += ' --with-hwloc=$EBROOTHWLOC'
configopts += ' --enable-pmix-binaries'
buildopts = 'V=1'
sanity_check_paths = {
'files': ['bin/pevent', 'bin/plookup', 'bin/pmix_info', 'bin/pps'],
'dirs': ['etc', 'include', 'lib', 'share']
}
moduleclass = 'lib'

48
p/PMIx/PMIx-4.2.2.eb Normal file
View File

@ -0,0 +1,48 @@
# IT4Innovations 2023
# JK
easyblock = 'ConfigureMake'
name = 'PMIx'
version = '4.2.2'
homepage = 'https://pmix.org/'
description = """Process Management for Exascale Environments
PMI Exascale (PMIx) represents an attempt to
provide an extended version of the PMI standard specifically designed
to support clusters up to and including exascale sizes. The overall
objective of the project is not to branch the existing pseudo-standard
definitions - in fact, PMIx fully supports both of the existing PMI-1
and PMI-2 APIs - but rather to (a) augment and extend those APIs to
eliminate some current restrictions that impact scalability, and (b)
provide a reference implementation of the PMI-server that demonstrates
the desired level of scalability.
"""
toolchain = SYSTEM
toolchainopts = {'pic': True}
source_urls = ['https://github.com/openpmix/openpmix/releases/download/v%(version)s']
sources = ['%(namelower)s-%(version)s.tar.bz2']
checksums = ['935b2f492e4bc409017f1425a83366aa72a7039605ea187c9fac7bb1371cd73c']
#builddependencies = [('binutils', '2.39')]
dependencies = [
('zlib', '1.2.12'),
('libevent', '2.1.12'),
('hwloc', '2.8.0'),
]
configopts = ' --with-libevent=$EBROOTLIBEVENT --with-zlib=$EBROOTZLIB'
configopts += ' --with-hwloc=$EBROOTHWLOC'
configopts += ' --enable-pmix-binaries'
buildopts = 'V=1'
sanity_check_paths = {
'files': ['bin/pevent', 'bin/plookup', 'bin/pmix_info', 'bin/pps'],
'dirs': ['etc', 'include', 'lib', 'share']
}
moduleclass = 'lib'

64
x/XALT/XALT-2.10.45-eb.cz Normal file
View File

@ -0,0 +1,64 @@
#IT4Innovations
# LK 2023
name = 'XALT'
version = '2.10.45'
versionsuffix = "-eb"
homepage = 'https://github.com/xalt/xalt'
description = """XALT 2 is a tool to allow a site to track user executables
and library usage on a cluster. When installed it can tell a site what are
the top executables by Node-Hours or by the number of users or the number
of times it is run. XALT 2 also tracks library usage as well. XALT 2 can
also track package use by R, MATLAB or Python. It tracks both MPI and
non-MPI programs."""
toolchain = SYSTEM
# The location of XALT configuration file must be specified via
# 'config_py' easyconfig parameter. You can edit the easyconfig file,
# or use 'eb --try-amend=config_py=<path>'. " See
# https://xalt.readthedocs.io/en/latest/030_site_filtering.html for
# more information.
config_py = "/apps/.xalt/IT4I_config.py"
# The name of the system must be specified via the 'syshost'
# easyconfig parameter. You can edit the easyconfig file, or use 'eb
# --try-amend=syshost=<string>'. See
# https://xalt.readthedocs.io/en/latest/020_site_configuration.html
# for more information.
syshost = "env_var:CLUSTERNAME"
# The XALT transmission method must be specified via the
# 'transmission' easyconfig parameter. You can edit the easyconfig
# file, or use 'eb --try-amend=transmission=<string>'. See
# https://xalt.readthedocs.io/en/latest/020_site_configuration.html
# for more information.
transmission = "file"
# Additional options
local_executable_tracking = True
local_gpu_tracking = Yes
local_logging_url = None
local_mysql = False
local_scalar_sampling = True
local_static_cxx = True
source_urls = ['https://github.com/xalt/xalt/archive/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['c10898402111b230eac1c0d3769a4b46361c97fc3415977c2199b5db3de8c547']
builddependencies = [
('cURL', '7.76.0'),
('flex', '2.6.4'),
('util-linux', '2.36'),
]
osdependencies = [
('bc'),
('coreutils'),
('libelf-dev', 'elfutils-libelf-devel'),
OS_PKG_OPENSSL_DEV,
]
moduleclass = 'lib'

39
z/zlib/zlib-1.2.12.eb Normal file
View File

@ -0,0 +1,39 @@
# IT4Innovations 2023
# JK
easyblock = 'ConfigureMake'
name = 'zlib'
version = '1.2.12'
homepage = 'https://www.zlib.net/'
description = """
zlib is designed to be a free, general-purpose, legally unencumbered -- that
is, not covered by any patents -- lossless data-compression library for use
on virtually any computer hardware and operating system.
"""
toolchain = SYSTEM
toolchainopts = {'pic': True}
source_urls = ['https://zlib.net/fossils/']
sources = [SOURCELOWER_TAR_GZ]
patches = ['zlib-%(version)s_fix-CC-logic-in-configure.patch']
checksums = [
'91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9', # zlib-1.2.12.tar.gz
'f35eb05334a4f8d7b40b6c5610a6369f654863b5fa1a19c2507888f918025238', # zlib-1.2.12_fix-CC-logic-in-configure.patch
]
# need to take care of $CFLAGS ourselves with dummy toolchain
# we need to add -fPIC, but should also include -O* option to avoid
# compiling with -O0 (default for GCC)
buildopts = 'CFLAGS="-O2 -fPIC"'
sanity_check_paths = {
'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a',
'lib/libz.%s' % SHLIB_EXT],
'dirs': [],
}
moduleclass = 'lib'