On Saturday 09 September 2006 16:36, Phil Thompson wrote: > On Friday 08 September 2006 8:46 pm, Simon Edwards wrote: > > What we want to be able to tell users and 3rd party developers is that a > > KDE 4.0 application written in Python will work fine on any 4.0+ version > > of > > KDE, just like how it is with C++ apps. By just work fine, I mean that > > binary packages containing SIP wrapped C++ classes and normal Python code > > should stay working between versions. This seems to require that SIP and > > libsip maintain BC during the KDE 4 series. I'd like to see mixed language > > development supported. Is this realistic? or should no BC guarantees be > > given? Phil, what are your thoughts about SIP binary compatibiity in the > > future? > > I think SIP and PyKDE binary compatibility are irrelevant because Python 2.m > may not be binary compatible with Python 2.n. Any benefits of KDE requiring > compatibility are immediately lost so I can't see the point in imposing the > requirement in the first place.
Although the situation is hardly perfect, it is not quite as bad as what you might think. What distros do is support installing multiple versions of python and then package modules for specific versions. Using Debian/Kubuntu as an example, you would see packages called: python2.4-qt python2.4-kde and python2.5-qt python2.5-kde Then if I have a KDE program PyFoo that includes a Python C module (or sip wrapper) and was developed for KDE 4.0, it will called something PyFoo2.5 and require KDE 4.0 or later. When KDE 4.1 comes out maybe Python 2.6 is also out, but the packager has also made a python2.5-qt and python2.5-kde for KDE 4.1 which is enough to run the older PyFoo2.5 package. This can only work if sip and libsip remain backwards compatible during the lifetime of KDE4. Although not perfect, there is still a lot of compatibility to be had without having to recompile everything everytime a new KDE and Python come out. To make this possible PyKDE in KDE4 will need to support compiling to different target Python versions. Another requirement we need to keep in mind for KDE 4. Without a high degree of backwards compatibility, sip is not an option for 3rd party developers who want to do mixed language development and distribute thier product to a large audience. Support for mixed language development is a big feature of sip, PyQt and PyKDE that we really need to have for KDE4 to make it the best development environment possible. cheers, -- Simon Edwards | KDE-NL, Guidance tools, Guarddog Firewall [EMAIL PROTECTED] | http://www.simonzone.com/software/ Nijmegen, The Netherlands | "ZooTV? You made the right choice." _______________________________________________ PyKDE mailing list PyKDE@mats.imk.fraunhofer.de http://mats.imk.fraunhofer.de/mailman/listinfo/pykde