nixpkgs/pkgs/applications/graphics/paraview/default.nix

92 lines
2.4 KiB
Nix
Raw Normal View History

2020-06-07 18:42:19 +01:00
{ boost, cmake, fetchFromGitHub, ffmpeg, qtbase, qtx11extras,
qttools, qtxmlpatterns, qtsvg, gdal, gfortran, libXt, makeWrapper,
mkDerivation, ninja, mpi, python3, lib, tbb, libGLU, libGL }:
mkDerivation rec {
pname = "paraview";
2020-06-07 18:42:19 +01:00
version = "5.8.0";
2017-09-10 17:00:38 +01:00
src = fetchFromGitHub {
owner = "Kitware";
repo = "ParaView";
rev = "v${version}";
2020-06-07 18:42:19 +01:00
sha256 = "1mka6wwg9mbkqi3phs29mvxq6qbc44sspbm4awwamqhilh4grhrj";
2017-09-10 17:00:38 +01:00
fetchSubmodules = true;
};
2020-06-07 18:42:19 +01:00
# 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}
'';
2017-09-10 17:00:38 +01:00
# During build, binaries are called that rely on freshly built
# libraries. These reside in build/lib, and are not found by
# default.
preBuild = ''
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/lib:$PWD/VTK/ThirdParty/vtkm/vtk-m/lib
'';
2020-06-07 18:42:19 +01:00
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 = [
2017-12-01 12:20:15 +00:00
cmake
makeWrapper
2020-06-07 18:42:19 +01:00
ninja
gfortran
];
buildInputs = [
2019-11-10 16:44:34 +00:00
libGLU libGL
2017-12-01 12:20:15 +00:00
libXt
mpi
2020-06-07 18:42:19 +01:00
tbb
boost
ffmpeg
gdal
2017-12-01 12:20:15 +00:00
qtbase
qtx11extras
qttools
qtxmlpatterns
2020-06-07 18:42:19 +01:00
qtsvg
2017-12-01 12:20:15 +00:00
];
2017-09-10 17:00:38 +01:00
propagatedBuildInputs = [
(python3.withPackages (ps: with ps; [ numpy matplotlib mpi4py ]))
];
meta = with lib; {
2020-06-07 18:42:19 +01:00
homepage = "https://www.paraview.org/";
description = "3D Data analysis and visualization application";
license = licenses.free;
maintainers = with maintainers; [ guibert ];
platforms = platforms.linux;
};
}