summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Hüttel <dilfridge@gentoo.org>2012-04-08 13:54:07 +0000
committerAndreas K. Hüttel <dilfridge@gentoo.org>2012-04-08 13:54:07 +0000
commit3e9d37a5e99c050c4181f3d5fe47ef33ad342694 (patch)
tree34c470715087c8339e99729f1f9ed2e080541c92 /app-office
parentFix build with -semantic-desktop, bug 409515 (diff)
downloadgentoo-2-3e9d37a5e99c050c4181f3d5fe47ef33ad342694.tar.gz
gentoo-2-3e9d37a5e99c050c4181f3d5fe47ef33ad342694.tar.bz2
gentoo-2-3e9d37a5e99c050c4181f3d5fe47ef33ad342694.zip
Add several crash fixes, thanks to Franz Fellner, bug 410109 and bug 410187
(Portage version: 2.1.10.56/cvs/Linux x86_64)
Diffstat (limited to 'app-office')
-rw-r--r--app-office/calligra/ChangeLog9
-rw-r--r--app-office/calligra/calligra-2.3.92-r1.ebuild205
-rw-r--r--app-office/calligra/files/calligra-2.3.92-language.patch21
-rw-r--r--app-office/calligra/files/calligra-2.3.92-table.patch96
4 files changed, 330 insertions, 1 deletions
diff --git a/app-office/calligra/ChangeLog b/app-office/calligra/ChangeLog
index 2c03843da6f2..c8198d81d74b 100644
--- a/app-office/calligra/ChangeLog
+++ b/app-office/calligra/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for app-office/calligra
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-office/calligra/ChangeLog,v 1.33 2012/04/08 13:39:59 dilfridge Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-office/calligra/ChangeLog,v 1.34 2012/04/08 13:54:06 dilfridge Exp $
+
+*calligra-2.3.92-r1 (08 Apr 2012)
+
+ 08 Apr 2012; Andreas K. Huettel <dilfridge@gentoo.org>
+ +calligra-2.3.92-r1.ebuild, +files/calligra-2.3.92-language.patch,
+ +files/calligra-2.3.92-table.patch:
+ Add several crash fixes, thanks to Franz Fellner, bug 410109 and bug 410187
08 Apr 2012; Andreas K. Huettel <dilfridge@gentoo.org>
calligra-2.3.92.ebuild, calligra-2.4.0.ebuild,
diff --git a/app-office/calligra/calligra-2.3.92-r1.ebuild b/app-office/calligra/calligra-2.3.92-r1.ebuild
new file mode 100644
index 000000000000..6bf39dd56d51
--- /dev/null
+++ b/app-office/calligra/calligra-2.3.92-r1.ebuild
@@ -0,0 +1,205 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-office/calligra/calligra-2.3.92-r1.ebuild,v 1.1 2012/04/08 13:54:06 dilfridge Exp $
+
+# note: files that need to be checked for dependencies etc:
+# CMakeLists.txt, kexi/CMakeLists.txt kexi/migration/CMakeLists.txt
+# krita/CMakeLists.txt
+
+EAPI=4
+
+KDE_SCM=git
+KDE_MINIMAL=4.6.4
+OPENGL_REQUIRED=optional
+
+KDE_HANDBOOK=optional
+
+KDE_LINGUAS_LIVE_OVERRIDE=true
+inherit kde4-base
+
+DESCRIPTION="KDE Office Suite"
+HOMEPAGE="http://www.calligra-suite.org/"
+[[ ${PV} == 9999 ]] || SRC_URI="mirror://kde/unstable/${P}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="4"
+[[ ${PV} == 9999 ]] || KEYWORDS="~amd64 ~x86"
+IUSE="attica +crypt +eigen +exif fftw +fontconfig freetds +gif glew +glib +gsf
+gsl +iconv +jpeg jpeg2k +kdcraw kdepim +lcms marble mysql +mso +okular openctl openexr
++pdf postgres +semantic-desktop +ssl sybase test tiff +threads +truetype
++wmf word-perfect xbase +xml +xslt"
+
+# please do not sort here, order is same as in CMakeLists.txt
+CAL_FTS="kexi words flow plan stage sheets krita karbon braindump"
+for cal_ft in ${CAL_FTS}; do
+ IUSE+=" calligra_features_${cal_ft}"
+done
+unset cal_ft
+
+REQUIRED_USE="
+ calligra_features_kexi? ( calligra_features_sheets )
+ calligra_features_words? ( calligra_features_sheets )
+ calligra_features_krita? ( eigen exif lcms )
+ calligra_features_plan? ( kdepim semantic-desktop )
+ calligra_features_sheets? ( eigen )
+ test? ( calligra_features_karbon )
+"
+
+RDEPEND="
+ !app-office/karbon
+ !app-office/kexi
+ !app-office/koffice-data
+ !app-office/koffice-l10n
+ !app-office/koffice-libs
+ !app-office/koffice-meta
+ !app-office/kplato
+ !app-office/kpresenter
+ !app-office/krita
+ !app-office/kspread
+ !app-office/kword
+ dev-lang/perl
+ dev-libs/boost
+ dev-libs/libxml2
+ $(add_kdebase_dep knewstuff)
+ media-libs/libpng
+ sys-libs/zlib
+ attica? ( dev-libs/libattica )
+ crypt? ( app-crypt/qca:2 )
+ eigen? ( dev-cpp/eigen:2 )
+ exif? ( media-gfx/exiv2 )
+ fftw? ( sci-libs/fftw:3.0 )
+ fontconfig? ( media-libs/fontconfig )
+ freetds? ( dev-db/freetds )
+ gif? ( media-libs/giflib )
+ glew? ( media-libs/glew )
+ glib? ( dev-libs/glib:2 )
+ gsf? ( gnome-extra/libgsf )
+ gsl? ( sci-libs/gsl )
+ iconv? ( virtual/libiconv )
+ jpeg? ( virtual/jpeg )
+ jpeg2k? ( media-libs/openjpeg )
+ kdcraw? ( $(add_kdebase_dep libkdcraw) )
+ kdepim? ( $(add_kdebase_dep kdepimlibs) )
+ lcms? ( media-libs/lcms:2 )
+ marble? ( $(add_kdebase_dep marble) )
+ mysql? ( virtual/mysql )
+ okular? ( $(add_kdebase_dep okular) )
+ openctl? ( >=media-libs/opengtl-0.9.15 )
+ openexr? ( media-libs/openexr )
+ pdf? (
+ app-text/poppler
+ media-gfx/pstoedit
+ )
+ postgres? (
+ dev-db/postgresql-base
+ =dev-libs/libpqxx-3*
+ )
+ semantic-desktop? ( dev-libs/soprano $(add_kdebase_dep kdelibs semantic-desktop) )
+ ssl? ( dev-libs/openssl )
+ sybase? ( dev-db/freetds )
+ tiff? ( media-libs/tiff )
+ truetype? ( media-libs/freetype:2 )
+ word-perfect? (
+ app-text/libwpd
+ app-text/libwps
+ app-text/libwpg
+ )
+ xbase? ( dev-db/xbase )
+ xslt? ( dev-libs/libxslt )
+ calligra_features_kexi? (
+ >=dev-db/sqlite-3.7.9:3[extensions]
+ dev-libs/icu
+ )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.3.92-language.patch"
+ "${FILESDIR}/${PN}-2.3.92-table.patch"
+ "${FILESDIR}/${PN}-2.4.0-rdf.patch"
+)
+
+RESTRICT=test
+# bug 394273
+
+src_configure() {
+ local cal_ft
+
+ # first write out things we want to hard-enable
+ local mycmakeargs=(
+ "-DWITH_Boost=ON"
+ "-DWITH_LibXml2=ON"
+ "-DWITH_PNG=ON"
+ "-DWITH_ZLIB=ON"
+ "-DGHNS=ON"
+ "-DWITH_X11=ON"
+ "-DWITH_Qt4=ON"
+ "-DQT3SUPPORT=ON" # kde4-base.eclass pulls this in anyway
+ )
+
+ # default disablers
+ mycmakeargs+=(
+ "-DBUILD_mobile=OFF" # we dont suppor mobile gui, maybe arm could
+ "-DWITH_LCMS=OFF" # we use lcms:2
+ "-DCREATIVEONLY=OFF"
+ "-DWITH_TINY=OFF"
+ "-DWITH_CreateResources=OFF" # NOT PACKAGED: http://create.freedesktop.org/
+ "-DWITH_DCMTK=OFF" # NOT PACKAGED: http://www.dcmtk.org/dcmtk.php.en
+ "-DWITH_Spnav=OFF" # NOT PACKAGED: http://spacenav.sourceforge.net/
+ )
+
+ # regular options
+ mycmakeargs+=(
+ $(cmake-utils_use_with attica LibAttica)
+ $(cmake-utils_use_with crypt QCA2)
+ $(cmake-utils_use_with eigen Eigen2)
+ $(cmake-utils_use_with exif Exiv2)
+ $(cmake-utils_use_with fftw FFTW3)
+ $(cmake-utils_use_with fontconfig Fontconfig)
+ $(cmake-utils_use_with freetds FreeTDS)
+ $(cmake-utils_use_with gif GIF2)
+ $(cmake-utils_use_with glew GLEW)
+ $(cmake-utils_use_with glib GLIB2)
+ $(cmake-utils_use_with glib GObject)
+ $(cmake-utils_use_with gsf LIBGSF)
+ $(cmake-utils_use_with gsl GSL)
+ $(cmake-utils_use_with iconv Iconv)
+ $(cmake-utils_use_with jpeg JPEG)
+ $(cmake-utils_use_with jpeg2k OpenJPEG)
+ $(cmake-utils_use_with kdcraw Kdcraw)
+ $(cmake-utils_use_with kdepim KdepimLibs)
+ $(cmake-utils_use_with lcms LCMS2)
+ $(cmake-utils_use_with marble Marble)
+ $(cmake-utils_use_with mysql MySQL)
+ $(cmake-utils_use_with okular Okular)
+ $(cmake-utils_use_with openctl OpenCTL)
+ $(cmake-utils_use_with openexr OpenEXR)
+ $(cmake-utils_use_with opengl OpenGL)
+ $(cmake-utils_use_with pdf Poppler)
+ $(cmake-utils_use_with pdf Pstoedit)
+ $(cmake-utils_use_with postgres PostgreSQL)
+ $(cmake-utils_use_with semantic-desktop Soprano)
+ $(cmake-utils_use semantic-desktop NEPOMUK)
+ $(cmake-utils_use_with ssl OpenSSL)
+ $(cmake-utils_use_with sybase FreeTDS)
+ $(cmake-utils_use_with tiff TIFF)
+ $(cmake-utils_use_with threads Threads)
+ $(cmake-utils_use_with truetype Freetype)
+ $(cmake-utils_use_with word-perfect WPD)
+ $(cmake-utils_use_with word-perfect WPG)
+ $(cmake-utils_use_with xbase XBase)
+ $(cmake-utils_use_with xslt LibXslt)
+ $(cmake-utils_use_build wmf libkowmf)
+ $(cmake-utils_use_build mso libmsooxml)
+ )
+
+ # applications
+ for cal_ft in ${CAL_FTS}; do
+ mycmakeargs+=( $(cmake-utils_use_build calligra_features_${cal_ft} ${cal_ft}) )
+ done
+ mycmakeargs+=( $(cmake-utils_use_build test cstester) )
+
+ # filters
+
+ kde4-base_src_configure
+}
diff --git a/app-office/calligra/files/calligra-2.3.92-language.patch b/app-office/calligra/files/calligra-2.3.92-language.patch
new file mode 100644
index 000000000000..da94e95cf58a
--- /dev/null
+++ b/app-office/calligra/files/calligra-2.3.92-language.patch
@@ -0,0 +1,21 @@
+--- plugins/textediting/spellcheck/SpellCheck.cpp.org 2012-03-29 07:19:58.808192633 +0200
++++ plugins/textediting/spellcheck/SpellCheck.cpp 2012-03-29 07:28:13.671184157 +0200
+@@ -44,7 +44,8 @@
+ m_allowSignals(true),
+ m_documentIsLoading(false),
+ m_isChecking(false),
+- m_spellCheckMenu(0)
++ m_spellCheckMenu(0),
++ m_document(0)
+ {
+ /* setup actions for this plugin */
+ KAction *configureAction = new KAction(i18n("Configure &Spell Checking..."), this);
+@@ -141,7 +142,7 @@
+ {
+ m_speller.setDefaultLanguage(language);
+ m_bgSpellCheck->setDefaultLanguage(language);
+- if (m_enableSpellCheck) {
++ if (m_enableSpellCheck && m_document) {
+ checkSection(m_document, 0, m_document->characterCount() - 1);
+ }
+ }
diff --git a/app-office/calligra/files/calligra-2.3.92-table.patch b/app-office/calligra/files/calligra-2.3.92-table.patch
new file mode 100644
index 000000000000..c9f06b8354af
--- /dev/null
+++ b/app-office/calligra/files/calligra-2.3.92-table.patch
@@ -0,0 +1,96 @@
+From 0f96e4b78756deaba77b2d8d486ea5585bd8f652 Mon Sep 17 00:00:00 2001
+From: Boudewijn Rempt <boud@valdyas.org>
+Date: Thu, 29 Mar 2012 15:32:18 +0200
+Subject: [PATCH] Fix inserting table shape in non-english locale
+
+Comparing a translated name with a fixed text isn't going to work...
+
+BUG:297029
+BUG:293704
+
+Okay to backport to 2.4?
+---
+ libs/flake/KoDeferredShapeFactoryBase.h | 2 ++
+ libs/flake/KoShapeFactoryBase.cpp | 9 ++-------
+ sheets/shape/TableShapeDeferredFactory.h | 2 ++
+ sheets/shape/TableShapeFactory.cpp | 2 +-
+ sheets/shape/spreadsheetshape-deferred.desktop | 1 +
+ 5 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/libs/flake/KoDeferredShapeFactoryBase.h b/libs/flake/KoDeferredShapeFactoryBase.h
+index 68bc5e3..7887484 100644
+--- a/libs/flake/KoDeferredShapeFactoryBase.h
++++ b/libs/flake/KoDeferredShapeFactoryBase.h
+@@ -47,6 +47,8 @@ public:
+
+ virtual ~KoDeferredShapeFactoryBase();
+
++ virtual QString deferredPluginName() = 0;
++
+ /**
+ * This method should be implemented by factories to create a shape that the user
+ * gets when doing a base insert. For example from a script. The created shape
+diff --git a/libs/flake/KoShapeFactoryBase.cpp b/libs/flake/KoShapeFactoryBase.cpp
+index 116cacc..5c5ec48 100644
+--- a/libs/flake/KoShapeFactoryBase.cpp
++++ b/libs/flake/KoShapeFactoryBase.cpp
+@@ -242,19 +242,14 @@ void KoShapeFactoryBase::getDeferredPlugin()
+ if (d->deferredFactory) return;
+
+ const QString serviceType = "Calligra/Deferred";
+- QString query = QString::fromLatin1("(Type == 'Service') and (Name == '%1')").arg(d->deferredPluginName);
+- const KService::List offers = KServiceTypeTrader::self()->query(serviceType, query);
++ const KService::List offers = KServiceTypeTrader::self()->query(serviceType, QString());
+ Q_ASSERT(offers.size() > 0);
+
+ foreach(KSharedPtr<KService> service, offers) {
+- QString error = 0; // FIXME: From where does error get a value?
+ KoDeferredShapeFactoryBase *plugin = service->createInstance<KoDeferredShapeFactoryBase>(this);
+- if (plugin) {
++ if (plugin && plugin->deferredPluginName() == d->deferredPluginName) {
+ d->deferredFactory = plugin;
+ }
+- else {
+- kWarning(30003) << "loading plugin" << service->name() << "failed, " << error;
+- }
+ }
+
+ }
+diff --git a/sheets/shape/TableShapeDeferredFactory.h b/sheets/shape/TableShapeDeferredFactory.h
+index 2668c2b..981b4d8 100644
+--- a/sheets/shape/TableShapeDeferredFactory.h
++++ b/sheets/shape/TableShapeDeferredFactory.h
+@@ -30,6 +30,8 @@ public:
+ TableDeferredShapeFactory(QObject *parent, const QVariantList&);
+ ~TableDeferredShapeFactory();
+
++ virtual QString deferredPluginName() { return "spreadsheetshape-deferred"; }
++
+ KoShape *createDefaultShape(KoDocumentResourceManager *documentResources = 0) const;
+ private:
+ KoShapeFactoryBase *m_stubFactory;
+diff --git a/sheets/shape/TableShapeFactory.cpp b/sheets/shape/TableShapeFactory.cpp
+index 0cba2a9..98102a6 100644
+--- a/sheets/shape/TableShapeFactory.cpp
++++ b/sheets/shape/TableShapeFactory.cpp
+@@ -47,7 +47,7 @@ TableShapePlugin::TableShapePlugin(QObject * parent, const QVariantList&)
+
+
+ TableShapeFactory::TableShapeFactory()
+- : KoShapeFactoryBase(TableShapeId, i18n("Spreadsheet"), "Spreadsheet Shape")
++ : KoShapeFactoryBase(TableShapeId, i18n("Spreadsheet"), "spreadsheetshape-deferred")
+ {
+ setToolTip(i18n("Spreadsheet Shape"));
+ setIcon("spreadsheetshape");
+diff --git a/sheets/shape/spreadsheetshape-deferred.desktop b/sheets/shape/spreadsheetshape-deferred.desktop
+index cb47900..da3b679 100644
+--- a/sheets/shape/spreadsheetshape-deferred.desktop
++++ b/sheets/shape/spreadsheetshape-deferred.desktop
+@@ -39,3 +39,4 @@ Type=Service
+ X-KDE-Library=spreadsheetshape-deferred
+ X-Flake-MinVersion=4
+ X-Flake-PluginVersion=4
++X-DeferredID=spreadsheetshape-deferred
+--
+1.7.9.2
+