From: Pacho Ramos Date: Sun, 4 Dec 2011 20:03:04 +0000 (+0000) Subject: Include Fedora patch to make abiword-2.8 compatible with libwpd:0.9 as upstream doesn... X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=af770cbaaf801aec7cfff37a2c2255845ebdadd4;p=gentoo.git 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). Package-Manager: portage-2.1.10.39/cvs/Linux x86_64 --- diff --git a/app-office/abiword/ChangeLog b/app-office/abiword/ChangeLog index 9bd545068ad4..0ae14a0d32ba 100644 --- a/app-office/abiword/ChangeLog +++ b/app-office/abiword/ChangeLog @@ -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 +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 abiword-2.8.6-r1.ebuild, +files/abiword-2.8.6-gcc46.patch: diff --git a/app-office/abiword/Manifest b/app-office/abiword/Manifest index f298e44671bb..fdb2bcd8ab6e 100644 --- a/app-office/abiword/Manifest +++ b/app-office/abiword/Manifest @@ -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 index 000000000000..e8bd5e4a0eb3 --- /dev/null +++ b/app-office/abiword/abiword-2.8.6-r2.ebuild @@ -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 ) + !=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 index 000000000000..a3f4a474e5a5 --- /dev/null +++ b/app-office/abiword/files/abiword-2.8.6-libwpd.patch @@ -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 ++#include + + #include + #include +@@ -70,12 +70,7 @@ + #include + #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(this)); ++ WPDResult error = WPDocument::parse(&gsfInput, static_cast(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(this)); ++ WPSResult error = WPSDocument::parse(&gsfInput, static_cast(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 +-#ifdef _WIN32 +-#define POINT WPX_POINT +-#endif + #include +-#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 + #include + #include +-#include ++#include + #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 + +