diff --git a/repos/spack_stack/spack_repo/spack_stack/packages/ioda/ioda_yaml_root.patch b/repos/spack_stack/spack_repo/spack_stack/packages/ioda/ioda_yaml_root.patch new file mode 100644 index 000000000..ae3ed8a1c --- /dev/null +++ b/repos/spack_stack/spack_repo/spack_stack/packages/ioda/ioda_yaml_root.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/ioda-import.cmake.in b/cmake/ioda-import.cmake.in +index 907fce15..0d7ae528 100644 +--- a/cmake/ioda-import.cmake.in ++++ b/cmake/ioda-import.cmake.in +@@ -96,7 +96,7 @@ else() + # in the ioda-post-import.cmake file, even if it is never again used. Some + # tools (like Spack) will complain about this path and may indicate that ioda + # is a non-relocatable package, even though it is completely relocatable. +- set( IODA_YAML_ROOT "@IODA_YAML_ROOT@" ) ++ set( IODA_YAML_ROOT "${CMAKE_CURRENT_LIST_DIR}/share/test/testinput/" ) + endif() + endif() + diff --git a/repos/spack_stack/spack_repo/spack_stack/packages/ioda/package.py b/repos/spack_stack/spack_repo/spack_stack/packages/ioda/package.py index b22856ae2..1c61359f1 100644 --- a/repos/spack_stack/spack_repo/spack_stack/packages/ioda/package.py +++ b/repos/spack_stack/spack_repo/spack_stack/packages/ioda/package.py @@ -20,6 +20,7 @@ class Ioda(CMakePackage): version("2.9.0.20250826", commit="6e76616001067384f7d0ca4341ad78e81527af8b") patch("ioda_cmake_import.patch", when="@2.9.0.20250826") + patch("ioda_yaml_root.patch", when="@2.9.0.20250826") variant("doc", default=False, description="Build IODA documentation") # Let's always assume IODA_BUILD_LANGUAGE_FORTRAN=on. @@ -101,11 +102,11 @@ def check(self): else: ctest("--timeout", "120") - @run_after("install") - def fix_ioda_yaml_root_path(self): - with when("@2.9.0.20250826"): - filter_file( - join_path(self.build_directory, "share/test/testinput/"), - join_path(self.prefix, "share/ioda/yaml"), - join_path(self.prefix, "lib64/cmake/ioda/ioda-import.cmake"), - ) + #@run_after("install") + #def fix_ioda_yaml_root_path(self): + # with when("@2.9.0.20250826"): + # filter_file( + # join_path(self.build_directory, "share/test/testinput/"), + # join_path(self.prefix, "share/ioda/yaml"), + # join_path(self.prefix, "lib64/cmake/ioda/ioda-import.cmake"), + # ) diff --git a/repos/spack_stack/spack_repo/spack_stack/packages/oops/package.py b/repos/spack_stack/spack_repo/spack_stack/packages/oops/package.py index ad1710471..ac522e46b 100644 --- a/repos/spack_stack/spack_repo/spack_stack/packages/oops/package.py +++ b/repos/spack_stack/spack_repo/spack_stack/packages/oops/package.py @@ -22,6 +22,7 @@ class Oops(CMakePackage): version("1.10.0.20250827", commit="91889ad09d3789f14a1184701dd80a4913d3ce3e") patch("include_algorithm.patch", when="@1.10.0.20250827") + patch("patch-1.10.0.atlas.mac.patch", when="@1.10.0.20250827") variant("l95", default=True, description="Build LORENZ95 toy model") variant("mkl", default=False, description="Use MKL for LAPACK implementation (if available)") diff --git a/repos/spack_stack/spack_repo/spack_stack/packages/oops/patch-1.10.0.atlas.mac.patch b/repos/spack_stack/spack_repo/spack_stack/packages/oops/patch-1.10.0.atlas.mac.patch new file mode 100644 index 000000000..7b54487ba --- /dev/null +++ b/repos/spack_stack/spack_repo/spack_stack/packages/oops/patch-1.10.0.atlas.mac.patch @@ -0,0 +1,34 @@ +diff --git a/src/oops/util/ParallelFieldSetIO.cc b/src/oops/util/ParallelFieldSetIO.cc +index 04e4c55c..0a07a9ba 100644 +--- a/src/oops/util/ParallelFieldSetIO.cc ++++ b/src/oops/util/ParallelFieldSetIO.cc +@@ -80,9 +80,6 @@ atlas::FieldSet ParallelFieldSetIO::ioFieldSet(const atlas::FieldSet& nativeFiel + case atlas::array::DataType::KIND_INT32: + ioFieldSet.add(functionSpace_.createField(fieldSetConfig)); + break; +- case atlas::array::DataType::KIND_INT64: +- ioFieldSet.add(functionSpace_.createField(fieldSetConfig)); +- break; + case atlas::array::DataType::KIND_REAL32: + ioFieldSet.add(functionSpace_.createField(fieldSetConfig)); + break; +@@ -105,9 +102,6 @@ void ParallelFieldSetIO::writeFieldByTypeAndRank(const atlas::Field& field, + case atlas::array::DataType::KIND_INT32: + dispatchWriteField(field, netcdfGeneralIDs, netcdfVarID); + break; +- case atlas::array::DataType::KIND_INT64: +- dispatchWriteField(field, netcdfGeneralIDs, netcdfVarID); +- break; + case atlas::array::DataType::KIND_REAL32: + dispatchWriteField(field, netcdfGeneralIDs, netcdfVarID); + break; +@@ -129,9 +123,6 @@ void ParallelFieldSetIO::readFieldByTypeAndRank(atlas::Field& field, + case atlas::array::DataType::KIND_INT32: + dispatchReadField(field, netcdfGeneralIDs, netcdfVarID); + break; +- case atlas::array::DataType::KIND_INT64: +- dispatchReadField(field, netcdfGeneralIDs, netcdfVarID); +- break; + case atlas::array::DataType::KIND_REAL32: + dispatchReadField(field, netcdfGeneralIDs, netcdfVarID); + break;