libgsf, goffice and gnucash
Josh Sled
jsled at asynchronous.org
Sat Nov 19 22:11:01 EST 2005
For a while, we've been using a "fake" version of goffice, copied into
the gnucash source tree. Before I had said I was basically going to
leave it in place for the next release, but there are plenty of good
reasons to do so.
In any case, there's a bunch of constraints on this problem:
* <=libgsf-1.12.1 and >=libgsf-1.12.2 are API-incompatible.
* Very few targetable distros have libgsf >=1.12.2; almost none have
libgoffice-0.0.4.
* RHEL4/FC3 have glib/gtk 2.4, and pango 1.6; the requirements for
libgsf and goffice are glib/gtk 2.6 and pango 1.8.
As such, I've decided on the following:
- Gnucash will include both libgsf-1.12.3 and goffice-0.0.4.
- If the system has >=goffice-0.0.4, then it will be used, otherwise the
gnucash-provided goffice will be compiled. In building that, if if the
system has >=libgsf-1.12.3, then it will be used, otherwise the
gnucash-provided copy will be compiled and used.
- Both libgsf-1.12.3 and goffice-0.0.4 will be modified to build under
glib/gtk-2.4 and pango-1.6 if necessary.
As such, gnucash will depend on a real copy of goffice, either
system-provided or gnucash-provided.
I've made the necessary changes on the
svn+ssh://svn.gnucash.org/repo/gnucash/branches/goffice-update branch.
I would appreciate some testing, especially from you Neil. One thing to
note is that this version initializes (external) goffice correctly and
thus will display graphs; if you use the `Sample Graphs` report you
should see 4 graphs (pie, scatter, bar and stacked-bar). I'd also love
some testing on OSX, as I have no idea about that scene.
I'm still working to get some of the configure.in changes integrated
correctly; for instance right now it conditionally executes the relevent
configure.in sections copied from the respective builds, but always
creates their `config.h` equivalents as well as generates all their
Makefiles. The latter isn't much of a problem, but the former means
that '-I$(top_srcdir)/lib/goffice-0.0.4' is present while compiling the
whole gnucash source tree, even when the external version is being used,
which isn't right. Any pointers on how to do this would be appreciated.
...jsled
--
http://asynchronous.org/ - `a=jsled; b=asynchronous.org; echo ${a}@${b}`
More information about the gnucash-devel
mailing list