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

List:       kde-devel
Subject:    Re: PerlQt/PerlKDE
From:       Jorg Ziefle <gt4556a () prism ! gatech ! edu>
Date:       2001-03-25 21:04:40
[Download RAW message or body]

[Initially, this was a private reply to the quoted email to the mailing
list.  However, as the content is of interest for the public, I sent a
copy here.]

On Sun, Mar 25, 2001 at 12:14:18PM +0200, Enrico Donelli wrote:

> I posted yesterday on kde-devel mailing list a question abuot the
> perlKDE toolkit: I tried too to contact the author but with no
> response.

As for PerlQt/PerlKDE, we have a (little) problem.  Yes, the author is
not reachable any more.  Believe me, I tried just about anything and
asked just about anyone (in the Perl and KDE community, at least), but
to no avail.  IMHO, that has the following impact on the development of
the modules:

* As the modules are both written using the XS interface of Perl.  The
* author, Ashley Winters, used his own specialized tools to generate
the XS files.
* Such an automatation seems necessary because Qt and KDE consists of
several hundred classes with several thousand methods in total.  The
thought of writing this by hand is frightening :)
* As we can't reach the author, we can't get his tools.  Nobody else
seems to have the tools as well (I tried already).
* That means that it will be difficult to maintain his packages (PerlKDE
is for KDE version 1 anyway), because one has to edit everything by hand
in the future.
* The possibilities one has is to live with it, to rewrite his tools
from scratch, or to start over from scratch using another method.
* I prefer the last approach because several new KDE/Qt bindings were
created in the last time that could prove to be very helpful.
* Especially the Ruby/Qt and Ruby/KDE bindings
(http://sfns.u-shizuoka-ken.ac.jp/geneng/horie_hp/ruby/index.html) could
be very helpful.  The author uses SWIG (Simplified Wrapper and Interface
Generator, http://www.swig.org/) to automatically generate the bindings
with very little hand editing.  The Qt version is quite complete and up
to date, but the KDE version is for version 1.  The Good Thing(tm) is
that SWIG uses interface files (.i) that are essentially the same for
every language to be interfaced.  That means that we can use _his_ files
to generate _our_ bindings.  Of course, I see it more as a cooperation
of which both bindings can benefit.  SWIG itself is quite easy to grok,
and quite powerful.  Some shortcomings exist, which seem to play no
major role, at least for the Ruby bindings.
* I forgot to mention that I resist in using pure XS because it is very
likely that XS won't exist in its current form any more in Perl6.  I
think if we start the project now, and in about a year our bindings are
obsolete (with the current version of Perl), nobody has won.

> I would like very much to help you in the project, but you have to
> know that at the moment I have no experience with Qt and KDE
> libraries. I just love perl and kde!  I was thinking to start on my
> own looking at the existing code and then decide if a could afford
> such a project. 
> 
> If you need help and can give me the time to learn (and I want
> learn!), consider me as present!
> 
> I would appreciate every indication about documentation and tools to
> be used.

It's no problem if you don't have much experience with the libs.  A
little experience with C++ would certainly be helpful, but otherwise
you'll just learn it in the process :)

If you want to contribute in the bindings, I would recommend that you
first have a look at what's there to get a impression of the kind of
work which is needed.  Then you can see if it's something what you wanna
do.

Especially, I consider the following resources relevant (ordered in the
order I would to have a look at'em):

* the SWIG homepage and manuals (http://www.swig.org/) the Ruby/Qt and
* Ruby/KDE bindings (especially the interface files,
suffix .i)
(http://sfns.u-shizuoka-ken.ac.jp/geneng/horie_hp/ruby/index.html)
* try to compare the .i files with the KDE and Qt header files and
understand what's going on in the .i files
(http://doc.trolltech.com/headers.html)
* learn a bit of C++ if applicable :)

You shouldn't worry about time and experience.  I have the same
problems: I am studying abroad at the moment, so I won't have _that_
much time for the project until I come home in July.  Second, generating
bindings with SWIG is a quite new field for me as well, so I am also
learning.  As for the time contraint, I would say: It's finished when
it's finished.  But as a general idea, I am planning to release the
first major version in this year sometime in fall.  There are not many
people at the moment that are highly interested in the bindings anyway,
so there is no pressure on the project.

My first impressions are that it will probably be only a matter of weeks
to finish a first workable version of Perl/Qt based on Ruby/Qt.  The KDE
bindings certainly need some more work.  Maybe we can cooperate with the
author of Perl/KDE.

I would suggest that anybody who is interested have a look at the above
resources and decide if (s)he wants to help.  I highly appreciate every
offer to contribute!


Greetings,

Jörg

singleton or `whoami` on irc.openprojects.net (#kde)
 
>> Visit http://master.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<

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

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