new file: a/Autoconf/Autoconf-2.72-GCCcore-14.2.0.eb

new file:   a/Autotools/Autotools-20231222-GCCcore-14.2.0.eb
	new file:   b/bzip2/bzip2-1.0.8-GCCcore-14.2.0.eb
	new file:   c/CMake/CMake-3.30.5-GCCcore-14.2.0.eb
	new file:   c/cURL/cURL-8.7.1-GCCcore-14.2.0.eb
	new file:   h/hwloc/hwloc-2.10.0-GCCcore-14.2.0.eb
	new file:   l/libarchive/libarchive-3.7.4-GCCcore-14.2.0.eb
	new file:   n/NVHPC/NVHPC-24.3.eb
	new file:   n/ncurses/ncurses-6.5-GCCcore-14.2.0.eb
	new file:   n/numactl/numactl-2.0.18-GCCcore-13.3.0.eb
	new file:   o/OpenMPI/OpenMPI-4.1.6-NVHPC-24.3.eb
	new file:   o/OpenMPI/OpenMPI-5.0.5-GCC-14.2.0.eb
	new file:   p/Perl/Perl-5.38.2-GCCcore-14.2.0.eb
	new file:   p/pkgconf/pkgconf-2.2.0-GCCcore-14.2.0.eb
	new file:   u/UCC/UCC-1.2.0-GCCcore-13.2.0.eb
	modified:   u/UCX/UCX-1.15.0-GCCcore-13.2.0.eb
	new file:   x/XZ/XZ-5.4.5-GCCcore-14.2.0.eb
This commit is contained in:
Lukas Krupcik 2024-10-18 11:04:27 +02:00
parent 1e69ece989
commit 65417ffe00
17 changed files with 794 additions and 1 deletions

View File

@ -0,0 +1,51 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'Autoconf'
version = '2.72'
homepage = 'https://www.gnu.org/software/autoconf/'
description = """
Autoconf is an extensible package of M4 macros that produce shell scripts
to automatically configure software source code packages. These scripts can
adapt the packages to many kinds of UNIX-like systems without manual user
intervention. Autoconf creates a configuration script for a package from a
template file that lists the operating system features that the package can
use, in the form of M4 macro calls.
"""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
source_urls = [GNU_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['afb181a76e1ee72832f6581c0eddf8df032b83e2e0239ef79ebedc4467d92d6e']
builddependencies = [
('binutils', '2.42'),
]
dependencies = [
('M4', '1.4.19'),
# non-standard Perl modules are required,
# see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822
('Perl', '5.38.2'),
]
preconfigopts = "export PERL='/usr/bin/env perl' && "
sanity_check_paths = {
'files': ["bin/%s" % x
for x in ["autoconf", "autoheader", "autom4te", "autoreconf",
"autoscan", "autoupdate", "ifnames"]],
'dirs': [],
}
sanity_check_commands = [
"autoconf --help",
"autom4te --help",
]
moduleclass = 'devel'

View File

@ -0,0 +1,27 @@
# IT4Innovations
# LK 2024
easyblock = 'Bundle'
name = 'Autotools'
version = '20231222' # date of the most recent change
homepage = 'https://autotools.io'
description = """
This bundle collect the standard GNU build tools: Autoconf, Automake
and libtool
"""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
dependencies = [
('Autoconf', '2.72'), # 20231222
('Automake', '1.16.5'), # 20211003
('libtool', '2.4.7'), # 20220317
]
# Pure bundle -- no need to specify 'binutils' used when building GCCcore
# toolchain as build dependency
moduleclass = 'devel'

View File

@ -0,0 +1,30 @@
# IT4Innovations
# LK 2024
name = 'bzip2'
version = '1.0.8'
homepage = 'https://sourceware.org/bzip2'
description = """
bzip2 is a freely available, patent free, high-quality data compressor. It
typically compresses files to within 10% to 15% of the best available
techniques (the PPM family of statistical compressors), whilst being around
twice as fast at compression and six times faster at decompression.
"""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
toolchainopts = {'pic': True}
source_urls = ['https://sourceware.org/pub/%(name)s/']
sources = [SOURCE_TAR_GZ]
patches = ['bzip2-%(version)s-pkgconfig.patch']
checksums = [
'ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269', # bzip2-1.0.8.tar.gz
'9299e8ee4d014ea973777b6ea90661fe329dfa991f822add4c763ea9ddb9aab1', # bzip2-1.0.8-pkgconfig.patch
]
builddependencies = [
('binutils', '2.42'),
]
moduleclass = 'tools'

View File

@ -0,0 +1,33 @@
# IT4Innovatiions
# LK 2024
name = 'CMake'
version = '3.30.5'
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': '14.2.0'}
source_urls = ['https://www.cmake.org/files/v%(version_major_minor)s']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['9f55e1a40508f2f29b7e065fa08c29f82c402fa0402da839fffe64a25755a86d']
builddependencies = [
('binutils', '2.42'),
]
dependencies = [
('ncurses', '6.5'),
('zlib', '1.3.1'),
('bzip2', '1.0.8'),
('cURL', '8.7.1'),
('libarchive', '3.7.4'),
# ('OpenSSL', '3', '', SYSTEM),
]
moduleclass = 'devel'

View File

@ -0,0 +1,46 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'cURL'
version = '8.7.1'
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': '14.2.0'}
source_urls = ['https://curl.haxx.se/download/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['f91249c87f68ea00cf27c44fdfa5a78423e41e71b7d408e5901a9896d905c495']
builddependencies = [
('binutils', '2.42'),
]
dependencies = [
('zlib', '1.3.1'),
# ('OpenSSL', '3', '', SYSTEM),
]
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'

View File

@ -0,0 +1,47 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'hwloc'
version = '2.10.0'
homepage = 'https://www.open-mpi.org/projects/hwloc/'
description = """
The Portable Hardware Locality (hwloc) software package provides a portable
abstraction (across OS, versions, architectures, ...) of the hierarchical
topology of modern architectures, including NUMA memory nodes, sockets, shared
caches, cores and simultaneous multithreading. It also gathers various system
attributes such as cache and memory information as well as the locality of I/O
devices such as network interfaces, InfiniBand HCAs or GPUs. It primarily
aims at helping applications with gathering information about modern computing
hardware so as to exploit it accordingly and efficiently.
"""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
source_urls = ['https://www.open-mpi.org/software/hwloc/v%(version_major_minor)s/downloads/']
sources = [SOURCE_TAR_GZ]
checksums = ['c7fd8a1404a9719c76aadc642864b9f77aed1dc1fc8882d6af861a9260ba240d']
builddependencies = [
('binutils', '2.42'),
]
dependencies = [
('numactl', '2.0.18'),
('libxml2', '2.12.7'),
('libpciaccess', '0.18.1'),
]
configopts = "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev "
sanity_check_paths = {
'files': ['bin/lstopo', 'include/hwloc/linux.h',
'lib/libhwloc.%s' % SHLIB_EXT],
'dirs': ['share/man/man3'],
}
sanity_check_commands = ['lstopo']
moduleclass = 'system'

View File

@ -0,0 +1,38 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'libarchive'
version = '3.7.4'
homepage = 'https://www.libarchive.org/'
description = """
Multi-format archive and compression library
"""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
source_urls = ['https://www.libarchive.org/downloads/']
sources = [SOURCE_TAR_GZ]
checksums = [
{'libarchive-3.7.4.tar.gz': '7875d49596286055b52439ed42f044bd8ad426aa4cc5aabd96bfe7abb971d5e8'},
]
builddependencies = [
('binutils', '2.42'),
]
dependencies = [
('zlib', '1.3.1'),
('XZ', '5.4.5'),
# ('OpenSSL', '3', '', SYSTEM),
]
sanity_check_paths = {
'files': ['include/archive.h', 'lib/libarchive.%s' % SHLIB_EXT],
'dirs': ['bin', 'share/man/man3'],
}
moduleclass = 'tools'

39
n/NVHPC/NVHPC-24.3.eb Normal file
View File

@ -0,0 +1,39 @@
# IT4Innovations
# LK 2024
name = 'NVHPC'
version = '24.3'
homepage = 'https://developer.nvidia.com/hpc-sdk/'
description = """C, C++ and Fortran compilers included with the NVIDIA HPC SDK (previously: PGI)"""
toolchain = SYSTEM
local_tarball_tmpl = 'nvhpc_2024_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz'
# By downloading, you accept the HPC SDK Software License Agreement
# https://docs.nvidia.com/hpc-sdk/eula/index.html
# accept_eula = True
source_urls = ['https://developer.download.nvidia.com/hpc-sdk/%(version)s/']
sources = [local_tarball_tmpl % '%(arch)s']
checksums = [
{
local_tarball_tmpl % 'aarch64':
'6385847de5f8725e5c56d2abf70c90fed5490f2e71a7bd13d3f4ada8720ef036',
local_tarball_tmpl % 'ppc64le':
'e7330eb35e23dcd9b0b3bedc67c0d5443c4fd76b59caa894a76ecb0d17f71f43',
local_tarball_tmpl % 'x86_64':
'6385847de5f8725e5c56d2abf70c90fed5490f2e71a7bd13d3f4ada8720ef036',
}
]
local_gccver = '12.2.0'
dependencies = [
('GCCcore', local_gccver),
('binutils', '2.39', '', ('GCCcore', local_gccver)),
# This is necessary to avoid cases where just libnuma.so.1 is present in the system and -lnuma fails
('numactl', '2.0.16', '', ('GCCcore', local_gccver)),
]
module_add_cuda = False
moduleclass = 'compiler'

View File

@ -0,0 +1,56 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'ncurses'
version = '6.5'
homepage = 'https://www.gnu.org/software/ncurses/'
description = """
The Ncurses (new curses) library is a free software emulation of curses in
System V Release 4.0, and more. It uses Terminfo format, supports pads and
color and multiple highlights and forms characters and function-key mapping,
and has all the other SYSV-curses enhancements over BSD Curses.
"""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
toolchainopts = {'pic': True}
source_urls = [GNU_SOURCE]
sources = [SOURCE_TAR_GZ]
checksums = ['136d91bc269a9a5785e5f9e980bc76ab57428f604ce3e5a5a90cebc767971cc6']
builddependencies = [
('binutils', '2.42'),
('pkgconf', '2.2.0'),
]
local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms "
local_common_configopts += "--enable-pc-files --with-pkg-config-libdir=%(installdir)s/lib/pkgconfig "
configopts = [
# build ncurses: serial build in default paths with shared libraries
local_common_configopts + "--disable-widec",
# build ncursesw: serial with UTF-8
local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/",
]
# Symlink libtinfo to libncurses
# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically
postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done']
_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw
_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]]
_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo']
_pc_names = ['form', 'menu', 'ncurses++', 'ncurses', 'panel']
sanity_check_paths = {
'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config",
"reset", "tabs", "tic", "toe", "tput", "tset"]] +
['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] +
['lib/libncurses++%s.a' % x for x in _target_suffix] +
['lib/pkgconfig/%s%s.pc' % (x, y) for x in _pc_names for y in _target_suffix],
'dirs': ['include', 'include/ncursesw'],
}
moduleclass = 'devel'

View File

@ -0,0 +1,34 @@
easyblock = 'ConfigureMake'
name = 'numactl'
version = '2.0.18'
homepage = 'https://github.com/numactl/numactl'
description = """
The numactl program allows you to run your application program on specific
cpu's and memory nodes. It does this by supplying a NUMA memory policy to
the operating system before running your program. The libnuma library provides
convenient ways for you to add NUMA memory policies into your own program.
"""
toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
toolchainopts = {'pic': True}
source_urls = ['https://github.com/numactl/numactl/archive/']
sources = ['v%(version)s.tar.gz']
checksums = ['8cd6c13f3096e9c2293c1d732f56e2aa37a7ada1a98deed3fac7bd6da1aaaaf6']
builddependencies = [
('binutils', '2.42'),
('Autotools', '20231222'),
]
preconfigopts = "./autogen.sh && "
sanity_check_paths = {
'files': ['bin/numactl', 'bin/numastat', 'lib/libnuma.%s' % SHLIB_EXT, 'lib/libnuma.a'],
'dirs': ['share/man', 'include']
}
moduleclass = 'tools'

View File

@ -0,0 +1,109 @@
# IT4Innovations
# LK 2024
name = 'OpenMPI'
version = '4.1.6'
homepage = 'https://www.open-mpi.org/'
description = """The Open MPI Project is an open source MPI-3 implementation."""
toolchain = {'name': 'NVHPC', 'version': '24.3'}
source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads']
sources = [SOURCELOWER_TAR_BZ2]
patches = [
'OpenMPI-4.1.1_build-with-internal-cuda-header.patch',
'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch',
]
checksums = [
'f740994485516deb63b5311af122c265179f5328a0d857a567b85db00b11e415', # openmpi-4.1.6.tar.bz2
# OpenMPI-4.1.1_build-with-internal-cuda-header.patch
'63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83',
# OpenMPI-4.1.1_opal-datatype-cuda-performance.patch
'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e',
]
builddependencies = [
('pkgconf', '1.9.3'),
('Perl', '5.36.0'),
('Autotools', '20220317'),
]
dependencies = [
('zlib', '1.2.12'),
('hwloc', '2.8.0'),
('libevent', '2.1.12'),
('UCX', '1.16.0'),
('libfabric', '1.16.1'),
('PMIx', '4.2.2'),
('UCC', '1.3.0'),
]
# Update configure to include changes from the "internal-cuda" patch
# by running a subset of autogen.pl sufficient to achieve this
# without doing the full, long-running regeneration.
preconfigopts = ' && '.join([
'cd config',
'autom4te --language=m4sh opal_get_version.m4sh -o opal_get_version.sh',
'cd ..',
'autoconf',
'autoheader',
'aclocal',
'automake',
''
])
# IT4I-specific settings
#configopts += '--enable-shared '
configopts = ' --enable-mpi-thread-multiple'
configopts += ' --with-verbs'
configopts += ' --enable-mpirun-prefix-by-default'
configopts += ' --with-hwloc=$EBROOTHWLOC' # hwloc support
configopts += ' --with-slurm' # Enable slurm
configopts += ' --enable-mpi-cxx' # Enable building the C++ MPI bindings
configopts += ' --with-ucx=$EBROOTUCX'
import os
if os.environ.get("CLUSTERNAME") in ["BARBORA"]:
configopts += ' --with-knem=/opt/knem-1.1.4.90mlnx1'
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
configopts += ' --with-knem=/opt/knem-1.1.4.90mlnx3'
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',
]
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': [], }
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',
'SLURM_MPI_TYPE': 'pmix_v4',
}
elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0',
'OMPI_MCA_orte_base_help_aggregate': '0',
'SLURM_MPI_TYPE': 'pmix_v4',
}
else:
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0',
'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8',
'SLURM_MPI_TYPE': 'pmix_v4',
}
moduleclass = 'mpi'

View File

@ -0,0 +1,74 @@
# IT4Innovations
# LK 2024
name = 'OpenMPI'
version = '5.0.5'
homepage = 'https://www.open-mpi.org/'
description = """The Open MPI Project is an open source MPI-3 implementation."""
toolchain = {'name': 'GCC', 'version': '14.2.0'}
source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads']
sources = [SOURCELOWER_TAR_BZ2]
checksums = [
{'openmpi-5.0.5.tar.bz2': 'ee46ad8eeee2c3ff70772160bff877cbf38c330a0bc3b3ddc811648b3396698f'},
]
builddependencies = [
('pkgconf', '2.2.0'),
('Perl', '5.38.2'),
('Autotools', '20231222'),
]
dependencies = [
('zlib', '1.2.12'),
('hwloc', '2.8.0'),
('libevent', '2.1.12'),
('UCX', '1.14.1'),
('libfabric', '1.16.1'),
('PMIx', '4.2.6'),
('UCC', '1.1.0'),
]
# Update configure to include changes from the "internal-cuda" patch
# by running a subset of autogen.pl sufficient to achieve this
# without doing the full, long-running regeneration.
preconfigopts = ' && '.join([
'cd config',
'autom4te --language=m4sh opal_get_version.m4sh -o opal_get_version.sh',
'cd ..',
'autoconf',
'autoheader',
'aclocal',
'automake',
''
])
configopts = '--enable-shared --enable-mpi-thread-multiple --with-verbs '
configopts += '--enable-mpirun-prefix-by-default '
configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support
configopts += '--with-slurm ' # Enable slurm
configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings
configopts += '--with-ucx=$EBROOTUCX '
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',
'SLURM_MPI_TYPE': 'pmix_v4',
}
elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0',
'OMPI_MCA_orte_base_help_aggregate': '0',
'SLURM_MPI_TYPE': 'pmix_v4',
}
else:
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0',
'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8',
'SLURM_MPI_TYPE': 'pmix_v4',
}
moduleclass = 'mpi'

View File

@ -0,0 +1,89 @@
# IT4Innovations
# LK 2024
name = 'Perl'
version = '5.38.2'
homepage = 'https://www.perl.org/'
description = """Larry Wall's Practical Extraction and Report Language
Includes a small selection of extra CPAN packages for core functionality.
"""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
toolchainopts = {'pic': True}
source_urls = ['https://www.cpan.org/src/%(version_major)s.0']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['a0a31534451eb7b83c7d6594a497543a54d488bc90ca00f5e34762577f40655e']
builddependencies = [
('binutils', '2.42'),
]
dependencies = [
('zlib', '1.3.1'),
]
# !! order of extensions is important !!
# extensions updated on 2023-09-03
# includes all dependencies for Autotools
exts_list = [
('threads', '2.21', {
'source_tmpl': 'threads-%(version)s.tar.gz',
'source_urls': ['https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN'],
'checksums': ['28394c98a2bcae6f20ffb8a3d965a1c194b764c650169e2050ee38dbaa10f110'],
}),
('constant', '1.33', {
'source_tmpl': 'constant-%(version)s.tar.gz',
'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'],
'checksums': ['79965d4130eb576670e27ca0ae6899ef0060c76da48b02b97682166882f1b504'],
}),
('Getopt::Long', '2.57', {
'source_tmpl': 'Getopt-Long-%(version)s.tar.gz',
'source_urls': ['https://cpan.metacpan.org/authors/id/J/JV/JV'],
'checksums': ['d3791e6bf167708364ea5ad3be578dc9173a0076167160a4341c05a1e979795e'],
}),
('File::Path', '2.18', {
'source_tmpl': 'File-Path-%(version)s.tar.gz',
'source_urls': ['https://cpan.metacpan.org/authors/id/J/JK/JKEENAN/'],
'checksums': ['980f0a17edb353df46e9cd7b357f9f5929cde0f80c45fd7a06cf7e0e8bd6addd'],
}),
('File::Spec', '3.75', {
'source_tmpl': 'PathTools-%(version)s.tar.gz',
'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'],
'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'],
}),
('IO::File', '1.55', {
'source_tmpl': 'IO-%(version)s.tar.gz',
'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR/'],
'checksums': ['0443afebb9a48f29611e9b17a017f430b51167a498fa4646c07f8dce03b6b95f'],
}),
('Thread::Queue', '3.13', {
'source_tmpl': 'Thread-Queue-%(version)s.tar.gz',
'source_urls': ['https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN'],
'checksums': ['6ba3dacddd2fbb66822b4aa1d11a0a5273cd04c825cb3ff31c20d7037cbfdce8'],
}),
('Carp', '1.50', {
'source_tmpl': 'Carp-%(version)s.tar.gz',
'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'],
'checksums': ['f5273b4e1a6d51b22996c48cb3a3cbc72fd456c4038f5c20b127e2d4bcbcebd9'],
}),
('Exporter', '5.78', {
'source_tmpl': 'Exporter-%(version)s.tar.gz',
'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'],
'checksums': ['bd17e99219aa2fb6a8acb3d11deffcb588708c70fc29f346e20ea7f71d3a48f0'],
}),
('Text::ParseWords', '3.31', {
'source_tmpl': 'Text-ParseWords-%(version)s.tar.gz',
'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB/'],
'checksums': ['2ae555ba084d75b2b8feeeb8d1a00911276815ada86bccb1452236964d5a2fc7'],
}),
('Data::Dumper', '2.183', {
'source_tmpl': 'Data-Dumper-%(version)s.tar.gz',
'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK/'],
'checksums': ['e42736890b7dae1b37818d9c5efa1f1fdc52dec04f446a33a4819bf1d4ab5ad3'],
}),
]
moduleclass = 'lang'

View File

@ -0,0 +1,34 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'pkgconf'
version = '2.2.0'
homepage = 'https://github.com/pkgconf/pkgconf'
description = """pkgconf is a program which helps to configure compiler and linker flags for development libraries.
It is similar to pkg-config from freedesktop.org."""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
source_urls = ['https://distfiles.ariadne.space/pkgconf/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['28f8dfc279a10ef66148befa3f6eb266e5f3570316600208ed50e9781c7269d8']
builddependencies = [('binutils', '2.42')]
postinstallcmds = ["cd %(installdir)s/bin && ln -s pkgconf pkg-config"]
sanity_check_paths = {
'files': ['bin/pkg-config', 'bin/pkgconf'],
'dirs': [],
}
sanity_check_commands = [
"pkg-config --help",
"pkgconf --help",
]
moduleclass = 'devel'

View File

@ -0,0 +1,49 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'UCC'
version = '1.2.0'
homepage = 'https://www.openucx.org/'
description = """UCC (Unified Collective Communication) is a collective
communication operations API and library that is flexible, complete, and
feature-rich for current and emerging programming models and runtimes.
"""
toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
toolchainopts = {'pic': True}
source_urls = ['https://github.com/openucx/ucc/archive/refs/tags']
sources = ['v%(version)s.tar.gz']
patches = ['UCC-1.1.0-multiple_component_paths.patch']
checksums = [
{'v1.2.0.tar.gz': 'c1552797600835c0cf401b82dc89c4d27d5717f4fb805d41daca8e19f65e509d'},
{'UCC-1.1.0-multiple_component_paths.patch': '3081d0f694331daa4a88a0fa3fb54b9a918015248ae5eb7b3157b924abd31bee'},
]
if ARCH == "riscv64":
patches += ['UCC-1.2.0_add-riscv-support.patch']
checksums += [{'UCC-1.2.0_add-riscv-support.patch':
'e9e2a4c206dad2367af97d92c12b796b454992cfce23984b132e9e78a07ff55b'}]
builddependencies = [
('binutils', '2.40'),
('Autotools', '20220317'),
]
dependencies = [
('UCX', '1.15.0'),
]
preconfigopts = "./autogen.sh && "
sanity_check_paths = {
'files': ['bin/ucc_info'],
'dirs': ['include', 'lib']
}
#sanity_check_commands = ["ucc_info -c"]
moduleclass = 'lib'

View File

@ -58,6 +58,6 @@ sanity_check_paths = {
'dirs': ['include', 'lib', 'share']
}
sanity_check_commands = ["ucx_info -d"]
#sanity_check_commands = ["ucx_info -d"]
moduleclass = 'lib'

View File

@ -0,0 +1,37 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'XZ'
version = '5.4.5'
homepage = 'https://tukaani.org/xz/'
description = "xz: XZ utilities"
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
source_urls = ['https://tukaani.org/xz/']
sources = [SOURCELOWER_TAR_BZ2]
checksums = ['8ccf5fff868c006f29522e386fb4c6a1b66463fbca65a4cfc3c4bd596e895e79']
builddependencies = [
# use gettext built with system toolchain as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ)
('gettext', '0.22.5', '', SYSTEM),
('binutils', '2.42'),
]
# may become useful in non-x86 archs
# configopts = ' --disable-assembler '
sanity_check_paths = {
'files': ['bin/lzmainfo', 'bin/unxz', 'bin/xz'],
'dirs': []
}
sanity_check_commands = [
"xz --help",
"unxz --help",
]
moduleclass = 'tools'