From 3e713bb0faf742e97a517bfd612495e0b98d930a Mon Sep 17 00:00:00 2001 From: "John W. Parent" <45471568+johnwparent@users.noreply.github.com> Date: Fri, 23 Feb 2024 14:58:58 -0500 Subject: [PATCH] vtk package: support vtk@9 on Windows (#42751) --- .../repos/builtin/packages/vtk/package.py | 2 ++ .../builtin/packages/vtk/vtk_alias_hdf5.patch | 14 ++++++++++ .../vtk/vtk_proj_include_no_strict.patch | 26 +++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 var/spack/repos/builtin/packages/vtk/vtk_alias_hdf5.patch create mode 100644 var/spack/repos/builtin/packages/vtk/vtk_proj_include_no_strict.patch diff --git a/var/spack/repos/builtin/packages/vtk/package.py b/var/spack/repos/builtin/packages/vtk/package.py index 82c09a7f16c..adfec3da599 100644 --- a/var/spack/repos/builtin/packages/vtk/package.py +++ b/var/spack/repos/builtin/packages/vtk/package.py @@ -123,6 +123,8 @@ class Vtk(CMakePackage): patch("vtk_find_liblzma.patch", when="@8.2") patch("vtk_movie_link_ogg.patch", when="@8.2") patch("vtk_use_sqlite_name_vtk_expects.patch", when="@8.2") + patch("vtk_proj_include_no_strict.patch", when="@9: platform=windows") + patch("vtk_alias_hdf5.patch", when="@9: platform=windows") with when("~osmesa"): depends_on("glx", when="platform=linux") depends_on("glx", when="platform=cray") diff --git a/var/spack/repos/builtin/packages/vtk/vtk_alias_hdf5.patch b/var/spack/repos/builtin/packages/vtk/vtk_alias_hdf5.patch new file mode 100644 index 00000000000..c2e33e4ecba --- /dev/null +++ b/var/spack/repos/builtin/packages/vtk/vtk_alias_hdf5.patch @@ -0,0 +1,14 @@ +diff --git a/CMake/patches/99/FindHDF5.cmake b/CMake/patches/99/FindHDF5.cmake +index b54877d519..adf5d84430 100644 +--- a/CMake/patches/99/FindHDF5.cmake ++++ b/CMake/patches/99/FindHDF5.cmake +@@ -1150,6 +1150,9 @@ if (HDF5_FOUND) + endif () + endif () + endforeach () ++ if(NOT TARGET "hdf5") ++ add_library(hdf5 ALIAS hdf5::hdf5) ++ endif() + unset(hdf5_lang) + + if (HDF5_DIFF_EXECUTABLE AND NOT TARGET hdf5::h5diff) diff --git a/var/spack/repos/builtin/packages/vtk/vtk_proj_include_no_strict.patch b/var/spack/repos/builtin/packages/vtk/vtk_proj_include_no_strict.patch new file mode 100644 index 00000000000..209501623da --- /dev/null +++ b/var/spack/repos/builtin/packages/vtk/vtk_proj_include_no_strict.patch @@ -0,0 +1,26 @@ +diff --git a/ThirdParty/libproj/vtk_libproj.h.in b/ThirdParty/libproj/vtk_libproj.h.in +index 00cd3599e3..3ce90dd198 100644 +--- a/ThirdParty/libproj/vtk_libproj.h.in ++++ b/ThirdParty/libproj/vtk_libproj.h.in +@@ -26,6 +26,10 @@ + #endif + + #if VTK_MODULE_USE_EXTERNAL_vtklibproj ++# ifdef STRICT ++# define _OLD_STRICT STRICT ++# undef STRICT ++# endif + # if VTK_LibPROJ_MAJOR_VERSION >= 5 + # include + # include +@@ -35,6 +39,10 @@ + # include + # endif + # include ++# ifdef _OLD_STRICT ++# define STRICT _OLD_STRICT ++# undef _OLD_STRICT ++# endif + #else + # include + # include