From 02dd7f10cd3754656683f6d555f358b0e446b2f0 Mon Sep 17 00:00:00 2001 From: Stefan Wolfsheimer Date: Thu, 4 Jan 2024 16:58:54 +0100 Subject: [PATCH 1/4] added libdap-3.20.11-GCCco NCO-5.1.9-foss-2023.eb ESMF-8.6.0-foss-2023a.eb ANTLR-2.7.7-GCCcore-12.3.0-Java-11.eb --- .../ANTLR-2.7.7-GCCcore-12.3.0-Java-11.eb | 36 +++++++++++++++ .../e/ESMF/ESMF-8.6.0-foss-2023a.eb | 37 ++++++++++++++++ .../l/libdap/libdap-3.20.11-GCCcore-12.3.0.eb | 37 ++++++++++++++++ .../easyconfigs/n/NCO/NCO-5.1.9-foss-2023.eb | 44 +++++++++++++++++++ 4 files changed, 154 insertions(+) create mode 100644 easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-12.3.0-Java-11.eb create mode 100644 easybuild/easyconfigs/e/ESMF/ESMF-8.6.0-foss-2023a.eb create mode 100644 easybuild/easyconfigs/l/libdap/libdap-3.20.11-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/n/NCO/NCO-5.1.9-foss-2023.eb diff --git a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-12.3.0-Java-11.eb b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-12.3.0-Java-11.eb new file mode 100644 index 00000000000..4f76242d899 --- /dev/null +++ b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-12.3.0-Java-11.eb @@ -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' diff --git a/easybuild/easyconfigs/e/ESMF/ESMF-8.6.0-foss-2023a.eb b/easybuild/easyconfigs/e/ESMF/ESMF-8.6.0-foss-2023a.eb new file mode 100644 index 00000000000..356f3864756 --- /dev/null +++ b/easybuild/easyconfigs/e/ESMF/ESMF-8.6.0-foss-2023a.eb @@ -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' diff --git a/easybuild/easyconfigs/l/libdap/libdap-3.20.11-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libdap/libdap-3.20.11-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1f3f87a6d66 --- /dev/null +++ b/easybuild/easyconfigs/l/libdap/libdap-3.20.11-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +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/%(name)s.a', 'lib/%(name)s.so'], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NCO/NCO-5.1.9-foss-2023.eb b/easybuild/easyconfigs/n/NCO/NCO-5.1.9-foss-2023.eb new file mode 100644 index 00000000000..0e7dd9be31a --- /dev/null +++ b/easybuild/easyconfigs/n/NCO/NCO-5.1.9-foss-2023.eb @@ -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' From 22c00b466113a63b7c5d155921ac795b11df6980 Mon Sep 17 00:00:00 2001 From: Stefan Wolfsheimer Date: Thu, 4 Jan 2024 17:15:07 +0100 Subject: [PATCH 2/4] fixed name --- .../n/NCO/{NCO-5.1.9-foss-2023.eb => NCO-5.1.9-foss-2023a.eb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/n/NCO/{NCO-5.1.9-foss-2023.eb => NCO-5.1.9-foss-2023a.eb} (100%) diff --git a/easybuild/easyconfigs/n/NCO/NCO-5.1.9-foss-2023.eb b/easybuild/easyconfigs/n/NCO/NCO-5.1.9-foss-2023a.eb similarity index 100% rename from easybuild/easyconfigs/n/NCO/NCO-5.1.9-foss-2023.eb rename to easybuild/easyconfigs/n/NCO/NCO-5.1.9-foss-2023a.eb From ca5fa192916b41522baf2ba21ebfa505dbac0d36 Mon Sep 17 00:00:00 2001 From: stefan-wolfsheimer Date: Fri, 5 Jan 2024 10:11:09 +0100 Subject: [PATCH 3/4] Update libdap-3.20.11-GCCcore-12.3.0.eb: SHLIB_EXT variable instead of hard-coded extension --- easybuild/easyconfigs/l/libdap/libdap-3.20.11-GCCcore-12.3.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/l/libdap/libdap-3.20.11-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libdap/libdap-3.20.11-GCCcore-12.3.0.eb index 1f3f87a6d66..ae260fd0348 100644 --- a/easybuild/easyconfigs/l/libdap/libdap-3.20.11-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/l/libdap/libdap-3.20.11-GCCcore-12.3.0.eb @@ -30,7 +30,7 @@ configopts = 'TIRPC_LIBS="-ltirpc"' sanity_check_paths = { - 'files': ['bin/getdap', 'bin/getdap4', 'bin/dap-config', 'lib/%(name)s.a', 'lib/%(name)s.so'], + 'files': ['bin/getdap', 'bin/getdap4', 'bin/dap-config', 'lib/%(name)s.a', 'lib/lib%%(name)s.%s' % SHLIB_EXT], 'dirs': ['include'], } From 894bcc20e3f287ba5a853c2edfa0626468b114c4 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Mon, 17 Jun 2024 19:08:50 +0200 Subject: [PATCH 4/4] revert changes to sanity checks of libdap-3.20.11-GCCcore-12.3.0.eb --- .../easyconfigs/l/libdap/libdap-3.20.11-GCCcore-12.3.0.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/l/libdap/libdap-3.20.11-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libdap/libdap-3.20.11-GCCcore-12.3.0.eb index ae260fd0348..39e628f1d97 100644 --- a/easybuild/easyconfigs/l/libdap/libdap-3.20.11-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/l/libdap/libdap-3.20.11-GCCcore-12.3.0.eb @@ -18,6 +18,7 @@ builddependencies = [ ('Bison', '3.8.2'), ('flex', '2.6.4'), ] + dependencies = [ ('cURL', '8.0.1'), ('libxml2', '2.11.4'), @@ -30,7 +31,7 @@ configopts = 'TIRPC_LIBS="-ltirpc"' sanity_check_paths = { - 'files': ['bin/getdap', 'bin/getdap4', 'bin/dap-config', 'lib/%(name)s.a', 'lib/lib%%(name)s.%s' % SHLIB_EXT], + 'files': ['bin/getdap', 'bin/getdap4', 'bin/dap-config', 'lib/libdap.a', 'lib/libdap.%s' % SHLIB_EXT], 'dirs': ['include'], }