Skip to content

Commit

Permalink
Merge pull request easybuilders#19497 from stefan-wolfsheimer/NCO-5.1…
Browse files Browse the repository at this point in the history
….9-foss-2023

{tools}[foss/2023a] NCO v5.1.9, ANTLR v2.7.7, ESMF v8.6.0, libdap v3.20.11
  • Loading branch information
lexming authored Jun 18, 2024
2 parents 7fd7eff + 894bcc2 commit bf7c445
Show file tree
Hide file tree
Showing 4 changed files with 155 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
easyblock = 'ConfigureMake'

name = 'ANTLR'
version = '2.7.7'
versionsuffix = '-Java-%(javaver)s'

homepage = 'https://www.antlr2.org/'
description = """ANTLR, ANother Tool for Language Recognition, (formerly PCCTS)
is a language tool that provides a framework for constructing recognizers,
compilers, and translators from grammatical descriptions containing
Java, C#, C++, or Python actions."""

toolchain = {'name': 'GCCcore', 'version': '12.3.0'}

source_urls = ['https://www.antlr2.org/download/']
sources = [SOURCELOWER_TAR_GZ]
patches = ['%(name)s-%(version)s_includes.patch']
checksums = [
'853aeb021aef7586bda29e74a6b03006bcb565a755c86b66032d8ec31b67dbb9', # antlr-2.7.7.tar.gz
'd167d3248a03301bc93efcb37d5df959aae6794968e42231af0b0dd26d6a2e66', # ANTLR-2.7.7_includes.patch
]

builddependencies = [('binutils', '2.40')]

dependencies = [('Java', '11', '', SYSTEM)]

configopts = '--disable-examples --disable-csharp --disable-python'

sanity_check_paths = {
'files': ['bin/antlr', 'bin/antlr-config'],
'dirs': ['include'],
}

sanity_check_commands = ["antlr --help"]

moduleclass = 'tools'
37 changes: 37 additions & 0 deletions easybuild/easyconfigs/e/ESMF/ESMF-8.6.0-foss-2023a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name = 'ESMF'
version = '8.6.0'

homepage = 'https://www.earthsystemcog.org/projects/esmf/'
description = """The Earth System Modeling Framework (ESMF) is a suite of software tools for developing
high-performance, multi-component Earth science modeling applications."""

toolchain = {'name': 'foss', 'version': '2023a'}
toolchainopts = {'usempi': True, 'openmp': True, 'cstd': 'c++11', 'pic': True}

source_urls = ['https://github.com/esmf-org/esmf/archive/']
sources = ['v%(version)s.tar.gz']
patches = ['ESMF-6.1.1_libopts.patch']
checksums = [
'ed057eaddb158a3cce2afc0712b49353b7038b45b29aee86180f381457c0ebe7', # v8.6.0.tar.gz
'3851627f07c32a7da55d99072d619942bd3a1d9dd002e1557716158e7aacdaf4', # ESMF-6.1.1_libopts.patch
]

builddependencies = [('CMake', '3.26.3')]

dependencies = [
('netCDF', '4.9.2'),
('netCDF-Fortran', '4.6.1'),
('netCDF-C++4', '4.3.1'),
('libarchive', '3.6.2'),
]

# disable errors from GCC 10 on mismatches between actual and dummy argument lists (GCC 9 behaviour)
prebuildopts = 'ESMF_F90COMPILEOPTS="${ESMF_F90COMPILEOPTS} -fallow-argument-mismatch"'

buildopts = 'ESMF_NETCDF_INCLUDE=$EBROOTNETCDFMINFORTRAN/include '
buildopts += 'ESMF_NETCDF_LIBS="`nc-config --libs` `nf-config --flibs` `ncxx4-config --libs`"'

# too parallel causes the build to become really slow
maxparallel = 8

moduleclass = 'geo'
38 changes: 38 additions & 0 deletions easybuild/easyconfigs/l/libdap/libdap-3.20.11-GCCcore-12.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
easyblock = 'ConfigureMake'

name = 'libdap'
version = '3.20.11'

homepage = 'https://www.opendap.org/software/libdap'
description = """A C++ SDK which contains an implementation of DAP 2.0 and
DAP4.0. This includes both Client- and Server-side support classes."""

toolchain = {'name': 'GCCcore', 'version': '12.3.0'}

source_urls = ['https://www.opendap.org/pub/source/']
sources = [SOURCE_TAR_GZ]
checksums = ['850debf6ee6991350bf31051308093bee35ddd2121e4002be7e130a319de1415']

builddependencies = [
('binutils', '2.40'),
('Bison', '3.8.2'),
('flex', '2.6.4'),
]

dependencies = [
('cURL', '8.0.1'),
('libxml2', '2.11.4'),
('libtirpc', '1.3.3'),
('PCRE', '8.45'),
('util-linux', '2.39'),
]

configopts = 'TIRPC_LIBS="-ltirpc"'


sanity_check_paths = {
'files': ['bin/getdap', 'bin/getdap4', 'bin/dap-config', 'lib/libdap.a', 'lib/libdap.%s' % SHLIB_EXT],
'dirs': ['include'],
}

moduleclass = 'lib'
44 changes: 44 additions & 0 deletions easybuild/easyconfigs/n/NCO/NCO-5.1.9-foss-2023a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
easyblock = 'ConfigureMake'

name = 'NCO'
version = '5.1.9'

homepage = "https://github.com/nco/nco"
description = """The NCO toolkit manipulates and analyzes data stored in netCDF-accessible formats,
including DAP, HDF4, and HDF5."""

toolchain = {'name': 'foss', 'version': '2023a'}

source_urls = ['https://github.com/nco/nco/archive/']
sources = ['%(version)s.tar.gz']
checksums = ['9cd90345c1e3860a690b53fd6c08b721d631a646d169431927884c99841c34e9']

builddependencies = [
('Bison', '3.8.2'),
('flex', '2.6.4'),
]

dependencies = [
('UDUNITS', '2.2.28'),
('expat', '2.5.0'),
('ANTLR', '2.7.7', '-Java-11'),
('libdap', '3.20.11'),
('GSL', '2.7'),
('netCDF', '4.9.2'),
('ESMF', '8.6.0'), # ncremap needs ESMF_RegridWeightGen
]

configopts = "--enable-nco_cplusplus"

sanity_check_paths = {
'files': ['bin/nc%s' % x for x in ('ap2', 'atted', 'bo', 'diff', 'ea', 'ecat', 'es',
'flint', 'ks', 'pdq', 'ra', 'rcat', 'rename', 'wa')] +
['lib/libnco.a', 'lib/libnco.%s' % SHLIB_EXT, 'lib/libnco_c++.a', 'lib/libnco_c++.%s' % SHLIB_EXT],
'dirs': ['include'],
}
sanity_check_commands = [
"ncks -O -7 --cnk_dmn time,10 "
"%(builddir)s/%(namelower)s-%(version)s/data/in.nc %(builddir)s/%(namelower)s-%(version)s/data/in4.cdl"
]

moduleclass = 'tools'

0 comments on commit bf7c445

Please sign in to comment.