From 8a30a3c673e2a0fc1b947ca28c2a1729f4a4e1c9 Mon Sep 17 00:00:00 2001 From: Lukas Krupcik Date: Thu, 27 Jun 2024 12:44:26 +0200 Subject: [PATCH] new file: a/Autoconf/Autoconf-2.69-foss-2022b.eb new file: a/Autoconf/Autoconf-2.71-foss-2022b.eb new file: a/Automake/Automake-1.15.eb new file: a/Automake/Automake-1.16.eb new file: a/Autotools/Autotools-20180311-foss-2022b.eb new file: b/Boost/Boost-1.77.0-foss-2022b.eb new file: c/CMake/CMake-3.20.1-foss-2022b.eb new file: c/cURL/cURL-7.76.0-foss-2022b.eb new file: f/Firefox/Firefox-127.0.1.eb modified: f/Firefox/Firefox-44.0.2.eb new file: g/GCC/GCC-13.2.0-foss-2022b.eb new file: g/GCCcore/GCCcore-13.2.0-foss-2022b.eb modified: g/GMP/GMP-6.1.2.eb new file: h/HDF5/HDF5-1.14.0-iimpi-2023a.eb new file: j/JupyterLab/JupyterLab-4.2.0-GCCcore-13.2.0.eb new file: j/jupyter-server/jupyter-server-2.14.0-GCCcore-13.2.0.eb modified: l/libffi/libffi-3.2.1.eb modified: l/libreadline/libreadline-8.0.eb new file: l/libxc/libxc-6.2.2-NVHPC-24.3-CUDA-12.3.0.eb new file: n/ncurses/ncurses-6.2-foss-2022b.eb new file: o/OpenVDB/OpenVDB-11.0.0-foss-2022b-Python-3.10.8.eb new file: o/OpenVDB/OpenVDB-11.0.0-foss-2022b-Python-3.9.9.eb new file: o/OpenVDB/OpenVDB-11.0.0-foss-2022b.eb new file: p/Python/Python-3.11.5-foss-2022b.eb new file: p/Python/Python-3.9.9.eb modified: s/SQLite/SQLite-3.27.2.eb modified: t/Tcl/Tcl-8.6.9.eb new file: t/TurboVNC/TurboVNC-3.1.1-GCCcore-13.2.0.eb new file: z/zlib/zlib-1.2.10-foss-2022b.eb new file: z/zlib/zlib-1.2.11-foss-2022b.eb --- a/Autoconf/Autoconf-2.69-foss-2022b.eb | 38 ++++ a/Autoconf/Autoconf-2.71-foss-2022b.eb | 38 ++++ a/Automake/Automake-1.15.eb | 28 +++ a/Automake/Automake-1.16.eb | 27 +++ a/Autotools/Autotools-20180311-foss-2022b.eb | 27 +++ b/Boost/Boost-1.77.0-foss-2022b.eb | 27 +++ c/CMake/CMake-3.20.1-foss-2022b.eb | 29 +++ c/cURL/cURL-7.76.0-foss-2022b.eb | 42 ++++ f/Firefox/Firefox-127.0.1.eb | 31 +++ f/Firefox/Firefox-44.0.2.eb | 1 + g/GCC/GCC-13.2.0-foss-2022b.eb | 28 +++ g/GCCcore/GCCcore-13.2.0-foss-2022b.eb | 52 +++++ g/GMP/GMP-6.1.2.eb | 7 +- h/HDF5/HDF5-1.14.0-iimpi-2023a.eb | 26 +++ .../JupyterLab-4.2.0-GCCcore-13.2.0.eb | 80 ++++++++ .../jupyter-server-2.14.0-GCCcore-13.2.0.eb | 187 ++++++++++++++++++ l/libffi/libffi-3.2.1.eb | 2 + l/libreadline/libreadline-8.0.eb | 2 + l/libxc/libxc-6.2.2-NVHPC-24.3-CUDA-12.3.0.eb | 57 ++++++ n/ncurses/ncurses-6.2-foss-2022b.eb | 40 ++++ ...OpenVDB-11.0.0-foss-2022b-Python-3.10.8.eb | 38 ++++ .../OpenVDB-11.0.0-foss-2022b-Python-3.9.9.eb | 37 ++++ o/OpenVDB/OpenVDB-11.0.0-foss-2022b.eb | 42 ++++ p/Python/Python-3.11.5-foss-2022b.eb | 72 +++++++ p/Python/Python-3.9.9.eb | 69 +++++++ ...tumESPRESSO-7.3.1-NVHPC-24.3-CUDA-12.3.eb} | 32 +-- s/SQLite/SQLite-3.27.2.eb | 2 + t/Tcl/Tcl-8.6.9.eb | 2 + t/TurboVNC/TurboVNC-3.1.1-GCCcore-13.2.0.eb | 62 ++++++ z/zlib/zlib-1.2.10-foss-2022b.eb | 26 +++ z/zlib/zlib-1.2.11-foss-2022b.eb | 26 +++ 31 files changed, 1165 insertions(+), 12 deletions(-) create mode 100644 a/Autoconf/Autoconf-2.69-foss-2022b.eb create mode 100644 a/Autoconf/Autoconf-2.71-foss-2022b.eb create mode 100644 a/Automake/Automake-1.15.eb create mode 100644 a/Automake/Automake-1.16.eb create mode 100644 a/Autotools/Autotools-20180311-foss-2022b.eb create mode 100644 b/Boost/Boost-1.77.0-foss-2022b.eb create mode 100644 c/CMake/CMake-3.20.1-foss-2022b.eb create mode 100644 c/cURL/cURL-7.76.0-foss-2022b.eb create mode 100644 f/Firefox/Firefox-127.0.1.eb create mode 100644 g/GCC/GCC-13.2.0-foss-2022b.eb create mode 100644 g/GCCcore/GCCcore-13.2.0-foss-2022b.eb create mode 100644 h/HDF5/HDF5-1.14.0-iimpi-2023a.eb create mode 100644 j/JupyterLab/JupyterLab-4.2.0-GCCcore-13.2.0.eb create mode 100644 j/jupyter-server/jupyter-server-2.14.0-GCCcore-13.2.0.eb create mode 100644 l/libxc/libxc-6.2.2-NVHPC-24.3-CUDA-12.3.0.eb create mode 100644 n/ncurses/ncurses-6.2-foss-2022b.eb create mode 100644 o/OpenVDB/OpenVDB-11.0.0-foss-2022b-Python-3.10.8.eb create mode 100644 o/OpenVDB/OpenVDB-11.0.0-foss-2022b-Python-3.9.9.eb create mode 100644 o/OpenVDB/OpenVDB-11.0.0-foss-2022b.eb create mode 100644 p/Python/Python-3.11.5-foss-2022b.eb create mode 100644 p/Python/Python-3.9.9.eb rename q/QuantumESPRESSO/{QuantumESPRESSO-7.3.1-intel-2023b-gpu.eb => QuantumESPRESSO-7.3.1-NVHPC-24.3-CUDA-12.3.eb} (62%) create mode 100644 t/TurboVNC/TurboVNC-3.1.1-GCCcore-13.2.0.eb create mode 100644 z/zlib/zlib-1.2.10-foss-2022b.eb create mode 100644 z/zlib/zlib-1.2.11-foss-2022b.eb diff --git a/a/Autoconf/Autoconf-2.69-foss-2022b.eb b/a/Autoconf/Autoconf-2.69-foss-2022b.eb new file mode 100644 index 00000000..2df06cab --- /dev/null +++ b/a/Autoconf/Autoconf-2.69-foss-2022b.eb @@ -0,0 +1,38 @@ +#IT4Innovations +#BS 2024 + +easyblock = 'ConfigureMake' + +name = 'Autoconf' +version = '2.69' + +homepage = 'http://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': 'foss', 'version': '2022b'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['954bd69b391edc12d6a4a51a2dd1476543da5c6bbf05a95b59dc0dd6fd4c2969'] + +#dependencies = [('M4', '1.4.18')] + +sanity_check_paths = { + 'files': [ + "bin/%s" % + x for x in [ + "autoconf", + "autoheader", + "autom4te", + "autoreconf", + "autoscan", + "autoupdate", + "ifnames"]], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/a/Autoconf/Autoconf-2.71-foss-2022b.eb b/a/Autoconf/Autoconf-2.71-foss-2022b.eb new file mode 100644 index 00000000..8e8a217b --- /dev/null +++ b/a/Autoconf/Autoconf-2.71-foss-2022b.eb @@ -0,0 +1,38 @@ +#IT4Innovations +#BS 2024 + +easyblock = 'ConfigureMake' + +name = 'Autoconf' +version = '2.71' + +homepage = 'http://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': 'foss', 'version': '2022b'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['954bd69b391edc12d6a4a51a2dd1476543da5c6bbf05a95b59dc0dd6fd4c2969'] + +#dependencies = [('M4', '1.4.18')] + +sanity_check_paths = { + 'files': [ + "bin/%s" % + x for x in [ + "autoconf", + "autoheader", + "autom4te", + "autoreconf", + "autoscan", + "autoupdate", + "ifnames"]], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/a/Automake/Automake-1.15.eb b/a/Automake/Automake-1.15.eb new file mode 100644 index 00000000..fd5c5961 --- /dev/null +++ b/a/Automake/Automake-1.15.eb @@ -0,0 +1,28 @@ +# IT4Innovations 2024 +# BS + +easyblock = 'ConfigureMake' + +name = 'Automake' +version = "1.15" + +homepage = 'http://www.gnu.org/software/automake/automake.html' + +description = "Automake: GNU Standards-local_compliant Makefile generator" + +toolchain = SYSTEM + +source_urls = ['https://mirror.checkdomain.de/gnu/automake/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['608a97523f97db32f1f5d5615c98ca69326ced2054c9f82e65bade7fc4c9dea8'] + +dependencies = [ + ('Autoconf', '2.69'), +] + +sanity_check_paths = { + 'files': ['bin/automake', 'bin/aclocal'], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/a/Automake/Automake-1.16.eb b/a/Automake/Automake-1.16.eb new file mode 100644 index 00000000..a5655a4e --- /dev/null +++ b/a/Automake/Automake-1.16.eb @@ -0,0 +1,27 @@ +# IT4Innovations 2018 + +easyblock = 'ConfigureMake' + +name = 'Automake' +version = "1.16" + +homepage = 'http://www.gnu.org/software/automake/automake.html' + +description = "Automake: GNU Standards-local_compliant Makefile generator" + +toolchain = SYSTEM + +source_urls = ['https://mirror.checkdomain.de/gnu/automake/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['608a97523f97db32f1f5d5615c98ca69326ced2054c9f82e65bade7fc4c9dea8'] + +dependencies = [ + ('Autoconf', '2.69'), +] + +sanity_check_paths = { + 'files': ['bin/automake', 'bin/aclocal'], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/a/Autotools/Autotools-20180311-foss-2022b.eb b/a/Autotools/Autotools-20180311-foss-2022b.eb new file mode 100644 index 00000000..6b87c570 --- /dev/null +++ b/a/Autotools/Autotools-20180311-foss-2022b.eb @@ -0,0 +1,27 @@ +# IT4Innovations +# BS 2024 + +easyblock = 'Bundle' + +name = 'Autotools' +version = '20180311' # date of the most recent change + +homepage = 'http://autotools.io' + +description = """ + This bundle collect the standard GNU build tools: Autoconf, Automake + and libtool +""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Autoconf', '2.69'), # 20120424 + ('Automake', '1.16.1'), # 20180311 + ('libtool', '2.4.6'), # 20150215 +] + +# Pure bundle -- no need to specify 'binutils' used when building GCCcore +# toolchain as build dependency + +moduleclass = 'devel' diff --git a/b/Boost/Boost-1.77.0-foss-2022b.eb b/b/Boost/Boost-1.77.0-foss-2022b.eb new file mode 100644 index 00000000..f59c6b1b --- /dev/null +++ b/b/Boost/Boost-1.77.0-foss-2022b.eb @@ -0,0 +1,27 @@ +# IT4Innovations +# BS 2024 + +name = 'Boost' +version = '1.77.0' + +homepage = 'http://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['5347464af5b14ac54bb945dc68f1dd7c56f0dad7262816b956138fc53bcc0131'] + +dependencies = [ + ('bzip2', '1.0.8', '', True), + ('zlib', '1.2.11', '', True), +] + +configopts = '--without-libraries=python' + +# also build boost_mpi +boost_mpi = True + +moduleclass = 'devel' diff --git a/c/CMake/CMake-3.20.1-foss-2022b.eb b/c/CMake/CMake-3.20.1-foss-2022b.eb new file mode 100644 index 00000000..8be06110 --- /dev/null +++ b/c/CMake/CMake-3.20.1-foss-2022b.eb @@ -0,0 +1,29 @@ +# IT4Innovations +# BS 2024 + +name = 'CMake' +version = '3.20.1' + +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': 'foss', 'version': '2022b'} + +source_urls = ['https://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3f1808b9b00281df06c91dd7a021d7f52f724101000da7985a401678dfe035b0'] + +dependencies = [ + ('ncurses', '6.2'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('cURL', '7.76.0'), + ('libarchive', '3.7.2'), + ('OpenSSL', '1.1', '', True), +] + +moduleclass = 'devel' diff --git a/c/cURL/cURL-7.76.0-foss-2022b.eb b/c/cURL/cURL-7.76.0-foss-2022b.eb new file mode 100644 index 00000000..e6e74dad --- /dev/null +++ b/c/cURL/cURL-7.76.0-foss-2022b.eb @@ -0,0 +1,42 @@ +# IT4Innovations +# BS 2024 + +easyblock = 'ConfigureMake' + +name = 'cURL' +version = '7.76.0' + +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': 'foss', 'version': '2022b'} + +source_urls = ['https://curl.haxx.se/download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3b4378156ba09e224008e81dcce854b7ce4d182b1f9cfb97fe5ed9e9c18c6bd3'] + +dependencies = [ + ('zlib', '1.2.11'), + ('OpenSSL', '1.1', '', True), +] + +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' diff --git a/f/Firefox/Firefox-127.0.1.eb b/f/Firefox/Firefox-127.0.1.eb new file mode 100644 index 00000000..5ac7fa44 --- /dev/null +++ b/f/Firefox/Firefox-127.0.1.eb @@ -0,0 +1,31 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'Tarball' + +name = 'Firefox' +version = '127.0.1' + +homepage = 'https://www.mozilla.org/en-US/firefox/new/' +description = """Firefox is a free, open source Web browser for Windows, Linux and Mac OS X. It is based on the Mozilla code + base and offers customization options and features such as its capability to block pop-up windows, tabbed browsing, privacy + and security measures, smart searching, and RSS live bookmarks.""" + +toolchain = SYSTEM + +source_urls = [ + 'https://ftp.mozilla.org/pub/firefox/releases/%(version)s/linux-x86_64/en-US/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['57564e6219f8f79418ba49d1e7a6edf44f8e253f777d0ae7de7dbff200c3d5f4'] + +sanity_check_paths = { + 'files': ['firefox'], + 'dirs': [] +} + +# add the installation dir to PATH +modextrapaths = { + 'PATH': "", +} + +moduleclass = 'tools' diff --git a/f/Firefox/Firefox-44.0.2.eb b/f/Firefox/Firefox-44.0.2.eb index 6c2c8619..11688496 100644 --- a/f/Firefox/Firefox-44.0.2.eb +++ b/f/Firefox/Firefox-44.0.2.eb @@ -18,6 +18,7 @@ toolchain = SYSTEM source_urls = [ 'https://ftp.mozilla.org/pub/firefox/releases/%(version)s/linux-x86_64/en-US/'] sources = [SOURCELOWER_TAR_BZ2] +checksums = ['a4b439e28274feb4bf5494ba180143e6b8617428a63d11fa2fd0e650dda41908'] sanity_check_paths = { 'files': ['firefox'], diff --git a/g/GCC/GCC-13.2.0-foss-2022b.eb b/g/GCC/GCC-13.2.0-foss-2022b.eb new file mode 100644 index 00000000..46f1f261 --- /dev/null +++ b/g/GCC/GCC-13.2.0-foss-2022b.eb @@ -0,0 +1,28 @@ +# IT4Innovations +# BS 2024 + +easyblock = 'Bundle' + +name = 'GCC' +version = '13.2.0' + +local_local_local_binutilsver = '2.32' +versionsuffix = '-%s' % local_local_local_binutilsver + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('GCCcore', version), + # local_binutils built on top of GCCcore, which was built on top of (dummy-built) local_binutils + ('binutils', local_local_local_binutilsver, '', ('GCCcore', version)), +] + +altroot = 'GCCcore' +altversion = 'GCCcore' + +# this bundle serves as a local_compiler-only toolchain, so it should be marked as local_compiler (important for HMNS) +moduleclass = 'compiler' diff --git a/g/GCCcore/GCCcore-13.2.0-foss-2022b.eb b/g/GCCcore/GCCcore-13.2.0-foss-2022b.eb new file mode 100644 index 00000000..b07bb95c --- /dev/null +++ b/g/GCCcore/GCCcore-13.2.0-foss-2022b.eb @@ -0,0 +1,52 @@ +# IT4Innovations +# BS 2024 + +easyblock = 'EB_GCC' + +name = 'GCCcore' +version = '13.2.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +local_local_mpfr_version = '4.0.2' + +source_urls = [ + 'https://ftpmirror.gnu.org/gnu/gcc/gcc-%(version)s', # GCC auto-resolving HTTP mirror + 'https://ftpmirror.gnu.org/gnu/gmp', # idem for GMP + 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR + 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC + 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies + 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for GCC dependencies + 'http://isl.gforge.inria.fr/', # original HTTP source for ISL +] +sources = [ + 'gcc-%(version)s.tar.gz', + 'gmp-6.1.2.tar.bz2', + 'mpfr-%s.tar.bz2' % local_local_mpfr_version, + 'mpc-1.1.0.tar.gz', + 'isl-0.21.tar.bz2', +] +patches = ['GCCcore-6.2.0-fix-find-isl.patch'] +checksums = [ + 'a931a750d6feadacbeecb321d73925cd5ebb6dfa7eff0802984af3aef63759f4', # gcc-9.2.0.tar.gz + '5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2', # gmp-6.1.2.tar.bz2 + 'c05e3f02d09e0e9019384cdd58e0f19c64e6db1fd6f5ecf77b4b1c61ca253acc', # mpfr-4.0.2.tar.bz2 + '6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e', # mpc-1.1.0.tar.gz + 'd18ca11f8ad1a39ab6d03d3dcb3365ab416720fcb65b42d69f34f51bf0a0e859', # isl-0.21.tar.bz2 + '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68', # GCCcore-6.2.0-fix-find-isl.patch +] + +builddependencies = [ + ('M4', '1.4.18', '', True), + ('binutils', '2.40'), +] + +languages = ['c', 'c++', 'fortran'] + +withisl = True + +moduleclass = 'compiler' diff --git a/g/GMP/GMP-6.1.2.eb b/g/GMP/GMP-6.1.2.eb index 10fddf61..65de37e0 100644 --- a/g/GMP/GMP-6.1.2.eb +++ b/g/GMP/GMP-6.1.2.eb @@ -13,8 +13,13 @@ toolchainopts = {'pic': True, 'precise': True} sources = [SOURCELOWER_TAR_BZ2] source_urls = ['http://ftp.gnu.org/gnu/gmp'] +checksums = ['914ee417b4607c75c95b53bc73a0599de4157c7d6a32e849e80f24e40fb64181'] + builddependencies = [ - ('Autotools', '20150215'), + #('Autotools', '20150215'), + ('Autoconf', '2.69'), + ('Automake', '1.16.1'), + ('libtool', '2.4.6'), ] # enable C++ interface diff --git a/h/HDF5/HDF5-1.14.0-iimpi-2023a.eb b/h/HDF5/HDF5-1.14.0-iimpi-2023a.eb new file mode 100644 index 00000000..0a18df1a --- /dev/null +++ b/h/HDF5/HDF5-1.14.0-iimpi-2023a.eb @@ -0,0 +1,26 @@ +name = 'HDF5' +# Note: Odd minor releases are only RCs and should not be used. +version = '1.14.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': 'iimpi', 'version': '2023a'} +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 = ['a571cc83efda62e1a51a0a912dd916d01895801c5025af91669484a1575a6ef4'] + +# replace src include path with installation dir for $H5BLD_CPPFLAGS +_regex = 's, -I[^[:space:]]+H5FDsubfiling , -I%(installdir)s/include ,g' +postinstallcmds = ['sed -i -r "%s" %%(installdir)s/bin/%s' % (_regex, x) for x in ['h5c++', 'h5pcc']] + +dependencies = [ + ('zlib', '1.2.13'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/j/JupyterLab/JupyterLab-4.2.0-GCCcore-13.2.0.eb b/j/JupyterLab/JupyterLab-4.2.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000..dfc447b0 --- /dev/null +++ b/j/JupyterLab/JupyterLab-4.2.0-GCCcore-13.2.0.eb @@ -0,0 +1,80 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'PythonBundle' + +name = 'JupyterLab' +version = '4.2.0' + +homepage = 'https://jupyter.org/' +description = """JupyterLab is the next-generation user interface for Project Jupyter offering all the familiar + building blocks of the classic Jupyter Notebook (notebook, terminal, text editor, file browser, rich outputs, + etc.) in a flexible and powerful user interface. JupyterLab will eventually replace the classic Jupyter + Notebook.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatch-jupyter-builder', '0.9.1'), +] +dependencies = [ + ('Python', '3.11.5'), + ('jupyter-server', '2.14.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('json5', '0.9.25', { + 'checksums': ['548e41b9be043f9426776f05df8635a00fe06104ea51ed24b67f908856e151ae'], + }), + ('jupyterlab_server', '2.27.1', { + 'checksums': ['097b5ac709b676c7284ac9c5e373f11930a561f52cd5a86e4fc7e5a9c8a8631d'], + }), + ('jupyter-lsp', '2.2.5', { + 'checksums': ['793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001'], + }), + ('async-lru', '2.0.4', { + 'checksums': ['b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627'], + }), + ('h11', '0.14.0', { + 'checksums': ['8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d'], + }), + ('httpcore', '1.0.5', { + 'checksums': ['34a38e2f9291467ee3b44e89dd52615370e152954ba21721378a87b2960f7a61'], + }), + ('httpx', '0.27.0', { + 'checksums': ['a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5'], + }), + ('jupyterlab', version, { + 'checksums': ['356e9205a6a2ab689c47c8fe4919dba6c076e376d03f26baadc05748c2435dd5'], + }), +] + +sanity_check_paths = { + 'files': ['bin/jupyter-lab', 'bin/jupyter-labextension', 'bin/jupyter-labhub'], + 'dirs': ['etc/jupyter', 'share/jupyter'], +} + +sanity_check_commands = ['jupyter lab --help'] + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} +modextravars = { + # only one path allowed as JUPYTERLAB_DIR + 'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab', +} + +# keep user's configuration in their home directory +# note: '~' is not expanded by JupyterLab +modluafooter = """ +setenv("JUPYTERLAB_SETTINGS_DIR", pathJoin(os.getenv("HOME"), ".jupyter", "lab", "user-settings")) +setenv("JUPYTERLAB_WORKSPACES_DIR", pathJoin(os.getenv("HOME"), ".jupyter", "lab", "workspaces")) +""" +modtclfooter = """ +setenv JUPYTERLAB_SETTINGS_DIR "$::env(HOME)/.jupyter/lab/user-settings" +setenv JUPYTERLAB_WORKSPACES_DIR "$::env(HOME)/.jupyter/lab/workspaces" +""" + +moduleclass = 'tools' diff --git a/j/jupyter-server/jupyter-server-2.14.0-GCCcore-13.2.0.eb b/j/jupyter-server/jupyter-server-2.14.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000..5a8c8ecb --- /dev/null +++ b/j/jupyter-server/jupyter-server-2.14.0-GCCcore-13.2.0.eb @@ -0,0 +1,187 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'PythonBundle' + +name = 'jupyter-server' +version = "2.14.0" + +homepage = 'https://jupyter.org/' +description = """The Jupyter Server provides the backend (i.e. the core services, APIs, and REST +endpoints) for Jupyter web applications like Jupyter notebook, JupyterLab, and +Voila.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('maturin', '1.3.1'), # needed by rpds_py + ('hatch-jupyter-builder', '0.9.1'), +] +dependencies = [ + ('Python', '3.11.5'), + ('PyYAML', '6.0.1'), + ('PyZMQ', '25.1.2'), + ('tornado', '6.4'), + ('BeautifulSoup', '4.12.2'), # needed by nbconvert +] + +sanity_pip_check = True +use_pip = True + +# WARNING: the versions of ipywidgets, widgetsnbextension and jupyterlab_widgets are tied between them +# use the versions published in a single release commit instead of blindly pushing to last available version, +# see for instance https://github.com/jupyter-widgets/ipywidgets/commit/b728926f58ed3ffef08f716998ac6c226dafc1aa + +exts_list = [ + ('websocket_client', '1.8.0', { + 'modulename': 'websocket', + 'checksums': ['3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da'], + }), + ('terminado', '0.18.1', { + 'checksums': ['de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e'], + }), + ('Send2Trash', '1.8.3', { + 'checksums': ['b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf'], + }), + ('prometheus_client', '0.20.0', { + 'checksums': ['287629d00b147a32dcb2be0b9df905da599b2d82f80377083ec8463309a4bb89'], + }), + ('overrides', '7.7.0', { + 'checksums': ['55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a'], + }), + ('jupyter_core', '5.7.2', { + 'patches': ['jupyter-core-%(version)s_fix_jupyter_path.patch'], + 'checksums': [ + {'jupyter_core-5.7.2.tar.gz': 'aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9'}, + {'jupyter-core-5.7.2_fix_jupyter_path.patch': + '1ed5088728c1ad49687b66e31ed23965c36645ad285693785b2b96c4ff1b2f93'}, + ], + }), + ('fastjsonschema', '2.19.1', { + 'checksums': ['e3126a94bdc4623d3de4485f8d468a12f02a67921315ddc87836d6e456dc789d'], + }), + ('tinycss2', '1.3.0', { + 'checksums': ['152f9acabd296a8375fbca5b84c961ff95971fcfc32e79550c8df8e29118c54d'], + }), + ('pandocfilters', '1.5.1', { + 'checksums': ['002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e'], + }), + ('mistune', '3.0.2', { + 'checksums': ['fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8'], + }), + ('deprecation', '2.1.0', { + 'checksums': ['72b3bde64e5d778694b0cf68178aed03d15e15477116add3fb773e581f9518ff'], + }), + ('jupyter_packaging', '0.12.3', { + 'checksums': ['9d9b2b63b97ffd67a8bc5391c32a421bc415b264a32c99e4d8d8dd31daae9cf4'], + }), + ('jupyterlab_pygments', '0.3.0', { + 'checksums': ['721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d'], + }), + ('defusedxml', '0.7.1', { + 'checksums': ['1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69'], + }), + ('bleach', '6.1.0', { + 'checksums': ['0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe'], + }), + ('nbformat', '5.10.4', { + 'checksums': ['322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a'], + }), + ('nbclient', '0.10.0', { + 'checksums': ['4b3f1b7dba531e498449c4db4f53da339c91d449dc11e9af3a43b4eb5c5abb09'], + }), + ('jupyter_client', '8.6.1', { + 'checksums': ['e842515e2bab8e19186d89fdfea7abd15e39dd581f94e399f00e2af5a1652d3f'], + }), + ('nbconvert', '7.16.4', { + 'checksums': ['86ca91ba266b0a448dc96fa6c5b9d98affabde2867b363258703536807f9f7f4'], + }), + ('jupyter_server_terminals', '0.5.3', { + 'checksums': ['5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269'], + }), + ('rfc3986_validator', '0.1.1', { + 'checksums': ['3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055'], + }), + ('rfc3339_validator', '0.1.4', { + 'checksums': ['138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b'], + }), + ('rpds_py', '0.18.1', { + 'modulename': 'rpds', + 'checksums': ['dc48b479d540770c811fbd1eb9ba2bb66951863e448efec2e2c102625328e92f'], + }), + ('referencing', '0.35.1', { + 'checksums': ['25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c'], + }), + ('python-json-logger', '2.0.7', { + 'modulename': 'pythonjsonlogger', + 'checksums': ['23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c'], + }), + ('jsonschema_specifications', '2023.12.1', { + 'checksums': ['48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc'], + }), + ('jsonschema', '4.22.0', { + 'checksums': ['5b22d434a45935119af990552c862e5d6d564e8f6601206b305a61fdf661a2b7'], + }), + ('jupyter_events', '0.10.0', { + 'checksums': ['670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22'], + }), + ('argon2-cffi-bindings', '21.2.0', { + 'modulename': '_argon2_cffi_bindings', + 'checksums': ['bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3'], + }), + ('argon2_cffi', '23.1.0', { + 'modulename': 'argon2', + 'checksums': ['879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08'], + }), + ('sniffio', '1.3.1', { + 'checksums': ['f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc'], + }), + ('anyio', '4.3.0', { + 'checksums': ['f75253795a87df48568485fd18cdd2a3fa5c4f7c5be8e5e36637733fce06fed6'], + }), + ('jupyter_server', version, { + 'checksums': ['659154cea512083434fd7c93b7fe0897af7a2fd0b9dd4749282b42eaac4ae677'], + }), + ('jupyterlab_widgets', '3.0.10', { + 'checksums': ['04f2ac04976727e4f9d0fa91cdc2f1ab860f965e504c29dbd6a65c882c9d04c0'], + }), + ('widgetsnbextension', '4.0.10', { + 'checksums': ['64196c5ff3b9a9183a8e699a4227fb0b7002f252c814098e66c4d1cd0644688f'], + }), + ('comm', '0.2.2', { + 'checksums': ['3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e'], + }), + ('ipywidgets', '8.1.2', { + 'checksums': ['d0b9b41e49bae926a866e613a39b0f0097745d2b9f1f3dd406641b4a57ec42c9'], + }), + # The following few extensions are needed for e.g. JupyterLab but also nbclassic. + # Avoid duplication by making it part of this bundle + ('notebook_shim', '0.2.4', { + 'checksums': ['b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb'], + }), + ('nest_asyncio', '1.6.0', { + 'checksums': ['6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe'], + }), + ('ipykernel', '6.29.4', { + 'checksums': ['3d44070060f9475ac2092b760123fadf105d2e2493c24848b6691a7c4f42af5c'], + }), + ('ipython_genutils', '0.2.0', { + 'checksums': ['eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8'], + }), + ('debugpy', '1.8.1', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['28acbe2241222b87e255260c76741e1fbf04fdc3b6d094fcf57b6c6f75ce1242'], + }), +] + +sanity_check_paths = { + 'files': ['bin/jupyter'], + 'dirs': ['share/jupyter', 'etc/jupyter'], +} + +sanity_check_commands = ['jupyter --help'] + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} + +moduleclass = 'tools' diff --git a/l/libffi/libffi-3.2.1.eb b/l/libffi/libffi-3.2.1.eb index 75ffd48f..7d9ed53c 100644 --- a/l/libffi/libffi-3.2.1.eb +++ b/l/libffi/libffi-3.2.1.eb @@ -15,6 +15,8 @@ source_urls = [ ] sources = [SOURCELOWER_TAR_GZ] +checksums = ['914ee417b4607c75c95b53bc73a0599de4157c7d6a32e849e80f24e40fb64181'] + sanity_check_paths = { 'files': [ ('lib/libffi.%s' % diff --git a/l/libreadline/libreadline-8.0.eb b/l/libreadline/libreadline-8.0.eb index b14d4dfc..db97a0eb 100644 --- a/l/libreadline/libreadline-8.0.eb +++ b/l/libreadline/libreadline-8.0.eb @@ -17,6 +17,8 @@ toolchainopts = {'pic': True} sources = ['readline-%(version)s.tar.gz'] source_urls = ['http://ftp.gnu.org/gnu/readline'] +checksums = ['914ee417b4607c75c95b53bc73a0599de4157c7d6a32e849e80f24e40fb64181'] + dependencies = [('ncurses', '6.1')] sanity_check_paths = { diff --git a/l/libxc/libxc-6.2.2-NVHPC-24.3-CUDA-12.3.0.eb b/l/libxc/libxc-6.2.2-NVHPC-24.3-CUDA-12.3.0.eb new file mode 100644 index 00000000..bb7463b8 --- /dev/null +++ b/l/libxc/libxc-6.2.2-NVHPC-24.3-CUDA-12.3.0.eb @@ -0,0 +1,57 @@ +# IT4Innovations +# lK 2024 + +easyblock = 'CMakeMake' + +name = 'libxc' +version = '6.2.2' + +homepage = 'https://libxc.gitlab.io' +description = """Libxc is a library of exchange-correlation functionals for density-functional theory. + The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" + +toolchain = {'name': 'NVHPC', 'version': '24.3-CUDA-12.3.0'} +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + toolchainopts = {'opt': True, 'optarch': 'march=core-avx2'} +else: + toolchainopts = {'opt': True} + +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = [('d1b65ef74615a1e539d87a0e6662f04baf3a2316706b4e2e686da3193b26b20f', + '3b0523924579cf494cafc6fea92945257f35692b004217d3dfd3ea7ca780e8dc')] + +builddependencies = [ + ('CMake', '3.24.3', '', ('GCCcore', '12.2.0')), + ('Perl', '5.36.0', '', ('GCCcore', '12.2.0')), +] + +local_common_configopts = "-DENABLE_FORTRAN=ON -DENABLE_XHOST=OFF " + +# don't disable building of third and fourth derivates, since it's required by some software that depends on libxc +# (like ABINIT, which requires "3rd derivatives of energy") +# see also https://github.com/pyscf/pyscf/issues/1103 +local_common_configopts += "-DDISABLE_KXC=OFF -DDISABLE_LXC=OFF" + +# perform iterative build to get both static and shared libraries +configopts = [ + local_common_configopts + ' -DBUILD_SHARED_LIBS=OFF', + local_common_configopts + ' -DBUILD_SHARED_LIBS=ON', +] + +# make sure that built libraries (libxc*.so*) in build directory are picked when running tests +# this is required when RPATH linking is used +pretestopts = "export LD_LIBRARY_PATH=%(builddir)s/easybuild_obj:$LD_LIBRARY_PATH && " + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/xc-info'] + + ['lib/libxc%s.%s' % (x, y) for x in ['', 'f03', 'f90'] for y in ['a', SHLIB_EXT]], + 'dirs': ['include', 'lib/pkgconfig', 'lib/cmake/Libxc'], +} + +sanity_check_commands = ['xc-info 1'] + +moduleclass = 'chem' diff --git a/n/ncurses/ncurses-6.2-foss-2022b.eb b/n/ncurses/ncurses-6.2-foss-2022b.eb new file mode 100644 index 00000000..b986677c --- /dev/null +++ b/n/ncurses/ncurses-6.2-foss-2022b.eb @@ -0,0 +1,40 @@ +# IT4Innovations +# BS 2024 + +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '6.2' + +homepage = 'http://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': 'foss', 'version': '2022b'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['aa057eeeb4a14d470101eff4597d5833dcef5965331be3528c08d99cebaa0d17'] + +buildopts = 'CFLAGS="-O3 -fPIC"' + +configopts = [ + # default build + '--with-shared --enable-overwrite', + # the UTF-8 enabled version (ncursesw) + '--with-shared --enable-overwrite --enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/' +] + +local_libs = ["form", "menu", "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.a' % (x, y) for x in local_libs for y in ['', '_g', 'w', 'w_g']] + + ['lib/lib%s%s.%s' % (x, y, SHLIB_EXT) for x in local_libs for y in ['', 'w']] + + ['lib/libncurses++%s.a' % x for x in ['', 'w']], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/o/OpenVDB/OpenVDB-11.0.0-foss-2022b-Python-3.10.8.eb b/o/OpenVDB/OpenVDB-11.0.0-foss-2022b-Python-3.10.8.eb new file mode 100644 index 00000000..56a4c4da --- /dev/null +++ b/o/OpenVDB/OpenVDB-11.0.0-foss-2022b-Python-3.10.8.eb @@ -0,0 +1,38 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'CMakeMake' + +name = 'OpenVDB' +version = '11.0.0' +versionsuffix = '-Python-3.10.8' + +homepage = 'https://github.com/AcademySoftwareFoundation/openvdb' +description = """OpenVDB is an open source C++ library comprising a novel hierarchical data structure and a large suite of tools for the efficient storage and manipulation of sparse volumetric data discretized on three-dimensional grids. It was developed by DreamWorks Animation for use in volumetric applications typically encountered in feature film production.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/AcademySoftwareFoundation/openvdb/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['6314ff1db057ea90050763e7b7d7ed86d8224fcd42a82cdbb9c515e001b96c74'] + + +builddependencies = [ + ('CMake', '3.24.3') +] + +dependencies = [ + ('Python', '3.10.8'), + ('tbb', '2021.10.0'), + ('Boost', '1.81.0'), + ('Blosc', '1.21.3'), +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['bin/vdb_print'], + 'dirs': ['bin', 'include', 'lib', 'lib64'] +} + +moduleclass = 'chem' diff --git a/o/OpenVDB/OpenVDB-11.0.0-foss-2022b-Python-3.9.9.eb b/o/OpenVDB/OpenVDB-11.0.0-foss-2022b-Python-3.9.9.eb new file mode 100644 index 00000000..7b0f4685 --- /dev/null +++ b/o/OpenVDB/OpenVDB-11.0.0-foss-2022b-Python-3.9.9.eb @@ -0,0 +1,37 @@ +# IT4Innovations +# BS 2024 + +easyblock = 'CMakeMake' + +name = 'OpenVDB' +version = '11.0.0' +versionsuffix = 'Python-3.9.9' + +homepage = 'https://github.com/AcademySoftwareFoundation/openvdb' +description = """OpenVDB is an open source C++ library comprising a novel hierarchical data structure and a large suite of tools for the efficient storage and manipulation of sparse volumetric data discretized on three-dimensional grids. It was developed by DreamWorks Animation for use in volumetric applications typically encountered in feature film production.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/AcademySoftwareFoundation/openvdb/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['914ee417b4607c75c95b53bc73a0599de4157c7d6a32e849e80f24e40fb64181'] + + +builddependencies = [ + ('CMake', '3.20.1') +] + +dependencies = [ + ('Python', '3.9.9'), + ('tbb', '2020.3'), + ('Boost', '1.74.0'), +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['bin/vdb_print'], + 'dirs': ['bin', 'include', 'lib', 'lib64'] +} + +moduleclass = 'chem' diff --git a/o/OpenVDB/OpenVDB-11.0.0-foss-2022b.eb b/o/OpenVDB/OpenVDB-11.0.0-foss-2022b.eb new file mode 100644 index 00000000..c1e86c58 --- /dev/null +++ b/o/OpenVDB/OpenVDB-11.0.0-foss-2022b.eb @@ -0,0 +1,42 @@ +# IT4Innovations +# BS 2024 + +easyblock = 'CMakeMake' + +name = 'OpenVDB' +version = '11.0.0' +#versionsuffix = 'Python-3.11.5-GCCcore-13.2.0' + +homepage = 'https://github.com/AcademySoftwareFoundation/openvdb' +description = """OpenVDB is an open source C++ library comprising a novel hierarchical data structure and a large suite of tools for the efficient storage and manipulation of sparse volumetric data discretized on three-dimensional grids. It was developed by DreamWorks Animation for use in volumetric applications typically encountered in feature film production.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['https://github.com/AcademySoftwareFoundation/openvdb/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['914ee417b4607c75c95b53bc73a0599de4157c7d6a32e849e80f24e40fb64181'] + + +builddependencies = [ + ('CMake', '3.20.1'), + ('GCC', '13.2.0'), +] + +dependencies = [ + #('GCC', '13.2.0'), + ('Python', '3.11.5'), + ('tbb', '2020.3'), + ('Boost', '1.77.0'), +] + + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['bin/vdb_print'], + 'dirs': ['bin', 'include', 'lib', 'lib64'] +} + +moduleclass = 'chem' diff --git a/p/Python/Python-3.11.5-foss-2022b.eb b/p/Python/Python-3.11.5-foss-2022b.eb new file mode 100644 index 00000000..e8a86093 --- /dev/null +++ b/p/Python/Python-3.11.5-foss-2022b.eb @@ -0,0 +1,72 @@ +#IT4Innovations +#BS 2024 + +name = 'Python' +version = '3.11.5' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['a12a0a013a30b846c786c010f2c19dd36b7298d888f7c4bd1581d90ce18b5e58'] + +builddependencies = [ + ('UnZip', '6.0', '-GCCcore-13.2.0'), + ('pkgconf', '2.0.3', '-GCCcore-13.2.0'), +] + +dependencies = [ + ('binutils', '2.40', '-GCCcore-13.2.0'), + ('bzip2', '1.0.8', '-GCCcore-13.2.0'), # required for bz2 package in Python stdlib + ('zlib', '1.2.13', '-GCCcore-13.2.0'), + ('libreadline', '8.2', '-GCCcore-13.2.0'), + ('ncurses', '6.4', '-GCCcore-13.2.0'), + ('SQLite', '3.43.1', '-GCCcore-13.2.0'), + ('XZ', '5.4.4', '-GCCcore-13.2.0'), + ('libffi', '3.4.4', '-GCCcore-13.2.0'), +] + +install_pip = True + +exts_default_options = { + 'download_dep_fail': True, + 'sanity_pip_check': True, + 'source_urls': [PYPI_SOURCE], + 'use_pip': True, +} + +# order is important! +# package versions updated 2023-09-28 +exts_list = [ + ('flit_core', '3.9.0', { + 'checksums': ['72ad266176c4a3fcfab5f2930d76896059851240570ce9a98733b658cb786eba'], + }), + ('wheel', '0.41.2', { + 'checksums': ['0c5ac5ff2afb79ac23ab82bab027a0be7b5dbcf2e54dc50efe4bf507de1f7985'], + }), + ('tomli', '2.0.1', { + 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], + }), + ('packaging', '23.2', { + 'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'], + }), + ('typing_extensions', '4.8.0', { + 'checksums': ['df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef'], + }), + ('setuptools-scm', '8.0.4', { + 'checksums': ['b5f43ff6800669595193fd09891564ee9d1d7dcb196cab4b2506d53a2e1c95c7'], + }), + ('setuptools', '68.2.2', { + 'checksums': ['4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87'], + }), + ('pip', '23.2.1', { + 'checksums': ['fb0bd5435b3200c602b5bf61d2d43c2f13c02e29c1707567ae7fbc514eb9faf2'], + }), +] + +moduleclass = 'lang' diff --git a/p/Python/Python-3.9.9.eb b/p/Python/Python-3.9.9.eb new file mode 100644 index 00000000..b8fa2b86 --- /dev/null +++ b/p/Python/Python-3.9.9.eb @@ -0,0 +1,69 @@ +# IT4Innovations 2024 +#BS + +name = 'Python' +version = '3.9.9' + +homepage = 'http://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = SYSTEM +toolchainopts = {'pic': True} + +source_urls = ['http://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] + +checksums = ['914ee417b4607c75c95b53bc73a0599de4157c7d6a32e849e80f24e40fb64181'] + +dependencies = [ + ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib + ('zlib', '1.2.11'), + ('libreadline', '8.0'), + ('ncurses', '6.1'), + ('SQLite', '3.27.2'), + ('XZ', '5.2.5'), + ('GMP', '6.1.2'), # required for pycrypto + ('libffi', '3.2.1'), # required for cryptography + # OS dependency should be preferred if the os version is more recent then this version, + # it's nice to have an up to date openssl for security reasons + # Python 3.7 requires OpenSSL >= 1.0.2, uncomment line below if OS version is too old (e.g. CentOS 6) + # ('OpenSSL', '1.1.0j'), +] + +configopts = '--enable-loadable-sqlite-extensions ' + +#osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +# symlink 'pip' command to 'pip3' that is included with Python installation +# required so we can update pip to version included in extensions, using pip +installopts = " && ln -s %(installdir)s/bin/pip3 %(installdir)s/bin/pip" + +exts_default_options = { + 'download_dep_fail': True, + 'use_pip': True, +} + +# order is important! +# package versions updated Mar 15th 2019 +exts_list = [ + ('pip', '20.2.4', { + 'source_urls': ['https://pypi.python.org/packages/source/p/pip/'], + 'checksums': ['6e6f197a1abfb45118dbb878b5c859a0edbdd33fd250100bc015b67fded4b9f2'], + # don't use --ignore-installed, i.e. let pip remove older pip version included with Python + 'pip_ignore_installed': False, + }), + ('setuptools', '40.8.0', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'source_urls': ['https://pypi.python.org/packages/source/s/setuptools/'], + 'checksums': ['6e4eec90337e849ade7103723b9a99631c1f0d19990d6e8412dc42f5ae8b304d'], + # don't use --ignore-installed, i.e. let pip remove older setuptools version included with Python + 'pip_ignore_installed': False, + }), + ('nose', '1.3.7', { + 'source_urls': ['https://pypi.python.org/packages/source/n/nose/'], + 'checksums': ['f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6208a98'], + }), +] + +moduleclass = 'lang' diff --git a/q/QuantumESPRESSO/QuantumESPRESSO-7.3.1-intel-2023b-gpu.eb b/q/QuantumESPRESSO/QuantumESPRESSO-7.3.1-NVHPC-24.3-CUDA-12.3.eb similarity index 62% rename from q/QuantumESPRESSO/QuantumESPRESSO-7.3.1-intel-2023b-gpu.eb rename to q/QuantumESPRESSO/QuantumESPRESSO-7.3.1-NVHPC-24.3-CUDA-12.3.eb index 9e37c20c..917ecf96 100644 --- a/q/QuantumESPRESSO/QuantumESPRESSO-7.3.1-intel-2023b-gpu.eb +++ b/q/QuantumESPRESSO/QuantumESPRESSO-7.3.1-NVHPC-24.3-CUDA-12.3.eb @@ -1,9 +1,10 @@ # IT4Innovations # LK 2024 +easyblock = 'CMakeMake' + name = 'QuantumESPRESSO' -version = '7.2' -versionsuffix = '-gpu' +version = '7.3.1' homepage = 'https://www.quantum-espresso.org' description = """Quantum ESPRESSO is an integrated suite of computer codes @@ -12,13 +13,13 @@ It is based on density-functional theory, plane waves, and pseudopotentials (both norm-conserving and ultrasoft). """ -toolchain = {'name': 'intel', 'version': '2023b'} +toolchain = {'name': 'NVHPC', 'version': '24.3-CUDA-12.3.0'} import os if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: - toolchainopts = {'usempi': True, 'openmp': True, 'optarch': 'march=core-avx2'} + toolchainopts = {'pic': True, 'optarch': 'march=core-avx2'} else: - toolchainopts = {'usempi': True, 'openmp': True} + toolchainopts = {'pic': True} if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: prebuildopts = "echo %(builddir)s && while read i; do echo $i; sed 's|-xHost|-march=core-avx2|g' -i $i; done < <(grep xHost %(builddir)s -R | cut -d ':' -f 1 | sort -u) && " @@ -35,25 +36,34 @@ sources = [ {'filename': 'wannier90-3.1.0.tar.gz', 'download_filename': 'v3.1.0.tar.gz'}, ] checksums = [ - 'b348a4a7348b66a73545d9ca317a2645755c98d343c1cfe8def475ad030808c0', # qe-%(version)s.tar.gz - 'c27e4277287b519de2c45189d5509a0962c8edf2d7e16994f671c2c9d4731e05', # qe-gipaw-%(version)s.tar.gz + '2c58b8fadfe4177de5a8b69eba447db5e623420b070dea6fd26c1533b081d844', # qe-%(version)s.tar.gz + '2dee75ecf7d0f4c65047b7ef6a8af54f091cc4cf63e764a1f039ead087f2a3e8', # qe-gipaw-%(version)s.tar.gz '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz ] dependencies = [ ('HDF5', '1.14.3'), - ('ELPA', '2023.11.001'), ('libxc', '6.2.2'), - ('CUDA', '12.4.0', '', True), + ('FFTW', '3.3.10'), + ('OpenMPI', '4.1.6'), + ('CMake', '3.24.3', '', ('GCCcore', '12.2.0')), ] # config -configopts = '–with-cuda' +configopts = 'FC=pgfortran F77=pgfortran F90=pgfortran CC=pgcc CXX=pgc++ ' +configopts += '-DQE_ENABLE_CUDA=ON -DQE_ENABLE_MPI_GPU_AWARE=ON ' +configopts += '-DNVFORTRAN_CUDA_VERSION=12.3 ' + +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + configopts += '-DNVFORTRAN_CUDA_CC=80 ' +elif os.environ.get("CLUSTERNAME") in ["BARBORA"]: + configopts += '-DNVFORTRAN_CUDA_CC=70 ' # The third party packages should be installed separately and added as # dependencies. The exception is w90, which is force built, and gipaw # which depends on qe source -buildopts = 'all gwl xspectra couple epw gipaw w90' +buildopts = 'all gwl xspectra couple epw w90' # parallel build tends to fail parallel = 1 diff --git a/s/SQLite/SQLite-3.27.2.eb b/s/SQLite/SQLite-3.27.2.eb index fc04f4c6..be920c1a 100644 --- a/s/SQLite/SQLite-3.27.2.eb +++ b/s/SQLite/SQLite-3.27.2.eb @@ -20,6 +20,8 @@ sources = [ 'sqlite-amalgamation-%s.zip' % local_version_str, ] +checksums = ['914ee417b4607c75c95b53bc73a0599de4157c7d6a32e849e80f24e40fb64181', '914ee417b4607c75c95b53bc73a0599de4157c7d6a32e849e80f24e40fb64181'] + dependencies = [ ('libreadline', '8.0'), ('Tcl', '8.6.9'), diff --git a/t/Tcl/Tcl-8.6.9.eb b/t/Tcl/Tcl-8.6.9.eb index b623331a..5856b267 100644 --- a/t/Tcl/Tcl-8.6.9.eb +++ b/t/Tcl/Tcl-8.6.9.eb @@ -14,6 +14,8 @@ toolchain = SYSTEM source_urls = ["http://prdownloads.sourceforge.net/tcl"] sources = ['%(namelower)s%(version)s-src.tar.gz'] +checksums = ['914ee417b4607c75c95b53bc73a0599de4157c7d6a32e849e80f24e40fb64181'] + dependencies = [ ('zlib', '1.2.11'), ] diff --git a/t/TurboVNC/TurboVNC-3.1.1-GCCcore-13.2.0.eb b/t/TurboVNC/TurboVNC-3.1.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000..2067b1ab --- /dev/null +++ b/t/TurboVNC/TurboVNC-3.1.1-GCCcore-13.2.0.eb @@ -0,0 +1,62 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'CMakeMake' + +name = 'TurboVNC' +version = '3.1.1' + +homepage = 'https://www.turbovnc.org' +description = """TurboVNC is a derivative of VNC (Virtual Network Computing) that is tuned to provide + peak performance for 3D and video workloads.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/TurboVNC/turbovnc/archive'] +sources = ['%(version)s.tar.gz'] +checksums = [ + '834392e985cf29a6d7d3b21b6b95b8249c1390f2c4bbf716e03945ca9384bbc8', # 3.0.1.tar.gz +] + +builddependencies = [ + ('CMake', '3.27.6'), + ('binutils', '2.40'), +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('X11', '20231019'), + ('pixman', '0.42.2'), + ('libjpeg-turbo', '3.0.1'), + ('Mesa', '23.1.9'), + ('libGLU', '9.0.3'), + ('libglvnd', '1.7.0'), +] + +configopts = "-DTVNC_BUILDJAVA=0 -DTVNC_SYSTEMX11=1 " +configopts += "-DX11_X11_LIB=$EBROOTX11/lib/libX11.%s " % SHLIB_EXT +configopts += "-DX11_Xau_LIB=$EBROOTX11/lib/libXau.%s " % SHLIB_EXT +configopts += "-DX11_SM_LIB=$EBROOTX11/lib/libSM.%s " % SHLIB_EXT +configopts += "-DX11_ICE_LIB=$EBROOTX11/lib/libICE.%s " % SHLIB_EXT +configopts += "-DX11_Pixman_LIB=$EBROOTPIXMAN/lib/libpixman-1.%s.0 " % SHLIB_EXT +configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DOPENGL_egl_LIBRARY=$EBROOTLIBGLVND/lib/libEGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_opengl_LIBRARY=$EBROOTLIBGLVND/lib/libOpenGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_glx_LIBRARY=$EBROOTLIBGLVND/lib/libGLX.%s " % SHLIB_EXT + +# if installdir starts with /opt, i.e. /opt/xxx, CMake will set SYSCONFDIR to /etc/opt/xxx instead of /opt/xxx/etc +# https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html +# the solution is to define CMAKE_INSTALL_SYSCONFDIR explicitly +configopts += "-DCMAKE_INSTALL_SYSCONFDIR=%(installdir)s/etc " + +# remove etc/turbovncserver-security.conf, to avoid errors like: +# (EE) Fatal server error: +# (EE) ERROR: .../TurboVNC/2.2.3-GCCcore-8.2.0/etc/turbovncserver-security.conf must be owned by you or by root +postinstallcmds = ["rm -rf %(installdir)s/etc/turbovncserver-security.conf"] + +sanity_check_paths = { + 'files': ['bin/vncserver', 'bin/vncpasswd', 'bin/Xvnc'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/z/zlib/zlib-1.2.10-foss-2022b.eb b/z/zlib/zlib-1.2.10-foss-2022b.eb new file mode 100644 index 00000000..656307e6 --- /dev/null +++ b/z/zlib/zlib-1.2.10-foss-2022b.eb @@ -0,0 +1,26 @@ +# IT4Innovations +# BS 2024 + +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.2.10' + +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 = {'name': 'foss', 'version': '2022b'} +#toolchainopts = {'pic': True} + +source_urls = ['https://zlib.net/fossils'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/z/zlib/zlib-1.2.11-foss-2022b.eb b/z/zlib/zlib-1.2.11-foss-2022b.eb new file mode 100644 index 00000000..28b42388 --- /dev/null +++ b/z/zlib/zlib-1.2.11-foss-2022b.eb @@ -0,0 +1,26 @@ +# IT4Innovations +# BS 2024 + +easyblock = 'CMakeMake' + +name = 'zlib' +version = '1.2.11' + +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 = {'name': 'foss', 'version': '2022b'} +#toolchainopts = {'pic': True} + +source_urls = ['https://zlib.net/fossils'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib'