unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#57679] [RFC PATCH] gnu: Add paraview.
@ 2022-09-08 15:24 Paul A. Patience
  2022-09-24 13:33 ` Ludovic Courtès
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Paul A. Patience @ 2022-09-08 15:24 UTC (permalink / raw)
  To: 57679; +Cc: paul, maxim.cournoyer

* gnu/packages/graphics.scm (paraview): New variable.
---
Hi,

ParaView builds with this patch, but doesn't display icons for any of its
buttons, e.g., for open file, etc.
I have no idea how to fix this.
I started packaging ParaView last year but encountered this problem and gave
up on trying to fix it.
Yesterday I started updating (and cleaning up quite a bit) the package for the
latest release (candidate) of ParaView, and it's basically done except for the
missing icons.
I'm hoping someone has some ideas for making the icons appear (Maxim, maybe?).

Thanks,
Paul

 gnu/packages/graphics.scm | 283 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 283 insertions(+)

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index fe38e7d03f..7a962afb3d 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -63,12 +63,16 @@ (define-module (gnu packages graphics)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cpp)
   #:use-module (gnu packages crypto)
+  #:use-module (gnu packages curl)
   #:use-module (gnu packages datastructures)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages game-development)
+  #:use-module (gnu packages gcc)
+  #:use-module (gnu packages geo)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gl)
@@ -92,6 +96,7 @@ (define-module (gnu packages graphics)
   #:use-module (gnu packages man)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages mp3)
+  #:use-module (gnu packages mpi)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages ninja)
   #:use-module (gnu packages pciutils)
@@ -101,18 +106,23 @@ (define-module (gnu packages graphics)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages plotutils)
   #:use-module (gnu packages pretty-print)
+  #:use-module (gnu packages protobuf)
   #:use-module (gnu packages pth)
   #:use-module (gnu packages pulseaudio)  ; libsndfile, libsamplerate
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-build)
+  #:use-module (gnu packages python-science)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages serialization)
+  #:use-module (gnu packages sphinx)
+  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages stb)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages tbb)
+  #:use-module (gnu packages textutils)
   #:use-module (gnu packages toolkits)
   #:use-module (gnu packages upnp)
   #:use-module (gnu packages video)
@@ -2392,3 +2402,276 @@ (define-public f3d
 glTF, STL, STEP, PLY, OBJ, FBX), and provides numerous rendering and texturing
 options.")
     (license license:bsd-3)))
+
+(define-public paraview
+  (package
+    (name "paraview")
+    (version "5.11.0-RC1")
+    (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 "0yhsavi1c9xzk8va81pnl523i68br39ngidlvfjjnk8dhpm3dzbg"))
+       (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 cmake-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
+           glu                  ; Propagated from glew, not strictly necessary
+           gmsh
+           hdf5
+           ;;json-modern-cxx              ; For ParFlow; build fails
+           jsoncpp
+           libjpeg-turbo
+           libogg
+           libpng
+           libtheora
+           libtiff
+           libx11              ; Propagated from libxt, not strictly necessary
+           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
+           xorgproto          ; Propagated from libx11, not strictly necessary
+           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)))
--
2.37.3






^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#57679] [RFC PATCH] gnu: Add paraview.
  2022-09-08 15:24 [bug#57679] [RFC PATCH] gnu: Add paraview Paul A. Patience
@ 2022-09-24 13:33 ` Ludovic Courtès
  2022-09-26  0:54   ` Maxim Cournoyer
  2022-11-02 16:50 ` Ricardo Wurmus
  2022-12-28 15:37 ` bug#57679: " Ricardo Wurmus
  2 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2022-09-24 13:33 UTC (permalink / raw)
  To: Paul A. Patience; +Cc: 57679, maxim.cournoyer

Hi Paul,

"Paul A. Patience" <paul@apatience.com> skribis:

> * gnu/packages/graphics.scm (paraview): New variable.
> ---
> Hi,
>
> ParaView builds with this patch, but doesn't display icons for any of its
> buttons, e.g., for open file, etc.
> I have no idea how to fix this.

I always forget as well, but I suspect you’d get icons if it’s included
in a profile that has adwaita installed?  Maxim?

> I started packaging ParaView last year but encountered this problem and gave
> up on trying to fix it.
> Yesterday I started updating (and cleaning up quite a bit) the package for the
> latest release (candidate) of ParaView, and it's basically done except for the
> missing icons.

Neat.

FWIW, I also had another version packaged, but perhaps the only useful
bits you could borrow are the synopsis and description:

  https://gitlab.inria.fr/guix-hpc/guix-hpc/-/blob/master/inria/staging.scm#L77

Ludo’.




^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#57679] [RFC PATCH] gnu: Add paraview.
  2022-09-24 13:33 ` Ludovic Courtès
@ 2022-09-26  0:54   ` Maxim Cournoyer
  2022-09-28 15:02     ` Paul A. Patience
  0 siblings, 1 reply; 7+ messages in thread
From: Maxim Cournoyer @ 2022-09-26  0:54 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 57679, Paul A. Patience

Hi,

Ludovic Courtès <ludo@gnu.org> writes:

> Hi Paul,
>
> "Paul A. Patience" <paul@apatience.com> skribis:
>
>> * gnu/packages/graphics.scm (paraview): New variable.
>> ---
>> Hi,
>>
>> ParaView builds with this patch, but doesn't display icons for any of its
>> buttons, e.g., for open file, etc.
>> I have no idea how to fix this.
>
> I always forget as well, but I suspect you’d get icons if it’s included
> in a profile that has adwaita installed?  Maxim?

Depends.  If it's because SVG icons are used, the SVG pixbuf backend
will need to be available (librsvg present in a profile) (so that it is
registered in the file point by the GDK_PIXBUF_MODULE_FILE environment
variable).  If it uses standard icons that aren't include in the app, an
icon theme will need to provide them (be installed by the user).

I hope that helps,

Maxim




^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#57679] [RFC PATCH] gnu: Add paraview.
  2022-09-26  0:54   ` Maxim Cournoyer
@ 2022-09-28 15:02     ` Paul A. Patience
  0 siblings, 0 replies; 7+ messages in thread
From: Paul A. Patience @ 2022-09-28 15:02 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: 57679, Ludovic Courtès


Hi,

On 2022-09-25 20:54:04-04:00, Maxim Cournoyer wrote:
> Depends.  If it's because SVG icons are used, the SVG pixbuf backend
> will need to be available (librsvg present in a profile) (so that it is
> registered in the file point by the GDK_PIXBUF_MODULE_FILE environment
> variable).  If it uses standard icons that aren't include in the app, an
> icon theme will need to provide them (be installed by the user).

ParaView uses PNG icons (according to strace).
I installed the Adwaita icon theme and used qt5ct [1] to tell ParaView
to use it, and ran ParaView under strace.
Strace indicates that ParaView finds the icons, but they still don't
appear in the application.

I'm wondering if something is hardcoded in the source.
I'll investigate more at a later date.

Thanks for the help,
Paul

[1]: https://wiki.archlinux.org/title/qt#Configuration_of_Qt_5_applications_under_environments_other_than_KDE_Plasma





^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#57679] [RFC PATCH] gnu: Add paraview.
  2022-09-08 15:24 [bug#57679] [RFC PATCH] gnu: Add paraview Paul A. Patience
  2022-09-24 13:33 ` Ludovic Courtès
@ 2022-11-02 16:50 ` Ricardo Wurmus
  2022-11-03 15:04   ` Ludovic Courtès
  2022-12-28 15:37 ` bug#57679: " Ricardo Wurmus
  2 siblings, 1 reply; 7+ messages in thread
From: Ricardo Wurmus @ 2022-11-02 16:50 UTC (permalink / raw)
  To: 57679; +Cc: Ludovic Courtès, Ontje.Luensdorf

[-- Attachment #1: Type: text/plain, Size: 1245 bytes --]

Attached is an earlier version of Paraview (5.9.1) that has been
submitted by Ontje (in Cc).

@Ludo: there doesn’t seem to be a way to unbundle VTK, because Paraview
is closely tied to VTK, reuses its build system to some extent, and is
better understood as an *extension* to VTK than a client application
using VTK merely as a library.  Upstream also commented that unbundling
VTK is not a priority and would have to be supported by the community.

About the icons: when I run /gnu/store/7x3dxk0kl0rc1sw673z51cfran7q6hf1-paraview-5.9.1/bin/paraview I
don’t see most icons.  Even when I install it into a profile that has
adwaita-icon-theme and run it from the profile in a new shell session
the icons are not displayed.

According to strace the icons are found (after searching in all the
wrong places — probably an opportunity for performance improvement), but
they are not displayed.

This is the same problem as https://issues.guix.gnu.org/29905.  The
problem disappears when QT_PLUGIN_PATH is set.  I tested this by
installing qtsvg@5 in my profile alongside paraview-5.9.  The icons
show up.

So I suggest wrapping the executables in QT_PLUGIN_PATH just as we did
for krita and itk-snap.

-- 
Ricardo



[-- Attachment #2: 0001-gnu-Add-paraview-5.9.1.patch --]
[-- Type: text/x-patch, Size: 5207 bytes --]

From 2b067d0263210a6ac293cda9bdde906a871667ec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ontje=20L=C3=BCnsdorf?= <Ontje.Luensdorf@dlr.de>
Date: Wed, 2 Nov 2022 17:35:51 +0100
Subject: [PATCH] gnu: Add paraview 5.9.1.

* gnu/packages/image-processing.scm (paraview-5.9): New variable.

Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
---
 gnu/packages/image-processing.scm | 93 +++++++++++++++++++++++++++++++
 1 file changed, 93 insertions(+)

diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index 778f6c8538..84494b770a 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -54,6 +54,7 @@ (define-module (gnu packages image-processing)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
@@ -86,6 +87,7 @@ (define-module (gnu packages image-processing)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages tbb)
+  #:use-module (gnu packages textutils)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages video)
@@ -868,6 +870,97 @@ (define-public nip2
 recalculates.")
     (license license:gpl2+)))
 
+;; This package bundles and extends VTK.  It also reuses the VTK build system
+;; to some degree.  Sadly, it does not seem to be possible to build with an
+;; external VTK, despite the CMake option PARAVIEW_USE_EXTERNAL_VTK.
+(define-public paraview-5.9
+  (package
+    (name "paraview")
+    (version "5.9.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://www.paraview.org/files/v"
+                           (version-major+minor version)
+                           "/ParaView-v" version ".tar.xz"))
+       (sha256
+        (base32 "13aczmfshzia324h9r2m675yyrklz2308rf98n444ppmzfv6qj0d"))))
+    (build-system cmake-build-system)
+    (propagated-inputs
+     (list mesa qtbase-5 qtsvg-5 glew))
+    (inputs
+     (list ;; XXX: We can't simply #:use-module due to a cycle somewhere.
+           (module-ref
+            (resolve-interface '(gnu packages engineering))
+            'cgns)
+           cli11
+           double-conversion
+           eigen
+           expat
+           ffmpeg
+           freetype
+           gdal
+           gl2ps
+           hdf5
+           jsoncpp
+           libharu
+           libjpeg-turbo
+           libpng
+           libtheora
+           libtiff
+           libxml2
+           lz4
+           netcdf
+           protobuf
+           pugixml
+           python
+           qttools-5
+           qtxmlpatterns
+           utfcpp
+           zlib))
+    (arguments
+     (list
+      #:build-type "Release"        ;Build without debug symbols to save space
+      #:configure-flags
+      '(list "-DPARAVIEW_BUILD_WITH_EXTERNAL=ON"
+             "-DPARAVIEW_BUILD_SHARED_LIBS=ON"
+             "-DPARAVIEW_BUILD_DEVELOPER_DOCUMENTATION=OFF"
+             "-DPARAVIEW_USE_PYTHON=ON"
+             "-DPARAVIEW_ENABLE_FFMPEG=ON"
+             "-DPARAVIEW_ENABLE_GDAL=ON"
+             "-DPARAVIEW_ENABLE_WEB=OFF"
+
+             "-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_libxml2=ON"
+             "-DVTK_MODULE_USE_EXTERNAL_VTK_lz4=ON"
+             "-DVTK_MODULE_USE_EXTERNAL_VTK_lzma=ON"
+             "-DVTK_MODULE_USE_EXTERNAL_VTK_netcdf=ON"
+             "-DVTK_MODULE_USE_EXTERNAL_VTK_png=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"
+
+             "-DVTK_MODULE_USE_EXTERNAL_ParaView_vtkcatalyst=OFF"
+             "-DVTK_MODULE_USE_EXTERNAL_VTK_cgns=OFF"
+             "-DVTK_MODULE_USE_EXTERNAL_VTK_exprtk=OFF"
+             "-DVTK_MODULE_USE_EXTERNAL_VTK_fmt=OFF"
+             "-DVTK_MODULE_USE_EXTERNAL_VTK_ioss=OFF")))
+    (home-page "https://www.paraview.org/")
+    (synopsis "Data analysis and visualization application")
+    (description "ParaView is a data analysis and visualization application.
+Users can quickly build visualizations to analyze their data using qualitative
+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 vxl
   (package
     (name "vxl")
-- 
2.36.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#57679] [RFC PATCH] gnu: Add paraview.
  2022-11-02 16:50 ` Ricardo Wurmus
@ 2022-11-03 15:04   ` Ludovic Courtès
  0 siblings, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2022-11-03 15:04 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 57679, Ontje.Luensdorf

Hi,

Ricardo Wurmus <rekado@elephly.net> skribis:

> Attached is an earlier version of Paraview (5.9.1) that has been
> submitted by Ontje (in Cc).

Good.  I think you can push so we have a feeling of progress on this.

> @Ludo: there doesn’t seem to be a way to unbundle VTK, because Paraview
> is closely tied to VTK, reuses its build system to some extent, and is
> better understood as an *extension* to VTK than a client application
> using VTK merely as a library.  Upstream also commented that unbundling
> VTK is not a priority and would have to be supported by the community.

Alright.  The ‘guix-hpc’ channel has an older version that I packaged:

  https://gitlab.inria.fr/guix-hpc/guix-hpc/-/blob/master/inria/staging.scm

There was a ‘PARAVIEW_USE_EXTERNAL_VTK’ CMake flag, though apparently it
wasn’t enough.

Anyway, please make sure the reasons for not unbundling are documented
in comments, with links to relevant resources.

Thanks!

Ludo’.




^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#57679: [RFC PATCH] gnu: Add paraview.
  2022-09-08 15:24 [bug#57679] [RFC PATCH] gnu: Add paraview Paul A. Patience
  2022-09-24 13:33 ` Ludovic Courtès
  2022-11-02 16:50 ` Ricardo Wurmus
@ 2022-12-28 15:37 ` Ricardo Wurmus
  2 siblings, 0 replies; 7+ messages in thread
From: Ricardo Wurmus @ 2022-12-28 15:37 UTC (permalink / raw)
  To: 57679-done

I updated paraview from the release candidate to the release, used the
qt-build-system (which solves the problem with icons), moved it from
graphics to image-processing where I had previously added the other
variant of paraview and pushed it with commit
fc5dc3e04789a15d80a7b35987adaefc1a94b97c.

Thanks!

-- 
Ricardo




^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-12-28 15:40 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-08 15:24 [bug#57679] [RFC PATCH] gnu: Add paraview Paul A. Patience
2022-09-24 13:33 ` Ludovic Courtès
2022-09-26  0:54   ` Maxim Cournoyer
2022-09-28 15:02     ` Paul A. Patience
2022-11-02 16:50 ` Ricardo Wurmus
2022-11-03 15:04   ` Ludovic Courtès
2022-12-28 15:37 ` bug#57679: " Ricardo Wurmus

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).