new file: a/Automake/Automake-1.16.5-GCCcore-14.2.0.eb

new file:   l/libevent/libevent-2.1.12-GCCcore-14.2.0.eb
	new file:   l/libfabric/libfabric-1.16.1-GCCcore-14.2.0.eb
	new file:   l/libffi/libffi-3.4.5-GCCcore-14.2.0.eb
	new file:   l/libpciaccess/libpciaccess-0.18.1-GCCcore-14.2.0.eb
	new file:   l/libreadline/libreadline-8.2-GCCcore-13.3.0.eb
	new file:   l/libreadline/libreadline-8.2-GCCcore-14.2.0.eb
	new file:   l/libtool/libtool-2.4.7-GCCcore-14.2.0.eb
	new file:   l/libxml2/libxml2-2.12.7-GCCcore-14.2.0.eb
	new file:   m/Meson/Meson-1.4.0-GCCcore-14.2.0.eb
	new file:   n/Ninja/Ninja-1.12.1-GCCcore-14.2.0.eb
	modified:   o/OpenMPI/OpenMPI-5.0.5-GCC-14.2.0.eb
	new file:   p/PMIx/PMIx-5.0.2-GCCcore-14.2.0.eb
	new file:   p/Python/Python-3.12.3-GCCcore-14.2.0.eb
	new file:   s/SQLite/SQLite-3.45.3-GCCcore-14.2.0.eb
	new file:   t/Tcl/Tcl-8.6.14-GCCcore-14.2.0.eb
	new file:   u/UCC/UCC-1.3.0-GCCcore-14.2.0.eb
	new file:   u/UCX/UCX-1.16.0-GCCcore-14.2.0.eb
	new file:   u/UnZip/UnZip-6.0-GCCcore-14.2.0.eb
	new file:   x/xorg-macros/xorg-macros-1.20.1-GCCcore-14.2.0.eb
This commit is contained in:
Lukas Krupcik 2024-10-18 12:15:07 +02:00
parent b4cf1158dd
commit c0a9ce6271
21 changed files with 869 additions and 18 deletions

View File

@ -0,0 +1,42 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'Automake'
version = '1.16.5'
homepage = 'https://www.gnu.org/software/automake/automake.html'
description = "Automake: GNU Standards-compliant Makefile generator"
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
source_urls = [GNU_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['07bd24ad08a64bc17250ce09ec56e921d6343903943e99ccf63bbf0705e34605']
builddependencies = [
('binutils', '2.42'),
]
dependencies = [
('Autoconf', '2.72'),
# 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/aclocal', 'bin/automake'],
'dirs': []
}
sanity_check_commands = [
"aclocal --help",
"automake --help",
]
moduleclass = 'devel'

View File

@ -0,0 +1,41 @@
# IT4Innovations
# LK 2024
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 = {'name': 'GCCcore', 'version': '14.2.0'}
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.42'),
('pkgconf', '2.2.0'),
]
dependencies = [
('zlib', '1.3.1'),
# ('OpenSSL', '3', '', SYSTEM),
]
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'

View File

@ -0,0 +1,69 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'libfabric'
version = '1.16.1'
homepage = 'https://ofiwg.github.io/libfabric/'
description = """
Libfabric is a core component of OFI. It is the library that defines and exports
the user-space API of OFI, and is typically the only software that applications
deal with directly. It works in conjunction with provider libraries, which are
often integrated directly into libfabric.
"""
# The psm3 provider (enabled by default) requires an AVX capable system to run
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
toolchainopts = {'pic': True}
source_urls = ['https://github.com/ofiwg/libfabric/releases/download/v%(version)s']
sources = [SOURCE_TAR_BZ2]
patches = [
'%(name)s-1.12.1_disable-psm3-avx-config.patch',
]
checksums = [
{'libfabric-1.16.1.tar.bz2': '53f992d33f9afe94b8a4ea3d105504887f4311cf4b68cea99a24a85fcc39193f'},
{'libfabric-1.12.1_disable-psm3-avx-config.patch':
'129be05a824b41eeb7bddac3c23aa421a13f7dde622948df942a265ccc96125a'},
]
builddependencies = [
('binutils', '2.42'),
('pkgconf', '2.2.0'),
('Autotools', '20231222'),
]
dependencies = [
('numactl', '2.0.18'),
# PSM2 dependency for libfabric should be used on Omnipath systems,
# but that PSM2 has CUDA as dependency so it's commented out by default;
# PSM2 only compiles on x86_64
# ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}),
]
osdependencies = [OS_PKG_IBVERBS_DEV]
# Regenerate build files to pick up psm3-axv-config patch
preconfigopts = "./autogen.sh &&"
# Disable deprecated "sockets" provider
configopts = "--disable-sockets "
# Disable usNIC provider by default as this requires specific osdependencies
# If you want to enable this provider you need to uncomment the following line:
# osdependencies.append(('libnl3-devel', 'libnl3-dev'))
configopts += "--disable-usnic "
buildopts = "V=1"
sanity_check_paths = {
'files': ['bin/fi_info', 'bin/fi_pingpong', 'bin/fi_strerror'] +
['lib/libfabric.%s' % x for x in ['a', SHLIB_EXT]],
'dirs': ['include/rdma', 'lib/pkgconfig', 'share']
}
sanity_check_commands = ['fi_info']
moduleclass = 'lib'

View File

@ -0,0 +1,32 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'libffi'
version = '3.4.5'
homepage = 'https://sourceware.org/libffi/'
description = """The libffi library provides a portable, high level programming interface to
various calling conventions. This allows a programmer to call any function
specified by a call interface description at run-time."""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
toolchainopts = {'pic': True}
source_urls = ['https://github.com/libffi/libffi/releases/download/v%(version)s/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['96fff4e589e3b239d888d9aa44b3ff30693c2ba1617f953925a70ddebcc102b2']
builddependencies = [
('binutils', '2.42'),
]
configopts = '--disable-exec-static-tramp '
sanity_check_paths = {
'files': ['lib/libffi.a', 'lib/libffi.%s' % SHLIB_EXT],
'dirs': ['include', 'share'],
}
moduleclass = 'lib'

View File

@ -0,0 +1,32 @@
# IT4Innovations
# LK 2024
easyblock = 'MesonNinja'
name = 'libpciaccess'
version = '0.18.1'
homepage = 'https://cgit.freedesktop.org/xorg/lib/libpciaccess/'
description = """Generic PCI access library."""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
source_urls = ['https://www.x.org/releases/individual/lib/']
sources = [SOURCE_TAR_XZ]
checksums = ['4af43444b38adb5545d0ed1c2ce46d9608cc47b31c2387fc5181656765a6fa76']
builddependencies = [
('binutils', '2.42'),
('Meson', '1.4.0'),
('Ninja', '1.12.1'),
('xorg-macros', '1.20.1'),
]
configopts = "--default-library=both" # static and shared library
sanity_check_paths = {
'files': ['include/pciaccess.h', 'lib/libpciaccess.a'],
'dirs': ['lib/pkgconfig'],
}
moduleclass = 'system'

View File

@ -0,0 +1,41 @@
easyblock = 'ConfigureMake'
name = 'libreadline'
version = '8.2'
homepage = 'https://tiswww.case.edu/php/chet/readline/rltop.html'
description = """
The GNU Readline library provides a set of functions for use by applications
that allow users to edit command lines as they are typed in. Both Emacs and
vi editing modes are available. The Readline library includes additional
functions to maintain a list of previously-entered command lines, to recall
and perhaps reedit those lines, and perform csh-like history expansion on
previous commands.
"""
toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
toolchainopts = {'pic': True}
source_urls = ['https://ftp.gnu.org/gnu/readline']
sources = ['readline-%(version)s.tar.gz']
checksums = ['3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35']
builddependencies = [
('binutils', '2.42'),
]
dependencies = [
('ncurses', '6.5'),
]
# for the termcap symbols, use EB ncurses
buildopts = "SHLIB_LIBS='-lncurses'"
sanity_check_paths = {
'files': ['lib/libreadline.a', 'lib/libhistory.a'] +
['include/readline/%s' % x
for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h',
'rlconf.h', 'rlstdc.h', 'rltypedefs.h', 'tilde.h']],
'dirs': [],
}
moduleclass = 'lib'

View File

@ -0,0 +1,44 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'libreadline'
version = '8.2'
homepage = 'https://tiswww.case.edu/php/chet/readline/rltop.html'
description = """
The GNU Readline library provides a set of functions for use by applications
that allow users to edit command lines as they are typed in. Both Emacs and
vi editing modes are available. The Readline library includes additional
functions to maintain a list of previously-entered command lines, to recall
and perhaps reedit those lines, and perform csh-like history expansion on
previous commands.
"""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
toolchainopts = {'pic': True}
source_urls = ['https://ftp.gnu.org/gnu/readline']
sources = ['readline-%(version)s.tar.gz']
checksums = ['3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35']
builddependencies = [
('binutils', '2.42'),
]
dependencies = [
('ncurses', '6.5'),
]
# for the termcap symbols, use EB ncurses
buildopts = "SHLIB_LIBS='-lncurses'"
sanity_check_paths = {
'files': ['lib/libreadline.a', 'lib/libhistory.a'] +
['include/readline/%s' % x
for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h',
'rlconf.h', 'rlstdc.h', 'rltypedefs.h', 'tilde.h']],
'dirs': [],
}
moduleclass = 'lib'

View File

@ -0,0 +1,35 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'libtool'
version = '2.4.7'
homepage = 'https://www.gnu.org/software/libtool'
description = """
GNU libtool is a generic library support script. Libtool hides the complexity
of using shared libraries behind a consistent, portable interface.
"""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
source_urls = [GNU_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8']
builddependencies = [
('binutils', '2.42'),
]
dependencies = [
('M4', '1.4.19'),
]
sanity_check_paths = {
'files': ['bin/libtool', 'bin/libtoolize', 'lib/libltdl.%s' % SHLIB_EXT],
'dirs': ['include/libltdl', 'share/libtool/loaders', 'share/man/man1'],
}
moduleclass = 'lib'

View File

@ -0,0 +1,30 @@
# IT4Innovations
# LK 2024
name = 'libxml2'
version = '2.12.7'
homepage = 'http://xmlsoft.org/'
description = """
Libxml2 is the XML C parser and toolchain developed for the Gnome project
(but usable outside of the Gnome platform).
"""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
toolchainopts = {'pic': True}
source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/']
sources = [SOURCE_TAR_XZ]
checksums = ['24ae78ff1363a973e6d8beba941a7945da2ac056e19b53956aeb6927fd6cfb56']
builddependencies = [
('binutils', '2.42'),
]
dependencies = [
('XZ', '5.4.5'),
('zlib', '1.3.1'),
]
moduleclass = 'lib'

View File

@ -0,0 +1,39 @@
# IT4Innovations
# LK 2024
easyblock = 'PythonPackage'
name = 'Meson'
version = '1.4.0'
homepage = 'https://mesonbuild.com'
description = "Meson is a cross-platform build system designed to be both as fast and as user friendly as possible."
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
sources = [SOURCELOWER_TAR_GZ]
checksums = ['8fd6630c25c27f1489a8a0392b311a60481a3c161aa699b330e25935b750138d']
builddependencies = [
('binutils', '2.42'),
]
dependencies = [
('Python', '3.12.3'), # includes required 'wheel' package
('Ninja', '1.12.1'),
]
download_dep_fail = True
use_pip = True
sanity_pip_check = True
options = {'modulename': 'mesonbuild'}
sanity_check_paths = {
'files': ['bin/meson'],
'dirs': ['lib/python%(pyshortver)s/site-packages'],
}
sanity_check_commands = ["meson --help"]
moduleclass = 'tools'

View File

@ -0,0 +1,34 @@
# IT4Innovations
# LK 2024
easyblock = 'CmdCp'
name = 'Ninja'
version = '1.12.1'
homepage = 'https://ninja-build.org/'
description = "Ninja is a small build system with a focus on speed."
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
source_urls = ['https://github.com/ninja-build/ninja/archive/']
sources = ['v%(version)s.tar.gz']
checksums = ['821bdff48a3f683bc4bb3b6f0b5fe7b2d647cf65d52aeb63328c91a6c6df285a']
builddependencies = [
('binutils', '2.42'),
('Python', '3.12.3'),
]
cmds_map = [('.*', "./configure.py --bootstrap")]
files_to_copy = [(['ninja'], 'bin')]
sanity_check_paths = {
'files': ['bin/ninja'],
'dirs': [],
}
sanity_check_commands = ["ninja --version"]
moduleclass = 'tools'

View File

@ -1,3 +1,6 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'numactl'
@ -12,7 +15,7 @@ description = """
convenient ways for you to add NUMA memory policies into your own program.
"""
toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
toolchainopts = {'pic': True}
source_urls = ['https://github.com/numactl/numactl/archive/']

View File

@ -12,7 +12,7 @@ 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'},
{'openmpi-5.0.5.tar.bz2': '6588d57c0a4bd299a24103f4e196051b29e8b55fbda49e11d5b3d32030a32776'},
]
builddependencies = [
@ -22,34 +22,35 @@ builddependencies = [
]
dependencies = [
('zlib', '1.2.12'),
('hwloc', '2.8.0'),
('zlib', '1.3.1'),
('hwloc', '2.10.0'),
('libevent', '2.1.12'),
('UCX', '1.14.1'),
('UCX', '1.16.0'),
('libfabric', '1.16.1'),
('PMIx', '4.2.6'),
('UCC', '1.1.0'),
('PMIx', '5.0.2'),
('UCC', '1.3.0'),
('PRRTE', '3.0.5'),
]
# 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',
''
])
#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 += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings
configopts += '--with-ucx=$EBROOTUCX '
import os

View File

@ -0,0 +1,48 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'PMIx'
version = '5.0.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 = {'name': 'GCCcore', 'version': '14.2.0'}
toolchainopts = {'pic': True}
source_urls = ['https://github.com/openpmix/openpmix/releases/download/v%(version)s']
sources = ['%(namelower)s-%(version)s.tar.bz2']
checksums = ['28227ff2ba925da2c3fece44502f23a91446017de0f5a58f5cea9370c514b83c']
builddependencies = [('binutils', '2.42')]
dependencies = [
('zlib', '1.3.1'),
('libevent', '2.1.12'),
('hwloc', '2.10.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'

View File

@ -0,0 +1,75 @@
# IT4Innovations
# LK 2024
name = 'Python'
version = '3.12.3'
homepage = 'https://python.org/'
description = """Python is a programming language that lets you work more quickly and integrate your systems
more effectively."""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
toolchainopts = {'pic': True}
source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/']
sources = [SOURCE_TGZ]
patches = ['Python-3.12.3_avoid-tkinter-build.patch']
checksums = [
{'Python-3.12.3.tgz': 'a6b9459f45a6ebbbc1af44f5762623fa355a0c87208ed417628b379d762dddb0'},
{'Python-3.12.3_avoid-tkinter-build.patch': '34fa44ca67fc08d41c58db2e289317f12f32777a352a982dca2e63459fc089e3'},
]
builddependencies = [
('UnZip', '6.0'),
('pkgconf', '2.2.0'),
]
dependencies = [
('binutils', '2.42'),
('bzip2', '1.0.8'), # required for bz2 package in Python stdlib
('zlib', '1.3.1'),
('libreadline', '8.2'),
('ncurses', '6.5'),
('SQLite', '3.45.3'),
('XZ', '5.4.5'),
('libffi', '3.4.5'),
# ('OpenSSL', '3', '', SYSTEM),
]
install_pip = True
exts_default_options = {
'source_urls': [PYPI_SOURCE],
'use_pip': True,
}
# order is important!
# package versions updated 2024-05-21
exts_list = [
('flit_core', '3.9.0', {
'checksums': ['72ad266176c4a3fcfab5f2930d76896059851240570ce9a98733b658cb786eba'],
}),
('wheel', '0.43.0', {
'checksums': ['465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85'],
}),
('tomli', '2.0.1', {
'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'],
}),
('packaging', '24.0', {
'checksums': ['eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9'],
}),
('typing_extensions', '4.11.0', {
'checksums': ['83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0'],
}),
('setuptools', '70.0.0', {
'checksums': ['f211a66637b8fa059bb28183da127d4e86396c991a942b028c6650d4319c3fd0'],
}),
('setuptools_scm', '8.1.0', {
'checksums': ['42dea1b65771cba93b7a515d65a65d8246e560768a66b9106a592c8e7f26c8a7'],
}),
('pip', '24.0', {
'checksums': ['ea9bd1a847e8c5774a5777bb398c19e80bcd4e2aa16a4b301b718fe6f593aba2'],
}),
]
moduleclass = 'lang'

View File

@ -0,0 +1,42 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'SQLite'
version = '3.45.3'
local_filename_version = '3450300'
homepage = 'https://www.sqlite.org/'
description = "SQLite: SQL Database Engine in a C Library"
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
toolchainopts = {'pic': True}
source_urls = ['https://www.sqlite.org/2024/']
sources = ['%%(namelower)s-autoconf-%s.tar.gz' % (local_filename_version)]
checksums = ['b2809ca53124c19c60f42bf627736eae011afdcc205bb48270a5ee9a38191531']
builddependencies = [
('binutils', '2.42'),
]
dependencies = [
('libreadline', '8.2'),
('Tcl', '8.6.14'),
]
# enable additional APIs that provide access to meta-data about tables and queries
# needed for GDAL when it used as a dep for QGIS
buildopts = 'CC="$CC" CFLAGS="$CFLAGS -DSQLITE_ENABLE_COLUMN_METADATA"'
sanity_check_paths = {
'files': ['bin/sqlite3', 'include/sqlite3ext.h', 'include/sqlite3.h',
'lib/libsqlite3.a', 'lib/libsqlite3.%s' % SHLIB_EXT],
'dirs': ['lib/pkgconfig'],
}
sanity_check_commands = [
'sqlite3 --version | grep ^%(version)s',
]
moduleclass = 'devel'

View File

@ -0,0 +1,44 @@
# IT4Innovations
# lK 2024
easyblock = 'ConfigureMake'
name = 'Tcl'
version = '8.6.14'
homepage = 'https://www.tcl.tk/'
description = """
Tcl (Tool Command Language) is a very powerful but easy to learn dynamic
programming language, suitable for a very wide range of uses, including web
and desktop applications, networking, administration, testing and many more.
"""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s']
sources = ['%(namelower)s%(version)s-src.tar.gz']
checksums = ['5880225babf7954c58d4fb0f5cf6279104ce1cd6aa9b71e9a6322540e1c4de66']
builddependencies = [
('binutils', '2.42'),
]
dependencies = [
('zlib', '1.3.1'),
]
configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"'
runtest = 'test'
start_dir = 'unix'
postinstallcmds = ['ln -s %(installdir)s/bin/tclsh%(version_major)s.%(version_minor)s %(installdir)s/bin/tclsh']
sanity_check_paths = {
'files': ['bin/tclsh%(version_major)s.%(version_minor)s', 'bin/tclsh',
'include/tcl.h', 'lib/libtcl%%(version_major)s.%%(version_minor)s.%s' % SHLIB_EXT,
'lib/tclConfig.sh', 'man/man1/tclsh.1'],
'dirs': ['share'],
}
moduleclass = 'lang'

View File

@ -0,0 +1,44 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'UCC'
version = '1.3.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': '14.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.3.0.tar.gz': 'b56379abe5f1c125bfa83be305d78d81a64aa271b7b5fff0ac17b86725ff3acf'},
{'UCC-1.1.0-multiple_component_paths.patch': '3081d0f694331daa4a88a0fa3fb54b9a918015248ae5eb7b3157b924abd31bee'},
]
builddependencies = [
('binutils', '2.42'),
('Autotools', '20231222'),
]
dependencies = [
('UCX', '1.16.0'),
]
preconfigopts = "./autogen.sh && "
sanity_check_paths = {
'files': ['bin/ucc_info'],
'dirs': ['include', 'lib']
}
sanity_check_commands = ["ucc_info -c"]
moduleclass = 'lib'

View File

@ -0,0 +1,63 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'UCX'
version = '1.16.0'
homepage = 'https://www.openucx.org/'
description = """Unified Communication X
An open-source production grade communication framework for data centric
and high-performance applications
"""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
toolchainopts = {'pic': True}
source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s']
sources = ['%(namelower)s-%(version)s.tar.gz']
patches = [
'UCX-1.13.1-dynamic_modules.patch',
]
checksums = [
{'ucx-1.16.0.tar.gz': 'f73770d3b583c91aba5fb07557e655ead0786e057018bfe42f0ebe8716e9d28c'},
{'UCX-1.13.1-dynamic_modules.patch': '00874687bd90b795fff61aaa183f6c6bea2210aa1003b28f23d9ebf7066f8782'},
]
# Uncomment when updating to final release
# sources = ['%(namelower)s-%(version)s.tar.gz']
builddependencies = [
('binutils', '2.42'),
('Autotools', '20231222'),
('pkgconf', '2.2.0'),
]
osdependencies = [OS_PKG_IBVERBS_DEV]
dependencies = [
('zlib', '1.3.1'),
('numactl', '2.0.18'),
]
configure_cmd = "contrib/configure-release"
configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs '
configopts += '--without-java --without-go --disable-doxygen-doc '
import os
if os.environ.get("CLUSTERNAME") in ["BARBORA"]:
configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx1'
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
configopts += '--with-xpmem --with-knem=/opt/knem-1.1.4.90mlnx3'
buildopts = 'V=1'
sanity_check_paths = {
'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'],
'dirs': ['include', 'lib', 'share']
}
sanity_check_commands = ["ucx_info -d"]
moduleclass = 'lib'

View File

@ -0,0 +1,62 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'UnZip'
version = '6.0'
homepage = 'http://www.info-zip.org/UnZip.html'
description = """UnZip is an extraction utility for archives compressed
in .zip format (also called "zipfiles"). Although highly compatible both
with PKWARE's PKZIP and PKUNZIP utilities for MS-DOS and with Info-ZIP's
own Zip program, our primary objectives have been portability and
non-MSDOS functionality."""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
source_urls = ['https://download.sourceforge.net/infozip']
sources = ['%(namelower)s%(version_major)s%(version_minor)s.tar.gz']
patches = [
'UnZip-%(version)s_various-security-and-other-fixes-from-Ubuntu.patch',
]
checksums = [
'036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37', # unzip60.tar.gz
# UnZip-6.0_various-security-and-other-fixes-from-Ubuntu.patch
'06b9307fd5aa018896bd4126818c00c1fd284a06cc3681cf0492f951ebb57ffe',
]
builddependencies = [
('binutils', '2.42'),
]
dependencies = [
('bzip2', '1.0.8'),
]
skipsteps = ['configure']
local_cf = ['$CFLAGS', '$CPPFLAGS', '-I.', '-DACORN_FTYPE_NFS', '-DWILD_STOP_AT_DIR', '-DLARGE_FILE_SUPPORT'
'-DUNICODE_SUPPORT', '-DUNICODE_WCHAR', '-DUTF8_MAYBE_NATIVE', '-DNO_LCHMOD', '-DDATE_FORMAT=DF_YMD',
'-DUSE_BZIP2', '-DIZ_HAVE_UXUIDGID', '-DNOMEMCPY', '-DNO_WORKING_ISPRINT']
buildopts = ' '.join([
"-f unix/Makefile",
'CC="$CC"',
'D_USE_BZ2=-DUSE_BZIP2',
'L_BZ2=-lbz2',
'LF2="$LDFLAGS"',
'CF="%s"' % ' '.join(local_cf),
'unzips',
])
installopts = '-f unix/Makefile prefix=%(installdir)s '
sanity_check_paths = {
'files': ['bin/unzip', 'bin/zipinfo'],
'dirs': ['man/man1']
}
sanity_check_commands = ["unzip -v"]
moduleclass = 'tools'

View File

@ -0,0 +1,30 @@
# IT4Innovations
# LK 2024
easyblock = 'ConfigureMake'
name = 'xorg-macros'
version = '1.20.1'
homepage = 'https://gitlab.freedesktop.org/xorg/util/macros'
description = """X.org macros utilities."""
toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
source_urls = ['https://gitlab.freedesktop.org/xorg/util/macros/-/archive/util-macros-%(version)s']
sources = ['macros-util-macros-%(version)s.tar.gz']
checksums = ['95c4331a2a7f4882374b9bbc845e522a4f1c77d95f495176300bf91d905c9b60']
builddependencies = [
('binutils', '2.42'),
('Autotools', '20231222'),
]
preconfigopts = './autogen.sh && '
sanity_check_paths = {
'files': ['share/pkgconfig/xorg-macros.pc'],
'dirs': [],
}
moduleclass = 'devel'