diff mbox series

[bug#70445] gnu: blender: Add wrap-bin phase.

Message ID CAJ=RwfaMLCF-8NN_r5AqUHpXY-VQQpb3=86rD2TkhhDJTBN+7w@mail.gmail.com
State New
Headers show
Series [bug#70445] gnu: blender: Add wrap-bin phase. | expand

Commit Message

Thompson, David April 17, 2024, 11:49 p.m. UTC
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

Comments

Z572 April 21, 2024, 4:30 p.m. UTC | #1
"Thompson, David" <dthompson2@worcester.edu> writes:

> 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
>
> [2. text/x-patch; 0001-gnu-blender-Add-wrap-bin-phase.patch]...
thanks, work for me.
I adjust to use gexp for #:phases. 
and push, see https://git.savannah.gnu.org/cgit/guix.git/commit/?id=1d6811cec316910c360aa3bedbb3fc1b68e7000e.
diff mbox series

Patch

From 66305eda88e2d1967b6c241b34e79dcdee837f63 Mon Sep 17 00:00:00 2001
Message-ID: <66305eda88e2d1967b6c241b34e79dcdee837f63.1713394687.git.dthompson2@worcester.edu>
From: David Thompson <dthompson2@worcester.edu>
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