Re: koffice 2.3.0

[email protected] Wed, 29 Dec 2010 16:29:42 +0100
Newsgroups gmane.comp.kde.devel.koffice
Message-ID <[email protected]>
On Wednesday 29 December 2010 16:07:26 Cyrille Berger Skott wrote:
> On Wednesday 29 December 2010, Bartosz Świątek wrote:
> > 2010/12/29 Kevin Kofler <[email protected]>:
> > > On Wednesday 29 December 2010, Bartosz Świątek wrote:
> > >> I was wondering if you plan on moving to or adding support for libwpd
> > >> 0.9 and libwpg 0.2.
> > > 
> > > For the upcoming Fedora 15, this is a requirement to have libwp*
> > > support at all (unless we drag compatibility libraries through the new
> > > package review process), we don't have the old versions in Rawhide
> > > anymore. The current Rawhide KOffice package has libwp* support
> > > disabled.
> > > 
> > >> I seem to have managed the issue with libwpd 0.9 for koffice 2.2.2
> > >> (and since the code didn't change in 2.3 this would probably apply
> > >> there too - here's the patch
> > >> http://cvs.pld-linux.org/cgi-bin/cvsweb/packages/kde4-koffice/kde4-kof
> > >> fi ce- libwpdg.patch?rev=1.3)
> > > 
> > > I see there's revision 1.5 now:
> > > http://cvs.pld-linux.org/cgi-bin/cvsweb/packages/kde4-koffice/kde4-koff
> > > ic e- libwpdg.patch?rev=1.5
> > > with incomplete libwpg 0.2 support.
> > 
> > Yes, I made my first steps in that direction, but as said earlier, I'm
> > stuck on OdgExporter.cxx which calls lots of primitive routines, that
> > do not exist in libwpg 0.2 anymore.
> > 
> > Unfortunately the libwpg folks didn't care to document what exactly
> > changed and what to use instead, which makes the porting think yet a
> > bit more painful.
> > 
> > >> -  FIND_LIBRARY(LIBWPG_STREAM_LIBRARIES NAMES wpg-stream-0.1
> > >> libwpg-stream-0.1
> > >> +  FIND_LIBRARY(LIBWPG_STREAM_LIBRARIES NAMES libwpg-stream-0.1
> > >> wpg-stream-0.1 libwpd-stream-0.9 wpd-stream-0.9
> > > 
> > > Are you sure this is right? You add libwpd-stream as equivalent to
> > > libwpg- stream in FindWPG.cmake, wouldn't it make more sense to search
> > > for that in FindWPD.cmake?
> > 
> > I'm not 100% sure, but it makes sense to me, as libwpd-stream-0.9
> > obsoletes libwpg-stream completely. There is no libwpg-strem-0.2 now.
> > I didn't want to totally rewrite the .cmake file, so I just made sure
> > it finds -stream libs and defines its "FOUND" variable.
> > 
> > Feel free to correct my logic.
> > 
> > > Especially considering that it's used where libwpd is used:
> > >> +#if LIBWPD_VERSION_MINOR>8
> > >> +#include <libwpd-stream/libwpd-stream.h>
> > >> +#else
> > >> 
> > >>  #include <libwpd/WPXStream.h>
> > >>  #include <libwpd/WPXHLListenerImpl.h>
> > >> 
> > >> +#endif
> > >> 
> > >> but libwpg seems a bit more complicated (I'm stuck
> > >> on OdgExporter.cxx right now).
> > > 
> > > Do you think you can sort it out? Do you need any help?
> > 
> > Well, it is really hard to look for an API that will replace the old
> > one when you don't even know what really changed and what's the
> > equivalent to it.
> > 
> > I googled a lot these days and found an interesting conversation with
> > one of the libwpg developers (who doesn't care about koffice at all)
> > who believed it was trivial to port these things (to which i agree in
> > case of libwpd, but libwpg seems to be a different story).
> 
> Well the original author is Ariya Hidayat who used to be a koffice
> developers, I am CCing in hope he knows what has changed and who we can
> ask for more details.
> 
> I did a quick browse through the source code, it seems the wpg filter in
> koffice is actually generating the odg file, and it seems that it is doing
> the ODG generation, my guess is that it is not needed with wpg 0.2,
> meaning that the filter would need to be rewritten, I don't think this is
> an acceptable change for a stable branch. For distribution that does not
> support installation of multiple library versions, I would suggest to drop
> the wpg support for koffice 2.3, and to add to their documentation how to
> convert wpg files to odg using wpg2odg that is provided with wpg 0.2.

I also looked into this and I think there are 2 ways out:

1. Copy the releveant classes from wpg2odg utility and have these in two 
versions, for old and new libwpg version.

2. Use the higher-level utility function libwpg::WPGraphics::generateSVG to 
directly generate svg instead of odg. This would probably work for both lib 
versions as that function seems not to have changed.

I prefer the second, though it is probably a no-go for the stable branch.
At least for trunk it would be better as we are then not too dependent on API 
changes in libwpg.

Ciao Jan
_______________________________________________
koffice-devel mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/koffice-devel