summaryrefslogtreecommitdiff
path: root/libre/abiword
diff options
context:
space:
mode:
Diffstat (limited to 'libre/abiword')
-rw-r--r--libre/abiword/PKGBUILD115
-rw-r--r--libre/abiword/abiword-3.0.0-link-grammar-5-second.patch35
-rw-r--r--libre/abiword/abiword-3.0.0-link-grammar-5.patch45
-rw-r--r--libre/abiword/aiksaurus-plugin.m446
-rw-r--r--libre/abiword/link-grammar-panic.patch10
5 files changed, 179 insertions, 72 deletions
diff --git a/libre/abiword/PKGBUILD b/libre/abiword/PKGBUILD
index 70eccc2ca..cf7aff513 100644
--- a/libre/abiword/PKGBUILD
+++ b/libre/abiword/PKGBUILD
@@ -1,106 +1,77 @@
-# $Id: PKGBUILD 215017 2014-06-11 14:14:55Z jgc $
+# $Id: PKGBUILD 231659 2015-02-17 13:12:32Z jgc $
+# Maintainer (Arch): Jan de Groot <jgc@archlinux.org>
# Contributor (Arch): Giovanni Scafora <giovanni@archlinux.org>
# Contributor (Arch): Maël Lavault <moimael@neuf.fr>
# Maintainer: André Silva <emulatorman@parabola.nu>
-pkgbase=abiword
-pkgname=('abiword' 'abiword-plugins')
-pkgver=3.0.0
-pkgrel=3.parabola1
+pkgname=abiword
+pkgver=3.0.1
+pkgrel=1.parabola1
arch=('i686' 'x86_64' 'mips64el')
+pkgdesc='Fully-featured word processor, without nonfree fonts support'
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' 'abiword-libre')
+replaces=('abiword-plugins' 'abiword-libre')
+install=abiword.install
options=('!makeflags')
-source=(http://abisource.com/downloads/$pkgbase/$pkgver/source/$pkgbase-$pkgver.tar.gz
- fix_crash_saving_pdf.patch
+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
liberation-fonts.patch)
-md5sums=('8d9c41cff3a8fbef8d0c835c65600e65'
- 'c3336f5ac7d227ff755c7e42459f20e1'
- '6fc2d653d3b814bbfd9b0d71c69c4796'
- 'e7ef4d436469ae4b24b0f784b09ab023')
+sha256sums=('e094f6fbf0afc5c5538b4894888e7c346f8ee8f49c9d24821dd696d0734865c6'
+ '77b52a3722096cec3bfbe4fff3802f51b6c9e0ff7aaa30028c29825fd4e6a65f'
+ '6d88800f1e16becd69ed93d5f070793a56b9f162f7d886c71756643bcaed7ef5'
+ 'd2c80da81a339634a7a4ee4cef12f7ee968f2c2a8c2f75533b6713b71f0d61fd'
+ '94d1e638f7b85123dc2282d2e59b982bde6ad0dbbe1b6b54351e610c5a0ea578'
+ '5f80a2f94f9929cdba9809c5e1a87cd5d537a2518bb879bfb9eab51a71c8dac1'
+ '8a0b6e444e937924743f95c747cbe395a30fb8677a010e60c973b9039e258079')
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
- # replace nonfree fonts support to liberation fonts
- patch -Np1 -i "${srcdir}/liberation-fonts.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
+ # Replace nonfree fonts support to liberation fonts
+ patch -Np1 -i ../liberation-fonts.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
}
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, without nonfree fonts support'
- depends=('fribidi' 'wv' 'goffice' 'librsvg' 'enchant' 'desktop-file-utils'
- 'redland' 'libical' 'gtk-update-icon-cache')
- install=$pkgbase.install
- optdepends=('abiword-plugins')
- conflicts=("abiword-plugins<${pkgver}-${pkgrel}" 'abiword-libre')
- replaces=('abiword-libre')
-
- 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, without nonfree fonts support'
- depends=("abiword=${pkgver}-${pkgrel}" 'loudmouth' 'libwpg' 'libwmf' 'link-grammar'
- 'gtkmathview' 'aiksaurus' 'libxslt' 'libsoup' 'libots' 'libgsf' 'psiconv')
- conflicts=('abiword-libre-plugins')
- replaces=('abiword-libre-plugins')
-
- install -dm755 ${pkgdir}/usr/lib/abiword-${pkgver%.*}
- mv ${srcdir}/_pluginsdir/plugins ${pkgdir}/usr/lib/abiword-${pkgver%.*}/
}
diff --git a/libre/abiword/abiword-3.0.0-link-grammar-5-second.patch b/libre/abiword/abiword-3.0.0-link-grammar-5-second.patch
new file mode 100644
index 000000000..c471c749f
--- /dev/null
+++ b/libre/abiword/abiword-3.0.0-link-grammar-5-second.patch
@@ -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);
diff --git a/libre/abiword/abiword-3.0.0-link-grammar-5.patch b/libre/abiword/abiword-3.0.0-link-grammar-5.patch
new file mode 100644
index 000000000..bbf75f6ce
--- /dev/null
+++ b/libre/abiword/abiword-3.0.0-link-grammar-5.patch
@@ -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.
diff --git a/libre/abiword/aiksaurus-plugin.m4 b/libre/abiword/aiksaurus-plugin.m4
new file mode 100644
index 000000000..c70a00383
--- /dev/null
+++ b/libre/abiword/aiksaurus-plugin.m4
@@ -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])
+
diff --git a/libre/abiword/link-grammar-panic.patch b/libre/abiword/link-grammar-panic.patch
new file mode 100644
index 000000000..f33a802ff
--- /dev/null
+++ b/libre/abiword/link-grammar-panic.patch
@@ -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);