paraview: 5.13.2 -> 6.0.0 (#429266)

authored by Nick Cao and committed by GitHub 5bbfa10f d3d513cd

+120 -139
-137
pkgs/applications/graphics/paraview/default.nix
··· 1 - { 2 - lib, 3 - stdenv, 4 - fetchFromGitLab, 5 - fetchurl, 6 - boost, 7 - cmake, 8 - ffmpeg, 9 - libsForQt5, 10 - gdal, 11 - gfortran, 12 - libXt, 13 - makeWrapper, 14 - ninja, 15 - mpi, 16 - python312, 17 - tbb, 18 - libGLU, 19 - libGL, 20 - withDocs ? true, 21 - }: 22 - 23 - let 24 - version = "5.13.2"; 25 - 26 - docFiles = [ 27 - (fetchurl { 28 - url = "https://www.paraview.org/paraview-downloads/download.php?submit=Download&version=v${lib.versions.majorMinor version}&type=data&os=Sources&downloadFile=ParaViewTutorial-${version}.pdf"; 29 - name = "Tutorial.pdf"; 30 - hash = "sha256-jJ6YUT2rgVExfKv900LbSO+MDQ4u73K7cBScHxWoP+g="; 31 - }) 32 - (fetchurl { 33 - url = "https://www.paraview.org/paraview-downloads/download.php?submit=Download&version=v${lib.versions.majorMinor version}&type=data&os=Sources&downloadFile=ParaViewGettingStarted-${version}.pdf"; 34 - name = "GettingStarted.pdf"; 35 - hash = "sha256-ptPQA8By8Hj0qI5WRtw3ZhklelXeYeJwVaUdfd6msJM="; 36 - }) 37 - (fetchurl { 38 - url = "https://www.paraview.org/paraview-downloads/download.php?submit=Download&version=v${lib.versions.majorMinor version}&type=data&os=Sources&downloadFile=ParaViewCatalystGuide-${version}.pdf"; 39 - name = "CatalystGuide.pdf"; 40 - hash = "sha256-Pl7X5cBj3OralkOw5A29CtXnA+agYr6kWHf/+KZNHow="; 41 - }) 42 - ]; 43 - 44 - in 45 - stdenv.mkDerivation rec { 46 - pname = "paraview"; 47 - inherit version; 48 - 49 - src = fetchFromGitLab { 50 - domain = "gitlab.kitware.com"; 51 - owner = "paraview"; 52 - repo = "paraview"; 53 - rev = "v${version}"; 54 - hash = "sha256-29PLXVpvj8RLkSDWQgj5QjBZ6l1/0NoVx/qcJXOSssU="; 55 - fetchSubmodules = true; 56 - }; 57 - 58 - # Find the Qt platform plugin "minimal" 59 - preConfigure = '' 60 - export QT_PLUGIN_PATH=${libsForQt5.qtbase.bin}/${libsForQt5.qtbase.qtPluginPrefix} 61 - ''; 62 - 63 - cmakeFlags = [ 64 - "-DPARAVIEW_ENABLE_FFMPEG=ON" 65 - "-DPARAVIEW_ENABLE_GDAL=ON" 66 - "-DPARAVIEW_ENABLE_MOTIONFX=ON" 67 - "-DPARAVIEW_ENABLE_VISITBRIDGE=ON" 68 - "-DPARAVIEW_ENABLE_XDMF3=ON" 69 - "-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON" 70 - "-DPARAVIEW_USE_MPI=ON" 71 - "-DPARAVIEW_USE_PYTHON=ON" 72 - "-DVTK_SMP_IMPLEMENTATION_TYPE=TBB" 73 - "-DVTKm_ENABLE_MPI=ON" 74 - "-DCMAKE_INSTALL_LIBDIR=lib" 75 - "-DCMAKE_INSTALL_INCLUDEDIR=include" 76 - "-DCMAKE_INSTALL_BINDIR=bin" 77 - "-DOpenGL_GL_PREFERENCE=GLVND" 78 - "-GNinja" 79 - ]; 80 - 81 - nativeBuildInputs = [ 82 - cmake 83 - makeWrapper 84 - ninja 85 - gfortran 86 - libsForQt5.wrapQtAppsHook 87 - ]; 88 - 89 - buildInputs = [ 90 - libGLU 91 - libGL 92 - libXt 93 - mpi 94 - tbb 95 - boost 96 - ffmpeg 97 - gdal 98 - libsForQt5.qtbase 99 - libsForQt5.qtx11extras 100 - libsForQt5.qttools 101 - libsForQt5.qtxmlpatterns 102 - libsForQt5.qtsvg 103 - ]; 104 - 105 - postInstall = 106 - let 107 - docDir = "$out/share/paraview-${lib.versions.majorMinor version}/doc"; 108 - in 109 - lib.optionalString withDocs '' 110 - mkdir -p ${docDir}; 111 - for docFile in ${lib.concatStringsSep " " docFiles}; do 112 - cp $docFile ${docDir}/$(stripHash $docFile); 113 - done; 114 - ''; 115 - 116 - propagatedBuildInputs = [ 117 - (python312.withPackages ( 118 - ps: with ps; [ 119 - numpy 120 - matplotlib 121 - mpi4py 122 - ] 123 - )) 124 - ]; 125 - 126 - # 23k objects, >4h on a normal build slot 127 - requiredSystemFeatures = [ "big-parallel" ]; 128 - 129 - meta = { 130 - homepage = "https://www.paraview.org"; 131 - description = "3D Data analysis and visualization application"; 132 - license = lib.licenses.bsd3; 133 - maintainers = with lib.maintainers; [ guibert ]; 134 - changelog = "https://www.kitware.com/paraview-${lib.concatStringsSep "-" (lib.versions.splitVersion version)}-release-notes"; 135 - platforms = lib.platforms.linux; 136 - }; 137 - }
+120
pkgs/by-name/pa/paraview/package.nix
··· 1 + { 2 + lib, 3 + stdenv, 4 + fetchurl, 5 + cmake, 6 + ninja, 7 + qt6Packages, 8 + protobuf, 9 + vtk-full, 10 + testers, 11 + }: 12 + let 13 + paraviewFilesUrl = "https://www.paraview.org/files"; 14 + doc = fetchurl { 15 + url = "${paraviewFilesUrl}/v6.0/ParaViewGettingStarted-6.0.0.pdf"; 16 + name = "GettingStarted.pdf"; 17 + hash = "sha256-2ghvb0UXa0Z/YGWzCchB1NKowRdlC/ZQCI3y0tZUdbo="; 18 + }; 19 + examples = fetchurl { 20 + # see https://gitlab.kitware.com/paraview/paraview-superbuild/-/blob/v6.0.0/versions.cmake?ref_type=tags#L21 21 + url = "${paraviewFilesUrl}/data/ParaViewTutorialData-20220629.tar.gz"; 22 + hash = "sha256-OCLvWlwhBL9R981zXWZueMyXVeiqbxsmUYcwIu1doQ4="; 23 + }; 24 + in 25 + stdenv.mkDerivation (finalAttrs: { 26 + pname = "paraview"; 27 + version = "6.0.0"; 28 + 29 + src = fetchurl { 30 + url = "${paraviewFilesUrl}/v${lib.versions.majorMinor finalAttrs.version}/ParaView-v${finalAttrs.version}.tar.xz"; 31 + hash = "sha256-DuB65jd+Xpd2auv4WOuXWGaKUt8EHzGefJdQN6Y78Yk="; 32 + }; 33 + 34 + # When building paraview with external vtk, we can not infer resource_dir 35 + # from the path of vtk's libraries. Thus hardcoding the resource_dir. 36 + # See https://gitlab.kitware.com/paraview/paraview/-/issues/23043. 37 + postPatch = '' 38 + substituteInPlace Remoting/Core/vtkPVFileInformation.cxx \ 39 + --replace-fail "return resource_dir;" "return \"$out/share/paraview\";" 40 + ''; 41 + 42 + nativeBuildInputs = [ 43 + cmake 44 + ninja 45 + qt6Packages.wrapQtAppsHook 46 + vtk-full.vtkPackages.python3Packages.pythonRecompileBytecodeHook 47 + ]; 48 + 49 + # propagation required by paraview-config.cmake 50 + propagatedBuildInputs = [ 51 + qt6Packages.qttools 52 + qt6Packages.qt5compat 53 + protobuf 54 + vtk-full 55 + ]; 56 + 57 + cmakeFlags = [ 58 + (lib.cmakeBool "PARAVIEW_VERSIONED_INSTALL" false) 59 + (lib.cmakeBool "PARAVIEW_BUILD_WITH_EXTERNAL" true) 60 + (lib.cmakeBool "PARAVIEW_USE_EXTERNAL_VTK" true) 61 + (lib.cmakeBool "PARAVIEW_USE_QT" true) 62 + (lib.cmakeBool "PARAVIEW_USE_MPI" true) 63 + (lib.cmakeBool "PARAVIEW_USE_PYTHON" true) 64 + (lib.cmakeBool "PARAVIEW_ENABLE_WEB" true) 65 + (lib.cmakeBool "PARAVIEW_ENABLE_CATALYST" true) 66 + (lib.cmakeBool "PARAVIEW_ENABLE_VISITBRIDGE" true) 67 + (lib.cmakeBool "PARAVIEW_ENABLE_ADIOS2" true) 68 + (lib.cmakeBool "PARAVIEW_ENABLE_FFMPEG" true) 69 + (lib.cmakeBool "PARAVIEW_ENABLE_FIDES" true) 70 + (lib.cmakeBool "PARAVIEW_ENABLE_ALEMBIC" true) 71 + (lib.cmakeBool "PARAVIEW_ENABLE_LAS" true) 72 + (lib.cmakeBool "PARAVIEW_ENABLE_GDAL" true) 73 + (lib.cmakeBool "PARAVIEW_ENABLE_PDAL" true) 74 + (lib.cmakeBool "PARAVIEW_ENABLE_OPENTURNS" true) 75 + (lib.cmakeBool "PARAVIEW_ENABLE_MOTIONFX" true) 76 + (lib.cmakeBool "PARAVIEW_ENABLE_OCCT" true) 77 + (lib.cmakeBool "PARAVIEW_ENABLE_XDMF3" true) 78 + (lib.cmakeFeature "CMAKE_INSTALL_BINDIR" "bin") 79 + (lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "lib") 80 + (lib.cmakeFeature "CMAKE_INSTALL_INCLUDEDIR" "include") 81 + (lib.cmakeFeature "CMAKE_INSTALL_DOCDIR" "share/paraview/doc") 82 + ]; 83 + 84 + postInstall = '' 85 + install -Dm644 ${doc} $out/share/paraview/doc/${doc.name} 86 + mkdir -p $out/share/paraview/examples 87 + tar --strip-components=1 -xzf ${examples} -C $out/share/paraview/examples 88 + '' 89 + + lib.optionalString stdenv.hostPlatform.isLinux '' 90 + install -Dm644 ../Qt/Components/Resources/Icons/pvIcon.svg $out/share/icons/hicolor/scalable/apps/paraview.svg 91 + '' 92 + + lib.optionalString stdenv.hostPlatform.isDarwin '' 93 + ln -s ../Applications/paraview.app/Contents/MacOS/paraview $out/bin/paraview 94 + ''; 95 + 96 + passthru.tests = { 97 + cmake-config = testers.hasCmakeConfigModules { 98 + moduleNames = [ "ParaView" ]; 99 + 100 + package = finalAttrs.finalPackage; 101 + 102 + nativeBuildInputs = [ 103 + qt6Packages.wrapQtAppsHook 104 + ]; 105 + }; 106 + }; 107 + 108 + meta = { 109 + description = "3D Data analysis and visualization application"; 110 + homepage = "https://www.paraview.org"; 111 + changelog = "https://www.kitware.com/paraview-${lib.concatStringsSep "-" (lib.versions.splitVersion finalAttrs.version)}-release-notes"; 112 + mainProgram = "paraview"; 113 + license = lib.licenses.bsd3; 114 + platforms = lib.platforms.unix; 115 + maintainers = with lib.maintainers; [ 116 + guibert 117 + qbisi 118 + ]; 119 + }; 120 + })
-2
pkgs/top-level/all-packages.nix
··· 13130 13130 13131 13131 parsec-bin = callPackage ../applications/misc/parsec/bin.nix { }; 13132 13132 13133 - paraview = libsForQt5.callPackage ../applications/graphics/paraview { }; 13134 - 13135 13133 pekwm = callPackage ../by-name/pe/pekwm/package.nix { 13136 13134 awk = gawk; 13137 13135 grep = gnugrep;