Subject: [bug#70323] [PATCH v3 2/2] gnu: freecad: patch for vtk 9.3.0

From: Lars Bilke <[email-masked]>
Date: Mon, 17 Jun 2024 10:34:52 +0200

Change-Id: Ie520a92ffe6f8bdd2678470ee06f618d74349460
---
 gnu/local.mk                               |  1 +
 gnu/packages/engineering.scm               |  4 +-
 gnu/packages/patches/freecad-vtk-9.3.patch | 43 ++++++++++++++++++++++
 3 files changed, 47 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/freecad-vtk-9.3.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 83b7402b09..2a5a54a265 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1242,6 +1242,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/fpc-reproducibility.patch		\
   %D%/packages/patches/fpc-glibc-2.34-compat.patch		\
   %D%/packages/patches/fpm-newer-clamp-fix.patch		\
+  %D%/packages/patches/freecad-vtk-9.3.patch		\
   %D%/packages/patches/freedink-engine-fix-sdl-hints.patch	\
   %D%/packages/patches/freeimage-libtiff-compat.patch		\
   %D%/packages/patches/freeimage-unbundle.patch		\
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index e518d24fa2..fcb73eab12 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2783,7 +2783,9 @@ (define-public freecad
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0s720q6vxlh78jzahqp69nl8wagb42l05dym5aqhfnr31dx666hc"))))
+        (base32 "0s720q6vxlh78jzahqp69nl8wagb42l05dym5aqhfnr31dx666hc"))
+       ;; https://github.com/FreeCAD/FreeCAD/pull/11496
+       (patches (search-patches "freecad-vtk-9.3.patch"))))
     (build-system qt-build-system)
     (native-inputs
      (list doxygen
diff --git a/gnu/packages/patches/freecad-vtk-9.3.patch b/gnu/packages/patches/freecad-vtk-9.3.patch
new file mode 100644
index 0000000000..af9d654046
--- /dev/null
+++ b/gnu/packages/patches/freecad-vtk-9.3.patch
@@ -0,0 +1,43 @@
+From d0fb2b8b29fe0428d9dd8aa790b0d6e45c8a9516 Mon Sep 17 00:00:00 2001
+From: Adrian Insaurralde Avalos <[email-masked]>
+Date: Wed, 22 Nov 2023 16:42:06 -0300
+Subject: [PATCH] 3rdPart/salomesmesh - fix for vtk 9.3 compatibility
+
+minimum required version is 7.1
+---
+ src/3rdParty/salomesmesh/inc/SMESH_SMDS.hxx                 | 4 ----
+ src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp | 5 +++++
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/src/3rdParty/salomesmesh/inc/SMESH_SMDS.hxx b/src/3rdParty/salomesmesh/inc/SMESH_SMDS.hxx
+index 7f89573efd0d..47a52fe585fe 100644
+--- a/src/3rdParty/salomesmesh/inc/SMESH_SMDS.hxx
++++ b/src/3rdParty/salomesmesh/inc/SMESH_SMDS.hxx
+@@ -39,10 +39,6 @@
+  #define SMDS_EXPORT
+ #endif
+ 
+-#ifdef VTK_HAS_MTIME_TYPE
+ #define VTK_MTIME_TYPE vtkMTimeType
+-#else
+-#define VTK_MTIME_TYPE unsigned long
+-#endif
+ 
+ #endif
+diff --git a/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp b/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp
+index 7e3de0070a02..e9895d615717 100644
+--- a/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp
++++ b/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp
+@@ -1026,7 +1026,12 @@ void SMDS_UnstructuredGrid::BuildLinks()
+   GetLinks()->Allocate(this->GetNumberOfPoints());
+   GetLinks()->Register(this);
+ //FIXME: vtk9
++  #if VTK_VERSION_NUMBER < VTK_VERSION_CHECK(9,3,0)
+   GetLinks()->BuildLinks(this);
++  #else
++  GetLinks()->SetDataSet(this);
++  GetLinks()->BuildLinks();
++  #endif
+   GetLinks()->Delete();
+ #else
+   this->Links = SMDS_CellLinks::New();
\ No newline at end of file
-- 
2.44.0