Ultimaker / libSavitar

libSavitar is a c++ implementation of 3mf loading with SIP python bindings.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Update to SIP5

bnavigator opened this issue · comments

From #26

There are a number of problems with this pull request:

  • It doesn't seem to work. At least, the automated test is failing with that it can't find sip.h. We'd also need to update the build environment to have this SIP version.
  • It makes this repository depend on PyQt5. libSavitar doesn't have anything to do with Qt so that's an unreasonable dependency.
  • I don't really see a reason for us to update. We're not using anything in SIP 5.

For these reasons I'll reject this pull request, sorry.

Originally posted by @Ghostkeeper in #26 (comment)

  • It makes this repository depend on PyQt5. libSavitar doesn't have anything to do with Qt so that's an unreasonable dependency.

This is not true. You just need PyQt5-sip

  • I don't really see a reason for us to update. We're not using anything in SIP 5.

The fact that SIP4 is deprecated is a big reasion, IMHO. Please reconsider.

Why post this in a new issue? The PR was closed, not locked.

I wanted to open a new PR that closes an open issue, but then I realized the part "we need to update the build environment" goes to a different repository so I abandoned the idea.

See for successful builds on openSUSE Linux with PyQt5-sip but not PyQt or Qt in the build environment: https://build.opensuse.org/package/show/home:bnavigator:sip5:curalibs_patched/libSavitar
(Note to time travelers: That link will probably break in the future. Here is the build log in a more permanent hosting:
libSavitar_patched_log.txt

When you use sip-module, you probably don't even need PyQt5.sip but build your own sip module:
https://www.riverbankcomputing.com/static/Docs/sip/introduction.html#overview

We'd need to update all of our repositories with Python bindings at the same time, mind you, for this to have any real effect. That is libSavitar, libArcus and pynest2d.

SIP being deprecated means that it will not get any bug fixes if bugs should occur. That is a good reason to update, but so far we're not hitting any real bugs in there. I understand it's a pain to develop a Zypper (or apt/yum/etc) package then, but that's one of the reasons why we switched to using AppImage instead. I don't think we will update until we find an issue with it.

Not updating makes packaging newer versions of Cura for Linux distributions much harder/impossible in the long run and they may have to consider dropping it :/