From dff672ec7c3044928c838e973e4e82fe212f7e2c Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Mon, 19 Mar 2018 16:43:03 +0100 Subject: [PATCH] paraview: include numpy in python environment The Python filter functionality in Paraview requires numpy, which is currently not included. Changes are based on the discussion in issue #37118. --- .../graphics/paraview/default.nix | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/graphics/paraview/default.nix b/pkgs/applications/graphics/paraview/default.nix index 42b69e24926..e5385c75280 100644 --- a/pkgs/applications/graphics/paraview/default.nix +++ b/pkgs/applications/graphics/paraview/default.nix @@ -1,5 +1,5 @@ { -stdenv, fetchFromGitHub, cmake +stdenv, fetchFromGitHub, cmake, makeWrapper ,qtbase, qttools, python, libGLU_combined ,libXt, qtx11extras, qtxmlpatterns }: @@ -18,11 +18,11 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; - cmakeFlags = [ - "-DPARAVIEW_ENABLE_PYTHON=ON" - "-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON" - "-DPARAVIEW_ENABLE_EMBEDDED_DOCUMENTATION=OFF" - ]; + cmakeFlags = [ + "-DPARAVIEW_ENABLE_PYTHON=ON" + "-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON" + "-DPARAVIEW_ENABLE_EMBEDDED_DOCUMENTATION=OFF" + ]; # During build, binaries are called that rely on freshly built # libraries. These reside in build/lib, and are not found by @@ -35,10 +35,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake + makeWrapper ]; buildInputs = [ python + python.pkgs.numpy libGLU_combined libXt qtbase @@ -47,6 +49,16 @@ stdenv.mkDerivation rec { qtxmlpatterns ]; + # 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 + postInstall = '' + wrapProgram $out/bin/paraview \ + --set PYTHONPATH "${python.pkgs.numpy}/${python.sitePackages}" + wrapProgram $out/bin/pvbatch \ + --set PYTHONPATH "${python.pkgs.numpy}/${python.sitePackages}" + wrapProgram $out/bin/pvpython \ + --set PYTHONPATH "${python.pkgs.numpy}/${python.sitePackages}" + ''; meta = { homepage = http://www.paraview.org/;