summary refs log tree commit diff
path: root/pkgs/applications/misc/blender
diff options
context:
space:
mode:
authorlucasew <lucas59356@gmail.com>2022-01-08 10:27:21 -0300
committerlucasew <lucas59356@gmail.com>2022-01-13 11:07:25 -0300
commit56b407d573f33218365404e720812a9377819824 (patch)
tree0b5391b29f0bd93b75bc1d1c3f543e45488a631c /pkgs/applications/misc/blender
parentd2b979b35497b20ce9f4b6616c206686014b5061 (diff)
downloadnixpkgs-56b407d573f33218365404e720812a9377819824.tar
nixpkgs-56b407d573f33218365404e720812a9377819824.tar.gz
nixpkgs-56b407d573f33218365404e720812a9377819824.tar.bz2
nixpkgs-56b407d573f33218365404e720812a9377819824.tar.lz
nixpkgs-56b407d573f33218365404e720812a9377819824.tar.xz
nixpkgs-56b407d573f33218365404e720812a9377819824.tar.zst
nixpkgs-56b407d573f33218365404e720812a9377819824.zip
blender-with-packages: add wrapper to load python packages with blender
Signed-off-by: lucasew <lucas59356@gmail.com>
Diffstat (limited to 'pkgs/applications/misc/blender')
-rw-r--r--pkgs/applications/misc/blender/wrapper.nix39
1 files changed, 39 insertions, 0 deletions
diff --git a/pkgs/applications/misc/blender/wrapper.nix b/pkgs/applications/misc/blender/wrapper.nix
new file mode 100644
index 00000000000..24ff72e14f6
--- /dev/null
+++ b/pkgs/applications/misc/blender/wrapper.nix
@@ -0,0 +1,39 @@
+{ stdenv
+, lib
+, blender
+, makeWrapper
+, python39Packages
+}:
+{ name ? "wrapped"
+, packages ? []
+}:
+stdenv.mkDerivation {
+  pname = "blender-${name}";
+  inherit (blender) version;
+  src = blender;
+
+  nativeBuildInputs = [ python39Packages.wrapPython makeWrapper ];
+  installPhase = ''
+    mkdir $out/{share/applications,bin} -p
+    sed 's/Exec=blender/Exec=blender-${name}/g' $src/share/applications/blender.desktop > $out/share/applications/blender-${name}.desktop
+    cp -r $src/share/blender $out/share
+    cp -r $src/share/doc $out/share
+    cp -r $src/share/icons $out/share
+
+    buildPythonPath "$pythonPath"
+
+    echo '#!/usr/bin/env bash ' >> $out/bin/blender-${name}
+    for p in $program_PATH; do
+      echo "export PATH=\$PATH:$p " >> $out/bin/blender-${name}
+    done
+    for p in $program_PYTHONPATH; do
+      echo "export PYTHONPATH=\$PYTHONPATH:$p " >> $out/bin/blender-${name}
+    done
+    echo 'exec ${blender}/bin/blender "$@"' >> $out/bin/blender-${name}
+    chmod +x $out/bin/blender-${name}
+  '';
+
+  pythonPath = packages;
+
+  meta = blender.meta;
+}