G-Wrap, helping out on the G2 port

Andreas Rottmann a.rottmann at gmx.at
Tue Mar 16 15:54:10 CST 2004


Hi!

I'm now, since Rob Browning has apparently little time for it, the
only person hacking more actively on G-Wrap. I've done a few hacks on
it, and currently am doing a rewrite, called G-Wrap TNG (The Next
Generation). You can find some more details on [0].

ATM, there are 2 major users of G-Wrap: GnuCash, and Guile-GObject[1]
(GNOME2 bindings for Guile). I today tried a GNOME2 build of GnuCash,
and found it uses (g-wrap gw-glib-spec), which will lead to trouble
since the latest released G-Wrap (1.3.4) has (minimal) bindings of
GLib 1.2, so these bindings are essentially useless for the G2 port. I
have agreed with Rob that eventually, G-Wrap will not ship GLib
bindings anymore. The development of the GLib2 Guile binding goes on
inside Guile-GObject.

My question now is: what plans do the GnuCash developers have
regarding the Guile bindings? I think it the there are two
alternatives:

1) Use Guile-GObject's GLib wrapping instead of the one in G-Wrap
   1.3.4, leave everything else mostly as-is. 

2) In addition to switching to the Guile-GObject GLib binding, use the
   wrapping engine of Guile-GObject. This would offer the following
   advantages:

   * (Mostly-) Automatic header scanning instead of writing/maintaining
     long -spec.scm files.

   * For GObject-based objects, Guile-GObjects offers a very nice
     object-oriented API, saving one from having to deal with all
     those annoying prefixes. See [3] for an example.

   * It will be easier for interested people (no, I'm not one of them)
     to crank up Python bindings, because Guile-GObject and PyGTK
     share the header scanner.
   
   * When G-Wrap TNG is ready, people should be able to add bindings
     to any language, since a major goal of TNG is to be
     language-agnostic[4]

I volunteer for doing either one, but I think 2) is a worthwhile
mid-term goal (though not really necessary for the Gnome2 port).

You might also want to have a(nother) look at my other mail[5].

[0] http://yi.org/rotty/GWrap
[1] http://www.gnu.org/software/guile-gtk/
[2] http://article.gmane.org/gmane.comp.gnome.apps.gnucash.devel/10255
[3] Link missing, cause www.gnu.org down, but it is linked from [1]
[4] Yeah, I must admit I had the evil thought of recruiting 
    G-Wrap developers via this route ;-)
[5] http://article.gmane.org/gmane.comp.gnome.apps.gnucash.devel/10255

Cheers, Andy
-- 
Andreas Rottmann         | Rotty at ICQ      | 118634484 at ICQ | a.rottmann at gmx.at
http://yi.org/rotty      | GnuPG Key: http://yi.org/rotty/gpg.asc
Fingerprint              | DFB4 4EB4 78A4 5EEE 6219  F228 F92F CFC5 01FD 5B62

A. Because it breaks the logical sequence of discussion
Q. Why is top posting bad?


More information about the gnucash-devel mailing list