From e91dde40896ab156e35ec31533a77c33672460d7 Mon Sep 17 00:00:00 2001
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* gnu/packages/image-processing.scm (vtk): Update to 9.0.1.
[source](snippet): Remove bundled "ogg" directory as well.
[arguments]: Adjust #:configure-flags. Add #:phases.
* gnu/packages/patches/vtk-fix-freetypetools-build-failure.patch: Update.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
gnu/packages/image-processing.scm | 65 ++++++++++++-------
.../vtk-fix-freetypetools-build-failure.patch | 14 ++--
2 files changed, 45 insertions(+), 34 deletions(-)
Toggle diff (150 lines)
diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index 26f6faea8c..605fc1aeb5 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021 Oleh Malyi <astroclubzp@gmail.com>
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2021 Andy Tai <atai@atai.org>
;;; This file is part of GNU Guix.
@@ -246,7 +247,7 @@ many popular formats.")
(uri (string-append "https://vtk.org/files/release/"
@@ -254,7 +255,7 @@ many popular formats.")
"/VTK-" version ".tar.gz"))
- "1fspgp8k0myr6p2a6wkc21ldcswb4bvmb484m12mxgk1a9vxrhrl"))
+ "1ir2lq9i45ls374lcmjzw0nrm5l5hnm1w47lg8g8d0n2j7hsaf8v"))
(search-patches "vtk-fix-freetypetools-build-failure.patch"))
(modules '((guix build utils)))
@@ -264,35 +265,46 @@ many popular formats.")
(string-append "ThirdParty/" dir "/vtk" dir)))
- ;; ogg, pugixml depended upon unconditionally
+ ;; pugixml depended upon unconditionally
'("doubleconversion" "eigen" "expat" "freetype" "gl2ps"
"glew" "hdf5" "jpeg" "jsoncpp" "libproj" "libxml2" "lz4"
- "netcdf" "png" "sqlite" "theora" "tiff" "zlib"))
+ "netcdf" "ogg" "png" "sqlite" "theora" "tiff" "zlib"))
(build-system cmake-build-system)
'(#:build-type "Release" ;Build without '-g' to save space.
#:configure-flags '(;"-DBUILD_TESTING:BOOL=TRUE"
- ;"-DVTK_MODULE_USE_EXTERNAL_vtkogg:BOOL=TRUE" ; not honored
- "-DVTK_USE_SYSTEM_DOUBLECONVERSION:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_EIGEN:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_EXPAT:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_FREETYPE:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_GL2PS:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_GLEW:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_HDF5:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_JPEG:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_JSONCPP:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_LIBPROJ:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_LIBXML2:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_LZ4:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_NETCDF:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_PNG:BOOL=TRUE"
- ;"-DVTK_USE_SYSTEM_PUGIXML:BOOL=TRUE" ; breaks IO/CityGML
- "-DVTK_USE_SYSTEM_SQLITE:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_THEORA:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_TIFF:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_ZLIB:BOOL=TRUE")
+ "-DVTK_USE_EXTERNAL=OFF" ;; default
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_doubleconversion=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_eigen=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_expat=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_freetype=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_glew=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_hdf5=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_jpeg=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_jsoncpp=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_libproj=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_libxml2=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_lz4=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_netcdf=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_ogg=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_png=ON"
+ ;"-DVTK_MODULE_USE_EXTERNAL_VTK_pugixml=ON" ; breaks IO/CityGML
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_sqlite=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_theora=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_tiff=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_zlib=ON"
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-sources
+ (substitute* "Common/Core/vtkFloatingPointExceptions.cxx"
+ (("<fenv.h>") "<cfenv>"))
+ (substitute* "Common/Core/CMakeLists.txt"
+ (("fenv.h") "cfenv")))))
#:tests? #f)) ;XXX: test data not included
`(("double-conversion" ,double-conversion)
@@ -305,7 +317,6 @@ many popular formats.")
@@ -320,6 +331,10 @@ many popular formats.")
+ ;; VTK's 'VTK-vtk-module-find-packages.cmake' calls
+ ;; 'find_package(THEORA)', which in turns looks for libogg.
(home-page "https://vtk.org/")
(synopsis "Libraries for 3D computer graphics")
diff --git a/gnu/packages/patches/vtk-fix-freetypetools-build-failure.patch b/gnu/packages/patches/vtk-fix-freetypetools-build-failure.patch
index 6988e65872..23f651b5eb 100644
--- a/gnu/packages/patches/vtk-fix-freetypetools-build-failure.patch
+++ b/gnu/packages/patches/vtk-fix-freetypetools-build-failure.patch
@@ -17,20 +17,16 @@ diff --git a/Rendering/FreeType/vtkFreeTypeTools.cxx b/Rendering/FreeType/vtkFre
index c54289dc60..03b899c4da 100644
--- a/Rendering/FreeType/vtkFreeTypeTools.cxx
+++ b/Rendering/FreeType/vtkFreeTypeTools.cxx
-@@ -387,11 +387,8 @@ FTC_CMapCache* vtkFreeTypeTools::GetCMapCache()
+@@ -378,8 +378,7 @@ FTC_CMapCache* vtkFreeTypeTools::GetCMapCache()
//----------------------------------------------------------------------------
-FT_CALLBACK_DEF(FT_Error)
--vtkFreeTypeToolsFaceRequester(FTC_FaceID face_id,
-- FT_Pointer request_data,
+-vtkFreeTypeToolsFaceRequester(
+static FT_Error vtkFreeTypeToolsFaceRequester(
-+ FTC_FaceID face_id, FT_Library lib, FT_Pointer request_data, FT_Face* face)
+ FTC_FaceID face_id, FT_Library lib, FT_Pointer request_data, FT_Face* face)
- printf("vtkFreeTypeToolsFaceRequester()\n");