diff --git a/easybuild/easyconfigs/a/Armadillo/Armadillo-14.6.0-foss-2025a.eb b/easybuild/easyconfigs/a/Armadillo/Armadillo-14.6.0-foss-2025a.eb new file mode 100644 index 000000000000..92c5874867e0 --- /dev/null +++ b/easybuild/easyconfigs/a/Armadillo/Armadillo-14.6.0-foss-2025a.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'Armadillo' +version = '14.6.0' + +homepage = 'https://arma.sourceforge.net/' +description = """Armadillo is an open-source C++ linear algebra library (matrix maths) aiming towards + a good balance between speed and ease of use. Integer, floating point and complex numbers are supported, + as well as a subset of trigonometric and statistics functions.""" + +toolchain = {'name': 'foss', 'version': '2025a'} + +source_urls = ['https://sourceforge.net/projects/arma/files'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['d18ccdb78a5da88f18fc529d8a8d40fad455842be6b01c59796f47a6f5bc7fe5'] + +builddependencies = [ + ('CMake', '3.31.3'), +] +dependencies = [ + ('HDF5', '1.14.6'), + ('arpack-ng', '3.9.1'), +] + +configopts = '-DBLAS_LIBRARY:PATH="$LIBBLAS" -DLAPACK_LIBRARY:PATH="$LIBLAPACK"' + +sanity_check_paths = { + 'files': ['include/armadillo', f'lib/libarmadillo.{SHLIB_EXT}'], + 'dirs': ['include/armadillo_bits'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.9.1-foss-2025a.eb b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.9.1-foss-2025a.eb new file mode 100644 index 000000000000..485e812f0d2a --- /dev/null +++ b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.9.1-foss-2025a.eb @@ -0,0 +1,39 @@ +# Author: Robert Mijakovic + +easyblock = 'ConfigureMake' + +name = 'arpack-ng' +version = '3.9.1' + +homepage = 'https://github.com/opencollab/arpack-ng' +description = "ARPACK is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems." + +toolchain = {'name': 'foss', 'version': '2025a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['f6641deb07fa69165b7815de9008af3ea47eb39b2bb97521fbf74c97aba6e844'] + +builddependencies = [ + ('Autotools', '20240712'), + ('pkgconf', '2.3.0'), +] +dependencies = [ + ('Eigen', '3.4.0'), +] + +preconfigopts = "sh bootstrap && " +configopts = '--enable-mpi --with-pic --with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK"' + +github_account = 'opencollab' + +sanity_check_paths = { + 'files': [ + 'lib64/libarpack.la', f'lib64/libarpack.{SHLIB_EXT}', + 'lib64/libparpack.la', f'lib64/libparpack.{SHLIB_EXT}' + ], + 'dirs': [], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-14.2.0.eb b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..a3a0c8aa1061 --- /dev/null +++ b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-14.2.0.eb @@ -0,0 +1,50 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# update: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'Brunsli' +version = '0.1' + +homepage = 'https://github.com/google/brunsli/' +description = """Brunsli is a lossless JPEG repacking library.""" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +source_urls = ['https://github.com/google/brunsli/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['62762dc740f9fcc9706449c078f12c2a366416486d2882be50a9f201f99ac0bc'] + +builddependencies = [ + ('CMake', '3.31.3'), + ('binutils', '2.42'), +] + +dependencies = [ + ('Brotli', '1.1.0'), +] + +# skip use of third_party directory, since we provide Brotli via a proper dependency +preconfigopts = "sed -i 's/add_subdirectory(third_party)//g' ../brunsli-%(version)s/CMakeLists.txt && " +preconfigopts += "sed -i 's/\\(brotli...\\)-static/\\1/g' ../brunsli-%(version)s/brunsli.cmake && " + +configopts = '-DCMAKE_CXX_FLAGS="$CXXFLAGS -lbrotlienc -lbrotlidec -lbrotlicommon" ' + +buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" + +# also install dbrunsli binary and missing libraries +postinstallcmds = [ + "mkdir %(installdir)s/bin", + "cp dbrunsli %(installdir)s/bin/", + "cp libbrunsli*.a %(installdir)s/lib/", + f"cp libbrunsli*.{SHLIB_EXT} %(installdir)s/lib/", +] + +sanity_check_paths = { + 'files': ['bin/dbrunsli'], + 'dirs': ['include/brunsli', 'lib'], +} + +sanity_check_commands = ['dbrunsli 2>&1 | grep Usage'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CFITSIO/CFITSIO-4.6.2-GCCcore-14.2.0.eb b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-4.6.2-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..e45c2f9ab6bb --- /dev/null +++ b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-4.6.2-GCCcore-14.2.0.eb @@ -0,0 +1,37 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak (Inuits) +# Update: Pavel Tománek (Inuits) +easyblock = 'ConfigureMake' + +name = 'CFITSIO' +version = '4.6.2' + +homepage = 'https://heasarc.gsfc.nasa.gov/fitsio/' +description = """CFITSIO is a library of C and Fortran subroutines for reading and writing data files in +FITS (Flexible Image Transport System) data format.""" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['66fd078cc0bea896b0d44b120d46d6805421a5361d3a5ad84d9f397b1b5de2cb'] + +builddependencies = [ + ('binutils', '2.42'), +] +# curl for HTTPs support +dependencies = [ + ('cURL', '8.11.1'), +] + +test_cmd = './testprog > testprog.lis && diff testprog.lis testprog.out && cmp testprog.fit testprog.std' + +sanity_check_paths = { + 'files': ['lib/libcfitsio.a', f'lib/libcfitsio.{SHLIB_EXT}'], + 'dirs': ['include'], +} + +sanity_check_commands = ['fitscopy --help'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.11.1-foss-2025a.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.11.1-foss-2025a.eb new file mode 100644 index 000000000000..576d49e7b28b --- /dev/null +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.11.1-foss-2025a.eb @@ -0,0 +1,79 @@ +easyblock = 'CMakeMake' + +name = 'GDAL' +version = '3.11.1' + +homepage = 'https://www.gdal.org' +description = """GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style + Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model + to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for + data translation and processing.""" + +toolchain = {'name': 'foss', 'version': '2025a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://download.osgeo.org/%(namelower)s/%(version)s/'] +sources = [SOURCELOWER_TAR_XZ] +patches = ['%(name)s-3.6.2_fix-python-CC-CXX.patch'] +checksums = [ + {'gdal-3.11.1.tar.xz': '21341b39a960295bd3194bcc5f119f773229b4701cd752499fbd850f3cc160fd'}, + {'GDAL-3.6.2_fix-python-CC-CXX.patch': '859b874b0c8ff7626a76d51f008bf05b7f89a35b325bdd1d126d2364154acc63'}, +] + +builddependencies = [ + ('CMake', '3.31.3'), + ('pkgconf', '2.3.0'), + ('Bison', '3.8.2'), +] +dependencies = [ + ('Python', '3.13.1'), + ('SciPy-bundle', '2025.06'), + ('netCDF', '4.9.3'), + ('expat', '2.6.4'), + ('GEOS', '3.13.1'), + ('SQLite', '3.47.2'), + ('libarchive', '3.7.7'), + ('libxml2', '2.13.4'), + ('libpng', '1.6.48'), + ('libjpeg-turbo', '3.1.0'), + ('LibTIFF', '4.7.0'), + ('zlib', '1.3.1'), + ('cURL', '8.11.1'), + ('PCRE', '8.45'), + ('PROJ', '9.6.2'), + ('libgeotiff', '1.7.4'), + ('HDF5', '1.14.6'), + ('HDF', '4.3.1'), + ('Armadillo', '14.6.0'), + ('CFITSIO', '4.6.2'), + ('zstd', '1.5.6'), + ('giflib', '5.2.2'), + ('json-c', '0.18'), + ('Xerces-C++', '3.3.0'), + ('PCRE2', '10.45'), + ('OpenEXR', '3.3.4'), + ('Brunsli', '0.1'), + ('Qhull', '2020.2'), + ('LERC', '4.0.0'), + ('OpenJPEG', '2.5.3'), + ('SWIG', '4.3.1'), +] + +# iterative build for both static and shared libraries +local_configopts_common = "-DGDAL_USE_INTERNAL_LIBS=OFF -DGDAL_USE_MYSQL=OFF " +local_configopts_common += "-DGEOTIFF_INCLUDE_DIR=$EBROOTLIBGEOTIFF/include -DPython_ROOT=$EBROOTPYTHON " + +configopts = [ + local_configopts_common + "-DBUILD_SHARED_LIBS=OFF", + local_configopts_common +] + + +sanity_check_paths = { + 'files': ['lib/libgdal.a', f'lib/libgdal.{SHLIB_EXT}'], + 'dirs': ['bin', 'include', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["python -c 'import osgeo.%(namelower)s'"] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/GEOS/GEOS-3.13.1-GCC-14.2.0.eb b/easybuild/easyconfigs/g/GEOS/GEOS-3.13.1-GCC-14.2.0.eb new file mode 100644 index 000000000000..5af87caf2160 --- /dev/null +++ b/easybuild/easyconfigs/g/GEOS/GEOS-3.13.1-GCC-14.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'GEOS' +version = '3.13.1' + +homepage = 'https://trac.osgeo.org/geos' +description = """GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS)""" + +toolchain = {'name': 'GCC', 'version': '14.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.osgeo.org/geos/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['df2c50503295f325e7c8d7b783aca8ba4773919cde984193850cf9e361dfd28c'] + +builddependencies = [('CMake', '3.31.3')] + +# Build static and shared libraries +configopts = ['', '-DBUILD_SHARED_LIBS=OFF'] + +sanity_check_paths = { + 'files': ['bin/geos-config', f'lib/libgeos.{SHLIB_EXT}', 'lib/libgeos.a', f'lib/libgeos_c.{SHLIB_EXT}', + 'include/geos.h'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/h/HDF/HDF-4.3.1-GCCcore-14.2.0.eb b/easybuild/easyconfigs/h/HDF/HDF-4.3.1-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..f52e97cb5cb6 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF/HDF-4.3.1-GCCcore-14.2.0.eb @@ -0,0 +1,60 @@ +easyblock = 'ConfigureMake' + +name = 'HDF' +version = '4.3.1' + +homepage = 'https://support.hdfgroup.org/products/hdf4/' +description = """ + HDF (also known as HDF4) is a library and multi-object file format for + storing and managing data between machines. +""" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/HDFGroup/hdf4/archive/refs/tags/'] +sources = ['%(namelower)s%(version)s.tar.gz'] +checksums = ['6dc3b8af610526788bf78fb3982b25a80abfc94e37ce0c3ae2929b5e9c937093'] + +builddependencies = [ + ('binutils', '2.42'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('libjpeg-turbo', '3.1.0'), + ('Szip', '2.1.1'), + ('zlib', '1.3.1'), + ('libtirpc', '1.3.6'), +] + +preconfigopts = "LIBS='-ltirpc' " + +local_common_configopts = '--with-szlib=$EBROOTSZIP CFLAGS="$CFLAGS -I$EBROOTLIBTIRPC/include/tirpc" ' +local_common_configopts += '--includedir=%(installdir)s/include/%(namelower)s ' + +configopts = [ + local_common_configopts, + # Cannot build shared libraries and Fortran... + # https://trac.osgeo.org/gdal/wiki/HDF#IncompatibilitywithNetCDFLibraries + # netcdf must be disabled to allow HDF to be used by GDAL + local_common_configopts + "--enable-shared --disable-fortran --disable-netcdf", +] + + +sanity_check_paths = { + 'files': [ + 'bin/h4cc', 'bin/ncdump', 'lib/libdf.a', 'lib/libhdf4.settings', 'lib/libmfhdf.a', f'lib/libmfhdf.{SHLIB_EXT}' + ], + 'dirs': ['include/%(namelower)s'], +} + +sanity_check_commands = [ + "h4cc --help", + "ncdump -V", +] + +modextrapaths = {MODULE_LOAD_ENV_HEADERS: 'include/%(namelower)s'} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/i/Imath/Imath-3.1.12-GCCcore-14.2.0.eb b/easybuild/easyconfigs/i/Imath/Imath-3.1.12-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..e8931155bdbe --- /dev/null +++ b/easybuild/easyconfigs/i/Imath/Imath-3.1.12-GCCcore-14.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'Imath' +version = '3.1.12' + +homepage = 'https://imath.readthedocs.io/en/latest/' +description = """ +Imath is a C++ and python library of 2D and 3D vector, matrix, and math operations for computer graphics +""" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/AcademySoftwareFoundation/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8a1bc258f3149b5729c2f4f8ffd337c0e57f09096e4ba9784329f40c4a9035da'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.31.3'), +] + +sanity_check_paths = { + 'files': [f'lib/libImath.{SHLIB_EXT}'], + 'dirs': ['include/Imath'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/json-c/json-c-0.18-GCCcore-14.2.0.eb b/easybuild/easyconfigs/j/json-c/json-c-0.18-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..3be45796746b --- /dev/null +++ b/easybuild/easyconfigs/j/json-c/json-c-0.18-GCCcore-14.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'json-c' +version = '0.18' +local_suff = '-20240915' + +homepage = 'https://github.com/json-c/json-c' +description = """JSON-C implements a reference counting object model that allows you to easily construct JSON objects + in C, output them as JSON formatted strings and parse JSON formatted strings back into the C representation of JSON +objects.""" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +source_urls = ['https://github.com/json-c/json-c/archive/'] +sources = [f'json-c-%(version)s{local_suff}.tar.gz'] +checksums = ['3112c1f25d39eca661fe3fc663431e130cc6e2f900c081738317fba49d29e298'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.31.3'), +] + +# disable using Valgrind during the tests to avoid failures caused by using an OS Valgrind +pretestopts = 'USE_VALGRIND=0 ' +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/libjson-c.a', f'lib/libjson-c.{SHLIB_EXT}', 'lib/pkgconfig/json-c.pc'], + 'dirs': ['include/json-c'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LERC/LERC-4.0.0-GCCcore-14.2.0.eb b/easybuild/easyconfigs/l/LERC/LERC-4.0.0-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..5a5bfd76fcd5 --- /dev/null +++ b/easybuild/easyconfigs/l/LERC/LERC-4.0.0-GCCcore-14.2.0.eb @@ -0,0 +1,43 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +# Updated: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'LERC' +version = '4.0.0' + +homepage = 'https://github.com/Esri/lerc' +description = """LERC is an open-source image or raster format which supports rapid encoding and decoding +for any pixel type (not just RGB or Byte). Users set the maximum compression error per pixel while encoding, +so the precision of the original input image is preserved (within user defined error bounds).""" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +source_urls = ['https://github.com/Esri/lerc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['91431c2b16d0e3de6cbaea188603359f87caed08259a645fd5a3805784ee30a0'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.31.3'), +] + +postinstallcmds = [ + # copy the LercTest source file to a LercTest subdir in the installation directory and compile it + # (needs to be done here instead of in the sanity check, else it won't work when RPATH linking is enabled) + "cd %(builddir)s/lerc-%(version)s/src/LercTest && sed -i -e 's@../LercLib/include/@@' main.cpp", + "mkdir %(installdir)s/LercTest", + "cp %(builddir)s/lerc-%(version)s/src/LercTest/main.cpp %(installdir)s/LercTest/main.cpp", + "cd %(installdir)s/LercTest && ${CXX} ${CXXFLAGS} main.cpp -o LercTest -I../include -L../lib -lLerc", +] + +sanity_check_commands = [ + "%(installdir)s/LercTest/LercTest", +] + +sanity_check_paths = { + 'files': ['include/Lerc_c_api.h', 'include/Lerc_types.h', f'lib/libLerc.{SHLIB_EXT}'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.4-GCCcore-14.2.0.eb b/easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.4-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..249a34779979 --- /dev/null +++ b/easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.4-GCCcore-14.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'libgeotiff' +version = '1.7.4' + +homepage = 'https://trac.osgeo.org/geotiff/wiki/WikiStart' +description = """Library for reading and writing coordinate system information from/to GeoTIFF files""" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +source_urls = ['https://download.osgeo.org/geotiff/libgeotiff'] +sources = [SOURCE_TAR_GZ] +checksums = ['c598d04fdf2ba25c4352844dafa81dde3f7fd968daa7ad131228cd91e9d3dc47'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('PROJ', '9.6.2'), + ('libjpeg-turbo', '3.1.0'), + ('zlib', '1.3.1'), + ('SQLite', '3.47.2'), + ('LibTIFF', '4.7.0'), + ('cURL', '8.11.1'), +] + +configopts = ' --with-libtiff=$EBROOTLIBTIFF --with-proj=$EBROOTPROJ --with-zlib=$EBROOTZLIB' +configopts += ' --with-jpeg=$EBROOTLIBJPEGMINTURBO' + +sanity_check_paths = { + 'files': ['bin/listgeo', 'lib/libgeotiff.a', f'lib/libgeotiff.{SHLIB_EXT}'], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libtirpc/libtirpc-1.3.6-GCCcore-14.2.0.eb b/easybuild/easyconfigs/l/libtirpc/libtirpc-1.3.6-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..c65858a722be --- /dev/null +++ b/easybuild/easyconfigs/l/libtirpc/libtirpc-1.3.6-GCCcore-14.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libtirpc' +version = '1.3.6' + +homepage = 'https://sourceforge.net/projects/libtirpc/' +description = "Libtirpc is a port of Suns Transport-Independent RPC library to Linux." + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_BZ2] +checksums = ['bbd26a8f0df5690a62a47f6aa30f797f3ef8d02560d1bc449a83066b5a1d3508'] + +configopts = '--enable-static --enable-shared --disable-gssapi' + +builddependencies = [ + ('binutils', '2.42') +] + +sanity_check_paths = { + 'files': [f'lib/libtirpc.{x}' for x in ['a', SHLIB_EXT]], + 'dirs': ['include/tirpc', 'lib'], +} + +modextrapaths = {MODULE_LOAD_ENV_HEADERS: 'include/tirpc'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/netCDF/netCDF-4.9.3-gompi-2025a.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.3-gompi-2025a.eb new file mode 100644 index 000000000000..d2921b3d4a24 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.3-gompi-2025a.eb @@ -0,0 +1,57 @@ +name = 'netCDF' +version = '4.9.3' + +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': 'gompi', 'version': '2025a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/%(namelower)s-c/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version_major_minor)s.0_skip-nasa-test.patch'] +checksums = [ + {'v4.9.3.tar.gz': '990f46d49525d6ab5dc4249f8684c6deeaf54de6fec63a187e9fb382cc0ffdff'}, + {'netCDF-4.9.0_skip-nasa-test.patch': '19d99e03c048b037dc01f03f5b8ddc910ebaceb076d0f050540d348f26dfcd2a'}, +] + +builddependencies = [ + ('Autotools', '20240712'), + ('CMake', '3.31.3'), + ('Doxygen', '1.14.0'), +] +dependencies = [ + ('HDF5', '1.14.6'), + ('cURL', '8.11.1'), + ('Szip', '2.1.1'), + ('bzip2', '1.0.8'), + ('libxml2', '2.13.4'), +] + +# 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 +preconfigopts = ( + "sed -i" + " -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'" + # disable check for H5 plugins + " -e '10,23d'" + " %(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", +] + +# some tests try to start 16 MPI ranks, so we need to allow oversubscription to avoid failing tests +pretestopts = "PRTE_MCA_rmaps_default_mapping_policy=:oversubscribe " +runtest = 'test' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.3.4-GCCcore-14.2.0.eb b/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.3.4-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..0a5a958fb0aa --- /dev/null +++ b/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.3.4-GCCcore-14.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'OpenEXR' +version = '3.3.4' + +homepage = 'https://www.openexr.com/' +description = """OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic + for use in computer imaging applications""" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['63abac7c52f280e3e16fc868ac40e06449733bb19179008248ae7e34e4f19824'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.31.3'), +] +dependencies = [ + ('Imath', '3.1.12'), + ('zlib', '1.3.1') +] + +local_libs, local_bins = [ + ['Iex', 'IlmThread', 'OpenEXR', 'OpenEXRUtil'], + ['envmap', 'header', 'makepreview', 'maketiled', 'multipart', 'multiview', 'stdattr'] +] + +sanity_check_paths = { + 'files': ( + [f'lib/lib{s}.{SHLIB_EXT}' for s in local_libs] + + [f'bin/exr{b}' for b in local_bins] + ), + 'dirs': ['include/%(name)s', 'share'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-14.2.0.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..8f80cc293b4c --- /dev/null +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-14.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'PCRE' +version = '8.45' + +homepage = 'https://www.pcre.org/' +description = """ + The PCRE library is a set of functions that implement regular expression + pattern matching using the same syntax and semantics as Perl 5. +""" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} +toolchainopts = {'pic': True} + +source_urls = [ + SOURCEFORGE_SOURCE, + 'https://ftp.%(namelower)s.org/pub/%(namelower)s/', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4e6ce03e0336e8b4a3d6c2b70b1c5e18590a5673a98186da90d4f33c23defc09'] + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.3.1'), +] + +configopts = "--enable-utf --enable-unicode-properties --enable-pcre16 --enable-pcre32" + + +sanity_check_paths = { + 'files': [ + 'bin/%(namelower)s-config', + 'include/%(namelower)s.h', + 'share/man/man3/%(namelower)s.3', + f'lib/libpcre32.{SHLIB_EXT}', + ], + 'dirs': ['lib/pkgconfig', 'share/doc/%(namelower)s/html', 'share/man/man1'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PROJ/PROJ-9.6.2-GCCcore-14.2.0.eb b/easybuild/easyconfigs/p/PROJ/PROJ-9.6.2-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..78bf18206b23 --- /dev/null +++ b/easybuild/easyconfigs/p/PROJ/PROJ-9.6.2-GCCcore-14.2.0.eb @@ -0,0 +1,49 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2014-2015 The Cyprus Institute +# Authors:: Thekla Loizou +# License:: MIT/GPL +# +## +easyblock = 'CMakeMake' + +name = 'PROJ' +version = '9.6.2' + +homepage = 'https://proj.org' +description = """Program proj is a standard Unix filter function which converts +geographic longitude and latitude coordinates into cartesian coordinates""" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.osgeo.org/proj/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['53d0cafaee3bb2390264a38668ed31d90787de05e71378ad7a8f35bb34c575d1'] + +builddependencies = [ + ('pkgconf', '2.3.0'), + ('binutils', '2.42'), + ('CMake', '3.31.3'), + ('googletest', '1.17.0'), +] + +dependencies = [ + ('SQLite', '3.47.2'), + ('LibTIFF', '4.7.0'), + ('cURL', '8.11.1'), + ('XZ', '5.6.3'), + ('nlohmann_json', '3.12.0'), +] + +# build twice, once for static, once for shared libraries +configopts = ['', '-DBUILD_SHARED_LIBS=OFF'] + +sanity_check_paths = { + 'files': ['bin/cct', 'bin/cs2cs', 'bin/geod', 'bin/gie', 'bin/proj', 'bin/projinfo', + 'lib/libproj.a', f'lib/libproj.{SHLIB_EXT}'], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.3.0-GCCcore-14.2.0.eb b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.3.0-GCCcore-14.2.0.eb new file mode 100644 index 000000000000..47c4961c1b3a --- /dev/null +++ b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.3.0-GCCcore-14.2.0.eb @@ -0,0 +1,47 @@ +easyblock = 'CMakeMake' + +name = 'Xerces-C++' +version = '3.3.0' + +homepage = 'https://xerces.apache.org/xerces-c/' + +description = """Xerces-C++ is a validating XML parser written in a portable +subset of C++. Xerces-C++ makes it easy to give your application the ability to +read and write XML data. A shared library is provided for parsing, generating, +manipulating, and validating XML documents using the DOM, SAX, and SAX2 +APIs.""" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +source_urls = ['https://archive.apache.org/dist/xerces/c/%(version_major)s/sources/'] +sources = ['xerces-c-%(version)s.tar.gz'] +patches = ['%(name)s-3.2.5_Change-CXX-standard-to-17.patch'] +checksums = [ + {'xerces-c-3.3.0.tar.gz': '9555f1d06f82987fbb4658862705515740414fd34b4db6ad2ed76a2dc08d3bde'}, + {'Xerces-C++-3.2.5_Change-CXX-standard-to-17.patch': + 'be97c578849f66032beb9d5bd8e3baa2fc25f5a31e5721b728fc6ea6205457d9'}, +] + +builddependencies = [ + ('pkgconf', '2.3.0'), + ('binutils', '2.42'), + ('CMake', '3.31.3'), + ('ICU', '76.1'), +] + +dependencies = [ + ('cURL', '8.11.1'), +] + +runtest = 'test' + +sanity_check_paths = { + "files": [ + "bin/XInclude", + "include/xercesc/xinclude/XIncludeUtils.hpp", + f"lib/libxerces-c-%(version_major_minor)s.{SHLIB_EXT}", + ], + "dirs": ["bin", "include", "lib"], +} + +moduleclass = 'lib'