gnu: mia: Build against VTK 9.

* gnu/packages/image-processing.scm (mia): Build against VTK 9.
[inputs]: Remove vtk-7; add vtk.
[source]: Add mia-vtk9.patch.
* gnu/packages/patches/mia-vtk9.patch: New file.
* gnu/local.mk: Add it.

Signed-off-by: Christopher Baines <mail@cbaines.net>
This commit is contained in:
Felix Gruber 2022-07-05 19:39:48 +00:00 committed by Christopher Baines
parent 6cc559b47d
commit ca291e4f73
No known key found for this signature in database
GPG key ID: 5E28A33B0B84F577
3 changed files with 69 additions and 6 deletions

View file

@ -1496,6 +1496,7 @@ dist_patch_DATA = \
%D%/packages/patches/meson-allow-dirs-outside-of-prefix.patch \
%D%/packages/patches/mhash-keygen-test-segfault.patch \
%D%/packages/patches/mia-fix-boost-headers.patch \
%D%/packages/patches/mia-vtk9.patch \
%D%/packages/patches/mingw-w64-6.0.0-gcc.patch \
%D%/packages/patches/mingw-w64-dlltool-temp-prefix.patch \
%D%/packages/patches/mingw-w64-reproducible-gendef.patch \

View file

@ -13,7 +13,7 @@
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021 Oleh Malyi <astroclubzp@gmail.com>
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021, 2022 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Andy Tai <atai@atai.org>
;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2021 Paul Garlick <pgarlick@tourbillion-technology.com>
@ -194,7 +194,8 @@ (define-public mia
(sha256
(base32
"0qpcd3n26q52dpyibm11f5l6cgscdr54p2jish39gc3p1f5h3ws1"))
(patches (search-patches "mia-fix-boost-headers.patch"))))
(patches (search-patches "mia-fix-boost-headers.patch"
"mia-vtk9.patch"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
@ -221,10 +222,7 @@ (define-public mia
nlopt
openexr-2
python-lxml
;; The build fails when using the regular VTK (currently at version
;; 9), with error "addons/vtk/vtkvf.cc:23:10: fatal error:
;; vtkStructuredPointsReader.h: No such file or directory".
vtk-7))
vtk))
(native-inputs
(list pkg-config
python-wrapper))

View file

@ -0,0 +1,64 @@
This patch has been taken from
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1012689
--- a/addons/vtk/CMakeLists.txt
+++ b/addons/vtk/CMakeLists.txt
@@ -20,9 +20,9 @@
IF(WITH_VTKIO)
if (STRICT_DEPENDECIES)
- FIND_PACKAGE(VTK REQUIRED COMPONENTS vtkIOImage vtkIOXML vtkIOLegacy)
+ FIND_PACKAGE(VTK REQUIRED COMPONENTS IOImage IOXML IOLegacy)
else (STRICT_DEPENDECIES)
- FIND_PACKAGE(VTK COMPONENTS vtkIOImage vtkIOXML vtkIOLegacy)
+ FIND_PACKAGE(VTK COMPONENTS IOImage IOXML IOLegacy)
endif (STRICT_DEPENDECIES)
IF(VTK_FOUND)
DEFINE_PROPERTY(GLOBAL PROPERTY HAVE_VTK_PROP BRIEF_DOCS "yeah" FULL_DOCS "yeah")
@@ -41,8 +41,17 @@
SET(VTK_LINK_LIBS_3D ${SELECTED_VTK_LIBS} mia3d)
PLUGIN_WITH_TEST_AND_PREFIX2("mesh" "io" vtkmesh "${VTK_LINK_LIBS_MESH}")
+ target_link_libraries(mesh-io-vtkmesh ${VTK_LIBRARIES})
+ target_link_libraries(mesh-io-vtkmesh-common ${VTK_LIBRARIES})
+ target_link_libraries(test-mesh-io-vtkmesh ${VTK_LIBRARIES})
PLUGIN_WITH_TEST_AND_PREFIX2("3dvf" "io" vtkvf "${VTK_LINK_LIBS_3D}")
+ target_link_libraries(3dvf-io-vtkvf ${VTK_LIBRARIES})
+ target_link_libraries(3dvf-io-vtkvf-common ${VTK_LIBRARIES})
+ target_link_libraries(test-3dvf-io-vtkvf ${VTK_LIBRARIES})
PLUGIN_WITH_TEST_AND_PREFIX2("3dimage" "io" vtkimage "${VTK_LINK_LIBS_3D}")
+ target_link_libraries(3dimage-io-vtkimage ${VTK_LIBRARIES})
+ target_link_libraries(3dimage-io-vtkimage-common ${VTK_LIBRARIES})
+ target_link_libraries(test-3dimage-io-vtkimage ${VTK_LIBRARIES})
ELSEIF(VTK_FOUND)
MESSAGE(MESSAGE "VTK not found, disabled")
--- a/addons/vtk/vtkmesh.cc
+++ b/addons/vtk/vtkmesh.cc
@@ -78,7 +78,8 @@
// read all cells, if a cell is formed of more than 3 corners, then triangulate,
// if it hes less then 3 corners, ignore it (no wireframes supported here
auto triangles = CVtkMeshIO::PTrianglefield(new CVtkMeshIO::CTrianglefield ());
- vtkIdType npts, *pts;
+ vtkIdType npts;
+ vtkIdType const *pts;
auto strips = mesh.GetStrips();
while (strips->GetNextCell(npts, pts)) {
@@ -183,7 +184,7 @@
auto is = mesh.normals_begin();
for (auto i = 0; i < n_normals; ++i, ++is) {
- normals->GetTupleValue(i, &is->x);
+ normals->GetTypedTuple(i, &is->x);
cvdebug() << i << ": read normal " << *is << "\n";
}
}
@@ -217,7 +218,7 @@
auto is = mesh.color_begin();
for (auto i = 0; i < n_colors; ++i, ++is)
- colors->GetTupleValue(i, &is->x);
+ colors->GetTypedTuple(i, &is->x);
}
PTriangleMesh CVtkMeshIO::do_load(string const& filename) const