[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bindings
Subject:    [Kde-bindings] Building PyKDE with SIP v4.15.x
From:       Phil Thompson <phil () riverbankcomputing ! com>
Date:       2013-08-27 9:27:42
Message-ID: 599c5a54a146c169f1dc08773aa2ca7b () localhost
[Download RAW message or body]

I've been looking at the issues when building PyKDE using recent versions
of SIP (ie. v4.15.x). Here is an explanation of what (I think) is going on
and what needs to be done to fix it.

In short it's a combination of SIP, PyQt and PyKDE bugs. I believe that
the SIP and PyQt bugs are now fixed.

PyKDE has a number of bugs where some private reimplementations of
virtuals are missing from the .sip files. Two examples are
Akonadi::FavoriteCollectionsModel::setSourceModel() and
KRecursiveFilterProxyModel::filterAcceptsRow(). Prior to SIP v4.15 this
resulted in the generation of incorrect, but compilable, code. Changes in
SIP v4.15 meant that, if the .sip files are correct, then the correct code
is generated. If not then the generated code will not compile.

The changes in SIP v4.15 were themselves buggy (but that didn't affect
PyQt) and that was only partially resolved in SIP v4.15.1. The current SIP
snapshot is fixed properly.

There is a completely separate bug in PyQt v4.10.3 which means bad code is
generated only if bindings are created for a sub-class of
QSyntaxHighlighter and the -P flag is not passed to sip. PyKDE seems to
fall into that category. The result is the compiler complaining about
qtgui_wrap_ancestors().

So...

- Switch to using the current SIP snapshot. I will release a new version
of SIP when these issues are resolved.

- Work through each compilation failure updating the .sip files as
appropriate. Let me know of any issues that don't seem to be attributable
to what I have described.

- Update the PyKDE build process so that -P is always passed to sip. This
will result is smaller bindings anyway. If you really don't want to do
this then switch to the current PyQt4 snapshot.

Phil

_______________________________________________
Kde-bindings mailing list
Kde-bindings@kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic