xios: update to v2.6 (#48680)

* xios: update to v2.6

- xios: update to v2.6
- xios: patch remap earcut.hpp for missing include file
- xios: address C++11 requirement
- xios: instruct to use external boost and blitz libraries

* xios: bump revision to 2714

- Bump revision to changeset 2714
- Deprecate older versions that I can't manage to compile
- Confirm clang workaround is still needed
This commit is contained in:
Laurent Chardon 2025-02-18 10:04:06 -05:00 committed by GitHub
parent c4ea924977
commit 1a1f0aa07b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 36 additions and 7 deletions

View File

@ -0,0 +1,11 @@
--- a/extern/remap/src/earcut.hpp 2025-01-22 11:42:31.097755822 -0500
+++ b/extern/remap/src/earcut.hpp 2025-01-22 11:44:00.022637783 -0500
@@ -7,7 +7,7 @@
#include <vector>
#include <limits>
//#include <tuple>
-//#include <cstdint>
+#include <cstdint>
//#include <cstddef>
namespace mapbox {

View File

@ -12,16 +12,28 @@ class Xios(Package):
"""XML-IO-SERVER library for IO management of climate models."""
homepage = "https://forge.ipsl.jussieu.fr/ioserver/wiki"
version("develop", svn="http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/trunk")
version(
"2.5", revision=1860, svn="http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/branchs/xios-2.5"
"2.6",
revision=2714,
svn="https://forge.ipsl.jussieu.fr/ioserver/svn/XIOS2/branches/xios-2.6",
)
version(
"2.0", revision=1627, svn="http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/branchs/xios-2.0"
"2.5",
revision=1860,
svn="https://forge.ipsl.jussieu.fr/ioserver/svn/XIOS2/branches/xios-2.5",
deprecated=True,
)
version(
"1.0", revision=910, svn="http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/branchs/xios-1.0"
"2.0",
revision=1627,
svn="https://forge.ipsl.jussieu.fr/ioserver/svn/XIOS2/branches/xios-2.0",
deprecated=True,
)
version(
"1.0",
revision=910,
svn="http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/branchs/xios-1.0",
deprecated=True,
)
variant(
@ -37,10 +49,14 @@ class Xios(Package):
patch("bld_extern_1.0.patch", when="@:1.0")
# Workaround bug #17782 in llvm, where reading a double
# followed by a character is broken (e.g. duration '1d'):
# followed by a character is broken (e.g. duration '1d')
# https://bugs.llvm.org/show_bug.cgi?id=17782
# Verified and still needed 2025-02-18
patch("llvm_bug_17782.patch", when="@1.1: %apple-clang")
patch("llvm_bug_17782.patch", when="@1.1: %clang")
patch("earcut_missing_include_2.6.patch", when="@2.6:")
depends_on("netcdf-c+mpi")
depends_on("netcdf-fortran")
depends_on("hdf5+mpi")
@ -131,7 +147,7 @@ def xios_fcm(self):
%FCOMPILER {MPIFC}
%LINKER {MPIFC}
%BASE_CFLAGS -ansi -w -D_GLIBCXX_USE_CXX11_ABI=0 \
%BASE_CFLAGS -std=c++11 -w -D_GLIBCXX_USE_CXX11_ABI=0 \
-I{BOOST_INC_DIR} -I{BLITZ_INC_DIR}
%PROD_CFLAGS -O3 -DBOOST_DISABLE_ASSERTS
%DEV_CFLAGS -g -O2
@ -202,6 +218,8 @@ def install(self, spec, prefix):
"--%s" % spec.variants["mode"].value,
"--arch",
"SPACK",
"--use_extern_boost",
"--use_extern_blitz",
"--netcdf_lib",
"netcdf4_par",
"--job",