Subject: [PATCH] gnu: blender: Add wrap-bin phase.
From: "Thompson, David" <[email-masked]>
To: Ryan Prior via Guix-patches <[email-masked]>
Date: Wed, 17 Apr 2024 19:49:39 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi all,

I started learning Blender this past week and when I tried to export a
model to glTF I was shown an error console saying that the numpy
module couldn't be found. We already had python-numpy in the inputs
list, but the blender binary was not being wrapped to add it to
Python's load path. This patch fixes this and presumably fixes other
extensions that use Python modules.

Thanks,

- Dave
From 66305eda88e2d1967b6c241b34e79dcdee837f63 Mon Sep 17 00:00:00 2001
Message-ID: <66[email-masked]>
From: David Thompson <[email-masked]>
Date: Wed, 17 Apr 2024 18:50:49 -0400
Subject: [PATCH] gnu: blender: Add wrap-bin phase.

* gnu/packages/graphics.scm (blender)[arguments]: Add wrap-bin phase to set proper
GUIX_PYTHONPATH.
[inputs]: Add bash-minimal per 'guix lint'.

Change-Id: I435957baf181ef7f92d4160529439357e16714f6
---
 gnu/packages/graphics.scm | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 85e4eed3b1..5a8c907ccd 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -543,9 +543,18 @@ (define-public blender
                 (string-append "-DPYTHON_NUMPY_PATH="
                                (assoc-ref %build-inputs "python-numpy")
                                "/lib/python" #$python-version
-                               "/site-packages/")))))
+                               "/site-packages/")))
+      #:phases
+      '(modify-phases %standard-phases
+         (add-after 'install 'wrap-bin
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (python-path (getenv "GUIX_PYTHONPATH")))
+               (wrap-program (string-append out "/bin/blender")
+                 `("GUIX_PYTHONPATH" ":" prefix (,python-path)))))))))
     (inputs
-     (list boost
+     (list bash-minimal
+           boost
            bullet
            eigen
            embree

base-commit: dbfb691c5b4bc66682657ebf124815f5b93fcdbd
-- 
2.41.0