From 854e0691074067a0991ff7f147ad4a28409dbf4b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 30 Mar 2018 21:58:28 +0200 Subject: [PATCH] blender: Optionally enable numpy support This is required by some included addons (such as ANT landscape). Note that we can't use -DWITH_PYTHON_INSTALL_NUMPY=ON because it's conditional on -DWITH_PYTHON_INSTALL=ON. --- pkgs/applications/misc/blender/default.nix | 12 +++++++++++- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix index 0ccca916a1e..c4c57380be9 100644 --- a/pkgs/applications/misc/blender/default.nix +++ b/pkgs/applications/misc/blender/default.nix @@ -1,15 +1,18 @@ { stdenv, lib, fetchurl, boost, cmake, ffmpeg, gettext, glew , ilmbase, libXi, libX11, libXext, libXrender , libjpeg, libpng, libsamplerate, libsndfile -, libtiff, libGLU_combined, openal, opencolorio, openexr, openimageio, openjpeg_1, python +, libtiff, libGLU_combined, openal, opencolorio, openexr, openimageio, openjpeg_1, pythonPackages , zlib, fftw, opensubdiv, freetype, jemalloc, ocl-icd , jackaudioSupport ? false, libjack2 , cudaSupport ? false, cudatoolkit , colladaSupport ? true, opencollada +, enableNumpy ? false, makeWrapper }: with lib; +let python = pythonPackages.python; in + stdenv.mkDerivation rec { name = "blender-2.79b"; @@ -24,6 +27,7 @@ stdenv.mkDerivation rec { freetype libjpeg libpng libsamplerate libsndfile libtiff libGLU_combined openal opencolorio openexr openimageio openjpeg_1 python zlib fftw jemalloc (opensubdiv.override { inherit cudaSupport; }) + makeWrapper ] ++ optional jackaudioSupport libjack2 ++ optional cudaSupport cudatoolkit @@ -70,6 +74,12 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + postInstall = optionalString enableNumpy + '' + wrapProgram $out/bin/blender \ + --prefix PYTHONPATH : ${pythonPackages.numpy}/lib/python${python.majorVersion}/site-packages + ''; + meta = with stdenv.lib; { description = "3D Creation/Animation/Publishing System"; homepage = https://www.blender.org; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a2be52c9fce..be8abf36329 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14904,7 +14904,7 @@ with pkgs; blender = callPackage ../applications/misc/blender { cudaSupport = config.cudaSupport or false; - python = python35; + pythonPackages = python35Packages; stdenv = overrideCC stdenv gcc6; };