Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
f525fe5
adding easyconfigs: GDAL-3.11.1-foss-2025a.eb, LERC-4.0.0-GCCcore-14.…
pavelToman Jul 8, 2025
4392576
Update easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.9.1-foss-2025a.eb
pavelToman Jul 14, 2025
272da0f
Update easybuild/easyconfigs/h/HDF/HDF-4.3.1-GCCcore-14.2.0.eb
pavelToman Jul 14, 2025
52475fd
Update easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-14.2.0.eb
pavelToman Jul 14, 2025
8e84576
Update easybuild/easyconfigs/j/json-c/json-c-0.18-GCCcore-14.2.0.eb
pavelToman Jul 14, 2025
3d105ac
Update easybuild/easyconfigs/j/json-c/json-c-0.18-GCCcore-14.2.0.eb
pavelToman Jul 14, 2025
f6f9f29
Update easybuild/easyconfigs/c/CFITSIO/CFITSIO-4.6.2-GCCcore-14.2.0.eb
pavelToman Jul 14, 2025
5b94360
Update easybuild/easyconfigs/g/GDAL/GDAL-3.11.1-foss-2025a.eb
pavelToman Jul 14, 2025
aab9bd0
Update easybuild/easyconfigs/g/GEOS/GEOS-3.13.1-GCC-14.2.0.eb
pavelToman Jul 14, 2025
a3c5c50
Update easybuild/easyconfigs/i/Imath/Imath-3.1.12-GCCcore-14.2.0.eb
pavelToman Jul 14, 2025
e0094c6
Update easybuild/easyconfigs/l/LERC/LERC-4.0.0-GCCcore-14.2.0.eb
pavelToman Jul 14, 2025
6d41546
Update easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.4-GCCcore-14…
pavelToman Jul 14, 2025
1a7539f
Update easybuild/easyconfigs/l/libtirpc/libtirpc-1.3.6-GCCcore-14.2.0.eb
pavelToman Jul 14, 2025
ae6cf9a
Update easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.3.4-GCCcore-14.2.0.eb
pavelToman Jul 14, 2025
3cfbc7c
Update easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-14.2.0.eb
pavelToman Jul 14, 2025
a406614
Update easybuild/easyconfigs/p/PROJ/PROJ-9.6.2-GCCcore-14.2.0.eb
pavelToman Jul 14, 2025
87328ed
Update arpack-ng-3.9.1-foss-2025a.eb
pavelToman Jul 14, 2025
bb86bdd
Update HDF-4.3.1-GCCcore-14.2.0.eb
pavelToman Jul 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions easybuild/easyconfigs/a/Armadillo/Armadillo-14.6.0-foss-2025a.eb
Original file line number Diff line number Diff line change
@@ -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'
39 changes: 39 additions & 0 deletions easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.9.1-foss-2025a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Author: Robert Mijakovic <robert.mijakovic@lxp.lu>

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'
50 changes: 50 additions & 0 deletions easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-14.2.0.eb
Original file line number Diff line number Diff line change
@@ -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'
37 changes: 37 additions & 0 deletions easybuild/easyconfigs/c/CFITSIO/CFITSIO-4.6.2-GCCcore-14.2.0.eb
Original file line number Diff line number Diff line change
@@ -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'
79 changes: 79 additions & 0 deletions easybuild/easyconfigs/g/GDAL/GDAL-3.11.1-foss-2025a.eb
Original file line number Diff line number Diff line change
@@ -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'
27 changes: 27 additions & 0 deletions easybuild/easyconfigs/g/GEOS/GEOS-3.13.1-GCC-14.2.0.eb
Original file line number Diff line number Diff line change
@@ -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'
60 changes: 60 additions & 0 deletions easybuild/easyconfigs/h/HDF/HDF-4.3.1-GCCcore-14.2.0.eb
Original file line number Diff line number Diff line change
@@ -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'
28 changes: 28 additions & 0 deletions easybuild/easyconfigs/i/Imath/Imath-3.1.12-GCCcore-14.2.0.eb
Original file line number Diff line number Diff line change
@@ -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'
32 changes: 32 additions & 0 deletions easybuild/easyconfigs/j/json-c/json-c-0.18-GCCcore-14.2.0.eb
Original file line number Diff line number Diff line change
@@ -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'
Loading