KDE 4 (was: [PyKDE] PyQt 4 on openSUSE)
Simon Edwards
simon at simonzone.com
Mon Sep 11 19:47:31 BST 2006
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
simon at simonzone.com | http://www.simonzone.com/software/
Nijmegen, The Netherlands | "ZooTV? You made the right choice."
More information about the PyQt
mailing list