NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
18.32k stars 14.29k forks source link

Package request: QIDISlicer #336869

Open j0hax opened 3 months ago

j0hax commented 3 months ago

Project description

QIDISlicer is a professional 3D printer slicing software,which is perfectly compatible with all printers and 3D printing filaments of QIDI Technology. Multi-platform support, simple inerface, easy to use, complate functions, easy to learn 3D printing. [sic]

This is essentially a PrusaSlicer fork for QIDI's printers.

I have started work on a derivation based on PrusaSlicer, but am having issues with linking: qidislicer.nix

Metadata

Add a :+1: reaction to issues you find important.

Status update: I get a WebKit linking error at around 99%. I'll keep playing around with dependencies, but as my hardware is fairly weak I can only compile when I don't need my computer for anything else. I may consider wrapping their AppImage in the meantime.

crabdancing commented 1 month ago

I took a crack at this, and got as far as this in a standalone flake:

error: builder for '/nix/store/hc4hhdxmrrpbs9vvklh9afby7jdn5dd2-qidi-slicer-1.1.6.drv' failed with exit code 2;
       last 10 log lines:
       > make[2]: *** [tests/slic3rutils/CMakeFiles/slic3rutils_tests.dir/build.make:186: tests/slic3rutils/slic3rutils_tests] Error 1
       > make[1]: *** [CMakeFiles/Makefile2:1531: tests/slic3rutils/CMakeFiles/slic3rutils_tests.dir/all] Error 2
       > make[1]: *** Waiting for unfinished jobs....
       > [100%] Linking CXX executable qidi-slicer
       > /nix/store/81xsp348yfgmaan9r5055mcdjfw7a8wc-binutils-2.42/bin/ld: slic3r/liblibslic3r_gui.a(WebView.cpp.o): undefined reference to symbol 'webkit_web_view_run_javascript_finish'
       > /nix/store/81xsp348yfgmaan9r5055mcdjfw7a8wc-binutils-2.42/bin/ld: /nix/store/f4hfbdd3jx3h9ygbsm0f4213ars07dxj-webkitgtk-2.44.3+abi=4.0/lib/libwebkit2gtk-4.0.so.37: error adding symbols: DSO missing from command line
       > collect2: error: ld returned 1 exit status
       > make[2]: *** [src/CMakeFiles/QIDISlicer.dir/build.make:155: src/qidi-slicer] Error 1
       > make[1]: *** [CMakeFiles/Makefile2:673: src/CMakeFiles/QIDISlicer.dir/all] Error 2
       > make: *** [Makefile:146: all] Error 2
       For full logs, run 'nix log /nix/store/hc4hhdxmrrpbs9vvklh9afby7jdn5dd2-qidi-slicer-1.1.6.drv'.

Probably the same error @j0hax got. I wonder if anyone with more experience in the C/C++ ecosystem has any ideas what to try?

My code is here: https://github.com/crabdancing/qidi-slicer-nix

crabdancing commented 1 month ago

@j0hax If you want me to test out any of your Nix expressions for packaging this, let me know. I have lots of effectively free compute cycles. :)

j0hax commented 1 month ago

@crabdancing Thanks for offering to help. I have a little more time now to experiment around myself. With V1.1.7 I'm actually getting a different error now (https://github.com/QIDITECH/QIDISlicer/issues/96), will keep trying to see how far I get in the next couple of days.