From c0a9ce627188ba15cadcc2b81dff60cb57a541da Mon Sep 17 00:00:00 2001 From: Lukas Krupcik Date: Fri, 18 Oct 2024 12:15:07 +0200 Subject: [PATCH] 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 --- a/Automake/Automake-1.16.5-GCCcore-14.2.0.eb | 42 +++++++++++ l/libevent/libevent-2.1.12-GCCcore-14.2.0.eb | 41 ++++++++++ .../libfabric-1.16.1-GCCcore-14.2.0.eb | 69 +++++++++++++++++ l/libffi/libffi-3.4.5-GCCcore-14.2.0.eb | 32 ++++++++ .../libpciaccess-0.18.1-GCCcore-14.2.0.eb | 32 ++++++++ .../libreadline-8.2-GCCcore-13.3.0.eb | 41 ++++++++++ .../libreadline-8.2-GCCcore-14.2.0.eb | 44 +++++++++++ l/libtool/libtool-2.4.7-GCCcore-14.2.0.eb | 35 +++++++++ l/libxml2/libxml2-2.12.7-GCCcore-14.2.0.eb | 30 ++++++++ m/Meson/Meson-1.4.0-GCCcore-14.2.0.eb | 39 ++++++++++ n/Ninja/Ninja-1.12.1-GCCcore-14.2.0.eb | 34 +++++++++ ....0.eb => numactl-2.0.18-GCCcore-14.2.0.eb} | 5 +- o/OpenMPI/OpenMPI-5.0.5-GCC-14.2.0.eb | 35 ++++----- p/PMIx/PMIx-5.0.2-GCCcore-14.2.0.eb | 48 ++++++++++++ p/Python/Python-3.12.3-GCCcore-14.2.0.eb | 75 +++++++++++++++++++ s/SQLite/SQLite-3.45.3-GCCcore-14.2.0.eb | 42 +++++++++++ t/Tcl/Tcl-8.6.14-GCCcore-14.2.0.eb | 44 +++++++++++ u/UCC/UCC-1.3.0-GCCcore-14.2.0.eb | 44 +++++++++++ u/UCX/UCX-1.16.0-GCCcore-14.2.0.eb | 63 ++++++++++++++++ u/UnZip/UnZip-6.0-GCCcore-14.2.0.eb | 62 +++++++++++++++ .../xorg-macros-1.20.1-GCCcore-14.2.0.eb | 30 ++++++++ 21 files changed, 869 insertions(+), 18 deletions(-) create mode 100644 a/Automake/Automake-1.16.5-GCCcore-14.2.0.eb create mode 100644 l/libevent/libevent-2.1.12-GCCcore-14.2.0.eb create mode 100644 l/libfabric/libfabric-1.16.1-GCCcore-14.2.0.eb create mode 100644 l/libffi/libffi-3.4.5-GCCcore-14.2.0.eb create mode 100644 l/libpciaccess/libpciaccess-0.18.1-GCCcore-14.2.0.eb create mode 100644 l/libreadline/libreadline-8.2-GCCcore-13.3.0.eb create mode 100644 l/libreadline/libreadline-8.2-GCCcore-14.2.0.eb create mode 100644 l/libtool/libtool-2.4.7-GCCcore-14.2.0.eb create mode 100644 l/libxml2/libxml2-2.12.7-GCCcore-14.2.0.eb create mode 100644 m/Meson/Meson-1.4.0-GCCcore-14.2.0.eb create mode 100644 n/Ninja/Ninja-1.12.1-GCCcore-14.2.0.eb rename n/numactl/{numactl-2.0.18-GCCcore-13.3.0.eb => numactl-2.0.18-GCCcore-14.2.0.eb} (92%) create mode 100644 p/PMIx/PMIx-5.0.2-GCCcore-14.2.0.eb create mode 100644 p/Python/Python-3.12.3-GCCcore-14.2.0.eb create mode 100644 s/SQLite/SQLite-3.45.3-GCCcore-14.2.0.eb create mode 100644 t/Tcl/Tcl-8.6.14-GCCcore-14.2.0.eb create mode 100644 u/UCC/UCC-1.3.0-GCCcore-14.2.0.eb create mode 100644 u/UCX/UCX-1.16.0-GCCcore-14.2.0.eb create mode 100644 u/UnZip/UnZip-6.0-GCCcore-14.2.0.eb create mode 100644 x/xorg-macros/xorg-macros-1.20.1-GCCcore-14.2.0.eb diff --git a/a/Automake/Automake-1.16.5-GCCcore-14.2.0.eb b/a/Automake/Automake-1.16.5-GCCcore-14.2.0.eb new file mode 100644 index 00000000..74243173 --- /dev/null +++ b/a/Automake/Automake-1.16.5-GCCcore-14.2.0.eb @@ -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' diff --git a/l/libevent/libevent-2.1.12-GCCcore-14.2.0.eb b/l/libevent/libevent-2.1.12-GCCcore-14.2.0.eb new file mode 100644 index 00000000..154b98ae --- /dev/null +++ b/l/libevent/libevent-2.1.12-GCCcore-14.2.0.eb @@ -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' diff --git a/l/libfabric/libfabric-1.16.1-GCCcore-14.2.0.eb b/l/libfabric/libfabric-1.16.1-GCCcore-14.2.0.eb new file mode 100644 index 00000000..60b534c7 --- /dev/null +++ b/l/libfabric/libfabric-1.16.1-GCCcore-14.2.0.eb @@ -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' diff --git a/l/libffi/libffi-3.4.5-GCCcore-14.2.0.eb b/l/libffi/libffi-3.4.5-GCCcore-14.2.0.eb new file mode 100644 index 00000000..892756a4 --- /dev/null +++ b/l/libffi/libffi-3.4.5-GCCcore-14.2.0.eb @@ -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' diff --git a/l/libpciaccess/libpciaccess-0.18.1-GCCcore-14.2.0.eb b/l/libpciaccess/libpciaccess-0.18.1-GCCcore-14.2.0.eb new file mode 100644 index 00000000..08ffafb5 --- /dev/null +++ b/l/libpciaccess/libpciaccess-0.18.1-GCCcore-14.2.0.eb @@ -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' diff --git a/l/libreadline/libreadline-8.2-GCCcore-13.3.0.eb b/l/libreadline/libreadline-8.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000..8cf47255 --- /dev/null +++ b/l/libreadline/libreadline-8.2-GCCcore-13.3.0.eb @@ -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' diff --git a/l/libreadline/libreadline-8.2-GCCcore-14.2.0.eb b/l/libreadline/libreadline-8.2-GCCcore-14.2.0.eb new file mode 100644 index 00000000..d6c90b82 --- /dev/null +++ b/l/libreadline/libreadline-8.2-GCCcore-14.2.0.eb @@ -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' diff --git a/l/libtool/libtool-2.4.7-GCCcore-14.2.0.eb b/l/libtool/libtool-2.4.7-GCCcore-14.2.0.eb new file mode 100644 index 00000000..fdc79672 --- /dev/null +++ b/l/libtool/libtool-2.4.7-GCCcore-14.2.0.eb @@ -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' diff --git a/l/libxml2/libxml2-2.12.7-GCCcore-14.2.0.eb b/l/libxml2/libxml2-2.12.7-GCCcore-14.2.0.eb new file mode 100644 index 00000000..19465319 --- /dev/null +++ b/l/libxml2/libxml2-2.12.7-GCCcore-14.2.0.eb @@ -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' diff --git a/m/Meson/Meson-1.4.0-GCCcore-14.2.0.eb b/m/Meson/Meson-1.4.0-GCCcore-14.2.0.eb new file mode 100644 index 00000000..531079e7 --- /dev/null +++ b/m/Meson/Meson-1.4.0-GCCcore-14.2.0.eb @@ -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' diff --git a/n/Ninja/Ninja-1.12.1-GCCcore-14.2.0.eb b/n/Ninja/Ninja-1.12.1-GCCcore-14.2.0.eb new file mode 100644 index 00000000..de178f34 --- /dev/null +++ b/n/Ninja/Ninja-1.12.1-GCCcore-14.2.0.eb @@ -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' diff --git a/n/numactl/numactl-2.0.18-GCCcore-13.3.0.eb b/n/numactl/numactl-2.0.18-GCCcore-14.2.0.eb similarity index 92% rename from n/numactl/numactl-2.0.18-GCCcore-13.3.0.eb rename to n/numactl/numactl-2.0.18-GCCcore-14.2.0.eb index 119e66af..75cbc960 100644 --- a/n/numactl/numactl-2.0.18-GCCcore-13.3.0.eb +++ b/n/numactl/numactl-2.0.18-GCCcore-14.2.0.eb @@ -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/'] diff --git a/o/OpenMPI/OpenMPI-5.0.5-GCC-14.2.0.eb b/o/OpenMPI/OpenMPI-5.0.5-GCC-14.2.0.eb index ea93be4d..10dbd51d 100644 --- a/o/OpenMPI/OpenMPI-5.0.5-GCC-14.2.0.eb +++ b/o/OpenMPI/OpenMPI-5.0.5-GCC-14.2.0.eb @@ -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 diff --git a/p/PMIx/PMIx-5.0.2-GCCcore-14.2.0.eb b/p/PMIx/PMIx-5.0.2-GCCcore-14.2.0.eb new file mode 100644 index 00000000..ca9614ee --- /dev/null +++ b/p/PMIx/PMIx-5.0.2-GCCcore-14.2.0.eb @@ -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' diff --git a/p/Python/Python-3.12.3-GCCcore-14.2.0.eb b/p/Python/Python-3.12.3-GCCcore-14.2.0.eb new file mode 100644 index 00000000..88407207 --- /dev/null +++ b/p/Python/Python-3.12.3-GCCcore-14.2.0.eb @@ -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' diff --git a/s/SQLite/SQLite-3.45.3-GCCcore-14.2.0.eb b/s/SQLite/SQLite-3.45.3-GCCcore-14.2.0.eb new file mode 100644 index 00000000..b94b8b40 --- /dev/null +++ b/s/SQLite/SQLite-3.45.3-GCCcore-14.2.0.eb @@ -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' diff --git a/t/Tcl/Tcl-8.6.14-GCCcore-14.2.0.eb b/t/Tcl/Tcl-8.6.14-GCCcore-14.2.0.eb new file mode 100644 index 00000000..9c99a8e4 --- /dev/null +++ b/t/Tcl/Tcl-8.6.14-GCCcore-14.2.0.eb @@ -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' diff --git a/u/UCC/UCC-1.3.0-GCCcore-14.2.0.eb b/u/UCC/UCC-1.3.0-GCCcore-14.2.0.eb new file mode 100644 index 00000000..22bc29dd --- /dev/null +++ b/u/UCC/UCC-1.3.0-GCCcore-14.2.0.eb @@ -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' diff --git a/u/UCX/UCX-1.16.0-GCCcore-14.2.0.eb b/u/UCX/UCX-1.16.0-GCCcore-14.2.0.eb new file mode 100644 index 00000000..13c58415 --- /dev/null +++ b/u/UCX/UCX-1.16.0-GCCcore-14.2.0.eb @@ -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' diff --git a/u/UnZip/UnZip-6.0-GCCcore-14.2.0.eb b/u/UnZip/UnZip-6.0-GCCcore-14.2.0.eb new file mode 100644 index 00000000..315b953e --- /dev/null +++ b/u/UnZip/UnZip-6.0-GCCcore-14.2.0.eb @@ -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' diff --git a/x/xorg-macros/xorg-macros-1.20.1-GCCcore-14.2.0.eb b/x/xorg-macros/xorg-macros-1.20.1-GCCcore-14.2.0.eb new file mode 100644 index 00000000..452f6317 --- /dev/null +++ b/x/xorg-macros/xorg-macros-1.20.1-GCCcore-14.2.0.eb @@ -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'