"nomike (they/them)" <nom...@nomike.com> writes:

> Hi!
>
> prusa-slicer is currently at versionb 2.7.4 in guix which is 
> ridiculously outdated.
> I'm currently working on upgrading it to the latest version 2.9.2 and 
> I've already made quite some progress, but it looks like I'm stuck right 
> before the finish line.
>

Hi nomike!

Thanks for your efforts, here are my thoughts but please note that I am
not too experienced with Guix so feel free to disagree and make sure to
doubt!

> prusa-slicer is using cmake and the upstream devs have a habit of 
> bundling third partly libraries in their source code. In the current 
> package definition [0], those libraries are kicked out and replaced with 
> libraries from guix.
>
> I'm repeating that pattern.
>

Good idea 👍

> Besides that, I took some patches from Gentoo [1] as well. I looked 
> through them and kicked out the ones which seemed outdated or no longer 
> necessary.
>

prusaslicer-2.6.0-dont-force-link-to-wayland-and-x11.patch doesn’t seem
like a good idea in our case. Since you mention it is from Gentoo, they
might have done that because they want to add the libraries with USE
flags but in the case of Guix we want to support all usages (aka all USE
flags).

For the cgal 6.0 patch, it would be better if we could use a version of
CGAL that upstreams expect, since this is a big patch (so big
maintaining burden).

For the other patches, I’m not really sure what they are for so please
add comments in them to explain.

> Prusa also reverted back to an older version of opencascade-occt due to 
> the newer version allegedly having a bug which hasn't been fixed yet. I 
> submitted this separately already [2].
>

It’s taking a very long time to build on my end, so I will send the rest
of my comments tomorrow when it will be done.

> There are some fairly self-explanatory substitutions in my new package 
> definition, but one thing I can't get working is the linking to `hidapi`.
>
> These are the last few log lines of the build process:

Please send your logs as attachment!

>
> The hidapi documentation talks about automake being deprecated and CMake 
> being the new preferred build-system. But as hidapi currently has a lot 
> of dependencies, for now I opted to not touching it and adding 
> hidapi-cmake as a separate package. With prusaslicer using CMake itself, 
> I figured it would be easier to succeed (I'm not all too familiar with 
> CMake to be honest). So if anyone has any opinion about that, this would 
> be helpful.

CMake can use non-cmake dependencies, so you should be able to get away
with using normal hidapi and the find_package() call you have.

>
> I've created some preliminary patches so I can attach it to that email. 
> Once everything is done, I will do some cleanup and properly submit them.
>
> So if anyone can share an idea about how to get this working, it would 
> be greatly appreciated.
>
> Let me know please, if I can provide any additional information.
>
> Thanks a lot!
>
> nomike
>

Its looking good so far :) Usually linking issues are odd but never
impossible to fix!

>
> [0] 
> https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/engineering.scm#n4403
> [1] https://packages.gentoo.org/packages/media-gfx/prusaslicer
> [2] https://issues.guix.gnu.org/77881

Also, there are a lot of trailing spaces in your patch. Make sure to
clear them up!

Have a nice day,
Noé

Attachment: signature.asc
Description: PGP signature

Reply via email to