diff --git a/a/Autoconf/Autoconf-2.69.eb b/a/Autoconf/Autoconf-2.69.eb index 29a607e5..e7189019 100644 --- a/a/Autoconf/Autoconf-2.69.eb +++ b/a/Autoconf/Autoconf-2.69.eb @@ -14,6 +14,7 @@ toolchain = SYSTEM source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] +checksums = ['954bd69b391edc12d6a4a51a2dd1476543da5c6bbf05a95b59dc0dd6fd4c2969'] dependencies = [('M4', '1.4.18')] diff --git a/a/apptainer/apptainer-1.2.5.eb b/a/apptainer/apptainer-1.2.5.eb new file mode 100644 index 00000000..97f2961f --- /dev/null +++ b/a/apptainer/apptainer-1.2.5.eb @@ -0,0 +1,48 @@ +# IT4Innovations +# LK 2024 + +# Dokoncit `make install` rucne, nejde bez ROOTa !!! +# /apps/all/apptainer/1.2.5/etc/apptainer/apptainer.conf nv=yes !!! + +easyblock = 'ConfigureMake' + +name = 'apptainer' +version = '1.2.5' + +homepage = 'https://github.com/apptainer/apptainer' +description = "Apptainer is an open source container platform designed to be simple, fast, and secure. Many container platforms are available, but Apptainer is designed for ease-of-use on shared systems and in high performance computing (HPC) environments." + + +toolchain = SYSTEM + +source_urls = ['https://github.com/apptainer/apptainer/releases/download/v%s/' % version] +sources = ['apptainer-%(version)s.tar.gz'] +checksums = ['606b67ef97683e1420401718687d258b1034fdf2edae72eeacd0828dffbfc2c2'] + +builddependencies = [ + ('Go', '1.22.1'), +] + +dependencies = [ + ('squashfs-tools', '4.3'), +] + +osdependencies = [ + ('openssl-devel', 'libssl-dev', 'libopenssl-devel'), +] + +skipsteps = ['configure'] +prebuildopts = './mconfig --prefix=%(installdir)s --with-suid && ' +buildopts = '-C ./builddir' + + +postinstallcmds = [ + 'echo "mksquashfs path = /apps/all/squashfs-tools/4.3/bin" >> %(installdir)s/etc/singularity/singularity.conf', +] + +sanity_check_paths = { + 'files': ['bin/apptainer'], + 'dirs': ['bin', 'etc', 'libexec', 'var'], +} + +moduleclass = 'tools' diff --git a/a/apptainer/apptainer-1.3.0.eb b/a/apptainer/apptainer-1.3.0.eb new file mode 100644 index 00000000..65c0eb18 --- /dev/null +++ b/a/apptainer/apptainer-1.3.0.eb @@ -0,0 +1,48 @@ +# IT4Innovations +# LK 2024 + +# Dokoncit `make install` rucne, nejde bez ROOTa !!! +# /apps/all/apptainer/1.3.0/etc/apptainer/apptainer.conf nv=yes !!! + +easyblock = 'ConfigureMake' + +name = 'apptainer' +version = '1.3.0' + +homepage = 'https://github.com/apptainer/apptainer' +description = "Apptainer is an open source container platform designed to be simple, fast, and secure. Many container platforms are available, but Apptainer is designed for ease-of-use on shared systems and in high performance computing (HPC) environments." + + +toolchain = SYSTEM + +source_urls = ['https://github.com/apptainer/apptainer/releases/download/v%s/' % version] +sources = ['apptainer-%(version)s.tar.gz'] +checksums = ['553731a0b4f166a8c5a675cfeee991310e55ad89187e22b80a79c298a749661f'] + +builddependencies = [ + ('Go', '1.22.1'), +] + +dependencies = [ + ('squashfs-tools', '4.3'), +] + +osdependencies = [ + ('openssl-devel', 'libssl-dev', 'libopenssl-devel'), +] + +skipsteps = ['configure'] +prebuildopts = './mconfig --prefix=%(installdir)s --with-suid && ' +buildopts = '-C ./builddir' + + +postinstallcmds = [ + 'echo "mksquashfs path = /apps/all/squashfs-tools/4.3/bin" >> %(installdir)s/etc/singularity/singularity.conf', +] + +sanity_check_paths = { + 'files': ['bin/apptainer'], + 'dirs': ['bin', 'etc', 'libexec', 'var'], +} + +moduleclass = 'tools' diff --git a/a/apptainer/apptainer-1.3.1.eb b/a/apptainer/apptainer-1.3.1.eb index 826da610..8ec033fd 100644 --- a/a/apptainer/apptainer-1.3.1.eb +++ b/a/apptainer/apptainer-1.3.1.eb @@ -2,7 +2,7 @@ # LK 2024 # Dokoncit `make install` rucne, nejde bez ROOTa !!! -# /apps/all/apptainer/1.1.5/etc/apptainer/apptainer.conf nv=yes !!! +# /apps/all/apptainer/1.3.1/etc/apptainer/apptainer.conf nv=yes !!! easyblock = 'ConfigureMake' @@ -24,7 +24,7 @@ builddependencies = [ ] dependencies = [ - ('squashfs-tools', '4.3'), + ('squashfs-tools', '4.6.1'), ] osdependencies = [ diff --git a/d/Dakota/Dakota-6.15.0-foss-2021b.eb b/d/Dakota/Dakota-6.15.0-foss-2021b.eb index 38046e3e..ade68f69 100644 --- a/d/Dakota/Dakota-6.15.0-foss-2021b.eb +++ b/d/Dakota/Dakota-6.15.0-foss-2021b.eb @@ -14,7 +14,10 @@ toolchainopts = {'pic': True, 'usempi': True, 'optarch': False} sources = ['%(namelower)s-%(version)s-public-src-cli.tar.gz'] source_urls = ['https://dakota.sandia.gov/sites/default/files/distributions/public/'] -checksums = ['47136b14a86143d0038735638da4578e'] +checksums = [ + 'b6d971b7d6fe913aa64fef29cf8fcf55d0e5339f9f55fb164e3cc38716b48f61', + '6bc07bddfe1fa058184bab592b5a68db71c43f42662493b22417659cfbf0b701' +] patches = ['Dakota-6.15.0-fix_lapack_detection.patch'] builddependencies = [('CMake', '3.21.1')] diff --git a/d/Dakota/Dakota-6.15.0-intel-2021b.eb b/d/Dakota/Dakota-6.15.0-intel-2021b.eb index b7caf003..dac3d5ca 100644 --- a/d/Dakota/Dakota-6.15.0-intel-2021b.eb +++ b/d/Dakota/Dakota-6.15.0-intel-2021b.eb @@ -14,7 +14,10 @@ toolchainopts = {'pic': True, 'usempi': True, 'opt': False} sources = ['%(namelower)s-%(version)s-public-src-cli.tar.gz'] source_urls = ['https://dakota.sandia.gov/sites/default/files/distributions/public/'] -checksums = ['47136b14a86143d0038735638da4578e'] +checksums = [ + 'b6d971b7d6fe913aa64fef29cf8fcf55d0e5339f9f55fb164e3cc38716b48f61', + '6bc07bddfe1fa058184bab592b5a68db71c43f42662493b22417659cfbf0b701', +] patches = ['Dakota-6.15.0-fix_lapack_detection.patch'] builddependencies = [('CMake', '3.21.1')] diff --git a/g/GSL/GSL-2.7-intel-compilers-2023.2.1.eb b/g/GSL/GSL-2.7-intel-compilers-2023.2.1.eb new file mode 100644 index 00000000..55d0cf5b --- /dev/null +++ b/g/GSL/GSL-2.7-intel-compilers-2023.2.1.eb @@ -0,0 +1,28 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'ConfigureMake' + +name = 'GSL' +version = '2.7' + +homepage = 'https://www.gnu.org/software/gsl/' +description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" + +toolchain = {'name': 'intel-compilers', 'version': '2023.2.1'} +toolchainopts = {'unroll': True, 'pic': True, 'optarch': 'march=core-avx2'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['efbbf3785da0e53038be7907500628b466152dbc3c173a87de1b5eba2e23602b'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['gsl-config', 'gsl-histogram', 'gsl-randist']] + + ['include/gsl/gsl_types.h'] + + ['lib/lib%s.%s' % (x, SHLIB_EXT) for x in ['gsl', 'gslcblas']], + 'dirs': [], +} + +moduleclass = 'numlib' diff --git a/h/HDF5/HDF5-1.12.1-foss-2021b-parallel.eb b/h/HDF5/HDF5-1.12.1-foss-2021b-parallel.eb index da83ed4e..5d88007e 100644 --- a/h/HDF5/HDF5-1.12.1-foss-2021b-parallel.eb +++ b/h/HDF5/HDF5-1.12.1-foss-2021b-parallel.eb @@ -1,5 +1,5 @@ -# IT4Innovations 2021 -# LK +# IT4Innovations +# LK 2021 name = 'HDF5' version = '1.12.1' @@ -15,6 +15,7 @@ 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 = ['79c66ff67e666665369396e9c90b32e238e501f345afd2234186bfb8331081ca'] # AMD/intel cpu import os diff --git a/h/htop/htop-3.3.0.eb b/h/htop/htop-3.3.0.eb new file mode 100644 index 00000000..acf41e34 --- /dev/null +++ b/h/htop/htop-3.3.0.eb @@ -0,0 +1,31 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'ConfigureMake' + +name = 'htop' +version = "3.3.0" + +homepage = 'https://htop.dev' + +description = """An interactive process viewer for Unix""" + +toolchain = SYSTEM + +github_account = 'htop-dev' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['1e5cc328eee2bd1acff89f860e3179ea24b85df3ac483433f92a29977b14b045'] + +dependencies = [ + ('ncurses', '6.4'), +] + +preconfigopts = 'LIBS="$LIBS -ltinfo" && ./autogen.sh && ' + +sanity_check_paths = { + 'files': ['bin/htop'], + 'dirs': ['share'], +} + +moduleclass = 'tools' diff --git a/l/libxc/libxc-6.2.2-intel-compilers-2023.2.1.eb b/l/libxc/libxc-6.2.2-intel-compilers-2023.2.1.eb new file mode 100644 index 00000000..72d1c306 --- /dev/null +++ b/l/libxc/libxc-6.2.2-intel-compilers-2023.2.1.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': 'intel-compilers', 'version': '2023.2.1'} +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.27.6'), + ('Perl', '5.38.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/netCDF-Fortran/netCDF-Fortran-4.6.1-iimpi-2023b.eb b/n/netCDF-Fortran/netCDF-Fortran-4.6.1-iimpi-2023b.eb new file mode 100644 index 00000000..ca442f55 --- /dev/null +++ b/n/netCDF-Fortran/netCDF-Fortran-4.6.1-iimpi-2023b.eb @@ -0,0 +1,35 @@ +# IT4Innovations +# LK 2024 + +name = 'netCDF-Fortran' +version = '4.6.1' + +homepage = 'https://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'iimpi', 'version': '2023b'} +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + toolchainopts = {'usempi': True, 'opt': True, 'optarch': 'march=core-avx2'} +else: + toolchainopts = {'usempi': True, 'opt': True} + +source_urls = ['https://github.com/Unidata/netcdf-fortran/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['40b534e0c81b853081c67ccde095367bd8a5eead2ee883431331674e7aa9509f'] + +builddependencies = [ + ('M4', '1.4.19'), +] + +dependencies = [ + ('netCDF', '4.9.2'), + ('bzip2', '1.0.8'), +] + +# (too) parallel build fails, but single-core build is fairly quick anyway (~1min) +parallel = 1 + +moduleclass = 'data' diff --git a/n/netCDF/netCDF-4.9.2-iimpi-2023b.eb b/n/netCDF/netCDF-4.9.2-iimpi-2023b.eb new file mode 100644 index 00000000..e58b47a3 --- /dev/null +++ b/n/netCDF/netCDF-4.9.2-iimpi-2023b.eb @@ -0,0 +1,68 @@ +# IT4Innovations +# LK 2024 + +name = 'netCDF' +version = '4.9.2' + +homepage = 'https://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'iimpi', 'version': '2023b'} +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + toolchainopts = {'usempi': True, 'opt': True, 'optarch': 'march=core-avx2'} +else: + toolchainopts = {'usempi': True, 'opt': True} + +source_urls = ['https://github.com/Unidata/netcdf-c/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'netCDF-4.9.0_skip-nasa-test.patch', +] +checksums = [ + {'v4.9.2.tar.gz': 'bc104d101278c68b303359b3dc4192f81592ae8640f1aee486921138f7f88cb7'}, + '19d99e03c048b037dc01f03f5b8ddc910ebaceb076d0f050540d348f26dfcd2a', # netCDF-4.9.0_skip-nasa-test.patch +] + +builddependencies = [ + ('Autotools', '20220317'), + ('CMake', '3.27.6'), + ('Doxygen', '1.9.8'), +] + +dependencies = [ + ('HDF5', '1.14.3'), + ('cURL', '8.3.0'), + ('Szip', '2.1.1'), + ('zstd', '1.5.5'), + ('bzip2', '1.0.8'), + ('libxml2', '2.11.5'), +] + +# disable Szip, zlib parallel I/O tests, since these can hang on some systems, e.g. generoso +# see: https://github.com/easybuilders/easybuild-easyconfigs/pull/16834 +# and https://github.com/easybuilders/easybuild-easyconfigs/pull/17107#issuecomment-1432947172 +# and https://github.com/easybuilders/easybuild-easyconfigs/pull/18523#issuecomment-1675313158 +preconfigopts = ("sed -i -e 's|@MPIEXEC@ -n 16 ./tst_parallel3|echo \"skipped by EasyBuild\"|g'" + " -e 's|@MPIEXEC@ -n 4 ./tst_parallel5|echo \"skipped by EasyBuild\"|g'" + " -e 's|@MPIEXEC@ -n 4 ./tst_parallel_zlib|echo \"skipped by EasyBuild\"|g'" + " -e 's|@MPIEXEC@ -n 4 ./tst_parallel_compress|echo \"skipped by EasyBuild\"|g'" + " %(builddir)s/%(namelower)s-c-%(version)s/nc_test4/run_par_test.sh.in &&") + +# make sure both static and shared libs are built +# and disable "remote" tests that access a unreliable external test server over internet +configopts = [ + "-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=OFF", + "-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=ON", +] + +buildopts = 'CFLAGS="-O3 -fPIC"' + +# some tests try to start 16 MPI ranks, so we need to allow oversubscription to avoid failing tests +pretestopts = "OMPI_MCA_rmaps_base_oversubscribe=1 " + +runtest = 'test' + +moduleclass = 'data' diff --git a/o/Octopus/Octopus-14.1-intel-2023b-mpi.eb b/o/Octopus/Octopus-14.1-intel-2023b-mpi.eb new file mode 100644 index 00000000..c60d5d3b --- /dev/null +++ b/o/Octopus/Octopus-14.1-intel-2023b-mpi.eb @@ -0,0 +1,61 @@ +# IT4Innovation +# LK 202m + +easyblock = 'ConfigureMake' + +name = 'Octopus' +version = '14.1' +versionsuffix = '-mpi' + +homepage = 'http://www.tddft.org/programs/octopus/wiki/index.php/Main_Page' +description = """Octopus is a scientific program aimed at the ab initio virtual experimentation +on a hopefully ever-increasing range of system types. Electrons are described quantum-mechanically +within density-functional theory (DFT), in its time-dependent form (TDDFT) when doing simulations +in time. Nuclei are described classically as point particles. +Electron-nucleus interaction is described within the pseudopotential approximation.""" + +toolchain = {'name': 'intel', 'version': '2023b'} +import os +if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: + toolchainopts = {'usempi': True, 'opt': True, 'optarch': 'march=core-avx2'} +else: + toolchainopts = {'usempi': True, 'opt': 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) && " + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['https://octopus-code.org/download/%(version)s/'] +checksums = ['6955f4020e69f038650a24509ff19ef35de4fd34e181539f92fa432db9b66ca7'] + +builddependencies = [ + ('Bison', '3.8.2'), + ('Perl', '5.38.0'), +] + +dependencies = [ + ('libxc', '6.2.2'), + ('netCDF', '4.9.2'), + ('netCDF-Fortran', '4.6.1'), + ('FFTW', '3.3.10', '', ('GCC', '13.2.0')), + ('GSL', '2.7'), +] + +configopts = 'FC="mpiifort" FCFLAGS="-O2 -march=core-avx2" --disable-openmp --enable-mpi --enable-newuoa --disable-python --disable-gdlib ' +configopts += '--with-libxc-prefix=$EBROOTLIBXC --with-gsl-prefix=$EBROOTGSL ' +configopts += '--with-blas="-L$BLAS_LIB_DIR $LIBBLAS" ' +configopts += '--with-blacs="$MKLROOT/lib/intel64/libmkl_blacs_intelmpi_lp64.a" ' +configopts += '--with-scalapack="$MKLROOT/lib/intel64/libmkl_scalapack_lp64.a" ' +configopts += '--with-netcdf-prefix=$EBROOTNETCDFMINFORTRAN ' +#configopts += '--with-etsf-io-prefix=$EBROOTETSF_IO ' +#configopts += '--with-pfft-prefix=$EBROOTPFFT --with-mpifftw-prefix=$EBROOTFFTW ' + +# approx. 8/228 checks fail +#runtest = 'MPIEXEC=`which mpirun` check' + +#sanity_check_paths = { +# 'files': ["bin/octopus_mpi"], +# 'dirs': [] +#} + +moduleclass = 'chem' diff --git a/s/squashfs-tools/squashfs-tools-4.6.1.eb b/s/squashfs-tools/squashfs-tools-4.6.1.eb new file mode 100644 index 00000000..ebd43a22 --- /dev/null +++ b/s/squashfs-tools/squashfs-tools-4.6.1.eb @@ -0,0 +1,29 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'ConfigureMake' + +name = 'squashfs-tools' +version = '4.6.1' + +homepage = 'http://squashfs.sourceforge.net/' +description = """Squashfs is a local_compressed read-only filesystem for Linux.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/plougher/squashfs-tools/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['94201754b36121a9f022a190c75f718441df15402df32c2b520ca331a107511c'] + +skipsteps = ['configure'] + +start_dir = 'squashfs-tools' + +prebuildopts = 'sed -i "s|INSTALL_PREFIX = /usr/local|INSTALL_PREFIX = %(installdir)s|g" Makefile && ' + +sanity_check_paths = { + 'files': ['bin/mksquashfs', 'bin/unsquashfs'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/u/uncertainties/uncertainties-3.1.7-foss-2023b.eb b/u/uncertainties/uncertainties-3.1.7-foss-2023b.eb new file mode 100644 index 00000000..3879d93a --- /dev/null +++ b/u/uncertainties/uncertainties-3.1.7-foss-2023b.eb @@ -0,0 +1,27 @@ +# IT4Innovations +# LK 2024 + +easyblock = 'PythonPackage' + +name = 'uncertainties' +version = '3.1.7' + +homepage = 'http://uncertainties-python-package.readthedocs.io' +description = """Transparent calculations with uncertainties on the quantities involved (aka error propagation); + fast calculation of derivatives""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), +] + +sources = [SOURCE_TAR_GZ] +checksums = ['80111e0839f239c5b233cb4772017b483a0b7a1573a581b92ab7746a35e6faab'] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'lib'