Date: Tuesday, February 17, 2015 @ 14:12:32 Author: jgc Revision: 231659
upgpkg: abiword 3.0.1-1 Update to 3.0.1 (FS#41935), merge plugins into main package, enable introspection support (FS#42903). Fix grammar plugin, compile collab plugin that was broken in 3.0.0 Added: abiword/trunk/abiword-3.0.0-link-grammar-5-second.patch abiword/trunk/abiword-3.0.0-link-grammar-5.patch abiword/trunk/aiksaurus-plugin.m4 abiword/trunk/link-grammar-panic.patch Modified: abiword/trunk/PKGBUILD Deleted: abiword/trunk/fix_crash_saving_pdf.patch -------------------------------------------+ PKGBUILD | 106 ++++++++++------------------ abiword-3.0.0-link-grammar-5-second.patch | 35 +++++++++ abiword-3.0.0-link-grammar-5.patch | 45 +++++++++++ aiksaurus-plugin.m4 | 46 ++++++++++++ fix_crash_saving_pdf.patch | 86 ---------------------- link-grammar-panic.patch | 10 ++ 6 files changed, 176 insertions(+), 152 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2015-02-17 10:04:06 UTC (rev 231658) +++ PKGBUILD 2015-02-17 13:12:32 UTC (rev 231659) @@ -1,39 +1,53 @@ # $Id$ +# Maintainer: Jan de Groot <[email protected]> # Contributor: Giovanni Scafora <[email protected]> # Contributor: Maƫl Lavault <[email protected]> -pkgbase=abiword -pkgname=('abiword' 'abiword-plugins') -pkgver=3.0.0 -pkgrel=3 +pkgname=abiword +pkgver=3.0.1 +pkgrel=1 +pkgdesc='Fully-featured word processor' arch=('i686' 'x86_64') license=('GPL') url='http://www.abisource.com' -makedepends=('pkgconfig' 'asio' 'boost' 'fribidi' 'goffice' 'libwmf' 'wv' - 'link-grammar' 'gtkmathview' 'aiksaurus' 'libxslt' 'enchant' - 'libots' 'libwpg' 'librsvg' 'loudmouth' 'libsoup' 'psiconv' - 'redland' 'libical') +depends=('fribidi' 'wv' 'goffice' 'librsvg' 'enchant' 'desktop-file-utils' + 'redland' 'libical' 'gtk-update-icon-cache' 'loudmouth' 'libwpg' 'libwmf' 'link-grammar' + 'gtkmathview' 'aiksaurus' 'libxslt' 'libsoup' 'libots' 'libgsf' 'psiconv') +makedepends=('pkgconfig' 'asio' 'boost' 'gobject-introspection' 'python2' 'libwpd') +conflicts=('abiword-plugins') +replaces=('abiword-plugins') +install=abiword.install options=('!makeflags') -source=(http://abisource.com/downloads/$pkgbase/$pkgver/source/$pkgbase-$pkgver.tar.gz - fix_crash_saving_pdf.patch - abiword-3.0.0-librevenge.patch) -md5sums=('8d9c41cff3a8fbef8d0c835c65600e65' - 'c3336f5ac7d227ff755c7e42459f20e1' - '6fc2d653d3b814bbfd9b0d71c69c4796') +source=(http://abisource.com/downloads/$pkgname/$pkgver/source/$pkgname-$pkgver.tar.gz + abiword-3.0.0-librevenge.patch + abiword-3.0.0-link-grammar-5.patch + abiword-3.0.0-link-grammar-5-second.patch + link-grammar-panic.patch + aiksaurus-plugin.m4) +sha256sums=('e094f6fbf0afc5c5538b4894888e7c346f8ee8f49c9d24821dd696d0734865c6' + '77b52a3722096cec3bfbe4fff3802f51b6c9e0ff7aaa30028c29825fd4e6a65f' + '6d88800f1e16becd69ed93d5f070793a56b9f162f7d886c71756643bcaed7ef5' + 'd2c80da81a339634a7a4ee4cef12f7ee968f2c2a8c2f75533b6713b71f0d61fd' + '94d1e638f7b85123dc2282d2e59b982bde6ad0dbbe1b6b54351e610c5a0ea578' + '5f80a2f94f9929cdba9809c5e1a87cd5d537a2518bb879bfb9eab51a71c8dac1') prepare() { - cd $pkgbase-$pkgver + cd $pkgname-$pkgver - # fix FS#39652 - http://bugzilla.abisource.com/show_bug.cgi?id=13586#c2 - patch -Np2 -i ${srcdir}/fix_crash_saving_pdf.patch - # fix build with librevenge based import filters - patch -Np0 -i ${srcdir}/abiword-3.0.0-librevenge.patch + patch -Np0 -i ../abiword-3.0.0-librevenge.patch + # Fix build with recent versions of link-grammar + patch -Np1 -i ../abiword-3.0.0-link-grammar-5.patch + patch -Np1 -i ../abiword-3.0.0-link-grammar-5-second.patch + patch -Np0 -i ../link-grammar-panic.patch + + # Install missing m4 file + install -m644 ../aiksaurus-plugin.m4 plugins/aiksaurus/plugin.m4 + + # Generate m4 file for configure find plugins -name plugin.m4 | xargs cat > plugin-configure.m4 - - #aclocal -I m4 --install - #autoconf + libtoolize --force autoreconf -fi } @@ -40,58 +54,18 @@ build() { - cd $pkgbase-$pkgver - -# Collab plugin is somehow broken: -# part service -#In file included from ./../../../backends/service/xp/RealmConnection.h:33:0, -# from ./../../../backends/service/xp/AbiCollabSaveInterceptor.h:23, -# from ./../../../backends/service/xp/ServiceAccountHandler.h:33, -# from ServiceUnixAccountHandler.h:23, -# from ServiceUnixAccountHandler.cpp:20: -#./../../../core/sync/xp/SynchronizedQueue.h:32:1: error: expected class-name before '{' token -# { -# part tcp -#In file included from ./../../../backends/tcp/xp/IOServerHandler.h:29:0, -# from ./../../../backends/tcp/xp/TCPAccountHandler.h:25, -# from TCPUnixAccountHandler.h:22, -# from TCPUnixAccountHandler.cpp:20: -#./../../../backends/tcp/xp/Session.h:34:63: error: expected class-name before ',' token -# class Session : public Synchronizer, public boost::noncopyable, public boost::enable_shared_from_this<Session> - + cd $pkgname-$pkgver ./configure --prefix=/usr \ --enable-shared \ --disable-static \ --enable-clipart \ --enable-templates \ - --disable-builtin-plugins \ --enable-plugins \ - --disable-collab-backend-service \ - --disable-collab-backend-tcp + --enable-introspection make } -package_abiword() { - pkgdesc='Fully-featured word processor' - depends=('fribidi' 'wv' 'goffice' 'librsvg' 'enchant' 'desktop-file-utils' - 'redland' 'libical' 'gtk-update-icon-cache') - install=$pkgname.install - optdepends=('abiword-plugins') - conflicts=("abiword-plugins<${pkgver}-${pkgrel}") - - cd $pkgbase-$pkgver +package() { + cd $pkgname-$pkgver make DESTDIR="$pkgdir" install - - # split out plugins, there's no Makefile target for a clean way - mkdir ${srcdir}/_pluginsdir - mv "$pkgdir"/usr/lib/abiword-${pkgver%.*}/plugins ${srcdir}/_pluginsdir } - -package_abiword-plugins() { - pkgdesc='Additional plugins for Abiword' - depends=("abiword=${pkgver}-${pkgrel}" 'loudmouth' 'libwpg' 'libwmf' 'link-grammar' - 'gtkmathview' 'aiksaurus' 'libxslt' 'libsoup' 'libots' 'libgsf' 'psiconv') - - install -dm755 ${pkgdir}/usr/lib/abiword-${pkgver%.*} - mv ${srcdir}/_pluginsdir/plugins ${pkgdir}/usr/lib/abiword-${pkgver%.*}/ -} Added: abiword-3.0.0-link-grammar-5-second.patch =================================================================== --- abiword-3.0.0-link-grammar-5-second.patch (rev 0) +++ abiword-3.0.0-link-grammar-5-second.patch 2015-02-17 13:12:32 UTC (rev 231659) @@ -0,0 +1,35 @@ +--- abiword-3.0.0/plugins/grammar/linkgrammarwrap/LinkGrammarWrap.cpp.orig 2014-06-30 08:21:30.000000000 -0500 ++++ abiword-3.0.0/plugins/grammar/linkgrammarwrap/LinkGrammarWrap.cpp 2014-06-30 08:27:01.000000000 -0500 +@@ -220,6 +220,7 @@ bool LinkGrammarWrap::parseSentence(Piec + pErr = NULL; + } + ++#ifdef DEAD_DEBUG_CODE + // for(i=0; i< pT->m_vecGrammarErrors.getItemCount(); i++) + // { + // pErr = pT->m_vecGrammarErrors.getNthItem(i); +@@ -227,15 +228,10 @@ bool LinkGrammarWrap::parseSentence(Piec + // } + UT_UTF8String sErr = linkage_get_violation_name(linkage); + // UT_DEBUGMSG(("Top Level error message |%s|\n",sErr.utf8_str())); +- UT_sint32 count = linkage_get_num_sublinkages(linkage); + // + // Find linkages with violations + // +- for(i=0; i<count;i++) + { +- UT_sint32 iok = linkage_set_current_sublinkage(linkage, i); +- if(iok == 0) +- continue; + UT_sint32 j = 0; + UT_sint32 iNum = linkage_get_num_links(linkage); + for(j=0;j< iNum;j++) +@@ -252,6 +248,8 @@ bool LinkGrammarWrap::parseSentence(Piec + } + } + linkage_delete(linkage); ++#endif // DEAD_DEBUG_CODE ++ + for(i=0; i< vecMapOfWords.getItemCount(); i++) + { + AbiGrammarError * p = vecMapOfWords.getNthItem(i); Added: abiword-3.0.0-link-grammar-5.patch =================================================================== --- abiword-3.0.0-link-grammar-5.patch (rev 0) +++ abiword-3.0.0-link-grammar-5.patch 2015-02-17 13:12:32 UTC (rev 231659) @@ -0,0 +1,45 @@ +--- abiword-3.0.0/plugins/grammar/linkgrammarwrap/LinkGrammarWrap.cpp.orig 2014-06-29 14:50:30.000000000 -0500 ++++ abiword-3.0.0/plugins/grammar/linkgrammarwrap/LinkGrammarWrap.cpp 2014-06-29 14:55:39.000000000 -0500 +@@ -145,12 +145,11 @@ bool LinkGrammarWrap::parseSentence(Piec + } + AbiGrammarError * pWordMap = new AbiGrammarError(); + pWordMap->m_iErrLow = iLow; +- pWordMap->m_iErrHigh = iLow + strlen(sentence_get_nth_word(sent, i)); ++ pWordMap->m_iErrHigh = iLow + strlen(linkage_get_word(linkage, i)); + pWordMap->m_iWordNum = i; + vecMapOfWords.addItem(pWordMap); + bool bNew = false; +- if(!sentence_nth_word_has_disjunction(sent, i)) +- { ++ + //UT_DEBUGMSG(("|%s| NULL LINK\n",sent->word[i].string)); + if(pErr == NULL) + { +@@ -167,7 +166,7 @@ bool LinkGrammarWrap::parseSentence(Piec + } + pErr = new AbiGrammarError(); + } +- iHigh = iLow + strlen(sentence_get_nth_word(sent, i)); ++ iHigh = iLow + strlen(linkage_get_word(linkage, i)); + pErr->m_iErrLow = iLow + iOff -1; + pErr->m_iErrHigh = iHigh + iOff -1; + if(pErr->m_iErrLow < 0) +@@ -188,7 +187,7 @@ bool LinkGrammarWrap::parseSentence(Piec + // + // Expand the sqiggle + // +- iHigh = iLow + strlen(sentence_get_nth_word(sent, i)) + iOff; ++ iHigh = iLow + strlen(linkage_get_word(linkage, i)) + iOff; + pErr->m_iErrHigh = iHigh; + if(pErr->m_iErrHigh < totlen-1) + { +@@ -196,8 +195,7 @@ bool LinkGrammarWrap::parseSentence(Piec + } + pErr->m_iWordNum = i; + } +- } +- iLow += strlen(sentence_get_nth_word(sent, i)); ++ iLow += strlen(linkage_get_word(linkage, i)); + } + // + // No NULL links but still an error , mark the whole sentence bad. Added: aiksaurus-plugin.m4 =================================================================== --- aiksaurus-plugin.m4 (rev 0) +++ aiksaurus-plugin.m4 2015-02-17 13:12:32 UTC (rev 231659) @@ -0,0 +1,46 @@ + +aiksaurus_pkgs="aiksaurus-1.0" +aiksaurus_gtk_pkgs="aiksaurusgtk3-1.0" +aiksaurus_deps="no" + +if test "$enable_aiksaurus" != ""; then + +PKG_CHECK_EXISTS([ $aiksaurus_pkgs ], +[ + aiksaurus_deps="yes" +], [ + test "$enable_aiksaurus" = "auto" && AC_MSG_WARN([aiksaurus plugin: dependencies not satisfied - $aiksaurus_pkgs]) +]) + +fi + +if test "$enable_aiksaurus" = "yes" || \ + test "$aiksaurus_deps" = "yes"; then + +use_builtin_aiksaurus_gtk="no" +if test "$TOOLKIT" = "gtk"; then +PKG_CHECK_EXISTS([ $aiksaurus_gtk_pkgs ], +[ + aiksaurus_pkgs="$aiksaurus_pkgs $aiksaurus_gtk_pkgs" +], [use_builtin_aiksaurus_gtk="yes"]) +fi + +if test "$enable_aiksaurus_builtin" = "yes"; then +AC_MSG_ERROR([aiksaurus plugin: static linking not supported]) +fi + +PKG_CHECK_MODULES(AIKSAURUS,[ $aiksaurus_pkgs ]) + + +test "$enable_aiksaurus" = "auto" && PLUGINS="$PLUGINS aiksaurus" + +AIKSAURUS_CFLAGS="$AIKSAURUS_CFLAGS "'${PLUGIN_CFLAGS}' +AIKSAURUS_LIBS="$AIKSAURUS_LIBS "'${PLUGIN_LIBS}' + +fi + +AM_CONDITIONAL([WITH_BUILTIN_AIKSAURUS_GTK],[ test "x$use_builtin_aiksaurus_gtk" = "xyes" ]) + +AC_SUBST([AIKSAURUS_CFLAGS]) +AC_SUBST([AIKSAURUS_LIBS]) + Deleted: fix_crash_saving_pdf.patch =================================================================== --- fix_crash_saving_pdf.patch 2015-02-17 10:04:06 UTC (rev 231658) +++ fix_crash_saving_pdf.patch 2015-02-17 13:12:32 UTC (rev 231659) @@ -1,86 +0,0 @@ ---- abiword/trunk/src/text/fmt/gtk/fv_UnixSelectionHandles.cpp 2013/12/23 03:20:34 33661 -+++ abiword/trunk/src/text/fmt/gtk/fv_UnixSelectionHandles.cpp 2013/12/28 02:04:39 33662 -@@ -36,42 +36,60 @@ - - mode = _fv_text_handle_get_mode (handle); - -- if (pos == FV_TEXT_HANDLE_POSITION_SELECTION_START) -+ if (pos == FV_TEXT_HANDLE_POSITION_SELECTION_START) { - handles->updateSelectionStart ((UT_sint32)x, (UT_sint32)y); -+ } - else { -- if (mode == FV_TEXT_HANDLE_MODE_SELECTION) -+ if (mode == FV_TEXT_HANDLE_MODE_SELECTION) { - handles->updateSelectionEnd ((UT_sint32)x, (UT_sint32)y); -- else -+ } -+ else { - handles->updateCursor((UT_sint32)x, (UT_sint32)y); -+ } - } - } - - FV_UnixSelectionHandles::FV_UnixSelectionHandles(FV_View *view, FV_Selection selection) - : FV_SelectionHandles (view, selection) -+ , m_text_handle(NULL) - { - XAP_Frame * pFrame = static_cast<XAP_Frame*>(m_pView->getParentData()); -- XAP_UnixFrameImpl * pFrameImpl =static_cast<XAP_UnixFrameImpl *>( pFrame->getFrameImpl()); -- GtkWidget * pWidget = pFrameImpl->getViewWidget(); -- -- m_text_handle = _fv_text_handle_new (pWidget); -- _fv_text_handle_set_relative_to (m_text_handle, -- gtk_widget_get_window (pWidget)); -- g_signal_connect (m_text_handle, "handle-dragged", -- G_CALLBACK(handle_dragged_cb), this); -+ // When saving to PDF (and printing) we don't have a frame -+ // See bug 13586 -+ if (pFrame) { -+ XAP_UnixFrameImpl * pFrameImpl = static_cast<XAP_UnixFrameImpl *>(pFrame->getFrameImpl()); -+ GtkWidget * pWidget = pFrameImpl->getViewWidget(); -+ -+ m_text_handle = _fv_text_handle_new (pWidget); -+ _fv_text_handle_set_relative_to (m_text_handle, -+ gtk_widget_get_window (pWidget)); -+ g_signal_connect (m_text_handle, "handle-dragged", -+ G_CALLBACK(handle_dragged_cb), this); -+ } - } - - FV_UnixSelectionHandles::~FV_UnixSelectionHandles() - { -+ if(!m_text_handle) { -+ return; -+ } - g_object_unref (m_text_handle); - } - - void FV_UnixSelectionHandles::hide() - { -+ if(!m_text_handle) { -+ return; -+ } - _fv_text_handle_set_mode (m_text_handle, FV_TEXT_HANDLE_MODE_NONE); - } - - void FV_UnixSelectionHandles::setCursorCoords(UT_sint32 x, UT_sint32 y, UT_uint32 height, bool visible) - { -+ if(!m_text_handle) { -+ return; -+ } -+ - GdkRectangle rect; - - _fv_text_handle_set_mode(m_text_handle, FV_TEXT_HANDLE_MODE_CURSOR); -@@ -92,6 +110,10 @@ - void FV_UnixSelectionHandles::setSelectionCoords(UT_sint32 start_x, UT_sint32 start_y, UT_uint32 start_height, bool start_visible, - UT_sint32 end_x, UT_sint32 end_y, UT_uint32 end_height, bool end_visible) - { -+ if(!m_text_handle) { -+ return; -+ } -+ - GdkRectangle rect; - - _fv_text_handle_set_mode(m_text_handle, FV_TEXT_HANDLE_MODE_SELECTION); - Added: link-grammar-panic.patch =================================================================== --- link-grammar-panic.patch (rev 0) +++ link-grammar-panic.patch 2015-02-17 13:12:32 UTC (rev 231659) @@ -0,0 +1,10 @@ +--- plugins/grammar/linkgrammarwrap/LinkGrammarWrap.cpp.orig 2015-02-17 12:11:05.062973479 +0000 ++++ plugins/grammar/linkgrammarwrap/LinkGrammarWrap.cpp 2015-02-17 12:11:38.909495002 +0000 +@@ -87,7 +87,6 @@ + parse_options_set_min_null_count(m_Opts, 0); + parse_options_set_max_null_count(m_Opts, 0); + parse_options_set_islands_ok(m_Opts, 0); +- parse_options_set_panic_mode(m_Opts, TRUE); + parse_options_reset_resources(m_Opts); + UT_sint32 num_linkages = sentence_parse(sent, m_Opts); + bool res = (num_linkages >= 1);
