summary refs log tree commit diff
path: root/pkgs/applications/graphics
diff options
context:
space:
mode:
authorDavid Guibert <david.guibert@gmail.com>2020-06-18 22:23:26 +0200
committerGitHub <noreply@github.com>2020-06-18 22:23:26 +0200
commite1e044e70eba8c624b7eb1e54eab08c6ee4f55dd (patch)
tree238190fe6c112fdd8171698d6861d08125772b73 /pkgs/applications/graphics
parentd1037c682ecb4daca631a95c4054cdbfedd8ff13 (diff)
parent7d424a400d5eed099b4d1d8ab6221cceebe8b708 (diff)
downloadnixpkgs-e1e044e70eba8c624b7eb1e54eab08c6ee4f55dd.tar
nixpkgs-e1e044e70eba8c624b7eb1e54eab08c6ee4f55dd.tar.gz
nixpkgs-e1e044e70eba8c624b7eb1e54eab08c6ee4f55dd.tar.bz2
nixpkgs-e1e044e70eba8c624b7eb1e54eab08c6ee4f55dd.tar.lz
nixpkgs-e1e044e70eba8c624b7eb1e54eab08c6ee4f55dd.tar.xz
nixpkgs-e1e044e70eba8c624b7eb1e54eab08c6ee4f55dd.tar.zst
nixpkgs-e1e044e70eba8c624b7eb1e54eab08c6ee4f55dd.zip
Merge pull request #90072 from jobojeha/paraview_5_8
paraview: 5.6.3 -> 5.8.0
Diffstat (limited to 'pkgs/applications/graphics')
-rw-r--r--pkgs/applications/graphics/paraview/default.nix74
1 files changed, 47 insertions, 27 deletions
diff --git a/pkgs/applications/graphics/paraview/default.nix b/pkgs/applications/graphics/paraview/default.nix
index 15d70d14308..b201f9dbf0d 100644
--- a/pkgs/applications/graphics/paraview/default.nix
+++ b/pkgs/applications/graphics/paraview/default.nix
@@ -1,26 +1,33 @@
-{ stdenv, fetchFromGitHub, cmake, makeWrapper, qtbase , qttools, python
-, libGLU, libGL , libXt, qtx11extras, qtxmlpatterns , mkDerivation }:
+{ boost, cmake, fetchFromGitHub, ffmpeg, qtbase, qtx11extras,
+  qttools, qtxmlpatterns, qtsvg, gdal, gfortran, libXt, makeWrapper,
+  mkDerivation, ninja, openmpi, python3, stdenv, tbb, libGLU, libGL }:
 
 mkDerivation rec {
   pname = "paraview";
-  version = "5.6.3";
+  version = "5.8.0";
 
-  # fetching from GitHub instead of taking an "official" source
-  # tarball because of missing submodules there
   src = fetchFromGitHub {
     owner = "Kitware";
     repo = "ParaView";
     rev = "v${version}";
-    sha256 = "0zcij59pg47c45gfddnpbin13w16smzhcbivzm1k4pg4366wxq1q";
+    sha256 = "1mka6wwg9mbkqi3phs29mvxq6qbc44sspbm4awwamqhilh4grhrj";
     fetchSubmodules = true;
   };
 
-  cmakeFlags = [
-    "-DPARAVIEW_ENABLE_PYTHON=ON"
-    "-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON"
-    "-DPARAVIEW_ENABLE_EMBEDDED_DOCUMENTATION=OFF"
-    "-DOpenGL_GL_PREFERENCE=GLVND"
-  ];
+  # Avoid error: format not a string literal and
+  # no format arguments [-Werror=format-security]
+  preConfigure = ''
+    substituteInPlace VTK/Common/Core/vtkLogger.h \
+      --replace 'vtkLogScopeF(verbosity_name, __func__)' 'vtkLogScopeF(verbosity_name, "%s", __func__)'
+
+    substituteInPlace VTK/Common/Core/vtkLogger.h \
+      --replace 'vtkVLogScopeF(level, __func__)' 'vtkVLogScopeF(level, "%s", __func__)'
+  '';
+
+  # Find the Qt platform plugin "minimal"
+  patchPhase = ''
+    export QT_PLUGIN_PATH=${qtbase.bin}/${qtbase.qtPluginPrefix}
+  '';
 
   # During build, binaries are called that rely on freshly built
   # libraries.  These reside in build/lib, and are not found by
@@ -29,37 +36,50 @@ mkDerivation rec {
     export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/lib:$PWD/VTK/ThirdParty/vtkm/vtk-m/lib
   '';
 
-  enableParallelBuilding = true;
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DPARAVIEW_ENABLE_FFMPEG=ON"
+    "-DPARAVIEW_ENABLE_GDAL=ON"
+    "-DPARAVIEW_ENABLE_MOTIONFX=ON"
+    "-DPARAVIEW_ENABLE_VISITBRIDGE=ON"
+    "-DPARAVIEW_ENABLE_XDMF3=ON"
+    "-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON"
+    "-DPARAVIEW_USE_MPI=ON"
+    "-DPARAVIEW_USE_PYTHON=ON"
+    "-DVTK_SMP_IMPLEMENTATION_TYPE=TBB"
+    "-DVTKm_ENABLE_MPI=ON"
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+    "-DCMAKE_INSTALL_INCLUDEDIR=include"
+    "-DCMAKE_INSTALL_BINDIR=bin"
+    "-DOpenGL_GL_PREFERENCE=GLVND"
+    "-GNinja"
+  ];
 
   nativeBuildInputs = [
     cmake
     makeWrapper
+    ninja
+    gfortran
   ];
 
   buildInputs = [
-    python
-    python.pkgs.numpy
     libGLU libGL
     libXt
+    openmpi
+    (python3.withPackages (ps: with ps; [ numpy matplotlib mpi4py ]))
+    tbb
+    boost
+    ffmpeg
+    gdal
     qtbase
     qtx11extras
     qttools
     qtxmlpatterns
+    qtsvg
   ];
 
-  # Paraview links into the Python library, resolving symbolic links on the way,
-  # so we need to put the correct sitePackages (with numpy) back on the path
-  preFixup = ''
-    wrapQtApp $out/bin/paraview \
-      --prefix PYTHONPATH "${python.pkgs.numpy}/${python.sitePackages}"
-    wrapQtApp $out/bin/pvbatch \
-      --prefix PYTHONPATH "${python.pkgs.numpy}/${python.sitePackages}"
-    wrapQtApp $out/bin/pvpython \
-      --prefix PYTHONPATH "${python.pkgs.numpy}/${python.sitePackages}"
-  '';
-
   meta = with stdenv.lib; {
-    homepage = "http://www.paraview.org/";
+    homepage = "https://www.paraview.org/";
     description = "3D Data analysis and visualization application";
     license = licenses.free;
     maintainers = with maintainers; [ guibert ];