Include Fedora patch to make abiword-2.8 compatible with libwpd:0.9 as upstream doesn...
authorPacho Ramos <pacho@gentoo.org>
Sun, 4 Dec 2011 20:03:04 +0000 (20:03 +0000)
committerPacho Ramos <pacho@gentoo.org>
Sun, 4 Dec 2011 20:03:04 +0000 (20:03 +0000)
Package-Manager: portage-2.1.10.39/cvs/Linux x86_64

app-office/abiword/ChangeLog
app-office/abiword/Manifest
app-office/abiword/abiword-2.8.6-r2.ebuild [new file with mode: 0644]
app-office/abiword/files/abiword-2.8.6-libwpd.patch [new file with mode: 0644]

index 9bd545068ad416ff79aea00e141b154e4a9d7b9c..0ae14a0d32baff9ad8661293cdfa7b4c21758d79 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for app-office/abiword
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-office/abiword/ChangeLog,v 1.248 2011/09/23 12:46:50 pacho Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-office/abiword/ChangeLog,v 1.249 2011/12/04 20:03:03 pacho Exp $
+
+*abiword-2.8.6-r2 (04 Dec 2011)
+
+  04 Dec 2011; Pacho Ramos <pacho@gentoo.org> +abiword-2.8.6-r2.ebuild,
+  +files/abiword-2.8.6-libwpd.patch:
+  Include Fedora patch to make abiword-2.8 compatible with libwpd:0.9 as
+  upstream doesn't want to fix it for 2.8.x (is already solved in 2.9).
 
   23 Sep 2011; Pacho Ramos <pacho@gentoo.org> abiword-2.8.6-r1.ebuild,
   +files/abiword-2.8.6-gcc46.patch:
index f298e44671bb569995e7b4aa46c27844f980c3d9..fdb2bcd8ab6ea57a5faba4bba10a7295a16836fe 100644 (file)
@@ -3,14 +3,16 @@ Hash: SHA1
 
 AUX abiword-2.8.6-gcc46.patch 557 RMD160 406dbd7dc80f374e9a163684b494de9a504c09a7 SHA1 159b1cd0b9354868ab86f851b64a03dae7d254dc SHA256 78e3b3be4340022f57246e88948d947bfd031819664edce965a40d7a518862a3
 AUX abiword-2.8.6-libpng15.patch 3710 RMD160 7de98b2183cd21a6d538bea8fba86a1c4d35a21e SHA1 646736e4e71a92574f4ccb7bc17ae422a13f04c2 SHA256 a5ea99ba7aa00ebc3a669d6cbd019b172e576df6b2eb8349505ed18576e10e90
+AUX abiword-2.8.6-libwpd.patch 14344 RMD160 c564396d23fc94881c64cde1d39e724a80cf8e4d SHA1 2a1030485a33fac481a822f1f83cce5d5f535468 SHA256 4318aa2e9754902eb31d65cb94be68bf870c2250bfa82564e84f4eb04f413b9c
 DIST abiword-2.8.6.tar.gz 9218827 RMD160 caabab25d197f9553ea12376de36fc7f5a771a58 SHA1 998f69d038000b3fc027d4259548f02d67c8d0df SHA256 d99089a63a6cfc1a6a4a026be9278028d47d224088d24b1853acb67e95683a15
 EBUILD abiword-2.8.6-r1.ebuild 4635 RMD160 1685482e91ff79c7d0f580a5eaa862ae280686db SHA1 60f8eab53b786a3ef95b3acfe3be643295b49732 SHA256 9ffd64c34aa45e8042f88021d9fb97ae59176596a74821e09104e010f91e6fff
-MISC ChangeLog 33334 RMD160 c83c1c6b80cd5dc011b8beb9fcd391530f638317 SHA1 3c0ee42607f7a446d38f59619101e79e7c0b100b SHA256 2542d8a0256815f8e1a5ddd498f756e6339b8b9b1126cb236fdf3c2f26957fc9
+EBUILD abiword-2.8.6-r2.ebuild 4580 RMD160 5be59b95e4061545bd522a66fe537111dc12a710 SHA1 e628d3114cc83e09ab3caff20648be80fac6fbd8 SHA256 6576e7339e3b1ba10223765894af9b4109bfc7c48b96d43b32c45e5eb12be8a9
+MISC ChangeLog 33622 RMD160 4ff9951a3d0d4d5948c3145e8d4fbd74d9e379af SHA1 5f9f5cadaef251dc240d83083933fab2a18c971c SHA256 8d06fe1695f866fd6cbaf72eb0e7b0952ae2d17d22f601fd7e81ed32b326c1a1
 MISC metadata.xml 879 RMD160 df1f57e78a294b266ece583d9c04e685fc6f2b53 SHA1 8876780818c62eb42318ba47ef68c15cc80a2a10 SHA256 68442b26d087af39be60f2b41749ae53e94073770449f80bf8f6fd2286e0be84
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.17 (GNU/Linux)
 
-iEYEARECAAYFAk58f8AACgkQCaWpQKGI+9QerwCgiG6H9x2DjQkKlxwW+5a/qsXB
-M6IAn1AEBY8ehhv0h69FKOI6BBPrzRwI
-=WbAK
+iEYEARECAAYFAk7b0f4ACgkQCaWpQKGI+9TYMACeK7XoPNda+X0CYDzzKKSsYmyM
+tRkAniNvd53eZAikYg7izwZUiiLq9L7X
+=xlJu
 -----END PGP SIGNATURE-----
diff --git a/app-office/abiword/abiword-2.8.6-r2.ebuild b/app-office/abiword/abiword-2.8.6-r2.ebuild
new file mode 100644 (file)
index 0000000..e8bd5e4
--- /dev/null
@@ -0,0 +1,156 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-office/abiword/abiword-2.8.6-r2.ebuild,v 1.1 2011/12/04 20:03:03 pacho Exp $
+
+EAPI="4"
+GCONF_DEBUG="yes"
+GNOME2_LA_PUNT="yes"
+
+inherit alternatives eutils gnome2 versionator autotools
+
+MY_MAJORV=$(get_version_component_range 1-2)
+
+DESCRIPTION="Fully featured yet light and fast cross platform word processor"
+HOMEPAGE="http://www.abisource.com/"
+SRC_URI="http://www.abisource.com/downloads/${PN}/${PV}/source/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="collab cups gnome grammar latex math ots openxml plugins readline spell wordperfect wmf thesaurus" # svg
+
+# libgsf raised to make sure it provides gio backend
+# not enabling telepathy backend for collab, it depends on libempathy-gtk which
+# has be removed from empathy-2.30 already
+RDEPEND="
+       >=app-text/wv-1.2
+       >=dev-libs/fribidi-0.10.4
+       >=dev-libs/glib-2.16:2
+       >=gnome-base/librsvg-2.16:2
+       >=gnome-extra/libgsf-1.14.15
+       >=media-libs/libpng-1.2
+       virtual/jpeg
+       >=x11-libs/cairo-1.8[X]
+       >=x11-libs/gtk+-2.14:2[cups?]
+       gnome? (
+               >=gnome-extra/gucharmap-2
+               >=x11-libs/goffice-0.8:0.8 )
+       plugins? (
+               collab? (
+                       >=dev-libs/boost-1.33.1
+                       >=dev-libs/libxml2-2.4
+                       >=net-libs/loudmouth-1
+                       net-libs/libsoup:2.4
+                       net-libs/gnutls )
+               grammar? ( >=dev-libs/link-grammar-4.2.1 )
+               latex? ( dev-libs/libxslt )
+               math? ( >=x11-libs/gtkmathview-0.7.5 )
+               openxml? ( dev-libs/boost )
+               ots? ( >=app-text/ots-0.5 )
+               readline? ( sys-libs/readline )
+               thesaurus? ( >=app-text/aiksaurus-1.2[gtk] )
+               wordperfect? (
+                       app-text/libwpd:0.9
+                       app-text/libwpg:0.2 )
+               wmf? ( >=media-libs/libwmf-0.2.8 )
+       )
+       spell? ( >=app-text/enchant-1.2 )
+       !<app-office/abiword-plugins-2.8"
+#              svg? ( >=gnome-base/librsvg-2 )
+
+DEPEND="${RDEPEND}
+       >=dev-util/pkgconfig-0.9
+       collab? ( dev-cpp/asio )"
+
+pkg_setup() {
+       # do not enable gnome-vfs
+       G2CONF="${G2CONF}
+               --enable-shave
+               --disable-static
+               --disable-default-plugins
+               --disable-builtin-plugins
+               --disable-collab-backend-telepathy
+               --enable-clipart
+               --enable-statusbar
+               --enable-templates
+               --with-gio
+               --without-gnomevfs
+               $(use_with gnome goffice)
+               $(use_enable cups print)
+               $(use_enable collab collab-backend-xmpp)
+               $(use_enable collab collab-backend-tcp)
+               $(use_enable collab collab-backend-service)
+               $(use_enable spell)"
+}
+
+src_prepare() {
+       epatch "${FILESDIR}"/${P}-libpng15.patch
+       epatch "${FILESDIR}"/${P}-gcc46.patch
+       epatch "${FILESDIR}"/${P}-libwpd.patch
+
+       # install icon to pixmaps (bug #220097)
+       sed 's:$(datadir)/icons:$(datadir)/pixmaps:' \
+               -i Makefile.am Makefile.in || die "sed 1 failed"
+       # readme.txt will be installed using dodoc
+       sed '/readme\.txt\|abw/d' \
+               -i user/wp/Makefile.am user/wp/Makefile.in || die "sed 2 failed"
+
+       eautoreconf
+       gnome2_src_prepare
+}
+
+src_configure() {
+       local plugins=""
+
+       if use plugins; then
+               # Plugins depending on libgsf
+               plugins="t602 docbook clarisworks wml kword hancom openwriter pdf
+                       loadbindings mswrite garble pdb applix opendocument sdw xslfo"
+
+               # Plugins not depending on anything
+               plugins="${plugins} gimp bmp freetranslation iscii s5 babelfish opml eml
+                       wikipedia gdict passepartout google presentation urldict hrtext mif"
+
+               # inter7eps: eps.h
+               # libtidy: gsf + tidy.h
+               # paint: windows only ?
+               use collab && plugins="${plugins} collab"
+               use gnome && plugins="${plugins} goffice"
+               use latex && plugins="${plugins} latex"
+               use math && plugins="${plugins} mathview"
+               use openxml && plugins="${plugins} openxml"
+               use ots && plugins="${plugins} ots"
+               # psion: >=psiconv-0.9.4
+               use readline && plugins="${plugins} command"
+               # plugin doesn't build
+               #use svg && plugins="${plugins} rsvg"
+               use thesaurus && plugins="${plugins} aiksaurus"
+               use wmf && plugins="${plugins} wmf"
+               # wordperfect: >=wpd-0.9 >=wpg-0.2
+               use wordperfect && plugins="${plugins} wpg"
+       fi
+
+       gnome2_src_configure --enable-plugins="$(echo ${plugins})"
+}
+
+src_install() {
+       gnome2_src_install
+
+       sed "s:Exec=abiword:Exec=abiword-${MY_MAJORV}:" \
+               -i "${ED}"/usr/share/applications/abiword.desktop || die "sed 3 failed"
+
+       mv "${ED}/usr/bin/abiword" "${ED}/usr/bin/AbiWord-${MY_MAJORV}"
+       dosym AbiWord-${MY_MAJORV} /usr/bin/abiword-${MY_MAJORV}
+
+       dodoc AUTHORS user/wp/readme.txt
+}
+
+pkg_postinst() {
+       gnome2_pkg_postinst
+       alternatives_auto_makesym "/usr/bin/abiword" "/usr/bin/abiword-[0-9].[0-9]"
+}
+
+pkg_postrm() {
+       gnome2_pkg_postrm
+       alternatives_auto_makesym "/usr/bin/abiword" "/usr/bin/abiword-[0-9].[0-9]"
+}
diff --git a/app-office/abiword/files/abiword-2.8.6-libwpd.patch b/app-office/abiword/files/abiword-2.8.6-libwpd.patch
new file mode 100644 (file)
index 0000000..a3f4a47
--- /dev/null
@@ -0,0 +1,391 @@
+--- plugins/wordperfect/xp/ie_imp_WordPerfect.cpp      (revision 29401)
++++ plugins/wordperfect/xp/ie_imp_WordPerfect.cpp      (revision 29403)
+@@ -60,7 +60,7 @@
+ 
+ // Stream class
+ 
+-#include <libwpd/WPXStream.h>
++#include <libwpd-stream/libwpd-stream.h>
+ 
+ #include <gsf/gsf-input.h>
+ #include <gsf/gsf-infile.h>
+@@ -70,12 +70,7 @@
+ #include <libwps/libwps.h>
+ #endif
+ 
+-class AbiWordperfectInputStream :
+-#ifdef HAVE_LIBWPS
+-      public WPSInputStream
+-#else
+-    public WPXInputStream
+-#endif
++class AbiWordperfectInputStream : public WPXInputStream
+ {
+ public:
+       AbiWordperfectInputStream(GsfInput *input);
+@@ -86,7 +81,7 @@
+ 
+       virtual WPXInputStream * getDocumentOLEStream(const char * name);
+ 
+-      virtual const uint8_t *read(size_t numBytes, size_t &numBytesRead);
++      virtual const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead);
+       virtual int seek(long offset, WPX_SEEK_TYPE seekType);
+       virtual long tell();
+       virtual bool atEOS();
+@@ -98,11 +93,7 @@
+ };
+ 
+ AbiWordperfectInputStream::AbiWordperfectInputStream(GsfInput *input) :
+-#ifdef HAVE_LIBWPS
+-      WPSInputStream(),
+-#else
+-      WPXInputStream(true),
+-#endif
++      WPXInputStream(),
+       m_input(input),
+       m_ole(NULL)
+ {
+@@ -117,9 +108,9 @@
+       g_object_unref(G_OBJECT(m_input));
+ }
+ 
+-const uint8_t * AbiWordperfectInputStream::read(size_t numBytes, size_t &numBytesRead)
++const unsigned char * AbiWordperfectInputStream::read(unsigned long numBytes, unsigned long &numBytesRead)
+ {
+-      const uint8_t *buf = gsf_input_read(m_input, numBytes, NULL);
++      const unsigned char *buf = gsf_input_read(m_input, numBytes, NULL);
+ 
+       if (buf == NULL)
+               numBytesRead = 0;
+@@ -256,19 +247,12 @@
+ {
+       AbiWordperfectInputStream gsfInput(input);
+ 
+-      WPDConfidence confidence = WPDocument::isFileFormatSupported(&gsfInput, true);
++      WPDConfidence confidence = WPDocument::isFileFormatSupported(&gsfInput);
+ 
+       switch (confidence)
+       {
+               case WPD_CONFIDENCE_NONE:
+-              // libwpd > 0.7.1 reports POOR if the text file is plain text (that _could_ be a WP4x document)
+-              // however, we'll let the text importer handle such cases
+-              case WPD_CONFIDENCE_POOR: 
+                       return UT_CONFIDENCE_ZILCH;
+-              case WPD_CONFIDENCE_LIKELY:
+-                      return UT_CONFIDENCE_SOSO;
+-              case WPD_CONFIDENCE_GOOD:
+-                      return UT_CONFIDENCE_GOOD;
+               case WPD_CONFIDENCE_EXCELLENT:
+                       return UT_CONFIDENCE_PERFECT;
+               default:
+@@ -328,7 +312,7 @@
+ UT_Error IE_Imp_WordPerfect::_loadFile(GsfInput * input)
+ {
+       AbiWordperfectInputStream gsfInput(input);
+-      WPDResult error = WPDocument::parse(&gsfInput, static_cast<WPXHLListenerImpl *>(this));
++      WPDResult error = WPDocument::parse(&gsfInput, static_cast<WPXDocumentInterface *>(this), NULL);
+ 
+       if (error != WPD_OK)
+       {
+@@ -381,9 +365,9 @@
+       float marginLeft = 1.0f, marginRight = 1.0f;
+ 
+       if (propList["fo:margin-left"])
+-              marginLeft = propList["fo:margin-left"]->getFloat();
++              marginLeft = propList["fo:margin-left"]->getDouble();
+       if (propList["fo:margin-right"])
+-              marginRight = propList["fo:margin-right"]->getFloat();
++              marginRight = propList["fo:margin-right"]->getDouble();
+ 
+       if (marginLeft != m_leftPageMargin || marginRight != m_rightPageMargin /* || */
+               /* marginTop != m_marginBottom || marginBottom != m_marginBottom */ )
+@@ -456,15 +440,15 @@
+       float marginTop = 0.0f, marginBottom = 0.0f;
+       float marginLeft = 0.0f, marginRight = 0.0f, textIndent = 0.0f;
+       if (propList["fo:margin-top"])
+-          marginTop = propList["fo:margin-top"]->getFloat();
++          marginTop = propList["fo:margin-top"]->getDouble();
+       if (propList["fo:margin-bottom"])
+-          marginBottom = propList["fo:margin-bottom"]->getFloat();
++          marginBottom = propList["fo:margin-bottom"]->getDouble();
+       if (propList["fo:margin-left"])
+-          marginLeft = propList["fo:margin-left"]->getFloat();
++          marginLeft = propList["fo:margin-left"]->getDouble();
+       if (propList["fo:margin-right"])
+-          marginRight = propList["fo:margin-right"]->getFloat();
++          marginRight = propList["fo:margin-right"]->getDouble();
+       if (propList["fo:text-indent"])
+-          textIndent = propList["fo:text-indent"]->getFloat();
++          textIndent = propList["fo:text-indent"]->getDouble();
+ 
+       m_topMargin = marginTop;
+       m_bottomMargin = marginBottom;
+@@ -487,7 +471,7 @@
+ 
+       float lineSpacing = 1.0f;
+       if (propList["fo:line-height"])
+-              lineSpacing = propList["fo:line-height"]->getFloat();
++              lineSpacing = propList["fo:line-height"]->getDouble();
+       
+       UT_String tmpBuffer;
+       UT_String_sprintf(tmpBuffer, "; margin-top:%.4fin; margin-bottom:%.4fin; margin-left:%.4fin; margin-right:%.4fin; text-indent:%.4fin; line-height:%.4f",
+@@ -504,7 +488,7 @@
+                       propBuffer += tmpBuffer;
+                       if (i()["style:position"])
+                       {
+-                              UT_String_sprintf(tmpBuffer, "%.4fin", i()["style:position"]->getFloat());
++                              UT_String_sprintf(tmpBuffer, "%.4fin", i()["style:position"]->getDouble());
+                               propBuffer += tmpBuffer;
+                       }
+ 
+@@ -520,10 +504,10 @@
+                       else // Left aligned is default
+                               propBuffer += "/L";
+ 
+-                      if (i()["style:leader-char"])
+-                              if (i()["style:leader-char"]->getStr() == "-")
++                      if (i()["style:leader-text"])
++                              if (i()["style:leader-text"]->getStr() == "-")
+                                       propBuffer += "2";
+-                              else if (i()["style:leader-char"]->getStr() == "_")
++                              else if (i()["style:leader-text"]->getStr() == "_")
+                                       propBuffer += "3";
+                               else // default to dot leader if the given leader is dot or is not supported by AbiWord
+                                       propBuffer += "1";
+@@ -586,12 +570,12 @@
+                       propBuffer += "subscript";
+       }
+ 
+-      if (propList["style:text-underline"] || propList["style:text-crossing-out"])
++      if (propList["style:text-underline-type"] || propList["style:text-line-through-type"])
+       {
+               propBuffer += "; text-decoration:";
+-              if (propList["style:text-underline"])
++              if (propList["style:text-underline-type"])
+                       propBuffer += "underline ";
+-              if (propList["style:text-crossing-out"])
++              if (propList["style:text-line-through-type"])
+                       propBuffer += "line-through";
+ 
+       }
+@@ -615,10 +599,10 @@
+               propBuffer += propList["fo:color"]->getStr().cstr();
+       }
+ 
+-      if (propList["style:text-background-color"])
++      if (propList["fo:background-color"])
+       {
+               propBuffer += "; bgcolor:";
+-              propBuffer += propList["style:text-background-color"]->getStr().cstr();
++              propBuffer += propList["fo:background-color"]->getStr().cstr();
+       }
+ 
+       UT_DEBUGMSG(("AbiWordPerfect: Appending span format: %s\n", propBuffer.c_str()));
+@@ -639,10 +623,10 @@
+       int columnsCount = ((columns.count() == 0) ? 1 : columns.count());
+ 
+       // TODO: support spaceAfter
+-      if (propList["fo:margin-left"])
+-              marginLeft = propList["fo:margin-left"]->getFloat();
+-      if (propList["fo:margin-right"])
+-              marginRight = propList["fo:margin-right"]->getFloat();
++      if (propList["fo:start-indent"])
++              marginLeft = propList["fo:start-indent"]->getDouble();
++      if (propList["fo:end-indent"])
++              marginRight = propList["fo:end-indent"]->getDouble();
+ 
+       if (marginLeft != m_leftSectionMargin || marginRight != m_rightSectionMargin || m_sectionColumnsCount != columnsCount)
+               m_bSectionChanged = true;
+@@ -709,9 +693,9 @@
+       if (propList["style:num-format"])
+               listType = propList["style:num-format"]->getStr().cstr()[0];
+       if (propList["text:space-before"])
+-              listLeftOffset = propList["text:space-before"]->getFloat();
++              listLeftOffset = propList["text:space-before"]->getDouble();
+       if (propList["text:min-label-width"])
+-              listMinLabelWidth = propList["text:min-label-width"]->getFloat();
++              listMinLabelWidth = propList["text:min-label-width"]->getDouble();
+ 
+       if (!m_pCurrentListDefinition || 
+               m_pCurrentListDefinition->getOutlineHash() != listID ||
+@@ -749,9 +733,9 @@
+       if (propList["libwpd:level"])
+               level = propList["libwpd:level"]->getInt();
+       if (propList["text:space-before"])
+-              listLeftOffset = propList["text:space-before"]->getFloat();
++              listLeftOffset = propList["text:space-before"]->getDouble();
+       if (propList["text:min-label-width"])
+-              listMinLabelWidth = propList["text:min-label-width"]->getFloat();
++              listMinLabelWidth = propList["text:min-label-width"]->getDouble();
+ 
+       if (!m_pCurrentListDefinition || m_pCurrentListDefinition->getOutlineHash() != listID)
+       {
+@@ -871,10 +855,10 @@
+ 
+       UT_String_sprintf(tempBuffer, "margin-left:%.4fin; ", m_pCurrentListDefinition->getListLeftOffset(m_iCurrentListLevel)
+                                       + m_pCurrentListDefinition->getListMinLabelWidth(m_iCurrentListLevel)
+-                                      - (propList["fo:text-indent"] ? propList["fo:text-indent"]->getFloat() : 0.0f));
++                                      - (propList["fo:text-indent"] ? propList["fo:text-indent"]->getDouble() : 0.0f));
+       propBuffer += tempBuffer;
+       UT_String_sprintf(tempBuffer, "text-indent:%.4fin", - m_pCurrentListDefinition->getListMinLabelWidth(m_iCurrentListLevel)
+-                                      + (propList["fo:text-indent"] ? propList["fo:text-indent"]->getFloat() : 0.0f));
++                                      + (propList["fo:text-indent"] ? propList["fo:text-indent"]->getDouble() : 0.0f));
+       propBuffer += tempBuffer;
+ 
+       listAttribs[attribsCount++] = PT_PROPS_ATTRIBUTE_NAME;
+@@ -1263,7 +1247,7 @@
+     virtual UT_Error _loadFile(GsfInput * input)
+       {
+               AbiWordperfectInputStream gsfInput(input);
+-              WPSResult error = WPSDocument::parse(&gsfInput, static_cast<WPXHLListenerImpl *>(this));
++              WPSResult error = WPSDocument::parse(&gsfInput, static_cast<WPXDocumentInterface *>(this));
+ 
+               if (error != WPS_OK)
+                       {
+@@ -1302,18 +1286,12 @@
+ {
+       AbiWordperfectInputStream gsfInput(input);
+ 
+-      WPSConfidence confidence = WPSDocument::isFileFormatSupported(&gsfInput, true);
++      WPSConfidence confidence = WPSDocument::isFileFormatSupported(&gsfInput);
+ 
+       switch (confidence)
+       {
+               case WPS_CONFIDENCE_NONE:
+                       return UT_CONFIDENCE_ZILCH;
+-              case WPS_CONFIDENCE_POOR: 
+-                      return UT_CONFIDENCE_POOR;
+-              case WPS_CONFIDENCE_LIKELY:
+-                      return UT_CONFIDENCE_SOSO;
+-              case WPS_CONFIDENCE_GOOD:
+-                      return UT_CONFIDENCE_GOOD;
+               case WPS_CONFIDENCE_EXCELLENT:
+                       return UT_CONFIDENCE_PERFECT;
+               default:
+--- plugins/wordperfect/xp/ie_imp_WordPerfect.h        (revision 29401)
++++ plugins/wordperfect/xp/ie_imp_WordPerfect.h        (revision 29403)
+@@ -30,13 +30,7 @@
+ #define IE_IMP_WP_H
+ 
+ #include <stdio.h>
+-#ifdef _WIN32
+-#define POINT WPX_POINT
+-#endif
+ #include <libwpd/libwpd.h>
+-#ifdef _WIN32
+-#undef POINT
+-#endif
+ #include "ie_imp.h"
+ #include "ut_string.h"
+ #include "ut_string_class.h"
+@@ -98,7 +92,7 @@
+                                       IE_Imp ** ppie);
+ };
+ 
+-class IE_Imp_WordPerfect : public IE_Imp, public WPXHLListenerImpl
++class IE_Imp_WordPerfect : public IE_Imp, public WPXDocumentInterface
+ {
+ public:
+     IE_Imp_WordPerfect(PD_Document * pDocument);
+@@ -154,6 +148,21 @@
+     virtual void insertCoveredTableCell(const WPXPropertyList & /*propList*/) {}
+     virtual void closeTable();
+ 
++    virtual void definePageStyle(const WPXPropertyList&) {}
++    virtual void defineParagraphStyle(const WPXPropertyList&, const WPXPropertyListVector&) {}
++    virtual void defineCharacterStyle(const WPXPropertyList&) {}
++    virtual void defineSectionStyle(const WPXPropertyList&, const WPXPropertyListVector&) {}
++    virtual void insertSpace() {}
++    virtual void insertField(const WPXString&, const WPXPropertyList&) {}
++    virtual void openComment(const WPXPropertyList&) {}
++    virtual void closeComment() {}
++    virtual void openTextBox(const WPXPropertyList&) {}
++    virtual void closeTextBox() {}
++    virtual void openFrame(const WPXPropertyList&) {}
++    virtual void closeFrame() {}
++    virtual void insertBinaryObject(const WPXPropertyList&, const WPXBinaryData&) {}
++    virtual void insertEquation(const WPXPropertyList&, const WPXString&) {}
++
+     
+ protected:
+       virtual UT_Error _loadFile(GsfInput * input);
+--- plugins/wordperfect/plugin.m4      (revision 29401)
++++ plugins/wordperfect/plugin.m4      (revision 29403)
+@@ -1,6 +1,6 @@
+ 
+-wordperfect_pkgs="libwpd-0.8 >= 0.8.0 $gsf_req"
+-wordperfect_wps_pkgs='libwps-0.1 >= 0.1.0'
++wordperfect_pkgs="libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0 $gsf_req"
++wordperfect_wps_pkgs='libwps-0.2 >= 0.1.0'
+ wordperfect_deps="no"
+ 
+ WORDPERFECT_CFLAGS=
+--- plugins/wpg/xp/ie_impGraphic_WPG.cpp       (revision 29401)
++++ plugins/wpg/xp/ie_impGraphic_WPG.cpp       (revision 29403)
+@@ -31,11 +31,10 @@
+ #include <gsf/gsf-input-memory.h>
+ #include <gsf/gsf-input-stdio.h>
+ #include <gsf/gsf-infile-msole.h>
+-#include <libwpd/WPXStream.h>
++#include <libwpd-stream/libwpd-stream.h>
+ #include "xap_Module.h"
+ 
+ using libwpg::WPGraphics;
+-using libwpg::WPGString;
+ 
+ ABI_PLUGIN_DECLARE("WPG")
+ 
+@@ -48,7 +47,7 @@
+       virtual bool isOLEStream();
+       virtual WPXInputStream * getDocumentOLEStream();
+       virtual WPXInputStream * getDocumentOLEStream(const char * name);
+-      virtual const uint8_t *read(size_t numBytes, size_t &numBytesRead);
++      virtual const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead);
+       virtual int seek(long offset, WPX_SEEK_TYPE seekType);
+       virtual long tell();
+       virtual bool atEOS();
+@@ -60,7 +59,7 @@
+ };
+ 
+ AbiWordPerfectGraphicsInputStream::AbiWordPerfectGraphicsInputStream(GsfInput *input) :
+-      WPXInputStream(true),
++      WPXInputStream(),
+       m_input(input),
+       m_ole(NULL)
+ {
+@@ -75,9 +74,9 @@
+       g_object_unref(G_OBJECT(m_input));
+ }
+ 
+-const uint8_t * AbiWordPerfectGraphicsInputStream::read(size_t numBytes, size_t &numBytesRead)
++const unsigned char * AbiWordPerfectGraphicsInputStream::read(unsigned long numBytes, unsigned long &numBytesRead)
+ {
+-      const uint8_t *buf = gsf_input_read(m_input, numBytes, NULL);
++      const unsigned char *buf = gsf_input_read(m_input, numBytes, NULL);
+ 
+       if (buf == NULL)
+               numBytesRead = 0;
+@@ -245,10 +244,10 @@
+ UT_Error IE_Imp_WordPerfectGraphics::importGraphic(GsfInput *input, FG_Graphic **ppfg)
+ {
+       AbiWordPerfectGraphicsInputStream gsfInput(input);
+-      WPGString svgOutput;
++      WPXString svgOutput;
+       if (WPGraphics::generateSVG(&gsfInput, svgOutput))
+       {
+-              GsfInput * svgInput = gsf_input_memory_new((const guint8*)svgOutput.cstr(), svgOutput.length(), false);
++              GsfInput * svgInput = gsf_input_memory_new((const guint8*)svgOutput.cstr(), svgOutput.len(), false);
+               UT_Error result = IE_ImpGraphic::loadGraphic(svgInput, IE_ImpGraphic::fileTypeForSuffix(".svg"), ppfg);
+               g_object_unref(svgInput);
+               return result;
+--- plugins/wpg/plugin.m4      (revision 29401)
++++ plugins/wpg/plugin.m4      (revision 29403)
+@@ -1,5 +1,5 @@
+ 
+-wpg_pkgs="$gsf_req libwpg-0.1 >= 0.1.0 libwpd-0.8 >= 0.8.0"
++wpg_pkgs="$gsf_req libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0"
+ wpg_deps="no"
+ 
+ if test "$enable_wpg" != ""; then
+
+