all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ekaitz Zarraga <ekaitz@elenq.tech>
To: "Théo Maxime Tyburn" <theo.tyburn@gmail.com>
Cc: Maxime Devos <maximedevos@telenet.be>, guix-devel@gnu.org
Subject: Re: Blender export backend missing
Date: Sun, 22 May 2022 18:02:19 +0000	[thread overview]
Message-ID: <sq2O_q6x4U4BGmptQYVnbOw6qnWD40s5IBl3_UMA0Jrj-MZy9gOniXnEHEcKIJGleEasWdOdx_Dl2ncj8oZY4TVL8NldAeinVBdwHcRHk0M=@elenq.tech> (raw)
In-Reply-To: <87v8tx8nt3.fsf@gmail.com>

Hi

------- Original Message -------
On Sunday, May 22nd, 2022 at 3:49 PM, Théo Maxime Tyburn <theo.tyburn@gmail.com> wrote:


> Hi
>
> Ekaitz Zarraga ekaitz@elenq.tech writes:
>
> > Make sure the version of alembic we have packaged is the one Blender expects.
> >
> > Sometimes the APIs change and that may led to that kind of errors.
>
>
> The version of alembic that blender 3.0.1 requires is the same we
> have.
>
> The problem might come from another version mismastch problem. Namely
> with OpenEXR. OpenEXR
> version 2.x provided Imath inside of its subdirectory Ilmbase, for
> which we also have a separate package. From version 3.x of OpenEXR, Imath
> became a separate package. The guix blender package still uses openexr
> version 2.x. and its subpackage ilmbase. However guix package alembic uses the new imath. Blender
> upstream actually also expect openexr 3.x and imath.
>
> The quick and dirty fix is to just downgrade alembic. I just tried it
> and it works. So at least we can work with alembic files in blender now.
>
> A better fix would be to add openexr 3.x and imath
> to blender package’s inputs and remove openexr-2 and ilmbase.
>
> I tried that but it doesn’t work. The error is
> --8<---------------cut here---------------start------------->8---
>
> CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
> Please set them or make sure they are set and tested correctly in the CMake files:
> OPENEXR_HALF_LIBRARY (ADVANCED)
> linked by target "cycles_scene" in directory /tmp/guix-build-blender-3.0.1.drv-0/blender-3.0.1/intern/cycles/scene
> OPENEXR_ILMIMF_LIBRARY (ADVANCED)
> linked by target "cycles_scene" in directory /tmp/guix-build-blender-3.0.1.drv-0/blender-3.0.1/intern/cycles/scene
> --8<---------------cut here---------------end--------------->8---
>
>
> It seems this is due to some error in the cmake of blender’s source. Some
> other packge maintainers have come across the same issue aparently
> https://devtalk.blender.org/t/building-blender-2-93-3-with-the-new-half-implementation-of-openexr-that-uses-half-of-imath/20074.
> I guess it has not been fixed in upstream blender yet. There is a patch though
> here
> https://github.com/bartoszek/AUR-blender-2.83-git/blob/master/openexr3.patch
>
> So this could be the better solution if want to rely on that patch. Do we?
> I also have no idea how to apply a patch from another repo in a package
> definition though. Any idea?
>
> A general build / packaging question: For testing purposes I sometimes want to just try some command in the
> build environment. Like applying this patch for example. Is there a
> simple way to somehow enter the build env and do things from there
> imperatively, just to quickly check some things?
>
> Best,
>
> Théo


You can try to build the package with `guix build -K` and then interact with the build process. The -K is going to keep the build directory and gives you the folder where it was building everything, then you can `cd` there and use the environment file that appears there to set up the same container where guix was building the package. You just need to load the file to your shell.

Also, you can add the patches directly with the guix package itself, look how `4store` does it: it adds a `patches` field in the `source` and those are applied when the code is downloaded.
If the patch you want to apply is small you can do it with regex substitutions too, but this looks better for your case.

I know this is a huge effort, I had to deal with similar things in Blender and Meshlab in the past, so I'm here to help!

Good job,
Ekaitz


  reply	other threads:[~2022-05-22 18:03 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-19 13:05 Blender export backend missing Théo Maxime Tyburn
2022-05-19 14:00 ` Maxime Devos
2022-05-19 21:52   ` Théo Maxime Tyburn
2022-05-20 21:36   ` Théo Maxime Tyburn
2022-05-20 22:03     ` Ekaitz Zarraga
2022-05-22 13:49       ` Théo Maxime Tyburn
2022-05-22 18:02         ` Ekaitz Zarraga [this message]
2022-05-26 10:56           ` Théo Maxime Tyburn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='sq2O_q6x4U4BGmptQYVnbOw6qnWD40s5IBl3_UMA0Jrj-MZy9gOniXnEHEcKIJGleEasWdOdx_Dl2ncj8oZY4TVL8NldAeinVBdwHcRHk0M=@elenq.tech' \
    --to=ekaitz@elenq.tech \
    --cc=guix-devel@gnu.org \
    --cc=maximedevos@telenet.be \
    --cc=theo.tyburn@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.