gnu: Add paraview.
* gnu/packages/graphics.scm (paraview): New variable. Signed-off-by: Ricardo Wurmus <rekado@elephly.net>master
parent
612a3f8716
commit
fc5dc3e047
|
@ -21,6 +21,7 @@
|
|||
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2022 Tomasz Jeneralczyk <tj@schwi.pl>
|
||||
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -60,6 +61,8 @@
|
|||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages game-development)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages geo)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
#:use-module (gnu packages gimp)
|
||||
|
@ -75,16 +78,21 @@
|
|||
#:use-module (gnu packages imagemagick)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages pdf)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages photo)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pretty-print)
|
||||
#:use-module (gnu packages protobuf)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-check)
|
||||
#:use-module (gnu packages python-science)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages tbb)
|
||||
#:use-module (gnu packages textutils)
|
||||
|
@ -958,6 +966,275 @@ and quantitative techniques. The data exploration can be done interactively
|
|||
in 3D or programmatically using ParaView’s batch processing capabilities.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public paraview
|
||||
(package
|
||||
(name "paraview")
|
||||
(version "5.11.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.kitware.com/paraview/paraview.git")
|
||||
(commit (string-append "v" version))
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0qifzsbgg8f7zvg5a4934nql6nv5b6sm1f59bylyc6v5bqd0myas"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; TODO: Also remove unused bundled libraries and plugins?
|
||||
#~(begin
|
||||
;; Remove bundled ParaView libraries which are available in Guix
|
||||
;; or undesired.
|
||||
(for-each (lambda (dir)
|
||||
(delete-file-recursively
|
||||
(string-append "ThirdParty/" dir "/vtk"
|
||||
(string-downcase dir))))
|
||||
'(;;"CosmoHaloFinder"
|
||||
;;"IceT"
|
||||
"NvPipe" ; Don't want NvPipe support
|
||||
;;"QtTesting"
|
||||
;;"cinema"
|
||||
;;"cinemasci"
|
||||
"protobuf"))
|
||||
;; Remove undesired ParaView plugins.
|
||||
(delete-file-recursively "Plugins/pvNVIDIAIndeX")
|
||||
;; Remove bundled VTK libraries which are available in Guix.
|
||||
(for-each (lambda (dir)
|
||||
(delete-file-recursively
|
||||
(string-append "VTK/ThirdParty/" dir "/vtk" dir)))
|
||||
'(;;"cgns"
|
||||
"cli11"
|
||||
;;"diy2"
|
||||
"doubleconversion"
|
||||
"eigen"
|
||||
;;"exodusII"
|
||||
"expat"
|
||||
;;"exprtk"
|
||||
;;"fides"
|
||||
"fmt"
|
||||
"freetype"
|
||||
"gl2ps"
|
||||
"glew"
|
||||
;;"h5part"
|
||||
"hdf5"
|
||||
;;"ioss"
|
||||
"jpeg"
|
||||
"jsoncpp"
|
||||
;;"kissfft"
|
||||
;;"libharu" ; Requires some PRs applied to 2.3.0
|
||||
"libproj"
|
||||
"libxml2"
|
||||
;;"loguru"
|
||||
"lz4"
|
||||
"lzma"
|
||||
"mpi4py"
|
||||
"netcdf"
|
||||
;;"nlohmannjson" ; ParFlow build fails even with bundled
|
||||
"ogg"
|
||||
;;"pegtl"
|
||||
"png"
|
||||
"pugixml"
|
||||
"sqlite"
|
||||
"theora"
|
||||
"tiff"
|
||||
"utf8"
|
||||
;;"verdict"
|
||||
;;"vpic"
|
||||
;;"vtkm"
|
||||
;;"xdmf2"
|
||||
;;"xdmf3"
|
||||
;;"zfp"
|
||||
"zlib"))))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:build-type "Release" ; 542 MiB in release mode
|
||||
#:tests? #f ; Downloads test data
|
||||
#:configure-flags
|
||||
#~(let ((doc (string-append #$output "/share/doc/" #$name "-" #$version)))
|
||||
(list
|
||||
(string-append "-DCMAKE_INSTALL_DOCDIR=" doc) ; For paraview.qch
|
||||
|
||||
;; ParaView build options
|
||||
"-DPARAVIEW_BUILD_DEVELOPER_DOCUMENTATION=ON"
|
||||
(string-append "-DPARAVIEW_GENERATED_DOCUMENTATION_OUTPUT_DIRECTORY=" doc)
|
||||
|
||||
;; ParaView capability options
|
||||
;;"-DPARAVIEW_USE_EXTERNAL_VTK=ON" ; Unsupported by ParaView
|
||||
"-DPARAVIEW_USE_MPI=ON"
|
||||
"-DPARAVIEW_USE_PYTHON=ON"
|
||||
"-DPARAVIEW_USE_QTWEBENGINE=ON"
|
||||
|
||||
;; ParaView features
|
||||
;;
|
||||
;; Enable those that are disabled by default.
|
||||
;; Commented means the dependencies are missing from Guix
|
||||
;; (or are otherwise described).
|
||||
;;"-DPARAVIEW_ENABLE_ADIOS2=ON"
|
||||
;;"-DPARAVIEW_ENABLE_COSMOTOOLS=ON"
|
||||
;;"-DPARAVIEW_ENABLE_CATALYST=ON"
|
||||
"-DPARAVIEW_ENABLE_FFMPEG=ON"
|
||||
;;"-DPARAVIEW_ENABLE_FIDES=ON"
|
||||
"-DPARAVIEW_ENABLE_GDAL=ON"
|
||||
;;"-DPARAVIEW_ENABLE_LAS=ON"
|
||||
;;"-DPARAVIEW_ENABLE_LOOKINGGLASS=ON" ; Downloads dependency
|
||||
;;"-DPARAVIEW_ENABLE_MOMENTINVARIANTS=ON" ; Downloads dependency
|
||||
"-DPARAVIEW_ENABLE_MOTIONFX=ON"
|
||||
;;"-DPARAVIEW_ENABLE_OPENTURNS=ON"
|
||||
;;"-DPARAVIEW_ENABLE_OPENVDB=ON" ; Dependency not found
|
||||
;;"-DPARAVIEW_ENABLE_PDAL=ON"
|
||||
;;"-DPARAVIEW_ENABLE_RAYTRACING=ON"
|
||||
"-DPARAVIEW_ENABLE_VISITBRIDGE=ON"
|
||||
"-DPARAVIEW_ENABLE_XDMF3=ON"
|
||||
|
||||
;; ParaView miscellaneous options
|
||||
;;
|
||||
;; Without -DPARAVIEW_DATA_EXCLUDE_FROM_ALL=OFF, test data is
|
||||
;; downloaded even with tests disabled.
|
||||
"-DPARAVIEW_VERSIONED_INSTALL=OFF"
|
||||
"-DPARAVIEW_DATA_EXCLUDE_FROM_ALL=OFF"
|
||||
|
||||
;; ParaView plugins
|
||||
;;
|
||||
;; Enable those that are disabled by default.
|
||||
;; Commented means the dependencies are missing from Guix
|
||||
;; (or are otherwise described).
|
||||
;;"-DPARAVIEW_PLUGIN_ENABLE_AdiosReaderPixie=ON"
|
||||
;;"-DPARAVIEW_PLUGIN_ENABLE_AdiosReaderStaging=ON"
|
||||
"-DPARAVIEW_PLUGIN_ENABLE_CAVEInteraction=ON"
|
||||
;;"-DPARAVIEW_PLUGIN_ENABLE_CDIReader=ON"
|
||||
"-DPARAVIEW_PLUGIN_ENABLE_GeographicalMap=ON"
|
||||
"-DPARAVIEW_PLUGIN_ENABLE_GmshIO=ON"
|
||||
"-DPARAVIEW_PLUGIN_ENABLE_InSituExodus=ON"
|
||||
;;"-DPARAVIEW_PLUGIN_ENABLE_LookingGlass=ON"
|
||||
"-DPARAVIEW_PLUGIN_ENABLE_NetCDFTimeAnnotationPlugin=ON"
|
||||
;;"-DPARAVIEW_PLUGIN_ENABLE_ParFlow=ON" ; Build fails
|
||||
;;"-DPARAVIEW_PLUGIN_ENABLE_PythonQtPlugin=ON"
|
||||
"-DPARAVIEW_PLUGIN_ENABLE_SpaceMouseInteractor=ON"
|
||||
;;"-DPARAVIEW_PLUGIN_ENABLE_VDFReaderPlugin=ON"
|
||||
;;"-DPARAVIEW_PLUGIN_ENABLE_XRInterface=ON" ; Build fails
|
||||
;;"-DPARAVIEW_PLUGIN_ENABLE_zSpace=ON"
|
||||
|
||||
;; VTK options
|
||||
"-DVTK_SMP_IMPLEMENTATION_TYPE=TBB"
|
||||
"-DVTKm_ENABLE_MPI=ON"
|
||||
|
||||
;; External libraries for ParaView and VTK
|
||||
"-DVTK_MODULE_USE_EXTERNAL_ParaView_protobuf=ON"
|
||||
"-DVTK_MODULE_USE_EXTERNAL_VTK_cli11=ON"
|
||||
"-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_fmt=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_lzma=ON"
|
||||
"-DVTK_MODULE_USE_EXTERNAL_VTK_mpi4py=ON"
|
||||
"-DVTK_MODULE_USE_EXTERNAL_VTK_netcdf=ON"
|
||||
;;"-DVTK_MODULE_USE_EXTERNAL_VTK_nlohmannjson=ON"
|
||||
"-DVTK_MODULE_USE_EXTERNAL_VTK_ogg=ON"
|
||||
;;"-DVTK_MODULE_USE_EXTERNAL_VTK_pegtl=ON"
|
||||
"-DVTK_MODULE_USE_EXTERNAL_VTK_png=ON"
|
||||
"-DVTK_MODULE_USE_EXTERNAL_VTK_pugixml=ON"
|
||||
"-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_utf8=ON"
|
||||
"-DVTK_MODULE_USE_EXTERNAL_VTK_zlib=ON"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'set-paths 'hide-gfortran
|
||||
(lambda _
|
||||
(setenv "CPLUS_INCLUDE_PATH"
|
||||
(string-join
|
||||
(delete (string-append #$(this-package-native-input "gfortran")
|
||||
"/include/c++")
|
||||
(string-split (getenv "CPLUS_INCLUDE_PATH") #\:))
|
||||
":"))))
|
||||
(replace 'install-license-files
|
||||
(lambda _
|
||||
(let ((src (string-append #$output "/share/licenses/ParaView"))
|
||||
(dst (string-append #$output "/share/doc/"
|
||||
#$name "-" #$version "/licenses")))
|
||||
(copy-recursively src dst)
|
||||
(delete-file-recursively (dirname src))))))))
|
||||
(native-inputs
|
||||
(list gfortran
|
||||
;; For the documentation
|
||||
doxygen
|
||||
graphviz
|
||||
perl
|
||||
python-sphinx))
|
||||
(inputs
|
||||
(list boost
|
||||
cli11
|
||||
curl
|
||||
double-conversion
|
||||
eigen
|
||||
expat
|
||||
ffmpeg
|
||||
fmt
|
||||
freetype
|
||||
gdal
|
||||
gl2ps
|
||||
glew
|
||||
gmsh
|
||||
hdf5
|
||||
;;json-modern-cxx ;For ParFlow; build fails
|
||||
jsoncpp
|
||||
libjpeg-turbo
|
||||
libogg
|
||||
libpng
|
||||
libtheora
|
||||
libtiff
|
||||
libxcursor
|
||||
libxml2
|
||||
libxt
|
||||
lz4
|
||||
lzip
|
||||
mesa
|
||||
netcdf
|
||||
openmpi
|
||||
;;openvdb ;For OpenVDB; dependency not found
|
||||
;;openvr ;For XRInterface; build fails
|
||||
;;pegtl ;For VTK; build fails
|
||||
proj
|
||||
protobuf
|
||||
pugixml
|
||||
python-cftime
|
||||
python-matplotlib
|
||||
python-mpi4py
|
||||
python-numpy
|
||||
python-wrapper
|
||||
qtbase-5
|
||||
qtdeclarative-5
|
||||
qtmultimedia-5
|
||||
qtsvg-5
|
||||
qttools-5
|
||||
qtwebchannel-5
|
||||
qtwebengine-5
|
||||
qtx11extras
|
||||
qtxmlpatterns
|
||||
sdl2
|
||||
sqlite
|
||||
tbb
|
||||
utfcpp
|
||||
zlib))
|
||||
(home-page "https://www.paraview.org/")
|
||||
(synopsis "VTK-based, parallel data analyzer and visualizer")
|
||||
(description "ParaView is a VTK-based, parallel data analyzer and
|
||||
visualizer which allows exploring data interactively in 3D or
|
||||
programmatically.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public vxl
|
||||
(package
|
||||
(name "vxl")
|
||||
|
|
Reference in New Issue