Package: guix-patches;
Reported by: Lars Bilke <lars.bilke <at> ufz.de>
Date: Thu, 13 Feb 2025 14:39:01 UTC
Severity: normal
Tags: patch
View this message in rfc822 format
From: Lars Bilke <lars.bilke <at> ufz.de> To: 76269 <at> debbugs.gnu.org Cc: Lars Bilke <lars.bilke <at> ufz.de>, Cayetano Santos <csantosb <at> inventati.org>, Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [bug#76269] [PATCH 2/2] gnu: freecad: Add vtk 9.4.1 patch. Date: Mon, 24 Feb 2025 09:43:34 +0100
* gnu/packages/engineering.scm (freecad): Add vtk 9.4.1 patch. * gnu/local.mk: Add freecad vtk 9.4.1 patch to list. Change-Id: I9220aec757c2331a2dfa3eee9d0b84f774785de3 --- gnu/local.mk | 1 + gnu/packages/engineering.scm | 1 + gnu/packages/patches/freecad-vtk941.patch | 71 +++++++++++++++++++++++ 3 files changed, 73 insertions(+) create mode 100644 gnu/packages/patches/freecad-vtk941.patch diff --git a/gnu/local.mk b/gnu/local.mk index 45a9cb635e..35e1b5e6b6 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1317,6 +1317,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-vtk941.patch \ %D%/packages/patches/freedict-tools-fix-determinism.patch \ %D%/packages/patches/freedink-engine-fix-sdl-hints.patch \ %D%/packages/patches/freeimage-libtiff-compat.patch \ diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 234f4a2b03..d4d920cd08 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -3173,6 +3173,7 @@ (define-public freecad (file-name (git-file-name name version)) (sha256 (base32 "0wwymcfgi0cybj7m6awflk8c7n6iy97lpgpfhfncx3zwvjrxv588")) + (patches (search-patches "freecad-vtk941.patch")) ;; remove on 1.1 release (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/patches/freecad-vtk941.patch b/gnu/packages/patches/freecad-vtk941.patch new file mode 100644 index 0000000000..e05548a599 --- /dev/null +++ b/gnu/packages/patches/freecad-vtk941.patch @@ -0,0 +1,71 @@ +From fafff3a08b7a6212ce3417e08b18cb2fc8e7e868 Mon Sep 17 00:00:00 2001 +From: wmayer <wmayer <at> freecad.org> +Date: Mon, 16 Dec 2024 10:56:43 +0100 +Subject: [PATCH] smesh: Fix build failure with vtk 9.4 + +Fixes #18423 +--- + .../src/SMDS/SMDS_UnstructuredGrid.cpp | 17 ++++++++++------- + 1 file changed, 10 insertions(+), 7 deletions(-) + +diff --git a/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp b/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp +index e9895d615717..4e9d6dc05764 100644 +--- a/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp ++++ b/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp +@@ -32,6 +32,7 @@ + #include <vtkDoubleArray.h> + #include <vtkIdTypeArray.h> + #include <vtkUnsignedCharArray.h> ++#include <vtkVersionMacros.h> + + #include <list> + #include <climits> +@@ -249,14 +250,16 @@ void SMDS_UnstructuredGrid::compactGrid(std::vector<int>& idNodesOldToNew, int n + } + } + +- if (this->FaceLocations) ++ vtkIdTypeArray* thisFaceLocations = GetFaceLocations(); ++ vtkIdTypeArray* thisFaces = GetFaces(); ++ if (thisFaceLocations) + { + vtkIdTypeArray *newFaceLocations = vtkIdTypeArray::New(); + newFaceLocations->Initialize(); + newFaceLocations->Allocate(newTypes->GetSize()); + vtkIdTypeArray *newFaces = vtkIdTypeArray::New(); + newFaces->Initialize(); +- newFaces->Allocate(this->Faces->GetSize()); ++ newFaces->Allocate(thisFaces->GetSize()); + for (int i = 0; i < oldCellSize; i++) + { + if (this->Types->GetValue(i) == VTK_EMPTY_CELL) +@@ -265,16 +268,16 @@ void SMDS_UnstructuredGrid::compactGrid(std::vector<int>& idNodesOldToNew, int n + if (newTypes->GetValue(newCellId) == VTK_POLYHEDRON) + { + newFaceLocations->InsertNextValue(newFaces->GetMaxId()+1); +- int oldFaceLoc = this->FaceLocations->GetValue(i); +- int nCellFaces = this->Faces->GetValue(oldFaceLoc++); ++ int oldFaceLoc = thisFaceLocations->GetValue(i); ++ int nCellFaces = thisFaces->GetValue(oldFaceLoc++); + newFaces->InsertNextValue(nCellFaces); + for (int n=0; n<nCellFaces; n++) + { +- int nptsInFace = this->Faces->GetValue(oldFaceLoc++); ++ int nptsInFace = thisFaces->GetValue(oldFaceLoc++); + newFaces->InsertNextValue(nptsInFace); + for (int k=0; k<nptsInFace; k++) + { +- int oldpt = this->Faces->GetValue(oldFaceLoc++); ++ int oldpt = thisFaces->GetValue(oldFaceLoc++); + newFaces->InsertNextValue(idNodesOldToNew[oldpt]); + } + } +@@ -292,7 +295,7 @@ void SMDS_UnstructuredGrid::compactGrid(std::vector<int>& idNodesOldToNew, int n + } + else + { +- this->SetCells(newTypes, newLocations, newConnectivity, FaceLocations, Faces); ++ this->SetCells(newTypes, newLocations, newConnectivity, thisFaceLocations, thisFaces); + } + + newPoints->Delete(); \ No newline at end of file -- 2.46.1
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.