diff options
-rw-r--r-- | app-office/abiword/ChangeLog | 11 | ||||
-rw-r--r-- | app-office/abiword/abiword-3.0.0-r2.ebuild | 167 | ||||
-rw-r--r-- | app-office/abiword/files/abiword-3.0.0-bison30.patch | 28 | ||||
-rw-r--r-- | app-office/abiword/files/abiword-3.0.0-boost54.patch | 31 | ||||
-rw-r--r-- | app-office/abiword/files/abiword-3.0.0-fix-redraw.patch | 56 | ||||
-rw-r--r-- | app-office/abiword/files/abiword-3.0.0-fix-shortcut.patch | 40 | ||||
-rw-r--r-- | app-office/abiword/files/abiword-3.0.0-pdf-crash.patch | 102 |
7 files changed, 434 insertions, 1 deletions
diff --git a/app-office/abiword/ChangeLog b/app-office/abiword/ChangeLog index 5c6c31f3edb4..de3e36bb97b1 100644 --- a/app-office/abiword/ChangeLog +++ b/app-office/abiword/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for app-office/abiword # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-office/abiword/ChangeLog,v 1.276 2014/04/17 12:50:41 pacho Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-office/abiword/ChangeLog,v 1.277 2014/07/01 15:38:31 pacho Exp $ + +*abiword-3.0.0-r2 (01 Jul 2014) + + 01 Jul 2014; Pacho Ramos <pacho@gentoo.org> +abiword-3.0.0-r2.ebuild, + +files/abiword-3.0.0-bison30.patch, +files/abiword-3.0.0-boost54.patch, + +files/abiword-3.0.0-fix-redraw.patch, + +files/abiword-3.0.0-fix-shortcut.patch, +files/abiword-3.0.0-pdf-crash.patch: + Apply some Ubuntu patches fixing some bugs like crash when saving as PDF + (#515990 by cowhead) 17 Apr 2014; Pacho Ramos <pacho@gentoo.org> -abiword-2.8.6-r2.ebuild, -files/abiword-2.8.6-gcc46.patch, -files/abiword-2.8.6-glib-2.31.patch, diff --git a/app-office/abiword/abiword-3.0.0-r2.ebuild b/app-office/abiword/abiword-3.0.0-r2.ebuild new file mode 100644 index 000000000000..e7ebf02ffcc6 --- /dev/null +++ b/app-office/abiword/abiword-3.0.0-r2.ebuild @@ -0,0 +1,167 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-office/abiword/abiword-3.0.0-r2.ebuild,v 1.1 2014/07/01 15:38:30 pacho Exp $ + +EAPI=5 +GCONF_DEBUG="yes" +GNOME2_LA_PUNT="yes" + +inherit eutils gnome2 + +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 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="calendar collab cups eds +goffice grammar +introspection latex map math ots +plugins readline redland spell wordperfect wmf thesaurus" + +# You need 'plugins' enabled if want to enable the extra plugins +REQUIRED_USE="!plugins? ( !collab !grammar !latex !math !ots !readline !thesaurus !wordperfect !wmf )" + +RDEPEND=" + >=app-text/wv-1.2 + >=dev-libs/fribidi-0.10.4 + >=dev-libs/glib-2.16:2 + >=dev-libs/libgcrypt-1.4.5:0 + dev-libs/libxslt + >=gnome-base/librsvg-2.16:2 + >=gnome-extra/libgsf-1.14.18 + >=media-libs/libpng-1.2 + virtual/jpeg + >=x11-libs/cairo-1.10[X] + >=x11-libs/gtk+-3.0.8:3[cups?] + calendar? ( >=dev-libs/libical-0.46 ) + eds? ( >=gnome-extra/evolution-data-server-3.6.0 ) + goffice? ( >=x11-libs/goffice-0.10.2:0.10 ) + introspection? ( >=dev-libs/gobject-introspection-1.0.0 ) + map? ( >=media-libs/libchamplain-0.12 ) + plugins? ( + collab? ( + >=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 ) + math? ( >=x11-libs/gtkmathview-0.7.5 ) + ots? ( >=app-text/ots-0.5-r1 ) + 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 ) + ) + redland? ( + >=dev-libs/redland-1.0.10 + >=dev-libs/rasqal-0.9.17 ) + spell? ( >=app-text/enchant-1.2 ) + !<app-office/abiword-plugins-2.8 +" +DEPEND="${RDEPEND} + dev-lang/perl + >=dev-libs/boost-1.40.0 + virtual/pkgconfig + collab? ( dev-cpp/asio ) +" + +src_prepare() { + # readme.txt will be installed using dodoc + sed '/readme\.txt\|abw/d' \ + -i user/wp/Makefile.am user/wp/Makefile.in || die + + # http://bugzilla.abisource.com/show_bug.cgi?id=13532 + epatch "${FILESDIR}/${PN}-3.0.0-eds-3.6.patch" + + # http://bugzilla.abisource.com/show_bug.cgi?id=13564 + epatch "${FILESDIR}/${PN}-3.0.0-fix-crash.patch" + + # http://bugzilla.abisource.com/show_bug.cgi?id=13589 + epatch "${FILESDIR}/${PN}-3.0.0-libgcrypt_1_6_0-1.patch" + + # Fix build with boost-1.54 + epatch "${FILESDIR}/${PN}-3.0.0-boost54.patch" + + # http://bugzilla.abisource.com/show_bug.cgi?id=13596 + epatch "${FILESDIR}/${PN}-3.0.0-fix-shortcut.patch" + + # Fix build with bison-3.0 + epatch "${FILESDIR}/${PN}-3.0.0-bison30.patch" + + # Fix crash when saving as PDF, bug #515990 + epatch "${FILESDIR}/${PN}-3.0.0-pdf-crash.patch" + + # Fix redraw region in custom widget + epatch "${FILESDIR}/${PN}-3.0.0-fix-redraw.patch" + + 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 depending on librsvg + # But doesn't build: http://bugzilla.abisource.com/show_bug.cgi?id=13563 + #plugins="${plugins} svg" + + # Plugins not depending on anything + plugins="${plugins} gimp bmp freetranslation iscii s5 babelfish opml eml + wikipedia gdict passepartout google presentation urldict hrtext mif + openxml" + + # inter7eps: eps.h + # libtidy: gsf + tidy.h + # paint: windows only ? + use collab && plugins="${plugins} collab" + use goffice && plugins="${plugins} goffice" + use latex && plugins="${plugins} latex" + use math && plugins="${plugins} mathview" + use ots && plugins="${plugins} ots" + # psion: >=psiconv-0.9.4 + use readline && plugins="${plugins} command" + 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})" \ + --disable-static \ + --disable-default-plugins \ + --disable-builtin-plugins \ + --disable-collab-backend-telepathy \ + --enable-clipart \ + --enable-statusbar \ + --enable-templates \ + --with-gio \ + --without-gnomevfs \ + --without-gtk2 \ + $(use_with goffice goffice) \ + $(use_with calendar libical) \ + $(use_enable cups print) \ + $(use_enable collab collab-backend-xmpp) \ + $(use_enable collab collab-backend-tcp) \ + $(use_enable collab collab-backend-service) \ + $(use_with eds evolution-data-server) \ + $(use_enable introspection) \ + $(use_with map champlain) \ + $(use_with redland) \ + $(use_enable spell) +} + +src_compile() { + # Parallel build fails, bug #488462 + MAKEOPTS="${MAKEOPTS} -j1" gnome2_src_compile +} + +src_install() { + gnome2_src_install + dodoc user/wp/readme.txt +} diff --git a/app-office/abiword/files/abiword-3.0.0-bison30.patch b/app-office/abiword/files/abiword-3.0.0-bison30.patch new file mode 100644 index 000000000000..0299520e282a --- /dev/null +++ b/app-office/abiword/files/abiword-3.0.0-bison30.patch @@ -0,0 +1,28 @@ +Last-update: 2014-02-02 +Author: Dimitri John Ledkov <xnox@ubuntu.com> +Description: Cherrypick patch from NetBSD, to fix FTBFS with bison 3.0. + +--- a/plugins/mathview/itex2mml/itex2MML.y ++++ b/plugins/mathview/itex2mml/itex2MML.y +@@ -1,8 +1,10 @@ + /* itex2MML 1.4.8 + * itex2MML.y last modified 9/21/2011 + */ + ++%parse-param {char **ret_str} ++ + %{ + #include <stdio.h> + #include <string.h> + #include <stdlib.h> +@@ -26,9 +28,9 @@ + } + + void (*itex2MML_error) (const char * msg) = itex2MML_default_error; + +- static void yyerror (char * s) ++ static void yyerror (char **ret_str, char * s) + { + char * msg = itex2MML_copy3 (s, " at token ", yytext); + if (itex2MML_error) + (*itex2MML_error) (msg); diff --git a/app-office/abiword/files/abiword-3.0.0-boost54.patch b/app-office/abiword/files/abiword-3.0.0-boost54.patch new file mode 100644 index 000000000000..f7cfeaef6184 --- /dev/null +++ b/app-office/abiword/files/abiword-3.0.0-boost54.patch @@ -0,0 +1,31 @@ +Last-Update: 2014-02-05 +Forwarded: yes +Author: Dmitry Smirnov <onlyjob@member.fsf.org> +Bug-Debian: http://bugs.debian.org/737551 +Bug-Abiword: http://bugzilla.abisource.com/13602 +Description: fix FTBFS with libboost1.54-dev + +--- a/plugins/collab/core/sync/xp/SynchronizedQueue.h ++++ b/plugins/collab/core/sync/xp/SynchronizedQueue.h +@@ -21,8 +21,9 @@ + + #include <deque> + #include <boost/bind.hpp> + #include <boost/function.hpp> ++#include <boost/noncopyable.hpp> + #include <sync/xp/lock.h> + #include <sync/xp/Synchronizer.h> + + class EmptyQueueException {}; +--- a/plugins/collab/backends/tcp/xp/Session.h ++++ b/plugins/collab/backends/tcp/xp/Session.h +@@ -21,8 +21,9 @@ + + #include <boost/function.hpp> + #include <boost/bind.hpp> + #include <boost/enable_shared_from_this.hpp> ++#include <boost/noncopyable.hpp> + #include <deque> + #include <sync/xp/lock.h> + #include <sync/xp/Synchronizer.h> + diff --git a/app-office/abiword/files/abiword-3.0.0-fix-redraw.patch b/app-office/abiword/files/abiword-3.0.0-fix-redraw.patch new file mode 100644 index 000000000000..cad0a92d4143 --- /dev/null +++ b/app-office/abiword/files/abiword-3.0.0-fix-redraw.patch @@ -0,0 +1,56 @@ +From c260e8d107a8708d57a60fbc18ef71ffeb88fcf1 Mon Sep 17 00:00:00 2001 +From: Hubert Figuiere <hub@figuiere.net> +Date: Sat, 22 Feb 2014 18:42:56 +0000 +Subject: [PATCH] Bug 13582 - Fix redraw region in custom widget. + +Cherry-picked from trunk@33870 and reworked for 3.0.x + +git-svn-id: svn+ssh://svn.abisource.com/svnroot/abiword/branches/ABI-3-0-0-STABLE@33871 bcba8976-2d24-0410-9c9c-aab3bd5fdfd6 +--- + src/af/gr/gtk/gr_UnixCairoGraphics.cpp | 2 +- + src/af/xap/gtk/xap_UnixCustomWidget.cpp | 10 ++++++---- + 2 files changed, 7 insertions(+), 5 deletions(-) + +diff --git a/src/af/gr/gtk/gr_UnixCairoGraphics.cpp b/src/af/gr/gtk/gr_UnixCairoGraphics.cpp +index 4c8d23c..15d7a7d 100644 +--- a/src/af/gr/gtk/gr_UnixCairoGraphics.cpp ++++ b/src/af/gr/gtk/gr_UnixCairoGraphics.cpp +@@ -520,7 +520,7 @@ void GR_UnixCairoGraphics::_beginPaint() + { + UT_ASSERT(ev->type == GDK_EXPOSE || ev->type == GDK_DAMAGE); + if (ev->type == GDK_EXPOSE || ev->type == GDK_DAMAGE) +- UT_ASSERT(ev->expose.window == m_pWin); ++ UT_ASSERT(ev->expose.window == m_pWin || ev->expose.window == gdk_window_get_effective_parent (m_pWin)); + } + } + #endif +diff --git a/src/af/xap/gtk/xap_UnixCustomWidget.cpp b/src/af/xap/gtk/xap_UnixCustomWidget.cpp +index b0b7015..5150afe 100644 +--- a/src/af/xap/gtk/xap_UnixCustomWidget.cpp ++++ b/src/af/xap/gtk/xap_UnixCustomWidget.cpp +@@ -45,16 +45,18 @@ void XAP_UnixCustomWidget::_fe::expose(XAP_UnixCustomWidget *self, GdkEventExpos + #endif + { + #if GTK_CHECK_VERSION(3,0,0) +- GdkEventExpose *ev = reinterpret_cast<GdkEventExpose *>(gtk_get_current_event()); +-#endif ++ self->m_cr = cr; ++ double x1, y1, x2, y2; ++ cairo_clip_extents(cr, &x1, &y1, &x2, &y2); ++ ++ UT_Rect r(x1, y1, x2 - x1, y2 - y1); ++#else + UT_Rect r( + ev->area.x, + ev->area.y, + ev->area.width, + ev->area.height + ); +-#if GTK_CHECK_VERSION(3,0,0) +- self->m_cr = cr; + #endif + self->draw(&r); + } +-- +1.9.1 + diff --git a/app-office/abiword/files/abiword-3.0.0-fix-shortcut.patch b/app-office/abiword/files/abiword-3.0.0-fix-shortcut.patch new file mode 100644 index 000000000000..0bc2db525150 --- /dev/null +++ b/app-office/abiword/files/abiword-3.0.0-fix-shortcut.patch @@ -0,0 +1,40 @@ +Description: Upstream-derived patch to fix SHIFT-CTRL-CURSOR_KEY shortcut combos. +Origin: upstream, http://bugzilla.abisource.com/attachment.cgi?id=5695&action=view +Bug: http://bugzilla.abisource.com/show_bug.cgi?id=13596 +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1315949 + +Index: b/src/af/ev/gtk/ev_UnixKeyboard.cpp +=================================================================== +--- a/src/af/ev/gtk/ev_UnixKeyboard.cpp ++++ b/src/af/ev/gtk/ev_UnixKeyboard.cpp +@@ -87,17 +87,20 @@ + { + state |= EV_EMS_CONTROL; + +- // Gdk does us the favour of working out a translated keyvalue for us, +- // but with the Ctrl keys, we do not want that -- see bug 9545 +- Display * display = GDK_DISPLAY_XDISPLAY(gdk_window_get_display(e->window)); +- KeySym sym = XkbKeycodeToKeysym(display, +- e->hardware_keycode, +- e->state & GDK_SHIFT_MASK ? 1 : 0, 0); +- xxx_UT_DEBUGMSG(("ev_UnixKeyboard::keyPressEvent: keyval %d, hardware_keycode %d\n" +- " sym: 0x%x\n", +- e->keyval, e->hardware_keycode, sym)); ++ if (!s_isVirtualKeyCode(charData)) ++ { ++ // Gdk does us the favour of working out a translated keyvalue for us, ++ // but with the Ctrl keys, we do not want that -- see bug 9545 ++ Display * display = GDK_DISPLAY_XDISPLAY(gdk_window_get_display(e->window)); ++ KeySym sym = XkbKeycodeToKeysym(display, ++ e->hardware_keycode, ++ e->state & GDK_SHIFT_MASK ? 1 : 0, 0); ++ xxx_UT_DEBUGMSG(("ev_UnixKeyboard::keyPressEvent: keyval %d, hardware_keycode %d\n" ++ " sym: 0x%x\n", ++ e->keyval, e->hardware_keycode, sym)); + +- charData = sym; ++ charData = sym; ++ } + } + if (e->state & (s_alt_mask)) + state |= EV_EMS_ALT; diff --git a/app-office/abiword/files/abiword-3.0.0-pdf-crash.patch b/app-office/abiword/files/abiword-3.0.0-pdf-crash.patch new file mode 100644 index 000000000000..633ef7f73eb7 --- /dev/null +++ b/app-office/abiword/files/abiword-3.0.0-pdf-crash.patch @@ -0,0 +1,102 @@ +From 128dfbc82cbd5c2c1bb6d0cde238a933639fba50 Mon Sep 17 00:00:00 2001 +From: Hubert Figuiere <hub@figuiere.net> +Date: Sat, 28 Dec 2013 02:05:23 +0000 +Subject: [PATCH] Bug 13586 - We don't have a frame when printing. + +UPLIFTED from trunk + +git-svn-id: svn+ssh://svn.abisource.com/svnroot/abiword/branches/ABI-3-0-0-STABLE@33663 bcba8976-2d24-0410-9c9c-aab3bd5fdfd6 +--- + src/text/fmt/gtk/fv_UnixSelectionHandles.cpp | 44 +++++++++++++++++++++------- + 1 file changed, 33 insertions(+), 11 deletions(-) + +diff --git a/src/text/fmt/gtk/fv_UnixSelectionHandles.cpp b/src/text/fmt/gtk/fv_UnixSelectionHandles.cpp +index a3a3347..8bc187c 100644 +--- a/src/text/fmt/gtk/fv_UnixSelectionHandles.cpp ++++ b/src/text/fmt/gtk/fv_UnixSelectionHandles.cpp +@@ -36,42 +36,60 @@ static void handle_dragged_cb (FvTextHandle *handle, + + 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::setCursorCoords(UT_sint32 x, UT_sint32 y, UT_uint3 + 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); +-- +1.9.1 + |