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