From 7d424a400d5eed099b4d1d8ab6221cceebe8b708 Mon Sep 17 00:00:00 2001 From: Jonathan Jeppener-Haltenhoff Date: Sun, 7 Jun 2020 19:42:19 +0200 Subject: [PATCH] paraview: 5.6.3 -> 5.8.0 --- .../graphics/paraview/default.nix | 74 ++++++++++++------- 1 file 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 ];