From 037f0611f4c2fddfa41ecaede02626a59b385509 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 14 Mar 2023 11:39:16 +0100 Subject: gnu: vtk: Remove reference to GCC. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This removes GCC from the closure of VTK, reducing its size by 200 MiB (17%). * gnu/packages/image-processing.scm (vtk)[arguments]: Change to gexps. Add #:phases. (vtk-7)[arguments]: Turn #:configure-flags into a gexp. --- gnu/packages/image-processing.scm | 87 ++++++++++++++++++++++++--------------- 1 file changed, 53 insertions(+), 34 deletions(-) (limited to 'gnu/packages/image-processing.scm') diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index c8786d8edd..7652b24e1a 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -352,40 +352,59 @@ (define-public vtk (properties `((release-monitoring-url . "https://vtk.org/download/"))) (build-system cmake-build-system) (arguments - '(#:build-type "Release" ;Build without '-g' to save space. - #:configure-flags '(;"-DBUILD_TESTING:BOOL=TRUE" - ; ; not honored - "-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_libharu=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" - "-DVTK_MODULE_ENABLE_VTK_RenderingExternal=YES" ; For F3D - "-DVTK_WRAP_PYTHON=ON" - "-DVTK_PYTHON_VERSION:STRING=3" + (list #:build-type "Release" ;Build without '-g' to save space. + #:configure-flags + #~'( ;;"-DBUILD_TESTING:BOOL=TRUE" ;not honored + "-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_libharu=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" + "-DVTK_MODULE_ENABLE_VTK_RenderingExternal=YES" ;for F3D + "-DVTK_WRAP_PYTHON=ON" + "-DVTK_PYTHON_VERSION:STRING=3" - "-DVTK_SMP_ENABLE_OPENNMP=ON" - "-DVTK_SMP_ENABLE_TBB=ON" - "-DVTK_USE_MPI=ON" - ) - #:tests? #f)) ;XXX: test data not included + "-DVTK_SMP_ENABLE_OPENNMP=ON" + "-DVTK_SMP_ENABLE_TBB=ON" + "-DVTK_USE_MPI=ON" + ) + + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'clear-reference-to-compiler + (lambda _ + (define (choose . files) + (let loop ((files files)) + (if (null? files) + #f + (if (file-exists? (car files)) + (car files) + (loop (cdr files)))))) + + ;; Do not retain a reference to GCC. + (substitute* (choose + "Common/Core/vtkConfigureDeprecated.h.in" ;v9.x + "Common/Core/vtkConfigure.h.in") ;v7.x + (("@CMAKE_CXX_COMPILER@") "c++"))))) + + #:tests? #f)) ;XXX: test data not included (inputs (list double-conversion eigen @@ -453,7 +472,7 @@ (define-public vtk-7 ((#:configure-flags flags) ;; Otherwise, the build would fail with: "error: invalid conversion ;; from ‘const char*’ to ‘char*’ [-fpermissive]". - `(cons "-DCMAKE_CXX_FLAGS=-fpermissive" ,flags)) + #~(cons "-DCMAKE_CXX_FLAGS=-fpermissive" #$flags)) ((#:phases phases) #~(modify-phases #$phases (add-after 'unpack 'remove-kernel-version -- cgit v1.2.3